Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

IDocs

Former Member
0 Likes
769

Hi,

I had an idoc number

How to read data from idoc segments.

If there is any program pls send me.

Hi,

I had an idoc number

How to read data from idoc segments.

If there is any program pls send me.

4 REPLIES 4
Read only

Former Member
0 Likes
713

Hi,

goto we05 tcode.

give the idoc number and make all other fields empty.and press execute buttons.

there u can see the status of the idoc,data in the idoc segments.

rgds,

bharat.

Read only

Former Member
0 Likes
713

hi,

Read IDoc from Database (By Kevin Wilson)

      • Read the IDoc detail from the database

CALL FUNCTION 'IDOC_READ_COMPLETELY'

EXPORTING

document_number = p_docnum

IMPORTING

idoc_control = s_edidc

TABLES

int_edidd = itab_edidd

EXCEPTIONS

document_not_exist = 1

document_number_invalid = 2

OTHERS = 3.

Read only

former_member404244
Active Contributor
0 Likes
713

Hi,

Check the below sample code

FUNCTION zdtsint052f_gpoms_to_sap_gm.

*"----


""Local interface:

*" IMPORTING

*" VALUE(INPUT_METHOD) LIKE BDWFAP_PAR-INPUTMETHD

*" VALUE(MASS_PROCESSING) LIKE BDWFAP_PAR-MASS_PROC

*" EXPORTING

*" VALUE(WORKFLOW_RESULT) LIKE BDWF_PARAM-RESULT

*" VALUE(APPLICATION_VARIABLE) LIKE BDWF_PARAM-APPL_VAR

*" VALUE(IN_UPDATE_TASK) LIKE BDWFAP_PAR-UPDATETASK

*" VALUE(CALL_TRANSACTION_DONE) LIKE BDWFAP_PAR-CALLTRANS

*" TABLES

*" IDOC_CONTRL STRUCTURE EDIDC

*" IDOC_DATA STRUCTURE EDIDD

*" IDOC_STATUS STRUCTURE BDIDOCSTAT

*" RETURN_VARIABLES STRUCTURE BDWFRETVAR

*" SERIALIZATION_INFO STRUCTURE BDI_SER

*" EXCEPTIONS

*" WRONG_FUNCTION_CALLED

*"----


  • Purpose :On recording the material consumption from *

  • manufacturing tickets in GPOMS system, GPOMS *

  • will report the data to the SAP system.Based *

  • on this message, goods issue to the process order*

  • will be posted in SAP. This interface will *

  • used for storage location managed materials *

  • in SAP. *

  • Program Logic :Loop at the data records of IDOC and to get the *

  • Order number and SAP Movement type *

  • If the Material document already exists for this *

  • Order number and Movement type then give error *

  • else call standard FM 'BAPI_IDOC_INPUT1' to *

  • Material Documents in SAP. *

************************************************************************

  • Declaration of Constants *

************************************************************************

CONSTANTS :lc_item_create(25) TYPE c VALUE 'E1BP2017_GM_ITEM_CREATE',

lc_mbgmcr(6) TYPE c VALUE 'MBGMCR'.

************************************************************************

  • Declaration of Variables *

***********************************************************************

DATA : lv_index TYPE sytabix,

lv_retcode type sy-subrc.

************************************************************************

  • Declaration of Workareas *

************************************************************************

DATA: lwa_e1bp2017_gm_item_create TYPE e1bp2017_gm_item_create,

lwa_data TYPE edidd, " Work area for IDOC

lwa_control TYPE edidc. " Work Area for control rec

  • Read the control data information of idoc.

loop at idoc_contrl INTO lwa_control Where mestyp = lc_mbgmcr.

  • Extract the data from the segments.

LOOP AT idoc_data INTO lwa_data

WHERE docnum = lwa_control-docnum and

segnam = lc_item_create.

*->> Set the tabix of the internal table

lv_index = sy-tabix.

  • Move the Material Document Item Segment data

MOVE lwa_data-sdata TO lwa_e1bp2017_gm_item_create.

  • Modify the material document item data internal table

PERFORM sub_modify_idocdata changing lwa_e1bp2017_gm_item_create.

*->> set the changed values to the IDOC SDATA

MOVE lwa_e1bp2017_gm_item_create TO lwa_data-sdata.

*->> Modify the table

MODIFY idoc_data FROM lwa_data index lv_index.

  • Clear the Work areas

CLEAR : lwa_data,

lwa_e1bp2017_gm_item_create.

ENDLOOP. "LOOP AT t_idoc_data

  • Call the BAPI function module to create the

  • appropriate Material Document

CALL FUNCTION 'BAPI_IDOC_INPUT1'

EXPORTING

input_method = input_method

mass_processing = mass_processing

IMPORTING

workflow_result = workflow_result

application_variable = application_variable

in_update_task = in_update_task

call_transaction_done = call_transaction_done

TABLES

idoc_contrl = idoc_contrl

idoc_data = idoc_data

idoc_status = idoc_status

return_variables = return_variables

serialization_info = serialization_info

EXCEPTIONS

wrong_function_called = 1

OTHERS = 2.

IF sy-subrc = 1.

RAISE wrong_function_called.

ENDIF.

endloop.

ENDFUNCTION.

----


***INCLUDE LZDTSINT052F_GPOMS_GMF01 .

----


&----


*& Form sub_modify_idocdata

&----


  • Modify the material document item data internal table

