52: FROM ENG_CHANGES_EXT_B
53: WHERE change_id = p_change_id;
54:
55: BEGIN
56: INV_EBI_UTIL.debug_line('STEP 10: START INSIDE INV_EBI_CHANGE_ORDER_HELPER.get_change_order_uda ');
57: INV_EBI_UTIL.debug_line('STEP 20: ECO NUMBER: '|| p_change_id);
58: x_return_status := FND_API.g_ret_sts_success;
59: l_output_status := inv_ebi_output_status(fnd_api.g_ret_sts_success,NULL,NULL,NULL);
60: l_uda_output_obj := inv_ebi_eco_output_obj(NULL,NULL,NULL,NULL,l_output_status,NULL,NULL);
53: WHERE change_id = p_change_id;
54:
55: BEGIN
56: INV_EBI_UTIL.debug_line('STEP 10: START INSIDE INV_EBI_CHANGE_ORDER_HELPER.get_change_order_uda ');
57: INV_EBI_UTIL.debug_line('STEP 20: ECO NUMBER: '|| p_change_id);
58: x_return_status := FND_API.g_ret_sts_success;
59: l_output_status := inv_ebi_output_status(fnd_api.g_ret_sts_success,NULL,NULL,NULL);
60: l_uda_output_obj := inv_ebi_eco_output_obj(NULL,NULL,NULL,NULL,l_output_status,NULL,NULL);
61:
77: SELECT change_order_type_id INTO l_change_order_type_id
78: FROM eng_engineering_changes
79: WHERE change_id = p_change_id;
80:
81: l_application_id:= INV_EBI_UTIL.get_application_id(
82: p_application_short_name => 'ENG'
83: );
84:
85: IF(l_application_id IS NULL ) THEN
87: FND_MESSAGE.set_token('COL_VALUE', 'ENG');
88: FND_MSG_PUB.add;
89: RAISE FND_API.g_exc_error;
90: END IF;
91: INV_EBI_UTIL.debug_line('STEP 30: BEFORE CALLING INV_EBI_ITEM_HELPER.get_uda_attributes');
92: INV_EBI_ITEM_HELPER.get_uda_attributes(
93: p_classification_id => l_change_order_type_id,
94: p_attr_group_type => INV_EBI_UTIL.G_ENG_CHANGEMGMT_GROUP,
95: p_application_id => l_application_id,
90: END IF;
91: INV_EBI_UTIL.debug_line('STEP 30: BEFORE CALLING INV_EBI_ITEM_HELPER.get_uda_attributes');
92: INV_EBI_ITEM_HELPER.get_uda_attributes(
93: p_classification_id => l_change_order_type_id,
94: p_attr_group_type => INV_EBI_UTIL.G_ENG_CHANGEMGMT_GROUP,
95: p_application_id => l_application_id,
96: p_attr_grp_id_tbl => l_attr_group_id_tbl,
97: p_data_level => INV_EBI_UTIL.G_CHANGE_LEVEL,
98: p_revision_id => NULL,
93: p_classification_id => l_change_order_type_id,
94: p_attr_group_type => INV_EBI_UTIL.G_ENG_CHANGEMGMT_GROUP,
95: p_application_id => l_application_id,
96: p_attr_grp_id_tbl => l_attr_group_id_tbl,
97: p_data_level => INV_EBI_UTIL.G_CHANGE_LEVEL,
98: p_revision_id => NULL,
99: p_object_name => INV_EBI_UTIL.G_CHANGE_OBJ_NAME,
100: p_pk_data => l_pkdata,
101: x_uda_obj => x_change_uda,
95: p_application_id => l_application_id,
96: p_attr_grp_id_tbl => l_attr_group_id_tbl,
97: p_data_level => INV_EBI_UTIL.G_CHANGE_LEVEL,
98: p_revision_id => NULL,
99: p_object_name => INV_EBI_UTIL.G_CHANGE_OBJ_NAME,
100: p_pk_data => l_pkdata,
101: x_uda_obj => x_change_uda,
102: x_uda_output_obj => l_uda_output_obj );
103: INV_EBI_UTIL.debug_line('STEP 40: END CALLING INV_EBI_ITEM_HELPER.get_uda_attributes STATUS: '|| l_uda_output_obj.output_status.return_status);
99: p_object_name => INV_EBI_UTIL.G_CHANGE_OBJ_NAME,
100: p_pk_data => l_pkdata,
101: x_uda_obj => x_change_uda,
102: x_uda_output_obj => l_uda_output_obj );
103: INV_EBI_UTIL.debug_line('STEP 40: END CALLING INV_EBI_ITEM_HELPER.get_uda_attributes STATUS: '|| l_uda_output_obj.output_status.return_status);
104: IF(l_uda_output_obj.output_status.return_status <> FND_API.G_RET_STS_SUCCESS) THEN
105: x_msg_data := l_uda_output_obj.output_status.msg_data ;
106: RAISE FND_API.g_exc_unexpected_error;
107: END IF;
106: RAISE FND_API.g_exc_unexpected_error;
107: END IF;
108: END IF;
109: END IF;
110: INV_EBI_UTIL.debug_line('STEP 50: END INSIDE INV_EBI_CHANGE_ORDER_HELPER.get_change_order_uda ');
111: EXCEPTION
112: WHEN FND_API.g_exc_unexpected_error THEN
113:
114: IF c_attr_group_id%ISOPEN THEN
187: AND NVL(alternate_bom_designator, 'NONE') = DECODE(p_alternate_bom_code,FND_API.G_MISS_CHAR,'NONE',NULL,'NONE',p_alternate_bom_code) ;
188:
189:
190: BEGIN
191: INV_EBI_UTIL.debug_line('STEP 10: START INSIDE INV_EBI_CHANGE_ORDER_HELPER.get_structure_header_uda');
192: INV_EBI_UTIL.debug_line('STEP 20: ASSY ITEM ID :' || p_assembly_item_id || 'ORG ID: '|| p_organization_id );
193: x_return_status := FND_API.g_ret_sts_success;
194: l_output_status := inv_ebi_output_status(fnd_api.g_ret_sts_success,NULL,NULL,NULL);
195: l_uda_output_obj := inv_ebi_eco_output_obj(NULL,NULL,NULL,NULL,l_output_status,NULL,NULL);
188:
189:
190: BEGIN
191: INV_EBI_UTIL.debug_line('STEP 10: START INSIDE INV_EBI_CHANGE_ORDER_HELPER.get_structure_header_uda');
192: INV_EBI_UTIL.debug_line('STEP 20: ASSY ITEM ID :' || p_assembly_item_id || 'ORG ID: '|| p_organization_id );
193: x_return_status := FND_API.g_ret_sts_success;
194: l_output_status := inv_ebi_output_status(fnd_api.g_ret_sts_success,NULL,NULL,NULL);
195: l_uda_output_obj := inv_ebi_eco_output_obj(NULL,NULL,NULL,NULL,l_output_status,NULL,NULL);
196:
219: l_pkdata := EGO_COL_NAME_VALUE_PAIR_ARRAY();
220: l_pkdata.extend(1);
221: l_pkdata(1) := EGO_COL_NAME_VALUE_PAIR_OBJ('BILL_SEQUENCE_ID',l_bill_sequence_id);
222:
223: l_application_id:= INV_EBI_UTIL.get_application_id(
224: p_application_short_name => 'BOM'
225: );
226: IF(l_application_id IS NULL ) THEN
227:
229: FND_MESSAGE.set_token('COL_VALUE', 'BOM');
230: FND_MSG_PUB.add;
231: RAISE FND_API.g_exc_error;
232: END IF;
233: INV_EBI_UTIL.debug_line('STEP 30: BEFORE CALLING INV_EBI_ITEM_HELPER.get_uda_attributes');
234: INV_EBI_ITEM_HELPER.get_uda_attributes(
235: p_classification_id => l_structure_type_id,
236: p_attr_group_type => INV_EBI_UTIL.G_BOM_STRUCTUREMGMT_GROUP,
237: p_application_id => l_application_id,
232: END IF;
233: INV_EBI_UTIL.debug_line('STEP 30: BEFORE CALLING INV_EBI_ITEM_HELPER.get_uda_attributes');
234: INV_EBI_ITEM_HELPER.get_uda_attributes(
235: p_classification_id => l_structure_type_id,
236: p_attr_group_type => INV_EBI_UTIL.G_BOM_STRUCTUREMGMT_GROUP,
237: p_application_id => l_application_id,
238: p_attr_grp_id_tbl => l_attr_group_id_tbl,
239: p_data_level => INV_EBI_UTIL.G_STRUCTURES_LEVEL,
240: p_revision_id => NULL,
235: p_classification_id => l_structure_type_id,
236: p_attr_group_type => INV_EBI_UTIL.G_BOM_STRUCTUREMGMT_GROUP,
237: p_application_id => l_application_id,
238: p_attr_grp_id_tbl => l_attr_group_id_tbl,
239: p_data_level => INV_EBI_UTIL.G_STRUCTURES_LEVEL,
240: p_revision_id => NULL,
241: p_object_name => INV_EBI_UTIL.G_BOM_STRUCTURE_OBJ_NAME,
242: p_pk_data => l_pkdata,
243: x_uda_obj => x_structure_header_uda,
237: p_application_id => l_application_id,
238: p_attr_grp_id_tbl => l_attr_group_id_tbl,
239: p_data_level => INV_EBI_UTIL.G_STRUCTURES_LEVEL,
240: p_revision_id => NULL,
241: p_object_name => INV_EBI_UTIL.G_BOM_STRUCTURE_OBJ_NAME,
242: p_pk_data => l_pkdata,
243: x_uda_obj => x_structure_header_uda,
244: x_uda_output_obj => l_uda_output_obj
245: );
242: p_pk_data => l_pkdata,
243: x_uda_obj => x_structure_header_uda,
244: x_uda_output_obj => l_uda_output_obj
245: );
246: INV_EBI_UTIL.debug_line('STEP 40: END CALLING INV_EBI_ITEM_HELPER.get_uda_attributes STATUS: ' || l_uda_output_obj.output_status.return_status );
247: IF(l_uda_output_obj.output_status.return_status <> FND_API.G_RET_STS_SUCCESS) THEN
248: x_msg_data := l_uda_output_obj.output_status.msg_data ;
249: RAISE FND_API.g_exc_unexpected_error;
250: END IF;
252: CLOSE c_attr_group_id;
253: END IF;
254: CLOSE c_bom_count;
255: END IF;
256: INV_EBI_UTIL.debug_line('STEP 50: END INSIDE INV_EBI_CHANGE_ORDER_HELPER.get_structure_header_uda');
257: EXCEPTION
258: WHEN FND_API.g_exc_unexpected_error THEN
259:
260: IF c_attr_group_id%ISOPEN THEN
355: component_item_id = p_component_item_id AND
356: change_notice = p_eco_name;
357:
358: BEGIN
359: INV_EBI_UTIL.debug_line('STEP 10: START INSIDE INV_EBI_CHANGE_ORDER_HELPER.get_component_item_uda');
360: INV_EBI_UTIL.debug_line('STEP 20: ECO NAME: '|| p_eco_name || 'REVISED ITEM ID: '|| p_revised_item_id ||
361: 'COMPONENT NAME: '|| p_component_item_name ||'ORG ID: ' || p_organization_id);
362: x_return_status := FND_API.g_ret_sts_success;
363: l_output_status := inv_ebi_output_status(fnd_api.g_ret_sts_success,NULL,NULL,NULL);
356: change_notice = p_eco_name;
357:
358: BEGIN
359: INV_EBI_UTIL.debug_line('STEP 10: START INSIDE INV_EBI_CHANGE_ORDER_HELPER.get_component_item_uda');
360: INV_EBI_UTIL.debug_line('STEP 20: ECO NAME: '|| p_eco_name || 'REVISED ITEM ID: '|| p_revised_item_id ||
361: 'COMPONENT NAME: '|| p_component_item_name ||'ORG ID: ' || p_organization_id);
362: x_return_status := FND_API.g_ret_sts_success;
363: l_output_status := inv_ebi_output_status(fnd_api.g_ret_sts_success,NULL,NULL,NULL);
364: l_uda_output_obj := inv_ebi_eco_output_obj(NULL,NULL,NULL,NULL,l_output_status,NULL,NULL);
378: l_component_item_id := INV_EBI_ITEM_HELPER.get_inventory_item_id (
379: p_organization_id => p_organization_id
380: ,p_item_number => p_component_item_name
381: );
382: INV_EBI_UTIL.debug_line('STEP 30: COMPONENT ITEM ID: '|| l_component_item_id );
383: IF c_comp_count%ISOPEN THEN
384: CLOSE c_comp_count;
385: END IF;
386:
402: l_pkdata.extend(2);
403: l_pkdata(1) := EGO_COL_NAME_VALUE_PAIR_OBJ('BILL_SEQUENCE_ID',l_bill_sequence_id);
404: l_pkdata(2) := EGO_COL_NAME_VALUE_PAIR_OBJ('COMPONENT_SEQUENCE_ID',l_component_sequence_id);
405:
406: l_application_id:= INV_EBI_UTIL.get_application_id(
407: p_application_short_name => 'BOM'
408: );
409:
410: IF(l_application_id IS NULL ) THEN
412: FND_MESSAGE.set_token('COL_VALUE', 'BOM');
413: FND_MSG_PUB.add;
414: RAISE FND_API.g_exc_error;
415: END IF;
416: INV_EBI_UTIL.debug_line('STEP 40: BEFORE CALLING INV_EBI_ITEM_HELPER.get_uda_attributes');
417: INV_EBI_ITEM_HELPER.get_uda_attributes(
418: p_classification_id => l_structure_type_id,
419: p_attr_group_type => INV_EBI_UTIL.G_BOM_COMPONENTMGMT_GROUP,
420: p_application_id => l_application_id,
415: END IF;
416: INV_EBI_UTIL.debug_line('STEP 40: BEFORE CALLING INV_EBI_ITEM_HELPER.get_uda_attributes');
417: INV_EBI_ITEM_HELPER.get_uda_attributes(
418: p_classification_id => l_structure_type_id,
419: p_attr_group_type => INV_EBI_UTIL.G_BOM_COMPONENTMGMT_GROUP,
420: p_application_id => l_application_id,
421: p_attr_grp_id_tbl => l_attr_group_id_tbl,
422: p_data_level => INV_EBI_UTIL.G_COMPONENTS_LEVEL,
423: p_revision_id => NULL,
418: p_classification_id => l_structure_type_id,
419: p_attr_group_type => INV_EBI_UTIL.G_BOM_COMPONENTMGMT_GROUP,
420: p_application_id => l_application_id,
421: p_attr_grp_id_tbl => l_attr_group_id_tbl,
422: p_data_level => INV_EBI_UTIL.G_COMPONENTS_LEVEL,
423: p_revision_id => NULL,
424: p_object_name => INV_EBI_UTIL.G_BOM_COMPONENTS_OBJ_NAME,
425: p_pk_data => l_pkdata,
426: x_uda_obj => x_comp_item_uda,
420: p_application_id => l_application_id,
421: p_attr_grp_id_tbl => l_attr_group_id_tbl,
422: p_data_level => INV_EBI_UTIL.G_COMPONENTS_LEVEL,
423: p_revision_id => NULL,
424: p_object_name => INV_EBI_UTIL.G_BOM_COMPONENTS_OBJ_NAME,
425: p_pk_data => l_pkdata,
426: x_uda_obj => x_comp_item_uda,
427: x_uda_output_obj => l_uda_output_obj
428: );
425: p_pk_data => l_pkdata,
426: x_uda_obj => x_comp_item_uda,
427: x_uda_output_obj => l_uda_output_obj
428: );
429: INV_EBI_UTIL.debug_line('STEP 50: END CALLING INV_EBI_ITEM_HELPER.get_uda_attributes STATUS: '|| l_uda_output_obj.output_status.return_status);
430: IF(l_uda_output_obj.output_status.return_status <> FND_API.G_RET_STS_SUCCESS) THEN
431: x_msg_data := l_uda_output_obj.output_status.msg_data ;
432: RAISE FND_API.g_exc_unexpected_error;
433: END IF;
437: CLOSE c_comp_count;
438: END IF;
439: CLOSE c_bom_count;
440: END IF;
441: INV_EBI_UTIL.debug_line('STEP 60: END INSIDE INV_EBI_CHANGE_ORDER_HELPER.get_component_item_uda');
442: EXCEPTION
443: WHEN FND_API.g_exc_unexpected_error THEN
444:
445: IF c_attr_group_id%ISOPEN THEN
553:
554: l_output_status := inv_ebi_output_status(fnd_api.g_ret_sts_success,NULL,NULL,NULL);
555: x_out := inv_ebi_eco_output_obj(NULL,NULL,NULL,NULL,l_output_status,NULL,NULL);
556:
557: INV_EBI_UTIL.debug_line('STEP 10: INSIDE INV_EBI_CHANGE_ORDER_HELPER.transform_substitute_comp_info');
558: l_component_item := p_component_item;
559: IF(p_sub_component_tbl IS NOT NULL AND p_sub_component_tbl.COUNT > 0 ) THEN
560:
561: l_sub_comp_tbl := inv_ebi_sub_comp_tbl();
583: l_component_item.substitute_component_tbl := l_sub_comp_tbl;
584: END IF;
585:
586: END IF;
587: INV_EBI_UTIL.debug_line('STEP 20: END INV_EBI_CHANGE_ORDER_HELPER.transform_substitute_comp_info STATUS: ' || x_out.output_status.return_status);
588: x_component_item := l_component_item;
589: EXCEPTION
590: WHEN OTHERS THEN
591:
618: BEGIN
619:
620: l_output_status := inv_ebi_output_status(fnd_api.g_ret_sts_success,NULL,NULL,NULL);
621: x_out := inv_ebi_eco_output_obj(NULL,NULL,NULL,NULL,l_output_status,NULL,NULL);
622: INV_EBI_UTIL.debug_line('STEP 10: INSIDE INV_EBI_CHANGE_ORDER_HELPER.transform_ref_desg');
623: l_component_item := p_component_item;
624:
625: IF(p_ref_desg_tbl IS NOT NULL AND p_ref_desg_tbl.COUNT > 0 ) THEN
626:
649: l_component_item.reference_designator_tbl := l_ref_desg_tbl;
650: END IF;
651:
652: END IF;
653: INV_EBI_UTIL.debug_line('STEP 20: END INV_EBI_CHANGE_ORDER_HELPER.transform_ref_desg STATUS: ' || x_out.output_status.return_status);
654: x_component_item := l_component_item;
655: EXCEPTION
656: WHEN OTHERS THEN
657:
695: BEGIN
696: l_output_status := inv_ebi_output_status(fnd_api.g_ret_sts_success,NULL,NULL,NULL);
697: x_out := inv_ebi_eco_output_obj(NULL,NULL,NULL,NULL,l_output_status,NULL,NULL);
698:
699: INV_EBI_UTIL.debug_line('STEP 10: INSIDE INV_EBI_CHANGE_ORDER_HELPER.merge_subcomp_refdesg_info');
700: l_dest_component_item := p_dest_component_item;
701: l_src_sub_comp_tbl := p_src_component_item.substitute_component_tbl;
702: l_src_ref_desg_tbl := p_src_component_item.reference_designator_tbl;
703: l_dest_sub_comp_tbl := l_dest_component_item.substitute_component_tbl;
744: END IF;
745: END LOOP;
746: END IF;
747:
748: INV_EBI_UTIL.debug_line('STEP 20: AFTER Merging Substitute Components');
749: l_dest_component_item.substitute_component_tbl := l_dest_sub_comp_tbl;
750:
751: IF( l_src_ref_desg_tbl IS NOT NULL AND l_src_ref_desg_tbl.COUNT > 0) THEN
752: FOR i IN 1..l_src_ref_desg_tbl.COUNT LOOP
787: END IF;
788: END IF;
789: END LOOP;
790: END IF;
791: INV_EBI_UTIL.debug_line('STEP 30: AFTER Merging Reference Designators');
792: l_dest_component_item.reference_designator_tbl := l_dest_ref_desg_tbl;
793: INV_EBI_UTIL.debug_line('STEP 40: END merge_subcomp_refdesg_info STATUS: ' || x_out.output_status.return_status);
794: x_dest_component_item := l_dest_component_item;
795: EXCEPTION
789: END LOOP;
790: END IF;
791: INV_EBI_UTIL.debug_line('STEP 30: AFTER Merging Reference Designators');
792: l_dest_component_item.reference_designator_tbl := l_dest_ref_desg_tbl;
793: INV_EBI_UTIL.debug_line('STEP 40: END merge_subcomp_refdesg_info STATUS: ' || x_out.output_status.return_status);
794: x_dest_component_item := l_dest_component_item;
795: EXCEPTION
796:
797: WHEN OTHERS THEN
838: x_out := inv_ebi_eco_output_obj(NULL,NULL,NULL,NULL,l_output_status,NULL,NULL);
839:
840: l_revised_item_obj := p_revised_item_obj;
841: l_comp_item_tbl := inv_ebi_rev_comp_tbl();
842: INV_EBI_UTIL.debug_line('STEP 10: INSIDE INV_EBI_CHANGE_ORDER_HELPER.transform_replicate_bom_info');
843: FOR i IN 1..p_eco_obj_list.COUNT LOOP
844: IF(p_eco_obj_list(i).eco_revised_item_type IS NOT NULL AND p_eco_obj_list(i).eco_revised_item_type.COUNT > 0) THEN
845:
846: FOR j IN 1..p_eco_obj_list(i).eco_revised_item_type.COUNT LOOP
843: FOR i IN 1..p_eco_obj_list.COUNT LOOP
844: IF(p_eco_obj_list(i).eco_revised_item_type IS NOT NULL AND p_eco_obj_list(i).eco_revised_item_type.COUNT > 0) THEN
845:
846: FOR j IN 1..p_eco_obj_list(i).eco_revised_item_type.COUNT LOOP
847: INV_EBI_UTIL.debug_line('STEP 20: ITEM NAME: '|| l_revised_item_obj.orignal_bom_reference.item_name ||
848: 'ORG CODE: '|| l_revised_item_obj.orignal_bom_reference.ORGANIZATION_CODE);
849: IF( p_eco_obj_list(i).eco_revised_item_type(j).revised_item_name = l_revised_item_obj.orignal_bom_reference.item_name
850: AND p_eco_obj_list(i).eco_change_order_type.organization_code = l_revised_item_obj.orignal_bom_reference.ORGANIZATION_CODE) THEN
851: IF(p_eco_obj_list(i).eco_revised_item_type(j).component_item_tbl IS NOT NULL AND p_eco_obj_list(i).eco_revised_item_type(j).component_item_tbl.COUNT > 0) THEN
853:
854: l_comp_item_tbl := p_eco_obj_list(i).eco_revised_item_type(j).component_item_tbl;
855:
856:
857: l_config_view_scope := INV_EBI_UTIL.get_config_param_value (
858: p_config_tbl => p_eco_obj_list(i).name_value_tbl
859: ,p_config_param_name => 'REPLICATE_BOM_VIEW_SCOPE'
860: );
861:
859: ,p_config_param_name => 'REPLICATE_BOM_VIEW_SCOPE'
860: );
861:
862:
863: l_config_impl_scope := INV_EBI_UTIL.get_config_param_value (
864: p_config_tbl => p_eco_obj_list(i).name_value_tbl
865: ,p_config_param_name => 'REPLICATE_BOM_IMPLEMENTATION_SCOPE'
866: );
867: l_as_of_date := l_revised_item_obj.orignal_bom_reference.as_of_date;
878: l_effectivity_date := get_latest_effectivity_date(
879: p_inventory_item_id => l_inventory_item_id,
880: p_organization_id => l_organization_id
881: );
882: INV_EBI_UTIL.debug_line('STEP 30: ORG ID: '|| l_organization_id || 'INV ITEM ID: ' || l_inventory_item_id || 'EFFECTIVITY DATE: '|| l_effectivity_date);
883: IF(l_effectivity_date < SYSDATE ) THEN
884: l_effectivity_date := SYSDATE;
885: END IF;
886:
924: ) THEN
925:
926: l_comp_exists := TRUE;
927:
928: INV_EBI_UTIL.debug_line('STEP 40: BEFORE CALLING INV_EBI_CHANGE_ORDER_HELPER.merge_subcomp_refdesg_info');
929: INV_EBI_UTIL.debug_line('STEP 50: COMPONENT ITEM NAME '|| l_comp_item_tbl(i).component_item_name);
930: merge_subcomp_refdesg_info(
931: p_src_component_item => l_comp_item_tbl(i)
932: ,p_dest_component_item => l_revised_item_obj.component_item_tbl(j)
925:
926: l_comp_exists := TRUE;
927:
928: INV_EBI_UTIL.debug_line('STEP 40: BEFORE CALLING INV_EBI_CHANGE_ORDER_HELPER.merge_subcomp_refdesg_info');
929: INV_EBI_UTIL.debug_line('STEP 50: COMPONENT ITEM NAME '|| l_comp_item_tbl(i).component_item_name);
930: merge_subcomp_refdesg_info(
931: p_src_component_item => l_comp_item_tbl(i)
932: ,p_dest_component_item => l_revised_item_obj.component_item_tbl(j)
933: ,x_dest_component_item => l_revised_item_obj.component_item_tbl(j)
932: ,p_dest_component_item => l_revised_item_obj.component_item_tbl(j)
933: ,x_dest_component_item => l_revised_item_obj.component_item_tbl(j)
934: ,x_out => x_out
935: );
936: INV_EBI_UTIL.debug_line('STEP 60: AFTER CALLING INV_EBI_CHANGE_ORDER_HELPER.merge_subcomp_refdesg_info STATUS: '|| x_out.output_status.return_status);
937:
938: IF(x_out.output_status.return_status <> fnd_api.g_ret_sts_success) THEN
939: RAISE FND_API.g_exc_unexpected_error;
940: END IF;
994: l_revised_item_obj.component_item_tbl(l_comp_count) := l_comp_item_tbl(i);
995: l_revised_item_obj.component_item_tbl(l_comp_count).acd_type := 1;
996: l_revised_item_obj.component_item_tbl(l_comp_count).substitute_component_tbl := NULL;
997: l_revised_item_obj.component_item_tbl(l_comp_count).reference_designator_tbl := NULL;
998: INV_EBI_UTIL.debug_line('STEP 70: BEFORE CALLING INV_EBI_CHANGE_ORDER_HELPER.transform_substitute_comp_info');
999: transform_substitute_comp_info(
1000: p_sub_component_tbl => l_comp_item_tbl(i).substitute_component_tbl
1001: ,p_component_item => l_revised_item_obj.component_item_tbl(l_comp_count)
1002: ,x_component_item => l_revised_item_obj.component_item_tbl(l_comp_count)
1001: ,p_component_item => l_revised_item_obj.component_item_tbl(l_comp_count)
1002: ,x_component_item => l_revised_item_obj.component_item_tbl(l_comp_count)
1003: ,x_out => x_out
1004: );
1005: INV_EBI_UTIL.debug_line('STEP 80: AFTER CALLING INV_EBI_CHANGE_ORDER_HELPER.transform_substitute_comp_info STATUS: ' || x_out.output_status.return_status);
1006: IF(x_out.output_status.return_status <> fnd_api.g_ret_sts_success) THEN
1007: RAISE FND_API.g_exc_unexpected_error;
1008: END IF;
1009: INV_EBI_UTIL.debug_line('STEP 90: BEFORE CALLING INV_EBI_CHANGE_ORDER_HELPER.transform_ref_desg');
1005: INV_EBI_UTIL.debug_line('STEP 80: AFTER CALLING INV_EBI_CHANGE_ORDER_HELPER.transform_substitute_comp_info STATUS: ' || x_out.output_status.return_status);
1006: IF(x_out.output_status.return_status <> fnd_api.g_ret_sts_success) THEN
1007: RAISE FND_API.g_exc_unexpected_error;
1008: END IF;
1009: INV_EBI_UTIL.debug_line('STEP 90: BEFORE CALLING INV_EBI_CHANGE_ORDER_HELPER.transform_ref_desg');
1010: transform_ref_desg(
1011: p_ref_desg_tbl => l_comp_item_tbl(i).reference_designator_tbl
1012: ,p_component_item => l_revised_item_obj.component_item_tbl(i)
1013: ,x_component_item => l_revised_item_obj.component_item_tbl(i)
1012: ,p_component_item => l_revised_item_obj.component_item_tbl(i)
1013: ,x_component_item => l_revised_item_obj.component_item_tbl(i)
1014: ,x_out => x_out
1015: );
1016: INV_EBI_UTIL.debug_line('STEP 100: AFTER CALLING INV_EBI_CHANGE_ORDER_HELPER.transform_ref_desg STATUS: '|| x_out.output_status.return_status);
1017: IF(x_out.output_status.return_status <> fnd_api.g_ret_sts_success) THEN
1018: RAISE FND_API.g_exc_unexpected_error;
1019: END IF;
1020: l_comp_exists := TRUE;
1025: END IF;
1026: END LOOP;
1027: END IF;
1028: x_revised_item_obj := l_revised_item_obj;
1029: INV_EBI_UTIL.debug_line('STEP 110: END INV_EBI_CHANGE_ORDER_HELPER.transform_replicate_bom_info STATUS: '|| x_out.output_status.return_status);
1030: EXCEPTION
1031: WHEN FND_API.g_exc_unexpected_error THEN
1032: x_out.output_status.return_status := FND_API.g_ret_sts_unexp_error;
1033:
1162: l_output_status inv_ebi_output_status;
1163: BEGIN
1164: l_output_status := inv_ebi_output_status(fnd_api.g_ret_sts_success,NULL,NULL,NULL);
1165: x_out := inv_ebi_eco_output_obj(NULL,NULL,NULL,NULL,l_output_status,NULL,NULL);
1166: INV_EBI_UTIL.debug_line('STEP 10: START INSIDE INV_EBI_CHANGE_ORDER_HELPER.prepare_substitute_components');
1167: OPEN c_comp_sequence_id;
1168: FETCH c_comp_sequence_id INTO l_component_sequence_id;
1169: CLOSE c_comp_sequence_id;
1170:
1189: EXIT WHEN c_copied_substitute_comps%NOTFOUND;
1190: l_Found := FALSE;
1191: IF p_component_item.substitute_component_tbl IS NOT NULL THEN
1192: FOR i IN 1..p_component_item.substitute_component_tbl.COUNT LOOP
1193: INV_EBI_UTIL.debug_line('STEP 20: SUBSTITUTE COMPONENT NAME: '|| p_component_item.substitute_component_tbl(i).substitute_component_name);
1194: IF l_copied_substitute_comp.substitute_component_name = p_component_item.substitute_component_tbl(i).substitute_component_name THEN
1195: l_Found := TRUE;
1196: END IF;
1197: END LOOP;
1292: END LOOP;
1293: END IF;
1294:
1295: x_component_item := l_component_item;
1296: INV_EBI_UTIL.debug_line('STEP 30: END INSIDE INV_EBI_CHANGE_ORDER_HELPER.prepare_substitute_components STATUS : '|| x_out.output_status.return_status );
1297:
1298: EXCEPTION
1299: WHEN FND_API.g_exc_unexpected_error THEN
1300: IF c_Merged_Substitute_Comp%ISOPEN THEN
1431:
1432: BEGIN
1433: l_output_status := inv_ebi_output_status(fnd_api.g_ret_sts_success,NULL,NULL,NULL);
1434: x_out := inv_ebi_eco_output_obj(NULL,NULL,NULL,NULL,l_output_status,NULL,NULL);
1435: INV_EBI_UTIL.debug_line('STEP 10: START INSIDE INV_EBI_CHANGE_ORDER_HELPER.prepare_reference_designators');
1436: OPEN c_comp_sequence_id;
1437: FETCH c_comp_sequence_id INTO l_component_sequence_id;
1438: CLOSE c_comp_sequence_id;
1439:
1551: END LOOP;
1552: END IF;
1553:
1554: x_component_item := l_component_item;
1555: INV_EBI_UTIL.debug_line('STEP 20: END INSIDE INV_EBI_CHANGE_ORDER_HELPER.prepare_reference_designators STATUS: ' || x_out.output_status.return_status);
1556:
1557: EXCEPTION
1558: WHEN FND_API.g_exc_unexpected_error THEN
1559: IF c_merged_ref_designators%ISOPEN THEN
1811: l_output_status inv_ebi_output_status;
1812: BEGIN
1813: l_output_status := inv_ebi_output_status(fnd_api.g_ret_sts_success,NULL,NULL,NULL);
1814: x_out := inv_ebi_eco_output_obj(NULL,NULL,NULL,NULL,l_output_status,NULL,NULL);
1815: INV_EBI_UTIL.debug_line('STEP 10: START INSIDE INV_EBI_CHANGE_ORDER_HELPER.prepare_component_items');
1816: IF (bom_eamutil.enabled = 'Y'
1817: AND bom_eamutil.serial_effective_item (item_id => p_from_item_id,
1818: org_id => p_reference_org_id
1819: ) = 'Y'
1866: EXIT WHEN c_copied_comps%NOTFOUND;
1867: l_Found := FALSE;
1868: IF p_revised_item.component_item_tbl IS NOT NULL THEN
1869: FOR i IN 1..p_revised_item.component_item_tbl.COUNT LOOP
1870: INV_EBI_UTIL.debug_line('STEP 20: COMPONENT ITEM NAME: '|| p_revised_item.component_item_tbl(i).component_item_name);
1871: IF l_copied_comp.component_item_name = p_revised_item.component_item_tbl(i).component_item_name
1872: AND l_copied_comp.operation_seq_num = p_revised_item.component_item_tbl(i).operation_sequence_number THEN
1873: l_Found := TRUE;
1874: END IF;
2041: CLOSE c_merged_component;
2042: END IF;
2043: END LOOP;
2044: END IF;
2045: INV_EBI_UTIL.debug_line('STEP 30: END INSIDE INV_EBI_CHANGE_ORDER_HELPER.prepare_component_items'|| ' OUTPUT STATUS: '|| x_out.output_status.return_status);
2046: x_revised_item := l_revised_item;
2047:
2048:
2049: EXCEPTION
2089: ,p_alternate_bom_code IN VARCHAR2
2090: ) RETURN VARCHAR2 IS
2091: l_Count NUMBER := 0;
2092: BEGIN
2093: INV_EBI_UTIL.debug_line('STEP 10: START INSIDE INV_EBI_CHANGE_ORDER_HELPER.Is_BOM_Exists');
2094: INV_EBI_UTIL.debug_line('STEP 20: ITEM NUMBER: '|| p_Item_Number || ' ORG CODE: '|| p_Organization_Code);
2095: SELECT
2096: COUNT(1)
2097: INTO
2090: ) RETURN VARCHAR2 IS
2091: l_Count NUMBER := 0;
2092: BEGIN
2093: INV_EBI_UTIL.debug_line('STEP 10: START INSIDE INV_EBI_CHANGE_ORDER_HELPER.Is_BOM_Exists');
2094: INV_EBI_UTIL.debug_line('STEP 20: ITEM NUMBER: '|| p_Item_Number || ' ORG CODE: '|| p_Organization_Code);
2095: SELECT
2096: COUNT(1)
2097: INTO
2098: l_Count
2109: ((p_alternate_bom_code IS NULL AND bb.alternate_bom_designator IS NULL) OR
2110: (bb.alternate_bom_designator = p_alternate_bom_code));
2111:
2112: IF l_Count = 1 THEN
2113: INV_EBI_UTIL.debug_line('STEP 30: RETURN STATUS '|| FND_API.g_true);
2114: RETURN FND_API.g_true;
2115: END IF;
2116: INV_EBI_UTIL.debug_line('STEP 40: RETURN STATUS ' || FND_API.g_false);
2117: INV_EBI_UTIL.debug_line('STEP 50: END INSIDE INV_EBI_CHANGE_ORDER_HELPER.Is_BOM_Exists');
2112: IF l_Count = 1 THEN
2113: INV_EBI_UTIL.debug_line('STEP 30: RETURN STATUS '|| FND_API.g_true);
2114: RETURN FND_API.g_true;
2115: END IF;
2116: INV_EBI_UTIL.debug_line('STEP 40: RETURN STATUS ' || FND_API.g_false);
2117: INV_EBI_UTIL.debug_line('STEP 50: END INSIDE INV_EBI_CHANGE_ORDER_HELPER.Is_BOM_Exists');
2118: RETURN FND_API.g_false;
2119:
2120: EXCEPTION
2113: INV_EBI_UTIL.debug_line('STEP 30: RETURN STATUS '|| FND_API.g_true);
2114: RETURN FND_API.g_true;
2115: END IF;
2116: INV_EBI_UTIL.debug_line('STEP 40: RETURN STATUS ' || FND_API.g_false);
2117: INV_EBI_UTIL.debug_line('STEP 50: END INSIDE INV_EBI_CHANGE_ORDER_HELPER.Is_BOM_Exists');
2118: RETURN FND_API.g_false;
2119:
2120: EXCEPTION
2121: WHEN OTHERS THEN
2137: l_bill_sequence_id NUMBER;
2138: l_src_bill_sequence_id NUMBER;
2139:
2140: BEGIN
2141: INV_EBI_UTIL.debug_line('STEP 10: START INSIDE INV_EBI_CHANGE_ORDER_HELPER.Is_BOM_Already_Commoned');
2142: INV_EBI_UTIL.debug_line('STEP 20: ITEM NUMBER: '|| p_Item_Number || ' ORG CODE: '|| p_Organization_Code);
2143:
2144: SELECT bill_sequence_id, source_bill_sequence_id INTO l_bill_sequence_id, l_src_bill_sequence_id
2145: FROM BOM_BILL_OF_MATERIALS bb,
2138: l_src_bill_sequence_id NUMBER;
2139:
2140: BEGIN
2141: INV_EBI_UTIL.debug_line('STEP 10: START INSIDE INV_EBI_CHANGE_ORDER_HELPER.Is_BOM_Already_Commoned');
2142: INV_EBI_UTIL.debug_line('STEP 20: ITEM NUMBER: '|| p_Item_Number || ' ORG CODE: '|| p_Organization_Code);
2143:
2144: SELECT bill_sequence_id, source_bill_sequence_id INTO l_bill_sequence_id, l_src_bill_sequence_id
2145: FROM BOM_BILL_OF_MATERIALS bb,
2146: mtl_system_items_kfv it,
2153: AND NVL(bb.alternate_bom_designator, 'NONE') = DECODE(p_alternate_bom_code,FND_API.G_MISS_CHAR,'NONE',NULL,'NONE',p_alternate_bom_code) ;
2154:
2155: IF( l_bill_sequence_id <> l_src_bill_sequence_id) THEN
2156:
2157: INV_EBI_UTIL.debug_line('STEP 30: RETURN STATUS ' || FND_API.g_true);
2158: RETURN fnd_api.g_true;
2159:
2160: END IF;
2161:
2158: RETURN fnd_api.g_true;
2159:
2160: END IF;
2161:
2162: INV_EBI_UTIL.debug_line('STEP 40: RETURN STATUS ' || FND_API.g_false);
2163: INV_EBI_UTIL.debug_line('STEP 50: END INSIDE INV_EBI_CHANGE_ORDER_HELPER.Is_BOM_ALready_Commoned');
2164: RETURN FND_API.g_false;
2165:
2166: EXCEPTION
2159:
2160: END IF;
2161:
2162: INV_EBI_UTIL.debug_line('STEP 40: RETURN STATUS ' || FND_API.g_false);
2163: INV_EBI_UTIL.debug_line('STEP 50: END INSIDE INV_EBI_CHANGE_ORDER_HELPER.Is_BOM_ALready_Commoned');
2164: RETURN FND_API.g_false;
2165:
2166: EXCEPTION
2167: WHEN OTHERS THEN
2185:
2186: l_Count NUMBER := 0;
2187:
2188: BEGIN
2189: INV_EBI_UTIL.debug_line('STEP 10: START INSIDE INV_EBI_CHANGE_ORDER_HELPER.is_new_revision_exists');
2190: INV_EBI_UTIL.debug_line('STEP 20: ITEM NUMBER: '|| p_Item_Number || ' REVISION: '|| p_revision || ' ORG CODE: '|| p_org_code);
2191: SELECT COUNT(1) INTO l_Count
2192: FROM
2193: eng_revised_items eri,
2186: l_Count NUMBER := 0;
2187:
2188: BEGIN
2189: INV_EBI_UTIL.debug_line('STEP 10: START INSIDE INV_EBI_CHANGE_ORDER_HELPER.is_new_revision_exists');
2190: INV_EBI_UTIL.debug_line('STEP 20: ITEM NUMBER: '|| p_Item_Number || ' REVISION: '|| p_revision || ' ORG CODE: '|| p_org_code);
2191: SELECT COUNT(1) INTO l_Count
2192: FROM
2193: eng_revised_items eri,
2194: mtl_system_items_kfv msi,
2201: msi.concatenated_segments = p_item_number AND
2202: eri.new_item_revision = p_revision ;
2203:
2204: IF l_Count >=1 THEN
2205: INV_EBI_UTIL.debug_line('STEP 30: RETURN STATUS '|| FND_API.g_true);
2206: RETURN FND_API.g_true;
2207: END IF;
2208: INV_EBI_UTIL.debug_line('STEP 40: RETURN STATUS '|| FND_API.g_false);
2209: INV_EBI_UTIL.debug_line('STEP 50: END INSIDE INV_EBI_CHANGE_ORDER_HELPER.is_new_revision_exists');
2204: IF l_Count >=1 THEN
2205: INV_EBI_UTIL.debug_line('STEP 30: RETURN STATUS '|| FND_API.g_true);
2206: RETURN FND_API.g_true;
2207: END IF;
2208: INV_EBI_UTIL.debug_line('STEP 40: RETURN STATUS '|| FND_API.g_false);
2209: INV_EBI_UTIL.debug_line('STEP 50: END INSIDE INV_EBI_CHANGE_ORDER_HELPER.is_new_revision_exists');
2210: RETURN FND_API.g_false;
2211:
2212: EXCEPTION
2205: INV_EBI_UTIL.debug_line('STEP 30: RETURN STATUS '|| FND_API.g_true);
2206: RETURN FND_API.g_true;
2207: END IF;
2208: INV_EBI_UTIL.debug_line('STEP 40: RETURN STATUS '|| FND_API.g_false);
2209: INV_EBI_UTIL.debug_line('STEP 50: END INSIDE INV_EBI_CHANGE_ORDER_HELPER.is_new_revision_exists');
2210: RETURN FND_API.g_false;
2211:
2212: EXCEPTION
2213: WHEN OTHERS THEN
2328: BEGIN
2329: SAVEPOINT process_replicate_bom_save_pnt;
2330: l_output_status := inv_ebi_output_status(fnd_api.g_ret_sts_success,NULL,NULL,NULL);
2331: x_out := inv_ebi_eco_output_obj(NULL,NULL,NULL,NULL,l_output_status,NULL,NULL);
2332: INV_EBI_UTIL.debug_line('STEP 10: START INSIDE INV_EBI_CHANGE_ORDER_HELPER.process_replicate_bom');
2333: INV_EBI_UTIL.debug_line('STEP 20: ORG_CODE: '|| p_organization_code || ' REVISED ITEM NAME: '|| p_revised_item_obj.revised_item_name);
2334: l_context_org_code:= p_organization_code;
2335:
2336:
2329: SAVEPOINT process_replicate_bom_save_pnt;
2330: l_output_status := inv_ebi_output_status(fnd_api.g_ret_sts_success,NULL,NULL,NULL);
2331: x_out := inv_ebi_eco_output_obj(NULL,NULL,NULL,NULL,l_output_status,NULL,NULL);
2332: INV_EBI_UTIL.debug_line('STEP 10: START INSIDE INV_EBI_CHANGE_ORDER_HELPER.process_replicate_bom');
2333: INV_EBI_UTIL.debug_line('STEP 20: ORG_CODE: '|| p_organization_code || ' REVISED ITEM NAME: '|| p_revised_item_obj.revised_item_name);
2334: l_context_org_code:= p_organization_code;
2335:
2336:
2337: l_config_view_scope := INV_EBI_UTIL.get_config_param_value (
2333: INV_EBI_UTIL.debug_line('STEP 20: ORG_CODE: '|| p_organization_code || ' REVISED ITEM NAME: '|| p_revised_item_obj.revised_item_name);
2334: l_context_org_code:= p_organization_code;
2335:
2336:
2337: l_config_view_scope := INV_EBI_UTIL.get_config_param_value (
2338: p_config_tbl => p_name_value_tbl
2339: ,p_config_param_name => 'REPLICATE_BOM_VIEW_SCOPE'
2340: );
2341:
2339: ,p_config_param_name => 'REPLICATE_BOM_VIEW_SCOPE'
2340: );
2341:
2342:
2343: l_config_impl_scope := INV_EBI_UTIL.get_config_param_value (
2344: p_config_tbl => p_name_value_tbl
2345: ,p_config_param_name => 'REPLICATE_BOM_IMPLEMENTATION_SCOPE'
2346: );
2347:
2386:
2387: IF l_from_item_id IS NULL THEN
2388: l_from_item_id := INV_EBI_ITEM_HELPER.get_inventory_item_id ( p_organization_id => l_from_org_id
2389: ,p_item_number => l_reference_item_num);
2390: INV_EBI_UTIL.debug_line('STEP 30: FROM ITEM ID: '|| l_from_item_id);
2391: END IF;
2392:
2393: l_to_org_id := INV_EBI_ITEM_HELPER.get_organization_id ( p_organization_code => l_context_org_code);
2394: l_to_item_id := INV_EBI_ITEM_HELPER.get_inventory_item_id ( p_organization_id => l_to_org_id
2392:
2393: l_to_org_id := INV_EBI_ITEM_HELPER.get_organization_id ( p_organization_code => l_context_org_code);
2394: l_to_item_id := INV_EBI_ITEM_HELPER.get_inventory_item_id ( p_organization_id => l_to_org_id
2395: ,p_item_number => l_revised_item.revised_item_name) ;
2396: INV_EBI_UTIL.debug_line('STEP 40: TO ORG ID: '|| l_to_org_id || ' TO ITEM ID: '|| l_to_item_id);
2397: l_context_org_bom_exists := Is_BOM_Exists(
2398: p_item_number => l_revised_item.revised_item_name
2399: ,p_organization_code => l_context_org_code
2400: ,p_alternate_bom_code => l_revised_item.orignal_bom_reference.alternate_bom_code
2431: IF l_as_of_date IS NULL OR l_as_of_date = fnd_api.g_miss_date THEN
2432: l_as_of_date := SYSDATE;
2433: END IF;
2434: l_revised_item1 := l_revised_item;
2435: INV_EBI_UTIL.debug_line('STEP 50: BEFORE CALLING INV_EBI_CHANGE_ORDER_HELPER.prepare_component_items ');
2436: prepare_component_items (
2437: p_revised_item => l_revised_item1
2438: ,p_from_item_id => l_from_item_id
2439: ,p_to_item_id => l_to_item_id
2444: ,p_as_of_date => l_as_of_date
2445: ,x_revised_item => l_revised_item
2446: ,x_out => x_out
2447: );
2448: INV_EBI_UTIL.debug_line('STEP 60: AFTER CALLING INV_EBI_CHANGE_ORDER_HELPER.prepare_component_items STATUS: ' || x_out.output_status.return_status);
2449: IF (x_out.output_status.return_status <> FND_API.g_ret_sts_success) THEN
2450: RAISE FND_API.g_exc_unexpected_error;
2451: END IF;
2452:
2451: END IF;
2452:
2453: IF l_revised_item.component_item_tbl IS NOT NULL THEN
2454: FOR j IN 1..l_revised_item.component_item_tbl.COUNT LOOP
2455: INV_EBI_UTIL.debug_line('STEP 70: BEFORE CALLING INV_EBI_CHANGE_ORDER_HELPER.prepare_substitute_components ');
2456: prepare_substitute_components (
2457: p_component_item => l_revised_item.component_item_tbl(j)
2458: ,p_from_sequence_id => l_from_sequence_id
2459: ,p_reference_org_id => l_from_org_id
2459: ,p_reference_org_id => l_from_org_id
2460: ,x_component_item => l_component_item
2461: ,x_out => x_out
2462: );
2463: INV_EBI_UTIL.debug_line('STEP 80: AFTER CALLING INV_EBI_CHANGE_ORDER_HELPER.prepare_substitute_components STATUS: '|| x_out.output_status.return_status);
2464: IF (x_out.output_status.return_status <> FND_API.g_ret_sts_success) THEN
2465: RAISE FND_API.g_exc_unexpected_error;
2466: END IF;
2467: INV_EBI_UTIL.debug_line('STEP 90: BEFORE CALLING INV_EBI_CHANGE_ORDER_HELPER.prepare_reference_designators'||'COMP ITEM NAME: '||l_component_item.component_item_name);
2463: INV_EBI_UTIL.debug_line('STEP 80: AFTER CALLING INV_EBI_CHANGE_ORDER_HELPER.prepare_substitute_components STATUS: '|| x_out.output_status.return_status);
2464: IF (x_out.output_status.return_status <> FND_API.g_ret_sts_success) THEN
2465: RAISE FND_API.g_exc_unexpected_error;
2466: END IF;
2467: INV_EBI_UTIL.debug_line('STEP 90: BEFORE CALLING INV_EBI_CHANGE_ORDER_HELPER.prepare_reference_designators'||'COMP ITEM NAME: '||l_component_item.component_item_name);
2468: prepare_reference_designators (
2469: p_component_item => l_component_item
2470: ,p_from_sequence_id => l_from_sequence_id
2471: ,p_reference_org_id => l_from_org_id
2471: ,p_reference_org_id => l_from_org_id
2472: ,x_component_item => l_component_item1
2473: ,x_out => x_out
2474: );
2475: INV_EBI_UTIL.debug_line('STEP 100: AFTER CALLING INV_EBI_CHANGE_ORDER_HELPER.prepare_reference_designators STATUS: '|| x_out.output_status.return_status);
2476: IF (x_out.output_status.return_status <> FND_API.g_ret_sts_success) THEN
2477: RAISE FND_API.g_exc_unexpected_error;
2478: END IF;
2479:
2485: END IF;
2486: --END LOOP;
2487: --END IF;
2488: x_revised_item_obj := l_revised_item;
2489: INV_EBI_UTIL.debug_line('STEP 110: END INSIDE INV_EBI_CHANGE_ORDER_HELPER.process_replicate_bom ');
2490: EXCEPTION
2491: WHEN FND_API.g_exc_unexpected_error THEN
2492: ROLLBACK TO process_replicate_bom_save_pnt;
2493: x_out.output_status.return_status := FND_API.g_ret_sts_unexp_error;
2532: l_uda_out inv_ebi_uda_output_obj;
2533: l_output_status inv_ebi_output_status;
2534: BEGIN
2535: SAVEPOINT inv_ebi_process_uda_save_pnt;
2536: INV_EBI_UTIL.debug_line('STEP 10: START INSIDE INV_EBI_CHANGE_ORDER_HELPER.process_uda');
2537: l_uda_out := inv_ebi_uda_output_obj(NULL,NULL);
2538: l_output_status := inv_ebi_output_status(fnd_api.g_ret_sts_success,NULL,NULL,NULL);
2539: x_uda_output_obj := inv_ebi_eco_output_obj(NULL,NULL,NULL,NULL,l_output_status,NULL,l_uda_out);
2540: INV_EBI_UTIL.debug_line('STEP 20: BEFORE CALLING INV_EBI_UTIL.transform_uda');
2536: INV_EBI_UTIL.debug_line('STEP 10: START INSIDE INV_EBI_CHANGE_ORDER_HELPER.process_uda');
2537: l_uda_out := inv_ebi_uda_output_obj(NULL,NULL);
2538: l_output_status := inv_ebi_output_status(fnd_api.g_ret_sts_success,NULL,NULL,NULL);
2539: x_uda_output_obj := inv_ebi_eco_output_obj(NULL,NULL,NULL,NULL,l_output_status,NULL,l_uda_out);
2540: INV_EBI_UTIL.debug_line('STEP 20: BEFORE CALLING INV_EBI_UTIL.transform_uda');
2541: --To convert inv_ebi uda objects to ego uda compatible objects
2542: INV_EBI_UTIL.transform_uda (
2543: p_uda_input_obj => p_uda_input_obj
2544: ,x_attributes_row_table => l_attributes_row_table
2538: l_output_status := inv_ebi_output_status(fnd_api.g_ret_sts_success,NULL,NULL,NULL);
2539: x_uda_output_obj := inv_ebi_eco_output_obj(NULL,NULL,NULL,NULL,l_output_status,NULL,l_uda_out);
2540: INV_EBI_UTIL.debug_line('STEP 20: BEFORE CALLING INV_EBI_UTIL.transform_uda');
2541: --To convert inv_ebi uda objects to ego uda compatible objects
2542: INV_EBI_UTIL.transform_uda (
2543: p_uda_input_obj => p_uda_input_obj
2544: ,x_attributes_row_table => l_attributes_row_table
2545: ,x_attributes_data_table => l_attributes_data_table
2546: ,x_return_status => x_uda_output_obj.output_status.return_status
2546: ,x_return_status => x_uda_output_obj.output_status.return_status
2547: ,x_msg_count => x_uda_output_obj.output_status.msg_count
2548: ,x_msg_data => x_uda_output_obj.output_status.msg_data
2549: );
2550: INV_EBI_UTIL.debug_line('STEP 30: AFTER CALLING INV_EBI_UTIL.transform_uda STATUS: '|| x_uda_output_obj.output_status.return_status);
2551: IF (x_uda_output_obj.output_status.return_status <> FND_API.g_ret_sts_success) THEN
2552: RAISE FND_API.g_exc_unexpected_error;
2553: END IF;
2554:
2576: );
2577:
2578: l_attributes_row_table(i) := l_attributes_row_obj;
2579: END LOOP;
2580: INV_EBI_UTIL.debug_line('STEP 40: BEFORE CALLING ego_user_attrs_data_pub.process_user_attrs_data');
2581: --To process uda
2582: ego_user_attrs_data_pub.process_user_attrs_data(
2583: p_api_version => p_api_version
2584: ,p_object_name => p_object_name
2602: ,x_errorcode => x_uda_output_obj.uda_output.errorcode
2603: ,x_msg_count => x_uda_output_obj.output_status.msg_count
2604: ,x_msg_data => x_uda_output_obj.output_status.msg_data
2605: );
2606: INV_EBI_UTIL.debug_line('STEP 50: AFTER CALLING ego_user_attrs_data_pub.process_user_attrs_data STATUS: ' || x_uda_output_obj.output_status.return_status);
2607: IF (x_uda_output_obj.output_status.return_status <> FND_API.g_ret_sts_success) THEN
2608: RAISE FND_API.g_exc_unexpected_error;
2609: END IF;
2610:
2610:
2611: IF FND_API.To_Boolean(p_commit) THEN
2612: COMMIT;
2613: END IF;
2614: INV_EBI_UTIL.debug_line('STEP 60: END CALLING INV_EBI_CHANGE_ORDER_HELPER.process_uda');
2615: EXCEPTION
2616: WHEN FND_API.g_exc_unexpected_error THEN
2617: ROLLBACK TO inv_ebi_process_uda_save_pnt;
2618: x_uda_output_obj.output_status.return_status := FND_API.g_ret_sts_error;
2667: l_uda_out inv_ebi_uda_output_obj;
2668: l_output_status inv_ebi_output_status;
2669: BEGIN
2670: SAVEPOINT inv_ebi_chg_order_uda_save_pnt;
2671: INV_EBI_UTIL.debug_line('STEP 10: START INSIDE INV_EBI_CHANGE_ORDER_HELPER.process_change_order_uda');
2672: INV_EBI_UTIL.debug_line('STEP 20: ORG CODE: '|| p_organization_code || ' ECO NAME: '|| p_eco_name || ' REVISED ITEM NAME: '|| p_revised_item_name);
2673: l_uda_out := inv_ebi_uda_output_obj(NULL,NULL);
2674: l_output_status := inv_ebi_output_status(fnd_api.g_ret_sts_success,NULL,NULL,NULL);
2675: x_out := inv_ebi_eco_output_obj(NULL,NULL,NULL,NULL,l_output_status,NULL,NULL);
2668: l_output_status inv_ebi_output_status;
2669: BEGIN
2670: SAVEPOINT inv_ebi_chg_order_uda_save_pnt;
2671: INV_EBI_UTIL.debug_line('STEP 10: START INSIDE INV_EBI_CHANGE_ORDER_HELPER.process_change_order_uda');
2672: INV_EBI_UTIL.debug_line('STEP 20: ORG CODE: '|| p_organization_code || ' ECO NAME: '|| p_eco_name || ' REVISED ITEM NAME: '|| p_revised_item_name);
2673: l_uda_out := inv_ebi_uda_output_obj(NULL,NULL);
2674: l_output_status := inv_ebi_output_status(fnd_api.g_ret_sts_success,NULL,NULL,NULL);
2675: x_out := inv_ebi_eco_output_obj(NULL,NULL,NULL,NULL,l_output_status,NULL,NULL);
2676:
2687: ,p_item_number => p_revised_item_name
2688: );
2689:
2690: END IF;
2691: INV_EBI_UTIL.debug_line('STEP 30: ORG ID: '|| l_organization_id || ' ASSY ITEM ID: '|| l_assembly_item_id);
2692: IF (p_component_tbl IS NOT NULL AND p_component_tbl.COUNT > 0) THEN
2693: FOR i in 1..p_component_tbl.COUNT
2694: LOOP
2695: IF(p_component_tbl(i).component_revision_uda IS NOT NULL AND p_component_tbl(i).component_revision_uda.attribute_group_tbl.COUNT > 0) THEN
2693: FOR i in 1..p_component_tbl.COUNT
2694: LOOP
2695: IF(p_component_tbl(i).component_revision_uda IS NOT NULL AND p_component_tbl(i).component_revision_uda.attribute_group_tbl.COUNT > 0) THEN
2696: IF(p_component_tbl(i).component_item_name IS NOT NULL) THEN
2697: INV_EBI_UTIL.debug_line('STEP 40: COMPONENT ITEM NAME: '|| p_component_tbl(i).component_item_name);
2698: l_component_item_id := INV_EBI_ITEM_HELPER.get_inventory_item_id (
2699: p_organization_id => l_organization_id
2700: ,p_item_number => p_component_tbl(i).component_item_name
2701: );
2720: l_pkdata(2) := ego_col_name_value_pair_obj('BILL_SEQUENCE_ID',l_bill_sequence_id);
2721: l_pkcode := ego_col_name_value_pair_array();
2722: l_pkcode.extend();
2723: l_pkcode(1) := ego_col_name_value_pair_obj('STRUCTURE_TYPE_ID',l_structure_type_id);
2724: INV_EBI_UTIL.debug_line('STEP 50: BEFORE CALLING INV_EBI_CHANGE_ORDER_HELPER.process_uda');
2725: process_uda(
2726: p_commit => p_commit
2727: ,p_uda_input_obj => p_component_tbl(i).component_revision_uda
2728: ,p_object_name => 'BOM_COMPONENTS'
2730: ,p_pk_column_name_value_pairs => l_pkdata
2731: ,p_class_code_name_value_pairs => l_pkcode
2732: ,x_uda_output_obj => x_out
2733: );
2734: INV_EBI_UTIL.debug_line('STEP 60: AFTER CALLING INV_EBI_CHANGE_ORDER_HELPER.process_uda STATUS: '|| x_out.output_status.return_status);
2735: IF(x_out.output_status.return_status <> FND_API.g_ret_sts_success) THEN
2736: RAISE FND_API.g_exc_unexpected_error;
2737: END IF;
2738: END IF;
2752: l_pkdata(1) := ego_col_name_value_pair_obj('BILL_SEQUENCE_ID',l_bill_sequence_id);
2753: l_pkcode := ego_col_name_value_pair_array();
2754: l_pkcode.extend();
2755: l_pkcode(1) := ego_col_name_value_pair_obj('STRUCTURE_TYPE_ID',l_structure_type_id);
2756: INV_EBI_UTIL.debug_line('STEP 70: BEFORE CALLING INV_EBI_CHANGE_ORDER_HELPER.process_uda FOR STRUCTURE HEADER');
2757: process_uda(
2758: p_uda_input_obj => p_structure_header.structure_header_uda
2759: ,p_commit => p_commit
2760: ,p_object_name => 'BOM_STRUCTURE'
2762: ,p_pk_column_name_value_pairs => l_pkdata
2763: ,p_class_code_name_value_pairs => l_pkcode
2764: ,x_uda_output_obj => x_out
2765: );
2766: INV_EBI_UTIL.debug_line('STEP 80: AFTER CALLING INV_EBI_CHANGE_ORDER_HELPER.process_uda STATUS: '|| x_out.output_status.return_status);
2767: IF(x_out.output_status.return_status <> FND_API.g_ret_sts_success) THEN
2768: RAISE FND_API.g_exc_unexpected_error;
2769: END IF;
2770: END IF;
2771:
2772: IF FND_API.To_Boolean(p_commit) THEN
2773: COMMIT;
2774: END IF;
2775: INV_EBI_UTIL.debug_line('STEP 90: END CALLING INV_EBI_CHANGE_ORDER_HELPER.process_change_order_uda');
2776: EXCEPTION
2777: WHEN FND_API.g_exc_unexpected_error THEN
2778: ROLLBACK TO inv_ebi_chg_order_uda_save_pnt;
2779: x_out.output_status.return_status := FND_API.g_ret_sts_error;
3032: l_allow_unimp_bom_update VARCHAR2(1) := FND_API.G_FALSE;
3033: l_bom_comp_exist_without_eco VARCHAR2(1) := FND_API.G_FALSE; --Added of Bug 13587336
3034:
3035: BEGIN
3036: INV_EBI_UTIL.debug_line('STEP 10: START INSIDE INV_EBI_CHANGE_ORDER_HELPER.get_existing_component_attr');
3037: -- To Retrive revisied item id
3038: l_assembly_item_id := INV_EBI_ITEM_HELPER.get_inventory_item_id
3039: (p_organization_id => p_organization_id
3040: ,p_item_number => p_revised_item_name);
3037: -- To Retrive revisied item id
3038: l_assembly_item_id := INV_EBI_ITEM_HELPER.get_inventory_item_id
3039: (p_organization_id => p_organization_id
3040: ,p_item_number => p_revised_item_name);
3041: INV_EBI_UTIL.debug_line('STEP 20: ASSY ITEM ID: ' || l_assembly_item_id);
3042:
3043: -- Start of Bug 10423301
3044: -- IF UNIMPLEMENTED_BOM_UPDATES_ALLOWED aia config property value is passed from aia layer honour it
3045: -- otherwise retrieve value from global variable INV_EBI_FLAGS.G_ALLOW_UNIMP_BOM_UPDATES
3045: -- otherwise retrieve value from global variable INV_EBI_FLAGS.G_ALLOW_UNIMP_BOM_UPDATES
3046: -- For SUN AIT this variable value will be 'T'.Post 2.5 RUP5 this value will be passed from aia layer,unitll then
3047: -- not to disturb current functionality global variable should be set to 'F' i.e do not allow unimplemented BOM changes
3048:
3049: INV_EBI_UTIL.debug_line('STEP 30: p_allow_unimp_bom_updates ' || p_allow_unimp_bom_updates);
3050:
3051: l_allow_unimp_bom_update := p_allow_unimp_bom_updates;
3052:
3053: IF (l_allow_unimp_bom_update IS NULL OR l_allow_unimp_bom_update = fnd_api.g_miss_char) THEN
3055: l_allow_unimp_bom_update := INV_EBI_FLAGS.get_allow_unimp_bom_updates;
3056:
3057: END IF;
3058:
3059: INV_EBI_UTIL.debug_line('STEP 40: l_allow_unimp_bom_update ' || l_allow_unimp_bom_update);
3060: -- End of Bug 10423301
3061:
3062: -- Cursor to retrive the bill sequence id
3063: FOR i in C_Bill_seq(l_assembly_item_id) LOOP
3061:
3062: -- Cursor to retrive the bill sequence id
3063: FOR i in C_Bill_seq(l_assembly_item_id) LOOP
3064: l_bill_sequence_id := i.bill_sequence_id;
3065: INV_EBI_UTIL.debug_line('STEP 50: BILL SEQ ID: '|| l_bill_sequence_id);
3066: EXIT;
3067: END LOOP;
3068:
3069: --To Retrive Component Item Id
3070: l_component_item_id := INV_EBI_ITEM_HELPER.get_inventory_item_id
3071: ( p_organization_id => p_organization_id
3072: ,p_item_number => p_component_item_name);
3073:
3074: INV_EBI_UTIL.debug_line('STEP 60: COMP ITEM ID: '|| l_component_item_id);
3075:
3076: --Start of Bug 10423301
3077: --If Unimplemented BOM updates are not allowed then open cursor c_implemented_component
3078: --else open cursor c_unimplemented_component
3078: --else open cursor c_unimplemented_component
3079:
3080: IF( l_allow_unimp_bom_update = FND_API.G_FALSE) THEN
3081: --To Retrive old effectivity date if BOM Components are implemented
3082: INV_EBI_UTIL.debug_line('STEP 70: Opening Cursor for implemented BOM Components');
3083: IF c_implemented_component%ISOPEN THEN
3084: CLOSE c_implemented_component;
3085: END IF;
3086:
3087: OPEN c_implemented_component(l_assembly_item_id, l_component_item_id, l_bill_sequence_id) ;
3088: FETCH c_implemented_component INTO l_component_cur;
3089:
3090: IF(c_implemented_component % ROWCOUNT > 0) THEN
3091: INV_EBI_UTIL.debug_line('STEP 80: Implemented BOM Components Exists');
3092: x_old_effectivity_date := l_component_cur.effectivity_date;
3093: x_old_op_sequence_num := l_component_cur.operation_seq_num;
3094: x_old_fm_end_item_unit := l_component_cur.from_end_item_unit_number;
3095:
3096: l_eco_exist := FND_API.G_TRUE;
3097: END IF;
3098: CLOSE c_implemented_component;
3099: ELSE
3100: INV_EBI_UTIL.debug_line('STEP 90: Opening Cursor for Unimplemented BOM Components');
3101: -- This block will be executed for SUN AIT
3102: IF c_unimplemented_component%ISOPEN THEN
3103: CLOSE c_unimplemented_component;
3104: END IF;
3106: OPEN c_unimplemented_component(l_assembly_item_id, l_component_item_id, l_bill_sequence_id) ;
3107: FETCH c_unimplemented_component INTO l_component_cur;
3108:
3109: IF(c_unimplemented_component % ROWCOUNT > 0) THEN
3110: INV_EBI_UTIL.debug_line('STEP 100: Unimplemented BOM Components Exists');
3111: x_old_effectivity_date := l_component_cur.effectivity_date;
3112: x_old_op_sequence_num := l_component_cur.operation_seq_num;
3113: x_old_fm_end_item_unit := l_component_cur.from_end_item_unit_number;
3114:
3130:
3131: /*Above query was returning a row if item has Change Order associated,but we need
3132: to check if the BOM component is associated with the CO,if not query the required
3133: data from bom_inventory_components.So below query is incorporated*/
3134: INV_EBI_UTIL.debug_line('STEP 110:BOM exists without Change Order and p_bom_update_without_eco ' || p_bom_update_without_eco);
3135:
3136: --Start of Bug 9527466
3137: SELECT COUNT(1) INTO l_count
3138: FROM eng_revised_items eri,
3184: END IF;
3185: --End of Bug 13582896
3186: END IF;
3187: -- END of Bug 8340804
3188: INV_EBI_UTIL.debug_line('STEP 50: END INSIDE INV_EBI_CHANGE_ORDER_HELPER.get_existing_component_attr');
3189: EXCEPTION
3190: WHEN OTHERS THEN
3191: IF c_implemented_component%ISOPEN THEN
3192: CLOSE c_implemented_component;
3230:
3231: l_item_rev c_item_rev%ROWTYPE;
3232:
3233: BEGIN
3234: INV_EBI_UTIL.debug_line('STEP 10: START INSIDE INV_EBI_CHANGE_ORDER_HELPER.get_current_item_revision');
3235: INV_EBI_UTIL.debug_line('STEP 20: INV ITEM ID: '|| p_inventory_item_id || ' ORG ID: '|| p_organization_id);
3236: IF c_item_rev%ISOPEN THEN
3237: CLOSE c_item_rev;
3238: END IF;
3231: l_item_rev c_item_rev%ROWTYPE;
3232:
3233: BEGIN
3234: INV_EBI_UTIL.debug_line('STEP 10: START INSIDE INV_EBI_CHANGE_ORDER_HELPER.get_current_item_revision');
3235: INV_EBI_UTIL.debug_line('STEP 20: INV ITEM ID: '|| p_inventory_item_id || ' ORG ID: '|| p_organization_id);
3236: IF c_item_rev%ISOPEN THEN
3237: CLOSE c_item_rev;
3238: END IF;
3239:
3243: p_revision_date => sysdate
3244: );
3245: FETCH c_item_rev INTO l_revision;
3246: CLOSE c_item_rev;
3247: INV_EBI_UTIL.debug_line('STEP 30: END INSIDE INV_EBI_CHANGE_ORDER_HELPER.get_current_item_revision RETURN VALUE: '|| l_revision);
3248: RETURN l_revision;
3249: EXCEPTION
3250: WHEN OTHERS THEN
3251: IF c_item_rev%ISOPEN THEN
3317: l_master_item_rev c_master_item_rev%ROWTYPE;
3318:
3319: BEGIN
3320: SAVEPOINT inv_ebi_assign_item_save_pnt;
3321: INV_EBI_UTIL.debug_line('STEP 10: START INSIDE INV_EBI_CHANGE_ORDER_HELPER.process_assign_items');
3322: INV_EBI_UTIL.debug_line('STEP 20: ORG ID : '|| p_organization_id || ' ITEM NAME: '|| p_item_name);
3323:
3324: x_return_status := FND_API.G_RET_STS_SUCCESS;
3325: l_is_item_exists := INV_EBI_ITEM_HELPER.is_item_exists(
3318:
3319: BEGIN
3320: SAVEPOINT inv_ebi_assign_item_save_pnt;
3321: INV_EBI_UTIL.debug_line('STEP 10: START INSIDE INV_EBI_CHANGE_ORDER_HELPER.process_assign_items');
3322: INV_EBI_UTIL.debug_line('STEP 20: ORG ID : '|| p_organization_id || ' ITEM NAME: '|| p_item_name);
3323:
3324: x_return_status := FND_API.G_RET_STS_SUCCESS;
3325: l_is_item_exists := INV_EBI_ITEM_HELPER.is_item_exists(
3326: p_organization_id => p_organization_id
3327: ,p_item_number => p_item_name
3328: );
3329: IF (l_is_item_exists = FND_API.g_false) THEN
3330:
3331: l_master_org := INV_EBI_UTIL.get_master_organization(
3332: p_organization_id => p_organization_id
3333: );
3334: l_is_item_exists := INV_EBI_ITEM_HELPER.is_item_exists(
3335: p_organization_id => l_master_org
3341: to true then item should be assigned to context org */
3342:
3343: IF(l_is_item_exists = FND_API.g_true ) THEN
3344: IF(get_assign_item = FND_API.g_true ) THEN
3345: IF(INV_EBI_UTIL.is_pim_installed) THEN
3346: SELECT item_catalog_group_id, approval_status
3347: INTO l_item_catalog_group_id, l_approval_status
3348: FROM mtl_system_items_kfv
3349: WHERE organization_id = l_master_org
3358: FND_MSG_PUB.add;
3359: RAISE FND_API.g_exc_unexpected_error;
3360: END IF;
3361: END IF;
3362: INV_EBI_UTIL.debug_line('STEP 30: BEFORE CALLING EGO_ITEM_PUB.assign_item_to_org');
3363: EGO_ITEM_PUB.assign_item_to_org(
3364: p_api_version => 1.0
3365: ,p_commit => FND_API.g_false
3366: ,p_Item_Number => p_item_name
3367: ,p_Organization_Id => p_organization_id
3368: ,x_return_status => x_return_status
3369: ,x_msg_count => x_msg_count
3370: );
3371: INV_EBI_UTIL.debug_line('STEP 40: AFTER CALLING EGO_ITEM_PUB.assign_item_to_org STATUS: ' || x_return_status);
3372: IF (x_return_status <> FND_API.g_ret_sts_success) THEN
3373: RAISE FND_API.g_exc_unexpected_error;
3374: END IF;
3375: l_inventory_item_id := INV_EBI_ITEM_HELPER.get_inventory_item_id (
3375: l_inventory_item_id := INV_EBI_ITEM_HELPER.get_inventory_item_id (
3376: p_organization_id => l_master_org
3377: ,p_item_number => p_item_name
3378: );
3379: INV_EBI_UTIL.debug_line('STEP 50: INV ITEM ID: '||l_inventory_item_id);
3380: --To get effectivity date of recently created revision in context org
3381: l_effectivity_date := get_latest_effectivity_date(
3382: p_inventory_item_id => l_inventory_item_id,
3383: p_organization_id => p_organization_id
3410:
3411: --If master orgs current revision is not there in context org,create it
3412: IF(l_count = 0) THEN
3413: l_effectivity_date := l_effectivity_date + 1/86400; -- To keep efectivity date of next rev 1 sec higher than earlier rev
3414: INV_EBI_UTIL.debug_line('STEP 60: BEFORE CALLING EGO_ITEM_PUB.Process_Item_Revision');
3415: EGO_ITEM_PUB.Process_Item_Revision(
3416: p_api_version => 1.0
3417: ,p_init_msg_list => FND_API.g_false
3418: ,p_commit => FND_API.g_false
3447: ,x_return_status => x_return_status
3448: ,x_msg_count => x_msg_count
3449: ,x_msg_data => x_msg_data
3450: ) ;
3451: INV_EBI_UTIL.debug_line('STEP 70: AFTER CALLING EGO_ITEM_PUB.Process_Item_Revision STATUS: '|| x_return_status);
3452: IF (x_return_status <> FND_API.g_ret_sts_success) THEN
3453: x_msg_data := x_msg_data || ' -> Item Number:' || p_item_name || ' -> Org Id: ' || p_organization_id;
3454: RAISE FND_API.g_exc_unexpected_error;
3455: END IF;
3461: FND_MSG_PUB.add;
3462: RAISE FND_API.g_exc_error;
3463: END IF;
3464: END IF;
3465: INV_EBI_UTIL.debug_line('STEP 80: END INSIDE INV_EBI_CHANGE_ORDER_HELPER.process_assign_items ');
3466: EXCEPTION
3467: WHEN FND_API.g_exc_unexpected_error THEN
3468: ROLLBACK TO inv_ebi_assign_item_save_pnt;
3469: x_return_status := FND_API.g_ret_sts_unexp_error;
3722: );
3723:
3724: l_common_sub_comps c_common_sub_comps%ROWTYPE;
3725: BEGIN
3726: INV_EBI_UTIL.DEBUG_LINE('STEP 10: START INSIDE INV_EBI_CHANGE_ORDER_HELPER.process_common_comps');
3727: INV_EBI_UTIL.DEBUG_LINE('STEP 20: ASSY ITEM ID: '|| p_assembly_item_id || ' ORG ID: '|| p_organization_id || ' SRC ORG ID: '|| p_src_organization_id);
3728: SAVEPOINT inv_ebi_comm_comp_save_pnt;
3729: x_return_status := FND_API.G_RET_STS_SUCCESS;
3730:
3723:
3724: l_common_sub_comps c_common_sub_comps%ROWTYPE;
3725: BEGIN
3726: INV_EBI_UTIL.DEBUG_LINE('STEP 10: START INSIDE INV_EBI_CHANGE_ORDER_HELPER.process_common_comps');
3727: INV_EBI_UTIL.DEBUG_LINE('STEP 20: ASSY ITEM ID: '|| p_assembly_item_id || ' ORG ID: '|| p_organization_id || ' SRC ORG ID: '|| p_src_organization_id);
3728: SAVEPOINT inv_ebi_comm_comp_save_pnt;
3729: x_return_status := FND_API.G_RET_STS_SUCCESS;
3730:
3731: SELECT
3756: LOOP
3757:
3758: FETCH c_common_comps INTO l_common_comps;
3759: EXIT WHEN c_common_comps%NOTFOUND;
3760: INV_EBI_UTIL.DEBUG_LINE('STEP 30: BEFORE CALLING INV_EBI_CHANGE_ORDER_HELPER.process_assign_items ');
3761: INV_EBI_UTIL.DEBUG_LINE('STEP 40: COMPONENT ITEM NAME: '|| l_common_comps.component_item_name);
3762: process_assign_items(
3763: p_organization_id => p_organization_id,
3764: p_item_name => l_common_comps.component_item_name,
3757:
3758: FETCH c_common_comps INTO l_common_comps;
3759: EXIT WHEN c_common_comps%NOTFOUND;
3760: INV_EBI_UTIL.DEBUG_LINE('STEP 30: BEFORE CALLING INV_EBI_CHANGE_ORDER_HELPER.process_assign_items ');
3761: INV_EBI_UTIL.DEBUG_LINE('STEP 40: COMPONENT ITEM NAME: '|| l_common_comps.component_item_name);
3762: process_assign_items(
3763: p_organization_id => p_organization_id,
3764: p_item_name => l_common_comps.component_item_name,
3765: x_return_status => x_return_status ,
3765: x_return_status => x_return_status ,
3766: x_msg_data => x_msg_data ,
3767: x_msg_count => x_msg_count
3768: );
3769: INV_EBI_UTIL.debug_line('STEP 50: AFTER CALLING INV_EBI_CHANGE_ORDER_HELPER.process_assign_items STATUS: '|| x_return_status);
3770: IF (x_return_status <> FND_API.g_ret_sts_success) THEN
3771: RAISE FND_API.g_exc_unexpected_error;
3772: END IF;
3773: END LOOP;
3783: LOOP
3784:
3785: FETCH c_common_sub_comps INTO l_common_sub_comps;
3786: EXIT WHEN c_common_sub_comps%NOTFOUND;
3787: INV_EBI_UTIL.DEBUG_LINE('STEP 60: BEFORE CALLING INV_EBI_CHANGE_ORDER_HELPER.process_assign_items for substitute components');
3788: INV_EBI_UTIL.DEBUG_LINE('STEP 70: SUBSTITUTE COMP NAME: '|| l_common_sub_comps.sub_comp_item_name);
3789: process_assign_items(
3790: p_organization_id => p_organization_id,
3791: p_item_name => l_common_sub_comps.sub_comp_item_name,
3784:
3785: FETCH c_common_sub_comps INTO l_common_sub_comps;
3786: EXIT WHEN c_common_sub_comps%NOTFOUND;
3787: INV_EBI_UTIL.DEBUG_LINE('STEP 60: BEFORE CALLING INV_EBI_CHANGE_ORDER_HELPER.process_assign_items for substitute components');
3788: INV_EBI_UTIL.DEBUG_LINE('STEP 70: SUBSTITUTE COMP NAME: '|| l_common_sub_comps.sub_comp_item_name);
3789: process_assign_items(
3790: p_organization_id => p_organization_id,
3791: p_item_name => l_common_sub_comps.sub_comp_item_name,
3792: x_return_status => x_return_status ,
3792: x_return_status => x_return_status ,
3793: x_msg_data => x_msg_data ,
3794: x_msg_count => x_msg_count
3795: );
3796: INV_EBI_UTIL.DEBUG_LINE('STEP 80: AFTER CALLING INV_EBI_CHANGE_ORDER_HELPER.process_assign_items for substitute components STATUS :' || x_return_status);
3797:
3798: IF (x_return_status <> FND_API.g_ret_sts_success) THEN
3799: RAISE FND_API.g_exc_unexpected_error;
3800: END IF;
3799: RAISE FND_API.g_exc_unexpected_error;
3800: END IF;
3801: END LOOP;
3802: CLOSE c_common_sub_comps ;
3803: INV_EBI_UTIL.debug_line('STEP 90: END INSIDE INV_EBI_CHANGE_ORDER_HELPER.process_common_comps');
3804: EXCEPTION
3805: WHEN FND_API.g_exc_unexpected_error THEN
3806: ROLLBACK TO inv_ebi_comm_comp_save_pnt;
3807: IF (c_common_comps%ISOPEN) THEN
3864:
3865: BEGIN
3866: SAVEPOINT inv_ebi_comm_bom_save_pnt;
3867: x_return_status := FND_API.G_RET_STS_SUCCESS;
3868: INV_EBI_UTIL.debug_line('STEP 10: START INSIDE INV_EBI_CHANGE_ORDER_HELPER.process_common_bom');
3869: INV_EBI_UTIL.debug_line('STEP 20: ORG CODE : '|| p_organization_code || ' ASSY ITEM NAME: '|| p_assembly_item_name ||
3870: ' COMMON ASSY ITEM NAME: '|| p_common_assembly_item_name || ' COMMON ORG CODE: '|| p_common_organization_code);
3871: l_src_organization_id := INV_EBI_ITEM_HELPER.get_organization_id(
3872: p_organization_code => p_common_organization_code
3865: BEGIN
3866: SAVEPOINT inv_ebi_comm_bom_save_pnt;
3867: x_return_status := FND_API.G_RET_STS_SUCCESS;
3868: INV_EBI_UTIL.debug_line('STEP 10: START INSIDE INV_EBI_CHANGE_ORDER_HELPER.process_common_bom');
3869: INV_EBI_UTIL.debug_line('STEP 20: ORG CODE : '|| p_organization_code || ' ASSY ITEM NAME: '|| p_assembly_item_name ||
3870: ' COMMON ASSY ITEM NAME: '|| p_common_assembly_item_name || ' COMMON ORG CODE: '|| p_common_organization_code);
3871: l_src_organization_id := INV_EBI_ITEM_HELPER.get_organization_id(
3872: p_organization_code => p_common_organization_code
3873: );
3879: p_assembly_item_id => l_src_assembly_item_id,
3880: p_organization_id => l_src_organization_id,
3881: p_alternate_bom_code => p_alternate_bom_code
3882: );
3883: INV_EBI_UTIL.debug_line('STEP 30: ORG ID '|| l_src_organization_id || ' ASSY ITEM ID: '|| l_src_assembly_item_id ||
3884: 'BILL SEQUENCE ID: '|| l_src_bill_sequence_id);
3885: IF(l_src_bill_sequence_id IS NULL ) THEN
3886: FND_MESSAGE.set_name('INV','INV_EBI_COMMON_BILL_NOT_FOUND');
3887: FND_MESSAGE.set_token('ASSY_ITEM', p_common_assembly_item_name);
3896: l_assembly_item_id := INV_EBI_ITEM_HELPER.get_inventory_item_id (
3897: p_organization_id => l_organization_id
3898: ,p_item_number => p_assembly_item_name
3899: );
3900: INV_EBI_UTIL.debug_line('STEP 40: ASST ITEM ID: '|| l_assembly_item_id || 'ORG ID: '|| l_organization_id );
3901: INV_EBI_UTIL.debug_line('STEP 50: BEFORE CALLING INV_EBI_CHANGE_ORDER_HELPER.process_common_comps ');
3902: process_common_comps(
3903: p_assembly_item_id => l_assembly_item_id,
3904: p_organization_id => l_organization_id,
3897: p_organization_id => l_organization_id
3898: ,p_item_number => p_assembly_item_name
3899: );
3900: INV_EBI_UTIL.debug_line('STEP 40: ASST ITEM ID: '|| l_assembly_item_id || 'ORG ID: '|| l_organization_id );
3901: INV_EBI_UTIL.debug_line('STEP 50: BEFORE CALLING INV_EBI_CHANGE_ORDER_HELPER.process_common_comps ');
3902: process_common_comps(
3903: p_assembly_item_id => l_assembly_item_id,
3904: p_organization_id => l_organization_id,
3905: p_src_organization_id => l_src_organization_id,
3907: x_return_status => x_return_status,
3908: x_msg_data => x_msg_data,
3909: x_msg_count => x_msg_count
3910: );
3911: INV_EBI_UTIL.debug_line('STEP 60: AFTER CALLING INV_EBI_CHANGE_ORDER_HELPER.process_common_comps STATUS: '|| x_return_status);
3912: IF (x_return_status <> FND_API.g_ret_sts_success) THEN
3913: RAISE FND_API.g_exc_unexpected_error;
3914: END IF;
3915: INV_EBI_UTIL.debug_line('STEP 70: END INSIDE INV_EBI_CHANGE_ORDER_HELPER.process_common_bom ');
3911: INV_EBI_UTIL.debug_line('STEP 60: AFTER CALLING INV_EBI_CHANGE_ORDER_HELPER.process_common_comps STATUS: '|| x_return_status);
3912: IF (x_return_status <> FND_API.g_ret_sts_success) THEN
3913: RAISE FND_API.g_exc_unexpected_error;
3914: END IF;
3915: INV_EBI_UTIL.debug_line('STEP 70: END INSIDE INV_EBI_CHANGE_ORDER_HELPER.process_common_bom ');
3916: EXCEPTION
3917: WHEN FND_API.g_exc_unexpected_error THEN
3918: ROLLBACK TO inv_ebi_comm_bom_save_pnt;
3919: x_return_status := FND_API.g_ret_sts_unexp_error;
3978: common_assembly_item_id = p_common_assy_item_id AND
3979: common_organization_id = p_common_org_id;
3980:
3981: BEGIN
3982: INV_EBI_UTIL.debug_line('STEP 10: START INSIDE INV_EBI_CHANGE_ORDER_HELPER.get_common_bom_orgs');
3983: INV_EBI_UTIL.debug_line('STEP 20: ASSY ITEM NAME: '|| p_assembly_item_name ||' ORG CODE: '|| p_organization_code);
3984:
3985: x_return_status := FND_API.G_RET_STS_SUCCESS;
3986: l_organization_id := INV_EBI_ITEM_HELPER.get_organization_id(
3979: common_organization_id = p_common_org_id;
3980:
3981: BEGIN
3982: INV_EBI_UTIL.debug_line('STEP 10: START INSIDE INV_EBI_CHANGE_ORDER_HELPER.get_common_bom_orgs');
3983: INV_EBI_UTIL.debug_line('STEP 20: ASSY ITEM NAME: '|| p_assembly_item_name ||' ORG CODE: '|| p_organization_code);
3984:
3985: x_return_status := FND_API.G_RET_STS_SUCCESS;
3986: l_organization_id := INV_EBI_ITEM_HELPER.get_organization_id(
3987: p_organization_code => p_organization_code
3995: p_assembly_item_id => l_assembly_item_id,
3996: p_organization_id => l_organization_id,
3997: p_alternate_bom_code => p_alternate_bom_code
3998: );
3999: INV_EBI_UTIL.debug_line('STEP 30: ORG ID '|| l_organization_id || ' ASSY ITEM ID: '|| l_assembly_item_id || ' BILL SEQ ID: '|| l_bill_sequence_id);
4000: x_common_orgs := inv_ebi_org_tbl();
4001: FOR l_common_orgs IN c_common_orgs(
4002: p_bill_sequence_id => l_bill_sequence_id,
4003: p_common_assy_item_id => l_assembly_item_id,
4010: x_common_orgs(l_org_count) := inv_ebi_org_obj(NULL,NULL);
4011: x_common_orgs(l_org_count).org_id := l_common_orgs.organization_id;
4012: END IF;
4013: END LOOP;
4014: INV_EBI_UTIL.debug_line('STEP 40: END INSIDE INV_EBI_CHANGE_ORDER_HELPER.get_common_bom_orgs STATUS: '|| x_return_status);
4015: EXCEPTION
4016: WHEN OTHERS THEN
4017: x_return_status := FND_API.g_ret_sts_unexp_error;
4018: IF (x_msg_data IS NOT NULL) THEN
4040: l_output_status inv_ebi_output_status;
4041: l_count NUMBER;
4042: BEGIN
4043: SAVEPOINT inv_ebi_common_orgs_save_pnt;
4044: INV_EBI_UTIL.debug_line('STEP 10: START INSIDE INV_EBI_CHANGE_ORDER_HELPER.process_common_bom_orgs');
4045: INV_EBI_UTIL.debug_line('STEP 20: ASSY ITEM NAME: '|| p_assembly_item_name || ' ORG CODE: '|| p_organization_code);
4046:
4047: l_output_status := inv_ebi_output_status(fnd_api.g_ret_sts_success,NULL,NULL,NULL);
4048: x_out := inv_ebi_eco_output_obj(NULL,NULL,NULL,NULL,l_output_status,NULL,NULL);
4041: l_count NUMBER;
4042: BEGIN
4043: SAVEPOINT inv_ebi_common_orgs_save_pnt;
4044: INV_EBI_UTIL.debug_line('STEP 10: START INSIDE INV_EBI_CHANGE_ORDER_HELPER.process_common_bom_orgs');
4045: INV_EBI_UTIL.debug_line('STEP 20: ASSY ITEM NAME: '|| p_assembly_item_name || ' ORG CODE: '|| p_organization_code);
4046:
4047: l_output_status := inv_ebi_output_status(fnd_api.g_ret_sts_success,NULL,NULL,NULL);
4048: x_out := inv_ebi_eco_output_obj(NULL,NULL,NULL,NULL,l_output_status,NULL,NULL);
4049: l_common_orgs := inv_ebi_org_tbl();
4048: x_out := inv_ebi_eco_output_obj(NULL,NULL,NULL,NULL,l_output_status,NULL,NULL);
4049: l_common_orgs := inv_ebi_org_tbl();
4050:
4051: --Get the list of orgs to which particular bom is commoned
4052: INV_EBI_UTIL.debug_line('STEP 30: BEFORE CALLING INV_EBI_CHANGE_ORDER_HELPER.get_common_bom_orgs');
4053: get_common_bom_orgs(
4054: p_assembly_item_name => p_assembly_item_name,
4055: p_organization_code => p_organization_code,
4056: p_alternate_bom_code => p_alternate_bom_code,
4058: x_return_status => x_out.output_status.return_status ,
4059: x_msg_data => x_out.output_status.msg_data ,
4060: x_msg_count => x_out.output_status.msg_count
4061: ) ;
4062: INV_EBI_UTIL.debug_line('STEP 40: AFTER CALLING INV_EBI_CHANGE_ORDER_HELPER.get_common_bom_orgs STATUS: '|| x_out.output_status.return_status);
4063: IF (x_out.output_status.return_status <> FND_API.g_ret_sts_success) THEN
4064: RAISE FND_API.g_exc_unexpected_error;
4065: END IF;
4066:
4070: IF( p_component_item_tbl(j).acd_type = 1 ) THEN
4071:
4072: /*After commoning a bom to other orgs if components or sub com are added
4073: to source ensure that those comps and sub comps exists in all the commoned orgs */
4074: INV_EBI_UTIL.debug_line('STEP 50: BEFORE CALLING INV_EBI_CHANGE_ORDER_HELPER.process_assign_items');
4075: INV_EBI_UTIL.debug_line('STEP 60: ORG ID: '|| l_common_orgs(i).org_id || 'COMP ITEM NAME: '|| p_component_item_tbl(j).component_item_name);
4076: process_assign_items(
4077: p_organization_id => l_common_orgs(i).org_id,
4078: p_item_name => p_component_item_tbl(j).component_item_name,
4071:
4072: /*After commoning a bom to other orgs if components or sub com are added
4073: to source ensure that those comps and sub comps exists in all the commoned orgs */
4074: INV_EBI_UTIL.debug_line('STEP 50: BEFORE CALLING INV_EBI_CHANGE_ORDER_HELPER.process_assign_items');
4075: INV_EBI_UTIL.debug_line('STEP 60: ORG ID: '|| l_common_orgs(i).org_id || 'COMP ITEM NAME: '|| p_component_item_tbl(j).component_item_name);
4076: process_assign_items(
4077: p_organization_id => l_common_orgs(i).org_id,
4078: p_item_name => p_component_item_tbl(j).component_item_name,
4079: x_return_status => x_out.output_status.return_status ,
4079: x_return_status => x_out.output_status.return_status ,
4080: x_msg_data => x_out.output_status.msg_data ,
4081: x_msg_count => x_out.output_status.msg_count
4082: );
4083: INV_EBI_UTIL.debug_line('STEP 70: AFTER CALLING INV_EBI_CHANGE_ORDER_HELPER.process_assign_items STATUS: '|| x_out.output_status.return_status);
4084: IF (x_out.output_status.return_status <> FND_API.g_ret_sts_success) THEN
4085: RAISE FND_API.g_exc_unexpected_error;
4086: END IF;
4087: END IF;
4090: p_component_item_tbl(j).substitute_component_tbl .COUNT > 0) THEN
4091: FOR k IN 1..p_component_item_tbl(j).substitute_component_tbl.COUNT LOOP
4092:
4093: IF(p_component_item_tbl(j).substitute_component_tbl(k).acd_type = 1) THEN
4094: INV_EBI_UTIL.debug_line('STEP 80: BEFORE CALLING INV_EBI_CHANGE_ORDER_HELPER.process_assign_items FOR SUBSTITUTE COMPONENTS');
4095: INV_EBI_UTIL.debug_line('STEP 90: SUBS COMP ITEM NAME: '|| p_component_item_tbl(j).substitute_component_tbl(k).substitute_component_name);
4096: process_assign_items(
4097: p_organization_id => l_common_orgs(i).org_id,
4098: p_item_name => p_component_item_tbl(j).substitute_component_tbl(k).substitute_component_name,
4091: FOR k IN 1..p_component_item_tbl(j).substitute_component_tbl.COUNT LOOP
4092:
4093: IF(p_component_item_tbl(j).substitute_component_tbl(k).acd_type = 1) THEN
4094: INV_EBI_UTIL.debug_line('STEP 80: BEFORE CALLING INV_EBI_CHANGE_ORDER_HELPER.process_assign_items FOR SUBSTITUTE COMPONENTS');
4095: INV_EBI_UTIL.debug_line('STEP 90: SUBS COMP ITEM NAME: '|| p_component_item_tbl(j).substitute_component_tbl(k).substitute_component_name);
4096: process_assign_items(
4097: p_organization_id => l_common_orgs(i).org_id,
4098: p_item_name => p_component_item_tbl(j).substitute_component_tbl(k).substitute_component_name,
4099: x_return_status => x_out.output_status.return_status ,
4099: x_return_status => x_out.output_status.return_status ,
4100: x_msg_data => x_out.output_status.msg_data ,
4101: x_msg_count => x_out.output_status.msg_count
4102: );
4103: INV_EBI_UTIL.debug_line('STEP 100: AFTER CALLING INV_EBI_CHANGE_ORDER_HELPER.process_assign_items STATUS: '|| x_out.output_status.return_status);
4104: IF (x_out.output_status.return_status <> FND_API.g_ret_sts_success) THEN
4105: RAISE FND_API.g_exc_unexpected_error;
4106: END IF;
4107: END IF;
4109: END IF;
4110: END LOOP;
4111: END IF;
4112: END LOOP;
4113: INV_EBI_UTIL.debug_line('STEP 110: END INSIDE INV_EBI_CHANGE_ORDER_HELPER.process_common_bom_orgs ');
4114: EXCEPTION
4115: WHEN FND_API.g_exc_unexpected_error THEN
4116: ROLLBACK TO inv_ebi_common_orgs_save_pnt;
4117: x_out.output_status.return_status := FND_API.g_ret_sts_unexp_error;
4196: l_allow_unimp_bom_update VARCHAR2(1) := NULL;
4197:
4198: BEGIN
4199: SAVEPOINT inv_ebi_proc_eco_save_pnt;
4200: INV_EBI_UTIL.debug_line('STEP 10: START INSIDE INV_EBI_CHANGE_ORDER_HELPER.process_eco');
4201: INV_EBI_UTIL.debug_line('STEP 20: ECO NUMBER: '|| p_change_order.eco_name || ' ORG CODE: '|| p_change_order.organization_code);
4202:
4203: l_output_status := inv_ebi_output_status(fnd_api.g_ret_sts_success,NULL,NULL,NULL);
4204: x_out := inv_ebi_eco_output_obj(NULL,NULL,NULL,NULL,l_output_status,NULL,NULL);
4197:
4198: BEGIN
4199: SAVEPOINT inv_ebi_proc_eco_save_pnt;
4200: INV_EBI_UTIL.debug_line('STEP 10: START INSIDE INV_EBI_CHANGE_ORDER_HELPER.process_eco');
4201: INV_EBI_UTIL.debug_line('STEP 20: ECO NUMBER: '|| p_change_order.eco_name || ' ORG CODE: '|| p_change_order.organization_code);
4202:
4203: l_output_status := inv_ebi_output_status(fnd_api.g_ret_sts_success,NULL,NULL,NULL);
4204: x_out := inv_ebi_eco_output_obj(NULL,NULL,NULL,NULL,l_output_status,NULL,NULL);
4205:
4523:
4524: IF(p_revised_item_type_tbl(i).component_item_tbl IS NOT NULL AND p_revised_item_type_tbl(i).component_item_tbl.COUNT > 0) THEN
4525:
4526: -- If BOM already commoned create component in all commoned orgs
4527: INV_EBI_UTIL.debug_line('STEP 30: BEFORE CALLING INV_EBI_CHANGE_ORDER_HELPER.process_common_bom_orgs '||
4528: 'REVISED ITEM NAME: '|| l_revised_item_tbl(l_revised_item_tbl_count).revised_item_name ||
4529: 'ORG CODE: '|| l_revised_item_tbl(l_revised_item_tbl_count).organization_code);
4530: process_common_bom_orgs(
4531: p_assembly_item_name => l_revised_item_tbl(l_revised_item_tbl_count).revised_item_name,
4533: p_alternate_bom_code => l_revised_item_tbl(l_revised_item_tbl_count).alternate_bom_code,
4534: p_component_item_tbl => p_revised_item_type_tbl(i).component_item_tbl,
4535: x_out => x_out
4536: );
4537: INV_EBI_UTIL.debug_line('STEP 40: AFTER CALLING INV_EBI_CHANGE_ORDER_HELPER.process_common_bom_orgs STATUS: '|| x_out.output_status.return_status);
4538: IF (x_out.output_status.return_status <> FND_API.g_ret_sts_success) THEN
4539: RAISE FND_API.g_exc_unexpected_error;
4540: END IF;
4541:
4541:
4542: FOR j IN p_revised_item_type_tbl(i).component_item_tbl.FIRST..p_revised_item_type_tbl(i).component_item_tbl.LAST
4543: LOOP
4544: --If context org is child org and components does not exist,item assignment should be done
4545: INV_EBI_UTIL.debug_line('STEP 50: BEFORE CALLING INV_EBI_CHANGE_ORDER_HELPER.process_assign_items '||
4546: ' ORG ID: '|| l_organization_id || ' COMP ITEM NAME: '|| p_revised_item_type_tbl(i).component_item_tbl(j).component_item_name);
4547: process_assign_items(
4548: p_organization_id => l_organization_id,
4549: p_item_name => p_revised_item_type_tbl(i).component_item_tbl(j).component_item_name,
4550: x_return_status => x_out.output_status.return_status ,
4551: x_msg_data => x_out.output_status.msg_data ,
4552: x_msg_count => x_out.output_status.msg_count
4553: );
4554: INV_EBI_UTIL.debug_line('STEP 60: AFTER CALLING INV_EBI_CHANGE_ORDER_HELPER.process_assign_items STATUS: '|| x_out.output_status.return_status);
4555: IF (x_out.output_status.return_status <> FND_API.g_ret_sts_success) THEN
4556: RAISE FND_API.g_exc_unexpected_error;
4557: END IF;
4558:
4635: l_rev_component_tbl(l_rev_component_tbl_count).transaction_type := p_revised_item_type_tbl(i).component_item_tbl(j).transaction_type;
4636: l_rev_component_tbl(l_rev_component_tbl_count).row_identifier := p_revised_item_type_tbl(i).component_item_tbl(j).row_identifier ;
4637: IF l_rev_component_tbl(l_rev_component_tbl_count).acd_type IN (l_acd_update,l_acd_delete)
4638: THEN
4639: INV_EBI_UTIL.debug_line('STEP 70: BEFORE CALLING INV_EBI_CHANGE_ORDER_HELPER.get_existing_component_attr '|| ' ORG ID: '|| l_organization_id ||
4640: ' REVISED ITEM NAME: '|| l_rev_component_tbl(l_rev_component_tbl_count).revised_item_name ||
4641: ' COMPONENT ITEM NAME: '|| l_rev_component_tbl(l_rev_component_tbl_count).component_item_name);
4642:
4643: get_existing_component_attr(
4652: ,x_old_effectivity_date => l_old_effectivity_date
4653: ,x_old_op_sequence_num => l_old_op_sequence_num
4654: ,x_old_fm_end_item_unit => l_old_fm_end_item_unit
4655: );
4656: INV_EBI_UTIL.debug_line('STEP 80: AFTER CALLING INV_EBI_CHANGE_ORDER_HELPER.get_existing_component_attr');
4657: IF l_rev_component_tbl(l_rev_component_tbl_count).old_effectivity_date IS NULL
4658: THEN
4659: l_rev_component_tbl(l_rev_component_tbl_count).old_effectivity_date := l_old_effectivity_date;
4660: END IF;
4718: IF(p_revised_item_type_tbl(i).component_item_tbl(j).substitute_component_tbl IS NOT NULL AND p_revised_item_type_tbl(i).component_item_tbl(j).substitute_component_tbl.COUNT > 0) THEN
4719: FOR k IN 1..p_revised_item_type_tbl(i).component_item_tbl(j).substitute_component_tbl.COUNT
4720: LOOP
4721: --If context org is child org and components does not exist,item assignment should be done
4722: INV_EBI_UTIL.debug_line('STEP 90: BEFORE CALLING INV_EBI_CHANGE_ORDER_HELPER.process_assign_items FOR SUBSTITUTE COMPONENTS '||
4723: ' COMPONENT NAME : '||p_revised_item_type_tbl(i).component_item_tbl(j).substitute_component_tbl(k).substitute_component_name);
4724: process_assign_items(
4725: p_organization_id => l_organization_id,
4726: p_item_name => p_revised_item_type_tbl(i).component_item_tbl(j).substitute_component_tbl(k).substitute_component_name,
4727: x_return_status => x_out.output_status.return_status ,
4728: x_msg_data => x_out.output_status.msg_data ,
4729: x_msg_count => x_out.output_status.msg_count
4730: );
4731: INV_EBI_UTIL.debug_line('STEP 100: AFTER CALLING INV_EBI_CHANGE_ORDER_HELPER.process_assign_items STATUS: '|| x_out.output_status.return_status);
4732: IF (x_out.output_status.return_status <> FND_API.g_ret_sts_success) THEN
4733: RAISE FND_API.g_exc_unexpected_error;
4734: END IF;
4735:
4784: END IF;
4785: l_revised_item_tbl_count := l_revised_item_tbl_count + 1;
4786: END LOOP;
4787: END IF;
4788: INV_EBI_UTIL.debug_line('STEP 110: BEFORE CALLING ENG_ECO_PUB.process_eco');
4789:
4790: --To create ECO
4791: ENG_ECO_PUB.process_eco (
4792: p_api_version_number => 1.0
4814: ,x_msg_count => x_out.output_status.msg_count
4815: );
4816:
4817:
4818: INV_EBI_UTIL.debug_line('STEP 120: AFTER CALLING ENG_ECO_PUB.process_eco STATUS: '|| x_out.output_status.return_status);
4819: IF (x_out.output_status.return_status <> FND_API.g_ret_sts_success) THEN
4820: RAISE FND_API.g_exc_unexpected_error;
4821: END IF;
4822:
4830:
4831: IF FND_API.to_boolean( p_commit ) THEN
4832: COMMIT;
4833: END IF;
4834: INV_EBI_UTIL.debug_line('STEP 130: END INSIDE INV_EBI_CHANGE_ORDER_HELPER.process_eco STATUS: '|| x_out.output_status.return_status);
4835: EXCEPTION
4836: WHEN FND_API.g_exc_unexpected_error THEN
4837: ROLLBACK TO inv_ebi_proc_eco_save_pnt;
4838: x_out.output_status.return_status := FND_API.g_ret_sts_unexp_error;
4884: BEGIN
4885: SAVEPOINT inv_ebi_proc_bom_save_pnt;
4886: l_output_status := inv_ebi_output_status(fnd_api.g_ret_sts_success,NULL,NULL,NULL);
4887: x_out := inv_ebi_eco_output_obj(NULL,NULL,NULL,NULL,l_output_status,NULL,NULL);
4888: INV_EBI_UTIL.debug_line('STEP 10: START INSIDE INV_EBI_CHANGE_ORDER_HELPER.process_structure_header');
4889:
4890: l_is_bom_exists := is_bom_exists(
4891: p_item_number => p_assembly_item_name,
4892: p_organization_code => p_organization_code,
4916: p_structure_header.common_organization_code IS NOT NULL AND
4917: p_structure_header.common_organization_code <> fnd_api.g_miss_char
4918: ) THEN
4919: --Bug 7127027
4920: INV_EBI_UTIL.debug_line('STEP 20: BEFORE CALLING INV_EBI_CHANGE_ORDER_HELPER.process_common_bom '||' ORG CODE : '|| p_organization_code ||
4921: ' ASSY ITEM NAME : '|| p_assembly_item_name ||' COMMON ASSY ITEM NAME: '|| p_structure_header.common_assembly_item_name ||
4922: ' COMMON ORG CODE : '|| p_structure_header.common_organization_code);
4923: process_common_bom(
4924: p_organization_code => p_organization_code
4929: ,x_return_status => x_out.output_status.return_status
4930: ,x_msg_data => x_out.output_status.msg_data
4931: ,x_msg_count => x_out.output_status.msg_count
4932: );
4933: INV_EBI_UTIL.debug_line('STEP 30: AFTER CALLING INV_EBI_CHANGE_ORDER_HELPER.process_common_bom STATUS : '|| x_out.output_status.return_status);
4934: IF (x_out.output_status.return_status <> FND_API.g_ret_sts_success) THEN
4935: RAISE FND_API.g_exc_unexpected_error;
4936: END IF;
4937: END IF;
4970: l_bom_header_rec.structure_type_name := p_structure_header.structure_type_name ;
4971:
4972: IF(l_bom_header_rec.structure_type_name IS NULL OR
4973: l_bom_header_rec.structure_type_name = fnd_api.g_miss_char )
4974: AND (INV_EBI_UTIL.is_pim_installed) THEN
4975: IF p_name_val_list.name_value_table IS NOT NULL THEN
4976: FOR i in p_name_val_list.name_value_table.FIRST..p_name_val_list.name_value_table.LAST LOOP
4977: IF UPPER(p_name_val_list.name_value_table(i).param_name) = G_DEFAULT_STRUCTURE_TYPE THEN
4978: l_bom_header_rec.structure_type_name := p_name_val_list.name_value_table(i).param_value;
4991:
4992: END IF;
4993: IF(l_bom_already_commoned = fnd_api.g_false) THEN -- End of Bug 13340150
4994:
4995: INV_EBI_UTIL.debug_line('STEP 40: BEFORE CALLING BOM_BO_PUB.process_bom');
4996:
4997: BOM_BO_PUB.process_bom
4998: (
4999: p_bom_header_rec => l_bom_header_rec
5008: ,x_bom_sub_component_tbl => l_bom_sub_component_tbl
5009: ,x_return_status => x_out.output_status.return_status
5010: ,x_msg_count => x_out.output_status.msg_count
5011: );
5012: INV_EBI_UTIL.debug_line('STEP 50: AFTER CALLING BOM_BO_PUB.process_bom '||' RETURN STATUS: '|| x_out.output_status.return_status);
5013: IF (x_out.output_status.return_status <> FND_API.g_ret_sts_success) THEN
5014: x_out.output_status.msg_data := x_out.output_status.msg_data || ' -> Item Number: '|| p_assembly_item_name || ' ORG CODE: '|| p_organization_code;
5015: RAISE FND_API.g_exc_unexpected_error;
5016: END IF;
5017: END IF;
5018: IF FND_API.to_boolean( p_commit ) THEN
5019: COMMIT;
5020: END IF;
5021: INV_EBI_UTIL.debug_line('STEP 60: END INSIDE INV_EBI_CHANGE_ORDER_HELPER.process_structure_header STATUS: '|| x_out.output_status.return_status);
5022: EXCEPTION
5023: WHEN FND_API.g_exc_unexpected_error THEN
5024: ROLLBACK TO inv_ebi_proc_bom_save_pnt;
5025: x_out.output_status.return_status := FND_API.g_ret_sts_error;
5433: WHERE
5434: revised_item_sequence_id = p_revised_item_sequence_id;
5435:
5436: BEGIN
5437: INV_EBI_UTIL.debug_line('STEP 10: START INSIDE INV_EBI_CHANGE_ORDER_HELPER.get_eco');
5438: x_return_status := fnd_api.g_ret_sts_success;
5439: l_change_id := p_change_id ;
5440: l_revised_item_sequence_id := p_revised_item_sequence_id;
5441:
5940: END IF;
5941: END LOOP;
5942: END IF; -- IF (l_include_rev_items = fnd_api.g_true) THEN
5943:
5944: IF (INV_EBI_UTIL.is_pim_installed) THEN --Bug 8369900 To check is_pim_installed for reverse flow
5945: --Bug 7240247 To Retrieve Change order Header level Udas if any exists for this change_id
5946: INV_EBI_UTIL.debug_line('STEP 20: BEFORE CALLING INV_EBI_CHANGE_ORDER_HELPER.get_change_order_uda');
5947: get_change_order_uda(
5948: p_change_id => p_change_id,
5942: END IF; -- IF (l_include_rev_items = fnd_api.g_true) THEN
5943:
5944: IF (INV_EBI_UTIL.is_pim_installed) THEN --Bug 8369900 To check is_pim_installed for reverse flow
5945: --Bug 7240247 To Retrieve Change order Header level Udas if any exists for this change_id
5946: INV_EBI_UTIL.debug_line('STEP 20: BEFORE CALLING INV_EBI_CHANGE_ORDER_HELPER.get_change_order_uda');
5947: get_change_order_uda(
5948: p_change_id => p_change_id,
5949: x_change_uda => l_eco_change_order_obj.change_order_uda,
5950: x_return_status => x_return_status,
5950: x_return_status => x_return_status,
5951: x_msg_count => x_msg_count,
5952: x_msg_data => x_msg_data
5953: );
5954: INV_EBI_UTIL.debug_line('STEP 30: AFTER CALLING INV_EBI_CHANGE_ORDER_HELPER.get_change_order_uda STATUS: '||x_return_status);
5955: IF(x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
5956: RAISE FND_API.g_exc_unexpected_error;
5957: END IF;
5958:
5957: END IF;
5958:
5959: --Bug 7240247 To Retrieve Structure Header level Udas if any exists for this change_id
5960: FOR i IN 1..l_revised_item_tbl.COUNT LOOP
5961: INV_EBI_UTIL.debug_line('STEP 40: BEFORE CALLING INV_EBI_CHANGE_ORDER_HELPER.get_structure_header_uda');
5962: get_structure_header_uda(
5963: p_assembly_item_id => l_revised_item_tbl(i).revised_item_id,
5964: p_alternate_bom_code => l_revised_item_tbl(i).alternate_bom_code,
5965: p_organization_id => l_eco_change_order_obj.organization_id,
5967: x_return_status => x_return_status,
5968: x_msg_count => x_msg_count,
5969: x_msg_data => x_msg_data
5970: );
5971: INV_EBI_UTIL.debug_line('STEP 50: AFTER CALLING INV_EBI_CHANGE_ORDER_HELPER.get_structure_header_uda STATUS: '||x_return_status);
5972: IF(x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
5973: RAISE FND_API.g_exc_unexpected_error;
5974: END IF;
5975:
5974: END IF;
5975:
5976: --Bug 7240247
5977: FOR j IN 1..l_revised_item_tbl(i).component_item_tbl.COUNT LOOP
5978: INV_EBI_UTIL.debug_line('STEP 60: BEFORE CALLING INV_EBI_CHANGE_ORDER_HELPER.get_component_item_uda');
5979: get_component_item_uda(
5980: p_eco_name => l_eco_change_order_obj.eco_name,
5981: p_revised_item_id => l_revised_item_tbl(i).revised_item_id,
5982: p_component_item_name => l_revised_item_tbl(i).component_item_tbl(j).component_item_name,
5986: x_return_status => x_return_status,
5987: x_msg_count => x_msg_count,
5988: x_msg_data => x_msg_data
5989: );
5990: INV_EBI_UTIL.debug_line('STEP 70: AFTER CALLING INV_EBI_CHANGE_ORDER_HELPER.get_component_item_uda STATUS: '||x_return_status);
5991: IF(x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
5992: RAISE FND_API.g_exc_unexpected_error;
5993: END IF;
5994: END LOOP;
5995:
5996: END LOOP;
5997: END IF;-- Bug 8369900 end
5998: x_eco_obj := inv_ebi_eco_obj(l_eco_change_order_obj,l_eco_revision_tbl,l_revised_item_tbl,NULL);
5999: INV_EBI_UTIL.debug_line('STEP 80: END CALLING INV_EBI_CHANGE_ORDER_HELPER.get_eco');
6000: EXCEPTION
6001: WHEN FND_API.g_exc_error THEN
6002: x_return_status := FND_API.g_ret_sts_error;
6003: IF(x_msg_data IS NULL) THEN
6035: l_counter NUMBER:=0;
6036: l_org_code VARCHAR2(10);
6037: BEGIN
6038: x_return_status := FND_API.g_ret_sts_success;
6039: INV_EBI_UTIL.debug_line('STEP 10: START INSIDE INV_EBI_CHANGE_ORDER_HELPER.filter_ecos_based_on_org');
6040: INV_EBI_UTIL.debug_line('STEP 20: ORG CODES'||p_org_codes);
6041: l_eco_output_tbl := inv_ebi_change_id_obj_tbl();
6042:
6043: IF p_org_codes IS NOT NULL THEN
6036: l_org_code VARCHAR2(10);
6037: BEGIN
6038: x_return_status := FND_API.g_ret_sts_success;
6039: INV_EBI_UTIL.debug_line('STEP 10: START INSIDE INV_EBI_CHANGE_ORDER_HELPER.filter_ecos_based_on_org');
6040: INV_EBI_UTIL.debug_line('STEP 20: ORG CODES'||p_org_codes);
6041: l_eco_output_tbl := inv_ebi_change_id_obj_tbl();
6042:
6043: IF p_org_codes IS NOT NULL THEN
6044: l_org_tbl := INV_EBI_ITEM_HELPER.parse_input_string(p_org_codes);
6067: x_eco_tbl := l_eco_output_tbl;
6068: IF (x_eco_tbl.count > 0 ) THEN
6069: FOR i IN 1 .. x_eco_tbl.count
6070: LOOP
6071: INV_EBI_UTIL.debug_line('STEP 30: CHANGE ID NUMBER IS '|| x_eco_tbl(i).change_id);
6072: INV_EBI_UTIL.debug_line('STEP 40: LAST UPDATE STATUS '|| x_eco_tbl(i).last_update_status);
6073: END LOOP;
6074: END IF;
6075: INV_EBI_UTIL.debug_line('STEP 50: END INSIDE INV_EBI_CHANGE_ORDER_HELPER.filter_ecos_based_on_org STATUS: '|| x_return_status);
6068: IF (x_eco_tbl.count > 0 ) THEN
6069: FOR i IN 1 .. x_eco_tbl.count
6070: LOOP
6071: INV_EBI_UTIL.debug_line('STEP 30: CHANGE ID NUMBER IS '|| x_eco_tbl(i).change_id);
6072: INV_EBI_UTIL.debug_line('STEP 40: LAST UPDATE STATUS '|| x_eco_tbl(i).last_update_status);
6073: END LOOP;
6074: END IF;
6075: INV_EBI_UTIL.debug_line('STEP 50: END INSIDE INV_EBI_CHANGE_ORDER_HELPER.filter_ecos_based_on_org STATUS: '|| x_return_status);
6076: EXCEPTION
6071: INV_EBI_UTIL.debug_line('STEP 30: CHANGE ID NUMBER IS '|| x_eco_tbl(i).change_id);
6072: INV_EBI_UTIL.debug_line('STEP 40: LAST UPDATE STATUS '|| x_eco_tbl(i).last_update_status);
6073: END LOOP;
6074: END IF;
6075: INV_EBI_UTIL.debug_line('STEP 50: END INSIDE INV_EBI_CHANGE_ORDER_HELPER.filter_ecos_based_on_org STATUS: '|| x_return_status);
6076: EXCEPTION
6077: WHEN OTHERS THEN
6078: x_return_status := FND_API.g_ret_sts_unexp_error;
6079: x_msg_data := SQLERRM ||' at INV_EBI_ITEM_HELPER.filter_ecos_based_on_org';
6112: FROM eng_engineering_changes
6113: WHERE change_notice = p_chg_notice;
6114: BEGIN
6115: x_return_status := FND_API.g_ret_sts_success;
6116: INV_EBI_UTIL.debug_line('STEP 10: START INSIDE INV_EBI_CHANGE_ORDER_HELPER.parse_and_get_eco');
6117: INV_EBI_UTIL.debug_line('STEP 20: CHANGE ORDER NAMES '|| p_eco_names);
6118: INV_EBI_UTIL.debug_line('STEP 30: ORG CODE NAMES '|| p_org_codes);
6119: l_eco_output_tbl :=inv_ebi_change_id_obj_tbl();
6120:
6113: WHERE change_notice = p_chg_notice;
6114: BEGIN
6115: x_return_status := FND_API.g_ret_sts_success;
6116: INV_EBI_UTIL.debug_line('STEP 10: START INSIDE INV_EBI_CHANGE_ORDER_HELPER.parse_and_get_eco');
6117: INV_EBI_UTIL.debug_line('STEP 20: CHANGE ORDER NAMES '|| p_eco_names);
6118: INV_EBI_UTIL.debug_line('STEP 30: ORG CODE NAMES '|| p_org_codes);
6119: l_eco_output_tbl :=inv_ebi_change_id_obj_tbl();
6120:
6121: IF p_eco_names IS NOT NULL THEN
6114: BEGIN
6115: x_return_status := FND_API.g_ret_sts_success;
6116: INV_EBI_UTIL.debug_line('STEP 10: START INSIDE INV_EBI_CHANGE_ORDER_HELPER.parse_and_get_eco');
6117: INV_EBI_UTIL.debug_line('STEP 20: CHANGE ORDER NAMES '|| p_eco_names);
6118: INV_EBI_UTIL.debug_line('STEP 30: ORG CODE NAMES '|| p_org_codes);
6119: l_eco_output_tbl :=inv_ebi_change_id_obj_tbl();
6120:
6121: IF p_eco_names IS NOT NULL THEN
6122: l_eco_tbl := INV_EBI_ITEM_HELPER.parse_input_string(p_eco_names);
6264: x_eco_tbl := l_eco_output_tbl;
6265: IF (x_eco_tbl.count > 0) THEN
6266: FOR i IN 1 .. x_eco_tbl.count
6267: LOOP
6268: INV_EBI_UTIL.debug_line('STEP 40: CHANGE ID NUMBER '|| x_eco_tbl(i).CHANGE_ID);
6269: INV_EBI_UTIL.debug_line('STEP 50: LAST UPDATE STATUS '|| x_eco_tbl(i).LAST_UPDATE_STATUS);
6270: END LOOP;
6271: END IF;
6272: INV_EBI_UTIL.debug_line('STEP 60: END INSIDE INV_EBI_CHANGE_ORDER_HELPER.parse_and_get_eco STATUS: '|| x_return_status);
6265: IF (x_eco_tbl.count > 0) THEN
6266: FOR i IN 1 .. x_eco_tbl.count
6267: LOOP
6268: INV_EBI_UTIL.debug_line('STEP 40: CHANGE ID NUMBER '|| x_eco_tbl(i).CHANGE_ID);
6269: INV_EBI_UTIL.debug_line('STEP 50: LAST UPDATE STATUS '|| x_eco_tbl(i).LAST_UPDATE_STATUS);
6270: END LOOP;
6271: END IF;
6272: INV_EBI_UTIL.debug_line('STEP 60: END INSIDE INV_EBI_CHANGE_ORDER_HELPER.parse_and_get_eco STATUS: '|| x_return_status);
6273: EXCEPTION
6268: INV_EBI_UTIL.debug_line('STEP 40: CHANGE ID NUMBER '|| x_eco_tbl(i).CHANGE_ID);
6269: INV_EBI_UTIL.debug_line('STEP 50: LAST UPDATE STATUS '|| x_eco_tbl(i).LAST_UPDATE_STATUS);
6270: END LOOP;
6271: END IF;
6272: INV_EBI_UTIL.debug_line('STEP 60: END INSIDE INV_EBI_CHANGE_ORDER_HELPER.parse_and_get_eco STATUS: '|| x_return_status);
6273: EXCEPTION
6274: WHEN OTHERS THEN
6275: x_return_status := FND_API.g_ret_sts_unexp_error;
6276: x_msg_data := SQLERRM ||' at INV_EBI_CHANGE_ORDER_HELPER.parse_and_get_eco';
6333: FROM dual ) c ) geco;
6334: l_ind_val NUMBER :=1;
6335: BEGIN
6336: FND_MSG_PUB.initialize();
6337: INV_EBI_UTIL.setup();
6338: INV_EBI_UTIL.debug_line('Step 10: START CALLING INV_EBI_CHANGE_ORDER_HELPER.GET_ECO_LIST');
6339: x_return_status := FND_API.G_RET_STS_SUCCESS;
6340:
6341: IF (p_name_value_list IS NOT NULL AND p_name_value_list.COUNT > 0) THEN
6334: l_ind_val NUMBER :=1;
6335: BEGIN
6336: FND_MSG_PUB.initialize();
6337: INV_EBI_UTIL.setup();
6338: INV_EBI_UTIL.debug_line('Step 10: START CALLING INV_EBI_CHANGE_ORDER_HELPER.GET_ECO_LIST');
6339: x_return_status := FND_API.G_RET_STS_SUCCESS;
6340:
6341: IF (p_name_value_list IS NOT NULL AND p_name_value_list.COUNT > 0) THEN
6342: l_eco_string := INV_EBI_UTIL.get_config_param_value(p_name_value_list,'Change Order Name');
6338: INV_EBI_UTIL.debug_line('Step 10: START CALLING INV_EBI_CHANGE_ORDER_HELPER.GET_ECO_LIST');
6339: x_return_status := FND_API.G_RET_STS_SUCCESS;
6340:
6341: IF (p_name_value_list IS NOT NULL AND p_name_value_list.COUNT > 0) THEN
6342: l_eco_string := INV_EBI_UTIL.get_config_param_value(p_name_value_list,'Change Order Name');
6343: l_org_string := INV_EBI_UTIL.get_config_param_value(p_name_value_list,'Organization Code');
6344: l_from_date_str := INV_EBI_UTIL.get_config_param_value(p_name_value_list,'From Date');
6345: l_to_date_str := INV_EBI_UTIL.get_config_param_value(p_name_value_list,'To Date');
6346: l_last_x_hrs := INV_EBI_UTIL.get_config_param_value(p_name_value_list,'Updated in the last X Hrs');
6339: x_return_status := FND_API.G_RET_STS_SUCCESS;
6340:
6341: IF (p_name_value_list IS NOT NULL AND p_name_value_list.COUNT > 0) THEN
6342: l_eco_string := INV_EBI_UTIL.get_config_param_value(p_name_value_list,'Change Order Name');
6343: l_org_string := INV_EBI_UTIL.get_config_param_value(p_name_value_list,'Organization Code');
6344: l_from_date_str := INV_EBI_UTIL.get_config_param_value(p_name_value_list,'From Date');
6345: l_to_date_str := INV_EBI_UTIL.get_config_param_value(p_name_value_list,'To Date');
6346: l_last_x_hrs := INV_EBI_UTIL.get_config_param_value(p_name_value_list,'Updated in the last X Hrs');
6347:
6340:
6341: IF (p_name_value_list IS NOT NULL AND p_name_value_list.COUNT > 0) THEN
6342: l_eco_string := INV_EBI_UTIL.get_config_param_value(p_name_value_list,'Change Order Name');
6343: l_org_string := INV_EBI_UTIL.get_config_param_value(p_name_value_list,'Organization Code');
6344: l_from_date_str := INV_EBI_UTIL.get_config_param_value(p_name_value_list,'From Date');
6345: l_to_date_str := INV_EBI_UTIL.get_config_param_value(p_name_value_list,'To Date');
6346: l_last_x_hrs := INV_EBI_UTIL.get_config_param_value(p_name_value_list,'Updated in the last X Hrs');
6347:
6348: INV_EBI_UTIL.debug_line('STEP 20: INPUT PARAMETER FOR ECO IS ' || l_eco_string);
6341: IF (p_name_value_list IS NOT NULL AND p_name_value_list.COUNT > 0) THEN
6342: l_eco_string := INV_EBI_UTIL.get_config_param_value(p_name_value_list,'Change Order Name');
6343: l_org_string := INV_EBI_UTIL.get_config_param_value(p_name_value_list,'Organization Code');
6344: l_from_date_str := INV_EBI_UTIL.get_config_param_value(p_name_value_list,'From Date');
6345: l_to_date_str := INV_EBI_UTIL.get_config_param_value(p_name_value_list,'To Date');
6346: l_last_x_hrs := INV_EBI_UTIL.get_config_param_value(p_name_value_list,'Updated in the last X Hrs');
6347:
6348: INV_EBI_UTIL.debug_line('STEP 20: INPUT PARAMETER FOR ECO IS ' || l_eco_string);
6349: INV_EBI_UTIL.debug_line('STEP 30: INPUT PARAMETER FOR ORG IS ' || l_org_string);
6342: l_eco_string := INV_EBI_UTIL.get_config_param_value(p_name_value_list,'Change Order Name');
6343: l_org_string := INV_EBI_UTIL.get_config_param_value(p_name_value_list,'Organization Code');
6344: l_from_date_str := INV_EBI_UTIL.get_config_param_value(p_name_value_list,'From Date');
6345: l_to_date_str := INV_EBI_UTIL.get_config_param_value(p_name_value_list,'To Date');
6346: l_last_x_hrs := INV_EBI_UTIL.get_config_param_value(p_name_value_list,'Updated in the last X Hrs');
6347:
6348: INV_EBI_UTIL.debug_line('STEP 20: INPUT PARAMETER FOR ECO IS ' || l_eco_string);
6349: INV_EBI_UTIL.debug_line('STEP 30: INPUT PARAMETER FOR ORG IS ' || l_org_string);
6350: INV_EBI_UTIL.debug_line('STEP 40: INPUT PARAMETER FOR FROM DATE IS ' || l_from_date_str);
6344: l_from_date_str := INV_EBI_UTIL.get_config_param_value(p_name_value_list,'From Date');
6345: l_to_date_str := INV_EBI_UTIL.get_config_param_value(p_name_value_list,'To Date');
6346: l_last_x_hrs := INV_EBI_UTIL.get_config_param_value(p_name_value_list,'Updated in the last X Hrs');
6347:
6348: INV_EBI_UTIL.debug_line('STEP 20: INPUT PARAMETER FOR ECO IS ' || l_eco_string);
6349: INV_EBI_UTIL.debug_line('STEP 30: INPUT PARAMETER FOR ORG IS ' || l_org_string);
6350: INV_EBI_UTIL.debug_line('STEP 40: INPUT PARAMETER FOR FROM DATE IS ' || l_from_date_str);
6351: INV_EBI_UTIL.debug_line('STEP 50: INPUT PARAMETER FOR TO DATE IS ' || l_to_date_str);
6352: INV_EBI_UTIL.debug_line('STEP 60: INPUT PARAMETER FOR LAST UPDATED HRS IS '|| l_last_x_hrs);
6345: l_to_date_str := INV_EBI_UTIL.get_config_param_value(p_name_value_list,'To Date');
6346: l_last_x_hrs := INV_EBI_UTIL.get_config_param_value(p_name_value_list,'Updated in the last X Hrs');
6347:
6348: INV_EBI_UTIL.debug_line('STEP 20: INPUT PARAMETER FOR ECO IS ' || l_eco_string);
6349: INV_EBI_UTIL.debug_line('STEP 30: INPUT PARAMETER FOR ORG IS ' || l_org_string);
6350: INV_EBI_UTIL.debug_line('STEP 40: INPUT PARAMETER FOR FROM DATE IS ' || l_from_date_str);
6351: INV_EBI_UTIL.debug_line('STEP 50: INPUT PARAMETER FOR TO DATE IS ' || l_to_date_str);
6352: INV_EBI_UTIL.debug_line('STEP 60: INPUT PARAMETER FOR LAST UPDATED HRS IS '|| l_last_x_hrs);
6353:
6346: l_last_x_hrs := INV_EBI_UTIL.get_config_param_value(p_name_value_list,'Updated in the last X Hrs');
6347:
6348: INV_EBI_UTIL.debug_line('STEP 20: INPUT PARAMETER FOR ECO IS ' || l_eco_string);
6349: INV_EBI_UTIL.debug_line('STEP 30: INPUT PARAMETER FOR ORG IS ' || l_org_string);
6350: INV_EBI_UTIL.debug_line('STEP 40: INPUT PARAMETER FOR FROM DATE IS ' || l_from_date_str);
6351: INV_EBI_UTIL.debug_line('STEP 50: INPUT PARAMETER FOR TO DATE IS ' || l_to_date_str);
6352: INV_EBI_UTIL.debug_line('STEP 60: INPUT PARAMETER FOR LAST UPDATED HRS IS '|| l_last_x_hrs);
6353:
6354: IF l_from_date_str IS NOT NULL THEN
6347:
6348: INV_EBI_UTIL.debug_line('STEP 20: INPUT PARAMETER FOR ECO IS ' || l_eco_string);
6349: INV_EBI_UTIL.debug_line('STEP 30: INPUT PARAMETER FOR ORG IS ' || l_org_string);
6350: INV_EBI_UTIL.debug_line('STEP 40: INPUT PARAMETER FOR FROM DATE IS ' || l_from_date_str);
6351: INV_EBI_UTIL.debug_line('STEP 50: INPUT PARAMETER FOR TO DATE IS ' || l_to_date_str);
6352: INV_EBI_UTIL.debug_line('STEP 60: INPUT PARAMETER FOR LAST UPDATED HRS IS '|| l_last_x_hrs);
6353:
6354: IF l_from_date_str IS NOT NULL THEN
6355: l_from_date := TO_DATE(l_from_date_str,'YYYY/MM/DD HH24:MI:SS');
6348: INV_EBI_UTIL.debug_line('STEP 20: INPUT PARAMETER FOR ECO IS ' || l_eco_string);
6349: INV_EBI_UTIL.debug_line('STEP 30: INPUT PARAMETER FOR ORG IS ' || l_org_string);
6350: INV_EBI_UTIL.debug_line('STEP 40: INPUT PARAMETER FOR FROM DATE IS ' || l_from_date_str);
6351: INV_EBI_UTIL.debug_line('STEP 50: INPUT PARAMETER FOR TO DATE IS ' || l_to_date_str);
6352: INV_EBI_UTIL.debug_line('STEP 60: INPUT PARAMETER FOR LAST UPDATED HRS IS '|| l_last_x_hrs);
6353:
6354: IF l_from_date_str IS NOT NULL THEN
6355: l_from_date := TO_DATE(l_from_date_str,'YYYY/MM/DD HH24:MI:SS');
6356: INV_EBI_UTIL.debug_line('STEP 70: FROM DATE CONVERSION IF IT IS NOT NULL ' || l_from_date);
6352: INV_EBI_UTIL.debug_line('STEP 60: INPUT PARAMETER FOR LAST UPDATED HRS IS '|| l_last_x_hrs);
6353:
6354: IF l_from_date_str IS NOT NULL THEN
6355: l_from_date := TO_DATE(l_from_date_str,'YYYY/MM/DD HH24:MI:SS');
6356: INV_EBI_UTIL.debug_line('STEP 70: FROM DATE CONVERSION IF IT IS NOT NULL ' || l_from_date);
6357: END IF;
6358: IF l_to_date_str IS NOT NULL THEN
6359: l_to_date := TO_DATE(l_to_date_str,'YYYY/MM/DD HH24:MI:SS');
6360: INV_EBI_UTIL.debug_line('STEP 80: TO DATE CONVERSION IF IT IS NOT NULL ' || l_to_date);
6356: INV_EBI_UTIL.debug_line('STEP 70: FROM DATE CONVERSION IF IT IS NOT NULL ' || l_from_date);
6357: END IF;
6358: IF l_to_date_str IS NOT NULL THEN
6359: l_to_date := TO_DATE(l_to_date_str,'YYYY/MM/DD HH24:MI:SS');
6360: INV_EBI_UTIL.debug_line('STEP 80: TO DATE CONVERSION IF IT IS NOT NULL ' || l_to_date);
6361: END IF;
6362: IF l_last_x_hrs IS NOT NULL THEN
6363: l_from_date := SYSDATE-( l_last_x_hrs/24);
6364: l_to_date := SYSDATE ;
6361: END IF;
6362: IF l_last_x_hrs IS NOT NULL THEN
6363: l_from_date := SYSDATE-( l_last_x_hrs/24);
6364: l_to_date := SYSDATE ;
6365: INV_EBI_UTIL.debug_line('STEP 90: FROM DATE IF THE LAST X HRS PARAMATER IS GIVEN ' || l_from_date);
6366: INV_EBI_UTIL.debug_line('STEP 100: TO DATE IF THE LAST X HRS PARAMATER IS GIVEN ' || l_to_date);
6367: END IF;
6368: END IF;
6369:
6362: IF l_last_x_hrs IS NOT NULL THEN
6363: l_from_date := SYSDATE-( l_last_x_hrs/24);
6364: l_to_date := SYSDATE ;
6365: INV_EBI_UTIL.debug_line('STEP 90: FROM DATE IF THE LAST X HRS PARAMATER IS GIVEN ' || l_from_date);
6366: INV_EBI_UTIL.debug_line('STEP 100: TO DATE IF THE LAST X HRS PARAMATER IS GIVEN ' || l_to_date);
6367: END IF;
6368: END IF;
6369:
6370: IF (l_eco_string IS NULL AND l_from_date IS NULL AND l_to_date IS NULL AND l_last_x_hrs IS NULL) THEN
6370: IF (l_eco_string IS NULL AND l_from_date IS NULL AND l_to_date IS NULL AND l_last_x_hrs IS NULL) THEN
6371: l_from_date :=INV_EBI_ITEM_HELPER.get_last_run_date( p_conc_prog_id => p_prog_id
6372: ,p_appl_id => p_appl_id
6373: );
6374: INV_EBI_UTIL.debug_line('STEP 110: FROM DATE IF ALL THE PARAMETERS ARE NULL'|| l_from_date);
6375: l_to_date := SYSDATE;
6376: INV_EBI_UTIL.debug_line('STEP 120: TO DATE IF ALL THE PARAMETERS ARE NULL '|| l_to_date);
6377: END IF;
6378:
6372: ,p_appl_id => p_appl_id
6373: );
6374: INV_EBI_UTIL.debug_line('STEP 110: FROM DATE IF ALL THE PARAMETERS ARE NULL'|| l_from_date);
6375: l_to_date := SYSDATE;
6376: INV_EBI_UTIL.debug_line('STEP 120: TO DATE IF ALL THE PARAMETERS ARE NULL '|| l_to_date);
6377: END IF;
6378:
6379: IF l_from_date IS NOT NULL AND l_to_date IS NULL THEN
6380: l_to_date := SYSDATE;
6377: END IF;
6378:
6379: IF l_from_date IS NOT NULL AND l_to_date IS NULL THEN
6380: l_to_date := SYSDATE;
6381: INV_EBI_UTIL.debug_line('STEP 130: TO DATE IF FROM DATE IS NOT NULL AND TODATE IS NULL '|| l_to_date);
6382: END IF;
6383: INV_EBI_UTIL.debug_line('STEP 140: BEFORE CALLING PARSE_AND_GET_ECO');
6384: IF ( l_eco_string IS NOT NULL ) THEN
6385: parse_and_get_eco( p_eco_names => l_eco_string
6379: IF l_from_date IS NOT NULL AND l_to_date IS NULL THEN
6380: l_to_date := SYSDATE;
6381: INV_EBI_UTIL.debug_line('STEP 130: TO DATE IF FROM DATE IS NOT NULL AND TODATE IS NULL '|| l_to_date);
6382: END IF;
6383: INV_EBI_UTIL.debug_line('STEP 140: BEFORE CALLING PARSE_AND_GET_ECO');
6384: IF ( l_eco_string IS NOT NULL ) THEN
6385: parse_and_get_eco( p_eco_names => l_eco_string
6386: ,p_org_codes => l_org_string
6387: ,x_eco_tbl => l_eco_output_tbl
6388: ,x_return_status => l_return_status
6389: ,x_msg_count => l_msg_count
6390: ,x_msg_data => l_msg_data);
6391: END IF;
6392: INV_EBI_UTIL.debug_line('STEP 150: AFTER CALLING PARSE_AND_GET_ECO STATUS: '|| x_return_status);
6393: IF (l_return_status <> FND_API.g_ret_sts_success) THEN
6394: x_return_status := l_return_status;
6395: IF l_msg_data IS NOT NULL THEN
6396: x_msg_data := l_msg_data;
6409: CLOSE c_get_eco_chgid;
6410: IF (l_eco.COUNT > 0) THEN
6411: FOR i IN 1 .. l_eco.COUNT
6412: LOOP
6413: INV_EBI_UTIL.debug_line('STEP 160: CHANGE ID IF FROM DATE AND TO DATE PARAMETER IS NOT NULL '|| l_eco(i).CHANGE_ID);
6414: END LOOP;
6415: END IF;
6416: IF( l_eco_string IS NOT NULL ) THEN
6417: IF(c_get_final_eco_list%ISOPEN) THEN
6421: FETCH c_get_final_eco_list BULK COLLECT INTO l_eco_tbl ;
6422: CLOSE c_get_final_eco_list;
6423: x_eco:=l_eco_tbl;
6424: ELSIF (l_org_string IS NOT NULL) THEN
6425: INV_EBI_UTIL.debug_line('STEP 170: BEFORE CALLING FILTER ECOS BASED ON ORG');
6426: filter_ecos_based_on_org( p_org_codes => l_org_string
6427: ,p_eco_tbl => l_eco
6428: ,x_eco_tbl => l_eco_org_output_tbl
6429: ,x_return_status => l_return_status
6428: ,x_eco_tbl => l_eco_org_output_tbl
6429: ,x_return_status => l_return_status
6430: ,x_msg_count => l_msg_count
6431: ,x_msg_data => l_msg_data);
6432: INV_EBI_UTIL.debug_line('STEP 180: AFTER CALLING FILTER ECOS BASED ON ORG STATUS: '|| x_return_status);
6433: IF (l_return_status = FND_API.g_ret_sts_success) THEN
6434: x_eco := l_eco_org_output_tbl;
6435: ELSE
6436: x_return_status := l_return_status;
6446: END IF;
6447: IF (x_eco.COUNT >0 ) THEN
6448: FOR i IN 1 .. x_eco.COUNT
6449: LOOP
6450: INV_EBI_UTIL.debug_line('STEP 190: CHANGE ID '|| x_eco(i).CHANGE_ID || ' LAST UPDATE STATUS ' ||x_eco(i).LAST_UPDATE_STATUS);
6451: END LOOP;
6452: END IF;
6453: INV_EBI_UTIL.debug_line('STEP 200: END CALLING INV_EBI_CHANGE_ORDER_HELPER.get_eco_list STATUS: '||x_return_status);
6454: INV_EBI_UTIL.wrapup;
6449: LOOP
6450: INV_EBI_UTIL.debug_line('STEP 190: CHANGE ID '|| x_eco(i).CHANGE_ID || ' LAST UPDATE STATUS ' ||x_eco(i).LAST_UPDATE_STATUS);
6451: END LOOP;
6452: END IF;
6453: INV_EBI_UTIL.debug_line('STEP 200: END CALLING INV_EBI_CHANGE_ORDER_HELPER.get_eco_list STATUS: '||x_return_status);
6454: INV_EBI_UTIL.wrapup;
6455: EXCEPTION
6456: WHEN OTHERS THEN
6457: x_return_status := FND_API.g_ret_sts_unexp_error;
6450: INV_EBI_UTIL.debug_line('STEP 190: CHANGE ID '|| x_eco(i).CHANGE_ID || ' LAST UPDATE STATUS ' ||x_eco(i).LAST_UPDATE_STATUS);
6451: END LOOP;
6452: END IF;
6453: INV_EBI_UTIL.debug_line('STEP 200: END CALLING INV_EBI_CHANGE_ORDER_HELPER.get_eco_list STATUS: '||x_return_status);
6454: INV_EBI_UTIL.wrapup;
6455: EXCEPTION
6456: WHEN OTHERS THEN
6457: x_return_status := FND_API.g_ret_sts_unexp_error;
6458: x_msg_data := SQLERRM ||' at INV_EBI_CHANGE_ORDER_HELPER.get_eco_list';