2008 Feb 27 8:32 AM
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.
2008 Feb 27 9:51 PM
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