‎2007 Jun 26 6:07 AM
a program which create idoc for table catsdb
or FM used to create idoc is used in idoc.
thank you,
Regards,
Jagrut BharatKumar Shukla
‎2007 Jun 26 6:15 AM
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
‎2007 Jun 27 11:12 AM