1.0 Overview



What is Inventory management?

Inventory management is a critical component of supply chain management that involves overseeing and controlling the flow of goods from manufacturers to warehouses and, ultimately, to retailers or end consumers. The primary goal of inventory management is to ensure that Solvay maintains optimal inventory levels to meet customer demand while minimizing holding costs and the risk of stockouts or overstock situations.

Overview of Inventory Management Application

This application is a new inventory model responsible for providing data from both source system, PF1 and WP1, in a single model. It works at operational detailed level (material document) and also non cumulative evolution data (at batch level).

This model gives the stock according to the type of movement/processing like mentioned by SAP papers regarding the new inventory, coming from 2LIS_03_BX / 2LIS_03_BF, such as to perform the valuations and revaluations according to the changes in price definition in the material x plant x valuation type and reference dates from MBEW / MBEWH.

Key Processes

  • BW OTC - In transit
  • BW OTC - Scrapping & Reworking
  • BW OTC - SMOG
  • Inventory Check : Comparing MSEG vs BW

Describe the key User profiles that exist for the application. 

General role/Viewer role:

Approver role:

Target Users:

Around 200 worldwide users and running the reports ~400 times per month.

VERSION

DATE

MODIFIED BY 

DESCRIPTION

0.01

dd.mm.yyyy

<Insert name>

Initial draft










Data Product Type 
  • Dashboard
  • Report
  • Advanced analytics
  • AI 
  • Others <specify which one>
Technologies
  • BW
  • Tableau
  • Qliksense
  • Talend
  • Dataiku
  • Others <specify which one>

Data Sources 

Note: list of all applications and various environment

  • SAP PF1 (Production environment)
  • SAP WP1
  • SAP PI1
  • BW (versions)
  • iCare CRM 
  • CORE CRM
  • Others <specify the name of the source> 

2.0 Business Process


BW OTC - Scrapping & Reworking


BW OTC - Delta/Production reports

The two reports are built over the Stocks data adding other information (Dynasys, OTIF, Open Order and SMOG) in order to provide some Production analysis.

Tool Leader + IT leader of the application: Carolina Camacho + Diogo Paiva

BW OTC - In transit

Process responsible for providing the inbound and outbound for in transit process following the finance information from tables ZFI_GIT_OUTBOUND and ZFI_GIT_INBOUND. In case of issues with this table, the SAP Finance team should be contacted.  


BW OTC - SMOG

Process responsible for providing the slow movement, obsolete and blocked batches.


Material in transit (Inbound) (ABMMIM07*)

The provider creates a key like the inventory model using plant, material, batch and date reference for summing all inbound and outbound quantity/ values linked with the in transit financial process.


3.0 Application Feature Overview



Main key figures

