CAC Where Used by Cost Type
Description
Categories: Enginatics
Repository: Github
Repository: Github
Report to download the single-level bills of materials and related component information, by organization by cost type. And while exploding the bills of material you can also compare with two cost types, as well as limit the report to only assemblies and component items with a zero item cost.
/* +=============================================================================+
-- | Copyri ... more
/* +=============================================================================+
-- | Copyri ... more
Run
CAC Where Used by Cost Type and other Oracle EBS reports with Blitz Report™ on our demo environment
select nvl(gl.short_name, gl.name) Ledger, haou2.name Operating_Unit, mp.organization_code Org_Code, msiv.concatenated_segments Assembly, msiv.description Assembly_Description, -- Revision for version 1.2 fcl_assy.meaning Assembly_Item_Type, -- Revision for version 1.4 misv.inventory_item_status_code Assembly_Status_Code, ml_assy.meaning Assembly_Make_Buy_Code, fl_assy.meaning Assembly_Costing_Enabled, fl_assy2.meaning Assembly_Asset, muomv.uom_code UOM_Code, ml_assy2.meaning BOM_Type, -- End for revision 1.4 bom.implementation_date Date_Implemented, mir.revision_code Item_Revision, -- End revision for version 1.2 &category_columns -- Revision for version 1.8 nvl(cic_assy2.item_cost,0) "&p_cost_type2 Assembly Cost", nvl(cic_assy.item_cost,0) "&p_cost_type Assembly Cost", nvl(cic_assy2.item_cost,0) - nvl(cic_assy.item_cost,0) Assembly_Cost_Difference, -- Calculate the percentage -- case -- when difference = 0 then 0 -- when new = 0 then 100% -- when old = 0 then -100% -- else old - new / old round( case when round((nvl(cic_assy2.item_cost,0) - nvl(cic_assy.item_cost,0)),5) = 0 then 0 when round(nvl(cic_assy2.item_cost,0),5) = 0 then -100 when round(nvl(cic_assy.item_cost,0),5) = 0 then 100 -- else New - Old / Old else round((nvl(cic_assy2.item_cost,0) - nvl(cic_assy.item_cost,0)),5) / round(nvl(cic_assy.item_cost,0),5) * 100 end,2) Assembly_Percent_Difference, -- End revision for version 1.8 comp.operation_seq_num Op_Seq, comp.item_num Item_Seq, msiv2.concatenated_segments Component, msiv2.description Component_Description, msiv2.primary_uom_code Component_UOM, fcl_comp.meaning Component_Item_Type, -- Revision for version 1.4 misv2.inventory_item_status_code Component_Status_Code, ml_comp.meaning Component_Make_Buy_Code, fl_comp.meaning Component_Costing_Enabled, fl_comp2.meaning Component_Asset, -- End revision for version 1.4 comp.component_quantity Quantity_per_Assembly, comp.effectivity_date Effective_From, comp.disable_date Effective_To, nvl(comp.planning_factor,0) Planning_Percent, comp.component_yield_factor Yield, -- Revision for version 1.4 ml_comp2.meaning Include_in_Cost_Rollup, ml_comp3.meaning WIP_Supply_Type, -- Revision for version 1.8 nvl(cic_comp2.item_cost,0) "&p_cost_type2 Component Cost", nvl(cic_comp.item_cost,0) "&p_cost_type Component Cost", nvl(cic_comp2.item_cost,0) - nvl(cic_comp.item_cost,0) Component_Cost_Difference, -- Calculate the percentage -- case -- when difference = 0 then 0 -- when new = 0 then 100% -- when old = 0 then -100% -- else old - new / old round( case when round((nvl(cic_comp2.item_cost,0) - nvl(cic_comp.item_cost,0)),5) = 0 then 0 when round(nvl(cic_comp2.item_cost,0),5) = 0 then -100 when round(nvl(cic_comp.item_cost,0),5) = 0 then 100 -- else New - Old / Old else round((nvl(cic_comp2.item_cost,0) - nvl(cic_comp.item_cost,0)),5) / round(nvl(cic_comp.item_cost,0),5) * 100 end,2) Component_Percent_Difference, -- End revision for version 1.8 -- End revision for version 1.4 nvl((select sum(mohd.transaction_quantity) from mtl_onhand_quantities_detail mohd, mtl_parameters mp where mohd.inventory_item_id = msiv.inventory_item_id and mp.organization_id = mohd.organization_id),0) Assembly_Onhand_Quantity, nvl((select sum(mohd.transaction_quantity) from mtl_onhand_quantities_detail mohd, mtl_parameters mp where mohd.inventory_item_id = msiv2.inventory_item_id and mp.organization_id = mohd.organization_id and mohd.organization_id = msiv2.organization_id),0) Component_Onhand_Quantity from mtl_parameters mp, mtl_system_items_vl msiv, -- Assembly mtl_system_items_vl msiv2, -- Component bom_structures_b bom, -- Revision for version 1.4 mtl_item_status_vl misv, -- Assembly mtl_item_status_vl misv2, -- Component mtl_units_of_measure_vl muomv, mtl_units_of_measure_vl muomv2, mfg_lookups ml_assy, mfg_lookups ml_assy2, fnd_lookups fl_assy, fnd_lookups fl_assy2, mfg_lookups ml_comp, mfg_lookups ml_comp2, mfg_lookups ml_comp3, fnd_lookups fl_comp, fnd_lookups fl_comp2, -- End revision for version 1.4 -- Revision for version 1.2 fnd_common_lookups fcl_assy, fnd_common_lookups fcl_comp, hr_organization_information hoi, hr_all_organization_units_vl haou, -- inv_organization_id hr_all_organization_units_vl haou2, -- operating unit gl_ledgers gl, -- End revision for version 1.2 -- Get the BOM Components (select comp.bill_sequence_id, comp.item_num, comp.operation_seq_num, comp.component_item_id, comp.component_quantity, max(comp.effectivity_date) effectivity_date, comp.disable_date, comp.planning_factor, comp.component_yield_factor, comp.include_in_cost_rollup, comp.wip_supply_type, comp.supply_subinventory, comp.supply_locator_id from bom_components_b comp, -- Revision for version 1.1 -- Add BOM table to only look at primary components bom_structures_b bom_comp, -- Revision for version 1.5 -- Add organization_parameters to limit by Org Code mtl_parameters mp, -- Revision for version 1.7 mtl_system_items_vl msiv2 where comp.effectivity_date <= sysdate and nvl(comp.disable_date, sysdate+1) > sysdate and bom_comp.alternate_bom_designator is null and bom_comp.common_assembly_item_id is null and bom_comp.assembly_type = 1 -- Manufacturing and bom_comp.bill_sequence_id = comp.bill_sequence_id -- Revision for version 1.5 and mp.organization_id = bom_comp.organization_id -- Revision for version 1.7 and msiv2.organization_id = bom_comp.organization_id and msiv2.inventory_item_id = comp.component_item_id and mp.organization_id in (select oav.organization_id from org_access_view oav where oav.resp_application_id=fnd_global.resp_appl_id and oav.responsibility_id=fnd_global.resp_id) and 5=5 -- p_org_code and 6=6 -- p_comp_number -- Revision for version 1.9 and 8=8 -- p_include_unimplemented_ECOs group by comp.bill_sequence_id, comp.item_num, comp.operation_seq_num, comp.component_item_id, comp.component_quantity, comp.disable_date, comp.planning_factor, comp.component_yield_factor, comp.include_in_cost_rollup, comp.wip_supply_type, comp.supply_subinventory, comp.supply_locator_id) comp, -- Get the Item_Revisions (select max(mir.revision) revision_code, mir.inventory_item_id inventory_item_id, mir.organization_id organization_id from mtl_item_revisions_b mir, -- Revision for version 1.5 -- Add organization_parameters to limit by Org Code mtl_parameters mp where mir.effectivity_date <= sysdate -- Revision for version 1.5 and mp.organization_id = mir.organization_id and mp.organization_id in (select oav.organization_id from org_access_view oav where oav.resp_application_id=fnd_global.resp_appl_id and oav.responsibility_id=fnd_global.resp_id) and 5=5 -- p_org_code group by mir.inventory_item_id, mir.organization_id) mir, -- Revision for version 1.1 -- inv.mtl_item_locations mil -- Revision for version 1.4 -- Need table select statements to avoid 2nd outer join (select cic.cost_type_id, cct.cost_type, cic.inventory_item_id, cic.organization_id, cic.item_cost from cst_cost_types cct, cst_item_costs cic, -- Revision for version 1.4 mtl_parameters mp, -- Revision for version 1.7 mtl_system_items_vl msiv where cct.cost_type_id = cic.cost_type_id -- Revision for version 1.7 and msiv.organization_id = cic.organization_id and msiv.inventory_item_id = cic.inventory_item_id -- Revision for version 1.9 and mp.organization_id = msiv.organization_id -- End revision for version 1.9 and 4=4 -- p_cost_type and mp.organization_id in (select oav.organization_id from org_access_view oav where oav.resp_application_id=fnd_global.resp_appl_id and oav.responsibility_id=fnd_global.resp_id) and 5=5 -- p_org_code and 7=7 -- p_assy_number ) cic_assy, (select cic.cost_type_id, cct.cost_type, cic.inventory_item_id, cic.organization_id, cic.item_cost from cst_cost_types cct, cst_item_costs cic, -- Revision for version 1.4 mtl_parameters mp, -- Revision for version 1.7 mtl_system_items_vl msiv2 where cct.cost_type_id = cic.cost_type_id -- Revision for version 1.4 and mp.organization_id = cic.organization_id -- Revision for version 1.7 and msiv2.organization_id = cic.organization_id and msiv2.inventory_item_id = cic.inventory_item_id and 4=4 -- p_cost_type and mp.organization_id in (select oav.organization_id from org_access_view oav where oav.resp_application_id=fnd_global.resp_appl_id and oav.responsibility_id=fnd_global.resp_id) and 5=5 -- p_org_code and 6=6 -- p_comp_number ) cic_comp, -- End of revision for version 1.4 -- Revision for version 1.8 (select cic.cost_type_id, cct.cost_type, cic.inventory_item_id, cic.organization_id, cic.item_cost from cst_cost_types cct, cst_item_costs cic, -- Revision for version 1.4 mtl_parameters mp, -- Revision for version 1.7 mtl_system_items_vl msiv where cct.cost_type_id = cic.cost_type_id and msiv.organization_id = cic.organization_id and msiv.inventory_item_id = cic.inventory_item_id -- Revision for version 1.9 and mp.organization_id = msiv.organization_id and 9=9 -- p_cost_type2 and mp.organization_id in (select oav.organization_id from org_access_view oav where oav.resp_application_id=fnd_global.resp_appl_id and oav.responsibility_id=fnd_global.resp_id) and 5=5 -- p_org_code and 7=7 -- p_assy_number ) cic_assy2, -- comparison assembly cost type (select cic.cost_type_id, cct.cost_type, cic.inventory_item_id, cic.organization_id, cic.item_cost from cst_cost_types cct, cst_item_costs cic, mtl_parameters mp, mtl_system_items_vl msiv2 where cct.cost_type_id = cic.cost_type_id and msiv2.organization_id = cic.organization_id and msiv2.inventory_item_id = cic.inventory_item_id -- Revision for version 1.9 and mp.organization_id = msiv2.organization_id and 9=9 -- p_cost_type and mp.organization_id in (select oav.organization_id from org_access_view oav where oav.resp_application_id=fnd_global.resp_appl_id and oav.responsibility_id=fnd_global.resp_id) and 5=5 -- p_org_code and 6=6 -- p_comp_number ) cic_comp2 -- comparison component cost type -- End revision for version 1.8 where mp.organization_id = msiv.organization_id and msiv.organization_id = bom.organization_id and msiv.inventory_item_id = bom.assembly_item_id and msiv2.organization_id = mp.organization_id and msiv2.inventory_item_id = comp.component_item_id and bom.alternate_bom_designator is null and bom.common_assembly_item_id is null and bom.assembly_type = 1 -- Manufacturing and bom.bill_sequence_id = comp.bill_sequence_id and comp.effectivity_date <= sysdate and nvl(comp.disable_date, sysdate+1) > sysdate and msiv.organization_id = mir.organization_id and msiv.inventory_item_id = mir.inventory_item_id -- Revision for version 1.1 -- and comp.supply_locator_id = mil.inventory_location_id (+) -- Revision for version 1.1 -- Don't report obsolete or inactive items and msiv.inventory_item_status_code <> 'Inactive' and msiv2.inventory_item_status_code <> 'Inactive' -- Revision for version 1.4 and muomv.uom_code = msiv.primary_uom_code and misv.inventory_item_status_code = msiv.inventory_item_status_code and muomv2.uom_code = msiv2.primary_uom_code and misv2.inventory_item_status_code = msiv2. |