Professional Documents
Culture Documents
LAM WE NAM
Stock Sharing
DTC OTA
TA
PO MRP
Jorda
Pacific Turke Moroc
n India
NZ y co
(FZE)
PO
ARUN DPA
Retail / Ecom Ecom / Retail
Colom Canad
Chile US EU
bia a
Moroc
co
ASIS
Dataset Columns
MRP MAIN_CHANNEL
MRP CHANNEL_LEVEL
MRP MARKET
MRP COUNTRY_REPORTING_UNIT
MRP RDD_MONTH
MRP RID_MONTH
MRP DERIVED_RDD_MONTH
MRP GROUP_ARTICLE
MRP RANGE_SEASON_CARRY_OVER
MRP REQUIREMENT_CATEGORY
MRP SEASON DTC OTA KPI
MRP AREA_RANGE
MERGING THE DATABASES AGGREGATION AND CALCULATION MRP
MRP
VALID_FROM_DATE
VALID_TO_DATE
Dataset
MRP
Columns
MAIN_CHANNEL
MRP CHANNEL_LEVEL
MRP ARUN_QTY_UOM MRP MARKET
MRP ON_HAND_STOCK_QTY MRP COUNTRY_REPORTING_UNIT
MRP RDD_MONTH
MRP DEMAND_QTY MRP RID_MONTH
MRP SUPPLY_SHORTAGE_QTY MRP DERIVED_RDD_MONTH
MRP GROUP_ARTICLE
MRP SUPPLY_QTY MRP RANGE_SEASON_CARRY_OVER
MRP UNREALISTIC_RDD_QTY
ER_OTIF_POOL.MRP_APAC_SNAPSHOT ER_OTIF_POOL.MRP_AFS ER_OTIF_POOL.AGG_MRP_AFS
MRP REQUIREMENT_CATEGORY
MRP BUY_READY_QTY MRP SEASON
ER_OTIF_POOL.MRP_CIS_SNAPSHOT
MRP AREA_RANGE
MRP PO_CREATION_DAYS_LATE MRP VALID_FROM_DATE
MRP FACTORY_DAYS_LATE
ER_OTIF_POOL.MRP_EMEA_SNAPSHOT
MRP VALID_TO_DATE
MRP ARUN_QTY_UOM
MRP INBOUND_DAYS_LATE
MRP ON_HAND_STOCK_QTY
ER_OTIF_POOL.MRP_NAM_SNAPSHOT MRP
MRP
ON_TIME_AVAILABLE_QTY
ON_TIME_PO_QTY
MRP
MRP
DEMAND_QTY
SUPPLY_SHORTAGE_QTY
MRP SUPPLY_QTY
MRP ARUN_DEMAND_FC_QTY MRP UNREALISTIC_RDD_QTY
MRP ARUN_DEMAND_SO_QTY MRP BUY_READY_QTY
MRP ARUN_OTA_FC_QTY MRP PO_CREATION_DAYS_LATE
MRP FACTORY_DAYS_LATE
MRP ARUN_OTA_SO_QTY MRP INBOUND_DAYS_LATE
MRP ON_TIME_AVAILABLE_QTY
MRP ON_TIME_PO_QTY
MRP ARUN_DEMAND_FC_QTY
MRP ARUN_DEMAND_SO_QTY
MRP ARUN_OTA_FC_QTY
UNION ALL MRP
ARUN
ARUN_OTA_SO_QTY
MAIN_CHANNEL
ARUN CHANNEL_LEVEL
ARUN MARKET
ARUN COUNTRY_REPORTING_UNIT
ARUN RDD_MONTH
ARUN RID_MONTH
ER_OTIF_POOL.ARUN_PREVIEW_EMEA_SNAPSHOT ARUN
ARUN
PO_CREATION_DAYS_LATE
FACTORY_DAYS_LATE
ER_OTIF_POOL.ARUN_PREVIEW_US_SNAPSHOT ARUN INBOUND_DAYS_LATE
ARUN ON_TIME_AVAILABLE_QTY
ARUN ON_TIME_PO_QTY
ARUN ARUN_DEMAND_FC_QTY
ARUN ARUN_DEMAND_SO_QTY
ARUN ARUN_OTA_FC_QTY
ARUN ARUN_OTA_SO_QTY
TO BE
Dataset Columns
MRP MAIN_CHANNEL
MRP CHANNEL_LEVEL
MRP MARKET
MRP COUNTRY_REPORTING_UNIT
MRP RDD_MONTH
MRP RID_MONTH
MERGING THE DATABASES AGGREGATION AND CALCULATION MRP DERIVED_RDD_MONTH
MRP GROUP_ARTICLE
MRP RANGE_SEASON_CARRY_OVER
MRP REQUIREMENT_CATEGORY
MRP SEASON
MRP AREA_RANGE
ER_OTIF_POOL.MRP_APAC_SNAPSHOT ER_OTIF_POOL.MRP_AFS ER_OTIF_POOL.AGG_MRP_AFS MRP VALID_FROM_DATE
ER_OTIF_POOL.MRP_CIS_SNAPSHOT
MRP VALID_TO_DATE
MRP ARUN_QTY_UOM
ER_OTIF_POOL.MRP_EMEA_SNAPSHOT MRP ON_HAND_STOCK_QTY
ER_OTIF_POOL.MRP_NAM_SNAPSHOT
Generate one database
UNION ALL with all record
Dataset Columns
MRP MAIN_CHANNEL
MRP CHANNEL_LEVEL
MRP MARKET
MRP COUNTRY_REPORTING_UNIT
MRP
MRP
RDD_MONTH
RID_MONTH
DTC OTA KPI
MRP DERIVED_RDD_MONTH
MRP GROUP_ARTICLE
MRP RANGE_SEASON_CARRY_OVER
MRP REQUIREMENT_CATEGORY Dataset Columns
MRP SEASON MAIN_CHANNEL
MRP AREA_RANGE CHANNEL_LEVEL
Dataset Columns MRP VALID_FROM_DATE MARKET
ARUN MAIN_CHANNEL MRP VALID_TO_DATE COUNTRY_REPORTING_UNIT
MRP ARUN_QTY_UOM RDD_MONTH
ARUN CHANNEL_LEVEL MRP ON_HAND_STOCK_QTY RID_MONTH
DERIVED_RDD_MONTH
ARUN MARKET ARUN MAIN_CHANNEL
GROUP_ARTICLE
ARUN CHANNEL_LEVEL
ARUN COUNTRY_REPORTING_UNIT ARUN MARKET PERFORM THE CALCULATION DEFINING THE DEMAND AS: RANGE_SEASON_CARRY_OVER
REQUIREMENT_CATEGORY
ARUN RDD_MONTH ARUN COUNTRY_REPORTING_UNIT SEASON
ARUN RID_MONTH ARUN RDD_MONTH LEASTEST (ARUN_DEMAND, DPA_DEMAND, MRP_DEMAND) DEMAND
ARUN DERIVED_RDD_MONTH
MERGE ALL DATABASE ARUN RID_MONTH
AREA_RANGE
VALID_FROM_DATE
MERGING THE DATABASES AGGREGATION ARUN GROUP_ARTICLE
ARUN
ARUN
DERIVED_RDD_MONTH
GROUP_ARTICLE
VALID_TO_DATE
ARUN_QTY_UOM
ARUN RANGE_SEASON_CARRY_OVER ON_HAND_STOCK_QTY
ARUN RANGE_SEASON_CARRY_OVER DEMAND_QTY
ARUN REQUIREMENT_CATEGORY
ARUN REQUIREMENT_CATEGORY ARUN SEASON SUPPLY_SHORTAGE_QTY
SUPPLY_QTY
ARUN SEASON ARUN AREA_RANGE
UNREALISTIC_RDD_QTY
ARUN AREA_RANGE
ARUN VALID_FROM_DATE NEW DEMAND BUY_READY_QTY
ARUN VALID_TO_DATE PO_CREATION_DAYS_LATE
ARUN VALID_FROM_DATE ARUN ARUN_QTY_UOM FACTORY_DAYS_LATE
ARUN ON_HAND_STOCK_QTY
ARUN VALID_TO_DATE INBOUND_DAYS_LATE
ER_OTIF_POOL.ARUN_PREVIEW_EMEA_SNAPSHOT DPA
DPA
COUNTRY_REPORTING_UNIT
RDD_MONTH
ARUN_DEMAND_SO_QTY
ARUN_OTA_FC_QTY
ER_OTIF_POOL.ARUN_PREVIEW_US_SNAPSHOT
ARUN_OTA_SO_QTY
DPA RID_MONTH
DPA DERIVED_RDD_MONTH
DPA GROUP_ARTICLE
DPA RANGE_SEASON_CARRY_OVER
DPA REQUIREMENT_CATEGORY
DPA SEASON
DPA AREA_RANGE
DPA VALID_FROM_DATE
DPA VALID_TO_DATE
DPA ARUN_QTY_UOM
DPA ON_HAND_STOCK_QTY
UNION ALL
Dataset Columns
DPA MAIN_CHANNEL
DPA CHANNEL_LEVEL
DPA MARKET
DPA COUNTRY_REPORTING_UNIT
DPA RDD_MONTH
DPA RID_MONTH
DPA DERIVED_RDD_MONTH
DPA GROUP_ARTICLE
DPA RANGE_SEASON_CARRY_OVER
DPA REQUIREMENT_CATEGORY
DPA SEASON
DPA AREA_RANGE
ER_OTIF_POOL.DTC_OTA_AGG_DPA DPA
DPA
VALID_FROM_DATE
VALID_TO_DATE
DPA ARUN_QTY_UOM
DPA ON_HAND_STOCK_QTY
DTC OTA
PO MRP
TA Stock Sharing
ARUN DPA
Retail / Ecom Ecom / Retail
Supply / Demand
Colom Canad
Chile US EU
bia a
mand
Total MAD
PO MRP ARU
Retai
Retail Ecom Ecom / Retail
Ecom
Pacifi Pacifi Pacifi Ukrai Russi
HK TW MLC
c AU c AU c NZ ne a
Retail /
Ecom / Retail
Ecom
SEA SEA SEA SEA SEA
MLC JP
ID MY PH SG TH
Colo Canad
Chile US EU
mbia a
ring
BASE_QTY_UOM
DEMAND_QTY_UOM
‐‐DEMAND_QTY_UOM ‐‐OTA_QTY_UOM/COTA_QTY_UOM
CASE WHEN REQUIREMENT_CATEGORY != ' ' THEN (LOCAL.STOCK_QTY_UOM + LOCAL.ONTIME_PO_QTY_RDD_UOM + (CASE WHEN IDENTIFIE
BASE_QTY_UOM END AS DEMAND_QTY_UOM, WHEN IDENTIFIER = 'ARUN' AND MRP_TYPE <> 'Z2' THEN LOCAL.NOT_ALLOC_WIT
‐‐BASE_QTY_UOM ‐‐ONTIME_PO_QTY_RDD_UO
CASE WHEN STOCK_TYPE ='C' THEN BASE_QTY_UOM CASE WHEN IDENTIFIER =
ELSE 0 END AS STOCK_QTY_UOM, POR_AVAILABILITY_DATE
WHEN IDENTIFIER = '
REQUESTED_DELIVERY_DAT
ELSE 0 END AS ONTIM
SUPPLY SHORTAGE
(DEMAND – OTA)
‐‐SUPPLY SHORTAGE
LOCAL.DEMAND_QTY_UOM ‐ LOCAL.OTA_QTY_UOM AS
PROJECTED_LATE_QTY_OTA,
PLRD <= RDD
OTA
WHEN IDENTIFIER = 'MRP' THEN LOCAL.NOT_ALLOC_WITHIN_RLT_QTY_RDD_UOM
NOT_ALLOC_WITHIN_RLT_QTY_RDD_UOM ELSE 0 END)) AS OTA_QTY_UOM,
LATE
LATE_UNCOVERED_DEMAND_QTY_RDD_UOM
‐‐UNREALISTIC_DEMAND_QTY_RDD_UOM/UNREALISTIC_DEMAND_QTY_MAD
CASE WHEN (LOCAL.DEMAND_QTY_UOM ‐LOCAL.OTA_QTY_UOM ‐ LOCAL
THEN (LOCAL.DEMAND_QTY_UOM ‐LOCAL.OTA_QTY_UOM ‐ LOCAL.
CASE WHEN (LOCAL.DEMAND_QTY_UOM ‐LOCAL.COTA_QTY_UOM ‐ LOCA
THEN (LOCAL.DEMAND_QTY_UOM ‐LOCAL.COTA_QTY_UOM ‐ LOCAL.
EMAND_QTY_MAD_UOM
>= 0
PE = 'Z2' THEN LOCAL.NOT_ALLOC_WITHIN_RLT_QTY_RDD_UOM ELSE 0 END) + LOCAL.NOT_ALLOC_OUTSIDE_RLT_QTY_RDD_UOM)
_QTY_MAD_UOM
‐ LOCAL.LATE_UNCOVEED_DEMAND_QTY_RDD_UOM) > 0 AND CONFIRMED_DELIVERY_DATE > REQUESTED_DELIVERY_DATE AND REQUI
LOCAL.LATE_UNCOVEED_DEMAND_QTY_RDD_UOM) ELSE 0 END AS UNREALISTIC_DEMAND_QTY_RDD_UOM,
‐ LOCAL.LATE_UNCOVEED_DEMAND_QTY_MAD_UOM) > 0 AND (COTA_REPORTING_DATE + URD_TOLERANCE) < RETAIL_INTRO_DATE_
LOCAL.LATE_UNCOVEED_DEMAND_QTY_MAD_UOM) ELSE 0 END AS UNREALISTIC_DEMAND_QTY_MAD_UOM,
D_UOM) ELSE 0 END AS LATE_UNCOVEED_DEMAND_QTY_RDD_UOM,
D REQUIREMENT_TYPE <> 'PB'
O_DATE_GLOBAL
‐‐PURCHASE_LATE_QTY_RDD_UOM/PURCHASE_LATE_QTY_MAD_UOM
(LOCAL.DEMAND_QTY_UOM ‐ LOCAL.OTA_QTY_UOM ‐ LOCAL.LATE_UNCO
(LOCAL.DEMAND_QTY_UOM ‐ LOCAL.COTA_QTY_UOM ‐ LOCAL.LATE_UNC
CASE WHEN LOCAL.PURCAHSE_LATE_DAYS > 0 AND LOCAL.PO_LATE_QT
THEN (LOCAL.PURCAHSE_LATE_DAYS / LOCAL.TOTAL_LATE_DAYS) *
ELSE 0 END AS PURCHASE_LATE_QTY_RDD_UOM,
‐‐FACTORY_LATE_QTY_RDD_UOM/FACTORY_LATE_QTY_MAD_UOM
CASE WHEN LOCAL.FACTORY_LATE_DAYS > 0 AND LOCAL.PO_LATE_QTY
THEN (LOCAL.FACTORY_LATE_DAYS / LOCAL.TOTAL_LATE_DAYS) * (
ELSE 0 END AS FACTORY_LATE_QTY_RDD_UOM,
‐‐INBOUND_LATE_QTY_RDD_UOM/INBOUND_LATE_QTY_MAD_UOM
CASE WHEN LOCAL.INBOUND_LATE_DAYS > 0 AND LOCAL.PO_LATE_QTY
THEN (LOCAL.INBOUND_LATE_DAYS / LOCAL.TOTAL_LATE_DAYS) * (
ELSE 0 END AS INBOUND_LATE_QTY_RDD_UOM,
OM
ATE_UNCOVEED_DEMAND_QTY_RDD_UOM ‐ LOCAL.UNREALISTIC_DEMAND_QTY_RDD_UOM) AS PO_LATE_QTY_RDD_UOM,
LATE_UNCOVEED_DEMAND_QTY_MAD_UOM ‐ LOCAL.UNREALISTIC_DEMAND_QTY_MAD_UOM) AS PO_LATE_QTY_MAD_UOM,
_LATE_QTY_RDD_UOM > 0
AYS) * (LOCAL.DEMAND_QTY_UOM ‐ LOCAL.OTA_QTY_UOM ‐ LOCAL.LATE_UNCOVEED_DEMAND_QTY_RDD_UOM ‐ LOCAL.UNREALISTIC
LATE_QTY_RDD_UOM > 0
YS) * (LOCAL.DEMAND_QTY_UOM ‐ LOCAL.OTA_QTY_UOM ‐ LOCAL.LATE_UNCOVEED_DEMAND_QTY_RDD_UOM ‐ LOCAL.UNREALISTIC_
LATE_QTY_RDD_UOM > 0
YS) * (LOCAL.DEMAND_QTY_UOM ‐ LOCAL.OTA_QTY_UOM ‐ LOCAL.LATE_UNCOVEED_DEMAND_QTY_RDD_UOM ‐ LOCAL.UNREALISTIC_
ALISTIC_DEMAND_QTY_RDD_UOM)
LISTIC_DEMAND_QTY_RDD_UOM)
LISTIC_DEMAND_QTY_RDD_UOM)
BASE_QTY_UOM
(LOCAL.STOCK_QTY_UOM + LOCAL.ONTIME_PO_QTY_RDD_UOM + (CASE WHEN IDENTIFIE
0 END)) AS OTA_QTY_UOM,
STOCK_TYPE ='C' STOCK_TYPE
‐‐BASE_QTY_UOM ‐‐ONTIME_PO_QTY_RDD_UO
CASE WHEN STOCK_TYPE ='C' THEN BASE_QTY_UOM CASE WHEN IDENTIFIER =
ELSE 0 END AS STOCK_QTY_UOM, POR_AVAILABILITY_DATE
‐‐DEMAND_QTY_UOM
WHEN IDENTIFIER = '
CASE WHEN REQUIREMENT_CATEGORY != ' ' THEN
REQUESTED_DELIVERY_DAT
BASE_QTY_UOM END AS DEMAND_QTY_UOM,
ELSE 0 END AS ONTIM
SUPPLY SHORTAGE
(DEMAND – OTA)
‐‐SUPPLY SHORTAGE
LOCAL.DEMAND_QTY_UOM ‐ LOCAL.OTA_QTY_UOM AS
PROJECTED_LATE_QTY_OTA,
PLRD <= RDD + OTA_TOLEARANCE
OTA
WHEN IDENTIFIER = 'MRP' THEN LOCAL.NOT_ALLOC_WITHIN_RLT_QTY_RDD_UOM WHEN IDENTIFIER = 'ARUN' AND MRP_TYPE <> 'Z2' THEN LOCAL.NOT_ALLOC_WITHIN_RLT_QTY_RDD_UOM ELSE
LATE_UN
DEMAND_QTY_UOM
LATE_UNCOVERED_DEMAND_QTY_RDD_UOM
Should we include the OTA_TOLEARANCE in the condition? Should we include the OTA_TOLEARANCE in the condition?
3 3
Because the Stock_Type = ‘A’ has a PLRD. Because the Stock_Type = ‘A’ has a PLRD.
USE)
‐‐UNREALISTIC_DEMAND_QTY_RDD_UOM/UNREALISTIC_DEMAND_QTY_MAD
CASE WHEN (LOCAL.DEMAND_QTY_UOM ‐LOCAL.OTA_QTY_UOM ‐ LOCAL
THEN (LOCAL.DEMAND_QTY_UOM ‐LOCAL.OTA_QTY_UOM ‐ LOCAL.
EMAND_QTY_MAD_UOM
>= 0
PE = 'Z2' THEN LOCAL.NOT_ALLOC_WITHIN_RLT_QTY_RDD_UOM ELSE 0 END) + LOCAL.NOT_ALLOC_OUTSIDE_RLT_QTY_RDD_UOM)
_QTY_MAD_UOM
‐ LOCAL.LATE_UNCOVEED_DEMAND_QTY_RDD_UOM) > 0 AND CONFIRMED_DELIVERY_DATE > REQUESTED_DELIVERY_DATE AND REQUI
LOCAL.LATE_UNCOVEED_DEMAND_QTY_RDD_UOM) ELSE 0 END AS UNREALISTIC_DEMAND_QTY_RDD_UOM,
D_UOM) ELSE 0 END AS LATE_UNCOVEED_DEMAND_QTY_RDD_UOM,
D REQUIREMENT_TYPE <> 'PB'
‐‐DEMAND_QTY_UOM
CASE WHEN REQUIREMENT_CATEGORY != ' ' THEN
BASE_QTY_UOM END AS DEMAND_QTY_UOM,
SUPPLY SHORTAGE
(DEMAND – OTA)
‐‐SUPPLY SHORTAGE
LOCAL.DEMAND_QTY_UOM ‐ LOCAL.OTA_QTY_UOM AS
PROJECTED_LATE_QTY_OTA,
OTA
(LOCAL.STOCK_QTY_UOM + LOCAL.ONTIME_PO_QTY_RDD_UOM + (CASE WHEN IDENTIFIER = 'MRP' THEN LOCAL.NOT_ALLOC_WITHIN_RLT_QTY_RDD_UOM WHE
AND MRP_TYPE <> 'Z2' THEN LOCAL.NOT_ALLOC_WITHIN_RLT_QTY_RDD_UOM ELSE 0 END)) AS OTA_QTY_UOM,
STOCK_QTY_UO
ONTIME_PO_QTY_RDD_UOM NOT_ALLOC_WITH
M (INV. OH)
STOCK_TYPE in ('B', 'L', 'A') AND PLRD <=
STOCK_TYPE ='C' STOCK_TYPE IN (
RSS + OTA_TOLEARA
2 3
Should we include the condition CASE Should we include the
ARANCE OTA_TOLEARANCE in the condition?
WHEN STOCK_TYPE IN (' ', 'A')? Because
ck_Type Because the Stock_Type = ‘A’ has a
the NOT_ALLOC_WITHIN_RLT has this
condition? PLRD.
There is no condition on purchase_late. We are
assuming that the rest of the demand (Demand
4 – OTA – Late_Uncoverage – Ur=nrealistic) has
the purchae late
RDD_UOM/PURCHASE_LATE_QTY_MAD_UOM
M ‐ LOCAL.OTA_QTY_UOM ‐
DEMAND_QTY_RDD_UOM ‐ LOCAL.UNREALISTIC_DEMAND_QTY_RDD_UOM)
OM,
PURCHA
SE LATE
FACTORY
FACTOR LATE
Y LATE PURCHASE
LATE
INBOUND INBOUND
LATE LATE
WRONG RIGHT
‐‐LATE_UNCOVERED_DEMAND_QTY_RDD_UOM/LATE_UNCOVEED_DEMAND_QT
CASE WHEN LOCAL.DEMAND_QTY_UOM ‐ LOCAL.OTA_QTY_UOM >= 0
THEN ((CASE WHEN IDENTIFIER = 'ARUN' AND MRP_TYPE = 'Z
‐‐UNREALISTIC_DEMAND_QTY_RDD_UOM/UNREALISTIC_DEMAND_QTY_MAD
CASE WHEN (LOCAL.DEMAND_QTY_UOM ‐LOCAL.OTA_QTY_UOM ‐ LOCAL
THEN (LOCAL.DEMAND_QTY_UOM ‐LOCAL.OTA_QTY_UOM ‐ LOCAL.
EMAND_QTY_MAD_UOM
>= 0
PE = 'Z2' THEN LOCAL.NOT_ALLOC_WITHIN_RLT_QTY_RDD_UOM ELSE 0 END) + LOCAL.NOT_ALLOC_OUTSIDE_RLT_QTY_RDD_UOM)
_QTY_MAD_UOM
‐ LOCAL.LATE_UNCOVEED_DEMAND_QTY_RDD_UOM) > 0 AND CONFIRMED_DELIVERY_DATE > REQUESTED_DELIVERY_DATE AND REQUI
LOCAL.LATE_UNCOVEED_DEMAND_QTY_RDD_UOM) ELSE 0 END AS UNREALISTIC_DEMAND_QTY_RDD_UOM,
D_UOM) ELSE 0 END AS LATE_UNCOVEED_DEMAND_QTY_RDD_UOM,
D REQUIREMENT_TYPE <> 'PB'
ASIS TO
ASIS AS
DEMAND_QTY_UOM
(LOCAL.STOCK_QTY_UOM + LOCAL.ONTIME_PO_QTY_RDD_UOM + (CASE WHEN IDENTIFIER = 'MRP' THEN LOCAL.NOT_ALLOC_WITHIN_RLT_QTY_RDD_UOM WHEN IDENTIFIER = 'ARUN'
AND MRP_TYPE <> 'Z2' THEN LOCAL.NOT_ALLOC_WITHIN_RLT_QTY_RDD_UOM ELSE 0 END)) AS OTA_QTY_UOM, LATE_UNCOVERED_DEMAND_QTY_RDD_UOM
UNREALISTIC_DEMAND
STOCK_QTY_UO
ONTIME_PO_QTY_RDD_UOM NOT_ALLOC_WITHIN_RLT NOT_ALLOC_WITHIN_RLT NOT_ALLOC_OUTSIDE_RLT FA
M (INV. OH)
STOCK_TYPE in ('B', 'L', 'A') AND PLRD <=
STOCK_TYPE ='C' STOCK_TYPE IN (' ', 'A') MRP_TYPE = 'Z2' STOCK_TYPE IN (' ', 'A') CDD > RDD AND REQUIR_TYPE <> 'PB' FACTORY_LATE_
RSS + OTA_TOLEARA
1 2 3
Should we include the condition CASE Should we include the
Should we include the OTA_TOLEARANCE OTA_TOLEARANCE in the condition?
WHEN STOCK_TYPE IN (' ', 'A')? Because
in the condition? Because the Stock_Type Because the Stock_Type = ‘A’ has a
the NOT_ALLOC_WITHIN_RLT has this
= ‘A’ has a PLRD. PLRD.
condition?
TO BE
ASIS
‐‐SUPPLY SHORTAGE
MAND – OTA) LOCAL.DEMAND_QTY_UOM ‐ LOCAL.OTA_QTY_UOM AS
PROJECTED_LATE_QTY_OTA,
‐‐PURCHASE_LATE_QTY_RDD_UOM/PURCHASE_LATE_QTY_MAD_UOM
PURCHASE_LATE (LOCAL.DEMAND_QTY_UOM ‐ LOCAL.OTA_QTY_UOM ‐
LOCAL.LATE_UNCOVEED_DEMAND_QTY_RDD_UOM ‐
LOCAL.UNREALISTIC_DEMAND_QTY_RDD_UOM) AS PO_LATE_QTY_RDD_UOM,
OTHER
FACTORY_LATE INBOUND_LATE 4
There is no condition on purchase_late. We are
' FACTORY_LATE_DAYS > 0 AND LOCAL.PO_LATE_QTY > 0 INBOUND_LATE_DAYS > 0 AND PO_LATE_QTY_RDD > 0 assuming that the rest of the demand (Demand
– OTA – Late_Uncoverage – Ur=nrealistic) has
the purchae late. We should include the
‐‐FACTORY_LATE_QTY_RDD_UOM/ ‐‐INBOUND_LATE_QTY_RDD_UOM/
FACTORY_LATE_QTY_MAD_UOM INBOUND_LATE_QTY_MAD_UOM
condition PO_LATE_QTY_RDD > 0.The way we are
CASE WHEN LOCAL.FACTORY_LATE_DAYS > 0 AND CASE WHEN LOCAL.INBOUND_LATE_DAYS > 0 AND modeling, everything will go to purchase late.
LOCAL.PO_LATE_QTY_RDD_UOM > 0 LOCAL.PO_LATE_QTY_RDD_UOM > 0 There will not have any “other”
AND THEN (LOCAL.FACTORY_LATE_DAYS / THEN (LOCAL.INBOUND_LATE_DAYS /
LOCAL.TOTAL_LATE_DAYS) * (LOCAL.DEMAND_QTY_UOM LOCAL.TOTAL_LATE_DAYS) * (LOCAL.DEMAND_QTY_UOM
<> ‐ LOCAL.OTA_QTY_UOM ‐ ‐ LOCAL.OTA_QTY_UOM ‐
LOCAL.LATE_UNCOVEED_DEMAND_QTY_RDD_UOM ‐ LOCAL.LATE_UNCOVEED_DEMAND_QTY_RDD_UOM ‐
LOCAL.UNREALISTIC_DEMAND_QTY_RDD_UOM) LOCAL.UNREALISTIC_DEMAND_QTY_RDD_UOM)
ELSE 0 END AS FACTORY_LATE_QTY_RDD_UOM, ELSE 0 END AS INBOUND_LATE_QTY_RDD_UOM,
0
5
The sum of the factory and inbound late must
be equal to the purchase late. Therefore, in the
waterfall, they must not be side by side.
PURCHA
SE LATE
FACTORY
FACTOR LATE
Y LATE PURCHASE
LATE
INBOUND INBOUND
LATE LATE
WRONG RIGHT
ASIS
ASIS
(LOCAL.STOCK_QTY_UOM + LOCAL.ONTIME_PO_QTY_RDD_UOM + (CASE WHEN IDENTIFIER = 'MRP' THEN LOCAL.NOT_ALLOC_WITHIN_RLT_QTY_RDD_UOM WHEN IDENTIFIER = 'ARUN'
OTA ONTIME
AND MRP_TYPE <> 'Z2' THEN LOCAL.NOT_ALLOC_WITHIN_RLT_QTY_RDD_UOM ELSE 0 END)) AS OTA_QTY_UOM, SUPPLY SH
STOCK_QTY_UO
ONTIME_PO_QTY_RDD_UOM NOT_ALLOC_WITHIN_RLT NOT_ALLOC_WITHIN_
M (INV. OH)
STOCK_TYPE in ('B', 'L', 'A') AND PLRD <=
STOCK_TYPE ='C' STOCK_TYPE IN (' ', 'A') MRP_TYPE = 'Z2'
RSS + OTA_TOLEARA
2
Should we include the condition CASE
WHEN STOCK_TYPE IN (' ', 'A')? Because OTA_T
the NOT_ALLOC_WITHIN_RLT has this Becau
condition?
TO BE
ASIS
‐‐SUPPLY SHORTAGE
DEMAND_QTY_UOM LOCAL.DEMAND_QTY_UOM ‐ LOCAL.OTA_QTY_UOM AS
PROJECTED_LATE_QTY_OTA,
‐‐PURCHASE_LATE_QTY_RDD_UOM/PURCHASE_LATE_QTY_MAD_UOM
SUPPLY SHORTAGE (DEMAND – OTA) PURCHASE_LATE (LOCAL.DEMAND_QTY_UOM ‐ LOCAL.OTA_QTY_UOM ‐
LOCAL.LATE_UNCOVEED_DEMAND_QTY_RDD_UOM ‐
LOCAL.UNREALISTIC_DEMAND_QTY_RDD_UOM) AS PO_LATE_QTY_RDD_UOM,
UNREALISTIC_DEMAND OTHER
LOC_WITHIN_RLT NOT_ALLOC_OUTSIDE_RLT FACTORY_LATE INBOUND_LATE 4
There is no condition on purchase_late. We are
RP_TYPE = 'Z2' STOCK_TYPE IN (' ', 'A') CDD > RDD AND REQUIR_TYPE <> 'PB' FACTORY_LATE_DAYS > 0 AND LOCAL.PO_LATE_QTY > 0 INBOUND_LATE_DAYS > 0 AND PO_LATE_QTY_RDD > 0 assuming that the rest of the demand (Demand
– OTA – Late_Uncoverage – Ur=nrealistic) has
the purchae late. We should include the
ED_DEMAND_QTY_RDD_UOM ‐‐NOT_ALLOC_OUTSIDE_RLT_QTY_RDD_UOM ‐‐UNREALISTIC_DEMAND_QTY_RDD_UOM/ ‐‐FACTORY_LATE_QTY_RDD_UOM/ ‐‐INBOUND_LATE_QTY_RDD_UOM/
L.DEMAND_QTY_UOM ‐ CASE WHEN IDENTIFIER = 'MRP' THEN (CASE WHEN UNREALISTIC_DEMAND_QTY_MAD_UOM FACTORY_LATE_QTY_MAD_UOM INBOUND_LATE_QTY_MAD_UOM
condition PO_LATE_QTY_RDD > 0.The way we are
UOM >= 0 STOCK_TYPE IN (' ', 'A') AND (VALID_FROM_DATE ‐ CASE WHEN (LOCAL.DEMAND_QTY_UOM ‐ CASE WHEN LOCAL.FACTORY_LATE_DAYS > 0 AND CASE WHEN LOCAL.INBOUND_LATE_DAYS > 0 AND modeling, everything will go to purchase late.
E WHEN IDENTIFIER = 'ARUN' AND REQUESTED_DELIVERY_DATE + PLANNED_DEL_DAYS) > 0 LOCAL.OTA_QTY_UOM ‐ LOCAL.PO_LATE_QTY_RDD_UOM > 0 LOCAL.PO_LATE_QTY_RDD_UOM > 0 There will not have any “other”
' THEN THEN BASE_QTY_UOM ELSE 0 END) LOCAL.LATE_UNCOVEED_DEMAND_QTY_RDD_UOM) > 0 AND THEN (LOCAL.FACTORY_LATE_DAYS / THEN (LOCAL.INBOUND_LATE_DAYS /
C_WITHIN_RLT_QTY_RDD_UOM ELSE WHEN IDENTIFIER = 'ARUN' THEN (CASE WHEN CONFIRMED_DELIVERY_DATE > LOCAL.TOTAL_LATE_DAYS) * (LOCAL.DEMAND_QTY_UOM LOCAL.TOTAL_LATE_DAYS) * (LOCAL.DEMAND_QTY_UOM
STOCK_TYPE = ' ' AND (VALID_FROM_DATE ‐ REQUESTED_DELIVERY_DATE AND REQUIREMENT_TYPE <> ‐ LOCAL.OTA_QTY_UOM ‐ ‐ LOCAL.OTA_QTY_UOM ‐
C_OUTSIDE_RLT_QTY_RDD_UOM) REQUESTED_DELIVERY_DATE + PLANNED_DEL_DAYS) > 0 'PB' LOCAL.LATE_UNCOVEED_DEMAND_QTY_RDD_UOM ‐ LOCAL.LATE_UNCOVEED_DEMAND_QTY_RDD_UOM ‐
THEN BASE_QTY_UOM ELSE 0 END) END AS THEN (LOCAL.DEMAND_QTY_UOM ‐ LOCAL.UNREALISTIC_DEMAND_QTY_RDD_UOM) LOCAL.UNREALISTIC_DEMAND_QTY_RDD_UOM)
DEMAND_QTY_RDD_UOM, NOT_ALLOC_OUTSIDE_RLT_QTY_RDD_UOM, LOCAL.OTA_QTY_UOM ‐ ELSE 0 END AS FACTORY_LATE_QTY_RDD_UOM, ELSE 0 END AS INBOUND_LATE_QTY_RDD_UOM,
LOCAL.LATE_UNCOVEED_DEMAND_QTY_RDD_UOM) ELSE 0
END AS UNREALISTIC_DEMAND_QTY_RDD_UOM,
5
The sum of the factory and inbound late must
be equal to the purchase late. Therefore, in the
waterfall, they must not be side by side.
PURCHA
SE LATE
FACTORY
FACTOR LATE
Y LATE PURCHASE
LATE
INBOUND INBOUND
LATE LATE
WRONG RIGHT