Restrict Key FigureDescriptionObjectSIGNOPTValue
BW_RKF_CPIMMM01_0003Issued Quantity: Blocked Stock0STOCKCATIEQU
0STOCKCATIEQQ
0STOCKCATIEQM
0STOCKCATIEQE
0STOCKCATIEQ#
0STOCKTYPEIEQD
1KYFNMIEQ0ISSTOTSTCK
BW_RKF_CPIMMM01_0004Stock in Quality Inspection0STOCKCATIEQ#
0STOCKCATIEQE
0STOCKCATIEQM
0STOCKCATIEQQ
0STOCKCATIEQU
0STOCKTYPEIEQB
0STOCKTYPEIEQL
0STOCKTYPEIEQO
0STOCKTYPEIEQR
1KYFNMIEQ0TOTALSTCK
BW_RKF_CPIMMM01_0005Received Quantity: Stock in Quality Inspection0STOCKCATIEQU
0STOCKCATIEQQ
0STOCKCATIEQM
0STOCKCATIEQE
0STOCKCATIEQ#
0STOCKTYPEIEQR
0STOCKTYPEIEQO
0STOCKTYPEIEQL
0STOCKTYPEIEQB
1KYFNMIEQ0RECTOTSTCK
BW_RKF_CPIMMM01_0006Issued Quantity: Stock in Quality Inspection0STOCKCATIEQU
0STOCKCATIEQQ
0STOCKCATIEQM
0STOCKCATIEQE
0STOCKCATIEQ#
0STOCKTYPEIEQR
0STOCKTYPEIEQO
0STOCKTYPEIEQL
0STOCKTYPEIEQB
1KYFNMIEQ0ISSTOTSTCK
BW_RKF_CPIMMM01_0007Stock in Transit0STOCKTYPEIEQF
0STOCKTYPEIEQH
1KYFNMIEQ0TOTALSTCK
BW_RKF_CPIMMM01_0008Received Quantity: Stock in Transit0STOCKTYPEIEQH
0STOCKTYPEIEQF
1KYFNMIEQ0RECTOTSTCK
BW_RKF_CPIMMM01_0009Issued Quantity: Stock in Transit0STOCKTYPEIEQH
0STOCKTYPEIEQF
1KYFNMIEQ0ISSTOTSTCK
BW_RKF_CPIMMM01_0010Unrestricted Stock0STOCKCATIEQU
0STOCKCATIEQQ
0STOCKCATIEQM
0STOCKCATIEQE
0STOCKCATIEQ#
0STOCKTYPEIEQA
1KYFNMIEQ0TOTALSTCK
BW_RKF_CPIMMM01_0011Vendor Consi Consumption0BWAPPLNMIEQMM
0INFOPROVIEQABIMMM03S
0INFOPROVIEQABIMMM03R
0PROCESSKEYIEQ100
0PROCESSKEYIEQ101
0PROCESSKEYIEQ104
0PROCESSKEYIEQ105
0PROCESSKEYIEQ106
0PROCESSKEYIEQ110
0STOCKCATIEQK
0STOCKRELEVIEQ1
1KYFNMIEQ0CPSVLC
BW_RKF_CPIMMM01_0012Scrap Quantity0BWAPPLNMIEQMM
0INFOPROVIEQABIMMM03S
0INFOPROVIEQABIMMM03R
1KYFNMIEQ0CPQUABU
C_MOVETYPIEQ551
C_MOVETYPIEQ552
C_MOVETYPIEQ553
C_MOVETYPIEQ554
C_MOVETYPIEQ555
C_MOVETYPIEQ556
BW_RKF_CPIMMM01_0013Scrap Value0BWAPPLNMIEQMM
0INFOPROVIEQABIMMM03S
0INFOPROVIEQABIMMM03R
1KYFNMIEQ0CPSVLC
C_MOVETYPIEQ556
C_MOVETYPIEQ555
C_MOVETYPIEQ554
C_MOVETYPIEQ553
C_MOVETYPIEQ552
C_MOVETYPIEQ551
BW_RKF_CPIMMM01_0014Project Stock in Q0STOCKCATIEQQ
0STOCKTYPEIEQR
0STOCKTYPEIEQO
0STOCKTYPEIEQL
0STOCKTYPEIEQB
1KYFNMIEQ0TOTALSTCK
BW_RKF_CPIMMM01_0015Sales Order Stock in Q0STOCKCATIEQE
0STOCKTYPEIEQR
0STOCKTYPEIEQO
0STOCKTYPEIEQL
0STOCKTYPEIEQB
1KYFNMIEQ0TOTALSTCK
BW_RKF_CPIMMM01_0016Returnable Transport Packaging in Q0STOCKCATIEQM
0STOCKTYPEIEQR
0STOCKTYPEIEQO
0STOCKTYPEIEQL
0STOCKTYPEIEQB
1KYFNMIEQ0TOTALSTCK
BW_RKF_CPIMMM01_0017Returnable Packaging Stock at Customer in Q0STOCKCATIEQQ
0STOCKCATIEQM
0STOCKCATIEQE
0STOCKCATIEQ#
0STOCKCATIEQU
0STOCKTYPEIEQO
1KYFNMIEQ0TOTALSTCK
BW_RKF_CPIMMM01_0018Stock of Material provided to Vendor in Q0STOCKCATIEQU
0STOCKCATIEQQ
0STOCKCATIEQM
0STOCKCATIEQE
0STOCKCATIEQ#
0STOCKTYPEIEQR
1KYFNMIEQ0TOTALSTCK
BW_RKF_CPIMMM01_0019Stock in Quality Inspection (own Storage)0STOCKCATIEQU
0STOCKCATIEQQ
0STOCKCATIEQM
0STOCKCATIEQE
0STOCKCATIEQ#
0STOCKTYPEIEQB
1KYFNMIEQ0TOTALSTCK
BW_RKF_CPIMMM01_0020Project Stock Blocked0STOCKCATIEQQ
0STOCKTYPEIEQD
1KYFNMIEQ0TOTALSTCK
BW_RKF_CPIMMM01_0021Sales Order Stock Blocked0STOCKCATIEQE
0STOCKTYPEIEQD
1KYFNMIEQ0TOTALSTCK
BW_RKF_CPIMMM01_0022Returnable Transport Packaging Blocked0STOCKCATIEQM
0STOCKTYPEIEQD
1KYFNMIEQ0TOTALSTCK
BW_RKF_CPIMMM01_0023Project Stock in Transit0STOCKCATIEQQ
0STOCKTYPEIEQH
0STOCKTYPEIEQF
1KYFNMIEQ0TOTALSTCK
BW_RKF_CPIMMM01_0024Sales Order Stock in Transit0STOCKCATIEQE
0STOCKTYPEIEQH
0STOCKTYPEIEQF
1KYFNMIEQ0TOTALSTCK
BW_RKF_CPIMMM01_0025Vendor Consignment Stock Quantity Receipt0STOCKCATIEQK
1KYFNMIEQBW_CKF_CPIMMM01_0030
BW_RKF_CPIMMM01_0026Vendor Consignment Stock Quantity Issued0STOCKCATIEQK
1KYFNMIEQBW_CKF_CPIMMM01_0031
BW_RKF_CPIMMM01_0027Vendor Consignment Stock0STOCKCATIEQK
1KYFNMIEQBW_CKF_CPIMMM01_0032
BW_RKF_CPIMMM01_0028Vendor Consignment Stock in Q0STOCKCATIEQK
0STOCKTYPEIEQB
1KYFNMIEQBW_CKF_CPIMMM01_0032
BW_RKF_CPIMMM01_0029Vendor Consignment Stock Unrestricted0STOCKCATIEQK
0STOCKTYPEIEQA
1KYFNMIEQBW_CKF_CPIMMM01_0032
BW_RKF_CPIMMM01_0030Vendor Consignment Stock Restricted0STOCKCATIEQK
0STOCKTYPEIEQE
1KYFNMIEQBW_CKF_CPIMMM01_0032
BW_RKF_CPIMMM01_0031Vendor Consignment Stock Blocked0STOCKCATIEQK
0STOCKTYPEIEQD
1KYFNMIEQBW_CKF_CPIMMM01_0032
BW_RKF_CPIMMM01_0032Consignment Stock at Customer Quantity Receipt0STOCKTYPEIEQL
0STOCKTYPEIEQK
0STOCKTYPEIEQM
1KYFNMIEQBW_CKF_CPIMMM01_0030
BW_RKF_CPIMMM01_0033Consignment Stock at Customer Quantity Issued0STOCKTYPEIEQM
0STOCKTYPEIEQK
0STOCKTYPEIEQL
1KYFNMIEQBW_CKF_CPIMMM01_0031
BW_RKF_CPIMMM01_0034Consignment Stock at Customer0STOCKTYPEIEQM
0STOCKTYPEIEQK
0STOCKTYPEIEQL
1KYFNMIEQBW_CKF_CPIMMM01_0032
BW_RKF_CPIMMM01_0035Consignment Stock at Customer in Q0STOCKTYPEIEQL
1KYFNMIEQBW_CKF_CPIMMM01_0032
BW_RKF_CPIMMM01_0036Consignment Stock at Customer Unrestricted0STOCKTYPEIEQK
1KYFNMIEQBW_CKF_CPIMMM01_0032
BW_RKF_CPIMMM01_0037Consignment Stock at Customer Restricted0STOCKTYPEIEQM
1KYFNMIEQBW_CKF_CPIMMM01_0032
BW_RKF_CPIMMM01_0038Quantity of Valuated Project Stock (Total)0STOCKCATIEQQ
1KYFNMIEQ0TOTALSTCK
BW_RKF_CPIMMM01_0039Quantity of Valuated Project Stock in Q0STOCKCATIEQQ
0STOCKTYPEIEQB
1KYFNMIEQ0TOTALSTCK
BW_RKF_CPIMMM01_0040Quantity of Valuated Project Stock, Unrestricted0STOCKCATIEQQ
0STOCKTYPEIEQA
1KYFNMIEQ0TOTALSTCK
BW_RKF_CPIMMM01_0041Quantity of Valuated Project Stock Blocked0STOCKCATIEQQ
0STOCKTYPEIEQD
1KYFNMIEQ0TOTALSTCK
BW_RKF_CPIMMM01_0043Quantity of Valuated Sales Order Stock (Total)0STOCKCATIEQE
1KYFNMIEQ0TOTALSTCK
BW_RKF_CPIMMM01_0042Quantity of Valuated Project Stock in Transit0STOCKCATIEQQ
0STOCKTYPEIEQH
0STOCKTYPEIEQF
1KYFNMIEQ0TOTALSTCK
BW_RKF_CPIMMM01_0044Quantity of Valuated Sales Order Stock in Q0STOCKCATIEQE
0STOCKTYPEIEQB
1KYFNMIEQ0TOTALSTCK
BW_RKF_CPIMMM01_0045Quantity of Valuated Sales Order Stock, Unrestricted0STOCKCATIEQE
0STOCKTYPEIEQA
1KYFNMIEQ0TOTALSTCK
BW_RKF_CPIMMM01_0046Quantity of Valuated Sales Order Stock Blocked0STOCKCATIEQE
0STOCKTYPEIEQD
1KYFNMIEQ0TOTALSTCK
BW_RKF_CPIMMM01_0047Quantity of Valuated Sales Order Stock in Transit0STOCKCATIEQE
0STOCKTYPEIEQH
0STOCKTYPEIEQF
1KYFNMIEQ0TOTALSTCK
BW_RKF_CPIMMM01_0068Stock by type (SMOG)0STOCKTYPEIEQC
0STOCKTYPEIEQD
0STOCKTYPEIEQE
1KYFNMIEQ0TOTALSTCK
BW_RKF_CPIMMM01_0069Receipt Cons Stock (Cat)0STOCKCATIEQK
1KYFNMIEQ0RECTOTSTCK
BW_RKF_CPIMMM01_0070Receipt Cons Stock (Type)0STOCKCATIEQ#
0STOCKTYPEIEQE
0STOCKTYPEIEQK
0STOCKTYPEIEQL
1KYFNMIEQ0RECTOTSTCK
BW_RKF_CPIMMM01_0071Issued Cons Stock (Cat)0STOCKCATIEQK
1KYFNMIEQ0ISSTOTSTCK
BW_RKF_CPIMMM01_0072Issued Cons Stock (type)0STOCKCATIEQ#
0STOCKTYPEIEQL
0STOCKTYPEIEQK
0STOCKTYPEIEQE
1KYFNMIEQ0ISSTOTSTCK
BW_RKF_CPIMMM01_0073Consgt Tot Stock (Cat)0STOCKCATIEQK
1KYFNMIEQ0TOTALSTCK
BW_RKF_CPIMMM01_0074Consgt Tot Stock (Type)0STOCKCATIEQ#
0STOCKTYPEIEQL
0STOCKTYPEIEQK
0STOCKTYPEIEQE
1KYFNMIEQ0TOTALSTCK
BW_RKF_CPIMMM01_0075Total Stock (Convertible)1KYFNMIEQ0TOTALSTCK
C_FLAGIEQ#
BW_RKF_CPIMMM01_0077Quantity Total Stock (in transit conv. PE)1KYFNMIEQBW_CKF_CPIMMM01_0019
CPFCTR1_2IEQPE
BW_RKF_CPIMMM01_0076Quantity Valuated Stock0STOCKRELEVIEQ1
1KYFNMIEQ0TOTALSTCK
BW_RKF_CPIMMM01_0078Quantity Total Stock (in transit other)1KYFNMIEQBW_CKF_CPIMMM01_0019
CPFCTR1_2EEQPE

