Show TOC

Creating VirtualProviders with Function ModulesLocate this document in the navigation structure

Use

This VirtualProvider reads the data for analysis and reporting purposes from a user-defined function module. Data from non-BW data sources can be displayed in BW without copying the data into the BW structures. The data can be local or remote. You can also use your own calculations to change the data before it is passed to the OLAP processor.

This VirtualProvider is used primarily in the SAP Strategic Enterprise Management (SEM) application.

In comparison to other VirtualProviders, this VirtualProvider is more generic. It offers more flexibility, but also requires a higher implementation effort.

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 BW system.

Procedure
  1. Select the VirtualProvider type Based on Function Module. The dialog box displays a further pushbutton Detail that can be used to open an additional dialog box in which you can specify the services.

  2. Enter the name of a function module that you want to use as the data source for the VirtualProvider. There are different default variants for the interface of this function module. One method for defining the correct variant, together with the description of the interfaces, is given at the end of this documentation.

  3. You can choose options to support the selection conditions. You do this by selecting the Convert Restrictions option. These conversions only change the transfer table in the user-defined function module. The conversions do not change the result of the query because the restrictions that the function module does not process are checked later in the OLAP processor.

    Options:

    • No support: If this option is selected, no restrictions are passed to the function module.

    • Global selection conditions only: If this option is selected, only global restrictions (FEMS = 0) are passed to the function module. Other restrictions (FEMS > 0) that are created, for example, by setting restrictions on columns in queries, are deleted.

    • Hierarchies: If this option is switched on, the relevant InfoProvider supports hierarchy restrictions. This is only possible if the InfoProvider also supports SIDs.

    • Do not transform selection conditions: If this option is switched on, all selection conditions are passed to the function module, without being converted first.

  4. Pack RFC: This option packs the parameter tables in BAPI format before the function module is called and unpacks the data table that is returned by the function module after the call is performed. Since this option is only useful with a remote function call, you have to define a logical system that is used to determine the target system for the remote function call, if you select this option.

  5. SID support: If the data source of the function module can process SIDs, you should select this option. If this is not possible, the characteristic values are read from the data source and the data manager determines the SIDs dynamically. In this case, wherever possible, restrictions that are applied to SID values are converted automatically into the corresponding restrictions for the characteristic values.

  6. With navigation attributes: If this option is selected, navigation attributes and restrictions applied to navigation attributes are passed to the function module. If this option is not selected, the navigation attributes are read in the data manager once the user-defined function module has been executed. In this case, in the query, you need to have selected the characteristics that correspond to these attributes. Restrictions applied to the navigation attributes are not passed to the function module in this case.

  7. Internal format (key figures): In SAP systems a separate format is often used to display currency key figures. The value in the internal format is different from the correct value in that the decimal places are shifted. You use the currency tables to determine the correct value for this internal representation. If this option is selected, the OLAP processor incorporates this conversion into the calculation.

  8. Data quality settings

    • Data is delivered immediately: If you do not select the Pack RFC option, the function module interface contains parameter i_th_sfc with a numeric column ORDERBY or SORT. If this figure is not initial, it indicates the required sorting sequence of the field in the result. Choose the Sorted data is delivered option if the VirtualProvider returns the data in the specified sequence.

    • "Exact" data is delivered: Choose the "Exact" data is delivered option, if the VirtualProvider always exactly observes all filters specified on the interface. In some cases, the VirtualProvider omits filters and returns a superset of the requested data.

More information: Description of the Interfaces