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

CREATE OR REPLACE PROCEDURE ODS.

PR_of_Inv_Strrm_Tb IS
/*******************************************************************************
*******************************
NAME: PR_of_Inv_Strrm_Tb
PURPOSE: This proc takes a snapshot of the last month's data if it is new
month
calculates all the aggregate values and inserts/updates the EAM_O
F_INVENTORY_STOREROOM_TB
group by ITEM_KEY,STOREROOM_KEY,SITE_KEY
REVISIONS:
Ver Date Author Description
--------- ---------- --------------- ------------------------------------
1.0 1/26/2009 Jayaram Mamidi Created
1.1 2/12/2009 Jayaram Mamidi Joined with DI tables to get keys
and Errors are Handled
******************************************************************************
***********************************/
V_ETL_LOAD_KEY NUMBER:=0;
V_FISCAL_START_DT DATE; ---- internal calc
V_MO_END_DT_KEY NUMBER:=0;
V_UPDATED_BY VARCHAR2(10) := 'INFA';
V_UPDATED_DT DATE := SYSDATE;
V_CREATED_BY VARCHAR2(10) := 'INFA';
V_CREATED_DT DATE := SYSDATE;
V_LOADED_DT DATE := SYSDATE;
BEGIN
---------------------------SNAP SHOT -----------------------
BEGIN
INSERT INTO EAM_OF_INVENTORY_STOREROOM_TB (

ABC_CD,
ADJS_LAST_12_MO_CT,
ADJS_LAST_12_MO_QTY,
ADJS_LAST_12_MOS_AMT,
ADJS_LAST_24_MO_CT,
ADJS_LAST_24_MO_QTY,
ADJS_LAST_24_MOS_AMT,
ADJS_LAST_36_MO_CT,
ADJS_LAST_36_MO_QTY,
ADJS_LAST_36_MOS_AMT,
ADJS_MO_AMT,
ADJS_MO_CT,
ADJS_MO_QTY,
AUTO_REORDER_FLG,
AUTO_REQ_FLG,
AUTO_RSTK_FLG,
AVG_UNIT_COST_AMT,
AVL_AMT,
AVL_QTY,
COMITTED_AMT,
COMITTED_QTY,
CREATED_BY,
CREATED_DT,
CRIT_ITEM_FLG,
CT_RQRD_FLG,
CURR_BAL_AMT,
CURR_BAL_QTY,
CURR_RSRVD_AMT,
CURR_RSRVD_QTY,
DMND_AMT,
DMND_QTY,
DUE_IN_QTY,
ECON_REORDER_QTY,
EQ_RELTD_FLG,
ETL_LOAD_KEY,
EXPRD_IN_STK_AMT,
EXPRD_IN_STK_QTY,
HLDG_LOC_AMT,
HLDG_LOC_QTY,
IN_XFER_AMT,
IN_XFER_CT,
IN_XFER_QTY,
IN_XFERS_LAST_12_MO_CT,
IN_XFERS_LAST_12_MO_QTY,
IN_XFERS_LAST_12_MOS_AMT,
IN_XFERS_LAST_24_MO_CT,
IN_XFERS_LAST_24_MO_QTY,
IN_XFERS_LAST_24_MOS_AMT,
IN_XFERS_LAST_36_MO_CT,
IN_XFERS_LAST_36_MO_QTY,
IN_XFERS_LAST_36_MOS_AMT,
IN_XFERS_MO_AMT,
IN_XFERS_MO_CT,
IN_XFERS_MO_QTY,
INIT_STK_MO_VAL,
INIT_STK_YTD_VAL,
INV_OPTZN_XFER_AMT,
INV_OPTZN_XFER_YTD_AMT,
INV_STAT_CD,
ISS_LAST_12_MO_CT,
ISS_LAST_12_MO_QTY,
ISS_LAST_12_MOS_AMT,
ISS_LAST_24_MO_CT,
ISS_LAST_24_MO_QTY,
ISS_LAST_24_MOS_AMT,
ISS_LAST_36_MO_CT,
ISS_LAST_36_MO_QTY,
ISS_LAST_36_MOS_AMT,
ISS_MO_AMT,
ISS_MO_CT,
ISS_MO_QTY,
ISS_UOM_CD,
ISS_YTD_AMT,
ITEM_KEY,
ITEM_STAT_CD,
LAST_ISS_AMT,
LAST_ISS_DT_KEY,
LAST_ISS_QTY,
LAST_PO_AMT,
LAST_PO_DT_KEY,
LAST_PO_NO,
LAST_RCPT_DT_KEY,
LAST_RCPT_QTY,
LAST_SPLR_KEY,
LEAD_DLVR_DAYS,
LOADED_DT,
MO_END_DT_KEY,
OPEN_ORDER_AMT,
OPEN_ORDER_QTY,
OPEN_XFERS_AMT,
OPEN_XFERS_QTY,
OUT_XFER_AMT,
OUT_XFER_CT,
OUT_XFER_QTY,
OUT_XFERS_LAST_12_MO_AMT,
OUT_XFERS_LAST_12_MO_CT,
OUT_XFERS_LAST_12_MO_QTY,
OUT_XFERS_LAST_24_MO_AMT,
OUT_XFERS_LAST_24_MO_CT,
OUT_XFERS_LAST_24_MO_QTY,
OUT_XFERS_LAST_36_MO_AMT,
OUT_XFERS_LAST_36_MO_CT,
OUT_XFERS_LAST_36_MO_QTY,
OUT_XFERS_MO_AMT,
OUT_XFERS_MO_CT,
OUT_XFERS_MO_QTY,
RCPTS_LAST_12_MO_CT,
RCPTS_LAST_12_MO_QTY,
RCPTS_LAST_12_MOS_AMT,
RCPTS_LAST_24_MO_CT,
RCPTS_LAST_24_MO_QTY,
RCPTS_LAST_24_MOS_AMT,
RCPTS_LAST_36_MO_CT,
RCPTS_LAST_36_MO_QTY,
RCPTS_LAST_36_MOS_AMT,
RCPTS_MO_AMT,
RCPTS_MO_CT,
RCPTS_MO_QTY,
RCPTS_YTD_AMT,
REORDER_PNT_QTY,
RTN_MO_AMT,
RTN_MO_QTY,
RTN_YTD_AMT,
RTNS_LAST_12_MO_CT,
RTNS_LAST_12_MO_QTY,
RTNS_LAST_12_MOS_AMT,
RTNS_LAST_24_MO_CT,
RTNS_LAST_24_MO_QTY,
RTNS_LAST_24_MOS_AMT,
RTNS_LAST_36_MO_CT,
RTNS_LAST_36_MO_QTY,
RTNS_LAST_36_MOS_AMT,
RTNS_MO_CT,
SFTY_STK_QTY,
SITE_KEY,
SMI_FLG,
STK_CATG_CD,
STRRM_KEY,
TRGT_MAX_AMT,
TRGT_MAX_MO_AMT,
TRGT_MAX_QTY,
TRGT_MAX_YTD_AMT,
UPDATED_BY,
UPDATED_DT,
WO_MTRL_USAGE_MO_QTY,
WO_MTRL_USAGE_YTD_QTY,
XFER_CT,
XFER_QTY
)
SELECT
ABC_CD,
ADJS_LAST_12_MO_CT,
ADJS_LAST_12_MO_QTY,
ADJS_LAST_12_MOS_AMT,
ADJS_LAST_24_MO_CT,
ADJS_LAST_24_MO_QTY,
ADJS_LAST_24_MOS_AMT,
ADJS_LAST_36_MO_CT,
ADJS_LAST_36_MO_QTY,
ADJS_LAST_36_MOS_AMT,
ADJS_MO_AMT,
ADJS_MO_CT,
ADJS_MO_QTY,
AUTO_REORDER_FLG,
AUTO_REQ_FLG,
AUTO_RSTK_FLG,
AVG_UNIT_COST_AMT,
AVL_AMT,
AVL_QTY,
COMITTED_AMT,
COMITTED_QTY,
CREATED_BY,
SYSDATE,
CRIT_ITEM_FLG,
CT_RQRD_FLG,
CURR_BAL_AMT,
CURR_BAL_QTY,
CURR_RSRVD_AMT,
CURR_RSRVD_QTY,
DMND_AMT,
DMND_QTY,
DUE_IN_QTY,
ECON_REORDER_QTY,
EQ_RELTD_FLG,
ETL_LOAD_KEY,
EXPRD_IN_STK_AMT,
EXPRD_IN_STK_QTY,
HLDG_LOC_AMT,
HLDG_LOC_QTY,
IN_XFER_AMT,
IN_XFER_CT,
IN_XFER_QTY,
IN_XFERS_LAST_12_MO_CT,
IN_XFERS_LAST_12_MO_QTY,
IN_XFERS_LAST_12_MOS_AMT,
IN_XFERS_LAST_24_MO_CT,
IN_XFERS_LAST_24_MO_QTY,
IN_XFERS_LAST_24_MOS_AMT,
IN_XFERS_LAST_36_MO_CT,
IN_XFERS_LAST_36_MO_QTY,
IN_XFERS_LAST_36_MOS_AMT,
IN_XFERS_MO_AMT,
IN_XFERS_MO_CT,
IN_XFERS_MO_QTY,
INIT_STK_MO_VAL,
INIT_STK_YTD_VAL,
INV_OPTZN_XFER_AMT,
INV_OPTZN_XFER_YTD_AMT,
INV_STAT_CD,
ISS_LAST_12_MO_CT,
ISS_LAST_12_MO_QTY,
ISS_LAST_12_MOS_AMT,
ISS_LAST_24_MO_CT,
ISS_LAST_24_MO_QTY,
ISS_LAST_24_MOS_AMT,
ISS_LAST_36_MO_CT,
ISS_LAST_36_MO_QTY,
ISS_LAST_36_MOS_AMT,
ISS_MO_AMT,
ISS_MO_CT,
ISS_MO_QTY,
ISS_UOM_CD,
ISS_YTD_AMT,
ITEM_KEY,
ITEM_STAT_CD,
LAST_ISS_AMT,
LAST_ISS_DT_KEY,
LAST_ISS_QTY,
LAST_PO_AMT,
LAST_PO_DT_KEY,
LAST_PO_NO,
LAST_RCPT_DT_KEY,
LAST_RCPT_QTY,
LAST_SPLR_KEY,
LEAD_DLVR_DAYS,
SYSDATE,
TO_CHAR (LAST_DAY (SYSDATE), 'YYYYMMDD'),
OPEN_ORDER_AMT,
OPEN_ORDER_QTY,
OPEN_XFERS_AMT,
OPEN_XFERS_QTY,
OUT_XFER_AMT,
OUT_XFER_CT,
OUT_XFER_QTY,
OUT_XFERS_LAST_12_MO_AMT,
OUT_XFERS_LAST_12_MO_CT,
OUT_XFERS_LAST_12_MO_QTY,
OUT_XFERS_LAST_24_MO_AMT,
OUT_XFERS_LAST_24_MO_CT,
OUT_XFERS_LAST_24_MO_QTY,
OUT_XFERS_LAST_36_MO_AMT,
OUT_XFERS_LAST_36_MO_CT,
OUT_XFERS_LAST_36_MO_QTY,
OUT_XFERS_MO_AMT,
OUT_XFERS_MO_CT,
OUT_XFERS_MO_QTY,
RCPTS_LAST_12_MO_CT,
RCPTS_LAST_12_MO_QTY,
RCPTS_LAST_12_MOS_AMT,
RCPTS_LAST_24_MO_CT,
RCPTS_LAST_24_MO_QTY,
RCPTS_LAST_24_MOS_AMT,
RCPTS_LAST_36_MO_CT,
RCPTS_LAST_36_MO_QTY,
RCPTS_LAST_36_MOS_AMT,
RCPTS_MO_AMT,
RCPTS_MO_CT,
RCPTS_MO_QTY,
RCPTS_YTD_AMT,
REORDER_PNT_QTY,
RTN_MO_AMT,
RTN_MO_QTY,
RTN_YTD_AMT,
RTNS_LAST_12_MO_CT,
RTNS_LAST_12_MO_QTY,
RTNS_LAST_12_MOS_AMT,
RTNS_LAST_24_MO_CT,
RTNS_LAST_24_MO_QTY,
RTNS_LAST_24_MOS_AMT,
RTNS_LAST_36_MO_CT,
RTNS_LAST_36_MO_QTY,
RTNS_LAST_36_MOS_AMT,
RTNS_MO_CT,
SFTY_STK_QTY,
SITE_KEY,
SMI_FLG,
STK_CATG_CD,
STRRM_KEY,
TRGT_MAX_AMT,
TRGT_MAX_MO_AMT,
TRGT_MAX_QTY,
TRGT_MAX_YTD_AMT,
UPDATED_BY,
SYSDATE,
WO_MTRL_USAGE_MO_QTY,
WO_MTRL_USAGE_YTD_QTY,
XFER_CT,
XFER_QTY
FROM EAM_OF_INVENTORY_STOREROOM_TB A WHERE mo_end_dt_key=
TO_NUMBER (TO_CHAR (TRUNC (SYSDATE, 'MM') - 1, 'yyyymmdd'))
AND not exists(select null from EAM_OF_INVENTORY_STOREROOM_TB B where
A.ITEM_KEY=B.ITEM_KEY AND A.STRRM_KEY=B.STRRM_KEY AND A.SITE_KEY=B.SITE_KEY
and mo_end_dt_key=to_number(TO_CHAR (LAST_DAY (SYSDATE), 'YYYYMMDD')));
COMMIT;
END;
---------------------END-SNAPSHOT----------------------
SELECT FISCAL_YR_START_DT INTO V_FISCAL_START_DT FROM EAM_DI_DATE_TB WHERE d
ay_dt=TRUNC(SYSDATE);

SELECT TO_CHAR(LAST_DAY(SYSDATE),'YYYYMMDD') INTO V_MO_END_DT_KEY FROM DUAL;
--------OD_ITEM_COST-------
BEGIN
MERGE INTO EAM_OF_INVENTORY_STOREROOM_TB T USING(
SELECT X.ITEM_KEY AS V_ITEM_KEY,Y.STRRM_KEY AS V_STOREROOM_KEY,Z.SITE_KEY AS V_
SITE_KEY,
A.AVG_COST_AMT AS V_AVG_UNIT_COST_AMT,B.ABC_CD AS V_ABC_CD,B.AUTO_BUY_FLG AS V_
AUTO_BUY_FLG,
B.ECONOMIC_REORDER_QTY AS V_ECON_REORDR_QTY,
B.INV_STATE_CD AS V_INV_STATE_CD,B.ISSUE_UOM_CD AS V_ISSUE_UOM_CD, B.LEAD_DELIV
ERY_DAYS AS V_LEAD_DELIVERY_DAYS,
B.SAFETY_STOCK_QTY AS V_SAFETY_STOCK_QTY,
B.STK_CATEGORY_CD AS V_STK_CATEGORY_CD,B.TVA_AUTO_REQ_FLG AS V_TVA_AUTO_REQ_FL
G,B.TVA_CRITICAL_ITEM_FLG AS V_TVA_CRITICAL_ITEM_FLG,
B.TVA_SUPPLIER_MNGD_FLG AS V_TVA_SUPPLIER_MNGD_FLG,(B.REORDER_MIN_LEVEL_QTY + 1
+ B.ECONOMIC_REORDER_ISS_UOM_QTY) AS V_TRGT_MAX_QTY,
((B.REORDER_MIN_LEVEL_QTY + 1 + B.ECONOMIC_REORDER_ISS_UOM_QTY)*A.AVG_COST_AMT)
AS V_TRGT_MAX_AMT,
C.tva_eq_related_flg AS V_EQ_RELTD_FLG,C.ITEM_STATE_CD AS V_ITEM_STAT_CD
FROM EAM_OD_ITEM_COST_TB A ,EAM_OD_ITEM_STOREROOM_TB B,EAM_OD_ITEM_TB C,EAM_D
I_ITEM_TB X,EAM_DI_STOREROOM_TB Y,EAM_DI_SITE_TB Z
WHERE A.ITEM_NO=B.ITEM_NO AND A.ITEM_SET_ID=B.ITEM_SET_ID AND A.STOREROOM_NA
ME=B.STOREROOM_NAME AND A.SITE_ID=B.SITE_ID
AND A.ITEM_NO=C.ITEM_NO AND A.ITEM_SET_ID=C.ITEM_SET_ID AND B.ITEM_NO=X.ITEM_
NO AND B.ITEM_SET_ID=X.ITEM_SET_ID AND B.STOREROOM_NAME=Y.STRRM_NAME AND B.SITE
_ID=Y.SITE_ID AND B.SITE_ID =Z.SITE_ID) S
on (T.ITEM_KEY=S.V_ITEM_KEY AND T.STRRM_KEY= S.V_STOREROOM_KEY AND
T.SITE_KEY=S.V_SITE_KEY AND T.MO_END_DT_KEY=V_MO_END_DT_KEY)
WHEN MATCHED THEN
UPDATE SET
T.AVG_UNIT_COST_AMT=S.V_AVG_UNIT_COST_AMT,
T.ABC_CD =S.V_ABC_CD ,
T.ECON_REORDER_QTY =S.V_ECON_REORDR_QTY ,
T.INV_STAT_CD =S.V_INV_STATE_CD ,
T.ISS_UOM_CD =S.V_ISSUE_UOM_CD ,
T.LEAD_DLVR_DAYS =S.V_LEAD_DELIVERY_DAYS ,
T.SFTY_STK_QTY =S.V_SAFETY_STOCK_QTY ,
T.STK_CATG_CD =S.V_STK_CATEGORY_CD ,
T.AUTO_REQ_FLG =S.V_TVA_AUTO_REQ_FLG ,
T.CRIT_ITEM_FLG =S.V_TVA_CRITICAL_ITEM_FLG ,
T.SMI_FLG =S.V_TVA_SUPPLIER_MNGD_FLG ,
T.TRGT_MAX_QTY=S.V_TRGT_MAX_QTY,
T.TRGT_MAX_AMT=S.V_TRGT_MAX_AMT,
T.EQ_RELTD_FLG=S.V_EQ_RELTD_FLG,
T.ITEM_STAT_CD=S.V_ITEM_STAT_CD,
T.LOADED_DT=V_LOADED_DT,
T.UPDATED_BY=V_UPDATED_BY,
T.UPDATED_DT=V_UPDATED_DT

