Use Cases
This chapter illustrates real-life use cases of syntaxes and data mappings.
If/Else Statements
If(CompanyCode="A") then
ConsUnit = "1"
Else
ConsUnit="2"
|
In |
Out |
|
|
LEVEL |
CompanyCode |
ConsUnit |
|
0 |
"2" |
|
|
1 |
A |
"1" |
Excluding Mapping Rules
In this example, mapping rules are excluded by using the hash sign (#) as a comment.
In the following mapping file, rows 5 and 15 are commented:
|
A |
B |
C |
D |
E |
F |
|
|---|---|---|---|---|---|---|
|
1 |
I |
I |
I |
O |
O |
|
|
2 |
Level |
Financial_Statement_ItemId |
Reporting_ItemId |
LocalValue |
FinancialStatementItem |
AmountInLocalCurrency |
|
3 |
Alias |
FSI |
RI |
HSL |
||
|
4 |
0 |
111000 |
# |
"110000" |
[HSL] |
|
|
5 |
#1 |
111000 |
# |
"111000" |
[HSL] |
|
|
6 |
1 |
112000 |
# |
"112000" |
[HSL] |
|
|
7 |
2 |
112100 |
# |
"112100" |
[HSL] |
|
|
8 |
2 |
111200 |
# |
"111200" |
[HSL] |
|
|
9 |
0 |
120000 |
# |
"120000" |
[HSL] |
|
|
10 |
1 |
121000 |
# |
"121000" |
[HSL] |
|
|
11 |
1 |
122000 |
# |
"122000" |
[HSL] |
|
|
12 |
1 |
123000 |
# |
"123000" |
[HSL] |
|
|
13 |
0 |
130000 |
# |
"130000" |
[HSL] |
|
|
14 |
1 |
131000 |
# |
"131000" |
[HSL] |
|
|
15 |
#1 |
132000 |
# |
"132000" |
[HSL] |
|
|
16 |
2 |
132300 |
# |
"132300" |
[HSL] |
|
|
17 |
2 |
132400 |
# |
"132400" |
[HSL] |
|
|
18 |
3 |
132410 |
# |
"132410" |
[HSL] |
|
|
19 |
3 |
132420 |
# |
"132420" |
[HSL] |
|
|
20 |
3 |
132430 |
# |
"132430" |
[HSL] |
As a result, when the mapping job is run, row 5 and rows 15 through 20 are ignored.
Adjusting ACDOCA Fiscal Period Values to ACDOCU Format
In this example, the format of the fiscal period values contained in the source data file has two digits. The syntax used in the following mapping file converts this format into three digits to comply with the target format expected by the ACDOCU table.
|
A |
B |
C |
|---|---|---|
|
I |
O |
|
|
Level |
FiscalPeriod |
FiscalPeriod |
|
Alias |
||
|
0 |
RIGHT("00"+[FiscalPeriod];3) |
Deriving Target Values from Source Values
Derive target Functional Areas (FA) from a combination of Account and Cost Center (CC) values:
If CC = 0000 or empty and account begins with 4, then map with FA 1000.
If CC = 0000 or empty and account = 500001, then map with FA 2000.
If CC begins with 09 or G or 9 then map with FA 6000.
|
A |
B |
C |
|---|---|---|
|
I |
I |
O |
|
Account |
CC |
FA |
|
4* |
{Empty}|0000 |
"1000" |
|
500001 |
{Empty}|0000 |
"2000" |
|
(09|G|9)* |
"6000" |
Derive target Accounts from CompanyCode values:
If account = 130204 and CompanyCode = 4081, then map with account 130204.
If account = 130204 and CompanyCode = 4076, then map account 130203.
|
A |
B |
C |
|---|---|---|
|
I |
I |
O |
|
Account |
CompanyCode |
FinancialStatementItem |
|
130204 |
4081 |
"130204" |
|
130204 |
4076 |
"130203" |
Derive target Accounts from Trading Partner (ICP) values:
If account = 112901 and ICP is not empty, then map with account 112901.
If account = 112901 and ICP is empty, then map with account 112101.
In this example, all other source accounts that do not match any of these rules are mapped with the target accounts that have the same name as the source accounts.
|
A |
B |
C |
|---|---|---|
|
I |
I |
O |
|
Account |
ICP |
FinancialStatementItem |
|
112901 |
<>{EMPTY} |
"112901" |
|
112901 |
{EMPTY} |
"112101" |
Deriving Target Consolidation Units from Segments in 2:1 Mapping
The following syntax creates a 2:1 mapping and allocates a different consolidation unit, depending on the segment.
|
A |
B |
C |
D |
|---|---|---|---|
|
I |
I |
O |
|
|
Level |
CompanyCode |
Segment |
ConsolidationUnit |
|
Alias |
|||
|
0 |
C1 |
S1 |
CU11 |
|
C1 |
S2 |
CU12 |
|
|
C1 |
S3 |
CU13 |
|
|
C2 |
S1 |
CU21 |
|
|
C2 |
S2 |
CU22 |
Transforming “#” into” “empty” in 1:1 Mapping
The following syntax transforms the hash sign (#) into “empty” , and if there is data present, creates a 1:1 account mapping.
|
A |
B |
|---|---|
|
I |
O |
|
Account |
FinancialStatementItem |
|
<> # |
[Account] |
|
0 |
C1 |