31: are returned.
32: Config BOMs created before Patchset-I do not have optional_on_model flag
33: populated. For these configs, all components will be treated as mandatory
34: and so, no components will be returned.
35: The optional components are populated in table bom_explosion_temp with
36: a unique group_id. The group_id is passed back to the calling application.
37: ***********************************************************************/
38: PROCEDURE get_config_details
39: (
111: raise FND_API.G_EXC_ERROR;
112: END;
113:
114: lStmtNumber := 30;
115: select bom_explosion_temp_s.nextval
116: into x_grp_id
117: from dual;
118:
119: x_group_id := x_grp_id;
171: raise FND_API.G_EXC_ERROR;
172: END;
173:
174: lStmtNumber := 60;
175: select bom_explosion_temp_s.nextval
176: into x_grp_id
177: from dual;
178:
179: x_group_id := x_grp_id;
234: oe_debug_pub.add('get_config_details:l_line_id::'||to_char(l_line_id));
235: END IF;
236:
237: lStmtNumber := 90;
238: select bom_explosion_temp_s.nextval
239: into x_grp_id
240: from dual;
241:
242: x_group_id := x_grp_id;
294: raise FND_API.G_EXC_ERROR;
295: END;
296:
297: lStmtNumber := 120;
298: select bom_explosion_temp_s.nextval
299: into x_grp_id
300: from dual;
301:
302: x_group_id := x_grp_id;
386:
387: /***********************************************************************
388: This procedure returns the optional components of a configuration item
389: and its child configuration items, based on a sales order. The optional
390: components are populated in table bom_explosion_temp for input parameter
391: group_id. If p_configs_only = 'Y', only child configuration items are
392: returned.
393: ***********************************************************************/
394: PROCEDURE get_config_details_bcol
444:
445: IF (g_configs_only = 'N') THEN
446: -- insert details from order lines
447: lStmtNumber := 20;
448: insert into bom_explosion_temp(
449: top_bill_sequence_id, -- not null
450: bill_sequence_id, -- not null
451: organization_id, -- not null
452: sort_order, -- not null
504: WHILE rowcount > 0 LOOP
505:
506: l_sort := l_sort + 1;
507:
508: insert into bom_explosion_temp(
509: top_bill_sequence_id, -- not null
510: bill_sequence_id, -- not null
511: organization_id, -- not null
512: sort_order, -- not null
535: p_grp_id
536: from
537: bom_cto_order_lines bcol1 -- component
538: ,bom_cto_order_lines bcol2 -- parent model
539: ,bom_explosion_temp bet
540: where bcol1.parent_ato_line_id = bet.line_id
541: and bcol2.line_id = bet.line_id
542: and bet.group_id = p_grp_id
543: and bet.sort_order = to_char(l_sort - 1)
558: bcol1.order_quantity_uom, --primary_uom_code
559: p_grp_id
560: from
561: bom_cto_order_lines bcol1
562: ,bom_explosion_temp bet
563: where bcol1.line_id = bet.line_id
564: and bet.group_id = p_grp_id
565: and bet.sort_order = to_char(l_sort - 1)
566: and nvl(bet.configurator_flag, 'N') = 'Y'
577: END LOOP;
578:
579: ELSE /* configs_only = Y */
580: lStmtNumber := 40;
581: insert into bom_explosion_temp(
582: top_bill_sequence_id, -- not null
583: bill_sequence_id, -- not null
584: organization_id, -- not null
585: sort_order, -- not null
620: WHILE rowcount > 0 LOOP
621:
622: l_sort := l_sort + 1;
623:
624: insert into bom_explosion_temp(
625: top_bill_sequence_id, -- not null
626: bill_sequence_id, -- not null
627: organization_id, -- not null
628: sort_order, -- not null
651: p_grp_id
652: from
653: bom_cto_order_lines bcol1 -- component
654: ,bom_cto_order_lines bcol2 -- parent model
655: ,bom_explosion_temp bet
656: where bcol1.parent_ato_line_id = bet.line_id
657: and bcol1.config_item_id is not null
658: and bcol2.line_id = bet.line_id
659: and bet.group_id = p_grp_id
723:
724: /***********************************************************************
725: This procedure returns the optional components of a configuration item
726: and its child configuration items, based on the configuration BOM. The
727: optional components are populated in table bom_explosion_temp for
728: input parameter group_id.
729: ***********************************************************************/
730: PROCEDURE get_config_details_bom
731: (p_item_id IN NUMBER,
760:
761: lStmtNumber := 20;
762:
763: -- insert top level config BOM
764: insert into bom_explosion_temp(
765: top_bill_sequence_id, -- not null
766: bill_sequence_id, -- not null
767: organization_id, -- not null
768: sort_order, -- not null
813: WHILE rowcount > 0 LOOP
814:
815: l_sort := l_sort + 1;
816:
817: insert into bom_explosion_temp(
818: top_bill_sequence_id, -- not null
819: bill_sequence_id, -- not null
820: organization_id, -- not null
821: sort_order, -- not null
844: bic.basis_type /* LBM Project change */
845: from
846: bom_inventory_components bic,
847: bom_bill_of_materials bbom,
848: bom_explosion_temp bet,
849: mtl_system_items msi, -- bet component join
850: mtl_system_items msi2 -- bic component join
851: where
852: bbom.assembly_item_id = bet.component_item_id
883:
884: lStmtNumber := 40;
885:
886: -- insert configs from top level config BOM
887: insert into bom_explosion_temp(
888: top_bill_sequence_id, -- not null
889: bill_sequence_id, -- not null
890: organization_id, -- not null
891: sort_order, -- not null
936: WHILE rowcount > 0 LOOP
937:
938: l_sort := l_sort + 1;
939:
940: insert into bom_explosion_temp(
941: top_bill_sequence_id, -- not null
942: bill_sequence_id, -- not null
943: organization_id, -- not null
944: sort_order, -- not null
967: bic.basis_type /* LBM Project change */
968: from
969: bom_inventory_components bic,
970: bom_bill_of_materials bbom,
971: bom_explosion_temp bet,
972: mtl_system_items msi
973: where
974: bbom.assembly_item_id = bet.component_item_id
975: and bbom.organization_id =
1089: select component_item_id
1090: , configurator_flag
1091: , component_quantity
1092: , primary_uom_code
1093: from bom_explosion_temp
1094: where group_id = x_group_id
1095: and nvl(optional, 1) = 1
1096: and assembly_item_id = l_item_id;
1097: