Page tree


Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents
outlinetrue

1.0

Access Management 


Panel
borderColor#ffffff
titleColor#ffffff
titleBGColor#009EE0
titleRoles & Access

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

Role CodeRole DescriptionExplanation
ZR_RCS_CA_
M09
M49
PS - Project Costs
SD - Sales and DistributionRole menu
for all project costs queries

ZBI_RCS_

PS

SD_

A02

Project Costs and Structures Analysis - End User role

Application Role:

    • End User rights
    • gives access to infoproviders of Infoarea "AREA_PSCO"
    • BI Analysis Authorization "ZBI_PS" ("*" for authorization objects not relevant for the application)

ZBI_RCS_CO_A21

CBS Project costs Reporting Analysis - End User role

Application Role:

    • End User rights
    • gives access to infoproviders of Infoarea "AREA_F_CO_CBS_PS"
    • Gives access to multiprovider:MPR_PS014
    • BI Analysis Authorization "ZBI_CBS_PC" 

A01

Application role - Sales & Distribution

Linked to authorization role ZBI_SD

ZP2_RCS_SD_A01

Application role - Sales & Distribution

Linked to authorization role ZP2_SD

Panel
borderColor#ffffff
titleColor#ffffff
titleBGColor#009EE0
titleAuthorization Objects

List of authorization objects mandatory for the application.

Authorization objectExplanation
0COMP_CODE;C_COMPCDE;C_PMORDER__0COMP_CODECompany, role: ZR_*_CA_P01
0PROFIT_CTR__CPFCTR1_2; 0PROFIT_CTR__C_PFCTR1;CPFCTR1_2;C_AGRITM__CPFCTR1_2;
C_ASSET2__C_PFCTR1;C_ASSET__C_PFCTR1;C_MATPLNT__CPFCTR1_2;
C_MATPLNT__C_PFCTR1;C_MATPNT2__CPFCTR1_2;C_PFCTR1;
C_PMORDER__C_PFCTR1;C_PMORDR__C_PFCTR1;C_PRDEQUI__CPFCTR1_2;
C_RECONTR__CPFCTR1_2;C_RESP_CC__CPFCTR1_2;C_SUBACT2__CPFCTR1_2
C_TECMAT__CPFCTR1_2;C_WBS_EL2__CPFCTR1_2;C_WBS_EL2__C_ZSECT;C_WBS_ELE__CPFCTR1_2;
C_WBS_ELE__C_ZSECT;C_ZSECT
GBU, role: ZR_*_CA_P05
C_FAMIL;C_WBS_EL2__C_FAMIL;C_WBS_ELE__C_FAMILFamily, role: ZR_*_CA_P04

2.0 DataFlow

2.1 Overview

Use the google presentation below as a template. This google presentation must be saved in the Reporting GDrive folder under the corresponding application. Then post the link to the document here.

Reporting documentation drive folder:

https://drive.google.com/drive/folders/0B0qn89R0RGdqYkZZOFZyYXlXVkE

Exemple of dataflow overview :

Template Application name DataFlow

2.2 Technical Rules on Workbench

Explanation for the process on the technical side. Can be specific cases or general rules depending on the scope.

2.2 Dependencies with other applications

We should have the information where the application is sending or receiving information (e.g. APD open hub) 

CPFCTR1_2Global Business Unit role ZR_*_CA_P05
C_COMPCDE

Company Code role ZR_*_CA_P01

C_SAL_OFFSales Office role ZR_*_CA_P14
C_COMPCDE__C_AUTHMAAuthorization scope role ZR_*_CA_P10

See also file maintained by Authorization team : 

DataFlow

Overview

Multi Provider MVSDSO50 - OTIF Global - DATA FLOW

This multi provider is used to manage the OTIF indicators for all sales processes (Solvay & Rhodia)

Embedded Google Drive File
urlhttps://docs.google.com/presentation/d/1IQOFCNMLPKPGir_a281Ppg9DRyJxKdEC7BmwvxP4Qkw/edit
fullwidthtrue
height900


MP Details - characteristics

Image Added

Image Added

Details - Key Figures

Image Added


Cube CRSDSO10 - OTIF Sales (Solvay)               Cube CRSDSO50 - OTIF Sales (Rhodia)

Image Added                               Image Added


Multi Provider MVSDSO51 - OTIF Transfer Global - DATA FLOW

This multi provider is used to manage the OTIF indicators for all sales and transfer processes (Solvay & Rhodia)

Embedded Google Drive File
urlhttps://docs.google.com/presentation/d/1mHfiz6JXptq324Kd50I2ga2-yBIJlnTmdCHIxLt1XRA/edit?usp=sharing
fullwidthtrue
height900

Cubes:

CRSDSO54: PO: OTIF Transfer (Rhodia) 

As part of the change # 4028391,excluded return items from this cube .Added filter in below DTP's to exclude Return Items.

 DTP: DBSDSO91 -> CRSDSO54 (Rhodia)

DTP: DBSDSO91 -> DBSDSO9E (Rhodia)

DTP: DBSDSO98 -> CRSDSO24 (Solvay)

DTP: DBSDSO98 -> DBSDSO9F (Solvay)


CRSDSO24: PO: OTIF Transfer (Solvay) 

As part of the change # 4028391,excluded return items from this cube .Added filter in below DTP's to exclude Return Items.

 DTP: DBSDSO91 -> CRSDSO54 (Rhodia)

DTP: DBSDSO91 -> DBSDSO9E (Rhodia)