Calculated Key Figure

Description

Formula

Aggregation

Conversion

Calculated Key Figure

Description

Formula

Aggregation

Conversion

BW_CKF_CPIMMM01_0001Scrap Proportion of Total Stock Value"[BW_RKF_CPIMMM01_0013] Scrap Value" %A
("[BW_CKF_CPIMMM01_0017] Value Tot Stock" +
"[BW_RKF_CPIMMM01_0013] Scrap Value")
N/AN/A
BW_CKF_CPIMMM01_0002Scrap Proportion of Total Stock Quantity"[BW_RKF_CPIMMM01_0012] Scrap Quantity" %A ('0TOTALSTCK' +
"[BW_RKF_CPIMMM01_0012] Scrap Quantity")
N/AN/A
BW_CKF_CPIMMM01_0003Material Range of Coverage in Days'0TOTALSTCK' / '0ISSTOTSTCK' * 365N/AN/A
BW_CKF_CPIMMM01_0004Average Stock Quantity'0ISSTOTSTCK'Average: 0CALDAYN/A
BW_CKF_CPIMMM01_0005Inventory Aging"[BW_CKF_CPIMMM01_0004] Average Stock Quantity" %A '0ISSTOTSTCK'N/AN/A
BW_CKF_CPIMMM01_0006Blocked Stock (PUQ)[BW_RFK_CPIMMM01_0001] Blocked StockN/AUnit: QCT_MATNR4
BW_CKF_CPIMMM01_0007Stock in Quality Inspection (PUQ)[BW_RKF_CPIMMM01_0004] Stock in Quality InspectionN/AUnit: QCT_MATNR4
BW_CKF_CPIMMM01_0008Stock In Transit (PUQ)[BW_RKF_CPIMMM01_0007] Stock in TransitN/AUnit: QCT_MATNR4
BW_CKF_CPIMMM01_0009Unrestricted Stock (PUQ)[BW_RKF_CPIMMM01_0010] Unrestricted StockN/AUnit: QCT_MATNR4
BW_CKF_CPIMMM01_0010Vendor Consi Consumption (PUQ)[BW_RKF_CPIMMM01_0011] Vendor Consi ConsumptionN/AUnit: QCT_MATNR4
BW_CKF_CPIMMM01_0011Scrap Quantity (PUQ)[BW_RKF_CPIMMM01_0012] Scrap QuantityN/AUnit: QCT_MATNR4
BW_CKF_CPIMMM01_0012Val Stock Issue (CP)'K_VALISS'N/ACurrency: CTK_GS04
BW_CKF_CPIMMM01_0013Val Stock Receipt (CP)'K_VALREC'N/ACurrency: CTK_GS04
BW_CKF_CPIMMM01_0014Scrap Value (CP)[BW_RKF_CPIMMM01_0013] Scrap ValueN/ACurrency: CTK_GS04
BW_CKF_CPIMMM01_0015Val Tot Stock (CP)IF("[BW_CKF_CPIMMM01_0017] Value Tot Stock" <>
0; "[BW_CKF_CPIMMM01_0017] Value Tot Stock"; 0)
N/ACurrency: CTK_GS04
BW_CKF_CPIMMM01_0016Qty Tot Stock (PUQ)IF('0TOTALSTCK' <> 0; '0TOTALSTCK'; 0)N/AUnit: QCT_MATNR4
BW_CKF_CPIMMM01_0017Value Tot Stock'K_VALTOT'N/AN/A
BW_CKF_CPIMMM01_0018Receipt Total Stock (PUQ)'0RECTOTSTCK'N/AUnit: QCT_MATNR4
BW_CKF_CPIMMM01_0019Quantity Total Stock (+ in transit)0TOTALSTCK' + "[BW_CKF_CPIMMM01_0020] Quantity Stock (in transit)"N/AN/A
BW_CKF_CPIMMM01_0020Quantity Stock (in transit)'K_QIBTRAN' + 'K_QOBTRAN'Summation: C_PLANT
C_MATNR2
0LOGSYS
C_BATCH2
N/A
BW_CKF_CPIMMM01_0021Issue Total Stock (PUQ)'0ISSTOTSTCK'N/AUnit: QCT_MATNR4
BW_CKF_CPIMMM01_0022Cnsgt stock qty (PUQ)[BW_CKF_CPIMMM01_0032] Consignt Stock QtyN/AUnit: QCT_MATNR4
BW_CKF_CPIMMM01_0023SMOG  (Slow moving)IF(("[VF_0DATE_0001] End of month (V_0CALMONTH_0008)" -
"[ZSVR_IA_BATCH2MFDT] Batch2 Manufacture Date (Replacement)") > 365 AND
"[ZSVR_IA_BATCH2MFDT] Batch2 Manufacture Date (Replacement)" > DATE(730237)
AND '0TOTALSTCK' <> 0; ("[VF_0DATE_0001] End of month (V_0CALMONTH_0008)" -
"[ZSVR_IA_BATCH2MFDT] Batch2 Manufacture Date (Replacement)") *
'0TOTALSTCK'; 0)
Counter: C_PLANT
C_MATNR2
0LOGSYS
C_BATCH2
N/A
BW_CKF_CPIMMM01_0024SMOG (Obsolete)IF("[VF_0DATE_0001] End of month (V_0CALMONTH_0008)" >
"[VF_C_BATCH_2_001] Date of expiration" AND
"[VF_C_BATCH_2_001] Date of expiration" > DATE(730237) AND '0TOTALSTCK' <>
0; ("[VF_0DATE_0001] End of month (V_0CALMONTH_0008)" -
"[VF_C_BATCH_2_001] Date of expiration") * '0TOTALSTCK'; 0)
Counter: C_PLANT
C_MATNR2
0LOGSYS
C_BATCH2
N/A
BW_CKF_CPIMMM01_0025SMOG  (Type)NODIM("[BW_RKF_CPIMMM01_0068] Stock by type (SMOG)") <> 0Counter: C_PLANT
C_MATNR2
0LOGSYS
C_BATCH2
N/A
BW_CKF_CPIMMM01_0026SMOGIF(("[BW_CKF_CPIMMM01_0023] SMOG  (Slow moving)" +
"[BW_CKF_CPIMMM01_0024] SMOG (Obsolete)" +
"[BW_CKF_CPIMMM01_0025] SMOG  (Type)") > 0; 1; 0)
Counter: C_PLANT
C_MATNR2
0LOGSYS
C_BATCH2
N/A
BW_CKF_CPIMMM01_0027Count batch (with stock)'0TOTALSTCK'Counter: C_PLANT
C_MATNR2
0LOGSYS
C_BATCH2
N/A
BW_CKF_CPIMMM01_0028Amount SMOG[BW_CKF_CPIMMM01_0017] Value Tot Stock * NODIM("[BW_CKF_CPIMMM01_0026] SMOG")Summation: C_PLANT C_MATNR2
0LOGSYS
C_BATCH2
N/A
BW_CKF_CPIMMM01_0029Quantity SMOG'0TOTALSTCK' * NODIM("[BW_CKF_CPIMMM01_0026] SMOG")Summation: C_PLANT
C_MATNR2
0LOGSYS
C_BATCH2
N/A
BW_CKF_CPIMMM01_0030Receipt Cons Stock"[BW_RKF_CPIMMM01_0069] Receipt Cons Stock (Cat)" +
"[BW_RKF_CPIMMM01_0070] Receipt Cons Stock (Type)"
N/AN/A
BW_CKF_CPIMMM01_0031Issued Cons Stock"[BW_RKF_CPIMMM01_0071] Issued Cons Stock (Cat)" +
"[BW_RKF_CPIMMM01_0072] Issued Cons Stock (type)"
N/AN/A
BW_CKF_CPIMMM01_0032Consignt Stock Qty"[BW_RKF_CPIMMM01_0073] Consgt Tot Stock (Cat)" +
"[BW_RKF_CPIMMM01_0074] Consgt Tot Stock (Type)"
N/AN/A
BW_CKF_CPIMMM01_0033SMOG (Slow moving) M-1IF(("[VF_0DATE_0002] End of month - 1 (V_CALMONTH_0008)" -
"[ZSVR_IA_BATCH2MFDT] Batch2 Manufacture Date (Replacement)") > 365 AND
"[ZSVR_IA_BATCH2MFDT] Batch2 Manufacture Date (Replacement)" >
DATE(730237); ("[VF_0DATE_0002] End of month - 1 (V_CALMONTH_0008)" -
"[ZSVR_IA_BATCH2MFDT] Batch2 Manufacture Date (Replacement)") *
'0TOTALSTCK'; 0)
Counter: C_PLANT
C_MATNR2
0LOGSYS
C_BATCH2
N/A
BW_CKF_CPIMMM01_0034SMOG (Obsolete) M-1IF("[VF_0DATE_0002] End of month - 1 (V_CALMONTH_0008)" >
"[VF_C_BATCH_2_001] Date of expiration" AND
"[VF_C_BATCH_2_001] Date of expiration" >
DATE(730237); ("[VF_0DATE_0002] End of month - 1 (V_CALMONTH_0008)" -
"[VF_C_BATCH_2_001] Date of expiration") * '0TOTALSTCK'; 0)
Counter: C_PLANT
C_MATNR2
0LOGSYS
C_BATCH2
N/A
BW_CKF_CPIMMM01_0035SMOG (Slow moving) M-2IF(("[VF_0DATE_0003] End of month - 2 (V_CALMONTH_0008)" -
"[ZSVR_IA_BATCH2MFDT] Batch2 Manufacture Date (Replacement)") > 365 AND
"[ZSVR_IA_BATCH2MFDT] Batch2 Manufacture Date (Replacement)" >
DATE(730237); ("[VF_0DATE_0003] End of month - 2 (V_CALMONTH_0008)" -
"[ZSVR_IA_BATCH2MFDT] Batch2 Manufacture Date (Replacement)") *
'0TOTALSTCK'; 0)
Counter: C_PLANT
C_MATNR2
0LOGSYS
C_BATCH2
N/A
BW_CKF_CPIMMM01_0036SMOG (Obsolete) M-2IF("[VF_0DATE_0003] End of month - 2 (V_CALMONTH_0008)" >
"[VF_C_BATCH_2_001] Date of expiration" AND
"[VF_C_BATCH_2_001] Date of expiration" >
DATE(730237); ("[VF_0DATE_0003] End of month - 2 (V_CALMONTH_0008)" -
"[VF_C_BATCH_2_001] Date of expiration") * '0TOTALSTCK'; 0)
Counter: C_PLANT
C_MATNR2
0LOGSYS
C_BATCH2
N/A
BW_CKF_CPIMMM01_0037SMOG (M-1)IF(("[BW_CKF_CPIMMM01_0033] SMOG (Slow moving) M-1" +
"[BW_CKF_CPIMMM01_0034] SMOG (Obsolete) M-1" +
"[BW_CKF_CPIMMM01_0025] SMOG  (Type)") > 0; 1; 0)
Counter: C_PLANT
C_MATNR2
0LOGSYS
C_BATCH2
N/A
BW_CKF_CPIMMM01_0038SMOG (M-2)IF(("[BW_CKF_CPIMMM01_0035] SMOG (Slow moving) M-2" +
"[BW_CKF_CPIMMM01_0036] SMOG (Obsolete) M-2" +
"[BW_CKF_CPIMMM01_0025] SMOG  (Type)") > 0; 1; 0)
Counter: C_PLANT
C_MATNR2
0LOGSYS
C_BATCH2
N/A
BW_CKF_CPIMMM01_0039Amount SMOG (M-1)"[BW_CKF_CPIMMM01_0017] Value Tot Stock" *
NODIM("[BW_CKF_CPIMMM01_0037] SMOG (M-1)")
Summation: C_PLANT
C_MATNR2
0LOGSYS
C_BATCH2
N/A
BW_CKF_CPIMMM01_0040Amount SMOG (M-2)"[BW_CKF_CPIMMM01_0017] Value Tot Stock" *
NODIM("[BW_CKF_CPIMMM01_0038] SMOG (M-2)")
Summation: C_PLANT
C_MATNR2
0LOGSYS
C_BATCH2
N/A
BW_CKF_CPIMMM01_0041Quantity SMOG (M-1)'0TOTALSTCK' * NODIM("[BW_CKF_CPIMMM01_0037] SMOG (M-1)")N/AN/A
BW_CKF_CPIMMM01_0042Quantity SMOG (M-2)0TOTALSTCK' * NODIM("[BW_CKF_CPIMMM01_0037] SMOG (M-2)")N/AN/A
BW_CKF_CPIMMM01_00430 - 4 months (SMOG Aging)IF(("[VF_0DATE_0001] End of month (V_0CALMONTH_0008)" -
"[ZSVR_IA_BATCH2MFDT] Batch2 Manufacture Date (Replacement)") < 120; 1; 0)
Counter: C_PLANT
C_MATNR2
0LOGSYS
C_BATCH2
N/A
BW_CKF_CPIMMM01_00444 - 12 months (SMOG Aging)IF(("[VF_0DATE_0001] End of month (V_0CALMONTH_0008)" -
"[ZSVR_IA_BATCH2MFDT] Batch2 Manufacture Date (Replacement)") > 120 AND
("[VF_0DATE_0001] End of month (V_0CALMONTH_0008)" -
"[ZSVR_IA_BATCH2MFDT] Batch2 Manufacture Date (Replacement)") < 365; 1; 0)
Counter: C_PLANT
C_MATNR2
0LOGSYS
C_BATCH2
N/A
BW_CKF_CPIMMM01_004512 - 24 months (SMOG Aging)IF(("[VF_0DATE_0001] End of month (V_0CALMONTH_0008)" -
"[ZSVR_IA_BATCH2MFDT] Batch2 Manufacture Date (Replacement)") > 365 AND
("[VF_0DATE_0001] End of month (V_0CALMONTH_0008)" -
"[ZSVR_IA_BATCH2MFDT] Batch2 Manufacture Date (Replacement)") < 731; 1; 0)
Counter: C_PLANT
C_MATNR2
0LOGSYS
C_BATCH2
N/A
BW_CKF_CPIMMM01_0046> 24 months (SMOG Aging)IF(("[VF_0DATE_0001] End of month (V_0CALMONTH_0008)" -
"[ZSVR_IA_BATCH2MFDT] Batch2 Manufacture Date (Replacement)") > 730; 1; 0)
Counter: C_PLANT
C_MATNR2
0LOGSYS
C_BATCH2
N/A
BW_CKF_CPIMMM01_0047Qty Tot Stock - Only Convertible (PUQ)IF("[BW_RKF_CPIMMM01_0075] Total Stock (Convertible)" <>
0; "[BW_RKF_CPIMMM01_0075] Total Stock (Convertible)"; 0)
N/AUnit: QCT_MATNR4
BW_CKF_CPIMMM01_0048Quantity SMOG - Only Convertible"[BW_RKF_CPIMMM01_0075] Total Stock (Convertible)" *
NODIM("[BW_CKF_CPIMMM01_0026] SMOG")
Summation: C_PLANT
C_MATNR2
0LOGSYS
C_BATCH2
0STOCKTYPE
N/A
BW_CKF_CPIMMM01_0049Qty. Valuated Stock (PUQ)[BW_RKF_CPIMMM01_0076] Quantity Valuated StockN/AUnit: QCT_MATNR4
BW_CKF_CPIMMM01_0050Qty. Total Stock (+ in transit) SAC"[BW_RKF_CPIMMM01_0077] Quantity Total Stock (in transit conv. PE)" +
"[BW_RKF_CPIMMM01_0078] Quantity Total Stock (in transit other)"
N/AN/A
BW_CKF_CPIMMM01_0051Value Total Stock (+ in transit) SAC'K_VALTOT' + "[BW_CKF_CPIMMM01_0052] Valuated Stock (in transit)"N/AN/A
BW_CKF_CPIMMM01_0052Valuated Stock (in transit)'K_VIBTRAN' + 'K_VOBTRAN'Summation: C_PLANT
C_MATNR2
0LOGSYS
C_BATCH2
N/A







