SAP BW - Virtual InfoProvider

Virtual InfoProvider is known as InfoProviders that contains transactional data which is not stored in the object and can be read directly for analysis and reporting purposes. In Virtual Provider, it allows read only read access to the data.

The data in Virtual Providers can be from BI system or it can be from any SAP/non-SAP system.


  • Virtual InfoProviders are used to provide information without any time lag and without storing the data physically.

  • Virtual InfoProviders are structures that contains no PSA and they can handle the reporting requirement as per demand in BI system.

Virtual Providers should only be used in the following scenarios −

  • When there is a need to access only a small amount of data from the source.

  • Information will be requested by only a few users simultaneously.

  • There is a need of up-to-date information.

Types of Virtual Providers

As mentioned above, there is a need to find out when a Virtual InfoProvider should be used. You also have to find the correct type of the Virtual Provider −

  • VirtualProvider Based on the Data Transfer Process

  • VirtualProvider with BAPI

  • VirtualProvider with Function Modules

VirtualProvider Based on Data Transfer Process

Virtual Providers based on this method are easiest and the most transparent way to build this type of InfoProvider. In this case, a virtual provider can be based on a DataSource for direct access or on another InfoProvider.

Either the BEx query is executed or you navigate inside the query. But, a request is sent through the virtual provider to its source and the needed data is returned back. For the performance optimization, it is necessary to restrict the data, so that a reporting request shouldn’t process unnecessary data from the source system.

A VirtualProvider based on this InfoProvider should be used −

  • When there is a need to access only a small amount of data from the source.

  • Information will be requested by only a few users simultaneously.

  • There is a need of up-to-date information.

This type of a Virtual InfoProvider shouldn’t be used in the following scenarios −

  • A large amount of data is accessed in the first query navigation step, and no appropriate aggregates are available in the source system.

  • There are multiple users who execute queries at the same time at parallel.

  • When the same data is accessed frequently.


VirtualProvider with BAPI

In this Virtual Provider, you can use the transactional data for analysis and reporting purpose from external system using BAPI. When using a VirtualProvider with BAPI, you can perform reporting on external system without storing the transactional data in the BI system.

A query is executed on VirtualProvider that triggers a data request with characteristic selections. The source structure is dynamic and is determined by the selections. The non-SAP system transfers the requested data to the OLAP processor using the BAPI.

When this VirtualProvider is used for reporting, it initiates a request to call BAPI that collects the data and then it is passed to a BW OLAP engine.

Virtual Provider Based on Functional Module

This is the most complex type of a VirtualProvider but at the same time it is also more flexible using which you can add data from the source and also can apply complex calculations or any changes before it is pushed to the OLAP engine.

You have a number of options for defining the properties of the data source more precisely. According to these properties, the data manager provides various function module interfaces for converting the parameters and data. These interfaces have to be implemented outside the BI system.


  • This Virtual Provider is used where you need to display data from a non BI data source in BI without copying dataset in BI structure. The data can be local or remote.

  • This is used in SAP applications like SAP Strategic Enterprise Management SEM application.

  • If you compare this VirtualProvider with other types, this VirtualProvider is more flexible, more generic but you have to put lot of effort for implementation.

Using InfoObjects as Virtual Providers

In this you allow a direct access to the source system for an InfoObject type of a characteristic that you have selected for use as an InfoProvider. So there is no need to load the master data, however direct access can have negative impact on query performance.

How to setup InfoObjects as Virtual Providers?

Go to InfoObjects Maintenance page. On the tab page Master data/texts, assign an InfoArea to a characteristic and select direct as type of master data access.

Next is to go the modeling tab, select the InfoProvider tree. Navigate to InfoArea that you want to use → Create Transformation as mentioned in the Transformation topic.

Setup InfoObjects

Define Transformation rules and activate. In the context menu, click Create Data Transfer Process (DTP for direct access is default value) → Select the source and activate the transfer process.