DTP: DBSDSO98 -> CRSDSO24 (Solvay)

DTP: DBSDSO98 -> DBSDSO9F (Solvay)


CRSDSO50: SO: OTIF Sales (Rhodia) 
CRSDSO10: SO: OTIF Sales (Solvay) 


Multi Provider MVSDSO60 - MP Sales & Transfer for OTIF with Order Book dates - DATA FLOW

This multi provider is used to manage the OTIF indicators for all sales and transfer processes (Solvay & Rhodia) matched with order book snapshot data, in order to know the opened orders 

Embedded Google Drive File
urlhttps://docs.google.com/presentation/d/1Lh1u0UrYQEZbKw6aeMLUeNdiF5xfzAGFwQy_DfPnDEQ/edit?usp=sharing
fullwidthtrue
height900

Details - DSO's used in MP

This multi provider is based on two cubes that receive data from DSO's that mix data from OTIF and order book snapshot. The DSO's used here are: DBSDSO9A (OTIF Sales & order book Solvay), DBSDSO9B (OTIF Sales & order book Rhodia), DBSDSO9E (OTIF Transfer & order book Solvay), DBSDSO9F (OTIF Transfer & order book Rhodia)


MP Details - Characteristics

Image Added

Image Added

MP Details - Key figures

Image Added

Technical Rules on Workbench

Main documentation:

Preparation

Embedded Google Drive File
urlhttps://docs.google.com/presentation/d/1tYNtMsS2suBHLfPgsMhJCJFBMCDFAc8oCBsvXnWcNOg/edit#slide=id.p4
fullwidthtrue
height900

Design

Embedded Google Drive File
urlhttps://docs.google.com/document/d/1-eanlwLoknFZcnHWsmsZ0NTzSREGgFIwTPVLz3mEuyk/edit
fullwidthtrue
height900

Embedded Google Drive File
urlhttps://docs.google.com/spreadsheets/d/1SO2S7EtmytVHlc2nMODOXpmLlOBVdUY6sMDG-h06TGA/edit#gid=321922425
fullwidthtrue
height900

Deployment

Embedded Google Drive File
urlhttps://docs.google.com/spreadsheets/d/16ejsixBYtNUmtIFVzn2PztWyrj5nutN75TFA1BkGcsk/edit#gid=332417701
fullwidthtrue
height900


Business Rules

Get the GBU code


For Rhodia

Using distribution channel and division from material, get the IECRA code in master data C_CDSA

Image Added

Using IECRA code, get the sub-activity in master data g_cwwe01 

Image Added

For Solvay

using business area, get the technical business area in master data c_techba

Image Added

The function above is used to fill zeros left

The code below takes the GBU code from master data sub-activity (g_cwwe01)

Image Added


Calculation Rules (DBSDSO98 / DBSDSO91 / DBSDSO60 / DBSDSO20)

Define the ship end date type according to the content of fields actual shipment, planned shipment of GI date

Image Added

Define the good issue date reference

Image Added

Redefine the good issue date reference when the order is a pickup

Image Added

Image Added

Define the achieved delivery date and achieved shipment datte

Image Added

Determine In Full requested considering the lower and upper tolerance 

Image Added

Generate the in full requested detailed with terms light, heavy or yes 

Image Added

Determine In Full confirmed measure considering the lower and upper tolerance 

Image Added

Generate the in full confirmed detailed with terms light, heavy or yes

Image Added

Determine the differences between delivery quantity and requested quantity

Image Added

Generate on time delivery customer request (OTD CR)

Image Added

Consider special NON OTIF reasons as OTIF

Image Added

Generate group of delays for OTDCR

Image Added

Generate OTDCR delay days

Image Added

The same rules are applied for OTDFC, OTDLC, OTSCR, OTSFC, OTSLC just changing the date to be considered, see below:

For OTDFC uses the dates → v_dif_date = v_fstatp - v_shp_eact (difference between max first ATP and shipment end date)

For OTDFC uses the dates → v_dif_date = v_lstatp - v_shp_eact (difference between max last ATP and shipment end date)

Define the dates used in OTS CR (ON TIME SHIPMENT Customer request)

Image Added

For OTSCR uses the dates  → v_dif_date =  v_lstrqgi - v_gi_date (difference between max actual GI date and last req delivery)

For OTSFC uses the dates  →  v_dif_date =  v_firstgi - v_gi_date(difference between max actual GI date and first ATP GI)

For OTSLC uses the dates  →  v_dif_date =   v_lastgi - v_gi_date (difference between max actual GI date and last ATP GI)

Generate OTIF necessary comment or reason 

Image Added

Generate NON OTIF Type 

Image Added

Determine LEADTIME calculations (DBSDSO9B / DBSDSO9A / DBSDSO91 / DBSDSO60 / DBSDSO20).
Leadtime 1: difference between the customer PO Date (order line level - VBKD-BSTDK), and the requested  material availability date  
Image Added
Leadtime 2: difference between the customer PO Date (VBKD-BSTDK), and the achieved GI date (Max Actual GI Date)
Image Added
Leadtime 3: difference between the customer PO Date, and the requested delivery date (Max Last Req Delivery] 
Image Added
Leadtime 4: difference between the customer PO Date and the achieved delivery date (Achieved Delivery Date) 
Image Added
Leadtime LeadTime Requested Order line creation date -  order line last customer req Goods Issue date

Image Added

Leadtime LeadTime FirstCommitted Order line creation date - schedule line 1st ATP (confirmed) GI date

Image Added

Leadtime LeadTime Actual Order line creation date - actual GI date

