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

The new wiki link for this data flow is here:

Technical Documentation - Sales & distribution - OTIF report

Please update the doc there and no longer here.

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


General presentation

OTIF is sub function of Global Sales (analysis of all documents for sales handling costumers or transfer with plants and GBUs).

The term OTIF means On Time In Full, that is an analysis if the delivery was done in correct time and the quantity was delivered as requested, considering the tolerances. 

This sub function works with data handled by Global Sales about sales order lines, scheduled lines and deliveries.

The load is done daily using the process chain scheduled with delta process inside Global Sales Process Chain. 

List of contacts

Objective of the application

History

The OTIF analysis is generated in BI 4 with data based on PPS application just for Rhodia side and load QV application for SBS SCE (Supply Chain Excelence).

The OTIF for Solvay was created in 2016 in BW after OBAS implementation and it is the source for SBS SCE also.

Usage information

Around 300 users, worldwide with daily update 


General Rules

Functional Specificationsain Rules

SCE defines 6 different OTIF indicators:

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.



1.8 - QUERY FILTER

1.8.1 – Flag Intra GBU = NO

1.8.2 – Reason for rejection: VBAP-ABGRU is null or equal 98

 


Roles and 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_M49SD - Sales and DistributionRole menu


Authorization objects

List of authorization objects mandatory for the application.

Authorization object
Explanation
ZR_SD_CA_P05Global Business Unit (CPFCTR1_2)
ZR_TOUT_CA_P01

Company Code (C_COMPCDE)

ZR_RCS_CA_P14Sales Office (C_SAL_OFF)


See also file maintained by Authorization team : 


Statistics by infoproviders

InfoProvider UsedDescription / Calendar Year/Month JAN 2018 FEB 2018 MAR 2018 APR 2018 MAY 2018 JUN 2018 JUL 2018AUG 2018SEP 2018
MVSDSO50MP: Sales - OTIF (Global Sales)1022740405183712112
MVSDSO51MP: Sales & Transfer - OTIF (Global Sales)5414123
512139520
MVSDSO60

MP: Sales - OTIF with order book dates (Global Sales)






9333949
Overall Result
156415243519722545581



Statistics by queries

InfoProviderQuery  JAN 2018 FEB 2018 MAR 2018 APR 2018 MAY 2018 JUN 2018 JUL 2018AUG 2018SEP 2018
MVSDSO50BW_QRY_MVSDSO50_0001BW Sales - OTIF - Details24182112132820108
MVSDSO50BW_QRY_MVSDSO50_0003BW Sales - OTIF - Summary6



152
0
MVSDSO50BW_QRY_MVSDSO50_0002BW Sales - OTIF dashboard7041927384048114
MVSDSO50QVSCE_BW_QRY_MVSDSO50_0001BW Sales - OTIF QV25
1

1

MVSDSO51QVSCE_BW_QRY_MVSDSO51_0001BW OTIF (Sales & Transfer) QV543101
1109384
MVSDSO51BW_QRY_MVSDSO51_0003BW Transfer & Sales - OTIF - Summary






25
MVSDSO51/BW_QRY_MVSDSO51_0002BW Transfer PO OTIF - dashboard
3
1

6411
MVSDSO51BW_QRY_MVSDSO51_0001BW Transfer PO OTIF - Details
821
4654
MVSDSO60BW_QRY_MVSDSO60_0001BW Sales - OTIF & Orderbook - Details




33
5
MVSDSO60BW_QRY_MVSDSO60_0002BW Sales/Transfer - OTIF & Orderbook - Details




6283944
Result

156415243519722545581

  

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


Functional and Technical rules on Workbench + Reporting

Rules & Explanations

Main documentation:

Preparation

Global Sales Presentation

Design

OTIF Requirements

OTIF Specification for Rhodia (BI4)

Deployment

OTIF Proofing


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

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

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 

Unit conversions

The Unit conversion is done in the Bex queries (Quantity Conversion Type), after user chooses the unit conversion on reports

Transactionnal data are stored in sales unit

There are many "special" units on Solvay ERP, ie: 1KG, 1TN, VKG, KRE, 

Important : 

Quantities are not converted when loading data, and are not store into cubes (The conversion is done when running the report)

So, if a conversion is missing for a material ask the material referent to 

1- manage the conversion on ERP Side by managed the material master (MM03) / unit of measure tab

2- the day after, when the DSO UOMCMAT2 is filled, the conversion is applied in the reports. It applies to whole data without any reloading.

The conversion type created by Global Sales queries is QCT_MATNR4 (see below the setup for it).


BW Quantity Conversion

BW Updated Qty Unit by Material

Dependencies with other applications


Data loadings

Info providers and objects loaded

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

          


5 - Master data

The most part of master data loads are splitted inside business process chains

6 - Text & maintenance

 This process chain is responsible to load all the master data texts in BW.


Loading frequency

Daily loading inside the daily process chain

Average performance & monitoring

Daily process chain is loaded in 2 hours with around 30k lines in DELTA mode for a total of 10M lines in cubes. 

See below an extract of 1 month of monitoring


Key Figure
Estimation
~ Average Process Chain Runtime90 to 120 minutes
~ Average nb of rows loaded per load

Sales Order: Solvay 6K, Rhodia 2K

Sales order deliveries: Solvay 40K, Rhodia 10K

Sales order invoices: Solvay 9K, Rhodia 4K

1.200K records (all providers)

~ Total nb of rows loaded (if full)

Data is stored since 2014

Propagation Layer - Solvay 20.000K, Rhodia 10.000K

Business Layer - Solvay 15.000K, Rhodia 8.000K

Reporting - Solvay 15.000K, Rhodia 8.000K

Master data - Solvay 11.000K, Rhodia 5.000K

~ Average Runtime for 10k lines60 minutes


For details about application load monitoring, click in following link: Application Monitoring

Record Keeping

User defined that 3 full years stored is enough to be maintained in BW.

There is no automatic process to remove historical data, so any request about historical deletion should be done by user using Freshdesk ticket.


Modeling

Virtual Layer

MVSDSO50

MVSDSO51

MVSDSO60

Main datasources based on SAP tables

Main dimensions for the data

Reporting

Calculated & Restricted key figures


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


FolderSub-folderWorkbook
Query
OTIF
Detailed Reports
OTIF & Order Book: Sales & Purchase OrderBW_WBK_MVSDSO60_0002BW Sales/Transfer - OTIF & Orderbook - Details (core query)
OTIF & Order Book: Sales OrderBW_WBK_MVSDSO60_0001BW Sales - OTIF & Orderbook - Details (core query)
OTIF: Sales & Purchase OrderBW_WBK_MVSDSO51_0001BW Transfer PO OTIF - Details (core query)
OTIF: Sales OrderBW_WBK_MVSDSO50_0004BW Sales - OTIF - Details (core query)

OTIF: Sales & Purchase Order (Summary)BW_WBK_MVSDSO51_0003BW Transfer & Sales - OTIF - Summary (core query)

OTIF: Sales & Purchase Order (Synthesis)BW_WBK_MVSDSO51_0002BW Transfer PO OTIF - dashboard (core query)

OTIF: Sales Order (Synthesis)BW_WBK_MVSDSO50_0001BW Sales - OTIF - dashboard (core query)

OTIF: Sales Order (Summary)BW_WBK_MVSDSO50_0003BW Sales - OTIF - summary (core query)

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_0001
MVSDSO50_

QVSCE_BW_QRY_MVSDSO50_0001




  

Broadcast


Maintenance

Known bugs

Recurring procedure

Planned Evolution

Useful transactions to be used for checking data

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