Delivered with BI Content are Queries which allows the user to choose the cubes from which the data is to be reported.
Constituent Cubes
0FIGL_C20 contains GL balances which have been copied/replicated to BW through the standard ETL.
0FIGL_R20 is a Virtual Provider which accesses the data through DataSources in a SAP ECC system and uses transformation like a Basis Cube. Other types of Virtual Providers use BAPIs or Function Modules to directly access source data.
In addition to the above cubes, the multiprovider also includes an InfoObject 0ACCESSTP. The purpose of the existence of this InfoObject in the MultiProvider is to provide the ability to select between the above two sources.
Fig 2 MultiProvider
Variables in the Queries
The delivered queries 0FIGL_M20_Q0001 uses the InfoObject 0ACCESSTP as a Characteristic Restriction to allow the user to select between the two cubes. The options are
# System Proposal
C Access to Replicated Data
R Direct Access to Operative Data
The selected value is then used to populate the variable 0P_INFOPROV_SREP with the technical name of the source InfoProvider. The InfoObject 0INFOPROV, for which 0P_INFOPROV_SREP is a variable, is automatically included when a MultiProvider is constructed. When used as a characteristic restriction, this enables the Query to only execute one part of the subquery, ie either the Basis Cube or the Virtual Cube. This allows the MultiProvider query to run more efficiently.
The logic to populate the variable 0P_INFOPROV_SREP is in the ABAP function (SAP exit) RSVAREXIT_0P_INFOPROV_SREP. The logic goes something like this :
if accesstype = C
infoprovider = 0FIGL_C20
else
infoprovider = 0FIGL_R20
Fig 3 Dataflow