Page tree
Skip to end of metadata
Go to start of metadata

As per note 1931326 an RSDRI debug program was created.

The RSDRI debug program is basically an ABAP program that contains declarations for the parameter the 'Data Federator facade' (the function RSDRI_INFOPROV_READ_DF) was called with by the frontend.

In transaction SE38 you will easily find the program with the debugReportPrefix number and the prefix Z_RSDRI* (or with Z_RSDRI_INFOPROV_READ_DEBUG).

 

Sample analysis for following DF query:

In SE38 we are searching for the activated debugReportPrefix '123' and the general Z_RSDRI*:

Reading the generated code of the debug program

Analysing the program for the second execution and 'DISPLAY' program: Z_RSDRI_DF_DBG_123_5.

 

In the first 'Comment' it can be verified with date/time and user if this is the intended program:

************************************************
*** RSDRI_INFOPROV_READ_DF_DEBUG
***
*** THIS REPORT HAS BEEN CREATED FOR DEBUGGING PURPOSES.
*** DO NOT CHANGE IT!
***
*** DATE : 20150115 / 150930
*** USER : ABC

 ************************************************

SFC - Fields for output

The next section will declare all dimensions/characteristics requested, in the variable chanm the respective technical names can be seen.

In the following sample, the dimensions 0PRODUCT, 0CURRENCY, 0UNIT, 0CALDAY, 0CALMONTH, 0CALYEAR,  0FISCPER, 0FISCVARNT, 0CUSTOMER, 0SOLD_TO, 0COUNTRY, 0REGION are requested:

*****************************************************
* INTERNAL TABLE 'SFC'
*****************************************************

* CONTENTS OF L_T_SFC

  CLEAR L_S_SFC .
L_S_SFC-CHANM '0PRODUCT'.
L_S_SFC-CHAALIAS 'C_0'.
L_S_SFC-ORDERBY 0.
APPEND L_S_SFC TO L_T_SFC .
CLEAR L_S_SFC .
L_S_SFC-CHANM '0CURRENCY'.
L_S_SFC-CHAALIAS 'C_1'.
L_S_SFC-ORDERBY 0.
APPEND L_S_SFC TO L_T_SFC .
CLEAR L_S_SFC .
L_S_SFC-CHANM '0UNIT'.
L_S_SFC-CHAALIAS 'C_2'.
L_S_SFC-ORDERBY 0.
APPEND L_S_SFC TO L_T_SFC .
CLEAR L_S_SFC .
L_S_SFC-CHANM '0CALDAY'.
L_S_SFC-CHAALIAS 'C_3'.
L_S_SFC-ORDERBY 0.
APPEND L_S_SFC TO L_T_SFC .
CLEAR L_S_SFC .
L_S_SFC-CHANM '0CALMONTH'.
L_S_SFC-CHAALIAS 'C_4'.
L_S_SFC-ORDERBY 0.
APPEND L_S_SFC TO L_T_SFC .
CLEAR L_S_SFC .
L_S_SFC-CHANM '0CALYEAR'.
L_S_SFC-CHAALIAS 'C_5'.
L_S_SFC-ORDERBY 0.
APPEND L_S_SFC TO L_T_SFC .
CLEAR L_S_SFC .
L_S_SFC-CHANM '0FISCPER'.
L_S_SFC-CHAALIAS 'C_6'.
L_S_SFC-ORDERBY 0.
APPEND L_S_SFC TO L_T_SFC .
CLEAR L_S_SFC .
L_S_SFC-CHANM '0FISCYEAR'.
L_S_SFC-CHAALIAS 'C_7'.
L_S_SFC-ORDERBY 0.
APPEND L_S_SFC TO L_T_SFC .
CLEAR L_S_SFC .
L_S_SFC-CHANM '0FISCVARNT'.
L_S_SFC-CHAALIAS 'C_8'.
L_S_SFC-ORDERBY 0.
APPEND L_S_SFC TO L_T_SFC .
CLEAR L_S_SFC .
L_S_SFC-CHANM '0CUSTOMER'.
L_S_SFC-CHAALIAS 'C_9'.
L_S_SFC-ORDERBY 0.
APPEND L_S_SFC TO L_T_SFC .
CLEAR L_S_SFC .
L_S_SFC-CHANM '0SOLD_TO'.
L_S_SFC-CHAALIAS 'C_10'.
L_S_SFC-ORDERBY 0.
APPEND L_S_SFC TO L_T_SFC .
CLEAR L_S_SFC .
L_S_SFC-CHANM '0COUNTRY'.
L_S_SFC-CHAALIAS 'C_11'.
L_S_SFC-ORDERBY 0.
APPEND L_S_SFC TO L_T_SFC .
CLEAR L_S_SFC .
L_S_SFC-CHANM '0REGION'.
L_S_SFC-CHAALIAS 'C_12'.
L_S_SFC-ORDERBY 0.
APPEND L_S_SFC TO L_T_SFC .
 

 

SFK - Key figures 

The next section will declare the key figures used, in this example: 0AMOUNT and 0QUANTITY.

*****************************************************
* INTERNAL TABLE 'SFK'
*****************************************************

* CONTENTS OF L_T_SFK
CLEAR L_S_SFK .
L_S_SFK-KYFNM '0AMOUNT'.
L_S_SFK-KYFALIAS 'K_0'.
L_S_SFK-AGGR ' '.
APPEND L_S_SFK TO L_T_SFK .
CLEAR L_S_SFK .
L_S_SFK-KYFNM '0QUANTITY'.
L_S_SFK-KYFALIAS 'K_1'.
L_S_SFK-AGGR ' '.
APPEND L_S_SFK TO L_T_SFK .

RANGE - Selections/Restrictions

The next section will declare the selections, this example 0PRODUCT was restricted to 'BANANAS'.

  *****************************************************
* INTERNAL TABLE 'RANGE'
*****************************************************

* CONTENTS OF L_T_RANGE
CLEAR L_S_RANGE .
L_S_RANGE-CHANM '0PRODUCT'.
L_S_RANGE-SIGN 'I'.
L_S_RANGE-COMPOP 'EQ'.
L_S_RANGE-LOW 'BANANAS'.
L_S_RANGE-HIGH ''.
APPEND L_S_RANGE TO L_T_RANGE .

 

Call of the RSDRI_DF facade

Afterwards, the call of the function RSDRI_INFOPROV_READ_DF is called and here the parameters the function was called with are used. Most of these parameters are already documented in the RSDRI Wiki page.

 

CALL FUNCTION 'RSDRI_INFOPROV_READ_DF'
  EXPORTING
I_S_RFCMODE = L_S_RFCMODE
I_TABLE_NAME = 'INRSALE'    
I_REFERENCE_DATE = '20150115'  
I_AUTHORITY_CHECK = 'R' -->
I_USE_AGGREGATES = 
I_ROLLUP_ONLY = 'X' --> ROLLUP_ONLY
I_CURRENCY_CONVERSION = 'X'
I_USE_DB_AGGREGATION = ''
I_DESTINATION = 'DF_JCO_XXXXXXXX_0'
I_USE_BXDATA = 'X'
I_AUTHORITY_FILTER = ''
I_MAXROWS =  0
IMPORTING
E_AGGREGATE      = L_AGGREGATE
E_SPLIT_OCCURRED = L_SPLIT
E_ERROR          = L_ERROR
E_BXDATA         = L_BXDATA
TABLES
I_T_SFC      = L_T_SFC
I_T_SFK      = L_T_SFK
I_T_RANGE    = L_T_RANGE
I_T_TABLESEL = L_T_TABLESEL
E_T_MSG      = L_T_MSG
E_T_DATA     = L_T_DATA
E_T_FIELD    = L_T_FIELD.

 

Simulating the debug program

In SE38 press 'Execute - F8' for the Z_RSDRI report. Subsequently a pop up with debug options known from  transactions RSRT or LISTCUBE (please see note 1591837  point [IV] and 2055174) is coming up. The different analysis options can be used to d

After selecting analysis option and pressing ok, the system will stop in a predefined breakpoint of the report:

Now, at runtime the content of the different structures (sfc, sfk or range) can be displayed to see what is requested.