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*/)))))
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*/)))))
|
|
|