(warning)     (warning)     (warning)     (warning)

The new wiki link for this data flow is here:

BW RTR - Costa - BW Level 5 integration in Anaplan

Please update the doc there and no longer here.

(warning)    (warning)     (warning)     (warning)



General presentation

Objective of the application

New BW L5 hierarchy definition a

nd integration to Anaplan.

Tool Leader: Charlotte Rollier

IT leader of the application: Guillaume Thevenet

History

The L5 hierarchy was before defined with the steps below, coming from Anaplan to BW via flat files.

AS-IS : The management of the L5 Budget hierarchy is the following one : 

  1. The data are managed in many google spreadsheets  (maintain by SU MAC Data team)
  2. Anaplan admin team generated 2 files from the google spreadsheet one for L5 budget hierarchy detail with all the nodes L1 to L5 + attributes like BSA, GBU etc and second files with the link between L5 code and Cost center
  3. Anaplan admin load these 2 files on F2G model
  4. Automatic process generate 2 files from F2G model to AWS S3 bucket
  5. Webmethods process in recurrent mode (several times per day) transfer the 2 files from AWS S3 Bucket to BW folder
  6. A BW process chain uploads the data on BW objects (master data and ADSO)

In this new solution we define the Levels applying rules to the existing BW Cost Center data, then generate outbound files to Anaplan.

Dataflow overview

The DSOS (AACOCT01 and AACOCT02) and InfoObjects (C_LEVEL1, C_LEVEL2, C_LEVEL3, C_LEVEL4 and C_LEVEL5) from previous solution were reused.


Rules & Explanations

Level Rules definition

Levels of ZCB_GRP

(target hierarchy) 

Attributes of Cost Center C_COSTCTR sources and business rules

Rules for the descriptions (texts) of the levels 

Level 1 ZCBS_GRP

IF GBU/Function (C_GBUFUCT) = GRP_GBU then Level 1 = CPFCTR1_2 (BFC GBU code)

Else GBU/Function (C_GBUFUCT) (values = GRP_FUNCT or GRP_SBS)

For C_GBUFUCT = GRP_GBU => name of the GBU else the description linked to  C_GBUFUCT

Level 2 ZCBS_GRP

IF GBU/Function (C_GBUFUCT) = GRP_GBU then concatenation of Group Function (C_GRPFUCT) & CPFCTR1_2 (BFC GBU code) with ”_”  as separator

Else Group Function (C_GRPFUCT)

No GBU in the description only the description linked to Group Function (C_GRPFUCT)

Level 3 ZCBS_GRP

%case 1 : Function and SBS

If C_GBUFUCT= GRP_FUNCT or GRP_SBS

Then Level 3 = value of 3 sub function (C_FUNCT_3) 


%case 2 : C_FUNCT_2

Else  IF C_FUNCT_2 = in the list  EPRD ; ELOCO ; EMISC; ESTLO (Added in Global Filter)

 (global filter)

THEN level 3 = concatenation of  C_FUNCT_2 & Log Sys & Responsible Plant code of the CC and & CPFCTR1_2 (BFC GBU code)

with ”_”  as separator


%case 3 :others cases

ELSE concatenation value of 3 sub function (C_FUNCT_3) & CPFCTR1_2 (BFC GBU code) with ”_”  as separator

%case 1 : Function and SBS

Description linked to  3 sub function (C_FUNCT_3) 


%case 2 : C_FUNCT_2

First  the G_ZONE code from company code C_COMPCDE and code of the plant and

description of the plant as space as separator


%case 3 :others cases

Description linked to  3 sub function (C_FUNCT_3) no need GBU description

Level 4 ZCBS_GRP

%case 1 : Function and SBS

If C_GBUFUCT = GRP_FUNCT or GRP_SBS

then Level 4 = 4 function (C_FUNCT_4)


%case 2 : C_FUNCT_2

Else  IF C_FUNCT_2 = in the list  EPRD ; ELOCO ; EMISC; ESTLO (Added in Global Filter)

 (global filter)

THEN level 4 = concatenate  3 sub function (C_FUNCT_3)  & log sys & responsible Plant code of the CC & CPFCTR1_2 (BFC GBU code)

with ”_”  as separator


%case 3 : others cases

ELSE Level 4 = concatenation value of  4 function (C_FUNCT_4) & CPFCTR1_2 (BFC GBU code) of the CC with ”_”  as separator

%case 1 : Function and SBS

4 function (C_FUNCT_4)


%case 2 : C_FUNCT_2

3 sub function (C_FUNCT_3)  & '_' & Medium description of the plant (C_PLANT) 


%case 3 : others cases

4 function (C_FUNCT_4) 





Level 5 ZCBS_GRP

%case 1 : Function 

If C_GBUFUCT = GRP_FUNCT 

then Level 4 = 4 function (C_FUNCT_4) & 4 function (C_FUNCT_4) with ”_”  as separator


%case 2 : SBS

Else IF GBU/Function = GRP_SBS* 

THEN concatenate  4 function (C_FUNCT_4) & Code country of the company 


%case 3 : C_FUNCT_2

Else  IF C_FUNCT_2 = in the list  EPRD ; ELOCO ; EMISC; ESTLO (Added in Global Filter)

 (global filter)

THEN level 4 = concatenate  3 sub function (C_FUNCT_3) & 3 sub function (C_FUNCT_3) & Log Sys & Responsible Plant code of the

CC & CPFCTR1_2 (BFC GBU code) with ”_”  as separator


%case 4 : Others cases