Image Added

Leatime 8 : Last Req GI date - Customer PO 

Image Added

Leatime 9 : First Req GI date - Customer PO 

Image Added

Reporting


TypeTech NameDescriptionFormula
CKFBW_CKF_MVSDSO50_0001Confirmed Qty (PUQ)CML_CF_QTY
CKFBW_CKF_MVSDSO50_0002Order Qty (PUQ)CML_OR_QTY
CKFBW_CKF_MVSDSO50_0003Delivery Qty (PUQ)DLV_QTY
CKFBW_CKF_MVSDSO50_0010In FullIF K_INFULLR = 1 AND K_INFULLC = 1, then K_COUNTER   
CKFBW_CKF_MVSDSO50_0011Not In FullIF K_INFULLR = 0 OR K_INFULLC = 0, then 0
CKFBW_CKF_MVSDSO50_0012Not in Full but OTDCRIF K_INFULLR = 0 AND K_OTDCR = 1, then K_COUNTER   
CKFBW_CKF_MVSDSO50_0013In Full & OTDCRIF K_INFULLR = 1 AND K_OTDCR = 1, then K_COUNTER
CKFBW_CKF_MVSDSO50_0014In Full & OTDFCIF K_INFULLR = 1 AND K_OTDFC = 1, then K_COUNTER 
CKFBW_CKF_MVSDSO50_0015In Full & OTDLCIF K_INFULLR = 1 AND K_OTDLC = 1, then K_COUNTER 
CKFBW_CKF_MVSDSO50_0016Not In Full but OTDLCIF K_INFULLR = 0 AND K_OTDLC = 1, then K_COUNTER  
CKFBW_CKF_MVSDSO50_0017Not in Full but OTDFCIF K_INFULLR = 0 AND K_OTDFC = 1, then K_COUNTER   
CKFBW_CKF_MVSDSO50_0018In Full & OTSCRIF K_INFULLR = 1 AND K_OTSCR = 1, then K_COUNTER 
CKFBW_CKF_MVSDSO50_0019In Full & OTSFCIF K_INFULLR = 1 AND K_OTSFC = 1, then K_COUNTER 
CKFBW_CKF_MVSDSO50_0020In Full & OTSLCIF K_INFULLR = 1 AND K_OTSLC = 1, then K_COUNTER  
CKFBW_CKF_MVSDSO50_0021Not In Full but OTSCRIF K_INFULLR = 0 AND K_OTSCR = 1, then K_COUNTER   
CKFBW_CKF_MVSDSO50_0022Not In Full but OTSFCIF K_INFULLR = 0 AND K_OTSFC = 1, then K_COUNTER   
CKFBW_CKF_MVSDSO50_0023Not In Full but OTSLCIF K_INFULLR = 0 AND K_OTSLC = 1, then K_COUNTER   
CKFBW_CKF_MVSDSO50_0024Not In Full Not OTDCRIF K_INFULLR = 0 AND K_OTDCR = 0, then K_COUNTER   
CKFBW_CKF_MVSDSO50_0025Not In Full Not OTDFCIF K_INFULLR = 0 AND K_OTDFC = 0, then K_COUNTER    
CKFBW_CKF_MVSDSO50_0026Not In Full Not OTDLCIF K_INFULLR = 0 AND K_OTDLC = 0, then K_COUNTER    
CKFBW_CKF_MVSDSO50_0027Not In Full Not OTSCRIF K_INFULLR = 0 AND K_OTSCR = 0, then K_COUNTER    
CKFBW_CKF_MVSDSO50_0028Not In Full Not OTSFCIF K_INFULLR = 0 AND K_OTSFC = 0, then K_COUNTER    
CKFBW_CKF_MVSDSO50_0029Not In Full Not OTSLCIF K_INFULLR = 0 AND K_OTSLC = 0, then K_COUNTER    
CKFBW_CKF_MVSDSO50_0030In Full but Not OTDCRIF K_INFULLR = 1 AND K_OTDCR = 0, then K_COUNTER    
CKFBW_CKF_MVSDSO50_0031In Full but Not OTDFCIF K_INFULLR = 1 AND K_OTDFC = 0, then K_COUNTER     
CKFBW_CKF_MVSDSO50_0032In Full but Not OTDLCIF K_INFULLR = 1 AND K_OTDLC = 0, then K_COUNTER     
CKFBW_CKF_MVSDSO50_0033In Full but Not OTSCRIF K_INFULLR = 1 AND K_OTSCR = 0, then K_COUNTER     
CKFBW_CKF_MVSDSO50_0034In Full but Not OTSFCIF K_INFULLR = 1 AND K_OTSFC = 0, then K_COUNTER     
CKFBW_CKF_MVSDSO50_0035In Full but Not OTSLCIF K_INFULLR = 1 AND K_OTSLC = 0, then K_COUNTER     
CKFBW_CKF_MVSDSO50_0040Lead Time 1 (Cust.PO X req.mat.avail)K_SOLEAD1
CKFBW_CKF_MVSDSO50_0041Lead Time 2 (Cust.PO X achieved GI)K_SOLEAD2
CKFBW_CKF_MVSDSO50_0042Lead Time 3 (Cust.PO X req.delivery)K_SOLEAD3
CKFBW_CKF_MVSDSO50_0043Lead Time 4 (Cust.PO X achieved delivery)K_SOLEAD4
CKFBW_CKF_MVSDSO50_0044Lead Time (Creation X Last Cust Req GI)K_SOLEAD5
CKFBW_CKF_MVSDSO50_0045Lead Time (Creation X Sched line 1st ATP)K_SOLEAD6
CKFBW_CKF_MVSDSO50_0046Lead Time (Creation X Actual GI date)K_SOLEAD8
CKFBW_CKF_MVSDSO50_0047Rush OrdersIF K_SOLEAD5 < 2, THAN 1
CKFBW_CKF_MVSDSO50_0050OTD CR - Class 1IF OTD CR - Class 1 = 1 and  K_OTDCR = 0 THEN 1
CKFBW_CKF_MVSDSO50_0051OTD CR - Class 2IF OTD CR - Class 2 = 1 and  K_OTDCR = 0 THEN 1
CKFBW_CKF_MVSDSO50_0052OTD CR - Class 3IF OTD CR - Class 3 = 1 and  K_OTDCR = 0 THEN 1 
CKFBW_CKF_MVSDSO50_0053OTD CR - Class 4IF OTD CR - Class 4 = 1 and  K_OTDCR = 0 THEN 1 
CKFBW_CKF_MVSDSO50_0054OTD FC - Class 1IF OTD FC - Class 1 = 1 and  K_OTDFC = 0 THEN 1
CKFBW_CKF_MVSDSO50_0055OTD FC - Class 2IF OTD FC - Class 2 = 1 and  K_OTDFC = 0 THEN 1 
CKFBW_CKF_MVSDSO50_0056OTD FC - Class 3IF OTD FC - Class 3 = 1 and  K_OTDFC = 0 THEN 1 
CKFBW_CKF_MVSDSO50_0057OTD FC - Class 4IF OTD FC - Class 4 = 1 and  K_OTDFC = 0 THEN 1 
CKFBW_CKF_MVSDSO50_0058OTS CR - Class 1IF OTS CR - Class 1 = 1 and  K_OTSCR = 0 THEN 1 
CKFBW_CKF_MVSDSO50_0059OTS CR - Class 2IF OTS CR - Class 2 = 1 and  K_OTSCR = 0 THEN 1  
CKFBW_CKF_MVSDSO50_0060OTS CR - Class 3IF OTS CR - Class 3 = 1 and  K_OTSCR = 0 THEN 1  
CKFBW_CKF_MVSDSO50_0061OTS CR - Class 4IF OTS CR - Class 4 = 1 and  K_OTSCR = 0 THEN 1  
CKFBW_CKF_MVSDSO50_0062OTD LC - Class 1IF OTD LC - Class 1 = 1 and  K_OTDLC = 0 THEN 1
CKFBW_CKF_MVSDSO50_0063OTD LC - Class 2IF OTD LC - Class 2 = 1 and  K_OTDLC = 0 THEN 1 
CKFBW_CKF_MVSDSO50_0064OTD LC - Class 3IF OTD LC - Class 3 = 1 and  K_OTDLC = 0 THEN 1 
CKFBW_CKF_MVSDSO50_0065OTD LC - Class 4IF OTD LC - Class 4 = 1 and  K_OTDLC = 0 THEN 1 
CKFBW_CKF_MVSDSO50_0066OTS FC - ClassIF OTS FC - Class 1 = 1 and  K_OTSFC = 0 THEN 1   
CKFBW_CKF_MVSDSO50_0067OTS FC - Class 2IF OTS FC - Class 2 = 1 and  K_OTSFC = 0 THEN 1    
CKFBW_CKF_MVSDSO50_0068OTS FC - Class 3IF OTS FC - Class 3 = 1 and  K_OTSFC = 0 THEN 1    
CKFBW_CKF_MVSDSO50_0069OTS FC - Class 4IF OTS FC - Class 4 = 1 and  K_OTSFC = 0 THEN 1    
CKFBW_CKF_MVSDSO50_0070OTS LC - ClassIF OTS LC - Class 1 = 1 and  K_OTSLC = 0 THEN 1    
CKFBW_CKF_MVSDSO50_0071OTS LC - Class 2IF OTS LC - Class 2 = 1 and  K_OTSLC = 0 THEN 1     
CKFBW_CKF_MVSDSO50_0072OTS LC - Class 3IF OTS LC - Class 3 = 1 and  K_OTSLC = 0 THEN 1     
CKFBW_CKF_MVSDSO50_0073OTS LC - Class 4IF OTS LC - Class 4 = 1 and  K_OTSLC = 0 THEN 1    
RKFBW_RKF_MVSDSO50_0001# orderline with actual arrival dateC_DTTYPE2 = ASE, KF=K_COUNTER
RKFBW_RKF_MVSDSO50_0002OTD CR - Class 1C_OTDCRDG = A, KF=OTD CR - Class 1
RKFBW_RKF_MVSDSO50_0003OTD CR - Class 2C_OTDCRDG = B, KF=OTD CR - Class 2
RKFBW_RKF_MVSDSO50_0004OTD CR - Class 3C_OTDCRDG = C, KF=OTD CR - Class 3
RKFBW_RKF_MVSDSO50_0005OTD CR - Class 4C_OTDCRDG = D, KF=OTD CR - Class 4
RKFBW_RKF_MVSDSO50_0006OTD FC - Class 1C_OTDFCDG = A, KF=OTD CR - Class 1
RKFBW_RKF_MVSDSO50_0007OTD FC - Class 2C_OTDFCDG = B, KF=OTD CR - Class 2
RKFBW_RKF_MVSDSO50_0008OTD FC - Class 3C_OTDFCDG = C, KF=OTD CR - Class 3
RKFBW_RKF_MVSDSO50_0009OTD FC - Class 4C_OTDFCDG = D, KF=OTD CR - Class 4
RKFBW_RKF_MVSDSO50_0010OTS CR - Class 1C_OTSCRDG = A, KF=OTS CR - Class 1
RKFBW_RKF_MVSDSO50_0011OTS CR - Class 2C_OTSCRDG = B, KF=OTS CR - Class 2
RKFBW_RKF_MVSDSO50_0012OTS CR - Class 3C_OTSCRDG = C, KF=OTS CR - Class 3
RKFBW_RKF_MVSDSO50_0013OTS CR - Class 4C_OTSCRDG = D, KF=OTS CR - Class 4
RKFBW_RKF_MVSDSO50_0014OTD LC - Class 1C_OTDLCDG = A, KF=OTD LC - Class 1
RKFBW_RKF_MVSDSO50_0015OTD LC - Class 2C_OTDLCDG = B, KF=OTD LC - Class 2 
RKFBW_RKF_MVSDSO50_0016OTD LC - Class 3C_OTDLCDG = C, KF=OTD LC - Class 3
RKFBW_RKF_MVSDSO50_0017OTD LC - Class 4C_OTDLCDG = D, KF=OTD LC - Class 4
RKFBW_RKF_MVSDSO50_0018OTS FC - Class 1C_OTSFCDG = A, KF=OTS FC - Class 1 
RKFBW_RKF_MVSDSO50_0019OTS FC - Class 2C_OTSFCDG = B, KF=OTS FC - Class 2
RKFBW_RKF_MVSDSO50_0020OTS FC - Class 3C_OTSFCDG = C, KF=OTS FC - Class 3
RKFBW_RKF_MVSDSO50_0021OTS FC - Class 4C_OTSFCDG = D, KF=OTS FC - Class 4
RKFBW_RKF_MVSDSO50_0022OTS LC - Class 1C_OTSLCDG = A, KF=OTS LC - Class 1
RKFBW_RKF_MVSDSO50_0023OTS LC - Class 2C_OTSLCDG = B, KF=OTS LC - Class 2 
RKFBW_RKF_MVSDSO50_0024OTS LC - Class 3C_OTSLCDG = C, KF=OTS LC - Class 3
RKFBW_RKF_MVSDSO50_0025OTS LC - Class 4C_OTSLCDG = D, KF=OTS LC - Class 4


