General presentation
Objective of the application
Provide predictive information on Credit Management.
- Define which payer is a priority based on its history and the due amount.
Tool Leader: David TONDA
IT leader of the application: Guillaume THEVENET
Name of project: PCM Predictive Credit Management
PMO Project: 6958 Big Data for Credit Management
Reporting Coordinator: David TONDA
Usage information
Number of users: tbd
Critical period: none
Geographical perimeter: worldwide
InfoArea:
- All objects are stored in FIAR infoarea: IA_FMCO_FIAR
Process chain Display Component:
- 134 - PROJECT - PCM
COMP_PCM
Main PC PC_FI_PCM_07 run daily on weekday at 10:00 AM
PC_FI_PCM_01 generate 18 files from OH
PC_FI_PCM_11 is the same as 01 just in case 01 can't generate files completely
PC_FI_PCM_10 load to DPFIAR13 and DPFIAR14 from SDK_PCM (delete DSO before loading)
History
In 2021, we change the source system SDK_PCM (SQL) to BigQuery(#4749200)
Roles & Access
Aligned on FIAR Roles & Access
Dataflow overview
Summary
The dataflow can be divided in 3 main steps:
- check that no other run are in progress (a) and then extract data from BW to PCM SQL database
- Extract master data in full mode to csv files through openhub (b)
- Load FIAR and CAMS data into specific DSO build for PCM project (DBFIAR20 and DBFIAR21),then extract to csv through openhub
- launch ksh script (c) to execute treatment on PCM SQL database side (through OS Command (d))
- treatment on PCM SQL database side
- load data from PCM SQL database to BW
- when OS command is finished (meaning that treatment are finished), load the status table (e)
- if code in status table is 0, load PCM data into 2 specific DSO, DPFIAR10 and DPFIAR11, else regenerate file or put process chain in error
DBFIAR20 loading process
DPFIAR10 and DPFIAR11
Architecture Overview
Reporting documentation drive folder:
https://drive.google.com/drive/folders/0B0qn89R0RGdqYkZZOFZyYXlXVkE
Functional and Technical rules on Workbench + Reporting
Rules & Explanations
The whole process can be summarized has follow:
- Extraction of BW data (master and transactional data) in flat files (csv with "|" separator)
- copy and loading of these file into a SQL database
- Calculation of predictive information on SQL side to produce two table which define Priority per Amount & Priority per Payer
- Loading of these data in BW to be used on standard reporting
Program (a)
(created in SE38)
2 program to update the TVARVC variable Z_BW_PCM_PC_STATUS
The purpose of these program is to avoid launching process chain twice if previous run is still active.
If the process chain is already running, the process chain will fail requiring deeper analysis (normal duration should be less than one hour - only init run should exceed this duration)
Openhub (b)
7 openhub have been created for master data and 2 for transactional data
Updated on 12 Mar 2021: 18 Openhub (2 Transactional and 16 Master data)
| Open Hub | Open Hub Name | Source of Open Hub | Seq in PC_FI_PCM_01 |
| OH_PCM_01 | PCM: DBFIAR20 | DBFIAR20 | 17 |
| OH_PCM_02 | PCM: GL_ACCOUNT | ATTRIBUTES 0GL_ACCOUNT | 1 |
| OH_PCM_03 | PCM: C_CUSTID | ATTRIBUTES C_CUSTID | 2 |
| OH_PCM_04 | PCM: COUNTRY | ATTRIBUTES 0COUNTRY | 6 |
| OH_PCM_05 | PCM: C_COMPCDE | ATTRIBUTES C_COMPCDE | 3 |
| OH_PCM_06 | PCM: C_CST_CA2 | ATTRIBUTES C_CST_CA2 | 4 |
| OH_PCM_07 | PCM: TCURR | DTS_TCURR | 5 |
| OH_PCM_08 | PCM: DBFIAR21 | DBFIAR21 | 18 |
| OH_PCM_09 | PCM: G_CWWE01 | ATTRIBUTES 0G_CWWE01 | 7 |
| OH_PCM_10 | PCM: 0CLM_CLSP Texts | TEXTS 0CSM_USER | 8 |
| OH_PCM_11 | PCM: C_COMPCDE Texts | TEXTS C_COMPCDE | 9 |
| OH_PCM_12 | PCM: C_SALEMP Texts | TEXTS C_SALEMP | 10 |
| OH_PCM_13 | PCM: C_PMNTTRM Texts | TEXTS C_PMNTTRM | 11 |
| OH_PCM_14 | PCM: CPFCTR1_2 Texts | TEXTS CPFCTR1_2 | 12 |
| OH_PCM_15 | PCM: CPFCTR2_2 Texts | TEXTS C_FACUBU | 13 |
| OH_PCM_16 | PCM: 0G_CWWE01 Texts | TEXTS 0G_CWWE01 | 14 |
| OH_PCM_17 | PCM: C_PM_MTHD Texts | TEXTS C_PMNTTRM | 15 |
| OH_PCM_18 | PCM: 0REPR_GROUP Texts | TEXTS 0REPR_GROUP | 16 |
All master data openhub are loaded in full mode. All extract data from master data except the TCURR one which is connected to a datasource.
All transactional data openhub are loaded in delta mode. (remark delta is not possible with multiprovider).
All openhub use a "|" separator because some field already contain ";" in the value and openhub doesn't encapsulate data.
All openhub use logical file name defined through FILE transaction. All files are stored in the following folder
KSH script (c)
KSH script have been build by D3S/adagio team.
They are stored in the following folder
pacm-ping.ksh is the initial test for the PCM project (not used anymore).
pacm-reset_db.ksh allow to reset SQL database from BW.
pacm-run.ksh is the script which launch treatment on SQL database side. It generate a log in the following folder: /exploit/TA/tmp/${STAMP}_log_run_$server.log
This scripts awaits two parameter:
- server
- WDCPAAP21.eua.solvay.com (in WBP, see OS command for more detail)
- WDCPAAT21.eua.solvay.com (in WBQ / WBD)
- and user
- PA_SVC_PRD (in WBP, see OS command for more detail)
- PA_SVC_TST(in WBQ / WBD)
OS Command (d)
(created in SM49)
The ZPCM_RUN launch a .bat file which load extracted file in the D3S SQL database. It's included in process chain through the following variant:
This variant has been modified directly in WBP to launch treatment on the SQL production server
The ZPCM_RESET_DB reset the database. It's not included in process chain
Status table (e)
The status table is loaded in DSO DPFIAR12
C_COMMAND should be used to run the "ZPCM_RUN" or the "ZPCM_RESET" depending on the value sent by SQL database. This functionality is not used and by default the process chain always launch the RUN. If the RESET is required, then it needs to be launched manually.
C_CODSTAT can take 3 different value which are checked in the process chain:
- 0: "normal" process
- 1: problem with file generated, the process chain will try to generate file again (only once)
- 2: other error, the process chain will fail and deeper analysis is required
These value are checked in the process chain through "Enhanced decision"
Dependencies with other applications
PCM data are loaded on top of FIAR data.
Data loadings
Info providers and objects loaded
PC_FI_PCM_07 (Main PC)
PC_FI_PCM_01 generate 16 files from OH
PC_FI_PCM_11 is the same as 01 just in case 01 can't generate files completely
PC_FI_PCM_10 load to DPFIAR13 and DPFIAR14 from SDK_PCM (delete DSO before loading)
Target folder
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
DSO are loaded with full historical data but we only send today - 3 years to SQL server.
Reporting
Queries End User Documentation
Main queries
Main functionalities
Broadcast
All Credit Management broadcasts (and associated PCs) were deactivated on Business demand


















