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

a program which create idoc for table catsdb

Former Member
0 Likes
468

a program which create idoc for table catsdb

or FM used to create idoc is used in idoc.

thank you,

Regards,

Jagrut BharatKumar Shukla

2 REPLIES 2
Read only

Former Member
0 Likes
397

Hi,

The sudo code for inbound one is as follows

FUNCTION Z_IDOC_INPUT_EMPMAST.

*"----


""Local interface:

*" IMPORTING

*" REFERENCE(INPUT_METHOD) LIKE BDWFAP_PAR-INPUTMETHD

*" REFERENCE(MASS_PROCESSING) LIKE BDWFAP_PAR-MASS_PROC

*" EXPORTING

*" REFERENCE(WORKFLOW_RESULT) LIKE BDWFAP_PAR-RESULT

*" REFERENCE(APPLICATION_VARIABLE) LIKE BDWFAP_PAR-APPL_VAR

*" REFERENCE(IN_UPDATE_TASK) LIKE BDWFAP_PAR-UPDATETASK

*" REFERENCE(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

*"----


DATA: S_EMPMAST LIKE ZEMPMASTHEADERSEG.

DATA: T_EMPMAST LIKE ZEMPMASTSEG OCCURS 0 WITH HEADER LINE.

DATA: WA_EMPMAST LIKE ZEMPMAST.

DATA: L_FLAG VALUE 'Y'.

CLEAR S_EMPMAST.

REFRESH T_EMPMAST.

  • check if the function is called correctly *

IF IDOC_CONTRL-MESTYP <> 'ZEMPMSG'.

RAISE WRONG_FUNCTION_CALLED.

ENDIF.

WORKFLOW_RESULT = 0.

  • Unpacking the IDoc

LOOP AT IDOC_DATA.

CASE IDOC_DATA-SEGNAM.

WHEN 'ZEMPMASTHEADERSEG'.

MOVE IDOC_DATA-SDATA TO S_EMPMAST.

WHEN 'ZEMPMASTSEG'.

MOVE IDOC_DATA-SDATA TO T_EMPMAST.

APPEND T_EMPMAST.

ENDCASE.

ENDLOOP.

IDOC_STATUS-DOCNUM = IDOC_CONTRL-DOCNUM.

IDOC_STATUS-MSGV1 = IDOC_CONTRL-IDOCTP.

IDOC_STATUS-MSGID = '00'.

IDOC_STATUS-MSGNO = '398'.

LOOP AT T_EMPMAST.

MOVE-CORRESPONDING T_EMPMAST TO WA_EMPMAST.

INSERT INTO ZEMPMAST VALUES WA_EMPMAST.

G_OKCODE = SY-SUBRC.

IF G_OKCODE <> 0.

L_FLAG = 'N'.

IDOC_STATUS-STATUS = '51'.

IDOC_STATUS-MSGTY = 'E'.

IDOC_STATUS-MSGV2 = 'Employee & already exists'.

REPLACE '&' WITH WA_EMPMAST-EMPNO INTO IDOC_STATUS-MSGV2.

IDOC_STATUS-SEGNUM = SY-TABIX + 1.

APPEND IDOC_STATUS.

ENDIF.

AT LAST.

ENDAT.

ENDLOOP.

IF L_FLAG <> 'Y'.

CLEAR RETURN_VARIABLES.

RETURN_VARIABLES-WF_PARAM = 'Error_IDOCs'.

RETURN_VARIABLES-DOC_NUMBER = IDOC_CONTRL-DOCNUM.

APPEND RETURN_VARIABLES.

WORKFLOW_RESULT = '99999'.

ROLLBACK WORK.

ELSE.

IDOC_STATUS-STATUS = '53'.

IDOC_STATUS-MSGTY = 'S'.

IDOC_STATUS-MSGV2 = 'Employee Info inserted'.

APPEND IDOC_STATUS.

ENDIF.

ENDFUNCTION.

Check the link for your ref:

https://forums.sdn.sap.com/click.jspa?searchID=3442094&messageID=1133209

<b>Reward points</b>

Regards

Read only

Former Member
0 Likes
397

sdfs