1.0 Access Management
List of application role + menu role and explanation if we have several applications role with specials rules.
| Role Code | Role Description | Explanation |
|---|---|---|
List of authorization objects mandatory for the application.
| Authorization object | Explanation |
|---|---|
2.0 DataFlow
2.1 Overview
Mutltiprovider MVFIWC01 is composed by 32 cubes:
| CRFIGL22 | AP from FIGL by Affiliate - CICC |
| CRFIGL08 | AP from FIGL: Line Items - CICC |
| CRFIGL02 | AP from FIGL: Line Items - Rhodia |
| CRFIGL05 | AP from FIGL: Line Items - Solvay |
| CRFIGL21 | AR from FIGL by Affiliate - CICC |
| CRFIGL07 | AR from FIGL: Line Items - CICC |
| CRFIGL01 | AR from FIGL: Line Items - Rhodia |
| CRFIGL04 | AR from FIGL: Line Items - Solvay |
| CRFIPA06 | CAPEX Rhodia (Lease AP) |
| CRFIPA08 | CAPEX Rhodia (Lease AP) Factoring |
| CRFIPA01 | CAPEX Rhodia (Payables AP + GL) |
| CRFIPA04 | CAPEX Rhodia (Payables AP) Factoring |
| CRFIPA07 | CAPEX Solvay (Lease AP) |
| CRFIPA09 | CAPEX Solvay (Lease AP) Factoring |
| CRFIPA02 | CAPEX Solvay (Payables AP + GL) |
| CRFIPA05 | CAPEX Solvay (Payables AP) Factoring |
| CRFIAP03 | FIAP: Line Item with Delta - CICC |
| CRFIAP01 | FIAP: Line Item with Delta - Rhodia |
| CRFIAP05 | FIAP: Line Item with Delta - Rhodia factoring |
| CRFIAP02 | FIAP: Line Item with Delta - Solvay |
| CRFIAP06 | FIAP: Line Item with Delta - Solvay Factoring |
| CRFIAR03 | FIAR: Line Item with Delta - CICC |
| CRFIAR01 | FIAR: Line Item with Delta - Rhodia |
| CRFIAR15 | FIAR: Line Item with Delta - Rhodia Factoring |
| CRFIAR02 | FIAR: Line Item with Delta - Solvay |
| CRFIAR16 | FIAR: Line Item with Delta - Solvay Factoring |
| CUB_MAG01 | FISCA : Magnitude account data (cube) |
| CRFIGL13 | IM from FIGL: Line Items for G/L Acct (S) - Rhodia |
| CRFIGL14 | IM from FIGL: Line Items for G/L Acct (S) - Solvay |
| CRFIGL03 | IM from FIGL: Line Items for Mat. Acct (M) - Rhodia |
| CRFIGL06 | IM from FIGL: Line Items for Mat. Acct (M) - Solvay |
CRFIGL22
ZZF_READ_ZZF_BSEG → DPFIWC03
Start routine
Delete data where field "Info" is empty.
Field routine
0FISCVARNT = K4.
DPFIWC03 → DPFIGL03
End routine
Search in DPFIGL03 if a record exist with same fields from data loaded (logsys, c_compcde, ac_doc_no, fiscyear and item_num).
If data loaded already exists in DPFIGL03, we update this record with the c_cpprsaf (Affiliate PRS company code) from DPFIWC03 (Data from ZZF_BSEG CICC table).
An error stack is updated if the line item in DPFIWC03 can't be found in DPFIGL03 => no update in DPFIGL03 but the record is put into the error stack to be reprocessed during the next process chain's run.
DPFIGL03 → IB_FIGL_03
Start routine
Delete data if c_compcde = 0001 or 6050.
For a document line item, if the last entry in a data package has recordmode “X”, the recordmode is changed to “D” in order to delete the existing key in the target DSO. It is necessary to ensure there is no duplicated document in "normal" flows (DBFIGL07/08) and in the flows by Affiliate (DBFIGL21/22).
Field routine
C_COMPPRS comes from master data C_COMPCDE.
For REF_DOC_NO and REF_KEY3, all characters equal to # or ! are replaced by space.
End routine
Field co_area is determined in function of attribute co_area from master data c_compcde. If no correspondance found in c_compcde, the default value is 'FINI'.
Last character for field bus_area finish by default with "0".
Module function ZTRANSCO_BUS_AREA is used with with 0BUS_AREA and C_COMPCDE. This will read exception DSO (dbfiwc01) and apply value found into fields 0BUS_AREA and C_SUBACT2.
FIGL Domaine management (c_figldom): Call function mode ZDETERMINE_FIGL_DOMAIN with 0CHRT_ACCTS, 0ACCT_TYPE and 0GL_ACCOUNT. This will read 0GL_ACCOUNT master data.
If gl_type from gl_account = 'RECEIVABLES', FIGL_DOMAIN = 'AR'.
If gl_type from gl_account = 'PAYABLES', FIGL_DOMAIN = 'AP'.
If gl_type from gl_account = 'INVENTORY', FIGL_DOMAIN = 'IM'.
If gl_type from gl_account = 'ASSET', FIGL_DOMAIN = 'AA'.
IB_FIGL_03 → DBFIGL22
Start routine
Delete data if c_figldom ( FIGL Domain ) <> 'AP' and <> 'AA'.
End routine
With method "get_landscape_from_compprs" and source field c_cpprsaf ( PRS Company code - Affiliate ), we determine the lanscape associated from master data c_compprs.
If a landscape is found:
With method " get_aff_compcde_from_compprs " and source field c_cpprsaf ( PRS Company code - Affiliate ) and landscape founded previously, we determine the company code and losys associated and put them into fields c_compcaf ( Company code - Affiliate ) & c_lgsysaf ( Source System - Affiliate).
If c_compcaf is empty and the landscape is in master data global filter:
There is no correspondance in c_compcde
The line item is updated in target DSO but should be reprocessed we put in error stack the record.
If c_lgsysaf is not empty and C_PCPANLG (Partner Company - Legal) is not empty:
If c_pcpanlg exist in master data c_company then c_pcpanaf (Partner Company - Affiliate) =c_pcpanlg (Partner Company - Legal).
If landscape is empty:
The line item is updated in target DSO but should be reprocessed => put in error stack
CRFIGL08
ZZF_READ_ZZF_BSEG → DPFIWC03
Start routine
Delete data where field "Info" is empty.
Field routine
0FISCVARNT = K4.
DPFIWC03 → DPFIGL03
End routine
Search in DPFIGL03 if a record exist with same fields from data loaded (logsys, c_compcde, ac_doc_no, fiscyear and item_num).
If data loaded already exists in DPFIGL03, we update this record with the c_cpprsaf (Affiliate PRS company code) from DPFIWC03 (Data from ZZF_BSEG CICC table).
An error stack is updated if the line item in DPFIWC03 can't be found in DPFIGL03 => no update in DPFIGL03 but the record is put into the error stack to be reprocessed during the next process chain's run.
DPFIGL03 → IB_FIGL_03
Start routine
Delete data if c_compcde = 0001 or 6050.
For a document line item, if the last entry in a data package has recordmode “X”, the recordmode is changed to “D” in order to delete the existing key in the target DSO. It is necessary to ensure there is no duplicated document in "normal" flows (DBFIGL07/08) and in the flows by Affiliate (DBFIGL21/22).
Field routine
C_COMPPRS comes from master data C_COMPCDE.
For REF_DOC_NO and REF_KEY3, all characters equal to # or ! are replaced by space.
End routine
Field co_area is determined in function of attribute co_area from master data c_compcde. If no correspondance found in c_compcde, the default value is 'FINI'.
Last character for field bus_area finish by default with "0".
Module function ZTRANSCO_BUS_AREA is used with with 0BUS_AREA and C_COMPCDE. This will read exception DSO (dbfiwc01) and apply value found into fields 0BUS_AREA and C_SUBACT2.
FIGL Domaine management (c_figldom): Call function mode ZDETERMINE_FIGL_DOMAIN with 0CHRT_ACCTS, 0ACCT_TYPE and 0GL_ACCOUNT. This will read 0GL_ACCOUNT master data.
If gl_type from gl_account = 'RECEIVABLES', FIGL_DOMAIN = 'AR'.
If gl_type from gl_account = 'PAYABLES', FIGL_DOMAIN = 'AP'.
If gl_type from gl_account = 'INVENTORY', FIGL_DOMAIN = 'IM'.
If gl_type from gl_account = 'ASSET', FIGL_DOMAIN = 'AA'.
IB_FIGL_03 → DBFIGL08
Delete data with c_figldom (FIGL Domaine management) <> 'AP'
CRFIGL02
DPFIGL01 is not loaded anymore.
0FI_GL_4 -> ODSFIGL1
Start routine
Load documents from DSO_FI11 (ZWFAT205 table for reclassification) into internal table itbh_fi11.
Load profit center master data into internal table itb_profit_iecra.
Load GL accounts from Global fitler master data into internal table it_filter (stream = FI_CUSACC and rule = GL_ACC)
Field routines
co_area is determined in function of attribute co_area from master data c_compcde.
0PROFIT_CTR comes from internal table itbh_fi11 (DSO_FI11). If not found, keep initial value.
0G_CWWE01: Get 0G_CWWE01 from itbh_fi11 (DSO_FI11) when is not null. If he is not found and if HKONT is in internal table it_filter and if 0PROFIT_CTR is not null, get 0G_CWWE01 from Profit center master data (internal table itb_profit_iecra.)
ODSFIGL1 -> ODSFIGL1
Same technicales rules as 0FI_GL_4 → ODSFIGL1.
ODSFIGL1 -> ODSFIGL3
Start routine
Load active data from ODSFIGL3 into internal table itb_figl3.
Load data from ODSFIGL2 (ZWFAT123 for split) into internal table itb_figl2.
Load data from DSO_FI11 (ZWFAT205 for reclassification) into internal table itbh_fiar11.
Load profit center master data in internal table itb_profit.
Load GL accounts from Global fitler master data
Save in w_full_repair_flag value from master data global filter to know if it's full repair or not. (stream = odsfigl3 and rule = FULLREPAIR)
Load GL accounts from Global fitler master data into internal table it_filter (stream = FI_CUSACC and rule = GL_ACC)
----
For records with recordmode X (record before image) or if w_full_repair_flag = YES:
Add in source package records from internal table itb_figl3 with record mode = D (must be deleted).
For records with recordmode <> X ((record before image) and <> D (must be deleted).
Search a correspondance in itbh_fiar11 (dso DSO_FI11).
If yes:
Fields profit_ctr, co_area and g_cwwe01 come from DSO_FI11.
If the source field gl_account is in list it_filter → search and assign to source field g_cwwe01 from internal table itb_profit.
Record mode is put in N (New image → counted as new line).
If no:
Take profit_ctr, co_area, deb_cre_dc and deb_cre_lc come from itb_figl2 (dso ODSFIGL2)
Key figures are calculated in function of split according to ODSFIGL2 + reclassification of 0G_CWWE01 + add record with recordmode N
Field routines
gl_account: If gl_account <> '0040100349' we keep incoming values.
ODSFIGL3 -> DBFIGL02
Start routine
For gl_account 40100310 and ac_doc_type WA, add in source fields C_MATNR and C_VENDOR the values from ODS_IC01
Load C_VENDID, C_COMPCDE and C_COMPPRS Master into internal tables itb_comp, itb_vend and itb_pcomp.
End routine
If c_vendid and pcompany are not empty. Take the c_compprs from master data c_compprs.
CRFIGL05
CRFIGL21
CRFIGL07
CRFIGL01
CRFIGL04
CRFIPA06
CRFIPA08
CRFIPA01
CRFIPA04
CRFIPA07
CRFIPA09
CRFIPA02
CRFIPA05
CRFIAP03
CRFIAP01
CRFIAP05
CRFIAP02
CRFIAP06
CRFIAR03
CRFIAR01
CRFIAR15
CRFIAR02
CRFIAR16
CUB_MAG01
CRFIGL13
CRFIGL14
CRFIGL03
CRFIGL06
2.2 Technical Rules on Workbench
2.3 Dependencies with other applications
We should have the information where the application is sending or receiving information (e.g. APD open hub)
APD
DOMAIN | PROCESS | NAME | QUERY | TARGET | PC |
Open Hub
Domain | OH | Name | Query | Target |
3.0 Data Loading
3.1 Info Providers and objects loaded
Detail of process chain, list + link between or special event done for the loading
| Main Process Chain | Final Provider Loading | Frequency | Time start | Duration |
|---|
































