Business Planning And Analytical Services BI Programming Manual
User Manual:
Open the PDF directly: View PDF .
Page Count: 429 [warning: Documents this large are best viewed by clicking the View PDF Link!]
Developer’s Guide
SAP NetWeaver 2004s SPS 7
Business Planning
and Analytical
Services
Document Version 3.00 – März 2006
SAP AG
Dietmar-Hopp-Allee 16
69190 Walldorf
Germany
T +49/18 05/34 34 24
F +49/18 05/34 34 20
www.sap.com
© Copyright 2005 SAP AG. 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 AG. The information contained herein may be changed
without prior notice.
Some software products marketed by SAP AG and its distributors
contain proprietary software components of other software
vendors.
Microsoft, Windows, Outlook, and PowerPoint are registered
trademarks of Microsoft Corporation.
IBM, DB2, DB2 Universal Database, OS/2, Parallel Sysplex,
MVS/ESA, AIX, S/390, AS/400, OS/390, OS/400, iSeries,
pSeries, xSeries, zSeries, z/OS, AFP, Intelligent Miner,
WebSphere, Netfinity, Tivoli, and Informix are trademarks or
registered trademarks of IBM Corporation in the United States
and/or other countries.
Oracle is a registered trademark of Oracle Corporation.
UNIX, X/Open, OSF/1, and Motif are registered trademarks of
the Open Group.
Citrix, ICA, Program Neighborhood, MetaFrame, WinFrame,
VideoFrame, and MultiWin are trademarks or registered
trademarks of Citrix Systems, Inc.
HTML, XML, XHTML and W3C are trademarks or registered
trademarks of W3C®, World Wide Web Consortium,
Massachusetts Institute of Technology.
Java is a registered trademark of Sun Microsystems, Inc.
JavaScript is a registered trademark of Sun Microsystems, Inc.,
used under license for technology invented and implemented by
Netscape.
MaxDB is a trademark of MySQL AB, Sweden.
SAP, R/3, mySAP, mySAP.com, xApps, xApp, SAP NetWeaver,
and other SAP products and services mentioned herein as well as
their respective logos are trademarks or registered trademarks of
SAP AG in Germany and in several other countries all over the
world. All other product and service names mentioned are the
trademarks of their respective companies. Data contained in this
document serves informational purposes only. National product
specifications may vary.
These materials are subject to change without notice. These
materials are provided by SAP AG 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.
Disclaimer
Some components of this product are based on Java™. Any code
change in these components may cause unpredictable and severe
malfunctions and is therefore expressively prohibited, as is any
decompilation of these components.
Any Java™ Source Code delivered with this product is only to be
used by SAP’s Support Services and may not be modified or
altered in any way.
Any software coding and/or code lines / strings ("Code") included
in this documentation are only examples and are not intended to
be used in a productive system environment. The Code is only
intended better explain and visualize the syntax and phrasing
rules of certain coding. SAP does not warrant the correctness and
completeness of the Code given herein, and SAP shall not be
liable for errors or damages caused by the usage of the Code,
except if such damages were caused by SAP intentionally or
grossly negligent.
Typographic Conventions
Type Style Represents
Example Text Words or characters quoted from
the screen. These include field
names, screen titles,
pushbuttons labels, menu
names, menu paths, and menu
options.
Cross-references to other
documentation.
Example text Emphasized words or phrases in
body text, graphic titles, and
table titles.
EXAMPLE TEXT Technical names of system
objects. These include report
names, program names,
transaction codes, table names,
and key concepts of a
programming language when
they are surrounded by body
text, for example, SELECT and
INCLUDE.
Example text Output on the screen. This
includes file and directory names
and their paths, messages,
names of variables and
parameters, source text, and
names of installation, upgrade
and database tools.
Example text Exact user entry. These are
words or characters that you
enter in the system exactly as
they appear in the
documentation.
<Example text> Variable user entry. Angle
brackets indicate that you
replace these words and
characters with appropriate
entries to make entries in the
system.
EXAMPLE TEXT Keys on the keyboard, for
example, F2 or ENTER.
Icons
Icon Meaning
Caution
Example
Note
Recommendation
Syntax
Contents
1 BUSINESS PLANNING AND ANALYTICAL SERVICES................................................. 1
2 GETTING INVOLVED........................................................................................................ 2
2.1 Working with the Development Environment ............................................................ 2
3 GO AND CREATE ............................................................................................................. 3
3.1 Modeling Planning Scenarios.................................................................................... 3
3.2 Overview of Planning with BW-BPS ......................................................................... 7
3.3 Creating and Editing Web Interfaces ........................................................................ 9
3.4 Creating an Analysis Process ................................................................................. 12
3.5 Creating, Changing, and Activating a Model........................................................... 13
4 CORE DEVELOPMENT TASKS ..................................................................................... 16
4.1 Developing User Interfaces..................................................................................... 16
4.2 Developing Business Logic ..................................................................................... 16
4.2.1 Business Planning ........................................................................................ 17
4.2.2 Analysis Process Designer......................................................................... 362
4.2.3 Data Mining ................................................................................................ 393
4.3 Developing Persistency......................................................................................... 420
4.3.1 Real-Time InfoCubes.................................................................................. 420
4.4 Using Connectivity and Interoperability................................................................. 422
4.5 Enabling Globalization .......................................................................................... 422
5 ENSURING QUALITY.................................................................................................... 422
5.1 Testing................................................................................................................... 422
5.2 Logging and Tracing ............................................................................................. 423
6 REFERENCE ................................................................................................................. 423
6.1 API Documentation ............................................................................................... 423
7 COPYRIGHT.................................................................................................................. 424
7.1 SAP Copyrights and Trademarks.......................................................................... 424
Business Planning and Analytical Services March 2006
Working with the Development Environment
Business Planning and Analytical Services 1
1 Business Planning and Analytical Services
Purpose
Various BI interfaces and tools are available if you want to modify the Business Planning and
Analytical Services scenario.
Advantages for Application Development
In this section, we distinguish between the two BI planning solutions, BI integrated planning
and the BW-BPS, and analysis process design (for example, for data mining solutions).
BI Integrated Planning
● You can develop your own data models and planning-specific metadata objects for
your business planning.
● You can use the BEx Query Designer to define input-ready queries for the manual
entry of plan data.
● In the BEx Analyzer and Web Application Designer, you can develop planning
applications that support both manual and automatic data entry and changes.
● With the SAP enhancement concept, you can make enhancements to the standard in
the BI system. Within the BI system, you can use customer exits and BAdIs to make
enhancements in the Query Designer and the Web Application Designer.
Business Planning and Simulation (BW-BPS)
● You can use the BW-BPS Web Interface Builder to create Web-enabled planning
applications in the form of Business Server Page applications (BSP applications).
● Services that are based on the SAP NetWeaver Internet Communication Framework
(ICF) are delivered with BI. The service for the Status and Tracking System (STS) is
implemented as a Web service.
Analysis Process Design
● You use the analysis process designer to define analysis processes that explore and
identify hidden or complex relationships between BI data.
● You use the data mining workbench to create models. This allows you to use the
methods according to your requirements.
Prerequisites
Area Prerequisites
BI integrated planning: modeling the data basis -
BI integrated planning: modeling planning-
specific metadata objects
-
BI integrated planning: definition of an input-
ready query
-
Getting Involved March 2006
Working with the Development Environment
Business Planning and Analytical Services 2
BI integrated planning: creation of Web
templates
Proficiency in standard markup languages
Enhancements using function exits and BAdIs
ABAP proficiency
BW-BPS: Web service for STS -
BW-BPS: Web Interface Builder of BW-BPS ABAP proficiency
Analysis Process Design -
Data mining -
2 Getting Involved
This section provides an overview of the concepts and the development environment.
2.1 Working with the Development Environment
Purpose
The BI system provides heterogeneous development environments for the Business Planning
and Analysis Services scenario.
Area Development Environment
BI integrated planning: modeling the data basis Data Warehousing Workbench
BI integrated planning: modeling planning-
specific metadata objects
Planning Modeler
BI integrated planning: definition of an input-
ready query
BEx Query Designer
BI integrated planning: creation of Web
templates
BEx Web Application Designer and BEx
Analyzer
Enhancements using function exits and BAdIs ABAP Workbench tools
BW-BPS: Web service for STS Internet Communication Framework (ICF)
BW-BPS: Web Interface Builder of BW-BPS Web Application Builder of the Application
Server
Analysis Process Design Analysis Process Designer
Data mining Data Mining Workbench, Analysis Process
Designer
Go and Create March 2006
Modeling Planning Scenarios
Business Planning and Analytical Services 3
3 Go and Create
We provide instructions for first development in the following areas:
BI Integrated Planning: Modeling Planning Scenarios
You use the planning modeler and the planning wizard to model, administer, and test all the
metadata that belongs to a planning scenario.
For information about creating planning models, see Modeling Planning Scenarios [Page 21].
BI Integrated Planning: Implementing Our Own Planning Function Types
Planning function types are parameterizable processes to change transaction data within BI
Integrated Planning.
For information about creating planning function types, see Implementing Planning Function
Types [Page 71].
BW-BPS: Overview of Planning with BW-BPS
For an overview of the required and optional steps in planning with BW-BPS, see Overview of
Planning with BW-BPS [Page 88].
BW-BPS: Web Interface Builder
You use the Web interface Builder to create Web interfaces. You generate BSP applications
on the basis of the Web interface. The BSP application accesses the planning objects using a
Web browser.
For information about creating a simple Web interface, see Creating and Editing Web
Interfaces [Page 288].
Analysis Process Design
Analysis processes allow you to explore and identify complex relations between BI data in a
simple way.
For information on creating a simple analysis process using the Analysis Process Designer,
see Creating Analysis Processes [Page 389].
Data Mining
You create a model for a data mining method so that you can apply the method according to
your business requirements.
For information on creating a model in the Data Mining Workbench, see Creating, Changing
and Activating Models [Page 408].
3.1 Modeling Planning Scenarios
Purpose
To model your planning scenarios, BI Integrated Planning provides you with the Planning
Modeler and the Planning Wizard.
Go and Create March 2006
Modeling Planning Scenarios
Business Planning and Analytical Services 4
Both tools are Web dynpro-based applications that have to be installed on the SAP J2EE
Server. You can allow access to these applications using links or iViews in the portal. It is not
necessary, therefore, to install the SAP front end locally.
Planning Modeler
You use the planning modeler to model, manage, and test all the metadata that belongs to a
planning scenario.
Interface
The tab pages InfoProvider, Aggregation Levels, Filters, Planning Functions and Planning
Sequences are structured in such a way that in the upper part of the screen you have the
option to search using objects that can be selected in the system, and a table which displays
the results of the search. If you select or create an entry, in the lower part of the screen the
system displays the properties of the respective object and provides the user with options to
edit the object.
You can modify the interface as required by hiding or showing the subareas.
To modify the table layout, you can:
● Choose Filter On and enter descriptions in the input-ready rows by which the table
columns are filtered.
● Choose Settings and select table columns and define the sequence and the general
settings for the table layout. When you upgrade, it cannot be guaranteed that the user-
specific settings for the table views in the planning modeler will be retained, or that you
will be able to reuse them if you have saved them locally.
Functions
The planning modeler provides the following functions:
...
● InfoProvider selection, characteristic relationship and data slice assignments,
selection, modification, and creation of InfoProvider of type aggregation level
You define the corresponding settings on the InfoProvider und Aggregation Levels tab
pages in the planning modeler.
Tab Page Related Information
InfoProvider The InfoProvider defines the data basis for planning. This involves
real-time InfoCubes and MultiProviders. See InfoProviders [Page
24].
For real-time InfoCubes you can define permitted combinations of
characteristic values in the form of characteristic relationships and
create data slices for data that you want to protect. For more
information, see Characteristic Relationships [Page 26] and Data
Slices [Page 30].
On the Settings tab page, you can set a Key Date as the default key
date for planning. See Standard Key Date in Planning Functions
[Page 62].
Go and Create March 2006
Modeling Planning Scenarios
Business Planning and Analytical Services 5
Aggregation Levels An aggregation level is a virtual InfoProvider that has been
especially designed to be able to plan data manually or change it
using planning functions. An aggregation level represents a selection
of characteristics and key figures for the underlying InfoProvider and
determines as such the granularity of the planning. You can create
several aggregation levels for an InfoProvider and, therefore, model
various levels of planning and, for example, hierarchical structures.
Note, however, that aggregation levels cannot be nested.
You can change an aggregation level by selecting InfoObjects in the
lower part of the screen that are to be used or not. For more
information, see Aggregation Level [Page 31].
The following InfoProviders are can be used as the basis for an input-ready
query:
● The InfoProvider is an aggregation level that is defined on a real-
time-enabled InfoCube (simple aggregation level).
● The InfoProvider is an aggregation level that is defined on a
MultiProvider (complex aggregation level). The following
prerequisites must be fulfilled: The MultiProvider includes
○ at least one real-time InfoCube, and
○ no simple aggregation level.
● The InfoProvider is a MultiProvider that contains at least one
simple aggregation level.
● Creating and changing filters
With regards to the underlying InfoProvider, filter objects are global objects that restrict
the dataset that is used in queries and planning functions. You require filters if you want
to use a planning function in a planning sequence.
You define the corresponding settings on the Filter tab page.
Tab Page Related Information
Filter You can restrict selected characteristics of the InfoProvider to single
values, value ranges, hierarchy nodes, history, or favorites and
determine whether they can be changed when you execute them.
For more information, see Filter [Page 36].
● Creating and changing planning functions and planning sequences
You define the corresponding settings on the Planning Functions and Planning
Sequences tab pages.
Tab Page Related Information
Go and Create March 2006
Modeling Planning Scenarios
Business Planning and Analytical Services 6
Planning functions The system offers you standard planning functions. You can create
the following types of planning functions:
● Unit conversion
● Generate combinations
● Formula
● Copy
● Delete
● Delete invalid combinations
● Repost
● Repost by characteristic relationships
● Revaluate
● Distribute by reference data
● Distribute by key
● Currency translation
You can use FOX formulas for complex tasks or define
customer-specific planning function types in ABAP
using an exit.
For more information, see Planning Functions [Page 39].
Planning sequences You can determine steps for the input templates or planning
functions by selecting the required aggregation level, filter, and
planning function (if applicable). For more information, see Planning
Sequences [Page 63].
● Creating and changing variables
Variables can be used in queries and different areas of the planning model (see
Variables [Page 64]). The system provides a variable wizard wherever you might want
to use variables:
○ When defining characteristic relationships and data slices (InfoProvider tab
page)
○ When defining filters (Filter tab page)
○ To parameterize planning functions (Planning Functions tab page)
○ To parameterize queries (in the BEx Query Designer)
Planning Wizard
To assist you in modeling planning for the first time, the planning wizard offers support in the
form of an assistant that leads you through a simple scenario, starting with one InfoProvider.
You perform the following steps:
Step Related Information
Go and Create March 2006
Overview of Planning with BW-BPS
Business Planning and Analytical Services 7
InfoProvider You can select an InfoProvider. (You cannot,
however, define characteristic relationships,
data slices, and settings.)
Aggregation level You create one or more aggregation levels.
Filter You create one or more filters.
Planning function You create one or more planning functions.
Test environment The system integrates your planning model into
a planning sequence. You can then execute
this in the test environment.
Prerequisites
You require real-time-enabled InfoCubes as data stores. You have created these InfoCubes
in the Data Warehousing Workbench. For more information, see Real-Time InfoCubes [Page
420].
Process Flow
...
1. You choose the appropriate InfoProvider.
2. You create one or more aggregation levels.
3. You create one or more filters.
4. You create one or more planning functions.
5. You create a planning sequence.
6. You test the planning model.
Result
You have created a planning model on the basis of which you can now run input-ready
queries and automatic planning functions.
For more information, see Input-Ready Query [Page 69].
3.2 Overview of Planning with BW-BPS
Purpose
In this overview you learn how to proceed generally in order to execute planning with BW-
BPS. This offers an initial overview of the required and optional steps and how these are
related to each other. You will find more information on the individual steps in the
corresponding sections of this documentation, which is referred to each time.
Process Flow
...
1. If an InfoCube with the required data is not already available in your BW system, create
an in InfoCube [External] with the required characteristics and key figures. Normally
you supply the InfoCube with data from the operative systems of your company. You
can use this data as actual data as the basis of your planning. With BW-BPS you can
also enter completely new plan data, without having to refer to existing actual data.
Go and Create March 2006
Overview of Planning with BW-BPS
Business Planning and Analytical Services 8
In both cases you need a transactional InfoCube for the plan data.
You can find more information under Create InfoCube [External] and, in
particular, under Transactional InfoCube [Page 420].
2. Create master data, master data texts, and hierarchies for the characteristics of the
InfoCube.
3. Create a planning area [Page 93]. You assign the InfoCube to this planning area.
Note that an InfoCube can be assigned to one planning area at most.
If you specify an RFC destination in a planning area you can also access data from
another BW system.
4. Create characteristic relationships [Page 110] to ensure the consistency of the plan
data. This step is optional.
5. Create planning levels [Page 116] for the planning area. You include a selection of
characteristics and key figures from the InfoCube in these planning levels. In this way
you define on which aggregation level you are performing planning. Characteristics that
you do not include in the planning level are handled by the system in the following way:
When reading the data, the system aggregates using all existing values in the
transaction data records. When the data is saved the values of these characteristics
are replaced with the initial value.
6. Create planning packages [Page 119].
A planning package represents the quantity of transaction data on which the planning
functions and manual planning operate. In this way you distinguish the work lists of the
different planners. When designing a planning application you have to consider how
you want to separate work lists so that planners do not mutually overwrite plan data or
mutually lock data. An alternative to working with planning packages is to use user-
specific variables.
Every planning level automatically contains a planning package; the ad hoc package.
The ad hoc package can be used like a package that you have created. However,
while the settings of packages created by you are saved permanently, the system
resets all package settings for the ad hoc package when you exit the planning session.
7. Restrict the characteristics to your desired value ranges.
For every characteristic, decide whether you want to carry out the restriction in the
planning level or in the planning package. It is mostly advisable to restrict
characteristics of general significance centrally in the planning level (for example fiscal
year), while characteristics whose values describe certain subtasks, should be
restricted in the package (for example planning for article 100 to 200, customer 1000,
company code 2000 and 2100).
Try to restrict the characteristic values in the planning level and package to as small an
area as possible. This way, you reduce the data quantity represented by the planning
package, and increase the execution speed of the planning functions.
8. For every planning level create the planning functions you require.
Planning functions are created in the context of a planning level, and can access the
characteristics and key figures that are contained in the planning level. For all planning
functions, you require a parameter group (or several) in addition, which contains the
concrete processing rules – for example for a function of the type revaluation, the
percentage by which the values should be changed.
You will normally always choose the function type manual planning [Page 127]. With
the planning layouts [Page 128] that belong to it, you cannot only enter data manually,
Go and Create March 2006
Creating and Editing Web Interfaces
Business Planning and Analytical Services 9
you can also look at existing data. Apart from manual planning, you can also create
functions of various types, for example revaluation, copy, repost, and provide them with
parameter groups.
9. If you want to offer employees an individual view of the planning object, then you create
a planning profile [Page 123].
You can assign planning profiles your employees. These ensure that, from the entire
quantity of all planning objects (planning areas, levels, packages, functions), only those
are visible that are relevant to the respective employee. This makes orientation within
the planning environment [Page 90] easier, and makes sure that all employees only
process the objects that are assigned to them.
This step is optional.
10. Define planning folders or Web interfaces for manual planning. This step is optional.
11. Define planning sessions and subplans in the Status and Tracking System so that you
are able to control planning processes. This step is optional.
12. Execute planning.
When executing planning in the planning workbench always select a planning package
first (for example by double-clicking) to determine the dataspace in which the planning
function should operate. Subsequently open a planning layout for data entry (in the
case of manual planning), or execute a planning function by double-clicking on the
desired parameter group. You can also execute the planning functions from an open
planning layout. After executing the planning function, you then see the changed key
figure values directly in the opened layout.
The connection between planning packages, parameter groups, and layouts in the
planning folders or Web interfaces are already fixed. End-users only have to select
layouts or function keys to execute their planning tasks.
13. Save your data.
During a planning session, you can navigate freely within the planning environment.
Changes to data and planning objects are automatically stored temporarily, and must
be explicitly saved when you end the session.
14. You can protect your data from unwanted changes.
When you have finished a planning task, you can create data slices [Page 95] in the
context of the planning area with which you can lock a greater area of complete data
quantity of the planning area against changes.
This step is optional.
Result
You have plan data at your disposal that you can compare with current actual data at any
time, and that you can also use as the basis for decisions.
3.3 Creating and Editing Web Interfaces
Use
You create and edit Web interfaces in order to generate a BSP application that is based on
the Web interface. The BSP application accesses the planning objects using a Web browser.
Go and Create March 2006
Creating and Editing Web Interfaces
Business Planning and Analytical Services 10
Prerequisites
To create a functional BSP application, you must already have created planning objects in the
planning environment.
SAP delivers planning applications based on Web interfaces that have been created with the
Web Interface Builder. To avoid conflicts with the delivered Web interfaces, create your Web
interfaces in the namespace that is reserved for customers. This begins with Y or Z.
Note that the Web interface development objects delivered by SAP are part of the packages
[External] delivered by SAP. We recommend that you do not change these objects as this
represents a modification [External] and has organizational and technical consequences.
However, if you do want to make changes, copy the delivered objects and then change the
copies.
Procedure
Use the Wizard to Create a Web Interface
The Web Interface Builder has a wizard that supports you in creating a new Web interface:
...
1. On the SAP Easy Access Menu screen, choose Business Planning and Simulation →
Web Interface Builder → Customizing. The initial screen of the Web Interface Builder
appears.
2. Choose (Web Interface → Create with Wizard). The start page of the wizard
appears.
3. In the following steps of the wizard, you put together the elements that you require:
a. Start
b. Specify Name for Web Interface
c. Select Planning Areas
d. Select Planning Levels
e. Create Individual BSP Pages
f. Complete
For each step, the wizard offers information about the possible settings. In the first
step, you only have the option of switching to the next step. However, when you have
carried out more than one step you can switch between the steps that you have already
performed in any order. This allows you to change the settings you made for an earlier
step later in the process.
4. When you have made all the settings and have arrived at the last step, choose
Complete. The system creates a new Web interface in accordance with your settings.
5. To save the Web interface, choose (Web Interface → Save).
A Web interface that was created using the wizard is no different to a manually
created Web interface. Therefore, the subsequent processing of a Web interface
created using the wizard is the same as the subsequent processing of a
manually created Web interface.
Go and Create March 2006
Creating and Editing Web Interfaces
Business Planning and Analytical Services 11
Create a Web Interface Manually
...
1. On the SAP Easy Access Menu screen, choose Business Planning and Simulation →
Web Interface Builder → Customizing. The initial screen of the Web Interface Builder
appears.
2. Choose (Web Interface → Create).
The system displays a dialog box in which you can determine basic properties of the
Web interface. Depending on what you enter here, the system automatically creates
certain elements for you for the new Web interface.
3. In the Number of Pages field, enter whether the generated application should consist of
one or more HTML pages.
4. Select which of the available Standard Elements you want the system to create on each
page of the application.
You can manually correct the selection that you make in the two last steps when
you create a Web interface by adding further elements or removing elements
that are not required.
5. Edit the new Web interface as described in the following Edit a Web Interface section.
Edit a Web Interface
...
1. On the SAP Easy Access Menu screen, choose Business Planning and Simulation →
Web Interface Builder → Customizing. The initial screen of the Web Interface Builder
appears.
2. Choose (Web Interface → Open).
3. From the list of available Web interfaces, select the one you require. The system
displays the hierarchical element structure of the Web interface.
4. Edit the components of the Web interface (see Components for Web Interfaces [Page
298]):
• To add a new component to the Web interface, choose:
○ Create Page in the context menu of an element of type “application”. A dialog
box appears where you can enter the name of the page.
○ Create Subcomponents in the context menu of an element of type “page” or
“container”. A dialog box appears with an overview of the subcomponents
available in the system. Select the required element type.
• To edit the attributes of an existing component, double-click on its name in the
element structure or choose Change Attributes in the context menu of the
component.
The system displays the attributes of the component in the attribute editor.
The different attributes of the components are documented in the system. For
more detailed information about a specific attribute, choose the appropriate
attribute in the attribute editor and then use F1.
5. When you have created all required elements and have set their attributes, save the
Web interface.
Go and Create March 2006
Creating an Analysis Process
Business Planning and Analytical Services 12
6. Choose (Edit → Check Consistency). If applicable, the system highlights problems
such as, for example, incorrect references between elements of the Web interface.
7. Choose (Edit → Generate). The system generates the objects specified in the
Result section below.
8. Choose Edit → Display Preview or Display in External Browser to test the application.
If you are in the test phase when you create or change a Web interface and you
want to check your results as quickly as possible, you can use the quick preview
in the Web interface instead of the last steps two that are mentioned. To do this,
choose Goto → Settings. Under Preview in the Settings dialog box, choose the
Quick Preview w/o Generating option. This means that you can display the Web
interface in the preview window without having to generate the BSP application
first (which can be time-consuming).
Result
As a result of the subsequent generation in the Web Interface Builder, the system has
generated the following objects:
● For each element of type “page” that you have created in the Web interface, the system
generates a BSP page which contains the elements required for the Web interface.
This page is stored in the system. At the runtime of the application, the SAP Web
Application Server generates a HTML-format page from every requested BSP page.
This is displayed in the browser.
● In addition to that, additional pages are generated for special purposes (for example, a
page which is displayed when exiting the Web application).
When using the SEM-BPS design (see Design Templates for Web Interfaces [Page 299]): If
you have specified in the properties of the Web interface that you want to use a customer-
designed class, the system generates this class. The generated BSP pages then use the
processing logic implemented in this class (and not the standard class of the Web Interface
Builder).
See also:
SAP Web AS Architecture [External]
Creation of Web Applications with Business Server Pages [External]
3.4 Creating an Analysis Process
Procedure
You are in the SAP Easy Access SAP Business Information Warehouse. In the SAP menu,
choose Special Analysis Processes → Analysis Process Designer. In order to create and
execute a simple analysis process with transformation, proceed as follows:
...
1. Choose Create.
Go and Create March 2006
Creating, Changing, and Activating a Model
Business Planning and Analytical Services 13
2. Select an application from the dropdown menu and select Okay. Your analysis
process will be assigned to the appropriate folder on the left side of the screen.
3. Specify a description.
4. Drag a data source into the work area and make the following detailed settings in the
dialog box that appears.
5. Drag a transformation into the work area. By double clicking on the transformation
node, you can make the settings.
6. Drag a data target into the work area and make the following settings in the dialog box
that appears.
7. Connect the nodes with the mouse.
8. To make an explicit field assignment, double click on the data flow arrow that connects
the nodes.
9. Save your analysis process. Specify a technical name.
10. Before you execute your analysis process, you have the option of checking the data
and of calculating intermediate results for performance optimization. See also Checking
Data [Page 389].
11. Choose Check.
12. Choose Activate.
13. Execute the analysis process. The data is written to the data target and the log is
displayed.
3.5 Creating, Changing, and Activating a Model
Use
You create a model for a data mining method so that you can apply the method according to
your business requirements. You use model fields in a model to specify what is to be
predicted and which data should form the basis of the prediction.
You can create a data mining model using the Data Mining Workbench or the Analysis
Process Designer (APD). Once you have created and saved the model to meet your
requirements, you can activate it.
Prerequisites
You must have been assigned to the role Customer Behavior Analysis
(SAP_BW_CUSTOMER_BEHAVIOR) and you must have chosen Customer Behavior
Analysis → Customer Behavior Modeling in the user menu.
Creating a Model in the Data Mining Workbench
...
1. Position the cursor on a data mining method and use the right-hand mouse to choose
Create in the context menu.
2. In the step Create Model, enter a name and a description for the model. The method
name for which you are creating a model is displayed. You have three options for
model field selection:
Go and Create March 2006
Creating, Changing, and Activating a Model
Business Planning and Analytical Services 14
● To create the model fields manually, select the Manual option.
● If you want to create a model that is similar to an existing model created previously, you
can copy it choosing the Use Model as Template option. You can make minor changes
to the copied version manually to suit your requirements.
● To create a model from a query, choose Model Field Selection and select the query
which you want use as a source for model fields.
Selecting a query at this point will assist you in creating the model. It is therefore
recommended to enter the same query that you would like to use
subsequently, while training the model. However, this is not essential. You can
also use any other query as a template for your model.
The InfoObjects contained in the selected query are available in the next step as model
fields.
3. In the step Select InfoObjects, select from the query those InfoObjects that you would
like to use as model fields.
If you would like to use other fields from the query as calculated or restricted key
figures in your model, you need to include an SAP BW dummy InfoObject as a
model field for each one. You can then assign the corresponding field to this
model field in the Change mode.
4. In the step Edit Model Fields, specify the attributes for each field.
○ The description you give the model field does not necessarily have to be
identical with that of the InfoObject.
○ The system automatically copies the attributes Data Type and Length from
InfoObject (these cannot be modified).
○ The value types valid for a model field are dependent on the method that you
are creating the model for and on the data type of the model field.
The value type specified for a model field determines which entries can be made
as Field Parameters and Field Values.
The attributes for a model field that are listed below do not apply in the data
mining method Association Analysis. No prediction is involved with this
method. Instead, the association rules are determined by training and form
the result. Consequently, the settings for the field parameters and field values
do not apply.
○ Set the Prediction Variable indicator for the model field for which the subsequent
prediction is to be made. Select as a prediction variable that model field for
which you wish to gain more information (via the model).
With the data mining method Clustering, the cluster is always the prediction
variable. Consequently, you cannot specify a prediction variable for this method.
○ The field parameters are dependent on the value type of the model field and on
the data mining method.
Go and Create March 2006
Creating, Changing, and Activating a Model
Business Planning and Analytical Services 15
You cannot select any parameters for model fields where the value type KEY
has been set.
○ Under Field Values, you can specify how the system should interpret specific
values that can be taken by a model field but have no bearing on the result.
5. In the Model Parameters step, enter the parameters that are valid for the entire model.
The model parameters are dependent on the data mining method.
6. Save the model.
Result
You have performed all necessary steps for the creation of a model. The created model
appears in the tree beneath the relevant method.
Changing the Model
You can make changes to the model that you have created.
...
1. Position the cursor on a model that you wish to change and use the right-hand mouse
to choose Change in the context menu.
2. In the Model Fields tab page, make your changes to the model fields. You can change
the attributes for the model fields or add more model fields.
3. In the Model Parameters tab page, make your changes to the model parameters.
4. Save your changes.
Activating the Model
Once a model meets your requirements, you can activate it. The active model is then used for
creating other versions. This means that, when you change a model that has been activated,
the active version remains unchanged and the changes are saved in a Revised version. The
active version is only overwritten when you activate the modified version.
You can only train or valuate a model or use it for the prediction if the model has been
activated.
If a model has a modified version, the model name in the tree is marked in blue.
To activate a model, proceed as follows:
...
1. Position the cursor on a model that you wish to activate and use the right-hand mouse
to choose Activate in the context menu.
The version displayed under Model Information is changed to Active.
2. Make any necessary changes to the model and save your changes.
The version displayed under Model Information is changed to Revised.
3. To navigate between the active and modified versions, place the cursor in the model
and choose .
Core Development Tasks March 2006
Developing User Interfaces
Business Planning and Analytical Services 16
4 Core Development Tasks
This section forms the core of the Developer's Guides and describes the central areas of the
development phase.
4.1 Developing User Interfaces
Purpose
BW-BPS: Web Interface Builder of BW-BPS
You use the Web interface builder to create Web-enabled planning applications in the form of
business server page applications (BSP applications).
For more information, see Web Interface Builder [Page 285].
4.2 Developing Business Logic
Purpose
BI Integrated Planning: Modeling Planning Scenarios
You can define your own planning-specific metadata objects with the planning modeler and
the planning wizard. Both tools are Web dynpro-based applications that have to be installed
on the SAP J2EE Server.
For more information, see Modeling Planning Scenarios [Page 21].
BI Integrated Planning: Planning Functions
Planning functions allow system-based processing or generation of data. A planning function
describes the ways in which the transaction data for an aggregation level can be changed.
For more information see Planning Functions [Page 39].
You can implement your own planning function types in order to implement specific processes
and then to apply them to transaction data.
For more information, see Implementing Planning Function Types [Page 71].
BI Integrated Planning: Input-Ready Query
You can use input-ready queries to create applications for manual planning, that extend from
simple data recording to complex planning applications.
For more information, see Input-Ready Queries [Page 69]
Planning with BW-BPS
You can develop your own planning application with BW-BPS. The areas of application range
from simple data entry to more complex planning scenarios with data extraction, automatic
planning preparation, manual data entry, controlling planning process, and retracting plan
data.
Core Development Tasks March 2006
Developing Business Logic
Business Planning and Analytical Services 17
For more information on the individual steps, see Overview of Planning with BW-BPS [Page
88].
Analysis Process Design
You can define analysis processes that explore and identify hidden or complex relationships
between BI data. You can create data mining models, use existing data mining methods, or
perform various other transformations of data for this purpose.
For more information, see Analysis Process Designer [Page 362].
4.2.1 Business Planning
Purpose
Business planning with SAP NetWeaver Business Intelligence allows business experts to
accelerate the decision-making process, predict future trends on the basis of historic
analyses, and provide all decision makers with a central point of access to data and
information.
To create and use planning scenarios or other applications, business planning with SAP
NetWeaver Business Intelligence offers the following planning tools:
● BI Integrated Planning, a solution that is completely integrated into the BI system
● BW-BPS (Business Planning and Simulation)
We recommend that you use the new BI Integrated Planning functionality when
you implement new scenarios.
Business planning is part of the IT scenario Business Planning and Analytical Services. For
more information, see Business Planning and Analytical Services [External].
Integration
Note the following points regarding the two planning tools, BI Integrated Planning and BW-
BPS:
● Both planning tools use the same data basis and can be operated in parallel in one
system. It is not necessary to migrate existing planning applications.
● Some functions (such as, lock procedure and formulas) are used by both BW-BPS and
BI Integrated Planning.
● In BI Integrated Planning, most of the BEx and OLAP analysis functions are available
for planning applications. In comparison to BW-BPS, you require fewer objects (for
example, you use the same variables in analysis and planning) and tools (Query
Designer and Web Application Designer).
● Since a large number of BW-BPS concepts are also used in BI Integrated Planning (for
example, planning levels, planning functions, planning sequences, characteristic
relationships, data slices), switching to BI Integrated Planning from BW-BPS requires a
minimal effort.
Core Development Tasks March 2006
Developing Business Logic
Business Planning and Analytical Services 18
Features
Business planning with SAP NetWeaver Business Intelligence covers processes that collect
data from InfoProviders, queries or other BI objects, convert them using various methods, and
write back new information to BI objects (such as InfoObjects or DataStore objects).
Using the Business Explorer for BI Integrated Planning allows you to build integrated
analytical applications that encompass planning and analysis functionality.
For more information about planning tools, see:
Business Planning and Simulation (BW-BPS) [Page 87]
BI Integrated Planning [Page 18]
4.2.1.1 BI Integrated Planning
Purpose
BI Integrated Planning provides business experts with an infrastructure for realizing and
operating planning scenarios or other applications. Planning covers a wide range of topics,
ranging from the simple input of data to complex planning scenarios. In contrast to BW-BPS
(Business Planning and Simulation), this solution is fully integrated into the BI system.
Integration
The following tools are available for modeling planning scenarios:
● To create the data basis, use the Data Warehousing Workbench.
● To model all planning-specific metadata objects, use the Planning Modeler. The
planning modeler is a Web-based application that is installed on the J2EE Engine.
● To define an input-ready query for manually entering plan data, use the BEx Query
Designer.
● To configure Web templates, use the BEx Web Application Designer; to configure
Excel applications, use the BEx Analyzer.
You can use the Data Warehousing Workbench and the various Business Explorer tools to
analyze, plan and enter data.
The following graphic provides an overview of the architecture:
Core Development Tasks March 2006
Developing Business Logic
Business Planning and Analytical Services 19
Enterprise Reporting, Query and Analysis
Business Planning
Enterprise Data Warehousing
Planning functions,
Planning sequences
•Formula/distribution
•Copy/delete
•Repost/revaluate
•Currency/unit conversion
•Forecast
•Customer-defined
Planning Modeler
Architected Data Marts
Operational Data Store Data Warehouse Layer Master Data
BEx Query Designer
BEx Web
Web Analyzer Web Application Designer
BEx Analyzer
Analytical Engine
Cache Services Planning Data Cache
OLAP services
•Drilldown
•Currencies/units
•Calculations/formulas
•Exceptions/conditions
•Variables
•Hierarchies
•Aggregation
•Sorting
Planning-specific
services
•Locking
•Validations
•Data slices
•Characteristic relationships
Pattern
BEx Broadcaster
SAP NetWeaver
Portal
Report Designer MS Excel
Add-In
Features
The planning model incorporates:
● Data (stored in InfoCubes)
● (Structuring) views of data (aggregation levels, MultiProvider, characteristic
relationships, if required)
● Methods to change data (planning functions, planning sequences, manual planning in
the form of input-ready queries, in addition to process chains)
● Utilities (filters that can be used in queries and planning functions; variables used to
parameterize objects that can usually be used where selections are used, for example,
in data slices)
● Concepts for (where applicable, time-restricted) central protection of data (data slices)
For more information about transporting planning model objects, see Transport
of Planning Objects [Page 86].
The most important concepts and terminology for the BI Integrated Planning planning model
are discussed in the next section.
Data Basis and Lock Concept
Real-time InfoCubes are used to store data.
To ensure that one user only is able to change data, “their” data is locked and cannot be
changed by other users. Depending on the expected load (determined by the number of users
working in parallel and the complexity of the selection), you can specify one of several lock
processes as the default. The lock algorithm is used by BW-BPS and BI Integrated Planning.
Core Development Tasks March 2006
Developing Business Logic
Business Planning and Analytical Services 20
Modeling in the Planning Modeler
In the planning modeler, you edit the following objects of the planning model:
● Aggregation levels
To determine the level on which data can be entered or changed (manually through
user input or automatically by a planning function), an InfoProvider of type aggregation
level has to be defined. An aggregation level consists of a subset of the characteristics
and key figures of a MultiProvider or real-time InfoCube. Real-time InfoCubes are used
to store data.
● Characteristic relationships
You can use characteristic relationships to model semantic relationships between
characteristics (such as product group and product). In this way you check, for
example, whether a particular combination of characteristics can be generated (if this
combination is permitted) or whether a cell is input ready. Characteristic relationships
are created for an InfoCube.
● Data slices
You use data slices to protect whole areas of data globally against changes (for
example, current values or historic values).
● Planning functions
Planning functions allow system-based processing or generation of data. The BW-BPS
function types are provided as standard. Functions can be executed immediately (using
the pushbutton) or in the background as a planning sequence. You can also define
your own function types.
● Planning sequences
A planning sequence is a sequence of planning functions and manual input templates
that are executed sequentially. You can also schedule planning sequences to be
processed in the background as a step in a process chain.
● Filter
A filter describes a section of a dataset which is processed, for example, in a query or a
planning function. (For example, calendar year 2004 – 2005, customer group XY).
● Variables
Variables can be used in various places; in the filter for selections of characteristic
values that can be parameterized, to parameterize planning functions or planning
sequences.
Input-Ready Query
A query that is defined for an InfoProvider of type aggregation level. It is input ready and can
be used for manual planning. Whether a particular cell is input ready depends on the
drilldown, specifically whether characteristic relationships and data slices are permitted for the
cell.
Complex Planning Applications
In the BEx Analyzer and Web Application Designer you can build planning applications that
support both manual and automatic data entry and changes.
See also:
Core Development Tasks March 2006
Developing Business Logic
Business Planning and Analytical Services 21
Authorizations for BI Integrated Planning [External]
4.2.1.1.1 Modeling Planning Scenarios
Purpose
To model your planning scenarios, BI Integrated Planning provides you with the Planning
Modeler and the Planning Wizard.
Both tools are Web dynpro-based applications that have to be installed on the SAP J2EE
Server. You can allow access to these applications using links or iViews in the portal. It is not
necessary, therefore, to install the SAP front end locally.
Planning Modeler
You use the planning modeler to model, manage, and test all the metadata that belongs to a
planning scenario.
Interface
The tab pages InfoProvider, Aggregation Levels, Filters, Planning Functions and Planning
Sequences are structured in such a way that in the upper part of the screen you have the
option to search using objects that can be selected in the system, and a table which displays
the results of the search. If you select or create an entry, in the lower part of the screen the
system displays the properties of the respective object and provides the user with options to
edit the object.
You can modify the interface as required by hiding or showing the subareas.
To modify the table layout, you can:
● Choose Filter On and enter descriptions in the input-ready rows by which the table
columns are filtered.
● Choose Settings and select table columns and define the sequence and the general
settings for the table layout. When you upgrade, it cannot be guaranteed that the user-
specific settings for the table views in the planning modeler will be retained, or that you
will be able to reuse them if you have saved them locally.
Functions
The planning modeler provides the following functions:
...
● InfoProvider selection, characteristic relationship and data slice assignments,
selection, modification, and creation of InfoProvider of type aggregation level
You define the corresponding settings on the InfoProvider und Aggregation Levels tab
pages in the planning modeler.
Tab Page Related Information
Core Development Tasks March 2006
Developing Business Logic
Business Planning and Analytical Services 22
InfoProvider The InfoProvider defines the data basis for planning. This involves
real-time InfoCubes and MultiProviders. See InfoProviders [Page
24].
For real-time InfoCubes you can define permitted combinations of
characteristic values in the form of characteristic relationships and
create data slices for data that you want to protect. For more
information, see Characteristic Relationships [Page 26] and Data
Slices [Page 30].
On the Settings tab page, you can set a Key Date as the default key
date for planning. See Standard Key Date in Planning Functions
[Page 62].
Aggregation Levels An aggregation level is a virtual InfoProvider that has been
especially designed to be able to plan data manually or change it
using planning functions. An aggregation level represents a selection
of characteristics and key figures for the underlying InfoProvider and
determines as such the granularity of the planning. You can create
several aggregation levels for an InfoProvider and, therefore, model
various levels of planning and, for example, hierarchical structures.
Note, however, that aggregation levels cannot be nested.
You can change an aggregation level by selecting InfoObjects in the
lower part of the screen that are to be used or not. For more
information, see Aggregation Level [Page 31].
The following InfoProviders are can be used as the basis for an input-ready
query:
● The InfoProvider is an aggregation level that is defined on a real-
time-enabled InfoCube (simple aggregation level).
● The InfoProvider is an aggregation level that is defined on a
MultiProvider (complex aggregation level). The following
prerequisites must be fulfilled: The MultiProvider includes
○ at least one real-time InfoCube, and
○ no simple aggregation level.
● The InfoProvider is a MultiProvider that contains at least one
simple aggregation level.
● Creating and changing filters
With regards to the underlying InfoProvider, filter objects are global objects that restrict
the dataset that is used in queries and planning functions. You require filters if you want
to use a planning function in a planning sequence.
You define the corresponding settings on the Filter tab page.
Tab Page Related Information
Filter You can restrict selected characteristics of the InfoProvider to single
values, value ranges, hierarchy nodes, history, or favorites and
determine whether they can be changed when you execute them.
For more information, see Filter [Page 36].
● Creating and changing planning functions and planning sequences
Core Development Tasks March 2006
Developing Business Logic
Business Planning and Analytical Services 23
You define the corresponding settings on the Planning Functions and Planning
Sequences tab pages.
Tab Page Related Information
Planning functions The system offers you standard planning functions. You can create
the following types of planning functions:
● Unit conversion
● Generate combinations
● Formula
● Copy
● Delete
● Delete invalid combinations
● Repost
● Repost by characteristic relationships
● Revaluate
● Distribute by reference data
● Distribute by key
● Currency translation
You can use FOX formulas for complex tasks or define
customer-specific planning function types in ABAP
using an exit.
For more information, see Planning Functions [Page 39].
Planning sequences You can determine steps for the input templates or planning
functions by selecting the required aggregation level, filter, and
planning function (if applicable). For more information, see Planning
Sequences [Page 63].
● Creating and changing variables
Variables can be used in queries and different areas of the planning model (see
Variables [Page 64]). The system provides a variable wizard wherever you might want
to use variables:
○ When defining characteristic relationships and data slices (InfoProvider tab
page)
○ When defining filters (Filter tab page)
○ To parameterize planning functions (Planning Functions tab page)
○ To parameterize queries (in the BEx Query Designer)
Planning Wizard
To assist you in modeling planning for the first time, the planning wizard offers support in the
form of an assistant that leads you through a simple scenario, starting with one InfoProvider.
Core Development Tasks March 2006
Developing Business Logic
Business Planning and Analytical Services 24
You perform the following steps:
Step Related Information
InfoProvider You can select an InfoProvider. (You cannot,
however, define characteristic relationships,
data slices, and settings.)
Aggregation level You create one or more aggregation levels.
Filter You create one or more filters.
Planning function You create one or more planning functions.
Test environment The system integrates your planning model into
a planning sequence. You can then execute
this in the test environment.
Prerequisites
You require real-time-enabled InfoCubes as data stores. You have created these InfoCubes
in the Data Warehousing Workbench. For more information, see Real-Time InfoCubes [Page
420].
Process Flow
...
1. You choose the appropriate InfoProvider.
2. You create one or more aggregation levels.
3. You create one or more filters.
4. You create one or more planning functions.
5. You create a planning sequence.
6. You test the planning model.
Result
You have created a planning model on the basis of which you can now run input-ready
queries and automatic planning functions.
For more information, see Input-Ready Query [Page 69].
4.2.1.1.1.1 InfoProvider
Use
InfoProviders that contain real-time InfoCubes provide the data basis for BI Integrated
Planning. Aggregation levels are a type of virtual InfoProvider and are created on the basis of
a real-time InfoCube, or a MultiProvider that contains InfoCubes of this type. Aggregation
levels are specifically designed so that you can plan data manually or change it using
planning functions.
For more information about the types of InfoProvider, see:
● Real-Time InfoCube [Page 420]
● MultiProvider [External]
Core Development Tasks March 2006
Developing Business Logic
Business Planning and Analytical Services 25
Integration
In the Modeling functional area of the Data Warehousing Workbench, you create
InfoProviders as the data basis for BI Integrated Planning.
For more information, see InfoProviders [External], Creating InfoCubes [External], and
Creating MultiProviders [External].
In the Planning Modeler, you select the InfoProvider that you want to use as the data basis for
BI Integrated Planning. On the Aggregation Levels tab page, you create one or more
aggregation levels for this InfoProvider.
For more information, see Aggregation Levels [Page 31].
Prerequisites
You have created a suitable InfoProvider as the data basis for BI Integrated Planning and
filled it with data.
Features
InfoProvider Selection
You can restrict the number of InfoProviders displayed by specifying the technical name or
description or by making an entry for last changed by.
You can change, check and save the selected InfoProviders.
InfoObjects
On the InfoObjects tab page, the system displays the InfoObjects that belong to the
InfoProvider (see InfoObject [External]). They are listed in the following tables:
● Dimensions, with the characteristics assigned to them
● Navigation Attributes for the characteristics contained in the InfoProvider
● Key figures
Under Settings, you can choose to display additional columns.
Characteristic Relationships and Data Slices
In change mode you can define the permitted combinations of characteristic values in the
form of characteristic relationships and create data slices for the data that you want to protect
for real-time-enabled InfoCubes.
For more information, see Characteristic Relationships [Page 26] and Data Slices [Page 30].
Default Key Date for Planning
On the Settings tab page in change mode, you can set a Key Date as the default key date for
planning. If time-dependent objects, such as attributes or hierarchies, are used in objects of
the planning model, you can always refer to the default key date for planning. In this way, you
can ensure that a uniform key date is used in the planning model. The objects in the planning
model that are relevant for this are characteristic relationships, data slices and parameters of
planning functions.
For more information see Standard Key Date in Planning Functions [Page 62].
Core Development Tasks March 2006
Developing Business Logic
Business Planning and Analytical Services 26
4.2.1.1.1.1.1 Characteristic Relationships
Use
Characteristic relationships are used to relate characteristics that correspond to each other
with regard to content. You can use characteristic relationships to define rules in order to
check permitted combinations of characteristic values for each real-time enabled InfoCube.
You can also define rules that the system uses to derive values from characteristics for other
characteristics. This is useful, for example, when the derivable characteristics are to be
available for further analysis.
You can define characteristic relationships for the master data of a characteristic (type
attribute), a hierarchy (type hierarchy), a DataStore object (type DataStore) or an exit class
(type Exit).
Integration
If characteristic relationships are defined in relation to attributes and hierarchies, the system
offers those attributes and hierarchies that were created in the BI system for a characteristic
(see Tab Page: Attributes [External] and Tab Page: Hierarchy [External] and Hierarchy
[External]).
Characteristic relationships are created on a real-time enabled InfoCube. They then affect all
InfoProvider relevant for planning that reference this InfoCube.
Each input-ready query and each planning function then automatically takes the characteristic
relationships into account:
● This means that cells for invalid characteristic combinations are not input ready in an
input-ready query and new data records with invalid characteristic combinations cannot
be created.
● Planning functions constantly check whether new characteristic combinations are valid
according to the characteristic relationships. In case of invalid combinations, the
system informs you with an error message.
The possible characteristic derivations take place when the delta records are determined in
the delta buffer. The possible source characteristics are the characteristics of the real-time
enabled InfoCube that are filled by characteristics from the participating aggregation levels. If
characteristic relationships are changed, the data records in the InfoCube have to adapted to
the new structure. The planning function Reposting Characteristic Relationships is used for
this purpose.
Prerequisites
The following prerequisites must be fulfilled in order to define characteristic relationships:
● The InfoProvider must be a real-time enabled InfoCube. The characteristic
relationships defined for a real-time enabled InfoCube are also effective in the
MultiProviders that contain a real-time enabled InfoCube. See InfoProviders [Page 24].
● In characteristic relationships of the type attribute, the target characteristic must be
defined as an attribute of the basic characteristic and must itself be contained in the
InfoCube.
Core Development Tasks March 2006
Developing Business Logic
Business Planning and Analytical Services 27
● In characteristic relationships of the type hierarchy, the target characteristic must be
contained in a hierarchy and in the InfoCube. The hierarchy is mainly intended for
modeling a derivation relationship; thus the hierarchy cannot contain a leaf or an inner
node more than once. Link nodes are also not permitted.
● With characteristic relationships of type DataStore, only standard DataStore objects
are permitted. Thus you can use all methods for managing and monitoring available in
the Data Warehousing Workbench.
Features
Definition of a Characteristic Relationship
Characteristic relationships are created on a real-time enabled InfoCube. A characteristic
relationship comprises a set of steps that link characteristics and are numbered sequentially.
Each of these relations links a set of characteristics. These relations represent the smallest
units of a characteristic relationship.
Behavior of Combination Checks with and Without Derivation
Relations can only be used to check characteristic combinations or can be used for a
characteristic derivation. You set this behavior in the definition of a relation. You can link
several relations of type Derivation if the targets of one relation are the sources of another
relation. Redundancy should be avoided here so that the relations actually represent the
smallest unit of the characteristic relationships.
At runtime, the system determines which relationships in the InfoProviders that are relevant
for planning are used.
● Combination check: A relation is only used in an aggregation level when every
characteristic of the relation occurs in the aggregation level. With derivations, these are
the source and target characteristics. In this case, nothing is derived and only a
combination check is executed.
● Characteristic derivation: Derivation does not take place within one aggregation level.
Derivations are only performed for records of the real-time enabled InfoCubes. First the
system determines the set S of characteristics that are filled by the aggregation level
involved. If all the source characteristics are included in the set S, the system applies
the derivation relations in the next step. The target characteristics of these derivations
can then serve as sources in the steps that follow. Thus the system performs the
maximum possible derivation in the InfoCube. If characteristic values that were already
derived are changed again in subsequent steps, the derivation is incorrect. The system
produces an error message.
Types of Characteristic Relationships
The following types of characteristic relationships exist:
Type More Information
Attribute You can select an attribute of the basic characteristic as the target
characteristic (for example, the characteristic currency is an attribute of the
characteristic controlling area).
The existing combinations of characteristics and attribute values are
always permitted combinations.
Core Development Tasks March 2006
Developing Business Logic
Business Planning and Analytical Services 28
Hierarchy All characteristics are available as source or target characteristics if they
have been set as External Characteristics in Hierarchy in InfoObject
maintenance. In addition to the hierarchy basic characteristic, the hierarchy
must include at least one other characteristic.
Only one characteristic is permitted as a source and/or target characteristic
(here the superordinate characteristics are not counted in compounded
characteristics).
The permitted combinations are taken from the hierarchy structure. A
hierarchy can be used in multiple relations: in one step, you derive a
characteristic that is on the next higher level from the hierarchy basic
characteristic; in the second step you take the derived characteristic and
derive the characteristic on the next level.
Depending on the property of the hierarchy, the hierarchies used can be
parameterized with the appropriate variables.
DataStore The data records located in the DataStore define the valid characteristic
combinations and are used for characteristic derivation.
Only Combination Check: All InfoObjects from the DataStore object
(except for key figures) can be selected.
With Derivation: The keys of the DataStore object have to be selected as
source characteristics.
Target characteristics can be InfoObjects from the data part of the
DataStore object (except for key figures).
The keys for the DataStore objects can be restricted in any case; the
restricted part is then used for the combination check or derivation. The
restrictions can be parameterized with variables that must be replaceable
without the dialog.
We recommend that you use only small DataStore objects (with few
characteristics, few records).
Exit The valid characteristic combinations and derivable characteristic values
result from the customer-specific implementation of the specified exit class.
The exit class must implement the interface 'IF_RSPLS_CR_EXIT'. Only
these types of classes are offered for editing in maintenance. We
recommend that you derive your own class from the example class
'CL_RSPLS_CR_EXIT_BASE'. You then only have to implement the
methods ‘CHECK’, ‘DERIVE’ and ‘CREATE’. The class
'CL_RSPLS_CR_EXIT_BASE' itself can be used directly, but it does not
execute an action.
Also note the commented example source text in the template class; an
infrastructure for buffering is provided there, for example.
In addition to the characteristic relationships above, which you can edit, there are other
predefined characteristic relationships for the BI time characteristics in the system that are
always active: when there are redundant time characteristics in the real-time enabled
InfoCube, for example (such as 0FISCPER and the pair 0FISCPER3 and 0FISCYEAR), the
system also applies these relations between time characteristics to the combination check or
derivation as well, as it does other relations.
Note that the initial characteristic value (# not assigned) plays a special role
within a relation. This has to do with the fact that characteristics that do not
Core Development Tasks March 2006
Developing Business Logic
Business Planning and Analytical Services 29
occur in an aggregation level (and are not derivable) are updated with the initial
value.
● Combination check without derivation:
Let us assume that there is a relation between the characteristics Product
and Assortment; usually there is no derivation relationship between the
two. In aggregation levels with Product and without Assortment,
Assortment is updated with the initial value. Thus these types of
combinations are always valid; they cannot be forbidden. The same
applies to combinations with the initial value for Product.
● Combination check with derivation
Let us assume there is a relation between the characteristics Cost Center
and Profit Center; here Profit Center can be derived from Cost Center. In
an aggregation level with Profit Center and without Cost Center,
however, Cost Center is also updated with the initial value. These
combinations cannot be forbidden. The reverse is not valid due to the
possible derivation of Profit Center from Cost Center.
Activities
...
1. You are in the InfoProvider tab page of the Planning Modeler. Choose the required
InfoProvider of type real-time enabled InfoCube. In the lower screen area, the system
displays the tab pages Characteristic Relationships, Data Slices and Settings.
2. To create or change characteristic relationships for the selected InfoProvider, choose
Change.
3. You set whether the system is to perform only combination checks and proposals, or
whether a derivation of the target characteristic from the basic characteristic is also to
be performed. For each step, choose with or without derivation.
4. Select the type of characteristic relationship.
5. Specify the basis of the relationship. This is different for each type of relationship:
○ Attribute: a master-data bearing characteristic
○ Hierarchy: the hierarchy basic characteristic
○ DataStore: a DataStore object
○ Exit: an exit class.
6. The system shows further settings options depending on the relationship type selected.
Depending on the type of step, you select the check characteristics or source and
target characteristics.
○ In the case of attribute and hierarchy relationships such as DataStore objects,
you can select check characteristics.
○ In the case of an exit class, you can select source and target characteristics.
7. The system completes your information automatically on the Characteristic
Relationships tab page. Before you select another InfoProvider or leave the tab page,
save the defined characteristic relationship.
Core Development Tasks March 2006
Developing Business Logic
Business Planning and Analytical Services 30
4.2.1.1.1.1.2 Data Slices
Use
Data slices are a concept for protecting the main data of a real-time enabled InfoCube against
changes. This protection affects input-ready queries and all planning functions that use this
InfoCube.
If you want to ensure that certain plan versions can no longer be changed after a certain point
in time, for example, and current data is not overwritten, you can use a data slice that
contains these plan versions.
Prerequisites
Data slices are created on a real-time enabled InfoCube. They then affect all InfoProviders
from planning that include this InfoCube. See InfoProviders [Page 24].
Features
There are two types of data slice:
● The data slice is based on a selection. Here you determine the restrictions for the
characteristics that you wish to protect against changes.
● The data slice is based on an exit class. In the exit class, you can implement a
customer-specific logic to protect data records.
In general, the following rules apply to data slices:
● If no data slice is defined for a real-time enabled data slice, any valid characteristic
combination can be posted in this InfoCube (also see Characteristic Relationships
[Page 26].
● Every data record that is part of the selection of a data slice is protected against
changes. The associated cells in input-ready queries are not changeable. This type of
record cannot be changed and saved using planning functions. The data slices
cumulate in effect.
● If a real-time enabled InfoProvider contains a data slice that includes no characteristic
value restrictions at all, the data slice acts as a lock for postings of all types in the entire
real-time enabled InfoProvider.
● After you have created a data slice it is activated automatically. The settings made in
the definition of the data slice have an immediate effect on the ability to update data.
You can deactivate an existing data slice at any time (status inactive). Then this data
slice is no longer taken into account.
Activities
...
1. You are on the InfoProvider tab page of the Planning Modeler. Choose the required
InfoProvider of type real-time enabled InfoCube. In the lower screen area, the system
displays the tab pages Characteristic Relationships, Data Slices and Settings.
2. To change data slices, choose Change.
3. Change to the Data Slices tab page as needed.
4. To create a data slice, choose Create. The system marks the rows for the data slice
that is to be created.
5. In the Data Slice Description enter a text for the data slice to be created.
Core Development Tasks March 2006
Developing Business Logic
Business Planning and Analytical Services 31
6. Determine whether the data slice is based on a selection or on an exit class.
7. If the data slice is to be based on a selection, set the required characteristic values in
the Change Characteristic Selections screen area.
○ Select the characteristic to be restricted.
○ Choose the symbol in the last column of the selected row. The dialog box for
determining characteristic restriction appears.
○ Select one or more values from the value list. The selection can also contain
variables as long as they do not send variables at runtime.
○ Choose Add and save the affected selection with OK.
8. If the data slice is to be based on an exit class, enter the name of the exit class.
○ Under Restricted, choose the characteristics that you need in the exit. You will
only get the current values for these characteristics in the exit. If you are also
interested in the initial values in the exit, set the indicator also #. This is the
default setting. If this indicator is not set for a characteristic, the exit is not called
for those aggregation levels that do not contain the characteristic, for example,
because the affected characteristic value would be initial in this case.
○ The exit class must implement the interface 'IF_RSPLS_DS_EXIT'. Only these
types of classes are offered for editing in maintenance. We recommend that the
customer class inherit from the template class 'CL_RSPLS_DS_EXIT_BASE'.
The template class itself is can be run directly, but it does not execute an action.
Re-implement the method ‘IS_PROTECTED’. Also note the commented
example source text in the template class; an infrastructure for buffering is
provided there, for example.
9. If the data slice should not be active at first, set the associated indicator in the field
inactive.
4.2.1.1.1.2 Aggregation Level
Use
Aggregation levels are used as InfoProviders for planning: with an aggregation level, you
model levels whose data can be changed manually using input-ready queries or automatically
using planning functions.
An aggregation level is set using a set of characteristics and key figures from the underlying
InfoProvider. The key figures included in the aggregation level are aggregated using the
characteristics that are not included in the aggregation level.
In the simplest case, an aggregation level is located on a real-time enabled InfoCube. For
more information on the functioning principle of aggregation and saving the changed data
records for an aggregation level by means of a simple example, see Simple Aggregation
Level [Page 34].
Aggregation levels can also be created on MultiProviders.
Core Development Tasks March 2006
Developing Business Logic
Business Planning and Analytical Services 32
Integration
You can create multiple aggregation levels for an InfoProvider. Use the Planning Modeler or
the Planning Wizard for this.
In the Modeling functional area of the Data Warehousing Workbench, the system also
displays the aggregation levels (symbol ) and the underlying InfoProviders in the
InfoProvider overview. When you double-click on the aggregation level, you can branch to the
Planning Modeler and edit the selected aggregation level.
Prerequisites
In the Planning Modeler or Planning Wizard you have selected (and if necessary edited) an
InfoProvider to act as the basis of the aggregation level. This InfoProvider includes at least
one real-time-enabled InfoCube. For more information about the corresponding processing
step, see InfoProvider [Page 24].
Features
Simple Aggregation Level
A real-time enabled InfoCube is the basis of a simple aggregation level. You can find a simple
example under Simple Aggregation Level [Page 34].
Complex Aggregation Level
A MultiProvider that includes at least one real-time enabled InfoCube, but no simple
aggregation level, is the basis of a complex aggregation level.
You want to copy current data from an actual InfoCube to a plan InfoCube with a
planning function of type Copy. To do this, you use an aggregation level based
on a MultiProvider that includes the plan and actual InfoCubes.
Aggregation levels, like MultiProviders, cannot be nested.
With a complex aggregation level, note how data records from the InfoProviders included in
the MultiProviders are embedded in the MultiProviders (and thus also the aggregation levels)
and how the system writes changes to data records of the aggregation level back to the
InfoProviders included in the MultiProviders. For more information on these MultiProvider-
specific features - with simple examples - see Complex Aggregation Levels [Page 34].
The following conditions apply to both types of aggregation level:
● At least one key figure and one characteristic have to be included in the aggregation
level.
● The key figures used have to have the database aggregations SUM, MIN or MAX. With
MIN or MAX, key figure values can only be displayed. They cannot be changed using
manual planning or planning functions.
● For key figures of type date or time, only the data type ‘DEC’ is supported.
● Referencing key figures (and thus also non-cumulative key figures or elimination of
internal business volume) are not supported in aggregation layers.
● If a characteristic is compounded and used in an aggregation level, the aggregation
level must also contain all compounding "parent" characteristics.
Core Development Tasks March 2006
Developing Business Logic
Business Planning and Analytical Services 33
● If a key figure is used in an aggregation level and does not have a fixed unit of measure
or currency, the aggregation level must contain the associated characteristic for the
unit.
● If a key figure with exception aggregation is used in an aggregation level, the
aggregation level must also contain the characteristic for exception aggregation if it
occurs in the underlying InfoProvider.
● The aggregation level inherits a navigation attribute from the underlying InfoProvider if
it includes the basic characteristic of the navigation attribute. Note that the navigation
attribute for an aggregation level is not visible in the Planning Modeler. It is only visible
in the Query Designer.
● An aggregation level cannot be created on MultiProviders if a characteristic of an
InfoProvider contained in the MultiProvider supplies two different characteristics in the
MultiProvider.
● If a characteristic on the InfoProvider that serves as the basis for an aggregation level
is constant, this characteristic has to be included in the aggregation level.
Activities
You are in the Aggregation Levels tab page of the Planning Modeler. In the Aggregation Level
Selection screen area, you can create, copy, delete, change, check, save and activate
aggregation levels.
Creating Aggregation Levels
...
1. To create an aggregation level, choose Create. The Create Aggregation Level dialog
box appears.
2. Enter a technical name and a description.
3. Choose the appropriate InfoProvider. If you do not enter a search term and choose
Start, the system shows all the InfoProviders available in your system.
4. Choose Transfer. In the lower screen area of the Planning Modeler, the system
displays an overview of all InfoObjects of the InfoProvider.
5. Choose the InfoObjects that are to be included in the aggregation level. Note the
conditions listed above.
6. To save the definition of the aggregation level, choose Save.
7. To check the definition of the aggregation level in view of consistency, choose Check.
When you choose Check, the system tries to complete necessary objects, such
as superordinate characteristics from compounded characteristics.
8. If the definition is consistent, choose Activate. Once it has been activated, the
aggregation level is ready for use.
Changing Aggregation Levels
...
1. To change an aggregation level, choose Change. In the lower screen area of the
Planning Modeler, the system displays an overview of all InfoObjects of the
InfoProvider used in the aggregation level. The InfoObjects selection list allows you to
display all InfoObjects for the InfoProvider, only those used in the aggregation level, or
those not used in the aggregation level.
Core Development Tasks March 2006
Developing Business Logic
Business Planning and Analytical Services 34
2. Change the definition as required.
3. Save, check and activate the changed definition.
4.2.1.1.1.2.1 Simple Aggregation Level
The following example demonstrates how the system works when a key figure value is
changed (manually or automatically).
Assuming there is an InfoCube IC with the characteristics product, product group, version and
year, along with the key figure revenue. The aggregation level ALVL includes the same
objects with the exception of the characteristic, product.
Fact Table of the InfoCube IC
Product Product Group Version Year Revenue
P1 PG1 V1 2005 10
P2 PG1 V1 2005 20
P3 PG2 V1 2005 42
The key figure revenue includes the database aggregation SUM. Accordingly, we get the
following result when the transaction data for the aggregation level ALVL is read from the
database without restriction:
Aggregation Level ALVL (Key Figure Aggregated on the Database Level)
Product Group Version Year Revenue
PG1 V1 2005 30
PG2 V1 2005 42
If you have changed the revenue from 30 to 40 and is saved as a new value, the system
writes a new record with the difference of the key figure value to the fact table of the InfoCube
IC:
Delta Record in the Fact Table of the InfoCube IC
Product Product Group Version Year Revenue
# PG1 V1 2005 10
In this type of delta records, all characteristics of the InfoCube that are not included in the
aggregation level get the initial value (not assigned: #). (Here we are assuming that no
derivations were used. For more information on this concept, see Characteristic Relationships
[Page 26].)
4.2.1.1.1.2.2 Complex Aggregation Level
The following examples show:
● how the system embeds data records from the InfoProviders contained in a
MultiProvider in the MultiProvider.
● how the system writes new or changed data records of the MultiProvider to those
included in this InfoProvider
Core Development Tasks March 2006
Developing Business Logic
Business Planning and Analytical Services 35
Example: Characteristic Product in MultiProvider MP
Assuming there is a MultiProvider MP, that includes the actual-InfoCube IC_A and the plan
InfoCube IC_P. The actual InfoCube IC_A includes the characteristics product, product group,
version and year, as well as the key figure profit. The plan InfoCube IC_P includes the same
objects with the exception of the characteristic, product. An aggregation level ALVL_MP is
defined on the MultiProvider MP, which includes all characteristics of the MultiProvider.
The following two data records for the underlying InfoProvider yields the following data
records in the MultiProvider:
Data Record in Actual InfoCube IC_A
Product Product Group Version Year Profit
P1 PG1 V1 2005 10
Data Record in Plan InfoCube IC_P
Product Group Version Year Profit
PG1 V1 2005 30
Data Records in MultiProvider MP (or ALVL_MP)
InfoProviders Product Product Group Version Year Profit
IC_A P1 PG1 V1 2005 10
IC_P # PG1 V1 2005 30
The data records in the MultiProvider MP are - from a technical viewpoint - generated using a
UNION operation from the records of the underlying InfoProvider. The InfoProvider is always
included so that the "origin" of the respective data record is clear on the level of a data record.
If new data records are generated during manual planning or using the planning functions, the
system ensure that every record of the MultiProvider can be assigned back to the
InfoProviders contained in the MultiProvider uniquely and without loss of information.
The following table shows an example of a data record that could not be assigned.
Example of a Record in the MultiProvider MP that could not be assigned
InfoProviders Product Product Group Version Year Profit
IC_P P1 PG1 V1 2005 43
The data record is part of the InfoProvider IC_P. However, this InfoProvider does not provide
a product in the MultiProvider. This means that P1 is not permitted.
In manual planning, data cells that could lead to this type of record are not input ready. In
planning functions, the system ensure that these types of data records cannot be saved.
The same situation can occur for key figures in complex aggregation levels. If K
is a key figure in MultiProvider MP that is supplied from the actual InfoCube
IC_A, but not by the plan InfoCube IC_P, this key figure is always initial in a data
record in the MultiProvider MP with the InfoProvider IC_P. This value also
cannot be changed.
Core Development Tasks March 2006
Developing Business Logic
Business Planning and Analytical Services 36
4.2.1.1.1.3 Filter
Use
A filter is an object that describes a multidimensional segment of data from a data set. Filters
are used in reporting, analysis and planning, for example, to restrict data to a certain business
area, certain product groups or certain time periods. This segmenting of the data can be
achieved so that users or user groups only have access to the data that is relevant to them or
that only certain data areas are available within an application scenario.
Within BI Integrated Planning, filters set the selection for the data upon which a planning
function operations. A planning sequence comprises a set of planning functions. A filter is
assigned to each of these functions.
You want to revaluate your transaction data in your InfoProviders by a factor of
10%. However, you want to only perform the revaluation for certain groups of
customers. To do this, you create a filter that contains the group of customers
that you wish to revaluate.
Filters can be reused in planning functions and in queries.
Integration
You can create multiple filters for an InfoProvider. Here you can use the Planning Modeler or
Planning Wizard and the Query Designer. You can only define filters on aggregation levels in
the Planning Modeler or Planning Wizard.
For more information on filters in the query, see the documentation on the Query Designer
under Filter [External]
Prerequisites
In order to create a filter for use in BI Integrated Planning, you need an aggregation level. For
more information, see Aggregation Levels [Page 31].
Features
You choose the characteristics that you want to restrict from the characteristics of an
aggregation level and insert them into the filter.
A filter has the following components:
Filter Components
Element Description
Characteristic Restrictions On the restriction dialog, you can further restrict the
characteristic using single values, value ranges, hierarchy
nodes and variables. These characteristic restrictions
determine the selection of data for a filter.
Default Values Default values are only relevant in queries. They can be
defined in the same way as characteristic restrictions and set
the initial filter status of the query upon execution.
To determine time-dependent selections, such as for determining a time-dependent hierarchy
for time-dependent hierarchy node selections, a Filter Key Date can be specified.
Core Development Tasks March 2006
Developing Business Logic
Business Planning and Analytical Services 37
The delivered variable 0PLANDATA can be used on the characteristic 0CALDAY
for synchronizing key dates in queries, filters, characteristic relationships, data
slices and planning functions. In this way, you can ensure that the same key date
is used in these objects.
The function of a filter depends on its use, either in a planning function or in a query.
Filters in Planning Functions
In connection with planning functions, a filter in the characteristic restrictions describes the
data that is used for executing a planning function.
Selections in the default values are not used for executing planning functions.
You can also use a key date for the filter to determine time-dependent selections.
Filters in a Query
The values defined in the characteristic restrictions restrict the data that is available for further
filtering at runtime of a query. Filtering a characteristic value outside of these value sets is
then no longer possible.
The default values determine the initial filter status of the query.
The settings Changeable upon Execution and Only Single Value generally refer to the use of
filters with a query.
Changeable upon Execution sets whether the value selection made in the characteristic
restrictions can be changed during execution of the query. This setting is a prerequisite for the
definition of default values for a characteristic.
When the option Changeable upon Execution was selected, you can use the Only Single
Value option to determine whether only a single value may be used for filtering the query.
For more information on filters in the query, see the documentation on the Query Designer
under Filter [External].
Activities
You are in the InfoProvider tab page of the Planning Modeler. In the Filter Selection screen
area, you can create, copy, delete, change, check, save and activate filters.
Creating Filters
...
1. To create a filter, choose Create.
2. In the Create Filter screen area, enter a technical name and a description for the filter to
be created.
3. In the Aggregation Level Selection screen area, choose the required aggregation
level. If you do not enter a search term and choose Start, the system shows all the
aggregation levels available in your system.
Choose Transfer. In the lower part of the Planning Modeler screen area, the system
displays the Filter and Settings tab pages.
4. On the Filter tab page, choose the characteristics to be restricted.
Core Development Tasks March 2006
Developing Business Logic
Business Planning and Analytical Services 38
You can adapt the display of the characteristics according to your needs (display
with key, text, key/text or text/key).
Add the characteristics that you wish to restrict to the list. You can add individual or all
characteristics of the aggregation level (using Add or Add All) to the list.
5. Select the characteristic to be restricted and choose the symbol for input help in the
column after Characteristic Restrictions. The dialog box for determining characteristic
restriction appears.
You can choose single values, value ranges and hierarchy nodes or variables as
needed. You can also transfer values from the history or from favorites.
You can choose one of the following views to select single values, value ranges
and hierarchy nodes or variables:
● All Values to display all characteristic values
● Search to search for a specific characteristic value or hierarchy
node
● Value Range to define value ranges (such as intervals)
● Variables to select or create a variable
● All Nodes to display and select hierarchy nodes
6. In the value list, select one or more values, value ranges or hierarchy nodes and
choose Insert and saved the affected selection with OK. The system transfers the
affected settings to the list of restricted characteristics.
7. With Show Enhanced Settings, you can make further restrictions:
○ Changeable upon Execution (determines whether the characteristic restrictions
can be changed at execution)
When you select the Changeable upon Execution option, you can make further
settings:
○ Only Single Value (determines whether only a single value may be used for
filtering at runtime)
○ Default Value. Choose the symbol in the column after Default Value. The dialog
box for determining the default value appears. Proceed as you did when
restricting the characteristic values.
8. On the Settings tab page you can set the key date.
9. To save the definition of the filter, choose Save.
10. To check the definition of the filter in view of consistency, choose Check.
Even when the check for a filter fails, the filter can be saved in the Planning
Modeler or Planning Wizard (like in the Query Designer). The procedure allows
you to save filters without characteristic restrictions and then create them in the
system later, for example. A consistency check is done, however, during
execution of the filter, before it is used.
Core Development Tasks March 2006
Developing Business Logic
Business Planning and Analytical Services 39
4.2.1.1.1.4 Planning Functions
Use
Planning functions are used for system-supported editing and generation of data within BI
Integrated Planning.
A planning function specifies the ways in which the transaction data for an aggregation level
can be changed. The following are determined for this purpose:
● The name of the aggregation level
● The type of planning function
● How characteristics are used
● The parameter values
The planning function type determines the way in which data is changed by a planning
function. The BI system offers you a number of standard planning function types:
● Unit conversion
● Generate combinations
● Formula
● Copy
● Delete
● Delete invalid combinations
● Forecast
● Repost
● Repost by characteristic relationships
● Revaluation
● Distribute by reference data
● Distribute by key
● Currency translation
You can also implement customer-specific planning function types. For more information, see
Implementing Planning Function Types [Page 71].
Integration
In the Planning Modeler and Planning Wizard, you create your planning functions (as well as
the prerequisite objects of the planning model).
In the Data Warehousing Workbench, the planning function objects are displayed in the
functional areas Business Content and Transport Connection in the Planning folder.
Prerequisites
You have created the following objects in the Planning Modeler or Planning Wizard:
Aggregation levels on which planning functions are created (see Aggregation Levels [Page
31]). Planning functions can be created and executed on each active aggregation level.
Core Development Tasks March 2006
Developing Business Logic
Business Planning and Analytical Services 40
● Filters that are required when the planning function is executed. Filters determine the
data for which the planning function is executed. The planning function locks the data
defined in the filter in the real-time enabled InfoCubes that are part of the aggregation
level. The filter has to be defined on the same aggregation level as the planning
function (see Filter [Page 36]).
Features
You determine the planning function type and the aggregation level on which the planning
function is to work. In addition, you can change the characteristic usage, the conditions and
the parameter sets.
The features will now be explained, with an example of how to create a planning function of
type Repost.
The following table shows the data for the InfoProvider before the planning function is
executed:
Before executing the planning function
Product Product Group Version Year Sales
P1 PG1 V1 2007 10
P2 PG1 V1 2007 20
...
You want to repost all records in version “V1” to version “V2”. You do this by reposting all
key figures. The following table shows the status after the planning function has been
executed:
After executing the planning function
Product Product Group Version Year Sales
P1 PG1 V1 2007 0
P2 PG1 V1 2007 0
P1 PG1 V2 2007 10
P2 PG1 V2 2007 20
After reposting, the records that contain zeros only (empty records) remain in “V1”; the
required records appear in "V2".
Characteristic Usage
The planning function type defines the options available for using characteristics and the
parameters of the planning function. Together, the parameters of the planning function type
define the parameter set.
With characteristic usage, the characteristics of the aggregation level are divided into
Characteristics to Be Changed and Block Characteristics (characteristics that are not used).
In this way, you specify the characteristic values that are changed when the planning function
processes a data record. Block characteristics remain constant.
When you create a planning function of type Repost for the case described
above, you first check which characteristic values should be changed and set
the to be changed indicator accordingly. Since you want to repost the data from
version “V1“ to version “V2“, you set the indicator for the Version characteristic
as To Be Changed (which in this case means to be reposted).
Core Development Tasks March 2006
Developing Business Logic
Business Planning and Analytical Services 41
Furthermore, you can select block characteristics as condition characteristics.
Parameter Sets and Conditions
The next step is to specify the detailed information. With most planning functions, all
transaction data is processed with the same set of parameters. In this case, a block
characteristic was not selected as a condition characteristic; only one parameter set has to be
entered.
The parameter set for the planning function type Repost includes a table for
selecting the key figures that are to be reposted and a table in which you can
enter the From-To Value Pairs for the characteristics to be reposted. In key
figure selection, you set the indicator for Select All Key Figures. In the From-
and To Values for Reposting table, you choose Create Row and enter “V1”
under From and “V2” under To. The planning function is ready.
If you want to use different parameter sets to execute different transaction data records, you
have to work with conditions. You have to select at least one block characteristic as a
condition characteristic.
If you want to increase the planned production for products in product group
PG1 by 5% and the products of product group PG2 by 10%, choose the product
group as the condition characteristic.
In the parameters, you can create multiple pairs of conditions and parameter sets. For each
pair, use a filter to select condition characteristics. You can change the associated parameter
set for each pair.
From a technical viewpoint, the method that the planning function actually
executes is called more than once. The data that was selected with the filter is
divided into blocks. Each combination of characteristic values in the block
characteristic forms a separate block (thus the name Block Characteristics).
Planning function types that work with reference data can also have additional
blocks (such as Copy). The method is then called once for each block with a
table of records. The table includes those data records that correspond to the
characteristic combination for the block in the block characteristics.
For each block, the system checks whether there is a condition and parameter
set pair so that the block fits the condition. The block is tested against the
conditions along the sequence of pairs. The first pair in which the block matches
the condition is used, that is, the method of the planning function type is
executed with the block and the set of parameters that fits the condition. The
remaining pairs are not taken into account. Therefore the method is only
executed once for each block.
Variables in Planning Functions
The usual BI variable types are available in many planning function types (see Variables
[Page 64]).
Core Development Tasks March 2006
Developing Business Logic
Business Planning and Analytical Services 42
Working with Empty Records
Almost all planning function types do not read empty records and do not write empty delta
records to the buffer. Exceptions to this are Copy and Generate Combinations: these two
function types read empty records and write empty delta records.
Activities
You are on the Planning Functions tab page of the Planning Modeler. In the Planning
Function Selection screen area, you can display, create, copy, delete, change, check, and
save Planning Functions.
Create a Planning Function
...
1. To create a planning function, choose Create. The Create Planning Function dialog box
appears.
2. Choose the planning function type.
3. Enter a technical name and a description for the planning function.
4. Select the aggregation level on which the planning function is to work.
5. Choose For Characteristic Usage and determine which characteristics are to be
changed and used in conditions, as required.
6. Choose For Parameters. In the Conditions with Parameters screen area, you can
create, delete and copy conditions. On the Selected Conditions tab page, you can use
input help to select the condition values to which the condition is to be applied. On the
Associated Parameter Set tab page, you maintain the parameter sets.
Check
During the check, you have to specify values for existing mandatory entry variables if values
have not been selected for these variables in the current session. If this is the case, the initial
screen appears.
Save
Planning functions can also be saved when they are not consistent.
Execute
Planning functions can be executed directly from a Web application or a BEx workbook.
However, you have to enable this in the relevant design tool first.
In order to execute a planning function in the Planning Modeler, you must first include it in a
planning sequence (see Planning Sequences [Page 63]).
In the Planning Wizard, you create a temporary planning sequence in the last step. This
contains exactly one planning function.
Before the planning function is executed, the system checks whether the planning function is
consistent.
Example
Process Flow of Planning Function: Distributing by Key [Page 43]
Core Development Tasks March 2006
Developing Business Logic
Business Planning and Analytical Services 43
4.2.1.1.1.4.1 Process Flow of Planning Function: Distributing by
Key
For the year “2007“ and the version "V1", the planned quantity per product is to be distributed
to the available factories "W1" and "W2". The total quantity of each product stays the same.
However, it is to be distributed evenly between the factories.
The following table shows the data for the InfoProvider before the planning function is
executed:
Before executing the planning function
Year Version Product Factory Quantity
2007 V1 P1 W1 10
2007 V1 P1 W2 20
2007 V1 P2 W1 60
2007 V1 P2 W2 40
The following table shows the result executing the planning function:
After executing the planning function
Year Version Product Factory Quantity
2007 V1 P1 W1 15
2007 V1 P1 W2 15
2007 V1 P2 W1 50
2007 V1 P2 W2 50
In reality, the planning function only writes delta records to the InfoCube. The following table
shows the delta records that were actually written:
Delta records in the InfoCube
Year Version Product Factory Quantity
2007 V1 P1 W1 5
2007 V1 P1 W2 -5
2007 V1 P2 W1 -10
2007 V1 P2 W2 10
Creating the Planning Function
When you create the planning function, you must first determine the characteristics in which
the values change. With regard to the characteristics Year, Version and Product, the total
of values should not change; these characteristics remain constant and become block
characteristics. The key figure values should be distributed according to the characteristic
value Factory. Thus in characteristic usage, the Factory characteristic must be selected as
to be changed.
The parameters for the distribution function are set as follows (see Standard Planning
Function Types [Page 46]).
Core Development Tasks March 2006
Developing Business Logic
Business Planning and Analytical Services 44
● Use the table for key figure selection to determine that the only key figure to be
distributed is the Quantity key figure.
● Because within a block (characteristic combination (year, version, product)) the overall
total always has to be distributed each time, the Top Down Distribution distribution
type is applied with the Distribute All setting.
● The factories “W1” and “W2” are entered as to values and receive identical keys
(such as 1).
Process Flow of the Planning Function
You want to execute the planning function with a filter that is restricted to year “2007” and
version “V1”. The planning function executes the following steps:
...
1. First the system loads the filter and the planning function.
2. It replaces the variables.
3. It checks the filter and the planning function for consistency.
4. Using the filter, the system requests the selected data and loads it into the buffer. In this
example, we assume that the records displayed above in the "before executing the
planning function" table are selected by the filter and transferred to the planning
function. Whether the system reads or takes the existing empty records into account or
not depends on the type of planning function (see Standard Planning Function Types
[Page 46]). With the distribution types, the system does not read empty records.
5. In accordance with the characteristic usage, the system divides the transaction data
into blocks. The tables below the process flow illustrate this. Two blocks result. They
are defined by the characteristic combinations shown here.
Block formation in accordance with characteristic usage
Block No. Year Version Product
1 2007 V1 P1
2 2007 V1 P2
6. For each block, the system uses the characteristic combinations to look for the correct
parameter set from the condition-parameter set pairs. Since no conditions were created
in this example, both blocks are executed with the only available parameter set.
7. For each block, the system runs the actual process, in this case, distribution. The tables
after the process flow show the before-after values and the resulting delta records for
each block.
8. Depending on the type of planning function, the system either processes any empty
records that it finds or does not take them into account. In this section there are no
empty records.
9. The system checks
○ Whether the resulting records are consistent with regard to master data and
characteristic relationships.
○ Whether they are protected by data slices.
○ Whether they are located within the transferred filter.
10. Once the system has successfully processed all blocks, it writes the delta records it has
collected back to the buffer. As required, derivation is performed in the buffer (see
Characteristic Relationships [Page 26] and Aggregation Levels [Page 31]).
Core Development Tasks March 2006
Developing Business Logic
Business Planning and Analytical Services 45
If one of the generated records has a consistency error, the entire planning
function writes nothing to the buffer.
Overview: Block 1
Block 1: { 2007, V1, P1} Before
Year Version Product Factory Quantity
2007 V1 P1 W1 10
2007 V1 P1 W2 20
Block 1: { 2007, V1, P1} After
Year Version Product Factory Quantity
2007 V1 P1 W1 15
2007 V1 P1 W2 15
Block 1: { 2007, V1, P1} Delta
Year Version Product Factory Quantity
2007 V1 P1 W1 5
2007 V1 P1 W2 -5
Overview: Block 2
Block 2: { 2007, V1, P2} Before
Year Version Product Factory Quantity
2007 V1 P2 W1 60
2007 V1 P2 W2 40
Block 2: { 2007, V1, P2} After
Year Version Product Factory Quantity
2007 V1 P2 W1 50
2007 V1 P2 W2 50
Block 2: { 2007, V1, P2} Delta
Year Version Product Factory Quantity
2007 V1 P2 W1 -10
2007 V1 P2 W2 10
Core Development Tasks March 2006
Developing Business Logic
Business Planning and Analytical Services 46
4.2.1.1.1.4.2 Standard Planning Function Types
Definition
The standard planning function types are part of the BI system. When you use a standard
planning function type with a particular aggregation level, you define a planning function of
this type.
Use
The following standard planning function types are delivered as part of the BI system.
Unit Conversion
You use the Unit Conversion function type to convert units of key figures into other key
figures.
In the Source / Target Key Figure Conversion Type table, you can specify multiple
conversions. For each conversion, you have to select the unit or quantity conversion type.
The value in the target key figure is overwritten. This also applies when the source key figure
is empty.
Since no characteristic values are changed during unit conversion between key figures, this
option is not available in characteristic usage.
Generate Combinations
You use the Generate Combinations function type to generate empty records in an
aggregation level for all permitted combinations according to the master data and
characteristic combinations. These are exactly those combinations that are also valid during
the check for this aggregation level (see Characteristic Relationships [Page 26]).
This function type does not permit any other settings: Because new data records are
continuously generated for the whole aggregation level, all characteristics must be To Be
Changed. The function type works without block characteristics.
The function type writes empty records (like with Copy).
Formula
You use the Formula function type to incorporate extended mathematical functions in the
calculation of plan data. The same formulas are valid in BI Integrated Planning as were valid
in BW-BPS. For more information, see the documentation on BW-BPS under Formula [Page
251].
Only those blocks that already contain data are processed.
Copy
You use the Copy function type to copy the key figure values from existing characteristic
combinations to other characteristic combinations.
For example, if you want to copy the values from the year 2005 to 2007 without
changing other characteristics, set the indicator Will Be Changed for the
characteristic Year.
Core Development Tasks March 2006
Developing Business Logic
Business Planning and Analytical Services 47
Using the table for key figure selection, you can set which key figures are to be copied.
Using the From and To Values for Copying table, you can either create a simple copying
process or multiple copying processes within a planning function.
The function type allows complicated copying processes as well: both the from and to values
can be characteristic restrictions on the characteristics to be changed. The system continually
totals the values of the From key figures using all the records in the block that correspond to
the characteristic restriction; it continually writes the To totals for each individual characteristic
combination.
You can also copy values from one From value to multiple To values.
You copy data from the year “2005“ in version “ACTUAL” to the combinations
{“2006“, “PLAN01“} and {2007, „PLAN02“}.
The function type reads and writes empty records.
The following rules apply:
● The From values are read as reference data and do not need to be part of the filter that
is transferred to the planning function.
● The To values are changed; they have to be included in the transferred filter.
● The key figure values for the To values are always overwritten during copying. This is
also valid when the From values are empty.
● If there are no values to form a block for a characteristic restriction on the From side,
the sub-process is not executed.
● Combinations are generated on the To side for the specified characteristic restrictions.
This is consistent with the master data and the characteristic relationships defined for
the InfoProviders. If the system cannot find a target for a block and a sub-process, the
system terminates the function and produces an error message.
● If a target has been specified in one or more sub-processes, the function is executed
and as a result, the target contains the appropriate totals.
The copying function also forms blocks of reference data.
Delete
You use the Delete function type to delete the key figure values for the selected data records.
No characteristic values are changed. In characteristic value usage, you can only select
characteristics as condition characteristics.
You can select the key figures to be deleted in a table.
Delete Invalid Combinations
You use the Delete Invalid Combinations function type to delete all key figure values for all
records where the combination of characteristic values does not correspond to the
characteristic combinations that are defined in the underlying real-time enabled InfoCube.
Note the following condition: A planning function of this type can only be
created on an aggregation level that itself has been created directly on a real-
time enabled InfoCube (a simple aggregation level, see Aggregation Level
Core Development Tasks March 2006
Developing Business Logic
Business Planning and Analytical Services 48
[Page 31]). The aggregation level must include all of the InfoObjects the
InfoCube that are valid in aggregation levels.
Forecasting
You use a forecast procedure to predict the future development of key figure values. The
forecast function make various statistical forecast procedures available so that you can
calculate forecast values from your historic data.
For more information, see Forecasting [Page 51].
Repost
You use the Repost function type, like Copy, to post the key figure values for existing
characteristic combinations to other combinations. In contrast to copying, the key figure
values of the From values are deleted. You can find an introductory example under Planning
Functions [Page 39].
Using the table for key figure selection, you determine which key figures you want to repost.
Using the From and To Values for Reposting, you can either create a simple reposting
process or multiple reposting processes within a planning function.
The following rules apply:
● Both the From and To values for the reposting process have to be single values.
● Both the From and the To values are changed and have to be included in the filter that
is transferred to the planning function.
● When you perform repost, the key figure values are always added to the To values.
Repost by Characteristic Relationships
You use the Repost by Characteristic Relationships function to repost transaction data so that
it is consistent with the characteristic relationships. The original records are deleted and
reposted to the correct characteristic combinations.
In characteristic usage, you can determine the characteristics for which values are to be
corrected. This only makes sense for characteristics that can be derived in accordance with
the characteristic relationships.
Note the following condition: A planning function of this type can only be created
on an aggregation level that itself has been created directly on a real-time
enabled InfoCube (a simple aggregation level, see Aggregation Level [Page
31]). The aggregation level must include all of the InfoObjects the InfoCube that
are valid in aggregation levels.
Revaluation
You use the Revaluation function type to increase or decrease key figures by one percentage.
No characteristic values are changed. In characteristic value usage, you can only select
characteristics as condition characteristics.
You can choose whether you want to enter a common percentage for all key figures or want
to revaluate key figures with individual percentages.
Core Development Tasks March 2006
Developing Business Logic
Business Planning and Analytical Services 49
Distribution
For an introduction to how a planning function of type Distribute works, see Process Flow of
Planning Function: Distributing by Key [Page 43].
You use the table for key figure selection to select the key figures that you want to distribute.
The distribution process can be controlled in different ways:
● With a top-down variant
○ Distribute All: The entire block is totaled.
○ Only Distribute Not Assigned: Values are only distributed if they have the
characteristic value Not Assigned [#] in the current block for all of the
characteristics to be changed.
● With the table From and To Values for Distribution: You can create one or more
distribution processes by manually entering the characteristic restrictions onto the
characteristics to be changed.
The system continually totals the values of the key figures on the From side over all the
records in the block that correspond to the characteristic restriction, and distributes this
total to the To values. The distribution keys and the characteristic combinations to
which they are distributed are different for the different available processes (Distribution
by Keys or by Reference Data).
The system performs the following steps to execute a planning function of type
Distribution.
...
i. The total amount to be distributed is determined.
ii. For the data records that are affected by the From values, the key figure
values are deleted.
iii. In accordance with the distribution keys, the totals are added together
with the key figure values of the data records selected by the To values.
The following rules apply:
● Both the From and To values are changed and have to be included in the filter that is
transferred to the planning function.
If the From value is created so that it can select data records that are not in the filter,
the system does not produce an error message. The data records are not part of the
distribution.
If the To value is created so that it can select data records that are not in the filter, the
system terminates the entire planning function and produces an error message.
If a target has been specified in one or more sub-processes, the function is executed
and as a result, the target contains the appropriate totals.
● Rounding differences are distributed evenly to those target data records that are not
equal to zero.
Distribution by keys
You use the Distribution by Keys function type to generate the characteristic combinations to
which data is distributed in accordance with the master data and characteristic relationships.
The key figure values are distributed according to the expressly specified distribution keys.
These are distribution functions that determine the weighting of the distribution.
Core Development Tasks March 2006
Developing Business Logic
Business Planning and Analytical Services 50
With the From and To Values for Distribution table, you can either enter a specific value in the
Factor column or select a formula variable from the input help for the To values. The system
displays them in the Factor Variable Text column.
If the characteristic restriction of a To value is not a single value, this key is valid for every
characteristic combination that corresponds to the characteristic restriction.
The keys are normalized during processing; they are converted into percentages. The system
first totals the distribution factors that are assigned to the individual characteristic values and
then distributes the values relatively. This results in percentages that always add up to 100 %.
The same key applies to all the key figures to be distributed for each planning function.
Combinations are generated on the To side for the specified characteristic restrictions. This is
consistent with the master data and the characteristic relationships defined for the
InfoProviders. If the system cannot find a target for a block and a sub-process, the system
terminates the function and produces an error message.
Distribution by reference data
You use the Distribution by Reference Data function type to generate all the characteristic
combinations to which you want to distribute data in accordance with the reference data. The
key figure values are distributed by percentage in accordance with the reference data.
The system provides two parameters for the Selection of Reference Data.
Parameter Description
Reference Key Figure (optional) You determine a key figure that is to be used in the reference
data to calculate the distribution key.
● When you have chosen this key figure, the system
distributes all of the key figures to be distributed
according to this key, that is, according to this reference
key figure.
● If no reference key figure is selected, the system
calculates a key individually for each of the key figures
to be distributed. The same key figure is used in the
reference data that is distributed.
Reference Values on Any Block
Characteristics
You set a reference value for one or more block
characteristics. While reading the reference data for every
block, the system overwrites the characteristic value of the
block in the characteristic with this reference value.
An InfoProvider provides data for the years 2005
and 2006. You want to change transaction data
for the year 2006. Thus the data from the year
2006 is selected in the filter that is transferred to
the planning function. Therefore all the blocks
have the year 2006. However, if the reference
value is 2005, you can ensure that the keys are
calculated according to the data from 2005.
The system distributes data to precisely those characteristic combinations that exist in the
reference data and fit the characteristic restrictions in the To values.
The percentage distribution corresponds to the percentage distribution in the reference data.
Core Development Tasks March 2006
Developing Business Logic
Business Planning and Analytical Services 51
In top-down distribution, the system distributes to all characteristic combinations that exist in
the reference data. Data records are excluded that have the value Not Assigned [#] for all
characteristic values.
If there is no reference data for a sub-process, the key figure values for this sub-process are
not distributed; the system produces a warning.
Currency Translation
You use the Currency Translation function type to convert currencies of key figures into other
key figures.
In the Key Figures and Currency Translation Types table, you can specify multiple
translations. For each translation, you have to select a currency translation type. The value in
the target key figure is overwritten. This also applies when the source key figure is empty.
Since no characteristic values are changed during currency translation between key figures,
this option is not available in characteristic usage.
4.2.1.1.1.4.2.1 Forecasting
Use
You use a forecast procedure to predict the future development of key figure values. The
forecast function make various statistical forecast procedures available so that you can
calculate forecast values from your historic data.
Integration
These forecast functions are available as planning function types within BI Integrated
Planning (see Planning Functions [Page 39]). They are based on the same statistical
procedures that are used in demand planning.
For more information about forecasting in the context of demand planning, see
http://help.sap.com/ → Documentation → mySAP Business Suite → mySAP
Supply Chain Management → SAP Supply Chain Management → SAP
Advanced Planning and Optimization (SAP APO) → Demand Planning →
Demand Planning Process → Definition/Redefinition of Forecast Models →
Creating a Master Forecast Profile → Univariate Forecasting.
Prerequisites
● Historic data is available for the forecast calculation.
● The aggregation levels on which you are creating a forecast function have to contain at
least one time characteristic (for example, Fiscal Year/Periods).
Features
The forecast planning function type covers various univariate forecast procedures. In a
forecast procedure, only the time series of the selected forecast key figure is taken into
account; no additional data is input into the forecast calculation to interpret the development
of the key figure.
Core Development Tasks March 2006
Developing Business Logic
Business Planning and Analytical Services 52
Time Series Patterns
You can create forecasts for the following time series patterns:
Constant
The historic data is essentially constant and varies very little from a stable mean value. In the
following figure, this base value is represented by a red line:
Value
Time
Trend
The time series pattern rises or falls continuously. In the following figure, this trend is
represented by a red line:
Value
Time
Seasonal
The values show periodically recurring peaks and troughs (on an annual basis). There is a
stable mean value. In the following figure, this base value is represented by a red line:
Value
Time
Seasonal Trend
This time series pattern is a combination of the trend and seasonal patterns. There are
periodically recurring peaks and troughs, but with a continual increase or decrease in the
mean value.
Core Development Tasks March 2006
Developing Business Logic
Business Planning and Analytical Services 53
Value
Time
Intermittent
The value is zero at most points in the time series pattern. The values that are not zero
fluctuate around a mean value.
Value
Time
Forecast Strategies
The forecast strategy determines which forecast procedure is used. In order to choose a
suitable forecast strategy, base your decision on the time series pattern. The different
forecast procedures are based on the different forecast models (time series models). They
produce different results.
The following forecast strategies are available:
● Average
● Moving average
● Weighted moving average
● Linear regression
● Seasonal linear regression
● Simple exponential smoothing (constant model)
● Simple exponential smoothing with alpha optimization (constant model)
● Linear exponential smoothing (trend model)
● Seasonal exponential smoothing (seasonal model)
● Seasonal trend exponential smoothing (seasonal trend model)
● Croston model
● Automatic model selection
Core Development Tasks March 2006
Developing Business Logic
Business Planning and Analytical Services 54
The automatic model selection forecast strategy allows you to let the system select the
forecast model that best fits the trend of the historic data (see Automatic Model Selection
[Page 58]).
If you already know that a particular forecast model is well matched to the time series trend,
or if you explicitly want to use a particular forecast model for other reasons, you can select a
forecast model (see Forecast Strategies [Page 55]).
Optional Functions for Forecast Strategies
The forecast strategies offer the following additional functions and possibilities:
● Outlier correction [Page 60]
● Logging statistical key figures [Page 61]
● Ignoring initial zeros [Page 62]
For exponential smoothing:
● Optimization of smoothing factors for exponential smoothing
For forecast models with trend components:
● Trend dampening [Page 61]
Activities
To create a planning function of type Forecast, the following steps are required:
...
...
1. Select a time characteristic for the forecast
Choose For Characteristic Usage. You choose the time characteristic that represents
the time dimension of the forecast.
You cannot include the selected time characteristic in the set of characteristics for conditions.
For more information about using characteristics and condition characteristics, see Planning
Functions [Page 39].
2. Select the data for the forecast
Choose For Parameters and perform the following steps:
a. Select the Forecast Key Figures
You specify the key figures for which you want to calculate the forecast.
b. Specify the Forecast Time Frame
You specify the time frame for the forecast by restricting the time characteristic
for the forecast. This is usually a time interval that represents the length of time
for the required forecast.
If the time characteristic for the forecast is Fiscal Year/Periods (0FISCPER), the
system suggests the higher-level characteristic Fiscal Year Variant. You only
have to restrict this characteristic if you are using variables with processing type
Customer and SAP Exit in the restrictions for Fiscal Year/Periods (for example,
Current Periods).
The system ignores exceptional periods of the time characteristic Fiscal
Year/Periods (0FISCPER) when it performs the calculations; values for periods
of this type are not generated or changed.
Core Development Tasks March 2006
Developing Business Logic
Business Planning and Analytical Services 55
3. Specify the historic data
You specify the Historic Time Frame in the same way as the forecast time frame. The
longer the time frame, the better the quality of the forecast results.
You use the Filter for Historic Data if your historic data differs from the forecast data for
particular characteristics. You have to specify a single value for each of these
characteristics.
This may be the case, for example, with the Version characteristic if the forecast
data is in a plan version and the historic data is based on an actual version.
4. Select the forecast procedure and enter additional parameters
You choose the required value for the Forecast Strategy parameter. Depending on the
selected forecast strategy, the system proposes additional parameters. In certain
cases, entering a value for individual parameters is mandatory.
The system proposes Automatic Model Selection as the default forecast
strategy. In comparison to other forecast strategies, this forecast strategy
provides the largest number of parameters. Note that forecasting is accordingly
time-consuming.
5. Save the planning function.
4.2.1.1.1.4.2.1.1 Forecast Strategies
Use
The forecast strategy determines how forecast values are calculated.
All forecast strategies are based on statistical forecast procedures and forecast models that
represent the time series mathematically.
The exponential smoothing methods are currently the most widely used time series patterns
(see Exponential Smoothing [External]).
If you expect historic values to continue to develop as they have in the past, choose a
forecast model that fits the previous trend well.
The Automatic Model Selection strategy allows you to let the system select the forecast
model that best fits the trend of historic data (see Automatic Model Selection [Page 58]).
Features
The following forecast strategies are available:
Average
The forecast value is calculated from the means of the historic values.
Optional forecast parameters: outlier correction [Page 60], logging statistical key figures
[Page 61], ignoring initial zeros [Page 62].
Core Development Tasks March 2006
Developing Business Logic
Business Planning and Analytical Services 56
Moving Average
The forecast value is calculated according to the order.
● Mandatory forecast parameter: Order of Moving Average.
The order of the moving average is a number N that determines the length of the time
interval for calculating the average. This is the number of chronologically sequential
historic values. The forecast value is calculated as the average of the last N historic
values.
Do not enter a negative number for the order.
Optional forecast parameters: outlier correction [Page 60], logging statistical key figures
[Page 61], ignoring initial zeros [Page 62].
Weighted Moving Average
When the system calculates the moving average, each historic value is given a particular
weight.
● Mandatory forecast parameter: Order of Moving Average.
The order of the moving average is a number N that determines the length of the time
interval for calculating the average. This is the number of chronologically sequential
historic values.
Do not enter a negative number for the order.
● Mandatory forecast parameter: Weighting Factors.
The weighting factors specify the relationship between the individual historic values and
the average calculation. The sequence is important: Weighting factor 1 refers to the
previous periods; weighting factor 2 refers to the periods before that, and so on.
You want to create a forecast based on monthly values and choose a weighted
moving average with an order that has the value 6. In this case, you want to
place more weight on the most recent monthly values than on the less recent
monthly values. The historic data is taken from months 5 to 10. The 6 weighting
factors and the relevant months are as follows:
No. Weighting Factor Month
1 3,00 10
2 2,00 9
3 2,00 8
4 1,00 7
5 1,00 6
6 1,00 5
Optional forecast parameters: outlier correction [Page 60], logging statistical key figures
[Page 61], ignoring initial zeros [Page 62].
Linear Regression
Simple linear regression (ordinary least squares).
Optional forecast parameters: trend dampening [Page 61], outlier correction [Page 60],
logging statistical key figures [Page 61], ignoring initial zeros [Page 62].
Core Development Tasks March 2006
Developing Business Logic
Business Planning and Analytical Services 57
Seasonal Linear Regression
Seasonal linear regression is based on the same statistical procedures as used in demand
planning.
For more information, see http://help.sap.com/ → Documentation → mySAP
Business Suite → mySAP Supply Chain Management → SAP Supply Chain
Management → SAP Advanced Planning and Optimization (SAP APO) →
Demand Planning → Demand Planning Process → Definition/Redefinition of
Forecast Models → Creating a Master Forecast Profile → Forecast Strategies
→ Seasonal Linear Regression.
● Mandatory forecast parameter: Periods per Season
Optional forecast parameters: trend dampening [Page 61], outlier correction [Page 60],
logging statistical key figures [Page 61], ignoring initial zeros [Page 62].
Simple Exponential Smoothing (Constant Model)
Simple exponential smoothing is suitable if the historic data shows a constant trend.
● Smoothing factor settings: Alpha (base value [External])
Optional forecast parameters: outlier correction [Page 60], logging statistical key figures
[Page 61], ignoring initial zeros [Page 62].
Simple Exponential Smoothing with Alpha Optimization (Constant Model)
This procedure corresponds to the “simple exponential smoothing“ above, with one
modification; in addition, the system calculates the Alpha smoothing factor. The Alpha value is
varigated in the interval using the defined step size and a forecast calculation (for the historic
time frame) is performed in each case. The optimum value for Alpha is the value that
produces the least number or errors in the forecast results.
● Smoothing factor settings: Optimization Variable, Alpha From, Alpha To, Alpha Step
Size.
Linear Exponential Smoothing (Trend Model)
The forecast is calculated according to Holt’s method and is suitable if historic values display
a rising or declining trend.
● Smoothing factor settings: Alpha (Base Value [External]), Beta (Trend Value
[External]).
Optional forecast parameters: trend dampening [Page 61], outlier correction [Page 60],
logging statistical key figures [Page 61], ignoring initial zeros [Page 62].
Seasonal Exponential Smoothing (Seasonal Model)
Choose this strategy if your historic values show seasonal fluctuations (for example, annual
fluctuations) from a constant base value.
● Mandatory forecast parameter: Periods per Season
Smoothing factor settings: Alpha (Base Value [External]), Gamma (seasonal components).
Optional forecast parameters: outlier correction [Page 60], logging statistical key figures
[Page 61], ignoring initial zeros [Page 62].
Core Development Tasks March 2006
Developing Business Logic
Business Planning and Analytical Services 58
Seasonal Trend Exponential Smoothing
The forecast is calculated according to Winter/Holt’s multiplicative method and is suitable if
historic values display seasonal fluctuations from a rising or declining trend. Here the extent
of the fluctuation depends on the strength of the trend.
Ice cream sales in summer: It is taken for granted that ice cream sales rise by a
trend of 10% annually. A seasonal increase of 30% each summer then leads to
ever greater absolute fluctuations.
● Mandatory forecast parameter: Periods per Season
Smoothing factor settings: Alpha (Base Value [External]), Beta (Trend Value [External]),
Gamma (seasonal components).
Optional forecast parameters: trend dampening [Page 61], outlier correction [Page 60],
logging statistical key figures [Page 61], ignoring initial zeros [Page 62].
Croston Method
The Croston method was developed specifically for sporadic trends. This procedure uses
exponential smoothing to calculate a mean time interval between the values in the time series
that are not equal to zero.
For more information, see http://help.sap.com/ → Documentation → mySAP
Business Suite → mySAP Supply Chain Management → SAP Supply Chain
Management → SAP Advanced Planning and Optimization (SAP APO) →
Demand Planning → Demand Planning Process → Definition/Redefinition of
Forecast Models → Creating a Master Forecast Profile → Forecast Strategies
→ Croston Method.
Check whether you want to aggregate the data in order to remove the gaps in the time series
so that you can use procedures that consider trend or seasonal time series patterns. You can
aggregate data in this way by choosing an imprecise time characteristic (month instead of
day) or by forecasting values for product groups instead of individual products.
4.2.1.1.1.4.2.1.2 Automatic Model Selection
Use
Automatic model selection allows you to let the system determine which forecast model best
fits your historic data.
We recommend that you use automatic model selection if you do not know the
trend of your historic data, if you cannot estimate how your data will develop, or
if you do not want to specify a model.
Core Development Tasks March 2006
Developing Business Logic
Business Planning and Analytical Services 59
Features
The system performs a number of tests and uses the results to determine the model to be
used (see Forecast Strategies [Page 55]). If the model chosen is exponential smoothing, the
system optimizes the relevant smoothing factors (Alpha, Beta, Gamma).
Note that automatic model selection requires a high calculation effort. This is
particularly true of the seasonal trend model. The calculation effort also depends
on the scope of the search space and the precision of the step sizes that you
have set.
Activities
...
1. First the system tests for sporadic historic data by determining the number of periods
that do not contain any data for the history key figure. If this number accounts for more
than 66% of the total number of periods, the system automatically terminates model
selection and uses the Croston method.
2. Then the system tests for white noise [External]. If there is white noise, the system
automatically uses the constant method.
3. If both tests are negative, the system tests for seasonal and trend effects.
a. First the system deletes existing trends. To test for seasonal effects, the system
determines the auto-correlation coefficients. If the auto-correlation coefficient is
greater than 0.3, the test is positive.
b. To test for trend effects, the system determines the trend significance
parameters. If the seasonal test is positive, the system removes possible
seasonal effects. If no seasonal tests are determined, the system runs the test
using the number of past periods minus 2. If seasonal effects are determined, it
runs the test using the number of periods in a season plus 1.
Since the results of these tests determine the model that the system checks in
the next step, the Periods per Season parameter is highly significant. If your
historic data contains, for example, a season with seven periods and you enter
the value “3“ for Periods per Season, the seasonal test will probably be
negative. In this case, the system does not check the seasonal model but
checks the trend and constant models only.
4. The system uses the selected model (see the table below) and performs the forecast. It
calculates all error measures. In models that use forecast parameters (Alpha, Beta,
Gamma), these parameters vary to reflect the areas and step sizes specified in the
forecast profile.
Test results and model selection
Test for White
Noise Test for
Sporadic Data Seasonal Test Trend Test
Croston model X
Trend model X
Seasonal model X
Trend-seasonal A A
Core Development Tasks March 2006
Developing Business Logic
Business Planning and Analytical Services 60
Linear regression o X
Seasonal linear
regression
A A
Legend for the characters in the table:
X – model is used if the test is positive.
A – model is used if all tests are positive.
o – model is used if the test is negative.
The constant model always runs, unless the test for sporadic data is positive. In this
case, the Croston model is used exclusively (as a special variant of the constant
model).
The system chooses the model with the parameters that produce the lowest error
measure. The error measure is specified by the selection made in the Error Measure
field in the forecast profile.
4.2.1.1.1.4.2.1.3 Outlier Correction
Use
Outliers are atypical values that cannot be explained by the forecast model. The results of
the forecast can be heavily influenced by outliers.
The system is able to identify and replace outliers in the historic data. To do this, the forecast
procedure calculates forecast values in the past period and compares them to the observed
values. If the difference (the residual) exceeds a specific value, the observed value is
replaced by the ex-post-forecast value for the corresponding time. After this correction, the
forecast calculation is performed again with the amended historic data.
You determine a Sigma factor in order to define the threshold value.
Integration
Outlier detection depends on the individual forecast model because the forecast value is
calculated using a model and its related algorithm.
Features
In the context of the forecast function, outliers in the historic values are defined by the Sigma
factor. The greater the Sigma factor the more tolerant the system of atypical values, and the
fewer outliers are determined.
The Sigma factor fac controls outlier detection in the following way: An observed value y is
declared to be an outlier if the difference to the forecast value e is greater than fac *s. s
denotes the standard deviation of the residuals.
Activities
Activate outlier correction if you think that outliers are having an unfavorable effect on the
forecast result in accordance with the forecast function definition.
Do not select outlier correction if atypical values are always to be taken into consideration by
the forecast.
Core Development Tasks March 2006
Developing Business Logic
Business Planning and Analytical Services 61
4.2.1.1.1.4.2.1.4 Trend Dampening
Use
For forecast models with a trend component (linear regression, the trend models for
exponential smoothing with or without seasonality, and, in some cases, automatic model
selection), you can dampen the trend for future forecast values by specifying a trend
dampening factor.
Use the trend dampening factor if you expect that the past growth rate will either slow down or
intensify in the future.
Features
The trend dampening factor is a number that is multiplied by the trend value (growth rate) for
the calculation of each forecast value at the respective time. In this way, growth in a long-term
trend is further slowed or intensified:
● With a trend dampening factor that is less than 1, a type of saturation effect is
produced. The trend value will exponentially converge to 0.
A trend dampening factor of 0.9 decreases the growth rate for each period by
10% recursively.
If, for example, the number of cars sold is currently growing by 1000 per period,
the growth in the number of cars sold in the next period would be 0.9 * 1000 =
900, and would be 0.9 * 900 = 810 in the period after that, and so on.
● To achieve the reverse effect, you can enter a trend dampening factor that is greater
than one.
Activities
You use this option to perform trend dampening. Specify a trend dampening factor that
corresponds to your expectations.
4.2.1.1.1.4.2.1.5 Logging Statistical Key Figures
Use
This function logs statistical information about the forecast calculation.
After the forecast function has been executed, the system displays the corresponding
statistical information and the error messages for the forecast calculation in the log.
Features
The following statistical information is logged:
● Error totals
● Mean absolute deviation (MAD)
● Mean absolute percent error (MAPE)
● Mean percentage error (MPE)
Core Development Tasks March 2006
Developing Business Logic
Business Planning and Analytical Services 62
● Mean square error (MSE)
● Root of the mean square error (RMSE)
● Number of outliers (where outlier correction is active)
● Selected forecast model (with automatic model selection)
● Smoothing factors (with optimization of smoothing factors)
Activities
You choose this option in order to log statistical information about the forecast result.
4.2.1.1.1.4.2.1.6 Ignoring Initial Zeros
Use
You use this function to determine whether a string of zeros at the beginning of a selected
period in the past are to be taken into consideration in the forecast.
You want to calculate forecast values for your product. The past period covers
the last 24 months. However, the time series of products that have only existed
for a few months begins with a lengthy sequence of zero values. You do not want
the forecast values to be influenced by these zeros so you select the option
Ignore Initial Zeros.
Activities
Choose this option if initial leading zeros are to be excluded from the forecast calculation.
4.2.1.1.1.4.3 Standard Key Date in Planning Functions
Definition
The standard key date is a key date that is used in the entire planning model. It can be set for
every real-time enabled InfoCube in the characteristic relationships.
Use
The following options are available to set a key date.
● Unspecified (default value is the system date if all of the participating InfoCubes have
the key date = unspecified).
● Fixed Date
● From Variable
Core Development Tasks March 2006
Developing Business Logic
Business Planning and Analytical Services 63
All objects that depend on the key date, such as the filter or hierarchies that are used in the
filter or in the from and to values of the copy and distribution functions can be set to the
standard key date.
If a planning function is executed, the system calculates the standard key date as follows.
● If the aggregation level was created directly on a real-time enabled InfoCube, the
standard key date is the same key date that is set in the characteristic relationships on
this InfoCube.
● If the aggregation level was created on a MultiProvider, all participating real-time
enabled InfoCubes below the MultiProvider are checked. If all of these have the setting
unspecified, the standard key date is the current system date. If one of the real-time
enabled InfoCubes has another setting for its key date, the first one that returns a
certain value wins. Variables are analyzed upon return.
All time-dependent objects continue to provide the option of using your own key date in your
concrete application.
This can be useful in the following case: you want to use a specific hierarchy
that is to be read with another key date than the master data attributes.
Integration
You make the key date setting for planning in the Planning Modeler in the InfoProvider area
on the Settings tab page.
4.2.1.1.1.5 Planning Sequences
Use
Planning sequences are used for grouping planning functions within BI Integrated Planning.
They allow you to save groups of planning functions in a sorted sequence, as well as sorted
execution of the whole group.
Integration
Planning sequences can be edited, saved and tested in the Planning Modeler.
They can be included in a process chain as a step. They can also be linked with a variant of
variable values there.
Features
A planning sequence can be made up of one or more steps. The following types of steps:
Step types of a planning sequence
Type Description
Planning function Based on an aggregation level, the system saves a planning
function and a filter with which the planning function is executed.
Core Development Tasks March 2006
Developing Business Logic
Business Planning and Analytical Services 64
Input template You can embed input templates into the sequence especially for
testing planning functions. Input templates are defined with an
aggregation level and a filter.
If a planning sequence is executed as a whole, the embedded
input templates are not taken into account.
Activities
Testing a Planning Sequence in the Planning Modeler
In the Planning Modeler, you can test planning sequences as a whole or step by step using
Execute. In the latter case, the input templates appear at the lower end of the application.
During execution of the steps, the system keeps the data in the buffer. Once you choose
Save, the transaction data from the buffer is written to the database.
If the planning sequence includes input-ready variables, you can set them manually before
execution of the steps and save the value combinations of the variables as a variant.
Execution of a Planning Sequence within a Process Chain
A planning sequence can be embedded in a process chain as the Execute Planning
Sequence process type. The planning sequence can be linked with a stored variant for
variable values.
4.2.1.1.1.6 Variables
Use
Variables are used to parameterize a query, a planning function, a filter, a characteristic
relationship or a data slice. When a query, planning function or Web application is executed,
they are filled with values.
Variables act as placeholders for characteristic values, hierarchies, hierarchy nodes, texts,
and formula elements, and can be processed in many different ways.
● Depending on the objects for which you want to define variables, there are different
variable types. For more information, see the documentation on the Query Designer
under Variable Types [External].
● The processing type determines how a variable is filled with a value for the runtime of
the query, planning function or Web application. For more information, see the
documentation on the Query Designer under Processing Types for Variables [External].
When you use variables, you can use one planning function definition, for
example, as the basis of several different planning functions: you want to create
a planning function of type Copy that copies your current data from the current
version to another version. You use a variable for the Version characteristic in
the To parameters of the planning function. Before you execute the planning
function, you decide which version the current data is to be copied to.
Core Development Tasks March 2006
Developing Business Logic
Business Planning and Analytical Services 65
The Replacement Path processing type is not available for formula variables
that are used in planning functions, for example for conversion functions. Only
the Number dimension is supported here.
You cannot create text variables in the planning modeler. In input-ready
queries, however, you can use text variables without any restrictions.
Integration
Variables as Reusable Objects
Variables do not depend on an InfoProvider, but on the respective InfoObject only. A variable
that you define for an InfoObject is available in all InfoProviders that use this InfoObject.
Variables can be defined in the Query Designer or in the planning modeler or planning wizard.
For example, when you define a variable for a planning function in the planning
modeler, it is available for reuse for all queries or planning functions.
Features
Variables help you to flexibly set or parameterize your objects. The following objects support
the use of variables:
Using variables
Object Using Variables
Queries (especially input-ready queries) ● For example, to parameterize characteristic
restrictions in the query
● In formulas, conditions, exceptions and as a
placeholder for text
Filter To parameterize characteristic restrictions that
describe the filter.
Planning functions Depending on the respective planning function type, to
parameterize conditions and parameters, for example,
to parameterize the conversion factor in planning
functions of type conversion.
Characteristic relationships ● To parameterize the hierarchy used
● To parameterize selection from a DataStore
object
Data slices To parameterize characteristic restrictions that
describe the data slice.
Additional objects To parameterize the presentation hierarchy in the
query.
Core Development Tasks March 2006
Developing Business Logic
Business Planning and Analytical Services 66
Variables that are used in characteristic relationships and data slices cannot call
a dialog for the manual entry of values. These variables must have a value at
the time of execution.
In the planning modeler or planning wizard, as well as in the Query Designer, the following
tools are available for creating and changing variable definitions according to context.
Tools for creating, changing and displaying variables
Tool Description
Variable wizard The wizard takes you through the process of creating a variable
step-by-step. Each individual step is context-sensitive and is
modified according to the combination of variable and processing
types used. This means that the variable wizard only offers the
selection options that are permitted for that combination of variable
and processing types.
For more information, see the documentation on the Query Designer
under Defining Variables [External].
Note the following when you use the variable wizard in the context of
the planning modeler or planning wizard:
● The first step is General Information.
● The system shows further dialog steps according to context:
○ Details [External]
○ Default values [External]
○ Replacement path [External]
○ Currencies and units [External]
(There is no Characteristic dialog step).
Variable editor The variable editor dialog box offers all the options for changing an
existing variable. The individual tab pages of the dialog box show the
previous settings for the variable.
Not all settings for variables can be changed in the variable editor.
For example, the variable type and processing type cannot be
changed once the variable is created.
Note the following when you use the variable editor in the context of
the planning modeler or planning wizard: in addition to the change
mode, the variable editor also has a display mode.
Activities
The tools for creating and changing variables are available wherever you enter constant
values and can use variables.
In the planning modeler or planning wizard, you can also display and delete variables. In the
restriction dialog for a characteristic in the filter, you see the list of the variables available for
the selected characteristic in the Variables view for single values. The functions Create, Edit,
Display and Delete are available here.
● If you choose Create, the variable wizard opens.
Core Development Tasks March 2006
Developing Business Logic
Business Planning and Analytical Services 67
The variable wizard opens with the settings made for the current context: For
example, if the variable wizard opens in the dialog for characteristic restriction, it
has the settings that are appropriate for the type of variable (characteristic
variable), the appropriate characteristic and the basic characteristic, as required.
● If you choose Edit, the variable editor opens and you can change certain properties.
● If you choose Display, the variable editor opens in display mode.
● If you choose Delete, the system deletes the selected variables.
For more information about using these two tools in the Query Designer, see Variables
[External].
4.2.1.1.1.6.1 Changing Variable Values in the Planning Modeler
Use
In the planning modeler, you want to check a planning function that can be parameterized
using variables or execute a planning sequence that contains objects that can be
parameterized using variables. In both cases, you want to change the values of the variables
in the planning modeler:
● In order to check a planning function, you have to assign variable values to all the
variables that are set as mandatory; a dialog box appears in which you enter values for
the variable.
● When you execute a planning sequence, you can change the values of the mandatory
and optional variables in the appropriate input area at any time; the planning sequence
is processed using the values that you enter.
You can also personalize individual values by assigning a particular value to it. This value is
valid until you reset the personalized setting. Personalization means that you do not have to
manually configure your personal variable settings each time. In this instance, BI Integrated
Planning uses BEx personalization for variable values (see Personalization in BEx [External]).
In the planning modeler, the variable values entered in the current session are
noted and set automatically, if they are required. This ensures that you do not
have to manually maintain the same variables several times.
Features
In the planning modeler, you can change variable values to check a planning function or
execute a planning sequence, if the variables are being used in the following objects:
● Variables in filters (see Filter [Page 36])
● Variables in planning functions (see Planning Functions [Page 39])
Core Development Tasks March 2006
Developing Business Logic
Business Planning and Analytical Services 68
Depending on how the variable is defined and used, the variable values can come from
different sources. Generally the following options are available:
● Default value for the variable
● Personalization for the variable
● Variants saved previously
● Variable values entered previously (automatic)
● Values maintained manually
Activities
You are on the Planning Functions tab page and have chosen the check function for a
planning function with required entry variables, or you are on the Planning Sequences tab
page in display mode for a planning sequence that contains variables. In the first case, the
system shows a dialog box for entering variables; in the second, an input area. It lists all the
variables that are available in the current application context. The following activities are
possible:
Manual Maintenance of Variable Values
If you have chosen one of the layouts that contains the Key, you can enter variable values
manually in the lead column of the variable value.
To display the lead column of the variable value, select the appropriate layout or
change the table settings accordingly.
In addition, input help is available for selecting values for some variable types.
Personalizing Variables
...
1. To personalize values for variables or reset personalized values, choose Personalized
Variables. A dialog box appears in which you can choose personalized variables.
2. To personalize variables, select one or more variables from the table of available
variables and insert these values. To reset personalized values, choose one or more
variables from the table of personalized variables and choose Remove.
3. You can also change the values in the personalized variables table at a later time.
4. Personalized variables are not displayed in the dialog box or input area by default. If
you want to display personalized values, choose the Display Personalized Variables
option.
5. Choose OK. The dialog box for entering variables or the corresponding input area
appears.
In the table settings, you can display a column for personalized values and a
column for resetting the personalized values. The column for personalized
values indicates a personalized variable; the column for resetting the
personalized value allows you to reset the current variable value to the
personalized value.
Core Development Tasks March 2006
Developing Business Logic
Business Planning and Analytical Services 69
Selection and Maintenance of Variants
In the Available Variants selection box, you can select an existing variant. The values
determined for the variables in the variants are automatically set as the current values.
● To save the current values as a new variant, choose Save. The Save Variant dialog
box appears. Enter a description for the variant and select OK.
● To change an existing variant, select an existing variant from the Available Variants
selection box. As a result, the current variables contain the variable values from the
variant. Change the values manually and choose Save.
● To save an existing variant as a new variant, select an existing variant from the
Available Variants selection box. Choose Save As. The Save Variant As dialog box
appears. Change the description of the variant and select OK.
● To delete an existing variant, select an existing variant from the Available Variants
selection box. Choose Delete.
● To delete the properties of an existing variant, select an existing variant from the
Available Variants selection box. Choose Properties. The Change Variant Properties
dialog box appears. Change the properties of the variant and choose OK.
An existing variant can be marked as an initial variant. This variant is set
automatically each time variable input is called. To do this, you select an existing
variant from the Available Variants selection box. Choose Properties. The
Change Variant Properties dialog box appears. Choose Use as Initial Variant
and choose OK.
Check Current Variable Values
To check the current values, choose Check.
4.2.1.1.1.7 Input-Ready Query
Use
You use input-ready queries to create applications for manual planning. These can range
from simple data entry scenarios to complex planning applications.
Integration
You define a query that you want to use for manual planning in the BEx Query Designer (see
Defining New Queries [External]).
In the Web Application Designer or the BEx Analyzer, you can combine the input-ready
queries with other queries and planning functions to create complex planning applications.
Prerequisites
You can define an input-ready query on any of the following InfoProviders:
● Aggregation levels (see Aggregation Level [Page 31])
Core Development Tasks March 2006
Developing Business Logic
Business Planning and Analytical Services 70
● MultiProviders that include at least one simple aggregation level
The aggregation levels are created in the planning modeler; MultiProviders are defined in the
modeling functional area of the Data Warehousing Workbench.
Features
Definition of an Input-Ready Query
Once you have defined a query on an InfoProvider, you see the Planning tab page under the
Properties of structural components (for example, in key figures or restricted key figures). The
options provided there allow you to determine which structural components of an input-ready
query are to be input ready at runtime and which are not. With structural components that are
not input ready, you can also determine whether these components are viewed as reference
data or are just protected against manual entry.
For the structural components, you also have the following options:
Input readiness of structural components of a query
Option Description
Not input ready (reference data) If they are being used as reference data, the
structural components are not protected by
data locks to ensure exclusive access for one
user because this data serves as a reference
for many users.
This is the default setting.
Not input ready (no reference data) If you want to protect structural components
against manual entries but allow changes by
planning functions, you can use locks to
protect this data for one particular user. In
this way you can ensure that the planning
function works with the displayed data only
and not with data that has been changed by
other users.
Input ready
You can also determine whether an input ready query is to be started in change mode or in
display mode. You find this property in the Query Properties on the Planning tab page. If
there is at least one input-ready query component, the query (as long as it has not been
determined otherwise) is started in display mode.
In BI applications that use input ready queries as data providers, you can enter data manually
at runtime. For more information, see Performing Manual Planning [Page 80] and Creation of
Planning Applications [Page 74].
Example
You want to create an input-ready query for manual planning for a plan-actual comparison of
revenues for a set of products. You want the plan data in a real-time-enabled InfoCube and
the actual data in a standard InfoCube.
...
1. Create a MultiProvider that includes the InfoCubes for the plan and actual data.
Core Development Tasks March 2006
Developing Business Logic
Business Planning and Analytical Services 71
2. Define an aggregation level on the MultiProvider which contains the characteristic
Product and the key figure Revenue.
3. On the aggregation level, create two restricted key figures Plan Revenue and Actual
Revenue. For restriction, choose the characteristic 0INFOPROV and restrict it to the
plan or actual InfoCube.
4. Add the restricted key figures to the key figure structure. Insert Product into the rows.
For Plan Revenue, choose Input Ready for the input-readiness option. For Actual
Revenue, choose the option Not Input Ready (Reference Data).
5. In the query properties, set the indicator that determines whether the queries are
started in display or change mode as required.
Example of an input-ready query
Product Plan Revenue Actual Revenue
P01 20
P02 30
If you want to keep actual and plan data in a real-time enabled InfoCube, you do
not require a MultiProvider for the task described above. Create an aggregation
level on the InfoCube and define the input-ready query for the aggregation level.
In the example above, a version characteristic acts as the InfoProvider. Create
restricted key figures with the plan or actual version and proceed as in the
previous example.
4.2.1.1.1.8 Implementing Planning Function Types
Use
Planning function types are parameterizable processes to change transaction data within BI
Integrated Planning. The system offers you a number of default planning function types (such
as copy, delete, reposting, revaluation, distribution by reference data or by key, unit and
currency translation or FOX formula.
You can also implement customer-specific planning function types in order to realize specific
processes and apply them to transaction data. Each planning function type comprises
● a definition part (metadata) that is created and changed in a transaction (RSPLF1),
● a ABAP-OO class in which the actual process is programmed. The class name is an
element of the definition part.
Integration
In reference to transport, Business Content and activation, planning function types behave
like other metadata objects of the BI system.
The active planning function types are visible in the Planning Modeler and can be used to
create and execute planning functions.
Core Development Tasks March 2006
Developing Business Logic
Business Planning and Analytical Services 72
Features
In the maintenance transaction for planning function types, you can display, change or create
customer-specific planning function types.
Activities
Creating Planning Function Types
...
1. To get to the maintenance transaction for planning function types, on the BI Integrated
Planning screen in the Administration and Development screen area, choose
Maintain Function Types. The Edit Planning Function Type screen appears.
2. Enter a technical name for the planning function type.
3. Choose Create. The screen for creating a planning function type appears.
4. Specify a description for the planning function type and make the required settings on
the Properties and Parameters tab pages.
Tab Page Description
Properties Screen areas:
● General Data
● Implementation: Enter the name of the ABAP class that
implements the process. The ABAP class has to implement one
of the two interfaces:
○ IF_RSPLFA_SRVTYPE_IMP_EXEC
○ IF_RSPLFA_SRVTYPE_IMP_EXEC_REF
The latter interface is relevant when you need reference data for
your process. The implementation of methods for the interface
listed is optional with the exception of the method EXECUTE.
In addition, the class can implement check methods that are
executed at runtime. The interface
IF_RSPLFA_SRVTYPE_IMP_CHECK serves this purpose.
For more information, see the F1 Help for the input field for the
ABAP class name.
● Interface Characteristic Usage
● Interface Parameter
Core Development Tasks March 2006
Developing Business Logic
Business Planning and Analytical Services 73
Parameters Create the required parameter using Create Parameters in the context
menu of an object in the hierarchy parameter.
The following parameter types are available:
● Elementary: The value of an elementary parameter is the
characteristic value of a specific InfoObject. This means that
every elementary parameter is based on an InfoObject and thus
inherits its technical properties. If the InfoObject is a
characteristic, the system automatically checks the permissions
of a value entered by the user against the master data.
● InfoObject of the InfoProvider: This parameter can include the
name of an InfoObject from the current InfoProvider
(aggregation level). The InfoObjects permitted are determined
with the restriction of the InfoObject selection.
● Data Selection: Data selection parameters can include the
selection criteria for multiple characteristics as they are needed
for defining the filters. This is a specific selection table. The
permitted characteristics are defined by the restriction of the
characteristic selection.
● Structure: Parameters can be combined into one structure.
These parameters then comprise the components of the
structure parameter. If you define the structure parameters for
the table, the structure forms the row structure of the resulting
table.
● Key Figure Selection: This parameter type is used to select the
processed key figures. This means it is a special case of type
“InfoObject”.
For more information, see the F1 help in the Function Type input field.
With and , you can change the sequence of the parameters. The
sequence of the parameters is taken into account, when you create a
planning function for this planning function type.
Example
The planning functions delivered by SAP are based on the same technical concept as the
customer's own planning functions and can thus be viewed in the maintenance of the
planning function types.
The function type Delete (0RSPL_DELETE) is a simple example. There is only
one parameter (KYFSEL) for selection of the key figures to be deleted. In the
associated ABAP class, the interfaces IF_RSPLFA_SRVTYPE_IMP_CHECK
and IF_RSPLFA_SRVTYPE_IMP_EXEC are implemented.
Core Development Tasks March 2006
Developing Business Logic
Business Planning and Analytical Services 74
4.2.1.1.2 Creation of Planning Applications
Purpose
Planning applications are BI applications that are based on a planning model. Power users
combine the objects of the planning model into an interactive planning application which
allows data to be entered and changed automatically or manually by users.
Planning model objects include:
● InfoProviders that contain data (see InfoProviders [Page 24])
● Aggregation levels as InfoProviders which provide a set of data with a particular level of
granularity for data entry and change (see Aggregation Levels [Page 31])
● Input-ready queries which allow you to make manual entries for the aggregation level
(see Input-Ready Queries [Page 69])
● Planning functions which allow automated changes to be made to data in the
aggregation level and therefore model a part of the data flow (see Planning Functions
[Page 39]).
In addition, planning sequences can belong to the planning model (see Planning Sequences
[Page 63]).
Tools are available for creating planning scenarios. These tools are also used in reporting
scenarios.
● For Excel-based planning applications: BEx Analyzer
● For Web-based planning applications: BEx Web Application Designer
Prerequisites
You have created the necessary planning model objects.
You have installed the frontend.
Example
In order to illustrate the basic procedure, the following example will show you how to create
an Excel-based planning application and a Web-based planning application on the basis of a
simple planning model.
The underlying planning model consists of the following objects:
● A real-time-enabled InfoCube Plan_IC containing the planned sales data for next year
● A standard InfoCube Actual_IC containing the sales data for the previous year
● A MultiProvider Plan_Actual_MP containing the two InfoCubes
● An aggregation level Plan_Actual_Aggr for MultiProvider Plan_Actual_MP
● An input-ready query Plan_Query01 which displays the actual and plan data and allows
plan data to be entered manually.
The two InfoCubes contain the same characteristics and have at least one common key
figure; the only difference is the key figure Year. One of the characteristics is Country. This
has to be included in the query.
The following graphic shows how the objects in the planning model are related:
Core Development Tasks March 2006
Developing Business Logic
Business Planning and Analytical Services 75
InfoCube
Actual_IC
Real-Time-
Enabled
InfoCube
Plan_IC
MultiProvider
Plan_Actual_MP
Aggregation
Level
Plan_Actual_Aggr
Input-Ready
Query
Plan_Query01
Query
Plan_Query02
The planning application contains at least one of the following elements:
● A planning function for copying the data from the InfoCube containing actual data into
the InfoCube containing plan data PF_Copy
● A selection list (dropdown box) that allows you to navigate in the query
● A planning function for revaluating plan data PF_Revaluate01 (revaluate by %) or
PF_Revaluate02 (with a fixed percentage), where the selections in the selection list
determine which data is to be revaluated
● A planning function for saving plan data
●
See also:
Creating Planning Applications in BEx Analyzer [Page 75]
Creating Planning Applications in the BEx Web Application Designer [Page 78]
4.2.1.1.2.1 Creating Planning Applications in the BEx Analyzer
Procedure
The following example shows how you create a workbook with a title, table, selection list and
special pushbuttons (for functions such as copy, revaluate by %, delete and save).
...
1. Open the BEx Analyzer.
Core Development Tasks March 2006
Developing Business Logic
Business Planning and Analytical Services 76
2. Check that you have the necessary security settings. Choose Tools → Macro →
Security. Switch to the Trusted Publishers tab page and set the indicator for Trust
access to Visual Basic Project.
You only have to set this indicator when you are creating the planning function.
You can deselect the Trust access to Visual Basic Project indicator afterwards.
3. Choose New to create a new workbook.
4. To enter the title, navigate to the appropriate cell in the workbook, enter the text and
assign a suitable font size.
In this example, the text Sales Planning is entered in cell B2 and given font size
18.
5. To start designing the workbook, choose to switch to design mode. The SAP Logon
dialog box appears.
6. Log on to the BI server that you want to use.
7. To display the results of the query with the actual and plan data and enter plan data
manually, navigate to the appropriate cell in the workbook and choose to insert an
analysis grid.
In this example, we navigate to cell B6 and insert the analysis grid here. For more information
about this design item, see Analysis Grid [External].
8. In the context menu of the analysis grid, choose Properties. The Analysis Grid
Properties dialog box appears.
9. On the General tab page, create a new data provider. The Create Data Provider dialog
box appears. In the Data Provider field, the system displays the name that is currently
assigned to the data provider.
In this example, we create data provider DP_01. For more information, see Configuring Data
Provider [External].
10. To determine the start view of the data provider, choose Query/Query View. The
Open dialog box appears.
11. Select the required query or query view and choose Open. The system inserts the
name of the InfoProvider on which the query or query view is based into the InfoCube
field.
In this example, we assign query Plan_Query01 to data provider DP_01. The
underlying aggregation level is Plan_Actual_Aggr.
12. As you want to save the navigational state after navigation steps have been performed
in BEx Analyzer and plan data has been entered, deselect the Reference the View
indicator.
13. When you have configured your data provider in this way, choose OK. The Analysis
Grid Properties dialog box appears again.
Core Development Tasks March 2006
Developing Business Logic
Business Planning and Analytical Services 77
14. Make sure that the Apply Formatting and Allow Navigation indicators are set and
choose OK.
15. To select the values of a dimension in the query as a filter, navigate to the appropriate
cell in the workbook and choose to insert a dropdown box.
In this example, we navigate to cell B4 and insert the dropdown box here. For more
information about this design item, see Dropdown Box [External].
16. In the context menu of the dropdown box, choose Properties. The Dropdown Box
Properties dialog box appears.
17. On the General tab page, select the configured data provider (DP_01 in this example),
and set the Display Label indicator.
18. On the Dimensions tab page, select the dimensions for which you want to be able to
select values in the dropdown box. Make sure that the Posted Values (Q) entry is
selected in the Read Mode field so that only posted values are displayed.
In this example, we select the dimension Country.
19. For each special function that you want to include, choose to insert a design item of
type Button.
In this example, we add pushbuttons in cells B18, B20; B22 and D22. For more information
about this design item, see Button [External].
20. In the context menu of the button, choose Properties. The Button Properties dialog box
appears. Enter a text for the pushbutton and static parameters in accordance with the
following example:
Special Function Buttons
Button Text/
Command Range Static Parameters: Name Static Parameters: Value
CMD EXECUTE_PLANNING_FUNCTION
PLANNING_FUNCTION_NAME PF_Copy
Copy
DATA_PROVIDER_FILTER DP_01
VAR_NAME OF_REVALUATION_FACTOR
DATA_PROVIDER_FILTER DP_01
PLANNING_FUNCTION_NAME PF_Revaluate01
Revaluate by %
Command range:
$A$30:$C$30
CMD EXECUTE_PLANNING_FUNCTION
Delete PLANNING_FUNCTION_NAME
PF_Delete
DATA_PROVIDER_FILTER
DP_01
CMD EXECUTE_PLANNING_FUNCTION
Save CMD SAVE_AREA
21. As the workbook contains all the necessary elements, you can exit design mode. You
do this by choosing .
Core Development Tasks March 2006
Developing Business Logic
Business Planning and Analytical Services 78
22. Create the command range for the function Revaluate by %.
In this example, we navigate to cell A30 and insert the text VAR_VALUE. Then
we navigate to cell B30 and enter "0". In cell C30 we enter "=C20".
23. If you want to see a plain background instead of the table layout, select all rows and
columns and choose Fill Color.
In this example, we choose White.
If you only want to hide the gridlines, you can change this setting. Choose Tools
→ Options → View; under the Window options group header, deselect the
Gridlines indicator.
24. Choose to save your workbook. For more information, see Save [External].
Result
You have an input-ready query in the analysis grid in which you can enter plan data manually.
You can use the planning functions you have created to calculate plan data. The data set is
determined by the navigational state of data provider DP_01. Restrictions on structure
elements (restricted key figures, for example) are not taken into consideration.
Test your workbook by entering, for example, values in cell C20 as revaluation
factors.
For more information about the context menu of the cells in the analysis grid, see Manual
Planning Functions [Page 83].
4.2.1.1.2.2 Creating Planning Applications in the BEx Web
Application Designer
Use
The following simple example shows how you create a Web application with a selection list
(button group), table and special pushbuttons for functions such as copy, revaluate (with a
fixed percentage) and save.
Prerequisites
You have a planning model that contains aggregation level Plan_Actual_Aggr (defined on the
basis of MultiProvider Plan_Actual_MP), query Plan_Query02 (which is not input-ready), a
filter and planning functions for copying PF_Copy and revaluating PF_Revaluate02.
You are familiar with the functions of the BEx Web Application Designer (see Creating a Web
Application [External] and Creating Web Applications with the BEx Web Application Designer
[External]).
Core Development Tasks March 2006
Developing Business Logic
Business Planning and Analytical Services 79
Procedure
...
1. Open the BEx Web Application Designer.
2. Choose Create New Web Template.
For more information about the Web template concept, see Web Template
[External].
3. Double-click on New Data Provider to create a new data provider of type Query
View Data Provider. The Maintain Data Provider dialog box appears.
For more information about the data provider concept, see Data Providers in BI
Applications [External].
4. In the Name field, the system displays the name it generated for the data provider. This
is currently assigned to the data provider. You can retain this name.
5. In the Define Data Provider Type area, choose the Query option. Choose Select
Query. The Open dialog box appears.
6. Select the query you want and choose Open. In the Query field, the system inserts the
name of the query.
7. When you have defined your data provider in this way, choose OK.
8. Drag and drop the required Web items onto the Layout tab page of your Web template.
In this example, we insert the following Web items:
■ Dropdown box
■ Analysis
■ Button group
For more information, see Web Items [External].
9. If you click on a Web item or choose Properties in the context menu of a Web item, the
system display the Properties screen area.
10. On the Web Item Parameters tab page, enter the required data in the highlighted fields.
For the Web items in this example, the following data is required:
For the dropdown box (see Dropdown Box [External]) under parameter Data
Binding → Data Binding Type → Selection of Characteristic:
■ Data provider: DP_01
■ Characteristic: Country
Set the indicator for the Label Visible parameter for the dropdown box so that
the label is displayed for Country.
The system uses the data provider you create first for all additional Web items. If
you have performed the activities in the order described here, the system inserts
data provider DP_01 under the Data Binding parameter for the Analysis Web
item (see Analysis [External]).
Core Development Tasks March 2006
Developing Business Logic
Business Planning and Analytical Services 80
For the button group (see Button Group [External]), under parameter Internal
Display → List of Buttons → Caption on the Text Editing dialog box (with option
Language-Independent Text) we enter a text for the required pushbuttons. We
choose the Command field to assign a suitable command to each button (see
Command Wizard [External]). The Edit Command dialog box appears. On the
All Commands tab page, select Commands for Planning Applications and
choose the required functions in accordance with the following examples:
Special Function Buttons
Button Text Command Parameter
Data Binding → Reference to
Data Provider of Type Filter:
DP_01
Copy Execute planning function (simple)
(EXEC_PLANNING_FUNCTION_SIMPLE
)
Command-Specific Parameters
→ Planning Function: Select
your copy planning function
(PF_Copy in our example)
Data Binding → Reference to
Data Provider of Type Filter:
DP_01
Revaluate Execute planning function (simple)
(EXEC_PLANNING_FUNCTION_SIMPLE
)
Command-Specific Parameters
→ Planning Function: Select
your revaluate planning function
(PF_Revaluate02 in our
example)
Save [SAVE_DATA] Data Binding: No entry
necessary
For more information, see Commands for Planning Applications [External].
11. Choose to save your Web template (menu path Web Template → Save).
12. Choose to execute your Web template.
Result
You can use the planning functions you have created to copy and calculate plan data. The
data set is determined by the navigational state of data provider DP_01. You can save the
entire Web application by choosing the Save pushbutton.
4.2.1.1.3 Performing Manual Planning
Use
In BI applications that use data providers that are assigned an input-ready query, the system
allows the manual entry of data either in input-ready cells or input-ready new rows.
In input-ready cells, you can change individual key figures for a posted data record; in input-
ready new rows, you can either change posted data records or enter new data records for
characteristic combinations that do not yet exist.
Core Development Tasks March 2006
Developing Business Logic
Business Planning and Analytical Services 81
Integration
You can use the BEx Analyzer to create and execute BI applications that provide this
function; alternatively, you can create them in the Web Application Designer and execute
them on the Web. In the BEx Analyzer, you use the Analysis Grid design item; on the Web,
you use the Analysis Web item.
For more information about manually entering data in a BI application created using the BEx
Analyzer, see Manual Planning Functions [Page 83].
Prerequisites
The following prerequisites must be met before you can change existing data:
● At least one input-ready key figure exists.
● No active conditions exist.
The following prerequisites must be met before you can enter data:
● No active universal display hierarchies exist.
Features
Input-Ready Queries at Execution Time
Whether the cells of an input-ready query can be changed upon execution depends on the
query view and possibly other settings (such as settings for data slices and characteristic
relationships).
With regard to whether the cells of a query view are input ready, note the following rules:
...
1. In a query that is used for manual planning, a cell is only input ready if each
characteristic value of all the characteristics included in the aggregation level is unique.
For this reason, none of the aggregated values on the aggregation level are input
ready; totals, subtotals and inner hierarchy nodes are not input ready.
2. If a query that is used for manual planning includes a navigation attribute that is
restricted using a fixed or dynamic filter or a restricted key figure, the system treats the
navigation attribute as a normal characteristic. The rule listed under point 1 applies.
The system only responds as if the navigation attribute is not part of the query if the
navigation attribute is not restricted.
3. In a query that is defined on a MultiProvider or a complex aggregation level and is to be
used for manual planning, cells are not input ready if the InfoProvider they refer back to
is not a real-time enabled InfoCube or is a real-time enabled InfoCube that has been
switched to load mode.
4. If an input-ready query is executed in change mode but the requested data is locked by
another user, the query is started in display mode.
Input-Ready Objects (Cells and Rows)
Depending on the tool you are using, note the following:
BEx Analyzer Web Application Designer
Core Development Tasks March 2006
Developing Business Logic
Business Planning and Analytical Services 82
Format of input-ready cells
All input-ready objects are displayed in format
SAPBEXinputData.
Format of cells that are not input ready
Cells that are not input ready are not
highlighted in any color. If you try to enter
values in a cell that is not input ready, the
system produces an error message.
Format of cells that are not input ready
Columns that are not input ready are
highlighted.
Input-Ready New Rows
Depending on the tool you are using, note the following:
BEx Analyzer Web Application Designer
Posted data
You can enter plan data irrespective of whether
data has been posted.
If no data is available in the analysis grid, you
use input help to restrict the free characteristics
to a single value and/or drag and drop the free
characteristics into the rows. You cannot use
characteristics in the columns and can use one
structure only.
Posted data
You can enter plan data if data has been
posted.
Rows and columns
You can use one structure only in the columns
or rows.
If data is not available in the analysis grid, you
can use one structure only in the columns, but
you cannot use a structure in the rows.
Rows and columns
You can use one structure only in the columns
or rows.
Format of input-ready rows
Input-ready new cells are always displayed
under the grid. You can enter data in all input-
ready rows. The system determines the
number of rows in which data has been
entered by checking the cells under the grid in
the first column. If one of these cells contains
data, the system assumes that data has been
entered for the corresponding row.
Format of input-ready rows
You determine the number and position of the
input-ready new rows in the parameters of the
relevant Web item (under Internal Display).
Input help
You access input help for a cell by double
clicking on it or choosing the F4 button.
Input help
Input help is not available.
Input
You can enter a key or text.
If you are working with text, the system has to
be able to determine a key from the text in the
logon language. For this reason we
recommend that you work with keys.
Input
You have to use the key.
Core Development Tasks March 2006
Developing Business Logic
Business Planning and Analytical Services 83
Activities
Input-Ready Cells
In input-ready cells, you can change the individual key figure values for a posted data record.
Input-Ready Rows
You can enter new rows if you are using an appropriate analysis grid. In the simplest case,
you use the key figure structure in the data columns and use input help to restrict the free
characteristics to a single value or drag and drop a free characteristic into the rows or
columns.
The system only display an input-ready new row if at least one of the cells in the row is
defined uniquely with regard to the characteristics in the underlying aggregation level. When
using navigation attributes and time characteristics, avoid redundancy by making sure that
you do not have derivable characteristics in the drilldown at the same time (for example,
month and quarter).
In the BEx Analyzer, note that the Analysis Grid design item has to be displayed in full size.
You make this setting in design mode on the Clipping tab page in the Analysis Grid Properties
dialog box. Choose Full Size as the horizontal and vertical setting.
If you want to create a Web application, first specify how many input-ready new cells you
want and where they are to be displayed. You do this in the BEx Web Application Designer in
the Web item parameters.
Depending on the tool you are using, proceed as follows:
BEx Analyzer Web Application
You are in change mode. In the input-ready
new rows, enter the required key figure and
characteristic values.
Execute the Web template and in the input-
ready new rows, enter the required key figure
and characteristic values.
Choose Transfer Values to pass changed data
records or new data records to the server to be
checked.
Choose Refresh to pass changed data records
or new data records to the server to be
checked.
Choose Save Values to store the data records
persistently on the database.
Choose Save to store the data records
persistently on the database.
The data is checked automatically during navigation (filter changes) and
navigation is not permitted if incorrect entries exist.
4.2.1.1.3.1 Manual Planning Functions
Use
In the BEx Analyzer you can use input-ready queries to create applications that allow manual
data entry. These can be simple applications in which you only use input-ready queries, or
they can be complex applications for manual planning in which you combine numerous
queries that are input-ready or can be defined for a particular analysis alongside planning
functions that change data automatically.
The functions of the BEx Analyzer that support you in entering data are described below.
Core Development Tasks March 2006
Developing Business Logic
Business Planning and Analytical Services 84
For an example of an application that is created using the BEx Analyzer, see Creation of
Planning Applications [Page 74].
Prerequisites
You have defined one or more input-ready queries in order to assign data providers to them.
For more information about defining an input-ready query, see Input-Ready Queries [Page
69].
Features
Manual Entry of Data in an Analysis Grid
In the BEx Analyzer, you use the Analysis Grid design item for manual planning. This uses
the data provider you have selected to reference an input-ready query (or query view). See
Analysis Grid [External]. In the analysis grid, a structural element of the query is input-ready if
you set the corresponding indicator for the element in the query definition.
Note that a cell can only be input-ready if each characteristic for this cell is
defined uniquely in the underlying aggregation level. The aggregation level
models the levels on which key figure values can be changed. If you have free
characteristics, you have to drag and drop these free characteristics into the
rows or columns before cells can be input-ready.
Other settings in BI Integrated Planning, such as data slices or characteristic
relationships, also affect whether data cells are input-ready.
In the simplest case, you want to manually enter or change values in input-ready cells.
The system uses a predefined MS Excel format template (SAPBEXinputData) to support you
in visualizing the input-ready cells. You can format this according to your requirements so that
you can distinguish input-ready cells from cells that are not input-ready.
By default, all the cells in a workbook can be changed. If you activate cell
protection in the workbook, you can only change the input-ready cells. To do
this, choose Properties in the context menu of the analysis grid and on the
General tab page in the Analysis Grid Properties dialog box, set the Enable Cell
Protection indicator.
Depending on the analysis grid, you can also enter new rows. In the simplest case, you use
the key figure structure in the data columns and use input help to restrict the free
characteristics to a single value or drag and drop a free characteristic into the rows or
columns. If no data is available in the analysis grid, you use input help to restrict the free
characteristics to a single value and/or drag and drop the free characteristics into the rows.
If new rows can be entered, the system displays a row under the analysis grid. This row is
formatted in the same way as the input-ready cells. For more information, see Performing
Manual Planning [Page 80].
Transfer Values
Changed cells and new rows are checked on the BI server. Choose Transfer Values from
the context menu of a cell that has been changed. The system reads the values from the
workbook, transfers them to the BI server and checks them for consistency against the
Core Development Tasks March 2006
Developing Business Logic
Business Planning and Analytical Services 85
planning model. The system only accepts the data if all entries are ‘correct’. As soon as the
changed data is available on the BI server, it is automatically visible in all other components
of the workbook for manual planning purposes. Other analysis grids that are input-ready or
determined for a particular analysis are refreshed accordingly with the changed data.
The values are also checked and transferred (if applicable) implicitly with each
navigation.
In the workbook settings on the General tab page, you can change the setting
that controls when plan data is transferred. We recommend that you use the
default Before Navigation option. If you choose the With Confirmation Prompt
option, the system displays a confirmation prompt every time before it transfers
the values. If you choose the No Transfer option, the entered plan data is not
transferred.
Save Values
Data that has been changed while the BEx Analyzer application is open is retained on the BI
server (in the planning buffer) if it is consistent. In the context menu, choose Save Values to
save this data on the BI server in the InfoProvider on the database.
You can create functions for transferring (CHECK_VALUES) and saving (SAVE_AREA)
changed data using buttons. For an example of how to create a save function, see Creating
Planning Applications in the BEx Analyzer [Page 75].
Using a Formula to Change Values
In the context menu of an input-ready cell, you can choose Change Values Using Formula to
access a tool that is similar to a calculator and supports you in entering data.
If you want to change individual cells or entire areas, highlight the area, enter a revaluation
factor, for example, and choose enter or CTRL + enter. The selected area is revaluated
accordingly.
You can get information about the syntax that is valid here from the Office
Assistant. Choose Help → Show Office Assistant.
4.2.1.1.4 Business Planning Portal Role
Use
In the portal, the Business Planning portal role provides users with a central point of access to
Business Intelligence content, which contains the various tools of Business Planning.
Technical name of the portal role: com.sap.ip.bi.business_planning_showcase
Core Development Tasks March 2006
Developing Business Logic
Business Planning and Analytical Services 86
Prerequisites
The system administrator for the portal has assigned the roles to the users.
Features
The Business Planning role in the portal contains the following subregisters:
Overview
This initial page provides an overview of the content of this portal role. In addition, it enables a
quick start to call the Planning Model with one or more specific objects. Enter the search
term (InfoProvider, aggregation level, filter, planning function, planning sequence) and choose
Start. The system calls the Planning Modeler with the associated search results in a new
window in the portal.
Planning Modeler
The Planning Modeler is the main application for access, modeling, testing and administration
of all objects for which building a planning model is required in BI Integrated Planning.
Planning Wizard
The Planning Wizard helps you to quickly build a planning scenario. It leads you through all
the necessary steps and includes a test environment for you newly created scenario. All
objects created here can be changed and enhanced in the Planning Modeler.
BEx Web Analyzer
With the BEx Web Analyzer you can navigate in queries and analyze data. For more
information, see BEx Web Analyzer [External].
With the BEx Web Analyzer iView, a BEx Web Application iView is called with
the Web template 0ANALYZER. The BEx Web Application Query String
property has value bi_template =0ANALYSIS_PATTERN. For more information,
see BEx Web Application or Query as iView in the Portal [External]
4.2.1.1.5 Transport of Planning Objects
You use the BI transport connection and BEx transport requests to transport planning-model
objects into another system (see Modeling Planning Scenarios [Page 21]).
For more information, see BI Transport Connection: Transporting Objects
[External] and Transporting BEx Objects [External].
Variables and filters that you have created in the planning modeler behave like the
corresponding query elements. You have transport object ELEM.
Unlike BEx objects, however, planning objects have the following distinctive feature: even if
the standard transport system is switched on, they are written to the BEx transport request or
requests.
Core Development Tasks March 2006
Developing Business Logic
Business Planning and Analytical Services 87
This applies to the following object types from the planning area:
● ALVL aggregation level
● PLCR characteristic relationship
● PLDS data slice
● PLSE planning function
● PLSQ planning sequence
● PLST planning function type
For more information , see Transport-Relevant Metadata Objects [External].
4.2.1.2 usiness Planning and Simulation (BW-BPS)
Purpose
Business Planning (BW-BPS) enables you to produce planning applications. You can either
develop your own planning application or use the Business Content delivered by SAP. The
area of application stretches from simple data input through to complex scenarios with data
extraction, automatic planning preparation, manual data input, controlling the planning
process, and retracting plan data. The architecture of BW-BPS is structured so that you are
able to implement simple scenarios without great effort but are equally able to build
sophisticated business-wide planning processes. Planning applications are built from the
following components:
● A data basis for storing transaction and master data
● Layouts for manual data input in SAP GUI and on the Web
● Planning functions for editing transaction data
● Characteristic relationships with which you define consistency conditions for your
planning application
● Planning packages and variables with which you define the work list for a planner
● A Status and Tracking System and a connection to the SAP Workflow for controlling
the planning processes
● Retractors and extractors for exchanging plan data with the ERP system. These
components are delivered with the Business Content.
The following graphic offers an overview of the BW-BPS architecture:
Core Development Tasks March 2006
Developing Business Logic
Business Planning and Analytical Services 88
Transactional InfoCubes, Hierarchies, Master DataData Storage
OLAP Buffer for
Transaction Data Master Data MetadataBuffer
Planning
Model
End-User
Interface
Web Interface Planning Folders
Web Inter-
face Builder Definition of Planning Folders
Planning
Layouts
Planning
Levels Planning
Functions
Characteristic
Relationships
Planning
Process STS Customizing / Runtime Components Workflow
Planning
Areas
Variables
Planning
Packages Planning
Sequences
An introduction to planning with BW-BPS is offered in the section Overview of Planning with
BW-BPS [Page 88].
4.2.1.2.1 Overview of Planning with BW-BPS
Purpose
In this overview you learn how to proceed generally in order to execute planning with BW-
BPS. This offers an initial overview of the required and optional steps and how these are
related to each other. You will find more information on the individual steps in the
corresponding sections of this documentation, which is referred to each time.
Process Flow
...
1. If an InfoCube with the required data is not already available in your BW system, create
an in InfoCube [External] with the required characteristics and key figures. Normally
you supply the InfoCube with data from the operative systems of your company. You
can use this data as actual data as the basis of your planning. With BW-BPS you can
also enter completely new plan data, without having to refer to existing actual data.
In both cases you need a transactional InfoCube for the plan data.
You can find more information under Create InfoCube [External] and, in
particular, under Transactional InfoCube [Page 420].
2. Create master data, master data texts, and hierarchies for the characteristics of the
InfoCube.
3. Create a planning area [Page 93]. You assign the InfoCube to this planning area.
Core Development Tasks March 2006
Developing Business Logic
Business Planning and Analytical Services 89
Note that an InfoCube can be assigned to one planning area at most.
If you specify an RFC destination in a planning area you can also access data from
another BW system.
4. Create characteristic relationships [Page 110] to ensure the consistency of the plan
data. This step is optional.
5. Create planning levels [Page 116] for the planning area. You include a selection of
characteristics and key figures from the InfoCube in these planning levels. In this way
you define on which aggregation level you are performing planning. Characteristics that
you do not include in the planning level are handled by the system in the following way:
When reading the data, the system aggregates using all existing values in the
transaction data records. When the data is saved the values of these characteristics
are replaced with the initial value.
6. Create planning packages [Page 119].
A planning package represents the quantity of transaction data on which the planning
functions and manual planning operate. In this way you distinguish the work lists of the
different planners. When designing a planning application you have to consider how
you want to separate work lists so that planners do not mutually overwrite plan data or
mutually lock data. An alternative to working with planning packages is to use user-
specific variables.
Every planning level automatically contains a planning package; the ad hoc package.
The ad hoc package can be used like a package that you have created. However,
while the settings of packages created by you are saved permanently, the system
resets all package settings for the ad hoc package when you exit the planning session.
7. Restrict the characteristics to your desired value ranges.
For every characteristic, decide whether you want to carry out the restriction in the
planning level or in the planning package. It is mostly advisable to restrict
characteristics of general significance centrally in the planning level (for example fiscal
year), while characteristics whose values describe certain subtasks, should be
restricted in the package (for example planning for article 100 to 200, customer 1000,
company code 2000 and 2100).
Try to restrict the characteristic values in the planning level and package to as small an
area as possible. This way, you reduce the data quantity represented by the planning
package, and increase the execution speed of the planning functions.
8. For every planning level create the planning functions you require.
Planning functions are created in the context of a planning level, and can access the
characteristics and key figures that are contained in the planning level. For all planning
functions, you require a parameter group (or several) in addition, which contains the
concrete processing rules – for example for a function of the type revaluation, the
percentage by which the values should be changed.
You will normally always choose the function type manual planning [Page 127]. With
the planning layouts [Page 128] that belong to it, you cannot only enter data manually,
you can also look at existing data. Apart from manual planning, you can also create
functions of various types, for example revaluation, copy, repost, and provide them with
parameter groups.
9. If you want to offer employees an individual view of the planning object, then you create
a planning profile [Page 123].
You can assign planning profiles your employees. These ensure that, from the entire
quantity of all planning objects (planning areas, levels, packages, functions), only those
are visible that are relevant to the respective employee. This makes orientation within
Core Development Tasks March 2006
Developing Business Logic
Business Planning and Analytical Services 90
the planning environment [Page 90] easier, and makes sure that all employees only
process the objects that are assigned to them.
This step is optional.
10. Define planning folders or Web interfaces for manual planning. This step is optional.
11. Define planning sessions and subplans in the Status and Tracking System so that you
are able to control planning processes. This step is optional.
12. Execute planning.
When executing planning in the planning workbench always select a planning package
first (for example by double-clicking) to determine the dataspace in which the planning
function should operate. Subsequently open a planning layout for data entry (in the
case of manual planning), or execute a planning function by double-clicking on the
desired parameter group. You can also execute the planning functions from an open
planning layout. After executing the planning function, you then see the changed key
figure values directly in the opened layout.
The connection between planning packages, parameter groups, and layouts in the
planning folders or Web interfaces are already fixed. End-users only have to select
layouts or function keys to execute their planning tasks.
13. Save your data.
During a planning session, you can navigate freely within the planning environment.
Changes to data and planning objects are automatically stored temporarily, and must
be explicitly saved when you end the session.
14. You can protect your data from unwanted changes.
When you have finished a planning task, you can create data slices [Page 95] in the
context of the planning area with which you can lock a greater area of complete data
quantity of the planning area against changes.
This step is optional.
Result
You have plan data at your disposal that you can compare with current actual data at any
time, and that you can also use as the basis for decisions.
4.2.1.2.2 Planning Environment
Definition
The planning environment is the central working environment for planning with BW-BPS. In
this transaction you will find all the Customizing functions to model the planning architecture.
You can also carry out planning from this screen.
The planning services represent one enhancement to the planning environment
in BW-BPS. They form the technical infrastructure of the planning applications
that are combined as CRM Analytics. CRM Analytics have been developed as
application-specific in the interests of sales planning. Therefore, the following
restrictions have to be noted:
Core Development Tasks March 2006
Developing Business Logic
Business Planning and Analytical Services 91
● You cannot include CRM Analytics in Web interfaces.
● CRM Analytics is not included in the Status and Tracking
System.
For more information see the Business Content documentation under BI
Content → Planning Content → CRM Analytics → Planning Services.
Structure
BW-BPS planning environment objects are discussed in the following topics:
● Planning Area [Page 93]
● Planning Level [Page 116]
● Planning Package [Page 119]
Integration
The central buffer concept in BW-BPS is discussed in the following topic:
● Buffer Concept (BW-BPS) [Page 91]
4.2.1.2.2.1 Buffer Concept (BW-BPS)
Use
Planning methods work with data that is stored in a buffer. This is called the planning buffer.
Data can be divided into:
● Transaction data (plan data)
● Master data, metadata (Customizing objects)
All changes to the data are written to the planning buffer. Therefore you do not have to save
continually. Furthermore, performance is improved.
However, what data is written to the buffer is dependent on the data selections made in the
planning package and in the detail applications (for example, the planning functions).
Detail applications are all elements that can be executed and are displayed in
the right-hand screen in the planning environment; these include, for example,
the planning definition screens or a planning function.
Each user writes data to a personal planning buffer. A user’s data in their (personal) planning
buffer is locked against changes by other users.
Activities
Every time a detail application is executed, the system first checks whether the requested
data already exists in the planning buffer. If it does, the system accesses the version of data
available in the planning buffer. If the data is not already in the buffer, the system reads it
either from:
● The database table (Customizing objects), or
Core Development Tasks March 2006
Developing Business Logic
Business Planning and Analytical Services 92
● The InfoCube (plan data)
and writes it to the planning buffer.
Commit Event
When you exit a detail application, the system writes the corresponding data to the planning
buffer.
You get to a manual planning layout and execute a planning function. In the
system, the following happens:
■ ...
i. The system writes the modified transaction data to the planning buffer.
ii. The planning function refers to the planning buffer data; it modifies the
data and writes it back to the planning buffer.
iii. Manual planning reads the modified data from the planning buffer and
displays it on the screen.
You can only exit a detail application when all of the data you have entered is
consistent; that is, when your entries enable the detail application to be
executed correctly. If necessary, you have to terminate the detail application. A
termination only ends the current detail application and only causes the data
from this detail application to be deleted in the buffer. All data for previous detail
applications is still buffered.
Saving
You can save at any point. The data is then written to the InfoCube or the database table and
also remains in the buffer. The buffered data is only deleted when you exit the planning
application.
As the data is still in the planning buffer, locks that are set automatically remain
set.
Therefore, BW-BPS never changes the data in a transactional InfoCube directly, but instead
returns a delta. Delta records are transformed when they are transferred to the planning
buffer. The planning buffer retains delta records as it does all other data records.
You can save data in two ways:
● Save All
Saves master data, metadata and transaction data. Data (or delta) is written from the
planning buffer back to the database tables and the InfoCube.
● Save Model
Only saves master data and metadata. Data is written from the planning buffer back to
the database tables.
Core Development Tasks March 2006
Developing Business Logic
Business Planning and Analytical Services 93
4.2.1.2.2.2 Planning Area
Definition
A planning area contains two components: a data basis in which the plan data, including the
master data, is provided and the settings in the planning environment that enable plan data to
be edited either manually or automatically.
You can form multi-planning areas by combining several planning areas.
Structure
Planning areas are specified by their technical and descriptive names, their BW System, and
the InfoCube that is to be used from that system. Once an InfoCube has been assigned to a
planning area, it can no longer be assigned to other planning areas.
Integration
When creating a planning area you can branch straight to the Administrator Workbench
[External]. Here you can create a new InfoCube or edit an existing InfoCube to assign to the
planning area.
The data that you store in the InfoCubes and access using planning areas normally originates
from the applications in an operative SAP system. These applications have data extractors
that supply the Business Information Warehouse with data.
If you are running BW-BPS in a distributed system landscape and create
planning areas that access InfoCubes in different BW Systems, the settings that
apply for all quantities and currencies are those basic settings (for example,
units, decimal places) that you made in the system where BW-BPS is running.
This applies particularly to exchange rates for currency translation. Recourse to
the settings stored centrally in one system is necessary to maintain the
consistency of the data.
See also:
Transactional InfoCubes [Page 420]
Editing Planning Areas [Page 93]
Multi-Planning Areas [Page 97]
Planning Environment [Page 90]
Planning Level [Page 116]
Data Slices [Page 95]
4.2.1.2.2.2.1 Editing a Planning Area
Use
When you edit a planning area you make central settings that are valid for all levels,
packages and planning functions assigned to this planning area.
In addition, you can branch directly to the SAP BW system that contains the InfoCube to
which the planning area is assigned.
Core Development Tasks March 2006
Developing Business Logic
Business Planning and Analytical Services 94
Integration
Some of the processing functions enable direct access to the SAP BW InfoCube assigned to
the planning area, and to the InfoObjects contained in this.
Features
The processing functions for planning areas are divided over the following tab pages:
Tab page Attributes
Here you can check which InfoCube is assigned to the planning area. If you are accessing a
separate BW System (Remote), you can also check the RFC destination that produces the
connection to the BW System here. You can switch straight to InfoCube maintenance using
Display InfoCube. Here you can view the underlying InfoCube and, where necessary, edit
it.
You normally only make settings for the InfoCube and RFC destination when creating a new
planning area. This is because all additional objects that you create within the planning area
depend on the key figures and characteristics available in the underlying InfoCube.
Therefore, it is only possible to make changes to the settings for the InfoCube and RFC
destination, without necessitating any extra reworking, if the newly assigned InfoCube has the
same key figures and characteristics as the previously assigned one. It may make sense to
make supplementary changes to these settings in the following cases:
● You are using an existing InfoCube as the reference for a new InfoCube. You will add
additional characteristics and key figures to the new InfoCube. You copy the planning
area that is connected to the reference InfoCube and assign the new InfoCube to the
new planning area. By doing this you can use all the objects that were available in the
original planning area in the new planning area, without more Customizing work. You
are also able to use the additional characteristics and key figures.
● You already have a BW system that is used company-wide and you want to retain the
InfoCubes that you access with BW-BPS in that BW system too. Therefore, you
transfer the InfoCubes that already exist in the planning system into your central BW
system and add a corresponding RFC destination to the settings of the planning areas
that previously accessed these InfoCubes within the planning system.
● You are operating several BW systems and have transferred an InfoCube to a system
that is based on high-performance hardware. In this case, change the setting of the
RFC destination in the planning area and you can profit from improved performance,
without making further changes.
You can only change the settings for the InfoCube and RFC destination if you have not yet
made changes to the planning area or its subordinate objects in the current planning session.
If required, terminate the planning session and start again in order to execute the desired
changes.
Tab page Data slices
Here you define value ranges for the characteristics in the planning area that you want to lock
against further postings. For more information, see Data Slices [Page 95].
Tab page Variables
● Here you define variables for characteristic values that can be used in all planning
levels, packages, and functions of the planning area, instead of fixed values. In this
way you have the option to maintain central specifications, for example fiscal year, in
Core Development Tasks March 2006
Developing Business Logic
Business Planning and Analytical Services 95
one place, but to make them automatically effective in all the areas of the planning area
that are affected. For more information, see Variables [Page 102].
Tab page Master data
Here you receive an overview of all the characteristics contained in the planning area and,
where applicable, all the BW hierarchies belonging to them. Using the context menu of a
characteristic, you can switch to the master data maintenance of the characteristic and enter
new entries or change existing ones.
Note that master data for planning is read in the M version and not the A version. Time-
dependent texts and attributes for master data can be created in BW. You can specify a key
date for time-dependent master data. The master data is accessed with this key date. The
system delivers those attribute values and texts that are valid on the specified key date. If you
do not specify a key date, the master data is read with the current date. In multi-planning
areas, the master data is accessed with the key date from the basic planning areas.
The system accesses master data with regard to time in the following cases:
● when reading regular-language texts for characteristic values
● when reading attributes for display in the planning layout or for characteristic
relationships
● with the ATRV function in planning functions of type “formula”.
Tab page Characteristic relationships
You correlate formally independent characteristics in a planning area using characteristic
relationships. You are able to define which combinations of values are valid, which values are
derived from other values, and which values are suggested in manual planning. For more
information, see Characteristic Relationships [Page 110].
4.2.1.2.2.2.2 Data Slices
Use
You use data slices when you want to explicitly lock certain subsets of a planning area
dataset so that the data cannot be updated. Data slices serve a similar purpose as
authorizations. Instead of working with data slices you could theoretically also retract the
authorization for planners to change plan data during the course of a planning session.
However this would prove costly in terms of administration.
When you create a planning area, there are no default settings that restrict the data you can
update. In practice, however, it may be appropriate to only permit data updates for specific
characteristic value combinations:
The InfoCube, on which your planning area is based, contains data from different
companies in your enterprise. Normally, the companies themselves are
responsible for importing the necessary data into the InfoCube in the SAP BW.
However, you now want to enter further plan data for one of these companies. At
the same time, you want to ensure that the data from the other companies is not
changed in any way. To achieve this, proceed as follows:
Core Development Tasks March 2006
Developing Business Logic
Business Planning and Analytical Services 96
Create a data slice for the planning area. Restrict the characteristic company to
those companies for which no more data is to be entered. After you have saved
the data slice, data can only be updated for that company (or companies) that is
not included in the selection. You can continue to read data from the other
companies as before.
Features
When you use data slices the following rules apply:
● If no data slice is defined for a planning area, you can update data for any
characteristic value combination.
● A characteristic value restriction in a data slice acts as a lock that prevents changes.
This means that you cannot update data for those characteristic value combinations
that are included in the restrictions. You can change all the other data.
● You can create multiple data slices for a planning area. The change locks, set up using
characteristic value restrictions, have a cumulative effect. This means that, as you add
more data slices, you further restrict the data area where changes can be made.
● Whenever more than one data slice exists for a planning area these act as one. It is not
possible with multiple data slices to have only some of them effective.
● If a planning area contains a data slice that includes no characteristic value restrictions
at all then the data slice acts as a lock for postings of all types in the entire planning
area.
● A data slice acts on all planning levels and packages that belong to the same planning
area as the data slice.
Status of a data slice
After you have created a data slice it is activated automatically. The settings made in the
definition of the data slice have an immediate effect on the ability to update data.
You can also deactivate data slices. This can, for example, be useful in the following
situations:
● You set up the Customizing for planning in your company. You already know in
advance that update locks will be necessary at a later point in time. You want to have
these locks ready without them being effective immediately as you first want to fully
complete Customizing. Activating the locks is to take place later.
● You have used a data slice to lock updates of new data. You later realize that
subsequent updates are required because of late deliveries or payments.
To switch the status of a data slice, choose Activate or Deactivate from the context menu of
the data slice. In the list of data slices, the system displays the present status of the data slice
with a traffic light symbol ( = active, = inactive).
See also:
Planning Area [Page 93]
Planning Environment [Page 90]
Core Development Tasks March 2006
Developing Business Logic
Business Planning and Analytical Services 97
4.2.1.2.2.2.3 Multi-Planning Area
Definition
A planning area that combines the characteristics and keys figures of several basic planning
areas. A multi-planning area also contains the characteristic planning area. This is created
automatically and can be used to identify and select all the basic planning areas combined in
the multi-planning area. The technical names of the basic planning area are valid values for
this characteristic. When the system reads the transaction data it fills this field automatically
with the technical name of the planning area from which the data record was read.
Consequently, you are also able to use non-transactional InfoCubes.
Characteristics that do not exist in a basic planning area but exist in the level of a multi-
planning area are handled in the following way: When reading, the system checks whether
the initial value for this characteristic is permitted in the selection condition of the planning
level or planning package.
● If the initial values are contained in the selection condition, the data records are read
from the basic planning area and transformed into records for the multi-planning area.
The initial value is assigned to characteristics and key figures that are not available.
● If the initial values are not contained in the selection condition, no basic planning area
data records are read.
If a planning function is to generate values that are not the same as the initial value for
characteristics that are not available in the basic planning area, an error message is
produced.
A multi-planning area does not contain any data of its own.
Use
Accessing Data in More Than One InfoCube
You use multi-planning areas in order to access data from two or more InfoCubes
simultaneously. It is not a problem if the InfoCubes have different data models (also see Data
Modeling: Key Figure Model and Account Model [Page 346]). The multi-planning areas are
especially useful if you want to read data from one planning area and write it to another.
You want to plan resources for the sales department in your enterprise. The BW
system that you are using as a data basis for BW-BPS contains one InfoCube
with personnel data and one with sales data. To use the personnel data and the
sales data at the same time, even though it is split into separate InfoCubes,
create a multi-planning area. You then assign two basic planning areas to the
multi-planning area. The two InfoCubes are already assigned to these basic
planning areas.
Accessing Data in One InfoCube from More Than One Multi-Planning Area
You can also use multi-planning areas to get around a restriction to the basic planning areas:
In the BW-BPS planning environment you are not permitted to assign the same InfoCube to
more than one planning area. However, if you require a multiple assignment of this type for a
particular reason, first create a basic planning area and assign the relevant InfoCube to it. To
access the InfoCube, you can create as many multi-planning areas as required and assign
the basic planning area you have created to them.
Core Development Tasks March 2006
Developing Business Logic
Business Planning and Analytical Services 98
Reporting from Transactional InfoCubes
You have various options for displaying the data that you have planned in transactional
InfoCubes.
● You can read the data straight from the transactional InfoCube.
● You can transfer the data from the transactional InfoCube into a basis InfoCube and
display it there.
As the part of the data in the transactional InfoCube is located in an open
request (which is therefore “yellow”), the query does not read the most up-to-
date data by default. So that all the data is read you have to set a variable for
the Request ID characteristic to the value Most Current Data in the query.
The following table offers an overview of the advantages and disadvantages of this type of
reporting:
Reporting from Transactional InfoCubes
PRO CONTRA
● Data is always up to date.
● Data is always held in one place so there
is no redundant data.
● Aggregates are not always up to date as
data is often changed during planning.
● If you have an Oracle database, you are
not able to use the usual BITMAP
indexes for the F table. Concurrent locks
may be set if several users update data
at the same time. Therefore the system
uses the BTREE indexes which are
somewhat slower.
Reporting from Basis InfoCubes
PRO CONTRA
● You are always able to access up to date
aggregates.
● If you have an Oracle database, you are
able to use the usual, quicker BITMAP
indexes for the F table.
● Data is not always up to date.
● Data is always held in two places so
there may be redundant data.
Maintaining Multi-Planning Areas
You edit multi-planning areas just like normal (basic) planning areas: You create planning
levels, define planning packages and planning functions, and execute these functions.
Changes that you make to any data for a basic planning area, which is referenced by a multi-
planning area, are automatically visible in the multi-planning area too, and vice versa. You
can work with a multi-planning area and its underlying basic planning area simultaneously.
As a multi-planning area contains all the characteristics and key figures of the
basic planning area, as well as the characteristic planning area, more main
memory space and more CPU time is used than when working with basic
planning areas. You can improve performance by reducing the size of the
planning buffer. In this regard:
Core Development Tasks March 2006
Developing Business Logic
Business Planning and Analytical Services 99
■ only use as many basic planning areas in a multi-planning area as are
strictly necessary
■ execute planning functions that only affect one basic planning area
directly in the basic planning area
Structure
A multi-planning area contains all the characteristics and key figures of those planning areas
that are combined in the multi-planning area, as well as the planning area characteristic,
which is generated by the system automatically. This characteristic enables you to assign key
figures to a particular basic planning area. BW-BPS ensures that this characteristic is always
selected. You can also use the planning area characteristic to read data from one planning
area and write it to another. To do this, you create a planning function (for example, of type
copy) and include planning area in the list of fields to be changed. Then, in a parameter group
for the function, you determine which planning area the data is to be written to.
The procedure described above for cross-planning-area data processing is the
only way to get around the fact that planning functions are restricted to the data
in their own planning areas.
As well as using the copy function in a multi-planning area, you can transfer data from one
InfoCube to another using a data mart or data staging. The following table offers a concise
overview of the advantages and disadvantages of the two techniques:
Data Staging
PRO CONTRA
● The server requires less memory
capacity as there is no buffer.
● Instead of having to recreate the
database indexes of the database table
after each data record transfer, you can
save time by:
■ ...
■ ...
b. deleting the database indexes
c. transferring data
d. recreating the database indexes
● The data staging process is quicker than
executing a planning function.
● As you are using a transactional
InfoCube as the target, you have to
switch this from Planning enabled to
Load enabled before you start the data
staging process and then reverse it
again after.
Copying to the Multi-Planning Area
PRO CONTRA
Core Development Tasks March 2006
Developing Business Logic
Business Planning and Analytical Services 100
● The copy function is very easy to set up.
If data has to be changed during the
transfer process you can use the FOX
formulas.
● If data cannot be saved in the target
InfoCube, you receive a detailed error
message.
● You do not have to switch between
Planning enabled and Load enabled in
the transactional InfoCube and can
therefore continue planning while
copying takes place.
● You can use the additional features in
the planning environment, for example,
the flexible selection of data to be
transferred using variables or
derivations.
● The server requires a lot of memory
capacity as all of the data to be copied is
located in the planning buffer.
When saving, you have to refresh the indexes
of the database table after each data record.
Integration
In order to work with multi-planning areas you must first have created basic planning areas.
You cannot delete a planning area that is referenced by a multi-planning area.
You can only change the composition of the basic planning areas that make up
a multi-planning area until you save the multi-planning area. This is similar to the
restriction with basic planning areas. You cannot subsequently change their
assignment to an InfoCube.
Make sure that the technical settings for the characteristics and key figures in the various
InfoCubes are the same, if:
...
1. you are using the same characteristics or key figures in different planning areas and
2. these planning areas are in different systems.
See also:
Multi-Planning Area: Application Examples [Page 100]
Planning Area [Page 93]
Planning Sequences [Page 267]
4.2.1.2.2.2.3.1 Multi-Planning Area: Application Examples
Here you will find some typical application examples for using multi-planning areas. The steps
and objects that are relevant for the respective task are named for each object.
Core Development Tasks March 2006
Developing Business Logic
Business Planning and Analytical Services 101
Copy
You want to copy the transaction data from planning area G1 into area G2. Both areas are
structured the same, therefore they have the same characteristics and key figures.
Function type: Copy
Fields to be changed: Planning area
Parameter group: from G1 to G2
Copying with Automatic Summarization
You want to copy the transaction data from planning area G1 into area G2. Both areas
contain the same key figures. Whereas the independent characteristics article and article
group are in G1, G2 only contains the characteristic article group. For this reason, a
breakdown according to individual articles will be lost for the data to be copied to G2: The
data is automatically aggregated. To do this, create the copy function in the context of a
planning level that only contains the characteristic article group. You require the following
objects:
Planning level: Contains all desired key figures, but only the characteristic article group from
G2
Function type: Copy
Fields to be changed: Planning area
Parameter group: from G1 to G2
Grouping Together Key Figures
The key figures sales and discount are managed in planning area G1, the key figure net
revenue in planning area G2. You want to determine the net revenue using both key figures
from the other planning area.
Function type: Formula
Fields to be changed: Planning area, key figure
Parameter group: {G2, net revenue} = {G1, sales} – {G2, discount}
Assignment of Key Figures to Accounts
Planning area G1 contains various financial key figures, but no account characteristic.
However, there is an account characteristic in area G2, as well as a key figure value. You
want to assign the amounts, which were posted in G1 for the key figures, to the appropriate
accounts.
Function type: Formula
Fields to be changed: Planning area, account, key figure
Parameter group: {G2, 800000, value} = {G1, #, sales}
For syntactic reasons, the transfer of a value for the account characteristic is
demanded in formula operands on the right of the assignment operator. As no
such characteristic exists in planning area G1, the initial value # is transferred
instead of an account.
Cost Center Assessment
Planning area G1 has the characteristics cost center and account, as well as the key figure
value, which contains the amount per account and cost center. The characteristic article
group and the key figure administration costs are managed in planning area G2. You want to
Core Development Tasks March 2006
Developing Business Logic
Business Planning and Analytical Services 102
apportion the amount posted to account 400000 of cost center 5000 to a quarter as
administration costs to the article group AG1.
Function type: Formula
Fields to be changed: Planning area, article group, cost center, account, key figure
Parameter group: {G2, AG1, #, #, administration} = {G1, #, 5000, 400000,
value}
4.2.1.2.2.2.4 Variables
Use
You can use variables to reduce the amount of recurrent Customizing work in the planning
environment. You achieve this by restricting characteristics to one desired value or value
range using variables in a central place within a planning area. You can also determine these
values by selecting hierarchy nodes or attributes. The setting of the characteristic value which
you make in this way then becomes automatically effective in all places within the planning
area where the selection for the corresponding characteristic is referred to the variable you
have defined. You can also create variables for numeric values which have no reference to a
characteristic.
The use of variables offers the following advantages compared to a direct entry of selection
conditions for a characteristic:
● Reduced Customizing effort: You only have to make settings that should be valid in the
entire planning area as standard (the same as variable definition) in one place, and
transfer these settings per variable reference to all planning levels and functions of the
area.
● Flexibility: You can set the valid selection for a characteristic individually for every user.
● Dynamic, automated adjustment of Customizing: You can have the selection
determined by a function module, where you have complete freedom in the definition of
selection values. In this way it would be conceivable that certain characteristic value
combinations can only be planned within a certain time period, and the assigned
function module automatically sets another combination at the end of this period.
● Simplified structure of planning layouts: You can mark up characteristic values that are
transferred per variable with an offset [External]. This leads, for example, to a drastic
simplification of the maintenance of planning layouts for rolling planning over several
periods, because with a period change you only ever have to update the value of the
outgoing period and adjust all other periods automatically using graded offsets.
Integration
Variables that you define in the context of a planning area can be referenced anywhere within
the planning area where a selection condition can be entered for this characteristic:
● In the planning level [Page 116]
● In the parameter groups of the user-defined planning functions [Page 196] for which the
characteristics can be included in the list of fields to be changed (for example copying,
reposting)
● In the formula editor of a formula function [Page 251] using the ABAP keyword VARV
(variable value) and VARI
Core Development Tasks March 2006
Developing Business Logic
Business Planning and Analytical Services 103
● In manual planning [Page 127] with column definition
The option of restricting characteristic values through variable replacement is
not offered in planning packages.
Features
Variable types
You can create the following types of variables:
● Characteristic You select one or several characteristics from the characteristic pool of
the planning area and enter with which values of these characteristics the variable
should be replaced at the time of execution.
● Attribute First you select a basic characteristic from the characteristic pool of the
planning area and then enter one or several attributes of this characteristic. You define
the desired attribute values for each of these attributes. The variable then makes those
values available for the basic characteristic that corresponds to the selected attribute
values (for example all articles that belong to a selected article group as an attribute
value).
● Hierarchy First you select a characteristic from the characteristic pool of the planning
area and then one of the BW hierarchies defined for this characteristic. Finally, you put
together a selection of those values of the hierarchy-bearing characteristic that are
contained in the hierarchy.
● Number You determine that the variable should be replaced at the time of execution by
the number you defined. You use this type of variable where nondimensional sizes are
used in BW-BPS (for example as a revaluation factor in functions of type revaluation
[Page 215] or in formulas [Page 251] with the formula function VARV and VARI).
You can define any number of variables for every characteristic of the planning area. In
addition, the possibility exists to assign several characteristics to one individual variable at the
same time. If you assign a user to a variable defined in this way this results in the worklist of
this user from a business view.
You want to define a variable that describes the worklist of an employee who is
responsible for the sales planning of antidiabetics in two sales regions. To do
this, assign the characteristics product group and region to a variable VPGRG
with the replacement type “User-specific values”, and define the product group
to “Antidiabetics” as well as region to the values “North” and “South”. Specify the
names of the variable (VPGRG) as selection for both characteristics respectively
in a planning level. When the employee executes planning functions within this
planning level, these automatically work on the values of the product group and
region characteristics defined by the variable.
The following special features apply for variables where several characteristics
are assigned:
■ You can only assign a quantity of single values to the variable for every
characteristic, but no value ranges.
Core Development Tasks March 2006
Developing Business Logic
Business Planning and Analytical Services 104
■ You can only use the variable in planning levels, which contain all the
characteristics which are also contained in the variable definition.
■ The indicator Restriction of selection required by user is automatically set
by the system and cannot be reset by the user.
In addition to the reference characteristic, determine the replacement type and the required
type of text replacement for every variable (except numeric variables).
Replacement type
The replacement type allows you to control the way in which the variable is replaced by a
value or value range at runtime:
● Fixed value
With this replacement type you enter a selection of values or value ranges for the
variable. These are used standardized in the entire planning area for the replacement
of variables.
● User-specific values
With this replacement type you proceed as with replacement by a fixed value. You also
enter the user for which the variable values should be valid. In this way you can make
sure that the person responsible for sales planning sees the plan figures for all regions
when he/she navigates within the planning area, while the processors responsible for
individual regions are only offered the plan figures that fall within their area of
responsibility. Users are distinguished by the user names with which they log onto the
system.
If a characteristic is to be replaced with the user-specific values of a variable but
no values are defined for the current values, the planning functions affected by
this cannot be executed.
You have defined a variable VCOMPANY for the characteristic company, with
replacement type "user-specific values", and entered different selections for the
users SMITH and JONES. You have set a replacement with the variable
VCOMPANY for this characteristic in the planning level. User BROWN tries to
execute a planning function in which company is contained in the list of
characteristics to be changed. The system issues an error message because it
cannot determine the companies for which functions are to be executed with
user BROWN.
● User exit
With this replacement type you enter one of the function modules you created to
determine the characteristic value to be used dynamically when the characteristic is
accessed while executing a planning function. On this basis of this the system can
compile the content of the planning package and transfer it to the planning function for
processing.
● Authorization
With this replacement type the system automatically determines those characteristic
values for which the user logged onto the system has an authorization, and allows the
user to make a selection from those values. The authorizations used here are the
reporting authorizations from the BW system. This has the advantage that
authorizations in reporting are automatically consistent with authorizations in planning,
without any extra Customizing effort.
Core Development Tasks March 2006
Developing Business Logic
Business Planning and Analytical Services 105
You can find authorization management in the SAP menu at Business
Information Warehouse
→
Business Explorer
→
Authorizations
→
Reporting –
Authorization Objects.
For more information, see Maintaining Authorizations [External].
Text replacement
Here you enter which of the various text types (short, medium, long) should be used to
display the characteristic values in the column headers of the planning layouts of Manual
Planning [Page 127]. If no texts are maintained in the logon language, the characteristic value
itself is displayed instead. Here you can make the display of characteristic values mandatory.
See also:
Defining Variables [Page 105]
Using Variables [Page 108]
4.2.1.2.2.2.4.1 Defining Variables
Use
You define variables for the restriction of characteristic values in order to maintain selections
that should be valid for the entire planning area in only one place and thereby reduce the
amount of Customizing. In addition, you can define variables without characteristic references
to be replaced by numeric values. You can use numeric variables of this type in planning
functions of the type formula and revaluation.
Procedure
...
1. In the context menu of the desired planning area, choose Change area.
2. Switch to the tab page Variables.
3. Decide which action you want to execute:
○ To create a new variable, choose Create. Enter the technical name, a
description and the type of variable.
○ To change the description of a variable, choose Change description.
○ To edit the properties of an existing variable, double-click on the variable name.
The system displays the properties of the variable.
4. Make the desired settings for the variable. The possible settings comply with the type of
variables:
a. Characteristic variables
Characteristics: Choose Add Characteristic to assign a characteristic to the
variable for whose values you want to define a selection using variables.
Core Development Tasks March 2006
Developing Business Logic
Business Planning and Analytical Services 106
The system displays a dialog box with the list of all characteristics of the
planning area. Choose the characteristic that you want to assign to the variable
from this list.
You can repeat this activity to assign several characteristics to the variable. If
several characteristics are assigned to one variable, the selection can only
contain single values for every characteristic, but no value ranges.
Choose Delete characteristic to remove the assignment of a characteristic to
a variable. Note that you can only save a variable when at least one
characteristic is assigned.
b. Hierarchy variables
Characteristic: Choose characteristic, to assign a characteristic to the variable.
Hierarchy: Choose one of the available hierarchies for the characteristic.
c. Attribute variables
Characteristic: Choose a basic characteristic, whose attributes you want to use.
Attributes: Choose one or more of the attributes defined for the characteristic.
d. Numeric variables
Numeric value: Enter a numeric value with which the variable should be
replaced at the time of execution.
Value range for numeric values: Numbers up to 22 digits long are permitted with
up to 9 decimal places.
The following fields are available with various variable types:
Text replacement (characteristic and attribute variables): Decide which of the various
text types (short, medium, long) should be used, to portray the characteristic values in
the planning layout of Manual Planning [Page 127].
Replacement type (characteristic, attribute and hierarchy variables): Decide in which
way the values of variables should be defined. There are the following replacement
types:
Fixed value: Enter the desired values in the table Selection conditions.
Everywhere where you later want to refer to the variable, the variable is replaced
by a value specified by you.
User-specific values: You define values for the variables similar to the
replacement type Fixed value. However, in the list of users, you must first enter
the user for which the values you subsequently enter are to be valid. When
executing planning, the variable is then replaced by those values which were
defined for the user who is logged onto the system.
If when executing planning, variables are used with the replacement type user-
specific values, but no values are defined for the user logged onto the system,
then this user cannot execute planning. However, you can avoid this execution
lock by setting the indicator Input allowed by user for the variable.
User exit: You enter a function module, which dynamically determines the
characteristic value to be used at runtime.
Core Development Tasks March 2006
Developing Business Logic
Business Planning and Analytical Services 107
If you change the characteristic assignment or the replacement type of a
variable, all previously entered characteristic value restrictions are deleted. In
the case of a variable with the replacement type User-specific values, the list of
assigned users is also deleted.
Restriction of values required by user: If this indicator is selected, then the
system requests that the user restricts the possible selection values of the
variable when executing planning. In this way you can force a two-step
restriction of valid characteristic values:
− Global restriction by simulation of selection values in the variable definition
− Additional user-specific restriction of globally predefined values at runtime
For variables where more than one characteristic is assigned the system
automatically sets this indicator and removes the ready for input status so that
the setting cannot be changed.
Input allowed by user (only for variables with the replacement type User-specific
values): If this indicator is set, the user has the option of restricting or also
extending the globally predefined characteristic values further at the point of
execution.
Selection conditions: Here you enter the characteristic values that should be
made available by the variable at runtime. Depending on whether one or several
characteristics are assigned to a variable, the type of characteristic restriction
differs:
− One characteristic assigned: You can define single values and value ranges
for the characteristic.
− Several characteristic assigned: You can only define single values for the
characteristic.
5. In the Selection conditions table, enter the values that should be made available by the
variable at the time of execution.
With variables of the type hierarchy, the cells of the Selection conditions table
are locked against manual entry to avoid values being entered that are defined
on the hierarchy-bearing characteristic but do not occur in the hierarchy. In order
to define characteristic values for variables of the type hierarchy, use the F4-
Help.
Result
After you have defined the variable you can use it in the planning levels and functions of the
planning area to restrict characteristic values.
See also:
Using Variables [Page 108]
Core Development Tasks March 2006
Developing Business Logic
Business Planning and Analytical Services 108
4.2.1.2.2.2.4.2 Using Variables
Use
You use variables for the characteristic value restriction in order to transfer, per reference to
the variables, their centrally defined value for the current planning object.
Procedure
The way you use variables depends on the type of object that you want to use together with
the variables.
Variables in the planning level
...
1. Select the planning level in which you want to use variables for characteristic value
restriction and choose Planning
→
Planning level
→
Change.
2. Switch to the tab page Selection.
3. Position the cursor in the From column of the characteristic whose characteristic value
you want to restrict using a variable.
4. Choose Switch variable on/off to activate variable replacement for the characteristic.
When the variable replacement is activated the system automatically hides the To
column. If you require a value range as a selection, you can achieve this by defining
the variable correspondingly.
5. In the From column of the characteristic, enter the technical name of the desired
variable. With the input help pushbutton you can also request a list of all variables that
are defined for the characteristic and transfer the desired ones.
6. For time characteristics there is a dialog box in which you can also enter an offset. This
makes it easy to create a copy function, for example, copy from the previous period.
Variables in Planning Functions (Except Formulas)
...
1. Select a function that contains a characteristic in at least one of the lists for fields to be
changed or for conditions that you want to restrict with a variable.
2. Choose a parameter group for this function.
3. Position the cursor in the From column of the characteristic whose characteristic value
you want to restrict using a variable.
This step is valid for both characteristic to be changed and for characteristics from the
list for condition fields.
4. Choose Switch variable on/off, to activate variable replacement for the
characteristic.
When the variable replacement is activated the system automatically hides the To
column. If you require a value range as a selection, you can achieve this by defining
the variable correspondingly.
5. In the From column of the characteristic, enter the technical name of the desired
variable. With the input help pushbutton you can also request a list of all variables that
are defined for the characteristic and transfer the desired ones.
Core Development Tasks March 2006
Developing Business Logic
Business Planning and Analytical Services 109
Variables in Formulas
Proceed as follows when you want to access a variable defined in the planning area from a
formula:
...
1. In the formula editor, create a local variable, whose type refers to the characteristic to
which the (global) variable belongs (for example DATA VCOMP TYPE 0COMPANY).
With global variables of the type number, you choose the predefined type F in
the formula editor for the local variable.
2. Determine the value of the (global) variable using the language element VARV and
allocate it to the local variable (for example VCOMP = VARV('VCOMPANY')).
Variables in Manual Planning
Whether or not you are able to use variables in manual planning depends on the settings you
have made in the planning level.
...
1. Make sure that the characteristic value restriction by variables in the planning level was
made so that it is suited to your planning layout. There are the following dependencies:
The system evaluates the settings in the planning level and automatically
ensures that each characteristic can only be used in suitable areas of the
planning layout.
The following steps only refer to characteristics with time base that are to be used in
the data columns.
2. Position the cursor in the From column of the characteristic whose characteristic value
you want to restrict using a variable.
3. Choose Switch variable on/off, to edit the variable replacement for the characteristic.
The system displays a dialog box. Here, you can check the name of the variable that is
used in the planning level for characteristic value restriction, enter an offset for the
characteristic, or return to the entry of a fixed value.
4. Enter an offset with which the characteristic value, which results from variable
replacement, should be marked up.
Since in the definition of an individual data column with characteristic reference
you can also only assign one individual characteristic value to the column, the
following special feature applies in manual planning: With a characteristic,
whose value is restricted by variable replacement and should be used in the
data column, only the smallest value of the selection is used as the
characteristic value; all other values that are possibly contained in the selection
are ignored.
You want to include the characteristic 0FISCPER in a data column with the key
figure values being displayed for the prior, current, and subsequent period.
Period is restricted in the planning level by a variable VPERI, which contains the
value range 003...012 as selections.
Core Development Tasks March 2006
Developing Business Logic
Business Planning and Analytical Services 110
For the first data column choose Switch variable on/off to enter the offset –1
for the past period in the dialog box (since as a result of this you fall below the
smallest allowed value of the selection, the system automatically converts the
data columns into a comparison column [External]). Repeat this step for the next
column. Here you leave the field for the offset empty in order to transfer the
current period. Finally for the third column you enter the offset 1 for the following
period.
At the end of the period you can modify the selection of variable VPERI to the
value range 004...012. The data columns of the planning layout then
automatically adjust to the changed setting, without you having to edit the layout
manually.
You can also use the characteristic value determined by the variable
replacement as a pure character string in column headings. To do this simply
add the variable name (if required under the entry of the desired offset) in the
text of the column heading, for example “sales in period VPERI+2”. The system
recognizes at runtime that it concerns a variable and replaces the variable
names with the current value.
4.2.1.2.2.2.5 Characteristic Relationships
Use
It is often the case that characteristics used within a planning task do not coexist in isolation.
A relationship often exists between the different characteristics in terms of content, although
this may not be immediately obvious from the technical modeling of the characteristics.
Characteristic compounding indicates that a particular (higher-level) characteristic always
has to be lead to a compound characteristic (see Tab Page: Compounding [External]).
However, characteristic compounding does not make clear whether the particular values of
one characteristic correspond to the particular values of the other. The content of, for
example, the characteristics Article and Article Group correspond in this way.
Characteristic relationships are used to relate those characteristics that correspond to each
other in terms of content. Using characteristic relationships you can set up procedures to
check valid combinations of characteristic values and in addition, check that the system
enters valid combinations of this sort within manual planning in the lead column or in the
header area of a planning layout (default values). Furthermore, you can define rules
according to which the system can derive values for further characteristics from the
characteristics that you use for a planning task. These values are not contained in the
planning level but should nevertheless be updated.
Data entry in manual planning has the following advantages:
● In a planning layout for which the “all possible characteristic combinations” option has
been selected, those combinations are generated that have been defined as useful in
the characteristic relationship. For example, in a lead column that contains the
characteristics cost centre and currency, only the currency valid for this purpose is
provided for data entry.
● By deriving characteristic values, the system is able to determine values of different
characteristics from the entry of a single characteristic value. For example, the system
Core Development Tasks March 2006
Developing Business Logic
Business Planning and Analytical Services 111
can determine the corresponding value of the characteristic article group from a value
of the characteristic article.
● With characteristics between which there is a dependency, the system can check
whether a combination of characteristic values that has been entered is valid. This
prevents transaction data from being entered for invalid characteristic value
combinations.
Integration
Characteristic relationships can be defined with reference to attributes and hierarchies on
characteristics, among other things. Here, those attributes and hierarchies are used that were
created in the BW system for a characteristic (see Tab Page: Attributes [External], Tab Page:
Hierarchy [External] and Hierarchy [External]).
Characteristic relationships affect all function types that change data. Therefore, planning
functions cannot update transaction data for value combinations that are not the result of a
defined derivation or that are recognized as invalid during a check for valid combinations.
Forming combination proposals only affects manual planning layouts for which the “All
Possible Characteristic Combinations” option has been selected.
Prerequisites
The following prerequisites must be fulfilled in order to define characteristic relationships:
● The planning area must be a basic planning area
The characteristic relationships defined in a basic planning area are also effective in
multi-planning areas in which a basic planning area of this type is contained
● In characteristic relationships of the type attribute, the target characteristic must be
defined as an attribute of the basic characteristic and must itself be contained in the
planning area
● In characteristic relationships of the type hierarchy, the target characteristic must be
contained in a hierarchy on the basic characteristic.
Features
For every characteristic relationship that you define it is possible to perform a combination
check and to generate combination proposals in relation to the values of the characteristics
involved. In addition, you can specify that the system should also derive the values of the
target characteristic from the values of the basic characteristic.
A characteristic relationship that supports the derivation of values of the target
characteristic can only achieve the defined derivation when the basis
characteristic is, but the target characteristic is not, contained in the planning
level. Otherwise the effect the characteristic relationship has on the combination
check and proposal is limited.
You can create up to 99 characteristic relationships in a planning area. It is possible to
establish implicit “relationships between relationships” by using the target characteristic of a
relationship A as the source characteristic of another relationship B. In this case, the only
characteristic values from the source characteristic that enter relationship B are those that
result from relationship A.
The following types of characteristic relationships exist:
Core Development Tasks March 2006
Developing Business Logic
Business Planning and Analytical Services 112
● Attribute: The target characteristic is defined as the attribute of the basic characteristic
(for example, the characteristic currency is an attribute of the characteristic controlling
area).
● Exit: The values of the characteristics involved result from the implementation of the
specified user exit.
● Reference data: Valid combinations are transferred from reference data that you
determine using a suitable selection.
● Hierarchy: The characteristics involved are part of a BW characteristic hierarchy on the
basic characteristic.
For each of these relationship types you decide, when defining a relationship, whether only
combination checks and proposals should be generated or whether a derivation of the target
characteristic from the basic characteristic should also be performed. In the case of
derivation, the basic characteristic takes on the role of a source characteristic.
All relationship types offer the possibility to define relationships between a basic characteristic
and several target characteristics. With the relationship types exit and reference data you can
specify several basic characteristics.
Since characteristic relationships are defined in the context of a planning area they affect how
all transaction data within the planning area is processed.
Adjusting Transaction Data after Changes to Characteristic
Relationships
Transaction data stored for characteristics that are linked to another characteristic by a
derivation relationship can also contain values for the derived characteristic. For example, a
transaction data record for the characteristic material normally also contains the
corresponding value of the attribute characteristic material group. If master data is revised
and former assignments between characteristic and attribute are changed (for example, by
arranging a material in a different material group), then inconsistent transaction data records
occur.
You can also use characteristic relationships to consistently match the key values of existing
transaction data records to the current valid attribute assignments defined in the master data.
This allows you to transfer from the old to the new structure. To do this, create a characteristic
relationship as a derivation and assign the characteristics affected. Create a planning function
of the type repost (characteristic relationships) and assign the derived characteristic to it as
the characteristic to be changed. You also require a parameter group for the function, in
which no further settings are necessary. When you execute the function with the parameter
group the transaction data is reassigned according to the current assignments between the
values of the source characteristic and the derived characteristic.
The Delete function (invalid combination) deletes all plan data in which errors were found
during the combination check.
The Repost (characteristic relationships) and Delete (invalid combination)
functions can only be used in planning levels that contain all characteristics. This
is the only way in which incorrect records can be cleaned up.
See also:
Reposting (Characteristic Relationships) [Page 212]
Deleting (Invalid Combination) [Page 214]
Core Development Tasks March 2006
Developing Business Logic
Business Planning and Analytical Services 113
4.2.1.2.2.2.5.1 Defining Characteristic Relationships
Use
You define characteristic relationships in order to be able to use validations, default values,
and derivations when generating transaction data for characteristic value combinations. For
more information, see Characteristic Relationships [Page 110].
Procedure
...
1. In the planning environment, select a planning area by double-clicking on it and choose
Planning
→
Planning Area
→
Change. (Alternatively, choose Change Area from the
context menu for the desired planning area.)
2. Choose the tab page Characteristic Relationships.
Each numbered row of the table corresponds to a characteristic relationship. You can
create up to 99 relationships in a planning area and a characteristic can be used in
several relationships.
3. To create a new relationship, select the input help in the Type column in a free row in
the table and determine the type of relationship. Available options are Attribute, Exit,
Reference Data, or Hierarchy.
4. In the Detail column, choose Detail View.
The system shows the detailed settings for the relationship. The settings that are
possible here comply with the type of relationship you selected.
5. Decide whether the system should just perform a Combination Check and Proposal on
the relationship or whether a Derivation of characteristic values should also take place.
6. Specify the first characteristic of the relationship (with attributes and hierarchy
relationships this is the basic characteristic).
7. If you are defining a relationship of the type hierarchy, specify a hierarchy which is
defined on the basic characteristic.
8. Specify a target characteristic (or several target characteristics) for the relationship.
Depending on the type of relationship, you can choose the following objects as target
characteristics:
• Attribute: One of the characteristics that are assigned to the basic characteristic
as an attribute. This attribute characteristic must be contained in the planning
area.
• Exit: Any characteristic in the planning area.
• Hierarchy: One of the characteristics that are contained in the hierarchy you
selected on the basic characteristic.
• Reference data: Using a selection, choose data from the planning area that you
want to use as a reference (for example, you could specify a version with actual
data)
Only those characteristics that are not involved in the characteristic relationship
are available for the selection of reference data. For technical reasons you must
Core Development Tasks March 2006
Developing Business Logic
Business Planning and Analytical Services 114
also specify a key figure for the selection of reference data. Transaction data
must be contained in the planning area for this key figure.
9. Choose Char. Relationships to exit the detail view of relationships.
Result
The characteristic relationship is effective in the entire basic planning area and in the multi-
planning areas that contain this basic planning area. When you write newly entered or
changed data records in which the basic characteristic of the relationship occurs the system
performs combination checks and derivations corresponding to the relationship you defined.
If you create a planning layout of manual planning in which basic and target characteristics
are contained in the lead column or in the header area and select the option “All Possible
Characteristic Combinations”, the layout is opened with those characteristic value
combinations that result from the characteristic relationship.
Additional functions on the characteristic relationships tab page
To delete the characteristic relationship, select the corresponding row and
choose Delete Relationship.
You can display the where-used list for the characteristic relationship using
Step (Using a Step) and All Steps (Using All Steps). For more information,
see Where-Used List for Characteristic Relationships [Page 114].
4.2.1.2.2.2.5.2 Where-Used List for Characteristic Relationships
Definition
The list of planning levels in which a characteristic relationship is being used is available in
both the definition of the characteristic relationship for a planning area and the definition of the
planning level.
Use
In the definition of characteristic relationships for a planning area
The following types of where-used list are available on the Characteristic Relationships tab
page:
Where-used list in the definition of a planning area
Function key Meaning
Step (Using a Step)
Provides an overview of the planning levels in
which the selected characteristic relationship is
used.
All Steps (Using All Steps) Provides the corresponding overview for all
characteristic relationships.
Click on Close to return to the previous screen.
Core Development Tasks March 2006
Developing Business Logic
Business Planning and Analytical Services 115
You will find more information on the Note column in the following section:
In the definition of the planning level
On tab page Characteristic Relationships, in the Note column of table Charcteristic
Relationships Used, those planning levels are displayed in which the respective step can be
used. These specifications form the basis of the selections in the planning levels. However,
they only really represent one opportunity. The application of a step is dependent on
additional factors:
● the actual data in the InfoCube
● the variables and selections in the packages
If, for example, Package is specified in the Note column for a particular planning
level but the selection of a character in a lower-level package is restricted to ‘#’
in the level, the step is not used in this planning package.
If it is possible on the basis of the variables and selections in the packages to further restrict
the planning level selection so that this affects the possibility of executing the step,
appropriate notes are visible in these columns:
Notes for using a step in the definition of a planning level
Note for using a
step