WHEN NOT MATCHED THEN
INSERT (
T.ABC_CD,
T.ADJS_LAST_12_MO_CT,
T.ADJS_LAST_12_MO_QTY,
T.ADJS_LAST_12_MOS_AMT,
T.ADJS_LAST_24_MO_CT,
T.ADJS_LAST_24_MO_QTY,
T.ADJS_LAST_24_MOS_AMT,
T.ADJS_LAST_36_MO_CT,
T.ADJS_LAST_36_MO_QTY,
T.ADJS_LAST_36_MOS_AMT,
T.ADJS_MO_AMT,
T.ADJS_MO_CT,
T.ADJS_MO_QTY,
T.AUTO_REORDER_FLG,
T.AUTO_REQ_FLG,
T.AUTO_RSTK_FLG,
T.AVG_UNIT_COST_AMT,
T.AVL_AMT,
T.AVL_QTY,
T.COMITTED_AMT,
T.COMITTED_QTY,
T.CREATED_BY,
T.CREATED_DT,
T.CRIT_ITEM_FLG,
T.CT_RQRD_FLG,
T.CURR_BAL_AMT,
T.CURR_BAL_QTY,
T.CURR_RSRVD_AMT,
T.CURR_RSRVD_QTY,
T.DMND_AMT,
T.DMND_QTY,
T.DUE_IN_QTY,
T.ECON_REORDER_QTY,
T.EQ_RELTD_FLG,
T.ETL_LOAD_KEY,
T.EXPRD_IN_STK_AMT,
T.EXPRD_IN_STK_QTY,
T.HLDG_LOC_AMT,
T.HLDG_LOC_QTY,
T.IN_XFER_AMT,
T.IN_XFER_CT,
T.IN_XFER_QTY,
T.IN_XFERS_LAST_12_MO_CT,
T.IN_XFERS_LAST_12_MO_QTY,
T.IN_XFERS_LAST_12_MOS_AMT,
T.IN_XFERS_LAST_24_MO_CT,
T.IN_XFERS_LAST_24_MO_QTY,
T.IN_XFERS_LAST_24_MOS_AMT,
T.IN_XFERS_LAST_36_MO_CT,
T.IN_XFERS_LAST_36_MO_QTY,
T.IN_XFERS_LAST_36_MOS_AMT,
T.IN_XFERS_MO_AMT,
T.IN_XFERS_MO_CT,
T.IN_XFERS_MO_QTY,
T.INIT_STK_MO_VAL,
T.INIT_STK_YTD_VAL,
T.INV_OPTZN_XFER_AMT,
T.INV_OPTZN_XFER_YTD_AMT,
T.INV_STAT_CD,
T.ISS_LAST_12_MO_CT,
T.ISS_LAST_12_MO_QTY,
T.ISS_LAST_12_MOS_AMT,
T.ISS_LAST_24_MO_CT,
T.ISS_LAST_24_MO_QTY,
T.ISS_LAST_24_MOS_AMT,
T.ISS_LAST_36_MO_CT,
T.ISS_LAST_36_MO_QTY,
T.ISS_LAST_36_MOS_AMT,
T.ISS_MO_AMT,
T.ISS_MO_CT,
T.ISS_MO_QTY,
T.ISS_UOM_CD,
T.ISS_YTD_AMT,
T.ITEM_KEY,
T.ITEM_STAT_CD,
T.LAST_ISS_AMT,
T.LAST_ISS_DT_KEY,
T.LAST_ISS_QTY,
T.LAST_PO_AMT,
T.LAST_PO_DT_KEY,
T.LAST_PO_NO,
T.LAST_RCPT_DT_KEY,
T.LAST_RCPT_QTY,
T.LAST_SPLR_KEY,
T.LEAD_DLVR_DAYS,
T.LOADED_DT,
T.MO_END_DT_KEY,
T.OPEN_ORDER_AMT,
T.OPEN_ORDER_QTY,
T.OPEN_XFERS_AMT,
T.OPEN_XFERS_QTY,
T.OUT_XFER_AMT,
T.OUT_XFER_CT,
T.OUT_XFER_QTY,
T.OUT_XFERS_LAST_12_MO_AMT,
T.OUT_XFERS_LAST_12_MO_CT,
T.OUT_XFERS_LAST_12_MO_QTY,
T.OUT_XFERS_LAST_24_MO_AMT,
T.OUT_XFERS_LAST_24_MO_CT,
T.OUT_XFERS_LAST_24_MO_QTY,
T.OUT_XFERS_LAST_36_MO_AMT,
T.OUT_XFERS_LAST_36_MO_CT,
T.OUT_XFERS_LAST_36_MO_QTY,
T.OUT_XFERS_MO_AMT,
T.OUT_XFERS_MO_CT,
T.OUT_XFERS_MO_QTY,
T.RCPTS_LAST_12_MO_CT,
T.RCPTS_LAST_12_MO_QTY,
T.RCPTS_LAST_12_MOS_AMT,
T.RCPTS_LAST_24_MO_CT,
T.RCPTS_LAST_24_MO_QTY,
T.RCPTS_LAST_24_MOS_AMT,
T.RCPTS_LAST_36_MO_CT,
T.RCPTS_LAST_36_MO_QTY,
T.RCPTS_LAST_36_MOS_AMT,
T.RCPTS_MO_AMT,
T.RCPTS_MO_CT,
T.RCPTS_MO_QTY,
T.RCPTS_YTD_AMT,
T.REORDER_PNT_QTY,
T.RTN_MO_AMT,
T.RTN_MO_QTY,
T.RTN_YTD_AMT,
T.RTNS_LAST_12_MO_CT,
T.RTNS_LAST_12_MO_QTY,
T.RTNS_LAST_12_MOS_AMT,
T.RTNS_LAST_24_MO_CT,
T.RTNS_LAST_24_MO_QTY,
T.RTNS_LAST_24_MOS_AMT,
T.RTNS_LAST_36_MO_CT,
T.RTNS_LAST_36_MO_QTY,
T.RTNS_LAST_36_MOS_AMT,
T.RTNS_MO_CT,
T.SFTY_STK_QTY,
T.SITE_KEY,
T.SMI_FLG,
T.STK_CATG_CD,
T.STRRM_KEY,
T.TRGT_MAX_AMT,
T.TRGT_MAX_MO_AMT,
T.TRGT_MAX_QTY,
T.TRGT_MAX_YTD_AMT,
T.UPDATED_BY,
T.UPDATED_DT,
T.WO_MTRL_USAGE_MO_QTY,
T.WO_MTRL_USAGE_YTD_QTY,
T.XFER_CT,
T.XFER_QTY
)
VALUES (
S.V_ABC_CD,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
S.V_TVA_AUTO_REQ_FLG,
0,
S.V_AVG_UNIT_COST_AMT,
0,
0,
0,
0,
V_CREATED_BY,
V_CREATED_DT,
S.V_TVA_CRITICAL_ITEM_FLG,
0,
0,
0,
0,
0,
0,
0,
0,
S.V_ECON_REORDR_QTY,
S.V_EQ_RELTD_FLG,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
S.V_INV_STATE_CD,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
S.V_ISSUE_UOM_CD,
0,
S.V_ITEM_KEY,
S.V_ITEM_STAT_CD,
0,
0,
0,
0,
0,
0,
0,
0,
0,
S.V_LEAD_DELIVERY_DAYS,
V_LOADED_DT,
V_MO_END_DT_KEY,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
S.V_SAFETY_STOCK_QTY,
S.V_SITE_KEY,
S.V_TVA_SUPPLIER_MNGD_FLG,
S.V_STK_CATEGORY_CD,
S.V_STOREROOM_KEY,
0,
0,
0,
0,
V_UPDATED_BY,
V_UPDATED_DT,
0,
0,
0,
0
);
EXCEPTION
WHEN NO_DATA_FOUND THEN
NULL;
COMMIT;
END;
------------------------OD_INVENTORY_TRANS----------

