SAP EDI_DOCUMENT_OPEN_FOR_PROCESS Function Module for Open IDoc for processing
EDI_DOCUMENT_OPEN_FOR_PROCESS is a standard edi document open for process SAP function module available within SAP R/3 or S/4 Hana systems, depending on your version and release level. It is used for Open IDoc for processing processing and below is the pattern details for this FM, showing its interface including any import and export parameters, exceptions etc. there is also a full "cut and paste" ABAP pattern code example, along with implementation ABAP coding, documentation and contribution comments specific to this or related objects.
See here to view full function module documentation and code listing for edi document open for process FM, simply by entering the name EDI_DOCUMENT_OPEN_FOR_PROCESS into the relevant SAP transaction such as SE37 or SE38.
Function Group: EDI1
Program Name: SAPLEDI1
Main Program: SAPLEDI1
Appliation area: S
Release date: 11-Dec-1995
Mode(Normal, Remote etc): Remote-Enabled
Update:
Function EDI_DOCUMENT_OPEN_FOR_PROCESS pattern details
In-order to call this FM within your sap programs, simply using the below ABAP pattern details to trigger the function call...or see the full ABAP code listing at the end of this article. You can simply cut and paste this code into your ABAP progrom as it is, including variable declarations.CALL FUNCTION 'EDI_DOCUMENT_OPEN_FOR_PROCESS'"Open IDoc for processing.
EXPORTING
* DB_READ_OPTION = DB_READ "'Y' = Read data records from DB, 'N' = Do not read
DOCUMENT_NUMBER = "IDoc number
* ENQUEUE_OPTION = SYNCHRONOUS "'A' = Lock asynchronously, 'S' = Lock synchronously
IMPORTING
IDOC_CONTROL = "IDoc control record
EXCEPTIONS
DOCUMENT_FOREIGN_LOCK = 1 DOCUMENT_NOT_EXIST = 2 DOCUMENT_NUMBER_INVALID = 3 DOCUMENT_IS_ALREADY_OPEN = 4
Customer Function user exits
Below is a list of CUSTOMER FUNCTION exit user exits that are available within this program and maybe relevant for this FM.EXIT_SAPLEDI1_001 Customer Function for Open_for_create
IMPORTING Parameters details for EDI_DOCUMENT_OPEN_FOR_PROCESS
DB_READ_OPTION - 'Y' = Read data records from DB, 'N' = Do not read
Data type: EDI_HELP-DBR_OPTIONDefault: DB_READ
Optional: Yes
Call by Reference: No ( called with pass by value option)
DOCUMENT_NUMBER - IDoc number
Data type: EDIDC-DOCNUMOptional: No
Call by Reference: No ( called with pass by value option)
ENQUEUE_OPTION - 'A' = Lock asynchronously, 'S' = Lock synchronously
Data type: EDI_HELP-ENQ_OPTIONDefault: SYNCHRONOUS
Optional: Yes
Call by Reference: No ( called with pass by value option)
EXPORTING Parameters details for EDI_DOCUMENT_OPEN_FOR_PROCESS
IDOC_CONTROL - IDoc control record
Data type: EDIDCOptional: No
Call by Reference: No ( called with pass by value option)
EXCEPTIONS details
DOCUMENT_FOREIGN_LOCK - IDoc locked
Data type:Optional: No
Call by Reference: No ( called with pass by value option)
DOCUMENT_NOT_EXIST - IDoc does not exist
Data type:Optional: No
Call by Reference: No ( called with pass by value option)
DOCUMENT_NUMBER_INVALID - IDoc number is invalid
Data type:Optional: No
Call by Reference: No ( called with pass by value option)
DOCUMENT_IS_ALREADY_OPEN - IDoc already opened in process mode
Data type:Optional: No
Call by Reference: No ( called with pass by value option)
Copy and paste ABAP code example for EDI_DOCUMENT_OPEN_FOR_PROCESS Function Module
The ABAP code below is a full code listing to execute function module POPUP_TO_CONFIRM including all data declarations. The code uses the original data declarations rather than the latest in-line data DECLARATION SYNTAX but I have included an ABAP code snippet at the end to show how declarations would look using the newer method of declaring data variables on the fly. This will allow you to compare and fully understand the new inline method. Please note some of the newer syntax such as the @DATA is not available until a later 4.70 service pack (SP8), which i why i have stuck to the origianl for this example.DATA: | ||||
lv_idoc_control | TYPE EDIDC, " | |||
lv_db_read_option | TYPE EDI_HELP-DBR_OPTION, " DB_READ | |||
lv_document_foreign_lock | TYPE EDI_HELP, " | |||
lv_document_number | TYPE EDIDC-DOCNUM, " | |||
lv_document_not_exist | TYPE EDIDC, " | |||
lv_enqueue_option | TYPE EDI_HELP-ENQ_OPTION, " SYNCHRONOUS | |||
lv_document_number_invalid | TYPE EDI_HELP, " | |||
lv_document_is_already_open | TYPE EDI_HELP. " |
  CALL FUNCTION 'EDI_DOCUMENT_OPEN_FOR_PROCESS' "Open IDoc for processing |
EXPORTING | ||
DB_READ_OPTION | = lv_db_read_option | |
DOCUMENT_NUMBER | = lv_document_number | |
ENQUEUE_OPTION | = lv_enqueue_option | |
IMPORTING | ||
IDOC_CONTROL | = lv_idoc_control | |
EXCEPTIONS | ||
DOCUMENT_FOREIGN_LOCK = 1 | ||
DOCUMENT_NOT_EXIST = 2 | ||
DOCUMENT_NUMBER_INVALID = 3 | ||
DOCUMENT_IS_ALREADY_OPEN = 4 | ||
. " EDI_DOCUMENT_OPEN_FOR_PROCESS |
ABAP code using 7.40 inline data declarations to call FM EDI_DOCUMENT_OPEN_FOR_PROCESS
The below ABAP code uses the newer in-line data declarations. This allows you to see the coding differences/benefits of the later inline syntax. Please note some of the newer syntax below, such as the @DATA is not available until 4.70 EHP 8."SELECT single DBR_OPTION FROM EDI_HELP INTO @DATA(ld_db_read_option). | ||||
DATA(ld_db_read_option) | = DB_READ. | |||
"SELECT single DOCNUM FROM EDIDC INTO @DATA(ld_document_number). | ||||
"SELECT single ENQ_OPTION FROM EDI_HELP INTO @DATA(ld_enqueue_option). | ||||
DATA(ld_enqueue_option) | = SYNCHRONOUS. | |||
Search for further information about these or an SAP related objects