SAP RSDRI_INFOPROV_READ_DF Function Module for BW Data Manager: General RFC Read Interface
RSDRI_INFOPROV_READ_DF is a standard rsdri infoprov read df SAP function module available within SAP R/3 or S/4 Hana systems, depending on your version and release level. It is used for BW Data Manager: General RFC Read Interface 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 rsdri infoprov read df FM, simply by entering the name RSDRI_INFOPROV_READ_DF into the relevant SAP transaction such as SE37 or SE38.
Function Group: RSDRI_DF_FACADE
Program Name: SAPLRSDRI_DF_FACADE
Main Program: SAPLRSDRI_DF_FACADE
Appliation area:
Release date: N/A
Mode(Normal, Remote etc): Remote-Enabled
Update:

Function RSDRI_INFOPROV_READ_DF 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 'RSDRI_INFOPROV_READ_DF'"BW Data Manager: General RFC Read Interface.
EXPORTING
I_TABLE_NAME = "Name of Pseudo Table
* I_DEBUG = "IF not initial, a debug report is generated
* I_DESTINATION = "RFC Callback destination
* I_USE_BXDATA = RS_C_FALSE "Use BXDATA Format
* I_DEBUG_SUFFIX = "Suffix for Debug report to be generated
* I_CHECK_UNITS = RS_C_TRUE "check, whether currency belonging to kyf in sfc
* I_AUTHORITY_FILTER = RS_C_TRUE "Add restrictions according to the reporting authorizations of the user
* I_T_RANGE_STRING = "BW Data Manager: Range List
* I_REFERENCE_DATE = SY-DATUM "Key Date
* I_AUTHORITY_CHECK = RSDRC_C_AUTHCHK-READ "Perform Access Check - read/write/none?
* I_CURRENCY_CONVERSION = 'X' "Convert Currency Key Figures
* I_S_RFCMODE = "DM API: RFC Mode
* I_MAXROWS = 0 "Stops After This Number of Records
* I_USE_DB_AGGREGATION = RS_C_TRUE "Aggregate Run on DB
* I_USE_AGGREGATES = RS_C_TRUE "(Only InfoCubes): Should aggregates be used? yes/no
* I_ROLLUP_ONLY = RS_C_TRUE "Cubes: Only read to roll-up? Ignored if i_t_requid is set
IMPORTING
E_END_OF_DATA = "Last Data Package Yes/No
E_AGGREGATE = "Last Aggregate Used
E_SPLIT_OCCURRED = "Result may not be completely aggregated
E_BXDATA = "Resultat in binary xml
E_ERROR = "Errors
E_NUM_ROWS = "Number of rows in a result set
E_S_RUNTIME_INFORMATION = "Data Federator: Runtime Information
TABLES
I_T_SFC = "Characteristics That Are to Be Returned
I_T_SFK = "Key Figures That Are to Be Returned
* I_T_RANGE = "Selection Conditions Connected with AND
* I_T_TABLESEL = "List of Table Selections
E_T_MSG = "Preliminary...
E_T_DATA = "
E_T_FIELD = "Data Federator: Table Column with Properties
IMPORTING Parameters details for RSDRI_INFOPROV_READ_DF
I_TABLE_NAME - Name of Pseudo Table
Data type: RSDRI_DF_TABLE_NAMEOptional: No
Call by Reference: No ( called with pass by value option)
I_DEBUG - IF not initial, a debug report is generated
Data type: CHAR2Optional: Yes
Call by Reference: No ( called with pass by value option)
I_DESTINATION - RFC Callback destination
Data type: RFCDESTOptional: Yes
Call by Reference: No ( called with pass by value option)
I_USE_BXDATA - Use BXDATA Format
Data type: RS_BOOLDefault: RS_C_FALSE
Optional: Yes
Call by Reference: No ( called with pass by value option)
I_DEBUG_SUFFIX - Suffix for Debug report to be generated
Data type: CHAR15Optional: Yes
Call by Reference: No ( called with pass by value option)
I_CHECK_UNITS - check, whether currency belonging to kyf in sfc
Data type: RS_BOOLDefault: RS_C_TRUE
Optional: Yes
Call by Reference: No ( called with pass by value option)
I_AUTHORITY_FILTER - Add restrictions according to the reporting authorizations of the user
Data type: RS_BOOLDefault: RS_C_TRUE
Optional: Yes
Call by Reference: No ( called with pass by value option)
I_T_RANGE_STRING - BW Data Manager: Range List
Data type: RSDRI_T_RANGEOptional: Yes
Call by Reference: No ( called with pass by value option)
I_REFERENCE_DATE - Key Date
Data type: RSDRI_REFDATEDefault: SY-DATUM
Optional: Yes
Call by Reference: No ( called with pass by value option)
I_AUTHORITY_CHECK - Perform Access Check - read/write/none?
Data type: RSDRI_AUTHCHKDefault: RSDRC_C_AUTHCHK-READ
Optional: Yes
Call by Reference: No ( called with pass by value option)
I_CURRENCY_CONVERSION - Convert Currency Key Figures
Data type: RSDR0_CURR_CONVDefault: 'X'
Optional: Yes
Call by Reference: No ( called with pass by value option)
I_S_RFCMODE - DM API: RFC Mode
Data type: RSDP0_S_RFCMODEOptional: Yes
Call by Reference: No ( called with pass by value option)
I_MAXROWS - Stops After This Number of Records
Data type: IOptional: Yes
Call by Reference: No ( called with pass by value option)
I_USE_DB_AGGREGATION - Aggregate Run on DB
Data type: RS_BOOLDefault: RS_C_TRUE
Optional: Yes
Call by Reference: No ( called with pass by value option)
I_USE_AGGREGATES - (Only InfoCubes): Should aggregates be used? yes/no
Data type: RS_BOOLDefault: RS_C_TRUE
Optional: Yes
Call by Reference: No ( called with pass by value option)
I_ROLLUP_ONLY - Cubes: Only read to roll-up? Ignored if i_t_requid is set
Data type: RS_BOOLDefault: RS_C_TRUE
Optional: Yes
Call by Reference: No ( called with pass by value option)
EXPORTING Parameters details for RSDRI_INFOPROV_READ_DF
E_END_OF_DATA - Last Data Package Yes/No
Data type: RS_BOOLOptional: No
Call by Reference: No ( called with pass by value option)
E_AGGREGATE - Last Aggregate Used
Data type: RSINFOCUBEOptional: No
Call by Reference: No ( called with pass by value option)
E_SPLIT_OCCURRED - Result may not be completely aggregated
Data type: RSDR0_SPLIT_OCCURREDOptional: No
Call by Reference: No ( called with pass by value option)
E_BXDATA - Resultat in binary xml
Data type: XSTRINGOptional: No
Call by Reference: No ( called with pass by value option)
E_ERROR - Errors
Data type: IOptional: No
Call by Reference: No ( called with pass by value option)
E_NUM_ROWS - Number of rows in a result set
Data type: RSDRI_DF_NUM_ROWSOptional: No
Call by Reference: No ( called with pass by value option)
E_S_RUNTIME_INFORMATION - Data Federator: Runtime Information
Data type: RSDRI_DF_S_RUNTIMEOptional: No
Call by Reference: No ( called with pass by value option)
TABLES Parameters details for RSDRI_INFOPROV_READ_DF
I_T_SFC - Characteristics That Are to Be Returned
Data type: RSDRI_T_SFCOptional: No
Call by Reference: Yes
I_T_SFK - Key Figures That Are to Be Returned
Data type: RSDRI_T_SFKOptional: No
Call by Reference: Yes
I_T_RANGE - Selection Conditions Connected with AND
Data type: RSDRI_T_RANGE_RFCOptional: Yes
Call by Reference: Yes
I_T_TABLESEL - List of Table Selections
Data type: RSDRI_T_SELTOptional: Yes
Call by Reference: Yes
E_T_MSG - Preliminary...
Data type: BAPIRET2_TOptional: No
Call by Reference: Yes
E_T_DATA -
Data type: BAPI6100DAOptional: No
Call by Reference: Yes
E_T_FIELD - Data Federator: Table Column with Properties
Data type: RSDRI_DF_S_FIELDOptional: No
Call by Reference: Yes
Copy and paste ABAP code example for RSDRI_INFOPROV_READ_DF 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: | ||||
| lt_i_t_sfc | TYPE STANDARD TABLE OF RSDRI_T_SFC, " | |||
| lv_i_table_name | TYPE RSDRI_DF_TABLE_NAME, " | |||
| lv_e_end_of_data | TYPE RS_BOOL, " | |||
| lv_i_debug | TYPE CHAR2, " | |||
| lv_i_destination | TYPE RFCDEST, " | |||
| lv_i_use_bxdata | TYPE RS_BOOL, " RS_C_FALSE | |||
| lv_i_debug_suffix | TYPE CHAR15, " | |||
| lv_i_check_units | TYPE RS_BOOL, " RS_C_TRUE | |||
| lv_i_authority_filter | TYPE RS_BOOL, " RS_C_TRUE | |||
| lv_i_t_range_string | TYPE RSDRI_T_RANGE, " | |||
| lt_i_t_sfk | TYPE STANDARD TABLE OF RSDRI_T_SFK, " | |||
| lv_e_aggregate | TYPE RSINFOCUBE, " | |||
| lv_i_reference_date | TYPE RSDRI_REFDATE, " SY-DATUM | |||
| lt_i_t_range | TYPE STANDARD TABLE OF RSDRI_T_RANGE_RFC, " | |||
| lv_e_split_occurred | TYPE RSDR0_SPLIT_OCCURRED, " | |||
| lv_i_authority_check | TYPE RSDRI_AUTHCHK, " RSDRC_C_AUTHCHK-READ | |||
| lv_e_bxdata | TYPE XSTRING, " | |||
| lt_i_t_tablesel | TYPE STANDARD TABLE OF RSDRI_T_SELT, " | |||
| lv_i_currency_conversion | TYPE RSDR0_CURR_CONV, " 'X' | |||
| lv_e_error | TYPE I, " | |||
| lt_e_t_msg | TYPE STANDARD TABLE OF BAPIRET2_T, " | |||
| lv_i_s_rfcmode | TYPE RSDP0_S_RFCMODE, " | |||
| lt_e_t_data | TYPE STANDARD TABLE OF BAPI6100DA, " | |||
| lv_i_maxrows | TYPE I, " 0 | |||
| lv_e_num_rows | TYPE RSDRI_DF_NUM_ROWS, " | |||
| lt_e_t_field | TYPE STANDARD TABLE OF RSDRI_DF_S_FIELD, " | |||
| lv_i_use_db_aggregation | TYPE RS_BOOL, " RS_C_TRUE | |||
| lv_e_s_runtime_information | TYPE RSDRI_DF_S_RUNTIME, " | |||
| lv_i_use_aggregates | TYPE RS_BOOL, " RS_C_TRUE | |||
| lv_i_rollup_only | TYPE RS_BOOL. " RS_C_TRUE |
|   CALL FUNCTION 'RSDRI_INFOPROV_READ_DF' "BW Data Manager: General RFC Read Interface |
| EXPORTING | ||
| I_TABLE_NAME | = lv_i_table_name | |
| I_DEBUG | = lv_i_debug | |
| I_DESTINATION | = lv_i_destination | |
| I_USE_BXDATA | = lv_i_use_bxdata | |
| I_DEBUG_SUFFIX | = lv_i_debug_suffix | |
| I_CHECK_UNITS | = lv_i_check_units | |
| I_AUTHORITY_FILTER | = lv_i_authority_filter | |
| I_T_RANGE_STRING | = lv_i_t_range_string | |
| I_REFERENCE_DATE | = lv_i_reference_date | |
| I_AUTHORITY_CHECK | = lv_i_authority_check | |
| I_CURRENCY_CONVERSION | = lv_i_currency_conversion | |
| I_S_RFCMODE | = lv_i_s_rfcmode | |
| I_MAXROWS | = lv_i_maxrows | |
| I_USE_DB_AGGREGATION | = lv_i_use_db_aggregation | |
| I_USE_AGGREGATES | = lv_i_use_aggregates | |
| I_ROLLUP_ONLY | = lv_i_rollup_only | |
| IMPORTING | ||
| E_END_OF_DATA | = lv_e_end_of_data | |
| E_AGGREGATE | = lv_e_aggregate | |
| E_SPLIT_OCCURRED | = lv_e_split_occurred | |
| E_BXDATA | = lv_e_bxdata | |
| E_ERROR | = lv_e_error | |
| E_NUM_ROWS | = lv_e_num_rows | |
| E_S_RUNTIME_INFORMATION | = lv_e_s_runtime_information | |
| TABLES | ||
| I_T_SFC | = lt_i_t_sfc | |
| I_T_SFK | = lt_i_t_sfk | |
| I_T_RANGE | = lt_i_t_range | |
| I_T_TABLESEL | = lt_i_t_tablesel | |
| E_T_MSG | = lt_e_t_msg | |
| E_T_DATA | = lt_e_t_data | |
| E_T_FIELD | = lt_e_t_field | |
| . " RSDRI_INFOPROV_READ_DF | ||
ABAP code using 7.40 inline data declarations to call FM RSDRI_INFOPROV_READ_DF
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.| DATA(ld_i_use_bxdata) | = RS_C_FALSE. | |||
| DATA(ld_i_check_units) | = RS_C_TRUE. | |||
| DATA(ld_i_authority_filter) | = RS_C_TRUE. | |||
| DATA(ld_i_reference_date) | = SY-DATUM. | |||
| DATA(ld_i_authority_check) | = RSDRC_C_AUTHCHK-READ. | |||
| DATA(ld_i_currency_conversion) | = 'X'. | |||
| DATA(ld_i_use_db_aggregation) | = RS_C_TRUE. | |||
| DATA(ld_i_use_aggregates) | = RS_C_TRUE. | |||
| DATA(ld_i_rollup_only) | = RS_C_TRUE. | |||
Search for further information about these or an SAP related objects