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
History
In Mar 2020, the data flow was updated to PCM 2.0
In 2021, BW 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:
- Load full with deletion DPFIAR13 from Big Query with new data source DTS_FI_PCM_01 by PC_FI_PCM_10. SQL server was replaced by Big Query
check that no other run are in progress (a) and then extract data from BW to PCM SQL databaseExtract 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 openhublaunch ksh script (c) to execute treatment on PCM SQL database side (through OS Command (d))
treatment on PCM SQL database sideload data from PCM SQL database to BWwhen 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
Obsolete
SQL server was replaced by Big Query and after files are generate, they will be loaded by Talend by Data Engineering team
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) → Obsolete
(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 | Filename | Detail of file |
| OH_PCM_01 | PCM: DBFIAR20 | DBFIAR20 | 17 | dbfiar20_delta.csv | FIAR: Line Item with Delta - PCM - All systems |
| OH_PCM_02 | PCM: GL_ACCOUNT | ATTRIBUTES 0GL_ACCOUNT | 1 | gl_account_full.csv | Attribute of GL account |
| OH_PCM_03 | PCM: C_CUSTID | ATTRIBUTES C_CUSTID | 2 | c_custid_full.csv | Attribute of Customer |
| OH_PCM_04 | PCM: COUNTRY | ATTRIBUTES 0COUNTRY | 6 | country_full.csv | Attribute of Country |
| OH_PCM_05 | PCM: C_COMPCDE | ATTRIBUTES C_COMPCDE | 3 | c_compcde_full.csv | Attribute of Company |
| OH_PCM_06 | PCM: C_CST_CA2 | ATTRIBUTES C_CST_CA2 | 4 | c_cst_ca2_full.csv | Attribute of Customer credit control area |
| OH_PCM_07 | PCM: TCURR | DTS_TCURR | 5 | tcurr_full.csv | Attribute of Currency |
| OH_PCM_08 | PCM: DBFIAR21 | DBFIAR21 | 18 | dbfiar21_delta.csv | FIAR: Credit blocked - PCM - All systems |
| OH_PCM_09 | PCM: G_CWWE01 | ATTRIBUTES 0G_CWWE01 | 7 | g_cwwe01_full.csv | Attribute of sub activity (IECRA) |
| OH_PCM_10 | PCM: 0CLM_CLSP Texts | TEXTS 0CSM_USER | 8 | 0CLM_CLSP_TEXT.csv | Text of Collection specialist |
| OH_PCM_11 | PCM: C_COMPCDE Texts | TEXTS C_COMPCDE | 9 | c_compcde_text.csv | Text of Company |
| OH_PCM_12 | PCM: C_SALEMP Texts | TEXTS C_SALEMP | 10 | c_salemp_text.csv | Text of Sales employee |
| OH_PCM_13 | PCM: C_PMNTTRM Texts | TEXTS C_PMNTTRM | 11 | C_PMNTTRM_TEXT.csv | Text of payment term |
| OH_PCM_14 | PCM: CPFCTR1_2 Texts | TEXTS CPFCTR1_2 | 12 | CPFCRT1_2_TEXT.csv | Text of GBU |
| OH_PCM_15 | PCM: CPFCTR2_2 Texts | TEXTS C_FACUBU | 13 | CPFCTR2_2_TEXT.csv | Text of BFC group of activity |
| OH_PCM_16 | PCM: 0G_CWWE01 Texts | TEXTS 0G_CWWE01 | 14 | 0G_CWWE01_TEXT.csv | Text of sub activity (IECRA) |
| OH_PCM_17 | PCM: C_PM_MTHD Texts | TEXTS C_PM_MTHD | 15 | C_PM_MTHD_TEXT.csv | Text of payment method |
| OH_PCM_18 | PCM: 0REPR_GROUP Texts | TEXTS 0REPR_GROUP | 16 | 0REPR_GROUP_TEXT.csv | Text of credit management representatives group |
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) → Obsolete
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:
serverWDCPAAP21.eua.solvay.com (in WBP, see OS command for more detail)WDCPAAT21.eua.solvay.com (in WBQ / WBD)
and userPA_SVC_PRD (in WBP, see OS command for more detail)PA_SVC_TST(in WBQ / WBD)
OS Command (d) → Obsolete
(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) → Obsolete
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" process1: 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) modify by ticket 5915436
PC_FI_PCM_01 Generate 18 files from Open Hub by job RSPROCESS weekday at 10:00 AM CET
PC_FI_PCM_11 Same as PC_FI_PCM_01 just in case 01 can't generate files completely
PC_FI_PCM_10 Delete DSO then load data to DPFIAR13 from BigQuery and DPFIAR14 from SDK_PCM job RSPROCESS weekday at 11:00 AM CET
Target folder
Loading frequency
PC_FI_PCM_01 load by job RSPROCESS workday at 10:00 AM CET
PC_FI_PCM_10 load by job RSPROCESS workday at 11:00 AM CET
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

















