Model Config Guide
Model Config Guide
1 Document History. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
4 Attributes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
4.1 Creating Attributes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
4.2 Attribute Configurations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
4.3 Extending the Length of an Attribute. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
4.4 Editing Attributes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
4.5 Deleting an Attribute. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
7 Planning Areas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
7.1 Sample Planning Areas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
Note
Until three months after the publication of a new release of SAP Integrated Business Planning for Supply
Chain, we publish regular documentation updates on the SAP Help Portal. If you use a local PDF copy
or a paper printout of this document, make sure that you have the latest version. You can find it at http://
help.sap.com/ibp2302.
The following table provides an overview of the most important document changes.
SAP Integrated Business Planning provides extensive functions for creating, updating, and capturing
information in a plan, which is configured using a planning model.
This model configuration guide is aimed at expert business users, consultants, and others who are creating,
changing, or extending a company planning model. Based on the Web user interface that is used to configure
the planning model, the guide provides task-based information to help you carry out common modeling tasks,
such as:
• Creating master data types and attributes, time profiles, planning areas, planning levels, key figures
(including calculations), versions, and planning operators
• Activating, copying, exporting, and importing a planning model
• Managing reason codes and global configuration parameters
• Setting up multilanguage support for the supported modeling object types
The guide also introduces some advanced modeling concepts, such as modeling for currency conversion and
for unit of measure conversion and for attribute transformations.
Note
The guide contains many examples to illustrate modeling tasks and concepts. To make it easier for you
to follow the examples, they have been based, wherever possible, on the SAPIBP1 sample planning area,
which is delivered with SAP Integrated Business Planning.
Based on your planning model, you can create planning views and work on your data using the SAP Integrated
Business Planning, add-in for Microsoft Excel. For more information, see the SAP Help Portal at http://
help.sap.com/ibp , under Application Help User Interface Planning with Microsoft Excel .
A planning model describes the structure of your plan in terms of data and calculations. It defines how data is
stored, calculated, and aggregated in the system. From a technical perspective, a planning model is a collection
of master data and time series data that is organized in dimensions and enhanced with specific calculations. All
models are based on the following entities:
• Attributes
• Master data types
• Time profiles
• Planning areas
• Planning levels
• Key figures (including snapshots)
• Versions
• Calculations
• Miscellaneous additional entities such as global configuration parameters, planning operators, and reason
codes.
The figure below illustrates the relationship between the main configuration entities.
Entity Explanation
Common entities Attributes, master data types , and time profiles must be
defined in SAP IBP. They are available for use in any planning
area.
Master data types Master data types are groupings of attributes. For example,
a master data type could group all attributes belonging to
the product, such as product ID, product group, and so on.
A master data type can be assigned to multiple planning
areas, and a planning area has multiple master data types
assigned.
Time profiles The time periods in which planning data can be managed
(for example, weekly, monthly, and so on) and the hierarchy
of these time periods make up a time profile. A time profile
can be assigned to multiple planning areas. A planning area
has exactly one time profile assigned.
Planning areas Planning areas are structures consuming the elements re
quired in the planning process (attributes, master data
types, time profiles). The elements are selected specifically,
for example, for demand planning. (At this stage, the plan
ning area is still lacking planning levels and key figures.)
Planning levels For each planning area, one or more planning levels are de
fined. A planning level is a combination of attributes option
ally plus a time period. For example, a planning level may
consist of customer ID, location ID, and product ID with an
associated time period, for example, weekly.
Key figures On each planning level, key figures are configured. For exam
ple, the key figure consensus demand could be configured
on the level of customer ID, location ID, product ID, and a
weekly time period. It represents the consensus demand
quantity of a specific product, delivered to a specific cus
tomer, from a specific location, in a specific calendar week.
Baseline version After the key figure configuration, the planning area is com
pletely configured and a baseline version is automatically
generated.
Versions Apart from the baseline version, a planning area can have
other versions. These can include only a subset of key fig-
ures, for example, because you do not want all users to see
all the data. Versions can also be used to represent optimis
tic or pessimistic plans by using more optimistic or more
pessimistic key figure values.
Planning operators are functions that are associated with a planning area. An important example of a planning
operator is the Copy Operator (Advanced) operator, which you can use to copy key figure values within a
planning area or between two planning areas.
SAP Integrated Business Planning for Supply Chain (SAP IBP) allows you to configure and customize your own
planning models to address your unique business requirements. The following apps, which you can access
from the launchpad, include all features that enable you to configure a model from scratch, and activate it:
• Attributes
• Master Data Types
• Time Profiles
• Reason Codes
• Time Profiles
• Sample Model Entities
• Planning Areas
Many model entities (planning areas, master data types, and time profiles) can also be copied and modified.
(You cannot, however, copy attributes or planning operators.)
Attributes are characteristics of master data types, for example, an attribute of the customer master data type
might be country or region. Attributes can be either numeric or non-numeric.
• nvarchar
• decimal
• integer
• timestamp
Note
You can only use decimal attributes as key figures in the planning area, and not as planning area dimension
attributes.
To support the planning calendar function of SAP Integrated Business Planning, special attribute types are
available with fixed properties as follows:
• Calendar attribute:
• Data type: NVARCHAR
• Length: 32
• Time zone attribute:
• Data type: NVARCHAR
• Length: 6
Prerequisites
Make sure you have the necessary authorizations for this activity, that is, the business catalogs required for
this activity are assigned to a business role that is assigned to your business user. For more information see the
SAP Help Portal at http://help.sap.com/ibp, under Application Help for SAP Integrated Business Planning
Identity and Access Management Basic Concepts Business Catalogs .
1. In the Attributes app, choose New. To create special attribute types (calendar or time zone attributes),
select the attribute type from the dropdown next to the New button.
You can also create the attributes in the Master Data Types app. You can display, edit, and delete the
attributes in the Attributes app, regardless of where you created them.
2. In the New Attribute dialog provide the details for the attribute.
Caution
We use the sample model entities in many examples throughout the user assistance for SAP IBP. In
general, you have the freedom to customize the model entities according to your business needs.
However, to run the inventory operators and time-series-based supply planning algorithms, you
have to use specific technical IDs defined by SAP for the relevant master data types, attributes,
and key figures. For demand sensing, the same applies to certain master data attributes and key
figures for which a business meaning has not been specified.
For more information, see the documentation of the relevant planning operator in this guide and
the respective chapter of the application help.
• Name: Product ID
• Description: Product Identifier
• Data Type: NVARCHAR
• Length: 40
Caution
Make sure that the ID you specify for the attribute does not exist in any of the SAP sample planning
areas. An attribute with the same ID as an attribute in an SAP sample planning area can be overwritten
if you copy the SAP sample planning area.
Note
The length of an attribute must not exceed 450 characters. Attributes longer than that cannot be
shown in a planning view and cannot be used in attribute-based filters in the SAP Integrated Business
Planning, add-in for Microsoft Excel or in Planner Workspaces. Attributes longer than 450 characters
should be modelled as description attributes (e.g. Product Description as a description attribute of
Product ID).
Related Information
How to Create a Key Figure with the ID of a Deleted Attribute or an Attribute with the ID of a Deleted Key Figure
[page 462]
Attribute Configurations
Prerequisites
Make sure you have the necessary authorizations for this activity, that is, the business catalogs required for
this activity are assigned to a business role that is assigned to your business user. For more information see the
SAP Help Portal at http://help.sap.com/ibp, under Application Help for SAP Integrated Business Planning
Identity and Access Management Basic Concepts Business Catalogs .
Context
You can extend the length of an attribute up to 450 characters. Attributes longer than that cannot be shown in
a planning view and cannot be used in attribute-based filters in the SAP Integrated Business Planning, add-in
for Microsoft Excel or in Planner Workspaces. Attributes longer than 450 characters should be modelled as
description attributes.
If you extend the length of an attribute, you must make sure that all model entities that use the attribute are
updated with the new length. You must activate the relevant master data types, time profiles, and planning
areas again for the changes to take effect, to keep the database consistent, and to prevent runtime errors.
Note
If you use an attribute, which is used in an SAP sample planning area, in any of your planning areas, and the
length of this attribute has been changed in the SAP sample planning area, an advanced copy of the SAP
sample planning area overwrites the attribute length in your planning areas. You must activate the time
profiles, master data types, and planning areas that use this attribute again. After activation, the attribute
will have the new length consistently for all model entities where it is used.
Note
Please note that calendar attributes and time zone attributes have a fixed length, which cannot be changed.
Caution
Please also note that you cannot change the length of an attribute in planning areas for order-based
planning, the length must remain as defined in the SAP7 and SAP7F sample planning areas.
To do this, click the numbers in the corresponding cells in the Attributes app.
3. Activate the time profiles that use the attribute you have changed.
4. Activate the master data types that use the attribute you have changed.
5. Activate the planning areas that use the attribute you have changed.
Related Information
You may want to change an attribute. However, you’ll find that not all fields of an attribute are available for
editing. The changes you can do depend on the following factors:
You can change any field of an attribute that you have never activated (that is, only an inactive instance of the
attribute exists). You can also delete the attribute.
If an attribute has already been activated with a master data type (even if the attribute currently has an inactive
instance), certain rules apply for which fields or parameters you can change or delete.
Note
Calendar attributes and time zone attributes are special attribute types with some fixed properties. You can
change their name and description but not their length or data type.
You can change the name of an attribute any time. Changing the name changes the status of the attribute from
active to inactive.
You can change the description of an attribute any time. Changing the description will not change the status of
the attribute from active to inactive.
Data Type
You can change the data type of an attribute only if the attribute has never been activated, and it is not used
anywhere.
You can't change the data type of an attribute in the following cases:
• If the attribute has already been activated (by activating a time profile, a master data type, or a planning
area that use the attribute)
• If the attribute is specified as a referenced attribute in a reference or in a virtual master data type
• You cannot change the data type to decimal for an attribute that is assigned to a planning area or to a time
profile.
• You cannot change the data type from decimal for an attribute that is used in a planning area as an
attribute as key figure.
Length
You can specify the length of an attribute only if its data type is NVARCHAR. All other data types have fixed
length.
You can't reduce the length of an attribute if the attribute has already been activated.
You can extend the length of an attribute up to 450 characters. In this case, you must activate all master data
types, time profiles, and planning areas that use the attribute again for the changes to take effect, to keep the
database consistent, and to prevent runtime errors.
Caution
Please note that you cannot change the length of an attribute in planning areas for order-based planning,
the length must remain as defined in the SAP7 and SAP7F sample planning areas.
Related Information
Prerequisites
Make sure you have the necessary authorizations for this activity, that is, the business catalogs required for
this activity are assigned to a business role that is assigned to your business user. For more information see the
SAP Help Portal at http://help.sap.com/ibp, under Application Help for SAP Integrated Business Planning
Identity and Access Management Basic Concepts Business Catalogs .
Context
You want to delete an attribute that is used in one or more planning areas, master data types, or time profiles.
If the attribute is used in higher-level entities, you must work top down to remove the attribute from each
model entity that uses the attribute before you can delete the attribute.
Note
If an attribute is not used in any other model entity, you can simply delete it.
Procedure
Mark the attribute for deletion, save your changes, then activate the planning area.
Repeat this for all planning areas where the attribute is used.
2. Remove the attribute from the master data type by active deletion.
Mark the attribute for deletion, save your changes, then activate the master data type.
Repeat this for all master data types where the attribute is used.
Caution
If you remove an attribute from a master data type, the already existing data for this attribute is deleted
from the master data.
Other master data types that use the same attribute are not affected.
3. Remove the attribute from the time profile, then activate the time profile.
Repeat this for all time profiles where the attribute is used.
4. Delete the attribute.
Master data types represent categories of information, for example, customer, location, product, or resource.
You use master data types to segment planning data. A typical example of their use would be a consumer
goods company that wants to understand sales data based on the product, customer, and location master data
types.
Every master data type has one or more attributes, for example, the S2CUSTOMER master data type has
S2CUSTID as an attribute.
In the Types of Master Data Types table you can find a description of the types of master data types available in
the system.
Note
Compound master data type Combines two or more master data types to represent a
valid combination of the component master data types.
For example, you use the product and the customer master
data types. As not all products are sold to all customers,
to represent the valid combinations of products and custom
ers, you create the customer product compound master
data type. When a key figure data containing the keys prod
uct ID and customer ID is loaded, the system checks against
the compound master data type for valid combinations, and
stores data only for those.
Reference master data type References another master data type so that you do not
have to upload the same data more than once. For example,
you can create the currency master data type as a reference
master data type that uses the currency to master data type.
Note
You cannot load data into a reference master data type.
External master data type Makes it possible for SAP Integrated Business Planning to
handle and integrate master data when the content comes
from an external database. Before you can use the external
master data types, the database tables they retrieve their
content from have to be integrated from SAP ERP to SAP
HANA database tables inside SAP Integrated Business Plan
ning. When you set up your planning model, you define an
external master data type referring to a table that contains
the predefined content. The integration runs in batch mode,
so the external master data entries are updated on a regu
lar basis from SAP ERP according to your set preferences.
There is no need for manual data upload.
Note
You cannot load data into an external master data type.
Virtual master data type Is used to create joins between two (or more) master data
types that otherwise have no connection to each other. It
allows you to make the attributes of a master data type
available for another by using a common attribute of the
referenced master data types as a join condition.
By combining master data types this way, you can avoid the
duplication of data in your database, since you only need to
upload data for the attributes thus shared once.
Note
You cannot load data into a virtual master data type.
Make sure you load data into the referenced master data
types that the virtual master data type is based on.
Related Information
When you define a master data type, you can link a description attribute to its corresponding ID attribute.
This can be beneficial for the performance of the SAP Integrated Business Planning, add-in for Microsoft
Excel (Excel add-in). When you link the description and ID attributes, during logon, the Excel add-in downloads
the master data of one attribute for both the ID and the description, instead of two separate attributes.
This reduces the data volume in the Excel add-in. After you have linked the ID and description attributes in
configuration, you have the option to display them as separate attributes, or have the ID and the description
for the linked attribute displayed together. This function is available in the Excel add-in and the Planner
Workspaces app, but not all other apps in SAP IBP.
Caution
You should only link a description attribute to an attribute that is the only key attribute of the master
data type. In cases where a combination of multiple key attributes is used to identify a particular record,
description attributes can’t be handled by the Excel add-in.
Caution
If you have linked the description and ID attributes in configuration, you will not be able to use the dynamic
selection logic for master data attribute values in the Excel add-in. For more information about the dynamic
selection of master data attribute values, see SAP Help Portal at https://help.sap.com/ibp, under Use
Application Help Business Applications Planning UIs Planning with Microsoft Excel Information for
Administrators Planning Views Dynamic Selection of Values of Master Data Attributes .
Copy options enable you to create an exact copy of a master data type, combine two master data types, or
overwrite a master data type with a different one.
You can copy sample master data types and non-sample master data types with the copy options available
in the system. When you copy the sample master data types, their attributes are automatically copied if they
haven't been copied yet. If the attributes already exist, you can update them using the Update Attributes
option. When the system updates the attributes in the target master data type based on the attributes in the
source master data type, the rules for changing an attribute are applied. For more information about changing
attributes, see Editing Attributes [page 17].
The system does not copy the attributes assigned to the master data type when you copy non-sample master
data types.
The following three options are available to copy master data types:
• Create New
You can create a master data type that contains exactly the same configuration as the source with a new
ID.
• Merge with Existing
When you copy a sample or a non-sample master data type, checks are run on the target master data type.
These checks are the same as the ones that you can run on any master data type using the Check button in
the Master Data Types app. If all checks are successful or end with warning messages, the target master data
type is created. You are notified if the checks fail, but you can still continue and copy the master data type. The
enhanced log tells you what went wrong during the checks.
Use the Master Data Types app to create simple master data types.
Prerequisites
Make sure you have the necessary authorizations for this activity, that is, the business catalogs required for
this activity are assigned to a business role that is assigned to your business user. For more information see the
SAP Help Portal at http://help.sap.com/ibp, under Application Help for SAP Integrated Business Planning
Identity and Access Management Basic Concepts Business Catalogs .
Procedure
1. In the Master Data Types app, choose New and then Simple.
2. On the New Simple Master Data Type screen, provide the details for the simple master data type.
Recommendation
SAP recommends that you define a two-letter or three-letter prefix for the IDs of the master data
types; for example, ABC or XYZ (as in ABCPRODUCT or XYZPRODUCT). One suggestion could be to use
your company's ticker symbol as a prefix. The sample planning areas delivered with SAP Integrated
Business Planning use the IBP prefix in the master data type IDs.
Note
If you haven't already created the attributes, you can do so here by clicking New.
You could add attributes like product ID (S2PRDID) and product description (S2PRDDESC).
Caution
We use the sample model entities in many examples throughout the user assistance for SAP IBP. In
general, you have the freedom to customize the model entities according to your business needs.
However, to run the inventory operators and time-series-based supply planning algorithms, you have
to use specific technical IDs defined by SAP for the relevant master data types, attributes, and key
figures. For demand sensing, the same applies to certain master data attributes and key figures for
which a business meaning has not been specified.
For more information, see the documentation of the relevant planning operator in this guide and the
respective chapter of the application help.
4. Specify at least one key attribute for the master data type.
Caution
Do not use this feature to track general changes to master data because this may lead to performance
problems.
6. Optional: Link the description attribute to the corresponding ID attribute using the Description Attribute
field.
Next Steps
Prerequisites
Make sure you have the necessary authorizations for this activity, that is, the business catalogs required for
this activity are assigned to a business role that is assigned to your business user. For more information see the
SAP Help Portal at http://help.sap.com/ibp, under Application Help for SAP Integrated Business Planning
Identity and Access Management Basic Concepts Business Catalogs .
To use the example described in this section, make sure you have created the S2PRODUCT and
S2PRODUCTFAMILY master data types in your system. You can also work with your own master data types.
Context
You want to make sure that the master data that you upload to your system belongs to a specific set.
Procedure
Results
Now you have an attribute check that checks whether the values of the S2PRDFAMILY attribute in the
S2PRODUCT master data type match the values of the S2PRDFAMILY attribute in the S2PRODUCTFAMILY
master data type. When you upload data for the S2PRODUCT master data type, the system will reject any data
records that do not meet this requirement.
Note
If you specify a check master data type that has no attribute assigned to a planning area, you won't be
be able to copy the master data type that you have defined the attribute check for when using the Copy
Version application job template for copying a version of the planning area in question. To resolve this, you
need to assign a dummy attribute to the check master data type and the planning area and activate the
planning area with dependencies.
Next Steps
Activate the master data type and upload data for it.
Caution
Master data types that are joined by an attribute check behave like compound master data types with
respect to the deletion of data. For example, if you have set up an attribute check for the LOCID attribute of
the RESOURCE master data type with LOCATION as the check master data type and you delete a location,
all resources that reference the corresponding LOCID will also be deleted, as well as all planning objects
that include the relevant key figure data.
Related Information
Use the Master Data Types app to create compound master data types.
Prerequisites
Make sure you have the necessary authorizations for this activity, that is, the business catalogs required for
this activity are assigned to a business role that is assigned to your business user. For more information see the
SAP Help Portal at http://help.sap.com/ibp, under Application Help for SAP Integrated Business Planning
Identity and Access Management Basic Concepts Business Catalogs .
Make sure you have created the master data types you want to add as components.
Procedure
1. In the Master Data Types app, choose New and then Compound.
2. On the New Compound Master Data Type screen, enter the details for the compound master data type.
To create the customer product master data type, you could enter the following:
• ID: S2CUSTOMERPRODUCT
• Name: Customer Product
• Description: Customer Product
3. Add at least two master data types as components.
You can specify simple, compound, reference, and external master data types as component master data
types. Also, make sure that the status of the master data type you select is active or inactive.
For the S2CUSTOMERPRODUCT compound master data type, add S2CUSTOMER and S2PRODUCT.
The key attributes of the component master data types you selected are automatically added as key
attributes under Assigned Attributes.
Note
A decimal attribute cannot be a key attribute in a compound master data type. If a decimal attribute is
added, the Key checkbox will be automatically deselected and inactive.
Caution
Do not use this feature to track general changes to master data because this may lead to performance
problems.
Next Steps
Related Information
Use the Master Data Types app to create external master data types.
Prerequisites
Make sure you have the necessary authorizations for this activity, that is, the business catalogs required for
this activity are assigned to a business role that is assigned to your business user. For more information see the
SAP Help Portal at http://help.sap.com/ibp, under Application Help for SAP Integrated Business Planning
Identity and Access Management Basic Concepts Business Catalogs .
Make sure your SAP Integrated Business Planning system has been integrated with the system you would like
to provide master data for your external master data types, for example, SAP ERP.
1. In the Master Data Types app, choose New and then External.
2. On the New External Master Data Type screen, provide the details for the external master data type.
To create the location external master data type, you could enter the following:
• ID: S2LOCATIONEXT
• Name: Location External
• Description: Location External
3. Specify an external data source.
Make sure to use all key columns of the external data source as referenced column. The data type of the
assigned attribute and the column of the external data source you specify as referenced column for this
assigned attribute must be compatible with each other.
Specify LOCATION_NUMBER as referenced column for the S2LOCID assigned attribute. For S2LOCTYPE
specify LOCATION_TYPE_CODE as referenced column. For S2LOCDESC add LOCATION_DESCRIPTION.
Related Information
Use the Master Data Types app to create reference master data types.
Prerequisites
Make sure you have the necessary authorizations for this activity, that is, the business catalogs required for
this activity are assigned to a business role that is assigned to your business user. For more information see the
SAP Help Portal at http://help.sap.com/ibp, under Application Help for SAP Integrated Business Planning
Identity and Access Management Basic Concepts Business Catalogs .
Make sure you have created the master data type you want to use in your reference master data type.
Procedure
1. In the Master Data Types app, choose New and then Reference.
2. On the New Reference Master Data Type screen, provide the details for the reference master data type.
To create the currency to master data type, you could enter the following:
• ID: S2CURRENCYTO
• Name: Currency To
• Description: Currency To
3. Specify a referenced master data type.
You can specify a simple, a compound or an external master data type as a referenced master data type.
Also, make sure that the status of the master data type you select is active or inactive.
You could create and select the S2CURRENCY master data type here.
The attributes of the selected referenced master data type are automatically listed in the Referenced
Attributes section.
4. Select the attributes you want to assign to the master data type.
Make sure that the assigned attribute and the referenced attribute have the same data type, and that the
length of the assigned attribute is greater than or equal to the length of the referenced attribute.
Only the data that fulfils the conditions defined is received by the consuming applications. For more
information, see Filtering Reference Master Data Types [page 32].
9. Save your entries.
Related Information
You can define filters for reference master data types to narrow the range of data that is received when
the master data type is consumed by the SAP Integrated Business Planning, add-in for Microsoft Excel and
applications of the SAP Integrated Business Planning for Supply Chain solution.
This option allows you to transfer a large amount of master data into the system and filter it only before
modeling.
You can configure filters in the Filter Conditions section of the Create Reference Master Data Type and Edit
Reference Master Data Type screens.
To define a new filter condition, select a filter attribute, an operator and (where applicable) specify one or more
values. Only the data that fulfils the conditions defined is received by the consuming applications.
Example
If you define the filter "LOCTYPE attribute Equals WAREHOUSE ", all 'warehouse’ data is received but all other
LOCTYPE data is filtered out.
Note
Please be aware that your permission filters can affect your filtering results.
Attributes of the referenced master data type that meet the following criteria can be selected as filter
attributes:
• Equals
• Does Not Equal
• Is Empty
• Is Not Empty
If the operator is Equals or Does Not Equal, you can specify a maximum of 10 values for the filter condition.
Uppercase and lowercase characters are distinguished in values and you can also use special characters. If
the filter attribute has data type nvarchar, the value must be no longer than the length of the attribute. If the
attribute has data type integer, the value must be convertible to an integer.
Once you have saved a filter condition, you can no longer change the filter attribute and the operator but you
can add or remove values. If you want to make other changes, delete the filter condition and configure a new
one.
Note
Please note that to change filter conditions for an active reference master data type, you first have to delete
all data that matches the old or the new filter from the referenced master data type. For more information
about changing filter conditions, see Master Data Types [page 318].
Each filter condition has an assignment status. Activating the reference master data also makes the
assignment status of the filter condition active.
For filter conditions that include a value, the status is an aggregated status based on the status of each value.
For example, if you have created a filter condition with two values and have then activated the master data
type, the filter condition has an active status. If you add a further value, that new value will be inactive, and
the aggregated status of the filter condition also becomes inactive. The same applies if you remove an active
value from the filter condition. The status of the filter condition removed becomes pending deletion, while the
aggregated status becomes inactive.
Note
Adding a new filter condition or changing an existing one makes the reference master data type inactive, so
you need to activate the master data type before use.
Related Information
Use the Master Data Types app to create virtual master data types.
Prerequisites
Make sure you have the necessary authorizations for this activity, that is, the business catalogs required for
this activity are assigned to a business role that is assigned to your business user. For more information see the
SAP Help Portal at http://help.sap.com/ibp, under Application Help for SAP Integrated Business Planning
Identity and Access Management Basic Concepts Business Catalogs .
Make sure you have created the master data types you want to use in your virtual master data type.
Context
Virtual master data types don’t store data themselves but create joins between two (or more) master data
types that otherwise have no connection to each other. They allow you to make the attributes of a master data
type available for another by using a common attribute of the referenced master data types as a join condition.
Procedure
1. In the Master Data Types app, choose New and then Virtual.
2. On the New Virtual Master Data Type screen, provide the details for the virtual master data type.
To create the S2SALESHDRITEMPRODLOC master data type, you could enter the following:
• ID: S2SALESHDRITEMPRODLOC
• Name: Virtual Sales Order Item
• Description: Virtual Sales Order Item
3. Add at least two referenced master data types.
You can specify simple, compound, reference, and external master data types as referenced master data
types. Also make sure that the status of the master data type you select is active or inactive.
The system automatically adds the key attributes of the master data types you added as referenced
master data types in the Assigned Attributes section.
4. In the Add Join Condition dialog, define at least one join condition as shown in the example below.
5. Optional: Under Assigned Attributes, you may change the values of the Referenced Attribute and
Referenced Master Data Type fields or assign more attributes and define the referenced attribute and
referenced master data type for the attributes you added.
6. Save your entries.
Example
The following example, based on sample master data types, illustrates the use of virtual master data types.
These are the attributes that you require for a key figure calculation at schedule line level. Without using a
virtual master data type, you would have to upload data for each of these attributes of the IBPSCHEDULELINES
master data type one by one.
However, as seen above, the set of data required is in fact available through upload for other master data types.
The data is defined by the key attributes of the IBPSCHEDULELINES master data type along with the other
master data types listed above, as follows:
SALESDOC and SALESITEM within the IBPSCHEDULELINES master data type are also key attributes of the
IBPSALESORDERITEM master data type (while SALESDOC is also a key attribute of IBPSALESORDERHEADER).
The IBPSALESORDERITEM master data type in turn contains the LOCID and PRODID attributes as non-key
attributes, which are available in the IBPLOCATION and the IBPPRODUCT master data types as key attributes.
The virtual master data types IBPVSALESHDRITEMSCHLPRODLOC (Virtual Schedule Lines) and
IBPVSALESHDRITEMPRODLOC (Virtual Sales Order Item) set up the very references described above in the
form of join conditions as shown in the tables below:
By using these virtual master data types, you can avoid the need for uploading data that is already available
into the IBPSCHEDULELINES master data type, and thus the duplication of data in your database.
Related Information
S2CURRDESC
S2CUSTDESC
S2LOCDESC
S2PRDDESC
S2PRDFAMILY
S2PRDFAMILYDESCR
S2SALESITEM S2SALESITEM
S2LOCID
S2PRDID
S2ORDERQTY
S2DISCTCHANNEL
Related Information
You may want to change a master data type. However, you'll find that not all fields of a master data type are
available for editing. The changes you can do depend on the following factors:
Note
You can change any parameter (except for its ID) of a master data type that you have never activated (that
is, only an inactive instance of the master data type exists). You can also delete the master data type.
General Data
You can change the name and the description of a master data type any time.
Once you activated a reference master data type, you can’t change the master data type your reference
master data type is built on.
Once you activated an external master data type, or used it in a planning area, you can’t change its external
data source.
Type
You can change the type of an inactive master data type as follows:
Once you have activated the master data type, you can no longer change its type.
A compound master data type must have at least two components. A virtual master data type must have at
least two referenced master data types.
If you add or remove components, you must reflect the changes in the set of the key attributes of the
compound master data type as well.
In case master data records exists for a compound master data type, you can’t add or remove components.
You can add referenced master data types to or remove them from a virtual master data type even if data exists
for the components.
You can’t remove an attribute from a master data type if the attribute is used in a planning area, or in a master
data type that is built on the master data type you want to change.
Caution
If you remove an attribute from a master data type, the already existing data for this attribute is deleted
from the master data records.
Other master data types that use the same attribute are not affected.
Key Attributes
In case of a simple master data type, you can specify additional attributes as key attributes. However, if
master data records already existed for the master data type before you set an additional attribute to key, the
attribute cannot be empty in any of the master data records.
The master data type must have at least one key attribute. You can change a key attribute to a non-key
attribute if the remaining key combination still has only unique values for all existing master data records.
Compound master data types contain all key attributes of the component master data types, and cannot
have any other key attributes. The component master data types cannot have the same key attributes. If you
change the key attributes in a component of a compound master data type, you must update the keys of the
compound master data type as well.
Reference master data types must use all key attributes of the referenced master data type as key. Each key
attribute of the referenced master data type must be used as a referenced attribute in the reference master
data type that is built on it.
If you change the key attribute of the master data type the reference master data type is built on, you must
update the key of the reference master data type as well.
An external master data type must contain all the keys of the external data source.
You must activate the master data type and all other entities that use the master data type (planning areas,
other master data types) for the changes to take effect.
Required Attributes
Each key attribute of a master data type is a required attribute. You can specify additional attributes as
required, or you can change a non-key required attribute to not required at any time. However, if master data
records already existed for the master data type when you set an additional attribute to required, make sure
that the master data records for this attribute do not contain empty or null values.
When creating master data, you need to provide values for the required attributes, but you don’t need to
provide them when you update or delete master data.
You must activate the master data type for the changes to take effect.
Caution
Do not use this feature to track general changes to a master data type because this may lead to
performance problems.
Related Information
The Master Data Types app allows you to delete master data types one by one or to select multiple master data
types for deletion and delete them all at once by choosing Delete.
You can include master data types with different statuses in your selection. The different statuses are handled
differently by the deletion, and whether a master data type can be deleted also depends on whether it is used
by other entities.
If a master data type is not assigned to any other model entities and has never been activated, you can delete it
without taking any additional action.
If the master data type that you want to delete is used in other entities, you must work top down to remove the
master data type from each model entity as follows:
• If the master data type is assigned to a planning area, delete the master data type from the planning area
by marking it for deletion, then activate the planning area.
Note
If the planning area is enabled for supply planning, first deselect Enable Supply Planning under Planning
Area Settings. Then delete the master data type from the planning area, enable supply planning, and
activate the planning area again.
Repeat this for all planning areas where the master data type is used.
• If the master data type to be deleted is used as a component in a compound master data type, delete the
master data type from the compound master data type and activate the compound master data type.
Note
You can delete a component from a compound master data type only if no data exists for the
compound master data type.
Note
You can delete a reference master data type only if it is not used in any higher-level entities, such as a
planning area, or other master data types. Before deletion, you must delete it from all planning areas
and master data types.
After deleting the master data type from all entities using it, you can delete the master data type itself.
Note
If you also want to delete the compound or virtual master data type that uses the master data type in
question, you can delete them together in one step. You can also delete the reference master data type that
uses the master data type to be deleted together with the master data type itself.
Master data types with different statuses are handled differently by deletion, as follows:
Related Information
If your company stores master data records that contain personal data, changes to this data can be tracked,
viewed, and downloaded if required.
To use this feature, you first need to define the corresponding attributes as personal data in the Master Data
Types app. You can define this setting for both simple and compound master data types. To do this, you need to
select the Personal Data checkbox and activate the master data type. You can change this setting at any time.
The changes will be stored in the system for 90 days. You can change this retention time using the
PERSONAL_DATA_CHANGE_LOG_AGE global configuration parameter.
Do not use this feature to track general changes to master data because this may lead to performance
problems.
You can view and download changes to personal data in the View Personal Master Data Changes app.
Related Information
Time Profiles define a time interval used for managing planning data.
A time profile is made up of time profile levels (for example, months, quarters, or years). Each level is made up
of periods, which are identified by a number, and describe the start and end time of the time period in question.
If you want to perform aggregation or disaggregation along time, then the periods on different levels need
to form a hierarchy. In this hierarchy, time profile levels can have multiple parents, and there can be time
profile levels without a parent level. For more information about setting up your planning model for aggregating
and disaggregating data across different time levels, see Configuring Aggregation and Disaggregation of Data
Across Different Time Profile Levels [page 51].
Example
The sample models delivered with IBP also provide time profile definitions. Launch the Sample Model Entities
app to see the time profiles delivered with SAP Integrated Business Planning. You can either copy one of these
time profiles or create one from scratch in the Time Profiles app.
After creating and activating a time profile, you must load a time profile data file, or schedule an application job
to create the time periods.
The PERIODID and PERIODID(n) attributes are technical attributes. The PERIODID(n) attribute is the
hierarchy level ID for the time period. The PERIODID attribute identifies a specific time period, and not a time
profile level. For example, 25503 is the PERIODID for May 2016 as a time period, and 25504 for June 2016. You
won't find these attributes in the Time Profiles app, but you may need them when defining calculations for key
figures or attribute transformations.
The assignment of PERIODID(n) attributes varies according to the time profile ID and levels that have been
defined. PERIODID0 represents the lowest time profile level. If the time profile has multiple time profile levels,
then PERIODID1 represents the highest level. The next PERIODID(n) value represents the next highest time
profile level.
For example, if a time profile is defined with the levels "Day", "Technical Week", "Week", "Month", and "Year", the
assignment is as follows:
Prerequisites
Make sure you have the necessary authorizations for this activity, that is, the business catalogs required for
this activity are assigned to a business role that is assigned to your business user. For more information see the
SAP Help Portal at http://help.sap.com/ibp, under Application Help for SAP Integrated Business Planning
Identity and Access Management Basic Concepts Business Catalogs .
Procedure
Note
If you select the time profile levels, that is, they are created automatically from a template, you can't
change the base level of any time profile level, you can only extend the time profile with a less granular
time profile level. If you want to use a custom structure for the time profile, create one from scratch.
3. On the New Time Profile screen, provide the details for the time profile.
Make sure that the time profile levels form a sequence based on the period type. For example, a time profile
level that has the period type “day” must come before the one that has “month”, and “month” must come
before “quarter”.
Note
The default display horizon that you set for a time profile level determines the default time period that is
preselected for the relevant time profile level on the Time Settings tab of the Create New Planning View
screen of the SAP Integrated Business Planning, add-in for Microsoft Excel (SAP IBP, add-in for Microsoft
Excel). The values in the default display horizon fields are relative to the current period. For example, if the
current period is May 2020, and you set 0 for Default Display Horizon in the Past, and 6 for Default Display
Horizon in the Future, then the preselected values for monthly periods are May 2020 in the From field and
October 2020 in the To field of the Time Settings section.
4. Optional: Assign attributes to the time profile levels.
Note
You can assign any attribute to a time profile level, except for attributes with decimal data type.
If the External Time Series checkbox is selected for your planning area, do not assign an attribute that
has DATE as an ID to a time profile level because it will not be propagated to the calculation scenarios.
A time period is a specific instance of a time profile level, which is identified by a number and has a start date
and an end date.
Time periods are generated for days, (technical) weeks, months, quarters, and years. The start and end dates
for the time periods are taken from the selected time profile. The following figure illustrates how technical
weeks work:
You have three options to create time periods once you have an active time profile:
• You can generate time periods using an application job in the Application Jobs app.
• You can download a template with time periods in the Data Integration Jobs app and then upload them
from the comma-separated values (CSV) file.
• You can upload time periods from SAP Cloud Integration for data services.
Recommendation
Use the data integration jobs and SAP Cloud Integration for data services options if you are working with
complex time profiles, that is, time profiles that contain time profile levels of the custom period type, or if
you have assigned attributes to time profile levels.
Related Information
Prerequisites
Make sure you have the necessary authorizations for this activity, that is, the business catalogs required for
this activity are assigned to a business role that is assigned to your business user. For more information see the
SAP Help Portal at http://help.sap.com/ibp, under Application Help for SAP Integrated Business Planning
Identity and Access Management Basic Concepts Business Catalogs .
Context
We recommend that you use this option because in the comma-separated values (CSV) file, you can modify the
period description if needed, and if you use time profile attributes, you can fill the attributes with data before
loading the time periods for the time profile into the system.
Procedure
Results
A file is generated for you to use as a template with the correct, comma separated headers for your data type.
You can now fill out the template with the correct values, save it, and use it to upload data to the system.
Note
Before uploading time periods using a template that is prefilled with existing time periods, make sure that
the numbering in time period descriptions of weeks and technical weeks are correct. For more information,
Next Steps
Use the Application Jobs app to generate time periods for the selected time profile.
Prerequisites
Make sure you have the necessary authorizations for this activity, that is, the business catalogs required for
this activity are assigned to a business role that is assigned to your business user. For more information see the
SAP Help Portal at http://help.sap.com/ibp, under Application Help for SAP Integrated Business Planning
Identity and Access Management Basic Concepts Business Catalogs .
You have activated the time profile for which you want to create time periods.
Context
You can use this option for time profiles that only contain time profile levels with a period type specified. For
time profiles with custom time profile levels (with no period type defined), please use the Data Integration Jobs
app or upload time periods from SAP Cloud Platform Integration for data services. For more information see
Options for Creating Time Periods [page 46].
Procedure
Next Steps
Find your job in the list of application jobs to check the status of your job. When your job has finished, you can
also see the related log messages.
Tip
Application jobs create generated descriptions for time periods. You can modify time period descriptions
using the Data Integration Jobs app by downloading the template for time profiles prefilled with existing
time periods, editing the descriptions, and uploading the data. For more information, see the SAP Help
Portal at http://help.sap.com/ibp under Data Integration Scenarios Data Integration Jobs Uploading
Data from a CSV File Uploading Time Periods .
Related Information
You may want to change a time profile. However, you’ll find that not all fields on the time profile screen are
available for editing. The changes you can do depend on the following factors:
Note
If you have created and saved a time profile, but have not activated it yet (that is, only an inactive instance
of the time profile exists), you can change any parameters of the time profile. You can also delete the time
profile.
If a time profile has already been activated (even if it currently has an inactive instance), certain rules apply
regarding the fields or parameters that you can change or delete.
Description
You can change the description of a time profile at any time.
You have to activate the time profile for the changes to take effect.
Note
If changing the start and end date of the time profile extends its entire validity period, in other words, if
the new start date is earlier than the old start date or the new end date is later than the old end date, no
time periods will exist for these parts of the time profile. In this case, create the missing time periods by
uploading them or by using the application job for creating time periods.
Caution
If the time profile is already used in a planning area and transactional data exists, changing the time profile
dates is not recommended as it may cause issues.
Recommendation
We recommend that you define the start and end date of the time profile in such a way that no changes to
the dates are needed. For example, define the end date many years in the future.
You can change the base level, the period type, and the default display horizon of time profile levels.
If time periods already exist for the time profile, even if the time profile isn’t assigned to any planning areas, and
you add a new time profile level, you’ll have to upload the time periods again.
If the time profile is already assigned to a planning area, you can’t add new time profile levels.
You have to activate the time profile for the changes to take effect.
To set an attribute to required, you must have data uploaded for the attribute for each time period. You can
activate the time profile only if all time periods are uploaded with a value for this attribute (empty values are not
allowed).
If time periods already exist for a time profile, you can add a new required attribute in two steps. First, assign
the attribute to the time profile level without setting it to required. Activate the time profile, then upload the
time periods with this attribute filled out. Make sure that you don’t change any other data for the already
existing time periods. As the last step, in the time profile definition, mark the attribute as required.
You have to activate the time profile for the changes to take effect.
You can delete a time profile only if it is not assigned to any planning areas. You delete an active time profile in
two steps. First, when you delete the active time profile, the system creates a new instance of the time profile,
which has the pending deletion status. When you activate the time profile, the system carries out the deletion:
both instances (active and pending deletion) are deleted.
If you delete a time profile, the time periods that belong to the given time profile are deleted as well.
Several applications of SAP Integrated Business Planning, which work with different time profile levels and
time horizons, may use the same planning area. Therefore, the values of the common key figures must be
aggregated and disaggregated across different time levels.
Prerequisites
Make sure you have the necessary authorizations for this activity, that is, the business catalogs required for
this activity are assigned to a business role that is assigned to your business user. For more information see the
SAP Help Portal at http://help.sap.com/ibp, under Application Help for SAP Integrated Business Planning
Identity and Access Management Basic Concepts Business Catalogs .
Your time profile includes a time profile level with technical week period type. This time profile level is the base
level of the time profile levels with week and month period type.
Context
The aggregation and disaggregation of data across different time levels can be realized by a specific modeling
concept, which is built on the modeling of time profile levels with multiple parents and that of intermediate
levels without parents. If you apply this “week-to-months split” modeling concept after weeks and months have
been aggregated, you can aggregate and disaggregate key figure values across different time levels.
You can also apply this modeling concept for aggregation and disaggregation between custom overlapping
periods. Use the custom (empty value) period type to define such a time profile. Make sure to model the
relationships between the time profile levels using the Base Level field.
Procedure
In the Attributes app, define one or more attributes that represent the period weight factor. Typically, the
number of workdays or calendar days is used as the period weight.
You can assign an attribute to the time profile level of the selected time profile in the Time Profiles app.
3. Activate your time profile.
You can activate your time profile in the Time Profiles app.
4. Upload time periods with period weight factors into the time profile.
Use the Data Integration app to get a CSV file template for the time profile. Fill out the template with the
data of the time periods, including the period weight factors, then upload the file to create the time periods.
Note
If you apply the week-to-months split modeling concept, you have to use either the Data Integration
app or the SAP Cloud Platform Integration for data services to create the time periods. If you create the
time periods by scheduling an application job, they will lack the period weight factors. This can result in
inaccurate aggregation and disaggregation between different time profile levels.
5. Assign the period weight factor attribute to the relevant planning levels.
If you want to read and write key figure values in both (calendar) weeks and months, select the technical
week time profile level as the root in the base planning levels used in the given key figures. Also assign the
period weight factor to the base planning level of the key figure. You do this on the Planning Levels tab in
the Planning Areas app.
6. Assign the period weight factor attribute to the relevant key figures.
You must specify the period weight factor for each key figure whose values you would like to access in both
weeks and months. To do this, go to the Key Figures tab in the Planning Areas app, and select the attribute
you created for the period weight factor.
Note
You can assign a period weight factor to a key figure only if the disaggregation mode of the key figure is
Equal with or without proportional disaggregation defined.
If you store key figures at technical week level, but you want to run forecast at calendar week level, then you
must have at least one stored key figure at calendar week level.
A planning area is a model entity that defines the structure and forms the backbone of the planning process. A
planning area consists of its assigned time profile, attributes of master data types, planning levels, key figures,
and versions. You could compare this to SAP APO or SAP ERP, where tables, table values, and configuration are
defined to support the planning process.
Planning areas can contain multiple planning data sets, that is, a base version data set and additional version
data sets. The versions are for alternative plans for all or part of what is in the base version and need
to be configured and activated. Versions can share master data with the base version or can be based on
independent sets of version-specific master data. Scenarios defined by users also exist, which lie on top of the
versions (including the base version).
SAP delivers sample planning areas with the SAP Integrated Business Planning for Supply Chain solution (SAP
IBP), which you can use as a basis for creating your own planning areas. You can select and copy the sample
planning area that best suits your business needs and then customize the resulting planning area.
A company can have multiple planning areas to enable the processes of SAP IBP in different business units.
Note
As you can use the SAP Integrated Business Planning, add-in for Microsoft Excel for only one planning area
at a time, there are limitations to this use case.
Separate planning areas are also used for configuration work to separate on-going configuration activities from
end-user testing, for example, or to separate the work from different project phases. For more information, see
Best Practices for Exporting Planning Models [page 363].
CUSTTYPE CUSTOMER
LOCTYPE LOCATION
PRDID PRODUCT
PRDDESC PRODUCT
MKTSGMNT CUSTOMERPRODUCT
CMPNTID COMPONENT
• Planning levels
• Key figures
• Versions (optional)
• Assigned planning operators (optional)
• Additional parameters, such as the enablement of the planning area for supply planning or for change
history
To be able to upload data into a planning area, you need to activate it. A planning area can have the following
statuses:
• Inactive
The planning area has not yet been activated or has been changed and saved since the activation.
• Active
The planning area has been activated.
• Pending deletion
The planning area has been marked for deletion and has not been activated since.
For more information about activation-related statuses, see Statuses of Model Entities [page 292].
In addition to these statuses, planning areas that are used for specific application areas may also have
application-specific statuses. These statuses are based on checks or tasks relevant to the application area
concerned and are shown for planning areas that have already been activated or are being activated. Based
on the result or progress of the check or task in question, the planning area can have the following application-
specific statuses:
• Error
• Warning
• Running (the relevant check or task is running)
• Pending (Activation has started and the application-specific check or task is pending)
• OK
The planning area worklist and the General section of the planning area details screen show an aggregated
status based on all the application-specific statuses available for the planning area.
Related Information
The Sample Model Entities app provides display access to sample SAP planning areas, which are shipped with
SAP Integrated Business Planning for Supply Chain (SAP IBP). You can use sample planning areas as a basis
for creating your own planning areas.
Caution
We use the sample model entities in many examples throughout the user assistance for SAP IBP. In general,
you have the freedom to customize the model entities according to your business needs.
However, to run the inventory operators and time-series-based supply planning algorithms, you have to use
specific technical IDs defined by SAP for the relevant master data types, attributes, and key figures. For
demand sensing, the same applies to certain master data attributes and key figures for which a business
meaning has not been specified.
For more information, see the documentation of the relevant planning operator in this guide and the
respective chapter of the application help.
The following table lists the planning areas that are available:
SAP3 Inventory
SAP6 Demand
SAP7 Order-based planning sample planning area based on external master data
Note
As of release 2211, the SAP7 sample planning area is hidden in the
Sample Model Entities app in systems, where no no existing planning
area was copied from SAP7 so far. We strongly recommend you to only
start new projects based on the SAP7F sample planning area.
Be aware that any project you start now based on the SAP7 sample
planning area will eventually need to be adapted to a model based on
flexible master data, such as the SAP7F sample model.
To use the SAP7 sample planning area, you need to make assignments in
the Settings for Order-Based Planning app. In this app, you map attributes
and select key figures, for example. For more information, see Settings
for Order-Based Planning and Selecting Your Master Data Configuration
Model.
Note
Note
If you need a planning area for order-based planning and time-series-
based supply planning, we recommend that you use a combination of
the SAP7 and SAP4 sample planning areas. If you require time-series
input such as forecast, you can copy it from SAPIBP1 as described in
SAP Best Practices for SAP Integrated Business Planning. For more
information, see http://rapid.sap.com/bp/rds_ibp .
SAP7F Order-based planning sample planning area based on flexible master data
(see Getting Started Using Order-Based Planning with Flexible Master
Data)
SAPIBP1 The unified planning area is a comprehensive sample planning area that
supports an integrated planning process covering all of the following:
• Demand planning
• Demand sensing
• Inventory optimization
• Supply planning (time-series-based supply planning algorithms)
• Sales and operations planning
• SAP Supply Chain Control Tower
You can use the unified planning area SAPIBP1 to jump-start the imple
mentation in case your business process requires integration across dif
ferent SAP IBP applications. Just like any other sample planning area,
this planning area delivers a pre-built integration scenario which you can
customize to fit your unique requirements. You can also use the unified
planning area for the separate SAP IBP applications by copying only the
part of the planning area that you need for that specific application. For
more information about copy options for the SAPIBP1 planning area, see
Creating a Planning Area by Copying a Sample Planning Area [page 62].
Note
For more information about an integrated planning process using the
unified planning area, see the application help on the SAP Help Portal
For the integrated planning process based on the unified planning area,
the SAP Best Practices for SAP Integrated Business Planning pro
vides sample data, planning view templates, predefined dashboards,
configuration guides, test scripts and more. Customer test tenants and
IBP Starter Edition instances include an activated copy of the unified
planning area with the sample content.
The following table shows the scope of the sample planning areas:
Multi-level No No No Yes No No No No
supply
planning
(time-ser
ies-based
shelf life
planning
heuristic)
Order- No No No No No Yes No No
Based Plan
ning
To access these planning areas, launch the Sample Model Entities app.
As well as these planning areas, small sample planning areas with examples of advanced configuration to meet
different business requirements are provided in SAP Notes, together with information on how to request L-code
if configuration can't meet your requirements. The SAP Notes are listed in the following table:
2240173 Calculation of Average and Weighted Value of Price Key Figures (Including Unit of
Measure and Currency Conversion)
2240178 View Monthly Key Figures at Weekly Level Based on Number of Weeks in the Month
SAP provides multilanguage support for the sample planning areas. Translations in all languages supported by
SAP IBP are available for following sample content:
If you enable multilanguage support in the Multilanguage Support app, you can handle these properties in the
logon language of your application. For more information, see Setting Up Multilanguage Support for Modeling
Objects [page 350].
You create a planning area to group and structure your model entities, and to configure which processes of SAP
Integrated Business Planning for Supply Chain are enabled.
Before configuring your planning area, SAP recommends that you create a blueprint based on the customer
requirements to map the business processes to a planning area. This blueprint describes the business
processes as they are and also as they are to be. A blueprint outlines the key business functions and the
required scope and identifies the master data types, attributes, data integration, key figures, and calculations
that need to be modeled in the system.
Depending on your needs, you can use any of the following options to create a new planning area:
You can create your own planning area by copying a sample planning area that suits your business
requirements and then extending or modifying the new planning area as needed.
Prerequisites
Make sure you have the necessary authorizations for this activity, that is, the business catalogs required for
this activity are assigned to a business role that is assigned to your business user. For more information see the
SAP Help Portal at http://help.sap.com/ibp, under Application Help for SAP Integrated Business Planning
Identity and Access Management Basic Concepts Business Catalogs .
Context
You can create a copy of any sample planning area using the Create New with Dependencies copy option. This
option copies the configuration of the source planning area with a new ID, including all dependencies of the
planning area; that is, the time profile and all the master data types associated with the planning area.
For the unified planning area (SAPIBP1) you can also use the Create New by Partial Copy option. This option
enables you to copy only the configuration (key figures, master data attributes and dependent objects)
relevant to the applications that you specify for the target planning area. When copying SAPIBP1, the Create
New with Dependencies option allows you to filter for key figures relevant to specific applications, but the new
option also allows you to exclude the master data types and master data attributes that are not relevant to
SAPIBP1 and the applications selected, as well as dependent objects of those master data attributes from the
copy. SAP recommends that you use the Create New by Partial Copy option for copying SAPIBP1 to keep the
number of objects copied at the minimum and thus allow for the creation of a lean planning area.
For more information, see Create New with Dependencies [page 64]and Create New by Partial Copy [page
67].
Procedure
1. In the Sample Model Entities app, select a sample planning area based on your business requirements.
If you want to use SAP Integrated Business Planning for demand sensing, for example, copy the SAP6
planning area. If you want to use more than one process, for example, demand and inventory, you could
create a copy or partial copy of the SAPIBP1 planning area, filtered for the relevant applications.
2. After selecting the source planning area, choose Copy. The copy options that are available for the specific
planning area selected are shown in the Copy Planning Area dialog.
SAP recommends that you use the Create New by Partial Copy option for copying the SAPIBP1 planning
area. This option enables you to keep the number of objects copied at the minimum and thus allows for the
creation of a highly performant planning area.
4. Enter an ID for the target planning area.
Use a unique ID that is up to 10 characters long, contains alphabetic or alphanumeric characters, and
starts with a letter, for example, ABCMODEL2. When copying an SAP sample planning area, you can keep
the ID of the source planning area, or enter an ID of your own.
5. Enter an ID for the new time profile.
Use a unique ID that is up to nine characters long and only contains numeric characters.
6. Enter a target prefix for the master data types.
The prefix must be unique in your system, can only contain alphanumeric characters, and can be one to
three characters long. It must start with a letter.
7. If you are copying the SAPIBP1 planning area, set at least one filter for the copy.
If you use the Create New with Dependencies option, this filter determines which subset of SAPIBP1 key
figures will be available in the new planning area, but all other dependencies of SAPIBP1 are copied.
If you use the Create New by Partial Copy option, the filter determines which part of the configuration is
copied, and all dependencies of SAPIBP1 that are not relevant to the application or applications selected
are excluded from the copy.
8. Make any optional copy settings available for the specific sample planning area that you want to copy.
9. Choose Copy in the dialog to copy the planning area.
10. After the copy, can navigate to the new planning area, which contains master data types with the prefix
that you have specified.
The names of the attributes, key figures, and planning level in the new planning area will be the same as in
the source planning area.
When you use the Create New by Partial Copy for copying SAPIBP1, a Summary dialog is displayed after
the copy, which also allows you to view the status of the copy, number of warnings or errors, and the list of
objects created with the copy. From the dialog, you can navigate to the new item or view the log entries for
the copy in the Application Logs app.
11. Adjust your planning area as needed.
Caution
We use the sample model entities in many examples throughout the user assistance for SAP IBP. In
general, you have the freedom to customize the model entities according to your business needs.
However, to run the inventory operators and time-series-based supply planning algorithms, you have
to use specific technical IDs defined by SAP for the relevant master data types, attributes, and key
figures. For demand sensing, the same applies to certain master data attributes and key figures for
which a business meaning has not been specified.
For more information, see the documentation of the relevant planning operator in this guide and the
respective chapter of the application help.
SAP recommends that you try out any changes to your planning area in a test environment (including
activating the planning area and testing the results) before you export and import changes to the
production system.
Check the integrity of the planning area and activate it. This generates the underlying database artifacts.
You can activate the planning area with its dependent time profile and master data types, or you can
activate the time profile and the master data types first and then activate the planning area.
Recommendation
Note
If you want to change your planning area later, SAP recommends that you create a new entity (for
example, an attribute or a time profile), and use it in your planning area, instead of changing the
existing entity that has already been in use in an active planning area.
Use the Data Integration app to import time profile data, master data, and key figure data into the planning
area.
Related Information
The create new with dependencies option creates an exact copy of the source planning area with a new ID
and copies the master data types and the time profile of the planning area as well. It is available for all sample
planning areas.
Recommendation
For the unified planning area (SAPIBP1), you can also use the Create New by Partial Copy option. For more
information, see Create New by Partial Copy [page 67]. SAP recommends that for copying SAPIBP1 you
use the Create New by Partial Copy option, which enables you to keep the number of objects copied at the
minimum and thus allows for the creation of a lean planning area.
You use the create new with dependencies option to create a new planning area by copying the following
configuration from the source planning area:
Note
When you copy an SAP sample planning area using the create new with dependencies option, the
attributes are copied with the ID that they have in the source planning area.
Note
If you copy an attribute from a sample planning area with this option, change it, and then copy the
same planning area again, the changes you made to the attribute will be overwritten. However, if you
have extended the length of such an attribute, a subsequent advanced copy of the same sample
planning area will not overwrite the changed length. For more information see Extending the Length of
an Attribute [page 16].
To use the Create New with Dependencies option, in the Sample Model Entities app, select the sample planning
area that you want to copy and choose Copy. Specify IDs for the new planning area and time profile, specify
the master data type prefix that you want to use in the new planning area, and make any special copy settings
relevant to the sample planning area selected.
• Demand planning
• Demand sensing
• Inventory optimization
• Sales and operations planning and supply planning
Note
Note
If you have made a copy of the unified planning area that does not include supply planning, that is, you did
not apply the sales and operations planning and supply planning filter, you need to check the Enable Supply
Planning setting in the new planning area and if necessary, you need to switch it off manually. If you disable
supply planning for the new planning area, you also need to make sure that the Input/Output for Supply
Planning field contains no value in any of the key figures (and thus the field itself is not shown). When the
planning area is no longer enabled for supply planning and you open a key figure that has a value in the
Input/Output for Supply Planning field for editing, the field is automatically cleared and you only need to
save the key figure.
Note
If you use the Create New with Dependencies option, the filters only determine the set of key figures copied.
No matter which applications you specify, all the dependencies associated with the SAPIBP1 planning
area are copied, including all attributes of the sample master data types, which are shared by all sample
planning areas, and their dependent objects.
To set the filters for the copy, open the Sample Model Entities app, find the SAPIBP1 planning area and choose
Copy. Select the Create New with Dependencies option and in the dialog select the relevant filters.
Note
The ad-hoc filters are set to the sample data coming with the SAP Best Practices for SAP Integrated
Business Planning. To use them with your own data, you need to adjust the pre-configured ad-hoc filters to
the values used in your data.
To copy analytics and alerts, select the checkbox. The following content types are copied:
The sample content is based on the processes described in the SAP Best Practices for SAP Integrated
Business Planning available in the SAP Best Practices Explorer .
Note
If you apply filters for partial copy and also select Copy Analytics and Alerts when you copy the sample
planning area, only those sample analytics and alerts are copied for which all key figures are part of the
target planning area.
After the copying process is completed, you have to perform the following steps:
1. Share the dashboards with user groups or users in the Dashboards - Advanced app.
2. Share the alert definition and alert subscriptions with user groups or users in the Define and Subscribe to
Custom Alerts app.
3. Optional: Create categories in the Manage Categories app.
4. Optional: Assign categories to dashboards in the Dashboards - Advanced app.
5. Load best practices sample data or your own data.
Related Information
The Create New by Partial Copy option is a special copy option that is only available for the unified planning
area (SAPIBP1).
It is an alternative to the Create New with Dependencies option for copying SAPIBP1, the key difference being
that the Create New by Partial Copy option enables you to copy only the configuration (key figures, master
data attributes, and dependent objects) relevant to the applications that you specify for the target planning
area. As opposed to the Create New with Dependencies option, which only allows you to filter for key figures
relevant to specific applications, the Create New by Partial Copy option also allows you to exclude the master
data types and master data attributes that are not relevant to SAPIBP1 and the applications selected, as well as
dependent objects of those master data attributes from the copy.
Sample master data types, which have the IBP prefix, are shared across sample planning areas. This means
that when you create a copy of the SAPIBP1 unified planning area using the Create New with Dependencies
Recommendation
SAP recommends that you use the Create New by Partial Copy option for copying the SAPIBP1 planning
area since this option enables you to keep the number of objects copied at the minimum and thus allows
for the creation of a lean planning area.
To use the Create New by Partial Copy option, in the Sample Model Entities app, select the SAPIBP1 planning
area and choose Copy. Specify IDs for the new planning area and time profile, specify the master data type
prefix that you want to use in the new planning area, and select one or more applications as filters for the
partial copy.
Your selection of applications not only determines the set of key figures that will be included in the target
planning area, but also the set of master data attributes and dependent objects that will be copied. Only the
objects relevant to the application or applications selected and the dependent objects that are required for the
configuration will be included in the copy. The resulting planning area can be activated without making any
changes to the configuration on the target side.
Note
Since the Create New by Partial Copy option only copies what is directly related to one of the applications
that can be selected, there are master data types that don’t get copied in any selection of applications.
For example, the unified planning area (SAPIBP1) shares master data types and attributes with the SAP4S
planning area. However, the applications that can be selected in the partial copy do not use any of the
master data types and attributes that are specific to only shelf life planning. For more information about the
master data types of the SAP4S sample planning area, see Master Data Types.
Note
Just as Create New with Dependencies, the Create New by Partial Copy option copies the time profile with
the new ID that you specify.
After the copy run, a Summary dialog is displayed, which allows you to view the status of the copy (Completed,
Completed with Warnings or Completed with Errors, the number of warnings or errors, and the list of objects
copied. From the dialog, you can navigate to the new planning area or view the log entries for the copy in the
Application Logs app.
You can use the Planning Areas app to create planning areas without relying on the sample content delivered by
SAP.
Prerequisites
Make sure you have the necessary authorizations for this activity, that is, the business catalogs required for
this activity are assigned to a business role that is assigned to your business user. For more information see the
SAP Help Portal at http://help.sap.com/ibp, under Application Help for SAP Integrated Business Planning
Identity and Access Management Basic Concepts Business Catalogs .
Make sure you have already carried out the following tasks:
Context
You create a planning area to group and structure your model entities, and to configure which processes of SAP
Integrated Business Planning for Supply Chain are enabled.
Procedure
The planning area ID can be up to 10 characters long, can contain numbers and letters and can only start
with a letter.
3. Under Planning Area Settings, specify settings for the planning area.
Enable Supply Planning Enables the use of advanced supply planning functions,
such as heuristics and optimizers.
Enable External Time Series Enables the configuration for the usage of external key
figures.
Integration Profile This option is available for planning areas that are enabled
for external time series. Enables you to select an integra
tion profile.
Enable Change History Enables change history for the planning area.
Caution
If you select the Enable Change History checkbox, and
later decide to deselect it, the previously recorded
change history of the planning area will be deleted
upon the next activation of the planning area.
Enable Change-History-Based Key Figure Calculations Enables operations on historical key figure values that
were captured using the change history, or the shared
data tracking feature in business network collaboration.
4. Under Time Settings, select a time profile for the planning area.
The settings for Planning Horizons define the possible period ranges that you can use for your planning
view in the SAP Integrated Business Planning, add-in for Microsoft Excel (SAP IBP, add-in for Microsoft
Excel). The values for the Periods in the Past and the Periods in the Future fields determine the range of
values that you can select for the From and To fields on the Time Settings tab of the Create New Planning
View screen.
The values for the Periods in the Past and Periods in the Future fields are filled automatically based on the
selected time profile. You can change the values, but you should always make sure that the values do not
exceed the start and end dates of the time profile and that you define a broader horizon than the default
display horizon for the time profile level. The values in the Periods in the Past and Periods in the Future
fields are relative to the current period. For example, if the current period is May 2020, and you set 12
periods in the past and 6 periods in the future, the user can choose to view data from the periods between
May 2019 and November 2020 in the Excel add-in. The user will not be able to view data from periods
before or after this horizon, even though this data might exist in the system.
5. Under Time Settings, change the value of the Current Period Offset.
The current period offset allows you to shift your planning period. For example, -1 means the current
period starts from the previous period of the lowest time profile level. This means, if, for example, the
lowest time profile is month, the planning period starts from the previous month.
6. Save the planning area.
Next Steps
You can create a new planning area by copying an existing non-sample planning area with a new ID.
To access the copy options for your planning areas, open the Planning Areas app, select the planning area you
want to copy and choose Copy.
You can use the following options to create a new planning area:
• Create New
Creates an exact copy of the source planning area with a new ID, but doesn't copy the time profile, master
data types, or attributes associated with the planning area.
Use this option to copy your own planning area if you want to use the same set of master data types and
the same time profile and only want to make changes to the configuration in the target planning area.
• Create New with Dependencies
Copies the planning area and also the associated master data types and time profile.
Use this option to copy a planning area if you want to create a planning area that contains a different set of
master data types and that uses a different time profile.
Note
When you copy a planning area using Create New with Dependencies, you need to replace the existing
prefix in master data type IDs with a different one.
Caution
When you use any of these options to copy a planning area that has both an active and an inactive
instance, it is always the active instance that gets copied. Changes made to the planning area since the last
activation are not included in the copy.
Note
You can't copy favorites, templates, or user-defined filters with any of these copy options.
Prerequisites
Make sure you have the necessary authorizations for this activity, that is, the business catalogs required for
this activity are assigned to a business role that is assigned to your business user. For more information see the
SAP Help Portal at http://help.sap.com/ibp, under Application Help for SAP Integrated Business Planning
Identity and Access Management Basic Concepts Business Catalogs .
Procedure
1. In the Planning Areas app, find the planning area you want to assign attributes to and open it.
2. On the Attributes tab, choose Add.
3. Select the attributes you want to add to the planning area and click the Add button on the dialog screen.
When adding a single new attribute to your planning area, you can also assign the attribute to planning
levels in a single step using the Add and Assign to Planning Levels function. This option is not available
when adding multiple attributes to the planning area.
In SAP Integrated Business Planning, add-in for Microsoft Excel, you can use the attributes you assigned to
a planning area when you create a planning view.
Remember
Make sure you only add attributes to the planning area that you want to use in planning levels.
4. Make settings for the attributes you added to the planning area.
Planning Area Attribute Description The system fills this field automatically with the descrip
tion of the attribute. The user can change the description
in the planning area. The new value is only available for the
attribute in the planning area in which it was changed. This
description is visible in the IBP Excel add-in.
Planning Level Independent Attributes that are assigned to the planning area but are
not relevant to planning levels are marked as planning
level independent.
Related Information
In the Planning Areas app, on the Attributes tab of the planning area, you can assign an attribute category to a
planning area attribute.
The attribute category specifies whether master data has to exist for the attribute when new planning objects
are added in the SAP IBP, Add in for Microsoft Excel or during data integration. By default, all attributes have
the category NULL (optional).
Example
The key figures KF1 and KF2 are stored at the MTHLOCPRD (Month-Location-Product) planning level. Month,
PRDID, and LOCID are root attributes of the MTHLOCPRD (Month-Location-Product) planning level. ATTR1
The LOCATIONPRODUCT (Location Product) master data type contains the following data:
L1 P1
L2 P2
Month Yes -
ATTR1 No LOCATIONPRODUCT
The planning area contains data for key figures KF1 and KF2 for location-product combinations (L1-P1),
(L2-P1), and (L2-P2):
Then, the planning area configuration is changed such that ATTR1 is set as a mandatory attribute in the
planning area. Now only those location-product combinations are allowed to exist for the MTHLOCPRD
(Month-Location-Product) planning level that are also present as location-product combinations in the
LOCATIONPRODUCT (Location Product) master data type. As a result of this change, location-product
combination (L2-P1), and the associated key figure data are no longer valid in the planning area:
• Any attempt to load key figure data for location-product combinations of the MTHLOCPRD (Month-
Location-Product) planning level that are not present as location-product combinations in the
LOCATIONPRODUCT (Location Product) master data type results in the rejection of such key figure
data records.
• Deleting any location-product combinations from the LOCATIONPRODUCT (Location Product) master
data type also deletes the corresponding location-product combinations from the MTHLOCPRD (Month-
Location-Product) planning level, and the associated key figure data from the planning area.
• To delete the location-product combinations that are not present as location-product combinations
in the LOCATIONPRODUCT (Location Product) master data type from the MTHLOCPRD (Month-Location-
Product) planning level, and the associated key figure data from the planning area, run the Purge
Non-Conforming Planning Area Data application job.
Choose a different time profile for a planning area, and perform additional required configuration steps and
data integration tasks.
Prerequisites
Make sure you have the necessary authorizations for this activity, that is, the business catalogs required for
this activity are assigned to a business role that is assigned to your business user. For more information see the
SAP Help Portal at http://help.sap.com/ibp, under Application Help for SAP Integrated Business Planning
Identity and Access Management Basic Concepts Business Catalogs .
Context
To adhere to business requirements, you want to change the time granularity at which planning data is stored
and aggregated in your planning model, so you assign a different time profile to the planning area.
You have to perform additional configuration steps and data integration tasks - including the deletion and
reupload of key figure values if key figure values already exist in the planning area - to keep the planning model
consistent and be able to activate the planning area after you have replaced the time profile.
Replacing the time profile in a planning area that has already been activated is a critical configuration task
that cannot be standardized, and may result in invalid planning data.
SAP recommends that you do a thorough test – including all the additional configuration and data
integration tasks described below – in a test environment before you make this change in the productive
environment.
SAP recommends that you consider creating a new planning area instead of replacing the time profile in a
planning area that is already in use, and contains key figure values.
Note
You don’t need to replace the time profile if the only change you want to make is assigning an attribute to
one of its levels. You can assign an attribute to a level of an active time profile that is used in a planning area
in the Time Profiles app.
Procedure
If the Planning Horizons table is filled out, overwrite the values in the From and To columns.
3. Check, and if needed, update the planning levels.
A planning level is a combination of attributes. As for time, the system uses the PERIODIDn attribute,
but displays the name of the time profile level that belongs to a specific PERIODIDn attribute. For more
information, see PERIODID and PERIODID(n) Attributes in Time Profile Levels [page 44].
The assigned PERIODIDn attribute to a time profile level may be different for each time profile.
For example, both the old and new time profiles have month as a time profile level, but in the old time
profile, month was assigned PERIODID2, and in the new time profile, PERIODID1. When using the old time
profile, PERIODID2 corresponded to month, but in the new time profile, it represents the technical week.
Check each planning level if they have to be updated because a time profile level is not available in the new
time profile, or because the assignment of the PERIODIDn attribute is different.
4. If an attribute is assigned to one or more time profile levels of the old time profile, make sure that you
carry over the attribute if it’s used in the new profile as well, or remove its usage, if it’s not needed anymore
before you activate the planning area.
Caution
Replacing the time profile in an active planning area marks the assignment of an attribute to a time
profile level for deletion.
If the same attribute is assigned to a time profile level in the new time profile, revoke the pending deletion
of the assignment of the attribute for each planning level that uses the attribute.
Key figure values are stored per time period (per the ID of a unique time period, such as April 2018). In
a different time profile, the same period ID may point to a different period, which would make the data
inconsistent.
10. Activate the planning area.
11. Upload the key figure values.
12. If the planning area includes an attribute as a key figure, upload the master data records for the master
data type that contains the attribute used as key figure.
Related Information
There are cases when you don’t want to create a new planning area with a new ID but want to use the ID of an
existing planning area, updating all or part of the configuration with different sample or non-sample content.
SAP Integrated Business Planning for Supply Chain allows you to replace the whole planning area configuration
with different content, keeping only the ID, or to merge content from another planning area with the target
planning area.
The following options are available for updating an existing planning area:
• Replace Existing
Use this option if you want to re-create a planning area with an ID that is already in use. You can overwrite
a non-sample planning area with another non-sample planning area or with a sample planning area if the
source and target planning areas include the same set of master data types, that is, the master data types
have the same prefix, ID, and configuration in both planning areas.
• Replace Existing Including Dependencies
Use this option if you want to re-create a (sample or non-sample) planning area with an ID that is already in
use and you also want to update the master data types in the target planning area.
• Merge with Existing
Use this option to combine two planning areas that contain different planning area settings but are based
on the same set of master data types. You can merge a sample planning area with a non-sample planning
area or you can merge two non-sample planning areas if the source and target planning areas include the
same set of master data types, that is, the master data types have the exact same ID and configuration in
both planning areas.
• Partial Merge
Use this option to partially merge a sample or non-sample planning area with another (non-sample)
planning area, even if the two planning areas are based on different sets of master data types. The master
data attributes and key figures that you specify for the merge and dependent objects of those primary
input objects are included in the merge. You can make detailed settings to control how objects included in
both the source and target planning areas should be handled by the merge.
Related Information
The replace existing option updates an existing target planning area based on the source planning area while
keeping the ID of the target planning area.
You can overwrite a non-sample planning area with another non-sample planning area or with a sample
planning area if the source and target planning areas include the same set of master data types, that is, the
master data types have the same prefix, ID, and configuration in both planning areas.
Note
If you use this option to overwrite a planning area with a sample one, the master data types must have
one type of prefix and it must be the same in both the source and the target planning area. If you use this
option to overwrite a non-sample planning area with another non-sample one, the master data types can
have different prefixes.
When you use this option to copy a non-sample planning area that has both an active and an inactive
instance, it is always the active instance that gets copied. Changes made to the planning area since the last
activation are not included in the copy.
Note
The replace existing option deletes configuration in the target planning area that is not included in the source
planning area, adds new configuration from the source planning area, and updates the existing configuration in
the target planning area based on the source planning area.
Note
If you replace a non-sample planning area with a sample planning area, make sure that the time profile
assigned to the sample planning area has already been copied with the same ID as in the sample
content.
Caution
If you have the same planning level in the source and target planning areas but with different root
attributes, the planning levels in the resulting planning area will have the root attributes of the source.
This might lead to inconsistencies in the existing key figure data records because the root attributes
must always contain unique values. To avoid inconsistencies in the database, make sure that the new
configuration is compatible with the existing data records, or delete the data records and upload the
data again.
Note
Note
After you have copied a planning area using this option, you need to make sure that the sources
of change you selected in the Settings for Change History app for the source planning area are also
tracked in the resulting planning area. To do that, first activate the planning area, then synchronize
the sources of change for the resulting planning area in the Settings for Change History app. For more
information about the synchronization functionality, see Settings for Change History.
The master data types, the time profile, and the attributes associated with the planning area are not copied.
The replace existing including dependencies option updates an existing target planning area as well as its
master data types based on the source planning area and its master data types.
You use this option to create a copy of the source planning area in an existing target planning area while
keeping the IDs of the target planning area and master data types. The master data types are updated as
follows:
• If the source planning area contains a master data type that is not available in the target planning area:
• If the master data type doesn't exist with the target prefix yet, a new master data type is created with
the target prefix and the source configuration, and it is assigned to the target planning area.
• If the master data type already exists with the target prefix, it is updated based on the source master
data type and assigned to the target planning area.
• If the target planning area contains a master data type that is not available in the source planning area, the
master data type is removed from the target planning area.
Note
The master data type is only removed from the planning area, it is not deleted from the system.
• If a master data type is available in both planning areas, the master data type with the target prefix is
updated based on the configuration of the source master data type.
All other configuration settings come from the source planning area.
The time profile of the target planning area is not deleted either, only its assignment to the planning area.
When using this copy option, the target planning area must be active.
Note
When you use this option to copy a non-sample planning area that has both an active and an inactive
instance, it is always the active instance that gets copied. Changes made to the planning area since the last
activation are not included in the copy.
Note
If you replace a non-sample planning area with a sample planning area, make sure that the time profile
assigned to the sample planning area has already been copied with the same ID as in the sample
content.
Caution
If you have the same planning level in the source and target planning areas but with different root
attributes, the planning levels in the resulting planning area will have the root attributes of the source.
This might lead to inconsistencies in the existing key figure data records because the root attributes
must always contain unique values. To avoid inconsistencies in the database, make sure that the new
configuration is compatible with the existing data records, or delete the data records and upload the
data again.
Note
After you have copied a planning area using this option, you need to make sure that the sources
of change you selected in the Settings for Change History app for the source planning area are also
tracked in the resulting planning area. To do that, first activate the planning area, then synchronize
the sources of change for the resulting planning area in the Settings for Change History app. For more
information about the synchronization functionality, see Settings for Change History.
• Demand planning
• Demand sensing
• Inventory optimization
• Sales and operations planning and supply planning
Depending on the filter or filters you select, the relevant planning profiles of the planning area are also copied.
Note
Note
If you have made a copy of the unified planning area that does not include supply planning, that is, you did
not apply the sales and operations planning and supply planning filter, you need to check the Enable Supply
Planning setting in the new planning area and if necessary, you need to switch it off manually. If you disable
supply planning for the new planning area, you also need to make sure that the Input/Output for Supply
Planning field contains no value in any of the key figures (and thus the field itself is not shown). When the
planning area is no longer enabled for supply planning and you open a key figure that has a value in the
Input/Output for Supply Planning field for editing, the field is automatically cleared and you only need to
save the key figure.
Recommendation
Use this option to combine two planning areas that contain different planning area settings but are based
on the same set of master data types. You can merge a sample planning area with a non-sample planning
The merge with existing option keeps all the configuration in the target planning area, adds everything new
from the source planning area, and updates the intersect configuration based on the source configuration.
Before you use the merge with existing option, make sure that the source and the target planning areas meet
the following requirements:
• They contain the same set of master data types with identical IDs and configuration.
• Their master data types have one type of prefix and the prefix is the same in both planning areas.
• They have the same storage time profile level.
• Their time profiles have the same number of time profile levels.
• The target planning area is active.
Note
If the source planning area is a non-sample planning area that has both an active and an inactive instance,
the target planning area is updated with the active instance of the source planning area. Changes made to
the source planning area since its last activation are not included in the merge.
Note
After combining two planning areas using merge with existing, you need to check certain configuration
settings in the resulting planning area to make sure that it is still consistent. For more information, see
Updating the Resulting Planning Area After Using Merge with Existing [page 86].
Note
If you merge a sample planning area with a non-sample planning area, make sure that the time profile
assigned to the sample planning area has already been copied with the same ID as in the sample
content.
• Planning area–attribute assignments of the source and the target planning area
• Planning levels of the source and the target planning area
• Planning level–attribute assignments of the source and the target planning area
Caution
If you have the same planning level in the source and target planning areas but with different root
attributes, the planning levels in the resulting planning area will have the root attributes of the source.
This might lead to inconsistencies in the existing key figure data records because the root attributes
must always contain unique values. To avoid inconsistencies in the database, make sure that the new
configuration is compatible with the existing data records, or delete the data records and upload the
data again.
Note
Version settings are only merged if your source planning area has a version that doesn't exist in your
target planning area. In this case, the full set of order-based planning settings for this version is added
to the target planning area. If, however, you have the same versions in your source and target planning
areas but some of their order-based planning settings are different, the new settings from the source
planning area are not merged. You have to add these settings manually. Also, if you have versions in
your target planning area that don't exist in your source planning area, these are not deleted by the
merge.
The master data types, the time profile, and the attributes associated with the planning area are not copied.
Make these changes to the planning area that you created using the merge with existing option to make sure it
contains all the configuration settings you need.
Prerequisites
Make sure you have the necessary authorizations for this activity, that is, the business catalogs required for
this activity are assigned to a business role that is assigned to your business user. For more information see the
SAP Help Portal at http://help.sap.com/ibp, under Application Help for SAP Integrated Business Planning
Identity and Access Management Basic Concepts Business Catalogs .
Context
You have combined two planning areas using the merge with existing option. The resulting planning area
contains the planning area settings of the source planning area and you want to change certain settings based
on your target planning area settings.
You can check this setting by selecting your resulting planning area in the Planning Areas app.
Option Description
Turn on the Enable Supply Planning switch. The target planning area was enabled for supply planning,
which has been changed by the merge. You want to use
supply planning in the resulting planning area, so you need
to enable supply planning again manually.
Turn off the Enable Supply Planning switch and then The source planning area was enabled for supply planning
clear the Input/Output for Supply Planning field for the so after the merge the resulting planning area has the
key figures that have a value in this field. Enable Supply Planning switch turned on. You do not want
to use supply planning in the resulting planning area so
Note you need to turn off the switch and clear the fields.
You can check this setting by selecting your resulting planning area in the Planning Areas app.
Option Description
Turn on the Enable External Time Series switch and make The target planning area was enabled for external time
sure the Data Source for External Key Figure Definition series, which has been changed by the merge. You want to
and the External Key Figure Qty fields contain the correct use response management in the resulting planning area,
values. so you need to turn on the switch again manually and
check the related settings.
Turn off the Enable External Time Series switch and save. The source planning area was enabled for external time
series so after the merge the resulting planning area has
Note the Enable External Time Series switch turned on. You do
not want to use response management in the resulting
As a result, the system automatically clears the planning area so you need to turn off the switch.
External Key Figure Qty and the Data Source for
External Key Figure Definition fields.
3. Check your planning area for attributes that are assigned to both a time profile level and the planning area,
and delete any assignments that you don't need.
The same attribute is assigned to a time profile level in the source and to the planning area in the target (or
the other way around). After merge with existing, this attribute is assigned to both the time profile level and
the planning area. Since an attribute can be assigned to only one of these entities at a time, you need to
remove the attribute from the entity in which you don’t need it.
4. Check that the aggregation mode of the key figures and their request level calculation definitions are still
consistent.
The same key figure has different aggregation modes in the source and the target planning areas. In the
resulting planning area, this key figure has the aggregation mode of the source planning area, and the
request level calculation of the target planning area.
Modify the request level calculation. You want to use the aggregation mode that comes from
the source planning area.
Change the aggregation mode. You want to use the aggregation mode that was specified
in the target planning area.
5. Check the stored and calculated settings of your key figures and modify the calculation definitions if
needed.
The same key figure is set as stored in the source planning area and as calculated in the target planning
area (or the other way around). In the resulting planning area, this key figure has the setting of the source
planning area.
6. Select the Root checkbox for all attributes in the base planning level of the key figures for which the
Aggregated Constraint checkbox is selected.
The Aggregated Constraint checkbox is selected for the key figures in the target if it is selected in the
source as well.
7. Check that the key figures assigned to the versions are version-specific key figures.
If the Version-Specific Master Data checkbox is selected, all key figures assigned to the version must be
version-specific.
8. Check the existing data records and upload data again if necessary.
If the time profile and related time periods in the source planning area and the time profile and the related
time periods in the target planning area are not identical, you need to update the existing key figure data
records or upload the data again.
You can use the partial merge function to update a planning area with specific parts of a sample or non-sample
(custom) planning area.
Recommendation
Use this function if you want to specify which parts of the source configuration should be merged into the
target planning area. Unlike with the Merge with Existing function, you can also partially merge planning
areas that are each based on a different set of master data type.
Before you use the partial merge function, make sure that the following requirements are met:
When you partially merge two planning areas, the target planning area is updated with the objects of the source
planning area that you specify as merge-relevant (primary input objects) and dependent objects that are also
required for the configuration. You can make detailed settings to control the merge behavior.
The partial merge function enables you to merge the objects specified for the merge together with the
objects supporting their configuration into the target planning area; however, it does not ensure that the
resulting configuration is complete and ready for activation. To ensure that the configuration is complete
and can be activated, you need to make manual adjustments to the resulting planning area after the merge.
You can find out about the adjustments needed by checking the application log for the merge.
To run a partial merge of two planning areas, you first need to define primary input objects for the merge. There
are various options for doing that. For more information, see Partial Merge Options [page 92].
The following types of objects can be used as primary input objects for the merge:
If you start a partial merge of the SAPIBP1 planning area by using the Partially Merge with Existing option, the
primary input objects are determined by your filter settings and you can't add any individual items to the set of
input objects.
However, if you use any of the other partial merge options and select specific key figures or master data
attributes as primary input objects, you can add further key figures or attributes on the Partial Merge screen
after the system has identified dependent objects.
Note
You can’t include objects with a pending deletion status in the merge.
Dependent Objects
Objects required for the configuration of primary input objects are identified as dependent objects by the
system and are merged into the target planning area along with the primary input objects. Dependent objects
include objects directly used by primary input objects but also objects that are used by other dependent
objects. Dependent objects thus form a complex hierarchy.
Example
If a calculated key figure is specified as a primary input object for the merge, all the key figures and
planning levels in the calculation chain of the key figure are relevant to the merge. This means that all the
key figures and planning levels used in calculation definitions of the primary input key figure and all the
key figures and planning levels used in the calculation of those (dependent) key figures are included in the
merge, down to the level of stored key figures. On the other hand, key figures higher up in the calculation
chain are not identified as dependent objects.
For attributes used as primary input objects, the whole hierarchy of master data types supporting the
configuration needs to be included in the merge, down to the level of simple master data types as follows:
• Master data types that the primary input attribute is sourced from
• Master data types that use the primary input attribute in their configuration (for example, as a check
attribute or a referenced attribute)
• Master data types used by other merge-relevant master data types (for example as a check master
data type or a component master data type of a compound master data type)
• Other attributes used in the master data type thus identified in turn also become dependent objects to
be included in the merge (for example, key attributes of a dependent master data type, etc.) and will
have dependent objects themselves.
All dependent objects identified by the system are listed on the Partial Merge screen. The type of dependence
that makes them necessary for the configuration is shown in the Dependence column.
The partial merge function updates the target planning area as follows:
• No objects are deleted from the target planning area by the merge with the exception of technical key
figures that existed due to a setting that is changed by the merge.
For example, technical key figures for a fixing-enabled key figure are removed from the target configuration
if fixing is disabled for the key figure by the merge.
• The following switches in general planning area settings are never turned off by the merge on the target
side:
• Enable Supply Planning
• Enable External Time Series
• Enable Change History
• Enable Change-History-Based Key Figure Calculations
However, there are some dependences that cause them to be enabled in the target planning area. For more
information, see the application log for the merge.
• The time profile of the target planning area doesn’t get overwritten with the time profile of the source
planning area; however, the planning horizons and default display horizons are updated according to the
relevant merge behavior setting and dependent attributes used as time profile level attributes in the source
planning area are also added to the target time profile.
• The following settings are never changed for existing objects in the target planning area:
• Key settings of a master data type (attributes added by merge are always non-key)
• Root settings of a planning level (attributes added by merge are always non-root)
Note
The length of an attribute can be increased but is never reduced by the merge.
For detailed information about the content of the merge, objects that were skipped, and settings that you need
to update manually on the target side, check the application log for the merge. You can also compare the
resulting planning area with the source planning area after the merge or use the Show History function to find
out about the changes made by the merge.
Caution
The partial merge function doesn’t ensure that the resulting configuration is complete and ready to be
activated. Please make a thorough analysis of the configuration and make the necessary manual changes.
The target planning area and the objects updated are inactivated by the merge and as a result you can revert
the changes caused by the merge using the Restore Active Instance function. Besides the planning area, you
might need to restore the active instances of the master data types affected, and the time profile.
There are, however, some changes that generally don’t inactivate the planning area. If the merge involves such
changes, they can only be reverted manually. For more information about such changes, see Restore Active
Instance for Planning Areas [page 341]. You can find out about the manual adjustments needed by comparing
the latest state of the target planning area (saved after the merge) with the state saved before the merge.
Related Information
There are various options for doing a partial merge of two planning areas.
The following table contains a summary of how you can use the various partial merge options:
Sample Model Entities app Unified planning area (SAP non-sample Merge specific key figures of
IBP1) the SAP IBP1 planning area
into the target planning area
together with their depend
ent objects. Select key fig-
ures of the source planning
area for the merge, choose
Copy, and select the Merge
into Other Planning Area op
tion. You can also add further
key figures and master data
attributes to the merge after
the dependency exploration.
Compare Planning Areas app sample or non-sample non-sample Perform a partial merge
of the two planning areas
that you have compared. On
the Compare Planning Areas
screen, select the primary
input key figures or attrib
utes (or both) for the merge,
choose Merge and select the
relevant option of the drop
down depending on which of
the two planning areas you
want to use as the target. You
can also add further key fig-
ures and master data attrib
utes to the merge after the
dependency exploration.
Sample Model Entities app Unified planning area (SAP non-sample Update a non-sample plan
IBP1) ning area with a specific
part of the configuration con
tained in the SAPIBP1 plan
ning area. Specify one or
more application filters for
the merge and make detailed
settings for the merge behav
ior. For more information, see
Partially Merge with Existing
[page 95].
You run a partial merge when you want to update a planning area with selected content from another planning
area.
Prerequisites
Make sure you have the necessary authorizations for this activity, that is, the business catalogs required for
this activity are assigned to a business role that is assigned to your business user. For more information see the
SAP Help Portal at http://help.sap.com/ibp, under Application Help for SAP Integrated Business Planning
Identity and Access Management Basic Concepts Business Catalogs .
You have various options for initiating a partial merge. For more information, see Partial Merge Options [page
92].
Procedure
1. Define the part of the source configuration that you want to update the target planning area with; that is,
specify the primary input objects for the merge. This could be done by selecting application filters for a
partial merge of SAPIBP1 or by specifying specific key figures or master data attributes to be merged into
the target planning area.
2. Based on the primary input objects, the system runs a dependency exploration to identify the dependent
objects that also need to be included in the merge.
3. Check the dependent objects identified by the system and add further primary input objects if needed.
When doing a partial merge of the SAPIBP1 planning area using the Partially Merge with Existing option,
you can’t specify additional input objects.
4. On the Partial Merge screen, make settings for the merge behavior to define how merge-relevant objects
shared by the two planning areas should be handled.
You can make general settings in the Settings for Merge Behavior section and refine those settings by
making settings for individual object types and even for individual objects. Objects that you set a source-
dominant merge behavior for are overwritten in the target planning area with the merge-relevant settings
and subobjects of the corresponding source object (but subobjects that only existed on the target side are
retained). Objects that you set a target-dominant merge behavior for are only updated with subobjects that
didn’t exist on the target side, while all other parts of them remain unchanged in the target planning area.
5. When you’ve made your settings, run the merge.
Merge results are shown in the Summary section of the Partial Merge screen. You can check the merge
status (Completed, Completed with Warnings or Completed with Errors) and the lists of items copied
or updated during the merge by item type. You can also navigate to the application logs for detailed
information about the merge or to the details screen of the resulting planning area.
6. Check the exact content of the merge to see if you need to make manual adjustments.
You can check the content of the merge in any of the following ways:
• View the log for the merge in the Application Logs app.
• Compare the resulting planning area with the state of the target planning area saved before the merge
using the Compare Planning Areas or the Show History function.
7. Make manual adjustments to the resulting planning area as needed.
Caution
Even though dependent objects are merged along with the primary input objects that you specify,
that doesn’t ensure the completeness of the resulting planning area. You always need to check the
configuration after the merge and make manual settings as needed.
The Partially Merge with Existing option is a special merge option that is only available for the unified planning
area (SAPIBP1).
This option enables you to update a non-sample planning area with a specific part of the configuration
contained in the SAPIBP1 planning area. You can set one or more application filters for the merge and only the
objects relevant to the application or applications selected and the dependent objects that are required for the
configuration will be included in the merge.
To use the Partially Merge with Existing option, in the Sample Model Entities app, select the SAPIBP1 planning
area, choose Copy, and select the Partially Merge with Existing option. In the Partially Merge with Existing dialog,
specify the target planning area and select one or more applications as filters for the merge.
Your selection of applications determines the set of key figures, master data attributes, and dependent objects
that will be included in the merge. Merge-relevant objects that are missing from the target planning area are
copied from SAPIBP1. Merge-relevant objects that exist in both source and target but are configured differently
are merged according to the detailed settings you make for the merge behavior. Depending on your settings,
objects in the target planning area may be overwritten with the source configuration or may be left unchanged.
After the merge run, a summary of the merge is displayed, which allows you to view the status of the merge
(Completed, Completed with Warnings, or Completed with Errors), the number of warnings or errors, and the
list of items merged. From the summary, you can navigate to the updated target planning area or view the log
entries for the merge in the Application Logs app.
Planning areas are used to model the complete planning process in a company. Considering the different
business scenarios and processes, a company might decide to have several planning areas to care for the
various needs and requirements they have. Multiple planning areas can be used for the different business
processes, with the possibility of copying data among them to ensure consistent planning throughout the
whole company.
Let's see a couple of uses cases where the usage of multiple planning areas might prove to be beneficial.
In case you have different regional requirements that would be difficult to model and maintain in a single
planning area, you can model the regional demand planning processes in different planning areas. In addition to
that, create a global planning area with demand copied from all regional planning areas. This way, you can use
the global planning area to carry out consensus and supply planning for the entire company.
You might want to create different planning areas for the different regional demand planning process in the
following cases:
• Different regions have different planning requirements, planning levels, and calculations.
In this case, you have an existing productive planning area. However, you would like to extend your business
processes to a new area, for example, demand sensing, without disrupting your productive processes. To do
so, you create a separate planning area for your demand sensing processes, and copy the planning data back
to the original planning area regularly. The volume of data required for short term planning in demand sensing
is very large. By managing demand sensing processes in a separate planning area, the performance of the
already existing productive planning area will not be affected.
Strategic long-term planning is usually carried out at quarterly or yearly at aggregated levels of the planning
hierarchy. The consumers of these plans and planning areas are typically senior management teams who are
responsible for long-term strategic goals. These strategic long-term plans are then broken down to tactical
mid-term plans.
These planning processes and plans can be very different in terms of complexity, user management,
consumers and legal requirements. These differences can be easily handled by using separate planning areas
for the different planning processes.
If you want to create management reports and what-if analyses, you can merge the most critical key figures
from the different planning areas into a consolidated, global planning area and run the required reports.
To manage the growing complexity of a unified planning area that has several hundreds of key figures and
deals with large volumes of data, you might want to split planning processes into separate planning areas. Also,
your planning processes might be very different; some of them might require only a small set of data and key
figures, whereas, others might deal with large volumes of data.
To manage complexity and improve performance, you can split such a complex planning area into separate
planning areas.
Also, you can evaluate new features in a separate planning area without disrupting the planning areas that are
used in a productive environment.
Order-Based Planning
You might want to use one planning area for order-based planning processes, and another one for long- and
mid-term time-series-based planning processes.
Multiple planning areas can share the same master data types; however, it might increase integration time
as data is uploaded to several planning areas.
To copy data between planning areas, use the advanced copy operator. For more information, see Copy
Operator (Advanced) [page 275].
You can download the details of a planning area into comma-separated values (CSV) files or download the
configuration as a binary file, which you can then upload to a different system.
It is sometimes necessary to keep records of planning area configurations in a human-readable format, for
example to fulfill legal or documentation requirements. The Download Planning Area Details option enables you
to download the content of a planning area and its entities into CSV files.
In the Planning Areas app, select the planning area, choose Download, and select the Planning Area Details
option from the dropdown. The content of the planning area and its entities is downloaded into 10 comma-
separated values (CSV) files.
Note
Make sure you check your browser settings, especially those related to file download and enable the
download of multiple files.
A separate file is downloaded with the details of each of the following entities and settings of the planning area:
• Key figures
• Master data types
• Versions
• Planning operators
• Planning horizons
• Attributes
• General info
• Attributes as key figures
• Planning levels
• Time profile
You can also download a planning area configuration as a binary file, which you can then upload to any system
using an equivalent version of SAP Integrated Business Planning for Supply Chain.
To download the configuration of a planning area as a binary file, open the Planning Areas app, select the
planning area, choose Download and select the Configuration as Binary File option from the dropdown.
For planning areas that have both an active and an inactive instance in the system, you can specify whether you
want to download the latest configuration state or the active state. You can specify a name for the file (if you
don’t want to use the name proposed by the system) and optionally a description.
A file with the following content is downloaded to your default download directory:
Note
You can only download a configuration that uses a single master data prefix and contains no items with
a pending deletion status.
• Other configuration such as planning profiles, settings for TS supply planning, and business meanings for
order-based planning
Note
The master data prefix that you may specify when you later upload the configuration to another system
is not applied to objects belonging to Other Configuration. They will use the original master data prefix
even if you specify a different one for the upload.
Caution
Please make sure that you make no changes to the content of the file after the download, or you won’t be
able to upload it. Even the smallest modification will prevent the upload of the file.
Authorizations
Access to the Download Configuration as Binary File function is controlled by the Planning Model Download
and Upload business catalog (SAP_IBP_BC_PLANMODEL_ADV_PC), which contains the Download and Upload
Configuration (CNFACT) restriction.
Since the function can be accessed from the Planning Areas app, the Planning Model
Configuration business catalog (SAP_IBP_BC_PLANMODEL_CF_PC), which is functionally required for the
SAP_IBP_BC_PLANMODEL_ADV_PC catalog, also needs to be assigned to the user.
Planning area configurations that you've previously downloaded from a system using the download
configuration as binary file function can be uploaded to another system that uses an equivalent version of
SAP Integrated Business Planning for Supply Chain (SAP IBP).
The upload configuration from binary file function enables you to create a planning area in a system based on
a configuration in another system. You can, for example, upload a planning area to your development system
from a file previously downloaded from another system, rather than copying a sample planning area. The
planning area then can be transported to other systems of your system landscape, for example, to the test
system, using the Export Software Collection and Import Collection apps.
Caution
You can use the upload function for an initial upload of a planning area into your system landscape but not
for moving the planning area between systems of your landscape, especially if you also use the export and
import functions of the Export Software Collection and Import Collection apps.
You should never use the upload from binary file function to upload a planning area directly to a production
system.
You can upload a configuration from a binary file in the Planning Areas app. After choosing Upload on the
planning area worklist, you can select the file to be uploaded in the Upload Configuration dialog.
Note
Please note that you can only upload files whose content was not changed after the download. Any
modification of the content prevents the upload.
The configuration that you upload must fulfill the following requirements:
• The planning area can’t have an ID that already exists in the system.
• The planning area can’t use a time profile with an ID that already exists in the system.
• Master data types must use a prefix that is not used by other planning areas already existing in the system.
When necessary, you can modify the default configuration settings taken from the file metadata in the Upload
Configuration dialog to ensure that these requirements are met.
Note
Objects belonging to Other Configuration, such as planning profiles, will use the original master data prefix
even if you specify a different one for the upload.
You can also specify whether you want to include some or all of the planning profiles downloaded with the
configuration in the upload.
To ensure that planning profiles can be used correctly after the upload, you need to activate the planning
area and upload the same transactional data that existed for the planning area in the source system.
Master data attributes used by the planning area uploaded are also included in the upload and there are some
requirements concerning those attributes as well.
If the configuration that you’re uploading contains an attribute that already exists in the target system, the two
instances should have the same data type and type. If that’s not fulfilled, your file can’t be uploaded.
If the name, description, or length of two instances is different, the upload does take place but the attribute will
keep the original name, description, and length in the target system.
Authorizations
Access to the upload configuration from binary file function is controlled by the Planning Model Download
and Upload business catalog (SAP_IBP_BC_PLANMODEL_ADV_PC), which contains the Download and Upload
Configuration (CNFACT) restriction.
Since the function can be accessed from the Planning Areas app, the Planning Model
Configuration business catalog (SAP_IBP_BC_PLANMODEL_CF_PC), which is functionally required for the
SAP_IBP_BC_PLANMODEL_ADV_PC catalog, also needs to be assigned to the user.
Related Information
You can compare the configuration details of any two planning areas. You can specify which state of each
planning area you want to include in your comparison, and you can also compare two different states of the
same planning area.
In SAP Integrated Business Planning, historical states of sample and custom planning areas are available for
comparison. For sample planning areas, the state of each release is automatically saved, while for custom
planning areas, the state of the planning area is saved after each upgrade, before each copy, and after each
activation. For custom planning areas, deltas are also automatically saved each time a change has been made
to the object.
Comparing planning areas can support your processes in several ways. Comparing two different states of
a sample planning area allows you to keep track of enhancements in the sample content. Comparing your
planning area with the latest state of the sample planning area that you have copied to create yours helps you
to decide which of the new enhancements you would like to implement on your own planning area. Comparing
two different states of your planning area allows you to verify that the right changes have been made to the
configuration.
Each of the planning areas that you compare may only contain one kind of master data prefix. If a planning
area contains master data types with different prefixes, you can’t include it in your comparison.
You can use this option to compare any combination of two sample and custom planning areas or two different
states of the same planning area, downloading the differences in CSV files.
• Which planning areas and which state of each planning area should be included in the comparison.
Note
You may want to compare two different states of the same planning area. In that case enter the same ID
in both planning area fields.
• Whether the output should list differences between items with the same ID or items that are only available
in either planning area but not in the other.
The function is available in the Planning Areas app as well as the Sample Model Entities app.
For a detailed comparison of two planning areas or two different states of the same planning area, you can
use the Compare Planning Areas app. You can access the app from the launchpad or navigate to it from the
Planning Areas app or the Sample Model Entities app.
1. In the Compare Planning Areas dialog, specify the two planning areas that you want to compare, or enter
the same ID in both planning area fields if you want to compare two different states of the same planning
area.
2. Specify which state of each planning area (or which two states of the same planning area) should be
included in the comparison.
Besides the latest state, you may also choose to include any of the historical states saved for the planning
area. You can select one of the states (versions saved after major operations such as a copy, activation, or
an upgrade) or deltas (versions saved after a change has been made to the planning area) for each of the
planning areas. Once you have found the item that you are interested in, click the table row containing it.
3. Click Compare to run the comparison.
4. On the Compare Planning Areas screen, select one of the options for viewing the comparison results. You
have the following options:
• View the differences between objects that share the same ID and exist in both planning areas.
You can delete a planning area with or without its dependent objects in the Planning Areas app.
If you want to delete a planning area, you have the following options:
• To delete the planning area only, select it in the planning area worklist and choose Delete without
Dependencies in the dropdown menu of the Delete button.
• To delete the planning area with its dependencies, select the planning area and click Delete or select Delete
with Dependencies from the dropdown. This deletes the planning area together with all its dependent
master data types and time profile, unless the objects are used in other objects.
If any of the dependencies are used in other objects, you have to delete those assignments in the relevant
app (Master Data Types or Time Profiles) and then you can delete the planning area with dependencies.
Statuses
If all objects (the planning area and its dependencies) are inactive, you can delete them in one step, while active
objects are first set to Pending Deletion and you need to activate them in the relevant app to complete the
deletion. In the case of inactive objects with an active instance existing in the system, the inactive instances are
deleted and the active instances are set to Pending Deletion.
A planning level is a set of attributes that identify and label key figure values, and forms part of the definition of
a planning area. The attributes you have assigned to the planning area are available to form planning levels, as
well as the time profile levels, and the attributes assigned to the time profile levels.
A planning level enables you to analyze and plan at a specific aggregation level, for example, at the planning
level period-product-customer.
Key figures in SAP Integrated Business Planning are calculated or stored at specific planning levels, and their
values can be queried at these planning levels. Depending on the planning level – that is, the specific set of
attributes that is used in a key figure query – different calculation and/or aggregation steps are performed
to compute the key figure numbers at that level. These calculation/aggregation steps are specified in the
calculation definitions of the key figure.
A planning level can be used as the base planning level of a key figure. The base planning level specifies the
most granular level at which the value of the key figure is defined. If a planning level is used as a base planning
level of a key figure, specific rules regarding the attributes used in the base planning levels and regarding the
assignment of these planning levels to key figures must be fulfilled. For more information, see Planning Areas
[page 322].
If a planning level is used as the base planning level of at least one stored key figure, it is called a stored
planning level.
A stored planning level cannot have PERIODID as the root attribute. Either do not specify the planning level
as the base planning level of stored key figures or if you want to have a stored planning level, make one of the
following changes:
• If you want the planning level to be time dependent, use PERIODID(n) as the root attribute and remove
the PERIODID attribute.
• If you want the planning level to be time independent, do not use any time attributes at all.
• Root attributes are necessary as keys to identify (find) individual key figure values. They define the
independent dimensions in which the key figure values exist. The root attributes are often also the keys of
master data types but this is not a necessary condition.
• Non-root attributes are also associated with the key figure values but don’t on their own uniquely identify
what the key figure value is for. They can be thought of as labels (sometimes hierarchies) to aggregate key
figure values.
Planning levels are used in the calculation definitions of key figures. The system has a special, built-in planning
level, the REQUEST level, which represents the planning level at which the user queries the key figure data. A
key figure can be queried at any combination of attributes that are available in the REQUEST-level calculation,
and come from the planning levels of the input key figures.
In addition, there are also planning levels used for aggregation, for example to support demand fair share, to
which no key figures are assigned.
PRDID Product ID X
CUSTID Customer ID X
PERIODID0 Month X
Let’s assume that the attributes PRDID, CUSTID, and PERIODID0 are the root attributes. Let’s call this set
of attributes the planning level PRDCUST. (You could choose any name for the planning level.)
The implication is that every stored key figure value for SALESFORECAST depends on a value for PRDID,
CUSTID, and PERIOIDID, that is, on a value for a Product ID, a Customer ID and a Month. For example,
the forecast for sales (SALESFORECAST) of product P1 to customer C1 in 2018/12 might be “100”.
The key figure value also depends on the other attributes. For example, you could ask about the
SALESFORECAST for the market segment “M1”. MARKET might, for example, be an attribute of customer
or customer product: You specify the origin of the attributes in the planning area.
When key figure data is loaded, the system determines all attribute values based on the given root
attributes of the planning level. If these values cannot be uniquely determined, the data set contains an
error.
Related Information
Prerequisites
Make sure you have created a planning area and assigned a time profile and attributes to it.
Context
A planning level is a set of attributes that enables you to store and analyze planning data at a specific
granularity. You use the planning level you create here for defining key figures and their calculations, and for
querying key figure values.
Procedure
1. In the Planning Areas app, find the planning area you want to create planning levels for and open its details.
2. Choose New on the Planning Levels tab of the Planning Area (details) screen or on the Planning Levels tab
of Focus Mode.
You can select one of the time profile levels or none. If you select one of the time profile levels, the system
automatically fills the Time Attributes table.
ID: PERPRODCUST
Description: Period/Product/Customer
Note
You can use special characters in the description of the planning level. These special characters might
not be shown in, for example, the names of worksheets in the IBP Excel add-in due to restrictions on
special characters in Microsoft Excel.
You can only set one time profile level as a root attribute of a planning level.
7. Add attributes and master data types to the planning level.
You can select the attributes and master data types that you have previously assigned to the planning area
on the Attributes tab. Make sure that you use all attributes you assigned to the planning area in one or more
planning levels.
Note
If the ID attribute of a master data type is linked to the description attribute, you only need to include
the ID in the planning level. The description is then included via the link.
Add all attributes of the S2PRODUCT and S2CUSTOMER master data types.
8. Select the root attributes, as in the table below.
A planning level can include root attributes that are not keys of a master data type, but you always have to
make sure that the key attribute of the same master data type is not assigned to the planning level in such
a case.
If you want to use multiple planning levels as base planning levels of stored key figures, and these
planning levels have identical root attributes (not taking the time attribute into consideration), ensure
to set identical non-root attributes as well.
S2CUSTOMER CUSTID
9. Optional: Select the Conversion Source or Conversion Target checkbox for the attribute.
Property Description
Conversion Target Indicates that an attribute is used as a target unit for con
version purposes.
10. Optional: Add history attributes and data sharing attributes to the planning level.
Note
You can only add history and data sharing attributes to the planning level if you have enabled the
planning area for change-history-based key figure calculations.
11. Optional: Set up tight coupling for planning objects in the Tight Coupling for Planning Objects section to
control the set of planning objects that are allowed to exist for the planning level. Specify a tightly coupled
If you specify a master data type in the Tight Coupling for Planning Objects section, only planning objects
for which the corresponding master data records exist in the master data type can be created.
Note
You can only set up tight coupling for planning levels that don’t have aggregated constraint key figures.
The tightly coupled master data type must fulfill the following requirements:
• It is a simple, compound, or reference master data type
• Its key attributes exactly match the non-time root attributes of the planning level
SAP recommends that the tightly coupled master data type should have the same prefix as the master
data types that the non-time root attributes of the planning level are sourced from.
If you enable the automatic creation of planning objects for the tightly coupled master data type, planning
objects are automatically generated when the relevant master data records are created.
12. Optional: If you have tightly coupled a master data type with a planning level, you also have the option to
tie the deletion of planning objects to the deletion of the corresponding master data records.
The Delete Planning Objects Only If Master Data Is Deleted option prevents the direct deletion of the
relevant planning objects in the Manage Planning Objects app, in the SAP Integrated Business Planning,
add-in for Microsoft Excel and by the following application jobs:
• Purge Key Figure Data
• Purge Key Figure Data Outside Planning Area Planning Horizon
Planning objects are only deleted when records for the tightly coupled master data type are deleted.
Note
Even if the Delete Planning Objects Only If Master Data Is Deleted option is selected, these application
jobs delete all relevant data, including planning objects.
Results
Next Steps
You can use the planning level as a base planning level of a key figure, or in calculation definitions of a key
figure.
Related Information
Use the Planning Areas app to assign the attributes in your planning area to planning levels.
Prerequisites
Make sure you have the necessary authorizations for this activity, that is, the business catalogs required for
this activity are assigned to a business role that is assigned to your business user. For more information see the
SAP Help Portal at http://help.sap.com/ibp, under Application Help for SAP Integrated Business Planning
Identity and Access Management Basic Concepts Business Catalogs .
Context
Each attribute in your planning area needs to be assigned to one or more planning levels except for those that
are marked as planning level independent.
Steps
Note
When you add a single new attribute to your planning area, you can at the same time also assign it to
planning levels using the Add and Assign to Planning Levels function. For more information, see Assigning
Attributes to a Planning Area [page 72].
When assigning your attribute to planning levels, you need to ensure that sourcing requirements are fulfilled
for the attribute. On the Assign Attribute to Planning Levels screen, the following information is available to help
you find the relevant planning levels:
• If you select a planning level in the list, values for the Input PLs and Output PLs columns are displayed. The
values are clickable and of the format X/Y, where X and Y have the following meanings:
• Y in the Input PLs column shows the total number of input planning levels in key figure calculations
where the planning level selected is in the output (that is, all the planning levels that the planning level
selected depends on).
• Y in the Output PLs column shows the total number of planning levels that depend on the selected
planning level in a similar way.
• The X values show the number of input/output planning levels where the attribute being added to the
planning level selected is already added.
• If you click on the values or the row containing them, a list of all input and output planning levels (for
the relevant planning level) will be displayed in a new dialog. In the dialogue, the planning levels currently
selected (or already assigned to the attribute) are marked in the checkboxes next to the items. You can
deselect any of the planning levels marked but you can also select any further ones to ensure that attribute
sourcing requirements are fulfilled. When you go back to the previous dialog, the list will be updated
accordingly.
• Whether the input planning levels fulfil the sourcing requirements for the attribute is shown in the Fully
Sourced column next to the Input PLs column ("yes" or empty).
Watch a Video
The value of a planning level attribute - an attribute assigned to a planning level - is normally acquired from the
original source master data type of the planning area attribute. This master data type is shown in the Master
Data Type ID column on the Planning Level screen in the Planning Areas app.
However, there might be modeling scenarios, when the value of a planning level attribute cannot be determined
from the original master data type. In this case the attribute needs to be sourced from a different master
data type, from a virtual master data type. This virtual mater data type is shown in the Source column on the
Planning Level screen in the Planning Areas app.
There are two types of source assignments for planning level attributes:
Source assignment for attributes works on the level of planning levels. This means that if there are attributes
that cannot be acquired from the original master data type, they must be all sourced either manually (user-
defined) or automatically (system-defined). A planning level has either user-defined or system-defined source
assignment; they cannot be mixed.
If a virtual master data type is defined and used as the source (either by the system or the user), the value of
the attribute is collected from there, otherwise it is read from the original source master data type using the
non-time root attribute of the planning level. User-defined source assignment only works on stored planning
levels and for non-time non-root not calculated attributes.
Example
In this example, the location attributes (LOCDESCR, LOCID and LOCTYPE) are sourced from the virtual master
data type MD2LOCATIONRESOURCE10. This master data type is assigned manually to these attributes as the
For more information about creating virtual master data types, see Creating Virtual Master Data Types [page
34].
We have a stored key figure (CAPACITY) on a stored planning level, which has the following attributes:
When the key figure is uploaded, we define only the resource ID (RESID) but want to retrieve information about
the location as well.
2022-01-11 MACHINE1 10
2022-02-11 MACHINE2 20
2022-01-11 TRUCK1 10
2022-02-11 TRUCK1 40
We expect to receive the following information for the CAPACITY key figure:
TRUCK1 VNL740 10 40
The RESDESCR and RESTYPE attributes can easily be retrieved from the original MD2RESOURCE master data
type using the RESID root attribute. However, the location attributes have no connection to the RESID attribute
(and the MD2RESOURCE master data) in the planning model, thus they cannot be determined.
To overcome this obstacle, we create a virtual master data type, called MD2LOCATIONRESOURCE10.
To do so, we create a join between the MD2RESOURCE and MD2LOCATION master data types with the join
condition MD2RESOURCE-LOCID = MD2LOCATION-LOCID. Then we add the attributes we want to source
(LOCDESC, LOCID and LOCTYPE) and the root attribute of the planning level (RESID).
Finally, we assign this virtual master data type as the source for the LOCDESC, LOCID and LOCTYPE attributes
on the planning level.
As a result, all the non-root attributes of the planning level can be retrieved based on the RESID root attribute.
To create user-defined source assignment for planning level attributes, follow the steps below.
1. In the Master Data Types app, create a virtual master data type that you are going to define as the source.
Note
You can only use virtual master data types as sources of attributes.
2. Create a join condition in the master data type to connect the original source master data types of the
planning level attributes.
3. Add the attributes you want to source from this master data type and at least one non-time root attribute
of the planning level you want to work with.
Note
You can create user-defined source assignment for attributes on stored planning levels only.
5. On the Attributes screen of the planning level, add the Source column to the Attributes table (if not visible
by default).
6. In the Source column search for the virtual master data type you have just created and add it to the
relevant attribute.
Repeat this step for all attributes that you want to acquire from the virtual master data type instead of the
original master data type (first column in the table).
Note
You can manually assign a source to non-time non-root not calculated attributes only. If you have
manually defined a source for an attribute, you cannot have system-defined source assignment for any
other attributes on the same planning level.
If there is no source assignment (either user-defined or system-defined) on a planning level, the Source
Assignment for Attributes field is not displayed. Once you have successfully assigned a source to an attribute
on a planning level, the value of the Source Assignment for Attributes field becomes User-Defined and visible (if
there were no assignments before).
Later on, if you decide not to use the virtual master data type as the source for attributes, you can easily do
so by changing the value of this field to System-Defined. This will remove all user-defined source assignments
on the planning area. Alternatively, you can delete source assignments manually one-by-one in the Attributes
table.
This section lists the requirements and checks related to user-defined source assignment.
• User-defined source assignment works only on stored planning levels. A planning level is stored if it is the
base planning level of at least one stored key figure.
• You can manually assign a source to non-time non-root not calculated attributes only.
• The source must be a virtual master data type.
Using virtual master data types - built on the master data types used by the planning area - ensures that
the set of the uploaded attribute values is consistent with the uploaded values of the same attribute across
the planning area. That is, working with virtual master data types we can make sure that cross planning
level calculations with user-defined sourcing works correctly.
• An attribute can only be sourced from the same master data type in the virtual master data type and in the
planning area as well.
• An attribute can only be sourced from a virtual master data type if the attribute is part of the master data
type.
• If you want to assign a master data type to an attribute as a source, it must contain at least one non-time
root attribute of the planning level.
You create planning levels to use them in key figure definitions (as the base planning level of a key figure) and in
key figure calculations. You can make changes to planning levels that are used in key figures, but to delete such
planning levels, you must perform several configuration steps in a specific order. The Used in Key Figures field
shows you whether the selected planning level is already used in key figure definitions or calculations.
Caution
Changing the root attribute of a planning model may result in inconsistency between the planning model
and the already existing data.
SAP Integrated Business Planning for Supply Chain (SAP IBP) is designed to preserve the consistency of
the planning model and the planning data. If such a change is made that would break the consistency, SAP
IBP keeps the planning data intact, and rejects the change of the model by making the next activation of
the planning model fail.
You can delete a planning level if it is not used as the output planning level of any key figures; that is, in the
output of a calculation definition.
You can delete a planning level that is used as the base planning level of a key figure or attribute as key figure.
When you delete such a planning level, all the key figures and attributes as key figures that use the planning
level as their base planning level are also deleted. In the case of an active planning area, the planning level as
well as the key figures and attributes as key figures affected are first changed to pending deletion. At this point,
you can still cancel the deletion using the Restore Active Instance option. For more information, see Restore
Active Instance for Other Entities [page 342].
1. Delete the values of the stored key figures that use the planning level.
To do this, in the SAP IBP, add-in for Microsoft Excel, delete all values of all stored key figures that use the
planning level. The cells of key figure values must be empty. Then delete the planning objects by choosing
Delete Planning Objects.
2. In the Planning Areas app, delete all key figures (definitions) that use the planning level to be deleted.
3. In the Planning Areas app, delete the planning level.
To avoid the creation of unnecessary planning objects that planning operators would consider in planning, you
can control which planning objects can exist on a planning level. You can accomplish this by using mandatory
attributes or by associating a master data type with a planning level.
By controlling the creation of planning objects, you can ensure that only those planning objects exist that also
exist as master data records in the master data type; that is, you can control the superset of planning objects.
The system can create planning objects for all combinations of master data attribute values that exist in a
master data type. These planning objects can be created by various processes in SAP Integrated Business
Planning for Supply Chain (SAP IBP). When you run a planning operator, the operator plans these planning
objects accordingly.
There are cases where you only want specific planning objects to exist. For example, if there are planning
objects that do not exist in the real world and you therefore don’t want to consider them in planning. If you
want to control which planning objects are allowed to exist for a planning level, you can associate a master
data type or a mandatory attribute with a planning level. The associated master data type defines the superset
of planning objects that can exist for the planning level. Regardless of the process that is creating planning
objects, the system ensures that the corresponding master data records exist in the selected master data type
for the planning object that is being created. Planning objects that don’t meet this criterion cannot be created
and are rejected.
Example
You have two customers C1 and C2 and two products P1 and P2. You sell products P1 and P2 to customer
C1, and only product P1 to customer C2. Your Customer-Product master data type therefore has the
following records:
C1, P1
C1, P2
C2, P1
C1, P1
C1, P2
C2, P1
C2, P2
If you want to ensure that only those products are planned that are actually sold to your customers,
you need to restrict the planning objects that can be created. This can be achieved by assigning the
Customer-Product master data type to the Customer-Product planning level. This way, planning objects are
only created for attribute combinations that exist as entries in the master data type.
Configuration Options
You can configure this in the following ways:
• You can include a planning area attribute of attribute category “mandatory” that is sourced from the
master data type as non-root attribute in the planning level. For more information, see Assigning an
Attribute Category to a Planning Area Attribute [page 74].
This is an indirect approach. If you follow this approach, you may need to add additional attributes to the
master data type that associate the master data type with the planning level.
Note
• You can associate a master data type directly with the planning level in the planning level configuration.
This association is called “tight coupling”. For more information, see Creating Planning Levels [page 106].
If you follow this approach, you don’t need to add any additional attributes to the master data type.
If you use this configuration for an existing planning level for which planning objects already exist, we
recommend that you use the Purge Non-Conforming Data application job. With this job, you can delete
planning objects for which no corresponding attribute combinations exist in the assigned master data
type. For more information, see Purge Non-Conforming Data.
Caution
When both configurations exist for a planning level for the same master data type, the system checks for
both configurations. This means that the system checks twice if the master data records exist in the master
data type. This prolongs the planning object creation and increases memory consumption.
You should therefore only use one of the two possible configurations.
In SAP IBP, planning objects are created when transaction data (that is, key figure data or order data) is
created. This way, planning objects are created when they are actually needed. Transaction data can be created
in SAP IBP by importing it from other systems, by executing a planning function in SAP IBP, or manually by
planners.
Example
You work with order-based planning. Here you may want to view order data as order-based key figure in a
planning view, calculate another key figure based on it, and so on. The prerequisite for this is that planning
objects exist so that order data can be aggregated to order-based key figure data for those planning
objects.
Configuration Options
You can configure this in the following ways:
• You can include an attribute of a master data type in the planning area as an attribute as key figure that
creates planning objects only. For more information, see Attributes as Key Figures [page 120].
This is an indirect approach. If you follow this approach, you may need to add additional attributes of type
DECIMAL to the master data type that is used to create the planning objects for the planning level when
master data is created or updated.
Note
Using this feature with the Value by Reference checkbox selected is only available in planning areas with
external master data that are enabled for order-based planning.
• You can tightly couple a master data type directly with the planning level in the planning level configuration
and select the option to automatically create planning objects. For more information, see Creating
Planning Levels [page 106]. During master data creation and update, the attribute combinations in the
master data type assigned to the planning level are used as the basis for creating planning objects. This is
done for all planning levels in all planning areas to which the master data type is assigned.
If you follow this approach, you don’t need to add any additional attributes to the master data type.
Caution
Using this configuration prolongs the master data creation and update and increases memory
consumption.
When you copy a planning area, this configuration is copied as well, thereby impacting the master data
creation and update by further prolonging it and increasing memory consumption. Planning objects
will be created for all such planning areas during master data creation and update.
Note
This feature is only available in planning areas that are enabled for order-based planning and are based
on flexible master data. We recommend that you use this option.
Caution
When both configurations exist for a planning level for the same master data type, the system checks for
both configurations. This means that the system checks and attempts to create planning objects twice.
This prolongs the creation or update of master data and increases memory consumption.
You should therefore only use one of the two possible configurations.
If you have tightly coupled a master data type with a planning level as part of the planning level configuration,
you also have the option to tie the deletion of planning objects to the deletion of the corresponding master
data records. If you select the Delete Planning Objects Only If Master Data Is Deleted option, planning objects
are only deleted when records for the tightly coupled master data type are deleted. For more information, see
Creating Planning Levels [page 106].
An attribute as key figure is a specially configured master data attribute. It can be used to create planning data
such as planning objects or key figure values for specific use cases. The planning data is created when master
data is created or updated for the master data type.
The configuration as an attribute as key figure is an optional configuration that can be used for attributes of
data type DECIMAL. Depending on how this attribute as key figure is configured, either planning objects only
or planning objects and key figure data are created when master data is created or updated for the master
data type. For a list of the tools you can use to create or update the master data, see section Attributes as Key
Figures [page 120].
The following table provides more information about the different types of planning data:
Planning Objects Planning objects are typically created when key figure data is loaded into the system using data
integration. This is the most common way to create large numbers of planning objects. Planners
can also create smaller numbers of planning objects manually using the master data section in
the SAP Integrated Business Planning, add-in for Microsoft Excel (SAP IBP, add-in for Microsoft
Excel).
When you work with order-based planning, the time series content for external key figures comes
from an order data store. IBP needs to provide the planning objects so the system can connect
the values of the external key figures to them. Because you would typically need to create a
large number of planning objects, creating them using the add-in for Microsoft Excel would be a
time-consuming manual task. Instead, you can use an attribute as key figure to create planning
objects without key figure data.
You can configure an attribute as key figure in such a way that only planning objects are created.
When master data is loaded to the master data type that the attribute as key figure belongs to, a
planning object is created for each master data record that was loaded.
Key Figure Data To fill a key figure with values, you would typically load the key figure data directly using data
integration. With an attribute as key figure, you can also fill a key figure with values by copying the
value of an attribute to the key figure. This can be used for creating key figure data or updating
existing key figure data.
When you configure an attribute as key figure to create or update key figure data, a key figure with
the same ID as the attribute is created in the system. If an active key figure with the same ID as
the attribute already exists, the system doesn’t create a new key figure, but matches the attribute
and the existing active key figure automatically. The attribute and the key figure are connected,
which creates a channel to fill the time series of the key figure. When master data is loaded for the
master data type that the attribute as key figure belongs to, the attribute value is copied to the
key figure.
The configuration of the attribute as key figure determines how the attribute value is copied to
the key figure. If the attribute as key figure is time-independent, the attribute value is copied only
once. If the attribute as key figure is time-dependent, the attribute value is copied either to a
specific period, to a range of periods, or to all periods that are available in the time profile of the
planning area where the attribute as key figure is used.
The number of time series entries that can be created or updated is limited per attribute as key
figure for performance reasons. For more information, see Defining an Attribute as Key Figure
[page 125] below.
Note
Loading master data to an attribute with this configuration prolongs the master data load. This is
irrespective of whether you use the attribute as key figure to create planning objects or whether you use it
to create or update key figure data. Loading the master data takes longer because the system doesn't just
need to save the master data to the database, it also needs to carry out the following additional steps:
Because of the prolonged loading time, the master data load can interfere with other processes or jobs that
run concurrently, resulting in an even longer runtime and higher memory consumption. If you want to avoid
this, the most efficient way to fill the time series of a key figure with values is to load the values directly in a
key figure data load.
Please carefully consider whether the use of an attribute as key figure is the right option for you, and also
take into account what is mentioned under Defining an Attribute as Key Figure below.
Use Cases
The principle of creating planning data using a master data attribute can be used for a variety of purposes
throughout IBP.
In a unit of measure conversion, the conversion factor typically remains the same and does not change from
period to period. For example, the conversion factor from grams to kilograms always remains 0.001.
In such cases, you can model the conversion factor as a time-independent key figure. Using the value of this
key figure, a key figure can be converted from the base unit of measure to the target unit of measure.
For more information about unit of measure conversions, see Configuring Currency Conversion [page 433].
An attribute as key figure can also be used to introduce a time dimension for a time-independent key figure or
if you want to introduce missing periods. You can introduce the time dimension or the missing periods by using
the associated key figure in a key figure calculation.
You can find an example of how to introduce a time dimension for a time-independent key figure in SAP Note
2922453 .
There are cases where you know that there may be gaps in your data. For example, if you have sales orders,
there may be no demand for a certain planning object on some days. Therefore, no data is created for the
periods in which there is no demand, which means that the period is not included in the time series of the key
figure. This can cause problems in calculations that require the time series to be complete. For example, if you
want to calculate moving averages. If you calculate a moving average based on the periods of a key figure for
which periods are missing, the calculation returns incorrect values.
To create the missing periods, you typically use the Copy Operator . The copy operator creates time series data
that is permanently stored on the database. In some cases, this can result in a large amount of data to be
stored. For example, if you have 1.5 million customer-location-product combinations, for which you create time
series data for two years in daily periods, this would result in 1.095 billion time series entries to be stored.
If you don’t want the system to create data that is stored permanently, you can also create the missing periods
on the fly by using key figure calculations. To do this, you add a time-dependent key figure that has all the
periods for the planning horizon as an additional input for the calculation of the key figure for which periods
may be missing. This way, the missing periods are added in the output of the key figure that has gaps in its time
series.
Example
You have a key figure KF1. This key figure is stored in daily periods. You have another key figure KF1
3-day moving average that you use to calculate the average of the KF1 key figure from the current
period to two periods in the future.
KF1@DAYPRODLOCZID = KF1@DAYPRODLOCZID
Inputs:
Because the data for the KF1 key figure is complete, the moving average can be calculated correctly for the
KF1 3-day moving average key figure, as the following table shows:
Period May 16, 2020 May 17, 2020 May 18, 2020 May 19, 2020 May 20, 2020 May 21, 2020
KF1 3-day 300 400 500 600 (no value) (no value)
moving
average
Now let’s assume your data for key figure KF1 has a gap for the period May 17, 2020. Because there is no
data for this period, the period is skipped by the system and not added to the time series of the key figure.
For the KF1 3-day moving average key figure, this means that the three-day average cannot be
calculated correctly for the period May 16, 2020. Instead of calculating the three-day average for the
periods May 16, 2020, May 17, 2020, and May 18, 2020, the system calculates the three-day average for the
periods May 16, 2020, May 18, 2020, and May 19, 2020. This is shown in the following table:
Period May 16, 2020 missing pe May 18, 2020 May 19, 2020 May 20, 2020 May 21, 2020
riod)
KF1 3-day 366,67 (no value) 500 600 (no value) (no value)
moving
average
To help avoid this, you can extend the calculation of key figure KF1 with the additional input of a key figure
whose time series is complete and has no gaps. Let’s assume this key figure is the stored key figure ZAAKF
(for an example of how to configure this key figure, see SAP Note 2922453 ). It is modeled as an attribute
as key figure, and its sole purpose is to provide the missing periods for KF1 for the required time period
range. Your extended calculation lookslike this:
KF1@DAYPRODLOCZID = KF1@DAYPRODLOCZID
Inputs:
Because key figure ZAAKF provides all the required periods without any gaps, the missing period May 17,
2020 is added in the output of key figure KF1. The value for both key figure ZAAKF and key figure KF1 in this
period is null. With this data in place, the system can calculate the three-day average for the KF1 3-day
moving average key figure based on the values of the periods May 16, 2020, May 17, 2020, and May 18,
2020. This is shown in the following table:
Period May 16, 2020 (missing pe May 18, 2020 May 19, 2020 May 20, 2020 May 21, 2020
riod)
KF1 3-day 366,67 (no value) 500 600 (no value) (no value)
moving
average
Number of pe 1 2 3 4 5 6
riod
Period May 16, 2020 May 16, 2020 May 18, 2020 May 19, 2020 May 20, 2020 May 21, 2020
KF1 3-day 300 450 500 600 (no value) (no value)
moving
average
Note that calculating the missing periods on the fly may have an impact on performance.
If your goal is to use the value of a decimal attribute in a key figure calculation, for example, as a ratio, you can
use an attribute as key figure.
Attributes can be used in key figure calculations. However, you can only use integer attributes as planning area
attributes. If you want to use a decimal value in a calculation, this means that you need to divide one integer
attribute (numerator) by another integer attribute (denominator) to express that decimal value.
Example
You want to multiply key figure KF1 by the value 1.5. You create the following key figure calculation:
Let’s say your attribute ATTR 1 has the value 3 and attribute ATTR 2 has the value 2. With these values in
place, the system will calculate the following:
KF1 * (3 / 2)
With this, you can express the decimal value 1.5 as a fraction of 3 / 2.
As an alternative, you can use an attribute as key figure. When used as a key figure, an attribute of type decimal
can be used in the planning area for key figure calculations.
Example
You have a master data type MDT1 with an attribute ATTR1 to which you will load the value 1.5. You use this
master data attribute in your planning area to fill the associated key figure by configuring it as an attribute
as key figure.
KF1 * ATTR1
KF1 * 1.5
Because you typically need the decimal value only once, you can define the associated key figure as a time-
independent key figure.
For more information about attributes in key figure calculations, see Using Attributes in Key Figure Calculations
[page 258].
You can use this configuration for attributes that are assigned to a simple, a compound, or an external master
data type, that is, to a master data type that you can load data into.
If you define an attribute as key figure in a planning area, the definition for the attribute is specific to that
planning area. It does not make the attribute an attribute as key figure in other planning areas. This also gives
you the option to define an attribute as key figure differently in every planning area.
Irrespective of the kind of planning data you want to create, you need to specify a base planning level. The
planning data is then created on that base planning level.
Note
The non-time root attributes of the key figure’s base planning level and the key attributes of the master
data type for this configuration must be exactly the same. If you select a base planning level that has only a
subset of the attributes, the system may generate inconsistent data.
For example, if the master data type for the attribute as key figure has the required attributes PRDID,
LOCID, and CUSTID, the base planning level of the key figure needs to have the non-time root attributes
PRDID, LOCID, and CUSTID. If you select a base planning level that only has PRDID and LOCID as non-time
root attributes, this will lead to inconsistent data.
For step-by-step instructions, see chapter Defining an Attribute as a Key Figure [page 130].
Planning Objects
To create planning objects, you need to select the Value by Reference checkbox when you define the attribute
as key figure. This checkbox is only visible in the definition dialog if the planning area is enabled for external
time series and the attribute is assigned to an external master data type. If you choose this option, the system
creates only planning objects when data is loaded into the master data type that this attribute belongs to.
Key Figures
You can configure attributes as key figures to be time-independent or time-dependent.
Time-independent
In this case, time-independent means that the base planning level you select for the associated key figure does
not have a time attribute, for example, PRODUMTO. When data is loaded to the master data type, only one record
is added to the key figure’s time series.
Time-dependent
Depending on your use case, you can specify the attribute value to be copied to a specific period or to a range
of periods.
If you want the attribute value to be copied to a specific period, for example, in the context of sales orders, you
need to specify a time reference attribute. The time reference attribute determines the time period to which
the value of the attribute is copied for the associated key figure. This is needed if you want to correctly maintain
key figure data for specific sales orders. You need to include the time reference attribute in the same master
data type as the attribute for which you’re doing the configuration. The time reference attribute must be of the
data type TIMESTAMP.
If you want the attribute value to be copied to a range of time periods, you need to specify the first and the last
time period for which the attribute value is to be stored in the time series of the key figure.
Caution
We recommend that you specify the time periods for which you want to store attribute values and keep the
time period range as small as possible. If you do not specify the time periods, the attribute value is stored
in the database for all the periods that are available based on the time profile of the planning area. If you
use the same attribute as key figure in several planning areas, the attribute values are stored for the other
planning areas, too, thus multiplying the volume of entries that need to be created. The high volume of time
series entries to be stored can have a detrimental impact on system performance when you load data for
the master data type.
Example
You have configured an attribute as key figure without specifying a period range. You use this attribute
in 2 planning areas. The time profile of each of those planning areas contains 13 periods. In each of the
planning areas where the attribute is used, each of these 13 periods is filled when a single master data
record is loaded for the master data type that the attribute belongs to.
If you now upload 500,000 records for the master data type, the system needs to copy the attribute
value into 6.5 million time series entries for the corresponding key figure. Because you’re using this
attribute in 2 planning areas, the number of time series entries that need to be filled is doubled, which
makes 13 million time series entries in total.
This effect increases with each attribute as key figure that you assign to a master data type. Let’s
assume you have configured two attributes as key figures in the example above. In this case, if you
upload 500,000 records for the master data type, the system needs to copy the attribute value into 6.5
million time series entries twice, which makes 13 million time series entries. For the 2 planning areas in
which these two attributes are used, this makes 26 million time series entries in total.
For more information and examples of how you can load data if you can't avoid having to create or update a
large volume of key figure data, see Troubleshooting for Attributes as Key Figures [page 133].
You can calculate the number of time series entries that you create or update with a master data load in
the following way: number of master data records that you upload x number of periods to be filled <= the
maximum number of entries.
Example
You have a master data type LOCATIONPRODUCT that has a LOTSIZE attribute. This attribute is defined
as time-dependent key figure on WKPRODLOC level. Let’s assume you plan to fill 30 periods with the value
of the LOTSIZE attribute for each LOCATIONPRODUCT record. This means that for each record that you
upload for the LOCATIONPRODUCT master data type, 30 time series entries are to be created or updated in
total. Let's assume that the maximum number of entries is 10 million. If you divide 10 million by 30 periods,
the result is 333,333.33. If you upload 333,333 records for the corresponding master data type, the system
creates or updates 9,999,990 time series entries.
Note that the limit on time series entries that can be created or updated per attribute as key figure might
change over time. You can check the current limit in the SAP Note referenced above.
Example
In the following example, month is used as the period in the base planning level of the attribute as key
figure. The current period is October 2016. The time profile assigned to the planning area spans from
January 2015 to December 2018.
Value Entered in Value Entered in To Key Figure Values Key Figure Values Comment
From Period Period Stored From Stored Until
Note
For performance
reasons, we rec
ommend that you
specify exact pe
riods in the From
Period and To
Period fields.
Note
For performance
reasons, we rec
ommend that you
specify exact pe
riods in the From
Period and To
Period fields.
(empty) (empty) January 2015 December 2018 Key figure values are
stored for all the pe
riods that are availa
ble based on the time
profile of the planning
area.
Caution
This kind of con
figuration can
impact perform
ance. We recom
mend that you
specify exact pe
riods in the From
Period and To
Period fields.
If you decide to delete the attribute as key figure, you have the option to delete the attribute as key figure
definition only or to delete it together with the related key figure. If the key figure is left behind after the deletion
of the definition, the key figure gets unmarked as an attribute as key figure.
If you delete a key figure that is marked as an attribute as key figure, the attribute as key figure definition is
deleted as well.
Data for the attribute can be loaded using data integration tools (Data Integration Jobs app, SAP Cloud
Integration for data services, inbound integration for order-based planning), using the master data workbook in
the add-in for Microsoft Excel, the Driver-Based Planning app, or by copying master data using the Copy Version
operator.
The stored key figure that is assigned to the attribute as key figure can also be loaded with key figure values
like any other stored key figure, for example, using data integration tools (Data Integration Jobs app, SAP Cloud
Platform Integration for data services).
Prerequisites
Make sure you have the necessary authorizations for this activity, that is, the business catalogs required for
this activity are assigned to a business role that is assigned to your business user. For more information see the
SAP Help Portal at http://help.sap.com/ibp, under Application Help for SAP Integrated Business Planning
Identity and Access Management Basic Concepts Business Catalogs .
Context
When the value of an attribute of a master data type remains the same over time (for example, the attribute
Product Price of master data type Product), you can define the attribute as a key figure. When such an attribute
is loaded as a key figure, it should have the same value for all time periods.
Procedure
1. In the Planning Areas app, find the planning area in which you want to define an attribute as key figure and
open it.
2. On the Attributes as Key Figures tab, choose New. Alternatively, on the Key Figures tab, select Attribute as
Key Figure from the dropdown next to the New button.
You can select an attribute that is assigned to a simple, a compound, or an external master data type, that
is, to a master data type which you can load data into.
4. Specify the base planning level for the key figure.
The non-time root attributes of the key figure’s base planning level that you select here and the
key attributes of the master data type for this configuration must be exactly the same. For more
information, see chapter Attributes as Key Figures [page 125].
• If you want to upload the key figure value for a single period, select a time reference attribute.
Note
The time reference attribute is an attribute of the timestamp data type and comes from the same
master data type as the attribute as key figure.
• If you want to upload the key figure value for a range of periods, enter values relative to the current
period in the From Period and To Period fields to indicate the time periods for which the attribute value
is to be stored in the time series for the key figure.
If you make an entry for From Period and leave To Period empty, the attribute value will be stored from
the value you entered for From Period for all future periods determined by the time profile assigned.
If you enter 0 in the From Period or To Period fields, the system takes the current period for the From
Period or To Period.
The time period is updated for each time bucket when you upload a value for that time bucket, so the
from period and to period values are relative to that point in time and are not automatically adjusted
as time goes by. To ensure that data is updated on a rolling basis, you need to upload key figure values
regularly.
For an example of how you can define the time periods, see chapter Attributes as Key Figures [page
125].
Caution
For time-dependent attributes as key figures, SAP recommends that you use the From Period
and To Period fields to specify the time period for which you want to store attribute values. If
you leave these fields blank, the attribute value is stored in the database for all the time periods
that are available based on the time profile of the planning area. If you use the same attribute as
key figure in several planning areas, the attribute values are stored for the other planning areas,
too, thus multiplying the volume of data. The high volume of time series entries to be stored can
affect system performance, therefore the attribute as key figure might be skipped during data
integration. For more information see Troubleshooting for Attributes as Key Figures [page 132].
In the case of attributes as key figures created from attributes of external master data types, you
should specify a time period too. If you leave the From Period and To Period fields empty, the full
planning horizon for your planning area is used for the attribute as key figure, which can lead to
performance issues in the case of a large volume of data to be read. To improve performance, we
recommend that you specify an exact period in the From Period and To Period fields.
• If you want to create planning objects without key figure data, select the Value by Reference checkbox.
Note
This option is available if the planning area is enabled for external time series and the attribute is
assigned to an external master data type.
Results
A key figure with the same ID as the attribute is now available in the list of key figures.
Note
If a key figure with the same ID has already existed in the system, the key figure is automatically marked as
an Attribute as Key Figure. However, you can’t save a configuration that involves an attribute as key figure
and a key figure with the same ID if any of the following applies:
If there is a key figure with the same ID in pending deletion status, you cannot use the ID for defining the
attribute as key figure unless you restore the key figure first.
Next Steps
To define the key figure properties for the attribute that you have defined as a key figure, go to the Key Figures
tab of the planning area in the Planning Areas app.
If you experience performance issues when you load or update master data for an attribute as key figure, or if
you exceed the limit of time series entries that can be created or updated, here are some options that can help
you remedy the situation.
When you load master data for an attribute as key figure, you may experience that the system does not copy
the attribute value to the corresponding key figure.
• The configured time period range for which time series entries should be created or updated is too big.
• No time period range has been configured at all.
• You tried to load too many master data records at once.
If you load or update master data for a master data type that has an attribute as key figure, the attribute value
is copied to each time period of the key figure that is specified in the definition of the attribute as key figure.
If you haven’t specified a time period range, the attribute value is copied to each period that is available in the
time profile of the planning area.
• How many time periods you have specified in the definition of the attribute as key figure
• How many time periods the time profile covers
• How many planning areas the attribute as key figure is used in
• How many records you load for the master data type that the attribute belongs to
• How many attributes as key figures belong to this master data type in total
The interplay of the above factors might result in hundreds of millions of time series entries that need to be
created or updated. This can cause long runtimes and high memory consumption. For an example, see the
note for time-dependent attributes as key figures in section Defining an Attribute as Key Figure [page 125].
The number of time series entries that the system can create or update for the associated key figure is limited.
If you exceed this limit, the system does not create or update the time series entries for the key figure. For
details, see 2986360 .
To help prevent issues caused by long-running master data loads, check the definition of the attributes as key
figures that you use. If possible, we recommend that you either change the definition, or consider using an
alternative way to create or update time series entries.
The following graphic shows you what you can do if you’re experiencing issues when you load master data:
A proposal for an alternative way to model the attribute as key figure as mentioned in the graphic can be found
in SAP Note 2922453 .
Caution
You may be using an attribute as key figure in several planning areas unintentionally by making copies of
your planning area. We therefore recommend that you check the configuration in all the planning areas
where the same attribute as key figure is used.
Key figures are series of numbers over time, where each number corresponds to a particular time period value.
Key figures have a business context: In SAP Integrated Business Planning, end users view and use key figures in
the planning views or in Analytics. Every key figure has a base planning level.
Key figures are associated with a key, which is a combination of attributes from one or more master data
objects.
Key figures represent variables that are associated with attributes (master data types), and can be imported
into the SAP Integrated Business Planning system, calculated, and/or manually edited.
Example
Examples of key figures are Sales Forecast, Marketing Forecast, Consensus Demand Plan, Projected
Inventory, Capacity Plans or actual data such as Sales Orders and Shipment History.
Once you have created your attributes, master data types, time profiles, and planning areas and levels, you
define the key figures you want to include in your planning model.
Caution
We use the sample model entities in many examples throughout the user assistance for SAP IBP. In general,
you have the freedom to customize the model entities according to your business needs.
However, to run the inventory operators and time-series-based supply planning algorithms, you have to use
specific technical IDs defined by SAP for the relevant master data types, attributes, and key figures. For
demand sensing, the same applies to certain master data attributes and key figures for which a business
meaning has not been specified.
For more information, see the documentation of the relevant planning operator in this guide and the
respective chapter of the application help.
Type Explanation
Key figure The key figures that end users view in the planning views or
in Analytics.
Helper key figure Helper key figures are typically used for intermediate calcu
lation results in a regular key figure or in another helper key
figure. For example, they can be used to break down a large
calculation into manageable subcalculations.
Helper key figures are not visible to the end user and do not
have a base planning level. They can be used at request level
or at any other planning level. They are used in calculations
that have more than 3 inputs at different planning levels.
Attribute Transformations Attributes that are assigned to a planning level can be trans
formed to a different value based on certain conditions. For
example, Period ID can be transformed to calculate lead time
offset.
Attributes as key figures You can define attributes of master data types as key figures
in the planning area.
Alert key figure Key figures that monitor and manage the execution of busi
ness plans based on user-defined criteria. Alert key figures
are always calculated. They can't be stored or edited.
Alert key figures can only have the values" 0" or "1", meaning
that the alert itself is either ON or OFF. Alerts typically check
conditions on other key figures, such as TargetRev vs. Con
sensusRev > 10%.
Snapshot key figure To check how key figure values have evolved over time, you
can set up an application job to take snapshots of the se
lected key figure at regular intervals. The values captured in
this way are stored in a snapshot key figure. You can display
the values of the snapshot key figure in your planning view,
which allows you to create a time-lapse view of your data.
Note
Supply Planning input and output key figures Must be stored key figures.
Input key figures added via data integration Mark as Stored. If you need to edit such a key figure, mark it
as Editable.
Quantity and value key figures Typically set to aggregation mode SUM, MIN, or MAX. If such
key figures are defined as Editable, Disaggregation Mode is
set to Equal.
Ratio, price, cost, and percentage key figures Typically set to aggregation mode Custom, Min, Max, or Avg.
If Editable, typically set to Copy.
Related Information
Prerequisites
Make sure you have the necessary authorizations for this activity, that is, the business catalogs required for
this activity are assigned to a business role that is assigned to your business user. For more information see the
SAP Help Portal at http://help.sap.com/ibp, under Application Help for SAP Integrated Business Planning
Identity and Access Management Basic Concepts Business Catalogs .
Context
Once you have created your attributes, master data types, time profiles, and planning areas and levels, you
define the key figures you want to include in your planning model.
Steps
1. Go to the Key Figures tab of the planning area in the Planning Areas app.
Alternatively, enter focus mode using the Focus Mode button available from any tab of the Planning Area
(details) screen.
2. Choose New, and select the type of key figure you want to create from the dropdown list.
3. Enter an ID for the key figure, for example, SALESFORECASTQTY.
4. Select the desired base planning level from the drop-drown menu (for example, PERPRODCUST).
The base planning level specifies the most granular level at which the value of the key figure is defined.
Note
Different key figures may have different base planning levels. However, if multiple planning levels that
are used as the base planning level of stored key figures have identical root attributes (not taking the
time attribute into consideration), ensure to set identical non-root attributes as well.
A calculation can be specified for a key figure at a planning level other than its base planning level.
Stored key figures have stored values at the base planning level. All key figures have calculated values
at each planning level for which a calculation is specified.
As a result, the system creates a REQUEST level calculation by default. Later on, if you modify the planning
level or the aggregation mode, the REQUEST level calculation is updated automatically up until you edit the
calculation manually.
Display Settings Controls how the key figure is displayed in various applica
tion areas of SAP Integrated Business Planning for Supply
Chain (SAP IBP). The following settings are available:
• Decimals: Define the number of decimal places you
want to be displayed for each key figure in various
apps of SAP IBP, such as the Web-Based Planning app,
the Driver-Based Planning app, and the Copy Operator
(Advanced) app. The default setting is 6 decimal pla
ces.
This setting also controls rounding in disaggregation
for key figures that have SUM or AVG aggregation
mode.
For more information, see Decimal Places in Key Fig
ure Values [page 155]
• Display as Percentage: Select to display the key figure
as a percentage. Note that key figures can only be
displayed as a percentage in analytics and in the SAP
IBP, add-in for Microsoft Excel (Excel add-in).
Note
In the Excel add-in, you can use the SAP IBP
formatting sheet to specify how numbers are dis
played.
Base Planning Level Shows the planning level you selected earlier.
Aggregation Mode SUM (default value), MIN, MAX, AVG, COUNT, CUSTOM
Example
A value of 100 for Q1 of 2020 is to be disaggregated to
the three monthly planning combinations JAN 2020,
FEB 2020, and MAR 2020. The values should have a
proportionality of 2:3:5.
Propor 2 3 5
tionality
Factor
Result 20 30 50 20+30+
with Ag 50=100
grega
tion
Mode
SUM
Mode
AVG
Disaggregation Mode Disaggregation mode is available only for key figures for
which Edit Allowed is selected. There are two options:
• Copy Value
• Equal Distribution
• "KEYFIGURE1"
• "KEYFIGURE1" + "KEYFIGURE2"
• "KEYFIGURE1" + "ATTRIBUTE"
• (IF(ISNULL("ADJUSTEDACTUALSQTY"),"ACTUALS
QTY","ADJUSTEDACTUALSQTY"))
Note
You must enter key figure IDs and attribute IDs in up
percase, and place them in double quotation marks.
Example
A demand planner has a product family PF1 with only
two products, P1 and P2. These products have the
following values at the base planning level:
P1 C1 Jan 100
P2 C1 Jan 200
Note
Select both Stored and Calculated only for key figures
that are configured to default to another key figure.
See Defaulting to Another Key Figure.
Edit Allowed If a key figure is only calculated, its values can’t be edited.
The values of stored key figures and key figures that are
both stored and calculated can be changed.
• Not Editable: you can't edit the key figure in the SAP
IBP, add-in for Microsoft Excel
• System Editable: any kind of planning algorithm, for
example, the forecasting algorithm, can change the
key figure for the complete time horizon
• Editable in the Current or Future Period: system users
and planning algorithms can both change the key fig-
ure, but only in the current period or for future periods
• Editable in the Past: system users and planning algo
rithms can both change the key figure, but only in the
past periods
• All Editable: any of the above changes are possible
Enable Fixing Select this checkbox if you want to use the fixing of key
figure values for a specific key figure. For more information
about the configuration of key figure fixing, see Configura-
tion of Key Figure Fixing [page 147].
Enable Planning Notes Select this checkbox if you want to use planning notes for a
specific key figure.
Planning Level for Planning Notes By default, planning notes can be created or displayed on
any planning level that the key figure allows, down to the
base planning level of the key figure. You can restrict this
by defining the lowest level to which planning notes can be
created and displayed in this field. The planning level you
choose here must be a subset of the attributes of the key
figure’s base planning level.
Input/Output for Supply Planning Indicates an input and/or output key figure for supply
planning. If the planning area is enabled for supply plan
ning, this field determines whether the key figure is used
as an I/O for supply planning.
Note
To enable a planning area for supply planning, go to
the General tab of the planning area in the Planning
Areas app and select Enable Supply Planning .
Input/Output for TS Forecast Consumption Indicates if the stored key figure is an input or output for
time-series-based forecast consumption.
Convert Using Key figure that represents the conversion factor for UoM
and/or currency conversion. This key figure is used for dis
aggregation and must fulfill certain requirements. For more
information, see Configuring Unit of Measure Conversion
[page 435].
Enable Change History Indicates that changes to the key figure will be tracked. For
more information, see Change History for Key Figures and
How to Enable the Change History? [page 445].
Hashtags You can define your personal filtering criteria in the form of
hashtags. You can assign hashtags to any key figures for
which characteristics are available.
Note
The #IBP* and #SAP* namespaces are reserved by
SAP, so you can't create any hashtags beginning with
these strings.
6. Save your key figure. If you choose Save and New, you can immediately proceed to create the next key
figure of the same type.
Related Information
How to Create a Key Figure with the ID of a Deleted Attribute or an Attribute with the ID of a Deleted Key Figure
[page 462]
Decimal Places in Key Figure Values [page 155]
Before business users can fix and unfix key figure values, you must first enable fixing of key figures in the
configuration.
As well as the requirements described under Fixing of Key Figure Values, please consider the following:
You need to enable fixing of key figure values for each key figure that you want your business users to be able to
fix and unfix. To do this, you need to select the Enable Fixing checkbox in the Characteristics section when you
create or edit a key figure in the Planning Areas app.
After you have enabled fixing for a key figure, 2 technical key figures are generated. These technical key figures
are merely used for storing technical information about the key figure for which you have enabled fixing and are
therefore not visible in any planning app. For information purposes, they are displayed in read-only mode in the
Planning Areas app.
DIS_FIXIND_<key figure name> Holds the information that the key figure is fixed
Note
If necessary, the system may slightly adjust the name of the technical key figures to ensure that they are
unique.
If the planning view in the SAP IBP, add-in for Microsoft Excel contains fixable key figures but no SAP IBP
formatting sheet, fixing formatting will always stay in the cells where it is added. Over time, fixed cells get
multiple fixing icons.
To make sure that fixing information is displayed correctly in the SAP IBP, add-in for Microsoft Excel, you must
include an SAP IBP formatting sheet in the planning view, by choosing Edit View View Formats on the
SAP IBP tab.
If you wish, in the IBP Formatting Sheet dialog, you can define specific formatting rules for fixable key figures.
Related Information
You can enable planning notes for up to 40 stored key figures in a planning area.
Context
To allow business users to add planning notes to the values of a key figure in the planning view, you must enable
planning notes in the key figure configuration.
Note
You can’t enable planning notes for helper, snapshot, technical, external, or alert key figures.
Procedure
1. In the Planning Areas app, select the planning area that contains the key figure for which you want to
enable planning notes.
2. Select this key figure in the Key Figures tab.
3. Choose Edit.
4. In the Characteristics section, choose the Enable Planning Notes checkbox.
This means that planning notes can be created and displayed on any aggregation level of the key figure
down to its base planning level.
Caution
The planning level you choose here must be a subset of the attributes from the key figure’s base
planning level. If you select a planning level that does not fulfill this requirement, you won’t be able to
(re-)activate your planning area.
For more information about the various uses for planning notes, see Planning Notes and Enabling
Planning Notes and Granting Authorizations.
Related Information
Planning Notes
Enabling Planning Notes and Granting Authorizations
In the Planning Areas app, the configuration of proportional disaggregation depends on the combination of
values for several fields.
The Disaggregation Mode field controls the base disaggregation mode, which is either Equal Distribution or
Copy Value.
The value specified in the Proportionality field describes the data source of the proportional factors that are
used as weighting factors during proportional disaggregation.
Proportional disaggregation is available for both the Equal Distribution and Copy Value disaggregation modes.
The Proportionality field can take the values described in the table below.
Value Description
Same Key Figure – Stored Values If the stored values of the same key figure are not 0, the
aggregated values are disaggregated proportionally to them,
otherwise according to the disaggregation mode.
Same Key Figure – Calculated Values If the calculated values of the same key figure are not 0,
the aggregated values are disaggregated proportionally to
them, otherwise according to the disaggregation mode. In
this case, a disaggregation expression is generated based on
the calculation rules during activation.
Other Key Figure – Stored Values If the stored values of the proportionality key figure are not
0, the aggregated values are disaggregated proportionally to
them, otherwise according to the disaggregation mode.
Other Key Figure – Calculated Values If the calculated values of the proportionality key figure
are not 0, the aggregated values are disaggregated propor
tionally to them, otherwise according to the disaggregation
mode.
If Other Key Figure – Stored Values or Other Key Figure – Calculated Values is selected in the Proportionality
field, the key figure against which the disaggregation is to be done is available in the Key Figure for
Proportionality field.
Related Information
You can specify a key figure in the Convert Using field of key figures that are editable. The key figure you specify
can be stored or calculated.
The calculated key figure that you specify in the Convert Using field can't contain any aggregation in its
calculations and must meet either of the following requirements:
• It is defined on the same time profile level as the key figure. This means that their base planning levels have
the same time profile level as root time attribute.
Example
In the SAP6 sample planning area the Statistical Forecast Price (STATISTICALFCSTPRICE)
key figure is converted using the EXCHANGERATE_UOMCONVERSION (EXCHANGERATEUOMCONVERSION)
key figure. Both key figures are defined on technical week level.
Example
In the SAPIBP1 sample planning area, the Unit Cost (COSTPERUNIT) key figure is
defined on technical week level and converted using the Exchange Rate by UOM
(EXCHANGERATEUOMCONVERSION) key figure which is defined on monthly level.
Related Information
Prerequisites
Make sure you have the necessary authorizations for this activity, that is, the business catalogs required for
this activity are assigned to a business role that is assigned to your business user. For more information see the
SAP Help Portal at http://help.sap.com/ibp, under Application Help for SAP Integrated Business Planning
Identity and Access Management Basic Concepts Business Catalogs .
Context
• The associated planning area must have the status Active or Inactive.
• You can copy key figures only within the same planning area.
• The planning area must be within the customer space.
• When you copy a key figure, the new key figure has the same type (for example, when you copy a helper
key figure, the new key figure is also a helper key figure).
Steps
1. In the Planning Areas app, go to the Key Figures tab of the planning area or enter focus mode.
Context
You can change all properties of a key figure except the key figure ID.
You can change the name, description, display settings, and hashtag assignments of an active key figure. For all
other changes, the key figure must be inactive.
You can make changes to individual key figures in the Planning Areas app as follows:
To edit several key figures in quick succession you can use the focus mode available in the Planning Areas app
as follows:
1. Enter focus mode by choosing the Focus Mode button on the Planning Area (details) screen. If needed,
switch to the Key Figures tab of Focus Mode (if you have navigated from the Planning Levels tab of the
Planning Area details screen).
2. Select the key figure that you want to edit from the key figure worklist on the left. The details of the key
figure will immediately appear in edit mode on the right-hand side with the worklist still displayed on the
left.
3. Make your changes.
4. Save your changes and proceed by selecting the next key figure that you want to edit from the worklist on
the left.
Prerequisites
Make sure you have the necessary authorizations for this activity, that is, the business catalogs required for
this activity are assigned to a business role that is assigned to your business user. For more information see the
SAP Help Portal at http://help.sap.com/ibp, under Application Help for SAP Integrated Business Planning
Identity and Access Management Basic Concepts Business Catalogs .
Context
External key figures enable SAP Integrated Business Planning to work with special stored key figures where
the actual time series content comes from an external database. To use external key figures, the application-
relevant orders, for example, sales orders or purchase orders, have to be aggregated and integrated from
ERP to an SAP HANA database table inside the Integrated Business Planning system using a near real-time
integration mechanism. When you set up your planning model, you have to define an external key figure or key
figures referring to this table. Since the integration is continuous, the reference key figure data always contains
the latest aggregated entries from SAP ERP. Therefore, there is no need for manual update.
Steps
Note
An integration profile for a planning area and a profile for all master data types in this planning area
must be the same.
Note
Make sure that a value has been selected for Data Source for External Key Figure Definition. Otherwise,
the planning level does not support external key figures on this base level.
6. Assign a reference column to each root attribute of the planning level using the Reference Column.
7. Click Save.
8. Go to the Key Figures tab and find the key figure you want to define as external.
In the Planning Areas app, you can define the number of decimal places you want to be displayed for each key
figure in various apps of the SAP Integrated Business Planning for Supply Chain (SAP IBP) solution.
Purpose
In the Planning Areas app, you can define the number of decimal places you want to be displayed for each
key figure. If the number of decimal places isn't specified, the maximum possible value is used, which is six
decimal places. Changes you make to the display settings don‘t affect the activation status of the affected
key figure. The decimal places setting isn't adjusting the technical definition of the affected key figure. Hence,
from a technical perspective the key figure will still have six decimal places, independent of decimal places
selection. As a consequence, the decimal places might be cut off during disaggregation, but the key figure itself
can still store six decimal places (for example, maintained via the master data workbook in the SAP Integrated
Business Planning, add-in for Microsoft Excel (SAP IBP, add-in for Microsoft Excel)).
When a user enters a key figure value in a planning view, or executes a batch process that involves
disaggregation, the system manages the values as follows:
Example
You enter a value of 10 for Demand at the aggregated planning level PG.
Result: After disaggregation, the key figure values at the base planning level are 3.33, 3.33, and 3.34 for the
three products A, B, and C. The system arbitrarily decides which product gets 3.34.
You enter 12.456 for Demand at the aggregated planning level PG.
Result: After disaggregation, the key figure values at the base planning level are 4.15, 4.15, and 4.16 for the
three products A, B, and C. This aggregates to 12.46 according to the configuration setting of two decimal
places for the key figure.
Example
You enter a value of 12.456 for Supply at the aggregated planning level PG.
Result: After disaggregation, the key figure values at the base planning level are 4.152, 4.152, and 4.152 for
the three products A, B, and C.
Note
In some circumstances, taking the number of decimal places into account during disaggregation can affect
performance. So, if you don't need this feature for a particular key figure, you can deactivate it by setting
the number of decimal places for the key figure to null in the Planning Areas app.
The key figure’s distance from its data source is indicated by the number of steps between the stored input
planning levels and the REQUEST level calculation of the key figure in the longest path of the key figure’s
Distance from Data Source values are calculated by the system during activation for each key figure that has a
REQUEST level calculation. In planning areas that have already been activated, you can view the value in the key
figure worklist and on the Key Figure (details) screens for the relevant key figures.
Caution
In inactive planning areas that have earlier been activated, the value shown reflects the earlier active state.
Any changes that have been made to key figure calculations since the activation, may affect the accuracy
of the value. To get an accurate value, you need to activate the planning area again.
Context
Once you have created a key figure, you can add calculations to it. Note the following:
• All key figures that an end user is able to query from the user interface must have a calculation at REQUEST
level, because the system determines how to calculate the key figure starting from this calculation
• You can additionally define calculations that aggregate the key figure data from a lower base planning level
using an operator such as SUM, MIN, MAX, AVG, COUNT, and STDDEV.
• You can also define calculations across key figures, for example, KF1 plus KF2.
• All key figure calculations have calculation inputs, which can be marked as stored or non-stored. The
calculation chain (from REQUEST level to the bottom) for every key figure must end in a stored key figure.
• The calculation shouldn’t involve a division by zero for any actual key figure value. Division by zero causes
a numeric overflow condition in the system and therefore needs to be avoided. For example, the calculation
KF1@PL1 = KF2@PL1 / KF3@PL1 involves a division by zero if KF3@PL1 takes the value 0. You can avoid
that by including an if condition in your calculation as follows: KF1@PL1 = IF(KF3@PL1=0, 0, KF2@PL1 /
KF3@PL1).
Example
KF1@PL1 = KF2@PL1 plus KF3@PL1 , Key figure 2 (KF2) is a stored input key figure and key figure
3 (KF3) is a calculated input key figure. The calculated chain for key figure 3 (KF3) must finish with
a stored key figure (such as KF3@PL1 = SUM(KF4@PL2), where KF4@PL2 is a stored key figure).
Prerequisites
Make sure you have the necessary authorizations for this activity, that is, the business catalogs required for
this activity are assigned to a business role that is assigned to your business user. For more information see the
SAP Help Portal at http://help.sap.com/ibp, under Application Help for SAP Integrated Business Planning
Identity and Access Management Basic Concepts Business Catalogs .
Note
Each time you activate a planning area, the system generates a combined graph of all calculations of
the planning area. For this graph to be valid, and the activation be successful, certain requirements
apply for the calculations:
If a calculation is invalid, break it down into calculations that have one or two input key figures only. You
can consider introducing helper key figures.
Each change you make in a calculation results in the graph being completely re-generated with the next
activation of the planning area. It may happen that a change in a calculation makes a calculation of a
different key figure invalid. Study the activation log of the planning area to find out if you should change
a calculation.
6. Once you have entered the expression, choose Validate, and verify that the correct inputs have been
selected by the system.
The system automatically marks the key figures @ planning level that are used in the expression as inputs
in the Input Key Figures dialog.
7. Click OK.
If your expression is correct, it will change color from black to green (planning level) and blue (key figure).
This indicates that it is validated. Otherwise, you receive a warning message.
8. Once your expressions are correct, save your changes.
Note
For calculation definitions that include an L script, you can replace the L script with a regular
calculation expression by choosing the Edit button. Please keep in mind that this change may be
irreversible. If your planning area was active before the change, you can recover the L script by
restoring the active instance of the planning area or the key figure. If that option is no longer available,
you need to contact SAP to get the L script re-created.
You also need to request any modification of an L script from SAP. For more information, see
2298382
Example
This example illustrates how to create a calculation for SALESFORECASTQTY. At request level, the
calculation expression aggregates (SUMS) the stored SALESFORECASTQTY.
SALESFORECASTQTY@PERPRODCUST X
6. Click OK.
If your expression is correct, it will change color from black to green (planning level) and blue (key
figure). This indicates that it is validated. Otherwise, you receive an error message.
7. Once your expressions are correct, save your changes.
Related Information
A calculation graph represents a key figure's calculation definitions at different planning levels, and their
input-output relationships.
A key figure can have calculations at many planning levels. Calculations are the nodes of the graph, and
their input-output connections are the arcs. Visualizing a complex calculation graph helps when checking or
changing the calculations: their definitions, planning levels, or inputs.
Use the Key Figure Calculations app to display the complete calculation graph of one or more key figures in
a planning area. You can display either the inactive or the active instance of the calculation graph. The active
instance is a complete and consistent calculation graph, otherwise it couldn't have been activated. The inactive
instance includes the changes since the last activation (if there has been an activation), and may not be
complete and consistent.
• Choose Calculation Graph Calculations to see the calculation definitions and how they are built on
each other.
• Choose Calculation Graph Root Attributes to see the input-output relationships, such as which root
attributes from the input planning levels are needed in the output planning level, which ones are the basis
for aggregation, or which attributes form the base of a join.
• Choose Where-Used Graph to display all the calculations that use the selected calculation as a direct or
indirect input. You can switch between displaying calculation definitions or root and join attributes here as
well.
For more information, see Where-Used Graphs [page 473].
• Choose Filter Blocks to see which attributes you can use for effective filtering and where filter blocks are
raised.
For more information, see Filter Blocks [page 481].
Note
If you want to view the calculation graph of a specific key figure that you have selected in the Planning Areas
app, you can navigate directly to the Key Figure Calculations app using the Show Graph button available in
the Planning Areas app.
The Key Figure Calculations app also provides information about the type of the node. Depending on the type of
the node, the incoming arc arrow has a specific color:
To display detailed information for a node (about the calculation definitions, planning levels, and key figures),
call up the Node Info.
To display and change the planing level of the calculation, the key figure, or the base planning level of the key
figure, you can navigate from this app directly to the corresponding model entity in the Planning Areas app.
Operators
Aggregations
• SUM
• AVG
• COUNT
• STDDEV
• MIN
• MAX
Note
In case MIN and MAX have several input key figures, there is no aggregation; they are functions
returning the lowest and highest values of the input key figures. For more information, see the following
table and section MIN and MAX with Multiple Inputs [page 169].
Standard Functions
IF(intarg , arg2, arg3) Return arg2 if intarg is considered KF1@PL = IF("KF2@PL" >
true (not equal to zero). "KF3@PL", 1, 0)
JF(intarg, arg2, arg3) Return arg2 if intarg is considered KF1@PL = JF("KF2@PL" >
true (not equal to zero), else return "KF3@PL", 1, 0)
arg3. The function JF behaves simi
If KF2 or KF3 are not maintained, that
larly to function IF, but it uses SQL
is, any of them includes null (undefined)
semantic. While IF returns null, if the
values, then the function returns the
first argument is null (undefined), JF else-value, in this specific example it is
returns the else-value (arg3) in that 0.
case.
Modeling Requirements for the EXP, SQRT, LOG and Power Functions
• The parameter of the EXP function has to be an expression (with a numeric output), a key figure, an integer
type attribute, or a numeric constant.
• The parameter of the SQRT function has to be an expression (with a numeric output), a key figure, an
integer type attribute, or a numeric constant.
• The value of the parameter of the SQRT function has to be zero or positive.
• The parameter of the LOG function has to be an expression (with a numeric output), a key figure, an integer
type attribute, or a numeric constant.
• The value of the parameter of the LOG function has to be positive.
• The parameters of the power (**) function have to be expressions (with numeric outputs), key figures,
integer type attributes, or numeric constants.
Note
These functions can be nested in other calculations, and other calculations can be nested in these
functions as well. For example, EXP(SQRT(IF( KF <= 0, KF-CEIL(KF), KF-FLOOR(KF).
However, these functions cannot be nested in simplified key figure calculations (IBP_*), and simplified key
figure calculations cannot be nested in these functions either.
Example
Take the sum of the squares; then calculate the square root of the total:
Example
ISNULL
The ISNULL condition works only when an underlying time series record exists for the planning object.
Imagine that Sales Forecast Quantity and Marketing Forecast Quantity are the stored key figures for
planning level PERPROD.
Planning Object Period Key Figure: Sales Forecast Key Figure: Marketing
Qty Forecast Qty
Feb 2018 Not evaluated The planning object for the time pe
riod February 2018 does not exist.
Sample Expressions
Note
In key figure calculations, column engine expressions are used. For differences between the column engine
and the SQL engine, see 2780505 .
For more information about column engines, see Using Column Engine Functions in the SAP HANA
Modeling Guide.
Related Information
In the case of several input key figures, there is no aggregation in the MIN and MAX functions; the output is
simply the lowest or highest value of the input key figures. If any of the key figure values is NULL, both the
minimum and maximum will be NULL as well.
The attributes of the output planning level must be the union of the attributes of the input planning levels.
Example
In this example, the MIN and MAX functions have three input key figures: CAPACITYMORNING,
CAPACITYAFTERNOON, and CAPACITYNIGHT. First, we calculate the minimum and maximum values on
MINCAPACITY@REQUEST = MIN("MINCAPACITY@MTHPRODLOC")
MINCAPACITY@MTHRESLOC = MIN("CAPACITYMORNING@MTHPRODLOC",
"CAPACITYAFTERNOON@MTHPRODLOC", "CAPACITYNIGHT@MTHPRODLOC")
MAXCAPACITY@REQUEST = MAX("MAXCAPACITY@MTHPRODLOC")
MAXCAPACITY@MTHRESLOC = MAX("CAPACITYMORNING@MTHPRODLOC",
"CAPACITYAFTERNOON@MTHPRODLOC", "CAPACITYNIGHT@MTHPRODLOC")
Then we aggregate to machine level. The output of the MIN and MAX functions will be the aggregation of the
minimum and maximum values calculated before.
11.5 COUNT
Use the COUNT aggregation to count how many planning object combinations have values for the given time
period.
To count the values of the input key figure, use the COUNT aggregation in the calculation definition of key figures
in the Planning Areas app: COUNT(<KEY FIGURE@PLANLEVEL>)
COUNT checks and counts how many planning object combinations have values for the given time period. If the
input key figure has data uploaded for a given time period at the base planning level, the result of the COUNT
aggregation is 1, otherwise it is 0.
The COUNT aggregation can be used at a planning level and REQUEST level as well.
COUNTKF@REQUEST = COUNT("COUNTKF@MTHPRODLOC")
COUNTKF@MTHPRODLOC = "STOREDKF@MTHPRODLOC"
In the example, we calculate COUNT for each product/location combination. The count key figure can have the
following values:
• If the stored key figure has data uploaded for a time period, the value of the count key figure is 1.
• If the stored key figure doesn't have data uploaded, that is its value is NULL, the value of the count key
figure is 0.
• If a specific combination does not exist (for example, Shanghai/Phone X/Feb 2020), the count key figure is
not calculated for this combination.
Then, we remove the product from the planning view and aggregate to location level.
You can use the COUNT aggregation as a parameter in the following simplified key figure calculations:
• The COUNT aggregation must have exactly one parameter, which is the input key figure.
• The output key figure of the COUNT aggregation cannot be stored.
• The COUNT aggregation cannot be embedded in another expression.
• In calculation definitions that only have a COUNT(<KEY FIGURE@PLANLEVEL>) expression on the input
side, the attributes of the output planning level must be the same as or a subset of the attributes of the
input planning level.
Use the STDDEV aggregation to calculate standard deviation for the given key figure.
Standard deviation measures the dispersion of a sample data set relative to its mean. It is calculated as the
square root of variance by determining each data point's deviation from the mean:
To calculate standard deviation, use the STDDEV aggregation in the calculation definition of key figures in the
Planning Areas app: STDDEV(<KEY FIGURE@PLANLEVEL>). The STDDEV aggregation returns the standard
deviation for data that represents a sample (realized by the division by n-1 in the formula), similarly to the
STDEV.S function in Microsoft Excel. It can aggregate data in any dimension, and can be used at REQUEST
level as well.
Example
STDDEVAGGRQTY@REQUEST = STDDEV("ACTUALQTY@MTHPRODLOC")
In this example, first we calculate standard deviation on a location/product/month level. Since the value of
the input key figure is stored on a monthly level and we calculate standard deviation on a monthly level in the
REQUEST calculation, the result will always be 0.
Then we run the query on quarterly level and keep both the location and product dimension. In this case, the
value of the ACTUALQTY key figure is aggregated and standard deviation is calculated.
Finally, we aggregate the ACTUALQTY key figure to location level and calculate standard deviation.
• The STDDEV aggregation must have exactly one parameter, which is the input key figure.
• When a calculation graph includes a standard deviation aggregation, the topmost key figure in the
calculation graph mustn't be editable.
• The STDDEV aggregation cannot be embedded in another expression.
• In calculation definitions that only have a STDDEV(<KEY FIGURE@PLANLEVEL>) expression on the input
side, the attributes of the output planning level must be the same as or a subset of the attributes of the
input planning level.
Context
Stored key figures refer to key figures that are stored in the underlying database tables and that are either
imported from a source system or else are entered manually in a planning view in the IBP Excel add-in.
• The associated key figure is marked as Stored (and can also be set to Editable)
• The key figure has only one request level calculation, but can also have some other calculations.
• The input key figure for the calculation is the same key figure at base planning level.
Example: Calculation Definition for Actuals Qty from SAPIBP1 Sample Model
ACTUALSQTY@PERPRODCUST X X
Context
In request level calculations, the inputs for the calculation are also at request level. (“Request level”) is a
built-in planning level that represents the level at which a user looks at the data [in the Microsoft Excel client
or in Analytics].) When a key figure of this type is called at request level, the key figures in the calculation
are first calculated at request level. The results are then returned to the key figure calculation. Request level
calculations are typically used for calculation of ratios, prices, and cost. The following example shows the
calculation of sales forecast price, which is a weighted average calculation:
Example
SALESFORECASTREV@REQUEST √
SALESFORECASTQTY@REQEST √
Note
When a key figure contains calculations at different planning levels, the attributes of the output planning
level must match the union of all the attributes of the input planning levels. The calculation is going to be
an inner join, that is, the output records will be the ones that have the same combination of values for the
join attributes in both input planning levels. Join attributes are attributes that both input planning levels
contain, and they are root in at least one of them. All the other common attributes are defined by the join
attributes. This means that if you want to get a result for all possible attribute value combinations, you need
to ensure that both input key figures contain the same value combinations for the join attributes.
If two input planning levels do not have common attributes, the output records will be the cross join of
the two input data sets. We do not recommend this calculation type, as it might increase the data volume
significantly.
The following figure shows an example for the Total Demand Value key figure from the SAPIBP1 sample
planning area:
For the calculation shown below, the same attributes must be defined for the planning level WKPRODLOCCURR
(root attributes: PERIODID5, PRDID, LOCID, and CURRID plus non-root attributes) as for the planning levels
Similarly, the WKPRODLOCCURRCURRTO output planning level must contain all the attributes (root attributes:
PERIODID5, PRDID, LOCID, CURRID, and CURRTOID, non-root attributes: PERIODID3 and others) from the
MTHCURRCURRTO (PERIODID3, CURRID, and CURRTOID plus non-root attributes) and the WKPRODLOCCURR
(PERIODID5, PRDID, LOCID, and CURRID plus non-root attributes) input planning levels.
TOTALDEMANDVAL@REQUEST = SUM("TOTALDEMANDVAL@WKPRODLOCCURRCURRTO")
TOTALDEMANDVAL@WKPRODLOCCURR = "DEPENDENTDEMAND@WKPRODLOC" *
"COSTPERUNIT@WKPRODLOCCURR"
TOTALDEMANDVAL@WKPRODLOCCURRCURRTO = "EXCHANGERATE@MTHCURRCURRTO" *
"TOTALDEMANDVAL@WKPRODLOCCURR"
TOTALDEMANDVAL@WKPRODLOCCURRCURRTO
• Calculation of the total demand value in a currency other than the base currency:
TOTALDEMANDVAL@WKPRODLOCCURRCURRTO = "EXCHANGERATE@MTHCURRCURRTO" *
"TOTALDEMANDVAL@WKPRODLOCCURR"
EXCHANGERATE@MTHCURRCURRTO Yes
TOTALDEMANDVAL@WKPRODLOCCURR
• Calculation of the total demand value from the dependent demand quantity and the unit cost in base
currency:
TOTALDEMANDVAL@WKPRODLOCCURR = "DEPENDENTDEMAND@WKPRODLOC" *
"COSTPERUNIT@WKPRODLOCCURR"
DEPENDENTDEMAND@WKPRODLOC Yes
COSTPERUNIT@WKPRODLOCCURR Yes
Context
You can configure key figures in such a way that a key figure calculation defaults to another key figure value
based on a condition. You can also define a chain of key figures, where a key figure defaults to another
defaulting key figure.
Note
Chaining is not restricted to defaulting. As all definitions of key figure are iterative, you can define a chain
for any calculations.
Example
In this example, the key figure Sales Forecast Qty is defined as defaulting key figure for the key figure
Consensus Demand Qty. If the data value for Consensus Demand Qty is null or empty, the system
defaults to Sales Forecast Qty.
As there is no stored value for Consensus Demand Qty, the value defaults to the value for Sales Forecast
Qty: 2000.
• If there is no stored data value for Consensus Demand Qty, then the value “2000” from Sales
Forecast Qty is used.
• If you enter a value, such as “1000” for Consensus Demand Qty or save a value from planning views, this
new value will override the default value.
• To revert to a calculated value, simply set the value to null (empty) in the planning view and save your
entries.
Steps
1. Create a key figure, for example, CONSENSUSDEMANDQTY at base planning level PERPRODCUST
2. Mark the key figure as Stored, Editable, and Calculated.
3. Define a request level calculation and a calculation for the base planning level:
• Request level calculation:
CONSENSUSDEMANDQTY@REQUEST = SUM(“CONSENSUSDEMANDQTY@PERPRODCUST”)
• Calculation for the base planning level:
CONSENSUSDEMANDQTY@PERPRODCUST = IF(ISNULL(“CONSENSUSDEMANDQTY@PERPRODCUST”
“DEMANDPLANNINGQTY@PERPRODCUST”, “CONSENSUSDEMANDQTY@PERPRODCUST”)
Note that the input key figure can be either a stored or a calculated key figure. In this example, both inputs
are stored key figures:
CONSENSUSDEMAND@PERPRODCUST √ √
DEMANDPLANNINGQTY@PERPRODCUST √ √
Note
Since the key figure is marked as both stored and calculated, on activation, the system generates a
defaulting expression as follows:
IF(ISNULL(“CONSENSUSDEMANDQTY@PERPRODCUST”), “DEMANDPLANNINGQTY@PERPRODCUST”,
“CONSENSUSDEMANDQTY@PERPRODCUST”)
The system generates this expression provided the inputs for the calculation are stored key figures that are
at the same base planning level as the Key figure itself.
To add a simplified key figure calculation to a key figure, go to the Planning Areas app, and select your planning
area and key figure. Start typing IBP in the expression editor, and choose the function you want to use from the
dropdown. Then, enter the parameters as described in the respective sections below.
Note
You cannot use these IBP functions at the base planning level in the calculation graph of a key figure that is
used as the input of a supply planning or forecast consumption operator.
You have the following option, if you want to use these IBP functions in the calculation graph of these
operators:
• Copy the result of these functions to another key figure and use it as the input of the supply planning or
forecast consumption operator.
You cannot use these IBP functions at the base planning level in the calculation graph of a key figure that
uses the output of a supply planning or forecast consumption operator.
You have the following options, if you want to use the output of these operators in the calculation graph of
such key figures:
• Use these functions in calculations at planning levels other than the base planning level of the key
figure in question.
• Copy the result of these functions to another key figure and add the output of the supply planning or
forecast consumption operator as an input of the key figure.
For more information, see section Additional Checks for a Planning Area Enabled for Time-Series-Based
Supply Planning in Planning Areas [page 322].
Cumulative aggregation makes it easier to model typical cross-period calculations, such as projected stock,
year-to-date and year-to-go calculations, or cumulative average.
To create a cumulative aggregation calculation, use the IBP_CAGGR function like any other function (for
example, SUM or MAX) in the calculation editor.
Cumulative aggregation imposes filter blocks in the calculation graph of a key figure, which might increase
the runtime of queries. For more information, see Filter Blocks [page 481].
Caution
For the cumulative aggregation to calculate correct values, the input key figure must have values for all time
periods to be aggregated.
Make sure that key figure values exist for all periods to be aggregated. If this is not the case, upload NULL
values for the periods where key figure values are missing.
Example
YTDATE_DEMAND@PERPRODCUST =
IBP_CAGGR("DEMAND@PERPRODCUST",''SUM'',''FORWARD'',''PASTCURRENT'',6)
This is a year-to-date calculation, where the values of the DEMAND key figure at the PERPRODCUST planning
level ("DEMAND@PERPRODCUST") from the past and current periods (''PASTCURRENT'') are summed up
(''SUM''), forward in time (''FORWARD''), with the cross-period aggregation restarting at the beginning
of each year (let's assume that year is time profile level 6 in the time profile assigned to the planning area).
The IBP_CAGGR function has four mandatory parameters and one optional parameter.
Note
The values of the 2nd, 3rd, and 4th parameters must be surrounded by two pairs of single quotation marks.
A double quotation mark instead of two single quotation mark will result in an error during activation.
Note
You cannot use the IBP_CAGGR function at the base planning level in the calculation graph of a key figure
that is used as the input of a supply planning or forecast consumption operator.
You have the following option, if you want to use the IBP_CAGGR function in the calculation graph of these
operators:
• Copy the result of the IBP_CAGGR function to another key figure and use it as the input of the supply
planning or forecast consumption operator.
You cannot use the IBP_CAGGR function at the base planning level in the calculation graph of a key figure
that uses the output of a supply planning or forecast consumption operator.
You have the following options, if you want to use the output of these operators in the calculation graph of
such key figures:
• Use the IBP_CAGGR function in calculations at planning levels other than the base planning level of the
key figure in question.
• Copy the result of the IBP_CAGGR function to another key figure and add the output of the supply
planning or forecast consumption operator as an input of the key figure.
For more information, see section Additional Checks for a Planning Area Enabled for Time-Series-Based
Supply Planning in Planning Areas [page 322].
Note
• The calculation must have one input only, which is the input key figure in the calculation expression.
• The input and the output planning levels must be identical, and they cannot be REQUEST level.
• When a calculation graph includes a cumulative aggregation, the topmost key figure in the calculation
graph mustn't be editable.
For more information about modeling requirements regarding cummulative aggregation, see section
Checks for Cummulative Aggregation in Key Figures [page 327].
Related Information
Examples for calculating cumulative sum, cumulative average, or the minimum or maximum of key figure
values.
Use the IBP_CAGGR (cumulative aggregation) function to calculate the cumulative sum, cumulative average, or
the minimum or maximum of the key figure values.
Caution
For cumulative aggregation to calculate correct values, the input key figure must have values for all time
periods to be aggregated.
Make sure that key figure values exist for all periods to be aggregated. If this is not the case, upload NULL
values for the periods where key figure values are missing.
Cumulative aggregation imposes filter blocks in the calculation graph of a key figure, which might increase
the runtime of queries. For more information, see Filter Blocks [page 481].
A cumulative aggregation calculates the sum or the average of the key figure values for the previous periods
and the current period, or finds the maximum or minimum of the values for the previous periods and the
current period. You can also provide a time profile level at which the cumulative aggregation should restart.
For example, you sum up monthly values within a quarter, but next quarter the sum should restart in the first
month of the quarter.
The IBP_CAGGR function has 4 mandatory and 1 optional parameters, as described in Cumulative Aggregation
[page 180]. Using the IBP_CAGGR function, you can define a cross-period calculation in one step.
Here are a few examples of parameter values of the IBP_CAGGR function, and the calculation results. In both
examples, time profile level 5 represents the quarter in the time profile assigned to the planning area, and
periods refer to months.
In this example, we calculate the cumulative sum of monthly key figure values within a quarter.
Parameter Value
Direction FORWARD
Horizon PASTCURRENTFUTURE
Restart at 5
In this example, we calculate the maximum of monthly key figure values within a quarter.
Direction FORWARD
Horizon PASTCURRENTFUTURE
Restart at 5
Related Information
Examples for calculating year-to-date and year-to-go values using the IBP_CAGGR (cumulative aggregation)
function.
You can use the IBP_CAGGR (cumulative aggregation) function to calculate the sum of key figure values from
the beginning of the year up to the current period (year-to-date) in one step. Similarly, you can define a
calculation to calculate the sum of key figure values from the next period to the end of the year (year-to-go).
Caution
For cumulative aggregation to calculate correct values, the input key figure must have values for all time
periods to be aggregated.
Make sure that key figure values exist for all periods to be aggregated. If this is not the case, upload NULL
values for the periods where key figure values are missing.
Cumulative aggregation imposes filter blocks in the calculation graph of a key figure, which might increase
the runtime of queries. For more information, see Filter Blocks [page 481].
Here are a few examples of parameters values of the IBP_CAGGR function, and the calculation results. In
the example below, current period is period 6 (the 6th month of the calendar year), and time profile level 6
represents the year in the time profile assigned to the planning area.
Example
Year-To-Date
In this example, we calculate the cumulative sum of monthly key figure values from the start of the year up to
the current period. The output key figure is YTDATE_DEMAND@PLOUT.
Parameter Value
Direction FORWARD
Horizon PASTCURRENT
Restart at 6
The FORWARD value of the 3rd parameter (direction) determines that the sum is calculated by taking the key
figure value in the first period, then in the next one. The PASTCURRENT value of the 4th parameter (horizon)
determines that the function doesn't calculate values beyond the current period.
Year-To-Go
In this example, we calculate the sum of monthly key figure values from the period after the current one up to
the last period of the calendar year. The output key figure is YTGO_DEMAND@PLOUT.
Parameter Value
Direction BACKWARD
Horizon FUTURE
Restart at 5
The BACKWARD value of the 3rd parameter (direction) determines that the sum is calculated by taking the key
figure value in the last period within the year, then the key figure value in the previous period. The FUTURE value
of the 4th parameter (horizon) determines that the function doesn't calculate values for the current period and
for the periods earlier.
Sample Calculations
The IBP_CAGGR function executes the year-to-go and the year-to-date calculations like this:
Related Information
The projected stock is the stock of a product that is expected to be available at the location at the end of
a period. From the value of this key figure, you can see how the demand/stock balance develops over time
and whether critical stock situations occur. You can use the IBP_CAGGR (cumulative aggregation) function to
calculate the projected stock.
Caution
For cumulative aggregation to calculate correct values, the input key figure must have values for all time
periods to be aggregated.
Make sure that key figure values exist for all periods to be aggregated. If this is not the case, upload NULL
values for the periods where key figure values are missing.
Cumulative aggregation imposes filter blocks in the calculation graph of a key figure, which might increase
the runtime of queries. For more information, see Filter Blocks [page 481].
In the examples, the value of the initial stock is available from the INIT_STOCK@PLIN key figure. Demands are
available from DEMAND@PLIN, and receipts from RECEIPT@PLIN.
1. Calculating the monthly values of the SUM_DEM_RECPT@PLIN key figure by adding the receipts
(RECEIPT@PLIN) to the initial stock (INIT_STOCK@PLIN), and subtracting the demands (DEMAND@PLIN):
SUM_DEM_RECPT@PLIN = "INIT_STOCK@PLIN" + "RECEIPT@PLIN" - "DEMAND@PLIN"
This calulation is necessary because cumulative aggregation has only one input key figure.
2. Calculating the projected stock as the cumulative sum of SUM_DEM_RECPT@PLIN:
PROJ_STOCK@ PLOUT = IBP_CAGGR("SUM_DEM_RECPT@PLIN" , ''SUM'' , ''FORWARD'' ,
''PASTCURRENTFUTURE'')
Parameter Value
Direction FORWARD
Horizon PASTCURRENTFUTURE
In this example, we get the projected stock without going below zero by defining four calculations.
1. Calculating the monthly values of the SUM_DEM_RECPT@PLIN key figure by adding the receipts
(RECEIPT@PLIN) to the initial stock (INIT_STOCK@PLIN), and subtracting the demands (DEMAND@PLIN):
SUM_DEM_RECPT@PLIN = "INIT_STOCK@PLIN" + "RECEIPT@PLIN" - "DEMAND@PLIN"
This calulation is necessary because cumulative aggregation has only one input key figure.
Direction FORWARD
Horizon PASTCURRENTFUTURE
Direction FORWARD
Horizon PASTCURRENTFUTURE
In this example, stock on hand data is available from time to time, therefore the cumulative aggregation
restarts each time stock on hand data is available for a projected stock calculation.
The restarting mechanism is built upon the PERIODID(n) that is used in an attribute transformation to
introduce a ‘new dimension’ in the calculation. This ‘new dimension’ triggers the restart of the cumulative
aggregation.
In this example, we get the projected stock calculation that uses stock on hand data.
1. Assigning the value of the PERIODID in a calculated key figure at those periods where the stock on hand
values are available.
Note
The calculation uses the time root attribute of the output planning level, in this example it is
PERIODID3.
The following calculation graph shows how the HPERIODIDATTR is used as a ‘new dimension’ in the calculation
chain.
Related Information
Use last period aggregation to display the key figure value for the last period in a given time period (for
example, the last month of a quarter or the last month of a year). You can use the IBP_LPA function to
configure last period aggregation in one step.
To use last period aggregation, use the IBP_LPA function in the calculation definiton of key figures in the
Planning Areas app: IBP_LPA("INPUTKFID@INPUTPLEVEL").
Last period aggregation must have exactly one input parameter, which is the key figure to be aggregated. This
key figure must be the same as the input of the calculation definition. The input key figure can be stored and
calculated as well. You cannot use IBP_LPA function without an input key figure as no defualt value is provided.
The result of last period aggregation is written to the output key figure.
For more information about modeling requirements regarding last period aggregation, see section Checks for
Last Period Aggregation in Key Figures [page 327].
There are two ways to calculate last period aggregation depending on whether a root time profile level is
defined in the output planning level.
Dynamic Aggregation
In case of dynamic last period aggregation, the time profile level for which we aggregate is defined during
runtime. This means that the aggregated key figure can be calculated on any time profile level. The time
aggregation will happen on the requested time granularity. Use this option when you want to ensure flexibility
at querying key figures at request level.
To calculate dynamic aggregation, use the IBP_LPA function, and make sure that no root time profile level
is defined in the output planning level of the aggregation and in any of the calculations built on last period
aggregation. Additionally, time profile levels must be the same in the input and output planning levels.
Example
In this example, the input key figure shows the inventory level of a product on a daily basis. We use the
IBP_LPA function to calculate the aggregated inventory level; however, we do not define the time granularity at
this point. The time profile level for which aggregation takes place is defined during runtime.
AGGRINVENTORY@PERPRODLOC = IBP_LPA("INVENTORY@DAYPRODLOC")
AGGRINVENTORY@REQUEST = SUM("AGGRINVENTORY@PERPRODLOC")
In case of static last period aggregation, aggregation is defined for a specific time profile level. To calculate
static aggregation, use the IBP_LPA function and define a root time profile level in the output planning level.
The root time profile level in the output planning level must be a possible parent of the root time profile level in
the input planning level.
Note
Static last period aggregation imposes filter blocks in the calculation graph of a key figure, which might
increase the runtime of queries. For more information, see Filter Blocks [page 481].
Example
In this example, the input key figure shows the inventory level of a product on a daily basis. First, we use the
IBP_LPA fuction to calculate the aggregated inventory level on a weekly basis (technical week), as all the other
calculations built on this key figure are defined for calendar and technical weeks. Then, on REQUEST level, we
can calculate the aggregated inventory for all time profile levels that are built on technical week, for example,
calendar week. In this case, aggregation to a higher time profile level will use the REQUEST level aggregation
instead of last period aggregation.
AGGRINVENTORY@TECHWKPRODLOC = IBP_LPA("INVENTORY@DAYPRODLOC")
AGGINVENTORY@REQUEST = SUM("AGGINVENTORY@TECHWKPRODLOC")
Missing Inputs
The last period aggregation function does not generate missing time periods and key figure data in case the
uploaded data is fragmented or missing. The input key figure has to have data uploaded for the last time
period. If there is no data available for the last period or for the entire time horizon, last period aggregation
returns no value.
Last period aggregation uses the time profile of the planning area to find out the related time periods. The
IBP_LPA function works based on calendar only, it does not consider product combinations at data upload. It
means that if a product has no uploaded data for the requested last period, the function will return no value
and product either. It is the responsibility of the modeling expert to take care of key figure initialization or
defualting when uploading and importing key figures.
In this example, there is no data uploaded for the last period (06.01.2019) in the given time period, so the
IBP_LPA function returns no value.
In this example, there is no uploaded data for Product B and Product C for all time periods, so the IBP_LPA
function returns value for Product A only.
The same aggregation and disaggregation rules apply for last period aggregation as for any other type of
aggregation, as described in section Checks for the Aggregation and Disaggregation Mode in Planning Areas
[page 322].
Last period aggregation is a time-based aggregation. From the available options, disaggregation mode Copy
Value and proportionality No Proportional Disaggregation and Same Key Figure - Stored Values return correct
values after editing a key figure that was calculated using last period aggregation.
Example: Last period aggregation combined with Copy Value and No Proportional
Disaggregation
Note
You cannot use the IBP_LPA function at the base planning level in the calculation graph of a key figure that
is used as the input of a supply planning or forecast consumption operator.
You have the following option, if you want to use the IBP_LPA function in the calculation graph of these
operators:
• Copy the result of the IBP_LPA function to another key figure and use it as the input of the supply
planning or forecast consumption operator.
You cannot use the IBP_LPA function at the base planning level in the calculation graph of a key figure that
uses the output of a supply planning or forecast consumption operator.
You have the following options, if you want to use the output of these operators in the calculation graph of
such key figures:
• Use the IBP_LPA function in calculations at planning levels other than the base planning level of the
key figure in question.
• Copy the result of the IBP_LPA function to another key figure and add the output of the supply
planning or forecast consumption operator as an input of the key figure.
For more information, see section Additional Checks for a Planning Area Enabled for Time-Series-Based
Supply Planning in Planning Areas [page 322].
Related Information
Use rolling aggregation to aggregate key figures across several time periods, for a specified time window.
Instead of requesting an L script to create such an aggregation, you can use the IBP_RAGGR function to
configure rolling aggregation in one step.
To use rolling aggregation, use the IBP_RAGGR function in the calculation definition of key figures in the
Planning Areas app. The parameters you define in the calculation definition specify the time window and the
aggregation type of the rolling aggregation function.
Note
Rolling aggregation imposes filter blocks in the calculation graph of a key figure, which might increase the
runtime of queries. For more information, see Filter Blocks [page 481].
Example
In this example, you can calculate the summary of the demand for the previous, actual, and upcoming months.
The IBP_RAGGR function has five mandatory parameters and one optional parameter.
Note
The value of the 1st parameter must be surrounded by double quotation marks.
The values of the 2nd and 5th parameters must be surrounded by two pairs of single quotation marks. A
double quotation mark instead of two single quotation mark will result in an error during activation.
In this example, the value of the calculation horizon is CURRENTFUTURE. This means that
rolling aggregation is only calculated for the current and future time periods, that is, the
AGGREGATEDDEMAND@PERPRODLOC key figure does not have values for time periods before October 2018.
However, values from past time periods are used to calculate the values for current and future time
periods.
• 6th parameter: restart of rolling aggregation (optional)
The last parameter is optional, and it specifies when rolling aggregation will restart. If you want to restart
aggregation at certain time intervals, enter the time profile level at the end of which aggregation should
stop and restart from 0.
Possible values: All time profile levels that are assigned to the planning level, except for the root time profile
level.
For example, if you enter 6 (year), rolling aggregation will always restart at the first root time period of the
next year.
Example
AVERAGEDEMAND@PERPRODLOC = IBP_RAGGR ("DEMAND@PERPRODLOC", ''AVG'', -1, 3,
''PASTCURRENTFUTURE'', 6)
Note
You cannot use the IBP_RAGGR function at the base planning level in the calculation graph of a key figure
that is used as the input of a supply planning or forecast consumption operator.
You have the following option, if you want to use the IBP_RAGGR function in the calculation graph of these
operators:
• Copy the result of the IBP_RAGGR function to another key figure and use it as the input of the supply
planning or forecast consumption operator.
You cannot use the IBP_RAGGR function at the base planning level in the calculation graph of a key figure
that uses the output of a supply planning or forecast consumption operator.
You have the following options, if you want to use the output of these operators in the calculation graph of
such key figures:
• Use the IBP_RAGGR function in calculations at planning levels other than the base planning level of the
key figure in question.
• Copy the result of the IBP_RAGGR function to another key figure and add the output of the supply
planning or forecast consumption operator as an input of the key figure.
Missing Inputs
You cannot use the IBP_RAGGR function without an input key figure as no default value is provided. The rolling
aggregation function does not generate missing time periods and key figure data in case the uploaded data is
fragmented or missing. The input key figure has to have data uploaded for all time periods. There are two cases
of missing inputs.
Empty Value
If a time period for a planning object combination is missing, that time period is skipped and the value
uploaded to the next time period is taken into account when calculating rolling aggregation. Additionally, rolling
aggregation is not calculated for the missing time period.
NULL Value
If the value of the input key figure is NULL, it is ignored during calculation, but the time window is not extended
with another time period. You can default the NULL value to 0 by adding another calculation if it is justified by
your modeling requirements.
Example
In this example, time period March 2019 is missing. As shown in the table above, March 2019 is skipped and
aggregation continues with the value uploaded to April 2019. That is, instead of calculating the average of
January, February, and March, average is calculated for January, February, and April.
For time period August 2018, the value of the input key figure is NULL. In this case, August 2018 is ignored,
that is, average is calculated for September and October only.
Use dynamic rolling aggregation to aggregate key figures across several time periods for a time window
specified by key figures, attributes, or constants. Instead of requesting an L script to create such an
aggregation, you can use the IBP_DYNAMIC_RAGGR function to configure dynamic rolling aggregation in one
step.
With the previous version of Rolling Aggregation [page 196] (IBP_RAGGR), you can define your calculation
horizon only with constants. Using the dynamic rolling aggregation (IBP_DYNAMIC_RAGGR) function, you have
Note
Dynamic rolling aggregation imposes filter blocks in the calculation graph of a key figure, which might
increase the runtime of queries. For more information, see Filter Blocks [page 481].
Example
In this example, you can calculate the summary of demand for the time window defined by the
AGGROFFSET@PERPRODLOC and the AGGRDURATION@PERPRODLOC key figures.
The IBP_DYNAMIC_RAGGR function has five mandatory parameters and one optional parameter.
Note
Key figure and attribute values must be surrounded by double quotation marks. String constants
(aggregation type and calculation horizon) must be surrended by two pairs of single quotation marks.
Numerical values (for example, restart of rolling aggregation) musn't be surrounded by quotation marks.
In this example, for each location/product combination, the start of aggregation is defined by the
AGGROFFSET attribute. For the Boston/Converter combination, the aggregation always starts one month
before (AGGROFFSET=-1), whereas for the Boston/Charger combination, the aggregation always starts
with the actual month (AGGROFFSET=0). The duration is defined by the AGGRDURATION@PERPRODLOC key
figure.
Example: Start of aggregation is defined by a key figure
AGGREGATEDDEMAND@PERPRODLOCCUST = IBP_DYNAMIC_RAGGR("DEMAND@PERPRODLOCCUST",
''SUM'', "AGGROFFSET@PERPRODLOC", "AGGRDURATION@PERPRODLOC",
''PASTCURRENTFUTURE'')
In this example, the start and duration of dynamic rolling aggregation are defined by key figures. If the key
figure value includes decimals, the decimal parts are neglected when calculating the time window of the
aggregation. For example, the value of the AGGROFFSET@PERPRODLOC key figure is -1.1 for August 2020,
which means that aggregation will start with previous month for this period.
Note
If you want a different rounding method, use one of the available rounding functions (for example,
ROUND, FLOOR, or CEIL. For more information, see Commonly Used Functions and Expressions [page
162].
In this example, the start of the aggregation is defined by a constant (0) and the duration is defined by the
AGGRDURATION@PERPRODLOC key figure.
Example: Duration of aggregation is negative or zero
AGGREGATEDDEMAND@PERPRODLOC = IBP_DYNAMIC_RAGGR("DEMAND@PERPRODLOC", ''SUM'',
"AGGROFFSET@PERPRODLOC", "AGGRDURATION@PERPRODLOC", ''PASTCURRENTFUTURE'')
In this example, the duration of the aggregation is negative in September 2020 and zero in April 2021. As a
result, the AGGREGATEDDEMAND key figure is NULL for both periods. If the start or duration of aggregation
is NULL, the output of the IBP_DYNAMIC_RAGGR function is NULL as well, as it is the case for November
2020.
• 5th parameter: calculation horizon (mandatory)
The fifth parameter defines the calculation horizon, which can control the output of the calculation. If
separate key figures are used to calculate the past, present, and future values, this parameter filters the
values, thus improves performance in the planning view.
Possible values are PAST, PASTCURRENT, PASTCURRENTFUTURE, CURRENT, CURRENTFUTURE, and FUTURE.
If you use one key figure for dynamic rolling aggregation, regardless of the horizon, use the
PASTCURRENTFUTURE value for this parameter.
Example: Calculation horizon is CURRENTFUTURE
AGGREGATEDDEMAND@PERPRODLOC = IBP_DYNAMIC_RAGGR("DEMAND@PERPRODLOC", ''SUM'',
"AGGROFFSET@PERPRODLOC", "AGGRDURATION@PERPRODLOC", ''CURRENTFUTURE'')
In this example, the value of the calculation horizon is CURRENTFUTURE. This means that dynamic
rolling aggregation is only calculated for the current (February 2021) and future time periods, that is,
the AGGREGATEDDEMAND@PERPRODLOC key figure does not have values for time periods before February
2021. However, values from past time periods are used to calculate the values for current and future time
periods.
• 6th parameter: restart of dynamic rolling aggregation (optional)
The last parameter is optional, and it specifies when dynamic rolling aggregation will restart. If you want
to restart aggregation at certain time intervals, enter the time profile level at the end of which aggregation
should stop and restart from 0.
In this example, you can calculate the average demand for the previous, actual, and upcoming months,
restarting at the first month of every year.
• A dynamic rolling aggregation must have one, two, or three input key figures, which must be used in the
calculation expression as well. The first one is the input key figure to be aggregated, the second one (if
used) defines the start of aggregation, and the third one (if used) defines the duration of the aggregation.
• The attributes of the output planning level must be the union of the attributes of the input planning levels.
• Maximum two input planning levels are allowed.
• Dynamic rolling aggregations must be time dependent. That is, both the input planning levels and the
output planning level of the calculation must have one of the PERIODID(n) attributes set as the time root
attribute. The time root attribute mustn't be the PERIODID attribute.
The same PERIODID(n) attribute must be the time root attribute in both planning levels.
• The output planning level must have master data type roots.
• The IBP_DYNAMIC_RAGGR function must have values specified for the 5 mandatory parameters, and can
have a value specified for one optional parameter.
• The first parameter must be the input key figure to be aggregated at the input planning level.
• The value that is specified for the sixth parameter (time profile level at which the dynamic rolling
aggregation restarts) must exist in the time profile assigned to the planning area.
• Only a time profile level that is assigned to the planning level of the dynamic rolling aggregation as
a time attribute (but not as a root attribute) can be specified as the value of the sixth parameter of
IBP_DYNAMIC_RAGGR (time profile level at which the dynamic rolling aggregation restarts).
• The IBP_DYNAMIC_RAGGR function cannot be used at REQUEST level.
• When a calculation graph includes a dynamic rolling aggregation, the topmost key figure in the calculation
graph mustn't be editable.
• The IBP_DYNAMIC_RAGGR function cannot be nested in other calculations.
Note
You cannot use the IBP_DYNAMIC_RAGGR function at the base planning level in the calculation graph of a
key figure that is used as the input of a supply planning or forecast consumption operator.
• Copy the result of the IBP_DYNAMIC_RAGGR function to another key figure and use it as the input of
the supply planning or forecast consumption operator.
You cannot use the IBP_DYNAMIC_RAGGR function at the base planning level in the calculation graph of a
key figure that uses the output of a supply planning or forecast consumption operator.
You have the following options, if you want to use the output of these operators in the calculation graph of
such key figures:
• Use the IBP_DYNAMIC_RAGGR function in calculations at planning levels other than the base planning
level of the key figure in question.
• Copy the result of the IBP_DYNAMIC_RAGGR function to another key figure and add the output of the
supply planning or forecast consumption operator as an input of the key figure.
For more information, see section Additional Checks for a Planning Area Enabled for Time-Series-Based
Supply Planning in Planning Areas [page 322].
Missing Inputs
You cannot use the IBP_DYANAMIC_RAGGR function without an input key figure as no default value is provided.
The dynamic rolling aggregation function does not generate missing time periods and key figure data in case
the uploaded data is fragmented or missing. The input key figures have to have data uploaded for all time
periods. There are two cases of missing inputs.
NULL Value
If the value of the input key figure is NULL, it is ignored during calculation, but the time window is not extended
with another time period. You can default the NULL value to 0 by adding another calculation if it is justified by
your modeling requirements.
Empty Value
If a time period for a planning object combination is missing, it is handled as if the value of the input key figure
were NULL. It is ignored during calculation, but the time window is not extended with another time period. This
is a difference compared to the IBP_RAGGR function, where the time window is extended.
In this example, the value of the input key figure is NULL for November 2020 and December 2020. As a
result, aggregated demand is not calculated for November 2020, the value of the output key figure is NULL.
In addition to that, time periods March 2021 and April 2021 are missing. When calculating dynamic rolling
In these examples, values are aggregated with COUNT. In the case of NULL and missing input key figure values,
the value of the output key figure is 0.
If the start or duration of aggregation is NULL, the output of the IBP_DYNAMIC_RAGGR function is NULL as
well. In this example, both the start and duration of aggregation is NULL for November 2020. As a result, the
value of the output key figure is NULL.
Use period shift to shift key figure values by time periods. Instead of using complicated attribute
transformations, you can use the IBP_PERIODSHIFT function to configure period shift in one step.
To use period shift, use the IBP_PERIODSHIFT function in the calculation definition of key
figures in the Planning Areas app: IBP_PERIODSHIFT(<KEY FIGURE@PLANLEVEL>,<NUMBER OF
PERIODS>,<AGGREGATION TYPE>).
Note
Period shift imposes filter blocks in the calculation graph of a key figure, which might increase the runtime
of queries. For more information, see Filter Blocks [page 481].
The IBP_PERIODSHIFT function has two mandatory parameters and one optional parameter:
Shift by a Constant * * *
Shift by an Attribute * ** **
Shift by a Constant
Use a constant to define the number of periods by which you want to shift the input key figure. The number has
to be either a positive integer (you shift into the future) or a negative integer (you shift into the past). If you shift
a key figure by a constant, you do not need to define the third parameter or create an aggregation calculation
on top of the IBP_PERIODSHIFT function.
Example
ACTUALSQTYOFFSET@REQUEST = SUM("ACTUALSQTYOFFSET@MTHPRODLOC")
In this example, you can shift the value of actual quantity by 12 months in to the future.
Shift by an Attribute
Example
ACTUALSQTYOFFSET@REQUEST = SUM("ACTUALSQTYOFFSET@MTHPRODLOC")
LEADTIME is an attribute to indicate lead times for supply planning for shifting key figures. Different products
can have different lead times in terms of shipping depending on the product characteristics (for example, size
and weight). In this example, the value of LEADTIME is 1 for PRDID1, and 2 for PRDID2. That is, you shift the
value of actual quantity by 1 in case of product 1, and by 2 in case of product 2.
Example
ACTUALSQTYOFFSET@REQUEST = SUM("ACTUALSQTYOFFSET@MTHPRODLOC")
In this example, LAG is a time profile attribute, part of the MTHPRODLOC planning level, and it specifies the
shipping time of a product from a manufacturer to the distribution center. The value of LAG is 2 in 2019,
whereas 1 in 2020.
Use a key figure to define the number of periods by which you want to shift the input key figure. If you shift
a key figure by another key figure, you might end up with mutliple values in some of the time buckets. In this
case, you must use the third parameter or create an aggregation calculation on top of the IBP_PERIODSHIFT
function to define how the key figure value is calculated from the multiple values of the given time buckets.
The planning level of the output key figure must be a subset of the planning level of the key figure used for
shifting the input key figure.
Example
ACTUALSQTYOFFSET@MTHPRODLOC = IBP_PERIODSHIFT("ACTUALSQTY@MTHPRODLOC",
"LAGDECIMAL@MTHPRODLOC", ''SUM'')
In this example, LAGDECIMAL@MTHPRODLOC is a key figure, and it specifies the lead time, which is different
for different time periods and products. As a result, the value of the ACTUALSQTYOFFSET key figure might
be calculated from the values of more than 1 time periods, for example, as in the case of April 2019. For
this reason, the third parameter is also used to define how the key figure value is calculated from the
multiple values of the given time periods. In this example, the sum of the shifted values will be calculated
for ACTUALSQTYOFFSET because the aggregation type is SUM in the function.
In case of decimals, the default rounding method is used. If you want to use another rounding mode,
implement it in a separate calculation, as described in Commonly Used Functions and Expressions [page
162].
• The first parameter must be the input key figure at the input planning level.
• A period shift calculation must have exactly one input if you shift by a constant or an attribute.
• A period shift calculation must have exactly two inputs if you shift the input key figure by another key
figure.
• The input planning level and the output planning level of a period shift must be compatible with each other.
That is, they must contain the same set of attributes, including the same set of root attributes.
• Period shift must be time dependent. That is, both the input planning level and the output planning level of
the calculation must have one of the PERIODID(n) attributes set as the time root attribute. The time root
attribute mustn't be the PERIODID attribute.
The same PERIODID(n) attribute must be the time root attribute in both planning levels.
• The IBP_PERIODSHIFT function cannot be used at REQUEST level.
• When a calculation graph includes a period shift, the topmost key figure in the calculation graph mustn't be
editable.
Note
You cannot use the IBP_PERIODSHIFT function at the base planning level in the calculation graph of a key
figure that is used as the input of a supply planning or forecast consumption operator.
You have the following option, if you want to use the IBP_PERIODSHIFT function in the calculation graph of
these operators:
• Copy the result of the IBP_PERIODSHIFT function to another key figure and use it as the input of the
supply planning or forecast consumption operator.
You cannot use the IBP_PERIODSHIFT function at the base planning level in the calculation graph of a key
figure that uses the output of a supply planning or forecast consumption operator.
You have the following options, if you want to use the output of these operators in the calculation graph of
such key figures:
• Use the IBP_PERIODSHIFT function in calculations at planning levels other than the base planning
level of the key figure in question.
• Copy the result of the IBP_PERIODSHIFT function to another key figure and add the output of the
supply planning or forecast consumption operator as an input of the key figure.
For more information, see section Additional Checks for a Planning Area Enabled for Time-Series-Based
Supply Planning in Planning Areas [page 322].
Missing Inputs
You cannot use the IBP_PERIODSHIFT function without an input key figure as no default value is provided. The
period shift function does not generate missing time periods and key figure data in case the uploaded data is
fragmented or missing. The input key figure has to have data uploaded for all time periods. If a time period or
a planning object combination is missing, that time period is skipped, and nothing is shifted. If the value of the
input key figure is NULL or 0, it is shifted by the defined time periods.
If the second parameter, that is, the number of time periods, is empty, NULL or 0, the value of the input key
figure is not shifted.
We recommend to upload data for all time periods, otherwise you might face performance issues.
Instead of using several complex calculations, use the IBP_WEIGHTEDAVG function to calculate weighted
average for a key figure in one step.
To calculate weighted average, use the IBP_WEIGHTEDAVG function in the calculation definition of key figures
in the Planning Areas app: IBP_WEIGHTEDAVG(<KEY FIGURE@PLANLEVEL>,<KEY FIGURE@PLANLEVEL> or
<ATTRIBUTE>,<TYPE OF NUMERATOR>)
Business Example
In this example, there are four products, all belong to the same product family (Smart TV). These products
are shipped to three different markets: Germany, USA and France. The same products have different prices
at different locations. For each product/location combination, the following data is available: price, forecasted
quantity and forecasted revenue (calculated as price multiplied by forecasted quantity).
We can calculate the simple average price with the formula SUM(Price) / number of different product/
location combinations (8); however, we are interested in the weighted average price. The formula to calculate
weighted average price is SUM(Price*Forecasted Qty) / SUM(Forecasted Qty). We can easily perform this
calculation on aggregated product family level with the IBP_WEIGHTEDAVG function using forecasted quantity
as the weighting factor:
WEIGHTEDPRICE@REQUEST = IBP_WEIGHTEDAVG("STOREDPRICE@MTHPRODLOC",
"FORECASTEDQTY@MTHPRODLOC", ''CALCULATEDNUMERATOR'')
In this example, we have two products (PRDID1 and PRDID2) available at three locations. For each product/
location combination, we work with the following key figures: actuals quantity and stored price. Actuals
quantity and stored price are available in SAP IBP as stored or calculated key figures.
We want to calculate the weighted price for locations 1, 2 and 3 using stored price (STOREDPRICE) as the input
for all three locations.
STOREDPRICE@REQUEST = SUM("STOREDPRICE@MTHPRODLOC")
ACTUALSQTY@REQUEST = SUM("ACTUALSQTY@MTHPRODLOC")
WEIGHTEDPRICE@REQUEST = IBP_WEIGHTEDAVG("STOREDPRICE@MTHPRODLOC","ACTUALSQTY@MTHPRO
DLOC",''CALCULATEDNUMERATOR'')
Let's take a look at FEB 2020, for example. For LOCID1, weighted price is calculated as follows: (50*100 +
100*200) / (50+100) = 166.6667
In this example, we have two products (PRDID1 and PRDID2) available at three locations again. For each
product/location combination, we work with the following key figures: actuals quantity and stored revenue.
Both actuals quantity and stored revenue are available in SAP IBP as stored or calculated key figures.
We want to calculate the weighted price for locations 1, 2, and 3 using stored revenue (STOREDREV) as the input
for all three locations.
We calculate weighted average, using STOREDREV as the first parameter and ACTUALSQTY as the second
parameter in the IBP_WEIGHTEDAVG function. Since the numerator already contains a multiplication
by weight, the value of the third parameter must be STOREDNUMERATOR. This means that in the
IBP_WEIGHTEDAVG function, the numerator is simply the sum of STOREDREV.
STOREDREV@REQUEST = SUM("STOREDREV@MTHPRODLOC")
ACTUALSQTY@REQUEST = SUM("ACTUALSQTY@MTHPRODLOC")
Let's take a look at FEB 2020, for example. For LOCID1, weighted price is calculated as follows:
(5000+20000) / (50+100) = 166.6667
In this example, we have two products (PRDID1 and PRDID2) available at two customers and two locations.
For each product/customer/location combination we work with the following key figures: actuals quantity and
actuals revenue.
We can calculate the actuals price (weighted average) for customer 1 and customer 2 using the
IBP_WEIGHTEDAVG function:
1. Calculate ACTUALSQTY:
ACTUALSQTY@REQUEST = SUM("ACTUALSQTY@WKPRODLOCCUSTUOMTO")
ACTUALSQTY@WKPRODLOCCUSTUOMTO = "ACTUALSQTY@WKPRODLOCCUST" *
"UOMCONVERSIONFACTOR@PRODUOMTO"
2. Calculate ACTUALSREV:
ACTUALSREV@REQUEST = SUM("ACTUALSREV@WKPRODLOCCUSTCURRCURRTOUOMTO")
ACTUALSREV@WKPRODLOCCUSTCURRCURRTO = "EXCHANGERATE@MTHCURRCURRTO" *
"ACTUALSREV@WKPRODLOCCUSTCURR"
3. Calculate ACTUALSPRICE:
ACTUALSPRICE@REQUEST =
IBP_WEIGHTEDAVG("ACTUALSREV@WKPRODLOCCUSTCURRCURRTO","ACTUALSQTY@WKPRODLOCCUSTUO
MTO", ''STOREDNUMERATOR'')
As of the 2008 release, this example is available in the SAPIBP1 sample planning area.
In this example, we have two products (PRDID1 and PRDID2) available at one location. For both product/
location combinations, the stored price (key figure) and the weight (attribute) are available.
We can calculate weighted price with the IBP_WEIGHTEDAVG function, using the WEIGHT attribute as the
second parameter. The attribute is assigned to the Location master data type, and it is assigned to the
MTHPRODLOC and MTHLOC planning levels.
WEIGHTEDPRICE@REQUEST = SUM("WEIGHTEDPRICE@MTHLOC")
Let's take a look at JAN 2020, for example. Weighted price is calculated as follows: (80*50 + 70*50) / (50+50)
= 52.5
Note
You cannot use the IBP_WEIGHTEDAVG function at the base planning level in the calculation graph of a key
figure that is used as the input of a supply planning or forecast consumption operator.
You have the following option, if you want to use the IBP_WEIGHTEDAVG function in the calculation graph of
these operators:
• Copy the result of the IBP_WEIGHTEDAVG function to another key figure and use it as the input of the
supply planning or forecast consumption operator.
You cannot use the IBP_WEIGHTEDAVG function at the base planning level in the calculation graph of a key
figure that uses the output of a supply planning or forecast consumption operator.
You have the following options, if you want to use the output of these operators in the calculation graph of
such key figures:
• Use the IBP_WEIGHTEDAVG function in calculations at planning levels other than the base planning
level of the key figure in question.
• Copy the result of the IBP_WEIGHTEDAVG function to another key figure and add the output of the
supply planning or forecast consumption operator as an input of the key figure.
For more information, see section Additional Checks for a Planning Area Enabled for Time-Series-Based
Supply Planning in Planning Areas [page 322].
Note
Similarly to other aggregation functions (SUM, MIN, MAX, AVG and COUNT), the IBP_WEIGHTEDAVG function
does not impose filter blocks for attributes that are dropped with the aggregation and removed from the
planning level. This means that filters can be applied for these attributes before the aggregation, assuming
there is no other filter block in the calculations that are built on the IBP_WEIGHTEDAVG function.
11.11.7 Coverage
Use the IBP_COVERAGE function to calculate coverage for a key figure in one step.
To calculate coverage, use the IBP_COVERAGE function in the calculation definition of key figures in the
Planning Areas app.
You can use the IBP_COVERAGE function for a variety of business scenarios. For more examples and
implementation ideas, see Days of Coverage [page 221] and Projected Stock [page 229].
The coverage function imposes time filter blocks in the calculation graph of a key figure, which might
increase the runtime of queries. For more information, see Filter Blocks [page 481].
The IBP_COVERAGE has six mandatory parameters and two optional parameters.
1st parameter: an input key figure at the input planning level or a constant (mandatory)
The first parameter of the IBP_COVERAGE function is the amount that has to be covered by the second
parameter. It’s either an input key figure at the input planning level or a positive number.
In case it’s a key figure, the parameter value must be surrounded by double quotation marks; otherwise,
quotation marks mustn't surround this parameter value.
2nd parameter: an input key figure at the input planning level (mandatory)
The second parameter of the IBP_COVERAGE function has to cover the amount of the first parameter. It’s an
input key figure at the input planning level.
3rd parameter: an input key figure at the input planning level or a constant (mandatory)
The third parameter of the IBP_COVERAGE function is an input key figure at the input planning level or a
positive number.
When calculating coverage, values of the third parameter are aggregated with a SUM for all time periods where
the second parameter covers the amount of the first parameter. If the second parameter covers only a fraction
of the amount of the first parameter for a given time period, the same fraction of the third parameter in the
given time period is included in the aggregation.
In case the third parameter is a key figure, its value must be surrounded by double quotation marks; otherwise,
quotation marks mustn't surround this parameter value. To achieve better performance, we suggest that you
use a constant (a positive number) to define the third parameter, if possible.
Possible values:
• NEXTBUCKET
If the value of the second key figure refers to the amount at the end of the current bucket, calculate
coverage starting from the next bucket using the NEXTBUCKET parameter.
• CURRENTBUCKET
If the value of the second key figure refers to the amount at the beginning of the current bucket, calculate
coverage starting from the current bucket using the CURRENTBUCKET parameter.
Possible values:
• USEZEROSTOCK
If you want the zero value of the second parameter to cover the zero value of the first parameter in your
coverage calculation, enter USEZEROSTOCK.
• IGNOREZEROSTOCK
If you don’t want the zero value of the second parameter to cover the zero value of the first parameter in
your coverage calculation, enter IGNOREZEROSTOCK.
The value must be surrounded by two pairs of single quotation marks. A double quotation mark instead of two
single quotation marks results in an error during activation.
Possible values are PAST, PASTCURRENT, PASTCURRENTFUTURE, CURRENT, CURRENTFUTURE, and FUTURE.
However, if you want to see the results of your calculation at REQUEST level, the only possible value is
PASTCURRENTFUTURE.
If you use one key figure for coverage, regardless of the horizon, use the PASTCURRENTFUTURE value for this
parameter.
The value must be surrounded by two pairs of single quotation marks. A double quotation mark instead of two
single quotation marks results in an error during activation.
It has to be an integer, possibly a high enough number (for example, 999), to indicate that there is missing
amount of the first parameter or excessive amount of the second parameter.
If the parameter isn’t defined and the value of the second parameter for a time period is larger than the sum
of the values of the first key figure, the sum of the values of the third parameter for the remaining future time
periods is displayed as the coverage.
Example
DAYSOFSUPPLY@PERPRODLOC = IBP_COVERAGE("DEMAND@PERPRODLOC",
"PROJECTEDSTOCK@PERPRODLOC", 1, ' 'NEXTBUCKET' ', ' 'USEZEROSTOCK' ',
' 'PASTCURRENTFUTURE' ')
In this example, we calculate days of coverage. On June 3, the projected stock (500) can cover the demand for
2 days, June 4 (300) and June 5 (200).
• The coverage calculation has 6 mandatory parameters and two optional parameters.
• The IBP_COVERAGE function must have 1, 2 or 3 input key figures.
• The first parameter must be an input key figure or a positive number.
• The second parameter must be an input key figure.
• The third parameter must be an input key figure or a positive number.
• The input planning levels must be the same.
• The input planning levels and the output planning level of a coverage calculation must have an identical
structure. That is, they must contain the same set of attributes, including the same set of root attributes.
• Unless calculated at REQUEST level, coverage calculations must be time-dependent. That is, both the
input planning level and the output planning level of the calculation must have one of the PERIODID(n)
attributes set as the time root attribute. The time root attribute mustn't be the PERIODID attribute.
The same PERIODID(n) attribute must be the time root attribute in both planning levels, except in
REQUEST level calculations.
• Unless coverage is calculated at REQUEST level, the output planning level must have master data type
roots.
• REQUEST level calculations must have REQUEST level input calculations.
• The IBP_COVERAGE function can't be nested in other calculations.
• When a calculation graph includes a coverage calculation, the topmost key figure in the calculation graph
mustn't be editable.
You can't use the IBP_COVERAGE function at the base planning level in the calculation graph of a key figure
that is used as the input of a supply planning or forecast consumption operator.
If you want to use the IBP_COVERAGE function in the calculation graph of these operators, you have the
following option:
• Copy the result of the IBP_COVERAGE function to another key figure and use it as the input of the
supply planning or forecast consumption operator.
You can't use the IBP_COVERAGE function at the base planning level in the calculation graph of a key figure
that uses the output of a supply planning or forecast consumption operator.
You have the following options, if you want to use the output of these operators in the calculation graph of
such key figures:
• Use the IBP_COVERAGE function in calculations at planning levels other than the base planning level of
the key figure in question.
• Copy the result of the IBP_COVERAGE function to another key figure and add the output of the supply
planning or forecast consumption operator as an input of the key figure.
For more information, see section Additional Checks for a Planning Area Enabled for Time-Series-Based
Supply Planning in Planning Areas [page 322].
Missing Inputs
You cannot use the IBP_COVERAGE function without input key figures as no default values are provided. The
coverage function doesn’t generate missing time periods and key figure data in case the uploaded data is
fragmented or missing. The input key figures have to have data uploaded for all the time periods. There are two
cases of missing inputs: empty value and NULL value.
Empty Value
If a time period for a planning object combination is missing, that time period is skipped and the value
uploaded to the next time period is taken into account when calculating coverage. Coverage is not calculated
for the missing time period.
NULL Value
You can default the NULL value to 0 by adding another calculation if it’s justified by your modeling
requirements.
• If the value of the 1st parameter is zero or negative, it’s considered zero.
• If the value of the 2nd parameter is zero or negative, the output of the IBP_COVERAGE function will be zero
as well.
• If the value of the 3rd parameter is zero or negative, it’s considered zero.
The handling of zero values depends on the value of the 5th parameter (zero coverage), as discussed
previously. For more information, see the description of the 5th parameter.
Example
In REQUEST level calculations, the inputs of the coverage calculation are aggregated first, then the coverage
calculation is executed.
In this example, the projected stock is 500 for LOCID10 and 200 for LOCID20. In the request level calculation,
their aggregation, in this case their SUM, is calculated first, and then coverage is calculated.
In this sample implementation, we use the IBP_COVERAGE function to calculate days of coverage using
demand and projected stock as input key figures.
Using the IBP_COVERAGE function, you can calculate how many days, weeks, months etc. the calculated
projected stock will last based on the planned demand. In this section, we explain how to use the parameters of
the function to calculate days of coverage and provide you with specific examples. For a general description of
the IBP_COVERAGE function, including modeling requirements and recommendations about aggregation, see
Coverage [page 215].
Note
Coverage imposes filter blocks in the calculation graph of a key figure, which might increase the runtime of
queries. For more information, see Filter Blocks [page 481].
Example
DAYSOFSUPPLY@PERPRODLOC = IBP_COVERAGE("DEMAND@PERPRODLOC",
"PROJECTEDSTOCK@PERPRODLOC", "WORKDAYS@PERPRODLOC", ''CURRENTBUCKET'',
''USEZEROSTOCK'', ''PASTCURRENTFUTURE'')
In this example, we calculate days of coverage. In June 2020, the projected stock (500) can cover the demand
for 2 months, June 2020 (300) and July 2020 (200).
The IBP_COVERAGE function has six mandatory parameters and two optional parameters.
In case it is a key figure, the parameter value must be surrounded by double quotation marks; otherwise,
quotation marks must not surround this parameter value.
You have the following options to define the number of working days:
• Define the number of working days with a positive number. In this case, we assume that each time period
in your planning horizon is made up of that many working days.
If possible, we suggest that you use a constant (a positive number) to define the third parameter to achieve
better performance. Quotation marks must not surround this parameter value.
Example
DAYSOFSUPPLY@PERPRODLOC = IBP_COVERAGE("DEMAND@PERPRODLOC" ,
"PROJECTEDSTOCK@PERPRODLOC" , 4 , ''CURRENTBUCKET'', ''USEZEROSTOCK'',
''PASTCURRENTFUTURE'')
In this example, a week always consists of 4 workdays, so for each time period we multiply coverage value
with 4 to calculate the days of coverage.
When no time-based multiplication is required, the value of the parameter must be 1. For example, if
demand and projected stock are on a daily level, and you want to calculate coverage in days as well, enter 1.
• Use a key figure, for example, WORKDAYS@PERPRODLOC, to define the number of working days for each
time period in your planning horizon. For example, if demand and projected stock are on a monthly level,
you can calculate coverage in days with the help of this key figure.
The parameter value must be surrounded by double quotation marks.
Example
DAYSOFSUPPLY@PERPRODLOC = IBP_COVERAGE("DEMAND@PERPRODLOC" ,
"PROJECTEDSTOCK@PERPRODLOC" , "WORKDAYS@PERPRODLOC" , ''CURRENTBUCKET'',
''USEZEROSTOCK'' , ''PASTCURRENTFUTURE'')
In this example, the number of workdays is zero on week 4. When calculating the days of coverage for week
3, the projected stock of week 3 can cover the demand of weeks 3, 4, and 5. However, since week 4 has no
workdays, the days of coverage for week 3 is the sum of workdays of weeks 3 and 5.
Possible values:
• NEXTBUCKET
If the value of the projected stock key figure refers to the stock at the end of the day, calculate coverage
starting from the next bucket using the NEXTBUCKET parameter.
Example
DAYSOFSUPPLY@PERPRODLOC = IBP_COVERAGE("DEMAND@PERPRODLOC",
"PROJECTEDSTOCK@PERPRODLOC", "WORKDAYS@PERPRODLOC", ''NEXTBUCKET'',
''USEZEROSTOCK'', ''PASTCURRENTFUTURE'')
• CURRENTBUCKET
If the value of the projected stock key figure refers to the stock at the beginning of the day, calculate
coverage starting from the current bucket using the CURRENTBUCKET parameter.
Example
DAYSOFSUPPLY@PERPRODLOC = IBP_COVERAGE("DEMAND@PERPRODLOC",
"PROJECTEDSTOCK@PERPRODLOC", "WORKDAYS@PERPRODLOC", ''CURRENTBUCKET'',
''USEZEROSTOCK'', ''PASTCURRENTFUTURE'')
The value must be surrounded by two pairs of single quotation marks. A double quotation mark instead of two
single quotation mark will result in an error during activation.
The value must be surrounded by two pairs of single quotation marks. A double quotation mark instead of two
single quotation mark will result in an error during activation.
Possible values:
• USEZEROSTOCK
If you want zero stock to cover zero demand in your coverage calculation, enter USEZEROSTOCK. In this
case, when calculating days or weeks of coverage, time periods with zero demand will be included in the
calculation.
Example
DAYSOFSUPPLY@PERPRODLOC = IBP_COVERAGE("DEMAND@PERPRODLOC",
"PROJECTEDSTOCK@PERPRODLOC", 7, ''CURRENTBUCKET'', ''USEZEROSTOCK'',
''PASTCURRENTFUTURE'')
In these examples, zero stock can cover zero demand. In the first example, though the projected stock on
week 3 is consumed by the demands of weeks 3, 4, and 5; it can still cover the zero demands of weeks 6 to
12. As a result, the days of coverage is 70 for week 3.
In the second example, though the projected stock is zero on week 5, it can cover the demand of weeks 5 to
11.
If you have zero projected stock and zero demand for a given time frame, the days of coverage will equal
the sum of the working days of the given time frame.
• IGNOREZEROSTOCK
If you do not want zero stock to cover zero demand in your coverage calculation, enter IGNOREZEROSTOCK.
In this case, when calculating days or weeks of supply, time periods with zero demand will not be included
in the calculation.
Example
DAYSOFSUPPLY@PERPRODLOC = IBP_COVERAGE("DEMAND@PERPRODLOC",
"PROJECTEDSTOCK@PERPRODLOC", 7, ''CURRENTBUCKET'', ''IGNOREZEROSTOCK'',
''PASTCURRENTFUTURE'')
As opposed to the previous examples, zero stock cannot cover zero demand in these examples. In the first
example, the projected stock on week 3 is consumed by the demands of weeks 3, 4, and 5; which means
Possible values are PAST, PASTCURRENT, PASTCURRENTFUTURE, CURRENT, CURRENTFUTURE, and FUTURE.
However, if you want to see the results of your calculation at REQUEST level, the only possible value is
PASTCURRENTFUTURE.
If you use one key figure for coverage, regardless of the horizon, use the PASTCURRENTFUTURE value for this
parameter.
The value must be surrounded by two pairs of single quotation marks. A double quotation mark instead of two
single quotation mark will result in an error during activation.
Example
DAYSOFSUPPLY@PERPRODLOC = IBP_COVERAGE("DEMAND@PERPRODLOC",
"PROJECTEDSTOCK@PERPRODLOC", "WORKDAYS@PERPRODLOC", ''CURRENTBUCKET'',
''USEZEROSTOCK'', ''CURRENTFUTURE'')
In this example, days of coverage is only calculated for current and future time periods.
It has to be an integer, possibly a high enough number (for example, 999), to indicate that there is missing
demand or excessive stock.
If the parameter is not defined and the projected stock is larger than the sum of the demands, the number of
the remaining future time periods (or the sum of the working days for the remaining future time periods) is
displayed as the coverage.
Example
DAYSOFSUPPLY@PERPRODLOC = IBP_COVERAGE("DEMAND@PERPRODLOC",
"PROJECTEDSTOCK@PERPRODLOC", 7, ''CURRENTBUCKET'', ''USEZEROSTOCK'',
''PASTCURRENTFUTURE'', 999)
If you define the seventh and eighth parameters, the values of demand are included only from the time window
specified by the eighth parameter and not from the entire planning horizon. The value must be a positive
integer between 10 and 183, allowing you to limit the time window in up to half a year in case of daily time
periods.
Example
DAYSOFSUPPLY@PERPRODLOC = IBP_COVERAGE("DEMAND@PERPRODLOC",
"PROJECTEDSTOCK@PERPRODLOC", 7, ''CURRENTBUCKET'', ''USEZEROSTOCK'',
''PASTCURRENTFUTURE'', 999, 10)
In this example, the value of the eighth parameter is 10. It means that when we calculate coverage, the values
of demand are included from 10 periods starting with the current period. Days of coverage is calculated as
follows:
• Week 3: days of coverage is 999 as the projected stock is larger than the sum of demand for the time
window you have defined (10 periods).
• Week 4: days of coverage is 70 as the projected stock can cover the demand for 10 weeks (70 days).
• Weeks 5-12: as we use zero stock, days of coverage is the sum of the working days with zero demand in the
given time window (10 periods).
• Weeks 13 and 14: days of coverage is 0, as 0 projected stock cannot cover the demands (100 and 300).
If we use NEXTBUCKET instead of CURRENTBUCKET, demand values are included from 10 periods as well, but in
this case starting with the next period.
Note
By defining the number of time periods parameter, you can optimize the performance of your queries if you
use the infinite coverage parameter as well. In the coverage calculation, the values of demand are included
only from the time window specified by this parameter and not from the entire planning horizon.
For example, if you calculate coverage for 12 months mostly, set the eighth parameter to 24. This way you
will calculate with demand values from the time window you usually work with, and at the same time you
can optimize performance by not including demand values from time periods that you are not interested in.
Missing Inputs
You cannot use the IBP_COVERAGE function without input key figures as no default values are provided. The
coverage function does not generate missing time periods and key figure data in case the uploaded data is
fragmented or missing. The input key figures have to have data uploaded for all time periods. There are two
cases of missing inputs: empty value and NULL value.
Empty Value
If a time period for a planning object combination is missing, that time period is skipped and the value
uploaded to the next time period is taken into account when calculating coverage. Coverage is not calculated
for the missing time period.
DAYSOFSUPPLY@PERPRODLOC = IBP_COVERAGE("DEMAND@PERPRODLOC",
"PROJECTEDSTOCK@PERPRODLOC", 1, ''CURRENTBUCKET'', ''USEZEROSTOCK'',
''PASTCURRENTFUTURE'')
In this example, time period June 9 is missing. As shown in the table above, June 9 is skipped and coverage
calculation continues with the value uploaded to June 10. Consequently, the days of coverage for June 8 is 2.
NULL Value
NULL value is handled in the following way:
You can default the NULL value to 0 by adding another calculation if it is justified by your modeling
requirements.
DAYSOFSUPPLY@PERPRODLOC = IBP_COVERAGE("DEMAND@PERPRODLOC",
"PROJECTEDSTOCK@PERPRODLOC", 1, ''CURRENTBUCKET'', ''USEZEROSTOCK'',
''PASTCURRENTFUTURE'', 999)
DAYSOFSUPPLY@PERPRODLOC = IBP_COVERAGE("DEMAND@PERPRODLOC",
"PROJECTEDSTOCK@PERPRODLOC", 1, ''CURRENTBUCKET'', ''USEZEROSTOCK'',
''PASTCURRENTFUTURE'', 999)
In this example, days of coverage is NULL on June 7 and June 8 because projected stock is NULL on these days
as well. Now, let's take a look at June 5. Projected stock is 600 on June 6, which can cover the demands from
June 6 to June 10 (600=500+NULL+NULL+100+0). As a result, days of coverage is 5 on June 5.
The handling of zero demand and zero projected stock depends on the value of the 5th parameter (zero
coverage), as discussed above. For more information, see the description of the 5th parameter above.
DAYSOFSUPPLY@PERPRODLOC = IBP_COVERAGE("DEMAND@PERPRODLOC",
"PROJECTEDSTOCK@PERPRODLOC", 1, ''CURRENTBUCKET'', ''USEZEROSTOCK'',
''PASTCURRENTFUTURE'', 999)
Negative demand is counted as zero demand. In this example, the demand is negative on June 1, which is
calculated as zero. The projected stock on June 1 (600) can cover the demand of June 1 (0) and 75% of the
demand for June 2 (600), so days of coverage equals 1.75.
In this sample implementation, we use the IBP_COVERAGE function to calculate projected stock using days of
supply and demand as input key figures.
Using the IBP_COVERAGE function, you can calculate how much stock is required to cover the demand based
on the days of supply value. In this section, we explain how to use the parameters of the function to calculate
projected stock and provide you with specific examples. For a general description of the IBP_COVERAGE
function, including modeling requirements and recommendations about aggregation, see Coverage [page 215].
Note
Coverage imposes filter blocks in the calculation graph of a key figure, which might increase the runtime of
queries. For more information, see Filter Blocks [page 481].
Example
PROJECTEDSTOCK@PERPRODLOC = IBP_COVERAGE("WORKDAYS@PERPRODLOC" ,
"DAYSOFSUPPLY@PERPRODLOC" , "DEMAND@PERPRODLOC" , ''CURRENTBUCKET'',
''USEZEROSTOCK'' , ''PASTCURRENTFUTURE'')
In this example, we calculate projected stock. In June 2020, we need to cover the demand for 45 days, that is
for June 2020 (22 days) and July 2020 (23 days). This means that the value of the projected stock for June
2020 is going to be 500 (300+200).
The IBP_COVERAGE function has six mandatory parameters and two optional parameters.
You have the following options to define the number of working days:
• Use a key figure, for example WORKDAYS@PERPRODLOC, to define the number of working days for each time
period in your planning horizon. For example, if demand is on a monthly level, you can calculate projected
stock in days with the help of this key figure.
The parameter value must be surrounded by double quotation marks.
Example
In this example, demand is on a monthly level, however, the time period projected stock needs to cover is
given in days. For example, in June 2020, projected stock needs to cover the demand for 45 days. With
the help of the WORKDAYS@PERPRODLOC key figure, we can calculate that 45 days cover two months, June
2020 (22 days with a demand of 300) and July 2020 (23 days with a demand of 200). This means that the
value of the projected stock for June 2020 is 500 (300+200).
If the value of the key figure is negative, it is counted as zero.
• Define the number of working days with a positive number. In this case, we assume that each time period
in your planning horizon is made up of that many working days.
Quotation marks must not surround this parameter value.
Example
PROJECTEDSTOCK@PERPRODLOC = IBP_COVERAGE(7, "DAYSOFSUPPLY@PERPRODLOC",
"DEMAND@PERPRODLOC" , ''CURRENTBUCKET'', ''USEZEROSTOCK'',
''PASTCURRENTFUTURE'')
In this example, a week always consists of 7 workdays. On week 1, the days of supply is 14, that is, the
projected stock needs to cover the demand for 14 days (2 weeks). This means that the demand of week 1
(100) and week 2 (300) has to be covered by the projected stock (400).
In case it is a key figure, the parameter value must be surrounded by double quotation marks; otherwise,
quotation marks must not surround this parameter value.
Possible values:
• NEXTBUCKET
• CURRENTBUCKET
If you want to count the number of working days starting with the current bucket, use the CURRENTBUCKET
parameter.
Example
PROJECTEDSTOCK@PERPRODLOC = IBP_COVERAGE("WORKDAYS@PERPRODLOC",
"DAYSOFSUPPLY@PERPRODLOC@PERPRODLOC", "DEMAND@PERPRODLOC", ''CURRENTBUCKET'',
''USEZEROSTOCK'', ''PASTCURRENTFUTURE'')
The value must be surrounded by two pairs of single quotation marks. A double quotation mark instead of two
single quotation mark will result in an error during activation.
With the fifth parameter, you can define whether zero days of supply can cover zero workdays or not in your
coverage calculation.
The value must be surrounded by two pairs of single quotation marks. A double quotation mark instead of two
single quotation mark will result in an error during activation.
Possible values:
• USEZEROSTOCK
If you want zero days of supply to cover zero workdays, enter USEZEROSTOCK. In this case, when
calculating projected stock, time periods with zero working days will be included in the calculation.
Example
PROJECTEDSTOCK@PERPRODLOC = IBP_COVERAGE("WORKDAYS@PERPRODLOC",
"DAYSOFSUPPY@PERPRODLOC", "DEMAND@PERPRODLOC", ''NEXTBUCKET'', ''USEZEROSTOCK'',
''PASTCURRENTFUTURE'')
In this example, when calculating the projected stock for June 1, the demand value for June 4 is included in
the calculation.
• IGNOREZEROSTOCK
If you do not want zero days of supply to cover zero workdays, enter IGNOREZEROSTOCK. In this case, when
calculating projected stock, time periods with zero working days will not be included in the calculation.
Example
As opposed to the previous example, when calculating the projected stock for June 1, the demand value for
June 4 is not included in the calculation.
The sixth parameter defines the calculation horizon. If separate key figures are used to calculate the past,
present, and future values, this parameter filters the values; thus, projected stock will only be calculated for the
specified time horizon.
Possible values are PAST, PASTCURRENT, PASTCURRENTFUTURE, CURRENT, CURRENTFUTURE, and FUTURE.
However, if you want to see the results of your calculation at REQUEST level, the only possible value is
PASTCURRENTFUTURE.
If you use one key figure for projected stock, regardless of the horizon, use the PASTCURRENTFUTURE value for
this parameter.
The value must be surrounded by two pairs of single quotation marks. A double quotation mark instead of two
single quotation mark will result in an error during activation.
Example
PROJECTEDSTOCK@PERPRODLOC = IBP_COVERAGE("WORKDAYS@PERPRODLOC",
"DAYSOFSUPPY@PERPRODLOC", "DEMAND@PERPRODLOC", ''CURRENTBUCKET'', ''USEZEROSTOCK'',
''CURRENTFUTURE'')
In this example, days of coverage is only calculated for current and future time periods.
The seventh parameter, previously called full horizon covered, is optional. If you use the IBP_COVERAGE
function to calculate project stock, it doesn't have a business meaning. We recommend that you do not use this
parameter in this case.
The eighth parameter is optional, and you can only use it if you have defined the infinite coverage parameter as
well. Since the infinite coverage parameter is not recommended for calculating projected stock, we suggest that
you do not use the number of time periods parameter either.
When the second and third input key figures (days/weeks/months of supply and demand) are on different
aggregation levels, you can use the first parameter (number of working days) to define the number of time
periods at the time profile level of the second parameter (days/weeks/months of supply). For example, if
demand is available at the level of months, but days of supply is calculated in days, you can use the workdays
parameter to count the number of working days in each month.
Example
PROJECTEDSTOCK@PERPRODLOC = IBP_COVERAGE("WORKDAYS@PERPRODLOC",
"DAYSOFSUPPY@PERPRODLOC", "DEMAND@PERPRODLOC", ''CURRENTBUCKET'', ''USEZEROSTOCK'',
''PASTCURRENTFUTURE'')
Demand on daily level Value of the first parameter is First parameter defines the First parameter defines the
1 or 0. number of workweeks for number of work months for
each day. each day.
Demand on weekly level First parameter defines the Value of the first parameter is First parameter defines the
number of working days for 1 or 0. number of work months for
each week. each week.
Demand on monthly level First parameter defines the First parameter defines the Value of the first parameter is
number of working days for number of workweeks for 1 or 0.
each month. each month.
Cases where the time granularity of days/weeks/months of supply is higher than the time granularity of
demand are indicated with pink in the example above. These cases - though mathematically possible - are most
probably not relevant from a business perspective.
You cannot use the IBP_COVERAGE function without input key figures as no default values are provided. The
coverage function does not generate missing time periods and key figure data in case the uploaded data is
fragmented or missing. The input key figures have to have data uploaded for all time periods. There are two
cases of missing inputs: empty value and NULL value.
Empty Value
If a time period for a planning object combination is missing, that time period is skipped and the value
uploaded to the next time period is taken into account when calculating projected stock. Projected stock is not
calculated for the missing time period.
PROJECTEDSTOCK@PERPRODLOC = IBP_COVERAGE("WORKDAYS@PERPRODLOC",
"DAYSOFSUPPY@PERPRODLOC", "DEMAND@PERPRODLOC", ''CURRENTBUCKET'', ''USEZEROSTOCK'',
''PASTCURRENTFUTURE'')
In this example, time period July 2020 is missing. As shown in the table above, July 2020 is skipped and
projected stock calculation continues with the value uploaded to August 2020. Consequently, projected stock
is 800 for June 2020.
NULL Value
NULL value is handled in the following way:
You can default the NULL value to 0 by adding another calculation if it is justified by your modeling
requirements.
PROJECTEDSTOCK@PERPRODLOC = IBP_COVERAGE("WORKDAYS@PERPRODLOC",
"DAYSOFSUPPY@PERPRODLOC", "DEMAND@PERPRODLOC", ''CURRENTBUCKET'', ''USEZEROSTOCK'',
''PASTCURRENTFUTURE'')
• In April 2020, the value of workdays is NULL, which is considered as zero. It means that the 43 days of
supply in March 2020 have to cover the demand for the 22 days of March 2020 (400) and the 21 days of
May 2020 (100). As a result, projected stock is 500 for March 2020.
The handling of zero workdays and zero days of supply depends on the value of the 5th parameter (zero
coverage), as discussed above. For more information, see the description of the 5th parameter above.
PROJECTEDSTOCK@PERPRODLOC = IBP_COVERAGE("WORKDAYS@PERPRODLOC",
"DAYSOFSUPPY@PERPRODLOC", "DEMAND@PERPRODLOC", ''CURRENTBUCKET'', ''USEZEROSTOCK'',
''PASTCURRENTFUTURE'')
• In March 2020, the value of demand is zero. As a result, projected stock is 200 (0+200) for March 2020.
• In August 2020, the value of workdays is zero. It means that the 44 days of supply in July 2020 has to
cover the demand for the 23 days of July 2020 (200) and the 21 days of September 2020 (400). As a
result projected stock is 600 for July 2020.
• In November 2020, the value of days of supply is zero; consequently, the value of projected stock is zero
as well.
11.11.8 Calendar
Use the calendar function to count with different calendars (integrated from SAP ERP) in key figure
calculations.
To use the calendar function, use the IBP_CALENDAR function in the calculation definition of key figures in the
Planning Areas app: IBP_CALENDAR(<KEY FIGURE@PLANLEVEL, <CALENDAR ATTRIBUTE>)
The default output of the calendar function is 1 for working days and 0 for non-working days. However, you can
change it, if it is required by your business needs.
For example, you might want to use 0 for working days and 1 for non-working days:
In this example, we calculate the value of the DEMANDADJUSTED key figure for two locations (Berlin and
Shanghai) using the DEMANDCALENDARID calendar attribute. There are 2 calendars integrated from SAP ERP
into this calendar attribute:
The DEMANDCALENDARID calendar attribute is assigned to the LOCATION master data type.
If a certain day is a working day, the output of the calendar function is 1; if it is a non-working day, the output
is 0. As you can see below, there is a difference between the two calendars for the 24th, 25th and 31st of
December. They are working days in China, but not in Germany. The 20th, 26th and 27th of December are
weekend days, so the output of the function is 0 in both cases.
CN 2020.12.20. 0
CN 2020.12.21. 1
CN 2020.12.22. 1
CN 2020.12.23. 1
CN 2020.12.24. 1
CN 2020.12.25. 1
CN 2020.12.26. 0
CN 2020.12.27. 0
CN 2020.12.28. 1
CN 2020.12.29. 1
CN 2020.12.30. 1
CN 2020.12.31. 1
DE 2020.12.20. 0
DE 2020.12.21. 1
DE 2020.12.22. 1
DE 2020.12.23. 1
DE 2020.12.24. 0
DE 2020.12.25. 0
DE 2020.12.26. 0
DE 2020.12.27. 0
DE 2020.12.28. 1
DE 2020.12.29. 1
DE 2020.12.30. 1
DE 2020.12.31. 0
Counting with these outputs of the calendar function, the value of the DEMANDADJUSTED key figure is the
following for the different locations.
DEMANDADJUSTED@REQUEST = SUM("DEMANDADJUSTED@DAYPRODLOC")
Shanghai has the Chinese calendar assigned to it; whereas Berlin has the German calendar assigned
to it. Since the 24th, 25th and 31st of December are non-working days in Germany, the value of the
In this example, we calculate the value of the PRODUCTIONADJUSTED key figure for a planned maintenance
affecting a set of product/location combinations. To do so, we need to maintain different calendars for different
locations and different products as well. We can easily do that by using two calendar functions with two
different calendar attributes, LOCCALID and PRODCALID, in one calculation. LOCCALID is assigned to the
LOCATION master data type, and PRODCALID is assigned to the PRODUCT master data type.
PRODUCTIONADJUSTED@REQUEST = SUM("PRODUCTIONADJUSTED@DAYPRODLOC")
Note
You cannot use the IBP_CALENDAR function at the base planning level in the calculation graph of a key
figure that is used as the input of a supply planning or forecast consumption operator.
You have the following option, if you want to use the IBP_CALENDAR function in the calculation graph of
these operators:
• Copy the result of the IBP_CALENDAR function to another key figure and use it as the input of the
supply planning or forecast consumption operator.
You cannot use the IBP_CALENDAR function at the base planning level in the calculation graph of a key
figure that uses the output of a supply planning or forecast consumption operator.
You have the following options, if you want to use the output of these operators in the calculation graph of
such key figures:
• Use the IBP_CALENDAR function in calculations at planning levels other than the base planning level of
the key figure in question.
For more information, see section Additional Checks for a Planning Area Enabled for Time-Series-Based
Supply Planning in Planning Areas [page 322].
Missing Inputs
The input key figure must have data for all time periods and planning objects, as the IBP_CALENDAR function
does not provide default values. The calendar function does not generate missing time periods and key figure
data in case the uploaded data is fragmented or missing. The input key figure has to have data uploaded for all
time periods. There are two cases of missing inputs: empty value and NULL value.
Empty Value
If a time period for a planning object combination is missing, that time period is skipped. The calendar function
is not calculated for the missing time period.
NULL Value
If the value of the input key figure is NULL, the result of the IBP_CALENDAR function will be NULL as well. You
can default the NULL value to 0 by adding another calculation if it is justified by your modeling requirements.
Related Information
Planning Calendars
Use the IBP_GENERATE_MISSING_TP function to generate missing time buckets for the calculation horizon
defined by the parameters of the function.
To generate missing time periods, use the IBP_GENERATE_MISSING_TP function in the calculation definition
of key figures in the Planning Areas app: IBP_GENERATE_MISSING_TP(<KEY FIGURE@PLANLEVEL>,<START
OF CALCULATION HORIZON>,<END OF CALCULATION HORIZON>)
Using the generate missing time periods function, you can generate time periods for the calculation horizon
defined by the second and third parameters of the function. The input key figure values are kept intact, the
generated time periods have a default NULL value. Missing time periods are generated runtime; no data is
stored in the database. The generated combinations are only kept until the key figures that use the output key
figure as direct or indirect input are calculated.
The IBP_GENERATE_MISSING_TP function only affects the time dimension. It does not generate combinations
in other dimensions like product, location, or customer.
If you want to generate missing time periods for a key figure combination, you must ensure that there is at least
one entry for the given key figure combination in the input data set as described below:
• If there are no calculations built on the IBP_GENERATE_MISSING_TP function that create a time filter
block, the entry must exist within the time horizon of your planning view in the SAP Integrated Business
Planning, add-in for Microsoft Excel.
• If there is at least one calculation built on the IBP_GENERATE_MISSING_TP function that imposes a time
filter block, the entry must exist within the planning horizon defined in the Planning Areas app.
Caution
Please keep in mind that though the IBP_GENERATE_MISSING_TP function makes modeling easier,
it significantly increases the runtime of queries. Queries of calculated key figures that contain the
IBP_GENERATE_MISSING_TP function in their calculation graph might run up to a hundred times longer
compared to queries of stored key figures. We do not recommend to use it with time-critical key figures.
• Use stored key figures and the copy operator to initialize key figures, instead of the
IBP_GENERATE_MISSING_TP function.
• Use the generate missing time periods function only when there are very few time periods available for
the given planning horizon.
Using the IBP_GENERATE_MISSING_TP function with a large data set, that is with many time periods
uploaded with data, will cause you serious performance issues. The more time periods you have, the
longer your query will run.
• Make sure that the calculation horizon is not larger than 200. For example, keep the second parameter
higher than -100 and the third parameter lower than 100.
The IBP_GENERATE_MISSING_TP function is used most often as an input of L script and cross-period
calculations. These calculations impose a time filter block that is inherited by the generate missing
time periods calculation; that is, you cannot reduce data volume in the IBP_GENERATE_MISSING_TP
calculation by filtering. Furthermore, the function generates time periods for all possible key figure
combinations for which you have at least one entry available. As a result, you might experience runtime
performance issues and might run out of memory as well. For this reason, it is essential that you test the
performance with productive data.
Use the IBP_GENERATE_MISSING_TP function as close to the calculations that impose filter blocks as
possible. To improve performance, use other effective filters on the REQUEST-level calculations.
For more information about filter blocks and effective filtering, see Filter Blocks [page 481].
If there are no calculations that would impose filter blocks built on the IBP_GENERATE_MISSING_TP
function, use filters in your planning views to keep your planning horizon as small as possible.
In this example, we generate missing time periods for the November 2019 - November 2021 period. The current
month is November 2020. We have the following time periods and data available for the ACTUALSREV key figure
at the base planning level:
ACTUALSREV@MONTHPRODLOCCUSTCURRCURRTO =
IBP_GENERATE_MISSING_TP("ACTUALSREV@MONTHPRODLOCCUSTCURRCURRTO", -12, 12)
As a result, the existing input key figure values stay the same, and the missing time periods are generated
with a default NULL value for the calculation horizon. Missing time periods are only generated for a specific
combination (for example, Disc Brake/Paris/Velo), if there is at least one period uploaded with data within the
time horizon of the planning view.
In this example, we calculate the average revenue for the November 2019 - November 2021 period; the time
horizon of the planning view is also November 2019 - November 2021. The current month is November, 2020.
We have the following time periods and data available for the ACTUALSREV key figure at the base planning level:
First, we generate the missing time periods for the calculation horizon. Since the IF statement and the AVG
function, built on the IBP_GENERATE_MISSING_TP function, do not impose filter blocks, data is filtered based
on the time horizon of the planning view before the missing time periods are generated.
As you can see in the figure, time periods are generated for the calculation horizon: November 2019 -
November 2021 period. August 2019 and February 2022 fall outside of the calculation horizon, so data is
not kept for these periods in the memory. Furthermore, since there is no existing combination for Pedal in the
time horizon of the planning view, time periods are not generated for this product at all.
AVGREVENUE@MONTHPROD = IF(ISNULL("ACTUALSREV@MONTHPROD"),
"ACTUALSREVPRIORYEAR@MONTHPROD", "ACTUALSREV@MONTHPROD")
AVGREVENUE@REQUEST = AVG("AVGREVENUE@MONTHPROD")
In this example, we calculate rolling aggregation for the ACTUALSREV key figure. The current month is
November, 2020; the time horizon of the planning view is November 2019 - November 2021. We have the
following time periods and data available for the ACTUALSREV key figure at the base planning level:
First, we generate the missing time periods. As opposed to the previous example, the IBP_RAGGR function
creates filter blocks in the calculation chain. This means that we can only filter after the IBP_RAGGR function
has been performed. Missing time periods are generated for all products for the complete calculation horizon,
even for Pedal, which does not have data uploaded within the time horizon of the planning view. The time
horizon of the planning view does not have any effect on the generated data set in this case.
As you can see in the figure, time periods are generated for all products, there is no filtering yet. Periods that
fall outside of the calculation horizon (August 2019 and February 2022) are kept, and combinations for Pedal
Now, that the calculation that imposes the filter block has been performed, we can filter the data set. As a
result, time periods August 2019 and February 2022 are removed as they fall outside of the calculation horizon.
AVGREVENUE@REQUEST = SUM("AVGREVENUE@MONTHPROD")
• The generate missing time periods function must have exactly 3 parameters.
• The first parameter must be the input key figure at the input planning level.
• The third parameter must be larger than or equal to the second parameter.
• The calculation horizon defined by the second and third parameter must fall within the planning horizon.
• The input planning level and the output planning level of a generate missing time periods function must be
compatible with each other. That is, they must contain the same set of attributes, including the same set of
root attributes.
• The generate missing time periods function must be time dependent. That is, both the input planning level
and the output planning level of the calculation must have one of the PERIODID(n) attributes set as the
time root attribute. The time root attribute mustn't be the PERIODID attribute.
The same PERIODID(n) attribute must be the time root attribute in both planning levels.
• The output planning level must have master data type roots.
• The IBP_GENERATE_MISSING_TP function cannot be nested in other calculations.
• The IBP_GENERATE_MISSING_TP function cannot be used at REQUEST level.
• When a calculation graph includes a generate missing time periods function, the topmost key figure in the
calculation graph mustn't be editable.
You cannot use the IBP_GENERATE_MISSING_TP function at the base planning level in the calculation
graph of a key figure that is used as the input of a supply planning or forecast consumption operator.
You have the following option, if you want to use the IBP_GENERATE_MISSING_TP function in the
calculation graph of these operators:
• Copy the result of the IBP_GENERATE_MISSING_TP function to another key figure and use it as the
input of the supply planning or forecast consumption operator.
You cannot use the IBP_GENERATE_MISSING_TP function at the base planning level in the calculation
graph of a key figure that uses the output of a supply planning or forecast consumption operator.
You have the following options, if you want to use the output of these operators in the calculation graph of
such key figures:
• Use the IBP_GENERATE_MISSING_TP function in calculations at planning levels other than the base
planning level of the key figure in question.
• Copy the result of the IBP_GENERATE_MISSING_TP function to another key figure and add the output
of the supply planning or forecast consumption operator as an input of the key figure.
For more information, see section Additional Checks for a Planning Area Enabled for Time-Series-Based
Supply Planning in Planning Areas [page 322].
Use the last value calculation to search for and return the last not NULL value of the input key figure (in case its
actual value is NULL), starting from the previous period.
To use the last value calculation, use the IBP_LAST_VALUE function in the calculation definition of key figures
in the Planning Areas app: IBP_LAST_VALUE(<KEY FIGURE@PLANLEVEL, <MAX_NUMBER_OF_PERIODS>)
Note
Last value calculation imposes time filter blocks in the calculation graph of a key figure, which might
increase the runtime of queries. For more information, see Filter Blocks [page 481].
The IBP_LAST_VALUE function has one mandatory parameter and one optional parameter.
The first parameter of the IBP_LAST_VALUE function is always the input key figure at the input planning level.
In this example, the second parameter is not defined. This means that if the value of the input key
figure is NULL, the IBP_LAST_VALUE function searches in the complete time horizon of the planning
view in the past and returns the last not NULL value.
• Second Parameter Is Defined
If the second parameter is defined, it specifies the maximum number of time periods in the past,
starting from the previous period, that are included in the search. It uses the root time period of the
input planning level. For example, if the value of the parameter is 2, the IBP_LAST_VALUE function
searches only in the last 2 periods before the actual period and returns the last not NULL value from
that time range.
The value must be a positive integer and must not be surrounded by quotation marks.
Example
LASTVALUEKF@MTHPRODLOC = IBP_LAST_VALUE ("STOREDKF@MTHPRODLOC", 2)
Note
You cannot use the IBP_LAST_VALUE function at the base planning level in the calculation graph of a key
figure that is used as the input of a supply planning or forecast consumption operator.
You have the following option, if you want to use the IBP_LAST_VALUE function in the calculation graph of
these operators:
• Copy the result of the IBP_LAST_VALUE function to another key figure and use it as the input of the
supply planning or forecast consumption operator.
You cannot use the IBP_LAST_VALUE function at the base planning level in the calculation graph of a key
figure that uses the output of a supply planning or forecast consumption operator.
You have the following options, if you want to use the output of these operators in the calculation graph of
such key figures:
• Use the IBP_LAST_VALUE function in calculations at planning levels other than the base planning level
of the key figure in question.
• Copy the result of the IBP_LAST_VALUE function to another key figure and add the output of the
supply planning or forecast consumption operator as an input of the key figure.
For more information, see section Additional Checks for a Planning Area Enabled for Time-Series-Based
Supply Planning in Planning Areas [page 322].
You cannot use the IBP_LAST_VALUE function without an input key figure as no default value is provided.
Last value calculation does not generate missing time periods and key figure data in case the uploaded data is
fragmented or missing. The input key figure has to have data uploaded for all time periods.
If a time period for a planning object combination is missing, that time period is skipped and the value
uploaded to the previous time period is taken into account when the last value calculation is used. Additionally,
the last not NULL value is not returned for the missing time period.
Example
In this example, we use the IBP_LAST_VALUE function without and with a second parameter (2) as well.
In November and December, there are no planning object combinations, so the last not NULL value is not
returned for these periods.
In January and February, the last not NULL values are only returned when the second parameter is not used. In
this case, the IBP_LAST_VALUE function searches for the last not NULL value in the entire planning horizon in
the past and returns the last value available (10 from September). When the second parameter is defined (2),
the IBP_LAST_VALUE function searches for the last not NULL value only in the last 2 periods before the actual
period. Since there are no not NULL values in November and December, the function returns the value of the
input key figure, that is, NULL.
By default, zero is not considered as a missing input, but as a valid key figure value. However, if you want the
IBP_LAST_VALUE function to return the last not NULL value for the zero value of the input key figure as well,
default zero to NULL.
Use the current value calculation to retrieve and return the current value of the input key figure in a time-
independent output key figure.
To use the current value calculation, use the IBP_CURRENT_VALUE function in the calculation definition of key
figures in the Planning Areas app: IBP_CURRENT_VALUE(<KEY FIGURE@PLANLEVEL>)
Since the output of this function is a single time-independent value, it can't be displayed in the planning view in
SAP Integrated Business Planning, add-in for Microsoft Excel (Excel add-in) directly. However, it can be used in
other calculations. The time-dependent key figure which is used in the join must be initiated for all periods (no
EMPTY values) to have the calculated value available in the output key figure as well for all periods. To extend
the current value to other time periods in the planning horizon and to display them in the planning view, you
have to join the time-independent output key figure with a time-dependent key figure.
The IBP_CURRENT_VALUE function has one mandatory parameter, which is the input key figure at the input
planning level. The input key figure must have a root time attribute other than PERIODID.
We use the IBP_CURRENT_VALUE function to override the past and future values of the output key figure
with the current value of the input key figure. Since the output of the current value function is returned in a
time-independent key figure, we have to join the output key figure with a time-dependent key figure to be able
to extend the current value to the entire planning horizon. This also entails that if we edit the current value of
the input key figure, it will be reflected not only in the current time period but in all time periods in the planning
horizon as well.
CURRENTVALUE@DAYPRODLOC = CURRENTVALUETIMEINDEPENDENT@PRODLOC
In this example, the current date is 14.05.2022. Using the current value calculation, the current values of the
input key figures are retrieved and transferred to every time period in the planning horizon.
If we want to override the values of the output key figure with the current value only in the future, we can easily
do so by adding the following condition to the calculation:
CURRENTVALUE@DAYPRODLOC2 = IF(("PERIODID0">="$$PERIODID0CU$
$"),"CURRENTVALIETIMEDEPENDENT@DAYPRODLOC",0)
Typical business use cases of the IBP_CURRENT_VALUE function include the following:
For example, the planner changes the lead time for the current day as the transportation time has been
increased for some reason and they want to use the changed value for the future time periods as well.
As the current value calculation has an output on a time-independent planning level, you can transfer this value
to a planning level with different time granularity. In the example below, the current week is week 19, 2022. The
current value of this week is calculated by the IBP_CURRENT_VALUE function, and than it is populated to a
daily planning level. As a result, the value of the current week is shown on each day of the current week.
CURRENTVALUEWITHWEEKLYINPUT@PRODLOC = IBP_CURRENT_VALUE("INPUTKF@WEEKPRODLOC")
CURRENTVALUEWITHWEEKLYINPUTJOIN@REQUEST =
SUM("CURRENTVALUEWITHWEEKLYINPUTJOIN@DAYPRODLOC")
• The current value calculation must have exactly one parameter, which is the input key figure at the input
planning level.
• The input planning level and the output planning level of a IBP_CURRENT_VALUE function must have the
same set of non-time attributes (root and non-root).
• The output planning level cannot have time attributes.
• The input planning level must have a root time attribute other than PERIODID.
• The Proportionality field of the output key figure cannot have the Same Key Figure - Calculated Values
value.
Missing Inputs
You cannot use the IBP_CURRENT_VALUE function without an input key figure as no default value is provided.
Current value calculation does not generate missing time periods and key figure data in case the uploaded data
is fragmented or missing. The input key figure has to have data uploaded for all time periods.
• Empty Value
If the current time period for a planning object combination is missing, that combination will not be
available for the whole planning horizon of the output key figure.
Example
With the window-based aggregation (IBP_WBAGGR) function you can perform cumulative aggregation on data
grouped and sorted according to chosen attributes. For example, using this function, you can improve your
production capacity planning by creating a prioritized list of products for each location.
Within the window-based aggregation function, use the IBP_GROUP_BY embedded function to group the input
data set to create so-called windows. The attributes you choose as parameters for the function will segment
the data. Every time the value of the attribute changes, a new window opens and the aggregation restarts.
Then, within the windows, use the IBP_SORT_BY embedded function to sort, or subgroup, the data based on
attributes that you define and also put them into ascending or descending order.
The aggregation takes place within the windows on the grouped and ordered data set.
Note
Window-based aggregation imposes filter blocks in the calculation graph of a key figure, which might
increase the runtime of queries. However, the attributes used in the IBP_GROUP_BY function aren't
blocked, they remain effective. For more information, see Filter Blocks [page 481].
The IBP_WBAGGR function has four mandatory parameters, and they've a fixed order.
• 1st parameter: input key figure at the input planning level (mandatory)
The parameter value must be surrounded by double quotation marks.
• 2nd parameter: aggregation type (mandatory)
Caution
• An attribute can be part of either the IBP_GROUP_BY or the IBP_SORT_BY function, but not both.
• The attributes specified as IBP_GROUP_BY or IBP_SORT_BY attributes shall be included in the
planning level of the input key figure.
• All root attributes of the input planning level, including the time root attributes, must be used as
parameters of either the IBP_GROUP_BY or the IBP_SORT_BY function, but not both, to reproduce
results.
Example
After the grouping, the data is sorted along attributes defined within the IBP_SORT_BY embedded function.
Within the first group, the first attribute, PERIODID0 doesn't create further subgroups as its value doesn't
change. The second attribute, PRDID splits the data into subgroups when its value changes from BASIC to
COMFY. Also, because the order value was set to DESC, the data is ordered in a descending order.
The aggregation takes place within the windows on the sorted and ordered data. It means that the aggregation
restarts when a new group or window is created.
Missing Input
You need to set input key figures for the IBP_WBAGGR function, as no default values are provided. The window-
based aggregation function doesn't generate or complement missing records and key figure data in case the
uploaded data is fragmented or missing.
NULL value
Handling of NULL values of the key figure when the aggregation type is MIN, MAX, SUM, AVG, or STDDEV:
Handling of NULL values of the key figure when the aggregation type is COUNT:
Attributes with NULL values are listed at the top of the sorted list.
Example
In this example, you can see how NULL values are handled.
Zero value
In case of zero values, zeros are used in the calculations.
• The IBP_WBAGGR function must have values specified for the four parameters: the input key figure, the
aggregation type, the IBP_GROUP_BY, and the IBP_SORT_BY embedded functions.
• Use the Simulate Key Figure Calculations app to test the IBP_WBAGGR function. You can view the inputs and
the output much easier with it.
• Try the COUNT aggregation first to check your calculation.
You can use attributes in calculation expressions. Please note the following:
• An attribute that is used in a calculation must belong to the planning level of at least one of the inputs to
the calculation.
• An attribute cannot be used in a calculation if all the inputs are specified at calculation level.
Note
This is no longer required with the new, enhanced version of planning area activation. For more
information about enhanced activation and whether it is used in your system, see Enhanced Version of
Planning Area Activation [page 310].
Attributes, just like KF@PL forms are to be surrounded by double quotation marks in the calculation
expression, for example: "RESTYPE". However, if you use a constant in an expression, you must use two
(!) single quotation marks before the attribute value and two (!) single quotation marks after the attribute value
(for example, ''constant'').
Caution
Please note that a double quotation mark (") won't work, even though it looks similar to a combination of
two single quotation marks.
Note
String constants are always in upper case in calculations. If you want to compare the string constant with
the actual attribute value in a calculation, use the UPPER function to change the attribute value to upper
case.
You may sometimes need to define calculations that are based on criteria relating to time periods.
For example, imagine that for key figure Sales Forecast Qty, you want to show the Actuals Qty for time periods
that lie in the past:
Actuals Qty Shown for Sales Forecast Qty in Past Time Periods
Key Figure Current Time Current Time Current Time Current Time Current Time
Period -2 Period -1 Period Period +1 Period +2
Note
If you have key figures at different planning levels (Week, Month, Quarter, Year), you might want to use
PERIODIDn.:
PERIODID0 Week
PERIODID1 Year
PERIODID2 Quarter
PERIODID3 Month
If Sales Forecast Qty is defined at the base planning level with Month as the root, then PERIODIDn
would be replaced by PERIODID3.
Related Information
The maximum number of digits is 18 in SAP IBP. Values can consist of maximum 12-digit integers and 6-digit
decimals. However, it might happen that the results (both intermediate and final) of key figure calculations
would require more than 12 integers or 6 decimals. Let's see a couple of examples and solution proposals for
this issue.
In this case, the result (intermediate or final) of a calculation would consist of more than 12 digits. Therefore,
you receive an error message and the calculation is not performed.
Example
KF1=10000000000
KF2=100
KF3=1000
• KF1*KF2
The result would be 1000000000000. This value has 13 digits, however, SAP IBP can only work with
integers up to 12 digits. As a result, you receive a numeric overflow error.
• KF1*KF2/KF3
The result would be 1000000000. This number consists of less than 12 digits, however, the intermediate
value KF1*KF2 would need 13 digits. This is not possible in SAP IBP, therefore, you receive an error
message again.
Solution
Remodel your calculations so that the results of the calculations do not exceed the limit. You can do that,
for example, by changing the unit of measures or the unit of currency. The most common cause of numeric
overflow is the conversion of income to another currency unit. If this is the case, use currency conversion to
solve the problem.
If it is only the intermediate value that exceeds the limit of 12 digits, you can also use different dimensions for
the key figures. For example in the case of KF1*KF2/KF3, you can divide the value of KF2 by 1000 and then
multiply the final result by 1000. This way you will not have values of more than 12 digits.
Decimal values in SAP IBP can consist of up to 6 digits. If a number has more than 6 decimals, the first 6 is
kept and the rest is simply cut off without rounding the value. For example, in case of the decimal number
123,123456789, the system will store and work with 123,123456.
ACTUALSPURCHASE@REQUEST = SUM("ACTUALSPURCHASE@DAYPRODLOC")
ACTUALSPURCHASE@DAYPRODLOC = "ACTUALSPURCHASE@DAYPRODLOC"/3
In this example, we store values on daily level, however, we have values on weekly level. For example, the value
of ACTUALSPURCHASE is 30 for week 1. To calculate ACTUALSPURCHASE@DAYPRODLOC we need to divide 30 by
7 (number of weekdays), and then by 3.
30/7/3=1.428571428571429.
Since SAP IBP can only work with values with up to 6 decimals, value 1.428571 is going to be stored. Then,
we query ACTUALSPURCHASE on a weekly level. As a result, the daily value is aggregated (1.428571*7), and the
result is 9.999997. However, this is not accurate; the result should be 10 (30/3).
Remodel your calculations so that the intermediate values do not exceed the limit by using different
dimensions for the key figures. You can again change the unit of measures or unit of currency, or multiply
the value of the kef figure by 1000 and divide by 1000 after the calculation has been performed. Keep in mind
that on the one hand you cannot exceed the limit of 6-digit decimals, but on the other hand you cannot have
more than 12-digit integers.
Use rounding if there is a disaggregation in the key figure calculation to achieve exact results. To do so, add one
of the rounding functions to the SUM function on REQUEST level.
For more information about the rounding functions, see Commonly Used Functions and Expressions [page
162].
Set the number of decimals to be displayed to 6, so that it is the same as in SAP IBP. You can also add rounding
functions to the cells in Microsoft Excel.
We suggest that you represent intermediate results step-by-step in Microsoft Excel instead of having one
complex calculation in one step. This way, you can easily check whether all intermediate values fit into the
6-digit decimal (and 12-digit integer) limit.
In this example, the number of decimal places is to 2 in Microsoft Excel. As result, value 999.999 is displayed as
1000.00.
Solution
Set the number of decimals to be displayed to 6 and set the rounding precision in Microsoft Excel.
You can define groupings of key figures based on your business needs.
Prerequisites
Make sure you have the necessary authorizations for this activity, that is, the business catalogs required for
this activity are assigned to a business role that is assigned to your business user. For more information see the
SAP Help Portal at http://help.sap.com/ibp, under Application Help for SAP Integrated Business Planning
Identity and Access Management Basic Concepts Business Catalogs .
Context
Predefined key figure groups allow more efficient handling of large numbers of key figures in the supported SAP
IBP application areas, since all key figures in the group can be assigned at once, without the need to select the
relevant key figures one by one.
You can define new key figure groups as well as modify or delete existing groups in the Key Figure Groups app.
Note
When you start creating a new key figure group or edit an existing group, a draft is saved automatically in
the background. This ensures that unsaved changes are not lost if the editing activity is interrupted and
allows you to resume editing later.
Until the changes are explicitly saved, the draft is locked for other users, which prevents multiple users
from making changes to the same key figure group in parallel.
The fact that a key figure group is locked because it has unsaved changes by you or another user is shown
in the Key Figure Group Name column of the worklist (as Draft and Locked by <user>, respectively).
Procedure
Key figure groups are dependent on the planning area that they belong to as follows:
For example, if you specify Excel Add-In for the field, you can use the key figure group for creating planning
views in the SAP IBP, add-in for Microsoft Excel.
If you specify Realignment Projects, you can use the group for creating realignment projects in the Manage
Realignment Rules app.
5. Add key figures to the group.
You can add any number of key figures included in the planning area to the group and you can add the
same key figure to several different groups. However, there are some restrictions on the types of key
figures that you can use in key figure groups for specific application areas. For example, you can only use
stored key figures in a key figure group for realignment projects and you can’t use the following types of key
figures in groups for the Excel add-in:
• Helper key figures
• Time-independent key figures
• Technical key figures generated for fixing (starting with ‘DIS_FIX’)
6. Once you have added the relevant key figures to the group, choose Create to save the group.
You can later make changes to the group, for example add or remove key figures. However, you can’t
change the planning area that the group belongs to.
In configuration, you can assign business meaning to attributes and key figures to provide a semantic
connection between the attribute ID or key figure ID that you specify and the code. The use of business
meaning replaces the need to use hard-coded attribute and key figure IDs. This means that you do not have to
follow SAP's naming conventions for naming key figures and attributes to be able to let the system know what
purpose you want to use a certain key figure or attribute.
When setting business meanings for attributes, keep in mind the following:
Business meaning is used in the integration of promotion data. The Analyze Promotions app considers data
from planning areas that have attributes and key figures with the relevant business meaning assigned. For
more information, see Setting Up a Planning Area for Integrating Promotion Data.
Example
As you assign the business meaning Promotion Uplift (Source) to the key figure, the system considers the
planning area that the key figure belongs to as possibly relevant for the integration of promotion data. If
other prerequisites are also met, you can use the planning area for promotions.
The SAP6 sample planning area for demand contains attributes and key figures that have business meaning
assigned to them. For more information, see SAP6 Sample Planning Area for Demand.
Prerequisites
Make sure you have the necessary authorizations for this activity, that is, the business catalogs required for
this activity are assigned to a business role that is assigned to your business user. For more information see the
SAP Help Portal at http://help.sap.com/ibp, under Application Help for SAP Integrated Business Planning
Identity and Access Management Basic Concepts Business Catalogs .
Context
A version is a separate set of key figure data, which is used to manage alternative plans. Besides the base
version for the planning area, which contains operational data, you can define additional versions (for example,
upside and downside). These versions can either include all key figures of the planning area or a subset of the
key figures, including calculated key figures. They cannot include additional key figures.
The maximum number of versions allowed per planning area is defined by the SCN_COUNT_MAX global
configuration parameter. If you want to create more versions than is allowed by default, go to the Global
Configuration app and change the value of the SCN_COUNT_MAX parameter according to your modeling
requirements. Note that the maximum number of versions you define here is valid for all planning areas. Also,
keep in mind that too many versions might cause performance issues.
For more information about how versions are used for the analysis of alternative plans, see Versions.
Procedure
1. On the initial screen of the Planning Areas app, choose the planning area for which you want to create an
additional version. Then choose the Versions tab.
2. Choose New, and enter an ID for the new version (for example, UPSIDE).
3. Enter a name and description.
4. Decide if you want to use the same master data as in the base version, or you need an independent set of
master data.
If you want to use an independent set of master data in the version, select the Version-Specific Master Data
checkbox.
For the key figures you add, the Version-Specific Key Figure checkbox is selected by default, which means
that you can assign values for them that are different from the ones in the base version of the key figure. If
you want to use the values of the key figure from the base version, select the Baseline Key Figure checkbox.
Note
In case of calculated key figures, the calculation graph of the key figure determines whether the key
figure is a baseline key figure or a version-specific key figure. If the calculation graph contains at least
one stored, version-specific key figure, the calculated key figure will be version-specific as well. If you
want the calculated key figure to have the same value as in the base version, make sure that all stored
key figures in the calculation graph are baseline key figures as well.
Please do not select the Baseline Key Figure checkbox for external key figures. All external key figures
must be configured as version-specific key figures if a planning area has versions.
In the SAP IBP, add-in for Microsoft Excel, only key figures that are marked version-specific can be added
to the planning view for that version. You can then copy the values of the version-specific key figure from
a different version, such as the base version, to this version. Version-specific key figure values can be
displayed and changed, provided that the user has the necessary permissions.
Caution
If you set up your version without selecting the Version-Specific Master Data option and load data into
the version in the Excel add-in, enabling version-specific master data for the version at a later point will
cause a loss of key figure values for the version. If that happens, you have to load all the master data for
the version and then load data for all the key figures in the version as well.
For more information, see the Version Planning section in the application help.
Note
Select the Version-Specific Key Figure option for each output and input/output key figure of a planning
area that is enabled for time-series-based supply planning.
Key figures marked as baseline key figure can be added to the planning view only in case the planning
view contains the base version. The key figure won't have version-specific values in the given version. If a
baseline key figure is in the calculation graph of a version-specific key figure, the key figure values from the
base version are used to calculate the values of the version-specific key figure.
6. Once you have created versions for your planning area, you can also add individual key figures to them
on the Key Figures tab by selecting the relevant versions in the Versions section of the Key Figure details
screen.
A planning operator uses an algorithm to compute large amounts of key figure data within a planning session.
You can schedule a planning operator to be processed in the background.
Replenishment .
Inventory Profiles .
Supply Planning .
Prerequisites
Make sure you have the necessary authorizations for this activity, that is, the business catalogs required for
this activity are assigned to a business role that is assigned to your business user. For more information see the
SAP Help Portal at http://help.sap.com/ibp, under Application Help for SAP Integrated Business Planning
Identity and Access Management Basic Concepts Business Catalogs .
Context
You can assign the following planning operators to a planning area in the Planning Areas app:
Note
You can assign profile-based operators to planning areas in their respective apps.
Procedure
To assign a planning operator to a planning area in the Planning Areas app, proceed as follows:
1. Open the Planning Areas app.
2. Select your planning area from the list of planning areas and open it.
3. Go to the Planning Operators tab.
4. Choose Add.
The Advanced Simulation operator is used for an interactive simulation of key figure values in time-series-
based planning UIs (for example, SAP Integrated Business Planning, add-in for Microsoft Excel). The operator
copies key figure values from source key figures to target key figures during simulation. It's triggered
automatically for the key figures you define in the Advanced Simulation Profiles app and consequently can't
be scheduled or run in batch mode like other planning operators.
Up until SAP Integrated Business Planning for Supply Chain (SAP IBP) 2105, the Advanced Simulation
operator was configured in the Planning Operators app. With SAP IBP 2108, all existing Advanced
Simulation operators were migrated to the Advanced Simulation Profiles app, where you can adapt or delete
them as necessary.
Recommendation
SAP recommends that you use this operator only when necessary because it can affect performance
during simulation or saving. If the value of the referenced calculated key figure doesn't change frequently,
we don't recommend using the Advanced Simulation operator. Instead, it's advisable to copy the calculated
key figure to a stored key figure using a regularly scheduled copy operator job and use this stored key figure
in other key figures as a reference (for example, as key figures for proportionality).
To use calculated key figures for disaggregation, the value of the calculated key figure must be stored in
another stored key figure at the same base planning level as the key figure that is being disaggregated. This is
done before or after disaggregation.
If you configure a key figure as a simulation key figure in the Advanced Simulation Profiles app and its value is
changed or simulated in a planning view, the operator is triggered and does the following for the changed cells
only:
• Copy Before Simulation: Copies configured source key figure values to target key figure values before
disaggregation.
• Copy After Simulation: Copies configured source key figures to target key figures after disaggregation.
Example
Key figure A, which is defined on a planning level with technical weeks as root, is used as simulation key
figure in an advanced simulation profile of your planning area.
You display its values for the three products P1, P2, P3 in monthly periods in a planning view. If you change
the values of key figure A for product P1 in January and for product P2 in March, the Advanced Simulation
operator copies values for product P1 in the technical weeks of January and for product P2 in the technical
weeks of March between the key figures defined in your advanced simulation profile.
For more information, see the SAP Help Portal at http://help.sap.com/ibp and search for Planning with
Microsoft Excel.
Restrictions
• The Advanced Simulation operator doesn't consider fixing and may change fixed target key figure values.
• The editability of target key figures isn't considered by the Advanced Simulation operator.
You can use this app to configure the Advanced Simulation operator.
Whenever there is a value change in one of the key figures you define as simulation key figures in this app, the
operator is automatically triggered for the relevant key figures.
External key figures and key figures using external key figures in their calculation rules aren't supported by
advanced simulation profiles.
You define advanced simulation profiles for specific planning areas. Using the option Use in Simulation, you can
temporarily deactivate the profile, for example to check the performance impact of the operator.
Prerequisites
To be able to create or edit profiles, your business role must contain the business catalog
SAP_IBP_BC_ADVSIMPROFILES_PC.
In this section, you define which key figures advanced simulation is run for. If a value for one of theses key
figures is changed in the planning view, the operator automatically triggers a copy process for the changed
period and considers the changed planning object records (periods and attribute combinations).
In this section, you define whether the system copies the key figure values before or after disaggregation and
you can specify the source and target key figures. The defined key figure pairs are grouped by base planning
level and are copied at once.
The source key figure for the copy operation can be either stored or calculated. The source key figures are read
and then copied at the base planning level of the target key figures. The attributes available at request level for
the source key figure must be a superset of the base planning level of the target key figure.
The target key figure for Copy Before Simulation and Copy After Simulation must be a stored key figure and
must have the same base planning level as the simulation key figure.
• Desktop
• Tablet
Related Information
This operator is used to copy key figure values within a planning area as well as between two planning areas. If
necessary, source key figure values are aggregated and target key figure values are disaggregated.
Using the Copy Operator Profiles app, you configure the details of the copy process and save them in a copy
operator profile. You can set up the copy process for multiple key figures on different copy levels in one
copy operator profile and then copy all key figures that are required for a certain process step with one copy
operator run.
The Copy Operator (Advanced) has replaced the copy (COPY) operator and disaggregation (DISAGG) operators,
combining the features of the two. It offers a simplified configuration using the Copy Operator Profiles app.
You can schedule the Copy Operator (Advanced) in the Application Jobs app.
We recommend using the application job template Copy and Disaggregate Key Figure Operator. Future
enhancements will only be added to this template.
The following application jobs templates are available for the different operator types:
You can also schedule the Copy Operator (Advanced) from the SAP IBP, add-in for Microsoft Excel. It can only
be run in batch mode and not interactively in a simulation.
To track your operator jobs, you can use the Monitor System Tasks app. Here you get an overview of the most
important indicators, like runtime, number of key figures written and read.
Related Information
You can use this app to configure the Copy Operator (Advanced). This operator is used to copy key figure values
within a planning area as well as between two planning areas.
You can set up the copy process for multiple key figures on different copy levels in one copy operator profile
and then copy all key figures that are required for a certain process step with one copy operator run.
For a detailed description of all available settings and options, see the in-app help.
You can generate missing time period entries and initialize target key figures. However, if you choose to do so,
you can't use the profile to run the operator for scenarios.
If your copy operator profile contains several pairs of source and target key figures, you can choose to copy key
figures sequentially. This way you control how dependencies between the key figures are handled in the copy
process. Please only use this feature, if dependencies require it. It may lead to longer operator runtimes.
The following key figure types are supported for source key figures:
For target key figures, only stored key figures are supported. This means that the following key figure types
can't be used as target key figures:
• You can choose a rolling time selection and select key figures by date, by period, or by period offset and
duration.
• When you schedule the operator in the SAP Integrated Business Planning, add-in for Microsoft Excel, you
can adjust the period selection afterwards. This feature is only available for profiles with one time profile
level.
• You can manually adjust period offset, period duration, and period shift, if necessary.
• You can optionally define filters based on attribute values.
• You can units of measure as attribute selections.
Processing Options
You can specify how key figure values are processed:
• You can choose if the execution of the operator can be triggered from the source or from the target
planning area.
• In the section Mapping, you can map time profile levels and attributes, if necessary.
Additionally, if the two planning areas use different attribute IDs you can map these attributes, if necessary.
• You can use attribute selections while reading the source key figures and/or while writing the target key
figures.
• If you copy key figure values between two planning areas, it's not possible to change the time selection
or change the version or scenario when you execute or schedule the operator in the SAP IBP, add-in for
Microsoft Excel.
Note
Depending on the used copy options, copy operator profiles may be copied when a planning area is copied.
Details are described in the Knowledge Base Article 3016899 .
• Desktop
• Tablet
Related Information
When you execute a copy operator, the key figure values are copied for the selected versions and scenarios
in one or several key figure groups. Key figure groups are always processed sequentially. Within a key figure
group, values are copied in one or several packages.
For performance reasons, the system tries to process all key figures in one group. If it isn't possible, the system
splits the key figure processing into several groups. Reasons for processing key figures in groups include:
If you select the Copy Key Figures Sequentially option, every key figure pair is processed as a separate group.
As this may result in longer run times, we recommend using this option only if it's necessary.
Note
You can see the key figure processing groups in the execution log of the operator but not in the Copy
Operator Profiles app.
To reduce the memory consumption and the risk of locking issues, we recommend using packages. Unless
you set a specific number of processing packages in your profile, the system uses the default number of
processing packages as defined in the global configuration parameter NUMBER_OF_PROCESSING_PACKAGES.
For more information, see Global Configuration Parameters [page 371]. The system then generates packages
for processing of key figure values within a key figure group. As packages are built by period, this is only
possible if the copy operator profile is used for more than one period. Packages are processed sequentially and
saved independently.
In some cases, for example for operator profiles that are used to copy large data sets, it makes sense to specify
in the copy operator profile how many processing packages you want the system to generate.
Note
In the following cases we recommend that you disable packaged processing by setting the number of
processing packages to 1:
• Depending on the configuration of the source key figures, reading only one or a few periods may lead to
different values. When copying such key figures, we recommend that you disable packaged processing.
• If a source key figure has a filter block for a time attribute, packaged processing can cause a significant
increase in runtime as the time selection of the packages can't be used efficiently.
You can check in the Key Figure Calculations app if a source key figure has a filter block for a time
attribute. If you can't use packaged processing, you can use attribute selections to split large jobs
instead.
Let's assume the profiles are used to copy key figure values for 52 periods and the number of processing
packages is set to 5.
If you run the same operator for two versions, you get the following number of packages:
• Profile A: 2 Versions * 1 Key Figure Group * 5 Packages/ Key Figure Group → 10 Packages
• Profile B: 2 Versions * 2 Key Figure Groups * 5 Packages/ Key Figure Group → 20 Packages
• Profile C: 2 Versions * 3 Key Figure Groups * 5 Packages/ Key Figure Group → 30 Packages
In some cases, the packages of a key figure group can be processed in parallel.
Clear Values
For key figure groups that clear target key figure values, packages are processed in parallel if the following
conditions are met:
• The option Disaggregation Required is set to No for all key figure pairs of the group.
• The option Clear Values is set to Yes for all key figure pairs of the group.
• You haven't selected a source key figure or you've set the option Generate Missing Planning Objects set to
No.
• The value in the field Number of Processing Packages is greater than 1.
• The value in field Parallel Processes for Clear Values is greater than 1.
The default value of the field Parallel Processes for Clear Values is defined by the global configuration parameter
PARALLEL_PROCESSES_CLEAR. The default value of this parameter is 3 and its maximum value is 5.
The default value of the field Parallel Processes for Base Copy is defined by the global configuration parameter
PARALLEL_PROCESSES_BASE_COPY. The default value of this parameter is 1 and its maximum value is 3.
Note
To avoid a negative impact on performance, we recommend that you only use parallel processing for jobs
that require fast execution.
The following table shows some examples of how key figure values are copied with different settings under Key
Figure Selection.
Target Key Figure 100 100 100 100 n/a n/a n/a n/a
Values Yes null null null null null null null null
Smaller
No No 100 -1 100 100 n/a -1 n/a n/a
Than 0
Yes null null null null n/a null n/a n/a
The following graphic shows an example of how key figure values are copied using different settings for the
option Values to Be Read under Key Figure Selection.
If you select Values of Existing Periods, the system copies existing values from the source key figure. For
periods where no records exist in the source key figure, no value is copied and the target key figure value
remains unchanged.
If you select Values of All Periods, the system copies existing values from the source key figure and initializes
the target key figure for periods where no records exist in the source key figure. Using this option, you don't
need to initialize the target key figure before copying values.
Note the different results using the options Values of Existing Periods and Values of All Periods. Target key figure
values that were changed by the copy process are marked in red.
The snapshot (SNAPSHOT) planning operator allows users to take snapshots of key figures in the SAP
Integrated Business Planning, add-in for Microsoft Excel or the Application Jobs app.
When you define a snapshot on the Snapshots tab of the Planning Areas app, the system automatically creates
a Snapshot planning operator and a Redo Snapshot planning operator for the definition. All further snapshot
definitions are added to the same planning operators.
Related Information
The redo snapshot (SNAPSHOTREDO) planning operator allows users to retake a snapshot if there are errors
in the data. The operator overwrites the most recent snapshot with a new snapshot for the same set of key
figures in a batch process.
When you define a snapshot on the Snapshots tab of the Planning Areas app, the system automatically creates
a Snapshot planning operator and a Redo Snapshot planning operator for the definition. All further snapshot
definitions are added to the same planning operators.
Related Information
The Inventory Optimization (IO) planning operator allows you to run inventory optimization for a given supply
chain network.
Note
As of SAP IBP 2205, the Inventory Optimization (IO) operator type has been deprecated. You can no longer
create operators of this type but you can still assign them to planning areas in the Planning Areas app.
Caution
To run the inventory operators, specific technical IDs defined by SAP must be used for the relevant master
data types, attributes, and key figures. If these technical IDs are not used, the inventory operators will
fail. For more information, see http://help.sap.com/ibp. Choose Application Help for SAP Integrated
Business Planning Business Applications Inventory Optimization Sample Planning Area for Inventory
Optimization Master Data and Application Help for SAP Integrated Business Planning Business
Applications Inventory Optimization Sample Planning Area for Inventory Optimization Key Figures .
Operators
Multi-Stage Inventory Opt MULTI STAGE IO Global (multi-stage) inventory Optimizes recommended
optimization safety stock globally across
all products and locations of
the supply chain. Minimizes
total safety stock holding
cost while ensuring that all
customer service level tar
gets are met.
Note
The Multi-Stage Inventory Opt operator and the Calculate Inventory Components operators calculate
outputs for all demand streams, and therefore do not take permission filter settings into consideration
during calculations.
The operator Single-Stage Inventory Opt takes permission filtering into consideration when calculating
outputs.
To use different planning horizons than the standard for a planning area, you can define the planning
horizon parameter for inventory optimization operators. The following operators support the planning horizon
parameter:
Parameter Description
The following example shows settings for a Multi-Stage Inventory Opt operator with a planning horizon of five
calendar weeks:
Settings
Field Entry
Name Multi-Stage IO PH 5
Description Multi-Stage IO PH 5
Interactive Mode No
Parameters
Parameter Value
PLANNING_HORIZON 5
Result
Once you have made these settings and assigned the operator to the relevant planning area (see Assigning
a Planning Operator to a Planning Area [page 272]), you can run the planning operator in the SAP Integrated
Business Planning add-in for Microsoft Excel in simulation mode and batch mode.
To enable users to take original snapshots of key figures and also retake original snapshots if there is incorrect
data that needs to be overwritten, you have to define the required snapshots.
Prerequisites
Make sure you have the necessary authorizations for this activity, that is, the business catalogs required for
this activity are assigned to a business role that is assigned to your business user. For more information see the
SAP Help Portal at http://help.sap.com/ibp, under Application Help for SAP Integrated Business Planning
Identity and Access Management Basic Concepts Business Catalogs .
Context
You configure snapshots by creating a snapshot definition at planning area level. The system automatically
assigns snapshot definitions to the Snapshot operator and Redo Snapshot operator. The user can then take or
redo the snapshots by running the required operator from the SAP Integrated Business Planning, add-in for
Microsoft Excel (SAP IBP, add-in for Microsoft Excel) or the Application Jobs app.
Steps
Input Key Figures Key figures to include in the snapshot FORECAST, HISTORY,
SALESFORECAST
Results
The new snapshot key figures are added to the key figures for the planning area and can be seen on the Key
Figures tab of the Planning Areas app. They are indicated by the corresponding icon in the Type column. The
number of snapshot key figures created equals the number of snapshots defined in the snapshot definition.
The system automatically assigns the snapshot definition to the Snapshot operator and the Redo Snapshot
operator.
Note
• You can configure original snapshots for any time-dependent key figure (stored or calculated), except
for helper, technical, custom alert, conversion-relevant, external, or generated snapshot key figures
and key figures in pending deletion status.
• The calculation graph of the key figures for which you configure the snapshot definition may not
contain attribute transformations, helper key figures, technical key figures, generated snapshot key
figures, external key figures, or conversion-relevant key figures.
• There is no length restriction on the IDs of input key figures for snapshot definitions. In cases where
the the resulting snapshot key figure ID would be longer than 32 characters, the system automatically
Related Information
Before you can use the data you have set up in the application, you have to activate your planning model. When
the model is activated, the infrastructure to store and access planning data is created based on the metadata
of the custom model you created.
Recommendation
We recommend that before activation, you run the consistency checks on the model entities you want to
activate. If the check log contains errors, correct them before you activate the model entities.
1. Time profiles
2. Master data types
3. Planning areas
You can also activate a planning model in one step, by activating a planning area together with its related time
profile and related master data types.
Note
Activating a planning area doesn't activate the data sharing plans. You have to activate data sharing plans,
if needed, in a separate step.
Activation runs as an application job. You can monitor the job status, display the job details, and cancel the job
in the Application Jobs app.
You can schedule the activation of time profiles, master data types, and planning areas using the predefined
Planning Model Activation template in the Application Jobs app.
Recommendation
We recommend that you arrange a business downtime when you want to perform model activation.
Particularly, the following tasks, application jobs, and processes mustn't run when you activate a planning
area, otherwise the system may not be able to schedule the activation job, or activation may run
significantly longer, or it may fail:
• Data integration (using the Data Integration Jobs app, SAP Cloud Integration for data services, or SAP
HANA Smart Data Integration)
Data integration for time periods and master data types mustn't run while an activation is running.
Data integration for snapshots and key figure values mustn't run for the planning area you're going to
activate.
• Creation and change of planning views, editing data, and simulations in the SAP IBP, add-in for
Microsoft Excel
No users should be logged on in the SAP IBP, add-in for Microsoft Excel while activation is running.
• Application jobs for planning operators
Make sure that no planning operators are running in the planning area you're going to activate.
• Application jobs for creating time periods for time profiles
Note
You can activate a planning model and run the consistency checks for a different model in parallel, but you
can't activate two planning models or two sets of modeling entities at the same time.
Once you have activated your planning model, you can copy it, and, if needed, delete model entities by active
deletion.
Related Information
Application Jobs
The background information provided in this chapter can help you better understand how modeling and
activation in SAP Integrated Business Planning works.
In SAP Integrated Business Planning, planning models are based on the following model entities:
• Attributes
• Master data types
• Time profiles
• Planning areas
• Planning levels
• Key figures
• Versions
• Miscellaneous additional entities: planning operators, global configuration parameters, and reason codes
Other entities can be activated only together with the higher-level entity that includes them.
A time profile, a master data type, and a planning area can have the following statuses:
• Inactive
An entity has the inactive status either when it’s created and first saved, or when the active entity is
changed and saved.
• Active
An entity has the active status after it has been activated, either directly or indirectly (together with a
higher-level entity).
• Pending deletion
If an active entity is marked for deletion, it has the pending deletion status. Actual deletion takes place with
the next activation of the entity. Until then, you can revert the pending deletion status to active.
Note
Planning levels, key figures, snapshot definitions, and versions can have the same three statuses. However,
you can't activate these model entities on their own, only via the planning area that includes them.
Attributes are a special case. An attribute has a status on its own, but you can activate it only as part of the
activation of a higher level entity (master data type, time profile, planning area). An attribute can have the
following statuses:
• Inactive
An attribute has the inactive status either when it’s created and first saved, or when the active attribute is
changed and saved.
• Active
An attribute has the active status after it has been activated (together with a master data type, a time
profile, or a planning area).
Along with statuses, entity instances are also a key concept in model activation. An instance is a saved state of
a model entity, and it is classified by the status.
One or two instances – which have different statuses – of a model entity can exist at the same time:
In the planning area worklist of the Planning Areas app, you can choose to display the most recent instance
of the model entity (Show Latest), or the latest active instance (Show Active). You can only display the latest
active version of a model entity, you cannot edit it.
Note
The inactive instance of a higher-level entity refers to the latest instance of the dependent entity, be it active
or inactive.
For example, if both an attribute and a master data type that uses the attribute have inactive and active
instances, the active instance of the master data type uses the active instance of the attribute, while the
inactive instance of the master data type uses the inactive instance of the attribute.
The life cycle of a model entity starts with the inactive status, after the entity has been created and saved. The
entity can get into the active status by activation.
The active instance is used throughout SAP Integrated Business Planning, for example, in the IBP Excel add-in,
in planning operators, and in data integration. Once the entity is activated again, the changes take effect, and
the inactive instance becomes the active (and, until the next changes, the only) instance of the entity.
Note
If you have activated an entity, you cannot restore the previous active instance.
Deleting an Entity
You can use active deletion to delete active master data types, planning levels, key figures, snapshot
definitions, planning areas, and time profiles. For more information, see Deleting Active Objects (Active
Deletion) [page 312].
With active deletion, the inactive instance of the entity is immediately deleted. If there is an active instance
of the entity, the active instance remains unchanged, and a pending deletion instance is created. These two
instances exist in parallel until the next activation of the entity.
If the entity has only an inactive instance, it is immediately deleted if you choose Delete (active deletion is not
available in this case).
Note
In the case of a planning area deletion, choosing Delete (or Delete with Dependencies) deletes the planning
area together with its dependent master data types and time profile.
If all objects (the planning area and its dependencies) are inactive, you can delete them in one step,
while active objects are first set to Pending Deletion and you need to activate them in the relevant app to
complete the deletion. In the case of inactive objects with an active instance existing in the system, the
inactive instances are deleted and the active instances are set to Pending Deletion.
In this example, we start with 3 attributes (A1, A2, and A3), which are used in a master data type (MDT1), which
is then used in a planning area (PA1).
We then create a new attribute, A4, add it to the MDT1 master data type, and activate the master data type.
After it, we assign the A4 attribute to the PA1 planning area, and activate the PA1 planning area.
The next step is creating a new attribute, A5, and adding it to the MDT1 master data type, without activating the
master data type.
As the last step, we change the period offset in the PA1 planning area (this change does not have any effect on
attributes or master data types).
Starting Point
Planning area PA1 Uses A1, A2, A3, and MDT1 Active
Step 1: Creating the A4 Attribute, and Adding It to the MDT1 Master Data
Type
Master data type MDT1 Used in PA1 Active Until MDT1 is activated again,
the active instance is un
Uses A1, A2, A3
changed.
Planning area PA1 Uses A1, A2, A3, and MDT1 Active
The SAP Integrated Business Planning, add-in for Microsoft Excel (SAP IBP, add-in for Microsoft Excel), the
data integration, and other functions of SAP IBP continue using the active instance of the MDT1 master data
type.
Master data type MDT1 Used in PA1 Active The previously inactive in
stance of MDT1 becomes the
Uses A1, A2, A3, A4
active - and only - instance of
MDT1.
Planning area PA1 Uses A1, A2, A3, and MDT1 Active Activating the MDT1 master
data type has no effect on
the PA1 planning area. It still
has one active version, which
is unchanged
Step 4: Assigning the A4 Attribute in the PA1 Planning Area and Activating
the PA1 Planning Area
Attribute A4 Used in MDT1 and in PA1 Active The A4 attribute is now used
in the PA1 planning area as
well.
Planning area PA1 Uses A1, A2, A3, A4, and Active The active instance of the
MDT1 PA1 planning area now also
includes the A4 attribute.
Step 6: Creating the A5 Attribute, and Adding It to the MDT1 Master Data
Type
Master data type MDT1 Used in PA1 Active As no activation has hap
pened, the active instance of
Uses A1, A2, A3, A4
MDT1 is unchanged.
Planning area PA1 Uses A1, A2, A3, A4, and Active
MDT1
The SAP IBP, add-in for Microsoft Exce, the data integration, and other functions of SAP IBP continue using the
active instance of the MDT1 master data type.
Changing the period offset affects the planning area only, and not the master data types and attributes the
planning area uses.
Planning area PA1 Uses A1, A2, A3, A4, and Active The active instance of PA1
MDT1 still refers to the active in
stance of MDT1.
Uses A1, A2, A3, A4, A5, and Inactive The inactive instance of PA1
MDT1 still refers to the inactive in
stance of MDT1.
Note
In such cases, when an inactive instance of a planning area refers to an inactive instance of a master data
type, you should either activate the master data type before you activate the planning area, or activate the
planning area with the Include Related Time Profile and Master Data Types option selected.
In this example, we start with 3 attributes (A1, A2, and A3), which are used in a master data type (MDT1), which
is then used in a planning area (PA1). Our goal is to delete the A3 attribute.
To delete the A3 attribute, which is used in a master data type, which is then used in a planning area, you must
work top down. First, remove the attribute from the planning area, then from the master data type.
Starting Point
Planning area PA1 Uses A1, A2, A3, and MDT1 Active
Note
Make sure that the A3 attribute is not used in any planning levels. You cannot delete an attribute if it is used
in higher-level entities.
Step 1: Marking the A3 Attribute for Deletion in the PA1 Planning Area
Planning area PA1 Uses A1, A2, A3, and MDT1 Active
Uses A1, A2, and MDT1 Inactive The inactive instance of the
PA1 planning area does not
include the A3 attribute.
Planning area PA1 Uses A1, A2, and MDT1 Active The PA1 planning area has an
active instance only, which
does not include the A3 at
tribute.
Step 4: Marking the A3 Attribute Pending Deletion in the MDT1 Master Data
Type
Master data type MDT1 Used in PA1 Active The active instance is un
changed, it still includes the
Uses A1, A2, A3
A3 attribute.
An attribute does not have a pending deletion status, so the active instance of the attribute is unchanged. The
A3 attribute is pending deletion in relation to the MDT1 master data type only. If, unlike this example, other
maser data types also use the A3 attribute, A3 is still available to them.
Master data type MDT1 Used in PA1 Active The active instance now does
not include the A3 attribute.
Uses A1, A2
Step 6: Transporting or Exporting and Importing the MDT1 Master Data Type
Prerequisites
Make sure you have the necessary authorizations for this activity, that is, the business catalogs required for
this activity are assigned to a business role that is assigned to your business user. For more information see the
SAP Help Portal at http://help.sap.com/ibp, under Application Help for SAP Integrated Business Planning
Identity and Access Management Basic Concepts Business Catalogs .
Context
You must activate the time profile to be able to create time periods for it, and to store and calculate time-
dependent planning data in a planning area that uses this time profile.
Note
Activate a time profile before you activate the planning areas that use the time profile.
Alternatively, when you activate a planning area, you can select to activate it together with the related time
profile and the related master data types in one activation run.
Procedure
1. In the Time Profiles app, select the time profile you want to activate.
You can select multiple time profiles.
2. (Optional) Choose Check.
Note
There are checks that can be executed only during activation. Thus, activation of a time profile might
fail even if the previously executed checks were successful.
3. Select the time profile you want to activate, and choose Activate.
You can select multiple time profiles.
An application job is scheduled. If the job has finished, and activation was successful, the time profile is
active. To monitor the job and to check the job details, launch the Application Jobs app.
The activation log is available. The link in the Last Action Status column takes you to the activation log in
the Application Logs app.
Related Information
Prerequisites
Make sure you have the necessary authorizations for this activity, that is, the business catalogs required for
this activity are assigned to a business role that is assigned to your business user. For more information see the
SAP Help Portal at http://help.sap.com/ibp, under Application Help for SAP Integrated Business Planning
Identity and Access Management Basic Concepts Business Catalogs .
If you want to activate a planning area, make sure that you activate the model entities in a specific order.
Activate the master data types only after you have activated the relevant time profiles, or activate them
together when you activate a planning area.
You can activate a master data type that is not assigned to a planning area independently of the time profile.
Recommendation
The following tasks, application jobs and processes mustn't run while activation of one or more master data
types is running, otherwise activation may run significantly longer, or it may fail:
• Data integration (using the Data Integration Jobs app, SAP Cloud Integration for data services, or SAP
HANA Smart Data Integration)
Data integration for master data types and key figure values mustn't run while an activation is running.
• Creation and change of planning views, editing data, and simulations in the IBP Excel add-in
No users should be logged on in the IBP Excel add-in while activation is running.
Context
You must activate a master data type to be able to create the master data records (through data integration).
Procedure
1. In the Master Data Types app, select one or more master data types you want to activate.
2. (Optional) Choose Check.
By default, the system checks the consistency of the master data types you selected together with their
dependent master data types. To check only the master data types you selected, choose Check Without
Dependencies.
A log with the check results is available. The link in the Last Action Status column takes you to the check log
in the Application Logs app.
If there are errors in the check log, correct them before you activate the master data types.
Note
There are checks that run only during activation. Thus, activation of a master data type might fail even
if the previous checks were successful.
By default, the system activates the master data types you selected together with their dependent master
data types. To activate only the master data types you selected, choose Activate Without Dependencies.
An application job is scheduled. If the job has finished, and activation was successful, the master data
types are active. To monitor the job and to check the job details, launch the Application Jobs app.
The activation log is available. The link in the Last Action Status column takes you to the activation log in
the Application Logs app.
When you activate a master data type, the attributes the master data type uses are activated as well.
You can't activate an attribute separately.
Next Steps
If you selected numerous master data types for activation, and activation takes longer, you don't have to wait
until activation is complete. You can leave the Master Data Types app. To check the activation status and steps,
go to the Application Logs app to display the activation log.
Related Information
Activate your planning areas to be able to upload data into them, and to perform your planning tasks.
Note
We recommend to activate your planning areas every 90 days or with every new release. This is needed
to enable further features and to improve performance. To find out when your planning areas were last
activated, go to the Planning Areas app, and search for the planning areas you are interested in. Highlighting
and icons warn you of planning areas that have not been activated in the past 90/180 days and you can find
the date of the last activation in the Activated On column.
You can activate your planning areas in the Planning Areas app only; the Configuration app is no longer
available.
When you activate your planning area, you can decide to activate full scope or limited scope (for certain
releases only); with dependencies and without dependencies, as described below.
Use this option if you want to activate your planning area with the dependent time profile and master data
types.
Use this option if you you have already activated the dependent time profile and master data types as well, so
you only have to activate your planning area.
Use this option if you want to run all the activation checks and do not want to suppress any errors when you
activate your planning areas.
To make sure that your planning area is complete and does not contain erroneous configuration, SAP
recommends that you activate your planning area with full scope.
For certain releases, you have the possibility to suppress certain activation errors (suppressible errors) and
activate your planning area with limited scope.
If you activate with limited scope, you can decide to skip certain error types for a given activation of a
planning area. By doing so, you can activate your planning area successfully, but it might result in erroneous
configuration and incomplete functionality. Please note that this is a temporary solution; you need to correct
your model configuration - as described in the long text of the error – as soon as possible. After the lifespan of
a suppressible error is over, the error cannot be suppressed anymore and the activation of the planning area
will fail.
You can find a complete list of error typess that you can suppress in Suppressible Errors [page 339].
1. In the Planning Areas app, select the planning area you want to activate.
2. Expand the Activate button, and choose Limited Scope, with Dependencies or Limited Scope, No
Dependencies depending on your preferences.
3. In the Suppressible Errors dialog box, select the error categories you want to suppress.
Click on the error types you want to suppress to find additional information about how to correct the
incomplete or erroneous configuration. Make sure you fix the issue before the Correct Before Release date.
After that, you cannot suppress the error anymore, and the activation of the planning area will fail if the
cause of this error still persists.
4. Choose Activate with Limited Scope.
Suppressing an error is applied for the given activation only. If you don't correct the configuration, the next
activation will fail.
SAP recommends that you arrange a business downtime when you want to perform model activation.
Particularly, the following tasks, application jobs and processes mustn't run while activation is running,
otherwise activation may run significantly longer, or it may fail:
• Data integration (using the Data Integration Jobs app, SAP Cloud Integration for data services, or SAP
HANA Smart Data Integration)
Data integration for time periods and master data types mustn't run while an activation is running.
Data integration for snapshots and key figure values mustn't run for the planning area you're going to
active.
• Creation and change of planning views, editing data, and simulations in the IBP Excel add-in
No users should be logged on in the IBP Excel add-in while activation is running.
• Application jobs for planning operators
Make sure that no planning operators are running in the planning area you're going to activate.
• Application jobs for creating time periods for time profiles
If you're going to active the planning area with its related time profile, make sure that no time period
creation jobs are running for that time profile.
• Application jobs for data lifecycle management
Make sure that no data purging jobs are running that could conflict with the master data types or with
the key figures in the planning area you're going to activate.
Prerequisites
Make sure you have the necessary authorizations for this activity, that is, the business catalogs required for
this activity are assigned to a business role that is assigned to your business user. For more information see the
SAP Help Portal at http://help.sap.com/ibp, under Application Help for SAP Integrated Business Planning
Identity and Access Management Basic Concepts Business Catalogs .
You have activated the time profile and the master data types that are assigned to the planning area, or you
activate the planning area together with its related time profile and related master data types.
Context
You must activate the planning area first to be able to upload data into it, and to perform planning tasks. If you
make any changes to your planning area after activation, activate it again to be able to work with the changed
palnning area.
You can decide to check the planning area with or without dependencies. If you choose Check or Check
With Dependencies, connection to the latest inactive instance of the master data and time profiles are
checked, in addition to the planning area. If you choose Check Without Dependencies, connection to the
latest active instance of the master data and time profiles are checked, in addition to the planning area. We
recommend that you run the check and fix any errors before activating the planning area.
Note
Check
If you choose Check Without Dependencies and the check detects a model entity that does not have an
active instance, it issues an error message, and stops performing the remaining checks for the given
model entity.
You can view the detailed progress of your check by clicking the Last Action Status link.
Clicking the link opens a dialog, where your can view the details of the action and check its progress while
it is running. The status and progress of a running action is automatically updated in the dialog every 5
seconds, but you can also update it manually using the Refresh button, which becomes active 5 seconds
after each refresh.
From the dialog you can navigate to the Application Logs app and view all logs or display the log details for
the current item.
In the Application Logs app, for certain messages, which originate from complex situations, you'll find
additional information in the long text attached to the message, which you can call up by clicking the
Note
There are checks that run only during activation. Thus, activation of a planning area might fail even if
the previous checks were successful.
3. After a successful check, choose Activate, and select the type of activation you want to run from the
dropdown list. You can choose from the following types of activation:
• Full Scope, with Dependencies
• Full Scope, No Dependencies
• Limted Scope, with Dependencies
• Limited Scope, No Dependencies
You can view the detailed progress of your activation by clicking the Last Action Status link.
Clicking the link opens a dialog, where your can view the details of the action and check its progress while
it is running. The status and progress of a running action is automatically updated in the dialog every 5
seconds, but you can also update it manually using the Refresh button, which becomes active 5 seconds
after each refresh.
From the dialog you can navigate to the Application Logs app and view all logs or display the log details for
the current item.
In the Application Logs app, for certain messages, which originate from complex situations, you'll find
additional information in the long text attached to the message, which you can call up by clicking the
Results
If you activate a planning area, all attributes assigned to the planning area, the key figures, planning levels and
versions will be activated, as well as the time profile that is assigned to the planning area, and the master data
types used in the planning area (and with them, the attributes they include).
If you have selected the Activate Without Dependencies option, only the attributes assigned to the planning
area, the key figures, planning levels and versions will be activated.
Next Steps
Activating a planning area doesn't activate the data sharing plans. Activate data sharing plans, if needed, in the
Manage Data Sharing Plans app.
Related Information
An enhanced version of the planning area activation has been enabled for all customers as of 1911.
This change is also depicted in the activation log. Open the log of an activation that took place after the
upgrade to IBP 1911. Message Activation of &1 selected objects started (enhanced activation). (&1 stands for the
number of objects) indicates that the system uses the enhanced version of planning area activation.
Example
Let's take the SKF@BASEPLLEVEL stored key figure, and the CKF@PL1 calculated key figure.
To identify the affected calculation definitions, in the activation log, or in the log of the consistency check of
the planning area, look for warning messages of this type: Calculation &1@&2: Calculation for KF &3 exists, but
stored value is used., where &1 stands for the ID of the key figure, &2 stands for the ID of the planning level, and
&3 stands for the ID of the input key figure.
Case by case, review the listed calculation definitions, and make corrections if needed.
In the previous version of activation, sometimes (typically in calculations at base planning level) the calculated
value of the input key figure was used, even if a stored value existed, and was specified as input for the
calculation. With the enhanced version of activation, the system consistently uses the stored value if that was
specified as input for the calculation. From the different behaviors of the activation versions, differences may
occur in the output key figure values of the affected calculations.
If there is a difference, and you want to go on with the values that were calculated previously using the
calculated value of the input key figure, change the inputs of the calculation by not selecting the input as
stored.
The application-specific checks run as part of the activation process to prevent invalid configuration regarding
certain application areas. You can suppress the application-specific errors and activate your planning area with
limited scope in the Planning Areas app but your planning area will be blocked for the particular application.
During activation, the system performs application-specific validation checks, for example for OBP, in addition
to the activation checks aimed at enforcing modeling rules. The application-specific validation checks help to
• You can suppress the errors found by the application-specific checks in the Planning Areas app, and
perform the activation with limited scope. In this case, your planning area will be blocked for the specific
application area after the activation.
• You can correct the errors found by the application-specific checks and then run the activation.
To suppress the errors found by the application-specific checks and activate your planning area with limited
scope in the Planning Areas app, proceed as follows:
1. Select the planning area, Activate, and select the Limited Scope, with Dependencies or the Limited Scope,
No Dependencies menu option.
2. On the Application-Specific Checks tab of the Activate with Limited Scope dialog, select the errors that you
want to suppress.
3. Choose Activate with Limited Scope.
Suppressing the application-specific errors ensures that these errors don’t stop the activation process.
However, it also means that your planning area will be blocked for the specific application area after the
activation.
You can view the errors that were suppressed during activation in the activation log.
For certain releases, you can suppress the activation errors and activate your planning area with limited scope.
After this grace period is over, and the suppressible errors have turned into errors, you can no longer activate
your planning areas if these errors occur. Correct the invalid configurations as soon as possible to be able to
activate your planning areas.
For more information about each suppressible error, see Suppressible Errors [page 339]
For more information about how to suppress these errors and activate with limited scope, see Activating
Planning Areas [page 306].
SAP Integrated Business Planning allows you to delete active time profiles, master data types, planning levels,
key figures, snapshot definitions, and planning areas. You can also delete active time profiles, provided the time
profile is not associated with any planning areas.
With active deletion, you change the status of objects to Pending Deletion. The objects are then deleted the
next time they are activated.
1. Delete key figures from the version, and activate the planning area.
2. Delete all key figures from any and all calculations, and delete all key figures that are assigned to any
planning levels containing the attributes you want to delete. Activate the planning area.
3. Delete all planning levels that contain the attributes that you want to delete, and activate the planning area.
4. Delete all attributes of the master data type from the planning area, and activate the planning area.
5. Delete the master data type, and then activate the master data type.
6. Delete the relevant time profiles, and then activate the time profiles.
Note
Virtual and compound master data types: If you select the component or referenced master data types for
deletion, the join conditions and all the attributes associated with those master data types are also marked
Pending Deletion. You can independently mark for deletion the assigned attributes and join conditions
associated with the master data types.
Steps for Planning Levels, Key Figures, Snapshot Definitions, and Planning
Areas
1. In the Planning Areas app, select the specific object that you want to delete.
2. Click the Delete button.
The Delete dialog appears.
Note
In the case of a planning area deletion, clicking Delete or choosing Delete with Dependencies in the
dropdown deletes the planning area together with its time profile and dependent master data types. To
delete the planning area only, choose Delete Without Dependencies.
Result
Once activation is complete, the object you deleted no longer appears in the list of objects.
1. In the Time Profiles or in the Master Data Types app, select the specific object that you want to delete.
2. Choose Delete.
The Delete dialog appears.
3. Confirm that you want to delete the object.
The status of the object changes to Pending Deletion.
Result
Once activation is complete, the object you deleted no longer appears in the list of objects.
If you receive any of the error messages listed below during active deletion of objects, refer to the Solution
column for information about how to proceed.
The selected items are still assigned to one or more planning Before deleting the active master data types, delete them
areas. Unassign the items first and then delete them. from the planning areas with Active Deletion.
Deleting Master Data Types (and Attributes) from an Active Planning Area
The planning area attribute is used in the configuration of Before removing the master data types (and associated at
planning levels. The deletion may affect calculations. Do you tributes) from the planning area, remove the attributes from
want to continue? each active planning level to which they are assigned.
This planning level attribute is used in the configuration of key Before deleting the attribute (or planning level), remove all
figures or attribute transformation. The deletion may affect key figures from the planning level.
calculations. Do you want to continue?
This planning level attribute is used in the configuration of key Check whether this action makes sense.
figures or attribute transformation. The deletion may affect
calculations. You need to re-import the data for the affected
key figures. Do you want to continue?
I: Activation Running You have activated objects in the incorrect sequence. Pro
ceed as follows (in the sequence given):
There are several modeling rules and requirements your planning objects have to fulfill. They ensure that your
planning model is complete and does not contain erroneous configuration.
These requirements are supported by validation and activation checks, listed in the sections below. We
recommend that before activation you run the checks on the model entities you want to activate. If the check
log contains errors, correct them before you activate the model entities.
This section lists the most common checks and errors related to time profiles.
When you start the consistency check or the activation of a time profile, the system performs the following
checks:
Study the check log and the activation log in the Application Logs app to learn what made the check or the
activation fail.
The logs related to activation and to consistency checks belong to the IBP Foundation area, to the Activation
and to the Check subareas.
The messages you find in the log provide you with information about the errors.
For certain messages, which originate from complex situations, you'll find additional information in the long
text of the message and in the following table.
Cannot add &1 as required attribute to a not empty table You assigned a new required attribute to a time profile level,
(&2). while time periods already exist for the time profile.
Inconsistent period types (TP level &1 must not be before In the definition of the time profile, a time profile level with a
level &2) period type of a lower granularity must come before a time
profile level that has a higher-level period type. For example,
the time profile level for months must come before the one
for quarters.
Attribute &1 is already used in PA &2. It cannot be removed The attribute you wanted to remove from the time profile is
from TP. in use in a planning area. Remove the attribute from the all
planning levels that use it, then you can remove it from the
time profile.
Attribute &1 is already used in PA &2. It cannot be added to The attribute you wanted to assign to a time profile level is in
TP. use in a planning area, via the assignment to a master data
type.
Uploading time periods needed as number of TP levels in TP This is an information message. You get this message if you
&1 changed. change the time profile for which you have already created
the time periods.
Time attr &1 can’t be aggregated from time attr &2 on plan On the planning level you can’t add a non-root time profile
ning level &3. level that can’t be aggregated from the root time profile level.
Either correct the root time profile level or choose such non-
root time profile levels that can be aggregated from the root
time profile level.
This section lists the most common checks and errors related to master data types.
When you start the activation of a master data type, the system performs the following checks:
Note
A valid integer value can’t contain special symbols such as a decimal separator (point (.),
comma (,), or space ( )), apostrophe ('), fraction slash (/), currency sign (€,£,$), and so on.
Note
The use of the Does Not Equal operator doesn't mean that the NULL values are filtered too. If
you don't want to include NULL values, use the Is Not Empty operator too.
• Filter operators defined for different attributes are combined by the AND logical operator.
Example
Imagine that in your active model you have defined the following filter for the LOCTYPE
attribute: LOCTYPE Equals WAREHOUSE. Then you want to change the filter value to DC, for
example. This means that you will need to delete all master data from the referenced master
data type where LOCTYPE is WAREHOUSE or DC to change the filter.
Study the check log and the activation log in the Application Logs app to learn what made the check or the
activation fail.
The logs related to activation and to consistency checks belong to the IBP Foundation area, to the Activation
and to the Check subareas.
The messages you find in the log provide you with information about the errors.
For certain messages, which originate from complex situations, you'll find additional information in the long
text of the message and in the table below.
Cannot lock master data type &1. Another activation may be running.
Cannot add attribute &1 as key attribute. Data already exists for the master data type. The attribute
contains empty values, so it cannot be a key attribute.
Attribute set &1 cannot be the key for master data type &2. Data already exists for the master data type. The attribute
set you selected as the key contains not only unique values.
Cannot add attribute &1 and set it to required in one step. Add the attribute to the master data type as an optional
attribute, and activate the master data type. In the next step,
change the master data type by setting the attribute to re
quired. Activate the master data type again.
Cannot set attribute &1 to required. Empty value exists for Data already exists for the master data type. The attribute
the attribute contains empty values, so it cannot be set to required.
Related Information
This section lists the most common checks and errors related to planning areas.
When you start the consistency check or the activation of a planning area, the system performs the following
checks on the planning area and on the model entities that are activated together with a planning area
(planning levels, key figures, and versions):
Note
A planning area is enabled for time-series-based supply planning if in the Planning Areas app the Enable
Supply Planning option is switched on.
• At least one key figure must be specified as input or output for supply planning.
• All output key figures and input/output key figures of supply planning must be stored key figures.
• A key figure cannot be specified as input or output for supply planning, and as aggregated constraint at the
same time.
• The calculation of a key figure that is specified as an input or output for supply planning must end in a
stored key figure at the same planning level.
• All key figures that are included in the calculation of a key figure that is relevant for supply planning (the
Input/Output for Supply Planning field is not empty) are specified as input for supply planning.
• If versions exist, all output key figures and input/output key figures of supply planning must exist as
version-specific key figures.
• The COMPONENT, PRODUCTTO, SPRODUCT, LOCATIONFR, LOCATIONTO master data types must be
reference master data types.
• Checks for aggregated constraint key figures:
• The base planning level of an aggregated constraint key figure must contain attributes of type
NVARCHAR only.
• The base planning level of an aggregated constraint key figure can include attributes only from the
base planning level of the key figure to which the aggregated constraint key figure corresponds.
However, at least one of the root attributes from the corresponding key figure must be excluded. For
example, if the corresponding key figure has three root attributes, you can include two of them and set
them as root attributes in the base planning level of the aggregated constraint key figure.
• The time root of aggregated constraint key figures must match the time granularity at which the
time-series-based supply planning optimizer is run.
For example, if all supply-relevant key figures are stored at the level of technical weeks, but supply
planning is run for calendar weeks, then the aggregated constraint key figures must have calendar
week as their time root. All other time attributes at a higher level of time granularity (for example,
month, quarter, and year) can be assigned, but not as root attributes.
• Except for the higher-level time attributes, all other master data attributes must be marked as root
attributes.
• All attributes except the time attribute must have the data type NVARCHAR.
• The base planning level of the aggregated constraint key figure must contain one more root attribute
that is a non-root attribute in the base planning level of the corresponding key figure.
For more information about aggregated constraint key figures and their corresponding key figures, see
Configuring Planning Levels for Aggregated Constraint Key Figures.
• The planning area must contain the PRDID attribute. For more information about naming conventions, see
Master Data
• To ensure the consistency of master data relevant for time-series-based supply planning, the following
attribute checks must be set up:
Master Data Type Assigned Attribute Check Master Data Type Check Attribute
CUSTID CUSTID
LOCFR LOCFR
LOCID LOCID
• The attributes listed in the table must be assigned to the planning are with the IDs specified here.
• If you assign the MOTID attribute to the planning area, it must be selected from the MODEOFTRANSPORT
master data type, where it must be a key attribute.
• The SOURCELOCATION and SOURCECUSTOMER master data types can include the MOTID attribute only if
they are compound master data types, and one of their components is the MODEOFTRANSPORT simple
master data type.
• The PLUNITID attribute can be no more than 40 characters long.
• A planning area that is not enabled for external time series cannot use version-specific external master
data types.
Additional Checks for a Planning Area Enabled for External Time Series
Note
A planning area is enabled for external time series if in the Planning Areas app the Enable External Time
Series option is switched on.
Note
A planning area is enabled for change-history-based calculations if in the Planning Areas app the Enable
Change-History-Based Key Figure Calculations option is selected.
Note
SAP recommends that you perform a consistency check on the planning area before you activate it. To do
so, choose Check in the Planning Areas app.
The logs related to activation and to consistency checks belong to the IBP Foundation area, to the Activation
and to the Check subareas.
The messages you find in the log provide you with information about the errors.
For certain messages, which originate from complex situations, you'll find additional information in the long
text of the message, which you can call up by clicking the (Details View) icon in the Long Text column.
For information about specific activation errors, see the Knowledge Base Article (KBA) 2556544 .
Related Information
This section lists the most common checks and errors related to the definition and relationships of planning
levels.
This section lists the most common checks and errors related to key figures.
Note
If the base planning level of the attribute used as a key figure contains a time attribute, the attribute as
key figure is time dependent.
• An attribute used as a time-independent key figure does not need any of the time reference attribute or the
periods specified.
• For an attribute as a key figure, To Period must not be sooner than the From Period.
• You can set a key figure as an Input for TS Forecast Consumption in the following cases:
• The key figure is a stored key figure.
• The key figure is a calculated key figure and all the calculations in its calculation graph are on the same
planning level.
• The key figure is both stored and calculated and all the calculations in its calculation graph are on the
same planning level.
• A calculation expression must have correct syntax: Brackets and quotation marks must go in pairs.
• A key figure - except for helper key figures - must have a calculation defined at REQUEST level.
• In a calculation, use only functions that are supported in SAP IBP. For more information, see Commonly
Used Functions and Expressions [page 162] and Simplified Key Figure Calculations [page 179].
• A calculation at REQUEST level either must be an aggregation, or must have inputs from REQUEST level
only.
• The calculation graph for every key figure must result in a stored key figure.
• There should not be a calculation that is not used in any calculation graph.
• The calculation graph must not contain circular references.
• A key figure referenced in a calculation must be specified as an input key figure for the calculation.
• An aggregation calculation must have exactly one input key figure, except for MIN and MAX. The MIN and
MAX functions can have several input key figures.
• In an aggregation calculation, the attributes of the output planning level must be the same as or a subset of
the attributes of the input planning levels.
• If the output planning level doesn't contain all root attributes of the input planning level, the calculation
expression must start with one of the aggregation functions (SUM, MIN, MAX, AVG, COUNT, or STDDEV).
• These aggregation functions can contain a different key figure than the one being calculated. The input key
figure and the output key figure of the these functions do not need to be the same.
• You can't embed an aggregation in another expression.
• In a non-aggregation calculation the output planning level must contain all attributes from the input
planning levels.
• A calculation can include two planning levels in its inputs at most.
• If calculation exists for a key figure at a given planning level, the key figure should be a calculated input in
calculations, not a stored input.
• A key figure must be specified as stored input at a planning level that is compatible with its base planning
level. That is, the planning levels have the same set of root attributes and non-root attributes.
• Only a planning level that has one or more root attributes can be used as the base planning level of a stored
key figure.
• Data upload is possible only at a planning level that has one or more root attributes. Strings in
disaggregation expressions must have two single quotation marks.
• SUM()Aggregation Mode of the key figure is set to calculation can be used for a key figure only if the Sum or
Custom.
• Only stored key figures can be marked as stored input in a key figure calculation.
• The parameter of the EXP function has to be an expression (with a numeric output), a key figure, an integer
type attribute, or a numeric constant.
• The parameter of the SQRT function has to be an expression (with a numeric output), a key figure, an
integer type attribute, or a numeric constant.
• If the parameter of the SQRT function is defined with a numeric constant, it has to be zero or positive.
• The parameter of the LOG function has to be an expression (with a numeric output), a key figure, an integer
type attribute, or a numeric constant.
• If the parameter of the LOG function is defined with a numeric constant, it has to be positive.
• The parameters of the power (**) function have to be expressions (with numeric outputs), key figures,
integer type attributes, or numeric constants.
• If the parameters of the power (**) function are defined with numeric constants and the value of the first
parameter is zero, the second parameter must be zero or positive.
• The sort attribute of an L script must be available from the input planning level of the L script.
• The sort sequence of attributes in an L script must be valid.
• All root attributes and key figures of the input planning level must be specified as inputs in the L script.
• All root attributes and key figures of the input planning level must be specified as outputs in the L script.
• L script cannot be used in the calculation graph - at base planning level and below - of a key figure that is
used either as the input or output of a forecast operator.
• A dynamic rolling aggregation must have one, two, or three input key figures, which must be used in the
calculation expression as well. The first one is the input key figure to be aggregated, the second one (if
used) defines the start of aggregation, and the third one (if used) defines the duration of the aggregation.
• The attributes of the output planning level must be the union of the attributes of the input planning levels.
• Maximum two input planning levels are allowed.
• Dynamic rolling aggregations must be time dependent. That is, both the input planning levels and the
output planning level of the calculation must have one of the PERIODID(n) attributes set as the time root
attribute. The time root attribute mustn't be the PERIODID attribute.
The same PERIODID(n) attribute must be the time root attribute in both planning levels.
• The output planning level must have master data type roots.
• The IBP_DYNAMIC_RAGGR function must have values specified for the 5 mandatory parameters, and can
have a value specified for one optional parameter.
• The first parameter must be the input key figure to be aggregated at the input planning level.
• The value that is specified for the sixth parameter (time profile level at which the dynamic rolling
aggregation restarts) must exist in the time profile assigned to the planning area.
• Only a time profile level that is assigned to the planning level of the dynamic rolling aggregation as
a time attribute (but not as a root attribute) can be specified as the value of the sixth parameter of
IBP_DYNAMIC_RAGGR (time profile level at which the dynamic rolling aggregation restarts).
• The IBP_DYNAMIC_RAGGR function cannot be used at REQUEST level.
• When a calculation graph includes a dynamic rolling aggregation, the topmost key figure in the calculation
graph mustn't be editable.
• The IBP_DYNAMIC_RAGGR function cannot be nested in other calculations.
• The first parameter must be the input key figure at the input planning level.
• A period shift calculation must have exactly one input if you shift by an exact number or an attribute.
• A period shift calculation must have exactly two inputs if you shift the input key figure by another key
figure.
• The input planning level and the output planning level of a period shift must be compatible with each other.
That is, they must contain the same set of attributes, including the same set of root attributes.
• Period shift must be time dependent. That is, both the input planning level and the output planning level of
the calculation must have one of the PERIODID(n) attributes set as the time root attribute. The time root
attribute mustn't be the PERIODID attribute.
The same PERIODID(n) attribute must be the time root attribute in both planning levels.
• The IBP_PERIODSHIFT function cannot be used at REQUEST level.
• When a calculation graph includes a period shift, the topmost key figure in the calculation graph mustn't be
editable.
• The IBP_PERIODSHIFT function cannot be nested in other calculations.
• Define the third parameter or create an aggregation calculation on top of the IBP_PERIODSHIFT function,
if you shift the input key figure by a time profile attribute or key figure.
• The IBP_PERIODSHIFT function must have values specified for the 2 mandatory parameters.
For more information, about the possible values of the parameters, seePeriod Shift [page 205].
• The IBP_PERIODSHIFT function cannot be used in the calculation graph - at base planning level and below
- of a key figure that is used either as the input or output of a supply or forecast operator.
• The coverage calculation has 6 mandatory parameters and two optional parameters.
• The IBP_COVERAGE function must have 1, 2, or 3 input key figures.
• The first parameter must be an input key figure or a positive number.
• The second parameter must be an input key figure.
• The third parameter must be an input key figure or a positive number.
• The input planning levels must be the same.
• The input planning levels and the output planning level of a coverage calculation must have an identical
structure. That is, they must contain the same set of attributes, including the same set of root attributes.
• If not calculated at REQUEST level, coverage calculations must be time-dependent. That is, both the
input planning level and the output planning level of the calculation must have one of the PERIODID(n)
attributes set as the time root attribute. The time root attribute mustn't be the PERIODID attribute.
The same PERIODID(n) attribute must be the time root attribute in both planning levels, except in
REQUEST level calculations.
• Unless coverage is calculated at REQUEST level, the output planning level must have master data type
roots.
• REQUEST level calculations must have REQUEST level input calculations.
• The generate missing time periods function must have exactly 3 parameters.
• The first parameter must be the input key figure at the input planning level.
• The third parameter must be larger than or equal to the second parameter.
• The calculation horizon defined by the second and third parameter must fall within the planning horizon.
• The input planning level and the output planning level of a generate missing time periods function must be
compatible with each other. That is, they must contain the same set of attributes, including the same set of
root attributes.
• The generate missing time periods function must be time dependent. That is, both the input planning level
and the output planning level of the calculation must have one of the PERIODID(n) attributes set as the
time root attribute. The time root attribute mustn't be the PERIODID attribute.
The same PERIODID(n) attribute must be the time root attribute in both planning levels.
• The output planning level must have master data type roots.
• The IBP_GENERATE_MISSING_TP function cannot be nested in other calculations.
• The IBP_GENERATE_MISSING_TP function cannot be used at REQUEST level.
• When a calculation graph includes a generate missing time periods function, the topmost key figure in the
calculation graph mustn't be editable.
• The current value calculation must have exactly one parameter, which is the input key figure at the input
planning level.
• The input planning level and the output planning level of a IBP_CURRENT_VALUE function must have the
same set of non-time attributes (root and non-root).
• The output planning level cannot have time attributes.
• The input planning level must have a root time attribute other than PERIODID.
• The Proportionality field of the output key figure cannot have the Same Key Figure - Calculated Values
value.
• The IBP_WBAGGR function has four mandatory parameters, and they have a fixed order.
• The 1st parameter is the input key figure at the input planning level.
• The 2nd parameter is the aggregation type. Possible values are MIN, MAX, SUM, AVG, STDDEV, and COUNT.
• The 3rd parameter is the IBP_GROUP_BY embedded function.
You can define multiple parameters in the IBP_GROUP_BY function, but you can only define attributes as
parameters.
You can define only one PERIODID* as a parameter.
The order of the attributes doesn’t affect the calculation results.
• The 4th parameter is the IBP_SORT_BY embedded function.
• The key figures used in the disaggregation expression must be stored and must have the same base
planning level as their main key figure.
• The attributes (master data and time attributes) used in the disaggregation expression must be assigned
to the base planning level of the key figure.
• The key figures and attributes (master data and time attributes) used in the disaggregation expression
must be specified with double quotes.
• Single quotation marks are used for character like values (strings) in disaggregation expressions.
• Placeholders such as $$PERIODID0CU$$ must be entered without double quotation marks.
Caution
If you encounter any of the following errors, please make sure that you resolve them, as the planning area
can't be activated as long as they exist:
• Only some combinations of aggregation and disaggregation modes make sense from a business
perspective. If you use other combinations and you change data in the SAP Integrated Business Planning,
add-in for Microsoft Excel on an aggregated level, the results after disaggregation and aggregation will not
be identical.
The following figure shows combinations that make sense, as well as ones that should not be used.
If you have configured an invalid combination of aggregation and disaggregation modes in the
Configuration app, it will be automatically corrected if you call up and edit the key figure in the Planning
Areas app, as you can only create valid combinations in the Planning Areas app.
Proportional disaggregation is available for both Equal and Copy disaggregation modes. For more
information about the possible values of the Proportionality field, see Configuration of Proportional
Disaggregation [page 150].
• To ensure good system performance, the system checks whether the use of aggregation mode Custom is
advisable (only relevant for stored key figures). We recommend to only use aggregation mode Custom in
the following situations:
• A key figure has a complex calculation at request level, for example, Unit Price, which has inputs at
request level.
• The planning level used in the request level calculation is different from both the base planning level of
the key figure and from the planning level that is used in unit of measure or currency conversions.
Caution
If you encounter any of the following errors, please make sure that you resolve them, as the planning area
can't be activated as long as they exist:
• The key figures enabled for fixing are not time independent. (A key figure is time independent if its base
planning level contains no time attributes as root attribute or if it has PERIODID as the only root time
attribute.)
• Each fixing-enabled key figure has two generated key figures with an active or inactive (but not pending
deletion) mapping between the fixing-enabled key figure and the generated key figures.
• Generated key figures of a fixing-enabled key figure are assigned to the same versions that the fixing-
enabled key figure itself is assigned to.
If any of the above checks fail, the planning area cannot be activated. Change the configuration so that
planning notes are enabled for not more than 40 key figures, and each of them is a stored key figure, and a
suitable planning level is assigned as the planning level for planning notes.
For certain releases, you have the possibility to suppress the activation errors below and activate your planning
area with limited scope. After this grace period is over, and the suppressible errors have turned into errors, you
can no longer activate your planning areas if these errors occur. Correct the invalid configurations as soon as
possible to be able to activate your planning areas.
For more information about how to suppress these errors and activate with limited scope, see Activating
Planning Areas [page 306].
In key figure calculations, a function is used that has incorrect number of parameters.
Check the followings, correct the affected calculations, and activate with full scope:
• Check the number of parameters and make sure that there is not more and not less than required.
• Make sure that the opening and closing brackets are used properly.
For more information, see Commonly Used Functions and Expressions [page 162].
*S* Calculation &2@&3: Attribute &1 is not available from any input.
The output planning level of the affected calculation includes an attribute which is not a calculated attribute,
and cannot be sourced from any of the input planning levels either.
In non-aggregation calculations each attribute of the input planning levels must have a parallel pair attribute on
the output planning level.
An input attribute may be assigned as a value to another attribute during attribute transformation, for example
PRDFR = PRDID. In this case, the new attribute, in our example the PRDFR, will replace the old attribute and so
must appear on the output planning level, even though it was not part of the input planning levels originally. At
the same time, the PRDID can be omitted from the output.
In the affected calculation some of the parallel input and output attribute pairs were lost.
Check the attributes on the input and output planning levels and make sure that all the attributes on the input
planning levels have a parallel attribute pair on the output planning level. Take special care of attributes that
were transformed during attribute transformation.
The affected calculation uses an aggregation function. An aggregation function (SUM, AVG, MIN, MAX, COUNT, or
STDDEV) cannot contain complex expressions; it must contain exactly one input key figure.
Correct the affected calculation so that it contains only one input key figure.
This option enables you to reinstate the active instance of your model entities after changing them and to
revert the deletion of an entity that was active before the deletion and now has a pending deletion status.
Use
You can use the restore active instance option in the following cases:
• When you have a model entity that has been activated and has changed since, that is, it has both an active
and an inactive instance. In such a case, if you select the restore active instance option, it deletes the
inactive instance of your model entity and reinstates the active one.
• When you want to cancel the deletion of a model entity in pending deletion status. If you delete an active
entity, its status first changes to pending deletion. For more information, see Deleting Active Objects
(Active Deletion) [page 312]. At this stage you can still revert the deletion by using the Restore Active
Instance option.
The restore active instance option is available for planning areas, master data types, time profiles, and the
following planning area sub-objects:
• Planning levels
• Key figures
• Versions
• Snapshot definitions
You can use the Restore Active Instance option to revert changes made to a planning area that has already been
activated or to cancel the deletion of an active planning area.
Use
If you use the option on a planning area that has been changed, it restores the following settings and sub-
objects of the active instance:
If you have changed an entity that is dependent on the planning area, and then you restore the active
instance of the planning area, the active instance of the dependent entity is restored as well, with the following
exceptions:
• Planning operators
• Planning profiles
The assignment of a planning operator or a planning profile to the planning area, or the deletion of such an
assignment doesn’t inactivate the planning area. If these entities of the active planning area have changed and
then you restore the active instance of the planning area, you need to check if these entities and profiles are still
consistent in the planning area. For more information about the types of inconsistencies that may occur, see
the Restore Active Instance After Copy [page 344] section.
There are also settings that you can change without inactivating the planning area. Restoring the active
instance of the planning area doesn’t revert the change. In these cases, you need to undo your changes
manually.
The following changes don’t inactivate the planning area or the assignment status of the assigned entity:
Besides planning areas, the Restore Active Instance option is also available for master data types, time profiles,
key figures, planning levels, versions, and snapshot definitions.
For most model entities, there are settings that you can change without inactivating the entity affected. These
changes can’t be reverted with the Restore Active Instance option even if you have made another change since
the change, and that other change has inactivated the entity. You can only revert such changes manually.
For key figures, changes to the following changes can only be reverted manually:
You can also change the following settings without inactivating the objects affected, so those changes also
need to be reverted manually:
Note
Please note, however, that you can only delete planning levels that are not used as the output planning level
in any key figure calculation.
When you delete a planning level, all the key figures and attributes as key figures that use the planning level as
their base planning level are also deleted. In the case of an active planning area, the planning level as well as the
key figures and attributes as key figures affected are first changed to pending deletion.
If you use the Restore Active Instance function after the deletion of an active planning level, all the objects that
use the planning level as their base planning level are restored as well.
When you delete a key figure, all references to the key figure are removed from other key figures, with
the exception of references in calculation definitions. Related technical key figures, attribute as key figure
Example
The (active) key figure UOMCONVERSIONFACTOR is used in the Convert Using field of the ABCXYZCOUNTER
and ACTUALSQTY key figures. When you delete the UOMCONVERSIONFACTOR key figure, its status changes to
pending deletion. It is removed from the Convert Using field of the two other key figures, which also become
inactive.
If you use Restore Active Instance after the deletion of a key figure, all of the references and related objects are
restored, with the following exceptions:
These fields remain empty after the key figure is restored and have to be filled again manually. The key figures
that used to contain the references remain inactive.
Example
If you restore the active instance of the ACTUALSQTY key figure, which is used as an input key figure for the
calculation of the ADJUSTEDACTUALSQTY key figure, the active instance of the ADJUSTEDACTUALSQTY key
figure, with the ACTUALSQTY input key figure in its calculation definition, will be reinstated as well.
However, if you restore the active instance of the UOMCONVERSIONFACTOR key figure, which is conversion
factor key figure for the ABCXYZCOUNTER and ACTUALSQTY key figures, only the UOMCONVERSIONFACTOR
key figure will regain its active status. The Convert Using fields of the ABCXYZCOUNTER and ACTUALSQTY key
figures remain empty and these two key figures also retain their inactive status.
You can use the restore active instance option to reinstate certain items in the planning area after using the
replace copy options.
If you use the restore active instance option on a planning area after you have used the planning area as a copy
target for the replace existing or the replace existing including dependencies options, certain entities in the
planning area are no longer consistent. This is because certain entities in the planning area don’t have a status.
The Restore Active Instance After Replace Existing or Replace Existing Including Dependencies table describes
what happens with these elements if you restore the active instance of the planning area after copy.
Snapshot operator is availa No snapshot operator is Snapshot operator is availa Snapshot operator is still
ble. available. ble. there, but its inactive key fig-
ures are deleted. As a result,
the snapshot operator won’t
work after activation.
No snapshot operator is Snapshot operator is availa Snapshot operator is deleted Snapshot operator is no lon
available. ble. but still visible on the Manage ger available, but its key fig-
Planning Operators screen. ures are still in the database.
IO or COPY or KPI_PROFILE None of these operators is IO or COPY or KPI_PROFILE The operators remain as
operator is available. available. operator is available. signed to the planning area.
None of these operators is IO or COPY or KPI_PROFILE None of these operators is None of these operators is
available. operator is available. assigned to the planning assigned to the planning
area. area.
Planning profile is available. No planning profile is availa Planning profile is available. Planning profiles are not de
ble. leted from the database.
No planning profile is availa Planning profile is available. No planning profile is availa The planning profile is de
ble. ble. leted.
To avoid such inconsistencies, always make sure that the configuration of these entities and profiles in the
source planning area is correct and you don’t need to reinstate the active instance of the target planning area. If
you have used the restore active instance option and ended up with inconsistencies that you can’t undo, please
contact SAP.
There are some settings in the planning area that don’t inactivate the planning area when you change their
active instance. Check these settings manually and make sure that they still meet your business requirements.
For a list of these settings, see the Restore Active Instance [page 341] section.
In SAP Integrated Business Planning for Supply Chain (SAP IBP), historical states of various model entities are
available for analysis and comparison.
The configuration state of model entities is automatically saved after each upgrade and states of planning
areas are also saved before copy and transport, and after each activation. Besides states, deltas are
automatically saved for each object when a change has been made to the object.
You can control the number of releases for which historical states saved for your model entities should be
retained using the HISTORY_RETENTION_RELEASES global configuration parameter. For more information,
see Global Configuration Parameters [page 371].
Historical states that were saved for your model entities in earlier releases are automatically deleted upon each
upgrade, in accordance with the retention period set, unless you archive the state in question. Archiving is
available for planning area states. For more information, see Archiving a Historical State of a Planning Area
[page 349].
You can use the Show History function available in the Planning Areas, Master Data Types and Time Profiles
apps to view historical states of the respective entities. You can also use the Manage Historical States app to
view the list of historical states available for planning areas. For more information, see Viewing Historical States
[page 346].
There are cases when you want to revert changes that you have made to your planning area and restore one of
its earlier states. You can also restore states that you have archived before. For more information, see Restoring
a Historical State of a Planning Area [page 348].
Viewing the various historical states saved for your model entities enables you to get an understanding of
how the entities have changed over time. Having access to past configuration states can also support audit
processes or ongoing planning area development.
Show History
The Show History function is available in the Planning Areas, Master Data Types, and Time Profiles apps. You
can use it to view the history of planning areas, master data types, and time profiles; and the change history of
the following planning area subobjects:
• Planning levels
• Key figures
Procedure
You can view the history of a master data type, time profile, or planning area as follows:
1. Select the object in the relevant app (Master Data Types, Time Profiles or Planning Areas app) and go to the
object details screen.
2. Choose the Show History button.
3. In the dialog displayed, you can view the list of states saved for the object after major operations, such as a
copy, activation, or upgrade.
4. By choosing a state hyperlink in the dialog, you can navigate to the list of deltas preceding and following the
state selected.
You can quickly get an understanding of the nature of differences between a delta and the previous delta by
choosing Show in the Differences column.
Note
The Show hyperlink is available for deltas where the change affects one object only. In the case of
changes affecting multiple objects (such as Attribute added to planning levels), it is not displayed.
The quick view displayed lists all the characteristics (including characteristics of subobjects) that are
different in the two deltas and shows their value in the delta selected and in the previous value side by side.
Note
In cases when there is a subobject with more than one different characteristic, the Different text is
displayed for the subobject.
5. By choosing the row containing a state or delta in the history dialog, you can get to the details screen for
the relevant historical state of the object.
For planning area subobjects (planning levels, key figures and versions), the Show History button calls up the
list of deltas that have been saved for the item selected, providing an object change history. You can select any
delta from the list to view its details.
The quick view of differences is also available for planning area subobjects.
The Manage Historical States app enables you to view the list of historical states available for each planning
area and the number of deltas saved between two consecutive states.
It also allows you to navigate to the Planning Areas app to view the details of any selected state.
Watch a Video
There are cases when you want to revert changes that you have made to a planning area, restoring an earlier
(historical) state of the planning area and its dependencies. You may want to revert unwanted manual changes
or changes due to a merge of planning areas, when the planning area in question has already been activated,
therefore you can no longer use the Restore Active Instance option. You may also want to restore an earlier
configuration state to resolve a database inconsistency.
Use
The Restore Historical State with Dependencies option allows you to restore an earlier state of a planning
area with its time profile, and master data types. You can access the option in the Planning Areas app, under
Operations or from the Show History dialog. You need to select the state that you want to restore and specify
whether you want attribute names and descriptions to be updated with the earlier versions.
You can also restore an archived state of a planning area, regardless of whether the planning area itself is still
available in the system or not. Select the archived state in the Manage Historical States app, specify whether
you want to replace current attribute names and descriptions with those used in the configuration restored,
and choose Restore. If you restore an archived state of a planning area that has been deleted, all configuration
states that existed before the deletion become available again and are listed in the planning area history.
Basic Principles
When you restore an earlier (historical) state of a planning area configuration, all changes that have been made
to the configuration since that earlier state was saved are reverted.
Caution
The time profile, related master data types, and attributes are restored along with the planning area.
Therefore, if any of those dependencies are used by objects that are outside the scope of the restore
operation, restore is not allowed.
Objects (of the planning area configuration and dependencies) are handled by the restore as follows:
• Objects that existed in the historical state but not in the latest state are restored as inactive entries.
• Objects of the planning area configuration that existed in the latest state but not in the historical state are
deleted or marked for deletion (if they were active in the latest state). Objects that were pending deletion in
the latest state keep their pending deletion status.
Note
Dependencies, that is, the time profile, master data types, and attributes are never deleted by the
restore, even if no planning area uses them after the operation. To remove such items, you need to
delete them manually.
Caution
If you restore a historical state of a planning area, you might need to purge uploaded transactional data.
This is necessary if there are structural differences between the source and the target planning areas.
You can archive historical states of a planning area in the Manage Historical States app.
Configuration states of model entities that were saved in earlier releases are automatically deleted upon
each upgrade in accordance with the retention period set using the HISTORY_RETENTION_RELEASES global
configuration parameter. For example, if the value set for the parameter is 3, historical states are retained for 3
releases. After that period, all unarchived states are deleted.
The Manage Historical States app enables you to archive historical states of a planning area, which ensures that
the state is retained beyond the normal retention period set for historical states.
If you archive a state, an archived instance of the state is created, which is displayed in the list of historical
states in the Manage Historical States app. If you later decide that you won’t need the state after the retention
period, you can delete the archived instance in the app. This deletion does not affect the state itself, which will
be retained until the retention period is past.
You can restore an archived state of a planning area using the Manage Historical States app. When restoring
an archived state, you can specify whether you want to replace current attribute names and descriptions with
those used in the configuration restored.
You can restore an archived state of a planning area even if the planning area itself is no longer available in the
system. In this case, all configuration states that existed before the deletion become available again with the
restore and are again listed in the planning area history.
Related Information
Set up multilanguage support for your applications so that you can handle the supported modeling objects in
multiple languages. Enable the function, make the required settings and then upload the translations you’d like
to use in your applications.
Prerequisites
Make sure you have the necessary authorizations for this activity, that is, the business catalogs required for
this activity are assigned to a business role that is assigned to your business user. For more information see the
SAP Help Portal at http://help.sap.com/ibp, under Application Help for SAP Integrated Business Planning
Identity and Access Management Basic Concepts Business Catalogs .
Context
If you set up multilanguage support, the supported modeling object properties are displayed in the logon
language of your SAP IBP applications where translations are available. In cases when the relevant text isn’t
available in the logon language, the property is displayed in the default language. When editing the properties,
the default language is used.
Multilanguage settings are system specific, so you need to specify them for each of your systems.
Note
SAP provides translations for some of its sample content, but for all other content you need to upload the
translations needed yourself.
Procedure
1. In the Multilanguage Support app, choose Turn On Multilanguage Support to enable the function.
Once you’ve turned on multilanguage support, you can't turn it off in the application. If you still need to
disable it, please contact SAP.
2. When enabling the function, specify a default language and at least one additional language in the Set
Languagues dialog. All your existing entries are assigned to the language that you set as the default
language.
Caution
You can change your language settings later using the Set Languages button; however, if translations
are already available in your system, such changes might result in a loss of data. For example, if you
remove a language from your selection, all the entries in that language are deleted. If you set a default
language that has some entries missing, there will be no basis for further translations for those entries.
Note
To ensure that multilanguage content is exported and imported for the relevant modeling objects,
multilanguage support needs to be set up for both the source and the target system, and the same language
needs to be set as the default language. If the default language is different, the export and import will fail.
If multilanguage isn’t supported in the source system, you can’t import your model entities into a target system
where multilanguage support is enabled.
If multilanguage isn’t supported in the target system, only the entries in the default language are taken over for
the relevant object types, even if there are entries in other languages in the source system.
In system landscapes enabled for extensibility development, model entities and other extension items are
exported and imported in software collections.
The export and import of extension items is based on the Adaptation Transport Organizer. You can create
software collections, add extension items to software collections, export and import software collections in
your landscape, and check dependencies between various extension items using the following apps:
You can add the following extension items to a software collection and export and import them in your
landscape:
Model configuration Planning areas with the following de When you export a planning area, the
pendent entities: export will include all available planning
operators:
• Planning levels
• Key figures • Planning operators assigned to the
• Key figure groups planning area being exported
• Attributes
• Master data types
• Time profiles
Identity and access management Business roles The assignment of business roles to
business users isn’t exported with the
roles. In the target system, you need
to assign the relevant users to the busi
ness roles using the Manage Business
Roles app.
Note
• Once you have transported a
business role, no change docu
ments will be written for this
business role in the productive
system. Change documents
for transported business roles
are only available in the quality
system.
• If you transport a derived busi
ness role, the leading business
role and all other derived busi
ness roles need to be added as
dependencies to the transport
request as well.
• If you transport a leading busi
ness role, all derived business
roles need to be added as de
pendencies to the transport
request as well.
Note
Planning filters created in the SAP
Integrated Business Planning, add-
in for Microsoft Excel cannot be ex
ported.
End-to-end visibility Intelligent visibility profiles User assignments aren't exported with
intelligent visibility profiles. In the target
system, you need to assign the relevant
users to the intelligent visibility profiles
using the Content Administration app.
Note
If the name doesn’t have the
YY1_ prefix, re-create the job
and select Shared before sav
ing it. The application job tem
plate has to be shared at the
time of the creation in order to
get the YY1_ prefix. Do not re
move the Shared setting after
wards or you won’t be able to
transport your application job
template anymore.
Identity and access management Editability horizons for key figures Once you've exported an editability ho
rizon, no change documents are written
for this editability horizon in the pro
duction system. Change documents for
an exported editability horizon are only
available in the test system.
Recommendation
We recommend that you create separate software collections for your extension items as follows:
• Attributes
• Time profiles
• Shared master data types
Note
Depending on the complexity of your data model, you could include attributes, time profiles, and
shared master data types in one collection.
• Master data types and planning areas in one collection per planning area
• Forecast models and operator profiles in one collection per planning area
• Permission filters in one collection per planning area
• Business roles and attribute permissions
• SAP Fiori launchpad pages and spaces
In addition, create software collections per organizational unit, business process, project, project phase,
and so on. This will help you export and import different collections independently. For example, if you have
a demand configuration team, you must create software collections so that the team can make changes to
demand forecast models, demand planning area, and demand SAP Fiori launchpad pages and spaces. You
can only export collections, and once a collection is exported, you shouldn't move items from one collection
to another. If extension items for two different teams are mixed in one collection, the two teams will have to
align on the timelines for the export and import of the collection.
To ensure that multilanguage content is exported and imported for the relevant modeling objects,
multilanguage support needs to be set up for both the source and the target system, and the same language
needs to be set as the default language. If the default language is different, the export and import will fail.
If multilanguage isn’t supported in the target system, only the entries in the default language are taken over for
the relevant object types, even if there are entries in other languages in the source system.
For more information about multilanguage support, see Setting Up Multilanguage Support for Modeling
Objects [page 350].
Related Information
Overview of the export and import of extension items in different system landscapes enabled for extensibility
development.
In system landscapes enabled for extensibility development, the export and import of extension items is based
on the Adaptation Transport Organizer. The following rules apply:
• An extensibility development system, which is a system used to create extension items, is always the
starting point of a multiple system landscape. Extension items can only be exported from the extensibility
development system.
• The production system is always one of the end points of a multiple system landscape.
• The extensibility development system can’t be changed. For example, in a two-system landscape, the
extensibility development system is A and the production system is B. A test system C can be added in the
landscape only between system A and B. If the landscape needs to be reduced later, the only system that
can be removed is test system C.
• Any manual repairs of extension items that are exported will be overwritten by the next import. No export
of repairs is allowed from any system other than the extensibility development system.
• It’s possible that your system landscape includes a development system, a test system that is set up as
the extensibility development system, and a production system. Extension items can then only be exported
from the test system.
Two-System Landscape
The following graphic shows a system landscape with a test system that is used to create and export extension
items. The extension items are then imported into the production system.
Three-System Landscape
The following graphic shows a system landscape with a development system that is used to create and export
extension items. The extension items are imported into the test system. After a successful test of the imported
extension items in the test system, the export from the development system can be forwarded to allow the
import into the production system.
The following graphic shows a system landscape with a development system that is used to create and export
extension items. The extension items are imported into the test system. After a successful test of the imported
extension items in the test system, the export from the development system can be forwarded to allow the
import into the production system. Note that only the extension items that are created in the development
Note
In a three-system landscape, the Export function is only available in the first system of the landscape (that
is, the development system). Export from all the other systems of the landscape is disabled. After the
export from the development system, you can import the items into the test system and then use the
Forward function in the test system to allow import into the production system.
The following graphic shows a system landscape with a development system that is used to create and export
extension items. The extension items are imported into the test system and the training system. After a
successful test of the imported extension items in the test system, the export from the development system
can be forwarded to allow the import into the production system and the second training system. No exports
are possible from the training systems.
Four-System Landscape
The following graphic shows a system landscape with more than one test systems and training systems. The
export and import process works in the same way as described for a three-system landscape.
Best practices for exporting planning models in a two-system landscape that is enabled for extensibility
development.
Recommendation
We recommend the following approach for setting up planning areas and exporting them from the test
system and importing them into the production system.
Carry out configuration tasks and user testing in the test system that is enabled for extensibility
development. For these activities, you require at least two planning areas in the test system as follows:
Provided that no major changes are expected to the master data structure, these planning areas can share
master data types.
The consolidation planning area typically has a smaller data set than its counterpart in the production system.
Nonetheless, the test data set must be representative of actual production data. However, the consolidation
planning area can contain a copy of the full production system data set. Whether the consolidation planning
area has a full or reduced data set depends on the size of the test system and on customer requirements.
Consolidation of changes from the configuration planning area to the consolidation planning area is done in the
Planning Areas app by selecting Copy Replace Existing .
Once you have completed the configuration and user testing, you can export the consolidation planning area
using the Export Software Collection app. You can then import the planning area into the production system
using the Import Collection app.
Each time a planning area is exported, the entire planning area and all related configuration must be
exported.
We recommend that you do regular exports and imports each time you change and activate a planning
area. Do not collect changes of different kinds in one software collection, for example, removing an
attribute from a master data type, changes in key figure definitions, and adding attributes to a master
data type. Having different kinds of changes in one software collection may lead to issues in activation in
the target system, because certain changes must be executed in a given sequence.
Make sure that in the target system you perform the activation of the model entities in the following order:
1. Time profiles
2. Master data types
3. Planning areas
In projects that require a lot of integration work (for example, development in SAP Cloud Integration for data
services), you have to keep data sets for application consultants and integration consultants separate. In
such cases, we recommend that you use an additional, independent data integration planning area for data
integration activities. Ideally, this planning area should have its own master data types. With this approach,
you can proceed with development and testing of integration content without interfering with configuration
tasks. Note that if you use a separate data integration planning area in the integration service, you will require
additional effort to change the test integration tasks to the final tasks.
Best Practices: Exporting and Importing Planning Areas to the Production System
Related Information
Steps for exporting planning areas in a two-system landscape enabled for extensibility development in a
two-phased configuration project where changes to phase 1 configuration and configuration settings for phase
2 are made in parallel.
Prerequisites
There is a configuration and a consolidation planning area for phase 1 in the test system. Phase 1 is complete,
and you have exported the consolidation planning area for phase 1 from the test system and imported it into
the production system.
Context
SAP Integrated Business Planning projects are usually implemented in a phased approach, that is, the
implementation team performs the following two activities in parallel:
For such a phased implementation, at least two planning areas are needed for each phase in the test system:
one for configuration and another one for consolidation.
Procedure
a. In the Planning Areas app, using the create new with dependencies copy option, create a copy of the
consolidation planning area for phase 1.
A configuration planning area and all its related master data types are created for phase 2.
b. Using the create new copy option, create a copy of the configuration planning are you just created for
phase 2.
Changes can include creating additional attributes, master data types, or key figures.
a. Make the configuration changes in the configuration planning area for phase 2.
b. Using replace existing copy option, copy these configuration changes to the consolidation planning
area for phase 2.
c. Activate the consolidation planning area.
3. Make any minor configuration changes needed for phase 1.
a. Make the configuration changes in the configuration planning area for phase 1.
b. Using replace existing copy option, copy these configuration changes to the active consolidation
planning area for phase 1.
c. Activate the consolidation planning area for phase 1.
d. Using the Export Software Collection app, export the active consolidation planning area and import it
into the production system.
4. Repeat the configuration changes you made to the planning area for phase 1 manually in the configuration
planning area for phase 2.
5. Using replace existing copy option, copy these configuration changes to the consolidation planning area for
phase 2.
6. Activate the consolidation planning area for phase 2.
Manual changes to configuration in a production system and often even in a test system should be avoided
to ensure the integrity of the planning area being used productively or tested. However, in exceptional
circumstances you may need to configure and activate planning models in a production system. For this
purpose, a special business role can be assigned to your business user that provides you with temporary
access to the production system. This business role should have the Planning Model and Planning Model
Activation business catalogs assigned to it.
Note
• SAP recommends that emergency access is used only after it has been decided that the system is in
an exception state (also known as a firecall state), and that the business uses are unassigned after all
updates have been completed.
• Most configuration activities require model activation and may have an impact on runtime user
interfaces or data integration, for example.
Reason codes are a set of tags that you can use to keep track of decisions and changes made throughout the
planning process.
Reason codes are available in various areas throughout SAP Integrated Business Planning for Supply Chain
(SAP IBP): In the SAP IBP, add-in for Microsoft Excel, in the Web-Based Planning and Planner Workspaces apps,
and in certain application job templates. They can be viewed in change history and can be shared in your
collaboration tool.
A user can enter a reason code when saving data in the planning view using the Save Data button or when
scheduling an application job. If your organization uses a collaboration tool, users can share the reason code
and information about the change. If your organization uses change history, reason codes are saved for
changes to change-history-enabled key figures they apply to and can be viewed in the change history views.
You can create your own reason codes in the Reason Codes app. Some useful reason codes are provided with
SAP IBP.
Prerequisites
Make sure you have the necessary authorizations for this activity, that is, the business catalogs required for
this activity are assigned to a business role that is assigned to your business user. For more information see the
SAP Help Portal at http://help.sap.com/ibp, under Application Help for SAP Integrated Business Planning
Identity and Access Management Basic Concepts Business Catalogs .
Procedure
Global configuration enables you to maintain application-level defaults in the SAP Integrated Business Planning
for Supply Chain solution (SAP IBP). You can use global configuration parameters to control various features of
SAP IBP applications according to your business needs.
Recommendation
We recommend that you maintain the following defaults when you install your system:
Related Information
Use the Global Configuration app to change the values of global configuration parameters.
Prerequisites
Make sure you have the necessary authorizations for this activity, that is, the business catalogs required for
this activity are assigned to a business role that is assigned to your business user. For more information see the
SAP Help Portal at http://help.sap.com/ibp, under Application Help for SAP Integrated Business Planning
Identity and Access Management Basic Concepts Business Catalogs .
Context
Once you have set up your system, you want to change the number of days an alert is snoozed when you select
the Snooze Indefinitely option.
SAP delivers default values for some global configuration parameters. You can change the default value
based on your business requirements. If you want to delete the value that you provided, use the Reset to
Default option.
Procedure
1. In the Global Configuration app, find the SNOOZE_NUM_OF_DAYS parameter in the ANALYTICS parameter
group.
2. Select the parameter and choose Edit.
3. In the Value field, specify the new value.
4. Optional: Provide a reason for the change.
5. Save your changes.
In the Global Configuration app, you set values for the parameters that control various features of the SAP IBP
applications. The following table lists the global configuration parameters in the system that you can set in line
with your business requirements.
Note
There are also technical parameters in the system. Contact SAP to request to set a technical parameter in
your system.
ANALYTICS MAX_ALERTS_PER_SUBS 2000 Limits the number of alerts that are displayed
CRIPTION in the Monitor Custom Alerts app as well as
in the custom alerts overview in the Planner
Workspaces app.
CHANGE_HIST MAX_RESULT_LIMIT See default Specifies the row limit for the change history re
value for
sults shown in the Excel add-in.
MAX_RESULT_R
OW_SIZE By default, the row limit for change history re
sults depends on the MAX_RESULT_ROW_SIZE
global configuration parameter. However, if you
want to control the row limit for change
history independently from this parameter,
for example if you want fewer rows to be
displayed for change history than are de
fined by the MAX_RESULT_ROW_SIZE global
configuration parameter, you can use the
MAX_RESULT_LIMIT global configuration pa
rameter. If this global configuration parameter is
set, the MAX_RESULT_ROW_SIZE global configu-
ration parameter will not be taken into account
for change history.
Example
If you set this parameter to FALSE, and if
the process has a step with no start condi
tion but only an end condition that is On
End Date, and you've not set the status to
In Progress, the step is completed automati
cally when the end date is reached.
Note
You can disable package processing when
running the operator as an application job.
DEMAND_SENSING DS_AT_ANY_LEVEL_ALG AUTO Controls whether the system should allow de
ORITHM
mand sensing at any aggregation level or only at
a level containing three attributes that are based
on the product, location and customer identifier
business meanings.
DISAGGREGATION MIN_RECORDS_FOR_MEM 10000000 Running the Copy Operator (Advanced) can po
ORY_WARNING tentially consume a lot of system memory de
pending on a number of factors, such as the key
figure configuration or the chosen aggregation
level. In the following cases, the system there
fore displays a warning in the log for the Copy
Operator (Advanced):
FLEXQUERY ENABLE_NULL_INFO FALSE You can use a property for key figures accessible
in the planning area to check if the value of the
key figures is NULL or not. The name of this
property is <key_figure_ID>_isNull.
Restriction
Consider that you have a restricted number
of features in the service if you activate this
global configuration parameter. For more in
formation, see Importing Key Figure Data
Using OData Service.
Caution
Do not change the value of this global config-
uration parameter during the key figure writ
ing process, as this makes it impossible to
trace back whether the writing process has
been performed successfully.
FORECAST FORECAST_ESCAPENULL 1 Adds and initializes the value of the forecast in
put key figure to a small value when historical
data is missing for some periods. Setting this
value to 0 will not have this effect.
FORECAST FCSTASSIGN_SUPPR_RC None Controls whether a user can select a reason code
_COMMENT and make a comment when changing a fore
cast model assignment in the Manage Forecast
Models app. If the value is TRUE, the list of availa
ble reason codes and the comment field are not
displayed on the UI.
Note
This parameter may also impact forecast
calculations performed by the gradient
boosting of decision trees algorithm.
Note
Users can override the value of this parame
ter for specific forecast models.
HOME_PAGE DEFAULT_PLAN_AREA NULL Indicates the default planning area to view on the
SAP Integrated Business Planning dashboards.
This parameter also represents the default plan
ning area for the user interface of SAP Integrated
Business Planning, add-in for Microsoft Excel.
INTEGRATION ENABLE_SNAPSHOT_KFS NO You can use this global parameter if you want to
integrate snapshots from an external system or
if you want original snapshots to be supported in
the Copy Version and Delete Version operator.
INTEGRATION KF_UPLOAD_EXT_AT_BA Controls whether you can upload key figure data
SE_LEVEL_ONLY at an aggregated time level from an external
source, such as SAP Cloud Integration for data
services. Enter x or X as the value to restrict the
upload of key figure data to uploading at the base
planning level only, and with that, disable time
disaggregation.
Caution
If you override this value, you assume the
responsibility to orchestrate your data inte
gration jobs and ensure that the ones that
are processed in parallel do not interfere with
one another. You should test it to verify that
your data imports run smoothly.
INTEGRATION USE_DATAINTEGRATION If you have been using SAP IBP before the
_PERMISSION 1711 release, you can use this parameter to con
trol whether restrictions are applied in the Data
Integration Jobs app. By default, this parameter
is deactivated. If you want to apply the restric
tions, you must add this parameter and enter x
or X as the value to activate it.
Note
This global parameter is only relevant for
customers who have been using SAP IBP be
fore the 1711 release and are upgrading to
1711 a higher release.
Note
Increasing this value may result in a dead
lock because the system needs to process
too many jobs at a time. We therefore recom
mend that you use the default setting.
INTEGRATION MAX_REPORT_ROWS 50000 This parameter limits the number of rows that
are included in a data integration report from
the Data Integration Jobs app. By default, 50000
rows are included. You can adjust this default
value according to your needs.
Note
We recommend that you do not enter a value
that is higher than the default value, because
the creation of a data integration report that
contains a large number of rows may lead to
out-of-memory problems.
Caution
Use this parameter with caution, as setting
the limit too high can cause serious perform
ance issues. Verify what your system is ca
pable of sustaining before using the feature
productively.
Caution
If you want to collaborate with your suppliers
on a planning level that has a third root at
tribute defined, make sure to set this param
eter. Otherwise the system won’t check if the
Characteristic element is mapped correctly.
This can lead to data inconsistencies.
INTEGRATION SDI_DO_NOT_WRITE_OU Value set to If you perform outbound integration using SAP
TBOUND_CP empty HANA SDI, use this parameter to stop the sys
tem from writing outbound change pointers for
the following types of changes:
INVENTORY FORECAST_ERROR_INPU Fixed Lag When set to Dynamic Lag, dynamic lag is
T_TYPE considered. When set to Fixed Lag, dynamic
lag is not considered. When set to CV Over
Interval, demand forecast variability based on
lead-time intervals is considered. The default pa
rameter value is Fixed Lag.
INVENTORY LOOP_HANDLING REMOVE If the parameter value is set to LOG, then the
loops (cyclical sourcing in algorithms) are log
ged in business logs. If the parameter is set to
REMOVE, then the loops, up to six levels, are log
ged and removed. Any remaining loops are log
ged as WARNING (limited to 500 per type of loop).
If the parameter value is set to ENABLE, the in
ventory optimization algorithms run successfully
when time-varying sourcing ratios create loops.
Loops are logged as WARNING (limited to 500
per type of loop). If any other value besides LOG,
REMOVE, or ENABLE is provided or the parame
ter is missing, then the loops are logged and re
moved (default behavior).
INVENTORY SAME_ISL_ACROSS_COM YES If the parameter value is set to YES, then the
PONENTS Global (multi-stage) inventory optimization oper
ator assumes that each bill of material compo
nent has the same internal service level (compo
nent non-stockout probability).
INVENTORY STORAGE_PENALTY_OPT VARIABLE Sets how to manage the cost of storage con
ION straint violations. When set to FIXED, the param
eter minimizes number of stocking nodes where
storage constraint is violated, and assuming a
large fix-cost to resolve the storage problem. The
VARIABLE option minimizes total cost of storage,
and assumes a variable cost for each instance of
additional required storage.
MASTER_DATA_OP MAX_BATCH_SIZE 10000 The maximum number of records that a user can
download or upload when maintaining master
data records using the functions of the master
data workbook in the SAP IBP, add-in for Micro
soft Excel.
MASTER_DATA_OP SORT_REQFIELD_FIRST YES Controls the order of the columns in the mass
management of master data in the SAP IBP, add-
in for Microsoft Excel. If the value of the parame
ter is YES, the columns of the required attributes
follow the columns of the key attributes. Other
wise, the system puts the columns of the key
attributes first, and displays the columns of the
remaining attributes in alphabetical order.
Note
If you decide to change the sender name,
you cannot leave the email address blank,
you will have to change the email address as
well.
• IBPBeforeSend
• IBPAfterRefresh
• Mandatory
If there is no implementation available for
these hooks, the SAP IBP code stops.
• Optional
If there is no implementation available for
these hooks, the SAP IBP code continues
running.
Note
The parameter values aren't case-sensitive.
• IBPMDAfterRefresh
• IBPMDBeforeUpdate
• Mandatory
If there is no VBA implementation available
for these hooks, the SAP IBP code stops.
• Optional
If there is no VBA implementation available
for these hooks, the SAP IBP code continues
running.
Note
The parameter values aren't case-sensitive.
PLAN_VIEW EXCEL_MASTER_DATA_A NONE Allows you to enable APIs for master data func
PIS
tions which can be used through Visual Basic for
Applications (VBA) code. The APIs can be used
in a similar way as VBA methods provided by
Microsoft.
• Read
APIs to retrieve master data records are en
abled.
• Write
APIs to change master data records are en
abled in addition to all other master data
related APIs.
Note
The parameter values aren’t case-sensitive.
PLAN_VIEW EXCEL_PLANNING_VIEW NONE Allows you to enable APIs for planning view func
_APIS
tions that can be used through Visual Basic for
Applications (VBA) code. The APIs can be used
in a similar way as VBA methods provided by
Microsoft.
• Read
APIs to change the planning view definition
are enabled and can be used through VBA
code.
• Simulate
APIs to simulate data changes as well as
APIs to change the planning view definition
are enabled and can be used through VBA
code.
• Save
APIs to persistently save data changes are
enabled, in addition to all other planning
view related APIs, and can be used through
VBA code.
Note
The parameter values aren't case-sensitive.
• WARNING
The user receives a warning when they try
to open a planning view without an attribute-
based filter.
• MANDATORY
The user can't proceed without defining an
attribute-based filter for the planning view
they are trying to open.
PLAN_VIEW MAX_ADD_NEW_PLAN_OB 100000 You can use this parameter to set the maximum
JECT number of new planning objects that can be cre
ated from the SAP IBP, add-in for Microsoft Excel.
If the number of new planning objects is larger
than the value you enter for the parameter, the
creation of the planning objects is canceled.
PLAN_VIEW MAX_DETAIL_LOG 10000 With this parameter, you can define the maxi
mum number of business log messages that can
be downloaded in the SAP IBP, add-in for Micro
soft Excel.
Note
The MAX_RESULT_CELL_SIZE parameter
offers a limit to the amount of processed
data in a query. This upper threshold is con
sidered when the data is collected and proc
essed in the SAP IBP back end system. To
provide a planning view that is meaningful
from a business perspective, the result set
coming from the database might be reduced
or increased under certain conditions.
Example
Potential use cases that result in less data
shown in the planning view:
Note
Please note the two periods in the format for
this global parameter, 2005.2.0, for example.
PLAN_VIEW PARTIAL_READ_TIMEOU You can specify the time in minutes until the
T buffer of key figure calculations becomes invalid.
The buffer is used when users simulate data in
favorites in the following apps:
PLAN_VIEW PLANNING_NOTE_DISPL 1000000 Opening a planning view in the SAP IBP, add-in
AY_CELL_LIMIT for Microsoft Excel with many cells that have
planning notes attached can have a negative im
pact on performance. With this parameter, you
can limit the number of cells containing planning
notes that are displayed when opening a plan
ning view. If the limit you set in this global con
figuration parameter is exceeded, no planning
notes are displayed in the planning view, and the
user gets a warning message.
Note
Raising this threshold can have a negative
impact on the performance for users.
PLAN_VIEW SHARE_WITH_NONE FIRST Controls the entries the user sees in the field
Share With when saving changes in the SAP In
tegrated Business Planning, add-in for Microsoft
Excel. The following values are available:
PLAN_VIEW SUPPRESS_RC_COMMENT Value set to Having an entry with this parameter (regardless
empty of the value) suppresses the dialog where the
user is asked to provide a reason code or com
ment, and where they can share the changes
in the collaboration tool. Applying this parame
ter suppresses the dialog for reason codes, com
ments, and sharing throughout SAP Integrated
Business Planning (such as when saving data of
a planning view, or changing a master data).
PLAN_VIEW USE_XML_TABLE_FOR_Q NO The result set size of large queries in the SAP
UERY IBP, add-in for Microsoft Excel might exceed the
internal limit of 2GB for data serialization. This
global configuration parameter can be used to
overcome such problems by serializing data into
a table of char(8192) instead of serializing it into
a string (with a maximum of 2GB size).
Caution
Please do not change the default value of
this global configuration parameter.
Note
Null values of attributes which are
not part of the key figure's base plan
ning level are always valid, and are
therefore displayed, even if the value
of the global configuration parameter
VALID_NULL_VALUES_NON_ROOT_ATTR is
set to NO.
Note
The WBP_MAX_RESULT_CELL_SIZE param
eter offers a limit to the amount of processed
data in a query. This upper threshold is con
sidered when the data is collected and proc
essed in the SAP IBP backend system. To
provide a planning view that is meaningful
from a business perspective, the result set
coming from the database might be reduced
or increased under certain conditions.
Example
Potential use cases that result in less data
shown in the planning view:
Note
For performance reasons, the default value
for this parameter is 200. You can adjust
this value to a reasonable number and test
the impact in your individual use case. How
ever, you might also consider using other fil-
ter criteria such as Product Group instead of
Product ID.
Caution
You can consider a maximum of 1000 attrib
utes as filter criteria by adding the attribute
to the required planning area and planning
level. The maximum number of attributes is
independent from the value you set for this
parameter.
PLCNTRL MAX_SORTING_VALUES 100 You can sort attribute values within a planning
view based on different logics, including custom
rules that you set based on business preferences.
Note
Only a limited number of attribute values
can be used to define custom sorting rules.
The limit is handled by the global configura-
tion parameter MAX_SORTING_VALUE. The
default is set to 100 attribute values per
attribute. As an administrator, you can in
crease this limit in the Global Configuration
Parameter app in the group PLAN_VIEW.
Caution
The maximum number of attribute values
that can be selected is 1000.
PLCNTRL EXT_MISSING_TIMEPER NO
You can use this global configuration parameter
in the exceptional case when a time period is
IOD_CREATION
missing for an existing planning object. This can
happen, for example, when a missing key figure
value is defaulted from the value of another fig-
ure that is stored on a different base planning
level than the key figure whose value is missing.
In such a case, it might happen that the missing
key figure value cannot be saved due to the time
period missing from the database.
Caution
Setting the value of this global configuration
parameter to YES can have a detrimental
effect on system performance. Moreover, it
is rather exceptional case that a key figure
value cannot be saved due to the situation
described above, since there are tools avail
able to keep the planning data consistent
and up-to-date, for example, running the
Copy (COPY) operator with the parameter
CREATE_TIMEPERIODS, or planning data up
load.
Note
Planning session groups are created in ad
vance and are independent from user logon.
They’re kept in a cross-user storage (pool)
available for any user who is logging on in the
SAP IBP, add-in for Microsoft Excel.
Caution
Don’t increase the parameter value exces
sively because each planning session group
requires HANA memory and unnecessary
planning session groups can waste resour
ces.
If a user logs off from the SAP IBP, add-in for Mi
crosoft Excel or closes a workbook, the planning
session groups of this user or the workbook, are
refreshed and returned to the pool.
RESPONSE CONT_COPY_IF_CONFLI For planning areas with data that was integrated
CT using SAP HANA Smart Data Integration (SDI),
this parameter handles the following behavior
when copying versions using the Order-Based
Planning: Copy Version Data application job: You
want to copy order data from a source version
to a target version, but the source data and the
target data share an order or orders, and these
duplicates cause the application job to fail. You
can set this parameter to X to remove any order
duplicates and their dependent objects from the
data before it is copied, allowing the application
job to continue. The duplicates are listed in an
attachment to the application log, regardless of
whether the parameter is set or not.
RESPONSE ENABLE_UDS_KF_PUSH_ Using this parameter, you can switch back to the
DOWN
behavior of the simulation engine that has been
available before SAP IBP 2205. By activating this
parameter, you will disable the key figure selec
tion optimization in external data sources in sim
ulative planning in user-defined scenarios.
RESPONSE PLANNING_RUN_MALO_F FIRST_VALID Using this parameter, you can influence how
ILTER_MODE planning filters work in order-based planning
runs if there are multiple planning levels in your
planning area with the STD_MALO data source
and some of these planning levels do not have
planning objects assigned to them.
RESPONSE PLRUN_EXT_PROC_TYPE For customers If this parameter is set to X, the following applies,
_BY_LOCPROD
upgrading from regardless of the stock transfer type of the
releases before transportation lane. The stock transfer type is
SAP IBP 2205, typically mapped to the ESOKZ from SAP ERP or
the default SAP S/4HANA in the RTI integration profile.
value is X.
• If a source location product exists, the trans
For new cus portation lane is for stock transfers. In that
tomers as of case, planning runs will create stock transfer
SAP IBP 2205, requisitions.
the default • If no source location product exists, the
value is empty. transportation lane is for purchasing. In that
case, planning runs will create purchase
requisitions, even if the transportation
lane is categorized for stock transfers.
Note
Note that planning runs behave as follows
after a change of the parameter setting: For
existing orders that are kept in the current
planning based on their dates and quanti
ties, the stock transfer type is not changed.
This means, their stock transfer type might
not correspond to the parameter setting.
As soon as previously existing orders are
changed, though, the stock transfer type will
match the parameter setting.
• ABC/XYZ Segmentation
• Copy Operator
• Copy and Disaggregate Key Figure Operator
• Copy Operator With Time Period Filter
• Copy Version Operator
• Delete Version Operator
• Forecast Automation
• Forecast Error Calculation Operator
• Inventory Optimization Operator
• Redo Snapshot Operator
• S&OP Operator
• S&OP Optimizer Explanation
• S&OP Forecast Consumption
• Snapshot Operator
• Statistical Forecasting
SCHEDULING DISABLE_EXCEL_APJT_ False When a user logs into the SAP IBP,
CPIDS
add-in for Microsoft Excel, using the
DISABLE_EXCEL_APJT_CPIDS parameter set to
TRUE restricts the list of Application Job Tem
plates within a Planning Area. This parameter
filters out the templates with operators of type
Data Integration CI-DS (Data Integration Using
SAP Cloud Integration for data services).
SCHEDULING JOB_NOTIFICATION_US BLANK You use this global parameter to trigger a noti
ER_GROUP
fication when a scheduled application job has
failed, ended in user error or was cancelled dur
ing execution.
Note
Be aware that using this feature at least dou
bles the amount of key figure data consid
ered for planning, and may adversely impact
the performance of your planning runs.
Note
• If you set the value of this parameter
to YES, the S&OP operator is disabled
for simulation, even if you configured
Interactive as the processing mode for
your S&OP operator profile.
• The local update algorithm (local
mode) for time-series-based supply
planning isn't supported if you en
able this parameter. If you enable
EXCEL_SOP_UI_2, make sure you set
the SCM_LOCAL_MODE global configura-
tion parameter to NO (default).
• Before enabling the V2 functions, make
sure all of your business users are up
graded to version 2208.2.0 of the Excel
add-in. If you use previous versions of
the Excel add-in and you set this param
eter to YES, the S&OP operator won‘t
be visible, either for simulation or in
the Application Jobs section of the Excel
add-in.
SOP LEADTIME_UNIT BLANK (plan Defines the unit of lead time. The default (blank)
ning periods) is planning periods. Enter DAYS to change the
unit of lead time to days for all planning areas
enabled for time-series-based supply planning in
your SAP IBP system.
TIMEZONE CURRENT_PERIOD_CALC UTC Defines the time zone of your SAP IBP system.
ULATION_TZ You can find all valid time zones and their abbre
viations in the table TTZZ in your on-premise sys
tem.
You can download a history of changes made to the model configuration for a selected date range. You can
also filter the download by planning area and user. The history captures changes to attributes, master data
types, time profiles, and certain aspects of planning areas (that is, attributes, planning levels, key figures, and
versions). The data is downloaded to a comma-separated values (CSV) file that shows all changes caused by a
user inserting, updating, or deleting data.
Steps
To download the configuration history, go to the Planning Areas app, select the planning area and choose
Download Configuration History. Enter your selection criteria and choose Download. The system downloads the
data and you can save the file.
Example: Example
You create a new key figure TOTALRECEIPTS. You enter the following values:
• Name: TOTALRECEIPTS
• Description: TOTALRECEIPTS
All entries are saved together. Since you have created a new key figure, the relevant action shown in the table is
INSERT, with entries for the database tables used for key figures, key figure texts, key figure calculations, and
key figure calculation inputs.
The following is a simplified extract from the configuration history for the above example:
MILLER 384 1 SOPDM_KEYFIGURE_T INSE DESCR; KFNAME Total Receipts; Total Re
RT ceipts;
Other fields in the configuration history include planning area, key figure ID, calculation ID, planning level,
attribute ID, LCODE, scenario, and active status. In the above example, the following additional information
would be provided:
• KEYFIGURE_ID: TOTALRECEIPTS
• CALCULATION_ID: 209318
• ACTIVE: I
Once you set up a planning area in the system, you can make further settings.
SAP Integrated Business Planning enables you to make the following advanced configuration settings in a
planning area:
Related Information
Time-independent key figures are configured in a similar way to attributes as key figures, except that the key
figure value is not dependent on time periods. An example of a time-independent key figure is the Unit of
Measure Conversion Factor. Unlike an attribute as key figure, where an attribute value is copied to all time
periods in the time series for the planning object, time-independent key figures have just one record in the time
series for the planning object.
The unified planning area SAPIBP1 uses time-independent key figures. We recommend that you check it as
a reference implementation that you can use to help you set up your own time-independent key figures.
You can load time-independent key figures only if they have been configured as attributes as key figures. You
configure them in just the same way, except that the planning level contains no time periods, for example, the
base planning level for Unit of Measure Conversion Factor is PRODUOMTO.
You can view and edit time-independent key figures in the IBP Excel add-in under Master Data Maintenance
for the master data type they are based on. You cannot, however, view these key figures in the Excel planning
views. If you want to be able to view them in Excel, you have to extend the configuration. For example, you have
to enter expressions such as the following:
UOMCONVERSIONFACTOR@REQUEST=AVG(UOMCONVERSIONFACTOR@MTHPRODUOMTO)
UOMCONVERSIONFACTOR@MTHPRODUOMTO=UOMCONVERSIONFACTOR@PRODUOMTO(<input_key_figure@
MTH>)
Note that the input key figure <input_key_figure@MTH> is not part of the expression but the input key
figure of the calculation. This could be any key figure that is aggregated to monthly level and that exists for all
months.
Recommendation
We recommend that you use time-independent key figures instead of attributes as key figures in cases
where the key figure value does not vary over time and does not have to be maintained in Excel like a
regular key figure. This type of key figure provides much better performance than an attribute as key figure,
which stores the key figure value for all time periods.
Caution
If you decide to use time-dependent conversion key figures, please be aware that using such key figures
can cause higher memory consumption, and have a detrimental impact on performance.
Prerequisites
Make sure you have the necessary authorizations for this activity, that is, the business catalogs required for
this activity are assigned to a business role that is assigned to your business user. For more information see the
SAP Help Portal at http://help.sap.com/ibp, under Application Help for SAP Integrated Business Planning
Identity and Access Management Basic Concepts Business Catalogs .
SAP Integrated Business Planning can convert currency on the fly, for example, when a user of the add-in
for Microsoft Excel or of Analytics selects Target Currency at runtime for a key figure such as Sales Forecast
Revenue. Prerequisites for currency conversion are that exchange rates exist in the system and that a currency
conversion calculation has been defined for the key figure involved.
The following example illustrates the configuration steps for currency conversion.
Steps
Name* Currency
Description Currency
Type Simple
Type Reference
Type Compound
3. On the Attributes tab of the Planning Area app, assign the following to the planning area:
• The currency attributes (in the this example, S2CURRENCY and S2CURRENCYTO)
• The “Exchange Rate” attribute as key figure (S2EXCHANGERATE)
4. On the Planning Levels tab, create currency planning levels. Select the Conversion Source and Conversion
Target.
5. On the Key Figures tab, add the conversion expression to the target key figures for currency conversion. For
example, under key figure TARGETREV, you would enter S2EXCHANGERATE for Convert Using.
Prerequisites
Make sure you have the necessary authorizations for this activity, that is, the business catalogs required for
this activity are assigned to a business role that is assigned to your business user. For more information see the
SAP Help Portal at http://help.sap.com/ibp, under Application Help for SAP Integrated Business Planning
Identity and Access Management Basic Concepts Business Catalogs .
Model configuration for SAP Integrated Business Planning (SAP IBP) supports unit of measure (UoM)
conversion, that is, conversion of key figures from the base unit of measure to a target unit of measure using a
configured conversion factor. The configuration steps necessary for unit of measure conversion are similar to
those for currency conversion. However, there are some differences:
The planning views and Analytics provide the user with the option to select the target unit of measure. The
conversion is handled by SAP Integrated Business Planning.
The following example illustrates the configuration steps for unit of measure conversion:
Steps
Type Simple
Type Compound
3. On the Attributes tab in the Planning Areas app, assign the unit of measurement attributes to your planning
area, and assign the attribute S2UOMCONVFACTOR as key figure.
4. On the Planning Levels tab, create unit of measure planning levels. Select the Conversion Source and
Conversion Target.
5. On the Key Figures tab, add the conversion expression to quantity key figures for unit of measure
conversion. For example, for the key figure TARGETQTY, you would enter S2UOMCONVFACTOR for Convert
Using.
Attribute transformation transforms the value of an attribute based on a calculation expression. You can use
attribute transformation to offset key figure values, for example.
Prerequisites
Make sure you have the necessary authorizations for this activity, that is, the business catalogs required for
this activity are assigned to a business role that is assigned to your business user. For more information see the
SAP Help Portal at http://help.sap.com/ibp, under Application Help for SAP Integrated Business Planning
Identity and Access Management Basic Concepts Business Catalogs .
Context
SAP Integrated Business Planning supports a special type of transformation that allows you to transform
the value of an attribute based on a calculation expression. The calculation expressions in the attribute
transformation can be as simple as ATTR1 + ATTR2; or they can include key figures, combination of attributes
and key figures, or combination of attributes and constants.
Example
• Time Period Shift: The attribute PERIODID is transformed with the value for the number of time
periods offset.
Restriction
Attribute transformation is not possible for the S_CHINPERIODID and S_CHINPERIODIDx history
attributes.
All input key figures have to be sourced from the same input planning level, and the input planning level has to
have the same structure as the output planning level.
We recommend that you follow the steps below before you create attribute transformation.
1. Aggregate all attributes at the input planning level that will not be directly transformed and that are
affected by the attribute transformation. This ensures that these attributes will stay consistent.
Note
However, do not aggregate those attributes at the input planning level that will not change due to
the attribute transformation at all. This ensures that you can filter for these attributes and improve
performance.
The following example of attribute transformation shows how to offset Actuals Qty by 12 months.
1. Create the new planning levels MTHPRODCUST and MTHPRODCUST1. (From the time dimension, this
planning level has only Month as a root attribute.)
2. Add a calculation for ACTUALSQTY@MTHPRODCUST that drops all the non-root time dimension attributes:
ACTUALSQTY@MTHPRODCUST = SUM(ACTUALSQTY@MTHQTRYEARPRODCUST).
3. Add a calculation that offsets the actuals quantity by a lead time value of 12 periods (here 12 months):
PERIODID0@MTHPRODCUST1 = PERIODID0 + 12
The attribute transformation has ACTUALSQTY@MTHPRODCUST as an additional input, which is the output
from step 2.
The input key figure is indirectly defined at the output planning level by the attribute transformation (step
3).
The key figure ACTUALSQTY@MTHPRODCUST now has the attribute transformation listed among its
calculation definitions, marked by the truck icon .
Note
For K3@MTHQTRYEARPRODCUST, you can use any key figure that satisfies the condition, that is, a key
figure that has a planning level with at least Month, Quarter, and Year.
For this calculation to work, K3@MTHQTRYEARPRODCUST must have values for all attribute combinations for
all time periods to which ACTUALSQTY is shifted.
6. Save the calculation.
7. Activate your planning area.
Note
If shifting a time period level would make the other time profile levels inconsistent, then aggregate
the affected time profile levels before creating attribute transformation. Afterwards, create a calculation
to retrieve the time profile levels you have aggregated previously using the transformed attribute. For
example, if you shift time period level MONTH with 1, then weeks cannot be shifted with 1 accordingly. In
this case, aggregate time period level WEEK before the attribute transformation, and then you can create a
calculation to retrieve the values for time period level WEEK after the transformation.
In this example, you use attribute transformation to implement product substitution. You have the following
planning levels and calculation in your planning model:
Note
In this example, all the uploaded products belong to the same product family, that is PRODUCTFAMILY
is the same for all PRODUCTIDs. This way, PRODUCTFAMILY is not affected by attribute transformation,
that is, it will not change after PRODUCTID is transformed. This means that you do not have to
aggregate this attribute, and you will be able to filter for it.
It is always the responsibility of the modeling expert to ensure that the uploaded data complies with
the modeling requirements. That is, if an uploaded product belongs to a different product family, the
calculation will produce incorrect results in the example below.
Related Information
Prerequisites
Make sure you have the necessary authorizations for this activity, that is, the business catalogs required for
this activity are assigned to a business role that is assigned to your business user. For more information see the
SAP Help Portal at http://help.sap.com/ibp, under Application Help for SAP Integrated Business Planning
Identity and Access Management Basic Concepts Business Catalogs .
Context
This example shows how to use request level calculations to achieve weighted averages.
This example for weighted average calculation is based on the calculation for consensus demand revenue:
Weighted average calculation is an example of a calculation at request level. Unit Price is a weighted average of
Revenue and Qty. Unit Price is both a stored and an editable key figure.
Example
Weighted average is used to calculate the actuals price at request level for the ACTUALSPRICE key figure, which
is a calculated key figure. (Such a key figure exists in the SAPIBP1 sample planning area.)
Note
HACTUALSQTY is a helper key figure that is needed to handle the currency conversion.
The weighted average function IBP_WEIGHTEDAVG has been introduced to simplify this rather complex
calculation.
Key figures such as Price and Cost are expressed as currency / unit of measure, for example, 10 USD / case.
When a user selects the target unit of measure or target currency, the value for the Price key figure changes
to correspond to the user’s selection. Price can be configured as follows in IBP:
For both of the above options, the following aggregations are possible:
• Average
• Weighted average based on Revenue and Quantity, both of which have currency and unit of measure
conversions.
The base planning level for a Price key figure, for example, PERPRODCUSTCURR includes the base currency
and the base unit of measure from the Product master data type.
Set the aggregation mode for the key figure Price to Avg (Average). If the Price key figure is stored and
editable, the disaggregation mode is Copy.
Calculations:
• PRICE@REQUEST = AVG(PRICE@PERPRODCUSTCURRUOMFRTO)
• If Price is a stored key figure:
PRICE@PERPRODCUSTCURRUOMFRTO = PRICE@PERPRODCUSTCURR (stored) *
EXCHANGERATEBYUOM@PERPRODCUSTCURRUOMFRTO
Set the aggregation mode of the key figure to CUSTOM. If the Price key figure is stored and editable, the
disaggregation mode is Copy.
Calculations:
Note
The weighted average function IBP_WEIGHTEDAVG has been introduced to simplify this rather complex
calculation.
Prerequisites
Make sure you have the necessary authorizations for this activity, that is, the business catalogs required for
this activity are assigned to a business role that is assigned to your business user. For more information see the
SAP Help Portal at http://help.sap.com/ibp, under Application Help for SAP Integrated Business Planning
Identity and Access Management Basic Concepts Business Catalogs .
Context
You use a split factor calculation when you want to show a key figure that is defined at an aggregated level at a
lower level of granularity. You do so by splitting the value for the aggregated key figure proportionally according
to the value for another key figure.
In this example, the key figure AggDemandQty, which is defined at planning level Product/Key Customer,
is to be disaggregated proportional to the SalesQty, which is defined at planning level Product/Customer.
Using split factor configuration, AggDemandQty, which is defined at aggregate level is available at detailed level
Product/Customer based on a proportional split of Sales Qty.
Imagine that the key customer group CG1 has achieved a sales quantity of 300 for product P1:
Product Key Cus Key Cus Key Fig Oct '14 Nov '14 Dec '14 Jan '15 Feb'15 March'15 ...
ID tomer tomer ID ure
Steps
1. Add a helper key figure (for example, HSALESFCSTAGG) that aggregates SALESFORECASTQTY to planning
level PRODCUSTGRP. (You need a helper key figure because you cannot use the same key figure name twice
in a single calcuation.).
Enabling the change history includes several mandatory and optional steps.
1. First you need to enable the change history for the planning area that contains the key figures for which
you want to track changes.
2. After that, you also need to enable those stored key figures for the change history.
3. You then need to enable business users to view the different change history views. Business users can
view the change history either in the SAP Integrated Business Planning, add-in for Microsoft Excel or
in the Change History Analysis app. Depending on which view users should use, you need to assign the
corresponding business catalogs to their roles.
4. Optionally, you can decide if you want to track additional sources of change where non-interactive changes
can originate from using the Settings for Change History app.
If you enable the change history, the system tracks changes made to a key figure, including any interactive
changes. If the key figure is version-specific, changes within the version are also tracked. Consequently, the
number of historical records in your system increases when you activate the change history. You therefore need
to schedule the Purge Change History Data job on a regular basis to delete outdated historical records. For
more information, see Data Lifecycle Management.
To be able to track changes to a calculated key figure correctly, you need to enable all stored key figure inputs
to that calculated key figure for the change history. Otherwise, the effect of changes on the calculated key
figure may be incorrect.
Example
You have the calculated key figure Revenue that depends on two stored key figures, Price and Quantity.
Let’s assume you have only enabled the change history for the key figure Quantity, but not for Price. If the
key figure value for Price is changed from 1 to 2, that change cannot be captured. Therefore, the effect of
the change for Quantity on the calculated key figure Revenue is misleading: Instead of calculating 30*1, the
system calculates 30*2, and the result will be 60 instead of 30.
However, if you enable the change history for both stored key figures Quantity and Price, the effect of the
changes to Quantity and Price are shown correctly. The system can use values of both the input key figures
and calculate 30*1 for Revenue as of change ID 2, and 30*2 for Revenue as of change ID 3.
As a first step, you need to enable the change history for a planning area.
Prerequisites
Procedure
Next Steps
As a next step, you need to enable the key figures of the planning area for which you want to track changes.
Related Information
After you have enabled the change history for a planning area, you also need to enable it for the key figure of
that planning area that you want to track.
Prerequisites
Context
Change history tracks changes to stored key figures. Users can view the changes and their effects on a plan in
the IBP Excel add-in, or in the Change History app.
Procedure
Next Steps
Related Information
After you've enabled the change history for a key figure and a planning area, you need to enable users to view
the change history as a last step.
Prerequisites
Procedure
1. Depending on where users work with the change history, proceed as follows:
App Procedure
SAP Integrated Business Planning, add-in for Microsoft 1. In the Maintain Business Roles app, assign the Basic
Excel Planning Tasks business catalog to the corresponding
business user role.
2. Maintain the restrictions for administration functions
for this business catalog:
• To allow users to view the effects view, mark the
CHANGEHIST checkbox.
• To allow users to view the original changes view,
mark the CHANGEORIG checkbox.
3. Save your changes.
Change History Analysis app In the Maintain Business Roles app, assign the Change
History business catalog to the corresponding business
user role.
2. Independent of the app users work with, you also need to grant users read authorization for the key figures,
planning areas, and versions whose change history they should be able to view.
Next Steps
If required, you can now decide to configure additional optional settings for the change history.
Related Information
Once you have enabled the change history, you can configure further optional settings if required.
If a key figure is enabled for the change history, interactive changes are tracked by default and cannot be
disabled. For most cases, this is sufficient as the information which user changed a key figure and when is
the most valuable information. In contrast to this, the information about when a non-interactive change has
happened is in many cases not relevant.
However, if required, tracking can be switched on for sources of non-interactive changes. For a detailed list of
sources of change see What Does Change History Track?.
Tracking for the corresponding source of change can be done in the Settings for Change History app. Here you
can choose the relevant planning area and key figures that are enabled for the change history. For each of those
key figures, you can select the sources of change that are relevant for that key figure.
Caution
With each additional source of change that you track, the number of records in your system can increase
significantly, which can degrade your system's performance. We therefore recommend that you select
additional sources with caution.
By default, the row limit for the change history results shown in the SAP Integrated Business Planning, add-in
for Microsoft Excel and the Change History Analysis app depends on the MAX_RESULT_ROW_SIZE global
configuration parameter. This parameter is used for the planning view to restrict the maximum number of cells
that can be retrieved from the database for a key figure.
If you want to define the row limit for change history independently from this parameter, you can set the
MAX_RESULT_LIMIT global configuration parameter. This allows you, for example, to display fewer rows for
change history than are defined by the MAX_RESULT_ROW_SIZE global configuration parameter.
Changes are captured with a time stamp in UTC time zone. Settings you made for the system time zone using
the global configuration parameter CURRENT_PERIOD_CALCULATION_TZ are not taken into account.
You can build change-history-based calculations on the key figure values in past data sharing events, or on the
values recorded in the change history of key figures.
Prerequisites
Make sure you have the necessary authorizations for this activity, that is, the business catalogs required for
this activity are assigned to a business role that is assigned to your business user. For more information see the
SAP Help Portal at http://help.sap.com/ibp, under Application Help for SAP Integrated Business Planning
Identity and Access Management Basic Concepts Business Catalogs .
Context
Regardless of where the historical data comes from, you make the same configuration steps to enable the
planning area for change-history-based calculations, to define the required planning levels, key figures, and
their calculations.
Procedure
Related Information
Use the change-history-based calculations feature to carry out calculations based on historical key figure
values.
Prerequisites
Make sure you have the necessary authorizations for this activity, that is, the business catalogs required for
this activity are assigned to a business role that is assigned to your business user. For more information see the
SAP Help Portal at http://help.sap.com/ibp, under Application Help for SAP Integrated Business Planning
Identity and Access Management Basic Concepts Business Catalogs .
You have created a planning area with planning levels and key figures.
Procedure
Note
These attributes are not listed in the Attributes app and you can't change them.
Related Information
Set up key figures so that you can calculate and view their values based on the past values of the input.
Prerequisites
Make sure you have the necessary authorizations for this activity, that is, the business catalogs required for
this activity are assigned to a business role that is assigned to your business user. For more information see the
SAP Help Portal at http://help.sap.com/ibp, under Application Help for SAP Integrated Business Planning
Identity and Access Management Basic Concepts Business Catalogs .
Context
To be able to capture the changed key figure values or shared key figure values, you must either change the
settings of the key figure, or create a dedicated stored key figure as the counterpart of the key figure whose
changes or shared values you want to record (the base key figure).
Procedure
1. Open the Key Figures tab of the planning area in the Planning Areas app.
Decide if you need a dedicated key figure to record the changes, or to track the shared values.
• For recording the change history of a key figure, you don't need to set up a dedicated key figure.
• In case of tracking past data sharing events, for each published key figure that you want to track, you
have to define a corresponding history key figure that is change-history enabled.
• For received key figures, you have two options.
If you want to track the changes of the received values, create a dedicated history key figure. Using this
approach, IBP segregates the values that were received from your supplier (these values are captured in
the dedicated history key figure) and the values that were entered by a user (changes done directly to the
key figure to be tracked).
If you rather want to track all changes to the values of the key figure, no matter if your supplier changed it
or a user at your company, use the key figure itself for tracking.
2. If you're creating a dedicated key figure, choose New.
a. Enter a key figure ID, and select a base planning level from the list.
We recommend that you add a suffix, such as DS or CHG, to the ID of the base key figure, and use it as
the ID of the history-enabled key figure.
Select the same base planning level as the key figure to be tracked has.
b. Fill out the characteristics as required.
Make sure you set the key figure as Stored and select the Enable Change History checkbox.
For the key figure at a history planning level, both Select as Input and Stored Value must be selected.
With that, the history attributes and data sharing attributes the planning level contains will be available
for calculations, aggregation, and disaggregation.
A key figure can be an input at a history planning level only if the history planning level is compatible
with the base planning level of the input key figure. That is, the history planning level must contain
exactly the same set of attributes that the base planning level of the key figure contains, plus the
history attributes, and, optionally, the data sharing attributes. The history planning level must have the
same root attributes as the base planning level, plus the TSCHANGEIDFR history attribute.
d. Save your changes.
3. If you use the key figure itself to track the changes, make sure that the required settings are made for the
key figure.
• The key figure must be stored and the Enable Change History checkbox must be selected.
• You have added calculations at history planning levels.
Related Information
When you start the consistency check or the activation of a planning area that is enabled for change-history-
based calculations, the system performs the following checks on the planning area and on the model entities
that are activated together with a planning area (planning levels, key figures, and versions):
You can activate a planning area that is enabled for change-history-based calculations only if – on top of the
general checks – all of the above listed checks are successful.
Related Information
Change-History-Based Calculations
Change History for Key Figures
Usually, you can only use one time attribute when analyzing key figures. In case you want to compare key
figures across different time periods, you can configure time profile attributes to facilitate period-to-period
comparisons.
Prerequisites
Make sure you have the necessary authorizations for this activity, that is, the business catalogs required for
this activity are assigned to a business role that is assigned to your business user. For more information see the
SAP Help Portal at http://help.sap.com/ibp, under Application Help for SAP Integrated Business Planning
Identity and Access Management Basic Concepts Business Catalogs .
You have already created a planning area and added all the master data types you want to use for the
comparison.
You can use period-to-period comparison to perform, for example, a year-to-year comparison of key figures
grouped by month or quarter. After configuring period-to-period comparison, you can create planning views as
shown in the following example.
Example
Time
Prod Key Pe 01- 02- 03- 04- 05- 06- 07- 08- 09- 10- 11- 12-
uct ID Figure riod JAN FEB MAR APR MAY JUN JUL AUG SEP OCT NOV DEC
IBP-10 Ac 2021 100 110 120 150 160 180 200 210 250 260 270 300
0 tuals
2022 100 120 130 150 160 190 200 230 250 260 270 300
The values of the Time Period column are derived from the time profile assigned and reflect the yearly time
period level. The header that appears above the actual key figure values is realized by adding an attribute to the
time profile as follows.
Note
The procedure that follows is an example. You can also configure the time profile attributes on other time
profile levels.
Procedure
1. In the Attributes app, create the new attribute MONTHNAME with the following details:
• ID: MONTHNAME
• Name: Month Name
• Data Type: NVARCHAR
• Length: 20
This attribute will be assigned to the time profile assigned to your planning area and will contain the name
of the month (for example, 02-FEB).
2. In the Time Profiles app, find the time profile assigned to your planning area and add the new attribute to
the appropriate time profile level. In this example, we want to create and compare a key figure that is stored
at the monthly level, so we need to assign the MONTHNAME attribute to the month level.
3. On the Planning Levels tab of the Planning Areas app, add the MONTHNAME attribute to the planning level of
the key figure that should be used for period-to-period comparisons. You might need to add the attribute to
multiple planning levels to ensure a consistent model. If you don’t have a planning level on monthly buckets
yet, we suggest that you create one. In that case you also need to create a new key figure.
4. Check and activate the planning area with its dependencies.
5. Download the existing time profile data and maintain the MONTHNAME attribute on the time profile level that
you have created in step 2. Make sure the time profile data itself remains untouched, otherwise you may
cause data loss.
Note
The following limitations may arise when using time profile attributes within the SAP Integrated Business
Planning, Add-in for Microsoft Excel:
Editability formatting (past, current, future, or editability Limitations may arise based on the configuration setup.
horizon)
When you create a new model entity, make sure that you observe the following rules when you select an ID for
the item.
Attribute ID
• be up to 32 characters long
• contain numbers and letters
• only start with a letter
• be up to 32 characters long
• contain numbers and letters
• only start with a letter
Time Profile ID
• be up to 32 characters long
• only be positive integers
Planning Area ID
• be up to 10 characters long
• contain numbers and letters
• only start with a letter
• be up to 32 characters long
• contain numbers and letters
• only start with a letter
Key Figure ID
• be up to 32 characters long
• contain numbers and letters
• only start with a letter
Version ID
• be up to 10 characters long
• contain numbers and letters
• only start with a letter
Strings that have a special significance in SAP Integrated Business Planning mustn’t be used for IDs or values
of modeling entities.
Reserved Names
Do not use the IDs, names, descriptions, and values listed below when configuring and using your planning
model.
For attributes and key figures, don’t use any of the following IDs:
VALUE
• STOREDVALUES
• SCMRESTRICTFILTER
• REQUEST
Attribute Values
When uploading data, you cannot use the following values for the attribute:
• NONE
Naming Restrictions
Attributes
When you create attributes, do not create attributes that have any of the following dependencies between their
IDs:
Key Figures
Both the key figure ID and the key figure name must be unique within a planning area.
Activation of a planning area fails when you delete an attribute and reuse its ID to create a new key figure in
one transport. The same happens if you delete a key figure and reuse its ID to create a new attribute in one
transport.
Keep in mind that attribute IDs and key figure IDs must have unique values within a planning area.
For example, activation fails if you create a new key figure in the following way:
1. You delete an attribute and activate the planning area that the attribute was assigned to in the source
system.
2. You create a key figure with the same ID and run activation again.
3. You export both with the same transport.
As a result, an attribute to be deleted and a key figure to be created with the same ID coexist in the system
where the transport carrying the changes has been imported to.
The same happens if you delete a key figure and create an attribute with the same ID the way described.
How to Recover If Activation Fails After You Delete an Attribute (or a Key
Figure) and Reuse Its ID Within One Transport
The following example shows the situation when you delete an attribute and create a key figure. The process is
the same if you delete a key figure and create an attribute.
1. Manually delete the new key figure from the target system.
2. Activate the planning area in the target system.
This step removes the attribute that you want to delete and whose ID you want to reuse.
3. Reimport the key figure and activate the planning area in the target system.
Note
If you work in a three-system landscape, you need to perform these steps in each of your systems.
How to Delete an Attribute (or a Key Figure) and Reuse Its ID for a New Key
Figure (or Attribute)
The following example shows the situation when you delete an attribute and create a key figure. The process is
the same if you delete a key figure and create an attribute.
1. Delete the attribute whose ID you want to reuse and run activation in the source system.
2. Export the attribute to be deleted to the target system and run activation in the target system.
3. You can create a key figure with the same ID as the attribute you've just deleted, and run activation in the
source system.
4. Export the new key figure and activate the planning area.
Once you have your planning models up and running, you might want to monitor and check your processes
every now and then. In this section, you can find useful techniques for monitoring your planning models,
investigating possible issues and implemeting best practices to avoid such matters in the future.
In the Simulate Key Figure Calculations app, you can create and run simulations to check the correctness
of each calculation step, from the stored key figure level to calculations at request level, including interim
calculation steps as well.
With the Simulate Key Figure Calculations app, you can have an overview and gain an understanding of the
complete calculation graph of a key figure. You can display either the inactive or the active instance of a
planning area. The active instance is a complete and consistent planning area, otherwise it couldn't have been
activated. The inactive instance includes the changes since the last activation, and may not be complete and
consistent. The key figure data is displayed in an easy-to-read table format similarly to the other SAP IBP user
interfaces.
The Simulate Key Figure Calculations app also improves the productivity of modeling by making it possible
to test the correctness of the calculations using the actual key figure data without activating the planning
area first. The app can use the active or the inactive version of the planning area for simulation purposes to
make testing easier before productive use and to support troubleshooting during productive use. The inactive
instance includes the changes since the last activation, and may not be complete and consistent.
The simulation uses existing filters defined in SAP IBP, Add in for Microsoft Excel to filter data and to speed up
the configuration of a simulation run.
Every simulation requires input data, and the Simulate Key Figure Calculations app uses the key figure data
records stored in the system. In the app, you can't modify the key figure data records stored in the system, they
are used only for display purposes.
Note
SAP IBP usually works with huge data volumes, as planning models can easily contain hundreds of millions
of data records in the database tables. The input data can be filtered by Planning Filters to decrease the
amount of input data so that it is just enough to validate the calculation.
To be authorized to use the Simulate Key Figure Calculations app, make sure that the Simulate Key Figure
Calculations (SAP_IBP_BC_KFCSIM_PC) business catalog is assigned to your business role. This business
catalog offers the possibility to set up the following restrictions under Maintain Restrictions:
• Planning area
You can restrict for which planning area a simulation can be created.
• Access to simulations of key figure calculations
You can specify whether a user has access to any simulation in the system or only to those that they have
created. Users who have access to all simulations can run a simulation for other users as well.
• Type of data used for simulation
Select TRANS as only transactional data stored in the system can be used as input.
The app also uses the restrictions and permissions coming from the Basic Planning
Tasks (SAP_IBP_BC_EXCEL_ADDIN_PC) business catalog, which is functionally required for the
SAP_IBP_BC_KFCSIM_PC business catalog.
To ensure that you can display all dependent modeling objects and logs, make sure that the following business
catalogs are also assigned to your business role:
1. Choose Create.
2. Choose a planning area.
Select if you want to use the active or the inactive instance of the planning area.
3. Choose a planning view template or favorite, and a worksheet.
4. Select the figure you want to run the simulation for.
5. To make the simulation more specific and reduce the lines to be shown after the simulation is run, you can
define the following settings as well:
• Time period from which you want to read data on the base planning level.
• Planning filter for attributes on the base planning level.
• Scope of the simulation: you can run it for the complete graph or for selected nodes only.
To run the simulation on selected calculations only, choose Selected Nodes and then Create. Select
the calculations either in the graph or from a list view (Select Calculations), then choose Simulate and
Selected Nodes.
• Number of days for which you want to store the simulation in the system.
The default value is 50 days counting from the last simulation.
6. You have the possibility to run the simulation for your own user or for another user.
If you run the simulation for another (business) user, planning view templates and favorites are restricted
based on the permission filters of the business user when running the simulation.
7. You can also give a name to the simulation.
In this example, you can detect missing exchange rates in the calculation chain by running a simulation in the
Simulate Key Figure Calculations app.
As you can see in the example below, the calculations at the topmost levels do not return key figure data after
the currency conversion. Calculations with no calculation results are marked with an exclamation mark.
A currency conversion can only be calculated if exchange rates exist in the system and that a currency
conversion calculation has been defined for the key figure involved. The simulation results show that the input
of the currency conversion is available in USD.
Another variant of this example is when the exchange rate is missing for a few time periods only. In this
case, the calculations do not return results for those time periods only where the exchange rate is missing. In
As all periods are there before the currency conversion, the exchange rates should be checked. Looking at
EXCHANGERATE@MTHCURRCURRTO you can see that the exchange rate for USD-to-USD conversion is missing
only in March and April of 2022.
In this example, you can detect an erroneous division by zero by running a simulation in the Simulate Key Figure
Calculations app.
A calculation can't include a division by zero for any actual key figure value. Division by zero causes a numeric
overflow condition in the system and therefore needs to be avoided. As the Simulate Key Figure Calculations
app uses the key figure data records stored in the system, it can detect cases that cause a runtime error, such
as a numeric overflow, during the daily operation. In the example below, the calculations marked with red color
indicate that an error has happened during the simulation.
Calculations imposing Filter Blocks [page 481] can have an effect on how simulation results are displayed in
the Simulate Key Figure Calculations app.
Calculations imposing filter blocks mean that even if a filter is defined on a planning view template level (for
example, for a certain time horizon), such filters cannot be pushed below these calculations, as it would not
In order to improve performance and also restrict the amount of data displayed in the table view for the
calculation nodes, you can set filters on base planning levels in section Filters on Base Planning Level. You have
two options here:
Filters on base planning level are different from filters set in the planning view template. Filters on base
planning level are always applied on the level of stored data, regardless of filter blocks.
During troubleshooting or even modeling, it is important to understand how the Simulate Key Figure
Calculations app behaves in case the data used by the simulation has missing or NULL values. The following
cases explain how you can interpret the data represented in the table view in case of missing or NULL values.
Missing Data
If the calculation node in the graph does not provide any output data records, then an icon with an exclamation
mark is displayed on the top left corner of the node. This indicates that any other calculation that uses this
node as an input will not receive input data from this node. Depending on the calculation, this can either mean
that the dependent calculation won't return output data records as well or that the calculation might provide
incorrect results. The reason why a calculation node does not have output records can be the following:
• If it's a stored key figure, there might be no data uploaded for the selection defined in the planning view.
• In the simulation configuration, it's possible that planning filters or time filters further restrict data on the
base planning level.
In SAP IBP, key figures can have NULL values, which is different from the situation when no time series data
is initialized for the planning object. The later means that if a certain planning object combination exists on a
planning level but no time series data is generated (either with data integration or planning operators), then
the data for that combination is not shown. NULL values however indicate, that there's actual time series data
or that the result of a calculation is NULL. Either way, NULL value is displayed in the table view with an empty
(non-zero, initial) cell value.
The value of a key figure can be 0 as well, which is different from the NULL value. Zero values are shown with an
actual 0, whereas NULL is displayed as an empty cell.
As mentioned before, even if planning objects already exist on a planning level, time series (key figure) data
needs to be initialized for these planning objects. This can be done by either uploading data into SAP IBP
via data integration or by running certain planning operators, such as the copy operator. If time series data
is not available for certain planning objects (restricted by the planning view filters and the filters on base
planning level in the Simulate Key Figure Calculations app), then the table view does not show any data for
those planning objects (so no record will be visible, not even with empty key figure values).
Note
Initialization means that if any of the stored key figures of a given planning level has values uploaded, all
other key figures on this planning level automatically will have a NULL value unless a different value is
uploaded. This means that, for example, even if KF1@DAYPRODLOC is not explicitly uploaded, having data
uploaded for KF2@DAYPRODLOC entails that KF1@DAYPRODLOC has NULL values for the time periods where
KF2@DAYPRODLOC has data uploaded.
It might happen that a planning object does have time series data uploaded for certain time periods but not for
all of them. For example, there is data uploaded for January 2022, February 2022 and April 2022 and so on, but
• If only combinations with missing time periods are queried, the column representing this month is not
displayed in the table view; it is simply omitted. There is no further indication in the table view that there's a
missing time period in the time series.
• If combinations with and without missing time periods are queried together during the simulation, there
are columns for the missing periods as well in the table view. In this case, the key figure value for the
missing time periods will be empty.
If neither time series data, nor planning objects are available on a given planning level defined by the simulation
filters (defined in the planning view and by filters on base planning level), then no record is visible in the table
view.
You can enter or delete key figure data manually for existing planning objects and time periods, and then run
simulations in the Simulate Key Figure Calculations app.
When you manually change key figure data, the changed values aren't stored in the actual live system: they’re
only available for the time of the simulation. The nonchanged key figure values are fetched live from the
existing transactional data. This means that the simulation that runs on changed key figure values works with a
mix of changed key figure values and actual live transactional data.
Consider the following, when you run a simulation on manually changed data:
• You can only enter key figure data manually for existing planning objects and time periods, but you can’t
create or delete new planning objects or time periods.
• You can change key figure data only on a stored key figure level but not on a calculated level.
• You can also delete existing key figure data; in this case, the new value will be NULL.
• You must run a simulation at least once based on the original, live data that exists in the system, before you
can change any key figure data. Therefore, the changes won't necessarily be based on the latest live data in
the system, but on the data that existed in the system at the time of the execution of the simulation.
• You might find that when you run a new simulation on the changed key figure data, you can only see the
key figure values that you have changed, and all the other values are NULL. This occurs when the planning
objects for those values had been removed from the system since the previous simulation.
• You can revert to the unchanged version of the key figure values and discard all changed values by
copying the simulation to create a new one. This copy will ensure that the simulation again works with the
transactional data that exist in the system instead of using the changed values.
When using the Simulate Key Figure Calculations app, there are some limitations that you need to consider.
You can use the Simulate Key Figure Calculations app to test configuration changes that you make to key
figures. To run the simulation, you don't need to activate the planning area after you've changed a key figure in
it; the planning area can be active or inactive. You can also use the app to test new calculation chains.
The simulation uses existing stored key figure data, which means that there are limitations on the nature of the
change you can make to the key figures. If you run the simulation on the inactive version of the planning area,
the system checks the changes that you made to the key figures using validation checks.
Please consider the following when working with the Simulate Key Figure Calculations app:
• The planning area must be valid, so that the inactive model can be activated without errors.
• As the simulation uses key figure data stored in the system, keep the following in mind:
• If you want to use newly created stored key figures in the calculation chain that is being simulated,
you must activate the planning area that contains them first. Also, there must be data available for
simulation purposes.
• You can't change the base planning levels of stored key figures in the calculation chain.
• Functions that aren't directly related to the planning model configuration can't be simulated from the app.
For example, simulating the effects of disaggregation isn't possible.
• You can't trigger any planning operators in this app, and you can't use the inactive key figure configuration
as input for planning operators. You can use active key figures as input, and trigger planning operators in
the standard way.
• You can simulate existing calculations using helper key figures, and you can check the values of the helper
key figures in the app. However, you need a request level calculation for the simulation to be able to use
helper key figures.
• You can only use time-independent key figures in the app, if there's a request level calculation that uses the
time-independent key figure calculation.
Key figure calculations can be represented in calculation graphs, which help you to get an overview of a key
figure's complete graph. A calculation graph displays a key figure's calculation definitions at different planning
levels, and their input-output relationships. In addition to that, key figure calculations can also be represented
in where-used graphs, which help you to get an overview of dependencies between calculations. A where-used
graph displays all the calculations that use a specific calculation as a direct or indirect input.
By loading a calculation's where-used graph, you can display all key figures and calculations that are
dependent on the calculation you have selected. This is especially useful when you change a calculation and
you would like to see which other calculations are affected by this change. Also, if a key figure calculation
consumes significant resources, you might want to know which request level calculations use the calculation in
question.
As a result, the selected calculation is put into focus (indicated by a purple background and dotted line). You
can now see all calculations that use the selected calculation as a direct input, as well as the direct inputs of the
calculation.
The three dots on the upper left corner of a node indicate that there are further nodes above or below the node.
Note
When loading a where-used graph, please keep in mind that selecting a node does not put it into focus. You
need to select it and choose the Put into Focus and Load Where-Used Graph button to do so.
You can now select the calculation in focus and choose the Expand/Collapse All buttons to expand the graph,
and load all calculations that are built on the selected calculation and all inputs of the calculation you have
selected. By doing so, eventually you can display all key figures that are dependent on this calculation and
all the inputs of the selected calculation. By expanding and collapsing a graph, you will not change the
focus. Navigating with the Expand/Collapse All buttons, you can simply explore the where-used graph of the
calculation you have put into focus previously.
To get a list of all key figures that are dependent on the selected calculation, choose the Export Where-Used
Graph to Excel button ( ).
If you are interested in the where-used graph of another calculation in the graph, select the node that contains
the calculation and choose the Put into Focus and Load Where-Used Graph button. Again, you can expand and
collapse the graph as you wish, and export the where-used graph to an Excel.
SAP IBP usually works with huge data volumes, as planning models can easily contain hundreds of millions
of data records in the database tables. These planning models are made up of complex Calculation graphs,
which you can display in the Key Figure Calculations app. In most cases, calculation graphs process large data
volumes to calculate the key figures at request level. Using the Analyze Data Volume In Calculations app, you
can create a detailed report about the volume of data processed in each step of a calculation graph.
Authorization
To be authorized to use the Analyze Data Volume In Calculations app, make sure that the Analyze
Data Volume in Calculations for Administrators (SAP_IBP_BC_DATAVOLAN_ADM_PC) business catalog is
assigned to your business role. The app uses the restrictions and permissions coming from the Basic
Planning Tasks (SAP_IBP_BC_EXCEL_ADDIN_PC) business catalog, which is functionally required for the
SAP_IBP_BC_DATAVOLAN_ADM_PC business catalog.
Depending on the restrictions and permissions coming from the SAP_IBP_BC_EXCEL_ADDIN_PC business
catalog, you might not be authorized to use all templates of SAP IBP, add-in for Microsoft Excel, and you
To ensure that you can display all dependent modeling objects and logs, make sure that the following business
catalogs are also assigned to your business role:
Using the Analyze Data Volume in Calculations app, you can create a data volume report for a specific planning
view template or favorite available in SAP Integrated Business Planning, add-in for Microsoft Excel (SAP IBP,
add-in for Microsoft Excel) . To do so, click on Create, select the planning area, the planning view template or
favorite, and the sheet for which you want to create the report. You have the possibility to run the data volume
report for your own user or for another user. If you run the report for another (business) user, planning view
templates and favorites are filtered based on the permission filters of the business user when running the
query. You can also give a name to the data volume report.
When running the report, the system analyzes the planning view as if it were executed in SAP IBP, add-in for
Microsoft Excel. Key figures are analyzed at the requested aggregation level, taking into account the master
data and time attributes selected, filters applied by the business users, and user-specific permission filters as
well. As a result, the report analyzes the complete calculation graphs of all key figures added to the planning
view. Once the report is run successfully, you get a list of all interim calculation steps with the number of data
records processed in each step. The report is run for all time profile level and version combinations available in
the selected planning view.
The amount of data records usually correlates with runtime. By analyzing the data record numbers in a
calculation chain, you can learn which calculation steps are performed on a large number of records. Taking
a closer look at these steps and investigating the reasons behind large numbers helps you understand why
certain queries run longer than others and what you can do to improve performance.
During the analysis, the system determines each calculation step that is required to calculate the key figures
queried in the planning view. Even though these interim calculation steps are not visible, they are created
temporarily while processing the query. The report measures the amount of data records processed in each
calculation step, including interim calculation steps as well as the calculations at request level.
Interim data records are generated runtime; they are not stored in the database. Data records of interim
calculation steps are kept until the key figures queried in the planning view are calculated. For example, an
interim calculation might be performed on a product/location/daily level, while the request level calculation is
performed on a product group/region/weekly level. This means that the number of data records is reduced
during the calculation chain with the help of aggregations.
We use data records to measure data volume in calculations. Data record is a row in a temporary database
table constructed at runtime. For example, if a calculation is defined on a month/product/location level
(CALC1@MONTHPRODLOC), then one data record is one row in the table below:
2021 March P1 L2 80
However, this representation of data records does not necessarily reflect how data is returned in the planning
view. The user is free to define how data is formatted in the planning view in SAP IBP, add-in for Microsoft
Excel, and might make additional client-side settings (for example, apply value-based filters). As a result, the
number of data records counted by the report and the number of cells in the planning view might differ.
Furthermore, the number of data records is an estimated value since while processing the query, the database
might optimize the execution and perform certain steps together.
The amount of data records usually correlates with runtime. Though data volume is not a direct runtime
indicator, processing large data volumes tends to take more time than processing a smaller number of data
records. However, it is not always the case. In SAP IBP, there are calculations that can be performed in
parallel, for example aggregations and simple arithmetic operations. In these cases, large data volumes can be
processed simultaneously, thus large data volume does not necessarily results in longer runtime. On the other
hand, there are calculations which are more difficult to be performed in parallel, for example L script and some
of the simplified key figure calculations. In these cases, large data volumes will most probably result in longer
runtimes.
By reducing the number of data records processed at a given calculation step, you will improve performance.
How much of an improvement you can make with that depends on the following factors:
Once the report is run successfully, click on the report to check out the detailed results. If your planning view
contains more than one time profile levels or versions, first select the time profile level and version combination
for which you want to display the number of data records. You will find information about the followings:
All the key figures in the planning view template or favorite are queried and processed together when running
the report. Calculation steps that are required by more than one key figure are performed only once and used
by all key figures that are built on it. You can decide how you want to display the calculation steps when
checking the results of your data volume report.
If you want to display the calculation chains of all the key figures at request level, group the calculation steps by
key figures at request level. In this case, calculation steps in common are displayed under each key figure that
uses them as input. Though they are listed several times, they are performed only once and then reused by all
calculations built on them. If you ungroup the calculation steps, each calculation is listed only once in the table.
Data Records
This figure shows the number of the data records processed in the given calculation step. It is an estimated
value. When running the data volume report, the system performs the calculations exactly the way they are
modeled, and calculates data records accordingly. These data record numbers, however, might be different if
the database can optimize the processing of certain calculations, for example, merge certain steps together or
rearrange certain processing blocks.
Optimally, data volume is filtered and thus reduced as close to the data source as possible, so that all
calculations above are performed on a smaller data set. By reducing the number of data records, you might
increase the performance of your queries.
However, there are certain types of calculations that temporarily need to process large number of data records,
regardless of the filters set in the planning view. These calculations impose filter blocks, which typically prevent
filtering and thus reducing data volume below the blocking calculations.
This figure shows the number of time series records at the level of stored key figures. You can display the total
number, ignoring user-specific permission filters, as well as the number of time series records limited by the
user-specific permission filters.
The total number of time series records represent the total number of records that are available at the base
planning level of the stored key figure.
Filter Blocks
A very common reason why data volume is not reduced at the level of stored key figures is that there are filter
blocks in the calculation graph.
Some modeling techniques prevent filtering on the level of stored key figures by imposing filter blocks
on certain attributes. A filter block is required for these calculations so that they provide correct results.
For example, in the case of cross-period calculations, the filtering of time attributes is not allowed as the
calculation uses values from several time periods.
In the calculations where filtering is blocked, the attributes listed on the pop-ups are affected by a filter block.
This means that though these attributes are selected for filtering in the planning view, they cannot be used for
filtering due to the modeling technique used in the actual or a parent calculation. Filtering will only take place
after the blocking calculation has been performed. As a result, the calculations affected by the filter block are
performed on a large, unfiltered data set, which might increase the runtime of queries.
When the planning view contains several key figures and a calculation imposes a filter block, the filter block
is not only raised in its own calculation graph, but also in the calculation graphs of the other key figures. The
reason behind is that the database optimizes the execution of queries, so several calculations and stored key
figures are processed together in one calculation node. In this way, filter blocks are shared as well.
For more information and examples of filter blocks and effective filtering, see Filter Blocks [page 481].
Different calculations and key figures that are defined at the same planning level can be processed in the
same calculation node. This means that though there are several different calculations defined, they are not
performed individually, but handled together in the same processing block (calculation node). This is done to
speed up queries.
In such a case, data is fetched only once and then used by all the calculations that share the same calculation
node. Though these calculation steps and key figures are listed as separate entries in the result of the data
volume report, the relevant data records are processed only once, no matter how many times they are listed in
the table.
Query Runtime
Planning view templates and favorites might include several versions and time profile levels. For each version
and time profile level combination, a separate query is run. In the data volume report details, you can display
As mentioned previously, the runtime result is for your reference only, as the value might be very different from
what the user experiences in SAP IBP, add-in for Microsoft Excel. This is especially the case when there are
several versions and time profile levels in the planning view. However, the runtime numbers might very well
serve as indicators of the most performance intensive combinations, which you can further investigate and
fine-tune.
You have the following options to learn more about key figures and calculations that seem to process a larger
number of data records than what would be required.
On the Data Volume Report Details screen, click on a calculation to display the calculation expression and the
direct inputs of the calculation step. You can also navigate to the Planning Areas app, where you can display all
details of the selected key figure.
In the Planning Areas app, a historical state of the key figure is loaded, which reflects the state of the planning
model at the time when the data volume report has been run.
You also have the possibility to display the calculation graph that contains the selected calculation in the Key
Figure Calculations app.
If you navigate from the grouped view of key figures, only the graph of that specific key figure is displayed
under which you selected the calculation. If you navigate from the ungrouped view of key figures, the graph
is displayed for all key figures that contain the selected calculation. Select the Legend to see what kinds of
calculations build up the calculation graph. Look for simplified key figure calculations, inner join, and L script,
as these types of calculations might increase data volume or prevent filtering, which can lead to performance
issues.
In the Key Figure Calculations app, a historical state of the graph is loaded. This means that the graph reflects
the state of the planning model at the time when the data volume report has been run.
If you navigate from the Filter Block Details pop-up, the Filter Bocks tab is opened in the Key Figure Calculations
app. On the Filter Bocks tab, the attributes that are used as filters in the planning view template or favorite are
preselected by default. Only these attributes are relevant from a filtering and thus performance point of view.
Here, you have the chance to learn more about filter blocks and look for attributes that can be used effectively
for filtering in the calculation graph.
For more information about filter blocks, Watch a video! [page 492]
SAP IBP usually works with huge data volumes, as planning models can easily contain hundreds of millions of
data records in the database tables. To enhance performance, queries are typically filtered. The most common
way to do so is to specify and use filters in SAP Integrated Business Planning, add-in for Microsoft Excel (SAP
IBP, add-in for Microsoft Excel) or the Planning Filters app. This reduces data volume in key figure calculations
and speeds up queries. For more information about filters, see Filters in Planning Views.
Key figure calculations can be represented in calculation graphs, which you can display in the Key Figure
Calculations app. When filters are used, all attributes are filtered as early in the calculation chain as possible,
ideally at the level of stored key figures. This ensures that data volume is reduced and calculations can be
performed on a filtered set of data. However, some modeling techniques prevent filtering on the level of stored
key figures by imposing - so-called - filter blocks on certain attributes in certain calculations. A filter block
is required for these calculations so that they provide correct results. By displaying where filter blocks might
occur in your calculation graphs, you can get a better understanding of how to filter data more effectively and
improve the performance of your queries.
You can view these filter blocks in the Key Figure Calculations app. Select a planning area and a key figure, then
choose Go to display the calculation graph. Choose the Filter Blocks tab and select Show All Attributes from the
dropdown to display attributes where filter blocks are raised, as well as attributes where filtering is possible. If
you are only interested in attributes that might cause filter blocks, select the Only Direct Filter Block Attributes
option from the dropdown. On the other hand, if you are looking for effective filters, select Only Filter Attributes.
Calculation graphs usually contain a huge number of attributes. We suggest that you only display filter blocks
and effective filtering possibilities for those attributes that you actually use for filtering in SAP IBP, add-in for
Microsoft Excel. If an attribute is not used as a filter in your Microsoft Excel template, it will not create a filter
block during the calculation, so it will not cause performance issues. Filter blocks affect performance only if
the attribute in questions is used for filtering. You can select the attributes to be displayed by choosing Select
Attributes and making your selection on the pop-up screen. This way, you can only see filtering information for
the selected attributes, and you can easily navigate in the graph as well.
To learn about the details and causes of the filter blocks, click on an attribute for which a filter block exists or
display the node info.
In the example below, there are no filter blocks at all, all nodes are green. It means that you can filter for all
attributes at the level of the stored key figure. This is the most effective way of filtering, as all the calculations in
the graph can be performed on a filtered set of data.
In the example above, there is a direct block for LOCTYPE because of an attribute transformation.
Consequently, all occurrences of LOCTYPE have an inherited filter block in all the calculations that are below in
the calculation graph.
Also, you can see attributes, for example, LOCID, that act as filter blocks and filters as well within the same
node. This means that LOCID imposes a filter block before the calculation; however, it can be used for filtering
For more information about attribute transformation, see Attribute Transformations [page 437].
Cross-Period Calculations
In the case of cross-period calculations (for example, rolling aggregation, cumulative aggregation, periodshift,
L-script calculations etc.), when we retrieve data for one time period, the actual calculation happens across
several time periods. Since these calculations use input from several time periods, there is a filter block for all
the time attributes involved. The only exception is the new dynamic last period aggregation (IBP_LPA), which
does not impose a filter block on the time attributes. For that reason, we suggest that you use the dynamic
IBP_LPA function, instead of the old time attribute transformation. For more information, see Last Period
Aggregation [page 192].
In this example, the calculation of the KF1OFFSET key figure takes a lot of time, Microsoft Excel templates
are loading very slowly. To investigate what the problem might be, let's call up the Key Figure Calculations
app and search for the KF1OFFSET key figure. By checking the calculation graph of the key figure, we learn
that the graph contains a time attribute transformation, which imposes filter blocks and probably causes the
performance issues. To analyze and fix this problem, follow the steps below.
1. Open the Key Figure Calculations app, select your planning area and key figure (KF1OFFSET in this case),
and then choose Go.
The calculation graph of the key figure is loaded.
2. Choose the Calculations tab first to get an overview of the calculations in the graph.
In this example, the calculation of the ACTUALSQTY key figure takes a lot of time, Microsoft Excel templates
are loading very slowly. To investigate what the problem might be, let's call up the Key Figure Calculations
app and search for the ACTUALSQTY key figure. By checking the calculation graph of the key figure, we learn
that the graph contains a master data transformation, which imposes filter blocks and probably causes the
performance issues. To analyze and fix this problem, follow the steps below.
1. Open the Key Figure Calculations app, select your planning area and key figure (ACTUALSQTY in this case),
and then choose Go.
The calculation graph of the key figure is loaded.
2. Choose the Calculations tab first to get an overview of the calculations in the graph.
In this example, the calculation of the CKF03CAGGR key figure takes a lot of time, Microsoft Excel templates are
loading very slowly. To investigate what the problem might be, let's call up the Key Figure Calculations app and
search for the CKF03CAGGR key figure. By checking the calculation graph of the key figure, we learn that the
graph contains a cross-period calculation, which imposes filter blocks and probably causes the performance
issues. To analyze and fix this problem, follow the steps below.
1. Open the Key Figure Calculations app, select your planning area and key figure (CKF03CAGGR in this case),
and then choose Go.
The calculation graph of the key figure is loaded.
2. Choose the Calculations tab first to get an overview of the calculations in the graph.
Hyperlinks
Some links are classified by an icon and/or a mouseover text. These links provide additional information.
About the icons:
• Links with the icon : You are entering a Web site that is not hosted by SAP. By using such links, you agree (unless expressly stated otherwise in your
agreements with SAP) to this:
• The content of the linked-to site is not SAP documentation. You may not infer any product claims against SAP based on this information.
• SAP does not agree or disagree with the content on the linked-to site, nor does SAP warrant the availability and correctness. SAP shall not be liable for any
damages caused by the use of such content unless damages have been caused by SAP's gross negligence or willful misconduct.
• Links with the icon : You are leaving the documentation for that particular SAP product or service and are entering an SAP-hosted Web site. By using
such links, you agree that (unless expressly stated otherwise in your agreements with SAP) you may not infer any product claims against SAP based on this
information.
Example Code
Any software coding and/or code snippets are examples. They are not for productive use. The example code is only intended to better explain and visualize the syntax
and phrasing rules. SAP does not warrant the correctness and completeness of the example code. SAP shall not be liable for errors or damages caused by the use of
example code unless damages have been caused by SAP's gross negligence or willful misconduct.
Bias-Free Language
SAP supports a culture of diversity and inclusion. Whenever possible, we use unbiased language in our documentation to refer to people of all cultures, ethnicities,
genders, and abilities.
SAP and other SAP products and services mentioned herein as well as
their respective logos are trademarks or registered trademarks of SAP
SE (or an SAP affiliate company) in Germany and other countries. All
other product and service names mentioned are the trademarks of their
respective companies.