Access Management 


List of application role + menu role  and explanation if we have several applications role with specials rules.

Role CodeRole DescriptionExplanation
ZR_RCS_CA_M731CT - COSTA Transactions

Role to have access to transaction below :

ZBW_ADJ_PERIM_COSTA
ZBW_BUD_COSTA
ZBW_COR_COSTA
ZBW_COSTA_SNAP
ZBW_CUST_COSTA
ZCOSTA_BRIDGE_FILE

ZR_RCS_CA_M73Cost Transprancy

Role menu queries / workbooks

ZP2_RCS_CT_A01Cost Transparency - End User Role

End user role

List of authorization objects mandatory for the application.

Authorization objectExplanation
CPFCTR1_2ZR_*_CA_P05
C_COMPPRSZR_*_CA_P07
C_AUTHMAZR_*_CA_P00

Link to the BW Catalog of role

https://drive.google.com/open?id=10GEfKYqrT1eeTO_uHYAheL1GX7L5y_pvH0KQU64qh5I

DataFlow

Overview

CPCOCT05 data flow

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 tool to 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


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


Technical Rules on Workbench

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

  •  Program: ZBW_CORR_FLOW 
  • Process Chain: PC_CT_CORREC_01
  • Infoprovider: APCOCT07
  • Flat file format:

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:   

Resp. Cost Center Determination

  • Program: ZBW_COSTA_RCC
  • Process chain: PC_CT_RCC_01
  • Infoprovider: APCOCT15
  • Query:
  • Flat file format:  

Investment Reason WBS

  • Program: ZBW_COSTA_INV
  • Process chain: PC_CT_INV_REA_01
  • Infoprovider: APCOCT17
  • Query:
  • Flat file format:

Bridge Perimeter

  • Program: ZBW_COSTA_FILE
  • Process chain:  PC_CT_PERICH_01 
  • Infoprovider: APCOCT23
  • Query: 
  • Flat file format:

Corrective Flow destination

  • Program: ZBW_CORR_FLOW_2 
  • Process chain: PC_CT_CORREC_02
  • Infoprovider: APCOCT24
  • Flat file format:

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:  

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: 


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:

  1. Define all filters.
  2. 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.
  3. 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.
  4. Search the attributes C_INV_REA & C_GEN_REA in master data C_WBS_EL2 for all entries of internal table.
  5. Create new table to have PSOBJ (coorder) and WBS_EL2 + Attributes in same table.
  6. 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.

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 (Join_LEVEL5).

In parallel, another join is based on co_area and resp_cc "billing" with a second rank (same logic but not the same initial join).


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:
    1. 0LOGSYS
    2. C_COMPCDE
    3. 0CALYEAR
    4. 0AC_DOC_NO
    5. 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/1ZXrDbPIY5rZfbl3YsWGoAZhnJHRtGum_/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/1uqEi9r36N6ok6n2n3ob3AflXuSBJfvRp/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/1o5MW7CEJXh1W-xmpaodjGTMY9njI9ZSF/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 ChainProcess Chain DescriptionPeriod
PC_CO_CT_05COSTA - TD - Anaplan Best Estimate DestinationMonthly on 13th workday of the month in Calendar 50
PC_CO_CT_06COSTA - 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.


Reporting

Query

Description

BW_QRY_CPCOCT05_0001Cost Transparency  - A destination View (POC)
BW_QRY_CPCOCT05_0002COSTA - Cost Transparency - Destination view
BW_QRY_CPCOCT05_1001COSTA - Cost Transparency - Origin view
BW_QRY_CPCOCT05_1002COSTA - Tool to track PO Material Group change
BW_QRY_CPCOCT05_1004COSTA - Cost Transparency Actual Origin for OpenHub
BW_QRY_CPCOCT05_1010COSTA - F2G Anaplan - Region Country
BW_QRY_CPCOCT05_1011COSTA - F2G Anaplan - BSA
BW_QRY_CPCOCT05_1012COSTA - F2G Anaplan - GBU
QV_BW_QRY_CPCOCT05_1001COSTA - QV Cost Transparency - Origin view
QV_BW_QRY_CPCOCT05_1002QV - Cost Transparency - Origin - Perimiter Change
QV_QRY_CPCOCT05_0001QV Cost Transparency  - A destination View (POC)

Workbook

Dependencies with other applications

We should have the information where the application is sending or receiving information (e.g. APD open hub) 




Data Loading

Info Providers and objects loaded 

Detail of process chain, list + link between or special event done for the loading


Main Process ChainFinal Provider LoadingFrequencyTime startDuration

PC_CT_CORRECTIVE_2_01

COSTA - Adjustment Perimeter Flow

