SAP RSDRI_INFOPROV_READ Function Module for BW Data Manager: General Read Interfaces
RSDRI_INFOPROV_READ is a standard rsdri infoprov 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 BW Data Manager: General Read Interfaces 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 FM, simply by entering the name RSDRI_INFOPROV_READ into the relevant SAP transaction such as SE37 or SE38.
Function Group: RSDRI
Program Name: SAPLRSDRI
Main Program: SAPLRSDRI
Appliation area: B
Release date: 17-Mar-2008
Mode(Normal, Remote etc): Normal Function Module
Update:
Function RSDRI_INFOPROV_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 'RSDRI_INFOPROV_READ'"BW Data Manager: General Read Interfaces.
EXPORTING
I_INFOPROV = "Technical Name of InfoProvider
* I_SAVE_IN_TABLE = ' ' "Save Result in DB Table?
* I_TABLENAME = "Name of the Results Table
* I_SAVE_IN_FILE = ' ' "Save Result in File?
* I_FILENAME = "Name of Results File
* I_SAVE_IN_INDEX = ' ' "Save result in BWA index?
* I_INDEX_ID = "Name of the BWA Index
* I_PACKAGESIZE = 1000 "Size of Returned Data Package
* I_MAXROWS = 0 "Stops After This Number of Records
* I_AUTHORITY_CHECK = RSDRC_C_AUTHCHK-READ "Should Access Check Be Executed Read/Write/None
* I_CURRENCY_CONVERSION = 'X' "Convert Currency Key Figures
I_TH_SFC = "Characteristics That Are to Be Returned
* I_USE_DB_AGGREGATION = RS_C_TRUE "Aggregate Run on DB
* I_USE_AGGREGATES = RS_C_TRUE "(Only InfoCubes): Use Aggregate Yes/No
* I_READ_ODS_DELTA = RS_C_FALSE "(Only ODS Objects): Should Data Be Read from the ODS Change Log?
* I_CALLER = RSDRS_C_CALLER-RSDRI "ID of User who Called up Transaction
* I_DEBUG = RS_C_FALSE "Debugging Mode On/Off
* I_CLEAR = RS_C_FALSE "Delete Static References
* I_COMMIT_ALLOWED = RS_C_TRUE "Commit Permitted During Read
* I_WITH_NLS = RS_C_FALSE "Also Read Near-Line Storage/Archive
* I_CHECK_RESULTS = RS_C_FALSE "Internal Use Only
* I_PROCESS_MPRO_IN_TREX = "Process MultiProvider Query in TREX (if Possible)
I_TH_SFK = "Key Figures That Are to Be Returned
* I_T_RANGE = "Selection Conditions Connected with AND
* I_TH_TABLESEL = "List of Table Selections
* I_T_RTIME = "BW Data Manager: Table of Intervals for Non-Cumulatives
* I_REFERENCE_DATE = SY-DATUM "Key Date
* I_ROLLUP_ONLY = RS_C_TRUE "Cubes: Read Only to Rollup? Is Cropped with I_T_REQUID
* I_T_REQUID = "Optional Selection of Relevant Requests
IMPORTING
E_T_DATA = "Internal Table with Query Result
E_END_OF_DATA = "Last Data Package Yes/No
E_AGGREGATE = "Last Aggregate Used
E_SPLIT_OCCURRED = "Result may not be completely aggregated
E_T_MSG = "BW: Table with Messages (Application Log)
E_STEPUID = "UUID of the step in the query statistics
CHANGING
C_FIRST_CALL = "First Call Yes/No
EXCEPTIONS
ILLEGAL_INPUT = 1 INHERITED_ERROR = 10 X_MESSAGE = 11 NO_COMMIT_FREE_READ = 12 ILLEGAL_INPUT_SFC = 2 ILLEGAL_INPUT_SFK = 3 ILLEGAL_INPUT_RANGE = 4 ILLEGAL_INPUT_TABLESEL = 5 NO_AUTHORIZATION = 6 ILLEGAL_DOWNLOAD = 7 ILLEGAL_TABLENAME = 8 TRANS_NO_WRITE_MODE = 9
IMPORTING Parameters details for RSDRI_INFOPROV_READ
I_INFOPROV - Technical Name of InfoProvider
Data type: RSINFOPROVOptional: No
Call by Reference: Yes
I_SAVE_IN_TABLE - Save Result in DB Table?
Data type: RSDRI_SAVE_IN_TABLEDefault: SPACE
Optional: Yes
Call by Reference: No ( called with pass by value option)
I_TABLENAME - Name of the Results Table
Data type: RSDRI_TABLENAMEOptional: Yes
Call by Reference: No ( called with pass by value option)
I_SAVE_IN_FILE - Save Result in File?
Data type: RSDRI_SAVE_IN_FILEDefault: SPACE
Optional: Yes
Call by Reference: No ( called with pass by value option)
I_FILENAME - Name of Results File
Data type: RSDRI_FILENAMEOptional: Yes
Call by Reference: No ( called with pass by value option)
I_SAVE_IN_INDEX - Save result in BWA index?
Data type: RSDRI_SAVE_IN_INDEXDefault: SPACE
Optional: Yes
Call by Reference: No ( called with pass by value option)
I_INDEX_ID - Name of the BWA Index
Data type: TREXD_INDEX_IDOptional: Yes
Call by Reference: No ( called with pass by value option)
I_PACKAGESIZE - Size of Returned Data Package
Data type: IDefault: 1000
Optional: 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_AUTHORITY_CHECK - Should Access Check Be Executed 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_TH_SFC - Characteristics That Are to Be Returned
Data type: RSDRI_TH_SFCOptional: No
Call by Reference: Yes
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): Use Aggregate Yes/No
Data type: RS_BOOLDefault: RS_C_TRUE
Optional: Yes
Call by Reference: No ( called with pass by value option)
I_READ_ODS_DELTA - (Only ODS Objects): Should Data Be Read from the ODS Change Log?
Data type: RSDRI_CHANGELOG_EXTRACTIONDefault: RS_C_FALSE
Optional: Yes
Call by Reference: No ( called with pass by value option)
I_CALLER - ID of User who Called up Transaction
Data type: RSDRS_CALLERDefault: RSDRS_C_CALLER-RSDRI
Optional: Yes
Call by Reference: No ( called with pass by value option)
I_DEBUG - Debugging Mode On/Off
Data type: RS_BOOLDefault: RS_C_FALSE
Optional: Yes
Call by Reference: No ( called with pass by value option)
I_CLEAR - Delete Static References
Data type: RS_BOOLDefault: RS_C_FALSE
Optional: Yes
Call by Reference: No ( called with pass by value option)
I_COMMIT_ALLOWED - Commit Permitted During Read
Data type: RS_BOOLDefault: RS_C_TRUE
Optional: Yes
Call by Reference: No ( called with pass by value option)
I_WITH_NLS - Also Read Near-Line Storage/Archive
Data type: DBMAN_WITH_NEARLINEDefault: RS_C_FALSE
Optional: Yes
Call by Reference: No ( called with pass by value option)
I_CHECK_RESULTS - Internal Use Only
Data type: RS_BOOLDefault: RS_C_FALSE
Optional: Yes
Call by Reference: No ( called with pass by value option)
I_PROCESS_MPRO_IN_TREX - Process MultiProvider Query in TREX (if Possible)
Data type: RSDRI_PROCESS_MPRO_IN_TREXOptional: Yes
Call by Reference: No ( called with pass by value option)
I_TH_SFK - Key Figures That Are to Be Returned
Data type: RSDRI_TH_SFKOptional: No
Call by Reference: Yes
I_T_RANGE - Selection Conditions Connected with AND
Data type: RSDRI_T_RANGEOptional: Yes
Call by Reference: Yes
I_TH_TABLESEL - List of Table Selections
Data type: RSDRI_TH_SELTOptional: Yes
Call by Reference: Yes
I_T_RTIME - BW Data Manager: Table of Intervals for Non-Cumulatives
Data type: RSDRI_T_RTIMEOptional: Yes
Call by Reference: Yes
I_REFERENCE_DATE - Key Date
Data type: RSDRI_REFDATEDefault: SY-DATUM
Optional: Yes
Call by Reference: No ( called with pass by value option)
I_ROLLUP_ONLY - Cubes: Read Only to Rollup? Is Cropped with I_T_REQUID
Data type: RS_BOOLDefault: RS_C_TRUE
Optional: Yes
Call by Reference: No ( called with pass by value option)
I_T_REQUID - Optional Selection of Relevant Requests
Data type: RSDR0_T_REQUIDOptional: Yes
Call by Reference: Yes
EXPORTING Parameters details for RSDRI_INFOPROV_READ
E_T_DATA - Internal Table with Query Result
Data type: STANDARD TABLEOptional: No
Call by Reference: Yes
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_T_MSG - BW: Table with Messages (Application Log)
Data type: RS_T_MSGOptional: No
Call by Reference: Yes
E_STEPUID - UUID of the step in the query statistics
Data type: SYSUUID_25Optional: No
Call by Reference: Yes
CHANGING Parameters details for RSDRI_INFOPROV_READ
C_FIRST_CALL - First Call Yes/No
Data type: RS_BOOLOptional: No
Call by Reference: Yes
EXCEPTIONS details
ILLEGAL_INPUT - Incorrect Input Parameter
Data type:Optional: No
Call by Reference: No ( called with pass by value option)
INHERITED_ERROR - Error in Called Routine
Data type:Optional: No
Call by Reference: Yes
X_MESSAGE - Other Error from Deeper Modules
Data type:Optional: No
Call by Reference: Yes
NO_COMMIT_FREE_READ - Read Without COMMIT Not Possible, See I_COMMIT_ALLOWED
Data type:Optional: No
Call by Reference: Yes
ILLEGAL_INPUT_SFC - Error in SFC Parameter
Data type:Optional: No
Call by Reference: No ( called with pass by value option)
ILLEGAL_INPUT_SFK - Error in SFK Parameter
Data type:Optional: No
Call by Reference: No ( called with pass by value option)
ILLEGAL_INPUT_RANGE - Error in RANGE or RANGETAB Parameter
Data type:Optional: No
Call by Reference: No ( called with pass by value option)
ILLEGAL_INPUT_TABLESEL - Error in TABLESEL Parameter
Data type:Optional: No
Call by Reference: No ( called with pass by value option)
NO_AUTHORIZATION - No Authorization for Data Access
Data type:Optional: No
Call by Reference: No ( called with pass by value option)
ILLEGAL_DOWNLOAD - Download into the Specified Form Not Possible
Data type:Optional: No
Call by Reference: Yes
ILLEGAL_TABLENAME - Table Name Already In Use (by DDIC or on DB)
Data type:Optional: No
Call by Reference: Yes
TRANS_NO_WRITE_MODE - Transactional InfoCube Not in Write Mode
Data type:Optional: No
Call by Reference: Yes
Copy and paste ABAP code example for RSDRI_INFOPROV_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_e_t_data | TYPE STANDARD TABLE, " | |||
lv_i_infoprov | TYPE RSINFOPROV, " | |||
lv_c_first_call | TYPE RS_BOOL, " | |||
lv_illegal_input | TYPE RS_BOOL, " | |||
lv_inherited_error | TYPE RS_BOOL, " | |||
lv_i_save_in_table | TYPE RSDRI_SAVE_IN_TABLE, " SPACE | |||
lv_x_message | TYPE RSDRI_SAVE_IN_TABLE, " | |||
lv_i_tablename | TYPE RSDRI_TABLENAME, " | |||
lv_i_save_in_file | TYPE RSDRI_SAVE_IN_FILE, " SPACE | |||
lv_no_commit_free_read | TYPE RSDRI_SAVE_IN_FILE, " | |||
lv_i_filename | TYPE RSDRI_FILENAME, " | |||
lv_i_save_in_index | TYPE RSDRI_SAVE_IN_INDEX, " SPACE | |||
lv_i_index_id | TYPE TREXD_INDEX_ID, " | |||
lv_i_packagesize | TYPE I, " 1000 | |||
lv_i_maxrows | TYPE I, " 0 | |||
lv_i_authority_check | TYPE RSDRI_AUTHCHK, " RSDRC_C_AUTHCHK-READ | |||
lv_i_currency_conversion | TYPE RSDR0_CURR_CONV, " 'X' | |||
lv_i_th_sfc | TYPE RSDRI_TH_SFC, " | |||
lv_e_end_of_data | TYPE RS_BOOL, " | |||
lv_illegal_input_sfc | TYPE RS_BOOL, " | |||
lv_i_use_db_aggregation | TYPE RS_BOOL, " RS_C_TRUE | |||
lv_i_use_aggregates | TYPE RS_BOOL, " RS_C_TRUE | |||
lv_i_read_ods_delta | TYPE RSDRI_CHANGELOG_EXTRACTION, " RS_C_FALSE | |||
lv_i_caller | TYPE RSDRS_CALLER, " RSDRS_C_CALLER-RSDRI | |||
lv_i_debug | TYPE RS_BOOL, " RS_C_FALSE | |||
lv_i_clear | TYPE RS_BOOL, " RS_C_FALSE | |||
lv_i_commit_allowed | TYPE RS_BOOL, " RS_C_TRUE | |||
lv_i_with_nls | TYPE DBMAN_WITH_NEARLINE, " RS_C_FALSE | |||
lv_i_check_results | TYPE RS_BOOL, " RS_C_FALSE | |||
lv_i_process_mpro_in_trex | TYPE RSDRI_PROCESS_MPRO_IN_TREX, " | |||
lv_i_th_sfk | TYPE RSDRI_TH_SFK, " | |||
lv_e_aggregate | TYPE RSINFOCUBE, " | |||
lv_illegal_input_sfk | TYPE RSINFOCUBE, " | |||
lv_i_t_range | TYPE RSDRI_T_RANGE, " | |||
lv_e_split_occurred | TYPE RSDR0_SPLIT_OCCURRED, " | |||
lv_illegal_input_range | TYPE RSDR0_SPLIT_OCCURRED, " | |||
lv_e_t_msg | TYPE RS_T_MSG, " | |||
lv_i_th_tablesel | TYPE RSDRI_TH_SELT, " | |||
lv_illegal_input_tablesel | TYPE RSDRI_TH_SELT, " | |||
lv_e_stepuid | TYPE SYSUUID_25, " | |||
lv_i_t_rtime | TYPE RSDRI_T_RTIME, " | |||
lv_no_authorization | TYPE RSDRI_T_RTIME, " | |||
lv_illegal_download | TYPE RSDRI_T_RTIME, " | |||
lv_i_reference_date | TYPE RSDRI_REFDATE, " SY-DATUM | |||
lv_i_rollup_only | TYPE RS_BOOL, " RS_C_TRUE | |||
lv_illegal_tablename | TYPE RS_BOOL, " | |||
lv_i_t_requid | TYPE RSDR0_T_REQUID, " | |||
lv_trans_no_write_mode | TYPE RSDR0_T_REQUID. " |
  CALL FUNCTION 'RSDRI_INFOPROV_READ' "BW Data Manager: General Read Interfaces |
