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: RSINFOPROV
Optional: No
Call by Reference: Yes

I_SAVE_IN_TABLE - Save Result in DB Table?

Data type: RSDRI_SAVE_IN_TABLE
Default: SPACE
Optional: Yes
Call by Reference: No ( called with pass by value option)

I_TABLENAME - Name of the Results Table

Data type: RSDRI_TABLENAME
Optional: Yes
Call by Reference: No ( called with pass by value option)

I_SAVE_IN_FILE - Save Result in File?

Data type: RSDRI_SAVE_IN_FILE
Default: SPACE
Optional: Yes
Call by Reference: No ( called with pass by value option)

I_FILENAME - Name of Results File

Data type: RSDRI_FILENAME
Optional: 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_INDEX
Default: 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_ID
Optional: Yes
Call by Reference: No ( called with pass by value option)

I_PACKAGESIZE - Size of Returned Data Package

Data type: I
Default: 1000
Optional: Yes
Call by Reference: No ( called with pass by value option)

I_MAXROWS - Stops After This Number of Records

Data type: I
Optional: 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_AUTHCHK
Default: 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_CONV
Default: '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_SFC
Optional: No
Call by Reference: Yes

I_USE_DB_AGGREGATION - Aggregate Run on DB

Data type: RS_BOOL
Default: 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_BOOL
Default: 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_EXTRACTION
Default: 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_CALLER
Default: 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_BOOL
Default: RS_C_FALSE
Optional: Yes
Call by Reference: No ( called with pass by value option)

I_CLEAR - Delete Static References

Data type: RS_BOOL
Default: 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_BOOL
Default: 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_NEARLINE
Default: RS_C_FALSE
Optional: Yes
Call by Reference: No ( called with pass by value option)

I_CHECK_RESULTS - Internal Use Only

Data type: RS_BOOL
Default: 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_TREX
Optional: 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_SFK
Optional: No
Call by Reference: Yes

I_T_RANGE - Selection Conditions Connected with AND

Data type: RSDRI_T_RANGE
Optional: Yes
Call by Reference: Yes

I_TH_TABLESEL - List of Table Selections

Data type: RSDRI_TH_SELT
Optional: Yes
Call by Reference: Yes

I_T_RTIME - BW Data Manager: Table of Intervals for Non-Cumulatives

Data type: RSDRI_T_RTIME
Optional: Yes
Call by Reference: Yes

I_REFERENCE_DATE - Key Date

Data type: RSDRI_REFDATE
Default: 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_BOOL
Default: 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_REQUID
Optional: Yes
Call by Reference: Yes

EXPORTING Parameters details for RSDRI_INFOPROV_READ

E_T_DATA - Internal Table with Query Result

Data type: STANDARD TABLE
Optional: No
Call by Reference: Yes

E_END_OF_DATA - Last Data Package Yes/No

Data type: RS_BOOL
Optional: No
Call by Reference: No ( called with pass by value option)

E_AGGREGATE - Last Aggregate Used

Data type: RSINFOCUBE
Optional: No
Call by Reference: No ( called with pass by value option)

E_SPLIT_OCCURRED - Result may not be completely aggregated

Data type: RSDR0_SPLIT_OCCURRED
Optional: No
Call by Reference: No ( called with pass by value option)

E_T_MSG - BW: Table with Messages (Application Log)

Data type: RS_T_MSG
Optional: No
Call by Reference: Yes

E_STEPUID - UUID of the step in the query statistics

Data type: SYSUUID_25
Optional: No
Call by Reference: Yes

CHANGING Parameters details for RSDRI_INFOPROV_READ

C_FIRST_CALL - First Call Yes/No

Data type: RS_BOOL
Optional: 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



Comments on this SAP object

What made you want to lookup this SAP object? Please tell us what you were looking for and anything you would like to be included on this page!