BEGIN
MERGE INTO EAM_OF_INVENTORY_STOREROOM_TB T USING(
SELECT
MAX(X.ITEM_KEY) AS V_ITEM_KEY,MAX(Y.STRRM_KEY) AS V_STOREROOM_KEY, MAX(Z.SITE_K
EY) AS V_SITE_KEY,
SUM(CASE WHEN TRANS_TYPE_CD='RECBALADJ' AND MONTHS_BETWEEN(SYSDATE,trans_dt)<=1
2 THEN 1 ELSE 0 END) as V_ADJS_LAST_12_MO_CT,
SUM(CASE WHEN TRANS_TYPE_CD='RECBALADJ' AND MONTHS_BETWEEN(SYSDATE,trans_dt)<=1
2 THEN TRANS_QTY ELSE 0 END) as V_ADJS_LAST_12_MO_QTY,
SUM(CASE WHEN TRANS_TYPE_CD='RECBALADJ' AND MONTHS_BETWEEN(SYSDATE,trans_dt)<=1
2 THEN LINE_COST_AMT ELSE 0 END) as V_ADJS_LAST_12_MOS_AMT,
SUM(CASE WHEN TRANS_TYPE_CD='RECBALADJ' AND MONTHS_BETWEEN(SYSDATE,trans_dt)<=2
4 THEN 1 ELSE 0 END) as V_ADJS_LAST_24_MO_CT,
SUM(CASE WHEN TRANS_TYPE_CD='RECBALADJ' AND MONTHS_BETWEEN(SYSDATE,trans_dt)<=2
4 THEN TRANS_QTY ELSE 0 END) as V_ADJS_LAST_24_MO_QTY,
SUM(CASE WHEN TRANS_TYPE_CD='RECBALADJ' AND MONTHS_BETWEEN(SYSDATE,trans_dt)<=2
4 THEN LINE_COST_AMT ELSE 0 END) as V_ADJS_LAST_24_MOS_AMT,
SUM(CASE WHEN TRANS_TYPE_CD='RECBALADJ' AND MONTHS_BETWEEN(SYSDATE,trans_dt)<=3
6 THEN 1 ELSE 0 END) as V_ADJS_LAST_36_MO_CT,
SUM(CASE WHEN TRANS_TYPE_CD='RECBALADJ' AND MONTHS_BETWEEN(SYSDATE,trans_dt)<=3
6 THEN TRANS_QTY ELSE 0 END) as V_ADJS_LAST_36_MO_QTY,
SUM(CASE WHEN TRANS_TYPE_CD='RECBALADJ' AND MONTHS_BETWEEN(SYSDATE,trans_dt)<=3
6 THEN LINE_COST_AMT ELSE 0 END) as V_ADJS_LAST_36_MOS_AMT,
SUM(CASE WHEN TRANS_TYPE_CD='RECBALADJ' AND EXTRACT(MONTH FROM SYSDATE)=EXTRACT
(MONTH FROM TRANS_DT) THEN 1 ELSE 0 END) as V_ADJS_MO_CT,
SUM(CASE WHEN TRANS_TYPE_CD='RECBALADJ' AND EXTRACT(MONTH FROM SYSDATE)=EXTRACT
(MONTH FROM TRANS_DT) THEN TRANS_QTY ELSE 0
END) as V_ADJS_MO_QTY,
SUM(CASE WHEN TRANS_TYPE_CD='RECBALADJ' AND EXTRACT(MONTH FROM SYSDATE)=EXTRACT
(MONTH FROM TRANS_DT) THEN LINE_COST_AMT ELSE 0
END) as V_ADJS_MO_AMT
FROM EAM_OD_INVENTORY_TRANS_TB A , EAM_OD_ITEM_STOREROOM_TB B ,EAM_DI_ITEM_TB
X,EAM_DI_STOREROOM_TB Y,EAM_DI_SITE_TB Z
WHERE A.ITEM_NO=B.ITEM_NO AND A.ITEM_SET_ID=B.ITEM_SET_ID AND A.STOREROOM_NAME
=B.STOREROOM_NAME AND A.SITE_ID=B.SITE_ID AND A.TRANS_DT < SYSDATE
AND B.ITEM_NO=X.ITEM_NO AND B.ITEM_SET_ID=X.ITEM_SET_ID AND B.STOREROOM_NAME=Y
.STRRM_NAME AND B.SITE_ID=Y.SITE_ID AND B.SITE_ID =Z.SITE_ID
GROUP BY B.ITEM_NO,B.ITEM_SET_ID,B.STOREROOM_NAME,B.SITE_ID) S
on (T.ITEM_KEY=S.V_ITEM_KEY AND T.STRRM_KEY= S.V_STOREROOM_KEY AND
T.SITE_KEY=S.V_SITE_KEY AND T.MO_END_DT_KEY=V_MO_END_DT_KEY)
WHEN MATCHED THEN
UPDATE SET
T.ADJS_LAST_12_MOS_AMT=S.V_ADJS_LAST_12_MOS_AMT,
T.ADJS_LAST_12_MO_CT=S.V_ADJS_LAST_12_MO_CT,
T.ADJS_LAST_12_MO_QTY=S.V_ADJS_LAST_12_MO_QTY,
T.ADJS_LAST_24_MOS_AMT=S.V_ADJS_LAST_24_MOS_AMT,
T.ADJS_LAST_24_MO_CT=S.V_ADJS_LAST_24_MO_CT,
T.ADJS_LAST_24_MO_QTY=S.V_ADJS_LAST_24_MO_QTY,
T.ADJS_LAST_36_MOS_AMT=S.V_ADJS_LAST_36_MOS_AMT,
T.ADJS_LAST_36_MO_CT=S.V_ADJS_LAST_36_MO_CT,
T.ADJS_LAST_36_MO_QTY=S.V_ADJS_LAST_36_MO_QTY,
T.ADJS_MO_AMT=S.V_ADJS_MO_AMT,
T.ADJS_MO_CT=S.V_ADJS_MO_CT,
T.LOADED_DT=V_LOADED_DT,
T.UPDATED_BY=V_UPDATED_BY,
T.UPDATED_DT=V_UPDATED_DT,
T.ADJS_MO_QTY=S.V_ADJS_MO_QTY
WHEN NOT MATCHED THEN
INSERT (
T.ABC_CD,
T.ADJS_LAST_12_MO_CT,
T.ADJS_LAST_12_MO_QTY,
T.ADJS_LAST_12_MOS_AMT,
T.ADJS_LAST_24_MO_CT,
T.ADJS_LAST_24_MO_QTY,
T.ADJS_LAST_24_MOS_AMT,
T.ADJS_LAST_36_MO_CT,
T.ADJS_LAST_36_MO_QTY,
T.ADJS_LAST_36_MOS_AMT,
T.ADJS_MO_AMT,
T.ADJS_MO_CT,
T.ADJS_MO_QTY,
T.AUTO_REORDER_FLG,
T.AUTO_REQ_FLG,
T.AUTO_RSTK_FLG,
T.AVG_UNIT_COST_AMT,
T.AVL_AMT,
T.AVL_QTY,
T.COMITTED_AMT,
T.COMITTED_QTY,
T.CREATED_BY,
T.CREATED_DT,
T.CRIT_ITEM_FLG,
T.CT_RQRD_FLG,
T.CURR_BAL_AMT,
T.CURR_BAL_QTY,
T.CURR_RSRVD_AMT,
T.CURR_RSRVD_QTY,
T.DMND_AMT,
T.DMND_QTY,
T.DUE_IN_QTY,
T.ECON_REORDER_QTY,
T.EQ_RELTD_FLG,
T.ETL_LOAD_KEY,
T.EXPRD_IN_STK_AMT,
T.EXPRD_IN_STK_QTY,
T.HLDG_LOC_AMT,
T.HLDG_LOC_QTY,
T.IN_XFER_AMT,
T.IN_XFER_CT,
T.IN_XFER_QTY,
T.IN_XFERS_LAST_12_MO_CT,
T.IN_XFERS_LAST_12_MO_QTY,
T.IN_XFERS_LAST_12_MOS_AMT,
T.IN_XFERS_LAST_24_MO_CT,
T.IN_XFERS_LAST_24_MO_QTY,
T.IN_XFERS_LAST_24_MOS_AMT,
T.IN_XFERS_LAST_36_MO_CT,
T.IN_XFERS_LAST_36_MO_QTY,
T.IN_XFERS_LAST_36_MOS_AMT,
T.IN_XFERS_MO_AMT,
T.IN_XFERS_MO_CT,
T.IN_XFERS_MO_QTY,
T.INIT_STK_MO_VAL,
T.INIT_STK_YTD_VAL,
T.INV_OPTZN_XFER_AMT,
T.INV_OPTZN_XFER_YTD_AMT,
T.INV_STAT_CD,
T.ISS_LAST_12_MO_CT,
T.ISS_LAST_12_MO_QTY,
T.ISS_LAST_12_MOS_AMT,
T.ISS_LAST_24_MO_CT,
T.ISS_LAST_24_MO_QTY,
T.ISS_LAST_24_MOS_AMT,
T.ISS_LAST_36_MO_CT,
T.ISS_LAST_36_MO_QTY,
T.ISS_LAST_36_MOS_AMT,
T.ISS_MO_AMT,
T.ISS_MO_CT,
T.ISS_MO_QTY,
T.ISS_UOM_CD,
T.ISS_YTD_AMT,
T.ITEM_KEY,
T.ITEM_STAT_CD,
T.LAST_ISS_AMT,
T.LAST_ISS_DT_KEY,
T.LAST_ISS_QTY,
T.LAST_PO_AMT,
T.LAST_PO_DT_KEY,
T.LAST_PO_NO,
T.LAST_RCPT_DT_KEY,
T.LAST_RCPT_QTY,
T.LAST_SPLR_KEY,
T.LEAD_DLVR_DAYS,
T.LOADED_DT,
T.MO_END_DT_KEY,
T.OPEN_ORDER_AMT,
T.OPEN_ORDER_QTY,
T.OPEN_XFERS_AMT,
T.OPEN_XFERS_QTY,
T.OUT_XFER_AMT,
T.OUT_XFER_CT,
T.OUT_XFER_QTY,
T.OUT_XFERS_LAST_12_MO_AMT,
T.OUT_XFERS_LAST_12_MO_CT,
T.OUT_XFERS_LAST_12_MO_QTY,
T.OUT_XFERS_LAST_24_MO_AMT,
T.OUT_XFERS_LAST_24_MO_CT,
T.OUT_XFERS_LAST_24_MO_QTY,
T.OUT_XFERS_LAST_36_MO_AMT,
T.OUT_XFERS_LAST_36_MO_CT,
T.OUT_XFERS_LAST_36_MO_QTY,
T.OUT_XFERS_MO_AMT,
T.OUT_XFERS_MO_CT,
T.OUT_XFERS_MO_QTY,
T.RCPTS_LAST_12_MO_CT,
T.RCPTS_LAST_12_MO_QTY,
T.RCPTS_LAST_12_MOS_AMT,
T.RCPTS_LAST_24_MO_CT,
T.RCPTS_LAST_24_MO_QTY,
T.RCPTS_LAST_24_MOS_AMT,
T.RCPTS_LAST_36_MO_CT,
T.RCPTS_LAST_36_MO_QTY,
T.RCPTS_LAST_36_MOS_AMT,
T.RCPTS_MO_AMT,
T.RCPTS_MO_CT,
T.RCPTS_MO_QTY,
T.RCPTS_YTD_AMT,
T.REORDER_PNT_QTY,
T.RTN_MO_AMT,
T.RTN_MO_QTY,
T.RTN_YTD_AMT,
T.RTNS_LAST_12_MO_CT,
T.RTNS_LAST_12_MO_QTY,
T.RTNS_LAST_12_MOS_AMT,
T.RTNS_LAST_24_MO_CT,
T.RTNS_LAST_24_MO_QTY,
T.RTNS_LAST_24_MOS_AMT,
T.RTNS_LAST_36_MO_CT,
T.RTNS_LAST_36_MO_QTY,
T.RTNS_LAST_36_MOS_AMT,
T.RTNS_MO_CT,
T.SFTY_STK_QTY,
T.SITE_KEY,
T.SMI_FLG,
T.STK_CATG_CD,
T.STRRM_KEY,
T.TRGT_MAX_AMT,
T.TRGT_MAX_MO_AMT,
T.TRGT_MAX_QTY,
T.TRGT_MAX_YTD_AMT,
T.UPDATED_BY,
T.UPDATED_DT,
T.WO_MTRL_USAGE_MO_QTY,
T.WO_MTRL_USAGE_YTD_QTY,
T.XFER_CT,
T.XFER_QTY
)
VALUES (
0,
S.V_ADJS_LAST_12_MO_CT,
S.V_ADJS_LAST_12_MO_QTY,
S.V_ADJS_LAST_12_MOS_AMT,
S.V_ADJS_LAST_24_MO_CT,
S.V_ADJS_LAST_24_MO_QTY,
S.V_ADJS_LAST_24_MOS_AMT,
S.V_ADJS_LAST_36_MO_CT,
S.V_ADJS_LAST_36_MO_QTY,
S.V_ADJS_LAST_36_MOS_AMT,
S.V_ADJS_MO_AMT,
S.V_ADJS_MO_CT,
S.V_ADJS_MO_QTY,
0,
0,
0,
0,
0,
0,
0,
0,
V_CREATED_BY,
V_CREATED_DT,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
S.V_ITEM_KEY,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
V_LOADED_DT,
V_MO_END_DT_KEY,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
S.V_SITE_KEY,
0,
0,
S.V_STOREROOM_KEY,
0,
0,
0,
0,
V_UPDATED_BY,
V_UPDATED_DT,
0,
0,
0,
0
);
EXCEPTION
WHEN NO_DATA_FOUND THEN
NULL;
COMMIT;
END;
-------------------------------WO_ITEM_TRANS-------------
BEGIN
MERGE INTO EAM_OF_INVENTORY_STOREROOM_TB T USING(
SELECT
MAX(X.ITEM_KEY) AS V_ITEM_KEY,MAX(Y.STRRM_KEY) AS V_STOREROOM_KEY, MAX(Z.SITE_
KEY) AS V_SITE_KEY,
SUM(CASE WHEN TRANS_TYPE_CD='ISSUE' AND MONTHS_BETWEEN(SYSDATE,trans_dt)<=12 TH
EN 1 ELSE 0 END) AS V_ISS_LAST_12_MO_CT,
SUM(CASE WHEN TRANS_TYPE_CD='ISSUE' AND MONTHS_BETWEEN(SYSDATE,trans_dt)<=12 TH
EN IN_OUT_QTY ELSE 0 END) AS V_ISS_LAST_12_MO_QTY,
SUM(CASE WHEN TRANS_TYPE_CD='ISSUE' AND MONTHS_BETWEEN(SYSDATE,trans_dt)<=12 TH
EN LINE_COST_AMT ELSE 0 END) AS V_ISS_LAST_12_MOS_AMT,
SUM(CASE WHEN TRANS_TYPE_CD='ISSUE' AND MONTHS_BETWEEN(SYSDATE,trans_dt)<=24 TH
EN 1 ELSE 0 END) AS V_ISS_LAST_24_MO_CT,
SUM(CASE WHEN TRANS_TYPE_CD='ISSUE' AND MONTHS_BETWEEN(SYSDATE,trans_dt)<=24 TH
EN IN_OUT_QTY ELSE 0 END) AS V_ISS_LAST_24_MO_QTY,
SUM(CASE WHEN TRANS_TYPE_CD='ISSUE' AND MONTHS_BETWEEN(SYSDATE,trans_dt)<=24 TH
EN LINE_COST_AMT ELSE 0 END) AS V_ISS_LAST_24_MOS_AMT,
SUM(CASE WHEN TRANS_TYPE_CD='ISSUE' AND MONTHS_BETWEEN(SYSDATE,trans_dt)<=36 TH
EN 1 ELSE 0 END) AS V_ISS_LAST_36_MO_CT,
SUM(CASE WHEN TRANS_TYPE_CD='ISSUE' AND MONTHS_BETWEEN(SYSDATE,trans_dt)<=36 TH
EN IN_OUT_QTY ELSE 0 END) AS V_ISS_LAST_36_MO_QTY,
SUM(CASE WHEN TRANS_TYPE_CD='ISSUE' AND MONTHS_BETWEEN(SYSDATE,trans_dt)<=36 TH
EN LINE_COST_AMT ELSE 0 END) AS V_ISS_LAST_36_MOS_AMT,
MAX(CASE WHEN TRANS_TYPE_CD='ISSUE' THEN TRANS_DT_KEY ELSE 0 END) AS V_LAST_ISS
_DT_KEY,
MAX(CASE WHEN TRANS_TYPE_CD='ISSUE' AND (TRANS_DT_KEY = C.MAX_ISSUE_DT_KEY) THE
N IN_OUT_QTY ELSE 0 END) AS V_LAST_ISS_QTY,
MAX(CASE WHEN TRANS_TYPE_CD='ISSUE' AND (TRANS_DT_KEY = C.MAX_ISSUE_DT_KEY) THE
N LINE_COST_AMT ELSE 0 END) AS V_LAST_ISS_AMT,
SUM(CASE WHEN TRANS_TYPE_CD='ISSUE' AND EXTRACT(MONTH FROM SYSDATE)=EXTRACT(MON
TH FROM TRANS_DT) THEN 1 ELSE 0 END) AS V_ISS_MO_CT,
SUM(CASE WHEN TRANS_TYPE_CD='ISSUE' AND EXTRACT(MONTH FROM SYSDATE)=EXTRACT(MON
TH FROM TRANS_DT) THEN IN_OUT_QTY ELSE 0 END) AS V_ISS_MO_QTY,
SUM(CASE WHEN TRANS_TYPE_CD='ISSUE' AND V_FISCAL_START_DT < trans_dt AND trans_
dt < SYSDATE THEN IN_OUT_QTY ELSE 0 END) AS V_ISS_YTD_QTY,
SUM(CASE WHEN TRANS_TYPE_CD='ISSUE' AND EXTRACT(MONTH FROM SYSDATE)=EXTRACT(MON
TH FROM TRANS_DT) THEN LINE_COST_AMT ELSE 0 END) AS V_ISS_MO_AMT,
SUM(CASE WHEN TRANS_TYPE_CD='ISSUE' AND V_FISCAL_START_DT < trans_dt AND trans
_dt < SYSDATE THEN LINE_COST_AMT ELSE 0 END) AS V_ISS_YTD_AMT,
SUM(CASE WHEN TRANS_TYPE_CD='RETURN' AND MONTHS_BETWEEN(SYSDATE,trans_dt)<=12 T
HEN 1 ELSE 0 END) AS V_RTNS_LAST_12_MO_CT,
SUM(CASE WHEN TRANS_TYPE_CD='RETURN' AND MONTHS_BETWEEN(SYSDATE,trans_dt)<=12 T
HEN IN_OUT_QTY ELSE 0 END) AS V_RTNS_LAST_12_MO_QTY,
SUM(CASE WHEN TRANS_TYPE_CD='RETURN' AND MONTHS_BETWEEN(SYSDATE,trans_dt)<=12 T
HEN LINE_COST_AMT ELSE 0 END) AS V_RTNS_LAST_12_MOS_AMT,
SUM(CASE WHEN TRANS_TYPE_CD='RETURN' AND MONTHS_BETWEEN(SYSDATE,trans_dt)<=24 T
HEN 1 ELSE 0 END) AS V_RTNS_LAST_24_MO_CT,
SUM(CASE WHEN TRANS_TYPE_CD='RETURN' AND MONTHS_BETWEEN(SYSDATE,trans_dt)<=24 T
HEN IN_OUT_QTY ELSE 0 END) AS V_RTNS_LAST_24_MO_QTY,
SUM(CASE WHEN TRANS_TYPE_CD='RETURN' AND MONTHS_BETWEEN(SYSDATE,trans_dt)<=24 T
HEN LINE_COST_AMT ELSE 0 END) AS V_RTNS_LAST_24_MOS_AMT ,
SUM(CASE WHEN TRANS_TYPE_CD='RETURN' AND MONTHS_BETWEEN(SYSDATE,trans_dt)<=36 T
HEN 1 ELSE 0 END) AS V_RTNS_LAST_36_MO_CT,
SUM(CASE WHEN TRANS_TYPE_CD='RETURN' AND MONTHS_BETWEEN(SYSDATE,trans_dt)<=36 T
HEN IN_OUT_QTY ELSE 0 END) AS V_RTNS_LAST_36_MO_QTY,
SUM(CASE WHEN TRANS_TYPE_CD='RETURN' AND MONTHS_BETWEEN(SYSDATE,trans_dt)<=36 T
HEN LINE_COST_AMT ELSE 0 END) AS V_RTNS_LAST_36_MOS_AMT,
SUM(CASE WHEN TRANS_TYPE_CD='RETURN' AND EXTRACT(MONTH FROM SYSDATE)=EXTRACT(MO
NTH FROM TRANS_DT) THEN 1 ELSE 0 END) AS V_RTNS_MO_CT,
SUM(CASE WHEN TRANS_TYPE_CD='RETURN' AND EXTRACT(MONTH FROM SYSDATE)=EXTRACT(MO
NTH FROM TRANS_DT) THEN IN_OUT_QTY ELSE 0 END) AS V_RTN_MO_QTY,
SUM(CASE WHEN TRANS_TYPE_CD='RETURN' AND V_FISCAL_START_DT < trans_dt AND trans
_dt < SYSDATE THEN IN_OUT_QTY ELSE 0 END) AS V_RTN_YTD_QTY,
SUM(CASE WHEN TRANS_TYPE_CD='RETURN' AND EXTRACT(MONTH FROM SYSDATE)=EXTRACT(MO
NTH FROM TRANS_DT) THEN LINE_COST_AMT ELSE 0
END) AS V_RTN_MO_AMT,
SUM(CASE WHEN TRANS_TYPE_CD='RETURN' AND V_FISCAL_START_DT < trans_dt AND tran
s_dt < SYSDATE THEN LINE_COST_AMT ELSE 0 END) AS V_RTN_YTD_AMT

FROM EAM_OD_WO_ITEM_TRANS_TB A,EAM_OD_ITEM_STOREROOM_TB B ,
(SELECT ITEM_NO,ITEM_SET_ID, STOREROOM_NAME, SITE_ID,MAX(TRANS_DT_KEY) MAX_ISSUE
_DT_KEY FROM EAM_OD_WO_ITEM_TRANS_TB
GROUP BY ITEM_NO, ITEM_SET_ID, STOREROOM_NAME, SITE_ID) C,EAM_DI_ITEM_TB X,EAM_D
I_STOREROOM_TB Y,EAM_DI_SITE_TB Z
WHERE A.ITEM_NO=B.ITEM_NO AND A.ITEM_SET_ID=B.ITEM_SET_ID AND A.STOREROOM_NAME
=B.STOREROOM_NAME AND A.SITE_ID=B.SITE_ID AND A.TRANS_DT < SYSDATE
AND A.ITEM_NO = C.ITEM_NO AND A.ITEM_SET_ID=C.ITEM_SET_ID AND A.STOREROOM_NAME =
C.STOREROOM_NAME AND A.SITE_ID=C.SITE_ID
AND B.ITEM_NO=X.ITEM_NO AND B.ITEM_SET_ID=X.ITEM_SET_ID AND B.STOREROOM_NAME=Y.
STRRM_NAME AND B.SITE_ID=Y.SITE_ID AND B.SITE_ID =Z.SITE_ID
GROUP BY B.ITEM_NO,B.ITEM_SET_ID,B.STOREROOM_NAME,B.SITE_ID) S
on (T.ITEM_KEY=S.V_ITEM_KEY AND T.STRRM_KEY= S.V_STOREROOM_KEY AND
T.SITE_KEY=S.V_SITE_KEY AND T.MO_END_DT_KEY=V_MO_END_DT_KEY)
WHEN MATCHED THEN
UPDATE SET
T.ISS_LAST_12_MO_CT=S.V_ISS_LAST_12_MO_CT,
T.ISS_LAST_12_MO_QTY=S.V_ISS_LAST_12_MO_QTY,
T.ISS_LAST_12_MOS_AMT=S.V_ISS_LAST_12_MOS_AMT,
T.ISS_LAST_24_MO_CT=S.V_ISS_LAST_24_MO_CT,
T.ISS_LAST_24_MO_QTY=S.V_ISS_LAST_24_MO_QTY,
T.ISS_LAST_24_MOS_AMT=S.V_ISS_LAST_24_MOS_AMT,
T.ISS_LAST_36_MO_CT=S.V_ISS_LAST_36_MO_CT,
T.ISS_LAST_36_MO_QTY=S.V_ISS_LAST_36_MO_QTY,
T.ISS_LAST_36_MOS_AMT=S.V_ISS_LAST_36_MOS_AMT,
T.ISS_MO_AMT=S.V_ISS_MO_AMT,
T.ISS_MO_CT=S.V_ISS_MO_CT,
T.ISS_MO_QTY=S.V_ISS_MO_QTY,
T.ISS_YTD_AMT=S.V_ISS_YTD_AMT,
T.LAST_ISS_AMT=S.V_LAST_ISS_AMT,
T.LAST_ISS_DT_KEY=S.V_LAST_ISS_DT_KEY,
T.LAST_ISS_QTY=S.V_LAST_ISS_QTY,
T.RTN_MO_AMT=S.V_RTN_MO_AMT,
T.RTN_MO_QTY=S.V_RTN_MO_QTY,
T.RTN_YTD_AMT=S.V_RTN_YTD_AMT,
T.RTNS_LAST_12_MO_CT=S.V_RTNS_LAST_12_MO_CT,
T.RTNS_LAST_12_MO_QTY=S.V_RTNS_LAST_12_MO_QTY,
T.RTNS_LAST_12_MOS_AMT=S.V_RTNS_LAST_12_MOS_AMT,
T.RTNS_LAST_24_MO_CT=S.V_RTNS_LAST_24_MO_CT,
T.RTNS_LAST_24_MO_QTY=S.V_RTNS_LAST_24_MO_QTY,
T.RTNS_LAST_24_MOS_AMT=S.V_RTNS_LAST_24_MOS_AMT,
T.RTNS_LAST_36_MO_CT=S.V_RTNS_LAST_36_MO_CT,
T.RTNS_LAST_36_MO_QTY=S.V_RTNS_LAST_36_MO_QTY,
T.RTNS_LAST_36_MOS_AMT=S.V_RTNS_LAST_36_MOS_AMT,
T.LOADED_DT=V_LOADED_DT,
T.UPDATED_BY=V_UPDATED_BY,
T.UPDATED_DT=V_UPDATED_DT,
T.WO_MTRL_USAGE_YTD_QTY=S.V_ISS_YTD_QTY-S.V_RTN_YTD_QTY,
T.RTNS_MO_CT=S.V_RTNS_MO_CT
WHEN NOT MATCHED THEN
INSERT (
T.ABC_CD,
T.ADJS_LAST_12_MO_CT,
T.ADJS_LAST_12_MO_QTY,
T.ADJS_LAST_12_MOS_AMT,
T.ADJS_LAST_24_MO_CT,
T.ADJS_LAST_24_MO_QTY,
T.ADJS_LAST_24_MOS_AMT,
T.ADJS_LAST_36_MO_CT,
T.ADJS_LAST_36_MO_QTY,
T.ADJS_LAST_36_MOS_AMT,
T.ADJS_MO_AMT,
T.ADJS_MO_CT,
T.ADJS_MO_QTY,
T.AUTO_REORDER_FLG,
T.AUTO_REQ_FLG,
T.AUTO_RSTK_FLG,
T.AVG_UNIT_COST_AMT,
T.AVL_AMT,
T.AVL_QTY,
T.COMITTED_AMT,
T.COMITTED_QTY,
T.CREATED_BY,
T.CREATED_DT,
T.CRIT_ITEM_FLG,
T.CT_RQRD_FLG,
T.CURR_BAL_AMT,
T.CURR_BAL_QTY,
T.CURR_RSRVD_AMT,
T.CURR_RSRVD_QTY,
T.DMND_AMT,
T.DMND_QTY,
T.DUE_IN_QTY,
T.ECON_REORDER_QTY,
T.EQ_RELTD_FLG,
T.ETL_LOAD_KEY,
T.EXPRD_IN_STK_AMT,
T.EXPRD_IN_STK_QTY,
T.HLDG_LOC_AMT,
T.HLDG_LOC_QTY,
T.IN_XFER_AMT,
T.IN_XFER_CT,
T.IN_XFER_QTY,
T.IN_XFERS_LAST_12_MO_CT,
T.IN_XFERS_LAST_12_MO_QTY,
T.IN_XFERS_LAST_12_MOS_AMT,
T.IN_XFERS_LAST_24_MO_CT,
T.IN_XFERS_LAST_24_MO_QTY,
T.IN_XFERS_LAST_24_MOS_AMT,
T.IN_XFERS_LAST_36_MO_CT,
T.IN_XFERS_LAST_36_MO_QTY,
T.IN_XFERS_LAST_36_MOS_AMT,
T.IN_XFERS_MO_AMT,
T.IN_XFERS_MO_CT,
T.IN_XFERS_MO_QTY,
T.INIT_STK_MO_VAL,
T.INIT_STK_YTD_VAL,
T.INV_OPTZN_XFER_AMT,
T.INV_OPTZN_XFER_YTD_AMT,
T.INV_STAT_CD,
T.ISS_LAST_12_MO_CT,
T.ISS_LAST_12_MO_QTY,
T.ISS_LAST_12_MOS_AMT,
T.ISS_LAST_24_MO_CT,
T.ISS_LAST_24_MO_QTY,
T.ISS_LAST_24_MOS_AMT,
T.ISS_LAST_36_MO_CT,
T.ISS_LAST_36_MO_QTY,
T.ISS_LAST_36_MOS_AMT,
T.ISS_MO_AMT,
T.ISS_MO_CT,
T.ISS_MO_QTY,
T.ISS_UOM_CD,
T.ISS_YTD_AMT,
T.ITEM_KEY,
T.ITEM_STAT_CD,
T.LAST_ISS_AMT,
T.LAST_ISS_DT_KEY,
T.LAST_ISS_QTY,
T.LAST_PO_AMT,
T.LAST_PO_DT_KEY,
T.LAST_PO_NO,
T.LAST_RCPT_DT_KEY,
T.LAST_RCPT_QTY,
T.LAST_SPLR_KEY,
T.LEAD_DLVR_DAYS,
T.LOADED_DT,
T.MO_END_DT_KEY,
T.OPEN_ORDER_AMT,
T.OPEN_ORDER_QTY,
T.OPEN_XFERS_AMT,
T.OPEN_XFERS_QTY,
T.OUT_XFER_AMT,
T.OUT_XFER_CT,
T.OUT_XFER_QTY,
T.OUT_XFERS_LAST_12_MO_AMT,
T.OUT_XFERS_LAST_12_MO_CT,
T.OUT_XFERS_LAST_12_MO_QTY,
T.OUT_XFERS_LAST_24_MO_AMT,
T.OUT_XFERS_LAST_24_MO_CT,
T.OUT_XFERS_LAST_24_MO_QTY,
T.OUT_XFERS_LAST_36_MO_AMT,
T.OUT_XFERS_LAST_36_MO_CT,
T.OUT_XFERS_LAST_36_MO_QTY,
T.OUT_XFERS_MO_AMT,
T.OUT_XFERS_MO_CT,
T.OUT_XFERS_MO_QTY,
T.RCPTS_LAST_12_MO_CT,
T.RCPTS_LAST_12_MO_QTY,
T.RCPTS_LAST_12_MOS_AMT,
T.RCPTS_LAST_24_MO_CT,
T.RCPTS_LAST_24_MO_QTY,
T.RCPTS_LAST_24_MOS_AMT,
T.RCPTS_LAST_36_MO_CT,
T.RCPTS_LAST_36_MO_QTY,
T.RCPTS_LAST_36_MOS_AMT,
T.RCPTS_MO_AMT,
T.RCPTS_MO_CT,
T.RCPTS_MO_QTY,
T.RCPTS_YTD_AMT,
T.REORDER_PNT_QTY,
T.RTN_MO_AMT,
T.RTN_MO_QTY,
T.RTN_YTD_AMT,
T.RTNS_LAST_12_MO_CT,
T.RTNS_LAST_12_MO_QTY,
T.RTNS_LAST_12_MOS_AMT,
T.RTNS_LAST_24_MO_CT,
T.RTNS_LAST_24_MO_QTY,
T.RTNS_LAST_24_MOS_AMT,
T.RTNS_LAST_36_MO_CT,
T.RTNS_LAST_36_MO_QTY,
T.RTNS_LAST_36_MOS_AMT,
T.RTNS_MO_CT,
T.SFTY_STK_QTY,
T.SITE_KEY,
T.SMI_FLG,
T.STK_CATG_CD,
T.STRRM_KEY,
T.TRGT_MAX_AMT,
T.TRGT_MAX_MO_AMT,
T.TRGT_MAX_QTY,
T.TRGT_MAX_YTD_AMT,
T.UPDATED_BY,
T.UPDATED_DT,
T.WO_MTRL_USAGE_MO_QTY,
T.WO_MTRL_USAGE_YTD_QTY,
T.XFER_CT,
T.XFER_QTY
)
VALUES (
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
V_CREATED_BY,
V_CREATED_DT,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
S.V_ISS_LAST_12_MO_CT,
S.V_ISS_LAST_12_MO_QTY,
S.V_ISS_LAST_12_MOS_AMT,
S.V_ISS_LAST_24_MO_CT,
S.V_ISS_LAST_24_MO_QTY,
S.V_ISS_LAST_24_MOS_AMT,
S.V_ISS_LAST_36_MO_CT,
S.V_ISS_LAST_36_MO_QTY,
S.V_ISS_LAST_36_MOS_AMT,
S.V_ISS_MO_AMT,
S.V_ISS_MO_CT,
S.V_ISS_MO_QTY,
0,
S.V_ISS_YTD_AMT,
S.V_ITEM_KEY,
0,
S.V_LAST_ISS_AMT,
S.V_LAST_ISS_DT_KEY,
S.V_LAST_ISS_QTY,
0,
0,
0,
0,
0,
0,
0,
V_LOADED_DT,
V_MO_END_DT_KEY,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
S.V_RTN_MO_AMT,
S.V_RTN_MO_QTY,
S.V_RTN_YTD_AMT,
S.V_RTNS_LAST_12_MO_CT,
S.V_RTNS_LAST_12_MO_QTY,
S.V_RTNS_LAST_12_MOS_AMT,
S.V_RTNS_LAST_24_MO_CT,
S.V_RTNS_LAST_24_MO_QTY,
S.V_RTNS_LAST_24_MOS_AMT,
S.V_RTNS_LAST_36_MO_CT,
S.V_RTNS_LAST_36_MO_QTY,
S.V_RTNS_LAST_36_MOS_AMT,
S.V_RTNS_MO_CT,
0,
S.V_SITE_KEY,
0,
0,
S.V_STOREROOM_KEY,
0,
0,
0,
0,
V_UPDATED_BY,
V_UPDATED_DT,
0,
S.V_ISS_YTD_QTY-S.V_RTN_YTD_QTY,
0,
0
);
EXCEPTION
WHEN NO_DATA_FOUND THEN
NULL;
COMMIT;
END;
----------------------ITEM_RESERVE----------------

