Selecting data from an Infocube using the FM RSDRI_INFOCUBE_READ
Selecting data from an Infocube using the FM RSDRI_INFOCUBE_READ
Applies to:
SAP Business Intelligence 7.0. For more information, visit the Business Intelligence homepage.
Summary
This document describes how-to use the FM RSDRI_INFOCUBE_READ to select data from any Infocube.
Author(s): Carlos Basto
Company: Accenture
Created on: 22 November 2011
Author Bio
Carlos Basto is a Senior Programmer at Accenture. He has been involved in SAP BW Consulting and Support Projects. |
Table of Contents
- 1. Scenario. 3
- 2. Function Module Parameters. 3
- 3. SAP RSDRI_INFOPROV_READ_DEMO.. 3
- 5. Additional Uses. 7
- 6. Related Content 8
Disclaimer and Liability Notice. 9
1. Scenario
Lookup data from an Infocube is needed to support a business rules in the actual environment. This task will be performed by using the FM RSDRI_INFOPROV_READ.
2. Function Module Parameters
First of all, it’s important to understand what parameters this FM has and how to use them.
Parameter Name | What they do? | |
I_INFOPROV | Technical Name of InfoProvider | |
I_TH_SFC | Characteristics That Are to Be Returned | |
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 | Key Date | |
I_ROLLUP_ONLY | Cubes: Read Data Only to Rollup? Is Cropped with I_T_REQUID | |
I_T_REQUID | Optional Selection of Relevant Requests | |
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_PACKAGESIZE | Size of Returned Data Package | |
I_MAXROWS | Stops After This Number of Records | |
I_AUTHORITY_CHECK | Should Access Check Be Executed Read/Write/None | |
I_CURRENCY_CONVERSION | Convert Currency Key Figures | |
I_USE_DB_AGGREGATION | Aggregate Run on DB | |
I_USE_AGGREGATES | (Only InfoCubes): Use Aggregate Yes/No | |
I_READ_ODS_DELTA | (Only ODS Objects): Should Data Be Read from the ODS Change Log? | |
I_CALLER | ID of User who Called up Transaction | |
I_DEBUG | Debugging Mode On/Off | |
I_CLEAR | Clear Static References |
3. SAP RSDRI_INFOPROV_READ_DEMO
More information about using this FM can be found at t-code SE38 with the report RSDRI_INFOPROV_READ_DEMO.
All parts of this FM is explained completely in this report program.
Some global parameters are available for implementing this FM easily.
G_S_DATA = It’s a working area to hold one record as returned by a query one the infocube; the structure /BI*/V2 has a column for every characteristic, navigational attribute and key figure of the related infocube. Please note that the query might only fill a few of those columns that have been requested within the query.
G_T_DATA = an internal table that can hold the result set.
G_S_SFC = description of a characteristic or navigational attribute that is requested by a query.
G_S_SFK = description of a key figure that is requested by a query.
G_S_RANGE = description of a restriction on a characteristic or navigational attribute..
4. Code Example
TYPE–POOLS: rs, rsdrc.
TYPES:
BEGIN OF gt_s_data,
“Characteristics
plant(4) TYPE c,
material(18) TYPE c,
base_uom(3) TYPE c,
batch(10) TYPE c,
calday(8) TYPE c,
“Key figures
rectotstck TYPE f,
isstotstck TYPE f,
END OF gt_s_data.
DATA:
g_s_data TYPE gt_s_data,
g_t_data TYPE STANDARD TABLE OF gt_s_data
WITH DEFAULT KEY INITIAL SIZE 10000,
g_s_sfc TYPE rsdri_s_sfc,
g_th_sfc TYPE rsdri_th_sfc,
g_s_sfk TYPE rsdri_s_sfk,
g_th_sfk TYPE rsdri_th_sfk,
g_s_range TYPE rsdri_s_range,
g_t_range TYPE rsdri_t_range.
CLEAR g_s_sfc.
g_s_sfc–chanm = ‘0PLANT’.
g_s_sfc–chaalias = ‘PLANT’.
g_s_sfc–orderby = 0.
INSERT g_s_sfc INTO TABLE g_th_sfc.
CLEAR g_s_sfc.
g_s_sfc–chanm = ‘0MATERIAL’.
g_s_sfc–chaalias = ‘MATERIAL’.
g_s_sfc–orderby = 0.
INSERT g_s_sfc INTO TABLE g_th_sfc.
CLEAR g_s_sfc.
g_s_sfc–chanm = ‘0BATCH’.
g_s_sfc–chaalias = ‘BATCH’.
g_s_sfc–orderby = 0.
INSERT g_s_sfc INTO TABLE g_th_sfc.
CLEAR g_s_sfc.
g_s_sfc–chanm = ‘0BASE_UOM’.
g_s_sfc–chaalias = ‘BASE_UOM’.
g_s_sfc–orderby = 0.
INSERT g_s_sfc INTO TABLE g_th_sfc.
CLEAR g_s_sfc.
g_s_sfc–chanm = ‘0CALDAY’.
g_s_sfc–chaalias = ‘CALDAY’.
g_s_sfc–orderby = 0.
INSERT g_s_sfc INTO TABLE g_th_sfc.
* For the following key figures should be returned:
CLEAR g_s_sfk.
g_s_sfk–kyfnm = ‘0RECTOTSTCK’.
g_s_sfk–kyfalias = ‘RECTOTSTCK’.
g_s_sfk–aggr = ‘SUM’.
INSERT g_s_sfk INTO TABLE g_th_sfk.
CLEAR g_s_sfk.
g_s_sfk–kyfnm = ‘0ISSTOTSTCK’.
g_s_sfk–kyfalias = ‘ISSTOTSTCK’.
g_s_sfk–aggr = ‘SUM’.
INSERT g_s_sfk INTO TABLE g_th_sfk.
* clear G_T_RANGE.
“This range is the where condition in the selection. Use this to choose what fields “values must the selection comprises.
* Where condition
<span