SAP BPC Embedded Architecture
SAP BPC Embedded Architecture
Welcome to the tutorial about SAP BPC Embedded Architecture where you will
learn about the architecture and main components of SAP Business Planning and
Consolidation (InfoProviders, Planning Modeller, Web Client, and front-end
applications). This tutorial is part of our free SAP BPC training course.
In the previous tutorial, I discussed the history of SAP BPC, this tutorial will go into
the architecture of SAP BPC embedded in more detail. Graphically, the architecture
can be represented as shown on the picture below. Let look at the SAP BPC
embedded architecture. Each of the components will also be covered in the future
tutorials, so we will start off with an overview of the various components.
BPC Embedded allows for several types of InfoProviders for planning. They are:
Real-time InfoCubes
MultiProviders
Local Providers
Composite Providers
Plannable DSOs
SAP HANA Views
SAP HANA Analytic Views
The choice of the InfoProvider is important and each have their strengths and
weaknesses and we will cover each in more detail in later tutorials.
Planning Modeller
The Planning Modeller is where most of the configuration work for a planning
application occurs and is accessed through transaction RSPLAN. In the planning
Modeller, we define the rules of how the planning application should behave and
how the user will interact with the application. More specifically, we define:
Planning Modeller
For example, a filter requires an aggregation level, an aggregation level requires an
InfoProvider.
While the configuration of the planning application takes place in the Modeller, the
Web Client enables the setting of rules to manage the configured planning
process, although some modelling facilities are also provided. The Web Client
more specifically has functions for:
User security
Work Status
Business Process Flows
Data Audit
Comments
Reports Library and
Web report Builder
Front-end Options
BEx Analyser
Excel with the EPM Add-in
Business Objects Analysis for Microsoft Office (BOA)
The BOA option is by far the most user-friendly, stable and powerful presentation
option. It offers most of the functionality of the EPM Add-in, but is far more stable.
In fact, SAP has decided that BoA will be the presentation tool for BPC Embedded
in the future and at this point it is unclear what future development work will take
place on EPM.
This is very useful when SAP’s standard function does not behave like you expect it
to behave, which is often the case as the error messages and documentation is
sometimes unclear and confusing as to what settings you need to configure.
Summary
In this tutorial we covered the basics of SAP BPC Embedded architecture, starting
with Planning Modeller down to the Embedded Platform. In the next tutorial we
will start creating our first planning application.
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.
SAP Real-Time InfoCubes and Aggregation Levels
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.
Planning Scenario
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.”
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 organizational 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:
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.
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
optimized table, while the E table is read optimized. 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:
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.
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.
Drag the InfoObjects from the InfoProvider (left partition) to the Aggregation Level
(right partition).
Note:
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:
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.
Welcome to the tutorial about using SAP Filters and Queries. This tutorial is part of
our free SAP BPC training. After studying this tutorial, you will learn about creating
new filters and design of input-ready queries in SAP BPC. While talking about filters
we will explain how to create different kinds of variables. We will also provide tips
about testing and troubleshooting queries in SAP BEX.
In the previous tutorial, we covered the use of SAP Real-Time InfoCubes and
Aggregation Levels. In this tutorial, we will look at the SAP Filters and Queries in
more details.
SAP BPC Architecture
In the previous tutorial, we started with the process for quantity planning on
aggregation level REV_01. The filter controls the selection of data for the Input
Ready Query and can contain the following:
Enter the name and description of the filter, as well as the Aggregation level on
which the filter will be built, for example:
To track our objects easily, we will use the convention of naming our filters
sequentially, starting with F01, after the Aggregation Level.
After you press Enter button, you will be presented with a list of all the
characteristics in the Aggregation level, as well as all the available Navigational
Attributes.
An Empty SAP Filter
Mandato
User
Fiscal year ry
0FISCPER ZIP_FISCPER Entry/Defau Range
/ period Variable
lt Value
Entry
User Optional
0MATERIA
Material ZIM_MATERIAL Entry/Defau Selection Variable
L
lt Value Entry
Mandato
Sales User
0SALESOR Single ry
Organizatio ZP_SALESORG Entry/Defau
G Value Variable
n lt Value
Entry
Unit of
0UNIT ST’
Measure
Mandato
User
Single ry
0VERSION Version ZP_VERSIO Entry/Defau
Value Variable
lt Value
Entry
Creating Variables
Let’s look at the process of adding a variable for the InfoObject 0FISCPER. To add a
variable for a characteristic in the filter, click on the Selection button for the
characteristic as shown on the screenshot below.
You will be presented with the Input Help box. Under the view drop down field,
select Variables.
Enter the Variables View
Next, click on the Create Variable button.
After you saved the variable, click on the Add button to add the variable to the
filter as shown below.
Add Variable to SAP Filter
Let’s look at some of the values in the Filter. First, I want to discuss the Fiscal Year
Variant. We can either hardcode it, or get the value from the master data. In this
case, since we restricted the Sales Organization to a single, mandatory value, we
can grab the value from the value selected in the variable, through a replacement
path variable. The variable’s configuration is as follows on the screenshot below.
Note that we are hardcoding the unit of measure. This is not ideal, since not all the
materials in our selection will use the same unit of measure (UoM). For example,
the InfoObject 0MATERIAL may have the following entries with its base unit of
measure:
Material Base_Uom
D304 H
D403 LE
D404 H
E100 MWH
F1000 ST
F1000-G1 ST
Ideally, we want to use the UoM from the material master. But since the variable
selection in this case is a range, we can’t use the same method as we did for the
Fiscal Year Variant. But let’s continue with this to illustrate a principle and then
later we will create the coding to correct the situation.
The completed filter should look as follows:
Creating an input ready query for SAP BPC is basically the same as a normal BW
BEX query. In the Query Designer, we select the Aggregation level as the
InfoProvider.
It is generally, the best practice is to place as many of the restrictions into the
filter, rather as local restrictions in the query, but the requirements of the
customer will dictate it.
The following general principles apply in building an input ready-query, and it’s
generally something that inexperienced consultants battle with:
Each Key Figure that is planned, must address a unique intersection of data.
Characteristics that contain multiple values or ranges cannot be in the ‘Free
Characteristics’ section.
The selection of ‘Master Data’ versus ‘Posted Values’ has a significant effect on
output of the query. You will see either no data, or too much data, or any
combination in between. Use the ‘Master Data’ setting with care, especially
when you have several characteristics that are restricted on ranges.
Now let’s use these principles to build the rest of the query:
Since 0MATERIAL’s restriction contains more than one material, we have to place it
in rows or columns. We will place it in rows.
Under Extended Settings, we will mark the Access Type as ‘Master Data’. This will
return empty, imputable fields for all the materials in the selection, even if there is
no values in the cube.
Characteristic Properties (Material)
Drag 0UNIT to rows as well and set the Access Type to Master Data.
As 0FISCPER is also a range, do the same with 0FISCPER, but add it to the columns.
The rest of the Characteristics can be added to Free Characteristics, as they are
restricted to single values.
Since we are planning quantities, drag the Key Figure 0QUANTITY to the Columns.
In the Key Figure’s properties, select the Planning tab and set to ‘Input-Ready
(Relevant for Locking).
Key Figure Properties (Quantity)
SAP
Query Rows and Columns
Make the Query Input Ready
The last setting is to make the query Input Ready by default. To do this, select the
properties of the query and under the Planning Tab, check the ‘Start Query in
Change Mode’.
We can quickly test the query in the transaction RSRT. Select your query (I called it
REV_01_Q0001) and enter some variables for the query, for example:
The query should be displayed with empty columns that are input ready for all the
materials in the selection. You should be able to enter values in the fields.
Input
Ready Query
Troubleshooting
It means that you have not set all the characteristics to Access Type ‘Master Data’.
If you cannot enter any values in the Key Figure, the cause may be one of the
following:
You have not made the Key Figure 0QUANTITY input ready or
You have not made the query ready for planning or
The cube may be in ‘Load-Mode’ or
The characteristics in the rows/columns do not create a unique intersection on
the Key Figure. For example, you may have incorrectly defined version as a
range and selected more than one value.
In the next tutorial, we will look at how the data is represented in the cube. We will
also build the remaining Aggregation Levels and Queries to complete the Input
Schedules.
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.