(warning)     (warning)     (warning)     (warning)

The new wiki link for this data flow is here:

Technical Documentation - Bill of Material

Please update the doc there and no longer here.

(warning)    (warning)     (warning)     (warning)


General presentation

Objective of the application

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

Usage information

Number of users: tbd

Critical period: none

Geographical perimeter: worldwide

InfoArea:




History

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.

Roles & Access

Roles and access

List of application role + menu role  and explanation if we have several applications role with specials rules.

Role CodeRole DescriptionExplanation









Authorization objects

List of autorisation objects mandatory for the application.

Authorization objectExplanation






Dataflow overview

Reporting documentation drive folder:

https://drive.google.com/drive/folders/18VbVRgRTsredyh89a_qSECY7E0yzSKJJ

Dataflow overview :

Functional and Technical rules on Workbench + Reporting

Rules & Explanations

Specification Document for Dynasys flat file (Sheet BOM)



BOM Master Data 

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 : 

  • AEDAT (STKO)
  • ANDAT (MAST)

For more explanations, see part Data Loading

BOM Item Master Data 

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 : 

  • AEDAT (STPO)
  • ANDAT (STPO)

For more explanations, see part Data Loading.

BOM Level determination

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 : 

  • AEDAT (STPO)
  • ANDAT (STPO)

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 :

  • BOM usage (STLAN) is equal to '1' (Production).
  • BOM deletion flag (LOEKZ) is not equal to 'X'.
  • BOM valid from date (DATUV) is greater than current date.

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 :

  • BMEIN - Base unit of Measure of BOM : It correponds to the Base unit of measure of the main product exploded (MATNR) linked to the main BOM (STLNR).
  • BMENG - BOM Quantity : BOM quantity is converted on Base Unit of Measure of product exploded. The quantity is duplicated of each component line linked to this product.
  • ZZMAT - BOM Head : If there is only 1 Product Level, Bom Head is equal to the main Product (MATNR). If there is several Product Level, BOM Head is equal to the component exploded (from previous level)
  • ZZSTLNR - Bill of Material :  is equal to the BOM linked to the BOM Head material.
  • ZZSTLAL - Alternative BOM : Alternative BOM linked to ZZSTLNR
  • ZZIDNRK - BOM Component : Component of the BOM Head Material
  • ZZPOSNR - BOM Item : BOM Item linked to BOM Component
  • ZZSTUFE - Product Level : is equal to 1 when we are at component level of the master product exploded, we increment this level when we are at component level and for each new product (BOM Head) exploded
  • ZZMENGE - Component Quantity : Component quantity is converted on Base Unit of Measure of the component
  • ZZMMEIN - Component Base Unit of Measure : Base Unit of measure of the component
  • ZZFMENG - Fixed Quantity : This field is equal to X when the component is flagged as "Fixed quantity"
  • ZZWOPRODVERS - Production Version Flag :
    1. PF1 Rule :

      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.



    2. WP1 Rule : 

      We get from MKAL table (production version), for a material@plant only one production version.
      This version is determined by :

      • Valid date from/to
      • Sort production version (VERID) by alphanumeric to keep the first one.

      Finally we have one production version with material@plant@alternativeBOM got from MKAL table.
      • Case 1 : A production version is existing for the record treated, Alternative BOM in the record is the same as the alternative BOM of production version => record is treated and displayed in the file.

      • Case 2 : If a production version is existing but the alternative BOM is not the same between the record treated and MKAL table or there is a prod version but it is not valid anymore we delete the record.
      • Case 3 : If no production version is existing in MKAL table, we flag the record with the field without prod version = 'X'.
        => Rule to determine co-packing product.
  • ZZALPGR : Alternative Item Group
  • ZZEWAHR : Usage Probability in %


Specific rule concerning Alternative Item Group and Usage Probability 

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 ) :

  • We multiply the component quantity (K_COMPQTY) by the Usage probability percentage (C_EWAHR)
  • We delete the record when the usage probability is null.

The rule is applied between propagation and business layer on the end routine of following transformation :

  • TRSF : APPPBO02 (RCS) -> ABPPBO01 (0E0KX8DHAKOIXBHTP59SMNKBORF14JOA)
  • TRSF : APPPBO01 (SLV) -> ABPPBO01 (09G34K05T7K26VVND2NH68K0H7J5SFS0)


Quantities conversion and recalculation

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.

Fields with system extension

There are 3 fields stored in BOM Propagation and Business ADSO with a system extension :

  • C_DYN_001 : Plant with System Extension
  • C_DYN_005 : Material with System Extension
  • C_DYN_052 : Component with System Extension


For more explanations see : BW OTC - Supply Chain- DPS (WBP) /!\ Obsolete /!\#SupplyChain-DPS(WBP)-FieldwithextensionC_DYN_***

Dependencies with other applications

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.

Data loadings

Info providers and objects loaded

Scope of data loaded

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.

Master Data process chain

BOM Master Data are loaded by process chain PC_PP_BOM_01


BOM Level data process chain

BOM Master Data are loaded by following process chain :

  • Acquisition layer : PC_PP_BOM_02
  • Propagation layer : PC_PP_BOM_03
  • Business layer : PC_PP_BOM_04


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).


Loading frequency

Daily loading.

Average performance


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


Record Keeping

Reporting

Queries End User Documentation


Main queries

There is actually no queries based on this BW dataflow.


Main functionalities

Broadcast

Maintenance

Known bugs

Recurring procedure

Planned Evolution

N/A.


  • No labels