It is a type of infoprovider that follows extended star schema. It is used to display real time data. It is just a transient structure
Conditions to be satisfied for Virtual provider:
- For getting the data into Virtual provider we use a special DTP called as Direct access DTP.
- The data source is also a direct access data source.
To load data into virtual provider we use three techniques
- By direct access
- Using BADI/BAPI
- Function module
Virtual provider flow diagram:
- If you want to use a start routine or expert routine in the virtual cube you have to include the following code in the inverse routine.
c_th_fields_inbound = i_th_fields_outbound.
c_r_selset_inbound = i_r_selset_outbound.
c_exact = rs_c_true.
- We use this code because when a report is executed or refreshed on the top of the virtual provider uses the direct access DTP to go to the source system and extract the data in simple terms the query triggers the virtual provider unless and until the query is executed or refreshed the data is not fetched as there is no data present in the virtual provider.
- We can use a virtual provider in the following scenarios
1) When you have less amount of data either from R3 or BI or non-sap
2) When you have less number of concurrent users working on the Report (Bex Query).
3) When you have transaction data.
4) When you need only Read Access Data.
- A Real time scenario where Virtual providers are exclusively used:
Take a scenario where we have the status of process chains is stored in a database table for action happened in the process chain:
Different status of the process chain:
- Start: Represents starting of a process chain.
- In Process: Represents that the process chain is running.
- Process chain has ended
And a query is built on the top of the virtual provider where its source is BI system based on tables where the entries or status of the process chains are stored. When you execute a report or query the virtual provider directly brings the data from the table used to store the entries which will have the updated data.
How to check whether the datasource supports direct access or not?
There are many ways to find out this one best standard way is :
Got to the transaction Rsa2 and enter your data source name and click display
In the next screen go to the extraction tab, here in the below screen we can find Direct access option which says 1 means it supports direct access.
Once the virtual provider is created and the data is ready to be loaded you need to give the option
‘ Activate Direct Access ’.
Once this is done save your DTP and display your data.