ELSE Level 4 = concatenation value of  4 function (C_FUNCT_4) & 4 function (C_FUNCT_4)& CPFCTR1_2 (BFC GBU code) of the CC

with ”_”  as separator

%case 1 : Function

4 function (C_FUNCT_4)


%case 2 : SBS

code country code + 4 function (C_FUNCT_4)  space as separator


%case 3 : C_FUNCT_2

3 sub function (C_FUNCT_3) (if EPRD etc) & '_' & Medium description of the plant (C_PLANT) 


%case 4 : Others cases

4 function (C_FUNCT_4)

Extraction rules

Only ECO and SCO scope data. (C_COMPCODE-C_SCOPE - 02 for ECO and 03 for SCO)

Remove records where Level 5 is empty or only "_".

Remove records where Level 1 is empty.

Dependencies with other applications

Global Filter variables for the Level Exceptions, Controlling Areas, GBU Functions and Scopes.

Data loadings

Process Chain: PC_CT_LEVEL5_HIER2 - COSTA - Hierarchy Level 5 from ECC

Loading frequency

Daily. 


To allow the filling of the cost center master data BW attributes linked to L5 NASA Hierarchy, some pre-requisites are mandatory :

A) loads of the attributes of the cost center from ERP's (WP1, PF1 and PI1) and transaction code ZBW_CBS

B) Load of the ZCB hierarchies 

C) Load of L5 fields


A-1) The load of the cost center master data from PF1 :

Process chain : RPC_COOM_MD_PF1

Daily schedule at around 02:00am (CET Time)

+ linked to the frozen period, during the yearly frozen period

Frozen period :

(period from end of December until around 20th of January which is not allow to reflect the update done in master data to not impact the end yearly closing period which should be done with th scope of the current year and not the future year)


load during the frozen period :


Load after frozen period :




The data from PF1 are loaded only once time per day during the night loading at around 02:00am (CET Time)



A-2) The load of the cost center master data from PI1 :

Process chain : RPC_COOM_MD_PI1

Daily schedule at around 02:00am (CET Time)

+ linked to the frozen period, during the yearly frozen period


During the frozen period :


Out of frozen period :


3) From WP1 

ZPC_MD_ATTR_RCS


During frozen period :



After frozen period



+ loads done with process chain : FREQUENTLY_LOAD_MD

During frozen period :





From PC_FC_CYTEC_001




B-1) Load of the hierarchy every days at 07:00pm (CET time) CO_DAILY_MASTER_DATA (Daily Hierarchies CO 1/2)

For WP1 data :

Master process chain : DAILY_PC_HIER_TXT



B-2) Load of the hierarchy every days at 07:00pm (CET time) CO_DAILY_MASTER_DATA_HY (Daily Hierarchies CO 2/2)

For PF1 and PI1 data

Master process chain : DAILY_PC_HIER_TXT




C-1) Load of L5 fields on Cost center (C_COSTCTR) BW master data : 

L5 update with PC_CT_LEVEL5_HIER_02 every days at 10:00pm cet time BUT following the BE Factory calendar, so the process chain is not running during Belgium public holidays.




For example for 2024 :






Open Hubs for Anaplan

BW folder for the files: /exploit/BW/Anaplan_outbound

Format: in TXT, Unicode format and comma as separator.

Add “ “ for the descriptions fields as some of them could contain comma and raise issues in the Anaplan upload process.

Custom Program ZBW_ANAPLAN_OUTBOUND_HEADER created to add the files header lines, this is the last step from Process Chain PC_CT_LEVEL5_HIER2.


OH_COCT14 - F2G Anaplan - L5 Budget Hierarchy ECO

File name: L5_budget_hierarchy_ECO.txt

Structure definition:

L1 Code (mandatory) (extraction only L1 not empty)

L1 Description (mandatory)

L2 Code (mandatory)

L2 Description (mandatory)

L3 Code (mandatory)

L3 Description (mandatory)

L4 Code (mandatory)

L4 Description (mandatory)

L5 Code (mandatory)

L5 Description (mandatory)

Scope (mandatory)

Filter: Only Scope (C_COMPCODE-C_SCOPE = 02 - ECO)


OH_COCT15 - F2G Anaplan - L5 Link Cost Center ECO

File name: L5_link_cc_ECO.txt

Structure definition:

CC Code (mandatory)

CC Description (mandatory)

LVL5 Code (mandatory) 

BSA (not mandatory)

Scope (mandatory)

Filter: Only Scope (C_COMPCODE-C_SCOPE = 02 - ECO)


OH_COCT16 - F2G Anaplan - L5 Budget Hierarchy SCO

File name: L5_budget_hierarchy_SCO.txt

Structure definition:

L1 Code (mandatory) (extraction only L1 not empty)

L1 Description (mandatory)

L2 Code (mandatory)

L2 Description (mandatory)

L3 Code (mandatory)

L3 Description (mandatory)

L4 Code (mandatory)

L4 Description (mandatory)

L5 Code (mandatory)

L5 Description (mandatory)

Scope (mandatory)

Filter: Only Scope (C_COMPCODE-C_SCOPE = 03 - SCO)


OH_COCT17 - F2G Anaplan - L5 Link Cost Center SCO

File name: L5_link_cc_SCO.txt

Structure definition:

CC Code (mandatory)

CC Description (mandatory)

LVL5 Code (mandatory) 

BSA (not mandatory)

Scope (mandatory)

Filter: Only Scope (C_COMPCODE-C_SCOPE = 03 - SCO)