Welcome to the tutorial about SAP Real-Time InfoCubes and Aggregation Levels. This tutorial is part of our free SAP BPC training. After studying this tutorial, you will learn about defining InfoProviders and Aggregation Levels in SAP BPC. We will use a real-time SAP InfoCube as an InfoProvider in our example.
In the previous tutorial, we discussed the architecture of SAP BPC Embedded. In this tutorial we will look at the SAP Real-Time InfoProviders in more details.
You may recall from the previous tutorial that InfoProviders represent a type of activity, for example, Revenue Planning. Let’s have a close look at a typical planning application and taking the example of Revenue Planning. This scenario will also form the base of all the following tutorials:
“I want to be able to see planned revenue per material and Sales Organisation. Our actual sales quantities should be used as the basis. I then want to average the last six months’ actuals, apply a growth percentage on Material Group and then extend the sales quantities to all the future planning periods. Because I have so many materials, I don’t want to plan a price for every single one manually. Can we plan prices on Material Group level and apply that to the quantities? Oh, and when I change a planned quantity, the revenue must immediately update when I save the data.”
From the customer’s statements, several requirements are clear:
- Sales Quantities are planned on the lowest level, which is material
- We need an input schedule to capture growth percentages
- We will need a planning function to average out sales and apply those percentages
- Prices must be planned on a higher level, Material Group
- The planning sequence that calculates revenue, must execute on save.
SAP Real-Time InfoCubes (InfoProviders)
The first step we will cover, is translating the requirements into a technical view of what InfoObjects we need in the application, and thus the InfoCube.
As characteristics, we will need:
0SALESORG, as the organisational unit,
0MATERIAL, for individual materials
0MATL_GROUP, for plan prices
0VERSION, to distinguish between plan and actual values
0FISCPER, which will represent the planning periods
Key Figures will hold the planned values, and for that we will need:
0PRICE, for prices, and its unit 0CURRENCY,
0QUANTITY, for sales quantities, and its unit 0UNIT,
ERLOS, for the calculated revenue and its unit 0CURRENCY.
These are the minimum number of InfoObjects we need to create a simple Revenue Planning application to meet our customer’s needs.
Create SAP Real-Time InfoCube (InfoProvider)
The steps to create a real-time InfoProvider is the same as any other InfoProvider in BW and is done in the transaction RSA1. Under Modelling sidebar, select InfoProvider. Then, select the InfoArea you want to create the InfoProvider under (either a standard InfoArea or a custom InfoArea), right click and select Create InfoCube.
When creating the InfoCube for planning, set the Real Time checkbox as shown below. Create the InfoCube as REV_PLAN, under a suitable InfoArea:
Next, add the InfoObjects as discussed above into the InfoCube. The cube should look as follows:
The Sub-Type SAP HANA optimized InfoCube is set automatically, since we are using BPC Embedded. The Auditable setting allows us to see who changed data and when. A new dimension is automatically created with the required InfoObjects. We will not set this yet and will discuss the details of this in a later lecture. Nothing else need to be set for this to be a planning enabled cube.
SAP HANA Optimized InfoCube
We saw that one of the settings of the cube is SAP HANA optimized InfoCube. What does it mean? Classic InfoCubes are represented in SAP by an Extended Star Schema. There are two fact tables, an F and E table. The F table is a write & delete optimised table, while the E table is read optimised. This is no longer required, as we move away from classic RDBMS to a modern, column based, In-memory database such as HANA. As there is no difference in performance when reading, writing or deleting data, a single fact table is directly joined to the master data tables. This can be graphically represented below:
Planning Properties of the InfoCube
In transaction RSPLAN, the first tab we can see is InfoProvider.
This is where some InfoProvider specific properties are set. These properties include:
- Central Settings, which sets the rules for the Key Date and also the planning sequence that executes when saving data.
- Characteristic Relationships, which specifies rules for creating combinations, checking plan data and performing derivations.
- Data Slices, used for locking data regions.
Each of these settings will be covered in more detail in later tutorials.
SAP Aggregation Levels
From the requirements from our customer, we can see that there are more characteristics in the InfoCube than we may require in all instances of planning. For example, Prices are planned on Material Group, not Material. Including Material in our input sheets will results in unnecessary clutter and complicity for our users (and us!). We really just need a subset of characteristics and the SAP structure to create that subset is called an Aggregation level.
Let’s create our first Aggregation Level based on our REV_PLAN InfoProvider, for planning of Sales Quantities on Material level. To create the Aggregation level, click on the Aggregation Level button in the transaction RSPLAN.
Enter a name and description of the Aggregation level, for example:
Drag the InfoObjects from the InfoProvider (left partition) to the Aggregation Level (right partition).
- Only drag 0FISCPER as the Time Characteristic. SAP will automatically derive the other time characteristics.
- When selecting a Key Figure from the InfoProvider for the Aggregation Level, SAP will automatically select the corresponding Unit InfoObject. Avoid selecting the Unit InfoObjects manually, as that may lead to unnecessary InfoObjects in the Aggregation Level.
The Aggregation Level should contain the following InfoObjects after activation:
Remember to activate the SAP aggregation level.
In the next Tutorial we will create the Filter and Input-Ready query to capture the Sales Quantities.
Did you like this tutorial? Have any questions or comments? We would love to hear your feedback in the comments section below. It’d be a big help for us, and hopefully it’s something we can address for you in improvement of our free SAP BPC tutorials.