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

ALE idoc inbond program

Former Member
0 Likes
657

Hi all,

Can any one please provide the sample custom inbound program if it is possible stepls also.

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
574

The following is a short list of key reports that process inbound IDocs. They are sometimes usefull to have run in a batch mode.

1) RBDMANIN - Start Error Handling for Non-Posted IDocs

Description: This report attempts to post the inbound IDocs with status '51' (Application document not posted)

2) RBDAGAIN - Process Outbound IDocs with Errors Again

Description: This report reprocesses outbound IDocs which contain errors. IDocs containing errors have one of the following statuses:

  • 02: Error transmitting data to port

  • 04: Error in EDI subsystem control information

  • 05: Error in conversion

  • 25: Continue processing despite syntax error (outbound)

  • 29: Error in ALE service

3) RBDAGAIE - Reprocessing of Edited IDocs

Description: This report reprocesses an edited IDoc in inbound or outbound processing. The edited IDoc has one of the following statuses:

  • 32: IDoc edited (outbound)

  • 69: IDoc edited (inbound)

4) RBDAGAI2 - Re-processing of IDocs after ALE Input Error

Description: You use this report to reprocess inbound IDocs containing errors. IDocs containing errors have one of the following statuses:

  • 56: IDoc containing errors added

  • 61: Continue processing despite syntax error (inbox)

  • 63: Error passing IDoc to the application

  • 65: Error in ALE service

5) RBDAPP01 - Inbound Processing of IDocs Ready for Transfer

Description: Report for processing inbound IDocs not passed to the application immediately. This report forwards all IDocs with:

  • Status 64 "ready to be passed to application"

  • Status 66 "IDoc is waiting for predecessor IDoc (serialization)

The following is a short list of key reports that process inbound IDocs. They are sometimes usefull to have run in a batch mode.

1) RBDMANIN - Start Error Handling for Non-Posted IDocs

Description: This report attempts to post the inbound IDocs with status '51' (Application document not posted)

2) RBDAGAIN - Process Outbound IDocs with Errors Again

Description: This report reprocesses outbound IDocs which contain errors. IDocs containing errors have one of the following statuses:

  • 02: Error transmitting data to port

  • 04: Error in EDI subsystem control information

  • 05: Error in conversion

  • 25: Continue processing despite syntax error (outbound)

  • 29: Error in ALE service

3) RBDAGAIE - Reprocessing of Edited IDocs

Description: This report reprocesses an edited IDoc in inbound or outbound processing. The edited IDoc has one of the following statuses:

  • 32: IDoc edited (outbound)

  • 69: IDoc edited (inbound)

4) RBDAGAI2 - Re-processing of IDocs after ALE Input Error

Description: You use this report to reprocess inbound IDocs containing errors. IDocs containing errors have one of the following statuses:

  • 56: IDoc containing errors added

  • 61: Continue processing despite syntax error (inbox)

  • 63: Error passing IDoc to the application

  • 65: Error in ALE service

5) RBDAPP01 - Inbound Processing of IDocs Ready for Transfer

Description: Report for processing inbound IDocs not passed to the application immediately. This report forwards all IDocs with:

  • Status 64 "ready to be passed to application"

  • Status 66 "IDoc is waiting for predecessor IDoc (serialization)

2 REPLIES 2
Read only

Former Member
0 Likes
575

The following is a short list of key reports that process inbound IDocs. They are sometimes usefull to have run in a batch mode.

1) RBDMANIN - Start Error Handling for Non-Posted IDocs

Description: This report attempts to post the inbound IDocs with status '51' (Application document not posted)

2) RBDAGAIN - Process Outbound IDocs with Errors Again

Description: This report reprocesses outbound IDocs which contain errors. IDocs containing errors have one of the following statuses:

  • 02: Error transmitting data to port

  • 04: Error in EDI subsystem control information

  • 05: Error in conversion

  • 25: Continue processing despite syntax error (outbound)

  • 29: Error in ALE service

3) RBDAGAIE - Reprocessing of Edited IDocs

Description: This report reprocesses an edited IDoc in inbound or outbound processing. The edited IDoc has one of the following statuses:

  • 32: IDoc edited (outbound)

  • 69: IDoc edited (inbound)

4) RBDAGAI2 - Re-processing of IDocs after ALE Input Error

