SAP SD_SALES_DOCUMENT_READ Function Module for NOTRANSL: Lesen eines Verkaufsbeleges
SD_SALES_DOCUMENT_READ is a standard sd sales document read SAP function module available within SAP R/3 or S/4 Hana systems, depending on your version and release level. It is used for NOTRANSL: Lesen eines Verkaufsbeleges 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 sd sales document read FM, simply by entering the name SD_SALES_DOCUMENT_READ into the relevant SAP transaction such as SE37 or SE38.
Function Group: V45A
Program Name: SAPLV45A
Main Program: SAPLV45A
Appliation area: V
Release date: N/A
Mode(Normal, Remote etc): Normal Function Module
Update:

Function SD_SALES_DOCUMENT_READ 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 'SD_SALES_DOCUMENT_READ'"NOTRANSL: Lesen eines Verkaufsbeleges.
EXPORTING
DOCUMENT_NUMBER = "S/D document no. of document to be read
* CALL_ACTIVE = ' ' "Identification of initiator's function
* I_NO_AUTHORITY_CHECK = ' ' "No SD authorization check
* I_CALL_BAPI = ' ' "
* I_CRM_LOCK_MODE = ' ' "
* PROCESSING_MODIFICATION = ' ' "
* PROCESSING_BUFFERREAD = ' ' "
* RESULTS_INSERT = ' ' "
* SUPPRESS_AVAILIBILITY_DIA = 'X' "No Dialog for Missing Availability
* SUPPRESS_TEXT_POPUP = 'X' "No Dialog Box of Long Texts Copied
* I_BLOCK = 'X' "Block document (as in VA02)
* STATUS_BUFFER_REFRESH = 'X' "Initialise status buffer
* REQUISITION_BUFFER_REFRESH = 'X' "Initialise PurchReq buffer
IMPORTING
EKUAGV = "Ordering Party Data
EKURGV = "Payer Data
EKUWEV = "Ship-To Party Data
EVBAK = "Sales document header
EVBAKKOM = "Communication fields of sales and
EVBKD = "Business data from SD document header
ETVAK = "Sales Documents: Types
IMPORTING Parameters details for SD_SALES_DOCUMENT_READ
DOCUMENT_NUMBER - S/D document no. of document to be read
Data type: VBAK-VBELNOptional: No
Call by Reference: No ( called with pass by value option)
CALL_ACTIVE - Identification of initiator's function
Data type:Default: SPACE
Optional: Yes
Call by Reference: No ( called with pass by value option)
I_NO_AUTHORITY_CHECK - No SD authorization check
Data type: RV45A-VBAP_SELKZDefault: SPACE
Optional: Yes
Call by Reference: No ( called with pass by value option)
I_CALL_BAPI -
Data type: BAPIFLAG-BAPIFLAGDefault: SPACE
Optional: Yes
Call by Reference: No ( called with pass by value option)
I_CRM_LOCK_MODE -
Data type: BAPIFLAG-BAPIFLAGDefault: SPACE
Optional: Yes
Call by Reference: No ( called with pass by value option)
PROCESSING_MODIFICATION -
Data type: SADO_MOD_FLAGSTRINGDefault: SPACE
Optional: Yes
Call by Reference: No ( called with pass by value option)
PROCESSING_BUFFERREAD -
Data type: SADO_BUF_FLAGSTRINGDefault: SPACE
Optional: Yes
Call by Reference: No ( called with pass by value option)
RESULTS_INSERT -
Data type:Default: SPACE
Optional: Yes
Call by Reference: No ( called with pass by value option)
SUPPRESS_AVAILIBILITY_DIA - No Dialog for Missing Availability
Data type:Default: 'X'
Optional: Yes
Call by Reference: No ( called with pass by value option)
SUPPRESS_TEXT_POPUP - No Dialog Box of Long Texts Copied
Data type:Default: 'X'
Optional: Yes
Call by Reference: No ( called with pass by value option)
I_BLOCK - Block document (as in VA02)
Data type:Default: 'X'
Optional: Yes
Call by Reference: No ( called with pass by value option)
STATUS_BUFFER_REFRESH - Initialise status buffer
Data type:Default: 'X'
Optional: Yes
Call by Reference: No ( called with pass by value option)
REQUISITION_BUFFER_REFRESH - Initialise PurchReq buffer
Data type:Default: 'X'
Optional: Yes
Call by Reference: No ( called with pass by value option)
EXPORTING Parameters details for SD_SALES_DOCUMENT_READ
EKUAGV - Ordering Party Data
Data type: KUAGVOptional: No
Call by Reference: No ( called with pass by value option)
EKURGV - Payer Data
Data type: KURGVOptional: No
Call by Reference: No ( called with pass by value option)
EKUWEV - Ship-To Party Data
Data type: KUWEVOptional: No
Call by Reference: No ( called with pass by value option)
EVBAK - Sales document header
Data type: VBAKOptional: No
Call by Reference: No ( called with pass by value option)
EVBAKKOM - Communication fields of sales and
Data type: VBAKKOMOptional: No
Call by Reference: No ( called with pass by value option)
EVBKD - Business data from SD document header
Data type: VBKDOptional: No
Call by Reference: No ( called with pass by value option)
ETVAK - Sales Documents: Types
Data type: TVAKOptional: No
Call by Reference: No ( called with pass by value option)
Copy and paste ABAP code example for SD_SALES_DOCUMENT_READ 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_ekuagv | TYPE KUAGV, " | |||
| lv_document_number | TYPE VBAK-VBELN, " | |||
| lv_call_active | TYPE VBAK, " SPACE | |||
| lv_i_no_authority_check | TYPE RV45A-VBAP_SELKZ, " SPACE | |||
| lv_i_call_bapi | TYPE BAPIFLAG-BAPIFLAG, " SPACE | |||
| lv_i_crm_lock_mode | TYPE BAPIFLAG-BAPIFLAG, " SPACE | |||
| lv_ekurgv | TYPE KURGV, " | |||
| lv_processing_modification | TYPE SADO_MOD_FLAGSTRING, " SPACE | |||
| lv_ekuwev | TYPE KUWEV, " | |||
| lv_processing_bufferread | TYPE SADO_BUF_FLAGSTRING, " SPACE | |||
| lv_evbak | TYPE VBAK, " | |||
| lv_results_insert | TYPE VBAK, " SPACE | |||
| lv_evbakkom | TYPE VBAKKOM, " | |||
| lv_suppress_availibility_dia | TYPE VBAKKOM, " 'X' | |||
| lv_evbkd | TYPE VBKD, " | |||
| lv_suppress_text_popup | TYPE VBKD, " 'X' | |||
| lv_etvak | TYPE TVAK, " | |||
| lv_i_block | TYPE TVAK, " 'X' | |||
| lv_status_buffer_refresh | TYPE TVAK, " 'X' | |||
| lv_requisition_buffer_refresh | TYPE TVAK. " 'X' |
|   CALL FUNCTION 'SD_SALES_DOCUMENT_READ' "NOTRANSL: Lesen eines Verkaufsbeleges |
| EXPORTING | ||
| DOCUMENT_NUMBER | = lv_document_number | |
| CALL_ACTIVE | = lv_call_active | |
| I_NO_AUTHORITY_CHECK | = lv_i_no_authority_check | |
| I_CALL_BAPI | = lv_i_call_bapi | |
| I_CRM_LOCK_MODE | = lv_i_crm_lock_mode | |
| PROCESSING_MODIFICATION | = lv_processing_modification | |
| PROCESSING_BUFFERREAD | = lv_processing_bufferread | |
| RESULTS_INSERT | = lv_results_insert | |
| SUPPRESS_AVAILIBILITY_DIA | = lv_suppress_availibility_dia | |
| SUPPRESS_TEXT_POPUP | = lv_suppress_text_popup | |
| I_BLOCK | = lv_i_block | |
| STATUS_BUFFER_REFRESH | = lv_status_buffer_refresh | |
| REQUISITION_BUFFER_REFRESH | = lv_requisition_buffer_refresh | |
| IMPORTING | ||
| EKUAGV | = lv_ekuagv | |
| EKURGV | = lv_ekurgv | |
| EKUWEV | = lv_ekuwev | |
| EVBAK | = lv_evbak | |
| EVBAKKOM | = lv_evbakkom | |
| EVBKD | = lv_evbkd | |
| ETVAK | = lv_etvak | |
| . " SD_SALES_DOCUMENT_READ | ||
ABAP code using 7.40 inline data declarations to call FM SD_SALES_DOCUMENT_READ
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 VBELN FROM VBAK INTO @DATA(ld_document_number). | ||||
| DATA(ld_call_active) | = ' '. | |||
| "SELECT single VBAP_SELKZ FROM RV45A INTO @DATA(ld_i_no_authority_check). | ||||
| DATA(ld_i_no_authority_check) | = ' '. | |||
| "SELECT single BAPIFLAG FROM BAPIFLAG INTO @DATA(ld_i_call_bapi). | ||||
| DATA(ld_i_call_bapi) | = ' '. | |||
| "SELECT single BAPIFLAG FROM BAPIFLAG INTO @DATA(ld_i_crm_lock_mode). | ||||
| DATA(ld_i_crm_lock_mode) | = ' '. | |||
| DATA(ld_processing_modification) | = ' '. | |||
| DATA(ld_processing_bufferread) | = ' '. | |||
| DATA(ld_results_insert) | = ' '. | |||
| DATA(ld_suppress_availibility_dia) | = 'X'. | |||
| DATA(ld_suppress_text_popup) | = 'X'. | |||
| DATA(ld_i_block) | = 'X'. | |||
| DATA(ld_status_buffer_refresh) | = 'X'. | |||
| DATA(ld_requisition_buffer_refresh) | = 'X'. | |||
Search for further information about these or an SAP related objects