advanced planning functions
Post on 04-Oct-2015
64 Views
Preview:
DESCRIPTION
TRANSCRIPT
-
1
-
2
-
3
-
The planning functions that are the easiest to use are the predefined planning
functions. They can be set up and maintained by simply entering the required
information in the planning modeler (by entering a target in a copy function for
example). These planning function provide a defined behavior that can only be
influenced within the limits set by the Customizing options.
Fox Formulas can be used to create more powerful planning functions. As they
provide certain functionality that is usually only provided by programming
languages (such as loop statements or if statements) they can be used to cover
a wider range of business requirements than the predefined planning functions.
On the other hand, they are more complex, as the processing logic has to be
defined when creating the planning function.
Customer-defined planning functions are created using ABAP. They therefore
offer the functionality of a full-blown programming language. This type of
planning function is definitely the most complex, but also the most flexible.
4
-
In a typical planning scenario, there is a need for a wide range of automatic
functions to change or create plans. BW Planning offers different types of
planning functions that can be used to create all necessary automatic functions:
Predefined Planning Functions: a set of planning functions with fixed behavior
that can be easily set up.
5
-
Whenever a planning function cannot be achieved using a pre-defined planning
function type, you can use Fox Formulas to create your own planning functions.
With Fox Formulas, BI Planning provides a toolkit for creating simple
calculations (such as a volume times price calculation) as well as a simple to
use yet very flexible and powerful tool for complex formulas. No programming
(ABAP, Java, etc) is necessary when using Fox Formulas.
Above you can see some examples for planning functions that can be created
using Fox Formulas.
6
-
When a planning function cannot be achieved using one of the predefined
types or a Fox Formula, you can create your own type of planning function
(using ABAP). These types of planning functions can have their own screen in
Customizing in the planning modeler and can be reused throughout the system.
7
-
8
-
A planning function can (potentially) use two types of plan data: The data to be changed by the
planning function and the data that the planning function uses as additional information upon
execution. We call the first set of data transaction data and the latter reference data. Transaction data: A planning function can only change data that is stored in a real-time
InfoCube. The logical level of aggregation of the data records is defined by the aggregation
level (in the planning modeler) upon which the planning function is defined. The transaction data
is locked upon execution of the planning function. The selection of the actual data can be
restricted in various ways, depending on the mode of execution:
A filter defined in the planning modeler can be used in all front ends (when executing a planning function via a button in a Web application or an Excel Workbook), in the planning
modeler, and in the planning sequences.
The result of a query can be used for filtering via data binding in the web and the Excel Workbooks.
If the planning function contains conditions, they are used to further restrict the data selection.
Note: The definition of the planning function and of the data selection (filter or query) must
match. You cannot change data that is not contained in the data selection. This means for
example that you cannot copy data into a planning version that is not contained in the
filter/query used for the planning function.
Reference data: The system determines which reference data is necessary from the set up of
the planning function itself. Reference data is not locked when the planning function is
executed. Any InfoCube can be used for reference data. Using a MultiProvider therefore, BI
Planning can also access reference data from Data Store objects for example.
Example: You want to copy data from one version to another, say from version 0 to version 1.
Version 0 does not need to be in the filter/query, and the system automatically reads the data in
version 0 as reference data. Version 1 must be contained in the filter/query when executing the
planning function and will be locked.
When you execute a planning function, the changed data is written to the plan buffer. The data
is only transferred to the InfoCube if the user actively saves the data.
9
-
10
-
The first thing you do when creating a planning function is choose the type of
planning function and the aggregation level that the planning function is defined
on.
In our example, we want to copy data from an actual InfoCube to a real-time
plan InfoCube.
11
-
12
-
In each planning function, you have to specify which characteristic values in the
data records are to be changed by the planning function. If we copy from one
version to another and one InfoProvider to another, the characteristics version
and InfoProvider have to be indicated as characteristics that are to be changed.
Conditions can be used to define which actions the planning function performs,
depending on which set of data is actually being changed. In the example
above, no conditions are used. We will go more into detail however when
creating planning function type revaluate.
13
-
The first thing you do when creating a planning function is choose the type of
planning function and the aggregation level that the planning function is defined
on.
In our example, we want to copy data from an actual InfoCube to a real-time
plan InfoCube.
14
-
The first thing you do when creating a planning function is choose the type of
planning function and the aggregation level that the planning function is defined
on.
In our example, we want to copy data from an actual InfoCube to a real-time
plan InfoCube.
15
-
16
-
We now want to create a revaluation function. Again, we need to select the
corresponding aggregation level and enter a name and a description for the
planning function.
We will revaluate the data that we have copied from the actuals InfoCube into
the plan InfoCube. As we are only working on a single InfoCube, we do not
need a planning level on the MultiProvider containing both InfoCubes but will
use one restricted to our plan InfoCube.
17
-
We now want to create a revaluation function. Again, we need to select the
corresponding aggregation level and enter a name and a description for the
planning function.
We will revaluate the data that we have copied from the actuals InfoCube into
the plan InfoCube. As we are only working on a single InfoCube, we do not
need a planning level on the MultiProvider containing both InfoCubes but will
use one restricted to our plan InfoCube.
18
-
We now want to create a revaluation function. Again, we need to select the
corresponding aggregation level and enter a name and a description for the
planning function.
We will revaluate the data that we have copied from the actuals InfoCube into
the plan InfoCube. As we are only working on a single InfoCube, we do not
need a planning level on the MultiProvider containing both InfoCubes but will
use one restricted to our plan InfoCube.
19
-
20
-
When creating a delete function, only key figures are changed. This means
once again that we do not need to specify any characteristics that are to be
changed.
As with the other planning functions, you can specify whether you want to
delete all key figures or only individual ones.
Make sure that you run the delete function at the proper level of aggregation. If
you want to make sure that all records in a given selection are deleted, you
have to choose an aggregation level that contains all characteristics.
21
-
When creating a delete function, only key figures are changed. This means
once again that we do not need to specify any characteristics that are to be
changed.
As with the other planning functions, you can specify whether you want to
delete all key figures or only individual ones.
Make sure that you run the delete function at the proper level of aggregation. If
you want to make sure that all records in a given selection are deleted, you
have to choose an aggregation level that contains all characteristics.
22
-
23
-
24
top related