Page tree


Access Management 


Roles & Access

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

Role CodeRole DescriptionExplanation
ZR_RCS_CA_M49SD - Sales and DistributionRole menu

ZBI_RCS_SD_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

Authorization Objects

List of authorization objects mandatory for the application.

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


MP Details - characteristics

Details - Key Figures


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

                               


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)

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 

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

MP Details - Key figures

Technical Rules on Workbench

Main documentation:

Preparation

Design

Deployment


Business Rules

Get the GBU code


For Rhodia

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

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


For Solvay

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

The function above is used to fill zeros left

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


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

Define the good issue date reference

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

Define the achieved delivery date and achieved shipment datte

Determine In Full requested considering the lower and upper tolerance 

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

Determine In Full confirmed measure considering the lower and upper tolerance 

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

Determine the differences between delivery quantity and requested quantity

Generate on time delivery customer request (OTD CR)

Consider special NON OTIF reasons as OTIF

Generate group of delays for OTDCR

Generate OTDCR delay days

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)

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 

Generate NON OTIF Type 

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  

Leadtime 2: difference between the customer PO Date (VBKD-BSTDK), and the achieved GI date (Max Actual GI Date)

Leadtime 3: difference between the customer PO Date, and the requested delivery date (Max Last Req Delivery] 

Leadtime 4: difference between the customer PO Date and the achieved delivery date (Achieved Delivery Date) 

Leadtime LeadTime Requested Order line creation date -  order line last customer req Goods Issue date

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

Leadtime LeadTime Actual Order line creation date - actual GI date

Leatime 8 : Last Req GI date - Customer PO 

Leatime 9 : First Req GI date - Customer PO 

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)



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

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

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

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

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

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

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

            

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

                 

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

           

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

         



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.