BEGIN
MERGE INTO EAM_OF_INVENTORY_STOREROOM_TB T USING(
SELECT
MAX(X.ITEM_KEY) AS V_ITEM_KEY,MAX(Y.STRRM_KEY) AS V_STOREROOM_KEY, MAX(Z.SITE_K
EY) AS V_SITE_KEY,
SUM(RESERVE_QTY-ACTUAL_RSRV_QTY) AS V_CURR_RSRVD_QTY,
SUM(RESERVE_QTY) AS V_DMND_QTY,
SUM(ACTUAL_RSRV_QTY) AS V_COMITTED_QTY
--- SUM(RESERVE_QTY - ACTUAL_RSRV_QTY) AS V_CURR_RSRVD_AMT, --* T.AVG_UNIT_COS
T_AMT)
--- SUM(RESERVE_QTY) AS V_DMND_AMT, --* T.AVG_UNIT_COST_AMT)
--- SUM(ACTUAL_RSRV_QTY ) AS V_COMITTED_AMT --* T.AVG_UNIT_COST_AMT
FROM EAM_OD_ITEM_RESERVE_TB A,EAM_OD_ITEM_STOREROOM_TB B ,EAM_DI_ITEM_TB X,EAM
_DI_STOREROOM_TB Y,EAM_DI_SITE_TB Z
WHERE A.ITEM_NO=B.ITEM_NO AND A.ITEM_SET_ID=B.ITEM_SET_ID AND A.STOREROOM_NAME=
B.STOREROOM_NAME AND A.SITE_ID=B.SITE_ID
AND B.ITEM_NO=X.ITEM_NO AND B.ITEM_SET_ID=X.ITEM_SET_ID AND B.STOREROOM_NAME=Y.S
TRRM_NAME AND B.SITE_ID=Y.SITE_ID AND B.SITE_ID =Z.SITE_ID
GROUP BY B.ITEM_NO,B.ITEM_SET_ID,B.STOREROOM_NAME,B.SITE_ID) S
on (T.ITEM_KEY=S.V_ITEM_KEY AND T.STRRM_KEY= S.V_STOREROOM_KEY AND
T.SITE_KEY=S.V_SITE_KEY AND T.MO_END_DT_KEY=V_MO_END_DT_KEY)
WHEN MATCHED THEN
UPDATE SET
T.CURR_RSRVD_QTY=S.V_CURR_RSRVD_QTY,
T.DMND_QTY=S.V_DMND_QTY,
T.COMITTED_QTY=S.V_COMITTED_QTY,
---T.CURR_RSRVD_AMT=S.V_CURR_RSRVD_AMT,
---T.DMND_AMT=S.V_DMND_AMT,
T.LOADED_DT=V_LOADED_DT,
T.UPDATED_BY=V_UPDATED_BY,
T.UPDATED_DT=V_UPDATED_DT
---T.COMITTED_AMT=S.V_COMITTED_AMT
WHEN NOT MATCHED THEN
INSERT (
T.ABC_CD,
T.ADJS_LAST_12_MO_CT,
T.ADJS_LAST_12_MO_QTY,
T.ADJS_LAST_12_MOS_AMT,
T.ADJS_LAST_24_MO_CT,
T.ADJS_LAST_24_MO_QTY,
T.ADJS_LAST_24_MOS_AMT,
T.ADJS_LAST_36_MO_CT,
T.ADJS_LAST_36_MO_QTY,
T.ADJS_LAST_36_MOS_AMT,
T.ADJS_MO_AMT,
T.ADJS_MO_CT,
T.ADJS_MO_QTY,
T.AUTO_REORDER_FLG,
T.AUTO_REQ_FLG,
T.AUTO_RSTK_FLG,
T.AVG_UNIT_COST_AMT,
T.AVL_AMT,
T.AVL_QTY,
T.COMITTED_AMT,
T.COMITTED_QTY,
T.CREATED_BY,
T.CREATED_DT,
T.CRIT_ITEM_FLG,
T.CT_RQRD_FLG,
T.CURR_BAL_AMT,
T.CURR_BAL_QTY,
T.CURR_RSRVD_AMT,
T.CURR_RSRVD_QTY,
T.DMND_AMT,
T.DMND_QTY,
T.DUE_IN_QTY,
T.ECON_REORDER_QTY,
T.EQ_RELTD_FLG,
T.ETL_LOAD_KEY,
T.EXPRD_IN_STK_AMT,
T.EXPRD_IN_STK_QTY,
T.HLDG_LOC_AMT,
T.HLDG_LOC_QTY,
T.IN_XFER_AMT,
T.IN_XFER_CT,
T.IN_XFER_QTY,
T.IN_XFERS_LAST_12_MO_CT,
T.IN_XFERS_LAST_12_MO_QTY,
T.IN_XFERS_LAST_12_MOS_AMT,
T.IN_XFERS_LAST_24_MO_CT,
T.IN_XFERS_LAST_24_MO_QTY,
T.IN_XFERS_LAST_24_MOS_AMT,
T.IN_XFERS_LAST_36_MO_CT,
T.IN_XFERS_LAST_36_MO_QTY,
T.IN_XFERS_LAST_36_MOS_AMT,
T.IN_XFERS_MO_AMT,
T.IN_XFERS_MO_CT,
T.IN_XFERS_MO_QTY,
T.INIT_STK_MO_VAL,
T.INIT_STK_YTD_VAL,
T.INV_OPTZN_XFER_AMT,
T.INV_OPTZN_XFER_YTD_AMT,
T.INV_STAT_CD,
T.ISS_LAST_12_MO_CT,
T.ISS_LAST_12_MO_QTY,
T.ISS_LAST_12_MOS_AMT,
T.ISS_LAST_24_MO_CT,
T.ISS_LAST_24_MO_QTY,
T.ISS_LAST_24_MOS_AMT,
T.ISS_LAST_36_MO_CT,
T.ISS_LAST_36_MO_QTY,
T.ISS_LAST_36_MOS_AMT,
T.ISS_MO_AMT,
T.ISS_MO_CT,
T.ISS_MO_QTY,
T.ISS_UOM_CD,
T.ISS_YTD_AMT,
T.ITEM_KEY,
T.ITEM_STAT_CD,
T.LAST_ISS_AMT,
T.LAST_ISS_DT_KEY,
T.LAST_ISS_QTY,
T.LAST_PO_AMT,
T.LAST_PO_DT_KEY,
T.LAST_PO_NO,
T.LAST_RCPT_DT_KEY,
T.LAST_RCPT_QTY,
T.LAST_SPLR_KEY,
T.LEAD_DLVR_DAYS,
T.LOADED_DT,
T.MO_END_DT_KEY,
T.OPEN_ORDER_AMT,
T.OPEN_ORDER_QTY,
T.OPEN_XFERS_AMT,
T.OPEN_XFERS_QTY,
T.OUT_XFER_AMT,
T.OUT_XFER_CT,
T.OUT_XFER_QTY,
T.OUT_XFERS_LAST_12_MO_AMT,
T.OUT_XFERS_LAST_12_MO_CT,
T.OUT_XFERS_LAST_12_MO_QTY,
T.OUT_XFERS_LAST_24_MO_AMT,
T.OUT_XFERS_LAST_24_MO_CT,
T.OUT_XFERS_LAST_24_MO_QTY,
T.OUT_XFERS_LAST_36_MO_AMT,
T.OUT_XFERS_LAST_36_MO_CT,
T.OUT_XFERS_LAST_36_MO_QTY,
T.OUT_XFERS_MO_AMT,
T.OUT_XFERS_MO_CT,
T.OUT_XFERS_MO_QTY,
T.RCPTS_LAST_12_MO_CT,
T.RCPTS_LAST_12_MO_QTY,
T.RCPTS_LAST_12_MOS_AMT,
T.RCPTS_LAST_24_MO_CT,
T.RCPTS_LAST_24_MO_QTY,
T.RCPTS_LAST_24_MOS_AMT,
T.RCPTS_LAST_36_MO_CT,
T.RCPTS_LAST_36_MO_QTY,
T.RCPTS_LAST_36_MOS_AMT,
T.RCPTS_MO_AMT,
T.RCPTS_MO_CT,
T.RCPTS_MO_QTY,
T.RCPTS_YTD_AMT,
T.REORDER_PNT_QTY,
T.RTN_MO_AMT,
T.RTN_MO_QTY,
T.RTN_YTD_AMT,
T.RTNS_LAST_12_MO_CT,
T.RTNS_LAST_12_MO_QTY,
T.RTNS_LAST_12_MOS_AMT,
T.RTNS_LAST_24_MO_CT,
T.RTNS_LAST_24_MO_QTY,
T.RTNS_LAST_24_MOS_AMT,
T.RTNS_LAST_36_MO_CT,
T.RTNS_LAST_36_MO_QTY,
T.RTNS_LAST_36_MOS_AMT,
T.RTNS_MO_CT,
T.SFTY_STK_QTY,
T.SITE_KEY,
T.SMI_FLG,
T.STK_CATG_CD,
T.STRRM_KEY,
T.TRGT_MAX_AMT,
T.TRGT_MAX_MO_AMT,
T.TRGT_MAX_QTY,
T.TRGT_MAX_YTD_AMT,
T.UPDATED_BY,
T.UPDATED_DT,
T.WO_MTRL_USAGE_MO_QTY,
T.WO_MTRL_USAGE_YTD_QTY,
T.XFER_CT,
T.XFER_QTY
)
VALUES (
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
S.V_COMITTED_QTY,
V_CREATED_BY,
V_CREATED_DT,
0,
0,
0,
0,
0,
S.V_CURR_RSRVD_QTY,
0,
S.V_DMND_QTY,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
S.V_ITEM_KEY,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
V_LOADED_DT,
V_MO_END_DT_KEY,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
S.V_SITE_KEY,
0,
0,
S.V_STOREROOM_KEY,
0,
0,
0,
0,
V_UPDATED_BY,
V_UPDATED_DT,
0,
0,
0,
0
);
COMMIT;
EXCEPTION
WHEN NO_DATA_FOUND THEN
NULL;
COMMIT;
END;
-------------------------ITEM_BALANCES--------
BEGIN
MERGE INTO EAM_OF_INVENTORY_STOREROOM_TB T USING(
SELECT
MAX(X.ITEM_KEY) AS V_ITEM_KEY,MAX(Y.STRRM_KEY) AS V_STOREROOM_KEY, MAX(Z.SITE_K
EY) AS V_SITE_KEY,
SUM( CURRENT_BALANCE_QTY) as V_CURR_BAL_QTY
--- SUM(CURRENT_BALANCE_QTY ) as V_CURR_BAL_AMT ---* V_AVG_UNIT_COST_AMT)
FROM EAM_OD_ITEM_BALANCES_TB A,EAM_OD_ITEM_STOREROOM_TB B,EAM_DI_ITEM_TB X,E
AM_DI_STOREROOM_TB Y,EAM_DI_SITE_TB Z
WHERE A.ITEM_NO=B.ITEM_NO AND A.ITEM_SET_ID=B.ITEM_SET_ID AND A.STOREROOM_NAME=
B.STOREROOM_NAME AND A.SITE_ID=B.SITE_ID
AND B.ITEM_NO=X.ITEM_NO AND B.ITEM_SET_ID=X.ITEM_SET_ID AND B.STOREROOM_NAME=Y.S
TRRM_NAME AND B.SITE_ID=Y.SITE_ID AND B.SITE_ID =Z.SITE_ID
GROUP BY B.ITEM_NO,B.ITEM_SET_ID,B.STOREROOM_NAME,B.SITE_ID) S
on (T.ITEM_KEY=S.V_ITEM_KEY AND T.STRRM_KEY= S.V_STOREROOM_KEY AND
T.SITE_KEY=S.V_SITE_KEY AND T.MO_END_DT_KEY=V_MO_END_DT_KEY)
WHEN MATCHED THEN
UPDATE SET
T.CURR_BAL_QTY=S.V_CURR_BAL_QTY,
T.LOADED_DT=V_LOADED_DT,
T.UPDATED_BY=V_UPDATED_BY,
T.UPDATED_DT=V_UPDATED_DT
---T.CURR_BAL_AMT=S.V_CURR_BAL_AMT
WHEN NOT MATCHED THEN
INSERT (
T.ABC_CD,
T.ADJS_LAST_12_MO_CT,
T.ADJS_LAST_12_MO_QTY,
T.ADJS_LAST_12_MOS_AMT,
T.ADJS_LAST_24_MO_CT,
T.ADJS_LAST_24_MO_QTY,
T.ADJS_LAST_24_MOS_AMT,
T.ADJS_LAST_36_MO_CT,
T.ADJS_LAST_36_MO_QTY,
T.ADJS_LAST_36_MOS_AMT,
T.ADJS_MO_AMT,
T.ADJS_MO_CT,
T.ADJS_MO_QTY,
T.AUTO_REORDER_FLG,
T.AUTO_REQ_FLG,
T.AUTO_RSTK_FLG,
T.AVG_UNIT_COST_AMT,
T.AVL_AMT,
T.AVL_QTY,
T.COMITTED_AMT,
T.COMITTED_QTY,
T.CREATED_BY,
T.CREATED_DT,
T.CRIT_ITEM_FLG,
T.CT_RQRD_FLG,
T.CURR_BAL_AMT,
T.CURR_BAL_QTY,
T.CURR_RSRVD_AMT,
T.CURR_RSRVD_QTY,
T.DMND_AMT,
T.DMND_QTY,
T.DUE_IN_QTY,
T.ECON_REORDER_QTY,
T.EQ_RELTD_FLG,
T.ETL_LOAD_KEY,
T.EXPRD_IN_STK_AMT,
T.EXPRD_IN_STK_QTY,
T.HLDG_LOC_AMT,
T.HLDG_LOC_QTY,
T.IN_XFER_AMT,
T.IN_XFER_CT,
T.IN_XFER_QTY,
T.IN_XFERS_LAST_12_MO_CT,
T.IN_XFERS_LAST_12_MO_QTY,
T.IN_XFERS_LAST_12_MOS_AMT,
T.IN_XFERS_LAST_24_MO_CT,
T.IN_XFERS_LAST_24_MO_QTY,
T.IN_XFERS_LAST_24_MOS_AMT,
T.IN_XFERS_LAST_36_MO_CT,
T.IN_XFERS_LAST_36_MO_QTY,
T.IN_XFERS_LAST_36_MOS_AMT,
T.IN_XFERS_MO_AMT,
T.IN_XFERS_MO_CT,
T.IN_XFERS_MO_QTY,
T.INIT_STK_MO_VAL,
T.INIT_STK_YTD_VAL,
T.INV_OPTZN_XFER_AMT,
T.INV_OPTZN_XFER_YTD_AMT,
T.INV_STAT_CD,
T.ISS_LAST_12_MO_CT,
T.ISS_LAST_12_MO_QTY,
T.ISS_LAST_12_MOS_AMT,
T.ISS_LAST_24_MO_CT,
T.ISS_LAST_24_MO_QTY,
T.ISS_LAST_24_MOS_AMT,
T.ISS_LAST_36_MO_CT,
T.ISS_LAST_36_MO_QTY,
T.ISS_LAST_36_MOS_AMT,
T.ISS_MO_AMT,
T.ISS_MO_CT,
T.ISS_MO_QTY,
T.ISS_UOM_CD,
T.ISS_YTD_AMT,
T.ITEM_KEY,
T.ITEM_STAT_CD,
T.LAST_ISS_AMT,
T.LAST_ISS_DT_KEY,
T.LAST_ISS_QTY,
T.LAST_PO_AMT,
T.LAST_PO_DT_KEY,
T.LAST_PO_NO,
T.LAST_RCPT_DT_KEY,
T.LAST_RCPT_QTY,
T.LAST_SPLR_KEY,
T.LEAD_DLVR_DAYS,
T.LOADED_DT,
T.MO_END_DT_KEY,
T.OPEN_ORDER_AMT,
T.OPEN_ORDER_QTY,
T.OPEN_XFERS_AMT,
T.OPEN_XFERS_QTY,
T.OUT_XFER_AMT,
T.OUT_XFER_CT,
T.OUT_XFER_QTY,
T.OUT_XFERS_LAST_12_MO_AMT,
T.OUT_XFERS_LAST_12_MO_CT,
T.OUT_XFERS_LAST_12_MO_QTY,
T.OUT_XFERS_LAST_24_MO_AMT,
T.OUT_XFERS_LAST_24_MO_CT,
T.OUT_XFERS_LAST_24_MO_QTY,
T.OUT_XFERS_LAST_36_MO_AMT,
T.OUT_XFERS_LAST_36_MO_CT,
T.OUT_XFERS_LAST_36_MO_QTY,
T.OUT_XFERS_MO_AMT,
T.OUT_XFERS_MO_CT,
T.OUT_XFERS_MO_QTY,
T.RCPTS_LAST_12_MO_CT,
T.RCPTS_LAST_12_MO_QTY,
T.RCPTS_LAST_12_MOS_AMT,
T.RCPTS_LAST_24_MO_CT,
T.RCPTS_LAST_24_MO_QTY,
T.RCPTS_LAST_24_MOS_AMT,
T.RCPTS_LAST_36_MO_CT,
T.RCPTS_LAST_36_MO_QTY,
T.RCPTS_LAST_36_MOS_AMT,
T.RCPTS_MO_AMT,
T.RCPTS_MO_CT,
T.RCPTS_MO_QTY,
T.RCPTS_YTD_AMT,
T.REORDER_PNT_QTY,
T.RTN_MO_AMT,
T.RTN_MO_QTY,
T.RTN_YTD_AMT,
T.RTNS_LAST_12_MO_CT,
T.RTNS_LAST_12_MO_QTY,
T.RTNS_LAST_12_MOS_AMT,
T.RTNS_LAST_24_MO_CT,
T.RTNS_LAST_24_MO_QTY,
T.RTNS_LAST_24_MOS_AMT,
T.RTNS_LAST_36_MO_CT,
T.RTNS_LAST_36_MO_QTY,
T.RTNS_LAST_36_MOS_AMT,
T.RTNS_MO_CT,
T.SFTY_STK_QTY,
T.SITE_KEY,
T.SMI_FLG,
T.STK_CATG_CD,
T.STRRM_KEY,
T.TRGT_MAX_AMT,
T.TRGT_MAX_MO_AMT,
T.TRGT_MAX_QTY,
T.TRGT_MAX_YTD_AMT,
T.UPDATED_BY,
T.UPDATED_DT,
T.WO_MTRL_USAGE_MO_QTY,
T.WO_MTRL_USAGE_YTD_QTY,
T.XFER_CT,
T.XFER_QTY
)
VALUES (
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
V_CREATED_BY,
V_CREATED_DT,
0,
0,
0,
S.V_CURR_BAL_QTY,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
S.V_ITEM_KEY,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
V_LOADED_DT,
V_MO_END_DT_KEY,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
S.V_SITE_KEY,
0,
0,
S.V_STOREROOM_KEY,
0,
0,
0,
0,
V_UPDATED_BY,
V_UPDATED_DT,
0,
0,
0,
0
);
COMMIT;
EXCEPTION
WHEN NO_DATA_FOUND THEN
NULL;
COMMIT;
END;
------------------ITEM_BALANCES_TB,ITEM_LOT_TB----------

