General presentation
List of contacts
- Charlotte ROLLIER : Finance Reporting Leader
- Guillaume Thevenet (SBS Information Services) : BW Coordinator
Objective of the application
Background:
The inter-company service charges and cost allocation process for Solvay’s Corporate and Business Services (CBS) is time consuming, manually maintained, lacks appropriate technology enablement and is controlled across multiple functions.
We need a process to automate the data loading process to remove the drawback of manual process.
Objective
The objective of application is to allow users loading data from excel files with validation of content.
Tool Leader + IT leader of the application:
Usage information
Around 4 users worldwide.
History
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 :
CBS Database - support for inter-company invoicing
Roles & Access
Roles and access
Toe Be Confirmed
List of application role + menu role and explanation if we have several applications role with specials rules.
| Role Code | Role Description | Explanation |
|---|---|---|
| TBC | ||
Authorization objects
List of autorisation objects mandatory for the application.
| Authorization object | Explanation |
|---|---|
| TBC | |
Dataflow overview
https://drive.google.com/drive/folders/0B0qn89R0RGdqYkZZOFZyYXlXVkE
Exemple of dataflow overview :
Template Application name DataFlow
Functional and Technical rules on Workbench + Reporting
We can create authorization object to restrict access to users for Transaction code ZBW_PAPM.
We can also restrict access at granular level for all users, example at company code or controlling are etc..
For driver data available for PaPM, we can display data available in BW in the screen.
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 file is saved as csv in /exploit/BW/PaPM in BW server
- The previously loaded data in BW staging is deleted
- The info-packages are executed to load the new flat file previewed and checked by user in respective PSAs.
- The process chains are executed
- By schedule (hourly with abap condition looking time in global filter).
- Manage “delta queue” is several loadings at the same time
- Three other process chains to load from PSA to BW Info provider
- For all 3 driver data
- Loads data in respective ADSOs
- Process chain runs twice a day (managed in Global filter master data)
An ABAP program was developed to help user loading flat file for all three driver data required for PaPM application.
We have created a specific transaction : ZBW_PAPM to run the ABAP program
The program technical name is : ZBW_CBS_INT_COMP_INV
The program title/description is : Load CBS PaPM Data - 3 Drivers and Transactional source
With this transaction, user can load excel file for
CBS-PAPM-Driver1-Amount.
CBS-PAPM-Driver2-Head Count
CBS-PAPM-Driver3-Cadre and All
The transaction is available in SOLIA portal. For information, it's better to use IE and not Chrome
Rules & Explanations
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.
| Global Filter Stream (Application) | Global Filter Rule | Global Filter | Global Filter Description | Global Filter Sign | Global Filter Option | Global Filter Low Value | Global Filter Hight Value | Global Filter Active |
| PAPM | AMNT | 1 | FILE NAME | CBS-PAPM-Driver1-Amount.xls | Y | |||
| PAPM | AMNT | 2 | DELTA QUEUE | 0 | Y | |||
| PAPM | AMNT | 3 | COUNTER OF LOADING | 19 | Y | |||
| PAPM | AUTHGR | 1 | Authorization | I | EQ | ZR_CBS_PAPM_FILE_UPLOAD | Y | |
| PAPM | AUTHGR | 2 | Authorization | I | EQ | ZR_CBS_PAPM_FILE_UPLOAD_TCODE | Y | |
| PAPM | CADR | 1 | FILE NAME | CBS-PAPM-Driver3-CADRE.xls | Y | |||
| PAPM | CADR | 2 | DELTA QUEUE | 0 | Y | |||
| PAPM | CADR | 3 | COUNTER OF LOADING | 9 | Y | |||
| PAPM | COAREA | 1 | Controlling area | I | EQ | ZCYT | Y | |
| PAPM | COMPCDE | 1 | Company Code | I | EQ | 7008 | USD | Y |
| PAPM | COMPCDE | 2 | Company Code | I | EQ | 7764 | EUR | Y |
| PAPM | HDCN | 1 | FILE NAME | CBS-PAPM-Driver2-HC.xls | Y | |||
| PAPM | HDCN | 2 | DELTA QUEUE | 0 | Y | |||
| PAPM | HDCN | 3 | COUNTER OF LOADING | 17 | Y | |||
| PAPM | LOGSYS | 1 | Source System | I | EQ | ZCBSPAPMUPLD | Y | |
| PAPM | PAPM_RUN | 1 | Identify current run for CY process chain (11,...,15) | I | EQ | 12 | Y | |
| PAPM | PAPM_STIME | 1 | START TIME ALLOWED for PAPM Loading | I | EQ | 11 | LOAD | Y |
| PAPM | PAPM_STIME | 2 | START TIME ALLOWED for PAPM Loading | I | EQ | 15 | LOAD | Y |
| PAPM | SENDMAIL | 1 | Send email | I | EQ | Thanga.Muthu-ext@solvay.com | Y | |
| PAPM | TIME | 1 | REFERENCE TIME FOR PAPM LOAD | I | EQ | 12 | Y | |
| PAPM | TYPE | 1 | REFERENCE TYPE FOR PAPM LOAD | I | EQ | NO_LOAD | Y | |
| PAPM | UNIXAMNT | 1 | Unix for Driver 1- Amount | I | EQ | /exploit/BW/PaPM/Driver_1_Amount | Y | |
| PAPM | UNIXCADR | 1 | Unix for Driver 3 for cadre | I | EQ | /exploit/BW/PaPM/Driver_3_Cadre | Y | |
| PAPM | UNIXHDCN | 1 | Unix for Driver 2 for HeadCount | I | EQ | /exploit/BW/PaPM/Driver_2_HeadCount | Y | |
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 PAPM_STIME, twice a day @11 Hours and 15 Hours.
Lay-out of files
CBS-PAPM-Driver 1-Amount
Flat file driver 01 structure : Advanced DSO APCOPA01
| Info-Object | Description | Type | Size | Key | Business rules and Comment |
|---|---|---|---|---|---|
0FISCVARNT | Fiscal year variant | CHAR | 2 | Y | Always K4 |
0FISCPER | Fiscal year / period | NUMC | 7 | Y | YYYYMMM |
0LOGSYS | source system | CHAR | 10 | N | check against global filter |
C_COMPCDE | Company code | CHAR | 4 | N | check with C_COMPCDE |
C_CCDR01 | PAPM Company Code Driver 01 | CHAR | 250 | N | Free Description |
K_CCDR01 | PAPM Value Company code driver 01 | AMNT | 23 | N | length 17, decimals 3,'.' for decimals, with sign(Unit 0CURRENCY) |
0CURRENCY | Currency key | CUKY | 5 | N | Check against Currency key table /BI0/SCURRENCY |
CBS-PAPM-Driver 2- HeadCount
Flat file driver 02 structure : Advanced DSO APCOPA02
| Info-Object | Description | Type | Size | Key | Business rules and Comment |
|---|---|---|---|---|---|
0FISCVARNT | Fiscal year variant | CHAR | 2 | Y | Always K4 |
0FISCPER | Fiscal year / period | NUMC | 7 | Y | YYYYMMM |
0LOGSYS | source system | CHAR | 10 | N | check against global filter |
C_COMPCDE | Company code | CHAR | 4 | N | check with C_COMPCDE |
C_SITEDR2 | PAPM Site driver 2 | CHAR | 250 | N | Free Description |
C_CCDR02 | PAPM Company code Driver 02 | CHAR | 250 | N | Free Description |
K_HCDR02 | PAPM Nb Headcount per company Driver 02 | NUMB | 23 | N | length 16, decimals 16,'.' for decimals, with sign |
CBS-PAPM-Driver 3-Cadre and All
Flat file driver 03 structure : Advanced DSO APCOPA03
| Info-Object | Description | Type | Size | Key | Business rules and Comment |
|---|---|---|---|---|---|
0FISCVARNT | Fiscal year variant | CHAR | 2 | Y | Always K4 |
0FISCPER | Fiscal year / period | NUMC | 7 | Y | YYYYMMM |
0LOGSYS | source system | CHAR | 10 | N | check against global filter |
C_COMPCDE | Company code | CHAR | 4 | N | check with C_COMPCDE |
K_CDDR03 | PAPM Value Company code driver 03 | NUMB | 23 | N | length 16, decimals 16,'.' for decimals, with sign |
K_ALLDR03 | PAPM All Head count cadre and no cadre diver 03 | NUMB | 23 | N | length 16, decimals 16,'.' for decimals, with sign |
Dependencies with other applications
Data loadings
Info providers and objects loaded
Data Load process Steps and Process Chains
Step 1: Initializing/Deleting Data from previous loads through application(PCs trigerred thro' event trigger)
- PC_CBS_PAPM_001A - PC CBS PaPM - Driver 1 Amount Del PSA - Event Trigerred - PC_CBS_PAPM_001A
- PC_CBS_PAPM_002A - PC CBS PaPM - Driver 2 Head Count Del PSA - Event Trigerred - PC_CBS_PAPM_002A
- PC_CBS_PAPM_003A - PC CBS PaPM - Driver 3 Cadre Del PSA - Event Trigerred - PC_CBS_PAPM_003A
Step 2: Flat File loading for New Driver KPIs and data-flows
Step 3 : Load data to aDSOs through main process chain
The main process chain to load all three driver data on a daily basis from PSA to ADSO is as below
PC_CBS_PAPM - CBS: Global PC PaPM PC_CBS_PAPM Change
Local Process chains to load all three driver data through the application to PSA and Events
- PC_CBS_PAPM_001 - PC CBS PaPM - Driver 1 Amount
- PC_CBS_PAPM_002 - PC CBS PaPM - Driver 2 Head Count
- PC_CBS_PAPM_003 - PC CBS PaPM - Driver 3 Cadre
Loading frequency
1. Data Loading to PSA by user :
Adhoc when users use the application
2. Data Loading to PSA for reporting:
Twice daily at 11 hours and 15 hours
Process Chain Details
1. PC_CBS_PAPM_001A - PC CBS PaPM - Driver 1 Amount Del PSA - Event Trigerred - PC_CBS_PAPM_001A
2. PC_CBS_PAPM_002A - PC CBS PaPM - Driver 2 Head Count Del PSA - Event Trigerred - PC_CBS_PAPM_002A
3.PC_CBS_PAPM_003A - PC CBS PaPM - Driver 3 Cadre Del PSA - Event Trigerred - PC_CBS_PAPM_003A
4. PC_CBS_PAPM_001 - PC CBS PaPM - Driver 1 Amount - run in main Process chain
5. PC_CBS_PAPM_002 - PC CBS PaPM - Driver 2 Head Count - run in main Process chain
6. PC_CBS_PAPM_003 - PC CBS PaPM - Driver 3 Cadre - run in main Process chain
Main Chain
Data-loading Layers
Transformations
1.DTS_FF_PAPM_002 PC_FILE -> ADSO APCBSI01
2. DTS_FF_PAPM_003 PC_FILE -> ADSO APCBSI02
3. DTS_FF_PAPM_004 PC_FILE -> ADSO APCBSI03
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_CPCBSI01_0001 PAPM BW Transactional data with version


















