[Home] [Help]
View: BOM_ODI_WS_COMPONENTS_V
View Text
SELECT
PARAMS.SESSION_ID
,
BE.ASSEMBLY_ITEM_ID
,
BE.ORGANIZATION_ID
,
BE.COMMON_BILL_SEQUENCE_ID
,
BE.COMMON_COMPONENT_SEQUENCE_ID
,
BE.COMPONENT_SEQUENCE_ID
,
BE.OPERATION_SEQ_NUM
,
BE.COMPONENT_ITEM_ID
,
BE.NEW_COMPONENT_CODE
,
BE.COMPONENT_CODE
,
MSI.CONCATENATED_SEGMENTS COMPONENT_ITEM_NAME
,
MSI.SEGMENT1
,
MSI.SEGMENT2
,
MSI.SEGMENT3
,
MSI.SEGMENT4
,
MSI.SEGMENT5
,
MSI.SEGMENT6
,
MSI.SEGMENT7
,
MSI.SEGMENT8
,
MSI.SEGMENT9
,
MSI.SEGMENT10
,
MSI.SEGMENT11
,
MSI.SEGMENT12
,
MSI.SEGMENT13
,
MSI.SEGMENT14
,
MSI.SEGMENT15
,
MSI.SEGMENT16
,
MSI.SEGMENT17
,
MSI.SEGMENT18
,
MSI.SEGMENT19
,
MSI.SEGMENT20
,
MSI_TL.DESCRIPTION
,
MSI_TL.LANGUAGE
,
BIC.ITEM_NUM ITEM_SEQUENCE_NUMBER
,
BE.PRIMARY_UOM_CODE
,
BE.PRIMARY_UNIT_OF_MEASURE
,
BE.BASIS_TYPE
,
BE.COMPONENT_QUANTITY
,
BE.AUTO_REQUEST_MATERIAL
,
(
CASE
WHEN
/* DATE EFFECTIVITY */(NVL(BE.EFFECTIVITY_CONTROL
, 1) = 1
AND((DECODE(BE.COMP_FIXED_REVISION_ID
, NULL
, PARAMS.EXPLOSION_DATE/*BOM_EXPLODER_PUB.GET_EXPLOSION_DATE*/
, BR.REVISION_HIGH_DATE/*BOM_EXPLODER_PUB.GET_REVISION_HIGHDATE(BE.COMP_FIXED_REVISION_ID)*/) >= BE.TRIMMED_EFFECTIVITY_DATE
AND DECODE(BE.COMP_FIXED_REVISION_ID
, NULL
, PARAMS.EXPLOSION_DATE/*BOM_EXPLODER_PUB.GET_EXPLOSION_DATE*/
, BR.REVISION_HIGH_DATE/*BOM_EXPLODER_PUB.GET_REVISION_HIGHDATE(BE.COMP_FIXED_REVISION_ID)*/) < NVL(BE.TRIMMED_DISABLE_DATE
, TO_DATE('9999/12/31 00:00:00'
, 'YYYY/MM/DD HH24:MI:SS'))))) OR
/* REV EFFECTIVITY */(NVL(BE.EFFECTIVITY_CONTROL
, 1) = 4
AND(((PARAMS.ITEM_REV_CODE/*BOM_EXPLODER_PUB.GET_EXPL_END_ITEM_REV_CODE*/ >=
(SELECT REVISION
FROM MTL_ITEM_REVISIONS_B
WHERE INVENTORY_ITEM_ID = BE.END_ITEM_ID
AND ORGANIZATION_ID = BE.END_ITEM_ORG_ID
AND REVISION_ID = BE.FROM_END_ITEM_REV_ID)
AND(BE.TO_END_ITEM_REV_ID IS NULL OR PARAMS.ITEM_REV_CODE/*BOM_EXPLODER_PUB.GET_EXPL_END_ITEM_REV_CODE*/ <=
(SELECT REVISION
FROM MTL_ITEM_REVISIONS_B
WHERE INVENTORY_ITEM_ID = BE.END_ITEM_ID
AND ORGANIZATION_ID = BE.END_ITEM_ORG_ID
AND REVISION_ID = BE.TO_END_ITEM_REV_ID))) OR(BE.PLAN_LEVEL > 1
AND BR.PARENT_REVISION/*BOM_EXPLODER_PUB.GET_COMPONENT_REVISION(NVL(BE.PARENT_COMP_SEQ_ID
, 0))*/ >=
(SELECT REVISION
FROM MTL_ITEM_REVISIONS_B
WHERE INVENTORY_ITEM_ID = BE.ASSEMBLY_ITEM_ID
AND ORGANIZATION_ID = BE.ORGANIZATION_ID
AND REVISION_ID = BE.FROM_END_ITEM_REV_ID)
AND(BE.TO_END_ITEM_REV_ID IS NULL OR BR.PARENT_REVISION/*BOM_EXPLODER_PUB.GET_COMPONENT_REVISION(NVL(BE.PARENT_COMP_SEQ_ID
, 0))*/ <=
(SELECT REVISION
FROM MTL_ITEM_REVISIONS_B
WHERE INVENTORY_ITEM_ID = BE.ASSEMBLY_ITEM_ID
AND ORGANIZATION_ID = BE.ORGANIZATION_ID
AND REVISION_ID = BE.TO_END_ITEM_REV_ID)
)))
)
)
THEN
'C'
ELSE
'F'
END)
CURRENT_FUTURE_PAST_FLAG
,
BE.EFFECTIVITY_DATE
,
BE.DISABLE_DATE
,
BE.IMPLEMENTATION_DATE
,
BE.CHANGE_NOTICE
,
BE.PLANNING_FACTOR
,
BE.COMPONENT_YIELD_FACTOR
,
BIC.ENFORCE_INT_REQUIREMENTS
,
BE.INCLUDE_IN_COST_ROLLUP
,
BE.BOM_ITEM_TYPE
,
BIC.WIP_SUPPLY_TYPE
,
BIC.SUPPLY_SUBINVENTORY
,
BIC.SUPPLY_LOCATOR_ID
,
BE.CHECK_ATP
,
BE.OPTIONAL
,
BE.MUTUALLY_EXCLUSIVE_OPTIONS
,
BE.LOW_QUANTITY
,
BE.HIGH_QUANTITY
,
BE.SO_BASIS
,
BE.SHIPPING_ALLOWED
,
BE.INCLUDE_ON_SHIP_DOCS
,
BE.REQUIRED_TO_SHIP
,
BE.REQUIRED_FOR_REVENUE
,
BE.TOP_ITEM_ID
,
BE.TOP_BILL_SEQUENCE_ID
,
BE.PARENT_BOM_ITEM_TYPE
,
BE.EXPLOSION_TYPE
,
BE.PLAN_LEVEL
,
BE.EXTENDED_QUANTITY
,
BE.SORT_ORDER
,
BE.COMP_BILL_SEQ_ID
,
BE.COMP_COMMON_BILL_SEQ_ID
,
BE.PARENT_SORT_ORDER
,
BE.COMP_SOURCE_BILL_SEQ_ID
,
BE.SOURCE_BILL_SEQUENCE_ID
,
BIC.ECO_FOR_PRODUCTION
,
BIC.OPTIONAL_ON_MODEL
,
BE.INCLUDE_ON_BILL_DOCS
,
BE.BASE_ITEM_ID
,
BE.ATP_COMPONENTS_FLAG
,
BE.ATP_FLAG
,
BE.PICK_COMPONENTS_FLAG
,
BE.REPLENISH_TO_ORDER_FLAG
,
BE.SHIPPABLE_ITEM_FLAG
,
BE.CUSTOMER_ORDER_FLAG
,
BE.INTERNAL_ORDER_FLAG
,
BE.CUSTOMER_ORDER_ENABLED_FLAG
,
BE.INTERNAL_ORDER_ENABLED_FLAG
,
BE.SO_TRANSACTIONS_FLAG
,
BE.LOOP_FLAG
,
BE.ITEM_NUM
,
BE.REXPLODE_FLAG
,
BE.SUGGESTED_VENDOR_NAME
,
BE.VENDOR_ID
,
BE.UNIT_PRICE
,
BE.CREATION_DATE
,
BE.CREATED_BY
,
BE.LAST_UPDATE_DATE
,
BE.LAST_UPDATED_BY
,
BE.CONTEXT
,
BE.ATTRIBUTE1
,
BE.ATTRIBUTE2
,
BE.ATTRIBUTE3
,
BE.ATTRIBUTE4
,
BE.ATTRIBUTE5
,
BE.ATTRIBUTE6
,
BE.ATTRIBUTE7
,
BE.ATTRIBUTE8
,
BE.ATTRIBUTE9
,
BE.ATTRIBUTE10
,
BE.ATTRIBUTE11
,
BE.ATTRIBUTE12
,
BE.ATTRIBUTE13
,
BE.ATTRIBUTE14
,
BE.ATTRIBUTE15
,
BIC.QUANTITY_RELATED
,
BIC.FROM_END_ITEM_REV_ID
,
BIC.TO_END_ITEM_REV_ID
,
BE.GROUP_ID
,
BR.REVISION_ID/*BOM_EXPLODER_PUB.GET_COMPONENT_REVISION_ID(NVL(BE.COMPONENT_SEQUENCE_ID
, 0))*/ REVISION_ID
,
BR.REVISION_LABEL/*BOM_EXPLODER_PUB.GET_COMPONENT_REVISION_LABEL(NVL(BE.COMPONENT_SEQUENCE_ID
, 0))*/ REVISION
FROM BOM_EXPLOSIONS_ALL BE
,
BOM_ODI_WS_REVISIONS BR
,
BOM_ODI_WS_ENTITIES PARAMS
,
BOM_INVENTORY_COMPONENTS BIC
,
MTL_SYSTEM_ITEMS_KFV MSI
,
MTL_SYSTEM_ITEMS_TL MSI_TL
WHERE BE.COMPONENT_SEQUENCE_ID = BIC.COMPONENT_SEQUENCE_ID
AND MSI.INVENTORY_ITEM_ID = BE.COMPONENT_ITEM_ID
AND MSI.ORGANIZATION_ID = BE.ORGANIZATION_ID
AND MSI_TL.INVENTORY_ITEM_ID = BE.COMPONENT_ITEM_ID
AND MSI_TL.ORGANIZATION_ID = BE.ORGANIZATION_ID
--AND MSI_TL.LANGUAGE = USERENV('LANG')
--START NEW CLAUSES
AND BE.ROWID = BR.ROW_ID
AND BR.SESSION_ID = PARAMS.SESSION_ID
AND BE.GROUP_ID = PARAMS.GROUP_ID
AND BR.PUBLISH_FLAG = 'Y'
--END NEW CLAUSES
AND(PARAMS.EXPLOSION_OPTION/*BOM_EXPLODER_PUB.GET_EXPLODE_OPTION*/ = 1 OR BE.PLAN_LEVEL = 0 OR
/* DATE EFFECTIVITY */(NVL(BE.EFFECTIVITY_CONTROL
, 1) = 1
AND((BE.IMPLEMENTATION_DATE IS NULL
AND BE.ACD_TYPE = 3
AND DECODE(BE.COMP_FIXED_REVISION_ID
, NULL
, PARAMS.EXPLOSION_DATE/*BOM_EXPLODER_PUB.GET_EXPLOSION_DATE*/
, BR.REVISION_HIGH_DATE/*BOM_EXPLODER_PUB.GET_REVISION_HIGHDATE(BE.COMP_FIXED_REVISION_ID)*/) >= BE.TRIMMED_EFFECTIVITY_DATE) OR(PARAMS.EXPLOSION_OPTION/*BOM_EXPLODER_PUB.GET_EXPLODE_OPTION*/ = 2
AND DECODE(BE.COMP_FIXED_REVISION_ID
, NULL
, PARAMS.EXPLOSION_DATE/*BOM_EXPLODER_PUB.GET_EXPLOSION_DATE*/
, BR.REVISION_HIGH_DATE/*BOM_EXPLODER_PUB.GET_REVISION_HIGHDATE(BE.COMP_FIXED_REVISION_ID)*/) >= BE.TRIMMED_EFFECTIVITY_DATE
AND DECODE(BE.COMP_FIXED_REVISION_ID
, NULL
, PARAMS.EXPLOSION_DATE/*BOM_EXPLODER_PUB.GET_EXPLOSION_DATE*/
, BR.REVISION_HIGH_DATE/*BOM_EXPLODER_PUB.GET_REVISION_HIGHDATE(BE.COMP_FIXED_REVISION_ID)*/) < NVL(BE.TRIMMED_DISABLE_DATE
, TO_DATE('9999/12/31 00:00:00'
, 'YYYY/MM/DD HH24:MI:SS'))) OR(PARAMS.EXPLOSION_OPTION/*BOM_EXPLODER_PUB.GET_EXPLODE_OPTION*/ = 3
AND DECODE(BE.COMP_FIXED_REVISION_ID
, NULL
, PARAMS.EXPLOSION_DATE/*BOM_EXPLODER_PUB.GET_EXPLOSION_DATE*/
, BR.REVISION_HIGH_DATE/*BOM_EXPLODER_PUB.GET_REVISION_HIGHDATE(BE.COMP_FIXED_REVISION_ID)*/) < NVL(BE.TRIMMED_DISABLE_DATE
, TO_DATE('9999/12/31 00:00:00'
, 'YYYY/MM/DD HH24:MI:SS'))))) OR
/* REV EFFECTIVITY */(NVL(BE.EFFECTIVITY_CONTROL
, 1) = 4
AND((PARAMS.EXPLOSION_OPTION/*BOM_EXPLODER_PUB.GET_EXPLODE_OPTION*/ = 2
AND((PARAMS.ITEM_REV_CODE/*BOM_EXPLODER_PUB.GET_EXPL_END_ITEM_REV_CODE*/ >=
(SELECT REVISION
FROM MTL_ITEM_REVISIONS_B
WHERE INVENTORY_ITEM_ID = BE.END_ITEM_ID
AND ORGANIZATION_ID = BE.END_ITEM_ORG_ID
AND REVISION_ID = BE.FROM_END_ITEM_REV_ID)
AND(BE.TO_END_ITEM_REV_ID IS NULL OR PARAMS.ITEM_REV_CODE/*BOM_EXPLODER_PUB.GET_EXPL_END_ITEM_REV_CODE*/ <=
(SELECT REVISION
FROM MTL_ITEM_REVISIONS_B
WHERE INVENTORY_ITEM_ID = BE.END_ITEM_ID
AND ORGANIZATION_ID = BE.END_ITEM_ORG_ID
AND REVISION_ID = BE.TO_END_ITEM_REV_ID))) OR(BE.PLAN_LEVEL > 1
AND BR.PARENT_REVISION/*BOM_EXPLODER_PUB.GET_COMPONENT_REVISION(NVL(BE.PARENT_COMP_SEQ_ID
, 0))*/ >=
(SELECT REVISION
FROM MTL_ITEM_REVISIONS_B
WHERE INVENTORY_ITEM_ID = BE.ASSEMBLY_ITEM_ID
AND ORGANIZATION_ID = BE.ORGANIZATION_ID
AND REVISION_ID = BE.FROM_END_ITEM_REV_ID)
AND(BE.TO_END_ITEM_REV_ID IS NULL OR BR.PARENT_REVISION/*BOM_EXPLODER_PUB.GET_COMPONENT_REVISION(NVL(BE.PARENT_COMP_SEQ_ID
, 0))*/ <=
(SELECT REVISION
FROM MTL_ITEM_REVISIONS_B
WHERE INVENTORY_ITEM_ID = BE.ASSEMBLY_ITEM_ID
AND ORGANIZATION_ID = BE.ORGANIZATION_ID
AND REVISION_ID = BE.TO_END_ITEM_REV_ID)
))))
OR(PARAMS.EXPLOSION_OPTION/*BOM_EXPLODER_PUB.GET_EXPLODE_OPTION*/ = 3
AND((BE.TO_END_ITEM_REV_ID IS NULL) OR(PARAMS.ITEM_REV_CODE/*BOM_EXPLODER_PUB.GET_EXPL_END_ITEM_REV_CODE*/ <=
(SELECT REVISION
FROM MTL_ITEM_REVISIONS_B
WHERE INVENTORY_ITEM_ID = BE.END_ITEM_ID
AND ORGANIZATION_ID = BE.END_ITEM_ORG_ID
AND REVISION_ID = BE.TO_END_ITEM_REV_ID)) OR(BE.PLAN_LEVEL > 1
AND BR.PARENT_REVISION/*BOM_EXPLODER_PUB.GET_COMPONENT_REVISION(NVL(BE.PARENT_COMP_SEQ_ID
, 0))*/ <=
(SELECT REVISION
FROM MTL_ITEM_REVISIONS_B
WHERE INVENTORY_ITEM_ID = BE.ASSEMBLY_ITEM_ID
AND ORGANIZATION_ID = BE.ORGANIZATION_ID
AND REVISION_ID = BE.TO_END_ITEM_REV_ID)))
)
)
)
OR
/* UNIT/SERIAL EFFECTIVITY */(NVL(BE.EFFECTIVITY_CONTROL
, 1) = 2
AND((PARAMS.EXPLOSION_OPTION/*BOM_EXPLODER_PUB.GET_EXPLODE_OPTION*/ = 2
AND PARAMS.ITEM_UNIT_NUMBER/*BOM_EXPLODER_PUB.GET_EXPL_UNIT_NUMBER*/ BETWEEN BE.TRIMMED_FROM_UNIT_NUMBER
AND NVL(BE.TRIMMED_TO_UNIT_NUMBER
, PARAMS.ITEM_UNIT_NUMBER/*BOM_EXPLODER_PUB.GET_EXPL_UNIT_NUMBER*/)) OR(PARAMS.EXPLOSION_OPTION/*BOM_EXPLODER_PUB.GET_EXPLODE_OPTION*/ = 3
AND PARAMS.ITEM_UNIT_NUMBER/*BOM_EXPLODER_PUB.GET_EXPL_UNIT_NUMBER*/ <= NVL(BE.TRIMMED_TO_UNIT_NUMBER
, PARAMS.ITEM_UNIT_NUMBER/*BOM_EXPLODER_PUB.GET_EXPL_UNIT_NUMBER*/)))))