Description: You use this report to reprocess inbound IDocs containing errors. IDocs containing errors have one of the following statuses:

  • 56: IDoc containing errors added

  • 61: Continue processing despite syntax error (inbox)

  • 63: Error passing IDoc to the application

  • 65: Error in ALE service

5) RBDAPP01 - Inbound Processing of IDocs Ready for Transfer

Description: Report for processing inbound IDocs not passed to the application immediately. This report forwards all IDocs with:

  • Status 64 "ready to be passed to application"

  • Status 66 "IDoc is waiting for predecessor IDoc (serialization)

Read only

Former Member
0 Likes
574

WE42-Creating process code

BD51-Characteristics of inbound fn, module (input type, dialog allowed)

WE57-Assigning fn, module to message type and idoc type

BD87-Status monitor for ALE messages

Consider the following code:

FUNCTION Z_IDOC_INPUT_ZRZSO_MT.

*"----


""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

*"----


  • Include File containing ALE constants

INCLUDE MBDCONWF.

TABLES : ZCUSTOMERS, "Cutomer Header

ZSOHEADERS, "Sales Header

ZSOITEMS. "Sales Items

***Data

DATA : W_ZRZSEG1 LIKE ZRZSEG1,

W_ZRZSEG2 LIKE ZRZSEG2,

W_ZRZSEG3 LIKE ZRZSEG3.

DATA : T_ZCUSTOMERS LIKE ZCUSTOMERS OCCURS 0 WITH HEADER LINE.

DATA : T_ZSOHEADERS LIKE ZSOHEADERS OCCURS 0 WITH HEADER LINE.

DATA : T_ZSOITEMS LIKE ZSOITEMS OCCURS 0 WITH HEADER LINE.

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

WORKFLOW_RESULT = C_WF_RESULT_OK.

LOOP AT IDOC_CONTRL.

IF IDOC_CONTRL-MESTYP NE 'ZRZSO_MT'.

RAISE WRONG_FUNCTION_CALLED.

ENDIF.

  • Before reading a new entry, clear application buffer

LOOP AT IDOC_DATA WHERE DOCNUM EQ IDOC_CONTRL-DOCNUM.

CASE IDOC_DATA-SEGNAM.

WHEN 'ZRZSEG1'.

W_ZRZSEG1 = IDOC_DATA-SDATA.

MOVE-CORRESPONDING W_ZRZSEG1 TO T_ZCUSTOMERS.

INSERT INTO ZCUSTOMERS VALUES T_ZCUSTOMERS.

WHEN 'ZRZSEG2'.

W_ZRZSEG2 = IDOC_DATA-SDATA.

MOVE-CORRESPONDING W_ZRZSEG2 TO T_ZSOHEADERS.

INSERT INTO ZSOHEADERS VALUES T_ZSOHEADERS.

WHEN 'ZRZSEG3'.

W_ZRZSEG3 = IDOC_DATA-SDATA.

MOVE-CORRESPONDING W_ZRZSEG3 TO T_ZSOITEMS.

INSERT INTO ZSOITEMS VALUES T_ZSOITEMS.

ENDCASE.

ENDLOOP.

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

  • CUSTOMER HEADER *

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

  • SELECT *

  • FROM zcustomers.

  • ENDSELECT.

  • IF sy-subrc NE 0.

  • INSERT INTO zcustomers VALUES t_zcustomers.

  • ELSE.

UPDATE ZCUSTHEAD FROM T_ZCUSTOMERS.

  • ENDIF.

IF SY-SUBRC EQ 0.

IDOC_STATUS-DOCNUM = IDOC_CONTRL-DOCNUM.

IDOC_STATUS-STATUS = '53'.

IDOC_STATUS-MSGTY = 'I'.

IDOC_STATUS-MSGID = 'YM'.

IDOC_STATUS-MSGNO = '004'.

IDOC_STATUS-MSGV1 = T_ZCUSTOMERS-KUNNR.

APPEND IDOC_STATUS.

CLEAR IDOC_STATUS.

ELSE.

IDOC_STATUS-DOCNUM = IDOC_CONTRL-DOCNUM.

IDOC_STATUS-STATUS = '51'.

IDOC_STATUS-MSGTY = 'E'.

IDOC_STATUS-MSGID = 'YM'.

