An object that can function as both a data target and an InfoProvider.
From a reporting point of view, an InfoCube describes a self-contained dataset, for example, of a business-orientated area. This dataset can be evaluated in a BEx query.
An InfoCube is a quantity of relational tables arranged according to the star schema: A large fact table in the middle surrounded by several dimension tables.
InfoCubes are supplied with data from one or more InfoSources or ODS objects (Basic InfoCube) or with data from a different system (RemoteCube, SAP RemoteCube, virtual InfoCube with Services, transactional InfoCube).
There are various types of InfoCube:
1. Physical data stores:
2. Virtual data stores:
Virtual InfoCube with Services
Only Basic InfoCubes and transactional InfoCubes physically contain data in the database. Virtual InfoCubes are only logical views of a dataset. By definition, they are not data targets. However, the InfoCube type is of no importance from the reporting perspective, since an InfoCube is accessed as an InfoProvider.
You can access the characteristics and key figures defined for an InfoCube in the Query Definition in the BEx Web or in the BEx Analyzer.
A Basic InfoCube is a type of InfoCube that physically stores data. It is filled with data using BW Staging. Afterwards, it can be used as an InfoProvider in BEx Reporting.
As with other InfoCube types, the structure of a Basic InfoCube corresponds to the Star Schema.
For more information, see InfoCube
The Basic InfoCube is filled using the Scheduler, providing that Update Rules have been maintained.
It is then made available to Reporting as an InfoProvider. It can also be updated into additional data targets or build a MultiProvider together with other data targets.
Transactional InfoCubes differ from Basic InfoCubes in their ability to support parallel write accesses. Basic InfoCubes are technically optimized for read accesses to the detriment of write accesses.
Transactional InfoCubes are used in connection with the entry of planning data. See also Overview of Planning with BW-BPS. The data from this kind of InfoCube is accessed transactionally, meaning data is written to the InfoCube (possibly by several users at the same time). Basic InfoCubes are not suitable for this. You should use Basic InfoCubes for read-only access (for example, when reading reference data).
Transactional InfoCubes can be filled with data using two different methods: Using the transaction of BW-BPS to enter planning data and using BW staging, whereas planning data then cannot be loaded simultaneously. You have the option to convert a transactional Info Cube Select Convert Transactional InfoCube using the context menu in your transactional InfoCube in the InfoProvider tree. By default, Transaction Cube Can Be Planned, Data Loading Not Permitted is selected. Switch this setting to Transactional Cube Can Be Loaded With Data; Planning Not Permitted if you want to fill the cube with data via BW Staging.
During entry of planning data, the data is written to a transactional InfoCube data request. As soon as the number of records in a data request exceeds a threshold value, the request is closed and a rollup is carried out for this request in defined aggregates (asynchronously). You can still rollup and define aggregates, collapse, and so on, as before.
According to the database on which they are based, transactional InfoCubes differ from Basic InfoCubes in the way they are indexed and partitioned. For an Oracle DBMS this means, for example, no bitmap index for the fact table and no partitioning (initiated by SAP BW) of the fact table according to the package dimensions.
Reduced read-only performance is accepted as a drawback of transactional InfoCubes, in the face of the parallel (transactional) writing option and improved write performance.
Creating a transactional InfoCube
Select the Transactional indicator when creating a new (Basis) InfoCube in the Administrator Workbench.
Converting a basic InfoCube into a transactional InfoCube
InfoCube conversion: Removing transaction data
If the Basic InfoCube already contains transaction data that you no longer need (for example, test data from the implementation phase of the system), proceed as follows:
1. In the InfoCube maintenance in the Administrator Workbench choose, from the main menu, InfoCube ® Delete Data Content. The transaction data is deleted and the InfoCube is set to "inactive".
2. Continue with the same procedure as with creating a transactional InfoCube.
InfoCube conversion: retaining transaction data
If the Basic InfoCube already contains transaction data from the production operation you still need, proceed as follows:
Execute the SAP_CONVERT_TO_TRANSACTIONAL ABAP report under the name of the corresponding InfoCube. You should schedule this report as a background job for InfoCubes with more than 10,000 data records. This is to avoid a potentially long run-time.
The following typical scenarios arise for the use of transactional InfoCubes in BW-BPS.
Actual data (read-only access) and planned data (read-only and write access) have to be held in different InfoCubes. Therefore, use a Basic InfoCube for actual data and a transactional InfoCube for planned data. Data integration is achieved using a multi-planning area that contains the areas that are assigned to the InfoCubes. Access to the two different InfoCubes is controlled here by the characteristic "Planning area", which is added automatically.
In this scenario, the planned and actual data have to be together in one InfoCube. This is the case, for example, with special rolling forecast variants. Here you have to use a transactional InfoCube, since both read-only and write accesses take place. You can no longer load data directly that has already arrived in the InfoCube by means of an upload or import source. To be able to load data nevertheless, you have to make a copy of the transactional InfoCube that is identified as a Basic InfoCube and not as transactional. Data is loaded as usual here and subsequently updated to the transactional InfoCube.
A RemoteCube is an InfoCube whose transaction data is not managed in the Business Information Warehouse but externally. Only the structure of the RemoteCube is defined in BW. The data is read for reporting using a BAPI from another system.
Using a RemoteCube, you can carry out reporting using data in external systems without having to physically store transaction data in BW. You can, for example, include an external system from market data providers using a RemoteCube.
By doing this, you can reduce the administrative work on the BW side and also save memory space.
When reporting using a RemoteCube, the Data Manager, instead of using a BasicCube filled with data, calls the RemoteCube BAPI and transfers the parameters.
As a result, the external system transfers the requested data to the OLAP Processor.
To report using a RemoteCube you have to carry out the following steps:
1. In BW, create a source system for the external system that you want to use.
2. Define the required InfoObjects.
3. Load the master data:
Create a master data InfoSource for each characteristic
Load texts and attributes
4. Define the RemoteCube
5. Define the queries based on the RemoteCube
An SAP RemoteCube is a RemoteCube that allows the definition of queries with direct access to transaction data in other SAP systems.
Use SAP RemoteCubes if:
You need very up-to-date data from an SAP source system
You only access a small amount of data from time to time
Only a few users execute queries simultaneously on the database.
Do not use SAP RemoteCubes if:
You request a large amount of data in the first query navigation step, and no appropriate aggregates are available in the source system
A lot of users execute queries simultaneously
You frequently access the same data
SAP RemoteCubes are defined based on an InfoSource with flexible updating. They copy the characteristics and key figures of the InfoSource. Master data and hierarchies are not read directly in the source system. They are already replicated in BW when you execute a query.
The transaction data is called during execution of a query in the source system. During this process, the selections are provided to the InfoObjects if the transformation is only simple mapping of the InfoObject. If you have specified a constant in the transfer rules, the data is transferred only if this constant can be fulfilled. With more complex transformations such as routines or formulas, the selections cannot be transferred. It takes longer to read the data in the source system because the amount of data is not limited. To prevent this you can create an inversion routine for every transfer routine. Inversion is not possible with formulas, which is why SAP recommends that you use formulas instead of routines.
To be assigned to an SAP RemoteCube, a source system must meet the following requirements:
BW Service API functions (contained in the SAP R/3 plug-in) are installed.
The Release status of the source system is at least 4.0B
In BW, a source system ID has been created for the source system
DataSources from the source system that are released for direct access are assigned to the InfoSource of the SAP RemoteCube. There are active transfer rules for these combinations.
Virtual InfoCubes with Services
A virtual InfoCube with services is an InfoCube that does not physically store its own data in BW. The data source is a user-defined function module. You have a number of options for defining the properties of the data source more precisely. Depending on these properties, the data manager provides services to convert the parameters and data.
You use a virtual InfoCube with services if you want to display data from non-BW data sources in BW without having to copy the data set 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 function is used primarily in the SAP Strategic Enterprise Management (SEM) application.
In comparison to the RemoteCube, the virtual InfoCube with services is more generic. It offers more flexibility, but also requires more implementation effort.
When you create an InfoCube you can specify the type. If you choose Virtual InfoCube with Services as the type for your InfoCube, an extra Detail pushbutton appears on the interface. This pushbutton opens an additional dialog box, in which you define the services.
1. Enter the name of the function module that you want to use as the data source for the virtual InfoCube. 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.
2. The next step is to select options for converting/simplifying 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 result of the query is not changed because the restrictions that are not processed by the function module are checked later in the OLAP processor.
No restrictions: If this option is selected, no restrictions are passed to the InfoCube.
Only global restrictions: 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.
Simplify selections: Currently this option is not yet implemented.
Expand hierarchy restrictions: If this option is selected, restrictions on hierarchy nodes are converted into the corresponding restrictions on the characteristic value.
3. 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 in conjunction 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.
4. 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.
5. 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.
6. Internal format (key figures): In SAP systems a separate format is often used to display currency key figures. The value in this 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 during the calculation.
If you use a remote function call, SID support must be switched off and the hierarchy restrictions must be expanded.
Description of the interfaces for user-defined function modules
Variant 1: Variant 2:
Additional parameters for variant 2 for transferring hierarchy restrictions, if they are not expanded:
With hierarchy restrictions, an entry for the 'COMPOP' = 'HI' (for hierarchy) field is created at the appropriate place in table I_T_RANGE (for FEMS 0) or I_TX_RANGETAB (for FEMS > 0), and the 'LOW' field contains a number that can be used to read the corresponding hierarchy restriction from table I_TSX_HIER, using field 'POSIT' . Table i_tsx_hier has the following type:
SAP advises against using this interface.
The interface is intended for internal use only and only half of it is given here.
Note that SAP may change the structures used in the interface.
Method for determining the correct variant for the interface
The following list describes the procedure for determining the correct interface for the user-defined function module. Go through the list from top to the bottom. The first appropriate case is the variant that you should use:
If Pack RFC is activated: Variant 1
If SID Support is deactivated: Variant 2