BOM Bill of Materials Upload
BOM Bill of Materials Upload creates and updates manufacturing bills of material – the assembly bill headers, their components and component substitutes – in Oracle EBS from Excel, through the standard BOM API. It maintains the bills and their components; it does not create the items, routings or organizations themselves.
When to use it
- Mass-create new bills of material for many assemblies at once instead of entering them in the Bills of Material form.
- Add, change or retire components on existing bills (quantity, supply type, planning percent, yield, effectivity dates).
- Maintain substitute components across many bills.
- Roll out the same bill structure across several organizations by changing the Organization Code per row.
- Populate component, bill or substitute descriptive flexfields in bulk.
Before you start
- Blitz Report is installed and you are signed in to a Manufacturing or Bills of Material responsibility with access to the inventory organization.
- The assembly item exists and is BOM-enabled, and the component items exist in the organization.
- Any operation sequence you reference already exists on the assembly’s routing.
Choose a template
| Template | Use it for |
|---|---|
| BOM Upload Template (default) | Standard bill and component maintenance. |
| BOM Upload Template with DFF Attributes | The standard columns plus the bill, component and substitute descriptive flexfield columns. |
Step 1 – Choose a template and mode, set the parameters and download
In Blitz Report, open BOM Bill of Materials Upload, choose your template, and set the parameters:
| Parameter | Purpose |
|---|---|
| Upload Mode | Create (empty template) or Create, Update (download existing bills). Default is Create, Update. |
| Organization Code | The inventory organization whose bills are downloaded. |
| Assembly | Optionally download the bill of a specific assembly. |
| Alternate BOM | Download a specific alternate bill instead of the primary bill. |
| Include Sub-Assemblies / Implemented Only / Display / Effective Date | Control which components are downloaded. |
Run the upload to download and open the Excel file. Each bill, component and substitute is automatically handled as a create or an update depending on whether it already exists.
Step 2 – Enter the bill and its components
The sheet carries one row per component; the bill header (Organization Code, Assembly Item, optional Alternate BOM) repeats on each of its component rows. On each component row enter the Component Item, the Component Quantity, the Date Effective From (required), and where they apply the Operation Seq, Supply Type and supply subinventory or locator. To retire a component, set its Date Effective To – components are end-dated rather than deleted.
Step 3 – Add substitute components (optional)
To give a component a substitute item, enter the Substitute Item and Substitute Quantity on the component’s row. Changing the substitute to a different item replaces the previous one.
Step 4 – Validate and Save
Click Validate and Save. This checks for missing required values and runs the upload’s validation, then saves the file. Correct anything it flags before continuing.
Step 5 – Upload and view the result
Back in Blitz Report, click Upload and select your saved file. This submits the Blitz Upload request, which creates or updates each bill through the BOM API. When it finishes, a result report opens showing each row as success or error.
What’s produced
- Created and updated bills of material with their components and substitutes.
- A result report listing every row with a status (success or error) and a message.
Common questions
How do I delete a component from a bill?
Set its Date Effective To (disable date) to retire it – components are end-dated, not physically deleted. Only substitute items are physically removed, by changing the substitute on a component.
Why can’t I create a new bill?
Check the Upload Mode. In Update mode new bills are rejected; use Create or Create, Update. Editing an existing bill in Create mode is also rejected.
Do I need to set an action?
No. The upload detects create versus update automatically from whether the bill, component or substitute already exists.
How do components attach to operations?
Through the Operation Seq, which must be an existing operation on the assembly’s routing. If the assembly has no routing, leave it at the default of 1.
Which template should I use?
Use BOM Upload Template for normal maintenance; use the DFF template only when you need to enter descriptive flexfield values.
Troubleshooting
| Message | Cause | What to do |
|---|---|---|
| You cannot update an existing BOM in Create Upload Mode | The bill already exists but Upload Mode is Create. | Re-run in Create, Update mode. |
| You cannot create a new BOM in Update Upload Mode | No bill exists yet but you are in Update mode. | Use Create or Create, Update mode. |
| Date Effective From is required | A component row has no effectivity start date. | Enter a Date Effective From on every component row. |
| End Item Unit Number From is required | The assembly uses unit-number effectivity but the field is blank. | Provide the End Item Unit Number From for that component. |
| One or more rows for this BOM have an error | A row on the bill failed, so the whole bill is held back. | Fix the flagged row(s); the entire bill is processed as a unit. |
with bom_tree as ( select /*+ materialize */ distinct bbom.bill_sequence_id from bom_bill_of_materials bbom ,bom_inventory_components bic where bbom.common_bill_sequence_id = bic.bill_sequence_id (+) and bbom.assembly_type = 1 and -- BOM nvl(bbom.effectivity_control,1) < 3 and nvl(bic.eco_for_production,2) = 2 and -- &lp_effective_display_clause1 &lp_effective_display_clause2 -- nvl(bbom.alternate_bom_designator,'?') = nvl(:p_alternate_bom,'?') and -- exclude common boms for the moment bbom.bill_sequence_id = bbom.common_bill_sequence_id and bbom.common_organization_id is null and bbom.common_assembly_item_id is null connect by nocycle prior decode(:p_explode_bom,'Y',bic.component_item_id,null) = bbom.assembly_item_id and prior decode(:p_explode_bom,'Y',bbom.organization_id,null) = bbom.organization_id and prior decode(:p_explode_bom,'Y',nvl(bbom.alternate_bom_designator,'?'),null) = nvl(bbom.alternate_bom_designator,'?') start with bbom.bill_sequence_id in (select /*+ materialize */ bbom.bill_sequence_id from mtl_parameters mp, mtl_system_items_vl msiv, bom_bill_of_materials bbom where mp.organization_id = msiv.organization_id and msiv.organization_id = bbom.organization_id and msiv.inventory_item_id = bbom.assembly_item_id and msiv.bom_enabled_flag = 'Y' and msiv.bom_item_type != 5 and -- exclude product family bbom.assembly_type = 1 and -- BOM nvl(bbom.effectivity_control,1) < 3 and nvl(bbom.alternate_bom_designator,'?') = nvl(:p_alternate_bom,'?') and -- exclude common boms for the moment bbom.bill_sequence_id = bbom.common_bill_sequence_id and bbom.common_organization_id is null and bbom.common_assembly_item_id is null and mp.organization_code = :p_organization_code and 1=1 ) ), bom as ( select mp.organization_code, msiv1.concatenated_segments assembly_item, msiv1.description assembly_description, bbom.specific_assembly_comment bill_comment, xxen_util.meaning(decode(bbom.implementation_date,null,2,1),'SYS_YES_NO',700) bill_implemented_flag, bbom.implementation_date bill_implementation_date, bbom.effectivity_control effectivity_control_code, xxen_util.meaning(bbom.effectivity_control,'MTL_EFFECTIVITY_CONTROL',700) effectivity_control, bbom.alternate_bom_designator alternate_bom, xxen_util.meaning(nvl2(bbom.common_assembly_item_id,1,2),'SYS_YES_NO',700) common_bill_flag, xxen_util.display_flexfield_context(702,'BOM_BILL_OF_MATERIALS',bbom.attribute_category) bill_attribute_category, xxen_util.display_flexfield_value(702,'BOM_BILL_OF_MATERIALS',bbom.attribute_category,'ATTRIBUTE1',bbom.rowid) bom_bill_attribute1, xxen_util.display_flexfield_value(702,'BOM_BILL_OF_MATERIALS',bbom.attribute_category,'ATTRIBUTE2',bbom.rowid) bom_bill_attribute2, xxen_util.display_flexfield_value(702,'BOM_BILL_OF_MATERIALS',bbom.attribute_category,'ATTRIBUTE3',bbom.rowid) bom_bill_attribute3, xxen_util.display_flexfield_value(702,'BOM_BILL_OF_MATERIALS',bbom.attribute_category,'ATTRIBUTE4',bbom.rowid) bom_bill_attribute4, xxen_util.display_flexfield_value(702,'BOM_BILL_OF_MATERIALS',bbom.attribute_category,'ATTRIBUTE5',bbom.rowid) bom_bill_attribute5, xxen_util.display_flexfield_value(702,'BOM_BILL_OF_MATERIALS',bbom.attribute_category,'ATTRIBUTE6',bbom.rowid) bom_bill_attribute6, xxen_util.display_flexfield_value(702,'BOM_BILL_OF_MATERIALS',bbom.attribute_category,'ATTRIBUTE7',bbom.rowid) bom_bill_attribute7, xxen_util.display_flexfield_value(702,'BOM_BILL_OF_MATERIALS',bbom.attribute_category,'ATTRIBUTE8',bbom.rowid) bom_bill_attribute8, xxen_util.display_flexfield_value(702,'BOM_BILL_OF_MATERIALS',bbom.attribute_category,'ATTRIBUTE9',bbom.rowid) bom_bill_attribute9, xxen_util.display_flexfield_value(702,'BOM_BILL_OF_MATERIALS',bbom.attribute_category,'ATTRIBUTE10',bbom.rowid) bom_bill_attribute10, xxen_util.display_flexfield_value(702,'BOM_BILL_OF_MATERIALS',bbom.attribute_category,'ATTRIBUTE11',bbom.rowid) bom_bill_attribute11, xxen_util.display_flexfield_value(702,'BOM_BILL_OF_MATERIALS',bbom.attribute_category,'ATTRIBUTE12',bbom.rowid) bom_bill_attribute12, xxen_util.display_flexfield_value(702,'BOM_BILL_OF_MATERIALS',bbom.attribute_category,'ATTRIBUTE13',bbom.rowid) bom_bill_attribute13, xxen_util.display_flexfield_value(702,'BOM_BILL_OF_MATERIALS',bbom.attribute_category,'ATTRIBUTE14',bbom.rowid) bom_bill_attribute14, xxen_util.display_flexfield_value(702,'BOM_BILL_OF_MATERIALS',bbom.attribute_category,'ATTRIBUTE15',bbom.rowid) bom_bill_attribute15, -- msiv2.concatenated_segments component_item, msiv2.description component_description, bic.item_num item_seq, bic.operation_seq_num operation_seq, bic.component_quantity, round(decode(bic.component_quantity,0,0,1/bic.component_quantity),37) inverse_quantity, bic.effectivity_date date_effective_from, bic.disable_date date_effective_to, bic.from_end_item_unit_number end_item_unit_number_from, bic.to_end_item_unit_number end_item_unit_number_to, nvl(bic.basis_type,1) basis_type, xxen_util.meaning(nvl(bic.basis_type,1),'BOM_BASIS_TYPE',700) basis, bic.planning_factor planning_percent, bic.component_yield_factor yield, xxen_util.meaning(bic.enforce_int_requirements,'BOM_ENFORCE_INT_REQUIREMENTS',700) enforce_integer_quantity, xxen_util.meaning(bic.include_in_cost_rollup,'SYS_YES_NO',700) include_in_cost_rollup, xxen_util.meaning(bic.wip_supply_type,'WIP_SUPPLY',700) supply_type, bic.supply_subinventory, (select milk.concatenated_segments from mtl_item_locations_kfv milk where milk.inventory_location_id = bic.supply_locator_id) supply_locator, xxen_util.meaning(decode(bic.implementation_date,null,2,1),'SYS_YES_NO',700) component_implemented_flag, bic.implementation_date component_implementation_date, xxen_util.display_flexfield_context(702,'BOM_INVENTORY_COMPONENTS',bic.attribute_category) component_attribute_category, xxen_util.display_flexfield_value(702,'BOM_INVENTORY_COMPONENTS',bic.attribute_category,'ATTRIBUTE1',bic.rowid) bom_comp_attribute1, xxen_util.display_flexfield_value(702,'BOM_INVENTORY_COMPONENTS',bic.attribute_category,'ATTRIBUTE2',bic.rowid) bom_comp_attribute2, xxen_util.display_flexfield_value(702,'BOM_INVENTORY_COMPONENTS',bic.attribute_category,'ATTRIBUTE3',bic.rowid) bom_comp_attribute3, xxen_util.display_flexfield_value(702,'BOM_INVENTORY_COMPONENTS',bic.attribute_category,'ATTRIBUTE4',bic.rowid) bom_comp_attribute4, xxen_util.display_flexfield_value(702,'BOM_INVENTORY_COMPONENTS',bic.attribute_category,'ATTRIBUTE5',bic.rowid) bom_comp_attribute5, xxen_util.display_flexfield_value(702,'BOM_INVENTORY_COMPONENTS',bic.attribute_category,'ATTRIBUTE6',bic.rowid) bom_comp_attribute6, xxen_util.display_flexfield_value(702,'BOM_INVENTORY_COMPONENTS',bic.attribute_category,'ATTRIBUTE7',bic.rowid) bom_comp_attribute7, xxen_util.display_flexfield_value(702,'BOM_INVENTORY_COMPONENTS',bic.attribute_category,'ATTRIBUTE8',bic.rowid) bom_comp_attribute8, xxen_util.display_flexfield_value(702,'BOM_INVENTORY_COMPONENTS',bic.attribute_category,'ATTRIBUTE9',bic.rowid) bom_comp_attribute9, xxen_util.display_flexfield_value(702,'BOM_INVENTORY_COMPONENTS',bic.attribute_category,'ATTRIBUTE10',bic.rowid) bom_comp_attribute10, xxen_util.display_flexfield_value(702,'BOM_INVENTORY_COMPONENTS',bic.attribute_category,'ATTRIBUTE11',bic.rowid) bom_comp_attribute11, xxen_util.display_flexfield_value(702,'BOM_INVENTORY_COMPONENTS',bic.attribute_category,'ATTRIBUTE12',bic.rowid) bom_comp_attribute12, xxen_util.display_flexfield_value(702,'BOM_INVENTORY_COMPONENTS',bic.attribute_category,'ATTRIBUTE13',bic.rowid) bom_comp_attribute13, xxen_util.display_flexfield_value(702,'BOM_INVENTORY_COMPONENTS',bic.attribute_category,'ATTRIBUTE14',bic.rowid) bom_comp_attribute14, xxen_util.display_flexfield_value(702,'BOM_INVENTORY_COMPONENTS',bic.attribute_category,'ATTRIBUTE15',bic.rowid) bom_comp_attribute15, -- bbom.bill_sequence_id, bbom.organization_id, bbom.assembly_item_id, bic.component_sequence_id, bic.component_item_id from bom_bill_of_materials bbom ,bom_inventory_components bic ,(select msiv.* from mtl_system_items_vl msiv where msiv.organization_id = :p_organization_id) msiv1 ,(select msiv.* from mtl_system_items_vl msiv where msiv.organization_id = :p_organization_id) msiv2 ,(select mp.* from mtl_parameters mp where mp.organization_id = :p_organization_id) mp where bbom.common_bill_sequence_id = bic.bill_sequence_id (+) and bbom.organization_id = mp.organization_id and bbom.assembly_item_id = msiv1.inventory_item_id and bbom.organization_id = msiv1.organization_id and bic.component_item_id = msiv2.inventory_item_id (+) and bbom.organization_id = nvl(msiv2.organization_id,bbom.organization_id) and -- bbom.bill_sequence_id in (select bom_tree.bill_sequence_id from bom_tree) and -- &lp_effective_display_clause1 &lp_effective_display_clause2 -- nvl(bic.eco_for_production,2) = 2 ), bom_subst as ( --from bom_substitute_components_v select bic2.component_sequence_id, bsc.substitute_component_id, msiv.concatenated_segments substitute_item, msiv.description substitute_description, bsc.substitute_item_quantity substitute_quantity, round(decode(bsc.substitute_item_quantity,0,0,1/bsc.substitute_item_quantity),37) substitute_inverse_quantity, xxen_util.meaning(bsc.enforce_int_requirements,'BOM_ENFORCE_INT_REQUIREMENTS',700) subst_integer_requirements, xxen_util.display_flexfield_context(702,'BOM_SUBSTITUTE_COMPONENTS',bsc.attribute_category) substitute_attribute_category, xxen_util.display_flexfield_value(702,'BOM_SUBSTITUTE_COMPONENTS',bsc.attribute_category,'ATTRIBUTE1',bsc.rowid) bom_sub_attribute1, xxen_util.display_flexfield_value(702,'BOM_SUBSTITUTE_COMPONENTS',bsc.attribute_category,'ATTRIBUTE2',bsc.rowid) bom_sub_attribute2, xxen_util.display_flexfield_value(702,'BOM_SUBSTITUTE_COMPONENTS',bsc.attribute_category,'ATTRIBUTE3',bsc.rowid) bom_sub_attribute3, xxen_util.display_flexfield_value(702,'BOM_SUBSTITUTE_COMPONENTS',bsc.attribute_category,'ATTRIBUTE4',bsc.rowid) bom_sub_attribute4, xxen_util.display_flexfield_value(702,'BOM_SUBSTITUTE_COMPONENTS',bsc.attribute_category,'ATTRIBUTE5',bsc.rowid) bom_sub_attribute5, xxen_util.display_flexfield_value(702,'BOM_SUBSTITUTE_COMPONENTS',bsc.attribute_category,'ATTRIBUTE6',bsc.rowid) bom_sub_attribute6, xxen_util.display_flexfield_value(702,'BOM_SUBSTITUTE_COMPONENTS',bsc.attribute_category,'ATTRIBUTE7',bsc.rowid) bom_sub_attribute7, xxen_util.display_flexfield_value(702,'BOM_SUBSTITUTE_COMPONENTS',bsc.attribute_category,'ATTRIBUTE8',bsc.rowid) bom_sub_attribute8, xxen_util.display_flexfield_value(702,'BOM_SUBSTITUTE_COMPONENTS',bsc.attribute_category,'ATTRIBUTE9',bsc.rowid) bom_sub_attribute9, xxen_util.display_flexfield_value(702,'BOM_SUBSTITUTE_COMPONENTS',bsc.attribute_category,'ATTRIBUTE10',bsc.rowid) bom_sub_attribute10, xxen_util.display_flexfield_value(702,'BOM_SUBSTITUTE_COMPONENTS',bsc.attribute_category,'ATTRIBUTE11',bsc.rowid) bom_sub_attribute11, xxen_util.display_flexfield_value(702,'BOM_SUBSTITUTE_COMPONENTS',bsc.attribute_category,'ATTRIBUTE12',bsc.rowid) bom_sub_attribute12, xxen_util.display_flexfield_value(702,'BOM_SUBSTITUTE_COMPONENTS',bsc.attribute_category,'ATTRIBUTE13',bsc.rowid) bom_sub_attribute13, xxen_util.display_flexfield_value(702,'BOM_SUBSTITUTE_COMPONENTS',bsc.attribute_category,'ATTRIBUTE14',bsc.rowid) bom_sub_attribute14, xxen_util.display_flexfield_value(702,'BOM_SUBSTITUTE_COMPONENTS',bsc.attribute_category,'ATTRIBUTE15',bsc.rowid) bom_sub_attribute15 from bom_substitute_components bsc, bom_bill_of_materials bbom, bom_inventory_components bic1, bom_inventory_components bic2, /* current component record */ mtl_system_items_vl msiv /* component being referenced */ where bsc.component_sequence_id = bic1.component_sequence_id and bic1.bill_sequence_id = bbom.bill_sequence_id and bsc.substitute_component_id = msiv.inventory_item_id and bbom.organization_id = msiv.organization_id and nvl(bsc.acd_type, 1) <> 3 and bic2.bill_sequence_id = bic1.bill_sequence_id and decode(bic2.implementation_date, null, bic2.old_component_sequence_id, bic2.component_sequence_id) = decode(bic1.implementation_date, null, bic1.old_component_sequence_id, bic1.component_sequence_id) and bic1.effectivity_date = (select max(bic3.effectivity_date) from bom_substitute_components bsc3, bom_inventory_components bic3 where bic3.component_sequence_id = bsc3.component_sequence_id and decode(bic3.implementation_date, null, bic3.old_component_sequence_id, bic3.component_sequence_id) = decode(bic1.implementation_date, null, bic1.old_component_sequence_id, bic1.component_sequence_id) and bic3.bill_sequence_id = bic1.bill_sequence_id and bsc3.substitute_component_id = bsc.substitute_component_id and bic3.effectivity_date <= bic2.effectivity_date ) ), processed_boms as (select /*+ ordered use_nl(bbom) push_pred(bom_subst) */ distinct xm.organization_code, xm.assembly_item, (select msit.description from mtl_system_items_tl msit where msit.organization_id = bbom.organization_id and msit.inventory_item_id = bbom.assembly_item_id and msit.language = userenv('lang')) assembly_description, bbom.specific_assembly_comment bill_comment, xxen_util.meaning(decode(bbom.implementation_date,null,2,1),'SYS_YES_NO',700) bill_implemented_flag, bbom.implementation_date bill_implementation_date, bbom.effectivity_control effectivity_control_code, xxen_util.meaning(bbom.effectivity_control,'MTL_EFFECTIVITY_CONTROL',700) effectivity_control, bbom.alternate_bom_designator alternate_bom, xxen_util.meaning(nvl2(bbom.common_assembly_item_id,1,2),'SYS_YES_NO',700) common_bill_flag, xxen_util.display_flexfield_context(702,'BOM_BILL_OF_MATERIALS',bbom.attribute_category) bill_attribute_category, xxen_util.display_flexfield_value(702,'BOM_BILL_OF_MATERIALS',bbom.attribute_category,'ATTRIBUTE1',bbom.rowid) bom_bill_attribute1, xxen_util.display_flexfield_value(702,'BOM_BILL_OF_MATERIALS',bbom.attribute_category,'ATTRIBUTE2',bbom.rowid) bom_bill_attribute2, xxen_util.display_flexfield_value(702,'BOM_BILL_OF_MATERIALS',bbom.attribute_category,'ATTRIBUTE3',bbom.rowid) bom_bill_attribute3, xxen_util.display_flexfield_value(702,'BOM_BILL_OF_MATERIALS',bbom.attribute_category,'ATTRIBUTE4',bbom.rowid) bom_bill_attribute4, xxen_util.display_flexfield_value(702,'BOM_BILL_OF_MATERIALS',bbom.attribute_category,'ATTRIBUTE5',bbom.rowid) bom_bill_attribute5, xxen_util.display_flexfield_value(702,'BOM_BILL_OF_MATERIALS',bbom.attribute_category,'ATTRIBUTE6',bbom.rowid) bom_bill_attribute6, xxen_util.display_flexfield_value(702,'BOM_BILL_OF_MATERIALS',bbom.attribute_category,'ATTRIBUTE7',bbom.rowid) bom_bill_attribute7, xxen_util.display_flexfield_value(702,'BOM_BILL_OF_MATERIALS',bbom.attribute_category,'ATTRIBUTE8',bbom.rowid) bom_bill_attribute8, xxen_util.display_flexfield_value(702,'BOM_BILL_OF_MATERIALS',bbom.attribute_category,'ATTRIBUTE9',bbom.rowid) bom_bill_attribute9, xxen_util.display_flexfield_value(702,'BOM_BILL_OF_MATERIALS',bbom.attribute_category,'ATTRIBUTE10',bbom.rowid) bom_bill_attribute10, xxen_util.display_flexfield_value(702,'BOM_BILL_OF_MATERIALS',bbom.attribute_category,'ATTRIBUTE11',bbom.rowid) bom_bill_attribute11, xxen_util.display_flexfield_value(702,'BOM_BILL_OF_MATERIALS',bbom.attribute_category,'ATTRIBUTE12',bbom.rowid) bom_bill_attribute12, xxen_util.display_flexfield_value(702,'BOM_BILL_OF_MATERIALS',bbom.attribute_category,'ATTRIBUTE13',bbom.rowid) bom_bill_attribute13, xxen_util.display_flexfield_value(702,'BOM_BILL_OF_MATERIALS',bbom.attribute_category,'ATTRIBUTE14',bbom.rowid) bom_bill_attribute14, xxen_util.display_flexfield_value(702,'BOM_BILL_OF_MATERIALS',bbom.attribute_category,'ATTRIBUTE15',bbom.rowid) bom_bill_attribute15, -- msik.concatenated_segments component_item, (select msit.description from mtl_system_items_tl msit where msit.organization_id = bbom.organization_id and msit.inventory_item_id = bic.component_item_id and msit.language = userenv('lang'))component_description, bic.item_num item_seq, bic.operation_seq_num operation_seq, bic.component_quantity, round(decode(bic.component_quantity,0,0,1/bic.component_quantity),37) inverse_quantity, bic.effectivity_date date_effective_from, bic.disable_date date_effective_to, bic.from_end_item_unit_number end_item_unit_number_from, bic.to_end_item_unit_number end_item_unit_number_to, nvl(bic.basis_type,1) basis_type, xxen_util.meaning(nvl(bic.basis_type,1),'BOM_BASIS_TYPE',700) basis, bic.planning_factor planning_percent, bic.component_yield_factor yield, xxen_util.meaning(bic.enforce_int_requirements,'BOM_ENFORCE_INT_REQUIREMENTS',700) enforce_integer_quantity, xxen_util.meaning(bic.include_in_cost_rollup,'SYS_YES_NO',700) include_in_cost_rollup, xxen_util.meaning(bic.wip_supply_type,'WIP_SUPPLY',700) supply_type, bic.supply_subinventory, (select milk.concatenated_segments from mtl_item_locations_kfv milk where milk.inventory_location_id = bic.supply_locator_id) supply_locator, xxen_util.meaning(decode(bic.implementation_date,null,2,1),'SYS_YES_NO',700) component_implemented_flag, bic.implementation_date component_implementation_date, xxen_util.display_flexfield_context(702,'BOM_INVENTORY_COMPONENTS',bic.attribute_category) component_attribute_category, xxen_util.display_flexfield_value(702,'BOM_INVENTORY_COMPONENTS',bic.attribute_category,'ATTRIBUTE1',bic.rowid) bom_comp_attribute1, xxen_util.display_flexfield_value(702,'BOM_INVENTORY_COMPONENTS',bic.attribute_category,'ATTRIBUTE2',bic.rowid) bom_comp_attribute2, xxen_util.display_flexfield_value(702,'BOM_INVENTORY_COMPONENTS',bic.attribute_category,'ATTRIBUTE3',bic.rowid) bom_comp_attribute3, xxen_util.display_flexfield_value(702,'BOM_INVENTORY_COMPONENTS',bic.attribute_category,'ATTRIBUTE4',bic.rowid) bom_comp_attribute4, xxen_util.display_flexfield_value(702,'BOM_INVENTORY_COMPONENTS',bic.attribute_category,'ATTRIBUTE5',bic.rowid) bom_comp_attribute5, xxen_util.display_flexfield_value(702,'BOM_INVENTORY_COMPONENTS',bic.attribute_category,'ATTRIBUTE6',bic.rowid) bom_comp_attribute6, xxen_util.display_flexfield_value(702,'BOM_INVENTORY_COMPONENTS',bic.attribute_category,'ATTRIBUTE7',bic.rowid) bom_comp_attribute7, xxen_util.display_flexfield_value(702,'BOM_INVENTORY_COMPONENTS',bic.attribute_category,'ATTRIBUTE8',bic.rowid) bom_comp_attribute8, xxen_util.display_flexfield_value(702,'BOM_INVENTORY_COMPONENTS',bic.attribute_category,'ATTRIBUTE9',bic.rowid) bom_comp_attribute9, xxen_util.display_flexfield_value(702,'BOM_INVENTORY_COMPONENTS',bic.attribute_category,'ATTRIBUTE10',bic.rowid) bom_comp_attribute10, xxen_util.display_flexfield_value(702,'BOM_INVENTORY_COMPONENTS',bic.attribute_category,'ATTRIBUTE11',bic.rowid) bom_comp_attribute11, xxen_util.display_flexfield_value(702,'BOM_INVENTORY_COMPONENTS',bic.attribute_category,'ATTRIBUTE12',bic.rowid) bom_comp_attribute12, xxen_util.display_flexfield_value(702,'BOM_INVENTORY_COMPONENTS',bic.attribute_category,'ATTRIBUTE13',bic.rowid) bom_comp_attribute13, xxen_util.display_flexfield_value(702,'BOM_INVENTORY_COMPONENTS',bic.attribute_category,'ATTRIBUTE14',bic.rowid) bom_comp_attribute14, xxen_util.display_flexfield_value(702,'BOM_INVENTORY_COMPONENTS',bic.attribute_category,'ATTRIBUTE15',bic.rowid) bom_comp_attribute15, -- bom_subst.substitute_item, bom_subst.substitute_description, bom_subst.substitute_quantity, bom_subst.substitute_inverse_quantity, bom_subst.subst_integer_requirements, bom_subst.substitute_attribute_category, bom_subst.bom_sub_attribute1, bom_subst.bom_sub_attribute2, bom_subst.bom_sub_attribute3, bom_subst.bom_sub_attribute4, bom_subst.bom_sub_attribute5, bom_subst.bom_sub_attribute6, bom_subst.bom_sub_attribute7, bom_subst.bom_sub_attribute8, bom_subst.bom_sub_attribute9, bom_subst.bom_sub_attribute10, bom_subst.bom_sub_attribute11, bom_subst.bom_sub_attribute12, bom_subst.bom_sub_attribute13, bom_subst.bom_sub_attribute14, bom_subst.bom_sub_attribute15, -- bbom.bill_sequence_id, bbom.organization_id, bbom.assembly_item_id, bic.component_sequence_id, bic.component_item_id, bom_subst.substitute_component_id from (select /*+ materialize */ distinct xm.organization_code, xm.assembly_item, xm.alternate_bom, (select mp.organization_id from mtl_parameters mp where mp.organization_code=xm.organization_code) inv_org_id, (select msik.inventory_item_id from mtl_parameters mp,mtl_system_items_kfv msik where mp.organization_code=xm.organization_code and msik.organization_id = mp.organization_id and msik.concatenated_segments = xm.assembly_item) bom_item_id from xxen_bom_bill_of_materi_1523_u xm ) xm, bom_bill_of_materials bbom, bom_inventory_components bic, mtl_system_items_kfv msik, bom_subst where xm.inv_org_id = bbom.organization_id and xm.bom_item_id = bbom.assembly_item_id and nvl(xm.alternate_bom,' ') = nvl(bbom.alternate_bom_designator,' ') and -- bbom.common_bill_sequence_id = bic.bill_sequence_id and -- &lp_effective_display_clause1 &lp_effective_display_clause2 -- nvl(bic.eco_for_production,2) = 2 and bbom.organization_id = msik.organization_id and bic.component_item_id = msik.inventory_item_id and -- bic.component_sequence_id = bom_subst.component_sequence_id (+) ) -- -- Main Query Starts Here select /*+ push_pred(bom_subst) */ --process-- null action_, null status_, null message_, null request_id_, null modified_columns_, :p_upload_mode upload_mode, :p_enable_attrs_update enable_attrs_update, -- bom.organization_code, bom.assembly_item, bom.assembly_description, bom.bill_comment, bom.alternate_bom, bom.bill_implementation_date bill_implementation_date, bom.bill_implemented_flag, bom.common_bill_flag, bom.effectivity_control, bom.effectivity_control_code, bom.bill_attribute_category, bom.bom_bill_attribute1, bom.bom_bill_attribute2, bom.bom_bill_attribute3, bom.bom_bill_attribute4, bom.bom_bill_attribute5, bom.bom_bill_attribute6, bom.bom_bill_attribute7, bom.bom_bill_attribute8, bom.bom_bill_attribute9, bom.bom_bill_attribute10, bom.bom_bill_attribute11, bom.bom_bill_attribute12, bom.bom_bill_attribute13, bom.bom_bill_attribute14, bom.bom_bill_attribute15, -- bom.item_seq, bom.operation_seq operation_seq_old, bom.operation_seq, bom.component_item, bom.component_description, bom.component_quantity, bom.inverse_quantity, bom.date_effective_from date_effective_from_old, bom.date_effective_from date_effective_from, bom.date_effective_to date_effective_to, bom.end_item_unit_number_from end_item_unit_number_from_old, bom.end_item_unit_number_from, bom.end_item_unit_number_to, bom.basis_type, bom.basis, bom.planning_percent, bom.yield, bom.enforce_integer_quantity, bom.include_in_cost_rollup, bom.supply_type, bom.supply_subinventory, bom.supply_locator, bom.component_implemented_flag, bom.component_implementation_date component_implementation_date, bom.component_attribute_category, bom.bom_comp_attribute1, bom.bom_comp_attribute2, bom.bom_comp_attribute3, bom.bom_comp_attribute4, bom.bom_comp_attribute5, bom.bom_comp_attribute6, bom.bom_comp_attribute7, bom.bom_comp_attribute8, bom.bom_comp_attribute9, bom.bom_comp_attribute10, bom.bom_comp_attribute11, bom.bom_comp_attribute12, bom.bom_comp_attribute13, bom.bom_comp_attribute14, bom.bom_comp_attribute15, -- bom_subst.substitute_item substitute_item_old, bom_subst.substitute_item, bom_subst.substitute_description, bom_subst.substitute_quantity, bom_subst.substitute_inverse_quantity, bom_subst.subst_integer_requirements, bom_subst.substitute_attribute_category, bom_subst.bom_sub_attribute1, bom_subst.bom_sub_attribute2, bom_subst.bom_sub_attribute3, bom_subst.bom_sub_attribute4, bom_subst.bom_sub_attribute5, bom_subst.bom_sub_attribute6, bom_subst.bom_sub_attribute7, bom_subst.bom_sub_attribute8, bom_subst.bom_sub_attribute9, bom_subst.bom_sub_attribute10, bom_subst.bom_sub_attribute11, bom_subst.bom_sub_attribute12, bom_subst.bom_sub_attribute13, bom_subst.bom_sub_attribute14, bom_subst.bom_sub_attribute15, -- bom.bill_sequence_id, bom.organization_id, bom.assembly_item_id, bom.component_sequence_id, bom.component_item_id, bom_subst.substitute_component_id, to_char(null) row_id from bom, bom_subst where :p_display_option = :p_display_option and nvl(:p_restrict_org,'?') = nvl(:p_restrict_org,'?') and bom.component_sequence_id = bom_subst.component_sequence_id (+) |
| Parameter Name | SQL text | Validation | |
|---|---|---|---|
| Upload Mode |
| LOV | |
| Organization Code | LOV | ||
| Restrict Organization | LOV Oracle | ||
| Assembly |
| LOV | |
| Alternate BOM | LOV | ||
| Include Sub-Assemblies | LOV Oracle | ||
| Implemented Only | LOV Oracle | ||
| Display | LOV | ||
| Effective Date | DateTime |