The objective of application is to allow users loading data from excel files with validation of content.
Around 4 users worldwide.
The project was started in May/2016 and was in go-live in June/2016. It was requested by CBS project manager Nathalie Delahousse and approved bt Sandrine Micollet,
Link about the specifications :
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_M433 | Upload Data - Non-ERP ZCYTEC_FILE | Role to allow uploading file |
| ZR_NERPCYT_CA_P12 | Analysis SYSTEMS - NERPCYT - Non ERP - CYTEC | Role to allow running process chain |
| ZCYTECCAP12 | Area Source System - Non ERP - CYTEC | End user role |
| ZR_RCS_FULL_DISPLAY | Full display | Full display user |
And check also on the DSO DPAUTH01, this DSO is updated on WBP and WBQ every day with process chain PC_AUTHORIZ_001 at 00:30am.
If one roles is not assign to the people, the message no authorizations will appear in the bottom right of the screen.
List of autorisation objects mandatory for the application.
| Authorization object | Explanation |
|---|---|
| C_SRSYST | External source system |
Link to the BW Catalog of role
Main flows

We needed a solution for Solvay or other companies not working on ERP SAP. We have created a specific transaction : ZBW_CBS
The transaction is based on program : ZBW_CYTEC_CBS
With this transaction, user can load excel file for
The transaction is available in SOLIA portal. For information, it's better to use IE and not Chrome

We have created a new authorization object (C_SRSYST) to be sure that users can only load data for companies they have access to.
The program checks user’s authorizations with DPAUTH01 DSO
For master data, we can display content of master data in the screen and also save it in an excel file
For master data and transactional data, user is available to load excel files using lay-out already defined.
We control the content of the file to be sure that there is no error (missing field or incorrect values).
Once data is loaded:
The abap program was developed to help user loading flat file in master data cost center & cost element and transactional data CBS function costs.
Below there is a list of entries in global filter used to support the program to do several activities, like: check authorizations, upload flat file, check company code, run process chain, etc.

Lay-out of files
Cost Center
| InfoObject | Description | Type | Size | Key | Business rules and Comment |
| CO_AREA | Controlling area | CHAR | 4 | Y | always ZCYT ; authorization object in the specific transaction in WBP |
| C_COSTCTR | Cost Center | CHAR | 10 | Y | cytec cost center codes |
| LOGSYS | Source System | CHAR | 10 | Y | NERP003 or NERPCYT |
| C_FUNCT_0 | 0 Hierarchy | CHAR | 32 | N | check : always ZCBS |
| C_FUNCT_1 | 1 Organisation | CHAR | 32 | N | check with existing values for C_COSTCTR-C_FUNCT_1 |
| C_FUNCT_2 | 2 Function | CHAR | 32 | N | check with existing values for C_COSTCTR-C_FUNCT_2 |
| C_FUNCT_3 | 3 Sub-function Grouping | CHAR | 32 | N | no check |
| C_FUNCT_4 | 4 Sub-function | CHAR | 32 | N | no check |
| C_COMPCDE | Company code | CHAR | 4 | N | check with C_COMPCDE |
| CREATEDON | Creation date | DATS | 8 | N | sy datum (not in the file but populated by the specific program) |
| USERNAME | User Name | CHAR | 12 | N | sy uname (not in the file but populated by the specific program) |
| DATETO | Valid to | DATS | 8 | Y | YYYYMMDD |
| DATEFROM | Valid from | DATS | 8 | N | YYYYMMDD |
| PROFIT_CTR | Profit Center | CHAR | 10 | N | It is not filled in Cytec case |
| LANGU | Language Key | LANG | 1 | Y | always 'E' for English |
| TXTSH | Short description | CHAR | 20 | N | free text |
| TXTMD | Medium description | CHAR | 40 | N | free text |
| CPFCTR1_2 | BFC Global Business Unit | CHAR | 2 | N | BFC GBU for example CS (NOVECARE) or SI (SILICA) etc.. |
| CPFCTR2_2 | BFC Group of activities | CHAR | 5 | N | For example code = CTTEX (FIBRAS TEXTILE) |
| C_PLANT | Plant | CHAR | 4 | N | For the filling of the fields C_RPLANT (Responsible Plant) and 0PLANT (PLANT) |
Template of flat file for Cost center (the fields in red are mandatory = need to be filled with values)