PS: same calculated and restricted key figures were created for MVSDSO51 and MVSDSO60 multi providers.

Main queries


QueryDescription
BW_QRY_MVSDSO50_0001BW Sales - OTIF - Details (core query)
BW_QRY_MVSDSO50_0002BW Sales - OTIF dashboard (core query)
BW_QRY_MVSDSO50_0003BW Sales - OTIF - Summary (core query)
BW_QRY_MVSDSO51_0001BW OTIF SO&PO - Details (core query)
BW_QRY_MVSDSO51_0002BW OTIF SO&PO - dashboard (core query)
BW_QRY_MVSDSO51_0003BW OTIF SO&PO - Summary (core query)
BW_QRY_MVSDSO60_0001BW Sales - OTIF & Orderbook - Details (core query)
BW_QRY_MVSDSO60_0002BW Sales/Transfer - OTIF & Orderbook - Details (core query)
BW_QRY_MVSDSO60_0002_BCASTNon OTIF Order-Lines of the Month (OTDCR)
BW_QRY_MVSDSO60_0003BW Sales/Transfer - OTIF & Dynasis Query
DI_BW_QRY_MVSDSO50_0001BW Sales - OTIF - Details (core query)
DI_BW_QRY_MVSDSO50_9001BW Sales - OTIF - Details (Dataiku Forecast)
QV_BW_QRY_MVSDSO60_0002QV -BW Sales/Transfer - OTIF & Orderbook - Details -
QVSCE_BW_QRY_MVSDSO50_0001BW Sales - OTIF QV (core query)
QVSCE_BW_QRY_MVSDSO51_0001BW OTIF (Sales & Transfer) QV (core query)
WorkbookQuery
OTIF & Order Book: Sales & Purchase OrderBW_WBK_MVSDSO60_0002

