InfoCubes of the SAP Business Information Warehouse (SAP BW) are – as is generally the case in the Data Warehouse environment – technically optimized for read access and for a comparatively small number of simultaneous accesses, since with data analysis this type of access is almost exclusively required. However, when generating plan data with SEM-BPS, new data records are generated so that the performance with write access is more significant.
In order to meet the demand for increased performance with write access, SAP BW offers an alternative type of InfoCube, the transactional InfoCube, specially for use by SEM components. It concerns a BasicCube that has the following special features in comparison to conventional InfoCubes:
Data is written into a data request of the InfoCube using a SEM-specific procedure. As soon as the number of data records within a data request exceeds a limit, the request is closed and a rollup is executed into the aggregate of the InfoCube (provided that it is available).
The physical implementation of the tables, from which an InfoCube is put together technically, can be different according to the database used.
The provision of data of transactional InfoCubes differs from the conventional InfoCubes:
SAP BW release 2.0B - 2.1C:
Transactional InfoCubes cannot be supplied with data using SAP BW DataSources . The usual procedure for the transfer of extracted data from the transaction system is therefore not possible with transactional InfoCubes.
SAP BW release as of 3.0A:
Transactional InfoCubes can be supplied with data both using SAP BW DataSources as well as with the direct update of data from SEM. To switch between both of these types of data provision, you must explicitly switch the InfoCube into the appropriate operation mode.
Transactional InfoCubes are available as of SAP BW release 2.0B with Support Package 7.
Switching the Operation Mode for Transactional InfoCubes as of SAP BW 3.0A
As of SAP BW release 3.0A you can supply transactional InfoCubes using both SAP BW DataSources as well as with the direct update of data from SEM. Both of these types of data provision correspond to two operation modes of the InfoCube, which exclude each other and which you must choose explicitly. You make this setting in the SAP BW Administrator Workbench :
In the Administrator Workbench, choose the view
Modeling
and choose
InfoProvider
.
The system displays the existing InfoCubes, classified according to InfoAreas.
In the context menu of a transactional InfoCube, choose
Switch Transactional InfoCube
.
The system displays a dialog box.
This menu function is only available in the context menu of transactional InfoCubes.
Choose the desired operation mode:
Transactional Cube Can Be Loaded with Data. Planning Not Allowed
In this operation mode, you can supply the InfoCube with data from transaction systems using a DataSource. As long as the InfoCube is in this operation mode, no data can be updated directly with the means of SEM.
Transactional Cube Can Be Planned. No Data Loading Allowed
In this operation mode, you can directly update data from SEM-BPS into the InfoCube. A provision of data using DataSources is not possible in this operation mode.
Data Modeling for SAP BW 2.0B - 2.1C
The restriction of transactional InfoCubes described in the last paragraph (no provision of data using DataSources) requires a completely different approach when structuring the data basis for SEM-BPS. In the following section, we describe how you model the data basis in order to profit from the performance advantages of transactional InfoCubes, and at the same time guarantee the provision of data from the transaction systems.
The actual data, which is necessary for planning as reference, cannot be loaded using a DataSource from the transaction systems into a transactional InfoCube because of the restriction described. The solution is that you create not one but two InfoCubes for every subject area for which you require actual data from the transaction systems:
One conventional (non-transactional) InfoCube that you supply with actual data using a DataSource, which you extract from your transaction systems.
A transactional InfoCube in which you generate plan data with reference to the actual data of the conventional InfoCube.
You produce the connection between both of the InfoCubes by first creating a basic planning area for each of the InfoCubes. Subsequently, you create a Multi-Planning Area , in which you include both of the previously defined basic planning areas. Using a planning function of the type Copy, you initialize the transactional InfoCube with the actual data of the standard InfoCube. (Later you can user the copy function to update the plan data, by including suitable conditions in the parameter group of the function.) You then process the transferred actual data further as plan data, by changing it manually or using the planning functions. You make the differentiation between plan and actual data using the automatically generated characteristic "planning area": Data, which is in the planning area for the transactional InfoCube, is then plan data in accordance with the definition. The following graphic shows the described scenario:
To structure your data model according to this scenario, you proceed as follows (here we assume that you have already set up a standard InfoCube to receive the data delivered from the transaction systems):
Creating a Transactional InfoCube
Create a new InfoCube in SAP BW, using the available standard InfoCube as a reference.
When creating the InfoCube, set the indicator
transactional
in the group box
InfoCube Type
.
Make the desired settings for the InfoCube.
Activate the InfoCube.
Converting Standard InfoCubes into Transactional InfoCubes
Conversion with the Loss of Transaction Data
If the standard InfoCube already contains transaction data but you no longer need it (for example, test data from the implementation phase of the system), you proceed as follows:
In the
Edit InfoCube
screen of the
Administrator Workbench
, choose
and confirm the subsequent confirmation prompt.
The transaction data is deleted and the InfoCube returned to the status "inactive".
Then proceed the same as when creating a transactional InfoCube.
Note
This procedure is also suitable to convert a newly created InfoCube (for which no transaction data is yet available) into the other type, if the wrong setting was chosen by mistake when it was created.
Conversion with the Retention of Transaction Data
If the standard InfoCube already contains transaction data from the productive operation, which you still require, then proceed as follows:
In the ABAP Workbench, start the program SAP_CONVERT_TO_TRANSACTIONAL .
In the following screen, enter the technical names of the InfoCube which you want to convert into a transactional InfoCube.
Choose
.Guaranteeing Display of Current Data in Queries
As described above, transactional InfoCubes distinguish themselves among other things in that data requests are closed with delay and a rollup is executed. Rollup is executed when a value limit of 50,000 data records is reached. The dimensioning of this value can result in the current data in the InfoCube being correctly posted, but not displayed in queries. However, to make sure that you always have the current data displayed in the queries, you must include an additional variable from the SAP Business Content in your queries. To do this, proceed as follows:
Make sure that the variable
Most current data
(
0S_RQMRC
) from the SAP Business Content is activated otherwise the variable will not be displayed in the BEx Analyzer.
You can activate the variable in the
Administrator Workbench
in the
Business Content
area. You find variables under
Start the BEx Analyzer and select a query for processing.
In the list of InfoObjects, choose the automatically generated dimension
Data package
and the characteristic contained in it
Request ID
(
0_REQUID
).
Select the variable
Most current data
(
0S_RQMRC
), which is assigned to this characteristic, and drag it into one of the
Filter
or
Free characteristics
fields
.
Save the changed query.