Cost Element
| InfoObject | Description | Type | Size | Key | Business rules and Comment |
| CO_AREA | Controlling area | CHAR | 4 | Y | always ZCYT ; authorization object in the specific transaction in WBP |
| COSTELMNT | Cost Element | CHAR | 10 | Y | cytec specific cost elements |
| CSTELMNTYP | Cost element category | CHAR | 2 | N | always '01' |
| LOGSYS | Source System | CHAR | 10 | N | NERP003 or NERPCYT, check against global filter |
| C_CELTHF1 | Fixed cost Group 1 | CHAR | 32 | N | |
| C_CELTHF2 | Fixed cost Group 2 | CHAR | 32 | N | |
| C_CELTHF3 | Fixed cost Group 3 | CHAR | 32 | N | |
| C_CELTHF4 | Fixed cost Group 4 | CHAR | 32 | N | |
| DATETO | Valid to | DATS | 8 | Y | YYYYMMDD |
| DATEFROM | Valid from | DATS | 8 | N | YYYYMMDD |
| LANGU | Language Key | LANG | 1 | Y | always 'E' for English |
| TXTSH | Short description | CHAR | 20 | N | free text |
| TXTMD | Medium description | CHAR | 40 | N | free text |
Template of flat file for Cost element

CBS Function Costs
| InfoObject | Description | Type | Size | Key | Business rules and Comment |
| 0CO_AREA | Controlling area | CHAR | 4 | Y | always ZCYT |
| 0FISCVARNT | Fiscal year variant | CHAR | 2 | Y | Always K4 |
| 0FISCPER | Fiscal year / period | NUMC | 7 | Y | yyyymmm |
| 0CURTYPE | Currency Type | CHAR | 2 | Y | always 10 meaning company code currency |
| 10 | Y | counter defined by cytec not fill by the interface => still empty | |||
| 3 | Y | always 1 not fill by the interface => still empty | |||
| C_COSTCTR | Cost Center | CHAR | 10 | Y | check with master data C_COSTCTR with controlling area ZCYT and company code |
| 0COSTELMNT | Cost Element | CHAR | 10 | Y | check with master data C_COSTELMNT with controlling ares ZCYT |
| 0LOGSYS | Source System | CHAR | 10 | N | NERP003 or NERPCYT |
| 0FISCYEAR | Fiscal year | NUMC | 4 | N | YYYY |
| C_COMPCDE | Company code | CHAR | 4 | N | check with master data C_COMPCDE (PRS code) |
| 0DB_CR_IND | Sender/Receiver indicator | CHAR | 1 | N | S = debit, H = credit |
| 0VTYPE | Value type | NUMC | 3 | N | always 10 |
| 0CURRENCY | Currency key | CUKY | 5 | N | USD |
| 0AMOUNT | Amount | CURR | 9 | N | decimal is '.', sign is xxx |
| 0PSTNG_DATE | Posting date | DATS | 8 | N | format YYYYMMDD with no separator |
| 0DOC_DATE | Document date | DATS | 8 | N | format YYYYMMDD with no separator |
Template CBS Function Costs flat file
There is no dependencies with other applications, all data is loaded using flat files by users.
Main Process Chain: PC_FC_CYTEC

There is an abap condition ZBW_UPDATE_GLB_FILTER used to define the hours that the process should be executed based on global filter rule CYNE_STIME, nowdays twice a day.
In WBP : 5 times 11:00am + 01:00pm + 03:00pm + 04:00pm + 05:00pm (CET TIME)

In WBQ : from 8:00am to 09:00 pm each hour so 14 times

Cube CUB_FC007 - Fixed costs Analysis (External data)

DSO ODSBCCA9 - Cost Centers: Actual Costs (External data)

Transformation between flat file and ODSBCCA9

Daily, twice a day.
Depending on number of records loaded there is a variance between 30 seconds and 5 minutes.
| Key Figure | Estimation |
|---|---|
| ~ Average Process Chain Runtime | 2 minutes |
| ~ Average nb of rows loaded per load | 2K records |
| ~ Total nb of rows loaded (if full) | 20K |
| ~ Average Runtime for 10k lines | 2 minutes |
This solution is in production since July/2016 loading data from June/2016, so there is no definition about retention, probably all historical data will be kept.
Function Costs CBS User Guide.docx
The queries are the same used for CBS Function costs users under multi provider MPR_FC001.
CBS Function end of month - result below
The unique key figure loaded is the amount.
There is no broadcast defined.
All issues are identified during the validation of abap program, before to be loaded in BW and it can be fixed and validated by user again see the example below:

About Company code :
Need to check on the global filter if all companies codes are well actives or not.
Stream ZCYT and rule = COMPCDE

+ Need to create it on C_COMPCDE master data

+ don't forget to active the masters datas.
Sometimes users ask to delete not used cost centers and cost elements loaded wrongly.
The process should be replacement by RCS SAP Financial when it is implemented in Cytec around 2017/2018.