BEGIN
MERGE INTO EAM_OF_INVENTORY_STOREROOM_TB T USING(
SELECT
MAX(X.ITEM_KEY) AS V_ITEM_KEY,MAX(Y.STRRM_KEY) AS V_STOREROOM_KEY, MAX(Z.SITE_
KEY) AS V_SITE_KEY,
SUM(CASE WHEN IL.USE_BY_DT=NULL THEN 0 ELSE CURRENT_BALANCE_QTY END) as V_EXPR
D_IN_STK_QTY
--- SUM(current_balance_qty ) as V_EXPRD_IN_STK_AMT --- * V_AVG_UNIT_COST_AMT)
FROM EAM_OD_ITEM_BALANCES_TB A, EAM_OD_ITEM_LOT_TB IL ,EAM_OD_ITEM_STOREROOM_T
B B,EAM_DI_ITEM_TB X,EAM_DI_STOREROOM_TB Y,EAM_DI_SITE_TB Z
WHERE (A.ITEM_NO=B.ITEM_NO AND A.ITEM_SET_ID=B.ITEM_SET_ID AND A.STOREROOM_NAM
E=B.STOREROOM_NAME AND A.SITE_ID=B.SITE_ID AND
A.ITEM_NO=IL.ITEM_NO AND A.ITEM_SET_ID=IL.ITEM_SET_ID AND A.STOREROOM_NAME=IL
.STOREROOM_NAME AND A.SITE_ID=IL.SITE_ID AND
A.LOT_NO=IL.LOT_NO AND IL.USE_BY_DT < SYSDATE
AND B.ITEM_NO=X.ITEM_NO AND B.ITEM_SET_ID=X.ITEM_SET_ID AND B.STOREROOM_NAME=Y
.STRRM_NAME AND B.SITE_ID=Y.SITE_ID AND B.SITE_ID =Z.SITE_ID)
GROUP BY B.ITEM_NO,B.ITEM_SET_ID,B.STOREROOM_NAME,B.SITE_ID) S
on (T.ITEM_KEY=S.V_ITEM_KEY AND T.STRRM_KEY= S.V_STOREROOM_KEY AND
T.SITE_KEY=S.V_SITE_KEY AND T.MO_END_DT_KEY=V_MO_END_DT_KEY)
WHEN MATCHED THEN
UPDATE SET
T.EXPRD_IN_STK_QTY=S.V_EXPRD_IN_STK_QTY,
T.LOADED_DT=V_LOADED_DT,
T.UPDATED_BY=V_UPDATED_BY,
T.UPDATED_DT=V_UPDATED_DT
---T.EXPRD_IN_STK_AMT=S.V_EXPRD_IN_STK_AMT
WHEN NOT MATCHED THEN
INSERT (
T.ABC_CD,
T.ADJS_LAST_12_MO_CT,
T.ADJS_LAST_12_MO_QTY,
T.ADJS_LAST_12_MOS_AMT,
T.ADJS_LAST_24_MO_CT,
T.ADJS_LAST_24_MO_QTY,
T.ADJS_LAST_24_MOS_AMT,
T.ADJS_LAST_36_MO_CT,
T.ADJS_LAST_36_MO_QTY,
T.ADJS_LAST_36_MOS_AMT,
T.ADJS_MO_AMT,
T.ADJS_MO_CT,
T.ADJS_MO_QTY,
T.AUTO_REORDER_FLG,
T.AUTO_REQ_FLG,
T.AUTO_RSTK_FLG,
T.AVG_UNIT_COST_AMT,
T.AVL_AMT,
T.AVL_QTY,
T.COMITTED_AMT,
T.COMITTED_QTY,
T.CREATED_BY,
T.CREATED_DT,
T.CRIT_ITEM_FLG,
T.CT_RQRD_FLG,
T.CURR_BAL_AMT,
T.CURR_BAL_QTY,
T.CURR_RSRVD_AMT,
T.CURR_RSRVD_QTY,
T.DMND_AMT,
T.DMND_QTY,
T.DUE_IN_QTY,
T.ECON_REORDER_QTY,
T.EQ_RELTD_FLG,
T.ETL_LOAD_KEY,
T.EXPRD_IN_STK_AMT,
T.EXPRD_IN_STK_QTY,
T.HLDG_LOC_AMT,
T.HLDG_LOC_QTY,
T.IN_XFER_AMT,
T.IN_XFER_CT,
T.IN_XFER_QTY,
T.IN_XFERS_LAST_12_MO_CT,
T.IN_XFERS_LAST_12_MO_QTY,
T.IN_XFERS_LAST_12_MOS_AMT,
T.IN_XFERS_LAST_24_MO_CT,
T.IN_XFERS_LAST_24_MO_QTY,
T.IN_XFERS_LAST_24_MOS_AMT,
T.IN_XFERS_LAST_36_MO_CT,
T.IN_XFERS_LAST_36_MO_QTY,
T.IN_XFERS_LAST_36_MOS_AMT,
T.IN_XFERS_MO_AMT,
T.IN_XFERS_MO_CT,
T.IN_XFERS_MO_QTY,
T.INIT_STK_MO_VAL,
T.INIT_STK_YTD_VAL,
T.INV_OPTZN_XFER_AMT,
T.INV_OPTZN_XFER_YTD_AMT,
T.INV_STAT_CD,
T.ISS_LAST_12_MO_CT,
T.ISS_LAST_12_MO_QTY,
T.ISS_LAST_12_MOS_AMT,
T.ISS_LAST_24_MO_CT,
T.ISS_LAST_24_MO_QTY,
T.ISS_LAST_24_MOS_AMT,
T.ISS_LAST_36_MO_CT,
T.ISS_LAST_36_MO_QTY,
T.ISS_LAST_36_MOS_AMT,
T.ISS_MO_AMT,
T.ISS_MO_CT,
T.ISS_MO_QTY,
T.ISS_UOM_CD,
T.ISS_YTD_AMT,
T.ITEM_KEY,
T.ITEM_STAT_CD,
T.LAST_ISS_AMT,
T.LAST_ISS_DT_KEY,
T.LAST_ISS_QTY,
T.LAST_PO_AMT,
T.LAST_PO_DT_KEY,
T.LAST_PO_NO,
T.LAST_RCPT_DT_KEY,
T.LAST_RCPT_QTY,
T.LAST_SPLR_KEY,
T.LEAD_DLVR_DAYS,
T.LOADED_DT,
T.MO_END_DT_KEY,
T.OPEN_ORDER_AMT,
T.OPEN_ORDER_QTY,
T.OPEN_XFERS_AMT,
T.OPEN_XFERS_QTY,
T.OUT_XFER_AMT,
T.OUT_XFER_CT,
T.OUT_XFER_QTY,
T.OUT_XFERS_LAST_12_MO_AMT,
T.OUT_XFERS_LAST_12_MO_CT,
T.OUT_XFERS_LAST_12_MO_QTY,
T.OUT_XFERS_LAST_24_MO_AMT,
T.OUT_XFERS_LAST_24_MO_CT,
T.OUT_XFERS_LAST_24_MO_QTY,
T.OUT_XFERS_LAST_36_MO_AMT,
T.OUT_XFERS_LAST_36_MO_CT,
T.OUT_XFERS_LAST_36_MO_QTY,
T.OUT_XFERS_MO_AMT,
T.OUT_XFERS_MO_CT,
T.OUT_XFERS_MO_QTY,
T.RCPTS_LAST_12_MO_CT,
T.RCPTS_LAST_12_MO_QTY,
T.RCPTS_LAST_12_MOS_AMT,
T.RCPTS_LAST_24_MO_CT,
T.RCPTS_LAST_24_MO_QTY,
T.RCPTS_LAST_24_MOS_AMT,
T.RCPTS_LAST_36_MO_CT,
T.RCPTS_LAST_36_MO_QTY,
T.RCPTS_LAST_36_MOS_AMT,
T.RCPTS_MO_AMT,
T.RCPTS_MO_CT,
T.RCPTS_MO_QTY,
T.RCPTS_YTD_AMT,
T.REORDER_PNT_QTY,
T.RTN_MO_AMT,
T.RTN_MO_QTY,
T.RTN_YTD_AMT,
T.RTNS_LAST_12_MO_CT,
T.RTNS_LAST_12_MO_QTY,
T.RTNS_LAST_12_MOS_AMT,
T.RTNS_LAST_24_MO_CT,
T.RTNS_LAST_24_MO_QTY,
T.RTNS_LAST_24_MOS_AMT,
T.RTNS_LAST_36_MO_CT,
T.RTNS_LAST_36_MO_QTY,
T.RTNS_LAST_36_MOS_AMT,
T.RTNS_MO_CT,
T.SFTY_STK_QTY,
T.SITE_KEY,
T.SMI_FLG,
T.STK_CATG_CD,
T.STRRM_KEY,
T.TRGT_MAX_AMT,
T.TRGT_MAX_MO_AMT,
T.TRGT_MAX_QTY,
T.TRGT_MAX_YTD_AMT,
T.UPDATED_BY,
T.UPDATED_DT,
T.WO_MTRL_USAGE_MO_QTY,
T.WO_MTRL_USAGE_YTD_QTY,
T.XFER_CT,
T.XFER_QTY
)
VALUES (
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
V_CREATED_BY,
V_CREATED_DT,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
S.V_EXPRD_IN_STK_QTY,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
S.V_ITEM_KEY,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
V_LOADED_DT,
V_MO_END_DT_KEY,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
S.V_SITE_KEY,
0,
0,
S.V_STOREROOM_KEY,
0,
0,
0,
0,
V_UPDATED_BY,
V_UPDATED_DT,
0,
0,
0,
0
);
EXCEPTION
WHEN NO_DATA_FOUND THEN
NULL;
COMMIT;
END;
-----------------------MTRL_REC_TRANS_TB------------
BEGIN
MERGE INTO EAM_OF_INVENTORY_STOREROOM_TB T USING(
SELECT
MAX(X.ITEM_KEY) AS V_ITEM_KEY,MAX(Y.STRRM_KEY) AS V_STOREROOM_KEY, MAX(Z.SITE_
KEY) AS V_SITE_KEY ,
SUM(CASE WHEN TRANS_TYPE_CD='RECEIPT' AND MONTHS_BETWEEN(SYSDATE,trans_dt)<=12
THEN 1 ELSE 0 END) as V_RCPTS_LAST_12_MO_CT,
SUM(CASE WHEN TRANS_TYPE_CD='RECEIPT' AND MONTHS_BETWEEN(SYSDATE,trans_dt)<=12
THEN IN_OUT_QTY ELSE 0 END) AS V_RCPTS_LAST_12_MO_QTY,
SUM(CASE WHEN TRANS_TYPE_CD='RECEIPT' AND MONTHS_BETWEEN(SYSDATE,trans_dt)<=12
THEN LINE_COST_AMT ELSE 0 END) AS V_RCPTS_LAST_12_MOS_AMT,
SUM(CASE WHEN TRANS_TYPE_CD='RECEIPT' AND MONTHS_BETWEEN(SYSDATE,trans_dt)<=24
THEN 1 ELSE 0 END) AS V_RCPTS_LAST_24_MO_CT,
SUM(CASE WHEN TRANS_TYPE_CD='RECEIPT' AND MONTHS_BETWEEN(SYSDATE,trans_dt)<=24
THEN IN_OUT_QTY ELSE 0 END) AS V_RCPTS_LAST_24_MO_QTY,
SUM(CASE WHEN TRANS_TYPE_CD='RECEIPT' AND MONTHS_BETWEEN(SYSDATE,trans_dt)<=24
THEN LINE_COST_AMT ELSE 0 END) AS V_RCPTS_LAST_24_MOS_AMT,
SUM(CASE WHEN TRANS_TYPE_CD='RECEIPT' AND MONTHS_BETWEEN(SYSDATE,trans_dt)<=36
THEN 1 ELSE 0 END) AS V_RCPTS_LAST_36_MO_CT ,
SUM(CASE WHEN TRANS_TYPE_CD='RECEIPT' AND MONTHS_BETWEEN(SYSDATE,trans_dt)<=36
THEN IN_OUT_QTY ELSE 0 END) AS V_RCPTS_LAST_36_MO_QTY,
SUM(CASE WHEN TRANS_TYPE_CD='RECEIPT' AND MONTHS_BETWEEN(SYSDATE,trans_dt)<=36
THEN LINE_COST_AMT ELSE 0 END) AS V_RCPTS_LAST_36_MOS_AMT,
SUM(CASE WHEN TRANS_TYPE_CD='RECEIPT' AND EXTRACT(MONTH FROM SYSDATE)=EXTRACT(M
ONTH FROM TRANS_DT) THEN 1 ELSE 0 END) AS V_RCPTS_MO_QTY,
SUM(CASE WHEN TRANS_TYPE_CD='RECEIPT' AND EXTRACT(MONTH FROM SYSDATE)=EXTRACT(M
ONTH FROM TRANS_DT) THEN IN_OUT_QTY ELSE 0 END) AS V_RCPTS_MO_AMT,
SUM(CASE WHEN TRANS_TYPE_CD='RECEIPT' AND EXTRACT(MONTH FROM SYSDATE)=EXTRACT(M
ONTH FROM TRANS_DT) THEN LINE_COST_AMT ELSE 0 END) AS V_RCPTS_MO_CT,
SUM(CASE WHEN TRANS_TYPE_CD='RECEIPT' AND V_FISCAL_START_DT < trans_dt AND tra
ns_dt < SYSDATE THEN LINE_COST_AMT ELSE 0 END) AS V_RCPTS_YTD_AMT,
MAX(CASE WHEN TRANS_TYPE_CD='RECEIPT' THEN TRANS_DT_KEY ELSE 0 END) AS V_LAST_R
CPT_DT_KEY,
MAX(CASE WHEN TRANS_TYPE_CD='RECEIPT' AND TRANS_DT_KEY=MAX_RCPT_DT_KEY THEN IN_
OUT_QTY ELSE 0 END) AS V_LAST_RCPT_QTY
FROM EAM_OD_MTRL_REC_TRANS_TB A,EAM_OD_ITEM_STOREROOM_TB B,(SELECT ITEM_NO,ITEM
_SET_ID, TO_STOREROOM_NAME,SITE_ID, MAX(TRANS_DT_KEY) MAX_RCPT_DT_KEY FROM EAM_O
D_MTRL_REC_TRANS_TB GROUP BY ITEM_NO,ITEM_SET_ID, TO_STOREROOM_NAME,SITE_ID) C
,EAM_DI_ITEM_TB X,EAM_DI_STOREROOM_TB Y,EAM_DI_SITE_TB Z
WHERE TRANS_DT <= SYSDATE AND
A.ITEM_NO=B.ITEM_NO AND A.ITEM_SET_ID=B.ITEM_SET_ID AND A.TO_STOREROOM_NAME=B.
STOREROOM_NAME AND A.SITE_ID=B.SITE_ID
AND A.ITEM_NO = C.ITEM_NO AND A.ITEM_SET_ID=C.ITEM_SET_ID AND A.TO_STOREROOM_N
AME = C.TO_STOREROOM_NAME AND A.SITE_ID=C.SITE_ID
AND B.ITEM_NO=X.ITEM_NO AND B.ITEM_SET_ID=X.ITEM_SET_ID AND B.STOREROOM_NAME=Y.
STRRM_NAME AND B.SITE_ID=Y.SITE_ID AND B.SITE_ID =Z.SITE_ID
GROUP BY B.ITEM_NO,B.ITEM_SET_ID,B.STOREROOM_NAME,B.SITE_ID) S
on (T.ITEM_KEY=S.V_ITEM_KEY AND T.STRRM_KEY= S.V_STOREROOM_KEY AND
T.SITE_KEY=S.V_SITE_KEY AND T.MO_END_DT_KEY=V_MO_END_DT_KEY)
WHEN MATCHED THEN
UPDATE SET
T.RCPTS_LAST_12_MO_QTY=S.V_RCPTS_LAST_12_MO_QTY,
T.RCPTS_LAST_12_MOS_AMT=S.V_RCPTS_LAST_12_MOS_AMT,
T.RCPTS_LAST_24_MO_CT=S.V_RCPTS_LAST_24_MO_CT,
T.RCPTS_LAST_24_MO_QTY=S.V_RCPTS_LAST_24_MO_QTY,
T.RCPTS_LAST_24_MOS_AMT=S.V_RCPTS_LAST_24_MOS_AMT,
T.RCPTS_LAST_36_MO_CT=S.V_RCPTS_LAST_36_MO_CT,
T.RCPTS_LAST_36_MO_QTY=S.V_RCPTS_LAST_36_MO_QTY,
T.RCPTS_LAST_36_MOS_AMT=S.V_RCPTS_LAST_36_MOS_AMT,
T.RCPTS_MO_QTY=S.V_RCPTS_MO_QTY,
T.RCPTS_MO_AMT=S.V_RCPTS_MO_AMT,
T.RCPTS_MO_CT=S.V_RCPTS_MO_CT,
T.RCPTS_YTD_AMT=S.V_RCPTS_YTD_AMT,
T.LAST_RCPT_DT_KEY=S.V_LAST_RCPT_DT_KEY,
T.LOADED_DT=V_LOADED_DT,
T.UPDATED_BY=V_UPDATED_BY,
T.UPDATED_DT=V_UPDATED_DT,
T.LAST_RCPT_QTY=S.V_LAST_RCPT_QTY
WHEN NOT MATCHED THEN
INSERT (
T.ABC_CD,
T.ADJS_LAST_12_MO_CT,
T.ADJS_LAST_12_MO_QTY,
T.ADJS_LAST_12_MOS_AMT,
T.ADJS_LAST_24_MO_CT,
T.ADJS_LAST_24_MO_QTY,
T.ADJS_LAST_24_MOS_AMT,
T.ADJS_LAST_36_MO_CT,
T.ADJS_LAST_36_MO_QTY,
T.ADJS_LAST_36_MOS_AMT,
T.ADJS_MO_AMT,
T.ADJS_MO_CT,
T.ADJS_MO_QTY,
T.AUTO_REORDER_FLG,
T.AUTO_REQ_FLG,
T.AUTO_RSTK_FLG,
T.AVG_UNIT_COST_AMT,
T.AVL_AMT,
T.AVL_QTY,
T.COMITTED_AMT,
T.COMITTED_QTY,
T.CREATED_BY,
T.CREATED_DT,
T.CRIT_ITEM_FLG,
T.CT_RQRD_FLG,
T.CURR_BAL_AMT,
T.CURR_BAL_QTY,
T.CURR_RSRVD_AMT,
T.CURR_RSRVD_QTY,
T.DMND_AMT,
T.DMND_QTY,
T.DUE_IN_QTY,
T.ECON_REORDER_QTY,
T.EQ_RELTD_FLG,
T.ETL_LOAD_KEY,
T.EXPRD_IN_STK_AMT,
T.EXPRD_IN_STK_QTY,
T.HLDG_LOC_AMT,
T.HLDG_LOC_QTY,
T.IN_XFER_AMT,
T.IN_XFER_CT,
T.IN_XFER_QTY,
T.IN_XFERS_LAST_12_MO_CT,
T.IN_XFERS_LAST_12_MO_QTY,
T.IN_XFERS_LAST_12_MOS_AMT,
T.IN_XFERS_LAST_24_MO_CT,
T.IN_XFERS_LAST_24_MO_QTY,
T.IN_XFERS_LAST_24_MOS_AMT,
T.IN_XFERS_LAST_36_MO_CT,
T.IN_XFERS_LAST_36_MO_QTY,
T.IN_XFERS_LAST_36_MOS_AMT,
T.IN_XFERS_MO_AMT,
T.IN_XFERS_MO_CT,
T.IN_XFERS_MO_QTY,
T.INIT_STK_MO_VAL,
T.INIT_STK_YTD_VAL,
T.INV_OPTZN_XFER_AMT,
T.INV_OPTZN_XFER_YTD_AMT,
T.INV_STAT_CD,
T.ISS_LAST_12_MO_CT,
T.ISS_LAST_12_MO_QTY,
T.ISS_LAST_12_MOS_AMT,
T.ISS_LAST_24_MO_CT,
T.ISS_LAST_24_MO_QTY,
T.ISS_LAST_24_MOS_AMT,
T.ISS_LAST_36_MO_CT,
T.ISS_LAST_36_MO_QTY,
T.ISS_LAST_36_MOS_AMT,
T.ISS_MO_AMT,
T.ISS_MO_CT,
T.ISS_MO_QTY,
T.ISS_UOM_CD,
T.ISS_YTD_AMT,
T.ITEM_KEY,
T.ITEM_STAT_CD,
T.LAST_ISS_AMT,
T.LAST_ISS_DT_KEY,
T.LAST_ISS_QTY,
T.LAST_PO_AMT,
T.LAST_PO_DT_KEY,
T.LAST_PO_NO,
T.LAST_RCPT_DT_KEY,
T.LAST_RCPT_QTY,
T.LAST_SPLR_KEY,
T.LEAD_DLVR_DAYS,
T.LOADED_DT,
T.MO_END_DT_KEY,
T.OPEN_ORDER_AMT,
T.OPEN_ORDER_QTY,
T.OPEN_XFERS_AMT,
T.OPEN_XFERS_QTY,
T.OUT_XFER_AMT,
T.OUT_XFER_CT,
T.OUT_XFER_QTY,
T.OUT_XFERS_LAST_12_MO_AMT,
T.OUT_XFERS_LAST_12_MO_CT,
T.OUT_XFERS_LAST_12_MO_QTY,
T.OUT_XFERS_LAST_24_MO_AMT,
T.OUT_XFERS_LAST_24_MO_CT,
T.OUT_XFERS_LAST_24_MO_QTY,
T.OUT_XFERS_LAST_36_MO_AMT,
T.OUT_XFERS_LAST_36_MO_CT,
T.OUT_XFERS_LAST_36_MO_QTY,
T.OUT_XFERS_MO_AMT,
T.OUT_XFERS_MO_CT,
T.OUT_XFERS_MO_QTY,
T.RCPTS_LAST_12_MO_CT,
T.RCPTS_LAST_12_MO_QTY,
T.RCPTS_LAST_12_MOS_AMT,
T.RCPTS_LAST_24_MO_CT,
T.RCPTS_LAST_24_MO_QTY,
T.RCPTS_LAST_24_MOS_AMT,
T.RCPTS_LAST_36_MO_CT,
T.RCPTS_LAST_36_MO_QTY,
T.RCPTS_LAST_36_MOS_AMT,
T.RCPTS_MO_AMT,
T.RCPTS_MO_CT,
T.RCPTS_MO_QTY,
T.RCPTS_YTD_AMT,
T.REORDER_PNT_QTY,
T.RTN_MO_AMT,
T.RTN_MO_QTY,
T.RTN_YTD_AMT,
T.RTNS_LAST_12_MO_CT,
T.RTNS_LAST_12_MO_QTY,
T.RTNS_LAST_12_MOS_AMT,
T.RTNS_LAST_24_MO_CT,
T.RTNS_LAST_24_MO_QTY,
T.RTNS_LAST_24_MOS_AMT,
T.RTNS_LAST_36_MO_CT,
T.RTNS_LAST_36_MO_QTY,
T.RTNS_LAST_36_MOS_AMT,
T.RTNS_MO_CT,
T.SFTY_STK_QTY,
T.SITE_KEY,
T.SMI_FLG,
T.STK_CATG_CD,
T.STRRM_KEY,
T.TRGT_MAX_AMT,
T.TRGT_MAX_MO_AMT,
T.TRGT_MAX_QTY,
T.TRGT_MAX_YTD_AMT,
T.UPDATED_BY,
T.UPDATED_DT,
T.WO_MTRL_USAGE_MO_QTY,
T.WO_MTRL_USAGE_YTD_QTY,
T.XFER_CT,
T.XFER_QTY
)
VALUES (
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
V_CREATED_BY,
V_CREATED_DT,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
S.V_ITEM_KEY,
0,
0,
0,
0,
0,
0,
0,
S.V_LAST_RCPT_DT_KEY,
S.V_LAST_RCPT_QTY,
0,
0,
V_LOADED_DT,
V_MO_END_DT_KEY,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
S.V_RCPTS_LAST_12_MO_CT,
S.V_RCPTS_LAST_12_MO_QTY,
S.V_RCPTS_LAST_12_MOS_AMT,
S.V_RCPTS_LAST_24_MO_CT,
S.V_RCPTS_LAST_24_MO_QTY,
S.V_RCPTS_LAST_24_MOS_AMT,
S.V_RCPTS_LAST_36_MO_CT,
S.V_RCPTS_LAST_36_MO_QTY,
S.V_RCPTS_LAST_36_MOS_AMT,
S.V_RCPTS_MO_AMT,
S.V_RCPTS_MO_CT,
S.V_RCPTS_MO_QTY,
S.V_RCPTS_YTD_AMT,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
S.V_SITE_KEY,
0,
0,
S.V_STOREROOM_KEY,
0,
0,
0,
0,
V_UPDATED_BY,
V_UPDATED_DT,
0,
0,
0,
0
);
EXCEPTION
WHEN NO_DATA_FOUND THEN
NULL;
COMMIT;
END;
-----------MTRL_REC_TRANS_TB AND PO_TB ---------
BEGIN
MERGE INTO EAM_OF_INVENTORY_STOREROOM_TB T USING(
SELECT
MAX(X.ITEM_KEY) AS V_ITEM_KEY,MAX(Y.STRRM_KEY) AS V_STOREROOM_KEY, MAX(Z.SITE_K
EY) AS V_SITE_KEY ,
SUM(CASE WHEN MONTHS_BETWEEN(SYSDATE,trans_dt)<=12 AND A.SITE_ID =B.SITE_ID A
ND A.TO_STOREROOM_NAME=B.STOREROOM_NAME THEN 1 ELSE 0 END) AS V_IN_XFERS_LAST_12
_MO_CT,
SUM(CASE WHEN MONTHS_BETWEEN(SYSDATE,trans_dt)<=12 AND A.SITE_ID =B.SITE_ID A
ND A.TO_STOREROOM_NAME=B.STOREROOM_KEY THEN IN_OUT_QTY ELSE 0 END)AS V_IN_XFERS_
LAST_12_MO_QTY,
SUM(CASE WHEN MONTHS_BETWEEN(SYSDATE,trans_dt)<=12 AND A.SITE_ID =B.SITE_ID A
ND A.TO_STOREROOM_NAME=B.STOREROOM_NAME THEN LINE_COST_AMT ELSE 0 END) AS V_IN_
XFERS_LAST_12_MOS_AMT,
SUM(CASE WHEN MONTHS_BETWEEN(SYSDATE,trans_dt)<=24 AND A.SITE_ID =B.SITE_ID A
ND A.TO_STOREROOM_NAME=B.STOREROOM_NAME THEN 1 ELSE 0 END) AS V_IN_XFERS_LAST_24
_MO_CT,
SUM(CASE WHEN MONTHS_BETWEEN(SYSDATE,trans_dt)<=24 AND A.SITE_ID =B.SITE_ID A
ND A.TO_STOREROOM_NAME=B.STOREROOM_NAME THEN IN_OUT_QTY ELSE 0 END) AS V_IN_XFE
RS_LAST_24_MO_QTY,
SUM(CASE WHEN MONTHS_BETWEEN(SYSDATE,trans_dt)<=24 AND A.SITE_ID =B.SITE_ID A
ND A.TO_STOREROOM_NAME=B.STOREROOM_NAME THEN LINE_COST_AMT ELSE 0 END) AS V_IN_X
FERS_LAST_24_MOS_AMT,
SUM(CASE WHEN MONTHS_BETWEEN(SYSDATE,trans_dt)<=36 AND A.SITE_ID =B.SITE_ID A
ND A.TO_STOREROOM_NAME=B.STOREROOM_NAME THEN 1 ELSE 0 END) AS V_IN_XFERS_LAST_36
_MO_CT,
SUM(CASE WHEN MONTHS_BETWEEN(SYSDATE,trans_dt)<=36 AND A.SITE_ID =B.SITE_ID A
ND A.TO_STOREROOM_NAME=B.STOREROOM_NAME THEN IN_OUT_QTY ELSE 0 END) AS V_IN_XFER
S_LAST_36_MO_QTY,
SUM(CASE WHEN MONTHS_BETWEEN(SYSDATE,trans_dt)<=36 AND A.SITE_ID =B.SITE_ID A
ND A.TO_STOREROOM_NAME=B.STOREROOM_NAME THEN LINE_COST_AMT ELSE 0 END) AS V_IN_X
FERS_LAST_36_MOS_AMT,
SUM(CASE WHEN MTRL_RCPT_STATUS_CD='COMP' AND A.SITE_ID =B.SITE_ID AND A.TO_S
TOREROOM_NAME=B.STOREROOM_NAME THEN 1 ELSE 0 END) AS V_IN_XFER_CT,
SUM(CASE WHEN MTRL_RCPT_STATUS_CD='COMP' AND A.SITE_ID =B.SITE_ID AND A.TO_S
TOREROOM_NAME=B.STOREROOM_NAME THEN IN_OUT_QTY ELSE 0 END) AS V_IN_XFER_QTY,
SUM(CASE WHEN MTRL_RCPT_STATUS_CD='COMP' AND A.SITE_ID =B.SITE_ID AND A.TO_S
TOREROOM_NAME=B.STOREROOM_KEY THEN LINE_COST_AMT ELSE 0 END) AS V_IN_XFER_AMT,

SUM(CASE WHEN MTRL_RCPT_STATUS_CD='COMP' AND A.SITE_ID =B.SITE_ID AND A.TO_S
TOREROOM_NAME=B.STOREROOM_NAME AND EXTRACT(MONTH FROM
SYSDATE)=EXTRACT(MONTH FROM TRANS_DT) THEN 1 ELSE 0 END) AS V_IN_XFERS_MO_CT ,
SUM(CASE WHEN MTRL_RCPT_STATUS_CD='COMP' AND A.SITE_ID =B.SITE_ID AND A.TO_
STOREROOM_NAME=B.STOREROOM_NAME AND EXTRACT(MONTH FROM
SYSDATE)=EXTRACT(MONTH FROM TRANS_DT) THEN IN_OUT_QTY ELSE 0 END) AS V_IN_XFERS_
MO_QTY,
SUM(CASE WHEN MTRL_RCPT_STATUS_CD='COMP' AND A.SITE_ID =B.SITE_ID AND A.TO_
STOREROOM_NAME=B.STOREROOM_NAME AND EXTRACT(MONTH FROM
SYSDATE)=EXTRACT(MONTH FROM TRANS_DT) THEN LINE_COST_AMT ELSE 0 END) AS V_IN_XFE
RS_MO_AMT,
SUM(CASE WHEN MTRL_RCPT_STATUS_CD='WINSP' AND A.SITE_ID =B.SITE_ID AND A.T
O_STOREROOM_NAME=B.STOREROOM_NAME THEN 1 ELSE 0 END) AS V_HLDG_LOC_CT,
SUM(CASE WHEN MTRL_RCPT_STATUS_CD='WINSP' AND A.SITE_ID =B.SITE_ID AND A.T
O_STOREROOM_NAME=B.STOREROOM_NAME THEN IN_OUT_QTY ELSE 0 END) AS V_HLDG_LOC_QTY,
SUM(CASE WHEN MTRL_RCPT_STATUS_CD='WINSP' AND A.SITE_ID =B.SITE_ID AND A.T
O_STOREROOM_NAME=B.STOREROOM_NAME THEN LINE_COST_AMT ELSE 0 END) AS V_HLDG_LOC_A
MT,
SUM(CASE WHEN MTRL_RCPT_STATUS_CD='COMP' AND FROM_site_ID =B.SITE_ID AND A.F
ROM_STOREROOM_NAME=B.STOREROOM_NAME THEN 1 ELSE 0 END) AS V_OUT_XFER_CT,
SUM(CASE WHEN MTRL_RCPT_STATUS_CD='COMP' AND FROM_site_ID =B.SITE_ID AND A.F
ROM_STOREROOM_NAME=B.STOREROOM_NAME THEN IN_OUT_QTY ELSE 0 END) AS V_OUT_XFER_QT
Y,
SUM(CASE WHEN MTRL_RCPT_STATUS_CD='COMP' AND FROM_site_ID =B.SITE_ID AND A.F
ROM_STOREROOM_NAME=B.STOREROOM_NAME THEN LINE_COST_AMT ELSE 0 END) AS V_OUT_XFER
_AMT,
SUM(CASE WHEN MTRL_RCPT_STATUS_CD='COMP' AND FROM_site_ID =B.SITE_ID AND A.F
ROM_STOREROOM_NAME=B.STOREROOM_NAME AND EXTRACT(MONTH FROM
SYSDATE)=EXTRACT(MONTH FROM TRANS_DT) THEN 1 ELSE 0 END) AS V_OUT_XFERS_MO_CT,
SUM(CASE WHEN MTRL_RCPT_STATUS_CD='COMP' AND FROM_site_ID =B.SITE_ID AND A.FR
OM_STOREROOM_NAME=B.STOREROOM_NAME AND EXTRACT(MONTH FROM
SYSDATE)=EXTRACT(MONTH FROM TRANS_DT) THEN IN_OUT_QTY ELSE 0 END) AS V_OUT_XFER
S_MO_QTY,
SUM(CASE WHEN MTRL_RCPT_STATUS_CD='COMP' AND FROM_site_ID =B.SITE_ID AND A.FR
OM_STOREROOM_NAME=B.STOREROOM_NAME AND EXTRACT(MONTH FROM
SYSDATE)=EXTRACT(MONTH FROM TRANS_DT) THEN LINE_COST_AMT ELSE 0 END) AS V_OUT_X
FERS_MO_AMT,
SUM(CASE WHEN A.SITE_ID =B.SITE_ID AND A.TO_STOREROOM_NAME=B.STOREROOM_NAME A
ND (TO_STOREROOM_NAME NOT LIKE '%HAR%' OR FROM_STOREROOM_NAME NOT
LIKE '%HAR%') THEN LINE_COST_AMT ELSE 0 END) AS V_INV_OPTZN_XFER_AMT,
SUM(CASE WHEN A.SITE_ID =B.SITE_ID AND A.TO_STOREROOM_NAME=B.STOREROOM_NAME A
ND (TO_STOREROOM_NAME NOT LIKE '%HAR%' OR FROM_STOREROOM_NAME NOT LIKE '%HAR%')
AND v_FISCAL_START_DT < trans_dt AND trans_dt < SYSDATE THEN LINE_COST_AMT ELS
E 0 END) AS V_INV_OPTZN_XFER_YTD_AMT,
SUM(CASE WHEN A.SITE_ID =B.SITE_ID AND A.TO_STOREROOM_NAME=B.STOREROOM_NAME
THEN IN_OUT_QTY ELSE 0 END) AS V_OPEN_XFERS_QTY,
SUM(CASE WHEN A.SITE_ID =B.SITE_ID AND A.TO_STOREROOM_NAME=B.STOREROOM_NAME
THEN line_cost_amt ELSE 0 END) AS V_OPEN_XFERS_AMT,
SUM(CASE WHEN A.SITE_ID =B.SITE_ID AND A.TO_STOREROOM_NAME=B.STOREROOM_NAME
THEN 1 ELSE 0 END) AS V_OPEN_XFERS_CT
FROM EAM_OD_MTRL_REC_TRANS_TB A,EAM_OD_ITEM_STOREROOM_TB B,EAM_OD_PO_TB TM,EA
M_DI_ITEM_TB X,EAM_DI_STOREROOM_TB Y,EAM_DI_SITE_TB Z
WHERE TRANS_TYPE_CD='RECEIPT' AND
TRANS_DT <= SYSDATE AND A.ITEM_NO=B.ITEM_NO AND A.ITEM_SET_ID=B.ITEM_SET_ID
AND (A.FROM_STOREROOM_NAME=B.STOREROOM_NAME OR A.TO_STOREROOM_NAME=B.STOR
EROOM_NAME) AND (A.SITE_ID =B.SITE_ID OR A.FROM_SITE_ID=B.SITE_ID) AND A.po_key
=TM.po_key AND TM.internal_po_flg= 1
AND B.ITEM_NO=X.ITEM_NO AND B.ITEM_SET_ID=X.ITEM_SET_ID AND B.STOREROOM_NAME=Y
.STRRM_NAME AND B.SITE_ID=Y.SITE_ID AND B.SITE_ID =Z.SITE_ID
GROUP BY B.ITEM_NO,B.ITEM_SET_ID,B.STOREROOM_NAME,B.SITE_ID) S
on (T.ITEM_KEY=S.V_ITEM_KEY AND T.STRRM_KEY= S.V_STOREROOM_KEY AND
T.SITE_KEY=S.V_SITE_KEY AND T.MO_END_DT_KEY=V_MO_END_DT_KEY)
WHEN MATCHED THEN
UPDATE SET
T.HLDG_LOC_AMT=S.V_HLDG_LOC_AMT,
T.HLDG_LOC_QTY=S.V_HLDG_LOC_QTY,
T.IN_XFER_AMT=S.V_IN_XFER_AMT,
T.IN_XFER_CT=S.V_IN_XFER_CT,
T.IN_XFER_QTY=S.V_IN_XFER_QTY,
T.IN_XFERS_LAST_12_MO_CT=S.V_IN_XFERS_LAST_12_MO_CT,
T.IN_XFERS_LAST_12_MO_QTY=S.V_IN_XFERS_LAST_12_MO_QTY,
T.IN_XFERS_LAST_12_MOS_AMT=S.V_IN_XFERS_LAST_12_MOS_AMT,
T.IN_XFERS_LAST_24_MO_CT=S.V_IN_XFERS_LAST_24_MO_CT,
T.IN_XFERS_LAST_24_MO_QTY=S.V_IN_XFERS_LAST_24_MO_QTY,
T.IN_XFERS_LAST_24_MOS_AMT=S.V_IN_XFERS_LAST_24_MOS_AMT,
T.IN_XFERS_LAST_36_MO_CT=S.V_IN_XFERS_LAST_36_MO_CT,
T.IN_XFERS_LAST_36_MO_QTY=S.V_IN_XFERS_LAST_36_MO_QTY,
T.IN_XFERS_LAST_36_MOS_AMT=S.V_IN_XFERS_LAST_36_MOS_AMT,
T.IN_XFERS_MO_AMT=S.V_IN_XFERS_MO_AMT,
T.IN_XFERS_MO_CT=S.V_IN_XFERS_MO_CT,
T.IN_XFERS_MO_QTY=S.V_IN_XFERS_MO_QTY,
T.INV_OPTZN_XFER_AMT=S.V_INV_OPTZN_XFER_AMT,
T.INV_OPTZN_XFER_YTD_AMT =S.V_INV_OPTZN_XFER_YTD_AMT ,
T.OPEN_XFERS_AMT=S.V_OPEN_XFERS_AMT,
--T.OPEN_XFERS_CT=S.V_OPEN_XFERS_CT,
T.OPEN_XFERS_QTY=S.V_OPEN_XFERS_QTY,
T.OUT_XFER_AMT=S.V_OUT_XFER_AMT,
T.OUT_XFER_CT=S.V_OUT_XFER_CT,
T.OUT_XFER_QTY=S.V_OUT_XFER_QTY,
T.OUT_XFERS_MO_AMT=S.V_OUT_XFERS_MO_AMT,
T.OUT_XFERS_MO_CT=S.V_OUT_XFERS_MO_CT,
T.LOADED_DT=V_LOADED_DT,
T.UPDATED_BY=V_UPDATED_BY,
T.UPDATED_DT=V_UPDATED_DT,
T.OUT_XFERS_MO_QTY=S.V_OUT_XFERS_MO_QTY
WHEN NOT MATCHED THEN
INSERT (
T.ABC_CD,
T.ADJS_LAST_12_MO_CT,
T.ADJS_LAST_12_MO_QTY,
T.ADJS_LAST_12_MOS_AMT,
T.ADJS_LAST_24_MO_CT,
T.ADJS_LAST_24_MO_QTY,
T.ADJS_LAST_24_MOS_AMT,
T.ADJS_LAST_36_MO_CT,
T.ADJS_LAST_36_MO_QTY,
T.ADJS_LAST_36_MOS_AMT,
T.ADJS_MO_AMT,
T.ADJS_MO_CT,
T.ADJS_MO_QTY,
T.AUTO_REORDER_FLG,
T.AUTO_REQ_FLG,
T.AUTO_RSTK_FLG,
T.AVG_UNIT_COST_AMT,
T.AVL_AMT,
T.AVL_QTY,
T.COMITTED_AMT,
T.COMITTED_QTY,
T.CREATED_BY,
T.CREATED_DT,
T.CRIT_ITEM_FLG,
T.CT_RQRD_FLG,
T.CURR_BAL_AMT,
T.CURR_BAL_QTY,
T.CURR_RSRVD_AMT,
T.CURR_RSRVD_QTY,
T.DMND_AMT,
T.DMND_QTY,
T.DUE_IN_QTY,
T.ECON_REORDER_QTY,
T.EQ_RELTD_FLG,
T.ETL_LOAD_KEY,
T.EXPRD_IN_STK_AMT,
T.EXPRD_IN_STK_QTY,
T.HLDG_LOC_AMT,
T.HLDG_LOC_QTY,
T.IN_XFER_AMT,
T.IN_XFER_CT,
T.IN_XFER_QTY,
T.IN_XFERS_LAST_12_MO_CT,
T.IN_XFERS_LAST_12_MO_QTY,
T.IN_XFERS_LAST_12_MOS_AMT,
T.IN_XFERS_LAST_24_MO_CT,
T.IN_XFERS_LAST_24_MO_QTY,
T.IN_XFERS_LAST_24_MOS_AMT,
T.IN_XFERS_LAST_36_MO_CT,
T.IN_XFERS_LAST_36_MO_QTY,
T.IN_XFERS_LAST_36_MOS_AMT,
T.IN_XFERS_MO_AMT,
T.IN_XFERS_MO_CT,
T.IN_XFERS_MO_QTY,
T.INIT_STK_MO_VAL,
T.INIT_STK_YTD_VAL,
T.INV_OPTZN_XFER_AMT,
T.INV_OPTZN_XFER_YTD_AMT,
T.INV_STAT_CD,
T.ISS_LAST_12_MO_CT,
T.ISS_LAST_12_MO_QTY,
T.ISS_LAST_12_MOS_AMT,
T.ISS_LAST_24_MO_CT,
T.ISS_LAST_24_MO_QTY,
T.ISS_LAST_24_MOS_AMT,
T.ISS_LAST_36_MO_CT,
T.ISS_LAST_36_MO_QTY,
T.ISS_LAST_36_MOS_AMT,
T.ISS_MO_AMT,
T.ISS_MO_CT,
T.ISS_MO_QTY,
T.ISS_UOM_CD,
T.ISS_YTD_AMT,
T.ITEM_KEY,
T.ITEM_STAT_CD,
T.LAST_ISS_AMT,
T.LAST_ISS_DT_KEY,
T.LAST_ISS_QTY,
T.LAST_PO_AMT,
T.LAST_PO_DT_KEY,
T.LAST_PO_NO,
T.LAST_RCPT_DT_KEY,
T.LAST_RCPT_QTY,
T.LAST_SPLR_KEY,
T.LEAD_DLVR_DAYS,
T.LOADED_DT,
T.MO_END_DT_KEY,
T.OPEN_ORDER_AMT,
T.OPEN_ORDER_QTY,
T.OPEN_XFERS_AMT,
T.OPEN_XFERS_QTY,
T.OUT_XFER_AMT,
T.OUT_XFER_CT,
T.OUT_XFER_QTY,
T.OUT_XFERS_LAST_12_MO_AMT,
T.OUT_XFERS_LAST_12_MO_CT,
T.OUT_XFERS_LAST_12_MO_QTY,
T.OUT_XFERS_LAST_24_MO_AMT,
T.OUT_XFERS_LAST_24_MO_CT,
T.OUT_XFERS_LAST_24_MO_QTY,
T.OUT_XFERS_LAST_36_MO_AMT,
T.OUT_XFERS_LAST_36_MO_CT,
T.OUT_XFERS_LAST_36_MO_QTY,
T.OUT_XFERS_MO_AMT,
T.OUT_XFERS_MO_CT,
T.OUT_XFERS_MO_QTY,
T.RCPTS_LAST_12_MO_CT,
T.RCPTS_LAST_12_MO_QTY,
T.RCPTS_LAST_12_MOS_AMT,
T.RCPTS_LAST_24_MO_CT,
T.RCPTS_LAST_24_MO_QTY,
T.RCPTS_LAST_24_MOS_AMT,
T.RCPTS_LAST_36_MO_CT,
T.RCPTS_LAST_36_MO_QTY,
T.RCPTS_LAST_36_MOS_AMT,
T.RCPTS_MO_AMT,
T.RCPTS_MO_CT,
T.RCPTS_MO_QTY,
T.RCPTS_YTD_AMT,
T.REORDER_PNT_QTY,
T.RTN_MO_AMT,
T.RTN_MO_QTY,
T.RTN_YTD_AMT,
T.RTNS_LAST_12_MO_CT,
T.RTNS_LAST_12_MO_QTY,
T.RTNS_LAST_12_MOS_AMT,
T.RTNS_LAST_24_MO_CT,
T.RTNS_LAST_24_MO_QTY,
T.RTNS_LAST_24_MOS_AMT,
T.RTNS_LAST_36_MO_CT,
T.RTNS_LAST_36_MO_QTY,
T.RTNS_LAST_36_MOS_AMT,
T.RTNS_MO_CT,
T.SFTY_STK_QTY,
T.SITE_KEY,
T.SMI_FLG,
T.STK_CATG_CD,
T.STRRM_KEY,
T.TRGT_MAX_AMT,
T.TRGT_MAX_MO_AMT,
T.TRGT_MAX_QTY,
T.TRGT_MAX_YTD_AMT,
T.UPDATED_BY,
T.UPDATED_DT,
T.WO_MTRL_USAGE_MO_QTY,
T.WO_MTRL_USAGE_YTD_QTY,
T.XFER_CT,
T.XFER_QTY
)
VALUES (
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
V_CREATED_BY,
V_CREATED_DT,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
S.V_HLDG_LOC_AMT,
S.V_HLDG_LOC_QTY,
S.V_IN_XFER_AMT,
S.V_IN_XFER_CT,
S.V_IN_XFER_QTY,
S.V_IN_XFERS_LAST_12_MO_CT,
S.V_IN_XFERS_LAST_12_MO_QTY,
S.V_IN_XFERS_LAST_12_MOS_AMT,
S.V_IN_XFERS_LAST_24_MO_CT,
S.V_IN_XFERS_LAST_24_MO_QTY,
S.V_IN_XFERS_LAST_24_MOS_AMT,
S.V_IN_XFERS_LAST_36_MO_CT,
S.V_IN_XFERS_LAST_36_MO_QTY,
S.V_IN_XFERS_LAST_36_MOS_AMT,
S.V_IN_XFERS_MO_AMT,
S.V_IN_XFERS_MO_CT,
S.V_IN_XFERS_MO_QTY,
0,
0,
S.V_INV_OPTZN_XFER_AMT,
S.V_INV_OPTZN_XFER_YTD_AMT ,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
S.V_ITEM_KEY,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
V_LOADED_DT,
V_MO_END_DT_KEY,
0,
0,
S.V_OPEN_XFERS_AMT,
S.V_OPEN_XFERS_QTY,
S.V_OUT_XFER_AMT,
S.V_OUT_XFER_CT,
S.V_OUT_XFER_QTY,
0,
0,
0,
0,
0,
0,
0,
0,
0,
S.V_OUT_XFERS_MO_AMT,
S.V_OUT_XFERS_MO_CT,
S.V_OUT_XFERS_MO_QTY,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
S.V_SITE_KEY,
0,
0,
S.V_STOREROOM_KEY,
0,
0,
0,
0,
V_UPDATED_BY,
V_UPDATED_DT,
0,
0,
0,
0
);

