Professional Documents
Culture Documents
1 of 25
https://www.sapnuts.com/courses/SAP-Cross-Applications/ale-idocs-dev...
12/10/2016 5:16 PM
2 of 25
https://www.sapnuts.com/courses/SAP-Cross-Applications/ale-idocs-dev...
12/10/2016 5:16 PM
3 of 25
https://www.sapnuts.com/courses/SAP-Cross-Applications/ale-idocs-dev...
12/10/2016 5:16 PM
4 of 25
https://www.sapnuts.com/courses/SAP-Cross-Applications/ale-idocs-dev...
12/10/2016 5:16 PM
5 of 25
https://www.sapnuts.com/courses/SAP-Cross-Applications/ale-idocs-dev...
12/10/2016 5:16 PM
6 of 25
https://www.sapnuts.com/courses/SAP-Cross-Applications/ale-idocs-dev...
12/10/2016 5:16 PM
7 of 25
https://www.sapnuts.com/courses/SAP-Cross-Applications/ale-idocs-dev...
12/10/2016 5:16 PM
8 of 25
https://www.sapnuts.com/courses/SAP-Cross-Applications/ale-idocs-dev...
12/10/2016 5:16 PM
9 of 25
https://www.sapnuts.com/courses/SAP-Cross-Applications/ale-idocs-dev...
12/10/2016 5:16 PM
10 of 25
https://www.sapnuts.com/courses/SAP-Cross-Applications/ale-idocs-dev...
12/10/2016 5:16 PM
11 of 25
https://www.sapnuts.com/courses/SAP-Cross-Applications/ale-idocs-dev...
12/10/2016 5:16 PM
12 of 25
https://www.sapnuts.com/courses/SAP-Cross-Applications/ale-idocs-dev...
12/10/2016 5:16 PM
13 of 25
https://www.sapnuts.com/courses/SAP-Cross-Applications/ale-idocs-dev...
12/10/2016 5:16 PM
14 of 25
https://www.sapnuts.com/courses/SAP-Cross-Applications/ale-idocs-dev...
12/10/2016 5:16 PM
15 of 25
https://www.sapnuts.com/courses/SAP-Cross-Applications/ale-idocs-dev...
FUNCTION ZSAPN_IDOC_INPUT_STUDENT.
*"---------------------------------------------------------------------*"*"Local Interface:
*" IMPORTING
*"
VALUE(INPUT_METHOD) LIKE BDWFAP_PAR-INPUTMETHD
*"
VALUE(MASS_PROCESSING) LIKE BDWFAP_PAR-MASS_PROC
*"
VALUE(NO_APPLICATION_LOG) LIKE SY-DATAR OPTIONAL
*"
VALUE(MASSSAVEINFOS) LIKE MASSSAVINF STRUCTURE MASSSAVINF
*"
OPTIONAL
*"
VALUE(KZ_TEST) LIKE MDAT1-KZ_TEST DEFAULT SPACE
*"
VALUE(ONLY_MAPPING) LIKE MDAT1-KZ_TEST DEFAULT SPACE
*" 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
*"---------------------------------------------------------------------SORT IDOC_DATA BY DOCNUM.
SORT IDOC_CONTRL BY DOCNUM.
DATA : T_EDIDD
TYPE STANDARD TABLE OF EDIDD,
"Data Record
T_EDIDC
TYPE STANDARD TABLE OF EDIDC,
"Control Record
T_EDIDS
TYPE STANDARD TABLE OF BDIDOCSTAT.
"Status Record
*----------*Global Work Area Declarations *------------------------*
DATA : W_EDIDC
LIKE EDIDC,
W_EDIDD
TYPE EDIDD,
W_EDIDS
TYPE BDIDOCSTAT.
DATA: W_IDOC_DATA TYPE EDIDD.
DATA : L_INDX TYPE SYTABIX.
DATA: IT_STUDENT TYPE TABLE OF ZSTUDENT.
DATA : WA_STUDENT TYPE ZSTUDENT.
DATA : ERROR_MESSAGE TYPE STRING.
DATA : T_STUDENTS TYPE TABLE OF ZSTUDENTS.
DATA : W_STUDENTS TYPE ZSTUDENTS.
DATA : ERROR_FLG TYPE CHAR1.
* Go through all IDocs
LOOP AT IDOC_CONTRL.
CLEAR W_EDIDC.
W_EDIDC = IDOC_CONTRL.
READ TABLE IDOC_DATA INTO W_IDOC_DATA WITH KEY DOCNUM = IDOC_CONTRL-DOCNUM BINARY SEARCH.
12/10/2016 5:16 PM
16 of 25
https://www.sapnuts.com/courses/SAP-Cross-Applications/ale-idocs-dev...
IF SY-SUBRC = 0.
L_INDX = SY-TABIX.
LOOP AT IDOC_DATA FROM L_INDX.
IF IDOC_DATA-DOCNUM = IDOC_CONTRL-DOCNUM.
APPEND IDOC_DATA TO T_EDIDD.
CLEAR IDOC_DATA.
ELSE.
RETURN.
ENDIF.
ENDLOOP.
ELSE.
CONTINUE.
ENDIF.
SORT T_EDIDD.
CLEAR W_EDIDD.
LOOP AT T_EDIDD INTO W_EDIDD.
IF W_EDIDD-SEGNAM = 'ZSTUDENT'.
CLEAR WA_STUDENT.
WA_STUDENT = W_EDIDD-SDATA.
IF WA_STUDENT IS NOT INITIAL.
APPEND WA_STUDENT TO IT_STUDENT.
ENDIF.
CONTINUE.
ENDIF.
ENDLOOP.
IF IT_STUDENT IS NOT INITIAL. "if data is there in segment
LOOP AT IT_STUDENT INTO WA_STUDENT.
MOVE-CORRESPONDING WA_STUDENT TO W_STUDENTS.
MODIFY ZSTUDENTS FROM W_STUDENTS. "update data base table
IF SY-SUBRC <> 0.
ERROR_FLG = 'X'.
ERROR_MESSAGE = 'Error occured in updating ZSTUDENT table'.
ENDIF.
ENDLOOP.
ENDIF.
IF ERROR_FLG = 'X'. "add error status to IDOC
IDOC_STATUS-STATUS = '51'.
IDOC_STATUS-DOCNUM = W_EDIDC-DOCNUM.
IDOC_STATUS-MSGTY = 'E'.
IDOC_STATUS-MSGID = '00'.
IDOC_STATUS-MSGNO = '398'.
IDOC_STATUS-MSGV1 = ERROR_MESSAGE+0(25). "t_return_ecm-message
IDOC_STATUS-MSGV2 = ERROR_MESSAGE+25(25).
IDOC_STATUS-MSGV3 = ERROR_MESSAGE+50(25).
IDOC_STATUS-MSGV4 = ERROR_MESSAGE+75(25).
CLEAR ERROR_MESSAGE.
APPEND IDOC_STATUS TO IDOC_STATUS .
12/10/2016 5:16 PM
17 of 25
CLEAR IDOC_STATUS
else. "add success
IDOC_STATUS-STATUS
IDOC_STATUS-DOCNUM
APPEND IDOC_STATUS
CLEAR IDOC_STATUS
ENDIF.
ENDLOOP.
ENDFUNCTION.
https://www.sapnuts.com/courses/SAP-Cross-Applications/ale-idocs-dev...
.
status to IDOC
= '53'.
= W_EDIDC-DOCNUM.
TO IDOC_STATUS .
.
12/10/2016 5:16 PM
18 of 25
https://www.sapnuts.com/courses/SAP-Cross-Applications/ale-idocs-dev...
12/10/2016 5:16 PM
19 of 25
https://www.sapnuts.com/courses/SAP-Cross-Applications/ale-idocs-dev...
12/10/2016 5:16 PM
20 of 25
https://www.sapnuts.com/courses/SAP-Cross-Applications/ale-idocs-dev...
12/10/2016 5:16 PM
21 of 25
https://www.sapnuts.com/courses/SAP-Cross-Applications/ale-idocs-dev...
12/10/2016 5:16 PM
22 of 25
REPORT
https://www.sapnuts.com/courses/SAP-Cross-Applications/ale-idocs-dev...
ZSEND_STUDENTS.
">>>>>
"<<<<<
">>>>>
12/10/2016 5:16 PM
23 of 25
https://www.sapnuts.com/courses/SAP-Cross-Applications/ale-idocs-dev...
ERROR_IN_IDOC_DATA
= 3
SENDING_LOGICAL_SYSTEM_UNKNOWN = 4
OTHERS
= 5.
COMMIT WORK.
CLEAR : WA_STUDENTS, ZSTUDENT.
REFRESH : T_EDIDD.
ENDLOOP.
12/10/2016 5:16 PM
24 of 25
https://www.sapnuts.com/courses/SAP-Cross-Applications/ale-idocs-dev...
12/10/2016 5:16 PM
25 of 25
https://www.sapnuts.com/courses/SAP-Cross-Applications/ale-idocs-dev...
12/10/2016 5:16 PM