IDOC_STATUS-MSGNO = '005'.

IDOC_STATUS-MSGV1 = T_ZCUSTOMERS-KUNNR.

APPEND IDOC_STATUS.

CLEAR IDOC_STATUS.

WORKFLOW_RESULT = C_WF_RESULT_ERROR.

RETURN_VARIABLES-WF_PARAM = 'Error_Idocs'.

RETURN_VARIABLES-DOC_NUMBER = IDOC_CONTRL-DOCNUM.

APPEND RETURN_VARIABLES.

CLEAR RETURN_VARIABLES.

ENDIF.

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

  • SALES HEADER *

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

  • SELECT *

  • FROM zsoheaders.

  • ENDSELECT.

  • IF sy-subrc NE 0.

  • INSERT INTO zsoheaders VALUES t_zsoheaders.

  • ELSE.

UPDATE ZSOHEADERS FROM T_ZSOHEADERS.

  • ENDIF.

IF SY-SUBRC EQ 0.

IDOC_STATUS-DOCNUM = IDOC_CONTRL-DOCNUM.

IDOC_STATUS-STATUS = '53'.

IDOC_STATUS-MSGTY = 'I'.

IDOC_STATUS-MSGID = 'YM'.

IDOC_STATUS-MSGNO = '004'.

IDOC_STATUS-MSGV1 = T_ZSOHEADERS-VBELN.

APPEND IDOC_STATUS.

CLEAR IDOC_STATUS.

ELSE.

IDOC_STATUS-DOCNUM = IDOC_CONTRL-DOCNUM.

IDOC_STATUS-STATUS = '51'.

IDOC_STATUS-MSGTY = 'E'.

IDOC_STATUS-MSGID = 'YM'.

IDOC_STATUS-MSGNO = '005'.

IDOC_STATUS-MSGV1 = T_ZSOHEADERS-VBELN.

APPEND IDOC_STATUS.

CLEAR IDOC_STATUS.

WORKFLOW_RESULT = C_WF_RESULT_ERROR.

RETURN_VARIABLES-WF_PARAM = 'Error_Idocs'.

RETURN_VARIABLES-DOC_NUMBER = IDOC_CONTRL-DOCNUM.

APPEND RETURN_VARIABLES.

CLEAR RETURN_VARIABLES.

ENDIF.

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

  • SALES ITEM *

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

  • SELECT *

  • FROM zsoitems.

  • ENDSELECT.

  • IF sy-subrc NE 0.

  • INSERT INTO zsoitems VALUES t_zsoitems.

  • ELSE.

UPDATE ZSOITEMS FROM T_ZSOITEMS.

  • ENDIF.

IF SY-SUBRC EQ 0.

IDOC_STATUS-DOCNUM = IDOC_CONTRL-DOCNUM.

IDOC_STATUS-STATUS = '53'.

IDOC_STATUS-MSGTY = 'I'.

IDOC_STATUS-MSGID = 'YM'.

IDOC_STATUS-MSGNO = '004'.

IDOC_STATUS-MSGV1 = T_ZSOITEMS-VBELN.

APPEND IDOC_STATUS.

CLEAR IDOC_STATUS.

ELSE.

IDOC_STATUS-DOCNUM = IDOC_CONTRL-DOCNUM.

IDOC_STATUS-STATUS = '51'.

IDOC_STATUS-MSGTY = 'E'.

IDOC_STATUS-MSGID = 'YM'.

IDOC_STATUS-MSGNO = '005'.

IDOC_STATUS-MSGV1 = T_ZSOITEMS-VBELN.

APPEND IDOC_STATUS.

CLEAR IDOC_STATUS.

WORKFLOW_RESULT = C_WF_RESULT_ERROR.

RETURN_VARIABLES-WF_PARAM = 'Error_Idocs'.

RETURN_VARIABLES-DOC_NUMBER = IDOC_CONTRL-DOCNUM.

APPEND RETURN_VARIABLES.

CLEAR RETURN_VARIABLES.

ENDIF.

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

ENDLOOP.

ENDFUNCTION.

Don't change the parameter name under the import, export and tables.

You can find more under http://www.riyaz.net/blog/beginners-guide-to-ale-and-idocs-a-step-by-step-approach/

Edited by: Ramesh Sundaram on May 21, 2009 9:55 AM