SAP CRS_PRICES_EXTRACT Function Module for Extract function module for conditions and pricing
CRS_PRICES_EXTRACT is a standard crs prices extract SAP function module available within SAP R/3 or S/4 Hana systems, depending on your version and release level. It is used for Extract function module for conditions and pricing 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 crs prices extract FM, simply by entering the name CRS_PRICES_EXTRACT into the relevant SAP transaction such as SE37 or SE38.
Function Group: CRM7
Program Name: SAPLCRM7
Main Program: SAPLCRM7
Appliation area: V
Release date: N/A
Mode(Normal, Remote etc): Normal Function Module
Update:

Function CRS_PRICES_EXTRACT 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 'CRS_PRICES_EXTRACT'"Extract function module for conditions and pricing.
EXPORTING
I_BAPICRMDH1 = "
* I_CALLBACK_PER_KEY = "ABAP Editor form
* I_CALLBACK_END_OF_BLOCK = "ABAP Editor form
* I_REQUEST_MODE = ' ' "Checkbox
* I_DO_NOT_SEND_DATA = "
* I_LANGUAGE = "
* I_NO_KON_TABS = "
* I_OBJ_NAME = "
* I_CALL_MODE = "
* I_RECEIVE_MODULE = "
* I_KVEWE = "
* I_CALLBACK_PROGRAM = ' ' "
IMPORTING
E_STATUS = "
E_COMPLETE_BLOCK_NUMBER = "
E_COMPLETE_RECORD_NUMBER = "
TABLES
* TI_TABLES = "
* T_VKONW = "
* TI_RANGE = "
* TI_RELATION = "
* T_COND_RECS = "
* T_KEY_FIELDS = "
* T_DATA_FIELDS = "
* T_KONHDB = "
* T_KONPDB = "
* T_VKONM = "
IMPORTING Parameters details for CRS_PRICES_EXTRACT
I_BAPICRMDH1 -
Data type: BAPICRMDH1Optional: No
Call by Reference: Yes
I_CALLBACK_PER_KEY - ABAP Editor form
Data type: EDPERFORMOptional: Yes
Call by Reference: No ( called with pass by value option)
I_CALLBACK_END_OF_BLOCK - ABAP Editor form
Data type: EDPERFORMOptional: Yes
Call by Reference: No ( called with pass by value option)
I_REQUEST_MODE - Checkbox
Data type: XFELDDefault: ' '
Optional: Yes
Call by Reference: No ( called with pass by value option)
I_DO_NOT_SEND_DATA -
Data type: ORDER_VIEW-HEADEROptional: Yes
Call by Reference: Yes
I_LANGUAGE -
Data type: SY-LANGUOptional: Yes
Call by Reference: Yes
I_NO_KON_TABS -
Data type: ORDER_VIEW-HEADEROptional: Yes
Call by Reference: Yes
I_OBJ_NAME -
Data type: BAPICRMOBJ-OBJ_NAMEOptional: Yes
Call by Reference: Yes
I_CALL_MODE -
Data type: CRM_PARA-CALL_MODEOptional: Yes
Call by Reference: No ( called with pass by value option)
I_RECEIVE_MODULE -
Data type: TFDIR-FUNCNAMEOptional: Yes
Call by Reference: No ( called with pass by value option)
I_KVEWE -
Data type: T681-KVEWEOptional: Yes
Call by Reference: No ( called with pass by value option)
I_CALLBACK_PROGRAM -
Data type: SY-REPIDDefault: ' '
Optional: Yes
Call by Reference: No ( called with pass by value option)
EXPORTING Parameters details for CRS_PRICES_EXTRACT
E_STATUS -
Data type: BAPICRMEXP-STATUS_EXTOptional: No
Call by Reference: Yes
E_COMPLETE_BLOCK_NUMBER -
Data type: SY-TABIXOptional: No
Call by Reference: No ( called with pass by value option)
E_COMPLETE_RECORD_NUMBER -
Data type: SY-TABIXOptional: No
Call by Reference: No ( called with pass by value option)
TABLES Parameters details for CRS_PRICES_EXTRACT
TI_TABLES -
Data type: CRMTABLESOptional: Yes
Call by Reference: No ( called with pass by value option)
T_VKONW -
Data type: COND_KONWOptional: Yes
Call by Reference: No ( called with pass by value option)
TI_RANGE -
Data type: CRMSELSTROptional: Yes
Call by Reference: No ( called with pass by value option)
TI_RELATION -
Data type: CRMRELAOptional: Yes
Call by Reference: No ( called with pass by value option)
T_COND_RECS -
Data type: COND_RECSOptional: Yes
Call by Reference: No ( called with pass by value option)
T_KEY_FIELDS -
Data type: COND_FLDSOptional: Yes
Call by Reference: No ( called with pass by value option)
T_DATA_FIELDS -
Data type: COND_FLDSOptional: Yes
Call by Reference: No ( called with pass by value option)
T_KONHDB -
Data type: KONHDBOptional: Yes
Call by Reference: No ( called with pass by value option)
T_KONPDB -
Data type: KONPDBOptional: Yes
Call by Reference: No ( called with pass by value option)
T_VKONM -
Data type: COND_KONMOptional: Yes
Call by Reference: No ( called with pass by value option)
Copy and paste ABAP code example for CRS_PRICES_EXTRACT 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_e_status | TYPE BAPICRMEXP-STATUS_EXT, " | |||
| lt_ti_tables | TYPE STANDARD TABLE OF CRMTABLES, " | |||
| lv_i_bapicrmdh1 | TYPE BAPICRMDH1, " | |||
| lt_t_vkonw | TYPE STANDARD TABLE OF COND_KONW, " | |||
| lv_i_callback_per_key | TYPE EDPERFORM, " | |||
| lv_i_callback_end_of_block | TYPE EDPERFORM, " | |||
| lv_i_request_mode | TYPE XFELD, " ' ' | |||
| lt_ti_range | TYPE STANDARD TABLE OF CRMSELSTR, " | |||
| lv_i_do_not_send_data | TYPE ORDER_VIEW-HEADER, " | |||
| lv_e_complete_block_number | TYPE SY-TABIX, " | |||
| lv_i_language | TYPE SY-LANGU, " | |||
| lt_ti_relation | TYPE STANDARD TABLE OF CRMRELA, " | |||
| lv_e_complete_record_number | TYPE SY-TABIX, " | |||
| lt_t_cond_recs | TYPE STANDARD TABLE OF COND_RECS, " | |||
| lv_i_no_kon_tabs | TYPE ORDER_VIEW-HEADER, " | |||
| lv_i_obj_name | TYPE BAPICRMOBJ-OBJ_NAME, " | |||
| lt_t_key_fields | TYPE STANDARD TABLE OF COND_FLDS, " | |||
| lv_i_call_mode | TYPE CRM_PARA-CALL_MODE, " | |||
| lt_t_data_fields | TYPE STANDARD TABLE OF COND_FLDS, " | |||
| lt_t_konhdb | TYPE STANDARD TABLE OF KONHDB, " | |||
| lv_i_receive_module | TYPE TFDIR-FUNCNAME, " | |||
| lv_i_kvewe | TYPE T681-KVEWE, " | |||
| lt_t_konpdb | TYPE STANDARD TABLE OF KONPDB, " | |||
| lt_t_vkonm | TYPE STANDARD TABLE OF COND_KONM, " | |||
| lv_i_callback_program | TYPE SY-REPID. " ' ' |
|   CALL FUNCTION 'CRS_PRICES_EXTRACT' "Extract function module for conditions and pricing |
| EXPORTING | ||
| I_BAPICRMDH1 | = lv_i_bapicrmdh1 | |
| I_CALLBACK_PER_KEY | = lv_i_callback_per_key | |
| I_CALLBACK_END_OF_BLOCK | = lv_i_callback_end_of_block | |
| I_REQUEST_MODE | = lv_i_request_mode | |
| I_DO_NOT_SEND_DATA | = lv_i_do_not_send_data | |
| I_LANGUAGE | = lv_i_language | |
| I_NO_KON_TABS | = lv_i_no_kon_tabs | |
| I_OBJ_NAME | = lv_i_obj_name | |
| I_CALL_MODE | = lv_i_call_mode | |
| I_RECEIVE_MODULE | = lv_i_receive_module | |
| I_KVEWE | = lv_i_kvewe | |
| I_CALLBACK_PROGRAM | = lv_i_callback_program | |
| IMPORTING | ||
| E_STATUS | = lv_e_status | |
| E_COMPLETE_BLOCK_NUMBER | = lv_e_complete_block_number | |
| E_COMPLETE_RECORD_NUMBER | = lv_e_complete_record_number | |
| TABLES | ||
| TI_TABLES | = lt_ti_tables | |
| T_VKONW | = lt_t_vkonw | |
| TI_RANGE | = lt_ti_range | |
| TI_RELATION | = lt_ti_relation | |
| T_COND_RECS | = lt_t_cond_recs | |
| T_KEY_FIELDS | = lt_t_key_fields | |
| T_DATA_FIELDS | = lt_t_data_fields | |
| T_KONHDB | = lt_t_konhdb | |
| T_KONPDB | = lt_t_konpdb | |
| T_VKONM | = lt_t_vkonm | |
| . " CRS_PRICES_EXTRACT | ||
ABAP code using 7.40 inline data declarations to call FM CRS_PRICES_EXTRACT
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 STATUS_EXT FROM BAPICRMEXP INTO @DATA(ld_e_status). | ||||
| DATA(ld_i_request_mode) | = ' '. | |||
| "SELECT single HEADER FROM ORDER_VIEW INTO @DATA(ld_i_do_not_send_data). | ||||
| "SELECT single TABIX FROM SY INTO @DATA(ld_e_complete_block_number). | ||||
| "SELECT single LANGU FROM SY INTO @DATA(ld_i_language). | ||||
| "SELECT single TABIX FROM SY INTO @DATA(ld_e_complete_record_number). | ||||
| "SELECT single HEADER FROM ORDER_VIEW INTO @DATA(ld_i_no_kon_tabs). | ||||
| "SELECT single OBJ_NAME FROM BAPICRMOBJ INTO @DATA(ld_i_obj_name). | ||||
| "SELECT single CALL_MODE FROM CRM_PARA INTO @DATA(ld_i_call_mode). | ||||
| "SELECT single FUNCNAME FROM TFDIR INTO @DATA(ld_i_receive_module). | ||||
| "SELECT single KVEWE FROM T681 INTO @DATA(ld_i_kvewe). | ||||
| "SELECT single REPID FROM SY INTO @DATA(ld_i_callback_program). | ||||
| DATA(ld_i_callback_program) | = ' '. | |||
Search for further information about these or an SAP related objects