Select dbms_aw.eval_number(listagg(' 1' ||
sys_connect_by_path(component_quantity,
' * '),
'+') within Group(Order By 1))
Into l_sta_quantity
From (Select bom.assembly_item_id, bic.component_item_id,
bom.organization_id, bic.component_quantity,
nvl(bic.wip_supply_type, msb.wip_supply_type) comp_wip_type
From bom_inventory_components bic, bom_bill_of_materials bom,
mtl_system_items_b msb
Where 1 = 1
And bom.organization_id = msb.organization_id
And bic.component_item_id = msb.inventory_item_id
And bom.organization_id = p_organization_id
And bic.bill_sequence_id = bom.common_bill_sequence_id
And g_end_date Between bic.effectivity_date And
nvl(bic.disable_date, g_end_date + 1)
And bom.alternate_bom_designator Is Null)
Where 1 = 1
And component_item_id = p_comp_id
And connect_by_root assembly_item_id = p_inventory_item_id
Start With assembly_item_id = p_inventory_item_id
Connect By nocycle Prior component_item_id = assembly_item_id
And Prior organization_id = organization_id
And Prior comp_wip_type In (5, 6)