The new wiki link for this data flow is here:
Technical Documentation - COSTA
Please update the doc there and no longer here.
General presentation
Objective of the application
Teh objective of the application is to provide provide a cost visibility solution , improving the transparency and including:
- External spend (excl. raw materials & energy) and all Labor
- Providing both an Origin and Destination view
Build a “ZBB-like” foundation (zero based budgeting)
Supported via a user-friendly and flexible toolto help on decision-making
The application is based on 3 tools
- BW : for mreging different source of data , enriching the model with Business rules , providing Destination view of the costs
- Qliksense : for the dashboard
- ANAPLAN : to build teh budget
COSTA model provide 2 views of the costs
- the Origin View
- the Destination view
ORIGIN VIEW
DESTINATION VIEW
Tool Leader : Gilles Madjarian + IT leader of the application:
Usage information
Critical period : Closing period and Dashboard relaoding
History
Roles & Access
Roles and access
List of application role + menu role and explanation if we have several applications role with specials rules.
| Role Code | Role Description | Explanation |
|---|---|---|
| ZR_RCS_CA_M731 | CT - COSTA Transactions | Role to have access to transaction below : ZBW_ADJ_PERIM_COSTA |
Authorization objects
List of autorisation objects mandatory for the application.
| Authorization object | Explanation |
|---|---|
Dataflow overview
Composites providers:
CPCOCT05 (uses calculation view CV_FMCO_CO_CT_UNION_COSTS_TRANSPARENCY_DEST).
Architecture & Data Flow Desciption for :
- Co$Ta At Origin : Overall Architecture and concepts
- Co$Ta At Origin : COOM (CCA, OPA, WBS) Technical specifications
- Co$Ta At Origin : COPA Technical specifications
- Co$Ta At Destination :
- Architecture and concepts
- Scheduling
- Technical specifications
Functional and Technical rules on Workbench + Reporting
Where used list variables from master data global filter
Flat files loading - Transaction ZBW_CUST_COSTA
Adjustment perimeter
- Program: ZBW_COSTA_CORRECTIV
- Process Chain: PC_CT_CORRECTIVE_2_01
- InfoProvider: APCOCT20
- Flat file format:
Corrective flow
Zero Based Budgeting
- Program: ZBW_COSTA_C_CTSBPKG_ZBB
- Process chain: PC_CT_TR_05
- Infoprovider: APCOCT13 → CPCOCT06
- Query: BW_QRY_CPCOCT06_0003 + QV_BW_QRY_CPCOCT06_0003
- Flat file format: https://drive.google.com/file/d/1epqi_HwSrIwa581IyXhaCEkRA9vRec_F/view
Resp. Cost Center Determination
- Program: ZBW_COSTA_RCC
- Process chain: PC_CT_RCC_01
- Infoprovider: APCOCT15
- Query:
- Flat file format: https://drive.google.com/file/d/1lGDkT4e7LFBnwnFci_27u3maKelt4o0r/view
Investment Reason WBS
- Program: ZBW_COSTA_INV
- Process chain: PC_CT_INV_REA_01
- Infoprovider: APCOCT17
- Query:
- Flat file format: https://drive.google.com/file/d/1gNADLWzmxbcLj8Da0y2I1H29QirzUwxl/view
Bridge Perimeter
- Program: ZBW_COSTA_FILE
- Process chain: PC_CT_PERICH_01
- Infoprovider: APCOCT23
- Query:
- Flat file format:
Corrective Flow destination
Order Capex Opex
- Program: ZBW_COSTA_ORDER_CAPEX_OPEX
- Process chain: PC_CT_TR_03
- Infoprovider: APCOCT09 → CPCOCT06
- Query: BW_QRY_CPCOCT06_0001 + QV_BW_QRY_CPCOCT06_0001
- Flat file format: https://drive.google.com/file/d/1iWbmDE7ZfJS9wFEJDtonNXafW26j5jKL/view
Percentage inflation
- Program: ZBW_COSTA_INFLATION
- Process chain: PC_CT_TR_04
- Infoprovider: APCOCT11 → CPCOCT06
- Query: BW_QRY_CPCOCT06_0002 + QV_BW_QRY_CPCOCT06_0002
- Flat file format: https://drive.google.com/file/d/13r-JdkA6LZShK2wIhydxOc_k8Fjs3ttB/view
Rules & Explanations
Cluster GBU
Clusters and sub clusters come from PF1_050, datasource DTS_BW_REPO_BU_CLU_SCLU. This datasource uses module function ZFM_BW_REPO_BU_CLU_SCLU).
We extract data into adso APCOCT14 and then load the attributes and textes in master data CPFCTR1_2, C_CLUSTER & C_SUBCLUS (loadings done in process chain PC_CT_MD_01).
Group of function
Goal:
Add in master data C_COSTCTR two attributes: group function and GBU function extracted from hierarchy Z013ZCBS_GRP (WP1 system). The link between cost center and hierarchy is C_FUNCT_2 (attribute from cost center and level 4 in hierarchy Z013ZCBS_GRP).
Steps:
1) Extract Z013ZCBS_GRP hierarchy in master data C_FUNCT_2 where: (done in process chain PC_CT_MD_01).
- C_FUNCT_2 = level 4 in Z013ZCBS_GRP (without controlling area).
- C_FUNCT_2__C_GRPFUNC = Level 3 in Z013ZCBS_GRP.
- C_FUNCT_2__C_GBUFUNC = Level 2 in Z013ZCBS_GRP.
2) Load attributes C_GRPFUNC & C_GBUFUNC in master data C_COSTCTR (with look up on C_FUNCT_2)
Cost package derivation from:
Material Group
In adso APCOCT04 we use data from master data C_MAT_GRP to determine cost sub package (C_CTSBPKG).
This loading is done in process chain PC_CT_TR_01.
Segment
In adso APCOCT05 we use data from master data C_SEGT to determine cost sub package (C_CTSBPKG).
This loading is done in process chain PC_CT_TR_01.
Cost Element:
In adso APCOCT06 we use data from adso APCOCT16 (only landscape ERPSOLV and ERPRCS) to determine cost sub package (C_CTSBPKG) associated to cost element.
This loading is done in process chain PC_CT_TR_01.
Investment Reason for PM Order
Goal: in master data c_coorder add three new attributes C_GEN_REA & C_INV_REA & C_ORD_TYP
C_GEN_REA & C_INV_REA come from C_WBS_EL2 and C_WBS_EL2 comes from dso ABCOCT01 & ABCOCT02.
Main rules:
- Developments are done in transformtions:
- Transf: 0COORDER_ATTR -> C_COORDER
- Transf: 0COORDER_ATTR -> C_COORDER Solvay
- The filters used are defined in master data global filter we stream "C_COORDER".
- By default the period to read adso ABCOCT01 is current month -1. But it's possible to make the look-up with several month with definition of period in master data global filter:
Start routine:
- Define all filters.
- Do a select in internal table to take data from adso ABCOCT01 or ABCOCT02 with filters on CALMONTH, C_PSOBJTY, C_DESTTY and C_PTOBJTY.
- Aggregation with keys LOGSYS /BIC/C_PSOBJ /BIC/C_PTOBJ BIC/C_WBS_EL2 of data from DSO ABCOCT0* in internal table sorted by ascending.
- Search the attributes C_INV_REA & C_GEN_REA in master data C_WBS_EL2 for all entries of internal table.
- Create new table to have PSOBJ (coorder) and WBS_EL2 + Attributes in same table.
- Select current GEN_REA, INV_REA, ORD_TYP from master data C_COORDER to be able to keep current data if nothing was found in dso ABCOCT01 or C_WBS_EL2
End routine:
If C_COORDER___0ORDCATEG = 30 feed C_INV_REA & C_GEN_REA & C_ORDR_TYP
Else feed only C_ORDR_TYP
If nothing was found, no change, keep the current attributes in master data C_COORDER.
Investment Reason for WBS
Goal is to determine "General reason for investment"(C_GEN_REA) from mapping table APCOCT17 for CO-OM WBS part flow and Corr Flow.
A program has been created ZBW_COSTA_INV for upload file as link:
aDSO:
- APCOCT17
Process Chain:
- PC_CT_INV_REA_01
Impacted HANA Views:
- CV_FMCO_CO_CT_AT_DEST_CORR
- CV_FMCO_CO_CT_CORR_FLOW
- CV_FMCO_CO_CT_WBS6_RHODIA
- CV_FMCO_CO_CT_WBS6_SOLVAY
Example for HANA Views CV_FMCO_CO_CT_WBS6_RHODIA, left join has been made with 0LOGSYS and C_INV_REA and get C_GEN_REA:
ANAPLAN/F2G SCOPE
In scope of Costa data, it's necessary to define which data are for COSTA, F2G or ANAPLAN. The idea is to exclude some records not in scope of ANAPLAN or F2G.
https://drive.google.com/file/d/1hNM9ZWVDHCp4yIVWyOTv46dIfytFWwqF/view
To do that, it's necessary to define the rule of exclusion in a table: ZCOSTA_ANAPLAN
This table could be maintened with SM30 or transaction ZMAINT_COSTA_ANAPLAN.
09/07/2023 : PO2 Project impact : ZCOSTA_ANAPLAN has been enhanced but adding an New Key : Authorization Scope. Now the flag determination is dependent on the scope (SCO or ECO) . For D1 (06/2023) all businness rules has been duplicated are are similar for SOLVAY. ECO or SCO. But in the future , the rules can be independant .
Special case : interco flag
- For SOLVAY we check the SOLVAY INTERCO FLAG (C_FLGINT)
- For ECO we check the ECO INTERCO FLAG (C_FLGIN02)
- For SCO we check the SCO INTERCO FLAG(C_FLGIN03)
In "J_FLAG_1_R2" in CV_FMCO_CO_CT_UNION_COSTS_TRANSPARENCY_DEST we added this calculated column to determine which exclusion reason used:
If in source of data of the CV the attribute C_FLGIN02 from C_PCOMPAN is equal to X and C_AUTHMA is ECO and the Exclusion reason is not null (it means the join between ZCOSTA_ANAPLAN table and source of data in CV with C_FLGINT and C_AUTHMA is working), the C_CTEXR_A_FLGINT_CALC = C_FLGINT_ECO.
Else, if the C_CPCOMPAN__C_FLGIN03 (from source of data in CV) = X and C_AUTHMA is SCO and the Exclusion reason is not null the C_CTEXR_A_FLGINT_CALC = C_FLGINT_SCO.
Else, if the C_CPCOMPAN__C_FLGINT (from source of data in CV) = X and C_AUTHMA is SOLVAY and the Exclusion reason is not null the C_CTEXR_A_FLGINT_CALC = C_FLGINT.
Else C_CTEXR_A_FLGINT_CALC is null.
We use this table in calculation view CV_FMCO_CO_CT_UNION_COSTS_TRANSPARENCY_DEST.
To apply the exclusion flag anaplan or F2G:
- We do a projection of table ZCOSTA_ANAPLAN, filtered on one type of C_CTEXR_A or C_CTEXR_F.
- Create a full outer join with costa data and ZCOSTA_ANAPLAN on the necessary field(s) to find which records match with the filter, if there is a match we add a new column with the C_CTEXR_A or F.
- Repeat the join for each type of filter.
- At the end we can define a global column for exclusion flag and exclusion reason (anaplan and F2G).
Level 5 - Responsible Cost center
Level 5 responsible cost center is retreived in CV_FMCO_CO_CT_UNION_COSTS_TRANSPARENCY & CV_FMCO_CO_CT_UNION_COSTS_TRANSPARENCY_DEST.
1 - Projection of adso APCOCT18 where L5 are stored.
2 - Join with costa (co_area, c_resp_cc) to have calday (calculated with the first day of the costa period) from costa data in same line of L5.
3 - Projection of L5 with filter on L5 date from and L5 date to with help of calday.
4 - Rank to take only one L5 by co_area, c_resp_cc and date.
5 - Join to add the L5 in costa table with join on CO_AREA, C_RESP_CC and CALDAY.
GBU Global
In calculations views
| CV_FMCO_CO_CT_COOM_DEST_RHODIA |
| CV_FMCO_CO_CT_COOM_DEST_SOLVAY |
| CV_FMCO_CO_CT_COMPOSITE_RHODIA |
| CV_FMCO_CO_CT_COMPOSITE_SOLVAY |
| CV_FMCO_CO_CT_AT_DEST_COR |
| CV_FMCO_CO_CT_AT_DEST_SAMPLE |
| CV_FMCO_CO_CT_COST_NON_ERP |
| CV_FMCO_CO_CT_COPA_COMPO_RHODIA |
| CV_FMCO_CO_CT_COPA_COMPO_SOLVAY |
The global GBU is calculated in fuction of C_MAGNITU or C_RESP_CC:
If we don't have GBU in attribute of C_MAGNITU (destination GBU) we use GBU from C_RESP_CC (origin GBU).
Rule in calculation view: if(isnull("C_MAGNITU__CPFCTR1_2") OR "C_MAGNITU__CPFCTR1_2" = '',"C_RESP_CC___CPFCTR1_2","C_MAGNITU__CPFCTR1_2")
FI - Tab Sample COGS flow ECC WP1
Get ECC Sample COGS table in specific datasource and replicate it in BW part (Bex COSTA):
Needs column "S" of "Step 1 - Axis , Filters and authorization excel file":
aDSO creation has been made :
- APCOCT08 with PK:
- 0LOGSYS
- C_COMPCDE
- 0CALYEAR
- 0AC_DOC_NO
- 0ITEM_NUM
Rules In start routine:
SITER field determination, with dso DPCOMPCD(DSO : Company Code Specific Attributes Purchasing) with company code
and 0PLANT master data with plant
in target part for master data C_SITER:
First get C_SITE data in 0PLANT (internal table IT_PLANT) and if no data get C_SITER in dso DPCOMPCD (internal table IT_SITER)
For DTP : full loading.
Process chain get data to ECC and load the aDSO APCOCT08 - PC_CT_TR_SAMPLE
This process chain has been put in COSTA global Process chain PC_CT_META_01 and load every day.
aDSO is used in calculation view CV_FMCO_CO_CT_SAMPLE and get in left join several fields.
There are calculated columns in projection P_FORMAT:
this calculation view is used in composite provider CPCOCT01.
Non ERP flow CYTEC CBS
Goal: Load from CYTEC Non ERP data (Bex COSTA) for cost center and cost element to:
- cube CUB_FC007 (ods ODSBCCA9)
- master data 0C_COSTCTR
- master data 0COSTELMNT
Needs column "Y" of "Step 1 - Axis , Filters and authorization" excel file:
Loading is made in program ZBW_CYTEC_CBS and download in AL11 directory with csv file:
- /exploit/BW/Cytec/cbs_function_costs_cytec_NARAUJO.csv
3 process chain are used for load NERP data in cube and 2 master data:
- PC_FC_CYTEC_003
- PC_FC_CYTEC_002
- PC_FC_CYTEC_001
PSA deletion has been made in program with process chain:
- PC_FC_CYTEC_003A
- PC_FC_CYTEC_002A
- PC_FC_CYTEC_001A
NERP BW Flow:
dso is used in calculation view CV_FMCO_CO_CT_NERP_COMPO and get in left join several fields.
There are calculated columns in projection P_FORMAT:
this calculation view is used in composite provider CPCOCT01.
Budget flow loading by flat file
Goal is to upload with flat file budget COSTA data and import it in BW (Bex COSTA) from program ZBW_COSTA_BUDGET
Needs column "AF" of "Step 1 - Axis , Filters and authorization" excel file:
Template of Budget flat file :
https://drive.google.com/file/d/12_rgc58981MmPmEnRO-rpk7hThCFSudz/view
aDSO has been created for get Budget data from AL11 folder:
- APCOCT12
- /exploit/BW/COSTA/budget_costa.csv
An event have been created for data loading in BW side:
- Z_EVT_START_PC_CT_BUDGET_01
Process chain is:
- PC_CT_BUDGET_01
Budget BW flow:
aDSO APCOCT12 is used in calculation view CV_FMCO_CO_CT_BUDGET_FLOW and get in left join several fields.
There are calculated columns in projection P_FORMAT:
this calculation view is used in composite provider CPCOCT01.
IFRS16 FIAP lease Rhodia and Solvay
Goal is to get data in dso DBFIPA10 CAPEX Rhodia - FIAP Lease and DBFIPA11 CAPEX Solvay - FIAP Lease.
There are not specific program but there are calculation view with several left join to get several fields.
Needs column "V" and "W" of "Step 1 - Axis , Filters and authorization" excel file:
dso are used in calculation view CV_FMCO_CO_CT_WCFI_LEASE_COMPO_RHODIA and CV_FMCO_CO_CT_WCFI_LEASE_COMPO_SOLVAY get in left join several fields.
There are calculated columns in projection P_FORMAT:
this calculation view is used in composite provider CPCOCT01.
Corrective Flow
Goal is to actual and quantity correction in COSTA flow.
Needs column "AD" of "Step 1 - Axis , Filters and authorization" excel file:
Template of file for program ZBW_CORR_FLOW (transaction ZBW_COR_COSTA):
https://drive.google.com/file/d/1A9cxFofRBGiyUNW9_97p2u_NJItUQCE1/view
Loading is made in program ZBW_CORR_FLOW and download in AL11 directory with csv file:
- /exploit/BW/COSTA/CORR/corr_costa.csv
aDSO have been created:
- APCOCT07
No event have been created for data loading in BW side:
- loading is made on demand
Process chain is:
- PC_CT_CORREC_01
Budget BW flow:
aDSO APCOCT07 is used in calculation view CV_FMCO_CO_CT_CORR_FLOW and get in left join several fields.
There are calculated columns in projection P_FORMAT:
this calculation view is used in composite provider CPCOCT01.
PCARD flow
Goal identify with a flag all CO document (at header level) link to PCARD Flow( COOM flow Solvay and Rhodia).
PCARD GL Account is put in table C_GLBFILT for determine relative CO document GL Account for PCARD, GL Account can be changed :
There are 2 HANA views, CV_FMCO_CO_CT_COOM_SOLVAY and CV_FMCO_CO_CT_COOM_RHODIA for determine PCARD flag:
Networks substitution by WBS
Goal Before Origin/Destination Process replace the partner Object for 0NWA posting by WBS object.
Only for PF1 Solvay
For do this datasource have been used:
- 0ACTIVITY_ATTR
- 0NETWORK_ATTR
2 master data have been created:
- C_NETACT → compounding 0LOGSYS & C_NETWORK
- C_NETWORK → compounding 0LOGSYS
DTP's have been created on ODP.
Transformation's are on direct mapping without trasnformation rules.
Loading has been made in process chain PC_CT_MD_01 (daily loading)
Impacted HANA views:
- CV_FMCO_CO_CT_DEST_R0_CCA_SOLVAY
- CV_FMCO_CO_CT_DEST_CCA_TO_WBS_SOLVAY
Left join has been made between source table ODS6CCA9 and master data(MD) C_NETACT join on:
- (SOURCE) LOGSYS = (MD) LOGSYS
- (SOURCE) PIOVALUE = (MD) CC_PIOVALUE_MD
- (SOURCE) PIOBJSV = (MD) CC_PIOBJSV_MD
PIOVALUE network value
PIOBJSV type of partner (here 0NWA)
Substitution have been made (0NWA "Network"→ 0POS "WBS") if in source (ODS6CCA9) PIOBJSV = "0NWA" and DB_CR_IND =" H"
Calculated columns for J_NET_TO_WBS node of view:
get only PIOBJSV = 0NWA of source table if match with LOGSYS and PIOVALUE(network value) get WBS from C_NETACT and put 0POS for PIOBJSV
Result after join with C_NETACT:
Result before join with C_NETACT:
Default Responsible Cost Center
Goal is to determine Responsible Cost Center with complex condition for CO-PA and FI flow.
This complex condition has been translated into technico-functional algorithm:
Datasource with AL11 file link:
File has been created and downloaded with program ZBW_COSTA_RCC (template https://drive.google.com/file/d/1lGDkT4e7LFBnwnFci_27u3maKelt4o0r/view) and AL11 file data it's loaded in aDSO APCOCT15 with process chain PC_CT_RCC_01.
Impacted HANA Views:
- CV_FMCO_CO_CT_COPA_COMPO_RHODIA
- CV_FMCO_CO_CT_COPA_COMPO_SOLVAY
- CV_FMCO_CO_CT_FI_COMPO_RHODIA
- CV_FMCO_CO_CT_FI_COMPO_SOLVAY
Example with HANA View CV_FMCO_CO_CT_COPA_COMPO_RHODIA (same development for others HANA Views)
:
For determine "Responsible Cost Center" there are 6 steps:
Step 1:
- Get aDSO(APCOCT15) with uploaded data with program ZBW_COSTA_RCC
- Aggregation node with source data only with fields of aDSO:
Step 2:
- inner join with 2 nodes on CO_AREA and CPFCTR1_2 (GBU) because GBU and CO_AREA are always in condition.
Step 3:
- Responsible Cost Center determination with complex condition with priority indicator creation 1 to 7
µ
Step 4:
- Aggregation node for get min of PRIORITY field (if i have 1 and 4 indicator for same keys i priorize indicator 1 not 4)
- without cost center and attributs fields
Before aggregation:
After aggregation:
Step 5:
- Get coster and attributs fileds with left join
Step 6:
- left join with source data and step 5 node and get all others source data
Granularity it's the same between source node and semantics nodes
Result:
GBU Billing
Goal is to get user fields in table PRPS in ERP side:
- ZZ_LANDCSAPE : Partner CO Object Landscape (can be different of syslog)
- ZZ_CO_ACC_ASGN_TYPE : Acc Asgn Type (type for WBS = 'PR', ORDER = 'OR', COST = 'KS')
- ZZ_CO_ACC_ASGN : WBS, ORDER, COST
Data source are PF1 and WP1:
- ZZ_PRPS_USER_FIELDS : all fields of PRPS have been retrieved.
BW side:
There are 2 datasource 1 for PF1 and 1 for WP1.
There are 2 transformation 1 for PF1 and 1 for WP1.
There are 2 dtp 1 for PF1 and 1 for WP1.
There is 1 infosource (1 transformation) for process 2 flow
aDSO APCOCT19
Rules:
In 2 transformation (PF1 and WP1) i populate:
- C_WBSBILL : with type ZZ_CO_ACC_ASGN_TYPE = 'PR' and put ZZ_CO_ACC_ASGN (conversion exit have been made)
- C_COCBILL : with type ZZ_CO_ACC_ASGN_TYPE = 'KS' and put ZZ_CO_ACC_ASGN
- C_ORDBILL : with type ZZ_CO_ACC_ASGN_TYPE = 'OR' and put ZZ_CO_ACC_ASGN
Infosource:
in infosource transformation a process have been made for populate fields C_RCCBILL, C_GBUBILL, C_COABILL for WP1 and PF1 together.
3 select has been made in start routine:
- /bic/mc_costctr
- /bic/mc_coorder
- /bic/Pc_wbs_el2
Read table has been made in C_WBS_EL2 target field and used in appropriate fields.
Loading has been made in daily PC_CT_MD_01 procces chain.
Snapshots for Control Check
Composite Provider CPCOCT08 allows users to compare current data with weekly/on demand snapshot saved in ADSO ABCOCT07.
ABCOCT07 is loaded from Composite Provider CPCOCT09, copy of CPCOCT01 without Input Parameters. The Input Parameters "Fiscal Period From" and "Fiscal Period To" are restored in Calculation View CV_FMCO_CO_CT_ABCOCT07, to facilitate union between Snapshot data and Current data.
Each Snapshot is timed and dated, and named following the pattern "Pyymmdd". Snapshots past a certain time (in months, stored in C_GLBFILT 001 for Stream COSTA and Rule SNAPSHOT) are deleted from history.
A snapshot is taken every Saturday though Process Chain PC_CO_CT_01, but one can also be taken manually through Transaction ZBW_COSTA_SNAP.
Users can access the data through query BW_QRY_CPCOCT08_0001 "COSTA - Snapshot vs Current Comparison (Core Query)"
Should snapshot data appear to be doubled/tripled, display C_TIMEP (Snapshot Time) to check that multiple snapshots were not taken the same day, which would explain that result in the query.
Note: Data should be loaded through DTP without "SAP HANA Extraction" checked. That check changes the way data is extracted from CPCOCT09 and generates erroneous totals for K_INTRAT.
Anaplan Budget & BE Import
Anaplan sends its Budget and Best Estimate data, both for Origin and Bridge Destination, to a folder on Application Server: /export/BW/Anaplan_inbound.
Origin data is collected through ADSOs APCOCT21 and ABCOCT08.
Bridge Destination data is collected through ADSOs APCOCT22 and ABCOCT09.
Both dataflows are loaded in parallel using the same Process Chains, one for Budget data and one for Best Estimate
| Process Chain | Process Chain Description | Period |
|---|---|---|
| PC_CO_CT_05 | COSTA - TD - Anaplan Best Estimate Destination | Monthly on 13th workday of the month in Calendar 50 |
| PC_CO_CT_06 | COSTA - TD - Anaplan Budget Destination | Yearly on 13th workday of July in Calendar 50 |
Users can request to have either chain running in addition to these default periods.
For Budget, initial load is done in July, with corrective/definitive values entered between September and November (daily updates required during that period).
Each source Flat File is assigned to a C_SRC_ANA (Source Anaplan) value, which is used to identify the dataflow, and offers a single KF for the Propagation ADSO associated.
For example, DTS_ANAPLAN_BESTIMATE_ADJ, DTS collecting adjustments for Origin Best Estimate, initiates KF K_ADJ_BESTIM in APCOCT21, with C_SRC_ANA = 'SRC_ADJ_BESTIM'.
Most important line of code at this level is this, identical in all transformations to APCOCT21/22, except for the name of the KF and the values of C_SRC_ANA (see above) and C_VERSN2 (F01 for BE and 000 for Budget):
This code sets all existing entries from the same source to Flag Obsolete = 'X', while the transformation loads actual data with Flag Obsolete = ''. Thus, all data deleted from the source file are marked as obsolete in the Propagation ADSO once the transport is complete. The transformation of the ADSO on itself (APCOCT21 → APCOCT21 and APCOCT22 → APCOCT22) set RECORDMODE = D to all obsolete entries, so they are removed from Business level when the Delta load runs.
The quarters of the period to be flagged as obsolete in Propagation layer (and then to be deleted) are manually maintained in the Global Filter : one for Budget (COSTA/PERIOD_000) and one for BE (COSTA/PERIOD_F01).
These values must be manually adapted when changing the loaded year.
For each monthly run, Best Estimate history is saved by moving existing data from version F01 to F02. Whether this save is done or not depends on the value of Global Filter COSTA/RELOAD_F02 above. Low Value should be 'Y' by default, changed to 'N' when manually reloading Best Estimate data.
Dependencies with other applications
Data loadings
List of process chain
| Process chain descrption | Process chain technical name | Starter |
| COSTA - Adjustment Perimeter Flow | PC_CT_CORRECTIVE_2_01 | ZBW_COSTA_CORRECTIV |
| COSTA - At Destination Alloc Matrix Loading | PC_CT_DEST_SCHE_02 | Sub Chain from PC_CT_DEST_SCHE_01 |
| COSTA - At Destination scheduling process | Daily - 9am - but full process chain only between 3rd and 7th day of month.
| |
| COSTA - Budget Flow | PC_CT_BUDGET_01 | ZBW_COSTA_BUDGET |
| COSTA - CORRECTIVE Flow | PC_CT_CORREC_01 | ZBW_CORR_FLOW |
| COSTA - CORRECTIVE Flow 2 - Destination | PC_CT_CORREC_02 | ZBW_CORR_FLOW_2 |
| COSTA - Cost Center Determination | PC_CT_RCC_01 | ZBW_COSTA_RCC |
| COSTA - Costs Sub-Package - ZBB | PC_CT_TR_05 | ZBW_COSTA_C_CTSBPKG_ZBB |
| COSTA - F2G Anaplan - Extraction | PC_CO_CT_03 | Daily - 5 am |
| COSTA - Hierarchy Level 5 - Responsible Cost center | PC_CT_LEVEL5_HIER | When necessary |
| COSTA - Inflations | PC_CT_TR_04 | ZBW_COSTA_INFLATION |
| COSTA - Investment Reason WBS | PC_CT_INV_REA_01 | ZBW_COSTA_INV |
| COSTA - Mater Data 01 | PC_CT_MD_01 | Daily 1:30 am |
| COSTA - Order Group OPEX/CAPEX | PC_CT_TR_03 | ZBW_COSTA_ORDER_CAPEX_OPEX |
| COSTA - Perimeter s Bridge flow | PC_CT_PERICH_01 | ZBW_COSTA_FILE |
| COSTA - SAMPLE Flow | PC_CT_TR_SAMPLE | Daily 1:30 am |
| COSTA - TD - Anaplan Best Estimate Destination | PC_CO_CT_05 | Monthly on 13th workday of the month in Calendar 50 |
| COSTA - TD - Anaplan Budget Destination | PC_CO_CT_06 | Yearly on 13th workday of July in Calendar 50 |
| COSTA - Transactionnal Data 01 | PC_CT_TR_01 | Daily 1:30 am |
| COSTA - Transactionnal Data 02 (Screen Pckg) | PC_CT_TR_02 | Daily 6:30 am |
| COSTA Metachain 01 | PC_CT_META_01 | Daily 1:30 am |
| COSTA: TD - M - Anaplan Origin Costs Extraction | PC_CO_CT_04 | When necessary |
| COSTA: TD - T - Manual Snapshots | PC_CO_CT_02 | ZBW_COSTA_FLAT_FILES |
| COSTA: TD - W - Snapshots | PC_CO_CT_01 | Each wenesday at 9am |
Destination manually loading
There is a decision in processs chain PC_CT_DEST_SCHE_01 to not load data outside a range of day, so if necessary change the range of day in master data global filter:
1) Update TVARV table
→ SM30 → TVRAV
In parameter, check current run is equal to 0, macimum number run equal 7 and put X to init mode.
In selection option, if necessary change the date (by default is the current month - 1):
2) Execute process chain PC_CT_DEST_SCHE_01 (with transaction se37 → RSPC_API_CHAIN_START).
Info providers and objects loaded
Loading frequency
Average performance
| Key Figure | Estimation |
|---|---|
| ~ Average Process Chain Runtime | |
| ~ Average nb of rows loaded per load | |
| ~ Total nb of rows loaded (if full) | |
| ~ Average Runtime for 10k lines |
Record Keeping
Reporting
Queries End User Documentation
Main queries
BW_QRY_CPCOCT05_0001: Cost Transparency - A destination View
BW_QRY_CPCOCT05_0002: COSTA - Cost Transparency - Destination view
BW_QRY_CPCOCT05_1001: COSTA - Cost Transparency - Origin view
BW_QRY_CPCOCT05_1002: COSTA - Tool to track PO Material Group change
QV_BW_QRY_CPCOCT05_0002: QV Cost Transparency
QV_BW_QRY_CPCOCT05_1001: COSTA - QV Cost Transparency - Origin view
QV_BW_QRY_CPCOCT05_1002: QV - Cost Transparency - Origin - Perimiter Change
QV_QRY_CPCOCT05_0001: QV Cost Transparency - A destination View (POC)
Main functionalities
Broadcast
Maintenance
Known bugs
Recurring procedure
Planned Evolution
Anaplan Budget & BE Import
1) Process Chain Budget will likely be modified to run daily, with test process to either execute dummy program or complete PC run depending on a Global Filter to be set manually OR through event when new file is added to AL11.
2) The way Budget adjustments are handled, with Top-Down and Bottom-Up adjustments on multiple levels, will be updated and simplified later this year (2022).












































