EXPORTING | ||
I_INFOPROV | = lv_i_infoprov | |
I_SAVE_IN_TABLE | = lv_i_save_in_table | |
I_TABLENAME | = lv_i_tablename | |
I_SAVE_IN_FILE | = lv_i_save_in_file | |
I_FILENAME | = lv_i_filename | |
I_SAVE_IN_INDEX | = lv_i_save_in_index | |
I_INDEX_ID | = lv_i_index_id | |
I_PACKAGESIZE | = lv_i_packagesize | |
I_MAXROWS | = lv_i_maxrows | |
I_AUTHORITY_CHECK | = lv_i_authority_check | |
I_CURRENCY_CONVERSION | = lv_i_currency_conversion | |
I_TH_SFC | = lv_i_th_sfc | |
I_USE_DB_AGGREGATION | = lv_i_use_db_aggregation | |
I_USE_AGGREGATES | = lv_i_use_aggregates | |
I_READ_ODS_DELTA | = lv_i_read_ods_delta | |
I_CALLER | = lv_i_caller | |
I_DEBUG | = lv_i_debug | |
I_CLEAR | = lv_i_clear | |
I_COMMIT_ALLOWED | = lv_i_commit_allowed | |
I_WITH_NLS | = lv_i_with_nls | |
I_CHECK_RESULTS | = lv_i_check_results | |
I_PROCESS_MPRO_IN_TREX | = lv_i_process_mpro_in_trex | |
I_TH_SFK | = lv_i_th_sfk | |
I_T_RANGE | = lv_i_t_range | |
I_TH_TABLESEL | = lv_i_th_tablesel | |
I_T_RTIME | = lv_i_t_rtime | |
I_REFERENCE_DATE | = lv_i_reference_date | |
I_ROLLUP_ONLY | = lv_i_rollup_only | |
I_T_REQUID | = lv_i_t_requid | |
IMPORTING | ||
E_T_DATA | = lv_e_t_data | |
E_END_OF_DATA | = lv_e_end_of_data | |
E_AGGREGATE | = lv_e_aggregate | |
E_SPLIT_OCCURRED | = lv_e_split_occurred | |
E_T_MSG | = lv_e_t_msg | |
E_STEPUID | = lv_e_stepuid | |
CHANGING | ||
C_FIRST_CALL | = lv_c_first_call | |
EXCEPTIONS | ||
ILLEGAL_INPUT = 1 | ||
INHERITED_ERROR = 10 | ||
X_MESSAGE = 11 | ||
NO_COMMIT_FREE_READ = 12 | ||
ILLEGAL_INPUT_SFC = 2 | ||
ILLEGAL_INPUT_SFK = 3 | ||
ILLEGAL_INPUT_RANGE = 4 | ||
ILLEGAL_INPUT_TABLESEL = 5 | ||
NO_AUTHORIZATION = 6 | ||
ILLEGAL_DOWNLOAD = 7 | ||
ILLEGAL_TABLENAME = 8 | ||
TRANS_NO_WRITE_MODE = 9 | ||
. " RSDRI_INFOPROV_READ |
ABAP code using 7.40 inline data declarations to call FM RSDRI_INFOPROV_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.DATA(ld_i_save_in_table) | = ' '. | |||
DATA(ld_i_save_in_file) | = ' '. | |||
DATA(ld_i_save_in_index) | = ' '. | |||
DATA(ld_i_packagesize) | = 1000. | |||
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_read_ods_delta) | = RS_C_FALSE. | |||
DATA(ld_i_caller) | = RSDRS_C_CALLER-RSDRI. | |||
DATA(ld_i_debug) | = RS_C_FALSE. | |||
DATA(ld_i_clear) | = RS_C_FALSE. | |||
DATA(ld_i_commit_allowed) | = RS_C_TRUE. | |||
DATA(ld_i_with_nls) | = RS_C_FALSE. | |||
DATA(ld_i_check_results) | = RS_C_FALSE. | |||
DATA(ld_i_reference_date) | = SY-DATUM. | |||
DATA(ld_i_rollup_only) | = RS_C_TRUE. | |||
Search for further information about these or an SAP related objects