BW Sales/Transfer - OTIF & Orderbook - Details (core query)

BW_QRY_MVSDSO60_0002

OTIF & Order Book: Sales OrderBW_WBK_MVSDSO60_0001

BW Sales - OTIF & Orderbook - Details (core query)

BW_QRY_MVSDSO60_0001

OTIF: Sales & Purchase OrderBW_WBK_MVSDSO51_0001

BW OTIF SO&PO - Details (core query)

BW_QRY_MVSDSO51_0001

OTIF: Sales OrderBW_WBK_MVSDSO50_0004

BW Sales - OTIF - Details (core query)

BW_QRY_MVSDSO50_0001

OTIF: Sales & Purchase Order (Summary)BW_WBK_MVSDSO51_0003

BW Transfer & Sales - OTIF - Summary (core query)

BW_QRY_MVSDSO51_0003

OTIF: Sales & Purchase Order (Synthesis)BW_WBK_MVSDSO51_0002

BW Transfer PO OTIF - dashboard (core query)

BW_QRY_MVSDSO51_0002

OTIF: Sales Order (Synthesis)BW_WBK_MVSDSO50_0001

BW Sales - OTIF dashboard (core query)

BW_QRY_MVSDSO50_0002

OTIF: Sales Order (Summary)BW_WBK_MVSDSO50_0003