ReportsDefinitionPromptsBW Workbook QueryQuery Technical Name
MM-IM: SMOG (Core)

Master query with all the main objects available in the composite



BW_QRY_CPMMIM02_0001
MM-IM: SMOG Detailed (SAC)Query used in the SAC model to detailed information from SMOG

SAC_BW_QRY_CPMMIM02_0003
MM-IM: SMOG x Stock (SAC)Query used in the SAC model to compare information from stock and SMOG aggregated at plant level.

SAC_BW_QRY_CPMMIM02_0004
MM-IM: Under Observation (SAC)Query used in the SAC model to control anticipation cases mixed with SMOG.

SAC_BW_QRY_CPMMIM02_0005
Number of movements evolution (Core Query)Number of movements evolution (Core Query)


Critical material Movements (Core Query)Critical material Movements (Core Query)


Consignment Stock Analysis (Core Query)Consignment Stock Analysis (Core Query)


Material Prices (Core Query)Material Prices 


Scheduling Adherence Monthly (Core Query)



MM: IM - COPQ Scrapping costs (QV Query)Calculates Scrapping Cost for Qlik application

QV_BW_QRY_CPMMIM07_0001
MM: IM - COPQ Reworking costs (QV Query)Calculates Reworking Cost for Qlik application

QV_BW_QRY_CPMMIM07_0002
MM: IM - Scrapping & Reworking filters (Control Query)Control query, displays values in APMMIM05

