List of application role + menu role and explanation if we have several applications role with specials rules.
|
List of authorization objects mandatory for the application.
|
https://drive.google.com/drive/folders/18VbVRgRTsredyh89a_qSECY7E0yzSKJJ
Dataflow overview :
The objective of the application is to extract from WP1 & PF1 SAP systems Bill of Material data and explode BOM level by level with components data.
Then data are consumed by Dynasys application by generated flat file.
Tool Leader: Meire Santos
IT leader of the application: Meire Santos (PP), Craig Wanamaker (BW)
Reporting Coordinator: Meire Santos
InfoArea:
This application is linked to a need of Dynasy Tool. Every month a manually extract is done of BOM Data from ERP SAP system. The goal is to extract these data from SAP to BW and generate automaticaly BOM data level by level by flat file and send this file to Dynasys for import.
Internals tables updated from master data c_matpnt3, c_matnr2. Source system logsys defined with method "oref_dynasys_utils ->get_source_systems".
Package is sorted by Material MATNR and Plant WERKS.
C_CPT_TYP is determined with master data C_MATNR2 (where source logsys = logsys from c_matnr2 and source c_bomcpt = matnr2 from c_matnr2).
MATL_TYPE & C_MMSTA are determined with master data C_MATNR2 (where source logsys = logsys from c_matnr2 and source c_matnr2 = matnr2 from c_matnr2).
C_PFCTR2 is determined with master data C_MATPNT3 (where source logsys = logsys from c_matpnt3 and source c_plant = c_plant from c_matpnt3 and source c_matnr2 = c_matpnt3 from master data c_matpnt3).
C_DYN_052 "Component with System Extension" is a concatenation with c_bomcpt and variable v_rhodia_system_extension (determined with method "oref_dynasys_utils->get_system_extension" with input source system dermined in start routine).
C_DYN_005 "Material with System Extension " is a concatenation with c_matnr2 and variable v_rhodia_system_extension (determined with method "oref_dynasys_utils->get_system_extension" with input source system dermined in start routine).
C_DYN_001 "Plant with System Extension " is a concatenation with c_plant and variable v_rhodia_system_extension (determined with method "oref_dynasys_utils->get_system_extension" with input source system dermined in start routine).
Check in active table if there is a correspondance with record in source package in function of logsys, c_matnr2, c_plant, c_bomcat, c_bomnum and c_bomaltm.
If there is a correspondance, make the same test with in addition C_BOMITM & C_BOMCPT.
If with these two new field there is no correspondance → record marked as deleted.
BOM quantities and component quantities are converted in KG between propagation and business layer.
Moreover, quantities are recalculated in order to have a BOM Base quantity equal to 1000 KG (1 TO), Component quantities are updated accordingly.
On BW side, there is a specific rule applied when the Alternative Item Group (C_ALPGR infobject) is <> blank (and only when it's <> blank ) :
Semantic group on:
![]()
Filters:
Material status <> Z0
Component Type: olap variable V_MATL_TYPE_0002 (class ZCL_BIU001_V_MATL_TYPE_0001):
= ZPIP / Z714 / ZNLA / Z700 / ZMAT / Z707
ERP Group of activ: olap variable V_0G_CWWE03_0001 (class ZCL_BIU001_V_0G_CWWE03_0001):
Plant: olap variable V_0PLANT_0008 (class ZCL_BIU001_V_0PLANT_0008):
Material type: V_MATL_TYPE_0002 (class ZCL_BIU001_V_MATL_TYPE_0001)
= Z714 / Z700 / ZMAT/ ZNLA / ZPIP / Z707.
BOM Number master data (C_BOMNUM) is loaded by the datasource DTS_ZBW_V_MAST_STKO.
The Datasource is based on SAP tables MAST (Material to BOM Link) and STKO (BOM Header) => View ZBW_V_MAST_STKO
In view ZBW_V_MAST_STKO, we keep only entries from STKO with BOM Status (STLST) is not equal to 2 (inactive BOM) and BOM usage (STLAN from MAST) is equal to '1' (Production).
There are 2 fields used to filter data during extraction and loading on BW :
For more explanations, see part Data Loading.
BOM Item master data (C_BOMITM) is loaded by the datasource DTS_ZBW_EXTRACT_BOM_ITEM.
The datasource is based on specific function module ZBW_EXTRACT_BOM_ITEM.
In this function module we call the standard function CSAP_MAT_BOM_ITEM_SELECT to extract each item for a given material/plant.
There are 2 fields used to filter data during extraction and loading on BW :
For more explanations, see part Data Loading.
The most important need of this dataflow is to extract (and explode) all BOM items and components for a given product.
A specific BW extractor has been developed to build the Bill of Material from SAP WP1 source system : DTS_ZBW_MAST_BOM_LEVEL.
There are 2 fields used to filter data during extraction and loading on BW :
For more explanations, see part Data Loading.
The extractor is based on view ZBW_V_MAST and in particular from MAST table to keep all Bill of material to explode and the class ZDTS_ZBW_MAST_BOM_LEVEL is used to extand the datasource adding new fields.
In view ZBW_V_MAST, we keep only entries from STKO with BOM Usage (STLTY) = M (Material) and BOM Status (STLST) is not equal to 2 (inactive BOM).
In the class, we use the standard function module 'CS_BOM_EXPL_MAT_V2' to build the Bill of material and BOM level. The function module is used as recursive function, as long as BOM exists and have to be explode.
Today we only explode BOM at level 1 (Master material and its components at first level).
We filter records from MAST to have only data with :
Additional filter is done during extraction to keep only one alternative BOM for the material exploded.
To get this alternative BOM, we select the first valid production version (excluding locked production version) from MKAL table.
The equivalent to explode BOM level by level on SAP side is T-CODE CS11.
See below, main fields determined or calculated in the class :
For each material / plant we read the MAKL table (production version) to get the active (valid from/to have to be valid) production
version (sort by alphanumeric) & the alternative BOM linked => Only one version per Material@Plant.
If no production version is found, the flag is equal to 'X' .
If the production version is found, the flag is equal to blank and only the alternative BOM linked to the production version is displayed in CSV file.
WP1 Rule :
We get from MKAL table (production version), for a material@plant only one production version.
This version is determined by :
There are 3 fields stored in BOM Propagation and Business ADSO with a system extension :
For more explanations see : BW OTC - Supply Chain- DPS (WBP) /!\ Obsolete /!\#SupplyChain-DPS(WBP)-FieldwithextensionC_DYN_***
No queries created in CPPPBO01
BOM data are used by Dynasys tool (consumed by generated flat file).
aDSO ABDPDY50 is loaded by aDSO ABPPBO01. with help of calculation view CV_DY_BOM.
Dynasys flat file is generated by reading ABDPDY50 data.
Detail of process chain, list + link between or special event done for the loading
| Main Process Chain | Final Provider Loading | Frequency | Time start | Duration |
|---|---|---|---|---|
| PC_PP_BOM_01 | ABPPBO01 Meta chain | Daily | 00 am | 1h30 mins |
Both master data and acquisition layer ADSO AAPPBO02 are loaded by 2 FULL DTPs.
The fisrt one is based on creation date and the second on modification date of BOM.
We load for each of them from current date to current date - 7.
Note that DTP are different for each objects.
BOM Master Data are loaded by process chain PC_PP_BOM_01

BOM Master Data are loaded by following process chain :
A Master process chain load both part : PC_PP_BOM_05
This master chain is part of a global chain with Recipe application : PC_RE_01
Today the process chain PC_RE_01 is scheduled at 00:30 (CET).
Data come from SAP system. To compare data between BW and sources systems, check propagation layers.
<Describe the recurring procedures needed to operate the application (eg. start/pause/terminate/restart the app processes, data preparation, data ingestion, ETL, data visualization, data export, other manual activities)>
<Describe the scheduling in place for the application (eg. existing jobs, trigger time/event based, dependencies)>
<Describe the monitoring checks to confirm the application is performing well (eg. check the overall status, check performance metrics like runtime/data volume/memory/disk/CPU, maintain and react to alerts/notifications)>
<Describe how to handle errors (eg. error codes, description and respective resolution, alert users)>
<List the existing bugs, its criticity, workarounds and resolution plan.>
<List past & future evolutions for the application (including links to MED/FSD/TSD)>