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

Inbound IDoc

Former Member
0 Likes
445

Hi All,

Can someone of you give me a code for programming my functional module so that if data passes sucessfully i can call BAPI_ACC_DOCUMENT_POST else error status message 51.

Hi All,

Can someone of you give me a code for programming my functional module so that if data passes sucessfully i can call BAPI_ACC_DOCUMENT_POST else error status message 51.

1 REPLY 1
Read only

Former Member
0 Likes
402

Dear Vivek,

here is some sample standard code

Hope it will help you go ahead further.

  • read control record of idoc

CALL FUNCTION 'EDI_DOCUMENT_OPEN_FOR_READ'

EXPORTING

DOCUMENT_NUMBER = CONTROL_RECORD_IN-DOCNUM

DB_READ_OPTION = SPACE

IMPORTING

IDOC_CONTROL = CONTROL_RECORD_IN

EXCEPTIONS

DOCUMENT_FOREIGN_LOCK = 1

DOCUMENT_NOT_EXIST = 2

DOCUMENT_NUMBER_INVALID = 3

OTHERS = 4.

IF SY-SUBRC > 1.

MESSAGE ID 'EA'

TYPE 'E'

NUMBER 708

WITH CONTROL_RECORD_IN-DOCNUM SY-MSGNO

SY-MSGV1 SY-MSGV2

RAISING INVALID_DOCUMENT_NUMBER.

ENDIF.

CALL FUNCTION 'EDI_DOCUMENT_CLOSE_READ'

EXPORTING

DOCUMENT_NUMBER = CONTROL_RECORD_IN-DOCNUM

EXCEPTIONS

DOCUMENT_NOT_OPEN = 0

PARAMETER_ERROR = 0

OTHERS = 0.

  • do not care about exception

ENDIF.

  • check direction

IF CONTROL_RECORD_IN-DIRECT <> '2'.

MESSAGE E025 WITH CONTROL_RECORD_IN-DIRECT

CONTROL_RECORD_IN-DOCNUM

RAISING INBOUND_PROCESS_NOT_POSSIBLE.

ENDIF.

  • check actual status value

IF ( CONTROL_RECORD_IN-STATUS = EDI_PROC_WITH_SYN_ERR_IN ) " 61

OR ( CONTROL_RECORD_IN-STATUS = EDI_IDOC_TO_BE_PROCESSED ) " 50

OR ( CONTROL_RECORD_IN-STATUS = EDI_IDOC_ADDED_WO_CHECK ) " 56

OR ( CONTROL_RECORD_IN-STATUS = ALE_IDOC_READY_FOR_APL ) " 64

OR ( CONTROL_RECORD_IN-STATUS = ALE_IDOC_POSTPONED ) . " 66

ELSE.

MESSAGE E026 WITH CONTROL_RECORD_IN-STATUS

CONTROL_RECORD_IN-DOCNUM

RAISING INBOUND_PROCESS_NOT_POSSIBLE.

ENDIF.

Thanks & Regards

Venugopal

Generosity is human kindness-

Make the SAP Community grow more and more