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
Number of users: tbd
Critical period: none
Geographical perimeter: worldwide
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.
List of application role + menu role and explanation if we have several applications role with specials rules.
| Role Code | Role Description | Explanation |
|---|---|---|
List of autorisation objects mandatory for the application.
| Authorization object | Explanation |
|---|---|
https://drive.google.com/drive/folders/18VbVRgRTsredyh89a_qSECY7E0yzSKJJ
Dataflow overview :
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 :
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.
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)
BOM data are used by Dynasys tool (consumed by generated flat file).
ADSO ABDPDY50 is loaded by composite provider CPPPBO01.
Dynasys flat file is generated by reading ABDPDY50 data.
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 global Master process chain load both part : PC_PP_BOM_05
Today the process chain is scheduled at 00:30 (CET), but at last it will be added to PP Master chain PC-PP-03.
Daily loading.
if possible, give some information on average process chain duration, amount of data loaded and total data volume example: daily process chain loaded in 30 min, weekly chain loaded in 1h15, with around 2k to 10k lines in DELTA mode for a total of 10M lines in cube. The purpose is to give a general overview of the volume of data managed y the application
See below init data loading performed end of March 2020 :
BOM Level | ADSO AAPPBO02 |
|
|
Creation Date |
| Records | Time |
FROM | TO |
|
|
19000101 | 20021231 | 22 198 | 1m 46 s |
20030101 | 20031231 | 22 123 | 2m 30 s |
20040101 | 20041231 | 56 382 | 7 min |
20050101 | 20050630 | 57 635 | 6 min |
20050701 | 20051231 | 97 342 | 10 min |
20060101 | 20060630 | 55 422 | 5 min |
20060701 | 20061231 | 67 986 | 6 min |
20070101 | 20071231 | 55 522 | 5 min |
20080101 | 20081231 | 97 055 | 9 min |
20090101 | 20091231 | 38 092 | 4 min |
20100101 | 20101231 | 42 897 | 4min 30 |
20110101 | 20111231 | 35 829 | 4 min |
20120101 | 20121231 | 39 986 | 4min 30 |
20130101 | 20131231 | 38 968 | 4 min |
20140101 | 20141231 | 32 781 | 4min |
20150101 | 20151231 | 44 399 | 5min |
20160101 | 20161231 | 45 877 | 4min |
20170101 | 20171231 | 81 522 | 7min |
20180101 | 20181231 | 56 842 | 5min |
20190101 | 20191231 | 77 769 | 7min |
20200101 | 20201231 | 77 | 10s |
BOM Level | ADSO AAPPBO01 |
|
|
Creation date |
| Records | Time |
FROM | TO |
|
|
01.01.1900 | 31.12.2002 | 9.305 | 1m 11s |
01.01.2003 | 31.12.2003 | 8.400 | 4m 24s |
01.01.2004 | 31.12.2005 | 36.190 | 2m 29s |
01.01.2006 | 31.12.2007 | 24.327 | 1m 26s |
01.01.2008 | 31.12.2009 | 43.148 | 2m 8s |
01.01.2010 | 31.12.2011 | 49.418 | 2m 44s |
01.01.2012 | 31.12.2013 | 40.552 | 1m 52s |
01.01.2014 | 31.12.2015 | 30.683 | 1m 51s |
01.01.2016 | 31.12.2017 | 25.483 | 1m 23s |
01.01.2018 | 31.12.2019 | 19.326 | 1m 12s |
01.01.2020 | 31.12.2020 | 913 | 32s |
Give details if any historisation is done, example: keep only data greater than beginning of Y-3
Query end user documentation should be created in the public "Customer Support Wiki" space under the corresponding BW application page : BW - Application. Technical query query documentation, if necessary should be added as a sub-page of this documentation using the BW Technical Query Documentation template.
There is actually no queries based on this BW dataflow.
List the most important and complex queries only with a link to the documentation
Give detail on all complex functionalities: list most important and/or complex KPI, query jump, alerts
Indicate if there are broadcasts and give some details on the broadcast settings.
Give the list and explanation on the known, not-solved, bugs.
List recurring procedures
N/A.