BW_QRY_CPMMIM07_0001


4.0 Business Objects


This section should contain a table with the business objects used in the reports and the link for the Data Catalog.

Data Catalog Link: XXXXXX

Data DomainBusiness Object (Leanix)Business Object Description (used whenever we don't have this in Leanix)
Supply Chainex: Customer 







5.0 Functional Specification


5.1 General Data/Calculations 

BW OTC - In transit

Material in transit (Inbound) (ABMMIM07*)

The provider creates a key like the inventory model using plant, material, batch and date reference for summing all inbound and outbound quantity/ values linked with the in transit financial process.

AMDP

  • Calendar date - The date used in GIT table is the sy-datum from snapshot, in the business layer we changed it because this snapshot corresponds the previous working day.
  • Plant - For inbound process, if the plant is not filled, the process get data from shipping plant.
  • Controlling Area - If the controlling area is null, get the data from the corresponding attribute of "company code" (c_compcde);
  • GBU - Get the data from the attribute of "Sub-activity 2" (c_subact2);
  • Material conversion - If the corresponding material and unit of measure is not convertible into 'KG' according to the DSO UOMCMAT2, the object is flagged.
  • Once the GIT table is daily snapshot, the key figure uses aggregation last position based on calday and the recursive is used to identify if some material x plant x batch are not available anymore in the current date or end of month. 




BW OTC - Scrapping & Reworking

Info providers and objects loaded

Technical name

Description

Loading frequency

Explanations

PC_MMIM_42MM: IM - T - Filters for Scrapping & ReworkingTrigger, ~Monthly

Load Flat File data imported through Program ZBW_COPQ_FILE to APMMIM05.

Triggered by event PC_MMIM_42.

PC_MMIM_43MM: IM - D - Scrapping and ReworkingDaily at 09:00Clear ABMMIM04, then load Current and Previous Month into ABMMIM04 from CPIMMM01, applying relevant filters from APMMIM05. 
PC_MMIM_44MM: IM - M - Scrapping and Reworking M-2Monthly, 1st at 09:00Load Month M-2 into ABMMIM04B from CPIMMM01, applying relevant filters from APMMIM05. Contains all historical data.

Average performance

To be completed once WBP is available again.

Key Figure

Estimation

~ Average Process Chain Runtime A few minutes
~ Average nb of rows loaded per load Less than a thousand per load
~ Total nb of rows loaded (if full) N/A
~ Average Runtime for 10k lines N/A

Record Keeping

ABMMIM04 only contains M & M-1 Data.

ABMMIM04B contains all older data. As it is an Inventory ADSO, it cannot be partially cleared by an automated job. Currently contains data from 01.2021 onwards. We do not expect to need data more than 12 months old, to be cleared manually (selective deletion) if needed.

Main functionalities

Main key figures

Calculated Key Figure

Description

Formula

Aggregation

Conversion

BW_CKF_CPMMIM07_0001Total Stock Qty (VKG)'0QUANT_B'N/AQCT_MATNR4
BW_CKF_CPMMIM07_0002Total Stock Val (Eur)IF('0VALUE_LC' <> 0; '0VALUE_LC'; 0)N/ACTK_GS04


SMOG

Functional and Technical rules on Workbench + Reporting

MM-IM: SMOG (HANA Ext. View) (BW_QRY_CPIMMM03*_0001)

BW query with filter to get only the 10 GBUs used in the SAC dashboard, material and plants not obsoletes and with the valuation class corresponding to relevant according to the business units.

  • 0CALYEAR was defined with only 2 years per time in a fix value because query as external view doesn't allow HANA or ABAP variables.
  • The provider CPMMIM03R provides two queries because of the volume of data processed by the total stock in Rhodia model; BW_QRY_CPIMMM03R_0002 (only CS) and BW_QRY_CPIMMM03R_0001 (other GBUs).

Calc. view for position of last month (CV_MM_IM_ABMMIM05*_M1)

Calculation view based on the query bw_qry_cpimmm03*_0001, filtering the previous month and the situations where the batch expire date or manufacture date from batch is not initial. The data come back to BW by the datasource CV_MM_IM_ABMMIM05*_M1 (WBP_HANAIV).


MM-IM: SMOG Evolution (Only Stock Type) (BW_QRY_CPIMMM01_0011)

BW query with filter to get only the stockt type 'C', 'D' or 'E', the 10 GBUs used by the SAC dashboard, material and plants not obsoletes and with the valuation class corresponding to relevant according to the business units.

The are two DTP when retrieving data to the provider ABMMIM06*, M-3 → M-1 and M-6 → M-4. 


Material Movement - SMOG (ABMMIM06*)

The provider concatenate the results respecting the sequence batches blocked, obsolete and slow moving, if the same batch is classified in more than one condition.

AMDP

  • Blocked - All batch with the stock type equal 'C', 'D' or 'E'
  • Obsolete - If the last day of respective month of the load is greater than batch expiry date
  • Slow moving - If the last day of respective month minus the batch manufacture date is bigger than 365 days
  • Batch aging - According to the difference of days for the previous 2 classifications, it was created the aging 0 - 90 days, 90-120 days, 121 - 360 days, 361 - 720 days and greater than 720 days.

Material Movement - SMOG (ABMMIM06*) Recursive Load

Once the provider concatenates the results respecting the sequence batches blocked, obsolete and slow moving with the corresponding values converted into EUR and quantities in VKG, the objects are order with the differences about the in and out results, split into I (IN) when the values and quantities are assigned at the first time according to the key or they rose, we keep without flag when the values don't change among the months or the difference between IN and the results from the month before, beyond that we classify as O (outbound) when the results reduce or they are not available anymore with the corresponding key in the sequent month.

AMDP

  • The rules to assign IN and OUT is done at this level in the end routine comparing values for the same key with the month treated in the load with the month before and after.

Data Flow

Process responsible for providing the inbound and outbound for in transit process following the finance information from tables ZFI_GIT_OUTBOUND and ZFI_GIT_INBOUND. In case of issues with this table, the SAP Finance team should be contacted.  

All aDSO above the acquisition layer (basically a provider with the same fileds from datasource) uses an infosource in the link to become easier the implementation of different type of code: AMDP (recommend for look up at db level) and ABAP (better in treatments at row level).

BW OTC - Scrapping & Reworking

Data loading

Monthly process chain loaded at the day 05 for getting the data from previous month.

PC_MMIM_19 - MM: IM - M - SMOG Rhodia


PC_MMIM_20 - MM: IM - M - SMOG Solvay


The INIT process has a specific view on top of the ztest query Rhodia (ztest_cv_qry_cpmmim03r_0003) and Solvay (ztest_cv_qry_cpmmim03s_0002). They are ztest as an alternative to set the months to be loaded in the process, reinforcing that is important to have the last 24 months in SMOG.


Loading frequency

Once a month.

Reporting

Roles & Access

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

Role Code

Role Description

Explanation

ZR_RCS_CA_M03IM StocksMenu role


Authorization objects

List of authorization objects mandatory for the application.

Authorization object

Explanation

C_COMPCDE__C_AUTHMACompany authorization scope
C_PLANT__C_AUTHMAPlant authorization scope
CPFCTR1_2Business unit

5.2 Process Detail 

5.2.1.  Report/Process Definition 

DomainSupply Chain
ApplicationInventory Management
Provider
  • Material Movement - ABMMIM03
  • Price control - AAMMIM02
  • Material movements - Price (APMMIM02* / APMMIM04*)

  • Material stock non cumulative (ABMMIM02*)

  • Material stock - Initialization (ABMMIM01*)


This section represents the process with detail information for the application. Can include specific or special cases, complex logics , calculations, flows, among others.



6.0 Non-functional Descriptions 


Please populate the relevant section and delete those that are not applicable.

6.1 Usability

Usability is about the ease with which a User can learn to start using the solution and the ease with which they can use the system.  In addition to ease of learning and ease of use, usability also includes areas such as ease of recall, error avoidance and handling, accessibility among others e.g., 99% of metadata entry Users who have use the Maintenance Dashboard should be able to change filters, extract etc., when required.  Maintenance data will be centrally stored in the Google Cloud platform, which will be available to other applications e.g., and Dashboards if needed.

6.2 Regulatory Compliance

Software systems must comply with legal and regulatory e.g., GDPR requirements, this can change depending on country, organisation industry and / or region.  The software systems must be secure from unauthorized access.  The Maintenance Dashboard will comply with Solvay’s regulations and compliance e.g., access only granted to authorized Users.

6.3 Security

Security refers to essential aspects that assure a solution and its components will be protected against unauthorized access or malware attacks.  Important considerations related to security aspects of a system are User authentication, User authorization or User access privileges, data theft, malware attacks, data encryption, and maintaining audit trails, e.g., only Users with administrator access shall be able to create new accounts and assign data access privileges to the new accounts e.g.,

  • All data will be encrypted in the dashboard
  • Only authorised Users / Administrative Users will be able to access data.
  • Maintenance data will be split between either SCO or ECO, and Users will only have authority to one Entity data.

6.4 Performance

Performance defines how fast a software system or a particular section of it responds to certain User actions under a certain workload.  In most cases, this metric explains how long a User must wait before the target operation happens e.g., the page renders, a transaction is processed, etc., given the overall number of Users now.  Performance requirements may describe background processes invisible to Users, e.g., backup and speed of data transfers. 

6.5 Reliability

Reliability is the ability of a solution or its component to perform its required functions without failure under predefined conditions for a specified time / period.  Reliability can possibly be specified in terms of average time system runs before failure occurs, percentage of operations completed successfully within a time / period, maximum acceptable failure probability, or number of failures within a period.  Reliability aspects are in reference to (but not limited to) evaluation of the system to be considered as reliable, classification of reliability defining failures vs. regular failures, and the impact of failure on business operations.  The Maintenance Dashboard will display data from the previous refresh of data.   

6.6 Scalability

Scalability refers to the degree to which a solution can evolve to handle increased amounts of work.  The increased amount of work could be in terms of the user base, transactions, data, network traffic, or other factors e.g., the system should be able to handle an additional load of a maximum of 5,000 Users every month for the next 6 months without any noticeable performance impacts.  

6.7 Compatibility

Interoperability is the degree to which the solution is compatible with other components.  It is a measure of how effectively the system interoperates with other software systems and how easily it integrates with external hardware devices.

Interoperability aspects to be discussed during elicitation are in reference to (but not limited to) software systems to be interfaced with along with data / messages to be exchanged and any standard data formats, hardware components to be integrated with, and any standard communication protocols to be followed e.g., Order Management system will push the order file into a secured file transfer protocol server from where it will be loaded into the system through a daily job.  To guarantee between Google Cloud platform and SAP BW Queries e.g., BW_QRY_MVPMOR01_0002, Solvay has introduced a new tool called Xtract (Xtract).

6.8 Availability

Availability is the degree to which the solution is operable and accessible when required. It is a measure of time during which the system is fully operational e.g., available for use and sometimes included as a Service Level Agreement (SLA) considering its criticality to the business, e.g., the system shall be at least 99% available on weekdays between 09:00 to 18:30 Central European Time (CET).

6.9 Refresh of the Data

Frequency, data, and time of the data refresh in the data product.