Professional Documents
Culture Documents
Loio
Loio
Loio
4 APPENDIX. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
Powered by SAP HANA, SAP Performance Management for Financial Services enables banking and insurance
companies to maintain and execute complex allocation and funds transfer pricing models. This allows you to
create the data foundation for flexible, near real-time, high-speed profitability analysis for insurance and banking
products. The solution provides a configurable framework to create allocations down to single contract or
coverage level.
● Modeling and execution of cost and revenue allocation and calculation models to determine profitability. For
example, at individual contract level or at product, channel and customer level.
● Modeling and execution of funds transfer pricing models to determine financial asset profitability. For
example, at individual contract event level, at position level, product level or G/L level.
● Item reporting and output analysis at granular level or aggregated results for the following:
○ Reporting and analysis
○ Simulation and what-if analysis
○ Planning
○ Measurement
● The solution supports the integration of data sources, including the following:
○ ERP data
○ Core banking data
○ Core insurance data
○ Planning data
○ Actuarial /risk data
SAP Performance Management for Financial Services comes with preconfigured calculations and models (sample
content). This demonstrates the capabilities of the solution in an integrated environment and allows easy
adaptation by the business department.
The following sections explain the main concepts, components and functions of the solution.
SAP Performance Management for Financial Services is targeted toward the business user. It is designed to enable
the business department (for example, Accounting and Controlling) to operate modelling, execution and analysis
of cost and revenue data with minimal IT involvement. The solution is delivered with three preconfigured user
roles and provides each of them with a specialized working environment optimized to support them in their main
area of responsibility:
1. Modeling Environment
Modeling users define and set up the data and calculation models, which are used to create the results for
calculation processes such as simulation, planning, measurement, and analysis. The models usually include
parameters to change assumptions easily later on and to make them reusable. The modelling environment
allows users to access all of the features provided by the solution.
2. Execution Environment
Execution users use the defined models and can change parameters that have been defined during modelling.
Access to the execution environment allows users to execute the main functions of the model, including
reports and controls, and to manage parameters.
3. Analysis Environment
Analysis users use the results of the executed calculation models. Access to the analysis environment allows
users to access all the analysis and reporting capabilities, including the creation of new reports and the
individual layout customizing.
The analysis environment is designed for analysis users to access and analyze data using preconfigured reports,
and to configure new report layouts based on the output of selected functions.
Example
Example 1:
The modeling user has preconfigured an item report with 30 characteristics and 200 key figures to analyze the
profitability of all assets. The user has selected the characteristics "Channel" and "Product Group" as analysis
dimensions, and has given the analysis user the authorization to use this report by selecting the Analysis
relevant checkbox for this function in the function tree on the left-hand side in the hierarchy. The analysis user
can then do the following:
1. View the results of this report at any time and choose from the values of the analysis dimensions to slice
and dice, for example, by choosing only the channel "Online" and the product group "Giro".
2. Use the other 28 characteristics for new filters and selections of the report to enable deeper analysis, for
example, at customer, product, or branch level.
The modeling user has preconfigured a collection function containing 40 characteristics and 300 key figures as
a result of allocation. The user has registered this function in the output template of the surrounding calculation
unit to make this output available to the analysis user. The analysis user can then do the following:
1. View the results directly in the output set. Here the user can also download it into Microsoft Excel, if
feasible.
2. Create their own report using this function as input, for example, by using the item report function.
The execution environment is designed for execution users, who are in charge of running the solution. They can
run preconfigured functions and also run a report. In addition, they can use parameters to control the execution of
the model.
Example
Example 1:
The modeling user has configured a profitability model that is to be executed by the execution user on a regular
basis. The execution user enters the parameter (for example, Key Date or Fiscal Period) that influences the
calculation runs of the profitability model.
Example
Example 2:
The modeling user has configured a profitability model that is to be executed by the execution user on a regular
basis, but is also intended for use in simulations. The execution user executes the model with different
parameter sets for simulation purposes. The user enters or uploads parameters that influence the calculation
(for example, specific interest rate curves or assumed business). The execution user then runs the profitability
model and examines the results.
The modeling environment is used by modeling users to set up and change data and calculation models. This can
be done by defining new models or by copying the sample content as a basis and then making adjustments. The
modeling user has all authorizations and also defines what the execution user and the analysis user are allowed to
do.
In the modeling environment, you typically start with the copy of an existing model, for example, the sample
content shipped with the software. This is where all adjustments, changes, and enhancements are made to fulfill
1. Allocation
Function to perform direct and indirect allocations
2. Calculation
Function to perform mathematical formulas and sequences of interdependent mathematical formulas on
data
3. Calculation Unit
Function to encapsulate another group of functions and make them reusable
4. Check
Function to perform various checks on calculated data
5. Collection
Function to perform data collection from various functions into one combined output
6. Conversion
Function to perform currency conversion
7. Derivation
Function to perform if-then-else enrichments of data
8. Description
Function to describe processes and topics used for the documentation of models
9. Editor for Data
Function to enter tabular parameters and to manually upload data
10. Environment
Function to register all required fields (characteristics and key figures) and the connection to the database
11. Field Set
Function to group fields for a common purpose so that they have to be entered only once and can be reused in
various other functions
12. Funds Transfer Pricing
Function to perform funds transfer pricing rate calculations based on duration/matched maturity and on the
net present value approach
13. Intra-Group-Trans. Elimination
Function to perform the nivellation of intragroup transactions
14. Item Form
Function to define formulas and how to calculate item sheets (for example, for P/L schemas)
15. Item Report
Function to perform data preparation
16. Item Reconciliation
Function to define reconciliation mappings to ensure data completeness between applications
17. Join
Function to join two or more inputs based on at least one common field
18. Lookup
Function to look up missing values in a lookup table and to transfer these values to the original table
19. Management of unassigned Items
Function to define suitable allocation characteristics for fields that could not be allocated successfully
20.Mapping
Function to map source fields to target fields
21. Model Table
Data table to temporarily store custom data locally.
Context
The Allocation function is used to distribute key figures from a higher level entity to a lower (more granular) level
entity based on a distribution base.
The entity from which key figures are distributed is known as the sender. The sender key figures represent the
values to be allocated by the allocation function.
The entity that receives the distributed key figures is known as the receiver. One or more key figures from the
receiver constitute the distribution base or bases.
1. Generic: The system uses direct allocation logic if the sender and receiver have common characteristics.
Otherwise, the system uses indirect allocation logic.
2. Indirect: Distributes key figures from the sender to the receiver using a distribution base on the receiver side.
3. Direct: Distributes key figures from the sender to the receiver according to characteristics from both sides
and based on the distribution base on the receiver side.
4. Global Expense Indirect: Follows the logic of an indirect allocation. It also includes offset records.
5. Global Expenses Direct: Follows the logic of a direct allocation. It also includes offset records.
If the system does not find any matching characteristic values (no receivers are found for a given sender record)
when you use Direct allocation or Indirect allocation (if some characteristics are marked as ‘self’ ), the sender
records that do not match become ‘unassigned items’. You can process this in the Management of Unassigned
Items function.
To be able to use this function, you must have configured the functions that provide you sender and receiver data.
1. Choose a sender type from the dropdown list (the default setting is Generic).
2. Choose a sender rule (the default setting is Key Figure).
3. If you have selected Fixed Rate as the sender rule, you can enter a percentage (the default value is “100”).
4. If you have selected Indirect as the sender type, you can add a receiver summary level.
1. Choose a field set from the Receiver Summary Level dropdown list.
2. You can also choose Field Sets directly. A dialog box appears.
3. In Roadmap step 1, select the field set that you want to use or create a new field set under Field Set
function.
4. To update the field set, go to Roadmap step 2. Here you can change the hierarchy by choosing Up or
Down. You can also add and remove fields.
5. Optional: You can also choose the following:
1. Include Sender Characteristics
2. Include Receiver Key Figures
3. Distribute empty characteristic values (set by default).
4. Include all Receivers
5. Aggregate Allocation Results by Receiver.
6. To save your changes, choose Save.
1. Choose Management of Unassigned Items. For basic information about configuring the management of
unassigned Items, see Management of Unassigned Items Function [page 120] .
2. Optional: You can choose a rule set directly from the Rule Set dropdown list.
3. Optional: To update the list of unassigned items, choose Refresh.
4. Optional: Choose a field set.
5. Choose a run set. The default setting is Run Set.
6. To apply the selected rule set, choose Run.
7. To save your changes, choose Save.
Generic allocation automatically determines whether direct or indirect allocation logic is to be applied during
processing. This depends on the matching characteristics and key figures of the input data. If the sender and
receiver have common fields, direct allocation logic is applied. Otherwise, indirect allocation logic is applied.
Example
Indirect Allocation
Table 1: Roadmap Step 1: Settings
CC01 200,000.00
Example
Indirect Allocation using Summary Level
Table 6: Roadmap Step 1: Settings
CC01 100,000.00
Table 11: 1. The receiver’s records are grouped by the Summary Level fields used in Roadmap Step 1
Table 12: After step 1: there are 3 allocation groups for the summary level
224 92H2 DD 3 A
238 CXH0 DD 5 B
238 92H2 AA 2 C
Table 13: 2. Allocation on summary level (not the expected result after allocation)
Table 14: 3. Allocation on lowest level based on the summary level ALLOCATED IT COST
Table 15: 4. The following is the final Indirect Allocation Result - the sum of all IT COST records should be 100,000
Example
Direct Allocation
Table 16: Roadmap Step 1: Settings
- 92H2 AA 300.00
- 92H2 DD 200.00
238 - AA 400.00
1. Every sender record is marked for allocation after taking into account the characteristic combinations.
Table 21: Example 1 - Sender Record 1 will be marked for allocation to Channel and Customer fields with records 92H2 and
AA
Table 23: Example 2 - Sender Record 3 will be marked for allocation to Product, Channel and Customer fields with records
224, 92H2 and DD
This is carried out for all records until everything has been marked for allocation.
2. Every sender record is allocated taking into account the lowest level distribution of the receiver in this
scenario; the key field Lowest Level DB is the distribution base for the set in roadmap step 4. The table
below shows how to compute for the lowest level distribution base percentage.
3. Every sender record is allocated taking into account the lowest level distribution of the receiver in this
scenario; the key field Lowest Level DB is the distribution base for the set in roadmap step 4. The table
below shows how to allocate the senders’ premium records to the sender.
Table 28:
Add the premiums per group, then multiply by the percentage from step 2 (explanation 2)
4. The following table shows the final direct allocation result - the sum of all premium records should be
2,600 (180 / 420 / 500 / 500 / 200 / 800).
Table 30:
Example
Direct Allocation with Unassigned Items
Table 31: Roadmap Step 1: Settings
Unassigned Sum Field 1 Value Field 2 Value Field 3 Value Field 1 to 3 represents
Characteristics Fields
Use the Management of Unassigned Items function to create the following rule set to adapt and handle these
unassigned items:
In the Allocation function (step 5), assign the rule set that was created in the Management of Unassigned Items
function.
Use the Management of Unassigned Items function to create more rule sets.
For more information about transmitting the last remaining unassigned items , see Management of Unassigned
Items Function [page 120] (this completes this example).
Example
Global Expenses Indirect Allocation (Cumulative)
Global Expenses Indirect allocation includes offset records in the result. Offset records can be either inversed
sender records (offset aggregation) or inversed allocation results (without offset aggregation).
The cumulative allocation option is based on a financial period (Term) starting from the selected beginning
period (Term Minimum Value) until the ending period (Term Maximum Value).
CC01 1 200.00
CC02 1 300.00
CC03 2 400.00
Add calculated characteristics SENDER_CC with reference to COSTCENTER (that is, maintain COSTCENTER as
the formula for the field SENDER_CC)
CUMULATION
Term FPERIODE
ITERATION
Iteration counter
Example
Global Expenses Direct Allocation
Global Expenses Direct Allocation includes offset records in the result. Offset records can be either inversed
sender records (offset aggregation) or inversed allocation results (without offset aggregation).
RECEIVER RULE
CUMULATION
Cumulation Counter
ITERATION
Iteration counter
Additional Information
The following options are available to control the allocation process and result:
1 PR1 CH1
2 CH1 CU1
3 PR1
1 PR1 CH1
3 PR1
1 1
2 Unassigned
3 3
1 1,2
2 2
3 1,2,3
The following options are available under the Receiver Rule section of roadmap step Tracing Factor:
Account Department Policy Number Marketing Ex Marketing Ex Marketing Ex
penses penses (3 Decimal penses (0 Decimal
places) places)
*Valuedifference originated from allocation due to rounding errors. Therefore, the receiver amount totals are not
the same as the sender amount.
Account Department Policy Number Marketing Ex Marketing Ex Marketing Ex
penses penses (3 Decimal penses (0 Decimal
places) places)
Account Department Policy Number Marketing Ex Marketing Ex Marketing Ex
penses penses (3 Decimal penses (0 Decimal
places) places)
Account Department Policy Number Marketing Ex Marketing Ex Marketing Ex
penses penses (3 Decimal penses (0 Decimal
places) places)
Account Department Policy Number Marketing Ex Marketing Ex Marketing Ex
penses penses (3 Decimal penses (0 Decimal
places) places)
* Value difference adjusted to the absolute biggest value row per sender
Aggregate Allocation Results (Iteration) aggregates the allocation result produced in each iteration. This is useful
in reducing memory consumption.
The Allocation function provides an export and import action for downloading and uploading templates or
metadata for the allocation. The selected allocation function has to be set up as a function template by selecting
the Function Template checkbox in the rule hierarchy (left tree). You can use the export action to download the
allocation template, and to fill in and change the metadata. You can then upload the adapted template using the
import action and the allocation will be maintained as in this template.
Context
This function generates a calculation based on existing business data, formulas and various input constants and
parameters. Some calculation categories can be executed in iterations, which make them useful in various
business scenarios, especially those that include planning. Other categories allow the user to write data
processing algorithms, which are useful in more advanced scenarios. Results of a calculation can later be used as
a data source for other functions.
Depending on the business scenario, three calculation categories can be executed: GenericDefault Output
Calculation If Input Is Empty and Iterative Calculation with Exit Condition. Generic calculation is the most common
calculation category. The values for each output field are calculated using a generic formula for that field.
If the input function does not contain any data, the default calculation category can be used to define fixed values
for the output fields.
If you use iterative calculation, input functions run processing iteratively and after that the calculation logic of
output fields (selection, formulas, and so on) are applied. For example, iterative calculation can be used for cycle
allocation processing. You define the number of iterations. The system then continues to process the calculation
until the iteration number is reached or the remaining amount for allocation is zero.
Prerequisites
You must have configured an environment function or a calculation unit under an environment. You must also
have configured functions that provide data. Typically, these are view functions, join functions, and model tables.
Related Information
The following steps explain the configuration required for the Calculation function- sub-type Generic:
1. Choose the calculation category Generic Calculation from the dropdown list.
2. Choose a join category from the dropdown list. The join category applies to the input functions in the next
road map step. For more information, see Join function.
3. Enter the number of maximum output rows. If this is higher than 1, the user is allowed to enter multiple
formulas in step 4, which are applied sequentially. Intermediary results are part of the output.
4. Enter the required number of iterations. If this is higher than 1, the formulas in step 4 are applied multiple
times and the intermediary results are part of the output.
5. Optional: To save your changes, choose Save.
1. Add the required input functions using the Add Function(s) button.
2. Optional: To change the input functions sequence, choose Up or Down.
3. If needed, use Maintain View Data to change the view field category, order of fields, formulas, and so on.
4. Depending on the join category, you can define settings for input functions (for example, join conditions).
5. Optional: To save your changes, choose Save.
1. Define an output structure by adding fields or choose an input function from the dropdown list to use it as a
template.
2. Choose a view type for the fields or input function
3. Optional: Choose Add Field(s) to add more fields to the list, if needed.
4. Optional: Choose a view field category to change the field category for the selected fields.
5. Optional: Select a field and choose Maintain Formula.
6. Optional: To change the order of fields in the list, choose Up or Down.
7. Optional: To save your changes, choose Save.
Example
Example: Generic Calculation
Calculation Setup
Iterations 1
Field Row 1
PRODUCT_ID
QUANTITY
ACQ_COST
SELL_PRICE
The following steps explain the configuration required for the function Default Output Calculation, if input is empty:
1. Choose the calculation category Default Output Calculation If Input Is Empty from the dropdown list.
2. Choose Join Category from the dropdown list. The join category applies to the input functions in the next
roadmap step. For more information, see Join.
3. Optional: To save your changes, choose Save.
1. Add the required input functions using the Add Function(s) button.
2. Optional: To change the input function sequence, choose Up or Down.
3. If needed, use Maintain View Data to change the view field category, order of fields, formulas, and so on.
4. Depending on the join category, you can define settings for input functions (for example, join conditions).
5. Optional: To save your changes, choose Save.
1. Define an output structure by adding fields or choose an input function from the dropdown list to use it as a
template.
2. Optional: Choose Add Field(s) to add more fields to the list, if needed.
3. Optional: Choose a view field category to change the field category for the selected fields.
4. Optional: Define the fixed values for the output fields by using Formula
5. Optional: To change the order of fields in the list, choose Up or Down.
6. Optional: To save your changes, choose Save.
Example
Example: Default Output Calculation If Input Is Empty
- - - -
- - - -
Calculation Setup
‘INS_PRODUCT’ 10 2400 -
Related Information
The following steps explain the configuration required for the function Iterative Calculation with exit condition:
1. Choose the calculation category Iterative Calculation with Exit Condition from the dropdown list.
2. Choose a join category from the dropdown list. The join category applies to the input functions in the next
roadmap step. For more information, see Join function.
3. Define the number of iterations for the input function(s).
4. Optional: To save your changes, choose Save.
1. Add the required input functions using the Add Function(s) button.
2. Optional: To change the input function sequence, choose Up or Down.
3. If needed, use Maintain View Data to change the view field category, order of fields, formulas, and so on.
4. Depending on the join category, you can define settings for input functions (for example, join conditions).
5. Optional: To save your changes, choose Save.
1. Define an output structure by adding fields or choose an input function from the dropdown list to use it as a
template.
2. Optional: Choose Add Field(s) to add more fields to the list, if needed.
3. Optional: Choose View Field Category to change the field category for the selected fields.
4. Optional: Define selection criteria and the formulas for the output fields.
5. Optional: To change the order of fields in the list, choose Up or Down.
6. Optional: To save your changes, choose Save.
Example
Example: Iterative Calculation with Exit Condition
Table 77: Function ID: 1000*****X
Calculation Setup
Iterations 5
Related Information
Context
R Script Calculation allows the user to write data processing algorithms using R Script. The data of the input
functions is available as an R list. This calculation type is useful when more advanced processing is required. R is
an open source programming language and software environment for statistical computing. The R language has
become very popular among statisticians and data miners for developing statistical software and is widely used
for advanced data analysis.
An efficient data exchange mechanism supports the transfer of data tables directly into the vector-oriented data
structures of R.
In concrete terms, all input data is made available in R as a so-called data frame, on which the R code can
compute. Exactly one output data frame is required, which in turn is then converted automatically into an output
table including the result data.
Any subsequent processing function can then use the tabular output result as an input in the usual way.
SAP does not provide the R environment with this software, since R is open source and is available under the
General Public License. SAP does not provide support for R. In order to use the Calculation function integration
with R, you need to download R from the open-source community and configure it following the SAP HANA R
Integration Guide.
Note
● If you need to pass scalar parameters, they have to be passed to R as tables/data frames.
● If you need to transfer lists, matrixes or other R data structures from R as output, they have to be
converted to data frames using the as.data.frame() function.
● The variable name var_out is a fixed given for the output data frame and should not contain uppercase
letters
● Factor columns can only be retrieved as character vectors. Some R functions may require string columns
of data frames to be factors, so you may need to convert the input with as.factor() before usage.
Procedure
Example
Loan Repayment with Compound Interest
Prerequisits: You have one model table with the following data:
Table 84:
Table 85:
pos_id = c()
term_m = c()
balance = c()
k = 1
for (i in seq(pos$POS_ID)) {
if (pos$INT_RATE[[i]] == 0) {
payment = pos$AMOUNT[[i]] / pos$MATURITY_M[[i]]
} else {
payment = pos$INT_RATE[[i]]/1200 * pos$AMOUNT[[i]] / (1 - (1 + pos
$INT_RATE[[i]]/1200)^(-pos$MATURITY_M[[i]]))
}
for (j in 1:pos$MATURITY_M[[i]]) {
pos_id[k] = pos$POS_ID[[i]]
term_m[k] = j
if (j == 1) {
balance[k] = pos$AMOUNT[[i]] * (1 + pos$INT_RATE[[i]]/1200) - payment
} else {
balance[k] = balance[k-1] * (1 + pos$INT_RATE[[i]]/1200) - payment
}
k = k + 1
}
}
var_out = data.frame(POS_ID=pos_id, TERM_M=term_m, BALANCE=balance)
LOAN01 1 835.81
LOAN01 2 670.64
LOAN01 3 504.48
LOAN01 4 337.32
LOAN01 5 169.16
LOAN01 6 0.00
LOAN02 1 669.97
LOAN02 2 336.65
LOAN02 3 0.00
Related Information
Context
The first goal of the Workbook Calculation is to enable complex deterministic and algebraic massive parallel
computations using hundreds or thousands of formulas on mass data. A typical use case is the forecasting of
profit and loss at a granular level, for example at portfolio or single contract level at high speed.
To achieve this, the workbook calculation has an internal optimizer that parses the formulas for dependencies
between them. It also creates an execution sequence with a minimized number of steps and maximized parallel
execution of formulas.
The second goal of the Workbookcalculation is to enable absolute references between the fields (cells) in the
formulas, just like in a desktop spreadsheet application. This is a well-known concept for many users and eases
maintenance of the formulas as compared to relative references. If you need relative references in a calculation,
use the calculation category Generic instead. In addition, it allows you to determine preciselyin which row and
column (cell) a value has to be and thus allows you to prepare the content of a form that needs to be filled.
To achieve this even for mass data, the workbook calculation uses a grouping mechanism for the input data,
which divides the input data logically into separate groups of a fixed number of rows. All defined formulas are
applied separately per group.
The third goal of the Workbook category is to structure formulas in separate sheets, which then provide different
parts of the output data. You can decide by means of configuration, which input function becomes part of the
output, and which is just needed as input. You also can define additional parts of the output.
A workbook calculation can consume several input functions. In contrast to the generic calculation, these input
functions are not joined to one input, but stay separated for the calculation.
Workbook Calculation, therefore, works in a similar way to desktop spreadsheet applications. However, there are
three important differences:
1. While in a desktop spreadsheet application the formulas are applied toexactly one set of (input) data, the
workbook calculation allows the formulas to be applied to any number of groups of input data, and is
therefore mass data-enabled.
2. While in a desktop spreadsheet application the formulas are applied using the CPU power of the desktop, the
workbook calculation parses the formulas internally and applies the formulas using the massive parallel CPU
power of the server.
3. Iterative calculations are also supported. This means the complete output of a calculation is fed as an input
for the next round of calculation.
1. Even though no explicit join conditions are mentioned for this function, an implicit join is performed to bring
the specified Input functions together as one dataset, on which the transformations are performed.
2. You need to sort the data based on the dimension in focus (in the example below – Contract_ID ). The system
generates row numbers/group numbers internally, for which sorting is essential.
3. This internal joining is predominantly driven by two factors:
1. The number of rows per group for every input function.
2. The number of groups for every input function.
4. The definition of the number of groups and the number of rows per group are controlled for each input set
using the parameter Input rows per group.
5. The third roadmap step always lets you maintain the formula for one group, which will then be applied to all
the groups in the dataset.
6. If the number of the groups for some of the datasets is less than the maximum number of groups for all
datasets, then those columns are defaulted with empty/initial values. This can be changed again with the
formulas in the last roadmap step.
7. All the input datasets are joined into one dataset using Groups/Rows, and this is used to apply the formulas
mentioned in the last step.
Example
Table 88: Input Function 1:
Rows/Group = 1
Contract_ID Amout
CN_1 100
Rows/Group = 3
0.05 0.6
0.055 0.68
0.07 0.7
Dataset1 Dataset2
Group Row Contract_ID Amount Inflation values for Alpha values for
forecasting forecasting
1 2 0.055 0.68
1 3 0.07 0.7
The following points define the number records expected in the result:
1. Max output rows (in roadmap step1) defines the number of output placeholders available for entering
formulas. Each set of formulas is applied to all the groups of input data sets.
2. Input rows per group (in roadmap step2) is defined for every Input function. This is always defined by the user
based on their knowledge of the dataset. This determines how the data is structured into groups and how
many rows are available in each group.
For example, if there are a total of 100 records for a dataset and input rows per group is defined as “5”, then
there are (100/5)-20 groups and 5 records for each group.
3. “Maximum number of groups” in all datasets is the maximum number of groups for all input data sets
4. Maximum (number of rows per group) of all datasets is the maximum “number of rows per group” in all input
data sets.
5. “Total number of rows” when (roadmap step 1 ) Iteration=“1” and “inlc Orig Dataset” is not checked, is defined
in the formula below:
(Maximum number of groups in all datasets) * {Maximum [(number of rows per group of all datasets) &
(Max_output_row)]}
6. Table 91:
Total number of rows when – (roadmap step 1) Iteration=a (greater than 1) and “inlc Orig Da
taset” is checked
Note
1. Fields that are used in a formula must be defined in one of the variables in the input functions roadmap
step.
2. Formulas can be any SQL expression that is supported.
3. If a field has no formula, the input value remains unchanged.
4. If there are two fields with formulas and one of them is referenced without quotes in the second formula,
the first field is always calculated before the second.
5. Because workbook calculation uses absolute references, each field has to be used in conjunction with a
row number in square brackets, for example CASH_VOLUME[1].
6. The calculation has to take care of possible dependencies between formulas and keep the correct order of
calculations all the time. Here is a simple example:
A[1] = B[1] + C[1] + 1
B[1] = D[1] – 0.5
C[1] = 0.1 * F[1] * G[1]
D[1] = E[1] / F[1]
D[2] = D[1]
7. To calculate the value field A[1] correctly, fields B[1] and C[1] have to be calculated first. B[1] depends on
D[1], which means that D[1] has to be calculated before B[1]. D[2] only depends on D[1], so it can be
calculated in parallel to B[1]. One possible order of calculations is therefore D[1], B[1] and D[2], C[1], A[1].
The user does not have to worry about these things because the system takes care of this order by
recognizing dependencies in the formulas. If one field depends on another, the other field is calculated first.
8. If a field is referenced with double quotes in another field’s formula, its calculation will not be enforced as
stated above (before the second field). Instead, the other dependencies will have priority. Use this with
care, since it may lead to unexpected results.
Example
Workbook Calculation
Iterations 1
Table 94:
Variable Prefix Description Input Function ID Input Function Input Rows per Output relevant
Description Group
RESULT_ROWS My Results - - 1 X
The Result_Rows variable contains the following columns, defined under Maintain View Data:
● PRODUCT_ID
● PROFIT
Table 95:
Field Row1
PRODUCT_ID PRODUCTS.PRODUCT_ID[1]
PRODUCT_ID PROFIT
P001 100
P002 300
Related Information
Context
A calculation unit represents a financial or business unit on which financial closing and analysis can be performed
independently (for example, a claim, asset, insurance).
A calculation unit is a container function. It specifies which fields are relevant for lower-level functions, which
functions are relevant for execution, and which functions are relevant for analysis. It is a collection of objects, such
as fields and functions.
Prerequisites
Short Description
A calculation unit is an important tool that helps you to organize the execution and analysis of financial activities
within a financial organization unit.
● Organize a field catalog that is required for all functions within a calculation unit. This catalog represents a
superset of all fields that will be used by every subfunction of the calculation unit.
● Define an input template. An input template is a template hierarchy of parameters that a financial analyst
(business user) can use to analyze business content within a calculation unit. This template consists of
parameters and data editors.
The parameters influence the behavior of, or filter the results of functions below the calculation unit at
runtime. For example, you want to analyze the profitability of an organizational unit every quarter. For this, the
system controller or modeler (expert user) can design a business model on the basis of a “Period ” parameter.
The financial analyst (business user) can specify this parameter value in the runtime environment without
needing to regenerate the models.
The data editor enables the financial analyst (business user) to plug in different sources of data for a model at
runtime and analyze the application for various inputs.
Note
○ If the hierarchy of functions needs to be structured with a single source of data, the model function
should be placed outside calculation units, directly under the environment.
○ If the hierarchy of functions needs to be structured with different sources of data, the data model
should be placed within the calculation unit and the associated data editor can be part of the input
template. In this scenario, multiple sources of data can be linked by associating them with the
corresponding input set.
● Define an output template. An output template is a template hierarchy that contains a list of functions that are
relevant for analysis by the financial controller (business user). There are certain functions that are primarily
used for reporting and analysis. The system controller or modeler (expert user) can use the hierarchy of these
functions to define which of the functions is relevant for analysis by business users.
● Define a run template. A run template is a template hierarchy that contains a list of functions that are relevant
for execution by the financial controller (business user). The system controller or modeler (expert user) can
define the list of functions that can be analyzed by the financial analyst (business user) in the runtime
environment. For example, the system controller or modeler (expert user) can design certain intermediate or
technical functions to accommodate effective reuse of the function for various use cases. Once the
performance management environment is modeled, the system controller or modeler (expert user) can
choose which of the functions is relevant for execution by the business user. This ensures separation of
responsibility and a user interface adapted to the appropriate end user.
Steps
1. Choose Add Fields and select the list of fields that are available in the parent environment or calculation unit.
Only these fields are visible for functions within this calculation unit..
2. In the dialog box, select the fields from the parent environment and calculation unit.
3. Choose OK to add the fields to the current calculation unit.
Note
Fields that you add in a function under the calculation unit (using the environment as an input function) are
also added to the field list for the calculation unit.
5. In addition to the fields that are added automatically, there are also fixed function fields that are automatically
added to the environment. Functions like Item Reporting ,Item Reconciliation, Check and RFC Adapter(FI)
automatically add technical fixed fields relevant for each of these functions to the calculation unit or
environment under which they are created. These fixed function fields always start with the prefix “FS_PER_”.
These fields are added to the calculation unit or environment whenever you create any of these functions. The
RFC Adapter (FI) also automatically adds some FI BAPI structure fields for user convenience.
1. Choose Add Fields to choose the list of fields and parameters that are relevant for input in the runtime
environment. These are the parameters that can be entered by the financial controller.
2. The dialog box displays the fields listed in roadmap step 1. The fields can be selected.
3. Choose OK to add the fields to the input template.
4. Choose Add Nodes to create a logical grouping of the fields.
1. Choose Add to choose the list of functions that are relevant for output that can be used by financial controller.
2. Choose Add to choose the list of functions to be analyzed by the financial controller.
3. In the dialog box, choose the list of functions that are relevant for execution in the analysis environment.
4. Click OK to add the functions to the output template
1. Choose Add to choose the list of functions that are to be executed by the financial controller.
2. In the dialog box, choose the list of functions that are relevant for execution in the runtime/execution
environment.
3. Choose OK to add the functions to the run template.
Note
In the Run Template roadmap step , you can select the Pre-Run option. This indicates whether the
corresponding business function has to be executed before the consumer business function is executed. If you
do not set the “Pre-Run” indicator, the buffer data of the corresponding business function is used directly by
the consumer business function.
Related Information
The Dual Control Framework provides a two-step release process in the run management of the calculation unit.
The release process can be performed for each combination of business function and run set ID.
Prerequisites
● You have configured a calculation unit under an environment. Below this calculation unit, there must be
additional business functions.
● You have set up the configurations for the calculation unit. This includes the input and run management in the
modeling and execution mode.
Procedure
For all the steps where an approver receives a workflow item, the subsequent steps can be executed from the
SAP Business Workplace Inbox.
The system provides the actions Approve, Reject and Return in a dialog box.
8. Execution of the workflow items as a performer:
If a performer receives a returned workitem, the subsequent steps can be executed from the SAP Business
Workplace Inbox.
A release process is finished if the status is “Released” or Rejected. However, in some cases it might be
necessary to reset this release process and to restart the release process from the beginning:
1. Go to Calculation Unit Execution Mode Run Management Run Set Functions .
2. Select the function you want and choose Reset Workflow.
Implications on Run Management
While a release process for a given business function is in the “sent for approval” status, it is not possible
to run this business function again. However, changes to the used input set are allowed. The original
values of the underlying input set for the current run are stored in the application log.
Context
Prerequisites
You have configured an environment or a calculation unit under an environment. You can create a Check function
only under an Environment or under a Calculation Unit. Because the Check function is used for checking the
allocation, you must first create the corresponding Allocation function.
1. In the Settings roadmap step, select the reconciliation category Indirect Sender or Direct Sender from the
dropdown list.
2. Select Field Set ID from the dropdown list.
The Field Set defines a list of fields, which have to be set up before. It has two different usages depending on
the Check Category. In case of Indirect Sender, fields from selected Field Set will be displayed in the output
results. Also it filters input data. (E.g. if COSTCENTER field is in field set only records where COSTCENTER is
populated will be taken into account.) In case of Direct Sender, it is the other way around and only records
where COSTCENTER is empty will be taken into account.
3. In the Source roadmap step, select the source function for the comparison by selecting the input function ID
from the dropdown list.
4. In the Comparison roadmap step, select the target function for the comparison by selecting the input function
ID from the dropdown list.
5. To save your changes, choose Save.
6. To generate the check function, choose Generate.
7. To display formatted result (expected result), choose Analyze. To display row data, choose Run.
1. In the Settings roadmap step, select the reconciliation category Indirect Receiver from the dropdown list.
2. In the Source roadmap step, select the source function for the comparison by selecting the input function ID
from the dropdown list. In this case, the source and target for the comparison are the same function.
Therefore, the Comparison roadmap step is not available.
3. To save your changes, choose Save.
4. To generate the check function, choose Generate.
5. To display formatted Result (expected result), choose Analyze. To display row data, choose Run.
1. In the Settings roadmap step, select the reconciliation category Trace Allocation by Receiver from the
dropdown list. Select the source function (allocation function) for the comparison by selecting the input
function ID from the dropdown list.
2. In the Source roadmap step, the system automatically enters the characteristics and key figures from the
receiver part of the selected allocation function.
3. To save your changes, choose Save.
4. To generate the Check function, choose Generate.
5. To display formatted result (expected result), choose Analyze. To display row data, choose Run.
1. In the Settings roadmap step, select the reconciliation category Trace Allocation by Sender from the
dropdown list. Select the comparison function for the comparison by selecting the input function ID from
dropdown.
2. In the Source roadmap step, the system automatically enters the characteristics and key figures from the
sender part of the selected allocation function.
3. In the Comparison roadmap step, the system automatically enters the characteristics and key figures from
the receiver part of the selected allocation function.
4. To save your changes, choose Save.
1. In the Settings roadmap step, select the reconciliation category Trace Allocation by Cycle from the dropdown
list.
2. In the Source roadmap step, select the plus (+) or minus (-) icon to add or remove allocation functions to/
from the comparison.
3. In the Comparison roadmap step, the system automatically enters the characteristics and key figures from
the receiver part of the selected allocation functions.
4. To save your changes, choose Save.
5. To generate the Check function, choose Generate.
6. To display formatted result (expected result), choose Analyze. To display row data, choose Run.
Context
A function that collects data from other functions and unifies them in one table. The results oft he collection
function depend on the selected options. You can choose from the following options: collection category Last,
Massjoin, Union and Union Aggregation.
Prerequisites
You have provided a function with data (source data) under the Environment function as input to be collected.
In this collection category, only data from the last input function is displayed.
Roadmap Step 1
1. In the Settings roadmap step, choose Last as the collection category.
2. You can use the Parallel Run option to decide whether the underlying functions need to be executed in parallel
or not. This allows you to tailor the performance of the collection function to your business needs. If you
choose Yes, the underlying functions are executed in parallel; if you choose No, they are executed
sequentially.
Roadmap Step 2
1. Choose the Collection Functions roadmap step.
2. Select the data Input. You can use the Add button to add a function from the environment, or choose Sync to
add every function under the Collection function to the function lists in roadmap step 3 .
2015001 PROD01 2
2015002 PROD02 3
2015001 PROD03 4
2015001 PROD01 2
2015002 PROD02 3
2015001 PROD03 4
You can add multiple functions in the second step. In this example three input functions are added.
2015001 PROD01 2
2015002 PROD02 3
2015001 PROD03 4
In this collection category, data is collected according to the characteristics that you define.
Roadmap Step 1
1. In the Select roadmap step, choose Mass Join as the collection category.
2. Select one or more fields that you want to use as characteristics for collecting data.
3. To change the order of the fields, select one and choose Up or Down .
4. You can use the Parallel Run option to decide whether the underlying functions need to be executed in parallel
or not. This allows you to tailor the performance of the collection function to your business needs. If you
choose Yes, the underlying functions are executed in parallel; if you choose No, the functions are executed
sequentially.
Roadmap Step 2
1. Choose the Collection Functions roadmap step.
2. Select the data Input. You can use the Add button to add a function from the environment, or choose Sync to
add every function, which is under the collection function, to the function lists in roadmap step 3 .
3. To remove a function, choose Remove.
4. To change the order of functions, select one and choose Up or Down.
5. To save your changes, choose Save.
6. To generate, choose Generate.
7. For a preview, choose Test.
Field Description
PRD Product
2015001 PROD01 2
2015002 PROD02 3
2015001 PROD03 4
Contract Premium
2015001 300
2015002 400
You can add multiple functions in the second step. In this example, two Input functions are added.
The results of the mass join now display every product number with a premium.
Roadmap Step 1
1. In the Settings roadmap step, choose Union or Union Aggregation as the collection category.
2. For Union Aggregation you can select one or more fields to be added to the result data.
3. To change the order of fields, select one and choose Up or Down .
4. You can use the Parallel Run option to decide whether the underlying functions need to be executed in parallel
or not. This allows you to tailor the performance of the collection function according to your business needs. If
you choose Yes, the underlying functions are executed in parallel; If you choose No, the functions are
executed sequentially.
Roadmap Step 2
Source Data
2015001 PROD01 2
2015002 PROD02 3
2015001 PROD03 4
2015001 5 300
2015002 2 400
2015003 4 500
2015001 PROD01 2 0
2015002 PROD02 3 0
2015001 PROD03 4 0
2015001 5 300
2015002 2 400
2015003 5 500
Table 108: Scenario: Union Aggregation with adding the optional Field Amount.
Field Description
AMNT Amount
You can add multiple functions (input function 1 and input function 2) in the second step. The input functions have
to contain the same columns to create the collection category Union Aggregation.
Every data record with exactly the same characteristics is aggregated and the key figures are added up. The
selected field is added to the output data.
Context
This function is used to convert an amount from a source currency to a different target currency or a quantity
from a source unit to a different target unit, as specified by the user.
Prerequisites
1. The system uses the functions of an SAP HANA database for conversion. Therefore, you need to enter the
appropriate data that these SAP HANA functions use in the database tables TCURV, TCURX, TCURN, TCURR,
Steps
On the Currency roadmap (this setup is relevant for currency conversion only) :
On the Unit roadmap (this setup is relevant for unit conversion only) :
Example
Example of Conversion
The appropriate schema that contains the data of the conversion tables and date field have to be selected by
the user.
CC01 100 M MM
CC02 250 MM M
The appropriate schema that contains the conversion table data and the date field have to be selected by the
user.
CC01 100000 M MM
CC02 0.250 MM M
Exchange Rates
Read Exchange Rates
Context
Derivation is a data enrichment function that can be used to enhance the data in a dataset with calculated
attributes based on predefined rules at runtime. The enriched data can then be used for consumption in
downstream processes such as allocation. If the data to be derived is already available in the source data, the
derived data is only overwritten if the condition values are met. Otherwise, the source values are retained.
Prerequisites
Ensure that you have made available either the data model or the output from another function that has to be
enriched. The attributes for enrichment should be available at the calculation unit level or at the environment
level, depending on the level at which you want to enrich data. You have identified the conditions that form the
basis for the data enrichment.
Roadmap Step 1
1. On the Derivation page, under the Fields roadmap step, choose an input function ID from the dropdown list.
2. Choose the view type - either Projection or Aggregation based on the business requirement.
3. Choose Add to add the attributes and mark them as Calculated Attributes.
4. Set the condition fields by selecting the source category Condition.
5. Set the action fields by selecting the target category Action.
Roadmap Step 2
Example
Example of Derivation
Scenario: Derivation
P2 * “PREMIUM” Transit
In this example, Product and Cost Center are the condition fields and Base: Asset Revenue and Asset Category
are defined as the action fields. For example, if the product is P1 and the cost center is CC01, the system inserts
the value “Amount” in the source as the Base: Asset Revenue value and the value “Stock” as the Asset Category
value.
Contract Product Cost Center Amount Premium Base: Asset Asset Cate
Revenue gory
Appendix
<> <> ABC Not Equal To ABC is not considered for se
lection
NOT IN NOT IN( ABC ; DEF ) NOT IN Neither ABC nor DEF are con
sidered for selection
In In 1;2 In
>= >= 20 Greater Than or Equal All values greater than 20 and
including 20 are considered
for selection
< < 10 Description: Less Than All values less than 10 are
considered for selection
<= <= 10 Less Than or Equal All values less than 10 and in
cluding 10 are considered for
selection
Context
An optional function that provides information, usually used to explain or provide details about a function or
hierarchy of functions.
Prerequisites
Steps
To enter information, choose Edit. For formatting purposes, choose the following buttons:
● Bold
● Italic letters
● Header fonts
● Indent lines
● Itemize (with dots and numbers)
Note
You cannot use header fonts together with bold or italic letters.
Context
This function can be used to edit the data of a generated model table. You can create the editor for data directly
under an environment or within a calculation unit.
Note
If you create the editor within a calculation unit, the editor can only be used to display and change the data of
model tables created in that specific calculation unit. An editor created within a calculation unit cannot change
the data of model tables created outside of that calculation unit.
Prerequisites
1. Choose the model table for which you want to create the editor for data.
2. To maintain data, select Maintain Data. The system displays data for the selected model (provided data
exists) in a new window. You can select the data to be displayed by entering filter values.
3. To add the new data record to the model, enter it in an empty row. To import data from a Microsoft Excel file,
choose Import from Microsoft Excel.
4. To remove a data record from the model, select the line you want to remove and choose Remove.
5. If you want to export data that is currently displayed on the screen to Microsoft Excel, choose Export to
Microsoft Excel.
Note
If you want a field to handle negative values, assign a data element whose domain is negative sign enabled to
the field.
Context
The Environment function is the top function in the Performance Management hierarchy. After configuration, this
function is connected to a database and contains all the necessary fields (and field definitions, such as data type,
length, and description) that can be used and modified by the functions created in the environment.
Environment Creation
Optional: To add characteristic and key figure catalogs, enter the catalog names to which the InfoObjects have
been assigned and choose Sync Characteristic or Sync Key Figures to add them as fields in the environment.
Note
This function enables you to synchronize BW InfoObject catalogs with the FS-PER environment. This is
particularly helpful if you want to use BW data models or FRDP as the data source for FS-PER. The
synchronization of an InfoObject catalog automatically creates fields and their definitions in the environment
for each InfoObject assigned to the InfoObject catalog. InfoObject catalogs logically group InfoObjects
(characteristics or key figures).
For more information (for example, about creating catalogs), see Creating InfoObjects in the Related
information section.
1. If you want to synchronize objects from BW InfoArea, enter an InfoArea name and choose Sync InfoArea.
Note
This function enables you to synchronize BW InfoArea with the FS-PER environment. This is particularly
helpful if you want to use BW data models or FRDP as the data source for FS-PER. When you select Sync
InfoArea, a dialog box appears that displays all available BW InfoProviders from the selected InfoArea. Only
InfoProviders that have generated external SAP HANA views are displayed. When you have selected the
InfoProviders that you want to use, the Model View function for reading data from the subsequent
InfoProvider is created in the FS-PER environment. In addition, all InfoObjects (characteristics and key
figures) assigned to the subsequent InfoArea catalog are synchronized. Fields and their definitions in the
environment for each InfoObject are created automatically.
2. If you want to synchronize objects from BPC Planning Environment, enter Planning Environment and choose
Sync Environment.
Note
This function enables you to synchronize BPC Planning Environment with the FS-PER environment. This is
particularly helpful if you want to use BPC data models as the data source for FS-PER. When you select
Sync Environment, a dialog box appears that displays all available Models from the selected environment.
3. Choose the authoring schema name and the path in your SAP HANA database where you want to store the
procedures (and other SAP HANA artifacts) that are generated for each function below this environment.
The authoring schema in the Environment function helps to ensure that FS-PER environments are transported
across the system landscape smoothly (between development, test and production systems). For example,
PED is your development system, PET is your test system and you want to create a model view function to
fetch records from table POLICY. Instead of referring to the system-tied physical schema SAPPED, you can
refer to a generic authoring schema, such as INSURANCE. This INSURANCE authoring schema is mapped to
the SAPPED physical schema in the system PED and to SAPPET in the test system PET. You can create and
use custom authoring schemas (for use in FS-PER environments) to refer to any custom physical schemas
that exist in the system. For more information about setting up authoring schemas, see Maintain Schema
Mapping for NXI Schema in the Administrator's Guidein the Related information section.
4. Maintain generation strategy by choosing cross-client or client-specific generation.
Caution
Be careful when you change the generation strategy; it can adversely affect the existing content.
Here you can choose whether you want the environment to be client-specific or cross-client.
Client-Specific
This is the default generation strategy.
If you choose the client-specific generation strategy for the environment, all the SAP HANA artifacts (tables,
procedures, views and so on) will be generated for each client to which this environment is imported. This
enables you to work with multiple clients in the same system. However, the generated artifacts (such as
tables, views and procedures) do not have fixed names. The names are based on the function identifier and
client. This needs to be taken into account when you use these generated objects for custom development.
Some configurations, which refer to generated objects (for example, a model view that refers to a model
table), also need to be adjusted after transporting or making a client copy.
Cross-Client
If you choose the cross-client generation strategy for the environment, all generated SAP HANA artifacts
(such as tables, procedures, and views) are cross-client. This means you can effectively work only in one
client. The advantage is that generated artifacts, like tables, views and procedures, have fixed names (the
names are based on the function identifier only). This needs to be taken into account when you use these
generated objects for custom development.
Note
You can only work on one client in a system.
In the Conversion Properties roadmap step, you can set the configuration for currency and unit conversion types
at an environment level. You can use the conversion types from here in all Conversion functions in this
environment. The following overview describes the settings for each field in this roadmap step.
1. Conversion Type
Defines the conversion type as stored in the conversion tables.
Note
If the environment is used for ERP and Banking methods, you need to create a conversion type for each of
the conversion methods.
2. Step
Is the order or index of the conversion type
3. Description
Description of the conversion type
4. Conversion Category
Can be CURRENCY or UNIT
5. Date Format
In this field, you can set up the date format for the source date
6. Last Day
If you select this option for determining exchange rates, the system always uses the last day of the entered
date period.
7. Authoring Schema
Select a schema that has all the relevant tables used for conversion
8. Client
In the Client field, you can set a different client ID, in which the currency conversion tables such as TCURV,
TCURX, TCURN, TCURR or TCURF are stored.
9. Market Data Area
Defines the market data area as stored in the tables. Mandatory for Banking currency conversion.
10. ExRT(Exchange rate type)
Key under which the exchange rate is defined in the system
11. Bid Ask Type
Bid Ask Type values can be BID, ASK or MID.
12. Lookup
The type of lookup to be performed
○ REGULAR: A regular conversion is performed.
○ REVERSE: Performs a reverse conversion with the input units swapped.
13. Error Handling
Defines system behavior if a row cannot be converted.
○ FAIL ON ERROR: The conversion fails with an error.
○ SET TO NULL: The output from the row that caused the error is set to null.
○ KEEP UNCONVERTED: The input value is returned.
14. Accuracy
Defines the rounding behavior of the system.
○ COMPATIBILITY: Mimics ERP behavior by rounding the result.
Note
If error handling is set to “Keep Unconverted”, the output currency might be the source instead of the
target currency. In the event of an error, rounding and Shift_Back are also carried out with respect to
the source currency and the conversion is dropped. This renders all steps redundant, and produces the
input value again.
In the Fields roadmap step, the system displays all the fields for this environment. Outside of this roadmap step,
you can add fields using InfoObject catalogs (see A) or model views. If you use model views, all the fields used in
the corresponding SAP HANA view are automatically imported into this environment. Therefore, you normally use
InfoObject catalogs only if other systems are not yet integrated or if the catalogs already exist.
Note
The Excel import function is language-dependent. This means that the content of the Excel file, like
column descriptions or field category values must be in the same language as the logon language.
2. To check whether the added data has the correct format, choose Check.
3. To remove fields, select the row you want to remove and choose Remove.
4. To search for a specific field, enter a string in the search field in the toolbar and choose Enter, or choose Down
to search downwards. If you want to search in the upper rows choose Up.
5. To export the data currently displayed on the screen to Microsoft Excel, choose Export Excel.
6. To see where a field is used in the current environment, select it and choose Where-Used.
7. To show hidden columns or hide the displayed columns (see Definition of column attributes in the Field
roadmap step table below), choose Open Settings Dialog and add or remove columns.
Note
● To use key figures with negative values, choose a data element or InfoObject for this field that allows
negative values.
● The attribute Unit/Currency Key is used to indicate whether a field is a currency key or unit key. This
Currency Key/Unit Key field can then be used as a reference by other currency key figures. This is done
using the attribute Unit/Currency in environment fields.
If the data type Decimal is used, the key figure is rounded to the decimal place as specified in Data Precision. If the
data type Float is used, the length is set to 16 characters (including decimal places), so the data precision depends
on the data.
Table 123: Examples of Cost Center and Amount Field as Local Fields:
Field Field Cat. Data Type Data Length Data Precision Default Aggre Lower Case En
gation abled
Table 124: Examples of Cost Center and Amount Field as Local Fields:
*Unit/Currency Key, Unit/Currency and Data Element need to be added using the Open Settings Dialog button
**DTE_AMOUNT has a domain that allows negative values, so amount field can be negative.
Note
Fixed function fields added automatically to the environment: Functions like Item Reporting, Item
Reconciliation, Check and RFC Adapter (FI) automatically add technical fixed fields relevant for each of these
functions to the calculation unit/environment under which they are created. These fixed function fields always
start with the prefix FS_PER_. These fields are added to the calculation unit/environment whenever you create
the functions listed above. The RFC Adapter (FI) function also automatically adds FI BAPI structure fields for
user convenience.
Note
The steps for making a description rule change are similar to the steps described above for an environment
rule change.
Environment Copy
Note
The steps for making a description rule change are similar to the steps described above for an environment
rule change.
Protect/Unprotect Environment
Note
The steps for making a description rule change are similar to the steps described above for an environment
rule change.
Transporting an Environment
Note
For all parent functions, only their entry on the initial screen is transported. To also transport the underlying
functions of a parent environment, you need to transport them separately. We do not recommend that you
include multiple environments in a transport, since the generation in the other database is time-consuming.
Table 125:
Field Name of the field. There are reserved names (for example
DATE) that cannot be used as field names. You can find a list
in the tables TRESE and /NXI/TP0FRESFF. To add additional
fields use view /NXI/VP0FRESFF.
Data Type Data types are used to construct the actual technical objects
required to generate the technical artifacts that are the foun
dation of a business function.
Default Aggregation Default behavior when aggregating data. If not specifically set,
the default values are Group for characteristics and Sum for
key figures.
Lower Case enabled Only relevant if data element or InfoObject is attached and has
lowercase enabled. By default this indicator is not set, in
which case the characteristic/parameter field that you define
will only work with uppercase characters (any lowercase char
acters will be converted to uppercase). Set this indicator if the
characteristic/parameter field that you define should work
with lowercase as well.
Technical Fieldname Only relevant if field is used in Model View. It is the field name
in the source system.
Data element Data element attached to the field. Field attributes will be
synchronized with the information for the data element.
Path for Value Help Views Path to SAP HANA database table/view to be used as the
source for value help. It should be populated in the following
format: authoringschema.table_name. It is also used as the
path for the reference table for group selection
Value Help Column Values column in the corresponding SAP HANA database ta
ble/view to be used as the source for value help. It is also used
as a column in the reference table for group selection.
Value Help Description Description column in the corresponding SAP HANA database
table/view to be used as the source for value help.
Internal Hierarchy ID BW hierarchy ID to be used as the source for value help. In this
scenario, InfoObject with hierarchy is to be populated and
value help to be displayed as a tree.
Example
Group Selection Example
This example shows how a column that does not exist in the input function (Model table in this example) can be
used for group selection. We have a Model Table with the columns “Cost Center” and “IT Cost” and a reference
table (any table that exists in the SAP HANA database) with a relationship between cost centre and cost centre
group. The idea is to enable a selection based on the column Cost Centre Group from the reference table.
CC01 100.00
CC02 120.00
CC03 110.00
CC13 78.00
CC14 88.00
CC15 99.00
KOSTL BUKRS
CC01 A100
CC02 A100
CC09 A100
CC03 A100
CC04 A100
CC05 A100
CC06 A100
CC10 A100
CC11 A100
CC07 A100
CC12 A100
CC13 A100
In order to do so, the following settings have to be made in the environment fields.
Fields Field Cate Data Type Data Length Data Preci Short De Path for Value Help
gory sion scription Value Help Column
Views
We create a view function using the Model Table as an input function. In the view function we add the cost
center group as a calculated attribute and select the value A100. For the Cost Center field we also set the
selection to <>CC02. After executing the View function, the result displays data for all cost centers that belong
to the A100 group, except for CC02 since it is excluded by the second condition.
Creating InfoObjects
Maintain Schema Mapping for NXI Schema
Context
This function is used to create a set of fields, which can be reused in other functions.
Prerequisites
You have configured an environment or a calculation unit under an environment. You can create a field sets
function only under an environment or under a calculation unit.
Steps
Roadmap Step 1
1. On the Field Sets Configuration page in step 1, choose Add to add an empty row and enter the new set name.
Optional: To remove a set, select the row with the set that is to be removed, and choose Remove.
Optional: To change the field sets sequence, use Up and/or Down.
2. Select the field set whose fields you want to maintain and choose Step 2.
Roadmap Step 2
1. On the Field Sets Configuration page step 2, choose Add. A dialog box appears, in which you can select the
fields to be included in the field set.
Optional: To remove a field, select the row of the field to be removed and choose Remove
Optional: To change the field sets sequence, use Up and/or Down.
2. To export the field list to an Excel spreadsheet, choose Export.
3. To save the changes, choose Save.
Context
The Funds Transfer Pricing function is a comprehensive calculation tool that provides a variety of different
valuation component types. You can use the function to interpolate rates and calculate values (for example,
capital growth, Fisher-Weil duration) using the underlying functional formulas.
Prerequisites
To be able to create this function, you must have configured an environment or a calculation unit under an
environment, and you need a configured function that provides all the necessary input data, such as position data,
cash flows and rates.
Steps
In the roadmap step Input Function, you can add the input functions that are needed for the calculation.
In the roadmap step Rules, you can set up your own formulas or preconfigured business-specific calculations.
Preprocessing Rules
General
Characteristic Formula: You can add your own formula for the chosen field. To do so, you need to activate edit
mode and choose Maintain Formula.
Key Figure Formula: You can add your own formula for the chosen field. To do so, you need to activate edit mode
and choose Maintain Formula.
Value Aggregation: Value Aggregation includes several kinds of different aggregation methods. The following
basic formulas are available:
Interpolation:
For more information about the Interpolation function, see Window Functions in the Related Information section
below.
1. Capital Growth Amount: Capital growth is the increase in value of an asset or investment over time. In this
formula, Rate can be the effective interest.
Duration
1. Fisher-Weil Duration: The Fisher-Weil duration is a refinement of the Macaulay duration, taking into
consideration the term structure of the interest rates. It describes the elasticity of the net present value to
interest rate changes.
2. Macaulay Duration: Macaulay duration describes the term of an investment needed for the counteracting
effects of rate change and reinvestment yield to offset each other exactly. Using this point in time as the
planning horizon, the investor is then immune from any interest rate changes.
4. Matched Maturity: This is the coordination of a financial institution’s cash inflows with its cash outflows
based on the maturities of its assets and liabilities. It thereby enables the institutions to fulfil their obligations
at the required times. The results of matched maturity are the same for each calculated row.
The Market Interest Approach determines the FTP rate with several calculation steps of different business
calculations. All of these calculation steps are processed in this single preprocessing rule by setting up the
mandatory fields.
1. Net Present Value: The net present value (NPV) is the present value of net cash flow of a future investment
minus the initial investment. It compares the value of money today to the value of that same money in the
future. Before the NPV can be calculated, a discount rate has to be determined or given. To discount all cash
inflows and cash outflows separately, choose the Discounting valuation component in the Valuation function.
2. Effective Yield Rate: This is the continuous rate of the effective yield. The effective yield rate is an interest
rate on a financial product (for example, bonds) calculated as if compounded annually. It is calculated using
the nominal rate and the number of compounding periods per year. The results of the effective yield rate are
the same for each calculated row. With this rate, the effective yield can be calculated.
3. Effective Capital over Time (Amount): The effective capital corresponds to the remaining capital but takes
into account the incoming payments resulting from repayments, and not the debit positions. The effective
capital is basically the difference between the value-dated capital and the sum of all resulting repayments and
capital transfer outflows, based on the incoming payments. The system determines the new effective capital
by adding the effective interest to the existing effective capital and adding or subtracting the payment flows.
The used rate is the effective interest rate. ECOT can be calculated within MIRA or it can be calculated
separately.
4. Capital Growth Amount: Capital growth is the increase in value of an asset or investment over time. In this
formula, Rate can be the effective interest.
5. NPV Capital Growth: Capital growth is the increase in value of an asset or investment over time. In this
formula, we discount the result of the Capital Growth with the discount rate.
7. Funds Transfer Pricing Rate: After several calculation steps within this one preprocessing rule, the final FTP
rate is calculated.
Example
Example: Funds Transfer Pricing
Table 131:
Table 132:
Table 133:
Posi Cash Term Flow Princi Cur Source Cash Term Inter Mar Dis Cou
tion ID Flow (TERM Type pal CF rency (SOUR Flow Unit est Cal ginal count pon
(POS_ View _) (CF_FL (CF_PR Key CE) Period (TERM ⁄/_úo/jemˆê Fund Rate (COU
ID) ID OW_TY INCI (CURR (CF_PE _UNIT) tion ing (DIS PON_R
(CF_VI PE) PAL) _KEY) RIOD) Method Curve COUN ATE)
EW) (IN (MD_M T_RAT
TMETH FC) E)
)
L0400 CFNP 0 SOUTP -10000. USD MDL04 0 DAY 360E/ 0.0150 0.0031 0.7200
0000 00 ACTY 0 000
0
L0400 CFNP 31 SANNU 302.00 USD MDL04 31 DAY 360E/ 0.0150 0.0064 0.0000
0000 ACTY 0 000
0
L0400 CFNP 59 SANNU 302.00 USD MDL04 28 DAY 360E/ 0.0150 0.0094 0.0000
0000 ACTY 0 000
0
L0400 CFNP 90 SANNU 302.00 USD MDL04 31 DAY 360E/ 0.0150 0.0089 0.0000
0000 ACTY 0 000
0
L0400 CFNP 120 SANNU 302.00 USD MDL04 30 DAY 360E/ 0.0150 0.0083 0.0000
0000 ACTY 0 000
0
L0400 CFNP 151 SANNU 302.00 USD MDL04 31 DAY 360E/ 0.0150 0.0076 0.0000
0000 ACTY 0 000
0
L0400 CFNP 181 SANNU 302.00 USD MDL04 30 DAY 360E/ 0.0150 0.0070 0.0000
0000 ACTY 0 000
0
L0400 CFNP 212 SANNU 302.00 USD MDL04 31 DAY 360E/ 0.0150 0.0057 0.0000
0000 ACTY 0 000
0
L0400 CFNP 243 SANNU 302.00 USD MDL04 31 DAY 360E/ 0.0150 0.0052 0.0000
0000 ACTY 0 000
0
L0400 CFNP 273 SANNU 302.00 USD MDL04 30 DAY 360E/ 0.0150 0.0023 0.0000
0000 ACTY 0 000
0
L0400 CFNP 304 SANNU 302.00 USD MDL04 31 DAY 360E/ 0.0150 0.0045 0.0000
0000 ACTY 0 000
0
L0400 CFNP 334 SANNU 302.00 USD MDL04 30 DAY 360E/ 0.0150 0.0040 0.0000
0000 ACTY 0 000
0
L0400 CFNP 365 SANNU 302.00 USD MDL04 31 DAY 360E/ 0.0150 0.0031 0.0000
0000 ACTY 0 000
0
L0400 CFNP 396 SANNU 302.00 USD MDL04 31 DAY 360E/ 0.0150 0.0064 0.0000
0000 ACTY 0 000
0
L0400 CFNP 425 SANNU 302.00 USD MDL04 29 DAY 360E/ 0.0150 0.0094 0.0000
0000 ACTY 0 000
0
L0400 CFNP 456 SANNU 302.00 USD MDL04 31 DAY 360E/ 0.0200 0.0089 0.0000
0000 ACTY 0 000
0
L0400 CFNP 486 SANNU 302.00 USD MDL04 30 DAY 360E/ 0.0200 0.0083 0.0000
0000 ACTY 0 000
0
L0400 CFNP 517 SANNU 302.00 USD MDL04 31 DAY 360E/ 0.0200 0.0076 0.0000
0000 ACTY 0 000
0
L0400 CFNP 547 SANNU 302.00 USD MDL04 30 DAY 360E/ 0.0200 0.0070 0.0000
0000 ACTY 0 000
0
L0400 CFNP 578 SANNU 302.00 USD MDL04 31 DAY 360E/ 0.0200 0.0057 0.0000
0000 ACTY 0 000
0
L0400 CFNP 609 SANNU 302.00 USD MDL04 31 DAY 360E/ 0.0200 0.0052 0.0000
0000 ACTY 0 000
0
L0400 CFNP 639 SANNU 302.00 USD MDL04 30 DAY 360E/ 0.0200 0.0023 0.0000
0000 ACTY 0 000
0
L0400 CFNP 670 SANNU 302.00 USD MDL04 31 DAY 360E/ 0.0200 0.0045 0.0000
0000 ACTY 0 000
0
L0400 CFNP 700 SANNU 302.00 USD MDL04 30 DAY 360E/ 0.0200 0.0040 0.0000
0000 ACTY 0 000
0
L0400 CFNP 731 SANNU 302.00 USD MDL04 31 DAY 360E/ 0.0200 0.0031 0.0000
0000 ACTY 0 000
0
L0400 CFNP 762 SANNU 302.00 USD MDL04 31 DAY 360E/ 0.0200 0.0064 0.0000
0000 ACTY 0 000
0
L0400 CFNP 790 SANNU 302.00 USD MDL04 28 DAY 360E/ 0.0200 0.0094 0.0000
0000 ACTY 0 000
0
L0400 CFNP 821 SANNU 302.00 USD MDL04 31 DAY 360E/ 0.0200 0.0089 0.0000
0000 ACTY 0 000
0
L0400 CFNP 851 SANNU 302.00 USD MDL04 30 DAY 360E/ 0.0200 0.0083 0.0000
0000 ACTY 0 000
0
L0400 CFNP 882 SANNU 302.00 USD MDL04 31 DAY 360E/ 0.0200 0.0076 0.0000
0000 ACTY 0 000
0
L0400 CFNP 912 SANNU 302.00 USD MDL04 30 DAY 360E/ 0.0300 0.0070 0.0000
0000 ACTY 0 000
0
L0400 CFNP 943 SANNU 302.00 USD MDL04 31 DAY 360E/ 0.0300 0.0057 0.0000
0000 ACTY 0 000
0
L0400 CFNP 974 SANNU 302.00 USD MDL04 31 DAY 360E/ 0.0300 0.0052 0.0000
0000 ACTY 0 000
0
L0400 CFNP 1004 SANNU 302.00 USD MDL04 30 DAY 360E/ 0.0300 0.0023 0.0000
0000 ACTY 0 000
0
L0400 CFNP 1035 SANNU 302.00 USD MDL04 31 DAY 360E/ 0.0300 0.0045 0.0000
0000 ACTY 0 000
0
L0400 CFNP 1065 SANNU 302.00 USD MDL04 30 DAY 360E/ 0.0300 0.0040 0.0000
0000 ACTY 0 000
0
L0400 CFNP 1096 SANNU 309.00 USD MDL04 31 DAY 360E/ 0.0300 0.0031 0.2430
0000 ACTY 0 000
0
Table 135:
Input Fields
∑ Term x Principal:
Input Fields
Input Fields
Input Fields
Input Fields
Initial Value 0
Input Fields
Table 136:
(Net) Effec Effec Capital NPV Margin FTP Matche Macau Modi Interpo Fisher
Present tive tive Growth Capital Spread Rate d Ma lay Du fied Du lated Weil
Value Yield Capital (CAPI Growth (MAR (%) turity ration ration (INTER Dura
(NPV) Rate (ECOT) TAL_GR (NPVC GIN_SP (FTP_R (MATC (MAC (MODI éCþNQ tion
(EFFEC OWTH) G) READ) ATE) HED_M éCäNQ FIED_D LATED) (FISHE
TIVE_YI ATUR é
Cðn˘zÎÑÿÚ'· éCãn "5 R_WEIL
ELD_RA ITY) éCðNQ TION) _DURA
TE) TION) TION)
-31.000 0.0591 10,000. 0.0000 0,00 0,36 0.30144 0.0056 0.0000 -9,852.2 0.72 -10,000.
0 0000 8 167 00
1.9328 0.0591 9,710.9 863.307 5.53 0.36 0.30144 0.0056 0.0477 297.536 0.70 206.14
250 7 8 9
2.8388 0.0591 9,420.2 757.034 7.12 0.36 0.30144 0.0056 0.0737 297.536 0.69 160.21
610 1 8 9
2.6878 0.0591 9,130.4 813.258 7.24 0.36 0.30144 0.0056 0.0892 297.536 0.68 128.51
367 4 8 9
2.5066 0.0591 8,839.8 762.747 6.33 0,36 0.30144 0.0056 0.0951 297.536 0.66 107.85
569 9 8 9
2.2952 0.0591 8,549.2 763.151 5.80 0,36 0.30144 0.0056 0.0949 297.536 0.65 92.49
824 7 8 9
2.1140 0.0591 8,257.9 714.198 5.00 0,36 0.30144 0.0056 0.0909 297.536 0.64 81.29
757 9 8 9
1.7214 0.0591 7,966.6 712.917 4.06 0,36 0.30144 0.0056 0.0845 297.536 0.62 72.24
491 4 8 9
1.5704 0.0591 7,674.9 687.767 3.58 0,36 0.30144 0.0056 0.0768 297.536 0.61 65.01
460 0 8 9
0.6946 0.0591 7,382.5 641.157 1.47 0,36 0.30144 0.0056 0.0690 297.536 0.60 59.27
457 6 8 9
1.3590 0.0591 7,090.0 637.340 2.87 0,36 0.30144 0.0056 0.0609 297.536 0.58 54.31
877 9 8 9
1.2080 0.0591 6,796.9 592.299 2.37 0,36 0.30144 0.0056 0.0535 297.536 0.57 50.24
558 1 8 9
0.9362 0.0591 6,503.7 586.786 1.82 0,36 0.30144 0.0056 0.0463 297.536 0.56 46.64
409 4 8 9
1.9328 0.0591 6,210.14 561.473 3.59 0,36 0.30144 0.0056 0.0399 297.536 0.54 43.51
70 0 8 9
2.8388 0.0591 5,915.65 501.455 4.71 0,36 0.30144 0.0056 0.0345 297.536 0.53 40.94
54 5 8 9
2.6878 0.0591 5,672.4 510.703 4.55 0,36 0.30144 0.0056 0.0094 296.078 0.52 29.84
384 1 8 4
2.5066 0.0591 5,379.9 473.870 3.93 0,36 0.30144 0.0056 0.0075 296.078 0.50 28.17
003 0 8 4
2.2952 0.0591 5,087.17 464.450 3.53 0,36 0.30144 0.0056 0.0058 296.078 0.49 26.63
37 9 8 4
2.1140 0.0591 4,793.6 424.977 2.97 0,36 0.30144 0.0056 0.0046 296.078 0.48 25.29
594 6 8 4
1.7214 0.0591 4,499.9 413.840 2.36 0.30144 0.0056 0.0035 296.078 0.46 24.04
222 3 8 4
1.5704 0.0591 4,205.6 388.481 2.02 0,36 0.30144 0.0056 0.0027 296.078 0.45 22.91
788 7 8 4
0.6946 0.0591 3,910.6 351.338 0.81 0,36 0.30144 0.0056 0.0021 296.078 0.44 21.91
941 4 8 4
1.3590 0.0591 3,615.4 337.613 1.52 0,36 0.30144 0.0056 0.0016 296.078 0.42 20.97
350 2 8 4
1.2080 0.0591 3,319.4 302.02 1.21 0,36 0.30144 0.0056 0.0012 296.078 0.41 20.13
657 99 8 4
0.9362 0.0591 3,023.1 286.572 0.89 0,36 0.30144 0.0056 0.0009 296.078 0.40 19.33
875 0 8 4
1.9328 0.0591 2,726.3 260.99 1.67 0,36 0.30144 0.0056 0.0007 296.078 0.38 18.59
986 41 8 4
2.8388 0.0591 2,428.6 212.541 2.00 0,36 0.30144 0.0056 0.0005 296.078 0.37 17.97
430 7 8 4
2.6878 0.0591 2,130.8 209.66 1.87 0,36 0.30144 0.0056 0.0004 296.078 0.36 17.33
292 66 8 4
2.5066 0.0591 1,832.3 178.007 1.48 0,36 0.30144 0.0056 0.0003 296.078 0.34 16.75
836 4 8 4
2.2952 0.0591 1,533.54 158.1911 1.20 0,36 0.30144 0.0056 0.0002 296.078 0.33 16.20
21 8 4
2.1140 0.0591 1,388.3 128.110 0.90 0,36 0.30144 0.0056 0.0000 293.203 0.32 10.64
386 6 8 8
1.7214 0.0591 1,089.9 119.856 0.68 0,36 0.30144 0.0056 0.0000 293.203 0.30 10.31
298 3 8 8
1.5704 0.0591 790.749 94.094 0.49 0,36 0.30144 0.0056 0.0000 293.203 0.29 9.99
0 4 8 8
0.6946 0.0591 490.728 66.0584 0.15 0,36 0.30144 0.0056 0.0000 293.203 0.28 9.70
4 8 8
1.3590 0.0591 189.997 42.3649 0.19 0,36 0.30144 0.0056 0.0000 293.203 0.26 9.42
7 8 8
1.2080 0.0591 -111.526 15.8722 0.06 0,36 0.30144 0.0056 0.0000 293.203 0.25 9.16
6 8 8
0.9302 0.0591 -411.905 -9.6281 -0.03 0,36 0.30144 0.0056 0.0000 291.349 0.24 8.85
0 8 5
Related Information
Context
Prerequisites
As a prerequisite, the closing data needs to be collected from the subsidiaries. All currencies have to be converted
into the base currency of the company.
Roadmap Step 1
1. In step 1 on the configuration page, choose the function in which the data of both subsidiaries is located as
Input Function ID.
2. Choose the elimination category from the dropdown list.
3. To save the changes, choose Save.
1. In the table on the left, define the criteria for intercompany transactions.
2. In the table on the right, choose the key figures that are relevant to the elimination.
3. For indirect elimination, choose the clearing account as the target field.
4. If you want to eliminate less than 100%, choose the field times the percentage in the formula field.
In this scenario, there are two subsidiaries, A100 and B100. These subsidiaries make a transaction of USD 400 in
January 2015
In Roadmap Step 1, the system displays all the transactions for both subsidiaries in an input function. Choose
‘direct’ elimination.
In Roadmap Step 2, on the left side of the table, make the selection Company ID = A100 and Business Partner =
B100. On the right side of the table, choose the key figure ‘VV100’.
In Roadmap Step 3, on the left side of the table, make the selection Company ID = B100 and Business Partner =
A100. On the right side of the table, choose the key figure ‘VV200’.
Contract Currency Company ID Business Sales Clearing Ac Cost Clearing Ac
Partner (VV100) count Sales (VV200) count Cost
(VV101) (VV201)
For indirect elimination, you do not delete the internal transaction, but move it to a clearing account.
You do the same for direct elimination, but you also choose the clearing account VV101 in the additional Target
Field column of the elimination list in Roadmap Step 2 and the clearing account VV201 in the additional Target
Field column of the elimination list in Roadmap Step 3.
Context
In this function, you configure a hierarchical P&L (Profit and Loss) or balance sheet item calculation schema to be
used by an item report function. Item forms and item reports are split into two separate functions to enable you to
1. Dynamic Reporting
In dynamic reporting, the item form uses aggregated key figures as input for the leaf nodes. Formulas for the
total nodes then use the results of the leaf nodes and other total nodes.
2. Reconciliation
In reconciliation, the item form uses mapping items as input for the leaf nodes. Formulas for the total nodes
then use the results of the leaf nodes and other total nodes.
Prerequisites
Note
This is an optional prerequisite step. You can still configure the item form without this step.
You have defined a characteristic with appropriate master data values. The master data values of this
characteristic are then used as P/L item IDs when you define the item form function.
Steps
Settings Configuration
1. In the Settings roadmap step, choose the input item form category from the dropdown list. Possible input
item form categories are Dynamic reporting, Comparison, Pre-allocation reconciliation, Post-allocation
reconciliation and Consolidation Reconciliation.
2. In the Settings roadmap step, choose the input item characteristic.
Result
This function does not produce an output by itself, but is used as a calculation formula that is set in the item
report later.
Item Description Item Cate Level Key Figure Key Figure Item For Sign Hidden
gory from to mula
You can use the item report function for the following purposes:
1. Dynamic reporting
Dynamic reporting allows real-time analysis of P/L (profit and loss) items based on calculated profitability
results, including slicing and dicing using all the available characteristics.
2. Pre-allocation reconciliation reporting
In pre-allocation reconciliation, general ledger data can be compared with the enriched data to find out
whether all ERP data is included completely within FS-PER before allocation.
3. Post-allocation reconciliation reporting
In post-allocation reconciliation, general ledger data can be compared with the allocation results to find out
whether all ERP data is included completely after allocation.
Prerequisites
1. Dynamic Reporting
The item report uses an input function (for example, allocation results) together with an item form (for
example, P/L schema) to produce a dynamic report. You can choose any data source containing key figures
that at least partly match the key figures used in the item form as an input function. You then apply the item
formulas for these matching key figures. For example, if there is a data source containing profitability results
for assets, but an item form is assigned that calculates the complete P/L schema including assets, liabilities
and tax, then the P/L items for assets are filled and the P/L items for the rest are 0.
2. Reconciliation (Pre-Allocation/Post-Allocation)
The item report uses two input functions (for example, general ledger P/L data as a source and allocation
results for comparison) together with an item reconciliation (for example, to reconcile general ledger P/L data
with allocation results) and an item form (for example, a P/L schema) to produce a reconciliation report. If the
item report category is post-allocation reconciliation, the item report allows the system to send reconciliation
postings to the general ledger to update the P/L.
Steps
Source Configuration
1. In the Item Report Source roadmap step, choose the one that you want to analyze.
2. In the Source Input function, you can select the Is Dimension checkbox for the characteristics of the input data
that you want to use as analysis dimensions (slicing/dicing characteristics) in the item report result.
Note
The order of the dimension field in this input function determines the hierarchy of the dimension values in
the tree structure to the left of the item report analysis result.
3. In the Source Input function, you can select the Expand Values checkbox column for a single characteristic of
the input data. The values of this characteristic are set as column headers in the item report analysis and the
P/L item result values are displayed accordingly.
1. This page appears only if you have chosen the item report categories Pre-Allocation/Post-Allocation
Reconciliation.
2. In the Item Report Comparison roadmap step, from the list of input functions, choose the one that you want to
analyze.
Properties
1. Choose the Item Form function with which you want to create this report. This item form also determines the
item report category (dynamic or reconciliation report).
2. If you choose an item form that is configured for pre-allocation or post-allocation reconciliation, you also have
to enter the pre-allocation or post allocation reconciliation function in the Item Reconciliation input field.
3. If you choose an item form that is configured for post-allocation reconciliation, you can assign a G/L write
adapter to the item report by specifying the remote function adapter in the Target Update Function input field.
This enables the Update Function button on the analysis screen to send reconciliation postings to the general
ledger to update the P/L.
Result
This function outputs the P/L item schema values based on the input data. If you use it for reconciliation (pre-
allocation or post-allocation), the system also displays the comparison values for the P/L item schema. .
To view the results in the hierarchical P/L item schema, choose Analysis. The results are displayed on a new
application screen. You can “slice and dice” using the analysis dimension characteristic values in the tree
structure on the left of the screen. To do so, select a dimension value and choose Refresh Results. In addition, you
can specify selection criteria for the input data by choosing Selection.
Context
In this function, you can configure a reconciliation mapping. You can use this to reconcile the general ledger
against the allocation result or to reconcile the planning P/L against allocation based on planning data, for
example. There are two options to use of this function:
1. As an independently generated function that you can execute to get the reconciliation results.
2. As a supporting function to be used by an item report. Here the system displays the comparison values for the
Profit and Loss item schema.
1. Pre-allocation reconciliation
The data from the general ledger is reconciled against the enriched data to check whether all general ledger
amounts are included completely.
2. Post-allocation reconciliation
The data from the general ledger is reconciled against the allocation results to show the differences between
the original general ledger P/L and the P/L calculated after allocation.
Note
General ledger data is expected in accounting format (normalized data) and enriched data is in costing
format (denormalized data).
3. Generic reconciliation
The mapping can be set up without any predefined assumptions about normalized or denormalized data. A
typical example is the reconciliation of Insurance Analyzer business transaction (BT) data against enriched
data to see whether all BTs are included completely.
Steps
Settings Configuration
In this step, you can choose the item reconciliation category from the list. If you want to create a mapping to
reconcile pre- or post-allocation results, choose Transfer Structure-Based. If you want to create a mapping for any
other reconciliation, choose Generic.
Fields Configuration
1. If you chose Transfer Structure-Based in the previous step, the Copy from Transfer Structure button is
enabled. This allows you to select any of the existing transfer structures and to transform all of its rules into
reconciliation mappings automatically. Alternatively, you can add relevant fields for the source and the
comparison. In both field lists, you must select at least one key figure.
2. You can also enter a source input function and a comparison input function, which would populate the field list
and you can change the field settings.
Note
If you intend to generate this reconciliation function, you need to specify the input functions.
3. If you intend to carry out quantitative reconciliation, specify the reconciliation key by setting the
Reconciliation Key indicator for the relevant fields.
This is an optional step that you can use to define the account check configuration for the Account Check button
in the Reconciliation Rules roadmap step. To verify that all the accounts have been considered for configuration in
the reconciliation rules, you specify an account master data source in this account check function.
In the Account Check roadmap step, enter the reconciliation account field, the account master data check
reference function, and the account check reference field.
Result
This function produces an output if both source and comparison input functions are specified during
configuration.
However, if you use this function as a supporting function for item reporting, the system displays the result in the
corresponding item report only.
Example
Example
Context
A function that joins the results of two or more other functions based on the selected join category.
Prerequisites
To be able to use this function, you must have provided a function with data (source data) under the environment
function as input to be joined.
Roadmap Step 1
1. On the configuration page in step 1, choose the join category Join from the dropdown list and choose
Roadmap Step 2.
2. To save the changes, choose Save.
3. Auto-Merge Common Fields.
1. This option influences the behavior of columns with the same names that exist in both the input functions.
For example, if the same field, Channel, exists in both the input functions, the option that you choose here
influences whether the field Channel is displayed from the first input function or from the second.
2. If you select no, the common fields are always displayed from the first input function.
3. If you select the option if null First to Last, the common fields are always populated with the first “non
NULL” value when the system runs through the list of input functions from top to bottom.
4. If you select the option if null Last to First, the common fields are always populated with the first “non
NULL” value when the system runs through the list of input functions from bottom to top.
Roadmap Step 2
1. In roadmap step 2, select the required input functions by choosing Add Field(s).
2. Choose a variable prefix name for the added function.
3. Select the join type Inner Join.
4. Add a new row in the Join Type table.
5. Choose a source function ID and a field for the entry on the left.
6. Choose Equal as the join operator.
7. Choose a source function ID and a field for the entry on the right.
8. If you want to keep your changes, choose Save.
9. To generate, choose Generate.
10. For a preview, choose Test.
Example
Inner Join
CN001 D01 20
CN002 D02 30
CN004 D04 60
Roadmap Step 1
1. On the configuration page in step 1, choose the join category Join from the dropdown list and choose
Roadmap Step 2.
2. To save the changes, choose Save.
Roadmap Step 2
1. In roadmap step 2, select the required input functions by choosing Add Field(s).
2. Choose a variable prefix name for the added function.
3. Select the join type Left Outer Join.
4. Add a new row in the Join Type table.
5. Choose a source function ID and a field for the entry on the left.
6. Choose Equal as the join operator.
7. Choose a source function ID and a field for the entry on the right.
8. If you want to keep your changes, choose Save.
9. To generate, choose Generate.
10. For a preview, choose Test.
Example
Left Outer Join
CN001 D01 20
CN002 D02 30
CN004 D04 60
The result of a join always displays all the unique columns from all input functions . If there are columns that are
the same in both the right and the left table, priority is always given to the topmost table from the list of input
functions. The next column with the same name is, therefore, ignored.
If you want to display both the left and right columns with the same name, you need to create a calculated
attribute in the other table/tables against the common column, and assign the value of the common column using
the formula editor.
This special case only occurs in a full outer join with common columns in both the left and the right input tables.
Roadmap Step 1
1. On the configuration page in step 1, choose the join category Join from the dropdown list and choose
Roadmap Step 2.
2. To save the changes, choose Save.
Roadmap Step 2
1. In roadmap step 2, select the required input functions by choosing Add Field(s).
2. Choose a variable prefix name for the added function.
3. Select the join type Full Outer Join.
4. Add a new row in the Join Type table.
5. Choose a source function ID and a field for the entry on the left.
6. Choose Equal as the join operator.
7. Choose a source function ID and a field for the entry on the right.
8. If you want to keep your changes, choose Save.
9. To generate, choose Generate.
10. For a preview, choose Test.
Example
Full Outer Join
CN001 D01 20
CN002 D02 30
For this join type, the system displays every data record from all input functions. Data records with the same sets
of characteristics are merged.
Roadmap Step 1
1. On the configuration page in step 1, choose the join category Union from the dropdown list and choose
Roadmap Step 2.
2. To save the changes, choose Save.
Roadmap Step 2
1. In roadmap step 2, select the required input functions by choosing Add Field(s).
2. Choose a variable prefix name for the added function.
3. If you want to keep your changes, choose Save.
4. To generate, choose Generate.
5. For a preview, choose Test.
CN001 D01 20
CN002 D02 30
CN004 D04 60
CN001 D01 20
CN002 D02 30
CN001 - - D01 20
CN002 - - D02 30
CN004 - - D04 60
For this join type, the system displays all data records from every function.
Roadmap Step 1
1. On the configuration page in step 1, choose the join category Union All from the dropdown list and choose
Roadmap Step 2.
2. To save the changes, choose Save.
Roadmap Step 2
1. In roadmap step 2, select the required input functions by choosing Add Field(s).
2. Choose a variable prefix name for the added function.
3. If you want to keep your changes, choose Save.
4. To generate, choose Generate.
5. For a preview, choose Test.
Example
Union All
Table 157: Input Function Data 1 (not visible in the view)
CN001 D01 20
CN002 D02 30
CN004 D04 60
CN001 D01 20
CN002 D02 30
CN001 - - D01 20
CN002 - - D02 30
CN004 - - D04 60
CN001 - - D01 20
CN002 - - D02 30
Context
A function that enhances persistent data with further transient data, which it looks up in other data sources. This
function also enables selective data enrichment. If no data value is entered for the transient fields in the lookup
table, he value from the source is retained. This prevents data loss in the enrichment process.
Prerequisites
You have provided a source data function that needs to be enhanced and a lookup function from which data will
be looked into and enriched in the Lookup function.
Roadmap Step 1
On the Lookup page, in the Fields roadmap step, use the dropdown list to select the function to be enriched. The
system then automatically enters the fields of the chosen table in the view table. This roadmap step behaves like a
view (see View function).
1. In the Lookup roadmap step, use the dropdown list to select the lookup function ID. This function will then be
used as a lookup table for the chosen input function from step 1.
2. In the Lookup roadmap step, select the Is Join Relevant checkbox for the field to be made the join condition
and select the appropriate field from the dropdown list from the lookup table.
This roadmap step behaves like a join (see Join function)
3. In the Lookup roadmap step, in the Look Up Field column, choose the field that you want to use from the
lookup table. If the value in the lookup table is empty, the data in the source is retained.
4. To save the changes, choose Save.
5. To generate, choose Generate.
6. For a preview, choose Test.
Optional step:
1. In the Lookup function, you can also set up a lookup condition (see View selection function)
2. Choose Formula to set up arithmetic calculations using the fields from both the source and the lookup tables.
Example
Example 1 of Lookup
Table 161: Data set 1: Input Function Data (not visible in the view)
CN001 2 300
CN002 3 400
CN006 4 500
Table 162: Data set 2: Lookup Function Data (not visible in the view)
Lookup Scenario
Amount Amount
In this example, the join is based on the Contract field and the value of the Product (data set 2) is moved to the
Product field (data set 1).
Result
Table 164:
CN006 4 500
Example
Example 2 of Lookup
Table 165: Data set 1: Input Function Data (not visible in the view)
CN001 PROD01
CN002 PROD01
CN006 PROD04
Table 166: Data set 2: Look Up Function Data (not visible in the view)
Lookup scenario
Table 167:
In this example, the join is based on the CN001 contract and Product fields. The value in Amount is copied to
Premium and Cost.
Result
Table 168:
CN002 PROD01
CN006 PROD04
Context
This function allows the manual and automatic management of unassigned items.
The function is used to handle automatic unassigned items by creating a set of rules that can be used in other
functions.
The function is used to handle manually unassigned items and allows you to delete the entries of the sender
characteristics.
The function also allows single records to be transmitted directly from the sender to the receiver.
To be able to use the function, you must have configured an environment or a calculation unit under an
environment. You must configure and run a successful allocation, which includes unassigned items after the
successful execution.
In Roadmap Step 1
1. In roadmap step 1 on the configuration page, choose Refresh to update the list of unassigned items.
2. Optional: Select one or more records and choose Details to open a popup with further information for the
selected records.
3. Select the checkbox in the Transmit column to move this record directly to the results.
4. Use the dropdown list in the columns Field1, Field2, Field3, Field4, Field5, Field6, Field7, Field8, Field9 and
Field10 to delete the entries.
5. Use the Field Set dropdown list to change the order of displayed characteristics, based on the selected field
set..
6. Use the Run Set dropdown list to choose a run set, on which the unassigned items will be selected.
7. Choose Simulation to perform a simulated allocation.
8. Choose Run to perform the actual allocation.
9. To save the changes, choose Save.
In Roadmap Step 3
1. In roadmap step 3 on the configuration page, choose Add to create a new priority.
2. Select the necessary characteristics from the dropdown list.
3. Optional: To remove a priority, select the row with the priority that you want to remove and choose Remove.
4. Optional: To change the priority sequence, use Up and (or) Down.
5. To export the priority list to an Excel spreadsheet, choose Export.
6. To import a priority list from an Excel spreadsheet, choose Import.
Channel
Customer
Product
Select the Direct Allocation field set from the Field Set dropdown list.
The unassigned items should now appear in their new order, as shown below:
Table 170:
- - CU_B - 48
- - CU_X PR_X 36
- - CU_B - 48 0
- - CU_X PR_X 36 36
- - CU_B - 48 0
- - CU_B - 48 0
- - CU_B - 48 0
Context
A function that maps fields of the input function with data to fields of the output function. Generic and Key Figure
Results are the mapping categories of this function.
Note
The fields of the output function table are not populated with data from the input function, instead a new table
is created as a result of this enrichment process.
Prerequisites
Steps
1. Choose an input function from the list of input function IDs with fields and data records. The characteristics
and/or key figures of that function will be entered automatically in the Fields column of the table.
○ If you chose Generic in roadmap step 1: The system fills the Fields column with characteristics and/or key
figures.
○ If you chose Key Figure Results in roadmap step 1: The system fills the Fields column with key figures of
the input function ID only and will not display the characteristics.
2. Choose a target function from the list of output function IDs. The characteristics and/or key figures of the
chosen function will then be applied to the Target Fields column of the table, which can then be used for
mapping.
3. To set the mapping, choose a row or field to be mapped, then choose a field from the Target Field dropdown
list.
Note
The target field is the field intended to adopt the value of the input field.
4. Optional Step: To change the column sequence, use the Up and Down buttons.
5. Optional Step: To load the newly added fields from the input and output function, choose the Adjust Function
Fields button.
Example of Mapping
Premium Margin
Amount Principal
This mapping example adds the values of Amount and Legal Cost to Principal as well as the Premium values to
Margin.
34397 15000
Note
Mapping uses only the structure of the output function; it does not include or process the data records that are
already in the function.
Asset ID
Charge C/C
Product Ins_Product
Channel Channel
Curr Curr
Premium Amount
Service Misc
VAT Misc
Legal_Cost Amount
Asset ID Charge C/C Product Channel Curr Base Premium Service VAT Le
Price gal_Cost
ASS001 CC01 PRD01 CH01 KRW 10000 20000 30000 -30000 -30000
ASS003 CC03 PRD03 CH02 KRW 40000 20000 30000 40000 20000
Note
Input function must have fields and data records
- - - - - -
Note
Mapping uses only the structure of the output function; it does not include or process the data records that are
already in the function.
Context
This function configures the structure (header line of a table) of the model table, which can later be used as a data
source for other functions.
Prerequisites
To be able to use this function, you must have configured an environment or a calculation unit under an
environment. You can create a model table function only under an environment or under a calculation unit.
1. In step 1 on the model configuration page, choose Add to select the fields that are to be included in the model
table.
2. Optional: To remove fields from the model table, select the line with the field that you want to remove and
choose Remove.
3. Optional: To change the field sequence, use Up and/or Down.
4. To save your changes, choose Save.
5. To generate the model table, choose Generate.
Note
Before you make settings in roadmap step 2, you need to enter a whitelist and file store path for the import/
export process.
For import settings see IMPORT FROM Statement (Data Import Export) in the Related Information section.
For export settings see EXPORT Statement (Data Import Export) in the Related Information section.
1. In step 2 on the model configuration page, enter the path for the white list file.
2. Enter the HANA path.
3. Enter the file name.
4. Select the checkbox if the import is relevant for the execution environment.
5. Select the checkbox if the export is relevant for the execution environment.
6. Enter the maximum number of threads.
7. Enter the size of the package.
1. In step 3 on the model configuration page, all the files that are included in the previously defined path (Step 2)
are displayed.
2. To upload files, choose Upload Files.
3. To import data from the selected file to model table, choose Import.
4. To download files, choose Download Files
5. To export the model table data to a CSV file, choose Export.
Related Information
Context
This function enables you to use existing SAP HANA database tables, views, tabular functions and tables from
remote systems as data sources for other business functions.
Prerequisites
You have configured an environment or a calculation unit under an environment. You can create a model view only
under an environment or under a calculation unit.
Steps
1. In the Data Model Source roadmap step, select Database Table/View as the database object from the
dropdown list.
2. Select a database schema from the dropdown list.
3. Type the name of a database table or view and choose Enter. A search help is also available for this field. Enter
the first few letters of the database table ID or view ID and choose Search. The system displays a list of search
results, from which you can select the relevant table or view.
4. If the selected database table or view has mandatory parameters, the table is displayed automatically so that
you can define the parameter values.
5. If the selected database table or view contains fields that have not been added to the environment yet, a
confirmation dialog box appears when you go to the second roadmap step. To continue to the second
roadmap step, choose Yes. To go back, choose No.
1. The Data Model Fields roadmap step displays a list of all the fields in the selected database table or view. It is
not possible to add fields, remove fields, or change their order .
2. To save your changes, choose Save.
3. To generate the model view, choose Generate.
4. To display the results, choose Show.
1. In the Data Model Source roadmap step, select Database Function as database object from the dropdown list.
2. In the Data Model Source roadmap step, select a database function from the list of available functions and
choose Enter.
3. If the selected database table or view has mandatory parameters, the table is displayed automatically so that
you can define the parameter values
1. The Data Model Fields roadmap step displays a list of all the fields in the selected database table or view. It is
not possible to add fields, remove fields, or change their order.
2. To save your changes, choose Save.
3. To generate the model view, choose Generate.
4. To display the results, choose Show.
Model Configuration for Virtual Table / View via SAP HANA SDA
1. In the Data Model Source roadmap step, select Virtual Table/View via SAP HANA SDA as the database object
from the dropdown list.
2. Select a remote source from the list (system name) to read a virtual table/view.
3. Select a remote database in which the physical schema is stored.
4. Select a physical schema where the database table is located.
5. Select a database table from the list of available tables and choose Enter.
6. If the selected database function contains fields that have not been added to the environment yet, a
confirmation dialog box appears when you go to the second roadmap step. To continue to the second
roadmap step, choose Yes. To go back, choose No.
1. The Data Model Fields roadmap step displays a list of all the fields in the selected database table or view. It is
not possible to add fields, remove fields, or change their order .
2. To save your changes, choose Save.
3. To generate the model view, choose Generate.
4. To display the results, choose Show.
Example
Example
Values for mandatory parameters can be entered as fixed values. For example, 2105-05-07 or as a parameters
defined in calculation unit ‘:I_BUS_DATE’.
Context
The model writer function allows you to store intermediate results data for a function in a model table function.
Note that the use of this function and the model table function is limited to storing temporary/interim data since
the model table does not support actual physical storage (it does not have lifecycle management, archiving, and
so on).
Prerequisites
You have configured an environment or a calculation unit under an environment. You can create a model writer
function only under an environment or under a calculation unit.
Steps
1. In the Settings roadmap step, enter the model table where the intermediate results will be stored.
2. Select the Delete Old Data checkbox if you want to delete the old data in the model table before writing the
new records.
In the Source Data roadmap step, define an input function that delivers intermediate results for the model table.
Result
The model writer function displays the results of the input function and stores these in the model table.
Context
Transfer Structure is a data enrichment function that can be used to transpose data according to predefined
condition fields and settings. If those conditions are not met, the Transfer Structure function retains the source
data. The function provides a pivot and an unpivot option.
The pivot category of this function transfers values to columns. You can use the pivot option of the transfer
structure to restructure field values according to predefined condition fields for one or more calculated attributes.
The unpivot category of this function transfers values from columns to rows. In general, unpivot is the converse of
pivot. For example, you can use the unpivot option to retrieve the original structure of the data before the pivot
function was exectuted (only one condition can be used for the unpivot category of the transfer structure).
Unpivot uses the SAP HANA cross join function and produces a cross-product of the source data and the rules.
The results with empty action fields are filtered out by default.
Prerequisites
You have made available either the data model or the output from another business function that is to be
enriched. The attributes for enrichment are available at calculation unit level or at environment level, depending
on the level at which data enrichment is to be executed. You have identified the conditions to form the basis for
the data enrichment. You have identified the fields to be derived.
Roadmap Step 1
1. On the Transfer Structure page, in the Category road map step, choose Pivot as the category.
2. You can select Retain Conditions in the Result checkbox.
3. You can also set further properties to retain conditions in the result and to aggregate results by default.
Roadmap Step 2
1. In the Fields roadmap step, choose an input function ID from the dropdown list.
2. Based on your business requirements, choose either Projection or Aggregation as the view type.
3. Choose Add, add the attributes, and mark them as calculated attributes.
4. To set the condition fields, choose Condition as the source category.
Roadmap Step 3
On the Rules roadmap: To set the field value, use the dropdown list to select the value field. The system updates
all rules automatically to include the value field selected.
Roadmap Step 1
On the Transfer Structure page, under the Category road map step, choose Unpivot as the category.
Roadmap Step 2
1. Under the Fields road map step, choose an input function ID from the dropdown list.
2. Choose Projection as the view type.
3. Choose Add, add the attributes, and mark them as calculated attributes.
4. To set the condition fields, choose Condition as the source category.
5. Add the action field as Calculated Attribute if it is not available already.
Roadmap Step 3
Category: Pivot
Rules contain the conditions and action fields. For example, in the rule below, Cost Center is the condition field and
Premium is the action field. If the cost center is CC01, the value of the “Amount” is moved to the Premium field.
Product Premium
P1 700
P2 4350
P3 5500
P4 6100
Category: Pivot
Rules contain the conditions and action fields. For example, in the rule below, Cost Center is the condition field and
Premium is the action field. If the cost center is CC01, the value of the “Amount” is moved to the Premium field.
P1 CC01 100
P2 CC02 400
P3 CC03 550
P4 CC04 700
P1 CC05 850
P2 CC06 1000
P3 CC07 1150
P4 CC08 1300
P3 CC09 1450
P4 CC10 1600
P1 CC01 600
P3 CC05 2350
P4 CC06 2500
P1 CC07 2650
P1 CC08 950
P2 CC09 2950
Category: Unpivot
Data to be enriched without the action field. In these cases, the action field is added to the base view as a
calculated attribute.
P1 CC01 100 0
P2 CC02 0 400
Rules contain the conditions and action fields. For example, in the rule above, Cost Center is the condition field
and Price is the action field.
P1 CC01 100
P2 CC02 400
Category: Unpivot
Data to be enriched without the condition column. In these cases, the condition field and the action field are added
as calculated attributes to the base view.
P1 100 300
P2 200 400
Rules contain the conditions and action fields. For example, in the rule below, Cost Center is the condition field and
Price is the action field.
P1 CC01 100
P2 CC02 300
P1 CC01 200
P2 CC02 400
Appendix
<> <> ABC Not Equal To ABC is not considered for se
lection
NOT IN NOT IN( ABC ; DEF ) NOT IN Neither ABC nor DEF are con
sidered for selection
In In 1;2 In
>= >= 20 Greater Than or Equal All values greater than 20 and
including 20 are considered
for selection
< < 10 Description: Less Than All values less than 10 are
considered for selection
<= <= 10 Less Than or Equal All values less than 10 and in
cluding 10 are considered for
selection
Context
The View function projects or aggregates data from another function. You can also set a formula or a selection for
the data in the view.
Prerequisites
A subfunction of the Environment function must provide data (source data) as input to be projected or aggregated
using the View function.
In this view type, you can display or project data from an input function.
Steps
1. On the View page, choose an input function from the list. The characteristics and key figures of that function
will be entered automatically in the Fields table and the view type will be Projection by default.
2. Choose the fields that are relevant for projection. Set the view field category to one of the following:
1. Field - to project or include the field for display
Example
Example of Projection
Table 202: Example Data: Data must be provided by choosing an input function (source data)
View Settings:
● Customer and Quantity to project original data from source data using the field View Field Category.
● Product is not needed for projection and will be set to Not Used
● Amount to be changed from Field field category to Calculated Attribute for formula
Customer Field - -
Quantity Field - -
Projected Result:
CN001 2 4
CN002 3 5
CN001 4 6
In this view type, the data from the input function can be bundled or combined using the following aggregation
functions (view field category) : Group, Average, Count, Minimum, Maximum, Standard Deviation, Sum, Variance,
Rollup, Cube, Calculated Attribute and Not used.
Steps
1. On the View page, choose an input from the list of functions. The characteristics and key figures of that
function will be entered automatically in the Fields table and the view type will be Projection by default.
2. Change the view type to Aggregation. All data under the View field category will automatically be based on the
default aggregation type attribute that has been defined for the field in the environment Fields list.
3. Choose the fields that are relevant for aggregation. You can use entries from the View Field Category list for
the aggregation process. All fields with the category Not used will not be included.
4. To save your changes, choose Save.
5. To generate, choose Generate.
6. For a preview, choose Run & Show.
Example
Example of Aggregation
Table 205: Example Data: Data has to be provided by choosing an input function (source data)
View Settings:
Customer Group - -
Product Count - -
Quantity Sum - -
Aggregated Result:
CN001 2 6
CN002 1 3
Formula Function
This is a function that is also available under the View function. Formulas and equations are possible for all field
categories to adjust the result for the field.
Steps
1. On the View page, choose an input function from the list. The characteristics and key figures of that function
will be entered automatically in the Fields table and the view type will be Projection by default.
2. Optional: You can also add fields that are not part of the chosen function by adding a new field.
3. Select the row that requires a formula and choose Formula.
4. Enter the formula and choose Add.
Note
A formula can be created in “Expert Mode” or using drag and drop in “Wizard Mode”.
Example
Example for Formula Function
Table 208: Example Data: Data has to be provided by choosing an input function (source data)
View Settings:
● Customer, Product and Quantity to project original data from source data using the field View Field
Category.
● Amount to be changed from field category Field to Calculated Attribute for formula.
● Commission is an added field (not part of the source data). This is automatically a Calculated Attribute.
Customer Field - -
Product Field - -
Quantity Field - -
CN001 PROD01 2 4 4
CN002 PROD01 3 5 6
CN001 PROD03 4 6 8
Selection Function
This is a feature that is also available under the View function. Selection is a function that enables the user to
select the subset of data based on the business need.
Steps
1. In the View table, choose Selection to see the selection dialog box.
2. In the Selection dialog box, you can use filtering functions, such as: is, contains, is between.
3. Specify the selection criteria for the field Customer. For example, Customer is not CN001. Choose OK.
4. To save your changes, choose Save.
5. To generate, choose Generate.
6. For a preview, choose Run & Show.
Example
Example for Selection Function
Table 211: Example Data: Data has to be provided by choosing an input function (source data)
View Settings:
Product Field - -
Quantity Field - -
Amount Field - -
This is a function that is also available under the View function. It excludes the projection and aggregation of
records have a value of zero under the Key Figure field category type.
Steps
1. In the View table, select the relevant field and choose Selection. The selection dialog box appears.
2. In the selection dialog box, you can provide the key figure to check for entries with a value that is zero
>For example, key figure without empty value is Amount (Amount has a field category type key figure)
3. Choose OK.
4. To save your changes, choose Save.
5. To generate, choose Generate.
6. For a preview, choose Run & Show.
Example
Example for with “Key Figures Without Empty Value”
Table 214: Example Data: Data has to be provided by choosing an input function (source data)
CN002 PROD01 3 0
The selection Key Figures Without Empty Value was used for the Amount fields. This condition means that if
there is data in Amount that is equal to 0, it will not be projected
Customer Field - -
Product Field - -
Quantity Field - -
Amount Field - -
Note
In the Selection Window dialog, set an entry for: “Fields without empty values” “is” Amount.
The Amount field of the source has 3 data records: 300, 0, and 500. Since the second entry is equal to 0, it will
not be projected
Execution-Relevant Option
If a field or key figure is meant for possible modification in the execution environment, you must select the
Execution Relevant checkbox.
Steps
1. Use the Execution Relevant checkbox to select a Field or Key Figure that it is subject to modification.
2. The view function itself must also be set as Execution Relevant in the rule hierarchy.
3. To save your changes, choose Save.
4. For a preview, choose Run & Show.
Example
Example of Execution-Relevant Option
Customer Field - - X
Product Field - - X
Quantity Field - -
Amount Field - - x
Customer, Product and Amount fields are visible in the view page of the execution environment
Customer Field - -
Product Field - -
Amount Field - -
The Remote Function Adapter can be used for the following purposes:
1. FI-GL Reconciliation
For the FI-GL category, the function uses the results of the Post-Allocation Check function. It uses the amount
in the Difference column and the debit and credit account information to create a G/L posting, which you can
use for FI-GL reconciliation purposes. This enables you to update the FI-GL with the calculated P/L results. All
the necessary ABAP and SAP HANA artifacts for this are created automatically.
2. Generic
For the Generic category, the function creates the required SAP HANA artifacts and prepares an ABAP report
(including forms), which provides the data to be sent. You can also enter the specific ABAP code to call a
custom interface (for example, a Web service or a BAPI,). For security reasons, you must use the relevant
NetWeaver tools, such as SE80, ABAP Eclipse Workbench, to activate the report and make it executable.
1. FI-GL Reconciliation
For FI-GL Reconciliation, you must create a Field Set function and you need one input function with the source
data.
2. Generic
For the Generic remote function call, you must create one or more input functions with the source data,
containing all fields with the required data. These are used as input functions for the remote function adapter.
Steps
Note
You need to map the fields from the source to these technical fields if the source function has different field
names for similar data.
Add all input functions with the required data. The key fields of these input functions must be in the key field set.
In this step, you can add customer-specific ABAP code or call a remote function model. This code is added to a
FORM statement in the automatically created ABAP report. An inactive version of the ABAP report is created. For
security reasons, you need to activate the report in the corresponding ABAP development environment . If you
change the input functions or any other settings and then choose Generate, the inactive version of the ABAP
report is overwritten. This is why you enter the code here rather than directly in the ABAP workbench. However, if
the code template is placed here, it will be included automatically. The relevant NetWeaver tools (such as SE80 or
ABAP Eclipse Workbench) must be used to activate the report and make it executable.
Fields are added to the result. For more information, see the section Expansion of the Output below.
1. When using parallel processing, the records referring to a set of key field values will always be included
completely in one package. For example, if the key field is the document number, the debit record of a
document is always in the same parallel processing package as the credit record.
2. If more than one input function is used for complex calls, the first input function automatically defines the
worklist. For all further input functions, the remote function adapter automatically selects the records that
match the available keys in the first input function. This ensures that all dependent records are available for
the call.
The Result Group Write Adapter can be used to store calculation results in the Results Data Layer (in Insurance
Analyzer or Bank Analyzer). You can store results in any custom result type. Use the following settings to do this:
This is a special SAP HANA-optimized result category that is enabled for fast HANA-to-HANA write processes.
Prerequisites
You have created an RDL results area and a valid RDL result type using the above settings. You need to define
"Result Group Type" in the result area settings. This result type already contains all the characteristics and key
figures needed to store the calculation results.
Steps
1. In the Settings roadmap step, enter the results data area in which you created your result type and choose
Enter.
Enter the input function that delivers the data to be written in the RDL - for example, the final calculation results or
any interim results.
Result
The function outputs the results of the input function enriched by the RDL-specific fields and writes them to the
specified result type.
Context
This function enables you to use the BW Planning Engine to save FS-PER data to BW InfoCube or DataStore
objects.
Planning Engine Write Adapter function has the following write categories: delta, delta with deletion and
aggregate. For more information about these write categories, see the Examples section.
Prerequisites
You have configured an environment or a calculation unit under an environment. You can create a Planning Engine
Write Adapter function only under an environment or under a calculation unit.
Steps
1. In the Settings roadmap step, select InfoCube or DataStore Object as a target object from the dropdown list.
2. Choose the BW InfoCube or DataStore Object in which data is to be stored.
3. Choose an RFC destination in case function needs to be called from BW side as well.
4. Select the write category Aggregate if you want new data to be added to the target and aggregated with
existing data. If you select Delta as the write category, the system will calculate the differences between
existing data and new data and write only the differences to the target object. If you choosing the write
category Delta with Deletion, the system will calculate the differences between existing data and new data and
set all other values to 0.
1. In the Source Data roadmap step, select the input function from the dropdown list. The system automatically
displays a list of the fields. Note that field names must match the corresponding InfoObjects of the BW
InfoCube.
2. To save your changes, choose Save.
3. To generate the model view, choose Generate.
4. To execute, choose Run. Data will be stored physically in the BW InfoCube or DataStore object.
Examples
Only differences will be added to the DSO/InfoCube, without changing other records.
AAAA 50
AAAA 100
BBBB 200
CCCC 300
AAAA -50
AAAA 50
BBBB 200
CCCC 300
Differences will be added to the DSO/InfoCube, and all other values will be set to 0. This is the same behavior as in
the delete planning function.
AAAA 50
AAAA 100
CCCC 300
AAAA -50
BBBB -200
CCCC -300
AAAA 50
BBBB 0
CCCC 0
AAAA 50
AAAA 100
BBBB 200
CCCC 300
AAAA 50
AAAA 150
BBBB 200
CCCC 300
Context
The Valuation function is a comprehensive calculation tool. Based on the valuation method, you can add formulas
for the values and use predefined calculation logic for the further computation. For example, you can interpolate
rates and calculate values (for example, discount rates or modified duration) using the underlying functional
formulas.
Prerequisites
To be able to create this function, you must have configured an environment or a calculation unit under an
environment. You also need a configured function that provides all the necessary input data, such as position
data, cash flows and rates.
In the roadmap step Settings, you can coose the join category . Based on the join category that you select, the
input functions of roadmap step 2 (Input Functions) are then joined. The following join categories are available:
● Join
● Union
● Union All
● Return First Input Function
● Return Last Input Function
In the roadmap step Input Function, you can add the input function that you need for the calculation.
Note
For basic details about configuring views, see the View function. This is important for preconfiguring the
data stream. For example, you could set up a selection for a field to filter data.
In roadmap step Rules you can set up your own formulas or preconfigured business-specific calculations.
1. Add a new line and choose a preprocessing rule that you want to calculate.
2. Describe the added preprocessing rule.
3. The following preprocessing rules are available, and are grouped into categories:
○ Characteristic Formula
○ Key Figure Formula
○ Value Aggregation
○ Interpolation
○ Discounting
○ Running Total
Choose an input function from the dropdown list.
Note
Fields marked with an asterisk are mandatory. For the output fields, it is important that none of those fields
already exist in the functions of Input Functions. This function does not allow duplicate attributes.
Note
To be able to select a granularity you need to create a Field Set function and a field set. Decide which field
has to be chosen in the field set based on the calculations.The field set is a partition characteristic. This
characteristic of a key position decisively influences how to aggregate the data. Based on this partition, the
function is able to calculate the formula. Without the partition, the function is not able to set an
aggregation. The field set will be set on the field with the highest granularity level. For example, for fixed
terms it could be the position ID of the input data, for running events like cash flows it could be the event ID.
You can also set multiple fields.
5. The function calculates the fields and preprocessing rules in roadmap step 3 in chronological order. This
enables the system to calculate different formulas that are based on each other.
Terms used on the rule screen:
1. Partition & Order is a field from the input function used to group data.
2. Selection is a field from the input functionused to select data.
3. Value Field can be all kinds of numeric fields.
4. Aggregation Method provides several predefined calculation methods.
5. Aggregation Granularity has to be a characteristic field. It has to be set up in the field set function which
defines how to aggregate the data.
6. Lower Row Offset is the minimum of a number range that can be handled in the generator (Integer 16-bit).
7. Upper Row Offset is the maximum of a number range that can be handled in the generator (Integer 16-
bit).
8. Initial Value is a constant used as a start value. This has to be numeric.
Preprocessing Rules
1. Characteristic Formula: You can add your own formula for the chosen field. To do so, you need to activate edit
mode and choose Maintain Formula.
2. Key Figure Formula: You can add your own formula for the chosen field. To do so, you need to activate edit
mode and choose Maintain Formula.
3. Value Aggregation: Value Aggregation includes several kinds of different aggregation methods. The basic
formulas are as follows:
○ Number of rows (COUNT)
○ Minimum value (MIN)
○ Statistical median (MEDIAN)
○ Maximum value (MAX)
○ Sum value (SUM)
○ Arithmetical mean (AVG)
○ Std. dev. sqrt. of Variance (STDDEV)
○ Std. dev. sqrt. of Pop. Variance (STDDEV_POP)
○ Std. dev. sqrt. of Sample Var. (STDDEV_SAM)
○ Variance value (VAR)
○ Population Variance value (VAR_POP)
○ Sample variance value (VAR_SAMP)
4. Interpolation:
○ Extrapolation None (NONE)
○ Extrapolation Linear (LINEAR)
○ Extrapolation Constant (CONSTANT)
For more information about the Interpolation function, see Window Functions in the Related Information
section.
5. Discounting: Discrete discounting is the process of determining the present value of future cash flows. The
value of money is related to inflation and deflation and has the ability to earn interest. Discounting determines
how much money is worth today and how much it will be worth at a certain point in time in the future. The sum
of all discounted cash inflows and cash outflows is the net present value. In this valuation component the rate
has to be in the format of percentage.
Example
Example: Valuation
Table 231:
Roadmap Step 1
Table 232:
Table 233:
Posi Cash Term Flow Princi Cur Source Cash Term Interest Coupon Dis
tion ID Flow Type pal CF rency Flow Unit Calcula count
(TERM_ (SOURC (COU
View ID Period tion Factor
(POS_I M) (CF_FL (CF_PRI (CUR E) (TERM_ PON_R
Method
D) (CF_VI OW_TY NCI RENCY1 (CF_PE UNIT) ATE) (MD_DF
EW) PE) PAL) ) RIOD) (IN )
TMETH)
L0400 CFNP 0 SOUTP -10000. USD MDL04 0 DAY 360E/ 8.0000 1.0000
00000 00 ACTY 000 000000
L0400 CFNP 31 SANNU 302.00 USD MDL04 31 DAY 360E/ 0.0000 0.9983
00000 ACTY 000 862136
L0400 CFNP 59 SANNU 302.00 USD MDL04 28 DAY 360E/ 0.0000 0.9967
00000 ACTY 000 070417
L0400 CFNP 90 SANNU 302.00 USD MDL04 31 DAY 360E/ 0.0000 0.99473
00000 ACTY 000 58652
L0400 CFNP 120 SANNU 302.00 USD MDL04 30 DAY 360E/ 0.0000 0.9926
00000 ACTY 000 892849
L0400 CFNP 151 SANNU 302.00 USD MDL04 31 DAY 360E/ 0.0000 0.9904
00000 ACTY 000 317849
L0400 CFNP 181 SANNU 302.00 USD MDL04 30 DAY 360E/ 0.0000 0.98810
00000 ACTY 000 99521
L0400 CFNP 212 SANNU 302.00 USD MDL04 31 DAY 360E/ 0.0000 0.98557
00000 ACTY 000 00413
L0400 CFNP 243 SANNU 302.00 USD MDL04 31 DAY 360E/ 0.0000 0.98288
00000 ACTY 000 82624
L0400 CFNP 273 SANNU 302.00 USD MDL04 30 DAY 360E/ 0.0000 0.98015
00000 ACTY 000 90400
L0400 CFNP 304 SANNU 302.00 USD MDL04 31 DAY 360E/ 0.0000 0.97720
00000 ACTY 000 16462
L0400 CFNP 334 SANNU 302.00 USD MDL04 30 DAY 360E/ 0.0000 0.97420
00000 ACTY 000 81034
L0400 CFNP 365 SANNU 302.00 USD MDL04 31 DAY 360E/ 0.0000 0.9709
00000 ACTY 000 801752
L0400 CFNP 396 SANNU 302.00 USD MDL04 31 DAY 360E/ 0.0000 0.9683
00000 ACTY 000 096130
L0400 CFNP 425 SANNU 302.00 USD MDL04 29 DAY 360E/ 0.0000 0.9658
00000 ACTY 000 073530
L0400 CFNP 456 SANNU 302.00 USD MDL04 31 DAY 360E/ 0.0000 0.96310
00000 ACTY 000 71557
L0400 CFNP 486 SANNU 302.00 USD MDL04 30 DAY 360E/ 0.0000 0.9604
00000 ACTY 000 693439
L0400 CFNP 517 SANNU 302.00 USD MDL04 31 DAY 360E/ 0.0000 0.95771
00000 ACTY 000 83199
L0400 CFNP 547 SANNU 302.00 USD MDL04 30 DAY 360E/ 0.0000 0.95503
00000 ACTY 000 18163
L0400 CFNP 578 SANNU 302.00 USD MDL04 31 DAY 360E/ 0.0000 0.95223
00000 ACTY 000 09928
L0400 CFNP 609 SANNU 302.00 USD MDL04 31 DAY 360E/ 0.0000 0.9494
00000 ACTY 000 052597
L0400 CFNP 639 SANNU 302.00 USD MDL04 30 DAY 360E/ 0.0000 0.9466
00000 ACTY 000 472169
L0400 CFNP 670 SANNU 302.00 USD MDL04 31 DAY 360E/ 0.0000 0.94377
00000 ACTY 000 32603
L0400 CFNP 700 SANNU 302.00 USD MDL04 30 DAY 360E/ 0.0000 0.9409
00000 ACTY 000 690618
L0400 CFNP 731 SANNU 302.00 USD MDL04 31 DAY 360E/ 0.0000 0.9380
00000 ACTY 000 479434
L0400 CFNP 762 SANNU 302.00 USD MDL04 31 DAY 360E/ 0.0000 0.9350
00000 ACTY 000 895707
L0400 CFNP 790 SANNU 302.00 USD MDL04 28 DAY 360E/ 0.0000 0.93239
00000 ACTY 000 61690
L0400 CFNP 821 SANNU 302.00 USD MDL04 31 DAY 360E/ 0.0000 0.92939
00000 ACTY 000 12898
L0400 CFNP 851 SANNU 302.00 USD MDL04 30 DAY 360E/ 0.0000 0.9264
00000 ACTY 000 606991
L0400 CFNP 882 SANNU 302.00 USD MDL04 31 DAY 360E/ 0.0000 0.9234
00000 ACTY 000 093123
L0400 CFNP 912 SANNU 302.00 USD MDL04 30 DAY 360E/ 0.0000 0.9204
00000 ACTY 000 342700
L0400 CFNP 943 SANNU 302.00 USD MDL04 31 DAY 360E/ 0.0000 0.91733
00000 ACTY 000 75272
L0400 CFNP 974 SANNU 302.00 USD MDL04 31 DAY 360E/ 0.0000 0.91421
00000 ACTY 000 81796
L0400 CFNP 1004 SANNU 302.00 USD MDL04 30 DAY 360E/ 0.0000 0.91117
00000 ACTY 000 82178
L0400 CFNP 1035 SANNU 302.00 USD MDL04 31 DAY 360E/ 0.0000 0.90801
00000 ACTY 000 52725
L0400 CFNP 1065 SANNU 302.00 USD MDL04 30 DAY 360E/ 0.0000 0.9049
00000 ACTY 000 336887
L0400 CFNP 1096 SANNU 309.00 USD MDL04 31 DAY 360E/ 2.0000 0.90172
00000 ACTY 000 83248
Input Fields
Input Fields
Input Fields
Initial Value 0
Input Fields
Sum (VAL_SUM) Discounting (VAL_DISC) Linear Interpolation (VAL_LIN) Running Total (VAL_RT)
Related Information
Window Functions
Application Monitor enables the user to trace and inspect the generations and runs carried out for every function
within an environment. This helps the user to trace and audit the SAP Performance Management for Financial
Services solution.
1. Execution log: The application creates a unique log entry each time an individual function is generated and
run. The log contains the following information: a unique run ID, a status, a run set ID, an input set ID, a
timestamp, and the name of the user who executed the run or generated the function.
1. Message log: This contains the list of messages that are associated with every execution. The list of messages
usually contains the following information:
○ The status and results of a run
○ A snapshot of the input parameters that were used for a run (both scalar and tabular)
○ Function-specific messages that are associated with a run (for example, unassigned items for allocation,
records that were not transferred for the transfer structure/derivation)
○ The results of a generation
○ A snapshot of the function configuration that was generated
1. Open your environment and select Application Monitor. The system displays the application logs for this
specific environment.
SAP Performance Management for Financial Services offers various functions to incorporate data from
surrounding systems and to define a harmonized comprehensive data model. In general, these functions can be
divided into the following:
1. Read integration
Based on given IT authorization, IT network connections and IT remote database connections to database
tables and views (also called data sources), data from surrounding systems can be read on the fly. Data
replication is not required, nor is an ETL process to redundantly store data. Data from surrounding systems is
therefore consumed by the calculation model only when it is needed. At a technical level, data read integration
for remote database tables and remote views uses SAP HANA Smart Data Access.
2. Write integration
If you need to store certain results permanently (for example, for further downstream processing in another
tool or to fulfill an audit requirement), actual and planning results can be written to a permanent data store,
like a BW InfoCube, DataStore objects or the FRDP Results Data Layer.
3. Harmonization and logical grouping
This includes reformatting data, combining data from different data sources, and aggregation.
You can use the following functions to incorporate data models for read access:
1. Model Views
Model Views are used if permanent network read access to the data of surrounding systems is possible. This
is typically the case for all SAP systems such as ERP, including ECC and sFin, BPC, Bank Analyzer, Insurance
Analyzer, BW. Model views themselves do not replicate data, they simply provide permanent access to the
source data so that this data can be used in calculation models.
2. Model Table
Model Tables are used if no permanent network read access to the data of surrounding systems is possible,
or if the data is entered manually. This is typically the case for Microsoft Excel files with changing file names
and in general for everything sent by e-mail, for ad-hoc changeable parameters, or model assumptions. Model
Tables are a temporary data store and thus replicate data to provide high-speed access to the data so that it
can be used in calculation models. As outlined above, Model Tables are temporary data stores. Therefore,
neither lifecycle management nor granular authorizations are supported. If you need permanent data stores,
you have to use BW InfoCubes or SDL / RDL data stores instead.
In reality, data from different sources needs to be harmonized and logically grouped so that it can be used easily
and efficiently in model calculations. Performance Management supports these transformations using two further
functions:
1. Views
Views are used to project or aggregate data including necessary selections by filters, calculations by
formulas, and field mappings. They are typically placed “on top” of sample read functions to transform the
data into the required format and granularity.
2. Joins
Joins are used to merge data from different sources based on foreign key relationships. They are typically
placed “on top” of views or sample read functions to group data logically together.
Example
The following are typical data harmonization and logical grouping tasks:
Note
The modelling user has to take care of currency handling. If a field is added manually to a function, the
currency key will not automatically be added. However, the procedure will not be generated due to the
missing currency and the system issues a message.
2. Calculation Units
Calculation units are used to group data and calculation models into logical entities. This is typically the case
for closing units, which are run by different departments in an organization (for example, assets, insurance,
products, and consolidation groups). They are also used to make the functions in data and calculation models
reusable because users can create their own sets of parameters and assumptions per calculation unit. Models
are then used for specific scenario calculations without changing the models themselves.
Calculation units are closely related to the concepts of input, run, and output.
The following sections explain the main concepts, components and functions of the solution.
The following steps are best practices and thus typically configured in a model
Data from different local and remote sources can be made available within an environment. In general, the
following functions are used for this:
1. Model Views
Model views are used to read from database tables and views locally in the same instance. Based on SAP
HANA Smart Data Access, they can also be used to read from remote database tables and views.
2. Model Tables
Model tables are used to import and temporarily store data from Microsoft Excel and CSV files so that they
can be used within a calculation. They can also be used to store results in a temporary store so that they can
be exported to Microsoft Excel or into CSV files for further processing.
Source data can be collected for each calculation unit to select exactly the data that is needed for a certain closing
unit or calculation purpose. In general, this can be done in two ways:
SAP Performance Management for Financial Services provides various functions to collect source data. The
following are the two most important ones:
1. Views
Views are used here to project or aggregate data, including necessary selections by filters, calculations using
formulas, and field mappings. They are typically placed “on top” of sample read functions to transform the
data into the required format and granularity.
2. Collections
Collections are used to combine data from different data models into one big data model, and can aggregate
the data to a minimum aggregation level. They are typically placed “on top” of views and other functions. If
Data can be enriched for each calculation unit to include analytical key figure and characteristic values required
for a certain calculation purpose or to complete operational data. In general, the following functions are used for
this:
1. Transfer Structure
Transfer structures are used to pivot amounts of an accounting-like data format, such as business
transactions, totals or postings from a vertical representation where only one key figure is present in a row
into a costing-like data format, where in a horizontal representation all semantic key figures, such as
disbursements, commissions, or premiums of an object are in a row. This is also the typical format of a BW
InfoCube. Transfer structures also support the unpivoting of costing-like data into accounting-like data.
For high data volumes, we strongly recommend that you use the costing-like data format because it
consumes much less memory and allows much better calculation performance.
2. Derivation
Derivations use“ if-then-else” rules and/or formulas to determine the value of characteristics and key figures.
Derivations are typically used to add information that has not already been provided by the source, for
example analytical or calculation purpose-specific attributes.
3. Lookup
Lookups use rules in combination with lookup tables to complete missing data and to add analytical
information.
4. Views
Views are typically used here to apply simple formulas and field mapping.
(Cost) drivers have to be created if no feasible driver for the calculation and allocation of key figures is already
available in the source data, or if the information in the source data must first be refined. The number of drivers
can range from a handful to hundreds, depending on the size and diversity of the business. The following typical
examples are used:
● CPU time
● Number of devices
● Reserves
Based on this information, the system can calculate driver information distribution bases, unit rates, standard
cost rates, reserving rates or funds transfer pricing rates.
1. Derivation
Derivations use “if-then-else” rules and/or formulas to determine the value of drivers.
2. Lookup
Lookups use rules in combination with lookup tables to complete missing drivers from external sources.
3. Views
Views are used to apply simple formulas to given data to calculate drivers.
4. Calculation
Calculations are used to apply complex formulas with dependencies to calculate drivers. These may also
include formulas for an activity-based cost analysis (ABC analysis).
In the context of funds transfer pricing, the calculation function is typically used to calculate non-cash-flow-
based FTP rates or cash-flow-based FTP rates using customer-specific approaches.
It is also typically used to calculate periodic funding contributions, net interest margins and net interest
income.
5. FTP Rate
In the context of funds transfer pricing, the FTP rate function is used to calculate cash-flow-based FTP rates
using the duration/matched maturity or net present value approach.
Allocations are executed if data resides in a less detailed granularity and has to be allocated to a lower level.
Allocations are categorized mainly in direct and indirect allocations. For direct allocations, the sender and the
receiver of key figures share at least one characteristic that can be used to determine the relevant receiver. Direct
allocation is also known as top-down distribution. For indirect allocations, the sender and receiver of key figures
share no common characteristics. Therefore, the selection of relevant characteristics for the allocation needs to
be explicitly defined on the receiver, for example, product = A, Channel = B and C. In addition to this there are
specific forms of direct and indirect allocations, known as global expenses, where the sender amounts need to be
offset (multiplied by -1) in the allocation result. Another term for global expenses allocation is assessment.
Typically, the following functions are used for the execution of allocations:
1. Allocation
Allocations use indirect or direct allocation rules to allocate key figures. You have the option of including
offsets of the sender amounts in the result.
Calculations for any other purpose are also executed using the following function:
Calculation
Calculations are used to apply complex formulas with dependencies. They can also incorporate R language script
calls, for example to calculate partial internal models.
The management of unassigned items is used if the system was not able to allocate all data from the senders to
receivers. For each of these cases, the system records and displays the corresponding data. The user can decide
to create an automatic rule defining the priority with which the system should try to apply the receiver
characteristics. In very rare cases, you can also apply manual receiver characteristic values which are used for
allocation. If no characteristic match is found, the last option is to transmit the sender data to the receiver, thus
copying it without allocating it. Typically, the following functions are used for the management of unassigned
items:
Typically, the following functions are used for the execution of allocations:
3.5.2 Checks
Checks are used to help the modeling user before and after the configuration, as well to help the execution user
before and after execution. This ensures that all data relevant for profitability calculations is captured completely.
Typically, the Check function is used for this.
Results are transferred from one calculation unit to another (for example, from closing unit to business unit level)
using the mapping function, which also allows the totaling of key figures according to the characteristics that exist
in the mapping target. The used characteristics have to be marked as result-relevant in the calculation unit.
The following options are available for reporting, analysis and what-if simulation and apply for all functions that
produce an output (such as views, allocations or FTP rates). For functions that do not produce an output (such as
environment, calculation unit or description), the options listed below do not apply:
Output Display
If a function is executed using the “Run & Show” button, the output of the function is displayed in a tabular format,
which is often used by modeling users during the design of a model for testing and checking the results in detail.
Filters, grouping and aggregation allow you to navigate through the data.
Output Analysis
If a function is executed using the “Run & Analyze” button, the output of the function is displayed in an analytical
tabular format, also known as OLAP reporting (online analytical processing reporting). This is often used by
execution users and analysis users for self-service reporting on a result. If the model uses InfoObjects as fields,
master data information and texts for data fields, for example, are also available.
What-If Simulation
If a function is executed using the “Simulate” button, the output of the function is displayed in a graphical way.
Various chart types are available, such as bar, pie, area and line. In each chart, a link is available to display the
underlying data in an output display format. If parameters are defined in a simulation input set and used
accordingly in the calculation model, you can change the value of the parameters and run a simulation to show
what the result would be using these parameters.
Item Reporting
Item reporting is usually carried out at account item level. The following functions are normally used for this:
1. Item Report
The Item Report function orchestrates reporting at runtime.
2. Item Form
Item form functions are used to define the format and structure of the items, including calculation hierarchies.
The Item Report function must always refer to an item form. The item form is separated from the item report
because it (and thus a financial statement item or P/L structure) can be reused multiple times in different
item reports and with different sets of data (for example, planning data, actual data, variance analysis data
and so on).
If update or reconciliation postings are needed to bring the general ledger or any other ledger in sync with the
calculated profitability results, the following two functions are typically used in addition to the ones outlined in the
Reporting chapter:
1. Item Reconciliation
You can use the Item Reconciliation function to define how the data between the general ledger and calculated
profitability results is compared at a granular level. The function displays the original and the comparison data
results side by side. The Item Report function then refers to an item form and an item reconciliation function.
During runtime, the item report comprises the following steps:
1. The comparison is made by the Item Reconciliation function
2. The result is formatted using the definition in the Item Form function for the original and comparison data
3. The data is displayed side by side in the Item Report function.
2. Remote Function Adapter
The Remote Function Adapter function contains the configurations for the process if there are differences.
This typically means that to synchronize the general ledger it is updated with the calculated profitability
results using delta postings. This update can be executed automatically in a batch job that triggers the
Remote Function Write Adapter, or it can be started manually by the business user from within the item
report.
Transaction codes
The transaction codes for SAP Performance Management for Financial Services can be executed using the
command field or on the SAP Easy Access menu under Financial Services > Performance Management.
Coding Samples
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 to 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, unless damages were caused by SAP
intentionally or by SAP's gross negligence.
Accessibility
The information contained in the SAP documentation represents SAP's current view of accessibility criteria as of the date of publication; it is in no way intended to be a
binding guideline on how to ensure accessibility of software products. SAP in particular disclaims any liability in relation to this document. This disclaimer, however, does
not apply in cases of willful misconduct or gross negligence of SAP. Furthermore, this document does not result in any direct or indirect contractual obligations of SAP.
Gender-Neutral Language
As far as possible, SAP documentation is gender neutral. Depending on the context, the reader is addressed directly with "you", or a gender-neutral noun (such as "sales
person" or "working days") is used. If when referring to members of both sexes, however, the third-person singular cannot be avoided or a gender-neutral noun does not
exist, SAP reserves the right to use the masculine form of the noun and pronoun. This is to ensure that the documentation remains comprehensible.
Internet Hyperlinks
The SAP documentation may contain hyperlinks to the Internet. These hyperlinks are intended to serve as a hint about where to find related information. SAP does not
warrant the availability and correctness of this related information or the ability of this information to serve a particular purpose. SAP shall not be liable for any damages
caused by the use of related information unless damages have been caused by SAP's gross negligence or willful misconduct. All links are categorized for transparency
(see: http://help.sap.com/disclaimer).