----


FORM sub_modify_idocdata

CHANGING pwa_e1bp2017_gm_item_create TYPE e1bp2017_gm_item_create.

  • contant declaration

CONSTANTS: lc_261(3) TYPE c VALUE '261'.

DATA : lv_aplzl LIKE resb-aplzl,

lv_aufpl LIKE resb-aufpl,

lv_subrc LIKE sy-subrc,

lv_charg LIKE resb-charg,

lv_uom LIKE pwa_e1bp2017_gm_item_create-entry_uom.

CLEAR: pwa_e1bp2017_gm_item_create-reserv_no,

pwa_e1bp2017_gm_item_create-res_item.

*->> Get SAP storage bin & Storage type from the Z table

SELECT lgtyp lgpla

INTO (pwa_e1bp2017_gm_item_create-stge_type,

pwa_e1bp2017_gm_item_create-stge_bin)

UP TO 1 ROWS

FROM zdtsint050_sttyp

WHERE zstorage_typ = pwa_e1bp2017_gm_item_create-stge_type

AND zstorage_bin = pwa_e1bp2017_gm_item_create-stge_bin.

ENDSELECT.

IF sy-subrc NE 0.

CLEAR: pwa_e1bp2017_gm_item_create-stge_type,

pwa_e1bp2017_gm_item_create-stge_bin.

ENDIF.

PERFORM get_oper CHANGING pwa_e1bp2017_gm_item_create.

  • Get the Reservation number and Reservation item number

  • basing on the idoc data.

SELECT rspos werks lgort

INTO (pwa_e1bp2017_gm_item_create-res_item,

pwa_e1bp2017_gm_item_create-plant,

pwa_e1bp2017_gm_item_create-stge_loc)

FROM resb

UP TO 1 ROWS

WHERE rsnum = pwa_e1bp2017_gm_item_create-reserv_no

AND matnr = pwa_e1bp2017_gm_item_create-material

AND charg = pwa_e1bp2017_gm_item_create-batch

AND aufnr = pwa_e1bp2017_gm_item_create-orderid

AND vornr = pwa_e1bp2017_gm_item_create-activity

AND bwart = lc_261.

ENDSELECT.

IF sy-subrc <> 0.

  • Start of insertion for R31K993797

CLEAR lv_charg.

SELECT rspos werks lgort

INTO (pwa_e1bp2017_gm_item_create-res_item,

pwa_e1bp2017_gm_item_create-plant,

pwa_e1bp2017_gm_item_create-stge_loc)

FROM resb

UP TO 1 ROWS

WHERE rsnum = pwa_e1bp2017_gm_item_create-reserv_no

AND matnr = pwa_e1bp2017_gm_item_create-material

AND charg = lv_charg

AND aufnr = pwa_e1bp2017_gm_item_create-orderid

AND vornr = pwa_e1bp2017_gm_item_create-activity

AND ( splkz = 'X' or

splkz = space )

AND bwart = lc_261.

ENDSELECT.

IF sy-subrc <> 0.

  • End of insertion for R31K993797

SELECT SINGLE werks lgort

INTO (pwa_e1bp2017_gm_item_create-plant,

pwa_e1bp2017_gm_item_create-stge_loc)

FROM resb

WHERE rsnum = pwa_e1bp2017_gm_item_create-reserv_no.

CLEAR : pwa_e1bp2017_gm_item_create-reserv_no,

pwa_e1bp2017_gm_item_create-res_item.

ENDIF.

ENDIF.

  • get SAP UOM

SELECT SINGLE zsap_uom

INTO lv_uom

FROM zca_uom_conv

WHERE zext_uom = pwa_e1bp2017_gm_item_create-entry_uom.

IF sy-subrc = 0.

pwa_e1bp2017_gm_item_create-entry_uom = lv_uom.

ENDIF.

ENDFORM. " sub_modify_idocdata

&----


*& Form get_oper

&----


  • Get the operation

----


  • <--P_PWA_E1BP2017_GM_ITEM_CREATE_RE Segment

----


FORM get_oper CHANGING p_pwa_e1bp2017_gm_item_create TYPE

e1bp2017_gm_item_create.

DATA : l_aufpl LIKE afko-aufpl,

l_aplzl LIKE afvc-aplzl.

REFRESH : i_op.

UNPACK p_pwa_e1bp2017_gm_item_create-orderid TO

p_pwa_e1bp2017_gm_item_create-orderid.

  • Get the reservation and routing number for the order

SELECT SINGLE

rsnum

aufpl

FROM afko

INTO (p_pwa_e1bp2017_gm_item_create-reserv_no,

l_aufpl)

WHERE aufnr = p_pwa_e1bp2017_gm_item_create-orderid.

IF sy-subrc = 0.

CALL FUNCTION 'CONVERSION_EXIT_NUMCV_INPUT'

EXPORTING

input = p_pwa_e1bp2017_gm_item_create-activity

IMPORTING

output = p_pwa_e1bp2017_gm_item_create-activity.

ENDIF.

ENDFORM. " get_oper

Regards,

Nagaraj

Read only

Former Member
0 Likes
713

Hi Sekhar,

You can put those idocs in WE02 transaction and double click on any of those idoc numbers . Now you will get to see the DATA RECORDS and STATUS RECORDS of that idoc .These 2 segments contain the whole information about the idoc.

If useful do reward.

Regards,

Adarsh Srivastava