APCOCT20On demand (event Z_EVT_START_CT_CORRECTIVE_2_01)
1 min

PC_CT_DEST_SCHE_02

COSTA - At Destination Alloc Matrix Loading

ABCOCT03 / ABCOCT04

Event Z_EVT_START_PC_CT_DEST_SCHE_02

Daily - 9am - but full process chain only between 3rd and 7th day of month.

9 am2 mins

PC_CT_BUDGET_01

COSTA - Budget Flow

APCOCT12

On demand

Event Z_EVT_START_PC_CT_BUDGET_01


2 mins

PC_CT_DEST_SCHE_01

COSTA - At Destination scheduling process

APCOCT19

ABCOCT05

9 am45 mins

PC_CT_CORREC_01

COSTA - CORRECTIVE Flow

APCOCT07

On demand

Event PC_CT_CORREC_01


2 mins

PC_CT_CORREC_02 

COSTA - CORRECTIVE Flow 2 - Destination

APCOCT14

On demand

Event PC_CT_CORREC_02


2 mins

PC_CT_RCC_01

COSTA - Cost Center Determination

APCOCT15

Sub chain, meta chain is PC_CT_META_01


2 mins

PC_CT_TR_05

COSTA - Costs Sub-Package - ZBB

APCOCT13 / C_CTSBPKG

On demand

Event Z_EVT_START_PC_CT_TR_05


2 mins

PC_CO_CT_03

COSTA - F2G Anaplan - Extraction

OH_COCT05 / OH_COCT06 / OH_COCT07 /

OH_COCT08

Daily

5 am

PC_CT_LEVEL5_HIER

COSTA - Hierarchy Level 5 - Responsible Cost center

C_LEVEL* Text

Not scheduled



PC_CT_TR_04

COSTA - Inflations

APCOCT11

On demand

Event Z_EVT_START_PC_CT_TR_04


2 mins

PC_CT_INV_REA_01

COSTA - Investment Reason WBS

APCOCT17

On demand

Event Z_EVT_START_PC_CT_INV_REA_01


2 mins

PC_CT_MD_01

COSTA - Mater Data 01

APCOCT14 / APCOCT19

Daily

1:30 am5 mins

PC_CT_TR_03

COSTA - Order Group OPEX/CAPEX

APCOCT09

On demand

Event Z_EVT_START_PC_CT_TR_03


2 mins

PC_CT_PERICH_01

COSTA - Perimeter Changes Bridge flow

ABCOCT10

On demand

Event Z_EVT_START_PC_CT_PERICH_01



PC_CT_TR_SAMPLE

COSTA - SAMPLE Flow

APCOCT08

Meta chain: PC_CT_META_01

Daily not weekend


2 mins

PC_CO_CT_06

COSTA - TD - Anaplan Budget Destination

ABCOCT08 / APCOCT21

ABCOCT09 / APCOCT22

Yearly on 13th workday of July in Calendar 50


10 mins

PC_CT_TR_01

COSTA - Transactionnal Data 01 

APCOCT06

APCOCT05

APCOCT04

APCOCT02

Daily not weekend

Meta chain: PC_CT_META_01

1:55 am and 2:30 am5 mins

PC_CT_TR_02

COSTA - Transactionnal Data 02 (Screen Pckg) 

ABSCPK01Daily not weekend 6:30 am1h30

PC_CT_META_01

COSTA Metachain 01


Daily 1:30 am1:30 am30 mins

PC_CO_CT_04

COSTA: TD - M - Anaplan Origin Costs Extraction 

OH_COCT111 per month: 8th working day1 am

PC_CO_CT_02

COSTA: TD - T - Manual Snapshots 

ABCOCT07On demand with ZBW_COSTA_FLAT_FILES event Z_EVT_PC_CO_CT_02
15 mins

PC_CO_CT_01

COSTA: TD - W - Snapshots  

ABCOCT07Each wenesday 9am15 mins


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).


Data Quality Control

Data come from SAP system. To compare data between BW and sources systems, check propagation layers.


Operational Documentation

Procedures

<Describe the recurring procedures needed to operate the application (eg. start/pause/terminate/restart the app processes, data preparation, data ingestion, ETL, data visualization, data export, other manual activities)>

Scheduling

<Describe the scheduling in place for the application (eg. existing jobs, trigger time/event based, dependencies)>

Monitoring

<Describe the monitoring checks to confirm the application is performing well (eg. check the overall status, check performance metrics like runtime/data volume/memory/disk/CPU, maintain and react to alerts/notifications)>

Error Handling

<Describe how to handle errors (eg. error codes, description and respective resolution, alert users)>

Known Bugs

<List the existing bugs, its criticity, workarounds and resolution plan.>

Roadmap

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).