Вы находитесь на странице: 1из 4

WITH

EXCHG_RT_OTC0 AS
(
SELECT
EXCHG_RT_OTC.EXCHG_RT_TYP_CD AS EXCHG_RT_TYP_CD,
EXCHG_RT_OTC.FR_CURNCY_CD AS FR_CURNCY_CD,
EXCHG_RT_OTC.TO_CURNCY_CD AS TO_CURNCY_CD,
EXCHG_RT_OTC.EXCHG_RT_IS_EFF_DTE AS EXCHG_RT_IS_EFF_DTE
FROM
VFDWDIM.EXCHG_RT EXCHG_RT_OTC
WHERE
EXCHG_RT_OTC.EXCHG_RT_TYP_CD = 'M' AND
EXCHG_RT_OTC.TO_CURNCY_CD = 'USD'
),
EXCHG_RT_OTC_BLNG2 AS
(
SELECT
EXCHG_RT_OTC_BLNG.EXCHG_RT_TYP_CD AS EXCHG_RT_TYP_CD,
EXCHG_RT_OTC_BLNG.FR_CURNCY_CD AS FR_CURNCY_CD,
EXCHG_RT_OTC_BLNG.TO_CURNCY_CD AS TO_CURNCY_CD,
EXCHG_RT_OTC_BLNG.EXCHG_RT_IS_EFF_DTE AS EXCHG_RT_IS_EFF_DTE
FROM
VFDWDIM.EXCHG_RT EXCHG_RT_OTC_BLNG
WHERE
EXCHG_RT_OTC_BLNG.EXCHG_RT_TYP_CD = 'M' AND
EXCHG_RT_OTC_BLNG.TO_CURNCY_CD = 'USD'
),
C1OTC_FCT_ALL AS
(
SELECT
COALESCE(
OTC_FCT_ALL.OPNF_OPN_DLVRD_QY,
0) AS OPNF_OPN_DLVRD_QY,
OTC_FCT_ALL.DLVF_DLVRY_QY AS DLVF_DLVRY_QY,
OTC_FCT_ALL.DLVF_DLVRY_NT_VAL_AMT AS DLVF_DLVRY_NT_VAL_AMT,
OTC_FCT_ALL.CNOF_CNTRCT_ORDR_ID AS CNOF_CNTRCT_ORDR_ID,
OTC_FCT_ALL.CNOF_PLNT_ID AS CNOF_PLNT_ID,
OTC_FCT_ALL.CNTRCT_ORDR_CRRNT_SLS_RPRSNTV_NBR AS CRRNT_SLS_RPRSNTV_NBR,
OTC_FCT_ALL.DLVF_DLVRY_ID AS DLVF_DLVRY_ID
FROM
VFDWDIM.OTC_FCT_ALL OTC_FCT_ALL
LEFT OUTER JOIN EXCHG_RT_OTC0
ON
EXCHG_RT_OTC0.EXCHG_RT_IS_EFF_DTE = OTC_FCT_ALL.CNTRCT_ORDR_CREA
T_DTE AND
EXCHG_RT_OTC0.FR_CURNCY_CD = OTC_FCT_ALL.CNTRCT_ORDR_SLS_DISTRBN
_CURNCY_CD
LEFT OUTER JOIN EXCHG_RT_OTC_BLNG2
ON
EXCHG_RT_OTC_BLNG2.EXCHG_RT_IS_EFF_DTE = OTC_FCT_ALL.BLNG_ID
X_DTE AND
EXCHG_RT_OTC_BLNG2.FR_CURNCY_CD = OTC_FCT_ALL.CNTRCT_ORDR_SL
S_DISTRBN_CURNCY_CD
WHERE
'N' = 'N' AND
'Y' = 'Y' AND
(NOT ( 'NULL' IN (
'NULL' ) ) AND
OTC_FCT_ALL.CNTRCT_ORDR_CRRNT_SLS_RPRSNTV_NBR IN (
'NULL' ) OR

'NULL' IN (
'NULL' ))
),
CNTRCT_ORDR_DIM6 AS
(
SELECT
CNTRCT_ORDR_DIM.CNTRCT_ORDR_ID AS CNTRCT_ORDR_ID,
CNTRCT_ORDR_DIM.CNTRCT_ORDR_NBR AS CNTRCT_ORDR_NBR,
CNTRCT_ORDR_DIM.QLTY_IND AS QLTY_IND,
CNTRCT_ORDR_DIM.CRRNT_SLS_RPRSNTV_NBR AS CRRNT_SLS_RPRSNTV_NBR
FROM
VFDWDIM.CNTRCT_ORDR_DIM CNTRCT_ORDR_DIM
WHERE
CNTRCT_ORDR_DIM.QLTY_IND = 'Y'
),
CNTRCT_ORDR_DIM0 AS
(
SELECT
CNTRCT_ORDR_DIM6.CNTRCT_ORDR_NBR AS CNTRCT_ORDR_NBR,
CNTRCT_ORDR_DIM6.CNTRCT_ORDR_ID AS CNTRCT_ORDR_ID,
CNTRCT_ORDR_DIM6.QLTY_IND AS QLTY_IND,
CNTRCT_ORDR_DIM6.CRRNT_SLS_RPRSNTV_NBR AS CRRNT_SLS_RPRSNTV_NBR
FROM
CNTRCT_ORDR_DIM6
WHERE
CNTRCT_ORDR_DIM6.QLTY_IND = 'Y' AND
'N' = 'N' AND
'Y' = 'Y' AND
(NOT ( 'NULL' IN (
'NULL' ) ) AND
CNTRCT_ORDR_DIM6.CRRNT_SLS_RPRSNTV_NBR IN (
'NULL' ) OR
'NULL' IN (
'NULL' ))
),
DLVRY_DIM0 AS
(
SELECT
DLVRY_DIM.DLVRY_NBR AS DLVRY_NBR,
DLVRY_DIM.DLVRY_CRDT_STAT_CD AS DLVRY_CRDT_STAT_CD,
DLVRY_DIM.DLVRY_ID AS DLVRY_ID,
DLVRY_DIM.QLTY_IND AS QLTY_IND
FROM
VFDWDIM.DLVRY_DIM DLVRY_DIM
WHERE
DLVRY_DIM.QLTY_IND = 'Y'
),
PLNT_DIM11 AS
(
SELECT
PLNT_DIM.PLNT_ID AS PLNT_ID,
PLNT_DIM.PLNT_NBR AS PLNT_NBR,
PLNT_DIM.QLTY_IND AS QLTY_IND
FROM
VFDWDIM.PLNT_DIM PLNT_DIM
WHERE
PLNT_DIM.QLTY_IND = 'Y'
),
PLNT_DIM0 AS
(

SELECT
PLNT_DIM11.PLNT_ID AS PLNT_ID,
PLNT_DIM11.PLNT_NBR AS PLNT_NBR,
PLNT_DIM11.QLTY_IND AS QLTY_IND
FROM
PLNT_DIM11
WHERE
PLNT_DIM11.QLTY_IND = 'Y'
),
TQ0_Query1 AS
(
SELECT
CNTRCT_ORDR_DIM0.CNTRCT_ORDR_NBR AS Sales_Nbr,
DLVRY_DIM0.DLVRY_NBR AS Delivery_Nbr,
DLVRY_DIM0.DLVRY_CRDT_STAT_CD AS DLVRY_CRDT_STAT_CD,
C1OTC_FCT_ALL.OPNF_OPN_DLVRD_QY AS OPNF_OPN_DLVRD_QY,
C1OTC_FCT_ALL.DLVF_DLVRY_QY AS DLVF_DLVRY_QY,
C1OTC_FCT_ALL.DLVF_DLVRY_NT_VAL_AMT AS DLVF_DLVRY_NT_VAL_AMT,
CASE
WHEN
ROW_NUMBER()
OVER(
PARTITION BY
CNTRCT_ORDR_DIM0.CNTRCT_ORDR_NBR,
DLVRY_DIM0.DLVRY_NBR,
C1OTC_FCT_ALL.CNOF_CNTRCT_ORDR_ID,
C1OTC_FCT_ALL.DLVF_DLVRY_ID
ORDER BY
CNTRCT_ORDR_DIM0.CNTRCT_ORDR_NBR ASC,
DLVRY_DIM0.DLVRY_NBR ASC,
C1OTC_FCT_ALL.CNOF_CNTRCT_ORDR_ID ASC,
C1OTC_FCT_ALL.DLVF_DLVRY_ID ASC
) = 1
THEN
C1OTC_FCT_ALL.DLVF_DLVRY_QY
ELSE NULL
END AS DLVF_DLVRY_QY_u,
CASE
WHEN
ROW_NUMBER()
OVER(
PARTITION BY
CNTRCT_ORDR_DIM0.CNTRCT_ORDR_NBR,
DLVRY_DIM0.DLVRY_NBR,
C1OTC_FCT_ALL.CNOF_CNTRCT_ORDR_ID,
C1OTC_FCT_ALL.DLVF_DLVRY_ID
ORDER BY
CNTRCT_ORDR_DIM0.CNTRCT_ORDR_NBR ASC,
DLVRY_DIM0.DLVRY_NBR ASC,
C1OTC_FCT_ALL.CNOF_CNTRCT_ORDR_ID ASC,
C1OTC_FCT_ALL.DLVF_DLVRY_ID ASC
) = 1
THEN
C1OTC_FCT_ALL.DLVF_DLVRY_NT_VAL_AMT
ELSE NULL
END AS DLVF_DLVRY_NT_VAL_AMT_u
FROM
C1OTC_FCT_ALL
INNER JOIN CNTRCT_ORDR_DIM0
ON C1OTC_FCT_ALL.CNOF_CNTRCT_ORDR_ID = CNTRCT_ORDR_DIM0.CNTRCT_ORDR_

ID
INNER JOIN DLVRY_DIM0
ON C1OTC_FCT_ALL.DLVF_DLVRY_ID = DLVRY_DIM0.DLVRY_ID
INNER JOIN PLNT_DIM0
ON C1OTC_FCT_ALL.CNOF_PLNT_ID = PLNT_DIM0.PLNT_ID
WHERE
PLNT_DIM0.PLNT_NBR IN (
'1002' ) AND
CNTRCT_ORDR_DIM0.CNTRCT_ORDR_NBR = '0130341106'
)
SELECT
TQ0_Query1.Sales_Nbr AS Sales_Nbr,
TQ0_Query1.Delivery_Nbr AS Delivery_Nbr,
SUM(
CASE
WHEN
TQ0_Query1.DLVRY_CRDT_STAT_CD IS NULL OR
TQ0_Query1.DLVRY_CRDT_STAT_CD = ''
THEN
CAST(TQ0_Query1.OPNF_OPN_DLVRD_QY AS INTEGER)
ELSE 0
END) AS Unshipped_At_DC_Units,
SUM(CAST(TQ0_Query1.DLVF_DLVRY_QY_u AS INTEGER)) AS Delivery_Units,
SUM(TQ0_Query1.DLVF_DLVRY_NT_VAL_AMT_u) AS Delivery_Net_Value
FROM
TQ0_Query1
GROUP BY
TQ0_Query1.Sales_Nbr,
TQ0_Query1.Delivery_Nbr

Вам также может понравиться