BW Sales - OTIF - summary (core query)

BW_QRY_MVSDSO50_0003

Queries used to load QV applications

InfoProviderQuery
MVSDSO50QVBW_QRY_MVSDSO50_0001BW Sales - OTIF detais (qv query)
MVSDSO51QVBW_QRY_MVSDSO51_0001

BW Sales - OTIF Transfer (qv query)

MVSDSO51QVSCE_BW_QRY_MVSDSO51_0001BW OTIF (Sales & Transfer) QV (core query)
MVSDSO50_

QVSCE_BW_QRY_MVSDSO50_0001

BW Sales - OTIF QV (core query)


Embedded Google Drive File
urlhttps://docs.google.com/presentation/d/16AMaVshR9FbdmQ_gTEuBn22fpYRt764hLlsZfwBHNxI/edit#slide=id.p3
fullwidthtrue
height900


SCE defines 6 different OTIF indicators:

  • OTIFD CR : On Time Delivery in Full (Customer Request) : Concatenates In full Requested and OTD CR
  • OTIFD FC : On Time Delivery in Full (1st Confirmed) : Concatenates In full Confirmed and OTD FC
  • OTIFD LC : On Time Delivery in Full (Last Confirmed) : Concatenates In full Confirmed and OTD LC
  • OTIFS CR : On Time Shipment in Full (Customer Request) : Concatenates In full Requested and OTS CR
  • OTIFS FC : On Time Shipment in Full (1st Confirmed) : Concatenates In full Confirmed and OTS FC
  • OTIFS LC : On Time Shipment in Full (Last Confirmed) : Concatenates In full Confirmed and OTS LC

All calculation in this query is managed at Order line level. When several schedule lines matching with one same order lines we consider the sum for quantities and maximum for dates.


1 - Rules for OTIF Calculation

1.1 - On Time Delivery "On Time Delivery: it means that the calculation is based on date of arrival, they compare an achieved arrival date with a target arrival date. Achieved Delivery Date:

Achieved Delivery Date

=If([Transportation mode]="PICK UP" Or [Order Document Type Code]="KE";[V_Max Actual GI Date];If(IsNull([V_Max End of Shipment Calculated]);[V_Max Actual GI Date];[V_Max End of Shipment Calculated]))

For “PICK UP” transportation mode, Rhodia (WP1) : Last transfer order confirmation date for the order line --> FIELD LTAP-QDATU else Last Good Issue date

For “PICK UP” transportation mode, Solvay (PF1) : Last Good Issue date

For any other transportation mode : The last “Actual Shipment end” if it exists else the last “ planned shipment end” if it exists else the last “Actual good Issue”

OTD CR: If Difference between Achieved delivery date and Order line requested delivery Date is lower than – Early tolerance then “EARLY” else if Difference between Achieved delivery date and Order line requested delivery Date is greater than Late tolerance then ""LATE"" else ""OTD""

=If([Transportation mode]="PICK UP";If(DaysBetween(Last Req Delivery];[Achieved Delivery Date])<0;0;DaysBetween(Last Req Delivery];[Achieved Delivery Date])))

OTD FC: If Difference between Achieved delivery date and Orderline 1st confirmed delivery Date is lower than – Early tolerance then “EARLY” else if Difference between Achieved delivery date and Order line 1st conf delivery Date is greater than Late tolerance then ""LATE"" else ""OTD""

=If([Transportation mode]="PICK UP";If(DaysBetween([V_Max 1st ATP];[Achieved Delivery Date])<0;0;DaysBetween([V_Max 1st ATP];[Achieved Delivery Date])))

OTD LC: If Difference between Achieved delivery date and Order line last confirmed delivery Date is lower than – Early tolerance then “EARLY” else if Difference between Achieved delivery date and Order line last conf delivery Date is greater than Late tolerance then ""LATE"" else ""OTD"" "

=If([Transportation mode]="PICK UP";If(DaysBetween([V_Max Last ATP];[Achieved Delivery Date])<0;0;DaysBetween([V_Max Last ATP];[Achieved Delivery Date])))


1.2 - On Time Shipment "On Time Shipment: it means that the calculation is based on date of good issue, they compare an achieved shipment date with a target shipment date (calculated in SAP from requested delivery date, 1confirmed delivery date and last confirmed delivery date). Achieved Shipment Date: For “PICK UP” transportation mode : Last transfer order confirmation date for the order line --> FIELD LTAP-QDATU else Last Good Issue date For other transportation mode : The last “Actual GI” date

Achieved Shipment Date

=If([Transportation mode]="PICK UP" Or [Order Document Type Code]="KE";[V_Max Actual GI Date])

OTS CR: If Difference between Achieved shipment date and Order line requested GI Date is lower than – Early tolerance then “EARLY” else if Difference between Achieved shipment date and Order line requested GI Date is greater than Late tolerance then ""LATE"" else OTS.

