The following lines contain the word 'select', 'insert', 'update' or 'delete':
INSERT
INTO
MTH_TAG_READINGS_RAW_ERR
(GROUP_ID,
READING_TIME,
TAG_CODE,
TAG_DATA,
USER_ATTR1,
USER_ATTR2,
USER_ATTR3,
USER_ATTR4,
USER_ATTR5,
USER_MEASURE1,
USER_MEASURE2,
USER_MEASURE3,
USER_MEASURE4,
USER_MEASURE5,
QUALITY_FLAG,
CREATION_DATE,
ERR_CODE)
(SELECT MAX(RP.GROUP_ID) GROUP_ID,
RP.READING_TIME,
RP.TAG_CODE,
MAX(RP.TAG_DATA) TAG_DATA,
MAX(RP.USER_ATTR1) USER_ATTR1,
MAX(RP.USER_ATTR2) USER_ATTR2,
MAX(RP.USER_ATTR3) USER_ATTR3,
MAX(RP.USER_ATTR4) USER_ATTR4,
MAX(RP.USER_ATTR5) USER_ATTR5,
MAX(RP.USER_MEASURE1) USER_MEASURE1,
MAX(RP.USER_MEASURE2) USER_MEASURE2,
MAX(RP.USER_MEASURE3) USER_MEASURE3,
MAX(RP.USER_MEASURE4) USER_MEASURE4,
MAX(RP.USER_MEASURE5) USER_MEASURE5,
MAX(RP.QUALITY_FLAG) QUALITY_FLAG,
MAX(RP.CREATION_DATE) CREATION_DATE ,
-- COUNT(RP.TAG_CODE) DUP_COUNT,
'DUP' ERROR_CODE
FROM MTH_TAG_READINGS_RAW_PROCESSED RP
GROUP BY RP.READING_TIME , RP.TAG_CODE
HAVING COUNT(RP.TAG_CODE) > 1
) ;
mth_util_pkg.log_msg('Number of rows inserted in MTH_TAG_READINGS_RAW_ERR while proceesing the data from tag readings raw processed table - ' || SQL%ROWCOUNT, mth_util_pkg.G_DBG_ROW_CNT);
INSERT
INTO
MTH_TAG_READINGS_STG_ERR
(GROUP_ID,
READING_TIME,
TAG_CODE,
TAG_DATA,
EQUIPMENT_FK_KEY,
PLANT_FK_KEY,
USER_ATTR1,
USER_ATTR2,
USER_ATTR3,
USER_ATTR4,
USER_ATTR5,
USER_MEASURE1,
USER_MEASURE2,
USER_MEASURE3,
USER_MEASURE4,
USER_MEASURE5,
QUALITY_FLAG)
(SELECT
RAW_DATA.GROUP_ID GROUP_ID,
RAW_DATA.READING_TIME READING_TIME,
RAW_DATA.TAG_CODE TAG_CODE,
RAW_DATA.TAG_DATA TAG_DATA,
TDM.EQUIPMENT_FK_KEY EQUIPMENT_FK_KEY,
EQP.PLANT_FK_KEY PLANT_FK_KEY,
RAW_DATA.USER_ATTR1 USER_ATTR1,
RAW_DATA.USER_ATTR2 USER_ATTR2,
RAW_DATA.USER_ATTR3 USER_ATTR3,
RAW_DATA.USER_ATTR4 USER_ATTR4,
RAW_DATA.USER_ATTR5 USER_ATTR5,
RAW_DATA.USER_MEASURE1 USER_MEASURE1,
RAW_DATA.USER_MEASURE2 USER_MEASURE2,
RAW_DATA.USER_MEASURE3 USER_MEASURE3,
RAW_DATA.USER_MEASURE4 USER_MEASURE4,
RAW_DATA.USER_MEASURE5 USER_MEASURE5,
RAW_DATA.QUALITY_FLAG QUALITY_FLAG
FROM
( SELECT
RP.READING_TIME,
RP.TAG_CODE,
MAX(RP.GROUP_ID) GROUP_ID,
MAX(RP.TAG_DATA) TAG_DATA,
MAX(RP.USER_ATTR1) USER_ATTR1,
MAX(RP.USER_ATTR2) USER_ATTR2,
MAX(RP.USER_ATTR3) USER_ATTR3,
MAX(RP.USER_ATTR4) USER_ATTR4,
MAX(RP.USER_ATTR5) USER_ATTR5,
MAX(RP.USER_MEASURE1) USER_MEASURE1,
MAX(RP.USER_MEASURE2) USER_MEASURE2,
MAX(RP.USER_MEASURE3) USER_MEASURE3,
MAX(RP.USER_MEASURE4) USER_MEASURE4,
MAX(RP.USER_MEASURE5) USER_MEASURE5,
MAX(RP.QUALITY_FLAG) QUALITY_FLAG,
MAX(RP.CREATION_DATE) CREATION_DATE,
COUNT(RP.TAG_CODE) DUP_COUNT
FROM
MTH_TAG_READINGS_RAW_PROCESSED RP
GROUP BY
RP.READING_TIME , RP.TAG_CODE ) RAW_DATA ,MTH_TAG_MASTER TM ,MTH_TAG_DESTINATION_MAP TDM ,MTH_EQUIPMENTS_D EQP
WHERE
RAW_DATA.TAG_CODE = TM.TAG_CODE
AND TM.TAG_CODE = TDM.TAG_CODE (+)
AND TDM.EQUIPMENT_FK_KEY = EQP.EQUIPMENT_PK_KEY(+)
AND(( TDM.EQUIPMENT_FK_KEY IS NULL OR
EQP.PLANT_FK_KEY is NULL OR
TM.STATUS is NULL OR
TM.STATUS <> 'ACTIVE' OR
(TDM.MTH_ENTITY=5 AND RAW_DATA.TAG_DATA NOT IN (1,2,3,4) )
OR (TDM.MTH_ENTITY=8 AND RAW_DATA.TAG_DATA NOT IN (SELECT lookup_code FROM fnd_lookups WHERE lookup_type='MTH_EQUIP_DOWNTIME_REASON' ))
OR (TDM.MTH_ENTITY=17 AND RAW_DATA.TAG_DATA NOT IN (SELECT lookup_code FROM fnd_lookups WHERE lookup_type='MTH_EQUIP_IDLE_REASON' ))
OR (TDM.MTH_ENTITY=13 AND RAW_DATA.TAG_DATA NOT IN (SELECT lookup_code FROM fnd_lookups WHERE lookup_type='MTH_SCRAP_REASON' )) ) OR
(TDM.EQUIPMENT_FK_KEY IS NOT NULL
AND EQP.PLANT_FK_KEY is NOT NULL
AND TM.STATUS is NOT NULL
AND TM.STATUS = 'ACTIVE'
AND TDM.MTH_ENTITY IS NULL
AND TDM.ATTRIBUTE_GROUP IS NULL
AND TDM.ATTRIBUTE IS NULL )
)
)
;
mth_util_pkg.log_msg('Number of rows inserted in MTH_TAG_READINGS_STG_ERR while proceesing the data from tag readings raw processed table- ' || SQL%ROWCOUNT, mth_util_pkg.G_DBG_ROW_CNT);
INSERT
INTO
MTH_TAG_READINGS_STG
(GROUP_ID,
READING_TIME,
TAG_CODE,
TAG_DATA,
MTH_ENTITY,
ATTRIBUTE_GROUP,
ATTRIBUTE,
EQUIPMENT_FK_KEY,
PLANT_FK_KEY,
USER_ATTR1,
USER_ATTR2,
USER_ATTR3,
USER_ATTR4,
USER_ATTR5,
USER_MEASURE1,
USER_MEASURE2,
USER_MEASURE3,
USER_MEASURE4,
USER_MEASURE5,
QUALITY_FLAG,
CREATION_DATE)
(SELECT
RAW_DATA.GROUP_ID GROUP_ID,
RAW_DATA.READING_TIME READING_TIME,
RAW_DATA.TAG_CODE TAG_CODE,
RAW_DATA.TAG_DATA TAG_DATA,
TDM.MTH_ENTITY MTH_ENTITY,
TDM.ATTRIBUTE_GROUP ATTRIBUTE_GROUP,
TDM.ATTRIBUTE ATTRIBUTE,
TDM.EQUIPMENT_FK_KEY EQUIPMENT_FK_KEY,
EQP.PLANT_FK_KEY PLANT_FK_KEY,
RAW_DATA.USER_ATTR1 USER_ATTR1,
RAW_DATA.USER_ATTR2 USER_ATTR2,
RAW_DATA.USER_ATTR3 USER_ATTR3,
RAW_DATA.USER_ATTR4 USER_ATTR4,
RAW_DATA.USER_ATTR5 USER_ATTR5,
RAW_DATA.USER_MEASURE1 USER_MEASURE1,
RAW_DATA.USER_MEASURE2 USER_MEASURE2,
RAW_DATA.USER_MEASURE3 USER_MEASURE3,
RAW_DATA.USER_MEASURE4 USER_MEASURE4,
RAW_DATA.USER_MEASURE5 USER_MEASURE5,
RAW_DATA.QUALITY_FLAG QUALITY_FLAG,
SYSDATE - 0.002 CREATION_DATE
FROM
(SELECT
RP.READING_TIME,
RP.TAG_CODE,
MAX(RP.GROUP_ID) GROUP_ID,
MAX(RP.TAG_DATA) TAG_DATA,
MAX(RP.USER_ATTR1) USER_ATTR1,
MAX(RP.USER_ATTR2) USER_ATTR2,
MAX(RP.USER_ATTR3) USER_ATTR3,
MAX(RP.USER_ATTR4) USER_ATTR4,
MAX(RP.USER_ATTR5) USER_ATTR5,
MAX(RP.USER_MEASURE1) USER_MEASURE1,
MAX(RP.USER_MEASURE2) USER_MEASURE2,
MAX(RP.USER_MEASURE3) USER_MEASURE3,
MAX(RP.USER_MEASURE4) USER_MEASURE4,
MAX(RP.USER_MEASURE5) USER_MEASURE5,
MAX(RP.QUALITY_FLAG) QUALITY_FLAG,
MAX(RP.CREATION_DATE) CREATION_DATE,
COUNT(RP.TAG_CODE) DUP_COUNT
FROM
MTH_TAG_READINGS_RAW_PROCESSED RP
--WHERE (r.CREATION_DATE >= v_log_from_date and r.CREATION_DATE < v_log_to_date )
GROUP BY
RP.READING_TIME , RP.TAG_CODE ) RAW_DATA ,MTH_TAG_MASTER TM ,MTH_TAG_DESTINATION_MAP TDM ,MTH_EQUIPMENTS_D EQP
WHERE
RAW_DATA.TAG_CODE = TM.TAG_CODE
AND TM.TAG_CODE = TDM.TAG_CODE (+)
AND TDM.EQUIPMENT_FK_KEY = EQP.EQUIPMENT_PK_KEY(+)
AND TDM.EQUIPMENT_FK_KEY IS NOT NULL
AND EQP.PLANT_FK_KEY is NOT NULL
AND TM.STATUS is NOT NULL
AND TM.STATUS = 'ACTIVE'
AND (((TDM.MTH_ENTITY<>5 OR RAW_DATA.TAG_DATA IN (1,2,3,4) )
AND (TDM.MTH_ENTITY<>8 OR RAW_DATA.TAG_DATA IN (SELECT lookup_code FROM fnd_lookups WHERE lookup_type='MTH_EQUIP_DOWNTIME_REASON' ))
AND (TDM.MTH_ENTITY<>17 OR RAW_DATA.TAG_DATA IN (SELECT lookup_code FROM fnd_lookups WHERE lookup_type='MTH_EQUIP_IDLE_REASON' ))
AND (TDM.MTH_ENTITY<>13 OR RAW_DATA.TAG_DATA IN (SELECT lookup_code FROM fnd_lookups WHERE lookup_type='MTH_SCRAP_REASON' )) )
OR TDM.MTH_ENTITY IS NULL)
AND NOT (TDM.MTH_ENTITY IS NULL And
TDM.ATTRIBUTE_GROUP IS NULL And
TDM.ATTRIBUTE IS NULL)
)
;
mth_util_pkg.log_msg('Number of rows inserted in MTH_TAG_READINGS_STG while proceesing the data from tag readings raw processed table - ' || SQL%ROWCOUNT, mth_util_pkg.G_DBG_ROW_CNT);
INSERT
INTO
MTH_TAG_READINGS
(GROUP_ID,
READING_TIME,
TAG_CODE,
TAG_DATA,
MTH_ENTITY,
ATTRIBUTE_GROUP,
ATTRIBUTE,
EQUIPMENT_FK_KEY,
WORKORDER_FK_KEY,
SEGMENT_FK_KEY,
SHIFT_WORKDAY_FK_KEY,
ITEM_FK_KEY,
HOUR_FK_KEY,
PROCESSED_FLAG,
CREATION_DATE,
LAST_UPDATE_DATE,
CREATION_SYSTEM_ID,
LAST_UPDATE_SYSTEM_ID,
PLANT_FK_KEY,
USER_ATTR1,
USER_ATTR2,
USER_ATTR3,
USER_ATTR4,
USER_ATTR5,
USER_MEASURE1,
USER_MEASURE2,
USER_MEASURE3,
USER_MEASURE4,
USER_MEASURE5,
QUALITY_FLAG,
RECIPE_NUM,
RECIPE_VERSION)
(SELECT
TRE.GROUP_ID,
TRE.READING_TIME,
TRE.TAG_CODE,
TRE.TAG_DATA,
TRE.MTH_ENTITY,
TRE.ATTRIBUTE_GROUP,
TRE.ATTRIBUTE,
TRE.EQUIPMENT_FK_KEY,
NVL( TRE.WORKORDER_FK_KEY , MTH_UTIL_PKG.MTH_UA_GET_VAL() ) ,
NVL( TRE.SEGMENT_FK_KEY , MTH_UTIL_PKG.MTH_UA_GET_VAL() ),
TRE.SHIFT_WORKDAY_FK_KEY,
NVL( TRE.ITEM_FK_KEY , MTH_UTIL_PKG.MTH_UA_GET_VAL() ),
TRE.HOUR_FK_KEY,
TRE.PROCESSED_FLAG,
SYSDATE - 0.0001,
SYSDATE - 0.0001,
MTH_UTIL_PKG.MTH_UA_GET_VAL(),
MTH_UTIL_PKG.MTH_UA_GET_VAL(),
TRE.PLANT_FK_KEY,
TRE.USER_ATTR1,
TRE.USER_ATTR2,
TRE.USER_ATTR3,
TRE.USER_ATTR4,
TRE.USER_ATTR5,
TRE.USER_MEASURE1,
TRE.USER_MEASURE2,
TRE.USER_MEASURE3,
TRE.USER_MEASURE4,
TRE.USER_MEASURE5,
TRE.QUALITY_FLAG,
TRE.RECIPE_NUM,
TRE.RECIPE_VERSION
FROM
MTH_TAG_READINGS_ERR TRE, MTH_CONTEXTUALIZATION_METHOD MCM ,MTH_CONTEXTUALIZATION_REQ MCR
WHERE
TRE.RE_PROCESS_FLAG = 'Y' And
TRE.EQUIPMENT_FK_KEY = MCM.EQUIPMENT_FK_KEY (+) And
TRE.EQUIPMENT_FK_KEY = MCR.EQUIPMENT_FK_KEY (+)
AND (MCM.CONTEXTUALIZE_METHOD = 1 Or MCM.CONTEXTUALIZE_METHOD = 3)
AND TRE.SHIFT_WORKDAY_FK_KEY IS NOT NULL AND
TRE.HOUR_FK_KEY IS NOT NULL AND
TRE.EQUIPMENT_STATUS = 'ACTIVE' AND
( MCR.WO_REQUIRED <> 'Y' Or
TRE.WORKORDER_FK_KEY IS NOT NULL And TRE.WORKORDER_FK_KEY <> MTH_UTIL_PKG.MTH_UA_GET_VAL() ) AND
( MCR.WO_SEGMENT_REQUIRED <> 'Y' Or
TRE.SEGMENT_FK_KEY IS NOT NULL And TRE.SEGMENT_FK_KEY <> MTH_UTIL_PKG.MTH_UA_GET_VAL()) AND
( MCR.ITEM_REQUIRED <> 'Y' Or
TRE.ITEM_FK_KEY IS NOT NULL And TRE.ITEM_FK_KEY <> MTH_UTIL_PKG.MTH_UA_GET_VAL() )
)
;
mth_util_pkg.log_msg('Number of rows inserted in MTH_TAG_READINGS from tag readings error table- ' || SQL%ROWCOUNT, mth_util_pkg.G_DBG_ROW_CNT);
INSERT
INTO
MTH_TAG_READINGS_STG
(GROUP_ID,
READING_TIME,
TAG_CODE,
TAG_DATA,
MTH_ENTITY,
ATTRIBUTE_GROUP,
ATTRIBUTE,
EQUIPMENT_FK_KEY,
PLANT_FK_KEY,
USER_ATTR1,
USER_ATTR2,
USER_ATTR3,
USER_ATTR4,
USER_ATTR5,
USER_MEASURE1,
USER_MEASURE2,
USER_MEASURE3,
USER_MEASURE4,
USER_MEASURE5,
QUALITY_FLAG,
PROCESSED_FLAG,
CREATION_DATE)
(SELECT
TRE.GROUP_ID,
TRE.READING_TIME,
TRE.TAG_CODE,
TRE.TAG_DATA,
TRE.MTH_ENTITY,
TRE.ATTRIBUTE_GROUP,
TRE.ATTRIBUTE,
TRE.EQUIPMENT_FK_KEY,
TRE.PLANT_FK_KEY,
TRE.USER_ATTR1,
TRE.USER_ATTR2,
TRE.USER_ATTR3,
TRE.USER_ATTR4,
TRE.USER_ATTR5,
TRE.USER_MEASURE1,
TRE.USER_MEASURE2,
TRE.USER_MEASURE3,
TRE.USER_MEASURE4,
TRE.USER_MEASURE5,
TRE.QUALITY_FLAG,
TRE.PROCESSED_FLAG,
SYSDATE - 0.0001
FROM
MTH_TAG_READINGS_ERR TRE, MTH_CONTEXTUALIZATION_METHOD MCM ,MTH_CONTEXTUALIZATION_REQ MCR
WHERE
TRE.RE_PROCESS_FLAG = 'Y'
AND TRE.EQUIPMENT_FK_KEY = MCM.EQUIPMENT_FK_KEY (+)
AND TRE.EQUIPMENT_FK_KEY = MCR.EQUIPMENT_FK_KEY (+)
AND MCM.CONTEXTUALIZE_METHOD = 2
AND TRE.EQUIPMENT_STATUS = 'ACTIVE'
)
;
mth_util_pkg.log_msg('Number of rows inserted in MTH_TAG_READINGS_STG from tag readings error table- ' || SQL%ROWCOUNT, mth_util_pkg.G_DBG_ROW_CNT);
INSERT
INTO
MTH_TAG_READINGS_ERR
(GROUP_ID,
READING_TIME,
TAG_CODE,
TAG_DATA,
MTH_ENTITY,
ATTRIBUTE_GROUP,
ATTRIBUTE,
EQUIPMENT_FK_KEY,
WORKORDER_FK_KEY,
SEGMENT_FK_KEY,
SHIFT_WORKDAY_FK_KEY,
ITEM_FK_KEY,
HOUR_FK_KEY,
WO_TAG_CODE,
WO_TAG_DATA,
SEGMENT_TAG_CODE,
SEGMENT_TAG_DATA,
ITEM_TAG_CODE,
ITEM_TAG_DATA,
RE_PROCESS_FLAG,
PLANT_FK_KEY,
USER_ATTR1,
USER_ATTR2,
USER_ATTR3,
USER_ATTR4,
USER_ATTR5,
USER_MEASURE1,
USER_MEASURE2,
USER_MEASURE3,
USER_MEASURE4,
USER_MEASURE5,
QUALITY_FLAG,
PROCESSED_FLAG,
RECIPE_VERSION_TAG_CODE,
RECIPE_NUM_TAG_CODE,
RECIPE_VERSION,
RECIPE_NUM,
EQUIPMENT_STATUS)
(SELECT
TRE.GROUP_ID,
TRE.READING_TIME,
TRE.TAG_CODE,
TRE.TAG_DATA,
TRE.MTH_ENTITY,
TRE.ATTRIBUTE_GROUP,
TRE.ATTRIBUTE,
TRE.EQUIPMENT_FK_KEY,
TRE.WORKORDER_FK_KEY,
TRE.SEGMENT_FK_KEY,
TRE.SHIFT_WORKDAY_FK_KEY,
TRE.ITEM_FK_KEY,
TRE.HOUR_FK_KEY,
TRE.WO_TAG_CODE,
TRE.WO_TAG_DATA,
TRE.SEGMENT_TAG_CODE,
TRE.SEGMENT_TAG_DATA,
TRE.ITEM_TAG_CODE,
TRE.ITEM_TAG_DATA,
'N',
TRE.PLANT_FK_KEY,
TRE.USER_ATTR1,
TRE.USER_ATTR2,
TRE.USER_ATTR3,
TRE.USER_ATTR4,
TRE.USER_ATTR5,
TRE.USER_MEASURE1,
TRE.USER_MEASURE2,
TRE.USER_MEASURE3,
TRE.USER_MEASURE4,
TRE.USER_MEASURE5,
TRE.QUALITY_FLAG,
TRE.PROCESSED_FLAG,
TRE.RECIPE_VERSION_TAG_CODE,
TRE.RECIPE_NUM_TAG_CODE,
TRE.RECIPE_VERSION,
TRE.RECIPE_NUM,
TRE.EQUIPMENT_STATUS
FROM
MTH_TAG_READINGS_ERR TRE, MTH_CONTEXTUALIZATION_METHOD MCM ,MTH_CONTEXTUALIZATION_REQ MCR
WHERE
TRE.RE_PROCESS_FLAG = 'Y' And
TRE.EQUIPMENT_FK_KEY = MCM.EQUIPMENT_FK_KEY (+) And
TRE.EQUIPMENT_FK_KEY = MCR.EQUIPMENT_FK_KEY (+) AND
NOT ((MCM.CONTEXTUALIZE_METHOD = 2 AND TRE.EQUIPMENT_STATUS = 'ACTIVE')
OR (( MCM.CONTEXTUALIZE_METHOD = 1 Or MCM.CONTEXTUALIZE_METHOD = 3) And
TRE.SHIFT_WORKDAY_FK_KEY IS NOT NULL And
TRE.HOUR_FK_KEY IS NOT NULL And
TRE.EQUIPMENT_STATUS = 'ACTIVE' And
(MCR.WO_REQUIRED <> 'Y' Or
TRE.WORKORDER_FK_KEY IS NOT NULL And TRE.WORKORDER_FK_KEY <> MTH_UTIL_PKG.MTH_UA_GET_VAL() ) And
(MCR.WO_SEGMENT_REQUIRED <> 'Y' Or
TRE.SEGMENT_FK_KEY IS NOT NULL And TRE.SEGMENT_FK_KEY <> MTH_UTIL_PKG.MTH_UA_GET_VAL() ) And
(MCR.ITEM_REQUIRED <> 'Y' Or
TRE.ITEM_FK_KEY IS NOT NULL And TRE.ITEM_FK_KEY <> MTH_UTIL_PKG.MTH_UA_GET_VAL())))
)
;
mth_util_pkg.log_msg('Number of rows inserted in MTH_TAG_READINGS_ERR from tag readings error table which have re_process_flag as Y- ' || SQL%ROWCOUNT, mth_util_pkg.G_DBG_ROW_CNT);
DELETE
FROM
MTH_TAG_READINGS_ERR
WHERE RE_PROCESS_FLAG = 'Y' ;
mth_util_pkg.log_msg('Number of rows deleted from MTH_TAG_READINGS_ERR which have re_process_flag as Y- ' || SQL%ROWCOUNT, mth_util_pkg.G_DBG_ROW_CNT);
INSERT
INTO
MTH_TAG_READINGS_ERR
(GROUP_ID,
READING_TIME,
TAG_CODE,
TAG_DATA,
MTH_ENTITY,
ATTRIBUTE_GROUP,
ATTRIBUTE,
EQUIPMENT_FK_KEY,
RE_PROCESS_FLAG,
PLANT_FK_KEY,
USER_ATTR1,
USER_ATTR2,
USER_ATTR3,
USER_ATTR4,
USER_ATTR5,
USER_MEASURE1,
USER_MEASURE2,
USER_MEASURE3,
USER_MEASURE4,
USER_MEASURE5,
QUALITY_FLAG,
PROCESSED_FLAG)
(SELECT
STG.GROUP_ID,
STG.READING_TIME,
STG.TAG_CODE,
STG.TAG_DATA,
STG.MTH_ENTITY,
STG.ATTRIBUTE_GROUP,
STG.ATTRIBUTE,
STG.EQUIPMENT_FK_KEY,
'N',
STG.PLANT_FK_KEY,
STG.USER_ATTR1,
STG.USER_ATTR2,
STG.USER_ATTR3,
STG.USER_ATTR4,
STG.USER_ATTR5,
STG.USER_MEASURE1,
STG.USER_MEASURE2,
STG.USER_MEASURE3,
STG.USER_MEASURE4,
STG.USER_MEASURE5,
STG.QUALITY_FLAG,
NVL( STG.PROCESSED_FLAG , 0)
FROM
MTH_TAG_READINGS_STG STG , MTH_CONTEXTUALIZATION_METHOD CM
WHERE
STG.EQUIPMENT_FK_KEY = CM.EQUIPMENT_FK_KEY (+)
AND CM.CONTEXTUALIZE_METHOD NOT IN ( 1 , 2 , 3 )
)
;
mth_util_pkg.log_msg('Number of rows inserted in MTH_TAG_READINGS_ERR which has contextualization method other than 1,2 or 3 - ' || SQL%ROWCOUNT, mth_util_pkg.G_DBG_ROW_CNT);
INSERT
INTO
MTH_TAG_READINGS_ERR
(GROUP_ID,
READING_TIME,
TAG_CODE,
TAG_DATA,
MTH_ENTITY,
ATTRIBUTE_GROUP,
ATTRIBUTE,
EQUIPMENT_FK_KEY,
WORKORDER_FK_KEY,
SEGMENT_FK_KEY,
SHIFT_WORKDAY_FK_KEY,
ITEM_FK_KEY,
HOUR_FK_KEY,
WO_TAG_CODE,
WO_TAG_DATA,
SEGMENT_TAG_CODE,
SEGMENT_TAG_DATA,
ITEM_TAG_CODE,
ITEM_TAG_DATA,
RE_PROCESS_FLAG,
PLANT_FK_KEY,
USER_ATTR1,
USER_ATTR2,
USER_ATTR3,
USER_ATTR4,
USER_ATTR5,
USER_MEASURE1,
USER_MEASURE2,
USER_MEASURE3,
USER_MEASURE4,
USER_MEASURE5,
QUALITY_FLAG,
PROCESSED_FLAG,
RECIPE_VERSION_TAG_CODE,
RECIPE_NUM_TAG_CODE,
RECIPE_VERSION,
RECIPE_NUM,
EQUIPMENT_STATUS)
( SELECT
TAG_DATA1.GROUP_ID ,
TAG_DATA1.READING_TIME,
TAG_DATA1.TAG_CODE,
TAG_DATA1.TAG_DATA,
TAG_DATA1.MTH_ENTITY,
TAG_DATA1.ATTRIBUTE_GROUP,
TAG_DATA1.ATTRIBUTE,
TAG_DATA1.EQUIPMENT_FK_KEY,
PROD_SCHD.WORKORDER_PK_KEY,
PROD_SEG.SEGMENT_PK_KEY,
TAG_DATA1.SHIFT_WORKDAY_FK_KEY,
ITEMS.ITEM_PK_KEY,
TAG_DATA1.HOUR_FK_KEY,
TAG_DATA1.WORKORDER_TAG_CODE,
TAG_DATA1.WORKORDER,
TAG_DATA1.SEGMENT_TAG_CODE,
TAG_DATA1.SEGMENT1,
TAG_DATA1.ITEM_TAG_CODE,
TAG_DATA1.ITEM,
'N',
TAG_DATA1.PLANT_FK_KEY,
TAG_DATA1.USER_ATTR1,
TAG_DATA1.USER_ATTR2,
TAG_DATA1.USER_ATTR3,
TAG_DATA1.USER_ATTR4,
TAG_DATA1.USER_ATTR5,
TAG_DATA1.USER_MEASURE1,
TAG_DATA1.USER_MEASURE2,
TAG_DATA1.USER_MEASURE3,
TAG_DATA1.USER_MEASURE4,
TAG_DATA1.USER_MEASURE5,
TAG_DATA1.QUALITY_FLAG,
TAG_DATA1.PROCESSED_FLAG,
TAG_DATA1.RECIPE_VERSION_TAG_CODE,
TAG_DATA1.RECIPE_NUM_TAG_CODE,
TAG_DATA1.RECIPE_VERSION,
TAG_DATA1.RECIPE_NUM,
TAG_DATA1.STATUS
FROM
( SELECT
case when BUS_CONTEXT.WORKORDER is null
then TO_CHAR( MTH_UTIL_PKG.MTH_UA_GET_VAL() )
else BUS_CONTEXT.WORKORDER || '-' || PLANTS.PLANT_PK
END WORKORDER_PK,
case when BUS_CONTEXT.ITEM is null
then TO_CHAR( MTH_UTIL_PKG.MTH_UA_GET_VAL() )
else BUS_CONTEXT.ITEM || '-' || PLANTS.PLANT_PK
END ITEM_PK,
case when (BUS_CONTEXT.SEGMENT1 is null or BUS_CONTEXT.WORKORDER is null)
then TO_CHAR( MTH_UTIL_PKG.MTH_UA_GET_VAL() )
else BUS_CONTEXT.SEGMENT1 || '-' || BUS_CONTEXT.WORKORDER || '-' || PLANTS.PLANT_PK
END SEGMENT_PK,
TAG_DATA.GROUP_ID,
TAG_DATA.READING_TIME,
TAG_DATA.TAG_CODE,
TAG_DATA.MTH_ENTITY,
TAG_DATA.ATTRIBUTE_GROUP,
TAG_DATA.ATTRIBUTE,
TAG_DATA.EQUIPMENT_FK_KEY,
TAG_DATA.TAG_DATA,
EQP_SHIFTS.SHIFT_WORKDAY_FK_KEY,
BUS_CONTEXT.WORKORDER_TAG_CODE,
BUS_CONTEXT.SEGMENT_TAG_CODE,
BUS_CONTEXT.ITEM_TAG_CODE,
BUS_CONTEXT.WORKORDER,
BUS_CONTEXT.SEGMENT1,
BUS_CONTEXT.ITEM,
TAG_DATA.CONTEXTUALIZE_METHOD,
TAG_DATA.PLANT_FK_KEY,
TAG_DATA.PROCESSED_FLAG,
TAG_DATA.USER_ATTR1,
TAG_DATA.USER_ATTR2,
TAG_DATA.USER_ATTR3,
TAG_DATA.USER_ATTR4,
TAG_DATA.USER_ATTR5,
TAG_DATA.USER_MEASURE1,
TAG_DATA.USER_MEASURE2,
TAG_DATA.USER_MEASURE3,
TAG_DATA.USER_MEASURE4,
TAG_DATA.USER_MEASURE5,
TAG_DATA.QUALITY_FLAG,
BUS_CONTEXT.RECIPE_NUM,
BUS_CONTEXT.RECIPE_VERSION,
BUS_CONTEXT.RECIPE_NUM_TAG_CODE,
BUS_CONTEXT.RECIPE_VERSION_TAG_CODE,
HOURS.HOUR_PK_KEY HOUR_FK_KEY,
EQUIPMENTS.STATUS
FROM
( SELECT
STG.GROUP_ID,
STG.READING_TIME,
STG.TAG_CODE,
STG.TAG_DATA,
STG.MTH_ENTITY,
STG.ATTRIBUTE_GROUP,
STG.ATTRIBUTE,
STG.EQUIPMENT_FK_KEY,
MCM.CONTEXTUALIZE_METHOD,
STG.PLANT_FK_KEY,
NVL(STG.PROCESSED_FLAG , 0)PROCESSED_FLAG,
STG.USER_ATTR1,
STG.USER_ATTR2,
STG.USER_ATTR3,
STG.USER_ATTR4,
STG.USER_ATTR5,
STG.USER_MEASURE1,
STG.USER_MEASURE2,
STG.USER_MEASURE3,
STG.USER_MEASURE4,
STG.USER_MEASURE5,
STG.QUALITY_FLAG
FROM
MTH_TAG_READINGS_STG STG, MTH_CONTEXTUALIZATION_METHOD MCM
WHERE
STG.EQUIPMENT_FK_KEY = MCM.EQUIPMENT_FK_KEY (+)
AND MCM.CONTEXTUALIZE_METHOD = 1 AND
( STG.MTH_ENTITY IS NULL Or STG.MTH_ENTITY IS NOT NULL And NOT STG.MTH_ENTITY IN ( 2 , 3 , 4 , 14 , 15 ) )
) TAG_DATA, ( SELECT
MIN(CASE WHEN BUS.MTH_ENTITY = 2 THEN BUS.READING_TIME ELSE NULL END) READING_TIME,
EQUIPMENT_FK_KEY,
MIN(CASE WHEN BUS.MTH_ENTITY = 2 THEN BUS.TAG_DATA ELSE NULL END) WORKORDER,
MIN(CASE WHEN BUS.MTH_ENTITY = 3 THEN BUS.TAG_DATA ELSE NULL END) SEGMENT1,
MIN(CASE WHEN BUS.MTH_ENTITY = 4 THEN BUS.TAG_DATA ELSE NULL END) ITEM,
MIN(CASE WHEN BUS.MTH_ENTITY = 2 THEN BUS.TAG_CODE ELSE NULL END) WORKORDER_TAG_CODE,
MIN(CASE WHEN BUS.MTH_ENTITY = 3 THEN BUS.TAG_CODE ELSE NULL END) SEGMENT_TAG_CODE,
MIN(CASE WHEN BUS.MTH_ENTITY = 4 THEN BUS.TAG_CODE ELSE NULL END) ITEM_TAG_CODE,
MIN(CASE WHEN BUS.MTH_ENTITY = 14 THEN BUS.TAG_DATA ELSE NULL END) RECIPE_NUM,
MIN(CASE WHEN BUS.MTH_ENTITY = 15 THEN BUS.TAG_DATA ELSE NULL END) RECIPE_VERSION,
MIN(CASE WHEN BUS.MTH_ENTITY = 14 THEN BUS.TAG_CODE ELSE NULL END) RECIPE_NUM_TAG_CODE,
MIN(CASE WHEN BUS.MTH_ENTITY = 15 THEN BUS.TAG_CODE ELSE NULL END) RECIPE_VERSION_TAG_CODE,
BUS.GROUP_ID
FROM
(SELECT
STG.GROUP_ID,
STG.READING_TIME,
STG.TAG_CODE,
STG.TAG_DATA,
STG.MTH_ENTITY,
STG.ATTRIBUTE_GROUP,
STG.ATTRIBUTE,
STG.EQUIPMENT_FK_KEY
FROM
MTH_TAG_READINGS_STG STG ,MTH_CONTEXTUALIZATION_METHOD MCM
WHERE
STG.EQUIPMENT_FK_KEY = MCM.EQUIPMENT_FK_KEY (+) AND
MCM.CONTEXTUALIZE_METHOD = 1 AND
STG.MTH_ENTITY IS NOT NULL AND
STG.MTH_ENTITY IN ( 2 , 3 , 4 , 14 , 15 ) ) BUS
GROUP BY
BUS.GROUP_ID, BUS.EQUIPMENT_FK_KEY ) BUS_CONTEXT ,MTH_PLANTS_D PLANTS , MTH_EQUIPMENT_SHIFTS_D EQP_SHIFTS , MTH_HOUR_D HOURS ,MTH_EQUIPMENTS_D EQUIPMENTS
WHERE
TAG_DATA.GROUP_ID = BUS_CONTEXT.GROUP_ID (+) And
TAG_DATA.EQUIPMENT_FK_KEY = BUS_CONTEXT.EQUIPMENT_FK_KEY (+) And
TAG_DATA.PLANT_FK_KEY = PLANTS.PLANT_PK_KEY (+) And
TAG_DATA.EQUIPMENT_FK_KEY = EQP_SHIFTS.EQUIPMENT_FK_KEY (+) AND
TAG_DATA.READING_TIME >= EQP_SHIFTS.FROM_DATE (+)
AND TAG_DATA.READING_TIME <= EQP_SHIFTS.TO_DATE (+)
AND TAG_DATA.READING_TIME >= HOURS.FROM_TIME(+)
AND TAG_DATA.READING_TIME <= HOURS.TO_TIME(+)
/*( TAG_DATA.READING_TIME BETWEEN EQP_SHIFTS.FROM_DATE and
EQP_SHIFTS.TO_DATE and
EQP_SHIFTS.FROM_DATE is not null and
EQP_SHIFTS.TO_DATE is not null
or
EQP_SHIFTS.FROM_DATE is null and
EQP_SHIFTS.TO_DATE is null ) And
( TAG_DATA.READING_TIME BETWEEN HOURS.FROM_TIME (+) and
HOURS.TO_TIME (+))*/ AND
TAG_DATA.EQUIPMENT_FK_KEY = EQUIPMENTS.EQUIPMENT_PK_KEY (+)
--AND EQP_SHIFTS.FROM_DATE IS NOT NULL AND
-- EQP_SHIFTS.TO_DATE IS NOT NULL AND
-- EQP_SHIFTS.FROM_DATE != EQP_SHIFTS.TO_DATE
)TAG_DATA1,MTH_PRODUCTION_SCHEDULES_F PROD_SCHD,
MTH_PRODUCTION_SEGMENTS_F PROD_SEG, MTH_ITEMS_D ITEMS , MTH_CONTEXTUALIZATION_REQ MCR
WHERE
TAG_DATA1.WORKORDER_PK = PROD_SCHD.WORKORDER_PK (+) And
TAG_DATA1.SEGMENT_PK = PROD_SEG.SEGMENT_PK (+) And
TAG_DATA1.ITEM_PK = ITEMS.ITEM_PK (+) AND
TAG_DATA1.EQUIPMENT_FK_KEY = MCR.EQUIPMENT_FK_KEY (+)
AND( TAG_DATA1.SHIFT_WORKDAY_FK_KEY IS NULL Or
TAG_DATA1.HOUR_FK_KEY IS NULL Or
TAG_DATA1.STATUS IS NULL Or
TAG_DATA1.STATUS <> 'ACTIVE' Or
PROD_SCHD.WORKORDER_PK_KEY IS NULL Or
PROD_SEG.SEGMENT_PK_KEY IS NULL Or
ITEMS.ITEM_PK_KEY IS NULL Or
(MCR.WO_REQUIRED = 'Y' AND
TO_CHAR(PROD_SCHD.WORKORDER_PK_KEY) =TO_CHAR(MTH_UTIL_PKG.MTH_UA_GET_VAL())) Or
(MCR.WO_SEGMENT_REQUIRED = 'Y' AND
TO_CHAR(PROD_SEG.SEGMENT_PK_KEY) = TO_CHAR(MTH_UTIL_PKG.MTH_UA_GET_VAL())) Or
(MCR.ITEM_REQUIRED = 'Y' AND
TO_CHAR(ITEMS.ITEM_PK_KEY) = TO_CHAR(MTH_UTIL_PKG.MTH_UA_GET_VAL()))
)
);
mth_util_pkg.log_msg('Number of rows inserted in MTH_TAG_READINGS_ERR for tag based contextualziation- ' || SQL%ROWCOUNT, mth_util_pkg.G_DBG_ROW_CNT);
INSERT
INTO
MTH_TAG_READINGS
(GROUP_ID,
READING_TIME,
TAG_CODE,
TAG_DATA,
MTH_ENTITY,
ATTRIBUTE_GROUP,
ATTRIBUTE,
EQUIPMENT_FK_KEY,
WORKORDER_FK_KEY,
SEGMENT_FK_KEY,
SHIFT_WORKDAY_FK_KEY,
ITEM_FK_KEY,
HOUR_FK_KEY,
PROCESSED_FLAG,
CREATION_DATE,
LAST_UPDATE_DATE,
CREATION_SYSTEM_ID,
LAST_UPDATE_SYSTEM_ID,
PLANT_FK_KEY,
USER_ATTR1,
USER_ATTR2,
USER_ATTR3,
USER_ATTR4,
USER_ATTR5,
USER_MEASURE1,
USER_MEASURE2,
USER_MEASURE3,
USER_MEASURE4,
USER_MEASURE5,
QUALITY_FLAG,
RECIPE_NUM,
RECIPE_VERSION)
( SELECT
TAG_DATA1.GROUP_ID ,
TAG_DATA1.READING_TIME,
TAG_DATA1.TAG_CODE,
TAG_DATA1.TAG_DATA,
TAG_DATA1.MTH_ENTITY,
TAG_DATA1.ATTRIBUTE_GROUP,
TAG_DATA1.ATTRIBUTE,
TAG_DATA1.EQUIPMENT_FK_KEY,
PROD_SCHD.WORKORDER_PK_KEY,
PROD_SEG.SEGMENT_PK_KEY,
TAG_DATA1.SHIFT_WORKDAY_FK_KEY,
ITEMS.ITEM_PK_KEY,
TAG_DATA1.HOUR_FK_KEY,
TAG_DATA1.PROCESSED_FLAG,
SYSDATE,
SYSDATE,
MTH_UTIL_PKG.MTH_UA_GET_VAL(),
MTH_UTIL_PKG.MTH_UA_GET_VAL(),
TAG_DATA1.PLANT_FK_KEY,
TAG_DATA1.USER_ATTR1,
TAG_DATA1.USER_ATTR2,
TAG_DATA1.USER_ATTR3,
TAG_DATA1.USER_ATTR4,
TAG_DATA1.USER_ATTR5,
TAG_DATA1.USER_MEASURE1,
TAG_DATA1.USER_MEASURE2,
TAG_DATA1.USER_MEASURE3,
TAG_DATA1.USER_MEASURE4,
TAG_DATA1.USER_MEASURE5,
TAG_DATA1.QUALITY_FLAG,
TAG_DATA1.RECIPE_NUM,
TAG_DATA1.RECIPE_VERSION
FROM
(SELECT
case when BUS_CONTEXT.WORKORDER is null
then TO_CHAR( MTH_UTIL_PKG.MTH_UA_GET_VAL() )
else BUS_CONTEXT.WORKORDER || '-' || PLANTS.PLANT_PK
END WORKORDER_PK,
case when BUS_CONTEXT.ITEM is null
then TO_CHAR( MTH_UTIL_PKG.MTH_UA_GET_VAL() )
else BUS_CONTEXT.ITEM || '-' || PLANTS.PLANT_PK
END ITEM_PK,
case when (BUS_CONTEXT.SEGMENT1 is null or BUS_CONTEXT.WORKORDER is null)
then TO_CHAR( MTH_UTIL_PKG.MTH_UA_GET_VAL() )
else BUS_CONTEXT.SEGMENT1 || '-' || BUS_CONTEXT.WORKORDER || '-' || PLANTS.PLANT_PK
END SEGMENT_PK,
TAG_DATA.GROUP_ID,
TAG_DATA.READING_TIME,
TAG_DATA.TAG_CODE,
TAG_DATA.MTH_ENTITY,
TAG_DATA.ATTRIBUTE_GROUP,
TAG_DATA.ATTRIBUTE,
TAG_DATA.EQUIPMENT_FK_KEY,
TAG_DATA.TAG_DATA,
EQP_SHIFTS.SHIFT_WORKDAY_FK_KEY,
BUS_CONTEXT.WORKORDER_TAG_CODE,
BUS_CONTEXT.SEGMENT_TAG_CODE,
BUS_CONTEXT.ITEM_TAG_CODE,
BUS_CONTEXT.WORKORDER,
BUS_CONTEXT.SEGMENT1,
BUS_CONTEXT.ITEM,
TAG_DATA.CONTEXTUALIZE_METHOD,
TAG_DATA.PLANT_FK_KEY,
TAG_DATA.PROCESSED_FLAG,
TAG_DATA.USER_ATTR1,
TAG_DATA.USER_ATTR2,
TAG_DATA.USER_ATTR3,
TAG_DATA.USER_ATTR4,
TAG_DATA.USER_ATTR5,
TAG_DATA.USER_MEASURE1,
TAG_DATA.USER_MEASURE2,
TAG_DATA.USER_MEASURE3,
TAG_DATA.USER_MEASURE4,
TAG_DATA.USER_MEASURE5,
TAG_DATA.QUALITY_FLAG,
BUS_CONTEXT.RECIPE_NUM,
BUS_CONTEXT.RECIPE_VERSION,
BUS_CONTEXT.RECIPE_NUM_TAG_CODE,
BUS_CONTEXT.RECIPE_VERSION_TAG_CODE,
HOURS.HOUR_PK_KEY HOUR_FK_KEY,
EQUIPMENTS.STATUS
FROM
( SELECT
STG.GROUP_ID,
STG.READING_TIME,
STG.TAG_CODE,
STG.TAG_DATA,
STG.MTH_ENTITY,
STG.ATTRIBUTE_GROUP,
STG.ATTRIBUTE,
STG.EQUIPMENT_FK_KEY,
MCM.CONTEXTUALIZE_METHOD,
STG.PLANT_FK_KEY,
NVL(STG.PROCESSED_FLAG , 0)PROCESSED_FLAG,
STG.USER_ATTR1,
STG.USER_ATTR2,
STG.USER_ATTR3,
STG.USER_ATTR4,
STG.USER_ATTR5,
STG.USER_MEASURE1,
STG.USER_MEASURE2,
STG.USER_MEASURE3,
STG.USER_MEASURE4,
STG.USER_MEASURE5,
STG.QUALITY_FLAG
FROM
MTH_TAG_READINGS_STG STG, MTH_CONTEXTUALIZATION_METHOD MCM
WHERE
STG.EQUIPMENT_FK_KEY = MCM.EQUIPMENT_FK_KEY (+)
AND MCM.CONTEXTUALIZE_METHOD = 1 AND
( STG.MTH_ENTITY IS NULL Or STG.MTH_ENTITY IS NOT NULL And NOT STG.MTH_ENTITY IN ( 2 , 3 , 4 , 14 , 15 ) )
) TAG_DATA, ( SELECT
MIN(CASE WHEN BUS.MTH_ENTITY = 2 THEN BUS.READING_TIME ELSE NULL END) READING_TIME,
EQUIPMENT_FK_KEY,
MIN(CASE WHEN BUS.MTH_ENTITY = 2 THEN BUS.TAG_DATA ELSE NULL END) WORKORDER,
MIN(CASE WHEN BUS.MTH_ENTITY = 3 THEN BUS.TAG_DATA ELSE NULL END) SEGMENT1,
MIN(CASE WHEN BUS.MTH_ENTITY = 4 THEN BUS.TAG_DATA ELSE NULL END) ITEM,
MIN(CASE WHEN BUS.MTH_ENTITY = 2 THEN BUS.TAG_CODE ELSE NULL END) WORKORDER_TAG_CODE,
MIN(CASE WHEN BUS.MTH_ENTITY = 3 THEN BUS.TAG_CODE ELSE NULL END) SEGMENT_TAG_CODE,
MIN(CASE WHEN BUS.MTH_ENTITY = 4 THEN BUS.TAG_CODE ELSE NULL END) ITEM_TAG_CODE,
MIN(CASE WHEN BUS.MTH_ENTITY = 14 THEN BUS.TAG_DATA ELSE NULL END) RECIPE_NUM,
MIN(CASE WHEN BUS.MTH_ENTITY = 15 THEN BUS.TAG_DATA ELSE NULL END) RECIPE_VERSION,
MIN(CASE WHEN BUS.MTH_ENTITY = 14 THEN BUS.TAG_CODE ELSE NULL END) RECIPE_NUM_TAG_CODE,
NULL RECIPE_VERSION_TAG_CODE,
BUS.GROUP_ID
FROM
(SELECT
STG.GROUP_ID,
STG.READING_TIME,
STG.TAG_CODE,
STG.TAG_DATA,
STG.MTH_ENTITY,
STG.ATTRIBUTE_GROUP,
STG.ATTRIBUTE,
STG.EQUIPMENT_FK_KEY
FROM
MTH_TAG_READINGS_STG STG ,MTH_CONTEXTUALIZATION_METHOD MCM
WHERE
STG.EQUIPMENT_FK_KEY = MCM.EQUIPMENT_FK_KEY (+) AND
MCM.CONTEXTUALIZE_METHOD = 1 AND
STG.MTH_ENTITY IS NOT NULL AND
STG.MTH_ENTITY IN ( 2 , 3 , 4 , 14 , 15 ) ) BUS
GROUP BY
BUS.GROUP_ID, BUS.EQUIPMENT_FK_KEY ) BUS_CONTEXT ,MTH_PLANTS_D PLANTS , MTH_EQUIPMENT_SHIFTS_D EQP_SHIFTS , MTH_HOUR_D HOURS ,MTH_EQUIPMENTS_D EQUIPMENTS
WHERE
TAG_DATA.GROUP_ID = BUS_CONTEXT.GROUP_ID (+) And
TAG_DATA.EQUIPMENT_FK_KEY = BUS_CONTEXT.EQUIPMENT_FK_KEY (+) And
TAG_DATA.PLANT_FK_KEY = PLANTS.PLANT_PK_KEY (+) And
TAG_DATA.EQUIPMENT_FK_KEY = EQP_SHIFTS.EQUIPMENT_FK_KEY (+) And
( TAG_DATA.READING_TIME BETWEEN EQP_SHIFTS.FROM_DATE and
EQP_SHIFTS.TO_DATE and
EQP_SHIFTS.FROM_DATE is not null and
EQP_SHIFTS.TO_DATE is not null
or
EQP_SHIFTS.FROM_DATE is null and
EQP_SHIFTS.TO_DATE is null ) And
( TAG_DATA.READING_TIME BETWEEN HOURS.FROM_TIME (+) and
HOURS.TO_TIME (+)) AND
TAG_DATA.EQUIPMENT_FK_KEY = EQUIPMENTS.EQUIPMENT_PK_KEY (+)
AND EQP_SHIFTS.FROM_DATE IS NOT NULL AND
EQP_SHIFTS.TO_DATE IS NOT NULL AND
EQP_SHIFTS.FROM_DATE <> EQP_SHIFTS.TO_DATE )TAG_DATA1,MTH_PRODUCTION_SCHEDULES_F PROD_SCHD,
MTH_PRODUCTION_SEGMENTS_F PROD_SEG, MTH_ITEMS_D ITEMS , MTH_CONTEXTUALIZATION_REQ MCR
WHERE
TAG_DATA1.WORKORDER_PK = PROD_SCHD.WORKORDER_PK (+) And
TAG_DATA1.SEGMENT_PK = PROD_SEG.SEGMENT_PK (+) And
TAG_DATA1.ITEM_PK = ITEMS.ITEM_PK (+) AND
TAG_DATA1.EQUIPMENT_FK_KEY = MCR.EQUIPMENT_FK_KEY (+)
AND NOT( TAG_DATA1.SHIFT_WORKDAY_FK_KEY IS NULL Or
TAG_DATA1.HOUR_FK_KEY IS NULL Or
TAG_DATA1.STATUS IS NULL Or
TAG_DATA1.STATUS <> 'ACTIVE' Or
PROD_SCHD.WORKORDER_PK_KEY IS NULL Or
PROD_SEG.SEGMENT_PK_KEY IS NULL Or
ITEMS.ITEM_PK_KEY IS NULL Or
(MCR.WO_REQUIRED = 'Y' AND
TO_CHAR(PROD_SCHD.WORKORDER_PK_KEY) =TO_CHAR(MTH_UTIL_PKG.MTH_UA_GET_VAL())) Or
(MCR.WO_SEGMENT_REQUIRED = 'Y' AND
TO_CHAR(PROD_SEG.SEGMENT_PK_KEY) = TO_CHAR(MTH_UTIL_PKG.MTH_UA_GET_VAL())) Or
(MCR.ITEM_REQUIRED = 'Y' AND
TO_CHAR(ITEMS.ITEM_PK_KEY) = TO_CHAR(MTH_UTIL_PKG.MTH_UA_GET_VAL()))
)
)
;
mth_util_pkg.log_msg('Number of rows inserted in MTH_TAG_READINGS for tag based contextualziation-- ' || SQL%ROWCOUNT, mth_util_pkg.G_DBG_ROW_CNT);
INSERT INTO
MTH_TAG_READINGS_ERR (GROUP_ID,
READING_TIME,
TAG_CODE,
TAG_DATA,
MTH_ENTITY,
ATTRIBUTE_GROUP,
ATTRIBUTE,
EQUIPMENT_FK_KEY,
WORKORDER_FK_KEY,
SEGMENT_FK_KEY,
SHIFT_WORKDAY_FK_KEY,
ITEM_FK_KEY,
HOUR_FK_KEY,
RE_PROCESS_FLAG,
PLANT_FK_KEY,
USER_ATTR1,
USER_ATTR2,
USER_ATTR3,
USER_ATTR4,
USER_ATTR5,
USER_MEASURE1,
USER_MEASURE2,
USER_MEASURE3,
USER_MEASURE4,
USER_MEASURE5,
QUALITY_FLAG,
PROCESSED_FLAG,
EQUIPMENT_STATUS)
(SELECT STG.GROUP_ID,
STG.READING_TIME,
STG.TAG_CODE,
STG.TAG_DATA,
STG.MTH_ENTITY,
STG.ATTRIBUTE_GROUP,
STG.ATTRIBUTE,
STG.EQUIPMENT_FK_KEY,
EQUIP_PROD_SCHEDULE.WORKORDER_FK_KEY,
EQUIP_PROD_SCHEDULE.SEGMENT_FK_KEY,
EQP_SHIFTS.SHIFT_WORKDAY_FK_KEY,
EQUIP_PROD_SCHEDULE.ITEM_FK_KEY,
HOURS.HOUR_PK_KEY,
'N',
STG.PLANT_FK_KEY,
STG.USER_ATTR1,
STG.USER_ATTR2,
STG.USER_ATTR3,
STG.USER_ATTR4,
STG.USER_ATTR5,
STG.USER_MEASURE1,
STG.USER_MEASURE2,
STG.USER_MEASURE3,
STG.USER_MEASURE4,
STG.USER_MEASURE5,
STG.QUALITY_FLAG,
NVL(STG.PROCESSED_FLAG , 0),
EQUIPMENTS.STATUS
FROM MTH_TAG_READINGS_STG STG, MTH_CONTEXTUALIZATION_METHOD MCM ,MTH_EQUIP_PROD_SCHEDULE_F EQUIP_PROD_SCHEDULE,
MTH_EQUIPMENTS_D EQUIPMENTS, MTH_EQUIPMENT_SHIFTS_D EQP_SHIFTS,MTH_HOUR_D HOURS ,MTH_PRODUCTION_SCHEDULES_F PROD_SCHD ,
MTH_CONTEXTUALIZATION_REQ MCR
WHERE MCM.CONTEXTUALIZE_METHOD = 2
AND STG.EQUIPMENT_FK_KEY = MCM.EQUIPMENT_FK_KEY (+)
-- AND EQP_SHIFTS.FROM_DATE IS NOT NULL
-- AND EQP_SHIFTS.TO_DATE IS NOT NULL
-- AND EQP_SHIFTS.FROM_DATE != EQP_SHIFTS.TO_DATE
AND STG.EQUIPMENT_FK_KEY = EQUIP_PROD_SCHEDULE.EQUIPMENT_FK_KEY (+)
AND STG.EQUIPMENT_FK_KEY = EQUIPMENTS.EQUIPMENT_PK_KEY (+)
-- AND (STG.READING_TIME between EQUIP_PROD_SCHEDULE.SCHEDULE_FROM_DATE AND EQUIP_PROD_SCHEDULE.SCHEDULE_TO_DATE
-- AND EQUIP_PROD_SCHEDULE.SCHEDULE_FROM_DATE is not null
-- AND EQUIP_PROD_SCHEDULE.SCHEDULE_TO_DATE is not null
-- OR ( EQUIP_PROD_SCHEDULE.SCHEDULE_FROM_DATE is null AND EQUIP_PROD_SCHEDULE.SCHEDULE_TO_DATE is null ))
AND STG.EQUIPMENT_FK_KEY = EQP_SHIFTS.EQUIPMENT_FK_KEY (+)
/* AND (STG.READING_TIME between EQP_SHIFTS.FROM_DATE AND EQP_SHIFTS.TO_DATE
AND EQP_SHIFTS.FROM_DATE is not null
AND EQP_SHIFTS.TO_DATE is not null
OR (EQP_SHIFTS.FROM_DATE is null AND EQP_SHIFTS.TO_DATE is null) )
AND ( STG.READING_TIME between HOURS.FROM_TIME (+) AND HOURS.TO_TIME (+) ) */
AND STG.READING_TIME >= EQUIP_PROD_SCHEDULE.SCHEDULE_FROM_DATE (+)
AND STG.READING_TIME <= EQUIP_PROD_SCHEDULE.SCHEDULE_TO_DATE (+)
AND STG.READING_TIME >= EQP_SHIFTS.FROM_DATE (+)
AND STG.READING_TIME <= EQP_SHIFTS.TO_DATE (+)
AND STG.READING_TIME >= HOURS.FROM_TIME(+)
AND STG.READING_TIME <= HOURS.TO_TIME(+)
AND EQUIP_PROD_SCHEDULE.WORKORDER_FK_KEY = PROD_SCHD.WORKORDER_PK_KEY(+)
AND STG.EQUIPMENT_FK_KEY = MCR.EQUIPMENT_FK_KEY (+)
AND ( NOT (( EQP_SHIFTS.SHIFT_WORKDAY_FK_KEY IS NOT NULL
AND HOURS.HOUR_PK_KEY IS NOT NULL
AND (EQUIP_PROD_SCHEDULE.WORKORDER_FK_KEY IS NOT NULL Or UPPER(MCR.WO_REQUIRED) = 'N' )
AND (EQUIP_PROD_SCHEDULE.SEGMENT_FK_KEY IS NOT NULL Or UPPER(MCR.WO_SEGMENT_REQUIRED ) = 'N' )
AND (EQUIP_PROD_SCHEDULE.ITEM_FK_KEY IS NOT NULL Or UPPER( MCR.ITEM_REQUIRED) = 'N')
AND EQUIPMENTS.STATUS IS NOT NULL
AND EQUIPMENTS.STATUS = 'ACTIVE')))
)
;
mth_util_pkg.log_msg('Number of rows inserted in MTH_TAG_READINGS_ERR for schedule based contextualziation-- ' || SQL%ROWCOUNT, mth_util_pkg.G_DBG_ROW_CNT);
INSERT
INTO MTH_TAG_READINGS
(GROUP_ID,
READING_TIME,
TAG_CODE,
TAG_DATA,
MTH_ENTITY,
ATTRIBUTE_GROUP,
ATTRIBUTE,
EQUIPMENT_FK_KEY,
WORKORDER_FK_KEY,
SEGMENT_FK_KEY,
SHIFT_WORKDAY_FK_KEY,
ITEM_FK_KEY,
HOUR_FK_KEY,
PROCESSED_FLAG,
CREATION_DATE,
LAST_UPDATE_DATE,
CREATION_SYSTEM_ID,
LAST_UPDATE_SYSTEM_ID,
PLANT_FK_KEY,
USER_ATTR1,
USER_ATTR2,
USER_ATTR3,
USER_ATTR4,
USER_ATTR5,
USER_MEASURE1,
USER_MEASURE2,
USER_MEASURE3,
USER_MEASURE4,
USER_MEASURE5,
QUALITY_FLAG,
RECIPE_NUM,
RECIPE_VERSION)
(SELECT STG.GROUP_ID,
STG.READING_TIME,
STG.TAG_CODE,
STG.TAG_DATA,
STG.MTH_ENTITY,
STG.ATTRIBUTE_GROUP,
STG.ATTRIBUTE,
STG.EQUIPMENT_FK_KEY,
EQUIP_PROD_SCHEDULE.WORKORDER_FK_KEY,
EQUIP_PROD_SCHEDULE.SEGMENT_FK_KEY,
EQP_SHIFTS.SHIFT_WORKDAY_FK_KEY,
EQUIP_PROD_SCHEDULE.ITEM_FK_KEY,
HOURS.HOUR_PK_KEY,
NVL(STG.PROCESSED_FLAG , 0),
SYSDATE,
SYSDATE,
MTH_UTIL_PKG.MTH_UA_GET_VAL(),
MTH_UTIL_PKG.MTH_UA_GET_VAL(),
STG.PLANT_FK_KEY,
STG.USER_ATTR1,
STG.USER_ATTR2,
STG.USER_ATTR3,
STG.USER_ATTR4,
STG.USER_ATTR5,
STG.USER_MEASURE1,
STG.USER_MEASURE2,
STG.USER_MEASURE3,
STG.USER_MEASURE4,
STG.USER_MEASURE5,
STG.QUALITY_FLAG,
PROD_SCHD.RECIPE_NUM,
PROD_SCHD.RECIPE_VERSION
FROM
MTH_TAG_READINGS_STG STG, MTH_CONTEXTUALIZATION_METHOD MCM ,MTH_EQUIP_PROD_SCHEDULE_F EQUIP_PROD_SCHEDULE,
MTH_EQUIPMENTS_D EQUIPMENTS, MTH_EQUIPMENT_SHIFTS_D EQP_SHIFTS,MTH_HOUR_D HOURS ,MTH_PRODUCTION_SCHEDULES_F PROD_SCHD ,
MTH_CONTEXTUALIZATION_REQ MCR
WHERE MCM.CONTEXTUALIZE_METHOD = 2
AND STG.EQUIPMENT_FK_KEY = MCM.EQUIPMENT_FK_KEY (+)
AND EQP_SHIFTS.FROM_DATE IS NOT NULL
AND EQP_SHIFTS.TO_DATE IS NOT NULL
AND EQP_SHIFTS.FROM_DATE <> EQP_SHIFTS.TO_DATE
AND STG.EQUIPMENT_FK_KEY = EQUIP_PROD_SCHEDULE.EQUIPMENT_FK_KEY (+)
AND STG.EQUIPMENT_FK_KEY = EQUIPMENTS.EQUIPMENT_PK_KEY (+)
AND (STG.READING_TIME between EQUIP_PROD_SCHEDULE.SCHEDULE_FROM_DATE AND EQUIP_PROD_SCHEDULE.SCHEDULE_TO_DATE
AND EQUIP_PROD_SCHEDULE.SCHEDULE_FROM_DATE is not null
AND EQUIP_PROD_SCHEDULE.SCHEDULE_TO_DATE is not null
OR ( EQUIP_PROD_SCHEDULE.SCHEDULE_FROM_DATE is null AND EQUIP_PROD_SCHEDULE.SCHEDULE_TO_DATE is null ))
AND STG.EQUIPMENT_FK_KEY = EQP_SHIFTS.EQUIPMENT_FK_KEY (+)
AND (STG.READING_TIME between EQP_SHIFTS.FROM_DATE AND EQP_SHIFTS.TO_DATE
AND EQP_SHIFTS.FROM_DATE is not null
AND EQP_SHIFTS.TO_DATE is not null
OR (EQP_SHIFTS.FROM_DATE is null AND EQP_SHIFTS.TO_DATE is null) )
AND ( STG.READING_TIME between HOURS.FROM_TIME (+) AND HOURS.TO_TIME (+) )
AND EQUIP_PROD_SCHEDULE.WORKORDER_FK_KEY = PROD_SCHD.WORKORDER_PK_KEY(+)
AND STG.EQUIPMENT_FK_KEY = MCR.EQUIPMENT_FK_KEY (+)
AND EQP_SHIFTS.SHIFT_WORKDAY_FK_KEY IS NOT NULL
AND HOURS.HOUR_PK_KEY IS NOT NULL
AND (EQUIP_PROD_SCHEDULE.WORKORDER_FK_KEY IS NOT NULL Or UPPER(MCR.WO_REQUIRED) = 'N' )
AND (EQUIP_PROD_SCHEDULE.SEGMENT_FK_KEY IS NOT NULL Or UPPER(MCR.WO_SEGMENT_REQUIRED ) = 'N' )
AND (EQUIP_PROD_SCHEDULE.ITEM_FK_KEY IS NOT NULL Or UPPER( MCR.ITEM_REQUIRED) = 'N')
AND EQUIPMENTS.STATUS IS NOT NULL
AND EQUIPMENTS.STATUS = 'ACTIVE'
)
;
mth_util_pkg.log_msg('Number of rows inserted in MTH_TAG_READINGS for schedule based contextualziation- ' || SQL%ROWCOUNT, mth_util_pkg.G_DBG_ROW_CNT);
INSERT
INTO MTH_TAG_READINGS
(GROUP_ID,
READING_TIME,
TAG_CODE,
TAG_DATA,
MTH_ENTITY,
ATTRIBUTE_GROUP,
ATTRIBUTE,
EQUIPMENT_FK_KEY,
WORKORDER_FK_KEY,
SEGMENT_FK_KEY,
SHIFT_WORKDAY_FK_KEY,
ITEM_FK_KEY,
HOUR_FK_KEY,
PROCESSED_FLAG,
CREATION_DATE,
LAST_UPDATE_DATE,
CREATION_SYSTEM_ID,
LAST_UPDATE_SYSTEM_ID,
PLANT_FK_KEY,
USER_ATTR1,
USER_ATTR2,
USER_ATTR3,
USER_ATTR4,
USER_ATTR5,
USER_MEASURE1,
USER_MEASURE2,
USER_MEASURE3,
USER_MEASURE4,
USER_MEASURE5,
QUALITY_FLAG)
(SELECT STG.GROUP_ID,
STG.READING_TIME,
STG.TAG_CODE,
STG.TAG_DATA,
STG.MTH_ENTITY,
STG.ATTRIBUTE_GROUP,
STG.ATTRIBUTE,
STG.EQUIPMENT_FK_KEY,
MTH_UTIL_PKG.MTH_UA_GET_VAL(),
MTH_UTIL_PKG.MTH_UA_GET_VAL(),
EQP_SHIFTS.SHIFT_WORKDAY_FK_KEY,
MTH_UTIL_PKG.MTH_UA_GET_VAL(),
HOURS.HOUR_PK_KEY,
NVL(STG.PROCESSED_FLAG , 0),
SYSDATE,
SYSDATE,
MTH_UTIL_PKG.MTH_UA_GET_VAL(),
MTH_UTIL_PKG.MTH_UA_GET_VAL(),
STG.PLANT_FK_KEY,
STG.USER_ATTR1,
STG.USER_ATTR2,
STG.USER_ATTR3,
STG.USER_ATTR4,
STG.USER_ATTR5,
STG.USER_MEASURE1,
STG.USER_MEASURE2,
STG.USER_MEASURE3,
STG.USER_MEASURE4,
STG.USER_MEASURE5,
STG.QUALITY_FLAG
FROM
MTH_TAG_READINGS_STG STG ,MTH_CONTEXTUALIZATION_METHOD MCM , MTH_EQUIPMENT_SHIFTS_D EQP_SHIFTS ,MTH_CONTEXTUALIZATION_REQ CONTEXT_REQ,
MTH_HOUR_D HOURS ,MTH_EQUIPMENTS_D EQUIPMENTS
WHERE
STG.EQUIPMENT_FK_KEY = MCM.EQUIPMENT_FK_KEY (+)
AND MCM.CONTEXTUALIZE_METHOD = 3
AND EQP_SHIFTS.FROM_DATE IS NOT NULL
AND EQP_SHIFTS.TO_DATE IS NOT NULL
AND EQP_SHIFTS.FROM_DATE <> EQP_SHIFTS.To_Date
AND STG.EQUIPMENT_FK_KEY = EQP_SHIFTS.EQUIPMENT_FK_KEY (+)
AND STG.READING_TIME >= EQP_SHIFTS.FROM_DATE (+)
AND STG.READING_TIME <= EQP_SHIFTS.TO_DATE (+)
AND STG.READING_TIME >= HOURS.FROM_TIME(+)
AND STG.READING_TIME <= HOURS.TO_TIME(+)
AND STG.EQUIPMENT_FK_KEY = CONTEXT_REQ.EQUIPMENT_FK_KEY (+)
AND STG.EQUIPMENT_FK_KEY = EQUIPMENTS.EQUIPMENT_PK_KEY (+)
AND (NOT (( EQP_SHIFTS.SHIFT_WORKDAY_FK_KEY IS NULL
OR HOURS.HOUR_PK_KEY IS NULL
OR CONTEXT_REQ.WO_REQUIRED = 'Y'
OR CONTEXT_REQ.WO_SEGMENT_REQUIRED = 'Y'
OR CONTEXT_REQ.ITEM_REQUIRED = 'Y'
OR EQUIPMENTS.STATUS IS NULL
OR EQUIPMENTS.STATUS <> 'ACTIVE')))
)
;
mth_util_pkg.log_msg('Number of rows inserted in MTH_TAG_READINGS for manual based contextualziation- ' || SQL%ROWCOUNT, mth_util_pkg.G_DBG_ROW_CNT);
INSERT
INTO MTH_TAG_READINGS_ERR
(GROUP_ID,
READING_TIME,
TAG_CODE,
TAG_DATA,
MTH_ENTITY,
ATTRIBUTE_GROUP,
ATTRIBUTE,
EQUIPMENT_FK_KEY,
SHIFT_WORKDAY_FK_KEY,
HOUR_FK_KEY,
RE_PROCESS_FLAG,
PLANT_FK_KEY,
USER_ATTR1,
USER_ATTR2,
USER_ATTR3,
USER_ATTR4,
USER_ATTR5,
USER_MEASURE1,
USER_MEASURE2,
USER_MEASURE3,
USER_MEASURE4,
USER_MEASURE5,
QUALITY_FLAG,
PROCESSED_FLAG,
EQUIPMENT_STATUS)
(SELECT STG.GROUP_ID,
STG.READING_TIME,
STG.TAG_CODE,
STG.TAG_DATA,
STG.MTH_ENTITY,
STG.ATTRIBUTE_GROUP,
STG.ATTRIBUTE,
STG.EQUIPMENT_FK_KEY,
EQP_SHIFTS.SHIFT_WORKDAY_FK_KEY,
HOURS.HOUR_PK_KEY,
'N',
STG.PLANT_FK_KEY,
STG.USER_ATTR1,
STG.USER_ATTR2,
STG.USER_ATTR3,
STG.USER_ATTR4,
STG.USER_ATTR5,
STG.USER_MEASURE1,
STG.USER_MEASURE2,
STG.USER_MEASURE3,
STG.USER_MEASURE4,
STG.USER_MEASURE5,
STG.QUALITY_FLAG,
NVL(STG.PROCESSED_FLAG , 0),
EQUIPMENTS.STATUS
FROM
MTH_TAG_READINGS_STG STG ,MTH_CONTEXTUALIZATION_METHOD MCM , MTH_EQUIPMENT_SHIFTS_D EQP_SHIFTS ,MTH_CONTEXTUALIZATION_REQ CONTEXT_REQ,
MTH_HOUR_D HOURS ,MTH_EQUIPMENTS_D EQUIPMENTS
WHERE
STG.EQUIPMENT_FK_KEY = MCM.EQUIPMENT_FK_KEY (+)
AND MCM.CONTEXTUALIZE_METHOD = 3
-- AND EQP_SHIFTS.FROM_DATE IS NOT NULL
-- AND EQP_SHIFTS.TO_DATE IS NOT NULL
-- AND EQP_SHIFTS.FROM_DATE != EQP_SHIFTS.To_Date
AND STG.EQUIPMENT_FK_KEY = EQP_SHIFTS.EQUIPMENT_FK_KEY (+)
AND STG.READING_TIME >= EQP_SHIFTS.FROM_DATE (+)
AND STG.READING_TIME <= EQP_SHIFTS.TO_DATE (+)
AND STG.READING_TIME >= HOURS.FROM_TIME(+)
AND STG.READING_TIME <= HOURS.TO_TIME(+)
AND STG.EQUIPMENT_FK_KEY = CONTEXT_REQ.EQUIPMENT_FK_KEY (+)
AND STG.EQUIPMENT_FK_KEY = EQUIPMENTS.EQUIPMENT_PK_KEY (+)
AND ( EQP_SHIFTS.SHIFT_WORKDAY_FK_KEY IS NULL
OR HOURS.HOUR_PK_KEY IS NULL
OR CONTEXT_REQ.WO_REQUIRED = 'Y'
OR CONTEXT_REQ.WO_SEGMENT_REQUIRED = 'Y'
OR CONTEXT_REQ.ITEM_REQUIRED = 'Y'
OR EQUIPMENTS.STATUS IS NULL
OR EQUIPMENTS.STATUS <> 'ACTIVE')
)
;
mth_util_pkg.log_msg('Number of rows inserted in MTH_TAG_READINGS_ERR for manual based contextualziation- ' || SQL%ROWCOUNT, mth_util_pkg.G_DBG_ROW_CNT);
INSERT INTO MTH_TAG_READINGS_RAW_PROCESSED
( GROUP_ID,
READING_TIME ,
TAG_CODE,
TAG_DATA,
CREATION_DATE,
USER_ATTR1,
USER_ATTR2,
USER_ATTR3,
USER_ATTR4,
USER_ATTR5,
USER_MEASURE1,
USER_MEASURE2,
USER_MEASURE3,
USER_MEASURE4,
USER_MEASURE5,
QUALITY_FLAG)
( SELECT r.GROUP_ID,
r.READING_TIME,
r.TAG_CODE,
r.TAG_DATA,
r.CREATION_DATE,
r.USER_ATTR1,
r.USER_ATTR2,
r.USER_ATTR3,
r.USER_ATTR4,
r.USER_ATTR5,
r.USER_MEASURE1,
r.USER_MEASURE2,
r.USER_MEASURE3,
r.USER_MEASURE4,
r.USER_MEASURE5,
r.QUALITY_FLAG
FROM MTH_TAG_READINGS_RAW r);
UPDATE MTH_TAG_READINGS_LATEST latest
SET (latest.reading_time,latest.tag_value)= ( SELECT a.reading_time,rraw.tag_data FROM mth_tag_readings_raw rraw ,
( SELECT r.tag_code,Max(r.reading_time) reading_time FROM mth_tag_readings_raw r
GROUP BY r.tag_code)a ,mth_tag_readings_latest l
WHERE rraw.reading_time=a.reading_time
AND rraw.tag_code=a.tag_code
AND a.tag_code IN l.tag_code
AND l.reading_time
INSERT INTO MTH_TAG_READINGS_LATEST
( TAG_CODE,
READING_TIME,
TAG_VALUE)
( SELECT a.tag_code,a.reading_time,rraw.tag_data FROM mth_tag_readings_raw rraw ,
( SELECT r.tag_code,Max(r.reading_time) reading_time FROM mth_tag_readings_raw r
GROUP BY r.tag_code)a
WHERE rraw.reading_time=a.reading_time
AND rraw.tag_code=a.tag_code
AND NOT EXISTS (SELECT tag_code
FROM mth_tag_readings_latest l
WHERE rraw.tag_code = l.tag_code)
) ;
cursor c_readings is select readings.*,eqp_shifts.shift_workday_fk_key
from MTH_EQUIPMENT_SHIFTS_D eqp_shifts,
(select MTH_ENTITY, tag_data, equipment_fk_key, reading_time,
tag_code, lag( tag_data)
over (partition by equipment_fk_key, tag_code
order by reading_time ) prev_status
from mth_tag_readings_stg
--where MTH_ENTITY = 'Status'
) READINGS
where
READINGS.MTH_ENTITY = 5 And
READINGS.TAG_DATA = '3' And
READINGS.EQUIPMENT_FK_KEY = EQP_SHIFTS.EQUIPMENT_FK_KEY And
READINGS.READING_TIME BETWEEN EQP_SHIFTS.FROM_DATE AND EQP_SHIFTS.TO_DATE And
EQP_SHIFTS.AVAILABILITY_FLAG = 'Y' and
(prev_status IS NULL OR prev_status <> '3');
cursor c_readings is SELECT
eagrps.ATTR_GROUP_ID,
eagrps.APPLICATION_ID "EGO_ATTR.APPLICATION_ID" ,
eagrps.ATTR_GROUP_TYPE "EGO_ATTR.ATTR_GROUP_TYPE",
eagrps.ATTR_GROUP_NAME "EGO_ATTR.ATTR_GROUP_NAME",
eattrs.ATTR_ID,
eattrs.APPLICATION_ID,
eattrs.ATTR_GROUP_TYPE,
eattrs.ATTR_GROUP_NAME,
eattrs.ATTR_NAME,
stg.GROUP_ID,
stg.READING_TIME,
stg.TAG_CODE,
stg.TAG_DATA,
stg.MTH_ENTITY,
stg.ATTRIBUTE_GROUP,
stg.ATTRIBUTE,
stg.EQUIPMENT_FK_KEY,
stg.PLANT_FK_KEY,
stg.QUALITY_FLAG,
stg.PROCESSED_FLAG,
tag_mstr.TAG_CODE "TAG_CODE_1",
tag_mstr.EQUIPMENT_FK_KEY "EQUIPMENT_FK_KEY_1",
tag_mstr.UOM
FROM
EGO_ATTR_GROUPS_V eagrps
JOIN EGO_ATTRS_V eattrs ON ( (( eagrps.ATTR_GROUP_TYPE = eattrs.ATTR_GROUP_TYPE ))
AND (( eagrps.APPLICATION_ID = eattrs.APPLICATION_ID ))
AND (( eattrs.ATTR_GROUP_NAME = eagrps.ATTR_GROUP_NAME )) )
JOIN MTH_TAG_READINGS_STG stg ON ( (( eagrps.ATTR_GROUP_ID = stg.ATTRIBUTE_GROUP ))
AND (( stg.ATTRIBUTE = eattrs.ATTR_ID )) )
JOIN MTH_TAG_MASTER tag_mstr ON ( --(( stg.EQUIPMENT_FK_KEY = tag_mstr.EQUIPMENT_FK_KEY ))
--AND
(( stg.TAG_CODE = tag_mstr.TAG_CODE )) )
WHERE
( eagrps.APPLICATION_ID = 9001 ) AND
( LENGTH ( TRIM ( TRANSLATE ( stg.TAG_DATA , ' +-.0123456789' , ' ' ) ) ) IS NULL ) AND
eattrs.ATTR_ID IS NOT NULL And
eagrps.ATTR_GROUP_ID IS NOT NULL
ORDER BY equipment_fk_key, tag_code, reading_time;
cursor c_readings is SELECT
eagrps.ATTR_GROUP_ID,
eagrps.APPLICATION_ID "EGO_ATTR.APPLICATION_ID" ,
eagrps.ATTR_GROUP_TYPE "EGO_ATTR.ATTR_GROUP_TYPE",
eagrps.ATTR_GROUP_NAME "EGO_ATTR.ATTR_GROUP_NAME",
eattrs.ATTR_ID,
eattrs.APPLICATION_ID,
eattrs.ATTR_GROUP_TYPE,
eattrs.ATTR_GROUP_NAME,
eattrs.ATTR_NAME,
stg.GROUP_ID,
stg.READING_TIME,
stg.TAG_CODE,
stg.TAG_DATA,
stg.MTH_ENTITY,
stg.ATTRIBUTE_GROUP,
stg.ATTRIBUTE,
stg.EQUIPMENT_FK_KEY,
stg.PLANT_FK_KEY,
stg.QUALITY_FLAG,
stg.PROCESSED_FLAG,
tag_mstr.TAG_CODE "TAG_CODE_1",
tag_mstr.EQUIPMENT_FK_KEY "EQUIPMENT_FK_KEY_1",
tag_mstr.UOM
FROM
EGO_ATTR_GROUPS_V eagrps
JOIN EGO_ATTRS_V eattrs ON ( (( eagrps.ATTR_GROUP_TYPE = eattrs.ATTR_GROUP_TYPE ))
AND (( eagrps.APPLICATION_ID = eattrs.APPLICATION_ID ))
AND (( eattrs.ATTR_GROUP_NAME = eagrps.ATTR_GROUP_NAME )) )
JOIN MTH_TAG_READINGS_STG stg ON ( (( eagrps.ATTR_GROUP_ID = stg.ATTRIBUTE_GROUP ))
AND (( stg.ATTRIBUTE = eattrs.ATTR_ID )) )
JOIN MTH_TAG_MASTER tag_mstr ON (-- (( stg.EQUIPMENT_FK_KEY = tag_mstr.EQUIPMENT_FK_KEY ))
-- AND
(( stg.TAG_CODE = tag_mstr.TAG_CODE )) )
WHERE
( eagrps.APPLICATION_ID = 9001 ) AND
( LENGTH ( TRIM ( TRANSLATE ( stg.TAG_DATA , ' +-.0123456789' , ' ' ) ) ) IS NULL )
ORDER BY equipment_fk_key, tag_code, reading_time;
cursor c_readings is select INGRP1.GROUP_ID , INGRP1.ATTRIBUTE_GROUP ATTRIBUTE_GROUP1, INGRP1.ATTRIBUTE ATTRIBUTE1, INGRP1.TAG_CODE TAG_CODE1,
INGRP1.TAG_DATA TAG_DATA1, INGRP1.ATTR_NAME ATTR_NAME1, INGRP1.EQUIPMENT_FK_KEY,INGRP1.READING_TIME READING_TIME1, INGRP1.UOM UOM1,
INGRP2.ATTRIBUTE_GROUP ATTRIBUTE_GROUP2, INGRP2.ATTRIBUTE ATTRIBUTE2, INGRP2.TAG_CODE TAG_CODE2,
INGRP2.TAG_DATA TAG_DATA2, INGRP2.ATTR_NAME ATTR_NAME2,INGRP2.READING_TIME READING_TIME2 ,INGRP2.UOM UOM2
from
(SELECT EAV.ATTR_NAME ATTR_NAME,
TRS.GROUP_ID GROUP_ID,
TRS.TAG_CODE TAG_CODE,
TRS.TAG_DATA TAG_DATA,
TRS.ATTRIBUTE_GROUP ATTRIBUTE_GROUP,
TRS.ATTRIBUTE ATTRIBUTE,
TRS.EQUIPMENT_FK_KEY EQUIPMENT_FK_KEY ,
TM.UOM ,
TRS.READING_TIME
FROM EGO_ATTR_GROUPS_V EAGV ,EGO_ATTRS_V EAV, MTH_TAG_READINGS_STG TRS , MTH_TAG_MASTER TM
WHERE EAGV.ATTR_GROUP_TYPE = EAV.ATTR_GROUP_TYPE
AND EAGV.APPLICATION_ID = EAV.APPLICATION_ID
AND EAV.ATTR_GROUP_NAME = EAGV.ATTR_GROUP_NAME
AND EAGV.ATTR_GROUP_ID = TRS.ATTRIBUTE_GROUP
AND TRS.ATTRIBUTE = EAV.ATTR_ID
--AND TRS.EQUIPMENT_FK_KEY = TM.EQUIPMENT_FK_KEY
AND TRS.TAG_CODE = TM.TAG_CODE
AND EAGV.APPLICATION_ID = 9001
AND ( LENGTH ( TRIM ( TRANSLATE ( TRS.TAG_DATA , ' +-.0123456789' , ' ' ) ) ) IS NULL )
AND EAV.ATTR_NAME = v_attr1) INGRP1,
(SELECT EAV.ATTR_NAME ATTR_NAME,
TRS.GROUP_ID GROUP_ID,
TRS.TAG_CODE,
TRS.TAG_DATA,
TRS.ATTRIBUTE_GROUP,
TRS.ATTRIBUTE,
TRS.EQUIPMENT_FK_KEY EQUIPMENT_FK_KEY,
TM.UOM ,
TRS.READING_TIME
FROM EGO_ATTR_GROUPS_V EAGV ,EGO_ATTRS_V EAV, MTH_TAG_READINGS_STG TRS , MTH_TAG_MASTER TM
WHERE EAGV.ATTR_GROUP_TYPE = EAV.ATTR_GROUP_TYPE
AND EAGV.APPLICATION_ID = EAV.APPLICATION_ID
AND EAV.ATTR_GROUP_NAME = EAGV.ATTR_GROUP_NAME
AND EAGV.ATTR_GROUP_ID = TRS.ATTRIBUTE_GROUP
AND TRS.ATTRIBUTE = EAV.ATTR_ID
--AND TRS.EQUIPMENT_FK_KEY = TM.EQUIPMENT_FK_KEY
AND TRS.TAG_CODE = TM.TAG_CODE
AND EAGV.APPLICATION_ID = 9001
AND ( LENGTH ( TRIM ( TRANSLATE ( TRS.TAG_DATA , ' +-.0123456789' , ' ' ) ) ) IS NULL )
AND EAV.ATTR_NAME = v_attr2) INGRP2
where INGRP1.GROUP_ID = INGRP2.GROUP_ID
AND INGRP1.ATTRIBUTE IS NOT NULL
AND INGRP1.ATTRIBUTE_GROUP IS NOT NULL
AND INGRP2.ATTRIBUTE IS NOT NULL
AND INGRP2.ATTRIBUTE_GROUP IS NOT NULL
AND INGRP1.EQUIPMENT_FK_KEY = INGRP2.EQUIPMENT_FK_KEY
AND INGRP1.ATTRIBUTE <> INGRP2.ATTRIBUTE ;
cursor c_readings is select readings.*
from MTH_EQUIPMENT_SHIFTS_D eqp_shifts,
(select MTH_ENTITY, tag_data, equipment_fk_key, reading_time,
tag_code, lag( tag_data)
over (partition by equipment_fk_key, tag_code
order by reading_time ) prev_tag_data
from mth_tag_readings_stg
where MTH_ENTITY =19
) READINGS
where
READINGS.TAG_DATA = v_EQP_FAULT_THRESHOLD And
READINGS.EQUIPMENT_FK_KEY = EQP_SHIFTS.EQUIPMENT_FK_KEY And
READINGS.READING_TIME BETWEEN EQP_SHIFTS.FROM_DATE AND EQP_SHIFTS.TO_DATE And
EQP_SHIFTS.AVAILABILITY_FLAG = 'Y'
AND (prev_tag_data IS NULL OR prev_tag_data <> v_EQP_FAULT_THRESHOLD) ;
select readings.*
from MTH_EQUIPMENT_SHIFTS_D EQP_SHIFTS,
MTH_TAG_READINGS_STG READINGS
where
READINGS.MTH_ENTITY = 12 And
READINGS.EQUIPMENT_FK_KEY = EQP_SHIFTS.EQUIPMENT_FK_KEY And
READINGS.READING_TIME BETWEEN EQP_SHIFTS.FROM_DATE AND EQP_SHIFTS.TO_DATE And
EQP_SHIFTS.AVAILABILITY_FLAG = 'Y'And
READINGS.TAG_DATA IS NOT NULL and
CASE WHEN ( LENGTH(TRIM(TRANSLATE( READINGS.TAG_DATA , ' +-.0123456789', ' '))) IS NULL )
THEN To_Number( READINGS.TAG_DATA ) ELSE NULL END > 0;
cursor c_readings is SELECT Reading.* FROM (select readings.* ,lag( readings.tag_data)
over (partition by readings.equipment_fk_key, readings.tag_code
order by readings.reading_time ) prev_tag_data
from MTH_EQUIPMENT_SHIFTS_D eqp_shifts,
MTH_TAG_READINGS_STG readings,
MTH_ENTITIES entities
WHERE
READINGS.MTH_ENTITY = 18 And
READINGS.EQUIPMENT_FK_KEY = EQP_SHIFTS.EQUIPMENT_FK_KEY And
READINGS.READING_TIME BETWEEN EQP_SHIFTS.FROM_DATE AND EQP_SHIFTS.TO_DATE And
EQP_SHIFTS.AVAILABILITY_FLAG = 'Y' and
ENTITIES.id = READINGS.mth_entity and
ENTITIES.mth_alias = 'Equipment Cycles' And
CASE WHEN( LENGTH ( TRIM ( TRANSLATE ( READINGS.TAG_DATA , ' +-.0123456789' , ' ' ) ) ) IS NULL ) THEN To_Number( readings.TAG_DATA ) ELSE NULL END >0 ) Reading
WHERE (Reading.prev_tag_data IS NULL OR Reading.prev_tag_data <> v_recal_threshold) ;
SELECT Count(*) INTO v_count1 FROM FND_LOOKUPS B WHERE B.LOOKUP_TYPE IN ('MTH_EVENT_GEN_API_READINGS');
SELECT B.DESCRIPTION INTO v_desc1 FROM FND_LOOKUPS B WHERE B.LOOKUP_TYPE IN ('MTH_EVENT_GEN_API_READINGS');
SELECT Count(*) INTO v_reprocess_flag FROM MTH_TAG_READINGS_ERR WHERE RE_PROCESS_FLAG='Y';
DELETE FROM MTH_TAG_READINGS_LATEST;
mth_util_pkg.log_msg('Number of rows deleted in MTH_TAG_READINSG_LATEST - ' || SQL%ROWCOUNT, mth_util_pkg.G_DBG_ROW_CNT);
DELETE FROM MTH_TAG_READINGS_UNPROCESS_ERR;
mth_util_pkg.log_msg('Number of rows deleted in MTH_TAG_READINGS_UNPROCESS_ERR - ' || SQL%ROWCOUNT, mth_util_pkg.G_DBG_ROW_CNT);
DELETE FROM MTH_TAG_READINGS_RAW_ERR;
mth_util_pkg.log_msg('Number of rows deleted in MTH_TAG_READINGS_RAW_ERR - ' || SQL%ROWCOUNT, mth_util_pkg.G_DBG_ROW_CNT);
DELETE FROM MTH_TAG_READINGS_RAW_PROCESSED;
mth_util_pkg.log_msg('Number of rows deleted in MTH_TAG_READINGS_RAW_PROCESSED - ' || SQL%ROWCOUNT, mth_util_pkg.G_DBG_ROW_CNT);
DELETE FROM MTH_TAG_READINGS;
mth_util_pkg.log_msg('Number of rows deleted in MTH_TAG_READINGS - ' || SQL%ROWCOUNT, mth_util_pkg.G_DBG_ROW_CNT);
DELETE FROM MTH_TAG_READINGS_STG_ERR;
mth_util_pkg.log_msg('Number of rows deleted in MTH_TAG_READINGS_STG_ERR - ' || SQL%ROWCOUNT, mth_util_pkg.G_DBG_ROW_CNT);
DELETE FROM MTH_TAG_READINGS_ERR;
mth_util_pkg.log_msg('Number of rows deleted in MTH_TAG_READINGS_ERR - ' || SQL%ROWCOUNT, mth_util_pkg.G_DBG_ROW_CNT);
DELETE FROM MTH_EVENTS;
mth_util_pkg.log_msg('Number of rows deleted in MTH_EVENTS - ' || SQL%ROWCOUNT, mth_util_pkg.G_DBG_ROW_CNT);
DELETE FROM MTH_EVENT_ACTIONS;
mth_util_pkg.log_msg('Number of rows deleted in MTH_EVENT_ACTIONS - ' || SQL%ROWCOUNT, mth_util_pkg.G_DBG_ROW_CNT);
SELECT Count(*)
INTO v_count
FROM FND_LOOKUPS B
WHERE B.LOOKUP_TYPE IN ('MTH_TAG_BUS_RULES_PLSQL_API');
SELECT B.DESCRIPTION
INTO v_desc
FROM FND_LOOKUPS B
WHERE B.LOOKUP_TYPE IN ('MTH_TAG_BUS_RULES_PLSQL_API');
DELETE FROM MTH_TAG_READINGS_RAW_PROCESSED;
DELETE FROM MTH_TAG_READINGS_STG;
mth_util_pkg.log_msg('Number of rows deleted in MTH_TAG_READINGS_STG - ' || SQL%ROWCOUNT, mth_util_pkg.G_DBG_ROW_CNT);
UPDATE MTH_TAG_READINGS_RAW
SET processing_flag = Decode(v_current_processing_flag,1,2,1)
WHERE processing_flag = v_current_processing_flag;
SELECT Count(*) INTO v_reprocess_flag FROM MTH_TAG_READINGS_ERR WHERE RE_PROCESS_FLAG='Y';
SELECT Count(*)
INTO v_count
FROM FND_LOOKUPS B
WHERE B.LOOKUP_TYPE IN ('MTH_TAG_BUS_RULES_PLSQL_API');
SELECT B.DESCRIPTION
INTO v_desc
FROM FND_LOOKUPS B
WHERE B.LOOKUP_TYPE IN ('MTH_TAG_BUS_RULES_PLSQL_API');
DELETE FROM MTH_TAG_READINGS_RAW_PROCESSED;
DELETE FROM MTH_TAG_READINGS_STG;
mth_util_pkg.log_msg('Number of rows deleted in MTH_TAG_READINGS_STG - ' || SQL%ROWCOUNT, mth_util_pkg.G_DBG_ROW_CNT);
UPDATE MTH_TAG_READINGS_RAW
SET processing_flag = Decode(v_current_processing_flag,1,2,1)
WHERE processing_flag = v_current_processing_flag;
DELETE FROM MTH_TAG_READINGS o
WHERE o.EQUIPMENT_FK_KEY = nvl(p_equipment_pk_key,o.EQUIPMENT_FK_KEY)
AND o.READING_TIME BETWEEN p_recal_from_date AND nvl(p_recal_to_date,o.READING_TIME);
mth_util_pkg.log_msg('Number of rows deleted in MTH_TAG_READINGS - ' || SQL%ROWCOUNT, mth_util_pkg.G_DBG_ROW_CNT);
SELECT B.DESCRIPTION INTO v_desc FROM FND_LOOKUPS B
WHERE B.LOOKUP_TYPE IN ('MTH_TAG_BUS_RULES_PLSQL_API');
DELETE FROM MTH_TAG_READINGS_RAW_PROCESSED ;
DELETE FROM MTH_TAG_READINGS_STG;
mth_util_pkg.log_msg('Number of rows deleted in MTH_TAG_READINGS_STG - ' || SQL%ROWCOUNT, mth_util_pkg.G_DBG_ROW_CNT);