EXCEPTION
WHEN NO_DATA_FOUND THEN
NULL;
COMMIT;
END;
--------------------PO_TB AND PO_LINE_TB-----------------
BEGIN
MERGE INTO EAM_OF_INVENTORY_STOREROOM_TB T USING(
SELECT
MAX(X.ITEM_KEY) AS V_ITEM_KEY,MAX(Y.STRRM_KEY) AS V_STOREROOM_KEY, MAX(
Z.SITE_KEY) AS V_SITE_KEY ,
MAX( TO_CHAR(TM.CHANGED_DT,'YYYYMMDD')) AS V_LAST_PO_DT_KEY,
MAX(CASE WHEN TM.CHANGED_DT=C.MAX_CHANGE_DT THEN A.PO_NO ELSE '0' END)
AS V_LAST_PO_NO,
MAX(CASE WHEN TM.CHANGED_DT=C.MAX_CHANGE_DT THEN A.LINE_COST_AMT ELSE 0
END) AS V_LAST_PO_AMT,
MAX(CASE WHEN TM.CHANGED_DT=C.MAX_CHANGE_DT THEN B.SUPPLIER_KEY ELSE 0
END)AS V_LAST_SPLR_KEY,
SUM(ORDER_QTY - RCVD_QTY) AS V_OPEN_ORDER_QTY,
SUM((ORDER_QTY - RCVD_QTY) * UNIT_COST_AMT) AS V_OPEN_ORDER_AMT
FROM EAM_OD_PO_LINE_TB A,EAM_OD_ITEM_STOREROOM_TB B,EAM_OD_PO_TB TM,(SELECT P
O_KEY, STOREROOM_NAME,SITE_ID,
MAX(CHANGED_DT) MAX_CHANGE_DT FROM EAM_OD_PO_TB
GROUP BY EAM_OD_PO_TB.STOREROOM_NAME,EAM_OD_PO_TB.SITE_ID,PO_KEY) C,EAM_DI_I
TEM_TB X,EAM_DI_STOREROOM_TB Y,EAM_DI_SITE_TB Z
WHERE PO_STATUS_CD = 'APPR' AND
A.ITEM_NO=B.ITEM_NO AND A.ITEM_SET_ID=B.ITEM_SET_ID AND A.STOREROOM_ID=B.STOR
EROOM_NAME AND TM.STOREROOM_NAME=B.STOREROOM_NAME AND
A.SITE_ID =B.SITE_ID AND TM.SITE_ID=B.SITE_ID AND A.po_key=TM.po_key
AND A.STOREROOM_ID = C.STOREROOM_NAME AND A.po_key=C.po_key
AND B.ITEM_NO=X.ITEM_NO AND B.ITEM_SET_ID=X.ITEM_SET_ID AND B.STOREROOM_NAME=Y.
STRRM_NAME AND B.SITE_ID=Y.SITE_ID AND B.SITE_ID =Z.SITE_ID
GROUP BY B.ITEM_NO,B.ITEM_SET_ID,B.STOREROOM_NAME,B.SITE_ID) S
on (T.ITEM_KEY=S.V_ITEM_KEY AND T.STRRM_KEY= S.V_STOREROOM_KEY AND
T.SITE_KEY=S.V_SITE_KEY AND T.MO_END_DT_KEY=V_MO_END_DT_KEY)
WHEN MATCHED THEN
UPDATE SET
T.LAST_PO_DT_KEY=S.V_LAST_PO_DT_KEY,
T.LAST_PO_NO=S.V_LAST_PO_NO,
T.LAST_PO_AMT=S.V_LAST_PO_AMT,
T.LAST_SPLR_KEY=S.V_LAST_SPLR_KEY,
T.OPEN_ORDER_QTY=S.V_OPEN_ORDER_QTY,
T.LOADED_DT=V_LOADED_DT,
T.UPDATED_BY=V_UPDATED_BY,
T.UPDATED_DT=V_UPDATED_DT,
T.OPEN_ORDER_AMT=S.V_OPEN_ORDER_AMT
WHEN NOT MATCHED THEN
INSERT (
T.ABC_CD,
T.ADJS_LAST_12_MO_CT,
T.ADJS_LAST_12_MO_QTY,
T.ADJS_LAST_12_MOS_AMT,
T.ADJS_LAST_24_MO_CT,
T.ADJS_LAST_24_MO_QTY,
T.ADJS_LAST_24_MOS_AMT,
T.ADJS_LAST_36_MO_CT,
T.ADJS_LAST_36_MO_QTY,
T.ADJS_LAST_36_MOS_AMT,
T.ADJS_MO_AMT,
T.ADJS_MO_CT,
T.ADJS_MO_QTY,
T.AUTO_REORDER_FLG,
T.AUTO_REQ_FLG,
T.AUTO_RSTK_FLG,
T.AVG_UNIT_COST_AMT,
T.AVL_AMT,
T.AVL_QTY,
T.COMITTED_AMT,
T.COMITTED_QTY,
T.CREATED_BY,
T.CREATED_DT,
T.CRIT_ITEM_FLG,
T.CT_RQRD_FLG,
T.CURR_BAL_AMT,
T.CURR_BAL_QTY,
T.CURR_RSRVD_AMT,
T.CURR_RSRVD_QTY,
T.DMND_AMT,
T.DMND_QTY,
T.DUE_IN_QTY,
T.ECON_REORDER_QTY,
T.EQ_RELTD_FLG,
T.ETL_LOAD_KEY,
T.EXPRD_IN_STK_AMT,
T.EXPRD_IN_STK_QTY,
T.HLDG_LOC_AMT,
T.HLDG_LOC_QTY,
T.IN_XFER_AMT,
T.IN_XFER_CT,
T.IN_XFER_QTY,
T.IN_XFERS_LAST_12_MO_CT,
T.IN_XFERS_LAST_12_MO_QTY,
T.IN_XFERS_LAST_12_MOS_AMT,
T.IN_XFERS_LAST_24_MO_CT,
T.IN_XFERS_LAST_24_MO_QTY,
T.IN_XFERS_LAST_24_MOS_AMT,
T.IN_XFERS_LAST_36_MO_CT,
T.IN_XFERS_LAST_36_MO_QTY,
T.IN_XFERS_LAST_36_MOS_AMT,
T.IN_XFERS_MO_AMT,
T.IN_XFERS_MO_CT,
T.IN_XFERS_MO_QTY,
T.INIT_STK_MO_VAL,
T.INIT_STK_YTD_VAL,
T.INV_OPTZN_XFER_AMT,
T.INV_OPTZN_XFER_YTD_AMT,
T.INV_STAT_CD,
T.ISS_LAST_12_MO_CT,
T.ISS_LAST_12_MO_QTY,
T.ISS_LAST_12_MOS_AMT,
T.ISS_LAST_24_MO_CT,
T.ISS_LAST_24_MO_QTY,
T.ISS_LAST_24_MOS_AMT,
T.ISS_LAST_36_MO_CT,
T.ISS_LAST_36_MO_QTY,
T.ISS_LAST_36_MOS_AMT,
T.ISS_MO_AMT,
T.ISS_MO_CT,
T.ISS_MO_QTY,
T.ISS_UOM_CD,
T.ISS_YTD_AMT,
T.ITEM_KEY,
T.ITEM_STAT_CD,
T.LAST_ISS_AMT,
T.LAST_ISS_DT_KEY,
T.LAST_ISS_QTY,
T.LAST_PO_AMT,
T.LAST_PO_DT_KEY,
T.LAST_PO_NO,
T.LAST_RCPT_DT_KEY,
T.LAST_RCPT_QTY,
T.LAST_SPLR_KEY,
T.LEAD_DLVR_DAYS,
T.LOADED_DT,
T.MO_END_DT_KEY,
T.OPEN_ORDER_AMT,
T.OPEN_ORDER_QTY,
T.OPEN_XFERS_AMT,
T.OPEN_XFERS_QTY,
T.OUT_XFER_AMT,
T.OUT_XFER_CT,
T.OUT_XFER_QTY,
T.OUT_XFERS_LAST_12_MO_AMT,
T.OUT_XFERS_LAST_12_MO_CT,
T.OUT_XFERS_LAST_12_MO_QTY,
T.OUT_XFERS_LAST_24_MO_AMT,
T.OUT_XFERS_LAST_24_MO_CT,
T.OUT_XFERS_LAST_24_MO_QTY,
T.OUT_XFERS_LAST_36_MO_AMT,
T.OUT_XFERS_LAST_36_MO_CT,
T.OUT_XFERS_LAST_36_MO_QTY,
T.OUT_XFERS_MO_AMT,
T.OUT_XFERS_MO_CT,
T.OUT_XFERS_MO_QTY,
T.RCPTS_LAST_12_MO_CT,
T.RCPTS_LAST_12_MO_QTY,
T.RCPTS_LAST_12_MOS_AMT,
T.RCPTS_LAST_24_MO_CT,
T.RCPTS_LAST_24_MO_QTY,
T.RCPTS_LAST_24_MOS_AMT,
T.RCPTS_LAST_36_MO_CT,
T.RCPTS_LAST_36_MO_QTY,
T.RCPTS_LAST_36_MOS_AMT,
T.RCPTS_MO_AMT,
T.RCPTS_MO_CT,
T.RCPTS_MO_QTY,
T.RCPTS_YTD_AMT,
T.REORDER_PNT_QTY,
T.RTN_MO_AMT,
T.RTN_MO_QTY,
T.RTN_YTD_AMT,
T.RTNS_LAST_12_MO_CT,
T.RTNS_LAST_12_MO_QTY,
T.RTNS_LAST_12_MOS_AMT,
T.RTNS_LAST_24_MO_CT,
T.RTNS_LAST_24_MO_QTY,
T.RTNS_LAST_24_MOS_AMT,
T.RTNS_LAST_36_MO_CT,
T.RTNS_LAST_36_MO_QTY,
T.RTNS_LAST_36_MOS_AMT,
T.RTNS_MO_CT,
T.SFTY_STK_QTY,
T.SITE_KEY,
T.SMI_FLG,
T.STK_CATG_CD,
T.STRRM_KEY,
T.TRGT_MAX_AMT,
T.TRGT_MAX_MO_AMT,
T.TRGT_MAX_QTY,
T.TRGT_MAX_YTD_AMT,
T.UPDATED_BY,
T.UPDATED_DT,
T.WO_MTRL_USAGE_MO_QTY,
T.WO_MTRL_USAGE_YTD_QTY,
T.XFER_CT,
T.XFER_QTY
)
VALUES (
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
V_CREATED_BY,
V_CREATED_DT,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
S.V_ITEM_KEY,
0,
0,
0,
0,
S.V_LAST_PO_AMT,
S.V_LAST_PO_DT_KEY,
S.V_LAST_PO_NO,
0,
0,
S.V_LAST_SPLR_KEY,
0,
V_LOADED_DT,
V_MO_END_DT_KEY,
S.V_OPEN_ORDER_AMT,
S.V_OPEN_ORDER_QTY,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
S.V_SITE_KEY,
0,
0,
S.V_STOREROOM_KEY,
0,
0,
0,
0,
V_UPDATED_BY,
V_UPDATED_DT,
0,
0,
0,
0
);
EXCEPTION
WHEN NO_DATA_FOUND THEN
NULL;
COMMIT;
END;
----------------------------------ETL_LOAD_KEY--------------------------------
BEGIN
SELECT MAX(STG_FMS_ETL_CONTROL.ETL_LOAD_KEY) INTO V_ETL_LOAD_KEY
FROM
STG_FMS_ETL_CONTROL WHERE WORKFLOW_NAME='wf_EDW_EAM_DWH_LOAD'
GROUP BY STG_FMS_ETL_CONTROL.WORKFLOW_NAME;
EXCEPTION
WHEN NO_DATA_FOUND THEN
V_ETL_LOAD_KEY:=1;
-------------------------------------------------------------------------------
-------
UPDATE EAM_OF_INVENTORY_STOREROOM_TB
SET
CURR_RSRVD_AMT=CURR_RSRVD_QTY*AVG_UNIT_COST_AMT,
DMND_AMT=DMND_QTY*AVG_UNIT_COST_AMT,
COMITTED_AMT=COMITTED_QTY*AVG_UNIT_COST_AMT,
CURR_BAL_AMT=CURR_BAL_QTY*AVG_UNIT_COST_AMT,
EXPRD_IN_STK_AMT=EXPRD_IN_STK_QTY*AVG_UNIT_COST_AMT,
AVL_QTY = CURR_BAL_QTY - (CURR_RSRVD_QTY + COMITTED_QTY + EXPRD_IN_STK_QTY),
AVL_AMT = (CURR_BAL_QTY - (CURR_RSRVD_QTY + COMITTED_QTY+ EXPRD_IN_STK_QTY)) * A
VG_UNIT_COST_AMT,
WO_MTRL_USAGE_MO_QTY=ISS_MO_QTY-RTN_MO_QTY,
XFER_CT=IN_XFER_CT+OUT_XFER_CT,
XFER_QTY=IN_XFER_QTY+OUT_XFER_QTY,
ETL_LOAD_KEY=V_ETL_LOAD_KEY;
END;
COMMIT;
-------------------------------ERRORS-------------------------------------------
----------
BEGIN
INSERT INTO eam_od_etl_error_tb
SELECT
V_ETL_LOAD_KEY,
'm_EAM_OF_INVENTORY_STOREROOM_TB',
'EAM_OD_ITEM_STOREROOM_TB',
'STOREROOM_NAME='||B.STOREROOM_NAME|| ','|| 'SITE_ID='|| B.SITE_ID|| ','|| 'ITEM
_NO='|| B.ITEM_NO|| ','|| 'ITEM_SET_ID='|| B.ITEM_SET_ID,
'STOREROOM_NAME='||B.STOREROOM_NAME|| ','|| 'SITE_ID='|| B.SITE_ID|| ','|| 'ITEM
_NO='|| B.ITEM_NO|| ','|| 'ITEM_SET_ID='|| B.ITEM_SET_ID,
SYSDATE,
'EAM_OF_INVENTORY_STOREROOM_TB',
case when Y.STRRM_KEY is null then 'STOREROOM_KEY=NULL' ELSE
CASE when X.ITEM_KEY IS null then 'ITEM_KEY=NULL' ELSE
CASE when Z.SITE_KEY IS null then 'SITE_KEY=NULL' END END END,
'RI ERROR',
case when Y.STRRM_KEY is null then 'STOREROOM KEY NOT FOUND IN TABLE EAM_DI_STOR
EROOM_TB' ELSE
CASE when X.ITEM_KEY IS null then 'ITEM KEY NOT FOUND IN TABLE EAM_DI_ITEM
_TB' ELSE
CASE when Z.SITE_KEY IS null then 'SITE_KEY NOT FOUND IN TABLE EAM_
DI_SITE_TB' END END END,
SYSDATE,
0
FROM EAM_OD_ITEM_STOREROOM_TB B left outer join EAM_DI_ITEM_TB X
on B.ITEM_NO=X.ITEM_NO AND B.ITEM_SET_ID=X.ITEM_SET_ID
left outer join EAM_DI_STOREROOM_TB Y ON B.STOREROOM_NAME=Y.STRRM_NAME AND B.
SITE_ID=Y.SITE_ID
left outer join EAM_DI_SITE_TB Z ON B.SITE_ID =Z.SITE_ID WHERE Y.STRRM_KEY IS
NULL OR X.ITEM_KEY IS NULL OR Z.SITE_KEY IS NULL;
COMMIT;
END;


END;
/

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