=If([Transportation mode]="PICK UP";If(DaysBetween([V_Max Last Req GI]; ";[V_Max Actual GI Date] )<0;0;DaysBetween([V_Max Last Req GI]; ";[V_Max Actual GI Date]

OTS FC: If Difference between Achieved shipment date and Order line 1st confirmed GI Date is lower than – Early tolerance then “EARLY” else if Difference between Achieved shipment date and Order line 1st Conf GI Date is greater than Late tolerance then ""LATE"" else ""OTS""

=iF([Transportation mode]="PICK UP";If(DaysBetween([V_Max 1st ATP GI]; ";[V_Max Actual GI Date] <0;0;DaysBetween([V_Max 1st ATP GI]; [V_Max Actual GI Date] )))

OTS LC: If Difference between Achieved shipment date and Order line last confirmed GI Date is lower than – Early tolerance then “EARLY” else if Difference between Achieved shipment date and Order line Last confirmed GI Date is greater than Late tolerance then ""LATE"" else ""OTS"""

=iF([Transportation mode]="PICK UP";If(DaysBetween([V_Max 1st ATP GI]; ";[V_Max Actual GI Date] <0;0;DaysBetween([V_Max 1st ATP GI]; [V_Max Actual GI Date] ))) 

 

1.3 - Tolerances:

"Number of days based on Transportation Mode (Order Shipping Condition) OCEAN = 7 RAIL = 3 BARGE = 3 INTERMODAL = 2 ROAD = 1 AIR = 0 OTHER = 0 "

DAYS DELAY NET (APPLY THE TOLERANCE)

TOLERANCES by Shipping Conditions

AB";"AC";"AE";"AF => 7 days   (ocean)

AJ => 1 day  (LTL)

AK AH AI => 0  (FTL)

AU AP => 3          (Barge / Rail)

AV => 2       (multimodal)

“AL” “AW” “AX” => 0 999 days)     (Pick Up)

=If([OTD CR - Delay Days]=999;999;If([OTD CR - Delay Days]=0;0;If(Abs([OTD CR - Delay Days])<=[Tolerance Days];0;If([OTD CR - Delay Days]<0;[Tolerance Days]+[OTD CR - Delay Days];[OTD CR - Delay Days]-[Tolerance Days]))))


1.4 - Exceptions:

"Customer Pick Up: uses Last transfer order confirmation date in calculation Customer Pick Up Early = OTIF Order Non OTIF Reason code starting with 7 = OTIF "


1.5 - IN FULL

In Full Calculation "In Full Request Order Quantity fits with Delivery Quantity In Full Confirmed Scheduled Line Confirmed Quantity fits with Delivery Quantity "

IN FULL REQUESTED – IFR

(Order line qty – Sum Delivery quantity) + tolerance that comes from the sales order

IN FULL CONFIRMED – IFC

(Sum Scheduled Confirmed Qty by sales order item  – Sum Delivery quantity) + tolerance that comes from the sales order


1.6 - LEAD TIMES

7 lead-times have been defined by SCE (to be challenged for rationalisation)

Leadtime 1 : The Lead-time is the difference, in days, between the customer PO Date (order line level - VBKD-BSTDK), and the requested material availability date (Max in the scheduled line level).

=DaysBetween([V_Max Cust PO];[V_Max Req Material Availability])

Leadtime 2 : The Lead-time is the difference, in days, between the customer PO Date (VBKD-BSTDK), and the achieved GI date

=DaysBetween([V_Max Cust PO];[Max Actual GI Date])

Leadtime 3 : The Lead-time is the difference, in days, between the customer PO Date, and the requested delivery date.

=DaysBetween([V_Max Cust PO];[V_Max Last Req Delivery])

Leadtime 4 : The Lead-time is the difference, in days, between the customer PO Date, and the achieved delivery date

=DaysBetween([V_Max Cust PO];[Achieved Delivery Date])

Leadtime 5 : The Lead-time is the difference, in days, between the creation date and the last customer req Goods Issue date

Leadtime 6 : The Lead-time is the difference, in days, between the creation date and the schedule line 1st ATP (confirmedGI date

Leadtime 7 : The Lead-time is the difference, in days, between the creation date and the actual GI date


1.7 - DOCUMENTS TYPES

The document types to be considered are:

GCTA

Standard Order

KE

Consig issue

SB

SB Third-p.dir order

SO

SO Rush Order

TA

Standard Order

TAF

Standard Order (FPl)

TAM

Delivery Order

TAV

Standard Order (VMI)

TD

TD Standard Order

TDIV

TDIV Misc Op

TSA

Telesales

ZITI

Sales Order ITI BR

ZORB

Standard Order BR

ZOUT

Other Outputs BR

ZPVA

ZPVA Ord.immed.ship.

ZVEX

Fut. Dely Invoice BR

ZVEY

Fut. Dely Shipmnt BR

NBStandard PO
UBStock transport ord.


Dependencies with other applications

  • It was created some master data in order to have the attributes shared with several applications: Sales Order line (C_ITM_SD), PO Line (C_ITM_GS)
  • Data is consumed by Qlikview dashboard. The loadings in QV are daily. It runs a fixed scheduled, the loadings must be finished when the next start.
  • There is an integration with SPRINT (purchase schedule lines) in order to take the PO schedule lines and identify all the transfers
  • There is a link with TIERS in order to get the main shipment for each delivery

Data Loading

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 ChainFinal Provider LoadingFrequencyTime startDuration

Global Sales: CRSDSO50 (OTIF Sales) (Rhodia)

PC_GL_SALES_CRSDSO50

CRSDSO50Daily, not weekend

Arround 05:00 am

Meta chain PC_GL_SALES_REP02

1 min

Global Sales: CRSDSO10 (OTIF Sales) (Solvay)

PC_GL_SALES_CRSDSO10

CRSDSO10Daily, not weekend

Arround 02:45 am

Meta chain PC_OBAS_REPORTING

1 min

OBAS: Reporting Layer Transfers Orders

PC_OBAS_TRANSFERS_ODB

CRSDSO24

CRSDSO12

CRSDSO11

CRSDSO04

CRSDSO17

Daily, not weekend

Arround 06:15 am

Meta chain

PC_OBAS_TRANSFERS_MAIN

5 mins

Global Sales: Transfers Reporting layer (Rhodia)

PC_GL_SALES_PO_REPORTING

CRSDSO54

CRSDSO52

CRSDSO51

CRSDSO57

CRSDSO47

CRSDSO44

Daily, not weekend

Arround 06:45 am

Meta chain

PC_GL_SALES_MAIN_PO

5 mins

DPS Dynasys: META - D - 6.Reporting DynaSys (Dynamic KPIs)

PC_DPS_DYNASYS_15

DPDYN04

DBDYN20

CRDYN11

Hourly, everyday with decision.

Hourly


Decision linked to values in master data global filter

Image Added

30 mins

DPS Dynasys: META - M - 6.Reporting DynaSys (Snapshots)

PC_DPS_DYNASYS_09

DPDYN01

DBDYN13

CRDYN13

1 time per month the 6th day of month


06:00 am1 hour

Global Sales: CRSDSO30 (SO OTIF w/order book) (Solvay)

PC_GL_SALES_CRSDSO30



SD: SO - D - Main Process Chain - Update

PC_SD_MAIN

CRSDSO30

Daily, not weekend

Arround 06:25 am

Meta chain

PC_OBAS_TRANSFERS_MAIN


Arround 01:55 am

Meta chain

RSP_DAILY

1 min




1 hour

Global Sales: CRSDSO70 (SO OTIF w/order book) (Rhodia)

PC_GL_SALES_CRSDSO70

CRSDSO70

Daily, not weekend

Arround 05:00 am & 07:00 am


Meta chains

PC_GLOBAL_SALES_MAIN

PC_GL_SALES_MAIN_PO

1 min


1 - Main Process Chain

This process chain is responsible to trigger and syncronize all Global Sales processes chains for Solvay and Rhodia. It is scheduled to run every workday inside the Daily process chain (RSP_DAILY) after general master data PC, around 3AM (French time) and TIERS.    

Sales - Part Solvay: PC_SD_MAIN (SD - Main Process Chain - UPTDATE DATA -)

Image Added

Sales - Part Rhodia : PC_GLOBAL_SALES_MAIN (PC: Global Sales: Main (Rhodia))

Image Added

Transfer - Part Solvay: PC_OBAS_TRANSFERS_MAIN (OBAS: Transfers Orders Main chain)

Image Added

Transfer - Part Rhodia: PC_GL_SALES_MAIN_PO (PC: Global Sales: Main transfers (Rhodia))

Image Added

2 - Propagation Layer

This process chain is responsible to run the loads between source system and first layer in BW.

For OTIF process, all the processes in propagation layer are run in general Global Sales Process Chain

3 - Business Layer

This process chain is responsible to load the second and third layers from propagation layer.

Main Processes for OTIF    

PC_GL_SALES_DBSDSO20 (SD - Global Sales: OTIF (Solvay)) and PC_GL_SALES_DBSDSO60 (SD - Global Sales: OTIF (Rhodia))

Image Added            Image Added

PC_GL_SALES_DBSDSO9A (SD - Global Sales: Sales OTIF w/ Orderbook (Solvay)) and PC_GL_SALES_DBSDSO9B (SD - Global Sales: Sales OTIF w/ Orderbook (Rhodia))

Image Added                 Image Added

4 - Reporting Level

This process chain is responsible to load all the cubes 

The must important ones are:PC_GL_SALES_CRSDSO10 (SD - Global Sales: Cube CRSDSO10 OTIF Sales (Solvay)) and PC_GL_SALES_CRSDSO50 (SD - Global Sales: Cube CRSDSO50 OTIF Sales (Rhodia))

Image Added            Image Added

PC_GL_SALES_CRSDSO30 (Global Sales: CRSDSO30 (OTIF w/order book Solvay)) and PC_GL_SALES_CRSDSO70 (Global Sales: CRSDSO70 (OTIF w/order book Rhodia))

Image Added          Image Added



Data Quality Control

Transaction

Description

Corresponding table

Comments

VT03NShipments

VTTK, VTTS

in ERP
VI03Shipment Costs

VFKK, VFKP

in ERP 
VL03NDeliveries

LIKP, LIPS

 in ERP 
VA03Sales Orders

VBAK, VBAP

in ERP 
ME23NPurchase Orders

EKKO, EKPO, EKBE

in ERP 
MM03Material maintenanceMARAin ERP
RSUOMUnit conversion

T005

in BW 
RSCURCurrency conversion

TCURR

in BW 


https://wiki.solvay.com/display/TECHREP/BW+Authorizations?src=contextnavpagetreemode

Operational Documentation

Procedures

  • When the process chain fails, the process type must be analyzed and repeated if possible.
  • Sometimes a full load by period is required by user in order to syncronize all global sales data.

Scheduling

<Describe the scheduling in place for the application (eg. existing jobs, trigger time/event based, dependencies)>

Monitoring

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

Error Handling

<Describe how to handle errors (eg. error codes, description and respective resolution, alert users)>

Known Bugs

  • Sometimes the unit conversion is not done in query due the unit is not mapped correctly in table UOMCMAT2 by material.

Roadmap

  • The Global Sales is deployment phase and sometimes the GBU key user requests additional informations to be added in project.
  • The New field ZI Partner will be available for reporting in the queries:Queries- BW_QRY_MVSDSO51_0001 and QVSCE_BW_QRY_MVSDSO51_0001 with the requirement in the FD 4699751.