Académique Documents
Professionnel Documents
Culture Documents
The documentation may have changed since you downloaded the PDF. You can always find the latest information on SAP Help Portal.
Note
This PDF document contains the selected topic and its subtopics (max. 150) in the selected structure. Subtopics from other structures are not included.
2014 SAP SE or an SAP affiliate company. All rights reserved. No part of this publication may be reproduced or transmitted in any form or for any purpose
without the express permission of SAP SE. The information contained herein may be changed without prior notice. Some software products marketed by SAP SE
and its distributors contain proprietary software components of other software vendors. National product specifications may vary. These materials are provided by
SAP SE and its affiliated companies ("SAP Group") for informational purposes only, without representation or warranty of any kind, and SAP Group shall not be
liable for errors or omissions with respect to the materials. The only warranties for SAP Group products and services are those that are set forth in the express
warranty statements accompanying such products and services, if any. Nothing herein should be construed as constituting an additional warranty. SAP and other
SAP products and services mentioned herein as well as their respective logos are trademarks or registered trademarks of SAP SE in Germany and other
countries. Please see www.sap.com/corporate-en/legal/copyright/index.epx#trademark for additional trademark information and notices.
Table of content
PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.
Page 1 of 102
Table of content
1 Administration
1.1 Environment Management
1.1.1 New Environments
1.1.2 EnvironmentShell Sample Environment
1.1.3 Environment Status
1.2 Dimension Management
1.2.1 New Dimensions
1.2.2 Dimension Types
1.2.3 Dimension Security
1.2.4 Dimension Processing
1.2.5 Dimension Member Management
1.2.6 Assignment of Dimensions to Models
1.2.7 Custom Measure Formulas
1.2.8 Dimension Properties
1.2.8.1 Owner Property
1.2.8.2 Reviewer Property
1.2.8.3 Account Dimension Properties
1.2.8.4 Category Dimension Properties
1.2.8.5 Currency Dimension Properties
1.2.8.6 Entity Dimension Properties
1.2.8.7 Group Dimension Properties
1.2.8.8 Intercompany Dimension Properties
1.2.8.9 Time Dimension Properties
1.2.8.10 User-Defined Dimension Properties
1.2.8.11 Audit Dimension Properties
1.2.8.12 Subtable Dimension Properties
1.3 Model Management
1.3.1 Reporting Models
1.3.2 Drivers and Rates Models
1.3.3 Large Key Figure Usage
1.3.3.1 Activate Large Key Figure Support in the SAP Reference IMG
1.3.3.2 Modify Existing Models for Large Key Figure Usage
1.3.3.3 Create New Models that Use Large Key Figures
1.3.4 Stabilizing Cube Names
1.4 Legal Consolidation
1.4.1 Create an Environment
1.4.2 Dimension Setup in Dimension Library
1.4.3 Create or Modify Dimension Properties
1.4.4 Master Data (Dimensions) Setup
1.4.5 Create or Modify the Model
1.4.6 Set the Model Parameters (version for the Microsoft platform only)
1.4.7 Business Rule Setting
1.4.8 Execute Consolidation Task
1.4.9 Loading Data
1.4.10 Journal Definition and Validation Setting
1.4.10.1 Example
1.5 Rules
1.5.1 Member Formulas
1.5.1.1 MDX Formula Syntax
1.5.1.1.1 Simple Rule Formula Examples
1.5.1.1.2 Advanced Rule Formula Examples
1.5.1.1.3 Nested Formulas
1.5.2 Script Logic
1.5.2.1 Library of MDX Functions
1.5.2.1.1 Custom Logic and BADI
1.5.2.2 Logic Keyword Reference
1.5.2.2.1 *ADD / *ENDADD
1.5.2.2.2 *BEGIN / *END
1.5.2.2.3 *DESTINATION_APP
1.5.2.2.4 *FOR / *NEXT
PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.
Page 2 of 102
PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.
Page 3 of 102
PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.
Page 4 of 102
1 Administration
Use
In the Administration screen, administrators perform setup and maintenance tasks.
Features
Setup and maintenance of Planning and Consolidation consist of the following tasks:
Environment management
Dimension management
Model management
Security management, which is explained in the Security Guide
Management of rules for member formulas, logic scripts, business rules, and controls
Set up of business process flows
Set up of work statuses
Set up of journals
Set up of context defaults
Configuration of drill-through
Management of document types and subtypes
Set up of auditing
Features
Adding New Environments
Administrators create new environments by copying information from the EnvironmentShell sample environment that is delivered with Planning and Consolidation.
See New Environments.
Setting the Environment Status
The environment status determines when and how users can log on and interact with the data. See Environment Status.
Setting the Template Version
If you have made changes to any of the dynamic templates for reports or schedules, you can force an update of template files by changing the template version.
Therefore, clients that log on to the environment receive the new templates. You can set template versions by choosing Manage All Environments , selecting an
environment, then choosing Set Template Version . Increment template versions by 1.
Viewing User Activity
Planning and Consolidation logs user and administrator behavior. You can view activity logs by choosing Manage All Environments , selecting a environment,
then choosing User Activity .
Using E-Mail Notifications
Administrators can use an e-mail notification service to send e-mails to users or teams defined in the system. The appropriate SMTP parameters must be set up
correctly. For more details, see the SAP BusinessObjects Planning and Consolidation 10.0 IMG Guide .
Deleting Environments
You can delete environments after choosing Manage All Environments and selecting a environment.
Caution
You can delete an environment when it contains data. You cannot, however, delete a dimension member when there is data associated to that member in a
model.
Additional Information
The following information is important when managing environments:
An environment is equivalent to an InfoArea within NetWeaver with nearly all unique objects within this InfoArea.
No objects are shared across environments, except delivered properties such as scaling, formula, and so on. An InfoArea is like a folder, where in the case
of an environment, it is much more delineated.
You can transport environment changes between development and production systems. For more information, see the operations guide on SAP Service
Marketplace at http://service.sap.com/instguidesEPM-BPC .
More Information
EnvironmentShell Sample Environment
Page 5 of 102
Features
You can copy all the components from a source environment to the target, which includes, but is not limited to, business process flows, drill-throughs, audit,
security, work status, transaction data, documents, journals, and Library view data. You have the option to not copy database records, documents, and Library
view data. After the copying is complete, you can begin to modify the default models, add new ones, and assign users to them.
When you create a new environment, Planning and Consolidation does the following:
Copies the environment WebFolders/data within File Service and user workspaces
Creates a copy of all NetWeaver BI objects
Copies all transactional and master data from the source environment to the new environment
Copies security and Planning and Consolidation metadata
If the system encounters an error when copying a environment, it rolls back to clear the objects created during the failed copy.
Activities
You add a environment by choosing Manage All Environments , then copying an existing environment. When you create the copy, you assign a name and
description to the new environment and indicate which records you want copied from the source.
More Information
EnvironmentShell Sample Environment
Caution
You must not modify the EnvironmentShell environment.
Features
The EnvironmentShell environment contains the following components needed to build a functioning environment:
Four sample models - Planning, Rate, Consolidation, and Ownership - that contain most of the functionality you need to start building your own environment.
The Planning model is a multi-currency financial model. It is designed, by default, to accommodate currency translation.
The Rate model, which stores the currency rates, is assigned to the Planning model as a supporting model. The combination of the two models allows
for the calculation of currency conversions.
The Consolidation model contains consolidation information, such as percent ownership, percent control, percent consolidation, and the consolidation
method to child members.
The Ownership model is a supporting model for a consolidation reporting model. It stores information such as the consolidation methods, ownership
percentages, and group roll up information used for legal consolidation.
If you need to build more complex environments, for example, for legal reporting, you can build an environment using the components included within
EnvironmentShell.
A set of dynamic report and input schedule templates
Data Manager packages
Blank documents in the Documents view and reports in the Library view
Required administration setup parameters
All required dimensions with the properties needed to create a basic planning and consolidation environment
Dimensions in the EnvironmentShell sample environment
Unified dimensions for Planning and Consolidation models
Dimensions
Models
Type ID
Dimension ID
Dimension
Planning
Consolidation
Rates
Ownership
Description
C
CATEGORY
Category
TIME
Time
ENTITY
Entity
PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.
Page 6 of 102
ACCOUNT
Account
AUDITTRAIL
Audit Trail
RPTCURRENCY
Reporting Currency
INTERCO
Intercompany Partner
Dimension
Planning
Consolidation
Models
Type ID
Dimension ID
Rates
Ownership
Description
G
SCOPE
Scope
FLOW
Flow
Models
Type ID
Dimension ID
Dimension
Description
Planning
PRODUCT
Product
Planning
Consolidation
Rates
Ownership
Consolidation
Rates
Ownership
Models
Type ID
Dimension ID
Dimension
Description
R_ACCOUNT
Rate Account
R_ENTITY
Rate Entity
INPUTCURRENCY
Input Currency
Models
Type
ID
Description
O_ACCOUNT
Ownership Account
Planning
Consolidation
Rates
Ownership
X
More Information
New Environments
Environment Management
Dimension Types
Features
When users attempt to log on to an environment that is offline, the system displays a warning and may open the environment to work offline on parked or locked
documents. Users can also query the model information, but the data may not be completely up-to-date.
Activities
You can manually set the status of an environment by choosing
Change Status
You can enter a message to display to users who try to perform a restricted task while the environment is offline. We recommend including the current date and
time and giving an estimated time of when the environment will become available, if appropriate.
More Information
Environment Management
Page 7 of 102
Use
A dimension is a collection of related data members, which represents one aspect of a business; for example, accounts, products, or currency. You manage
dimensions to add and perform other operations on dimensions within your environments, such as defining members and assigning properties. The dimensions
can be added to one or more models in the environment.
Features
You can manage dimensions in the following ways:
Task
More Information
Adding Dimensions
You can add new dimensions to an environment to make them available for use in its
models.
See New Dimensions.
Copying Dimensions
You can copy existing dimensions to create new dimensions. When you copy a
dimension, you specify the source dimension, a new name, and a description.
See New Dimensions.
Modifying Dimensions
You can modify an existing dimension. When you modify a dimension, you can change
the name, description, dimension type, reference dimension, and dimension properties
as well as enable member formulas for the dimension.
See New Dimensions.
Processing Dimensions
When you create a dimension or make changes to an existing dimension, you need to
process the dimension.
See Dimension Processing.
Deleting Dimensions
You can delete a dimension from an environment. However, you cannot delete a
dimension when it is already assigned to a model.
You delete a dimension from an environment by selecting a dimension and choosing
Delete .
Activities
To manage dimensions, select
of the available tasks.
Dimensions
from the Administration screen. Once you select a dimension, you can perform one
More Information
Dimension Types
Dimension Security
Dimension Processing
Dimension Member Management
Assignment of Dimensions to Models
Dimension Properties
Features
When adding a dimension using the New Dimension wizard, you supply the following information. This information is also useful when copying or modifying a
dimension.
Field
More Information
ID
Dimension IDs are not case sensitive and display in the case you typed. They must be
unique regardless of case.
You can use any ID you want for a dimension as long as you follow these guidelines:
Do not use special characters such as accented characters or Cyrillic fonts in IDs.
Enter a maximum of 16 characters and without single quotation marks ('), double
quotation marks ("), back slashes (\), or ampersands (&).
Dimension IDs cannot contain a dash (-), but can contain an underscore (_).
Do not begin a dimension ID with a number as its first character.
Do not use the following names: App, AppAccess, AvlObject,
CategoryAccess, CollabDoc, CollabIcons, CollabRecipient,
CollabSupport, CollabType, DBVERSION, Defaults, DesktopStyleDef,
Dimension, DrillDef, DTIParam, Function, Formula, Group,
InvestParam, MemberAccess, MessageLog, Packages, PageDef,
PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.
Page 8 of 102
Type
The dimension type allows you to organize data within models based on the type of
information included.
See Dimension Types.
Referential Integrity
Referential Integrity validates the properties of the dimension with the dimension
member IDs of a different dimension.
When you process the dimension, the system checks the values of the Referential
Integrity property (see Dimension Processing). Validation does not complete if they do
not pass validation.
See the following table for the dimension validation rules.
Dimension properties
Property ID
Reference Property ID
A - ACCOUNT
A - ACCOUNT
RATETYPE
ID
C - CATEGORY
T - TIME
YEAR
YEAR
E - ENTITY
R - CURRENCY
CURRENCY
ID
I - INTERCOMPANY
E - ENTITY
ENTITY
ID
Activities
You can create a new dimension in the Administration screen by choosing
required data.
Dimensions
New Dimension
Type Description
More Information
Account
Category
Audit
Entity
Group
Note
Assign both an R and a G identifier to a consolidation
model but assign only the G identifier to the
ownership model referred from the consolidation
model. You cannot assign both an R and a G identifier
to the same ownership model.
I
Intercompany
PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.
Page 9 of 102
Currency
Subtables
Time
Contains the time periods for which you store data. This
represents the time periods based on which data are
stored. The time periods could be represented in various
forms such as weekly, monthly, quarterly or custom.
User-defined
More Information
Model Management
Features
You can utilize the following features to secure dimensions:
Secured and Unsecured Dimensions
You can have a mixture of secured and unsecured dimensions in a model. Securing dimensions allows you to control which users or teams have read, write or
deny access to dimensions and their members. You need to define a dimension as secured if you want to control member access by specific dimensions. All
users can access unsecured dimension members.
Data access profiles are used to grant model access. At least one dimension in a model should be secured to ensure control over model and data access. When
defining member access for secured dimensions, be sure to define access for all secured dimensions of the model. Failure to do so results in the inability to
access that model for any users or teams assigned to the member access profile. For more information about setting up member access profiles, see Member
Access Profile Setup in the SAP Planning and Consolidation NW Security Guide.
Security for Member-level Dimensions
In addition to defining dimensions as secure for individual models, you can assign write access to members within the dimension using member access profiles.
Since by default, users do not have access to any members of a secured dimension, member access profiles must be set up for the users you want to give
read-only or write access.
Features
When you process a new dimension, its properties are saved in the database.
When you process an existing dimension, any changes you made to it are saved in the database.
You can schedule the processing of dimensions with a Data Manager package.
For information on scheduling the processing of dimension members, see the SAP BusinessObjects EPM solutions, add-in for Microsoft Office help.
Activities
You can process dimensions in the Administration screen by choosing
PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.
Dimensions
Page 10 of 102
choosing Process .
Features
A dimension contains a set of predefined properties based on its type. You can add new properties by choosing Edit Structure , if desired.
You can assign dimension formulas that calculate and store information based on member values.
Adding members to dimensions
You can add members to dimensions within an environment in the Administration screen by choosing
dimension, then choosing Edit Members .
Dimensions
, selecting a
The maximum length for a member name is 32 characters. However, this limit only applies to newly created dimensions. For dimensions that were migrated from
Business Planning and Consolidation version 7.5, the previous limit of 20 characters remains for member names.
Note
If you make changes to any rules in the dimension, such as adding a new formula, you must validate and save those rules, and process the dimension.
You can also add members to dimensions in bulk using packages and process chains within Data Manager. For more information, see the SAP
BusinessObjects EPM solutions, add-in for Microsoft Office help.
Caution
You cannot rename dimension member IDs.
Note
Use caution when adding dimensions from a model that already contains data. Assign dimensions only to new models that do not contain data. If you do add a
dimension to a model with data, the system finds the first base member alphabetically, and loads it into the Fact tables, therefore writing all of the data from
the model to that member.
Activities
To assign a dimension to a model, you modify the model as follows:
Select the model and choose Edit .
Choose Add / Remove .
Select one or more available dimensions, then choose Add , then OK .
To remove a dimension from a model, you modify the model as follows:
Select the model and choose Edit .
Choose Add / Remove .
Select one or more selected dimensions, then choose Remove , then OK .
More Information
Model Management
PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.
Page 11 of 102
Note
Changes made to measures delivered with Planning and Consolidation are overwritten when you make any changes to that model from the
Administration screen. We recommend that you create custom measures instead of changing the delivered measures.
Formula names cannot be duplicated.
Formula names must be entered in uppercase letters.
Parent nodes of a hierarchy cannot be used in measure formulas.
Hints for Maintaining the Formulas
Use the same formula name as you defined in the Formula Name field when you give the measure name in [MEASURES].[<measure name>].
If your formula has to refer to another measure, enter the other formula statement and new formula together in the formula statement section. For example,
refer to the formula statement of Periodic and QTD measure on model with a YTD storage type.
If you want to use a property of dimension within Measure Formula, you must include the NetWeaver Business Warehouse Technical name. You can find
this name using transaction MDXTEST, for example. In this transaction, choose InfoProvider as the catalog and then choose your model (cube). The system
displays the list of dimensions. Expand the dimension and then its properties to view the property list.
[%TIME%].CURRENTMEMBER.PROPERTIES("2/CPMB/GJPDBWP ") is a syntax for using the TIMEID property of the TIME dimension.
Creating a Custom Measure Formula
1. Go to Transaction SE38 in the ABAP layer and enter UJA_MAINTAIN_MEASURE_FORMULA as the program name.
2.
3.
4.
5.
Features
PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.
Page 12 of 102
You can use the following features when working with dimensions:
Task
More Information
You can add properties to a dimension by selecting a dimension within the dimension
library and clicking Add in the toolbar above the property list.
When you add a property to a dimension, you must specify the following:
ID - An ID for the property. The ID is not case sensitive but is displayed in the
case it is typed. The ID must be unique (regardless of case) within a dimension.
The maximum length of an ID is 20 characters. The permitted characters are: AZ,a-z,0-9,_,-,. An ID cannot contain the following invalid characters: single
quotation mark ('), double quotation mark ("), backslash (\), ampersand (&), dash
(-) The ID cannot start with a number as a first character. The ID cannot be the
same ID as that of a system-generated property. The ID cannot contain the string
of characters "PARENTH". The ID cannot be the same ID as one of the special
properties described below.
Name - A name for the property. The maximum length for a property name is 40
characters.
Number of Characters - The maximum length for values of the property. This
must be an integer greater than zero.
You can modify a property which is not a system-generated property. You edit and change
a property directly in the property list. You cannot change a property ID after you have
saved it. However, you can change a property name and the number of characters, but
you cannot reduce the length previously specified.
After you add a property to a dimension, you can assign property values to members in
the dimension. You can add property values to properties by selecting the desired
dimension from the dimension library, selecting Edit Members , then adding the
desired values directly in the member grid under the appropriate property. After you are
done, you must save the changes and process the dimension.
You can remove properties from a dimension by selecting a dimension within the
dimension library and clicking Remove in the toolbar above the property list. This
removes the property from the list. You cannot delete a system-generated property.
When a user is filling a journal template, all base-level members that this user has
access to are available. You can use the "Enable journal" function to limit the number of
dimension members that are available to the users during journal entry. You can limit
journal dimension member lists by adding the property EnableJRN to each dimension
for which you want to limit the journal access. After that, in its dimension sheet, enter Y
in the EnableJRN column of the base-level members for which you want to allow users
to post journal entries. Do this for each dimension you want to limit, then process the
dimensions.
System-generated Properties
The following properties are generated for all dimension types, but are not displayed in the list of properties for a dimension.
Property
Description
DESCRIPTION
Display name of the dimension. This appears in the language specified in the
Preferences settings.
CALC
HIR
Stores the hierarchy IDs associated with the member, for example H1;H2.
Special Properties
PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.
Page 13 of 102
The following are reserved IDs that you cannot enter as a property ID when adding a new user-defined dimension property:
Property
Description
SOLVE_ORDER
The SOLVE_ORDER property defines the order in which the system solves calculated
members when they intersect with other calculated members. SOLVE_ORDER
determines the order in which the system evaluates and calculates dimensions,
members, calculated members, custom rollups, and calculated cells. The system
evaluates the member with the highest solve order first, and calculates it last. Zero is the
highest priority.
Guidelines for implementing SOLVE_ORDER:
Specify up to 3 measures and 5 members within a SOLVE_ORDER property.
Specify dimensions by dimension name, making sure that capitalization is
correct.
Example
[ACCOUNT].[Account1] / [ACCOUNT].[Account2]
[PRODUCT].[Product1] + [PRODUCT].[Product2]
The only exception to this rule is that you do not need to specify an Account
dimension by name.
FORMULA
The optional property FORMULA allows you to define calculations to perform for
dimensions. This powerful feature of the system gives you the ability to customize data
management to meet your business requirements.
Select the Enable Member Formulas option for the dimension to which you want to
apply member formulas. For information about implementing formulas, see Member
Formulas.
More Information
Dimension Processing
Prerequisites
The dimension you select to drive must have at least an owner type dimension property. When more than one exists, you choose the appropriate property to use
in the business process flow.
Features
The owner designating property takes user and team names in brackets as values. You can enter multiple names and teams separated by commas. You must
also include the domain or server name in the path.
Activities
You do the following to set up an Owner property:
Set up the owner property by accessing the Dimension Library, choosing Maintain Dimension Property , and adding an owner.
Assign the owner property to a dimension by accessing Maintain Dimension Members . Define the owner property on a dimension such as Entity, then
define the property values. You can enter multiple names and teams separated by commas. You must also include the domain or server name in the path.
Features
PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.
Page 14 of 102
Activities
To define a reviewer property, open the dimension that you want to designate as the driver dimension of the business process flow, then add a Reviewer property
and its property values. For more information, see Dimension Properties.
When creating a business process flow, choose Enable Reviewers , then set a Reviewer property when defining the step region criteria for a new step.
More Information
Creating Processes
Features
An account dimension has the following system-generated properties:
Property Name
Description
ACCTYPE
Account type. Can be INC for Income, EXP for Expense, AST for Asset, LEQ for Liabilities
and Equity.
The account type cannot be blank.
RATETYPE
SCALING
Scaling options are Y or N. Used by EvDRE, EPMScaleData, and Library view. Value is
optional, but if a value is not defined, scaling is unavailable for the associated member
ID.
The following property is required only if the account dimension is used in a consolidation model.
Property Name
Description
TYPELIM
Specifies that Automatic Adjustments details are created based on a generic value, rather
than mentioning the member itself. Allows you to apply the same processing to several
accounts having the same property value.
The following property is required only if the account dimension is used in an ownership model.
Property Name
Description
IS_INPUT
More Information
Dimension Properties
Features
PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.
Page 15 of 102
Description
YEAR
Used to assign a YEAR to the category, to be used with the EPMRetrieveData and
EPMMemberOffset functions in reporting. For more information, see the SAP
BusinessObjects EPM solutions, add-in for Microsoft Office help.
The following properties are required only if the category dimension is used in a consolidation model.
Property Name
Description
CATEGORY_FOR_OPE
FX_DIFFERENCE_ONLY
Specifies whether the translation result is calculated normally (blank or N ) or if only the
translation difference with the source category is computed ( Y ).
FX_SOURCE_CATEGORY
OPENING_PERIOD
Period number of source data to use when performing carry forward (CopyOpening).
This can be absolute (for example, 12 for December) or relative (for example, -1 for prior
period).
OPENING_YEAR
Year offset of source data to use when running carry forward (CopyOpening). This is
relative (for example, -1 for prior period).
OWN_CATEGORY
OWN_YEAR
OWN_PERIOD
RATE_CATEGORY
Category of source exchange rate data to use when running currency translation on a
simulation category
RATE_PERIOD
Period number of source exchange rate data to use when running currency translation
on a simulation category. This can be absolute (for example, 12 for December) or relative
(for example, -1 for prior period).
RATE_YEAR
Year offset of source exchange rate data to be used when running currency translation on
a simulation category. This is relative (for example, -1 for prior year).
STARTMNTH
Starting month.
More Information
Dimension Properties
Features
The following table describes the required properties of a currency dimension. If you are utilizing the legal consolidation functionality of Planning and Consolidation,
the currency-type dimension requires additional properties.
Property Name
Description
ENTITY
A 32-character field that can either be left blank or contain a valid member name of the
entity dimension associated to the current model. The ENTITY property is validated
against the entity dimension, and blank fields are allowed.
REPORTING
Specify your reporting currencies. If Y, this member is used for reporting purposes.
The following property is required only if the currency dimension is used in a consolidation model.
Property Name
Description
CURRENCY_TYPE
Identifies the local currency member (L) versus reporting currency members (R) or
transaction currency member (T).
The following property is required only if the currency dimension is used in a rate model.
Property Name
Description
PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.
Page 16 of 102
Defines whether the currency exchange rate for that currency is used to multiply or divide
MD
More Information
Dimension Properties
Features
An entity dimension has the following required properties:
Property Name
Description
CURRENCY
CTRL_CURRENCY_NOT_LC
Specifies the Reporting Currency dimension member against which a data control is
performed. A control is an individual check for data accuracy and consistency. Controls
are enabled or disabled at the model level.
The following are valid values:
Y - The generic LC (local currency) member is used.
N - The entity currency property is used, for example, EUR. This can be used
when loading pre-translated data from a source system where currency translation
has already been performed.
If no value is set, the default value is Y .
For more information, see Controls.
CONTROL_LEVEL
Specifies the controls that are relevant to an entity when a control set (a group of controls)
is executed.
The following are valid values:
Level 1 - Basic controls
Level 2 - Standard controls
Level 3 - Advanced controls
Level 4 - Comprehensive controls
If 4 is selected, all controls having a level from 1 to 4 are executed. If blank or 0, no
control is applicable.
For more information, see Controls.
The following properties are required only if the entity dimension is used in a consolidation model.
Property Name
Description
ELIM
Defines whether the entity is used to store the intercompany elimination for a given node
in the hierarchy. Valid values are Y or N .
FX_TYPE
Defines the subset of Currency Conversion rules to apply to the entity, where FX_TYPE
matches the Entity FX Type property of the rules.
INTCO
More Information
Dimension Properties
Note
A group dimension must be assigned to an ownership and a consolidation model. You should assign both a currency and a group dimension to a consolidation
model but you should assign only the group dimension to the ownership model referred from the consolidation model. You cannot assign both a currency and a
group dimension to the same ownership model.
Property Name
Description
CONSO_TYPE
Specifies which set of rules to apply to a group. Refers to group type filter in Adjustments
PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.
Page 17 of 102
CONSO_TYPE
and Eliminations.
CURRENCY_TYPE
DATASRC_LEVEL
Stores the consolidation differences resulting from different % or methods along the
group hierarchy
ENTITY
Blank or a valid entity ID. This is used to define the link between the Group and the
Entity or to indicate the Entity where the aggregation should be stored.
If this property is filled with a valid entity ID, and the property STORE_ENTITY is set to
Y, the results of the currency conversion for the current Group are also copied into this
Entity. (Length = 20)
GROUP_CURRENCY
This can be any valid reporting currency, and is used for currency conversion.
This property can only be used on Currency members with the property
CURRENCY_TYPE of G and, in this case, it must contain a valid ID from the Currency
dimension with the property CURRENCY_TYPE value of R. (Length = 20)
PARENT_GROUP
Must be a valid ID from the Groups dimension. If you want to do the consolidation by
level, you must indicate here the higher level from the group. If you want to use this
property to define the hierarchy, enter the same code as the ID for your top group. If this
property is blank, the dynamic hierarchy from the ownership application is used. (Length
= 20)
STAGE_ONLY
STORE_ENTITY
STORE_GROUP_CURR
More Information
Dimension Properties
Features
An Intercompany dimension has the following required properties:
Property Name
Description
ENTITY
A 32-character field that can be left blank or contain a valid member name of the entity
dimension associated to the current model. The ENTITY property is validated against the
entity dimension, and blank fields are allowed.
SCALING
Scaling options are Y or N. Used by EvDRE and Library view. The property is optional,
but if a value is not defined, scaling is unavailable for the associated member ID.
More Information
Dimension Properties
Features
A time dimension has the following required properties:
Property Name
Description
PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.
Page 18 of 102
BASE_PERIOD
A system-generated property, used by the query engine for calculations and by the
Consolidation process.
LEVEL
Time can be a year, quarter, month, week, or day. The LEVEL property is important in
defining your time periods. You must have the correct level for each member. You must
follow the chronological format throughout the time dimension. The correct format is the
following:
YEAR
QUARTER
MONTH
WEEK
DAY
PERIOD
The PERIOD property allows you to filter, sort, and report based on the period.
YEAR
The YEAR property allows you to filter, sort, and report based on the year. You should
place the YEAR properties in chronological order in the file, in order for the
EPMMemberOffset function to give offsets correctly.
The following property is required only if the time dimension is used in a consolidation model:
Property Name
Description
MONTHNUM
Provides a sorting order to leaf members of the time dimension within a year
TIMEID
Numeric ID to used for identifying the time member, for example, 20120100 for
2012.JAN .
More Information
Dimension Properties
Features
A user-defined dimension has the following required properties:
Property Name
Description
SCALING
Scaling options are Y or N. Used by EvDRE, EPMScaleData, and Library view. The
property is optional, but if a value is not defined, scaling is unavailable for the associated
member ID.
More Information
Dimension Properties
Features
An audit dimension has the following required properties:
Property Name
Description
SCALING
Scaling options are Y or N. Used by EvDRE, EPMScaleData, and Library view. This
property is optional, but if a value is not defined, scaling is unavailable for the associated
member ID.
The following properties are required only if the audit dimension is used in a consolidation model.
Property Name
Description
DATASRC_TYPE
IS_CONSOL
Specifies whether data is consolidated or not. Typically this is set to yes ( Y ), but set it
no ( N ) for data sources used in group-specific adjustments (for example, post
PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.
Page 19 of 102
Specifies whether data is translated or not. Typically this is set to yes ( Y ), but set it to
no ( N ) for data sources used in currency-specific adjustments (for example,
adjustments in EUR, USD, and so on).
DATASRC_STAGE
Defines to which Audit member consolidation adjustments from lower groups are
inherited in higher groups (Parent groups).
DIMLIST
Property used to create a grouping of data sources which can later be used as filters in
Automatic Adjustments and Eliminations business rules.
COPYOPENING
Flag used to filter data sources when running carry forward (CopyOpening).
OPENING_DATASRC
Specifies a different destination data source, to which the corresponding amounts are
carried forward. For example, this can be used where certain entries are posted to a data
source that specifically identifies these adjustments as audit adjustments in the current
year, but in future years it might be required to simply include in another standard data
source (that is, Input).
More Information
Dimension Properties
Features
A subtable dimension has the following required properties:
Property Name
Description
FLOW_TYPE
SCALING
Scaling options are Y or N. Used by EvDRE, EPMScaleData, and Library view. The
value is optional, but if a value is not defined, scaling is unavailable for the associated
member ID.
More Information
Dimension Properties
Features
You can use the following features when managing models:
Creating Models
PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.
Page 20 of 102
When you create a model in the Planning and Consolidation Administration screen, you provide a name and description, select the type of model and its options
and settings, indicate whether you want to start from a blank model or an existing model, and select the dimensions to include in the model.
The setting Non Interco Member in Ownership is used to indicate a non-intercompany member within the ownership model.
The setting Parent/child property used for hierarchy of Groups is used with dynamic hierarchy statutory applications when defining fixed hierarchies. The value
must match the value in the ParentProperty property value of entities in the statutory application's supporting ownership application.
During the model creation process, items such as model publications, private publications, Documents view, reports, team tasks, and Data Manager packages
may be copied from a source model. You can use the Use as Source of Data for External Applications checkbox to make data within the model available for
evaluation through Process Control.
Once a model has been created, you can view features of Planning and Consolidation that are being used for the model, including whether work status, data
auditing, and journal template are on or off. You can also enable comments and use the model as a source of data for external applications.
Copying Models
You can copy an existing model as a quick way of creating a new model. The system copies the dimensions, data, and templates from the source model to the
new model. You can modify the model later. When you copy a model in the Planning and Consolidation Administration screen, you select a source model, then
provide a name and a description of the new model.
Setting up Work Status Settings for Models
Managing work status involves specifying who can make changes to your data and who can change the work state on a data set. You create work states to reflect
the status of data as it moves through your business processes. See Work Status Setup and Setup of Data Locking Settings.
Adding Business Rules to Models
You can add business rules to a model in the Business Rules domain of the Administration screen. You activate the rule types you need for the model, if not
already activated, and then add the new business rules of each type to the model. For more information, see Business Rules Management.
Setting up Legal Consolidation Models
In order for a legal consolidation model to function properly, it must contain the four required ENTITY, CATEGORY, TIME, and ACCOUNT dimensions (but can be
named as desired). The remaining dimensions have the following rules:
The CURRENCY/ GROUP dimension is required for the consolidation and/or currency business rules
The INTCO dimension used for matching intercompany activity
The DATASRC dimension is required for elimination and/or consolidation business rules
The SUBTABLE (flow) dimension is optional, and based on your requirements
Setting up Drill-through
You can set up drill-throughs to view the source data that make up the content of a selected cell in an Excel report (see Drill-Through Setup).
Optimizing Models
When you create new environments and models, only a small amount of data exists. Since the amount of data you maintain grows over time, we recommend you
periodically run the optimize function to improve performance. See the Planning and Consolidation Operations Guide for instructions.
YTD Storage Models
Since most general ledger and other source systems store balances on a periodic basis, default data storage for models is based on periodic time intervals. With
this method, all calculations are on periodic balances. The balances are then accumulated for year-to-date reporting. In some business cases, calculations should
occur on a year-to-date basis, like in a model with foreign currency translation. If a year-to-date basis is required, you can set your reporting models when you
create them to store data on a year-to-date basis, so they accept data entry in the YTD format. When data is entered into YTD, its periodic values, used for
reporting purposes, are derived by calculating the difference between the current period and the last period, as in the following example.
Example
This example depicts INC or EXP accounts. There is no change in behavior for AST or LEQ accounts.
January
February
March
Periodic
100
200
YTD
100
300
300
Both periodic and year-to-date storage methods support daily, weekly, monthly, quarterly and year-to-date reporting requirements.
You create a YTD storage model by specifying YTD - Year To Date for the data entry mode when defining the type of model you are creating.
Deleting Models
Administrators can delete models when necessary.
Caution
You can delete a model when it contains data. You cannot, however, delete a dimension member when there is data associated to that member in the model.
More Information
Dimension Types
PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.
Page 21 of 102
Features
The following table describes the different types of reporting models and lists the required dimensions for each:
Type of Reporting Model
Description
Required Dimensions
Financial
Account (A)
Category (C)
Entity (E)
Time (T)
Currency (R)
Account (A)
Category (C)
Entity (E)
Time (T)
Audit (D)
Group (G)
Intercompany (I)
Subtables (S)
rules:
Currency (R)
Currency conversion
Account transformation
Intercompany bookings
US eliminations
Carry-forward rules
Validations
Automatic adjustments
Standard
Account (A)
Category (C)
Entity (E)
Time (T)
Features
Drivers and rates models support reporting models by holding data such as currency exchange rates and ownership percentages. You can report on drivers and
rates model data. You cannot define business rules to these model types. The following table describes the different types of drivers and rates models and lists
the required dimensions for each:
Type of Drivers and Rates Model
Description
Required Dimensions
Rate
Account (A)
Category (C)
Entity (E)
Time (T)
Currency (R)
Account (A)
Category (C)
Entity (E)
Time (T)
Intercompany (I)
Group (G)
Generic
PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.
Account (A)
Category (C)
Page 22 of 102
Entity (E)
Time (T)
Related Information
Activate Large Key Figure Support in the SAP Reference IMG
Modify Existing Models for Large Key Figure Usage
Create New Models that Use Large Key Figures
Prerequisites
To use this feature, you must have the following software installed:
Planning and Consolidation for the NetWeaver platform 10.0 SP10 or later
EPM solutions, add-in for Microsoft Office 10.0 SP14 or later
Procedure
1.
2.
3.
4.
Procedure
1.
2.
3.
4.
5.
Procedure
1.
2.
3.
4.
PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.
Page 23 of 102
If the model has no transaction data, the technical name remains unchanged after modifying the model structure.
If the model has transaction data, an error message appears to indicate that modifying the model in cube name stabilization mode is not possible. You must
to back up and clear the transaction data in the cube and modify it again.
Optimizing a model
When the parameter ENABLE_FIXED_CUBENAME is NOT set to X in the source and target system, the current system behavior remains unchanged.
When the parameter ENABLE_FIXED_CUBENAME is set to X, then:
A full optimization is automatically switched to light optimize mode and the technical name of the model does not change after the optimization.
If you run a light optimize, there is no change to the current system behavior.
Transporting a model
When the parameter ENABLE_FIXED_CUBENAME is NOT set to X in the source and target system, the current system behavior remains unchanged.
When the parameter ENABLE_FIXED_CUBENAME is set to X in both the source and target system, the resulting behavior depends on several factors as shown in
this table:
Table 1: Effects of ENABLE_FIXED_CUBENAME when transporting a model
Cube technical name
Source system
Target system
When the parameter ENABLE_FIXED_CUBENAME has different values in the source and in the target system, the model import is not performed and an error
message appears in the transport log.
Features
You can perform the following activities in Planning and Consolidation during the financial consolidation process:
Initialize opening balances at the start of a new reporting cycle
Enter amounts for each entity
Validate data
Match intercompany transactions (for example, AR/AP reconciliation)
Convert local currency data to the desired group reporting currencies
Generate all the consolidation entries for the desired groups of entities such as:
Ultimate ownership calculation
Elimination entries for intercompany revenue, investments, and profit in inventory
Adjusting entries
Reclassifications
Minority calculations and other calculations
Make the final validation
Generate the report
Activities
To enable users to generate consolidated financial statements, you should configure the legal model, and set up the legal and statutory consolidation business
rules, in order to perform the activities required in the generation of consolidated statements of a group of legal entities.
To set up your consolidation environment, you do the following:
Create the consolidation (legal) environment and set the necessary parameters (see Create an Environment)
Set up master data (dimensions) (see Master Data (Dimensions) Setup)
Create the model (see Create or Modify the Model) and set the model parameters (see Model Parameters if using the Microsoft platform of Planning and
Consolidation)
Enable business rules (see Business Rule Setting)
Update rate data and ownership data (see Execute Consolidation Task and Loading Data)
Set the work status
PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.
Page 24 of 102
Set the journal template and validation criteria (see Journal Definition and Validation Setting)
Features
If you already have an existing environment (for example, for planning or reporting), you can use this environment to host your legal consolidation. Using the
environment for planning or reporting as a basis to build consolidations allows you to share the relevant dimensions (for example, account) with your consolidation
environment.
Features
For the consolidation model, the dimensions listed in the tables below are mandatory requirements. Therefore, it is recommended that you verify that all the
dimensions are available in the dimension library of your consolidation environment created from EnvironmentShell.
Note
Whereas the dimension names can be chosen as desired, it is mandatory that the dimension types match with the ones described below for the
corresponding models.
The MAIN legal consolidation model requires the following dimensions:
Dimension
Description
ACCOUNT
CATEGORY
Contains the types of data you are going to track, such as Actual, Budget, and Forecast.
You can also set up categories to store versions, such as BudgetV1, and BudgetV2.
Audit
Used in the business rules of a reporting consolidation model to segregate input data.
Subtable (Flow)
Entity
Contains the business units that are used to drive the business process.
Depending on your model design, the Entity type can be for example an operating unit, a
cost center, or a geographic entity.
Intco
Time
Currency
The currency type dimension is required if the customer reports on local currency and
translated values.
Groups
The group represents the relationship of entities and consolidation scopes for a given
consolidation result.
The RATE model containing exchange rates requires the following dimensions:
Dimension
Description
ACCOUNT
Members of this dimension are used to detail the different types of rate (for example,
Average or End-of-period).
CATEGORY
Contains the types of data you are going to track, such as Actual, Budget, and Forecast.
You can also set up categories to store versions, such as BudgetV1, and BudgetV2.
Entity
This is used to store multiple tables of rates, if desired; otherwise, the R_Entity
dimension may just be limited to one dummy member, typically named GLOBAL.
Time
Currency
Note
Time and Category dimensions must be shared by all the models involved in consolidation.
The OWNERSHIP model storing the ownership details requires the following dimensions:
Dimension
Description
PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.
Page 25 of 102
ACCOUNT
CATEGORY
Contains the types of data you are going to track, such as Actual, Budget, and Forecast.
You can also set up categories to store versions, such as BudgetV1 and BudgetV2.
Entity
Contains the business units that are used to drive the business process. Depending on
your model design, the Entity type can be for example an operating unit, a cost center, or
a geographic entity.
Intco
Time
Groups
The group represents the relationship of entities and consolidation scopes for a given
consolidation result.
Type
MAIN
Account (Consolidation)
OWNERSHIP
Account (Ownership)
Account (Rate)
Flow
Category
Entity
Entity (Rate)
Intercompany
Time
Group
InputCurrency
Audit
Currency
RATE
X
X
Activities
Create a new dimension
1. Select
Planning and Consolidation Administration
Dimensions and Models
2. Click New .
3. Choose a unique ID, provide a description, and select the dimension type.
Dimensions
Features
Account Dimensions
The Account dimension defines the chart of accounts for the model, and how these accounts are calculated and aggregated. Any dimension that is assigned the
type A is considered an Account dimension. Each model can have only one account-type dimension.
The following table details the account dimension properties:
Property Name
Length
ACCTYPE
DIMLIST
20
Note
Several DIMLIST properties can be used for one
PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.
Page 26 of 102
dimension.
RATETYPE
10
ELIMACC
20
Note
This property is used only with the US Eliminations
business rule.
Category Dimensions
All models require a category type dimension. The properties required in this dimension as described in the following table are for three business rules: currency
translation, eliminations and adjustments and copy opening balances.
For simulation purposes, or to analyze the variances from one set of data to another, you should mix-and-match different rates and values of different data
categories from different periods. For example, a user might want to compare ACTUAL with BUDGET values when both are translated at the ACTUAL rates, or
this year's ACTUALS with last year's ACTUALS, both being translated using last year's rates.
This can be done by either creating an additional simulation CATEGORY (such as Actual_at_Budget_rate or similar) or adding an extra dimension to the MAIN
cube, where all the simulated cases can be stored.
There is no need to copy the input values to all models for all the desired simulations. A few definitions stored in some specialized properties of the CATEGORY
(or the FX simulation) dimension inform the translation procedure where to read the input values and where to write the translated results.
To minimize the impact of the different simulations on the size of the database, it is also possible to tell the system to store only the difference between the default
results and the simulated scenarios.
When using the simulation categories in the MAIN cube, simulated translations are stored in additional members of the Category dimension. These categories
have non-blank values for one or more of the following properties:
Any dimension that is assigned the type C is considered to be a Category dimension.
Property Name
Length
FX_SOURCE_CATEGORY
20
RATE_CATEGORY
20
RATE_YEAR
RATE_PERIOD
10
FX_DIFFERENCE_ONLY
The business rules for copying opening balances can be controlled by assigning special properties to the category dimensions. If used, these properties affect
the execution and are defined in the following table:
Property Name
Length
CATEGORY_FOR_OPEN
20
OPENING_YEAR
Blank
Read the opening balances from the year before the
current year.
Not blank
Contains the year from which to read the opening
balances. It can be an absolute or a relative amount
OPENING_PERIOD
10
Blank
Read the opening balances from the last period of
the year.
Not blank
Contains the period from which to read the opening
balances. It can be an absolute or a relative amount
Audit Dimension
PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.
Page 27 of 102
Length
IS_CONVERTED
IS_CONSOL
DATASRC_TYPE
Blank
Used for top adjustments of consolidated amounts
Y
Standard setting to consolidate data
I - input
M - manual journal entry
A - automatic adjustment
L - level
This is used in consolidation by level to move prior
level eliminations into a data source with property
DATASRC_LEVEL of Y in the GROUP
dimension.
COPYOPENING
Y (or blank)
The member is copied
N
The member is not copied
OPENING_DATASRC
20
Blank
The data source is the same as the source member
Non-blank
Contains the ID of the desired destination data
source for the copy
Entity Dimension
The Entity dimension defines the organizational structure of the business units for your model and how the units aggregate. Any dimension that is assigned the
type E is an Entity dimension. Each model can have only one entity-type dimension.
The following table details the entity dimension properties:
Property Name
Length
CURRENCY
20
FX_TYPE
20
OWNER
60
Intercompany Dimension
The Intercompany dimension ( I) defines the intercompany codes for entities in consolidation and ownership models.
Currency
The currency type dimension is required if the customer reports on local currency and translated values. You can use the currency type dimension for both
currency and groups, or you can split it into a Group dimension (type G) and a pure Currency dimension (type R) to allow reporting in multiple group currencies.
The required properties for a separate group dimension are the following:
Dimension
Property Name
Length
GROUP_CURRENCY
20
PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.
Page 28 of 102
PARENT_GROUP
20
ENTITY
20
STORE_GROUP_CURR
STORE_ENTITY
Y
If you want to store in the ID entered
in the Entity property.
Blank
If you do not want to store in the ID
entered in the Entity property.
STAGE_ONLY
G and R
CURRENCY_TYPE
L - local currency
R - reporting currency
T - transaction currency
G - group
Used for the currency translation.
FIRST_CONS_DATE
10
Blank
Management model.
YYYYMMM
Indicates the month and year of the
consolidation.
Flow Dimension
The flow type dimension is optional but its use is highly recommended. This dimension allows you to track changes within the account activities, such as opening
balance, additions, subtraction, and currency translation adjustments. If you do not require this level of detail, leave the business rule tables blank for the subtable field. Flow is similar to the movement type in SAP ERP.
If Flow is included in the model, it can be used in the following ways:
The currency translation procedure can detail the changes in the balance sheet generated by fluctuations in the exchange rates
The consolidation procedure can detail the eliminations applied to the movements of the balance sheet accounts
Any dimension that is assigned the type S is considered a Flow dimension.
If you choose to use a flow type dimension, the following properties are required:
Property Name
Length
FLOW_TYPE
12
PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.
Page 29 of 102
CHANGE - variation.
TRANSFER - transfer
TRANSFLOW - translation change on flow
VARSCP - variation in scope (generic)
VARSCPMETH - variation in scope method
VARSCPPERC - variation in scope percentage
VARSCPNEW - variation in scope; new company
VARSCPLEAV - variation in scope sold company
CLOSING - closing
NONE - no flow
Blank - all other flows
DIMLIST
20
Flow dimensions should contain dimension members that require the following FLOW_TYPE property values:
OPENING
CLOSING
VARSCP
Activities
To manage dimension members and their property values
1. Select
Planning and Consolidation Administration
Dimensions and Models
2. Select the row containing the dimension member required:
to manage dimension members - click Edit Members
to manage the property values - click Edit Structure
Dimensions
Features
The consolidation engine leverages the following models to retrieve the information necessary to perform its calculations:
The Legal or MAIN model
This consolidation type model is the model within which the respective consolidation entries for items, such as currency conversion or intercompany
eliminations, are written.
The RATE model
The currency conversion process uses a RATE model to look up the appropriate exchange rates for each relevant currency.
The OWNERSHIP model
The consolidation process uses an OWNERSHIP model, to store the definitions of each consolidation parameter. In particular, such definitions may include:
The list of companies being consolidated in each group
The consolidation method used in each case
The consolidation percentage for each case
The ownership percentage (how much of each is owned by the group)
The control percentage (how much of each is controlled by the group)
The MAIN, RATE, and OWNERSHIP models can be named as desired. Within the same environment, multiple MAIN models may exist, each one pointing to its
own RATE and OWNERSHIP models. Multiple MAIN models can also share the same RATE or OWNERSHIP models, if appropriate.
The RATE model, associated with a given model, is defined as an option upon the creation of a new MAIN model in Planning and Consolidation Administration.
The OWNERSHIP model, associated with a given model, is defined as an option upon creation of a new Consolidation model in Planning and Consolidation
Administration.
If this value does not exist, the consolidation procedure searches for a model named OWNERSHIP.
Each one of the above models must contain some required dimensions, while some other dimensions are optional. For more information, see Dimension Setup in
Dimension Library.
The required and optional dimensions are based on the standards used in the business rules. Other dimensions can coexist in a reporting model but do not
impact the business rule function.
All models must contain the following four required dimensions: ENTITY, CATEGORY, TIME, and ACCOUNT. They can be renamed as desired.
The CATEGORY and TIME dimensions can be the same across the MAIN, RATE, and OWNERSHIP models. Alternatively, they must contain the appropriate
matching members.
The ENTITY dimension of the MAIN model can be the same as that used in the OWNERSHIP model or it must contain the appropriate matching members if
different.
The GROUP dimension used must be the same in the OWNERSHIP model and the MAIN model. Here are some of the common member requirements between
these dimensions for the Legal consolidation environment setup described below:
In most cases, it is recommended that you use the same dimensions across models as it is easier to maintain.
Note
The RATE model is delivered with EnvironmentShell. Most dimension properties required for the consolidation setup are delivered with the dimensions.
However, it is recommended that you verify this before proceeding further.
PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.
Page 30 of 102
Features
In SAP BusinessObjects Planning and Consolidation, a model is either Reporting or Non-reporting. Non-reporting models support reporting models by holding
data, for example, price or rate information.
Following are the three types of reporting model in SAP BusinessObjects Planning and Consolidation:
Financial
A financial reporting model performs management consolidation functions, such as currency conversions, and intercompany eliminations.
This model must reference a rate-type model.
Consolidation
A consolidation reporting model performs legal consolidations. This is similar to a financial model, but with legal consolidation rules instead of management.
This model must reference an ownership-type model and a rate-type model.
Generic
A generic reporting model has no special requirements (other than to include a minimum of the four required dimensions).
The non-reporting types of models can be associated with only the financial and consolidation type models. Following are the two types of non-reporting model:
Rate
This model stores exchange rates that support currency conversions for reporting models. The model must include a currency-type dimension to store the
exchange rates by currency.
Ownership
An ownership model stores information such as the consolidation methods, ownership percentages, and group roll-up information used for legal consolidation.
Within the same environment, multiple reporting models may exist, each one pointing to its own RATE and OWNERSHIP models. Multiple reporting models can
also share the same RATE or OWNERSHIP models, if appropriate.
The RATE or OWNERSHIP model associated with a given reporting model is defined when a new consolidation type model is created.
Note
You can report on non-reporting model data, but you cannot assign work status codes to the data. In addition, you cannot define business rules to these model
types. All models require at least the four main dimension types: Entity, Account, Time, and Category.
In SAP BusinessObjects Planning and Consolidation, a consolidation scenario requires at least the following models:
Legal or MAIN
This is the main model containing all financial data. All consolidation postings such as eliminations, and minority interest calculations are posted in this
model.
OWNERSHIP
The OWNERSHIP model manages the organization structure and ownership percentages.
RATE
This contains all currency exchange rates for the different rate types such as average, and sport rate.
Currency translation can run on any type of reporting model. Currency conversion applies to both financial and legal consolidation models to which a
corresponding RATE model has been referenced. The reporting model must contain a currency (type R) dimension.
RATE Model
A rate model is a supporting model for financial and consolidation reporting models. It is used to store exchange rates that support currency conversion in
consolidation models. EnvironmentShell comes with a RATE model, so you can leverage this by just modifying the Category dimension from Category to
C_Category. The time dimension must be identical to the dimension used by the models using the RATE model to store their foreign currency exchange rates and
must have the same category member IDs.
This model must include a currency dimension detailing the exchange rates by each input currency. The currency dimension in a rate model does not need to
have the REPORTING property. The currency conversion process makes use of a RATE model, where the appropriate exchange rates are searched for each
relevant currency. This cube can be named as desired.
Note
The master data (dimension) can be shared by any model within an environment.
The RATE model requires the following dimensions:
Account (account dimension for the RATE model)
This details the different types of rate (Average, End-of-period, and so on). Account is specific to and used only by a RATE model.
Entity (entity dimension for the RATE model)
This stores multiple tables of rates, if required. Alternatively, the Entity dimension can be limited to one dummy member, typically named GLOBAL. For
example, if there is an entity C1000 for which a special exchange rate needs to be applied, it is defined here and the special rates are applied.
Entity is specific to and used only by a RATE model.
Currency
This dimension stores each applicable local currency.
Time and Category
These dimensions can be shared by all or the models involved in consolidation.
OWNERSHIP Model
Any consolidation type model must refer to a RATE and an OWNERSHIP model. EnvironmentShell is delivered only with PLANNING and RATE models.
Therefore, the OWNERSHIP model needs to be created before you can create the consolidation model. Refer to the model creation wizard to understand the steps
PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.
Page 31 of 102
Activities
Associate the desired RATE and OWNERSHIP models with the consolidation model and select all the consolidation business rules that need to be implemented.
You can select from the following list of business rules:
Currency conversion
Conversion of local currency data to the desired reporting currencies.
Calculations
To calculate and store amounts which are required for purposes of account-based calculations.
Intercompany bookings
Matching intercompany transactions
US Eliminations
Specifically designed to address the posting of intercompany eliminations in simpler scenarios where a full legal consolidation model is not required
Carry Forward
Initialization of beginning balances when a new fiscal cycle starts
Validation
Validation of input data
Eliminations and Adjustments
Generation of all the consolidation entries for the desired groups of entities (for example: eliminations, adjustments, reclassifications and minority
calculations.)
Consolidation business rules allow the automated processing of data to render a consolidated set of financial statements. This is commonly thought of as
eliminations of investments in subsidiaries, adjustments of minority interest, reclassifications and any other postings depending on the nature of the consolidation
methodologies required.
Select only the desired dimensions required for legal consolidation and deselect any others.
Set dimensions to be included in the consolidation model and also set the secured dimension to control the security through SAP BusinessObjects Planning and
Consolidation member access profiles.
Normally the Entity and Category dimensions are set as secured dimensions for member access control.
The Group dimension stores group currency, reporting currency and consolidation groups. The MAIN cube must contain a CURRENCY dimension to store the
translated amounts. The consolidation entries, as generated by the consolidation process, are also stored by Group dimension.
Any additional dimension is optional in the MAIN cube, as far as the currency translation is concerned. For consolidation purposes, however, there are some other
requirements. These are described below:
The model may have an Intercompany dimension.
The model may have a FLOW dimension. This dimension is optional, but, if it exists, it can be used by the following procedures:
The currency translation procedure details the changes in the balance sheet generated by fluctuations in the exchange rates.
The consolidation procedure details the eliminations applied to the movements of the balance sheet accounts.
An Audit dimension may exist in the MAIN cube, but it is not required by the currency translation. If it exists, however, the currency translation can
recognize which members of the dimension should be translated, and which ones should just be copied as is to the destination currency. However, this
dimension is required for the consolidation procedure to work.
Additional (user defined) dimensions can be added to the MAIN cube (such as product, market, or division), as desired. The consolidation engine can recognize
their existence and take them into account in the process, and apply custom behavior to their members.
Features
PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.
Page 32 of 102
Features
When you create a consolidation type model, you should choose the settings of the model parameters in accordance with the intended purpose of the model. The
following table details business rule activation during the creation of a consolidation type model in SAP BusinessObjects Planning and Consolidation, version for
the Microsoft platform:
Setting
Description
APPROVALORG
If you want to use the work status feature, you must use this field to identify the
hierarchy level ( H1, H2, H3, ..., Hn) for which you want to track the work status of
deliverables. You can define only one hierarchy for each model within an environment.
For other organizations, No Status displays when viewing these members in the work
status screen. If this field is blank, work status tracking is disabled.
BPC_STATISTICS
CALCULATION
Allows the use of the calculation business rule tables. The default value is 1.
FXTRANS
Allows the use of the currency translation business rule tables. The default value is 1.
INTCOBOOKINGS
Allows the use of the intercompany booking business rule tables. The default value is 1.
JRN_REOPEN_PROPERTY
A custom journal module assumes that the property UB is in the Account dimension to
filter the journals upon reopen. The default is Group. If Group, there is no need to modify
the Account dimension.
OPENINGBALANCE
Enables the business rule table for balance carry forward. The default value is 1.
ORG_ACCOUNTLIST
Member IDs of the ownership account dimension that store methods, %con (percentage
consolidation), %own (percentage ownership). These appear in the dynamic hierarchy
editor.
The default value is METHOD,POWN,PCON.
ORG_ACCOUNTOWN
Member ID of the ownership account that specifies the position of a consolidation entity
within the group.
The default value is PGROUP.
ORG_INTCO
The third party member in the Intercompany dimension to which all ownership
calculations are posted.
The default value is I_NONE, which should also be a member ID in the INTCO
dimension in the ownership model if using an ownership-based hierarchy.
ORG_OWNERSHIP
The consolidation logic requires the currency translation and consolidation procedures to
be listed here.
If no value is specified, the consolidation procedure defaults to the value OWNERSHIP.
ORG_OWNERSHIPCUBE
ORG_PARENTPROPERTY
The property name in the Groups dimension that defines the ownership-based hierarchy
used in the Ownership Manager. The Group property contains the legal roll-up
members.
This property is used with ownership-based hierarchy statutory models when defining
fixed hierarchies. The value must match the value in the ParentProperty property value
of entities in the statutory model's supporting ownership model. The default value is
PARENT_GROUP.
USELIM
Allows the use of the business rule tables for US eliminations. The default value is 1.
VALIDATIONS
Allows the use of the validation business rule tables. The default value is 1.
YTDINPUT
This parameter controls whether data is input in year-to-date format. Valid options are 1
for YTD format and 0 for periodic format. This parameter is optional.
The following table lists the relevant model settings and the recommended values that should be set in SAP BusinessObjects Planning and Consolidation, version
for the Microsoft platform. (Refer to the Administration Model Help for instructions on how to set these values):
Key ID
Value
APPROVALORG
H1
FXTRANS
INTERCOMPANY
JRN_BALANCE
JRN_POST_OVERWRITE
OPENINGBALANCE
ORG_ACCOUNTLIST
ORG_ACCOUNTOWN
PGROUP
ORG_INTCO
I_NONE
ORG_OWNERSHIPCUBE
OWNERSHIP
ORG_PARENTPROPERTY
PARENT_GROUP
OWNERSHIP_APP
OWNERSHIP
VALIDATIONS
PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.
Page 33 of 102
WORKSTATUSVALIDATE
YES
YTDINPUT
YES
YTDINPUT Setting
One of the most important model parameters in Planning and Consolidation Administration that should be set is YTDINPUT. This defines the model type whether it
is periodic or YTD (year to date). This parameter plays an important role since it controls how the data is stored in the cube.
Most source systems store balances on a periodic basis (for example, daily, weekly, monthly, or fiscal periods). With this method, periodic data must be
accumulated for year-to-date reporting (except for balance sheet accounts, which gets the value from the last period).
However, in some business cases, calculations should occur on a year-to-date basis. If YTD is required, models can store the data on a YTD basis. When data is
entered into YTD, its periodic values used for reporting purposes are calculated as the difference between the current period and the last period (balance sheet
accounts would simply take the value from the last period).
By default, models are periodic. You can change the YTDINPUT parameter to a value of 1 to turn it into a YTD storage type.
Activities
Refer to the Administration Model Help for information about setting model parameters.
Features
For each predefined data package and script logic, there are one or more Business Rule tables, in which a business user can configure rules. The consolidation
engine uses these rules to perform all the appropriate calculations on a user-selectable region of data, and write the calculated results into the database
Business rules provide the flexibility for a business user to customize the delivered logical functions, to meet specific business needs, without having to
understand either scripting or programming.
To run these programs, use the Data Manager packages.
The following table lists the consolidation process tasks and the corresponding business rules:
Consolidation Task
/CPMB/OPENING_BA LANCES
COPY_OPENING.LGF
Carry-forward rules
Currency translation
/CPMB/FX_RESTATM ENT
FXTRANS.LGF
Intercompany reconciliation
/CPMB/ICDATA
ICDATA.LGF
No rules needed
/CPMB/ICBOOKING
ICBOOKING.LGF
Intercompany booking
Legal consolidation
/CPMB/LEGAL_CONS OLIDATION
CONSOLIDATION.LGF
Account calculation
(cash flow function)
/CPMB/RUNCALCAC COUNT
CALCACCOUNT.LGF
Account-based calculation
US widely used
/CPMB/IC_ELIMINATI ON
ICELIM.LGF
US elimination
Intercompany elimination
For each process, the predefined Data Manager packages with their associated logic scripts and rule tables are executed, performing the consolidation task
according to the business rule customization. Any specific business requirement needs to be configured in the corresponding business rule.
Description
Technical Name
/CPMB/DEFAULT_FORMULAS
/CPMB/FX_RESTATMENT
PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.
Page 34 of 102
/CPMB/IC_ELIMINATION
/CPMB/ICBOOKING
/CPMB/ICDATA
/CPMB/LEGAL_CONSOLIDATION
/CPMB/OPENING_BALANCES
/CPMB/RUNCALCACCOUNT
/CPMB/CLEAR_JOURNALS
/CPMB/EXPORT_JOURNAL
/CPMB/RESTORE_JOURNALS
Procedure
1. Add the Data Manager packages for a consolidation model:
For more information, see the SAP BusinessObjects EPM solutions, add-in for Microsoft Office help.
2. Create Script Logic files (LGF).
Script Logic allows users to define formulas that perform calculations on SAP BusinessObjects Planning and Consolidation members and data.
You can create the following different types of logic:
Dimension Member Formulas;
Script logic.
Each type has advantages and disadvantages. Logic is model-specific and all script logic statements are case-insensitive.
1. Select
Planning and Consolidation Administration
Rules
Logic Scripts .
2. Select Scripts for CONSOLIDATION and click Open .
3. Click New .
4. Create an LGF file by using the script logic supported by SAP BusinessObjects Planning and Consolidation, version for SAP NetWeaver.
Note
The Logic File name must be identical to the string defined with the data package.
3. Maintain the business rule table.
SAP BusinessObjects Planning and Consolidation delivers predefined functions designed to calculate and post amounts required to support common
accounting activities such as:
Currency translation
Matching and elimination of inter-unit balances.
To allow a customer the flexibility to customize these functions to meet specific requirements table-based logic is used.
For each predefined function, there are one or more Business Rule tables, in which the business user can configure rules such as:
What balances should be read in order to calculate an amount to be posted.
What are the posting rules for the calculated amount (meaning, to what account and data source is the calculated amount posted).
Table-based logic (Business Rules) provides the flexibility for a customer to customize delivered functions (logic), to meet specific business needs, without
having to understand either scripting or programming.
The following Business Rule (table-based logic) functions are delivered with SAP BusinessObjects Planning and Consolidation:
Currency Translation
Account-based Calculations
Calculate and store amounts, which are required for purposes of account-based
calculations
Intercompany Bookings
US Eliminations
US eliminations
Specifically designed to address the posting of intercompany eliminations in simpler
scenarios where a full legal consolidation model is not required.
Carry-Forward
Generate all the consolidation entries for the desired groups of entities (such as
eliminations, adjustments, reclassifications, and minority calculations)
PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.
Page 35 of 102
Features
Journal Template Definition
The primary requirement for journals is to track changes to data after the initial source data is input into the model. For example, the general ledger information is
loaded into the model through the Data Manager. The model users can adjust this data and also track and report on the changes by, for example, amount, date,
and user.
For information about setting up journals, see Journal Administration. For information on defining a journal template, see Journal Template Creation
Once the journal template is created, neither the dimension nor the data in the model can be deleted from the model.
Validation Setting
Validations are designed to prevent incorrect cube intersections from being saved. You cannot get data into a cube without going through the Write-Back module.
Therefore, validations are implemented in write-back, to ensure that invalid records cannot get into the cube from any source, including journals, Data Manager
packages, and manual data input. For example, a specified intercompany account with an empty Trading Partner dimension is blocked from being written into the
cube.
To customize validation, in the SAP ABAP system enter the transaction code UJ_VALIDATION to configure the validation framework and customize the validation
rules according to your business requirements. For more information, see Breakdown Validation.
Caution
If you have already created a journal template, creating a new template that changes the structure of the journal entries deletes the old template and all journal
entries associated with that template. This removes your audit trail, even though changes made to the model data through posted journal entries are
maintained. If you recreate the journal template, but do not change the structure of the template keeping all header and detail dimensions the same, you have
the option to keep the existing journal entries.
More Information
Journal Administration
Journal Template Creation
1.4.10.1 Example
Use
After loading general ledger data into a model using Data Manager, the processor should be able to review the data and use journal entries to make adjustments if
there is any correction or reclassification needed.
When journal entries are saved and posted, all adjustments to data can be tracked and reported on. For example, it is possible to run reports on the changes by
amount, date, user, and several other properties to review and analyze.
Validations, on the other hand. are designed to prevent incorrect records from being saved to the cube. The user controls what is deemed an incorrect record. An
example of an incorrect record is one where you have specified an intercompany account, but you have left the Trading Partner dimension empty.
1.5 Rules
Use
You can perform calculations on your data using the following methods:
Business rules, which are parameter-driven functions within Planning and Consolidation models for calculating and posting monetary amounts in support of
common accounting activities.
Logic, with which you define formulas that perform calculations on Planning and Consolidation dimension members and data.
Page 36 of 102
Member formulas allow you to create and execute formulas and calculations on dimension members.
Prerequisites
The Enable Member Formulas option is selected for the dimension to which you are applying the member formula. See Dimension Properties.
Features
Use the following guidelines when implementing formulas:
The system calculates formulas at retrieval time. Formulas can slow retrieval performance if used incorrectly.
Implement member formulas only for members that need calculating after aggregations, such as ratios. Do not use formulas on members that need to
aggregate.
Use formulas only for ratios that need to be calculated at both the base and parent level. If the resulting value is aggregated to the parent, use logic scripts
to write the results to the database.
You cannot reference MDX functions, also known as user-defined functions, from a library file.
For information about restrictions pertaining to member formulas, see SAP Note SAP Note 1356081
Activities
You can view the member formulas added to a dimension by selecting
Rules
Member Formulas
You can add a formula to a dimension, as well as edit and delete a formula assigned to a dimension.
Features
You can use the following features of MDX formula syntax:
Syntax basics
You can write the dimension ID using both uppercase and lowercase letters case, and the member ID should be the identical case of the member.
You must enclose all member IDs in [square brackets].
You must fully-qualify all member IDs, preceded by the names of their related dimension enclosed in square brackets, unless the dimension is ACCOUNT,
in which case you may omit the dimension name.
MDX syntax exceptions
The following are exceptions to MDX syntax:
Replace the keyword AS with an equal (=) sign.
Do not use single quotes around expressions.
Note that the following structure is the normal syntax for calculated members required by MDX queries:
{member} = {expression}[, solve_order = n]
The only exceptions are the equal sign (=) in place of the "AS" keyword and the lack of single quotes around the expression.
More Information
For examples of simple MDX formulas that can be used in the Formula column for an account, see Simple Rule Formula Examples.
For examples of movement calculations and allocating expenses based on entity type, see Advanced Rule Formula Examples.
Features
Task
Syntax:
[DIMENSION].[ACCOUNT1] + [DIMENSION].[ACCOUNT2]
Example
PreTax Income:
[ACCOUNT].[OPERATING INCOME] + [ACCOUNT].[OTHEREXP].
Adding a range of accounts
Syntax:
PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.
Page 37 of 102
[DIMENSION].[ACCOUNT1]:[DIMENSION].[ACCOUNT2]
Example
Total Personnel Exp:
SUM([ACCOUNT].[SALARIES]:[ACCOUNT].[COMMISSION])
Calculating a percentage
Syntax:
[DIMENSION].[ACCOUNT1] / [DIMENSION].[ACCOUNT2]
or (to prevent division by zero):
IIF([DIMENSION].[ACCOUNT1] = 0, NULL,
[DIMENSION].[ACCOUNT2]/[DIMENSION].[ACCOUNT1])
Example
Gross Margin Pct:
IIF([ACCOUNT].[REVENUE] = 0, NULL, [ACCOUNT].[GROSS
MARGIN]/[ACCOUNT].[REVENUE])
Multiplying by a factor
Syntax:
[DIMENSION].[ACCOUNT1]*[DIMENSION].[ACCOUNT2]
Example
Taxes:
[ACCOUNT].[PRETAX INCOME] * -0.35
Calculating a YTD value
Syntax:
[DIMENSION].[ACCOUNT1],[MEASURES].[YTD]
Example
Current Year Net Income:
([ACCOUNT].[NET INCOME], [MEASURES].[YTD])
Features
You can use the following features of advanced rule formulas:
Movement calculations
Movement calculations define the copying or movement of data from one time period to another. In the formula examples below, [ AccRec] is the accounts
receivable account, and [ AccPay] is the accounts payable account.
Example
Account
Description
Formula
IIF([TIME].CURRENTMEMBER.PROPERTIES("CALC
")="N", [ACCOUNT].[ACCREC] ([ACCOUNT].[ACCREC], [TIME].PREVMEMBER),
SUM(DESCENDANTS([TIME].CURRENTMEMBER, 20,
LEAVES)))
With the formula, you are checking whether the current
TIME member is parent or not by checking the property
CALC = NO. If it is not a parent, then we take the current
TIME member's Account Receivables (ACCREC) and
subtract the previous month's Account Receivables. If the
current TIME member is parent, then you simply sum
up all of the children.
Mvmt Inventory
Movement in Inventory
IIF([TIME].CURRENTMEMBER.CHILDREN.COUNT=0
, [ACCOUNT].[INVENTORY] ([ACCOUNT].[INVENTORY],
[TIME].PREVMEMBER),
SUM(DESCENDANTS([TIME].CURRENTMEMBER, 20,
LEAVES)))
The formula checks inventory.
IIF([TIME].CURRENTMEMBER.CHILDREN.COUNT=0
, [ACCOUNT].[ACCPAY] ([ACCOUNT].[ACCPAY], [TIME].PREVMEMBER),
SUM(DESCENDANTS([TIME].CURRENTMEMBER, 20,
LEAVES)))
SUM([ACCOUNT].[MVMT ACC
REC]:[ACCOUNT].[MVMT ACC PAY])
PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.
Page 38 of 102
Example
Account
Description
Formula
S&M Exp
IIF([ENTITY].CURRENTMEMBER.PROPERTIES("CA
LC")="N",
IIF([ENTITY].CURRENTMEMBER.PROPERTIES(
FUNCTION ) = SM , [ACCOUNT].[TOTAL DEPT
EXP], NULL),
SUM(DESCENDANTS([ENTITY].CURRENTMEMBER,
[ENTITY].[LEV1], LEAVES)))
You first check if the current ENTITY member is parent or
not. Then, you read the property FUNCTION of the
current ENTITY member to see whether it is "SM" or not.
If it is "SM", then, you are taking the Total Department
Expense as a Sales & Marketing expense. Otherwise, it
will be assigned with zero. If current ENTITY is parent, a
sum of all children appears.
R&D Exp
R&D Expense
IIF([ENTITY].CURRENTMEMBER.PROPERTIES("CA
LC")="N",
IIF([ENTITY].CURRENTMEMBER.PROPERTIES(
FUNCTION ) = RD , [ACCOUNT].[TOTAL DEPT
EXP], NULL),
SUM(DESCENDANTS([ENTITY].CURRENTMEMBER,
[ENTITY].[LEV1], LEAVES)))
In this formula, you are taking the "RD" values of
FUNCTION property.
G&A Exp
G&A Expense
IF([ENTITY].CURRENTMEMBER.PROPERTIES("CAL
C")="N",
IIF([ENTITY].CURRENTMEMBER.PROPERTIES(
FUNCTION ) = CORP , [ACCOUNT].[TOTAL DEPT
EXP], NULL),
SUM(DESCENDANTS([ENTITY].CURRENTMEMBER,
[ENTITY].[LEV1], LEAVES)))
Prerequisites
You must have the SAP HANA Component for Planning and Consolidation HANABPCSP05 installed on your system.
Use
You can create a nested formula in which the different parts of that formula are calculated by other formulas.
Example
A=B+C
B=D-6
C=F*E
In the example above, the formula A is calculated by B and C. In turn B and C are also calculated by formulas.
Nested formulas are only supported by the HANA MDX engine. The HANA MDX engine significantly improves the performance when executing complex
calculations on large amounts of data.
PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.
Page 39 of 102
Features
You can perform logic calculations on base level members only. In addition, logic is specific to each model.
Planning and Consolidation provides a library of MDX formulas, and the EnvironmentShell sample environment contains a number of logic functions.
Note
Logic keywords are case-insensitive. However, all environment, model, dimension, and member names in K2 are case-sensitive .
You have the following two files for each piece of script logic you create:
An .LGF file, which is an ASCII file you create and edit when setting up logic calculations. You access the .LGF file through the logic editor.
An .LGX file, which is the compiled logic file created by the system when you validate and save your logic. This is an executable version of the .LGF file
that is not stored in Planning and Consolidation.
Default logic is a special logic statement that is executed on every writeback to a model. All logic in Default.LGF is run after data sends. Data is first
committed to the model and then, Default.LGF is run on model data. Having all of your logic in the Default.LGF logic file might become unmanageable.
Therefore you can create other logic files, such as FXTrans.LGF for foreign currency translation and ICElim.LGF for intercompany eliminations. Your default
logic can contain an INCLUDE statement to execute specific logic in real-time, such as currency translation if desired, rather than having to run a separate batch
process.
You access logic files from the Script Logic subdirectory within the hierarchy of a model.
Logic Library
Planning and Consolidation has a library of standard logic functions available for your use. The file has the extension .LGF, which can be called at validation by
using the INCLUDE function in your logic file. The logic module scans the library file for the appropriate formulas to use based on the information in the .LGF file.
The following are examples of logic delivered with Planning and Consolidation:
Allocation.lgf: runs an allocation
Calcaccount.lgf: used to prepare Cash Flow; runs an Account Calculation business rule
Consolidation.lgf: used to run a Legal Consolidation business rule
Copy_Opening.lgf: used to run a Balance Carry Forward business rule
FX_Trans.lgf: used to run currency conversion
ICBooking.lgf: used for running Intercompany reconciliation and difference posting
ICData.lgf: used to run Intercompany reconciliation
ICElim.lgf: used to run Intercompany reconciliation
MDXlib.lgf: library of MDX financial functions
System_Constants.lgf: stores constant values for use within script logic. See the System constants file section that follows for more information.
System_Library.lgf: includes basic examples of a set of keywords
Validation.lgf: used for running a Validation rule
System Constants File
The system constants file is the logic file that maps your dimension names for a model to the standard Planning and Consolidation logic. By updating the
dimension constants file with your dimensions, you avoid having to change or rewrite any of the standard functions that are included with Planning and
Consolidation.
The system constants file is located in the \\root\Webfolders\ <Environment> \systemlibrary\logiclibrary folder. You can edit this file using
download and upload functions from transaction UJFS in the ABAP interface.
Running Script Logic
Script logic can be automatically invoked each time the system sends data to the database. Instructions in the default logic file are executed immediately after
data is sent and you can see the results immediately. Script logic can be run from Data Manager for batch processing of formulas. Using Data Manager to
execute Logic module formulas is useful for calculations that do not need to be executed immediately. For example, you may decide to wait until all data has been
entered in the local currency before generating the translated amounts in reporting currencies.
Activities
From the Planning and Consolidation Administration screen, you can view all logic scripts for a model by choosing
model, then choosing Open . All logic scripts that have been set up for that model display.
Rules
Logic Scripts
, selecting a
You can create a new logic script for the selected model by choosing New , then assigning a name to the logic script. You can type directly into the logic editor.
You can also insert Planning and Consolidation keywords, MDX keywords, dimension names, and member names from the dropdown lists, replacing variables in
the keywords as appropriate. To add a keyword from the dropdown lists to a line in a script, you can double-click on a keyword, you can select a keyword and
then select Insert Keyword , and you can drag and drop a keyword from the dropdown list into a line in the logic editor.
You can comment out and uncomment blocks of script logic, as well as individual lines, in the logic editor.
When you create new logic script and edit an existing script, you can validate its syntax. Any problems with the logic display in the lower portion of the logic editor
with line numbers to make locating and resolving the problems easier.
You can copy an existing logic script by selecting a file, then providing a name for the new script, and modifying it as you need.
You can use the following color coding in the logic editor to assist in writing and troubleshooting logic scripts:
Keywords display in blue
Constant values display in green
Comments display in grey
Incorrect syntax, such as parenthesis errors, misspelled keywords and dimension names, and unrecognized words, displays in red
You can easily resolve errors in script logic using the error lines in the lower portion of the logic editor window. Errors in a script appear by line number.
More Information
For more detailed documentation of script logic and examples, see the section Planning and Consolidation, version for the SAP NetWeaver Platform in the
Enterprise Performance Management (EPM) How-to Guides section of the SAP SDN at:
PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.
Page 40 of 102
http://wiki.sdn.sap.com/wiki/display/BPX/Enterprise+Performance+Management+%28EPM%29+How-to+Guides.
Features
The following table describes some of the more common MDX functions:
MDX Function
Description
Parameters
Ancestor
<Member>, <Level>
ClosingPeriod
[<Level>[, <Member>] ]
Cousin
<Member1>, <Member2>
Current Member
Default Member
(none)
FirstChild
(none)
FirstSibling
(none)
IsEmpty
<Expression>
Item
<Numeric Expression>
Lag
Returns a member prior to the specified member along the <Numeric Expression>
member's dimension
LastChild
(none)
LastSibling
(none)
Lead
<Numeric Expression>
Members
(none)
NextMember
(none)
OpeningPeriod
[<Level>[, <Member>] ]
ParallelPeriod
Returns a member from a prior period in the same relative [<Level>[, <Numeric Expression>[, <Member>] ] ]
position as a specified member
Parent
(none)
PrevMember
(none)
Aggregate
Returns a calculated value using the appropriate aggregate <Set>[, <Numeric Expression>]
function, based on the context of the function
Avg
CoalesceEmpty
Correlation
Count
LinRegIntercept
LinRegPoint
LinRegR2
LinRegSlope
PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.
Page 41 of 102
Median
Sum
a set
For additional NW BI MDX keywords, run function module BAPI_MDPROVIDER_GET_FUNCTIONS via transaction SE37.
Activities
Run the following instruction to call custom ABAP programs:
*CALL_CUSTOM_LOGIC <filter_value_of_the_BADI>
where filter_value_of_the_BADI is the name of the filter you provided during the BADI implementation of UJ_CUSTOM_LOGIC BADI.
Custom logic example
*CALL_CUSTOM_LOGIC COMPLEX_ALLOCATION
BADI examples
*START_BADI / *END_BADI call any custom ABAP programming written using UJ_CUSTOM_LOGIC BADI (Transaction SE19) and allow you to export
parameters to ABAP codes in the BADI.
Syntax
*START_BADI <filter_value_of_your_BADI_implementation>
<key1> = <value1>
<key2> = <value2>
*END_BADI
where filter_value_of_your_BADI_implementation is the name of the filter you provided during the BADI implementation of UJ_CUSTOM_LOGIC
BADI.
Syntax example
The following example shows how to call an implemented BADI, with CALC_ACCT as the filter value, for adding two accounts to a destination account:
*START_BADI ROUND
DECIMAL = 2
*END_BADI
The DECIMAL parameter is visible in the IT_PARAM internal table inside the EXECUTE method. In the EXECUTE method, you can write custom code to change
the incoming transactional data of CT_DATA.
Optional Parameters
You can use the following optional parameters within a *START_BADI / *END_BADI instruction:
Query - Performs the default query. Valid values are On, the default, and Off. Set Query to Off if you want to perform your own query.
Write - Automatically writes back the data. Valid values are On, the default, and Off.
Example
Implementing code (in EXECUTE method of the implemented class) for declining depreciation
Note
Before you can use a BADI in script logic, implement UJ_CUSTOM_LOGIC BADI from transaction SE19. See the ABAP online help at
http://help.sap.com/saphelp_nw70/helpdata/en/32/a83942424dac04e10000000a1550b0/content.htm
METHOD if_uj_custom_logic~execute.
DATA: ls_param TYPE ujk_s_script_logic_hashentry,
l_log TYPE string,
l_ast_acct(16) TYPE c,
l_year(3) TYPE n,
l_percentage(3) TYPE p,
PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.
Page 42 of 102
PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.
Page 43 of 102
Note
Planning and Consolidation always overwrites existing values.
ct_data = <lt_final>.
ENDMETHOD.
Script logic file content to call the BADI:
*START_BADI DECD
QUERY = ON
WRITE = ON
YEAR = 1
PERCENTAGE = 10 *END_BADI
Note
ET_MESSAGE in the BADI logs the messages to the Data Manager.
If you want to stop the execution, raise the cx_uj_custom_logic exception within a BADI implementation.
More Information
For instructions about creating an SAP Business Add-In, see the ABAP model help in the SAP NetWeaver Library.
More Information
*ADD / *ENDADD
*BEGIN / *END
*DESTINATION_APP
*FOR / *NEXT
*FUNCTION / *ENDFUNCTION
*INCLUDE
*REC
LOOKUP
*RUNALLOCATION
*SELECT
*SELECTCASE / *ENDSELECT
*SUB( ) / *ENDSUB
*WHEN / *ENDWHEN
*XDIM_MEMBERSET
*XDIM_ADDMEMBERSET
*XDIM_MAXMEMBERS
*XDIM_FILTER
*COMMIT
Special Keywords
TMVL Parameter
PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.
Page 44 of 102
Example
*ADD %ACC%=[CE0004010],[CE0004020],[CE0004030] [#CE0661000] = %ACC%/[CE0652000]
*ENDADD
*COMMIT
[#CE00661000] = [CE0661000]/[CE0652000]
The ADD statement expands into:
[P_ACCT].[#CE0661000]
=[P_ACCT].[CE0004010]/[P_ACCT].[CE0652000]+[P_ACCT].[CE0004020]/[P_ACCT].[CE0652000]+[P_ACCT].[CE0004030]/[P_ACC
T].[CE0652000]
Note
The expression to the right of the equals sign ( = ) currently does not support more complex expressions.
Only one formula can be written inside the ADD/ ENDADD structure.
Example
*BEGIN
[P_ACCT].[#CE0661000] =
[P_ACC].[CE0004010] + [P_ACCT].[CE0004020] + [P_ACCT].[CE0004030] )
[P_ACCT].[CE0652000]
*END
1.5.2.2.3 *DESTINATION_APP
The DESTINATION_APP keyword allows you to write the results of calculations to a different model.
Syntax
*DESTINATION_APP = {app name}
Often, the destination model shares only some of the dimensions of the original model. In this case, the missing dimensions can be dropped from the original
records with the instruction:
*SKIP_DIM= {dimension name}[,{dimension name},]
When the original model has dimensions that are not found in the destination model, the SKIP_DIM keyword is mandatory. Validation cannot pass without the
SKIP_DIM keyword.
Multiple dimension names can be supplied to the instruction separated either by commas or by multiple SKIP_DIM instructions entered on separate lines.
If the destination model has dimensions that do not exist in the original model, these can be added to the passed records, using the instruction:
*ADD_DIM {dimension name}={value}[,{dimension name}={value} [, {dimension name} = {dimension name(source): Property
name}, #]
Multiple dimension names and values can be supplied to the instruction separated either by commas or by multiple ADD_DIM instructions entered on separate
lines. Dimension properties (dimension from the source model) are also supported.
Example:
To explain DESTINATION_APP with SKIP_DIM, ADD_DIM, and RENAME_DIM, another model DETAIL_PLAN is created by copying the PLANNING model from
the delivered EnvironmentShell. It is necessary to do the following steps:
Create new dimensions PRODUCT and MARKET and add these to the DETAIL_PLAN model
Replace P_ACCT with P_ACCTDETAIL
Remove the P_ACTIVITY dimension from the DETAIL_PLAN cube using the following syntax:
*XDIM_MEMBERSET TIME = 2006.AUG
*XDIM_MEMBERSET CATEGORY=ACTUAL
*DESTINATION_APP=DETAIL_PLAN
*SKIP_DIM = P_ACTIVITY
*ADD_DIM P_DATASRC=INPUT, MARKET = PRODUCT:MARKET
*RENAME_DIM P_ACCT=P_ACCTDETAIL
PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.
Page 45 of 102
*WHEN CATEGORY
*IS "ACTUAL"
*REC(EXPRESSION=%VALUE%)
*ENDWHEN
Explanation: DETAIL_PLAN is the target model, which has all dimensions of PLANNING except for P_ACCT. This dimension is replaced with P_ACCTDETAIL.
Also, DETAIL_PLAN has two additional dimensions, namely P_DATASRC and MARKET. The above script logic moves the data into DETAIL_PLAN with:
P_DATASRC defined by the keyword INPUT
MARKET by using the value of the property 'MARKET' of the dimension PRODUCT, which must exist in the source model
The corresponding values of P_ACCT are copied to P_ACCTDETAIL
The keyword RENAME_DIM can be used, to change name of one or more dimensions. The syntax is:
*RENAME_DIM {dimension name}={value}[,{dimension name}={value},]
This instruction can be used when data is to be written into a model where a dimension is named with a different ID.
Multiple dimension names and values can be supplied to the instruction separated either by commas or by multiple RENAME_DIM instructions entered on
separate lines.
Any combination of the three keywords, above, is supported.
Examples
Example 1
Environment: EnvironmentShell_V
Model: PLANNING
In this example, EnvironmentShell_V is a copy of EnvironmentShell and COPY_PLANNING is a copy of the PLANNING model. You can execute the
script, shown in this example, in a PLANNING model to copy ACTUAL data to the COPY_PLAN model.
If the *DESTINATION_APP command appears once in the middle of the script, all remaining data writing of the script logic file occurs in the referenced
destination model. Any data writes before the *DESTINATION_APP are written in the model where the script is currently being run.
*XDIM_MEMBERSET TIME = 2006.AUG
*XDIM_MEMBERSET CATEGORY=ACTUAL
*DESTINATION_APP=COPY_PLANNING
*WHEN CATEGORY
*IS "ACTUAL"
*REC(EXPRESSION=%VALUE%)
*ENDWHEN
Example 2
To explain DESTINATION_APP with SKIP_DIM, ADD_DIM, and RENAME_DIM, another model DETAIL_PLAN is created by copying the PLANNING model from
the delivered EnvironmentShell. It is necessary to:
Create new dimensions PRODUCT and MARKET and add these to the DETAIL_PLAN model
Replace P_ACCT with P_ACCTDETAIL
Remove the P_ACTIVITY dimension from the DETAIL_PLAN cube
*XDIM_MEMBERSET TIME = 2006.AUG
*XDIM_MEMBERSET CATEGORY=ACTUAL
*DESTINATION_APP=DETAIL_PLAN
*SKIP_DIM = P_ACTIVITY
*ADD_DIM P_DATASRC=INPUT, PRODUCT = NO_PRODUCT, MARKET = NO_MARKET
*RENAME_DIM P_ACCT=P_ACCTDETAIL
*WHEN CATEGORY
*IS "ACTUAL"
*REC(EXPRESSION=%VALUE%)
*ENDWHEN
Explanation
DETAIL_PLAN is the target model, which has all dimensions of PLANNING except for P_ACCT. This dimension is replaced with P_ACCTDETAIL. Also,
DETAIL_PLAN has two additional dimensions, namely PRODUCT, and MARKET.
The above script logic moves the data into DETAIL_PLAN with:
Blank data in the PRODUCT and MARKET dimensions
P_DATASRC defined by the keyword INPUT
corresponding values of P_ACCT copied to P_ACCTDETAIL
PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.
Page 46 of 102
The Logic Module supports any number of FOR NEXT loops in the body of the logic files. The syntax is the following:
*FOR {variable1} = {set1} [ AND {variable2={set2}]
{text}
{text}
*NEXT
Example
In a logic file, you may need to repeat some calculation for a set of entities. This works automatically when you write:
*XDIM_MEMBERSET TIME = 2006.JAN
*XDIM_MEMBERSET CATEGORY = Q1FCST_LOAD
*FOR %Q1% = 2006.JAN, 2006.FEB, 2006.MAR
*RUNALLOCATION
*FACTOR=1/3
*DIM TIME WHAT = 2009.JAN; WHERE = %Q1%;
*DIM CATEGORY WHAT=Q1FCST_LOAD; WHERE=FQ1;
*ENDALLOCATION
*NEXT
Assuming the forecast data for Q1 is loaded in 2006.JAN, the above script allocates this data into each period in Q1 equally.
Note
Only one variable is allowed per *FOR statement.
Example
*FUNCTION Price(%COST%,%HOUR%)
%COST%/%HOUR%
*ENDFUNCTION[#CE0661000] = Price([CE0004000],[CE0652000])
The example calculates the Price. You do not have to check the denominator for Zero to avoid divide-by-zero error. The Script Logic engine automatically replaces
the divide by zero error with zero.
You can also use *FUNCTION to substitute members or dimensions to make scripts more readable.
*FUNCTION PERSONAL_COST = CE0004000
*FUNCTION LAB_HOUR = CE0652000
*FUNCTION PER_PRICE = CE0661000
*FUNCTION ACCOUNT = P_ACCT
Price(%COST%,%HOUR%)
%COST%/%HOUR%
*ENDFUNCTION
PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.
Page 47 of 102
[ACCOUNT].[#PER_PRICE] = Price([ACCOUNT].[PERSONAL_COST],[ACCOUNT].[LAB_HOUR])
The following characters, plus the blank character, are invalid in logic functions names:
+ - / * ^ % > < = ( ) [ ] {}, .;' :& \ | # ~ "
1.5.2.2.6 *INCLUDE
Multiple files can be combined into one logic file by the use of the instruction INCLUDE. During the LGX generation of the script logic execution step, the
statements in the INCLUDE file are combined with the main file.
Example
*INCLUDE FUNCTION_DEFINITIONS.LGF
[ACCOUNT].[#PER_PRICE] =
Price([ACCOUNT].[PERSONAL_COST],[ACCOUNT].[LAB_HOUR])
A FUNCTION_DEFINITIONS.LGF file can include all definitions:
*FUNCTION PERSONAL_COST = CE0004000
*FUNCTION LAB_HOUR = CE0652000
*FUNCTION PER_PRICE = CE0661000
*FUNCTION ACCOUNT = P_ACCT
Price(%COST%,%HOUR%)
%COST%/%HOUR%
*ENDFUNCTION
1.5.2.2.7 *REC
The *REC( ) instruction tells the program what to do once the specified criteria has been met. Each REC instruction generates one new record to post to the
database. Each source record can generate as many records as desired, even pointing to the same destination cell.
The parameters of the REC( ) function specify what to modify of the original record. Any dimension member can be modified using the following syntax:
{DimensionName}={member}
Example
*XDIM_MEMBERSET P_ACCT = CE0004010
*WHEN CATEGORY
*IS ACTUAL *REC(FACTOR = 1.1, CATEGORY="FORECAST")
*ENDWHEN
The {member} must be enclosed in double quotes and can contain the name of any dimension enclosed between percent signs (for example:
ENTITY="IC_%ENTITY%"). In this case, the dimension name is replaced with the value of the current member for that dimension, and not with just the
dimension name.
You can use property values in WHEN statement.
Example
*XDIM_MEMBERSET CATEGORY = PLAN
*WHEN TIME.YEAR
*IS "2007"
*REC(FACTOR = 1.1, CATEGORY="FORECAST")
*ENDWHEN
The above script copies the 2007 plan data to Forecast. You can also read property values and assign them to dimensions.
Example
*XDIM_MEMBERSET P_ACCT = CE0004010,CE0652000
*WHEN P_ACCT
*IS "CE0004010"
*REC(EXPRESSION=([P_ACCT].[CE0004010],[P_ACTIVITY].[NONE])/([P_ACCT].[CE0652000],[P_ACTIVITY].[LABPRD]),
RPTCURRENCY=[ENTITY].CURRENCY, P_ACCT=CE0661000)
*ENDWHEN
Restrictions For Using the REC Instruction
You cannot use other MDX keywords (such as PARENT and DESCENDANTS) in FACTOR or EXPRESSION instructions. The only permitted operations are
addition (+), subtraction (-), multiplication (*), and division (/), combinations of these operators, and parenthesis for tuple and priorities of the operations.
You cannot use the GET() function to refer to another source value. The MDX tuple format acts as a GET function.
You cannot use NOADD or FLD functions within REC.
Dynamic properties such as HLEVEL, PARENTHn are not supported in the REC statement.
PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.
Page 48 of 102
REC always needs to be accompanied by WHEN / IS / ENDWHEN. Stand-alone REC statements do not have any effect.
You cannot use SIGNEDDATA or any measure name in a WHEN statement to write a condition on a measure value.
WHEN / IS / REC / ENDWHEN cannot be used in SELECTCASE / ENDSELECT.
Using Multiple REC Statements
You can write multiple REC statements within one WHEN/ IS/ ENDWHEN statement.
Syntax
*WHEN {dim}
* IS {condition_value}
*REC({FACTOR or EXPRESSION instruction},dim=)
*REC({FACTOR or EXPRESSION instruction},dim=)
*REC({FACTOR or EXPRESSION instruction},dim=)
*ENDWHEN
Example
*XDIM_MEMBERSET TIME = 2006.AUG,2006.SEP
*XDIM_MEMBERSET P_ACCT=CE0004010
*XDIM_MEMBERSET CATEGORY=ACTUAL
*WHEN P_ACCT
*IS "CE0004010"
*REC(EXPRESSION=%VALUE%/1.5098, RPTCURRENCY="EUR")
*REC(EXPRESSION=%VALUE%/1.0666, RPTCURRENCY="CAD")
*REC(EXPRESSION=%VALUE%/1.9183, RPTCURRENCY="GBP")
*ENDWHEN
The script shown above creates EUR, CAD, and GBP posts in the cube.
Referring To Another Source Value Within A FACTOR/EXPRESSION Instruction
You can assign a source value from the scoped data for a FACTOR or EXPRESSION instruction to calculate a new value inside a *REC( ) statement. To refer to
another source value, you must use fully qualified MDX formatting, including an Account dimension.
Note
You have the ability to use implicit Account members in direct MDX statements within script logic.
Syntax
*WHEN {dim}
* IS {condition_value}
*REC({FACTOR or EXPRESSION instruction},dim=)
*REC({FACTOR or EXPRESSION instruction},dim=)
*REC({FACTOR or EXPRESSION instruction},dim=)
*ENDWHEN
Example
Environment: EnvironmentShell_V (Copy of EnvironmentShell)
Application: Planning
*XDIM_MEMBERSET P_ACCT = CE0004010,CE0004020
*WHEN P_ACCT
*IS "CE0004010"
*REC(EXPRESSION=%VALUE%/[P_ACCT].[CE0004020], P_ACCT="CE0661000")
*ENDWHEN
You can use tuples as well.
Example
Environment: EnvironmentShell_V (Copy of EnvironmentShell)
Application: Planning
*XDIM_MEMBERSET P_ACCT = CE0004010,CE0652000
*WHEN P_ACCT
*IS "CE0004010"
*REC(EXPRESSION=%VALUE%/([P_ACCT].[CE0652000],[P_ACTIVITY].[LABPRD]), P_ACCT="CE0661000")
*ENDWHEN
PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.
Page 49 of 102
1.5.2.2.8 LOOKUP
Referring to Another Source Value Using the LOOKUP Function
To calculate a new value inside a *REC( ) statement, you can use the LOOKUP function to assign a source value that is outside the scoped data for a FACTOR
or an EXPRESSION instruction.
Syntax
*LOOKUP {Model}
*DIM [{LookupID}:]{DimensionName}="Value" | {CallingDimensionName}[.{Property}]
*DIM MEASURES="MeasureName"
*ENDLOOKUP
Example
In the following example, you are reading RATE information and using it in the calculation. You can also use FOR/NEXT to look up multiple values.
Environment: EnvironmentShell_V (Copy of the EnvironmentShell sample environment)
Model: Planning
*XDIM_MEMBERSET TIME = 2006.AUG
*XDIM_MEMBERSET P_ACCT=CE0004010
*XDIM_MEMBERSET CATEGORY=ACTUAL
*LOOKUP RATE
*DIM TIME="2006.AUG"
*DIM CATEGORY="ACTUAL"
*DIM R_ACCT="AVG"
*DIM R_ENTITY="GLOBAL"
*DIM RATEEUR:INPUTCURRENCY="EUR"
*DIM MEASURES="PERIODIC"
*ENDLOOKUP
*WHEN P_ACCT
*IS "CE0004010"
*REC(EXPRESSION=%VALUE%/LOOKUP(RATEEUR), RPTCURRENCY="EUR")
*ENDWHEN
Example
In the following example, you are first reading all reporting currencies in the *SELECT statement and assigning the values to variable %CUR%. Using
FOR/NEXT, you read their rates from RATE model. Then, you use them in the calculation.
Values in the models before the execution of the script:
PLANNING model data:
TIME
P_ACCT
ENTITY
P_ACTIVITY
CATEGORY
Currency
P_DATASRC
SignData
2006.AUG
CE0004010
C9000
NONE
ACTUAL
LC
UPLOAD
157,915.81
InputCurrency
R_ACCT
R_ENTITY
TIME
SignData
ACTUAL
EUR
AVG
GLOBAL
2006.AUG
1.5022
ACTUAL
USD
AVG
GLOBAL
2006.SEP
1.0000
*XDIM_MEMBERSET TIME=2006.AUG
*XDIM_MEMBERSET P_ACCT=CE0004010
*XDIM_MEMBERSET CATEGORY=ACTUAL
*SELECT(%CUR%, "[ID]", RPTCURRENCY, "[REPORTING]=Y")
*LOOKUP RATE
*DIM CATEGORY="ACTUAL"
*DIM R_ACCT="AVG"
*DIM R_ENTITY="GLOBAL"
*DIM TIME="2006.AUG"
*DIM MEASURES="PERIODIC"
*FOR %LOOP_CUR%=%CUR%
*DIM C_%LOOP_CUR%:INPUTCURRENCY="%LOOP_CUR%"
*NEXT
PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.
Page 50 of 102
*ENDLOOKUP
*WHEN P_ACCT
*IS "CE0004010"
*FOR %LOOP_CUR%=%CUR%
*REC(EXPRESSION=%VALUE%/LOOKUP(C_%LOOP_CUR%), RPTCURRENCY=%LOOP_CUR%)
*NEXT
*ENDWHEN
Values in the model after the execution of the script:
2006.AUG
CE0004010
C9000
NONE
ACTUAL
EUR
UPLOAD
105,123.03
2006.SEP
CE0004010
C9000
NONE
ACTUAL
USD
UPLOAD
157,915.81
You can also pass property values to scope members to look up data.
Example
In this example, the corresponding Entity's currency is read from master data and this is used to look up the rate value.
*XDIM_MEMBERSET TIME = 2007.AUG
*XDIM_MEMBERSET P_ACCT=CE0004010
*XDIM_MEMBERSET CATEGORY=ACTUAL
*XDIM_MEMBERSET ENTITY=C9000
*LOOKUP RATE *DIM TIME="2006.AUG"
*DIM CATEGORY="ACTUAL"
*DIM R_ACCT="AVG"
*DIM R_ENTITY="GLOBAL"
*DIM RATE:INPUTCURRENCY=ENTITY.CURRENCY
*DIM MEASURES="PERIODIC"
*ENDLOOKUP
*WHEN P_ACCT
*IS "CE0004010"
*REC(EXPRESSION=%VALUE%/LOOKUP(RATE), RPTCURRENCY=ENTITY.CURRENCY)
*ENDWHEN
Restriction
Reading multiple measures within a single LOOKUP by assigning different lookup IDs is not supported.
1.5.2.2.9 *RUNALLOCATION
Allocation helps distribute data from a source region to a target region using the specified driver.
Syntax
*RUNALLOCATION
*FACTOR=<driver>
*DIM P_ACCT WHAT=<soure>; WHERE=<target>; USING=<distribution key>; [TOTAL=<distribution key>]
*DIM <other dimensions>
*ENDALLOCATION
WHAT (Source)
The source value represents the range of data values to be allocated by the allocation function. This value is qualified by one or several tuples in the model.
Possible WHAT options are:
Options
Descriptions
Example
Member
[property]="property value"
BAS
same as WHERE
<> member
defined member.
In the <>member mode, the member should be base
member in the dimension.
If the <> is used, all other base members in that
dimension should be included in the region.
PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.
Page 51 of 102
Restriction of WHAT
You cannot use blank or [ALL] in WHAT condition.
You cannot use non-base members with <>.
USING and TOTAL (Distribution key)
The basis of the allocation is the definition of a portion or complete source value to be allocated. The method of defining the basis is the use of a factor. A factor can
be the value or values that can be multiplied or divided to derive a value (added or subtracted potential future support).
A factor can also derive values based on a defined region of data referred as using, or the basis region.
Possible USING and TOTAL options are:
Options
Descriptions
Example
Member
BAS
same as WHERE
for the specified dimension. The same dimension must be *DIM Account USING = PercentAcct
for both WHERE and USING.
Note
WHERE only supports a single member reference.
<> member
defined member.
In the <>member mode, the member should be base
member in the dimension.
If the <> is used, all other base members in that
dimension should be included in the region.
[property]="property value"
Restriction of USING
You cannot use >0. For example, USING = Amount >0 is not supported.
USING and TOTAL must have the same definition.
You cannot use non-base members with <>.
You cannot use parent member directly in USING. BAS(parent) is still allowed as described above.
FACTOR (Driver)
FACTOR can be used to define any arithmetic expression, written in the {expression} parameter, and can contain operands, parentheses, constants, and one or
both of the keywords USING and TOTAL, representing respectively the amount coming from the USING region, the amount of the driver, and the amount coming
from the TOTAL region, the sum of the drivers.
If FACTOR is omitted, the FACTOR defaults to 1.
If the arithmetic expression is omitted, the default is multiplication.
Possible FACTOR options are:
Options
Descriptions
Example
.8
Only a fixed amount is to be applied to the source value for Tuple value of the WHAT is 10 for product A
allocation.
10*.8 = 8
USING
The value of the USING region defined is used as the basis Tuple value of the WHAT is 10 for product A, tuple value of
of the allocation. This provides the ability to change values the USING is .8
without having to edit the definition of the allocation.
10*.8 = 8
-1 * USING/100
Or
1 * USING/100
-70/100 = -.7
(-70%) (1-70)/100 = -.69 (-69%)
Note
This is used with driver accounts not reporting values.
USING/TOTAL
Restriction of FACTOR
You cannot use any script logic keywords in FACTOR expression.
WHERE (Target)
The target identifies the tuples to which the values should be allocated. It represents dimension member combinations to which the values should be distributed.
The target identifies the dimension for which the value of the members is modified as compared to the source, and only explicitly mentioned and characterized
dimension should be modified.
PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.
Page 52 of 102
The keyword WHERE is used in combination with the keyword *DIM to identify the target dimension members (the values to be modified against the source).
Possible WHERE options are:
Options
Descriptions
Example
Member
BAS
member
same as WHAT
Use the same members defined in the WHAT parameter for *DIM Account WHAT = Rent
blank or [All]
[property]="property value"
*DIM Entity =
Common Restriction
*APP (ability to write in different model if needed), COUNT and LIST keywords inside RUNALLOCATION or any other options not mentioned above are not
supported.
Examples
Example 1
The account RENT is entered in entity GLOBALOPS, inter-company NON_INTERCO. This amount must be allocated using a percentage of allocation that is entered
by the user in account PERCENT in the appropriate entities and for the desired members of the CATEGORY, TIME, DATASRC, and RPTCURRENCY dimensions.
This allocation demonstrates the following features:
It uses the {dimensiontype}DIM keyword to identify the dimensions by type
It uses the <<< and >>> keywords to reference the definitions used to the left or to the right
Before Allocation
Source Account ( RENT) data:
RENT CHINA
China
RENT JAPAN
Japan
RENT INDIA
India
RENT ASAREST
Rest of Asia
RENT ASA
Asia
50,000,000.00
PERCENT CHINA
China
10.00
PERCENT JAPAN
Japan
32.00
PERCENT INDIA
India
8.00
PERCENT ASAREST
Rest of Asia
50.00
*XDIM_MEMBERSET TIME=2006.SEP
*XDIM_MEMBERSET P_ACCT=RENT,PERCENT
*XDIM_MEMBERSET ENTITY=ASA,INDIA,CHINA,JAPAN,ASAREST
*RUNALLOCATION
*FACTOR=USING/100
*DIM P_ACCT WHAT=RENT; WHERE=<<<; USING=PERCENT
*DIM ENTITY WHAT=ASA; WHERE=INDIA,CHINA,JAPAN,ASAREST; USING=<<<
*ENDALLOCATION
After Allocation
RENT CHINA
China
5,000,000.00
RENT JAPAN
Japan
16,000,000.00
RENT INDIA
India
4,000,000.00
RENT ASAREST
Rest of Asia
25,000,000.00
RENT ASA
Asia
50,000,000.00
Example 2
The account RENT is entered in entity GLOBALOPS, inter-company NON_INTERCO. This amount must be allocated on the basis of the square meters of rented
space used by all European entities.
This allocation demonstrates the following features:
Allocation uses historical rent as the driver
It uses the BAS( ) keyword to build a list of members
Before Allocation
Below is the history data shown for the 2008.JAN period. Asia is the parent node.
PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.
Page 53 of 102
Entity
CATEGORY
Asia all
ACTUAL
2008.JAN
Asia
ACTUAL
China
ACTUAL
1,500.00
Japan
ACTUAL
7,000.00
India
ACTUAL
500.00
Rest of Asia
ACTUAL
5,000.00
Planning Asia
ACTUAL
TIME=2008.JAN,2009.JAN
P_ACCT=RENT
CATEGORY=ACTUAL,PLAN
ENTITY=ASA,BAS(RASA)
CATEGORY
2009.JAN
Asia all
PLAN
50,000.00
Asia
PLAN
50,000.00
China
PLAN
7,500.00
Japan
PLAN
35,000.00
India
PLAN
2,500.00
Rest of Asia
PLAN
5,000.00
Planning Asia
PLAN
2009.JAN is posted with rents for individual countries based upon their historical share.
Example 3
The sum of all ADVERTISING expenses incurred by all European operations must be reallocated to each European operation based on their external SALES.
This allocation demonstrates the following features:
It uses the DOT({type}) keyword to identify the dimensions by type
It demonstrates the ability to perform aggregations in the WHAT region ( SALESEUROPE and ALL_INTCO are parent members)
It shows a many-to-one redirection of a dimension (it reads the sum of the Inter-company members and writes it in the NON_INTERCO member of the INTCO
dimension)
It shows a one-to-one redirection of a dimension (it reads the INPUT member and writes the results in the ALLOCATED member of the DATASRC dimension)
Before Allocation
Source data - History data for External Sales:
PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.
Page 54 of 102
Actual - Periodic
2008.JAN
Planning Asia
China
500,000
Japan
600,000
India
200,000
Rest of Asia
800,000
Asia
2,100,000
Asia all
2,100,000
2009.JAN
Planning Asia
500,000
China
Japan
India
Rest of Asia
Asia
Asia all
500,000
Factor: USING/TOTAL
APP or (Dim) or VALUE
WHAT
WHERE
USING
TOTAL
DOT(A)
ADVERTISING
<<<
EXTSALES
<<<
DOT(E)
SALESEUROPE
BAS(SALESEUROPE)
<<<
<<<
DOT(I)
ALL_INTERCO
NON_INTERCO
>>>
BAS(ALL_INTERCO)
DATASRC
INPUT
ALLOCATED
INPUT
<<<
*RUNALLOCATION
*FACTOR =USING/TOTAL
*DIM P_ACCT WHAT=ADVERTISING; WHERE=<<<; USING=EXTSALES; TOTAL=<<<
*DIM ENTITY WHAT=ASA; WHERE=BAS(RASA); USING=<<<; TOTAL=<<<
*DIM INTERCO WHAT=WORLD_INTERCO; WHERE=I_NONE; USING=>>>; TOTAL=BAS(World_InterCo)
*DIM P_DATASRC WHAT=MANUAL; WHERE=ALLOCATED; USING=MANUAL; TOTAL=<<<
*DIM TIME WHAT=2009.JAN; WHERE=2009.JAN; USING=2008.JAN; TOTAL=<<<
*ENDALLOCATION
After Allocation
Plan - Periodic
2009.JAN
Planning Asia
China
119,048
Japan
142,857
India
47,619
Rest of Asia
190,476
Asia
500,000
Asia all
500,000
Example 4
This example implements the same scenario as example 3, but using a system variable for year. (%YEAR%). This returns current calendar year. Assume that
the script is for year 2009.
Before Allocation
Source data - History data for External Sales:
Actual - Periodic
2008.JAN
Planning Asia
China
500,000
Japan
600,000
India
200,000
Rest of Asia
800,000
Asia
2,100,000
Asia all
2,100,000
PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.
Page 55 of 102
2009.JAN
Planning Asia
500,000
China
Japan
India
Rest of Asia
Asia
Asia all
500,000
Factor: USING/TOTAL
APP or (Dim) or VALUE
WHAT
WHERE
USING
TOTAL
DOT(A)
ADVERTISING
<<<
EXTSALES
<<<
DOT(E)
SALESEUROPE
BAS(SALESEUROPE)
<<<
<<<
DOT(I)
ALL_INTERCO
NON_INTERCO
>>>
BAS(ALL_INTERCO)
DATASRC
INPUT
ALLOCATED
INPUT
<<<
*RUNALLOCATION
*FACTOR =USING/TOTAL
*DIM P_ACCT WHAT=ADVERTISING; WHERE=<<<; USING=EXTSALES; TOTAL=<<<
*DIM ENTITY WHAT=ASA; WHERE=BAS(RASA); USING=<<<; TOTAL=<<<
*DIM INTERCO WHAT=WORLD_INTERCO; WHERE=I_NONE; USING=>>>; TOTAL=BAS(World_InterCo)
*DIM P_DATASRC WHAT=MANUAL; WHERE=ALLOCATED; USING=MANUAL; TOTAL=<<<
*DIM TIME WHAT=%YEAR%.JAN; WHERE=%YEAR%.JAN; USING=%YEAR%(-1).JAN; TOTAL=<<<
*ENDALLOCATION
After Allocation
Plan - Periodic
2009.JAN
Planning Asia
China
119,048
Japan
142,857
India
47,619
Rest of Asia
190,476
Asia
500,000
Asia all
500,000
Example 5
All accounts in the profit and loss of category ACTUAL, for the three entities ITALY, FRANCE and UK, are copied into the corresponding accounts of the entity
GLOBALOPS for category BUDGET. This allocation is basically an example of a simple copy action, which does not use FACTOR at all. In this example the engine
performs a one-to-one copy ( ACTUAL into BUDGET) and a many-to-one copy ( ITALY, FRANCE and UK are added up and copied into GLOBALOPS).
Before Allocation
Actual - Periodic
2007.DEC
UK (Great Britain)
30,000
Italy
10,000
France
10,000
Budget - Periodic
2008.FEB
Global Operations
Factor:
APP or (Dim) or VALUE
WHAT
WHERE
ACCOUNT
<<<
CATEGORY
ACTUAL
BUDGET
ENTITY
GLOBALOPS
DOT(R)
LC
<<<
A property not supported in ALLOCATION replaces a property with variable using a select statement. Ensure that the *SELECT statement selects only base
members.
*XDIM_MEMBERSET ACCOUNT=ADVERTISING,EXTSALES
PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.
Page 56 of 102
*XDIM_MEMBERSET
*XDIM_MEMBERSET
*XDIM_MEMBERSET
*XDIM_MEMBERSET
*XDIM_MEMBERSET
*XDIM_MEMBERSET
*SELECT(%ACCT%,
ENTITY=UK,ITALY,FRANCE,GLOBAL
P_DATASRC = INPUT
TIME = 2007.DEC,2008.JAN
CATEGORY = ACTUAL,BUDGET
INTCO= I_NONE
RPTCURRENCY = LC
"[ID]",ACCOUNT,"[CALC]='N'","[GROUP]='PL'")
*RUNALLOCATION
*FACTOR=
*DIM ACCOUNT WHAT=[GROUP]="PL" AND [CALC]="N"; WHERE=<<<
*DIM CATEGORY WHAT=ACTUAL; WHERE=BUDGET
*DIM ENTITY WHAT=UK,ITALY,FRANCE; WHERE=GLOBAL
*DIM DOT(R) WHAT=LC; WHERE=<<<
*DIM TIME WHAT=2007.DEC; WHERE=2008.FEB
*ENDALLOCATION
After Allocation
Budget - Periodic
2008.FEB
Global Operations
50,000
1.5.2.2.10 *SELECT
The special instruction *SELECT allows the user to retrieve a list of elements from a dimension and save it in a user-defined variable for use somewhere else in
the logic.
*SELECT ({variable}, {[What]}, {From dimension}, {Where})
Example
With the following instruction, the user can retrieve the ID of all members in the CURRENCY dimension where the property CURRENCY TYPE has the value R.
*SELECT(%CURRSET%, "[ID]", RPTCURRENCY, "[REPORTING]='Y'")*XDIM_MEMBERSET RPTCURRENCY = %CURRSET%
The *SELECT statement fills the variable %CURRSET% with the list of reporting currencies defined in the current model. The content of the resulting variable is
then used in the XDIM_MEMBERSET statment.
The SELECT instruction is not specific to a given logic section, but it can be written once anywhere in the logic and used across multiple commit sections.
The SELECT statement is fairly limited, as it only supports the equal sign (=) , not equal to (<>) and cannot be used to combine multiple filter criteria with AND or
OR keywords.
Example
*BEGIN
#A = IIF([ACCOUNT].[E]=1 OR [ACCOUNT].[E]=2,X+Y,
IIF([ACCOUNT].[E]=3 OR [ACCOUNT].[E]=4,X-Y,X*Y))
*END
#C = IIF([ACCOUNT].[E]=1 OR [ACCOUNT].[E]=2,W+Z,null)
#B = IIF([ACCOUNT].[E]=3 OR [ACCOUNT].[E]=4,W*Z,null)
The following formulas could be written as follows:
*SELECTCASE [ACCOUNT].[E]
PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.
Page 57 of 102
*CASE 1,2
#A=X+Y
#C=W+Z
*CASE 3,4
#A=X-Y
#B=W*Z
*CASEELSE
#A=X*Y
*ENDSELECT
Note
SELECTCASE structures currently CANNOT be nested.
Example
Here the sub is defined:
*SUB MYSUB(Param1,Param2,Param3,Param4)
[%ACCOUNT_DIM%].[#Param1]=[%ACCOUNT_DIM%].[Param2]+[%ACCOUNT_DIM%].[Param3]
[%ACCOUNT_DIM%].[#Param4]=[%ACCOUNT_DIM%].[#Param1]*[%ACCOUNT_DIM%].[Factor_Param4]
*ENDSUB
Here the sub is used:
MySub(A1,B1,C1,D1)
MySub(A2,B2,C2,D2)
MySub(A3,B3,C3,D3)
Similarly to a FUNCTION, a SUB is not position sensitive, and can be defined anywhere in a logic, as well as, if so desired, stored in separate library files that
must then be merged with the logic using an INCLUDE instruction.
A SUB can be used in any commit section of the logic without the need to be redefined in each section. However, if a SUB is redefined in a logic file, its new
definition applies to all lines following the redefinition.
A SUB without parameters is supported, but they must always be followed by brackets.
PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.
Page 58 of 102
{ValidCondition} is one or more values that meet the criteria. You can enclose them in double quotes to treat them as strings. Omit the quotes if they
represent numeric values. For example:
*IS "AVG","END"
*IS 10,20,30
If no operator is specified, the *IS clause assumes the presence of an equal sign (*IS = "AVG", "END").
The {value} must be literals only, not variables. Therefore, the following sample is not supported:
*IS dimension.property
Note
There should be no space between the two characters of the unequal sign operator (<>). You can insert one or more blanks between the operators and the
value.
If an unequal sign (<>) is used, you can pass only one value. Therefore, the syntax *IS <> 2,3,4 is invalid.
Other relational operators like AND, OR and NOT are not currently supported.
Nesting of WHEN / ENDWHEN
WHEN / ENDWHEN structures can be nested by as many levels as desired and in any sequence, as shown in the following sample:
*WHEN xxx
*IS "A"
*REC()
*REC()
*IS "B"
*REC()
*WHEN yyy
*IS "C","D","E"
*REC()
*ELSE
*REC()
*ENDWHEN
*ENDWHEN
1.5.2.2.14 *XDIM_MEMBERSET
*XDIM_MEMBERSET defines the scope of the data in which subsequent business logic will be applied.
Syntax
*XDIM_MEMBERSET {Dimension name} = {Members Set}
* XDIM_MEMBERSET {Dimension}<>{MemberSet}
Example
*XDIM_MEMBERSET TIME = 2006.DEC
*XDIM_MEMBERSET P_ACCT = bas(CE0004000)
[TIME].[#2009.DEC] = [TIME].[2006.DEC] * 1.1
*COMMIT
This example first reads all children of CE0004000 in the 2006.DEC period, increases them by 10%, and then copies them to the 2009.DEC period.
Other valid use cases:
*XDIM_MEMBERSET P_ACCT = CE0004010, CE0004020, CE0004030
*XDIM_MEMBERSET P_ACCT = CE0004000, where all children values are summarized to one parent record.
*XDIM_MEMBERSET P_ACCT = BAS(CE0004010, CE0004210) The scope is defined by the base members of both CE0004010 and CE0004210. The
string inside the parentheses () can also be replaced by a variable defined in the Data Manager prompt.
*XDIM_MEMBERSET P_ACCT = DEP(CE0004010) All direct children of CE0004010.
*XDIM_MEMBERSET P_ACCT = ALL(CE0004010) All children of CE0004010.
*XDIM_MEMBERSET P_ACCT <> CE0004010
You cannot combine bas() with any other member set.
*XDIM_MEMBERSET P_ACCT = bas(CE0004000), CE0004210 This is not a valid use case.
Use *XDIM_ADDMEMBERSET to add more members to the scope of the member set defined by bas().
Forcing a dimension to read all members without member formulas
Using the <ALL> keyword, you can force a dimension to read all base members without member formulas.
Example
*XDIM_MEMBERSET P_ACCT = <ALL>
*XDIM_MEMBERSET TIME = 2006.DEC
PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.
Page 59 of 102
1.5.2.2.15 *XDIM_ADDMEMBERSET
With the keyword XDIM_ADDMEMBERSET, the logic can merge a specific set of members with the members passed in the region for which the logic should be
executed. This instruction is similar to the instruction *XDIM_MEMBERSET. The difference is that, while XDIM_MEMBERSET redefines the region passed by the
user, XDIM_ADDMEMBERSET adds the defined set to the passed region.
*XDIM_ADDMEMBERSET {dimension} = {members set}
Example
*XDIM_MEMBERSET P_ACCT = bas(CE0004000)
*XDIM_ADDMEMBERSET P_ACCT = CE0004210
[TIME].[#2009.DEC] = [TIME].[2006.DEC] * 1.1
*COMMIT
In the above example, CE0004210 is scoped along with all children of CE0004000.
1.5.2.2.16 *XDIM_MAXMEMBERS
When the number of records being processed is too large, performance can deteriorate significantly. Also, processing too much data in the memory will slow down
the system for other uses and eventually run out of memory. For example, an TSV_TNEW_PAGE_ALLOC_FAILED ABAP dump can occur even with high Roll
memory settings. In this case, you can break the action into multiple packets and execute them sequentially using the following syntax:
*XDIM_MAXMEMBERS {dimension} = {max number of members}
Example
*XDIM_MEMBERSET TIME = 2009.JAN
*XDIM_MEMBERSET CATEGORY = FCST_LOAD
*XDIM_MAXMEMBERS P_ACCT = 5
*RUNALLOCATION
*FACTOR=1/12
*DIM TIME WHAT = 2009.JAN; WHERE = BAS(2009.TOTAL);
*DIM CATEGORY WHAT = FCST_LOAD; WHERE = FORECAST;
*ENDALLOCATION
Assuming the whole year's forecast initially loaded 2009.JAN and FCST_LOAD, the above script allocates the data equally to each period in 2009. The
script logic engine reads the data in packages split by P_ACCT members, with each package containing a maximum of five P_ACCT members, until it
reaches the end in P_ACCT dimension members.
1.5.2.2.17 *XDIM_PACKAGEBY
Defines the dimension for which to partition packages during script logic execution. Packages start in parallel mode for better performance.
You can specify the server group using a parameter in IMG. Run transaction SPRO, then choose
PARALLEL_SERVER_GROUP
Global setting
Example
*XDIM_PACKAGEBY ENTITY
In the example above, two packages are created and partitioned by the dimension ENTITY.
Example
*XDIM_PACKAGEBY ACCOUNT = 4
Four packages are created are partitioned by the dimension ACCOUNT.
Note
You can use the *XDIM_PACKAGEBY keyword only once in each script.
Parallel mode is triggered ONLY when the member number for the dimension that is defined with *XDIM_PACKAGEBY is greater than 1.
The following keywords do not support PACKAGEBY: *RUN_PROGRAM, *RUNALLOCATION, *CALL_CUSTOM_LOGIC, and *START_BADI.
1.5.2.2.18 *XDIM_FILTER
XDIM_FILTER brings all members when the specified condition is met. This keyword returns only base members.
PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.
Page 60 of 102
Example
*XDIM_MEMBERSET Category = PLAN
*XDIM_MEMBERSET Entity = C3000
*XDIM_MEMBERSET P_DataSrc = MANUAL
*XDIM_MEMBERSET RptCurrency = LC
*XDIM_MEMBERSET P_Activity = EMPL1
*XDIM_MEMBERSET P_ACCT = CE0004220
*XDIM_FILTER Time = [Time].properties("MONTHNUM") = "2"
*WHEN P_ACCT
*IS CE0004220
*REC (EXPRESSION = 888)
*ENDWHEN
*COMMIT
The code in this example writes only FEB records for CE0004220.
1.5.2.2.19 *COMMIT
A logic file can contain formulas that depend on the result of calculations performed by the model, and these calculations in turn depend on the results of other
formulas in the same logic.
Example
[P_ACCT].[#CE0004030] = ( [P_ACCT].[CE0004010] + [P_ACCT].[CE0004020] ) * 0.15
[P_ACCT].[#CE0661000] =
( [P_ACCT].[CE0004010] + [P_ACCT].[CE0004020] + [P_ACCT].[#CE0004030] ) / [P_ACCT].[CE0652000]
In this example, CE0661000 depends on the first calculation, and this calculation in turn depends on the calculation of CE0004030.
The logic, if written in the above format, does not work correctly, because CE0004030 cannot be retrieved from the model until its result has been posted to the
model. To get the right results, CE0004030 must be calculated AND stored in the model. THEN, the calculated result can be retrieved from the model and be
used to calculate CE0661000.
To force a write back of the result of the calculation of CE0004030 into the model before the calculation of CE0661000, you can insert the instruction *COMMIT
between the two calculations. The logic then works when written as follows:
Example
[P_ACCT].[#CE0004030] = ( [P_ACCT].[CE0004010] + [P_ACCT].[CE0004020] ) * 0.15
*COMMIT
[P_ACCT].[#CE0661000] =
( [P_ACCT].[CE0004010] + [P_ACCT].[CE0004020] + [P_ACCT].[CE0004030] ) / [P_ACCT].[CE0652000]
In this case CE0004030 in the second formula does not have the pound sign (#), because it is a stored amount read from the model.
Note
Any number of commit instructions can be entered in a logic file. However, the number of commit instructions should be kept to the minimum, because they
have a negative impact on the overall performance of the logic execution due to increased communication between the database and script logic engine. The
ideal case is to have one commit at the end.
PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.
Page 61 of 102
Example
If, in a model, the category dimension is called SCENARIO , the keyword %CATEGORY_DIM% returns the word SCENARIO.
Valid types are:
ACCOUNT
CATEGORY
TIME
ENTITY
INTCO
CURRENCY
DATASRC
Using Data Manager Prompts
In most of the script executions, you need to get user selection and use that value inside the logic script. For this purpose, you can use Data Manager prompts
inside the logic.
Syntax
$DM_PROMPT$...
Example
*XDIM_MEMBERSET P_ACCT= CE0004020, CE0004010
*XDIM_MEMBERSET CATEGORY = ACTUAL
*XDIM_MEMBERSET TIME=2006.SEP
*XDIM_MEMBERSET ENTITY= C9000
*XDIM_MEMBERSET P_ACTIVITY=NONE
*XDIM_MEMBERSET P_DATASRC=UPLOAD
*XDIM_MEMBERSET RPTCURRENCY = LC
// Increase Wage and Salary, and Personnel Expense by entered percentage
[P_ACCT].[#CE0004020] = [P_ACCT].[CE0004020] * ( 1 + $WS_PERCT$ / 100) [P_ACCT].[#CE0004010] =
[P_ACCT].[CE0004010] * ( 1 + $EXP_PERCT$ / 100)
The percentage to be increased for the above two accounts is provided by the user.
Note
Additional configuration is required in the Data Manager to pass these parameters to script logic. In transaction RSPC in the ABAP layer, the corresponding
process chain's BPC:Run Logic step, Process Variant, needs to be maintained with additional parameters like TAB, SUSER, and REPLACEPARAM.
Then, the dynamic script of Data Manager needs to be adjusted to accept the prompts.
PROMPT(SELECTINPUT,,,,"%ENTITY_DIM%,%CATEGORY_DIM%,%CURRENCY_DIM%,%TIME_DIM%")
PROMPT(TEXT,%WS_PERCT%,"Input W/S Percent in decimals",)
PROMPT(TEXT,%EXP_PERCT%,"Input Exp. Percent in decimals",)
INFO(%EQU%,=)
INFO(%TAB%,;)
TASK(ZBPC_PROT_EXP_RUN_LOGIC,TAB,%TAB%)
TASK(ZBPC_PROT_EXP_RUN_LOGIC,EQU,%EQU%)
TASK(ZBPC_PROT_EXP_RUN_LOGIC,SUSER,%USER%)
TASK(ZBPC_PROT_EXP_RUN_LOGIC,SAPPSET,%APPSET%)
TASK(ZBPC_PROT_EXP_RUN_LOGIC,SAPP,%APP%)
TASK(ZBPC_PROT_EXP_RUN_LOGIC,SELECTION,%SELECTION%)
TASK(ZBPC_PROT_EXP_RUN_LOGIC,LOGICFILENAME,TESTING0123.LGF)
TASK(ZBPC_PROT_EXP_RUN_LOGIC,REPLACEPARAM,WS_PERCT%EQU%%WS_PERCT%%TAB%EXP_PERCT%EQU%%EXP_PERCT%)
Note
Read the restriction around Validation when DM prompts are used in your script in OSS note 1334695.
Script Logic System Variables
%USER% - Returns the current Planning and Consolidation user
%APPSET% - Returns the current Planning and Consolidation environment
%APPLICATION% - Returns the current Planning and Consolidation model
%YEAR% - Returns the current calendar year
You can use %YEAR% to derive the member values. For example, %YEAR%.TOTAL, and %YEAR%.Q1. You can also use to offset years like %YEAR%(2).TOTAL.
Page 62 of 102
Prerequisites
This function works only with base member values.
Activities
The format for this parameter is TMVL(offset, base_period). Utilize this parameter following these guidelines:
Offset can be either negative or positive. Only integers are allowed.
The base period can be a hardcoded value such as 2009.MAY, a Time script variable such as %TIME_SET%, or a Data Manager Prompt variable such
as $CURPER$.
Note
Nested TMVL parameters such as TMVL(-1, TMVL(-3, 2009.JAN)) ) are not supported.
You can use TMVL in:
FACTOR/EXPRESSION within REC
FOR/NEXT loops
IS conditions inside WHEN/ENDWHEN.
variables, like %TIME_SET%
The first period of the TIME_SET is used as the base period for a negative offset and the last period of the TIME_SET is used as the base period for a
positive offset.
scope statements
Multiple separate (not nested) TMVLs can be used in one scope statement.
When 0 is used as offset, no offset will be done for the provided time member.
Example
In this example, Actual data records are copied over to the same period in the following year with a 10 percent increase. The existing data is shown in the
following table:
Category
Entity
P_ACCT
P_Activity
P_DataSrc
RptCurrency
Time
SignData
ACTUAL
C9000
CE0004010
NONE
UPLOAD
LC
2006.APR
100,891.26
ACTUAL
C9000
CE0004010
NONE
UPLOAD
LC
2006.APR
70,836.02
ACTUAL
C9000
CE0004010
NONE
UPLOAD
LC
2006.APR
15,131.67
Entity
P_ACCT
P_Activity
P_DataSrc
RptCurrency
Time
SignData
ACTUAL
C9000
CE0004010
NONE
UPLOAD
LC
2007.APR
110,980.40
ACTUAL
C9000
CE0004010
NONE
UPLOAD
LC
2007.APR
77,919.62
ACTUAL
C9000
CE0004010
NONE
UPLOAD
LC
2007.APR
16,644.84
Page 63 of 102
Use
You use this to check the integrity and correctness of entered values before signing off such data as approved.
Activities
The validation process is handled by a stored procedure called VALIDATION. This procedure is launched using the following logic statement:
*RUN_PROGRAM VALIDATION( <parameters list> )
Example
*RUN_PROGRAM VALIDATION
CATEGORY = %C_CATEGORY_SET%
CURRENCY = %GROUPS_SET%
OTHER = [ENTITY=%ENTITY_SET%]
TID_RA = %TIME_SET%
*ENDRUN_PROGRAM
Activities
The intercompany eliminations process is handled by a program called US_ELIM. This program is launched using the following logic statement:
*RUN_PROGRAM US_ELIM( <parameters list> )
Example
*RUN_PROGRAM US_ELIM
CATEGORY = %C_CATEGORY_SET%
GROUP = %GROUPS_SET%
TID_RA = %TIME_SET%
OTHER = [ENTITY=%ENTITY_SET%]
*ENDRUN_PROGRAM
More Information
US Eliminations Rule
Activities
The copy-opening process is handled by a class called CL_UJP_COPYOPENING. This program is launched using the following logic statement:
*RUN_PROGRAM COPYOPENING( <parameters list> )
Example
*RUN_PROGRAM COPYOPENING
CATEGORY = %C_CATEGORY_SET%
CURRENCY = %GROUPS_SET%
TID_RA = %TIME_SET%
*ENDRUN_PROGRAM
More Information
PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.
Page 64 of 102
Carry-Forward Rule
Activities
Intercompany reconciliations processes are handled by a program called ICBOOKING.
Running the following in an ICDATA.LGF logic file runs Intercompany reconciliation:
*RUN_PROGRAM ICBOOKING ( <parameters list> )
Example
*RUN_PROGRAM ICBOOKING
CATEGORY = %CATEGORY_SET%
CURRENCY = %GROUPS_SET%
DATASRC = INPUT// value of datasrc dimension member that represents the input datasrc
TID_RA = %TIME_SET%
ENTITY = %ENTITY_SET%
ACCOUNT = %ACCOUNT_SET%
FLOW = %FLOW_SET%
TYPE = 'I'.
*ENDRUN_PROGRAM
Running the following in an ICBOOKING.LGF logic file runs Intercompany reconciliation and difference posting:
*RUN_PROGRAM ICBOOKING ( <parameters list> )
Example
*RUN_PROGRAM ICBOOKING
CATEGORY = %CATEGORY_SET%
GROUP = %CATEGORY_SET%
TID_RA = %TIME_SET%
OTHER = [ENTITY=%ENTITY_SET%]
*ENDRUN_PROGRAM
More Information
Intercompany Booking Rule
Eliminations and Adjustments Rule for Legal Consolidation
Activities
Currency conversion is handled by a program called CURR_CONVERSION. This program is launched using the following logic statement:
*RUN_PROGRAM CURR_CONVERSION( <parameters list> )
You must also set up the following list of attributes for relevant dimensions in addition to the required attributes:
Dimension
Attribute
ACCOUNT
RATETYPE
DATASRC
DATASRC_TYPE (I, M, A, or L)
IS_CONVERTED (Y, G, or N)
ENTITY
FLOW
CURRENCY
PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.
Page 65 of 102
TIMEID
YEAR
PERIOD
TIMEID
MONTHNUM
Note
Datasrc dimension is not mandatory for planning, and currency translation could be run without this dimension. If you choose to include a Datasrc dimension in
a planning cube, the attributes must be set up as they are checked in currency conversion program.
Flow dimension is not mandatory for planning, and currency translation could be run without this dimension. If you choose to include a Flow dimension in a
planning cube, the attribute needs to exist in the flow-type dimension to enable currency conversion.
Example
*RUN_PROGRAM CURR_CONVERSION
CATEGORY = %C_Category_SET%
GROUP = %GROUPS_SET%
TID_RA = %TIME_SET%
OTHER = [ENTITY=%ENTITY_SET%]
RATEENTITY = Global
*ENDRUN_PROGRAM
Note
Global should be the valid member ID that is set in the RATEENTITY dimension.
More Information
Currency Translation Rule
Activities
You run this program using the following logic statement:
*RUN_PROGRAM CALC_ACCOUNT( <parameters list> )
Example
*RUN_PROGRAM CALC_ACCOUNT
CATEGORY = %CATEGORY_SET%
CURRENCY = %CURRENCY_SET%
TID_RA = %TIME_SET%
CALC=A
OTHER = [ENTITY=%ENTITY_SET%]// or OTHER=[ENTITY=C1000] or [ENTITY=%ENTITY_SET%;INTCO=%INTCO_SET%...]
*ENDRUN_PROGRAM
Note
If there is no other scope against which you need to run the program, delete the OTHER line in the script.
More Information
Account-based Calculations Business Rule
PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.
Page 66 of 102
support of common accounting activities, such as intercompany booking, currency translation, and eliminations and adjustments.
To manage business rules in SAP BusinessObjects Planning and Consolidation, select
Rules .
Rules
Business
Features
Adding Business Rules to Models
When you create or modify a model, you can add business rules to it. You can add the following types of business rules:
Account-based calculation (see Account-based Calculation Rule)
Currency translation (see Currency Translation Rule)
Intercompany booking to match intercompany transactions (see Intercompany Booking Rule)
Carry-forward processing to initialize beginning balances when a new fiscal cycle starts (see Carry-Forward Rule)
US eliminations (see US Eliminations Rule)
Eliminations and adjustments when generating consolidation entries for a group of entities, such as eliminations, adjustments, reclassifications, and minority
calculations (see Eliminations and Adjustments Rule for Legal Consolidation)
After adding a business rule type to a model, you must customize it to meet your needs by specifying parameter values. For example, in Eliminations and
Adjustments, you can indicate which balances to read before calculating an amount, or under which account and audit member to post the calculated amount. In
addition to customizing default business rules, delivered with the IFRS starter kit for instance, you can define new rules for various types of business processes
and add them to a model. For more information, see Model Management if using the NetWeaver platform of Planning and Consolidation, or Model Management if
using the Microsoft platform.
Editing Business Rules
You can edit the list of available rules for a selected type of business rule within a model. You can then edit a specific rule in the list. You can use standard
Microsoft Excel functionality to perform the following actions:
Select multiple detail record rows
Copy, paste, and delete detail records by row
Copy and paste within a cell by right-clicking and selecting a context menu option or using CTRL + C and CTRL + V
Copy rows
You can look up members within the cells of a rule by clicking the Lookup icon that appears when you place the cursor within that cell.
Validating Business Rules
You can verify the detail records of a business rule after modifying it by clicking Validate in the <Rule Name> page. A message appears displaying a
successful status or any errors encountered.
Activities
You can run a business rule as follows:
Perform a data send.
When you send data using the EPM add-in for Office or SAP BusinessObjects Planning and Consolidation, the system runs the default logic indicated in
default.lgf. For example, the default logic can execute the currency translation business rules. While you can add any logic or business rule execution to the
default script, it is not recommended, as performance may decrease when sending data.
Run a Data Manager package that contains a reference to a logic file (*.LGF).
Logic can be applied to a specified region of data that is stored in the database using any type of logic. You can create new logic files or modify existing
ones. For example, an Import package runs against the default logic unless the Import package is modified to include other logic files. Each logic file
contains one or more ABAP programs that run a specific set of logic commands. Business rules execution can be triggered in any logic file.
Post a journal entry.
Upon posting a journal, the system runs logic that is specific to journal processes. To overwrite the default journal logic, you can create a new script logic file
called Journal.lgf. Business rules execution can be triggered in the journal logic file.
In SAP BusinessObjects Planning and Consolidation, Currency Translation and Consolidation processes can also be executed from the Consolidation
Monitor.
More Information
Consolidation Monitor
Features
The following dimensions can be specified in order to define source and target members in the calculation:
Category (C-type dimension)
Account (A-type dimension)
Flow (S-type dimension)
Datasource (D-type dimension)
The account-based calculations business rule can invert the sign when posting calculated amounts when appropriate, which alternates debit and credit amounts.
This rule can also use reference data in other periods and years to determine amounts to post.
PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.
Page 67 of 102
Example
You can use this business rule to calculate and post values that you need for cash flow reporting.
More Information
Account-based Calculations as Script Logic
Prerequisites
Currency translation applies to both financial and legal consolidation models to which a corresponding rate model has been referenced.
When performing currency translation, different exchange rates such as average and period end rates, as well as formulas, are applied. A currency translation
rule contains the necessary rates and logic for a unique account rate type. The account rate type must exist in the Account dimension in order to be triggered.
However, you can create and name the currency translation rule first, and then assign the RATE_TYPE in the account dimension to the accounts to which it
relates. When currency translation runs, it translates each account in accordance with the rules defined for the account rate type which has been assigned to that
particular account.
If you need to store data in the local currency of the entity and also convert it to one or more reporting or group currencies, a currency type dimension must exist. In
addition, the system must access a rate model that stores the exchange rates used for the automatic translation. The following list provides a summary of the
environment requirements to support currency translation:
The environment must include a rate model where exchange rates are stored. You must assign this rate model to any model that utilizes it.
The model itself must include a currency type dimension and possibly a Group dimension.
The Currency (R type) dimension must include the properties:
REPORTING, whose values are Y or blank
CURRENCY_TYPE, whose values are R for Reporting Currencies, T for transaction currency, or L for local currency. The value G for group currency is
used only if the currency dimension is also used to manage groups. This value is only relevant for models migrated from a previous version of SAP
BusinessObjects Planning and Consolidation.
For Consolidation type models, the Group (G) dimension must include the following properties:
GROUP_CURRENCY, whose values are valid currencies in the previously mentioned Currency dimension
CURRENCY_TYPE, whose values are G for group currency or N for Non-Group related data, meaning local data
The Entity (E type) dimension must include the property CURRENCY, whose values are valid Input_Currencies. Input currencies are listed in the
currency dimension of the Rate model.
The Account (A type) dimension must include the property RATETYPE, whose values are valid accounts in the rate model.
The Time (T type) dimension must include the properties YEAR, PERIOD, TIMEID, and MONTHNUM.
The Audit dimension is not mandatory for currency translation, but if you include it, the dimension must include the following properties:
DATASRC_TYPE, whose values include the following:
I - Input
M - Manual Adjustment
A - Eliminations and Adjustments
L - Audit level (use only for consolidation)
IS_CONVERTED, whose values include the following:
N - these members are ignored in the conversion
Y (or blank) - these members are converted from LC into the desired currency unless the members are flagged as requiring manual
adjustment; these members have their currency conversions entered manually
G - these members are copied from the reporting currency of the GROUP that is being translated into the currency member corresponding to the
given group
The Flow (S type) dimension is not mandatory for currency translation, but if you include it, the dimension must include the property FLOW_TYPE.
The InputCurrency dimension within the applicable rate model must include the property MD, whose values are M for multiply rates or D for divide rates.
The appropriate FXTRANS logic must be available.
The default translation reads all values in local currency where currency = LC, applies the correct exchange rate according to the applicable rate model, and
writes the results in the appropriate reporting currency (USD, EURO, and so on).
Rate selection
For the selection of the correct rate, the following rules apply:
The source currency is derived from the property CURRENCY of the entity being translated.
The rate to be applied during translation, such as Endflow, Histrate, and so on, is derived from the property RATETYPE of the account being
translated.
The valid rates are those corresponding to an account of the rate model for which the value of the GROUP property is FX rate.
The system does not convert any accounts with a rate type that is not a part of the currency translation business rules and converts all accounts with a
blank rate type with a factor 1.
PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.
Page 68 of 102
Note
The default currency translation supplied with the product for multi-currency models performs a cross-rate translation; it multiplies the amount in local currency
by the ratio between the rate of the destination currency and the rate of the source currency. This allows the model to use only one table of rates for translating
any source currency into any destination currency.
Note
Other types of translations can be defined by using the currency translation business rules tables and the relevant properties in the Currency and
InputCurrency dimensions to support:
the ability to use different tables of rates by reporting (destination) currency
the ability to distinguish between Multiply currencies and Divide currencies
Preconditions for Running Currency Translation
Currency translation can run in the following two modes:
Reporting currency mode
Reporting currency mode converts transaction data recorded in a local currency to the specified reporting currency. For this mode, make sure the script is
similar to the following:
*RUN_PROGRAM CURR_CONVERSION
CATEGORY = %C_CATEGORY_SET%
CURRENCY = %RPTCURRENCY_SET%
TID_RA = %TIME_SET%
RATEENTITY = GLOBAL
......
*ENDRUN_PROGRAM
Pay attention to the keyword CURRENCY. If running currency translation for the reporting currency, the keyword on the left side should be CURRENCY . If
running currency translation for a group, use the keyword GROUP .
Group mode
Group mode converts subsidiaries' data to a group's currency. This is mainly used before consolidation.
Whatever mode the currency translation runs in, the following conditions must be satisfied:
The model must contain only one Currency (type R) dimension.
The model must contain only one Group (G type) dimension if the model is a Consolidation model.
For consolidation models migrated from previous versions of SAP BusinessObjects Planning and Consolidation, this dimension is not mandatory, in order to
ensure compatibility with the current version.
The reporting model must reference the RATE model.
Some dimensions, such as Account, Entity, and Currency, must contain appropriate properties as noted in the following table:
Model
Dimension
Property
Description
Main
Account
RATETYPE
Main
Entity
CURRENCY
Main
Currency
CURRENCY_TYPE
Main
Group
CURRENCY_TYPE
Main
Time
YEAR
Main
Time
PERIOD
Main
Time
PERIOD
Main
Time
MONTHNUM
PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.
Page 69 of 102
When optional dimensions such as Audit and Flow (S type dimension) do not exist, currency translation still runs successfully. However, if they do exist, they
impact the translation process. In this case, the following properties in these dimensions are mandatory:
Dimension
Property
Description
Audit
DATASRC_TYPE
Audit
IS_CONVERTED
Flow
FLOW_TYPE
To run currency translation in reporting currency mode, the mandatory condition mentioned previously should be satisfied. If optional dimensions such as Audit
and Flow (S type dimension) exist, the condition of the optional dimension is also necessary.
To run currency translation in group mode, beside the same requirement as reporting currency mode, the following additional conditions are mandatory:
The Ownership model must be set up and referenced.
Group information must be maintained in a separate Group dimension (except for models migrated from previous versions, where Groups can be
maintained in a Currency dimension).
Note
For migrated consolidation models only.
When using the Currency dimension, Currency and Group information resides in the same dimension. The following properties are needed in
Currency dimension:
The ENTITY property can be blank or a valid Entity ID. It is used to define the link between the group and the entity and to indicate the entity where
the aggregation should be stored. (Refer to the STORE_ENTITY property below.)
The GROUP_CURRENCY property can be used only on CURRENCY members with the property CURRENCY_TYPE= G. It must contain a valid ID from
the Currency dimension with the property CURRENCY_TYPE = R.
The STAGE_ONLY property controls the way the converted values must be saved in case of a multilevel conversion of groups. This property can
have the three values Y, E, or N (blank).
The STORE_ENTITY property can have the values Y or blank. It indicates whether the system copies the results of the currency translation for the
current Group into the entity specified in ENTITY property.
The STORE_GROUP_CURR property can have the values Y or blank. It indicates whether the system stores the currency translation result in the
Group currency. Otherwise, the system stores the result only in Group, not in currency.
The PARENT_GROUP property defines the group hierarchy. The value of this property should be a valid Group ID in the dimension.
When currency and group reside in one dimension, make sure the script file is similar to the following before running currency translation for the group:
*RUN_PROGRAM CURR_CONVERSION
CATEGORY = %C_CATEGORY_SET%
GROUP= %GROUPS_SET%
TID_RA = %TIME_SET%
RATEENTITY = GLOBAL
......
*ENDRUN_PROGRAM
Pay attention to the keyword GROUP. If running currency translation in group mode, the keyword GROUP should be used instead of CURRENCY.
As of SAP BusinessObjects Planning and Consolidation 10.0, when building a consolidation, both a group dimension and a currency dimension are
required. Therefore, consolidation group members and currency members are held separately.
A new dedicated dimension, for example, Group, should be type G.
More Information
Currency Translation as Script Logic
Consolidation Monitor
Prerequisites
The following are required to perform Intercompany eliminations within a model:
The model must include an Intercompany dimension of type I.
The Intercompany dimension must include the property ENTITY, whose values are entity names.
PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.
Page 70 of 102
The account dimension must include the property ELIMACC, whose values are account names.
The entity dimension must include the property ELIM, whose values are Y or blank.
The appropriate business rule table must be set up.
A Data Manager package executing the intercompany logic must be available.
This configuration not only allows intercompany details to be entered for any account, but it also supports an automatic elimination-by-level for all desired accounts.
Note
Although not mandatory, Intercompany reconciliation is normally performed in a separate Intercompany matching model apart from the Consolidation model.
Features
Intercompany booking records the declarations and reported balances by other entities against a particular entity. This allows business users within each
reporting entity to run a report that matches all of its declarations and reported balances against the balances of the rest of the entities, without having to assign to
each owner read-access for other entities. Bookings that make the Intercompany declarations match can be automatically generated, and details can be posted to
the consolidation model.
You use the Intercompany Booking business rule table to define the posting rules the system uses in generating the entries to match the Intercompany balances
and declarations.
The values entered in the following properties determine default elimination logic:
Dimension
Property
Length in Characters
Content
Account
ELIMACC
20
Entity
ELIM
Y or blank
Intercompany
ENTITY
20
Currency
REPORTING
Y or blank
More Information
Intercompany Booking as Script Logic
Features
Carry-forward rules enable you to generate the Opening Balance of any category based on the following properties:
Flow_Type in the Flow dimension: the value of this property should be OPENING on the relevant Opening flow and CLOSING on the relevant Closing flow.
Category_for_ope, Opening_year, Opening_period in Category dimension
Carry-Forward rules can be used to initialize a new reporting period with the closing balances of the last period from the previous year into the opening
balances of the current period. It can also copy closing balances from a designated year ( Opening_year property) and period ( Opening_period
property) to the current period. The designated year and period can be an absolute or relative number. You can also specify a Category in which to store the
closing data using the Category_for_ope property. For example, you may need to create opening data in a Budget category using data from a Forecast
category.
DataSrc_Type, Opening_Datasrc, Copyopening in the Audit dimension
Currently this procedure is limited to copying the opening balances as found in the Audit dimension members flagged as I and M in the DATASRC_TYPE
property. The procedure copies only the input balances and their related manual adjustments. The balances generated automatically by the consolidation
procedure ( Audit members flagged as A) are taken into account during the consolidation process by the consolidation procedure itself.
The Copyopening property enables you to identify the members on which the carry-forward rule should be executed.
PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.
Page 71 of 102
The Opening_Datasrc property enables you to post data on a specific datasource when running the Carry-Forward rules.
Within a carry-forward rule, the field Account specifies the Destination account. The property Same_period enables you to copy the same period
balances to the current period. The YTD property enables you to sum up the balances of YTD to the current period.
In a legal consolidation model, such flows are often identified as members of a dedicated dimension. In simpler models, however, it is also possible to store them
as additional accounts in the Account dimension.
More Information
Carry-Forward as Script Logic
Prerequisites
The following are required to perform Intercompany eliminations within a model:
The model must include a dimension of type I, Intercompany.
The Intercompany dimension must include the property ENTITY, whose values are entity names.
The account dimension must include the property ELIMACC, whose values are account names.
The entity dimension must include the property ELIM, whose values are Y or blank.
The appropriate business rule table must be set up.
A Data Manager package executing the Intercompany logic must be available. This configuration not only allows Intercompany details to be entered for any
account, but it also supports an automatic elimination-by-level for all desired accounts.
Features
When reporting the financial results of a group of entities, you may want to see the results for the group net all Intercompany activity within the group. Therefore, the
system identifies Intercompany activities and balances and posts entries so these activities and balances are fully eliminated when looking at the overall results
for the group. US eliminations functionality addresses the posting of Intercompany eliminations in scenarios where a full legal consolidation model is not required,
such as within a standard financial model. When utilizing a legal consolidation model, Intercompany eliminations are normally handled as part of an eliminations
and adjustments function.
Intercompany elimination entries should be reflected only in groups in which both the entity and the partner entity are part of the group. To address this, US
eliminations uses a concept known as posting at first common parent.
US eliminations are normally used in financial models as opposed to legal consolidation models.
The US eliminations business rules define the audit members to eliminate. For each of these audit members you then define the corresponding destination audit
member under which the system should post the elimination postings.
The values entered in the following properties determine default elimination logic:
Dimension
Property
Length in Characters
Content
Account
ELIMACC
20
Entity
ELIM
Y or blank
Intercompany
ENTITY
20
Currency
REPORTING
Y or blank
More Information
PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.
Page 72 of 102
More Information
US Eliminations as Script Logic
Prerequisites
Before executing eliminations and adjustments, do the following:
Enter any ownership changes into the ownership cube, such as the acquisition of a new company, the sale or transfer of shares, and divestitures.
Update consolidation methods and accounting methods as necessary.
Update percent ownership and percent control within the group.
Note
Ownership calculations can be run to calculate the overall ownership within each group. Consolidation parameters assigned to each entity within each group
then need to be validated within the ownership cube.
You must have the following items in your environment before performing the eliminations and adjustments:
Ownership Model
Stores the overall ownership and percentage control of each entity by group on a category and time dependent basis as well as the corresponding method of
consolidation to apply
Group dimension
Provides the ability to store consolidated results by the group to which they relate
Currency dimension
Provides the ability to store consolidated results in the currencies specified for each group
Note
It is only possible to use a common dimension for both currency and group in migrated models. In SAP BusinessObjects Planning and Consolidation
10.0, you must use two separate dimensions; one for group and one for currency.
Method-based multipliers
Define the formulas to use in calculating the amounts to post
Eliminations and Adjustments rules
Define the balances upon which eliminations and adjustments are made and the items such as accounts and flow to which calculated amounts are posted
Features
The most important of the necessary adjustments for legal consolidation relate to the elimination of intercompany activity between the various reporting units, and
reclassifications and supporting the model of the applicable rules for the accounting of long-term investments. Eliminations and adjustments rules support the
calculation and generation of these postings.
Eliminations and adjustments rules are applicable only to a legal consolidation model to which you attach a corresponding ownership model.
When eliminations and adjustments rules are executed for a given group, the system performs the following:
Reads from the ownership model which entities make up the group, the applicable consolidation method, and the ownership and consolidation percentages.
Determines for each elimination and adjustment defined in the business rules the base amount upon which the elimination and adjustment is to be
calculated based on the source data.
Identifies for each elimination and adjustment the corresponding method-based multiplier from the business rules.
Based on the identified method-based multiplier and the method of consolidation assigned to a given entity, determines the formulas to apply in calculating
the amounts to post. Ownership and consolidation percentages can be applied in the calculations.
Posts the calculated amounts based upon the posting rules defined in the Eliminations and Adjustments business rules tables.
The following information describes the fields of the General tab in the Business Rules interface of Eliminations and Adjustments:
Source Audit ID: Restricts the type of transaction data to which the rule applies. This can be a member of the audit dimension, or a DIMLIST in the audit
dimension. This field can also be blank to represent all audit members with an audit type of I or M. (You can use Adjustment Level to apply further
restriction.)
Destination Audit ID: Indicates the kind of data the rule generates. This should be one base member with an audit type of A.
Group Type Filter: Restricts the rule to specific group or scope members.
Entity Property Filter: Similar to Group Type Filter, this restricts the rule to specific entity members.
Adjustment Type: Defines the rule type. Possible values are the following entries:
Blank: generic rule type
N: for new entities in the group/scope; similar to a generic rule
P: for proportional entities
E: for equity entities
D: for entities that leave the group/scope in the middle of the year
L: for entities that leave the group/scope in the beginning of the year
Adjustment Level: Indicates the execution sequence of all elimination rules. The system executes an elimination rule with an adjustment level of 0 first, then
PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.
Page 73 of 102
level 1, then 2, and so on. The result of an elimination rule with a lower adjustment level can be the input of an elimination rule with a higher adjustment
level. The source audit ID for an elimination rule with an adjustment level larger than 0 has further restrictions.
Other Dimension Filter: A string in this field indicates filters or special restrictions on other dimensions. For example, if you have a user-defined dimension
called Product and you want to run an elimination for only one of its members called Pro1, you would enter Product = Pro1.
Force Destination Member: When filled, indicates the value to which the system should force the elimination result. For example, if you enter Product =
ALL, then for the generated elimination result, the system populates the dimension Product to ALL, no matter what the original value was.
Ownership Filter: Filters the ownership value. For example, to apply a rule to only those entities whose ownership percentage in a group or scope is larger
than 70%, you enter POWN > 0.7.
More Information
Method-based Multipliers and Consolidation Rules
Consolidation Monitor
Features
You populate the following two global definitions:
Method-based multipliers
Consolidation methods
Global Definitions
You can add a new Global Definition in Planning and Consolidation Administration by:
Selecting the type of Global Definition (Method of Method-based Multiplier)
Entering the required fields
Saving or validating the Method of Method-based Multiplier
Once defined, the rule can be used in any model in the environment.
Note
Validating the rule is not supported in the Microsoft version.
Consolidation methods
The Consolidation Method list describes the accounting methods available for consolidating each entity.
Field Name
Description
Method code
The unique method code. The value must be an integer between 1 and 98
99 - a reserved value and means any method, consequently it cannot be assigned
to any entity
Method name
Example
Leaving, Equity, Proportional, Global, Holding.
Method type
Method-based multipliers
Method-based Multipliers control how the amounts or the destination accounts should be calculated.
You define a name (ID), a description, and a type as noted in the following table. The consolidation method defined in the Type field limits the use of the rule to the
specified type of consolidation method.
The calculation of consolidated data is controlled by the multiplier being used, the consolidation method assigned to the current entity, and its Intercompany
partner, if applicable.
The following fields can be defined:
Field Name
Description
ID
Example
RULE01
Description
Example
Equity, 100% Minority part, Dividends, Stock Holder Equities, Intercompany
PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.
Page 74 of 102
elimination
Type
The consolidation method using the method-based multiplier can be restricted to:
Proportional
Equity
Leaving
Disposed
New
or blank
Entity Method
A valid entity method, as defined in the Consolidation Methods list, or a list of entity
methods separated by commas to which the multiplier applies.
IntCo Method
A valid entity method, as defined in the Consolidation Methods list, a list of entity
methods separated by commas, or 99 for all methods. For the Intercompany dimension,
this is the entity value to which the multiplier applies.
ALL Formula
An expression that represents the percentage (or formula) to apply to the Destination All
account property from the Eliminations and Adjustments business rule.
The value can be an arithmetic expression combining any defined percentage in the
account dimension of the ownership model. All percentages where the property
IS_INPUT is equal to Y can be used. Note the following guidelines:
The members must be enclosed in square brackets.
Example
[POWN], [PCTRL], [POWN]
Add the prefix P to the percentage to use the Prior value.
Example
[PPOWN], [PPVOTE]
Add the prefix I_ to the percentage to add the Intercompany value.
Example
[I_POWN]
The syntax of the prior value can be combined with the syntax of the INTCO value.
Example
[I_PPOWN]
Note
The calculation of POWN by both direct share method and group share method is
supported.
We also support the calculation of PCTRL (calculation of ultimate control %) in the
business rule tables.
There are two options for obtaining results: system calculations and manual
updates. There is also an option to change from system to manual while calculating.
This gives you the means to manage security by protecting system calculations that
cannot be overwritten by manual updates.
To support this, we also provide the O_ACCT dimension in EnvironmentShell by
adding a set of members that store only system calculations. The members are
POWN_SYS, PCTRL_SYS, and METHOD_SYS.
Group formula
An expression that represents the percentage (or formula) to apply to the Destination
Group account from the Eliminations and Adjustments business rule. The value can be
an arithmetic expression combining any defined percentage as defined by the Account
dimension of the Ownership model. All percentages where the property IS_INPUT is
equal to Y can be used. The percentage must be enclosed in square brackets. See the All
formula field above for further details.
Minority formula
An expression that represents the percentage (or formula) to apply to the Destination
Minority account from the Eliminations and Adjustments business rule. An arithmetic
expression combining any defined percentage as defined by the Account dimension of
the Ownership model. All percentages where the property IS_INPUT is equal to Y can
be used. The percentage must be enclosed in square brackets. See the All formula field
above for further details.
Remark
1.5.10 Controls
Use
Controls enable you to test the validity of the data gathered in a reporting process. Controls can be applied to any type of data. (See Create a Control.) For
example, a control can be used to check whether assets equal liabilities for data entered in data entry schedules or for adjustments entered in journals.
Controls are run on the data available in the model (in local currency, on base entities). If a dimension is deleted from the model, all control results relevant to that
dimension are also deleted.
Controls are grouped into control sets. (See Create a Control Set.)
The main steps to follow when setting up your controls are as follows:
PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.
Page 75 of 102
Figure 1:
Note
An entity for which no control level is defined is automatically assigned Level 4, meaning all controls are run when a control set is executed. (For more
information on entity control levels, see Control Set Status.)
You manage controls in
Consolidation Central
Controls Monitor
Rules
Controls
Note
You can also execute tasks in a Business Process flow, provided that the relevant tasks are set up in the business process flow definition.
Prerequisites
To view the Controls page in Planning and Consolidation Administration, you must have the View Controls Manager right.
Features
A control has two output values:
The calculated amount for the control
The control status
Calculated amount
Controls are calculated at the Entity level in local currency.
Control Status
When a control set is executed, the status is a roll-up of the status of all the controls available in this set. (See Create a Control Set.) If any problems are detected
when the controls are run, warnings or errors are generated. A warning does not prevent the data from being validated in the workflow. A blocking error prevents
the data from being validated, meaning the work status cannot be modified for the corresponding category, time and entity members. (For more information, see
Control Set Status.)
Enable controls
Controls are enabled or disabled at the model level in Planning and Consolidation Administration.
Two properties, Control Level and CTRL_CURRENCY_NOT_LC (Bypass LC in ctrls), must exist on the Entity dimension to allow enabling the controls.
Note
To enable controls, Work Status dimensions must be set with at least three main dimensions: Category, Time, and Entity. (See Create a Control.)
Edit Assignments
A control set must be assigned to a Category/Time dimension pair to be executed. (For more information, see Assign Control Sets.)
Activities
To enable controls
PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.
Page 76 of 102
1. In the Controls page, select the model whose control sets you want to enable.
2. Click Enable controls .
3. In the Enable Controls dialog box, select Enable and click OK .
To display the Controls page in Planning and Consolidation Administration
Select
Rules
Controls .
To display a control definition
1. In the Controls page, select the model containing the control(s) you want to view.
2. In the Controls for <Model name> page, click an individual control to display its properties.
To edit assignments for a control set see Assign Control Sets.
More Information
Create a Control Set
Assign Control Sets
Create a Control
Controls Monitor
Control Set Status
Procedure
You create controls in the Controls page of Planning and Consolidation Administration.
To create controls in SAP BusinessObjects Planning and Consolidation, version for SAP NetWeaver, do the following:
1. Select
Planning and Consolidation Administration
Rules
Controls .
2. Select the model for which you want to create a control.
3. Click Open to display the list of existing controls for that model, then click New .
Note
When dimensions are added or removed from the product, control definitions containing a deleted dimension are updated accordingly and are marked as being
invalid for change tracking reasons. Impacted control definitions must be verified. If a dimension is removed from a model, all control results are deleted.
Note
If a driving dimension is added to the Work Status definition, control results are deleted as well as existing locks. This new dimension is also removed from the
control expression, since driving dimensions cannot be used in control expressions. If a dimension is removed from the Work Status, all control data is cleared
and control expressions must be verified accordingly.
The control properties that you can define include:
ID
Description
Type
Equation type
Control Level
Breakdown Dimensions
Tolerance Threshold
Expression
Documents
ID
A control must be identified with a unique code. This field is mandatory.
Control Description
A control description should clearly and concisely describe which verification is being performed and for which reason, and what is the accounting, financial or
economic logic. For example, "Assets = Liabilities".
Control Type
You assign one of the following two control types:
Warning: warns the user of noncritical data quality issues. Does not prevent the user from going to the next work status level.
Blocking: prevents the user from going to the next work status level until the blocking status is cleared.
Equation Type
You choose the operand for the expression: =, >, <, >=, <=, <>. The operand determines how the two amounts in the expression will be compared.
Control Level
This is linked to the Control Level property in the entity dimension. A control level is defined for each control, organizing the controls by rank, so that the relevant
data can be verified.
Four control levels are available:
PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.
Page 77 of 102
Basic: Level 1
Standard: Level 2
Advanced: Level 3
Comprehensive: Level 4
Controls are executed according to the control level associated to the selected entity. (See Execute a Control Set.) If an entity has no control level defined, it is
automatically assigned Level 4, meaning all controls are run when a control set is executed. (For more information on entity control levels, see Control Set Status.)
Breakdown Dimensions
Choose the dimension(s) for which controls should be executed on all members. You can choose up to two breakdown dimensions. Breakdown dimensions allow
you to define controls to be run on any type of data (for example: input, manual adjustments, automatic adjustments).
Example
CTRL1 is defined as TOTAL_ASSET = TOTAL_LIABILITIES, break-down dimension: DATASOURCE with TOTAL_INPUT member specified in the control
expression. TOTAL_INPUT is the aggregation of INPUT, INPUT_ADJ1 and INPUT_ADJ2.
When the control is executed, it compares TOTAL_ASSET versus TOTAL_LIABILITIES for both members INPUT, INPUT_ADJ1 and INPUT_ADJ2. As a
result, if two members generate an error, the following information is generated:
One row appears displaying the aggregated information for the control, without data in any of the columns except for the status, which is Failed.
Two rows below for that given control to display the detailed calculations, with data for both lines.
Note
Any dimension can be used as a breakdown dimension, except for: dimensions used as driving dimensions in the Work Status setting, currency dimensions
and group dimensions.
Tolerance Threshold
The tolerance threshold is an amount, expressed in either absolute value or as a percentage, which is compared to the difference between the two amounts. If the
control result is less than or equal to the member amount defined in the tolerance threshold, then the difference is considered as insignificant and the control status
is OK .
Example
Expression of control for amounts x
and y
Comparison difference/tolerance
Control result
Example
x= y
< Tolerance
Valid
Tolerance entered: 1
Amount x: 1,000,000
Amount y: 1,000,000.5
Difference: 0.5
The difference is less than the tolerance.
The two amounts are therefore considered
equal.
The control, run to check if the two
amounts are equal, is therefore valid.
> Tolerance
Error or warning
x< y
< Tolerance
Error or warning
Tolerance entered: 1
Amount x: 1,000,000
Amount y: 1,000,000.5
Difference: 0.5
The difference is less than the tolerance.
The two amounts are therefore considered
equal.
The control, run to check if x is less than
y, is therefore in error.
Valid
Error or warning
x> y
< Tolerance
Valid
Error or warning
xy
< Tolerance
Valid
Error or warning
xy
< Tolerance
Valid
Error or warning
Error or warning
Valid
Tolerance entered: 1
Amount x: 1,000,000
Amount y: 1,000,000.5
Difference: 0.5
The difference is less than the tolerance.
The two amounts are therefore considered
equal.
The control, run to check if x is less than
or equal to y, is therefore valid.
Valid
PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.
Page 78 of 102
Expression
The expression is the formula used for identifying the two amounts to be compared. In the Expression tab, the upper panel contains the formula for identifying the
first amount to be compared. All the dimensions must be specified.
When breakdown dimensions are specified, an icon appears in the column header identifying that dimension as a breakdown dimension.
The lower panel contains the formula for identifying the second amount to be compared, which can be from another Category, Time, or Group.
In the Category field you can enter any member from the Category dimension. In the Year Offset field, you can enter an integer preceded by "+" or "-". In the
Period field you can enter an integer which is associated to the MONTHNUM property of the Time dimension. For relative periods, "+" or "-" signs can be used; for
example, for the previous month you enter "-1".
If the lower panel is left blank, the first member of the expression (defined in the upper panel) is compared to zero.
Documents
Microsoft Excel input schedules or reports, as well as Web Input Forms or Web Reports can be attached to aid in resolving issues.
More Information
Execute a Control Set
Control Set Status
Prerequisites
An administrator has given you the Edit Controls Manager right.
Features
Control Set Properties
The control set properties that you can define include:
ID
A control set must be identified with a unique code. This field is mandatory.
Description
A control set should clearly describe the type of verifications to be performed.
Create, Display, Modify, Copy, or Delete a Control Set
You can create a new control set containing a selection of controls by copying an existing control set. This allows you to quickly initialize a control set containing
multiple controls, without having to add the controls one by one. You can then make changes to the copied control set using the Add/Remove function.
Activities
To create a control set
1. In the Controls page, select the model where you want to add the control set and click Edit Sets in the toolbar.
Alternately, click the number in the Sets column corresponding to the model where you want to add the control set.
2. In the Control Sets: <Model name > page, click New in the toolbar.
3. Specify a name and a description for the control set.
4. To add controls to the control set, click Add/Remove in the toolbar.
5. In the Add/Remove Controls dialog box, use the arrows to move controls from the Available Controls list into the Selected Controls list, then click
OK .
6. Save the control set.
Note
A control can be assigned to more than one control set.
To display or modify a control set
1. In the Controls page, click the number in the Sets column corresponding to the model for which you want to display all the control sets.
Alternately, select the row containing the model and click Edit Sets in the toolbar.
2. In the Control Sets: <Model name> page, select the control set that you want to display or modify.
3. To add or remove controls from the control set, click Add/Remove .
4. In the Add/Remove Controls dialog box, use the arrows to move controls between the Available Controls list and the Selected Controls list, then
click OK .
5. Save the control set.
PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.
Page 79 of 102
Note
A control can be assigned to more than one control set.
To copy a control set
1. In the Controls page, select the model containing the control set you want to copy and click Edit Sets in the toolbar.
2. In the Control Sets: <Model name > page, select the control set and click Copy in the toolbar.
3. In the Copy Control Set dialog box, enter a name and description and click OK .
The copied control set contains the same controls as the original control set. You can then make changes to the control set following the steps
described above.
To delete a control set
1. In the Controls page, select the model containing the control set(s) you want to delete and click Edit Sets in the toolbar.
2. In the Control Sets: <Model name> page, select the control set(s) you want to delete and click Delete in the toolbar.
Note
Deleting a control set does not delete the associated controls.
More Information
Assign Control Sets
Execute a Control Set
Features
Display category/time pair assignments for control sets
There are two ways to display the category/time pair assignments for control sets:
Show Categories by Time
You select the option Categories by Time to display the active control sets assigned to each category and period intersection.
In the Assignments grid, the categories are listed in rows and the periods are listed in columns. Assigned control sets appear in the grid in cells at the
intersection of a category and a period.
To modify an assignment, click Edit and double-click in a cell to display the list of available control sets. You can then assign a control set to the selected
category/time pair.
Show Control Sets by Time
You select the option Control Sets by Time to display the category/time pairs organized by each available control set.
In the Assignments grid, the active control sets are listed in rows and the periods are listed in columns. Expand a control set by clicking its arrow to
display the selected categories; in doing so you display the category/time pairs for the expanded control set in the form of a checkbox in each grid cell. If the
checkbox is selected, the control set is run for that category and period.
Note
The Control Sets by Time view is for consultation only. You cannot modify the category/time pairs in this view.
To display additional control sets, click Control Sets and select additional control sets in the Member Selector dialog box.
Display additional periods or categories
You can display additional periods or categories in the Assignments grid. Click Category or Time in the toolbar and make your selections in the Member
Selector dialog box. The additional dimension members are displayed in the grid.
Sorting and moving columns
You can sort the contents of a column by clicking in the column header. A triangle appears, indicating the direction of the sort. Clicking the column header a
second time changes the direction of the sort.
You can change the order of columns in the grid by dragging and dropping them.
PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.
Page 80 of 102
Once you have completed a process template, you can create a process, based on the template, in the Administration screen. A process represents an
iteration of the enterprise-wide business process. It allows the user to see only the tasks relevant for that user, given his or her role and data access privileges.
Example
A process template describes a monthly activity, such as line managers entering monthly actual budget data. You create an instance of the process for each
manager, who enters actual data for a particular department. In this example, the process context has the same time and category, but a different entity.
Therefore, the process context, which is the varying entity, serves as the key for identifying and tracking the instances of the process. It allows the process to
run simultaneously across various operational units.
Features
The following functions are available to authorized users:
Function
More Information
You can create a new process template on which to base processes, copy existing
process templates, and modify existing templates. For more information, see Creating
New Process Templates.
You can archive process templates. When you archive a process template, all processes
based on the template must be completed because these are also archived. Archived
process templates appear on the All Templates and Versions list with a current version
of Inactive .
When you create a new process template, the system automatically validates the
template for completeness before saving the template. The result of this validation is
shown in the Status column. A template can be Valid or Invalid . If it is invalid, you
can revalidate it by selecting the template , and clicking Validate .
If a template is locked, as shown in the Current Version column, you can unlock it.
Select the template, and click Unlock .
Deploy a template
If a template is not locked and has a status of Valid , you can deploy it so that it can be
used for creating processes. Select the template, and click Deploy .
If you choose All Templates and Versions , the All Templates and Versions window
opens. This lists all the templates, including those that have a current version of
Inactive . An inactive template is one that has been archived.
If you select a template and choose All Templates and Versions , the list will contain all
versions of the selected template.
Manage processes
After a process template has been created, business users can use it to create processes.
After processes have been created, administrators can reset, archive, or delete them. .
Process
1.
2.
3.
4.
From the Administration screen, select Process Templates from the left navigation pane.
Select New . The Process Template Designer opens.
On the Process Settings tab, provide details such as name, description, and the controlling model of the business process flow. See Process Settings.
On the Activities tab add activities to represent the flow of the business process. See Activities.
You can create a new activity as well as duplicate an existing activity and then modify it. You can also change the order of activities.
5. You can add actions to define the specific tasks users perform within the activities. See Defining Actions.
An action can be any user authorized task, for example, opening a schedule, publishing a report, or approving entered data.
6. When you save a new process template, the system automatically validates the template to ensure it is properly defined and completed before saving the
template. The result of this validation is shown in the Status column. A template can be Valid or Invalid . If it is invalid, you may need to make changes
to the model before clicking Validate to validate the template.
Template validation is a prerequisite for creating a process.
Note
Validation occurs every time that you click Save . So, if you make an interim save to avoid losing your work, you will probably receive some validation
errors or warnings. You can view these by choosing See Details next to the warning message.
Result
Based on the process template you created, you can generate processes in the Administration screen. See Creating Processes. You can also perform actions on
the process instances. See Process Management.
Page 81 of 102
Use
Before creating a process template, you provide basic information that identifies the process.
The modify process uses the same features as the setup process described in this topic.
Features
The following table describes the information you need to complete the setup process in the Process Settings tab:
Item
Description
Name
Description
Model
The model that contains the dimensions that are required to define the context, and the
Time dimension you want to use for the processes.
If, for example, you select the Planning model, whose Time dimension is in monthly
increments, the process works in monthly time increments, as well.
The model governs both the time dimension for process instances and the available
dimensions for activity context.
Dimensions
Users
Choose the users and teams to which the process template applies.
Select the appropriate option to view by team or user. Move the users or teams from the
Users and Roles tabs to the Selected Users and Roles column.
Setting this access allows these users and roles to view the processes, created from this
template, in the process monitor. They cannot perform any actions in these processes.
You define the performer and reviewer roles when you create a process from this
template.
Activities
To create a process template from scratch, choose Business Process Flow Templates in the Administration screen, and choose New . This opens the Process
Template Designer .
You can also use Copy and Edit to create a process template based on an existing template.
To define activities within the business process flow, choose the Activities tab. For more information, see Activities.
1.6.1.2 Activities
Use
You can create activities that form part of a process. For guidelines on defining activities, see Criteria for Defining Activities.
Features
The following table summarizes the information that you need to supply for each activity:
Item
Description
Initial Information
Name
Instruction
Provide a description of what is to be done in the activity. This is the instruction that is
displayed to a user performing a process based on this process template.
Members
Clicking the members icon opens the Criteria Editor . You can define relationships
among members and add additional criteria as required.
For more information, see Defining Activity Context Criteria.
Performer
Select the property that defines the performer for each member.
To define an action that a performer must perform when reviewing the activity.
A Performer is the person, to whom the activity is provided to at run time, that is the
PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.
Page 82 of 102
person, who has to perform the work items in the activity and mark it as complete. This
can be one or more users, or a team. Performers are determined by a property of the
dimension used as driving dimension of the activity. You can select the "Owner"
property or any other property for this. Owner has a specific meaning in Planning and
Consolidation; it is the dimension property that determines who can change the work
status of each member to anything other than unlocked. So you could choose to have an
activity that is performed by the same owner as work status.
For more information, see Defining Actions.
Require Reviewer
If required, select this checkbox and select a property that defines the reviewer for each
member.
To define an action that a reviewer must perform when reviewing the activity.
You select the reviewer in the same way as selecting a performer, but you can select a
different property to determine the reviewer users.
For more information, see Defining Actions.
Opening Criteria
Opening Criteria
Select the appropriate radio button to open by All activity contexts or Matched activity
contexts.
For more information, see Criteria for Opening Activities.
Allow Reopen
To allow authorized users to reopen an activity, select the Yes radio button.
For more information, see Criteria for Reopening Activities.
Activities
To create a new activity, click New ; to edit an existing activity, select the activity. To copy an existing activity, select the activity, and chose Copy from the
context menu. You are offered the opportunity to duplicate the activity definition and contents, or just the activity definition.
You can preview instances of this activity by clicking Preview Activity Instances .
Once you have defined an activity, you can create a working area where users can add, view, and manipulate data. Choose Create a performer workspace. This
opens a workspace, that is driven by the process and whose driving dimensions are those defined for the activity. In this workspace, you can add any Planning
and Consolidation function for data entry, creating reports, and so on. For more information, see Defining Actions.
You can define a workspace for each activity. You can also choose whether the reviewer uses the same workspace or has a separate workspace for reviewing
this activity.
You can generate activities by selecting properties of the driver dimension.
Logical relationship of selections:
1.
2.
3.
4.
Order of activities:
1. If there is a hierarchy selection, follow the preorder traversal of the hierarchy.
2. If there is only a property selection, follow alphabetical order. The operators supported in property selections are equal, not equal, between, and like.
For example, the driver dimension of one step is D, which has hierarchy H1 and H2, and properties P1 and P2. The selections are the following:
1.
2.
3.
4.
5.
The members generated as activities will satisfy the logical relationship (1 OR 2) AND ((3 OR 4) AND 5).
Page 83 of 102
Procedure
You define activity context criteria in the Dimensions and Users Area of the Actions tab by performing the following steps:
1. Select the driving dimension. The driving dimensions are displayed according to the model that you selected in the Process Settings tab. Each activity has
only one driving dimension, and this determines which members can be selected for that activity.
2. Set member criteria for the activity context using the Criteria Editor . There is a limit of six member definitions per step:
Select specific valid member IDs from the list. This list is generated depending on the driving dimension you have selected. You can make multiple
dimension member selections.
If you select a parent ID (a node that has subnodes) in the dialog box that appears, you can generate dimension members based on the
dependent ( Children ), or base ( Base Members ) nodes of the parent ID. If you do not select Children , Base Members , or All Members ,
it defaults to Single Member , which just includes the selected node.
Note
Dependent members are all entries one level below the parent node.
Base members are all entries at the lowest level below the parent node.
3. Select the property of this dimension, which contains valid user IDs for the owner. For more information, see Owner Property.
Features
When choosing an opening criterion for an activity, consider the following guidelines:
There is no opening criterion for the first activity of a process. The first activity is always open, regardless of how the opening criterion for the activity is
defined in the process template.
When you complete all activities in a context, the next activity automatically opens regardless of the opening criteria.
When you are defining an activity, you can choose the opening criteria to be All or Matched . The following sections describe how these criteria affect activities.
All Activity Contexts
Choosing All Activity Contexts as the opening criterion for an activity introduces the following constraints:
All activity contexts must be completed before the next activity opens.
Use with matching driving dimensions, or different driving dimensions.
Use this option when you have matching driving dimensions, but different activity contexts between activities.
Example
You must complete all tasks for all activity contexts in activity 1 before activity 2 opens:
Activity
Driving Dimension
Activity Context
Status
Entity
Italy
Complete
Entity
France
Open
Entity
Italy
Pending
Entity
France
Pending
Example
The matched activity context opens in activity 2 when you complete the tasks for the corresponding activity context in the first activity. All tasks for the other
activity contexts are pending:
Activity
Driving Dimension
Activity Context
Status
Entity
Italy
Complete
Entity
France
Open
PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.
Page 84 of 102
Entity
Italy
Open
Entity
France
Pending
Features
When choosing a reopening criterion for an activity, consider the following guidelines:
The Allow Reopen checkbox must have been selected in the previous activity, which is the activity that you want to reopen.
The reopen function is only available for (the previous activity) the activity prior to the one that is now active (the current activity); you cannot reopen an
activity that is not consecutive.
The final activity cannot be reopened.
You must be an owner or reviewer in both the current activity (active activity) and the previous activity to be able to reopen that activity. If you are the
process owner you can reopen an activity, regardless of owner or reviewer assignment, from the process monitor.
You cannot specify which activity context to reopen, it is an activity operation.
The following sections describe how All and Matched criteria affect activities.
All Activity Context
Choosing All Activity Contexts as the reopening criterion for an activity introduces the following constraints:
You must be a participant in at least one activity context of the previous activity.
(The process owner can ignore this).
You must be a participant in at least one activity context of the current activity.
(The process owner can ignore this).
The opening criterion of the current activity is All .
The current activity must be fully active, which means that all the activity contexts of the current activity must be Open , Reopened , Rejected , or
Submitted .
Example
When you reopen activity 1, all activity contexts for activity 2 change to status Delayed :
Activity
Driving Dimension
Activity Context
Owner
Reviewer
Status
Entity
US
Reopen
Entity
Canada
Reopen
Entity
US
Delayed
Entity
Canada
Delayed
Example
When you reopen activity 1, activity context Canada reopens. Canada changes to status Pending in activity 2.
Activity context US does not reopen as it is already complete in activity 2 - the activity context must be active in the current activity to reopen it in the previous
activity:
Activity
Driving Dimension
Activity Context
Owner
Reviewer
Status
Entity
US
Complete
Entity
Canada
Reopen
Entity
US
Complete
Entity
Canada
Delayed
Page 85 of 102
Use
The owner designating dimension property is created in any dimension used as a driving dimension for a business process flow. You add the property to the
dimension with any name. We recommend using a naming convention that denotes the relationship to business process flow owners. A dimension can have one
or more owner designating properties as long as each is unique.
For example, if your business process dictates that an entity is the differing factor when it comes to entering data, the Entity-type dimension is the dimension that
drives the owner of the activity context. If your business process dictates that a department name is the differing factor, the Department dimension would have a
unique owner designating property that drives the owner of the activity context. The "Owner" property used for work status is a reserved property. The business
process flow owner properties must be named with a unique name.
Prerequisites
The dimension you select to drive must have at least an owner type dimension property. When more than one exists, you choose the appropriate property to use
in the business process flow.
Features
The owner designating property takes user and team names in brackets as values. You can enter multiple names and teams separated by commas. You must
also include the domain or server name in the path.
Activities
You do the following to set up an Owner property:
Set up the owner property by accessing the Dimension Library, choosing Maintain Dimension Property , and adding an owner.
Assign the owner property to a dimension by accessing Maintain Dimension Members . Define the owner property on a dimension such as Entity, then
define the property values. You can enter multiple names and teams separated by commas. You must also include the domain or server name in the path.
Prerequisites
Activities have been defined in the Process Template Designer interface.
Procedure
You create action for an activity in the Workspaces section of the Activities tab.
1.
2.
3.
4.
Choose New to create a new performer workspace. A new workspace tab opens with the same name as the activity.
Select Add View and choose the layout that you require.
Drop the required elements into your view and configure according to the desired outcome.
Use the context menu of the new view to create an appropriate title for the action.
Repeat for all the actions to be associated with each activity in the process template.
You can specify that the reviewer uses the same workspace or that a reviewer has a specific workspace, which you can define in the same way.
Result
You have defined actions for your activity.
Note
You can create up to 24 processes for each process template.
Generating a process creates all required activities and activity contexts. Once generated, the process is no longer associated with the template. Any changes to
the template definition do not impact previously generated processes.
Prerequisites
A process template has been created, validated, and deployed.
PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.
Page 86 of 102
Procedure
In the Process Instances screen, choose New . This opens the New Process wizard that has the following steps:
1. Select the process template.
2. Choose the process owner.
3. Select context.
Select the category and time that define the context.
4. You can change the performer or reviewer for each activity.
Select an activity and click Change Performer or Change Reviewer as appropriate and choose a different user or team.
5. Review the process, select Start the process and click Finish .
The title of the created process is derived from the process template name and the context of the process.
Result
You have created a process. Click Refresh in the Process Instances screen to add the new process to the list; it is displayed with a status of Active .
You must manage the process and activate it before a user can see it in the interface. For more information, see Process Management.
Prerequisites
A process template has been created and a process has been generated from that template.
Features
You can perform the following functions for a process:
Function
Description
Start
Suspend
To deactivate an active process, or a process waiting for finalization. The status changes
to Suspended . The process can be reactivated using Start .
An inactive process does not appear available for users and can only be seen in the
Administration screen.
Complete
Change Assignments
The Change Assignments wizard allows you to change the process owner and an
activity owner.
Reset
To reset processes back to activity 1, choose Reset . The system resets the status within
a process so that users must perform the steps again. It does not, however, reset
changes made to your metadata or transaction data.
Archive
Refresh
1.7 Features
Use
The following additional features are available in SAP Business Planning and Consolidation, version for SAP NetWeaver:
Work Status Setup
Journal Administration
Context Defaults
Drill-Through Setup
Document Types and Subtypes
Auditing
Time-Dependent Hierarchies
Parallel Execution
Page 87 of 102
Use
This function allows you to lock a region (or slice) of data in a model. The work status setting overrides the member access privileges of a user to write to a given
region. A region of data is defined by three to five dimensions per model, one with property called Owner.
When you set up work status, you define the following:
Work Statuses - The codes that refer to a physical status of data (such as Submitted)
Level of security - The users or teams who can change data in the system, which is All , Locked (no one), Manager , or Owner . See Controlling Who
Can Change Data below.
The users or teams who can change the work status, which is Owner , Manager , or Owner and Manager . See Controlling Who Can Set Work Status
below.
Method of data update - The manner in which the customer updates data. See Method of Update below.
Push - Equivalent to the check box Include all children when setting work statuses, the option allows you to set one work status code to all children of a
member. This does not set the selected parent member.
After you set up work statuses, users can use them to apply a label to a current view and lock its data for review, approval, and so on. For example, your monthend close business process requires that a specific set of data is locked down so that accurate month-end reports can be created. After a data submission, the
owner sets the work status to Submitted. This locks the data intersection from subsequent submissions.
Prerequisites
To use this function, you must specify in the Base Hierarchy column of the work status dimensions the hierarchy (H1, H2, H3, ..., Hn) that uses work status
rules. See Setup of Work Status Dimensions.
Features
Controlling Who Can Change Data
You define who can change the data in the system:
All - All users with the appropriate member access rights can change data
Locked - No one can change the data
Manager - Only managers (parents of owners) can change data
Owner - Only owners can change data
Controlling Who Can Set Work Status
You define who can set the set the work status for a region of data:
Owner and Manager - The owner of the specific member ID and the owner of the parent to the specific member ID
Owner - The owner of the specific member ID
Manager - The owner of the parent to the specific member ID
Owner / Manager Determination:
Parent member owners act as an owner for that specific parent member ID
Parent member owners act as a manager for their direct children - the parent owner can change any specific direct child work status; can be both parent
and base members
When using Include all children - the owner of a parent can update all children (all levels) below
Base (leaf) members owners act as owner only
Members (top of a hierarchy) that have no parent but have children act as their own manager in addition to owner
Controlled By Rule
An owner is defined by only one dimension hierarchy, the OWNER dimension
A work status can be set on a specific single member ID, where the manager does not use Include All Children
A work status can be set on a series of member IDs, where the manager uses Include All Children
Setting the Work Status:
If the user is acting as an owner, they can select a work status controlled by Owner or Owner and Manager.
If the user is acting as an owner and the selected member has no parent, the user also acts as a manager (top of the hierarchy) and they can select a work
status controlled by Owner, Manager or Owner and Manager.
If the user is the parent owner in the role of Manager, then they can use the Include All Children option (to push the work status to children). This option is
not valid for a base member, the Owner role.
Consecutive Work Status Rules
You can set work status in a forward direction (progressive) or in a backward direction (regressive)
For a user acting as an Owner, the order matters
The user can only select the next (forward) work status that is controlled by either Owner or Owner and Manager
The user can select the previous (backward) work status that is controlled by either Owner or Owner and Manager
The user cannot select a work status that skips a work status controlled by Manager, either forward or backward
For a user acting as a Manager, the order does not matter
The user can only select a work status that is controlled by either Manager or Owner and Manager, either forward or backward
The user can select a work status that skips a work status controlled by Owner, either forward or backward
If you expand all records on the non-OWNER dimensions only, and find the current work status on each record, the model checks each and every
expanded record for the rules. If one record fails, the whole request is ignored
Bottom-Up Rule
A parent work status cannot be higher than its children (order matters)
The order of work statuses is determined top to bottom in the work status code screen. The first code is 0, the next code is 1, and so on.
A child can have a work status that is greater than or equal to its parent
For a user acting as owner:
If a child is set to Submit, it parent cannot be set to Approve.
If one or more children have a work status that is lower than the work status being set for a parent (forward), then an error appears
PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.
Page 88 of 102
If the parent's work status has a higher work status, an error appears if you attempt to regress a child's work status (backward)
The rules above also apply when the user is acting as a Manager (where Include All Children is selected or the Manager sets a specific child work
status)
For all expanded records (non-OWNER dimensions), the immediate parent is checked to verify that it has a work status that is less than or equal to its
children. If one child fails this rule, all fail.
Method of Update
The areas of Planning and Consolidation for which you can control the level of security are as follows:
Data Manager ( DM ) - Controls data input from running a Copy, Import, or Move package
Journal ( JRN ) - Controls data input from posting journal entries
Manual Entry ( MAN ) - Controls data input manually
Comments ( COM ) - Controls data input from posting comments (unstructured data)
Documents ( DOCS ) - Controls posting documents with model context to the Document view (unstructured data)
Defining Work Statuses
Work statuses (or work status "codes") are defined for the entire environment (not per model). There is no limit to the number of codes you can create, but there is
a practical limit.
There is a default work status that must be first and cannot be changed. It has an internal code of 0 and is controlled by the Manager and Owner ( Controlledby
is set to Owner and Manager ). You can change the method of update for this code, but not the order or the Controlledby value. You can change the text
description.
The default code allows you to have a customized behavior for the environment. For example:
LOCKED for all methods is equivalent to preventing any data update until the work status is advanced to the next status (1)
ALL for all methods is equivalent to having all data open for update - this is the current and default behavior
SETUP applies to ALL of the models in the environment
WRITEBACK always checks for locks; if there are no locks in the lock table, the system behaves based on the setup of status (0)
Work status codes must be 20 characters or less, and their descriptions are limited to 40 characters (this is the same as a member ID).
You can change the order of work status, but once you change it, the system deletes all locks for all models in the environment. Deleting codes also deletes all
locks. Adding codes to the bottom of the list, changing a code definition, does not impact existing locks, but may impact business users. We recommend this only
during the testing phase.
For information about how to set up work status dimensions, see Setup of Work Status Dimensions.
Work Status Rules
The following rules describe work status behavior:
The default method for managing work status is bottom-up. That is, the status of a parent cannot be higher than the status of its children. (NetWeaver does
not support top-down)
The maximum status a parent can be set to is the lowest status of its immediate children.
If the status of a parent is set to Locked, you cannot unlock the children.
The minimum status a child can be set to is the status of its immediate parent. For example, if the parent status is Submitted, the child status must be at
least Submitted.
The owner of an entity can set the work status to any status designated as an Owner status.
The manager of an entity can set the work status to any status designated as a Manager status.
A manager is the owner of a parent-level member. The owner of a parent level member is the manager of all its descendants.
When setting a lock on the parent members of multiple dimensions, locks are set for all members under all parents (specifically, the Cartesian product is
stored as locked). For example, the following table shows the locks that are set when including all children for entity:p1, category:actual and time
2009.Q1.
Entity
Category
Time
Work Status
Child1
Actual
2009.Jan
Upload
Child2
Actual
2009.Jan
Upload
Child1
Actual
2009.Feb
Upload
Child2
Actual
2009.Feb
Upload
Child1
Actual
2009.Mar
Upload
Child2
Actual
2009.Mar
Upload
If you reorder work status codes in the Admin client, all locks are deleted. This also applies deleting a work status.
A parent value for a non-OWNER dimension is not stored. When the user selects a parent for a non-OWNER dimension, it is expanded to all base
members, and only stores the base members.
A parent value for the OWNER dimension is stored. For example, the following table shows what is stored for entity:p1, category:actual and time
2009.Q1.
Entity
Category
Time
Work Status
P1
Actual
2009.Jan
Upload
P1
Actual
2009.Feb
Upload
P1
Actual
2009.Mar
Upload
When applying rules, if the model encounters any error, it rejects the entire user request. In this case, no records are updated.
Sending E-mail Notifications to Owners and Managers
The system can send an e-mail notification to owners and managers to notify them when a change occurs in a work status.
Activities
You create work statuses to reflect the status of data as it moves through your business processes, such as unlocked, submitted, and approved. No predefined
work statuses exist within Planning and Consolidation. In the Administration screen, choose
Features
Work Statuses
New .
PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.
Page 89 of 102
You can modify the order in which work statuses display in the system by choosing Reorder .
You can delete a work status that is not currently in use by selecting the work status and choosing Delete .
You can compose an e-mail notification to owners and managers and indicate whether to notify them if a work status has changed by choosing Notifications .
You can enable as well as view data lock settings by model on the lower half of the Work Status screen. To enable or modify them for a model, select the model
and choose Edit . You can enable data locking and select the dimensions to lock the process context, or disable data locking.
More Information
Setup of Work Status Dimensions
Work Status Example
Features
Use the following rules to define the dimensions used in data locking settings:
Specify a minimum of 3 and a maximum of 5 dimensions from the environment.
The dimensions should be variables in your business process, such as entity, category, and time. These are dimensions whose members change based
on who is submitting data. For example, the time dimension is typically a data locking dimension, since data is segregated based on time.
Dimensions such as account, data source, reporting currency, and so on, typically remain static, so those are considered non-data locking dimensions.
An Account-type dimension cannot be defined as a data locking dimension.
The dimension that contains the Owner property must be defined as a data locking dimension. For more information, see Owner Property.
Activities
1.
2.
3.
4.
More Information
Work Status Setup
Work Status
Owner Property
DM
JRN
MAN
COMM
DOCS
ControlledBy
All
All
All
All
All
Both
Started
All
All
All
All
All
Owner
Upload
All
Locked
Locked
Locked
Locked
Mgr
Submit
Locked
Owner
All
All
All
Owner
Journal
Locked
Locked
Locked
All
All
Owner
Approve
Locked
Locked
Locked
Locked
Locked
Mgr
Work State
CATEGORY
Yes
ENTITY
Owner
PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.
Page 90 of 102
P_ACCT
No
P_ACTIVITY
No
P_DATASRC
Yes
RPTCURRENCY
No
TIME
Yes
Entities structure
Owner of Top entity L1 is the tester's internal user ID (I#).
Remaining parents and children have test owners to help demonstrate the example.
ID
CURRENCY
DESCRIPTION
OWNER
PARENTH1
L1
EU
Top
SAP_ALL\I815086
LD1
US
Parent 10
DEVWDF46\TESTUSERC
L1
L9000
US
Parent 19
DEVWDF46\TESTUSERD
LD1
L9100
US
Child 191
DEVWDF46\TESTUSERE
L9000
L9200
US
Child 192
DEVWDF46\TESTUSERE
L9000
L9300
US
Child 193
DEVWDF46\TESTUSERE
L9000
LD2
US
Parent 20
DEVWDF46\TESTUSERF
L1
L8000
US
Parent 28
DEVWDF46\TESTUSERG
LD2
L8100
US
Child 281
DEVWDF46\TESTUSERF
L8000
L7000
US
Child 201
DEVWDF46\TESTUSERF
LD2
Examples
To begin, a user enters data into the model.
This example uses data for children of entity member L1 .
There are no locks set, so data can be entered freely.
Lock is set by owner
1. Owner TestUserE can set their own entity L9100 , and set a parent level non-owner dimension member 2008.Q1 .
2. However, the owner cannot view the current status of the entity L9100 and 2008.Q1 since the state is expanded to the child members for non-owner
dimensions (no storage of parent members for non-owner dimension).
3. The owner can view the individual state by the base member 2008.JAN .
An owner must set Controlledby work states in consecutive order. Upload can be set to Submit, but not to Journal, as the next work state after Upload is Submit.
This is also true in reverse: an owner cannot set a Controlledby owner work state that is not in order. You cannot set Journal to Started as this violates two rules:
The state before Journal is Submit. Therefore, this is the only valid selection possible.
Upload is a Controlledby Mgr work state, and is in between the Submit and Started work states. The owner cannot skip a Mgr work state.
Lock is set by manager 1
As the first status is an Controlledby Owner status, which is defined as open ( Locks Not Set), the next step is to have the manager progress to a locking
status of Upload.
1. Sign on as TestUserD , the manager of L9100 (owner of L9000 ).
2. Do not choose Include children in the data region . As a manager, you can update the status for individual members as long as the status is set to
Controlledby Mgr.
3. You cannot update the data after the lock is set, as this status locks out manual data entry.
Lock is set by manager 2
1. Sign on as TestUserC , the manager of LD1 (owner of L9000 ).
2. Attempt to set Controlledby Mgr work state for a specific child of L9000 (for example, L9100 ).
Only an immediate parent can set individual children. An error appears: User is not an owner/manager, work status cannot be
updated.
If you choose Include all children in data region , you can set all children (multi-level setting).
Controlled By Rule
1. Parent L9000 is set to Locks Not Set.
2. If the parent owner attempts to set the work state to Approve, this violates the Controlledby rule as Approve is a Mgr work state. An error appears: The
Controlledby rule is violated.
Note
The owner of a parent is not its own manager (the only exception to this is the top member of the hierarchy).
Bottom Up Rule
Parent L9000 is set to Locks Not Set.
Child L9100 is set to Upload; other children are set to None.
1. The owner of parent L9000 attempts to set to the work state to Started, which is Controlledby Owner.
2. This fails due to violation of the bottom up rule: a parent cannot have a status higher than its children. An error appears: The Bottom-up rule is
violated.
Pushing 1
L9000 , a parent owner (manager), can set the work state of all of its children using Include children in the data region .
PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.
Page 91 of 102
1. A manager can skip work states, but they must be Controlledby Mgr.
2. If a manager selects a work state that is Controlledby Owner, this violates the Controlledby rule.
3. If the user setting the work state is neither the owner nor the manager of either the specific member or children of the specified member, an error appears:
User is not an owner/manager, work status cannot be updated.
Pushing 2
L9000 , a parent owner (manager) can set the work state of all its children using Include children in the data region .
The parent member work state is not set when Include children in the data region is chosen.
Only the parent of L9000 ( LD1 ) can set a Controlledby Mgr work state.
Reversing
Assume all children of LD1 are approved for 2008.Q1 (JAN, FEB, MAR).
1. The owner of a child member cannot set a work state lower than their parent. This violates the Bottom-up rule.
2. A parent can reverse the status to any of the Controlledby Mgr work states.
All Regions Must Pass Rule
Assume all children of LD1 are set to Approve for 2008.Q1 (JAN, FEB, MAR).
1. The parent sets all base members for Jan to Locks Not Set.
2. The parent sets remaining months to Approve.
3. The owner of one dimension attempts to set Q1 to Started. This fails because it violates the Bottom-up rule for two months (February and March).
Prerequisites
Before users can adjust data in the database using the Journals feature, an administrator must perform the following tasks:
Define a journal template. See Journal Template Creation.
Define journal security. See Journal Security.
Set journal model parameters. See Journal Model Parameters.
Features
Administrators can define special rules for using journals, such as the following:
A special work status that prevents data changes from SAP BusinessObjects EPM solutions, add-in for Microsoft Office data sends and allows only
changes made by journals. See Data Modification by Journal Entries Only.
Logic that is specific to journal postings. For the Microsoft version, see Script Logic. For the NetWeaver version, see Script Logic.
More Information
Journals
Features
A journal template consists of the following:
Headers
Header dimensions, which are fixed, constant dimensions for all journals in a model.
The header dimensions set in a journal template become page keys for journal entries based on that template. The template header must always
include one dimension. Model dimensions that are not part of the header become detail dimensions for which users add line items when creating a
journal entry.
Additional header items containing clarifying information that are saved with the journal entry. These items are free text entry fields (limited to 60
characters) or lists of entries from which users make a selection. Alternatively, an additional header can be defined as a Date.
Adding additional header items is not required when creating a template, and if they exist in a template, users are not required to complete them. The
maximum length of an additional header item is 20 characters.
Detail dimensions, which are the remaining dimensions that are required to change the model data via the journal entry. The Account and Flow
dimensions are always included in the detail section of a template.
Detail dimensions are in columns, so each row under the dimension name becomes a detail line. You fill in members for each of the dimensions and
the debit or credit amount for that detail line. The maximum number of detail lines is determined when you create the journal entry.
Two additional options are available for detail header dimensions:
Balanced by Entity : If you select this option, for each entity in the journal entry, credits must be equal to debits.
Balanced by Currency : If you select this option, for each currency in the journal entry, credits must be equal to debits. There can be multiple
reporting currencies in a journal entry.
PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.
Page 92 of 102
Note
If you have already created a journal template, creating a new template that changes the structure of the journal entries deletes the old template and all
journal entries associated with that template. This removes your audit trail, even though changes made to the model data (cube data) through posted
journal entries are maintained. If you recreate the journal template, all transaction data is deleted. However, if you add or remove one or more dimensions
from a model, the corresponding journal template is automatically updated and the journal entries are maintained.
Reopen Rules
Define translation information for the dimensions used in the reopen tasks. For more information, see Journal Reopen Rules.
Activities
To create a journal template for a model:
1.
2.
3.
4.
Select
Planning and Consolidation Administration
Features
Journal Templates .
Select the row containing the model for which you want to create the journal template, then click New in the toolbar.
Select header dimensions and modify the order of the header and detail dimensions if desired.
Add additional header items if necessary.
Note
To create extra header text fields in a template and to change the header text fields to selection boxes, define sub-items for one of the additional header
items.
5. Define reopen rules.
6. Save and close.
More Information
Journals
Journal Reopen Rules
Journal Model Parameters
Features
When you open the translation table for the first time, the system opens a default table based on the journal template of the environment. The default value is *,
which is interpreted as any dimension member. You can modify the table as needed.
The table is divided into two column groups: Source and Destination . The individual columns in each of these column groups are described below:
Column Heading
Description
Account Type
Displays the four required account types: AST, EXP, INC, and LEQ . The first time
the system creates the translation table for a model, it uses these required account types.
You can add additional account types by adding new rows, but these account types must
remain in the table.
<Filtering Property>
Select the filtering property from the Filtering Property dropdown list above the table.
One or more columns that were selected during the template creation.
Column Heading
Description
Sign
Enter plus ( +) to keep the value in the same credit or debit position. Enter minus ( -) to
switch the value from the debit to credit, or credit to debit position.
One or more columns that were selected during the template creation.
Activities
To define journal reopen rules:
1. Select
Planning and Consolidation Administration
Features
Journals .
2. Select the row containing the model whose journal template you want to open, then click Open in the toolbar.
3. Select the Reopen Rules tab. Insert a new row for each additional account type (AST, LEQ, INC, EXP) by choosing the Add button. Remove rows by
choosing the Remove button.
4. For each account or dimension you want to convert, enter the source and destination member IDs' under the associated dimension.
More Information
Reopen Journal Entries
PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.
Page 93 of 102
Features
The following three journal parameters are available:
Enforce Balanced Journals
Select this parameter to specify that journals must be balanced when they are posted.
When selecting this parameter this affects all the journals that are generated from the given template. If you only want some of the journals to be balanced,
you must set this separately for each journal entry.
Allow Journals to be Reopened
Select this parameter to allow users to reopen journals. If selected, the Reopen button appears in the toolbar in the Journals page of Consolidation Central.
Activities
To set up journal model parameters for a model:
1. Select
Planning and Consolidation Administration
Features
Journals .
2. Select the model whose journal parameters you want to modify and click Journal Parameters in the toolbar.
3. Make your selections in the Journal Parameters dialog box and click OK .
Note
By default, the parameters are not selected.
Features
Journal security involves defining users that can administer (AdminJournal), create (CreateJournal), post (PostJournal), or unpost (UnpostJournal) journal entries.
With AdminJournal rights, a user can create templates and clear journal tables (see Journal Template Creation and Delete all Journal Entries from Model).
You set up journal security in Planning and Consolidation Administration.
Activities
Set up journal task security by performing the following steps:
Create journal task profile:
1. Select
Security
Task Profiles
and create a new task profile by clicking New in the toolbar.
2. In the Assign Tasks step expand the Journals folder in the Available Tasks list, then select one or more journal tasks.
3. Once you have reviewed the task profile, click Finish to create it.
Assign journal task profile to a user:
1. Select
Security
Users , select a user and click Edit in the toolbar.
2. In the Task Profiles tab, click Add/Remove in the Assigned to User list.
3. In the dialog box, choose the required journal task profiles from the Available Profiles list and add them to the Selected Profiles list.
4. Click OK .
Note
If users have create access but not write access to a data region, they cannot create journal entries for that data region.
Note
To assign one or more journal task profiles to multiple users, create a team and add the required users by selecting
Security
Team
in Planning and
Consolidation Administration. Once created, open the team for editing and in the Task Profiles tab, add the required journal task profile(s) to the team.
PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.
Page 94 of 102
Caution
Although changes that were posted to the database by journals remain, deleting the journal entries removes the journals themselves and their audit trail from
the model.
Prerequisites
You have AdminJournal rights.
Activities
To delete all journal entries from a model, do the following:
1. Select
Planning and Consolidation Administration
delete.
2. Click Delete Journals .
All journals for the model are deleted.
Features
Journal Templates
, and select the row of the model whose journals you want to
Features
You can limit journal dimension member lists by adding the property EnableJRN to the dimension for which you want to limit journal access. Then, in its
dimension sheet, type a Y in the EnableJRN column of base-level members for which you want to allow users to post journal entries. Repeat this for each
dimension you want to limit, then process the dimensions.
Example
You might want only some account members used for journal entries, regardless of whether the users have access to other members.
Features
This enforces a separation between SAP BusinessObjects EPM solutions, add-in for Microsoft Office input schedules that send data to the database and your
review and analysis phase where all data modifications are made by journal entries.
Activities
To lock data so business users can modify it in journal entries only, do the following:
1. Set up a work status code to lock out EPM add-in for Microsoft Office changes to entities. During this process, assign owner and manager rights to set
status to journal changes only.
2. Since owners or managers set work status, entities can be set for journal input only. You can test this by logging into SAP BusinessObjects Planning and
Consolidation with a manager ID, setting the status for an entity to Journal Only , then trying to send data to that entity via an input schedule and a journal
entry.
Example
Set up a code named Journal Only , in which the entity owner can change a status from Unlocked to Submitted and set it back to Unlocked if desired. The
manager can change it from Submitted to Journal Only, which locks the data from changes by EPM add-in for Microsoft Office input schedules or Data Manager
data loads, but allow changes by journal entries. The manager can then set the status to Approved, which locks changes from any source, including journals.
PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.
Page 95 of 102
Features
Enhancement Spot
The BAdI is defined in the following enhancement spot: UJJ_CALCULATED_AMOUNT.
When implementing a new BAdI, a filter must be set with the following parameters:
Appset_id: Model ID
Application_id: Environment
Sample BadI Implementation
A sample implementation is located in the following implementation spot: CALCULATED_AMOUNT_SAMPLE_IMPL.
In the sample, when P & L entries are made, the resulting net profit (loss) impact is generated on the Balance Sheet retained earnings account. This impacts the
closing balance flow, every time a balance sheet account is booked.
Interface to Implement
You implement the following interface: IF_UJJ_CALCULATED_AMOUNT.
Method CALCULATE_AMOUNTS:
Import Parameter
Description
Export Parameter
Description
A table of calculated amounts containing the amounts to be added to the journal list. The
output journal ID must match the input journal list.
Caution
When returning a table of calculated amounts, these amounts must contain only the values for the detail dimensions. If you set a value for a header dimension,
the BAdI returns an error.
Exception
Description
CX_UJJ_EXCEPTION
Data Types
UJJ_T_BADI_CA_JOURNAL
Table for UJJ_S_BADI_CA_JOURNAL.
UJJ_S_BADI_CA_JOURNAL
The following fields are defined in the structure:
Field
Type
Description
APPSET_ID
UJ_APPSET_ID
Environment ID
APPL_ID
UJ_APPL_ID
Model ID
JRN_TMPL_ID
UJJ_JRNTMPL_ID
Journal Template ID
JRN_ID
UJJ_JRN_ID
Journal ID
DESCRIPTION
UJ_DESC
Description
USERC
UJ_USER_ID
DATEMODIFIED
TIMESTAMP
USERP
UJ_USER_ID
DATEPOSTED
TIMESTAMP
STATUS
UJ_DESC
IDJ_AUTO_REV
UJ_ID
IDJ_OLD
UJJ_JRN_ID
IDJ_GROUP
UJJ_JRN_ID
AUTO_REVERSED
UJ_FLG CHAR
MUST_BE_BALANCED
UJ_FLG
MAY_BE_REOPEN
UJ_FLG CHAR
EDITABLE
UJ_DIM_MEMBER
VARIABLET
UJ_DIM_MEMBER
AMOUNTS
UJJ_T_BADI_CA_AMOUNT
Table of amounts
EXTRA_FIELDS
UJJ_T_KEYMEM
IS_BALANCED
UJ_FLG CHAR
UJJ_T_BADI_CA_AMOUNT
PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.
Page 96 of 102
Type
Description
REMARK
UJ_STRING
Remark
AMOUNT
UJ_KEYFIGURE
DEBITCREDIT
UJJ_DEBITCREDIT
UJJ_T_KEYMEM
Field
Type
Description
TABKEY
TABKEY
The dimension ID
MEMBER
UJ_VALUE
IS_HDR_FLD
UJ_FLG CHAR
MEMBERS
UJJ_T_KEYMEM
Table of UJJ_S_KEYMEM.
UJJ_S_KEYMEM
The following fields are defined in the structure:
UJJ_T_BADI_CA_JOURNAL_AMOUNTS
Table for UJJ_S_BADI_CA_JOURNAL_AMOUNTS.
UJJ_S_BADI_CA_JOURNAL_AMOUNTS
The following fields are defined in the structure:
Field
Type
Description
JOURNAL_ID
UJJ_JRN_ID
The journal ID
AMOUNTS
UJJ_T_BADI_CA_AMOUNT
Prerequisites
You have accessed the environment for which you want to set the context defaults.
Activities
To set context defaults, perform these steps:
1. In the Administration screen, choose
Features
Context Defaults .
2. To set a specific model as the default, select the model, then choose Set as Default .
3. To set the context defaults for a specific model, do the following:
1. Choose a model in the list, then choose Edit above the list of dimensions.
2. For any dimension for which you want to set defaults, select reporting and data input members, whether to display the dimension and its name, and
how to display the member. You can display a member by its name, description, or both.
3. Save the context defaults for the model.
Prerequisites
PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.
Page 97 of 102
Prerequisites
You must have proper security rights to define drill-through definitions. See the Planning and Consolidation Security Guide for more information. See More
Information.
Features
Setting up Drill-Through to a URL
You set up URL-based drill-through definitions within a model. After you set up at least one drill-through for a model, it is available to users of reports that reference
that model.
You can map the URL parameters to dimensions or user-defined values.
When you map a parameter to a dimension, you also choose a dimension property, such as ID or DESCRIPTION. When the user performs a drill-through in a
report, the parameter value is taken from the property value of the selected data cell. For example, if you select the ID property of a dimension, the member IDs
are mapped. If you select another property of a dimension, that property value is mapped. Therefore, you can send either the dimension member or the value of a
property.
When you map a parameter to a user-defined value, you can hard code a value or use %CurrentUser% or %CurrentDate%. If you specify a user-defined
value in the mapping, when the user performs a drill-through in a report, the parameter value is based on the user-specified value.
Note
The system supports the variables Current Date and Current User in the mapping. The format of Current Date is %CURRENTYYYYMMDD%, where
YYYYMMDD is replaced by the current year, month, and day. You could then use %CURRENTYYYY% for sending out only the current year. The format for
Current User is %CURRENTUSER%.
The system supports using environment parameters and model parameters in a URL. The format is %parameter%. When an environment parameter and
model parameter have the same name, drill-through uses the model parameter prior to the environment parameter.
Executing a Drill-Through
You can use the EvMNU macro MNU_eTOOLS_DRILLTHROUGH_RUN to execute a drill-through using the syntax
MNU_eTOOLS_DRILLTHROUGH_RUN("drillthrough id").
If you have defined a drill-through in the Administration view for a model, a menu item appears under the Drill-Through menu in the menu bar of the report. This
menu item has the same name as the description that was entered in the Administration view when the drill-through was defined. To access the drill-through
information, select a cell in the report and then select the menu item from the Drill-Through menu. A web browser opens. The information that displays depends on
the following items:
The URL specified in the Administration view
The URL parameters specified in the Administration view
The data cell that you selected in the report
Note
The URL and the URL parameters appear in the address bar of the browser. Also, even if the selected cell does not contain data, the drill-through is
performed.
Activities
To define a drill-through for a URL:
1. In the Planning and Consolidation Administration screen, select
Features
Drill-Through .
2. Select New , then enter a drill-through ID and description.
3. Enter the target URL, select the model from which the drill-through can be launched, and enter parameter mapping information to indicate one or more
dimensions and associated properties or user-defined values.
Example
You can specify http://www.google.com/search? as the URL and q, which is a known Google parameter.
4. Save the drill-through.
You can also edit and delete drill-throughs in the Planning and Consolidation Administration screen by selecting
Features
Drill-Through
Example
Example 1
This example describes a scenario of drilling through to a URL.
You want to search the member of Category in a Web site called MySite. You can define a drill-through, setting the URL as www.MySite.com. The parameter for
MySite is q so in the Parameter column, you enter q. In the Dimension or User-defined Value column, select the Category dimension.
In the report, users can execute this drill-through to see the search results.
Example 2
This example describes another scenario of drilling through to a URL.
When SAP BusinessObjects Financial Information Management (FIM) is used to load data into Planning and Consolidation from external data sources (flat files,
tables, 3rd party applications, or other EPM applications), this data is often transformed and aggregated. Planning and Consolidation only stores the final data, and
users may want to drill-through into the details of the data that is stored in a FIM repository (staging area). A URL-based drill-through makes this possible.
When defining the drill-through, the URL is set to the <FIM Application>. URL parameters are dimensions in the Planning and Consolidation model that pass the
context (for example, time, account, etc.), of the data being queried. All data associated with the context is returned and displayed in the FIM drill-through report.
Page 98 of 102
Features
Document subtypes help you to further categorize documents when you post them in the Content Library. Administrators can define a list of subtypes from which
users choose, and users can create their own as needed.
While document types always appear in an alphabetical list, document subtypes appear in the order in which they were created. You can change the order of the
subtypes.
Activities
To add or remove document types and subtypes within a model, choose from the Administration screen
type or subtype, then choose Edit .
Features
Document Types
, select a document
To rearrange the order of subtypes while in Edit mode, select a subtype, then choose Move Up or Move Down .
While in Edit mode, you can rename and remove document types and subtypes.
1.7.6 Auditing
Use
Use this function to configure activity auditing and data auditing.
Features
You can perform activity auditing to track administrative and user tasks at the environment level and data auditing to track changes to transactional data at the
model level.
More Information
Activity Auditing
Data Auditing
Audit Reports
Features
Administrators control whether activity auditing is enabled or not. The system can track changes for the following activities, showing the previous and new values
as well as the IP address and machine name associated to the user making a change:
Administration activities, including:
Security-related changes such as adding, changing, and deleting users, teams, task profiles, and member access profiles
Create, modify, delete, and copy operations for models and dimensions; dimension processing; create and delete operations for dimension members;
changes made to property or hierarchy values for a dimension member; delete and copy operations on environments and on drivers for driver based
calculations
Changes to environment and model setup options, global configuration settings and KPI definitions for automated performance analysis, document
types and subtypes, activity audit settings, and data audit settings
User activities, such as setting data locks
Business Process Flow activities, such as adding, deleting, and modifying business process flows, and saving business process flows to new names
User activities in business rules management
Activities
To enable activity auditing for the current environment, from the Administration screen, choose
auditing to enable.
Features
Audit
Edit
Once the system records an activity, you can run a report that shows activity based on specified criteria (see Reporting on Administration Activity).
You can set up Data Manager packages to archive activity audit information. See the EPM add-in help.
Page 99 of 102
Features
Administrators control whether data auditing is active or not.
For each model within an environment, you select a category and one or more of the following tasks to audit:
EPM Add-in
Data Manager Import
Data Manager Clear
Script Logic Execution
Web Report Input
Journal Input
Business Rules Execution
Ownership
FIM Import
When selecting the tasks to audit for a category within a model, you can indicate whether you want to retain the logs of the data audits indefinitely or for a specific
number of days. Planning and Consolidation does not delete the logs; rather, it archives them after the number of days you indicate.
Activities
To enable data auditing, from the Administration screen, choose
Features
Audit . Select a model, then choose Edit . Select Yes for each task for which
you want to enable data auditing. You can also set the number of days in which to purge data audit history for each category. Save your selections and purge
setting.
Once activity is recorded, you can run a report that shows activity based on specified criteria (see Reporting on Data Changes).
You can also set up Data Manager packages to archive data audit information. See the EPM add-in help.
PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.
Security
A data access profile is always defined with the hierarchy version of the current date. At run-time, data security is always resolved with the hierarchy version of
the crrent date, no matter what key date is selected from the Reporting user interface.
Data Manager Packages
A key date selection is available when executing a Data Manager package if the model has at least one time-dependent hierarchy enabled dimension.
Logic Scripts
There is no keyword with logic script; it is not possible to specify a key date in a script file.
When a script is triggered by a Data Manager package, a key date is derived from the selection screen when the package is executed.
For default logic, a key date is derived from the input form.
For the script logic test transaction UJKT, the key date can be specified in the field PARAM with the format KEYDATE = yyyymmdd.
Consolidation
Consolidation always uses the current date to resolve a hierarchy.
Transport
A time-dependent hierarchy can be transported with dimension master data.
The global setting ENABLE_TIME_DEPENDENT_HIER cannot be transported. You must maintain this manually in all systems.
The Time-dependent Hierarchy setting in a dimension structure can be transported together with dimension transport. Note that the import process might fail
if the global setting ENABLE_TIME_DEPENDENT_HIER is not set to X in the target system.
Backup and Restore
All versions of a time-dependent hierarchy can be backed up and restored together with master data.
Procedure
1. To activate the necessary global setting, perform the following steps:
1. Go to the SAP NetWeaver backend using transaction SPRO.
2. Choose
SAP Reference IMG
Planning and Consolidation
Configuration Parameters
3. Insert a new flag with the field name ENABLE_TIME_DEPENDENT_HIER.
Procedure
1. Go to the SAP NetWeaver backend using transaction SPRO.
2. Set the following parameters:
Parameter Name
Description
ENABLE_PARALLEL_EXECUTION
PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.
3.
PARALLEL_SERVER_GROUP
The name of the server group where the dialog sessions will run.
MAX_SESSION_COUNT
The maximum number of dialog sessions that parallel execution can use. Default: 12
BUFFER_ROW_SIZE
BUFFER_MAX_ROW_SIZE
REFRESH_STATUS_INTERVAL
BUFFER_MAX_PART_COUNT
The amount of partitions at most one input buffer instance can handle. Default: 1000
BUFFER_WAIT_TIME_TO_EXIT
The amount of time in seconds an input buffer should wait if there is no data. Default:
5
MONITOR_WAIT_TIME_TO_EXIT
The amount of time in seconds the main session should wait before exiting if it
cannot start an instance. Default: 10
Note
You have the option of enabling parallel execution for Data Manager to obtain better performance when processing large amounts of data. The
transaction data related process chains benefit from this framework to varying degrees. Among them, the process chain that loads data from the
InfoProvider sees a significant benefit.
Optional - Apply the following line into the Data Manager dynamic script by performing the following steps:
1. Choose
EPM client
Data Manager
Organize
Organize Package List .
2. Select a package.
3. Choose
Modify Package
Modify Script
Advanced .
4. Apply the line PARALLEL_EXECUTION(ON).
PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.