1: PACKAGE BODY INV_EBI_CHANGE_ORDER_PUB AS
2: /* $Header: INVEIPCOB.pls 120.67.12020000.2 2012/07/19 05:00:36 smukka ship $ */
3: /************************************************************************************
4: -- API name : populate_item_attributes
5: -- Type : Private
18: l_output_status inv_ebi_output_status;
19: BEGIN
20: l_output_status := inv_ebi_output_status(fnd_api.g_ret_sts_success,NULL,NULL,NULL);
21: x_out := inv_ebi_item_output_obj(NULL,NULL,NULL,NULL,l_output_status,NULL,NULL,NULL,NULL,NULL,NULL);
22: INV_EBI_UTIL.debug_line('STEP 10: START INSIDE INV_EBI_CHANGE_ORDER_PUB.populate_item_attributes');
23: IF(p_revised_item.item IS NOT NULL ) THEN
24: x_item := p_revised_item.item;
25: ELSE
26: l_main_item_obj := inv_ebi_item_main_obj(fnd_api.g_miss_num,fnd_api.g_miss_char,
102:
103: IF(x_item.main_obj_type.init_msg_list IS NULL OR x_item.main_obj_type.init_msg_list = fnd_api.g_miss_char )THEN
104: x_item.main_obj_type.init_msg_list := FND_API.G_TRUE;
105: END IF;
106: INV_EBI_UTIL.debug_line('STEP 40: END INSIDE INV_EBI_CHANGE_ORDER_PUB.populate_item_attributes STATUS: '||x_out.output_status.return_status);
107: EXCEPTION
108: WHEN FND_API.g_exc_error THEN
109: x_out.output_status.return_status := FND_API.g_ret_sts_error;
110: IF(x_out.output_status.msg_data IS NULL) THEN
116: END IF;
117: WHEN OTHERS THEN
118: x_out.output_status.return_status := FND_API.g_ret_sts_unexp_error;
119: IF (x_out.output_status.msg_data IS NOT NULL) THEN
120: x_out.output_status.msg_data := x_out.output_status.msg_data ||' -> INV_EBI_CHANGE_ORDER_PUB.populate_item_attributes ';
121: ELSE
122: x_out.output_status.msg_data := SQLERRM||' INV_EBI_CHANGE_ORDER_PUB.populate_item_attributes ';
123: END IF;
124: END populate_item_attributes;
118: x_out.output_status.return_status := FND_API.g_ret_sts_unexp_error;
119: IF (x_out.output_status.msg_data IS NOT NULL) THEN
120: x_out.output_status.msg_data := x_out.output_status.msg_data ||' -> INV_EBI_CHANGE_ORDER_PUB.populate_item_attributes ';
121: ELSE
122: x_out.output_status.msg_data := SQLERRM||' INV_EBI_CHANGE_ORDER_PUB.populate_item_attributes ';
123: END IF;
124: END populate_item_attributes;
125:
126: /************************************************************************************
145: l_pk_col_name_val_pairs INV_EBI_ITEM_HELPER.inv_ebi_name_value_pair_tbl;
146:
147: BEGIN
148: SAVEPOINT inv_ebi_engg_item_save_pnt;
149: INV_EBI_UTIL.debug_line('STEP 10: START INSIDE INV_EBI_CHANGE_ORDER_PUB.transfer_engg_item_mfg');
150: l_output_status := inv_ebi_output_status(fnd_api.g_ret_sts_success,NULL,NULL,NULL);
151: x_out := inv_ebi_eco_output_obj(NULL,NULL,NULL,NULL,l_output_status,NULL,NULL);
152:
153: IF(p_item.main_obj_type.inventory_item_id IS NULL OR
263: );
264: END IF;
265: INV_EBI_UTIL.debug_line('STEP 50: AFTER CALLING ENG_BOM_RTG_TRANSFER_PKG.eng_bom_rtg_transfer');
266: END IF;
267: INV_EBI_UTIL.debug_line('STEP 60: END INSIDE INV_EBI_CHANGE_ORDER_PUB.transfer_engg_item_mfg STATUS: '|| x_out.output_status.return_status);
268: EXCEPTION
269: WHEN FND_API.g_exc_unexpected_error THEN
270: ROLLBACK TO inv_ebi_engg_item_save_pnt;
271: x_out.output_status.return_status := FND_API.g_ret_sts_unexp_error;
291: WHEN OTHERS THEN
292: ROLLBACK TO inv_ebi_engg_item_save_pnt;
293: x_out.output_status.return_status := FND_API.g_ret_sts_unexp_error;
294: IF (x_out.output_status.msg_data IS NOT NULL) THEN
295: x_out.output_status.msg_data := x_out.output_status.msg_data ||' -> INV_EBI_CHANGE_ORDER_PUB.transfer_engg_item_manufacturing ';
296: x_out.output_status.msg_data := x_out.output_status.msg_data || ' -> Item Number:' || p_item.main_obj_type.item_number || ' -> Org Code: ' || p_item.main_obj_type.organization_code;
297: ELSE
298: x_out.output_status.msg_data := SQLERRM||' INV_EBI_CHANGE_ORDER_PUB.transfer_engg_item_manufacturing ';
299: x_out.output_status.msg_data := x_out.output_status.msg_data || ' -> Item Number:' || p_item.main_obj_type.item_number || ' -> Org Code: ' || p_item.main_obj_type.organization_code;
294: IF (x_out.output_status.msg_data IS NOT NULL) THEN
295: x_out.output_status.msg_data := x_out.output_status.msg_data ||' -> INV_EBI_CHANGE_ORDER_PUB.transfer_engg_item_manufacturing ';
296: x_out.output_status.msg_data := x_out.output_status.msg_data || ' -> Item Number:' || p_item.main_obj_type.item_number || ' -> Org Code: ' || p_item.main_obj_type.organization_code;
297: ELSE
298: x_out.output_status.msg_data := SQLERRM||' INV_EBI_CHANGE_ORDER_PUB.transfer_engg_item_manufacturing ';
299: x_out.output_status.msg_data := x_out.output_status.msg_data || ' -> Item Number:' || p_item.main_obj_type.item_number || ' -> Org Code: ' || p_item.main_obj_type.organization_code;
300: END IF;
301: END transfer_engg_item_mfg;
302:
321: l_output_status inv_ebi_output_status;
322: BEGIN
323: l_output_status := inv_ebi_output_status(fnd_api.g_ret_sts_success,NULL,NULL,NULL);
324: x_out := inv_ebi_eco_output_obj(NULL,NULL,NULL,NULL,l_output_status,NULL,NULL);
325: INV_EBI_UTIL.debug_line('STEP 10: START INSIDE INV_EBI_CHANGE_ORDER_PUB.validate_component_items ORG CODE: '|| p_organization_code);
326: l_pk_col_name_val_pairs := INV_EBI_ITEM_HELPER.inv_ebi_name_value_pair_tbl();
327: l_pk_col_name_val_pairs.EXTEND(1);
328: l_pk_col_name_val_pairs(1).name := 'organization_code';
329: l_pk_col_name_val_pairs(1).value := p_organization_code;
356: END IF;
357: END IF;
358: END LOOP;
359: END IF;
360: INV_EBI_UTIL.debug_line('STEP 40: END INSIDE INV_EBI_CHANGE_ORDER_PUB.validate_component_items STATUS: '|| x_out.output_status.return_status);
361: EXCEPTION
362: WHEN FND_API.g_exc_error THEN
363: x_out.output_status.return_status := FND_API.g_ret_sts_error;
364: IF(x_out.output_status.msg_data IS NULL) THEN
370: END IF;
371: WHEN OTHERS THEN
372: x_out.output_status.return_status := FND_API.g_ret_sts_unexp_error;
373: IF (x_out.output_status.msg_data IS NOT NULL) THEN
374: x_out.output_status.msg_data := x_out.output_status.msg_data ||' -> INV_EBI_CHANGE_ORDER_PUB.validate_component_items ';
375: ELSE
376: x_out.output_status.msg_data := SQLERRM||' INV_EBI_CHANGE_ORDER_PUB.validate_component_items ';
377: END IF;
378: END validate_component_items;
372: x_out.output_status.return_status := FND_API.g_ret_sts_unexp_error;
373: IF (x_out.output_status.msg_data IS NOT NULL) THEN
374: x_out.output_status.msg_data := x_out.output_status.msg_data ||' -> INV_EBI_CHANGE_ORDER_PUB.validate_component_items ';
375: ELSE
376: x_out.output_status.msg_data := SQLERRM||' INV_EBI_CHANGE_ORDER_PUB.validate_component_items ';
377: END IF;
378: END validate_component_items;
379:
380: /************************************************************************************
395: l_pk_col_name_val_pairs INV_EBI_ITEM_HELPER.inv_ebi_name_value_pair_tbl;
396: l_item_output inv_ebi_item_output_obj;
397:
398: BEGIN
399: INV_EBI_UTIL.debug_line('STEP 10: START INSIDE INV_EBI_CHANGE_ORDER_PUB.validate_item');
400: INV_EBI_UTIL.debug_line('STEP 20: ITEM NUMBER TO VALIDATE : '|| p_item.main_obj_type.item_number ||
401: ' ORGANIZATION ID : '|| p_item.main_obj_type.organization_id);
402: l_output_status := inv_ebi_output_status(fnd_api.g_ret_sts_success,NULL,NULL,NULL);
403: x_out := inv_ebi_item_output_obj(NULL,NULL,NULL,NULL,l_output_status,NULL,NULL,NULL,NULL,NULL,NULL);
465: IF(l_item_output.output_status.return_status <> FND_API.g_ret_sts_success) THEN
466: RAISE FND_API.g_exc_unexpected_error;
467: END IF;
468: END IF;
469: INV_EBI_UTIL.debug_line('STEP 50: END CALLING INV_EBI_CHANGE_ORDER_PUB.validate_item RETURN STATUS: '|| x_out.output_status.return_status);
470: EXCEPTION
471: WHEN FND_API.g_exc_unexpected_error THEN
472: x_out.output_status.return_status := FND_API.g_ret_sts_unexp_error;
473: IF(x_out.output_status.msg_data IS NULL) THEN
488: END IF;
489: WHEN OTHERS THEN
490: x_out.output_status.return_status := FND_API.g_ret_sts_unexp_error;
491: IF (x_out.output_status.msg_data IS NOT NULL) THEN
492: x_out.output_status.msg_data := x_out.output_status.msg_data ||' -> INV_EBI_CHANGE_ORDER_PUB.validate_eco ';
493: ELSE
494: x_out.output_status.msg_data := SQLERRM||' INV_EBI_CHANGE_ORDER_PUB.validate_eco ';
495: END IF;
496: END validate_item;
490: x_out.output_status.return_status := FND_API.g_ret_sts_unexp_error;
491: IF (x_out.output_status.msg_data IS NOT NULL) THEN
492: x_out.output_status.msg_data := x_out.output_status.msg_data ||' -> INV_EBI_CHANGE_ORDER_PUB.validate_eco ';
493: ELSE
494: x_out.output_status.msg_data := SQLERRM||' INV_EBI_CHANGE_ORDER_PUB.validate_eco ';
495: END IF;
496: END validate_item;
497: /************************************************************************************
498: -- API name : populate_revised_items_out
510: l_revised_item_type_tbl inv_ebi_revitem_output_obj_tbl;
511: l_ouid NUMBER;
512: l_operating_unit VARCHAR2(240);
513: BEGIN
514: INV_EBI_UTIL.debug_line('STEP 10: START INSIDE INV_EBI_CHANGE_ORDER_PUB.populate_revised_items_out');
515: INV_EBI_UTIL.debug_line('STEP 20: ECO: '|| p_change_order.eco_name || ' ORG CODE: '|| p_change_order.organization_code);
516: l_pk_col_name_val_pairs := INV_EBI_ITEM_HELPER.inv_ebi_name_value_pair_tbl();
517: l_revised_item_type_tbl := inv_ebi_revitem_output_obj_tbl();
518: l_pk_col_name_val_pairs.EXTEND(1);
581: END IF;
582: END LOOP;
583: END IF;
584: x_revised_item_type_tbl := l_revised_item_type_tbl;
585: INV_EBI_UTIL.debug_line('STEP 50: END INSIDE INV_EBI_CHANGE_ORDER_PUB.populate_revised_items_out');
586: END populate_revised_items_out;
587:
588: /************************************************************************************
589: -- API name : get_eco
610: l_revised_item_tbl inv_ebi_revised_item_tbl;
611: l_revised_item_obj inv_ebi_revised_item_obj;
612: l_only_status_info VARCHAR2(1):= fnd_api.g_false;
613: BEGIN
614: INV_EBI_UTIL.debug_line('STEP 10: START INSIDE INV_EBI_CHANGE_ORDER_PUB.get_eco ');
615: INV_EBI_UTIL.debug_line('STEP 20: CHANGE ID: '|| p_change_id);
616: x_return_status := FND_API.G_RET_STS_SUCCESS;
617: l_eco_change_order_obj := inv_ebi_change_order_obj(
618: NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL
671: x_eco_obj := inv_ebi_eco_obj(l_eco_change_order_obj,NULL,l_revised_item_tbl,NULL);
672: ELSE
673: x_eco_obj := l_eco_obj;
674: END IF;
675: INV_EBI_UTIL.debug_line('STEP 50: END INSIDE INV_EBI_CHANGE_ORDER_PUB.get_eco STATUS: '|| x_return_status);
676: EXCEPTION
677: WHEN FND_API.g_exc_unexpected_error THEN
678: x_return_status := FND_API.g_ret_sts_error;
679: IF(x_msg_data IS NULL) THEN
685: END IF;
686: WHEN OTHERS THEN
687: x_return_status := FND_API.g_ret_sts_error;
688: IF (x_msg_data IS NOT NULL) THEN
689: x_msg_data := x_msg_data ||' -> at inv_ebi_change_order_pub.get_eco';
690: ELSE
691: x_msg_data := SQLERRM||' at inv_ebi_change_order_pub.get_eco ';
692: END IF;
693: END get_eco;
687: x_return_status := FND_API.g_ret_sts_error;
688: IF (x_msg_data IS NOT NULL) THEN
689: x_msg_data := x_msg_data ||' -> at inv_ebi_change_order_pub.get_eco';
690: ELSE
691: x_msg_data := SQLERRM||' at inv_ebi_change_order_pub.get_eco ';
692: END IF;
693: END get_eco;
694:
695: /************************************************************************************
1065: INV_EBI_ITEM_HELPER.set_server_time_zone;
1066:
1067: INV_EBI_UTIL.setup();
1068:
1069: INV_EBI_UTIL.debug_line('STEP 10: START INSIDE INV_EBI_CHANGE_ORDER_PUB.get_eco_list_attr');
1070: INV_EBI_UTIL.debug_line( ' **************** Apps Context Details ****************' );
1071: INV_EBI_UTIL.debug_line(' User Id: ' || FND_GLOBAL.USER_ID || '; Responsibility Application id: ' ||
1072: FND_GLOBAL.RESP_APPL_ID || '; Responsibility Id: ' || FND_GLOBAL.RESP_ID ||
1073: '; Security Group id: '|| FND_GLOBAL.SECURITY_GROUP_ID ||'; User Lang: '|| USERENV('LANG') );
1155: Convert_date_str_eco(p_eco_lst_obj => l_eco_obj_tbl
1156: ,x_eco_lst_obj => x_eco_lst_obj);
1157: END IF;
1158:
1159: INV_EBI_UTIL.debug_line('STEP 40: END INSIDE INV_EBI_CHANGE_ORDER_PUB.get_eco_list_attr STATUS: '|| x_return_status);
1160:
1161: INV_EBI_UTIL.wrapup;
1162:
1163: EXCEPTION
1163: EXCEPTION
1164: WHEN OTHERS THEN
1165: x_return_status := FND_API.G_RET_STS_ERROR;
1166: IF (x_msg_data IS NOT NULL) THEN
1167: x_msg_data := x_msg_data ||' -> at INV_EBI_CHANGE_ORDER_PUB.get_eco_list_attr';
1168: ELSE
1169: x_msg_data := SQLERRM||' at INV_EBI_CHANGE_ORDER_PUB.get_eco_list_attr ';
1170: END IF;
1171: END get_eco_list_attr;
1165: x_return_status := FND_API.G_RET_STS_ERROR;
1166: IF (x_msg_data IS NOT NULL) THEN
1167: x_msg_data := x_msg_data ||' -> at INV_EBI_CHANGE_ORDER_PUB.get_eco_list_attr';
1168: ELSE
1169: x_msg_data := SQLERRM||' at INV_EBI_CHANGE_ORDER_PUB.get_eco_list_attr ';
1170: END IF;
1171: END get_eco_list_attr;
1172:
1173: /************************************************************************************
1220:
1221: l_output_status := inv_ebi_output_status(fnd_api.g_ret_sts_success,NULL,NULL,NULL);
1222: x_out := inv_ebi_item_output_obj(NULL,NULL,NULL,NULL,l_output_status,NULL,NULL,NULL,NULL,NULL,NULL);
1223:
1224: INV_EBI_UTIL.debug_line('STEP 10: START INSIDE INV_EBI_CHANGE_ORDER_PUB.process_change_order_items');
1225:
1226: x_update_item_tbl := inv_ebi_item_attr_tbl();
1227:
1228: x_update_item_tbl := p_update_item_tbl;
1234: FOR i IN 1 .. l_eco_obj.eco_revised_item_type.COUNT
1235: LOOP
1236:
1237: --To populate item attributes from revised item values.
1238: INV_EBI_UTIL.debug_line('STEP 20: BEFORE CALLING INV_EBI_CHANGE_ORDER_PUB.populate_item_attributes FOR ' || ' ECO : ' || l_eco_obj.eco_change_order_type.eco_name ||
1239: ' ORG CODE : '|| l_eco_obj.eco_change_order_type.organization_code || ' REVISED ITEM : '||l_eco_obj.eco_revised_item_type(i).revised_item_name );
1240: populate_item_attributes(
1241: p_change_order_obj => l_eco_obj.eco_change_order_type
1242: ,p_revised_item => l_eco_obj.eco_revised_item_type(i)
1242: ,p_revised_item => l_eco_obj.eco_revised_item_type(i)
1243: ,x_item => l_item
1244: ,x_out => l_item_output_obj
1245: );
1246: INV_EBI_UTIL.debug_line('STEP 30: END CALLING INV_EBI_CHANGE_ORDER_PUB.populate_item_attributes STATUS: '|| l_item_output_obj.output_status.return_status);
1247:
1248: IF (l_item_output_obj.output_status.return_status <> FND_API.G_RET_STS_SUCCESS) THEN
1249: x_out.output_status.msg_data := l_item_output_obj.output_status.msg_data;
1250: x_out.output_status.msg_count := l_item_output_obj.output_status.msg_count;
1250: x_out.output_status.msg_count := l_item_output_obj.output_status.msg_count;
1251: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1252:
1253: END IF;
1254: INV_EBI_UTIL.debug_line('STEP 40: BEFORE CALLING INV_EBI_CHANGE_ORDER_PUB.populate_item_ids');
1255:
1256: INV_EBI_ITEM_HELPER.populate_item_ids(
1257: p_item => l_item
1258: ,x_out => l_item_output_obj
1257: p_item => l_item
1258: ,x_out => l_item_output_obj
1259: ,x_item => l_eco_obj.eco_revised_item_type(i).item
1260: );
1261: INV_EBI_UTIL.debug_line('STEP 50: AFTER CALLING INV_EBI_CHANGE_ORDER_PUB.populate_item_ids STATUS: '|| l_item_output_obj.output_status.return_status);
1262: IF (l_item_output_obj.output_status.return_status <> FND_API.G_RET_STS_SUCCESS) THEN
1263: x_out.output_status.msg_data := l_item_output_obj.output_status.msg_data;
1264: x_out.output_status.msg_count := l_item_output_obj.output_status.msg_count;
1265: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1265: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1266: END IF;
1267:
1268:
1269: INV_EBI_UTIL.debug_line('STEP 60: START CALLING INV_EBI_CHANGE_ORDER_PUB.validate_item');
1270:
1271: validate_item(
1272: p_item => l_item
1273: ,x_out => l_item_output_obj
1272: p_item => l_item
1273: ,x_out => l_item_output_obj
1274: );
1275:
1276: INV_EBI_UTIL.debug_line('STEP 70: END CALLING INV_EBI_CHANGE_ORDER_PUB.validate_item STATUS: '|| l_item_output_obj.output_status.return_status);
1277:
1278: IF (l_item_output_obj.output_status.return_status <> FND_API.G_RET_STS_SUCCESS) THEN
1279: x_out.output_status.msg_data := l_item_output_obj.output_status.msg_data;
1280: x_out.output_status.msg_count := l_item_output_obj.output_status.msg_count;
1439: IF FND_API.to_boolean(p_commit) THEN
1440: COMMIT;
1441: END IF;
1442:
1443: INV_EBI_UTIL.debug_line('STEP 150: END INSIDE INV_EBI_CHANGE_ORDER_PUB.process_change_order_items STATUS: '|| x_out.output_status.return_status);
1444:
1445:
1446: EXCEPTION
1447: WHEN FND_API.g_exc_unexpected_error THEN
1485: x_out.output_status.msg_data := INV_EBI_UTIL.get_error_table_msgtxt(x_out.output_status.error_table);
1486: END IF;
1487:
1488: IF (x_out.output_status.msg_data IS NOT NULL) THEN
1489: x_out.output_status.msg_data := x_out.output_status.msg_data||' -> INV_EBI_CHANGE_ORDER_PUB.process_change_order_items ';
1490: ELSE
1491: x_out.output_status.msg_data := SQLERRM||' INV_EBI_CHANGE_ORDER_PUB.process_change_order_items ';
1492: END IF;
1493:
1487:
1488: IF (x_out.output_status.msg_data IS NOT NULL) THEN
1489: x_out.output_status.msg_data := x_out.output_status.msg_data||' -> INV_EBI_CHANGE_ORDER_PUB.process_change_order_items ';
1490: ELSE
1491: x_out.output_status.msg_data := SQLERRM||' INV_EBI_CHANGE_ORDER_PUB.process_change_order_items ';
1492: END IF;
1493:
1494: END process_change_order_items;
1495:
1510:
1511: BEGIN
1512: SAVEPOINT inv_ebi_proc_upd_item_save_pnt;
1513: FND_MSG_PUB.initialize;
1514: INV_EBI_UTIL.debug_line('STEP 10: START INSIDE INV_EBI_CHANGE_ORDER_PUB.process_update_items');
1515: l_output_status := inv_ebi_output_status(fnd_api.g_ret_sts_success,NULL,NULL,NULL);
1516: x_out := inv_ebi_item_output_obj(NULL,NULL,NULL,NULL,l_output_status,NULL,NULL,NULL,NULL,NULL,NULL);
1517:
1518: IF(p_update_item_tbl IS NOT NULL AND p_update_item_tbl.COUNT > 0) THEN
1534: RAISE fnd_api.g_exc_unexpected_error;
1535: END IF;
1536: END LOOP;
1537: END IF;
1538: INV_EBI_UTIL.debug_line('STEP 40: END INSIDE INV_EBI_CHANGE_ORDER_PUB.process_update_items');
1539: EXCEPTION
1540: WHEN FND_API.g_exc_unexpected_error THEN
1541: ROLLBACK TO inv_ebi_proc_upd_item_save_pnt;
1542: x_out.output_status.return_status := FND_API.g_ret_sts_unexp_error;
1568: x_out.output_status.msg_data := INV_EBI_UTIL.get_error_table_msgtxt(x_out.output_status.error_table);
1569: END IF;
1570:
1571: IF (x_out.output_status.msg_data IS NOT NULL) THEN
1572: x_out.output_status.msg_data := x_out.output_status.msg_data||' -> INV_EBI_CHANGE_ORDER_PUB.process_update_items ';
1573: ELSE
1574: x_out.output_status.msg_data := SQLERRM||' INV_EBI_CHANGE_ORDER_PUB.process_update_items ';
1575: END IF;
1576: END process_update_items;
1570:
1571: IF (x_out.output_status.msg_data IS NOT NULL) THEN
1572: x_out.output_status.msg_data := x_out.output_status.msg_data||' -> INV_EBI_CHANGE_ORDER_PUB.process_update_items ';
1573: ELSE
1574: x_out.output_status.msg_data := SQLERRM||' INV_EBI_CHANGE_ORDER_PUB.process_update_items ';
1575: END IF;
1576: END process_update_items;
1577:
1578: /************************************************************************************
1623: l_replicate_bom_org_tbl := FND_TABLE_OF_VARCHAR2_30();
1624: l_common_eco_tbl := FND_TABLE_OF_VARCHAR2_30();
1625: l_replicate_bom_eco_tbl := FND_TABLE_OF_VARCHAR2_30();
1626: x_eco_obj_list := inv_ebi_eco_obj_tbl();
1627: INV_EBI_UTIL.debug_line('STEP 10: START INSIDE INV_EBI_CHANGE_ORDER_PUB.process_bom');
1628: IF(p_eco_obj_list IS NOT NULL AND p_eco_obj_list.COUNT > 0) THEN
1629: x_eco_obj_list.EXTEND(p_eco_obj_list.COUNT);
1630:
1631: FOR i in 1..p_eco_obj_list.count
1857: END IF;
1858: END IF;
1859: END LOOP;
1860: END IF;
1861: INV_EBI_UTIL.debug_line('STEP 140: END OF INV_EBI_CHANGE_ORDER_PUB.process_bom STATUS: '|| x_out.output_status.return_status);
1862: IF FND_API.to_boolean(p_commit) THEN
1863: COMMIT;
1864: END IF;
1865:
1900: x_out.output_status.msg_data := INV_EBI_UTIL.get_error_table_msgtxt(x_out.output_status.error_table);
1901: END IF;
1902:
1903: IF (x_out.output_status.msg_data IS NOT NULL) THEN
1904: x_out.output_status.msg_data := x_out.output_status.msg_data||' -> INV_EBI_CHANGE_ORDER_PUB.process_bom ';
1905: ELSE
1906: x_out.output_status.msg_data := SQLERRM||' INV_EBI_CHANGE_ORDER_PUB.process_bom ';
1907: END IF;
1908:
1902:
1903: IF (x_out.output_status.msg_data IS NOT NULL) THEN
1904: x_out.output_status.msg_data := x_out.output_status.msg_data||' -> INV_EBI_CHANGE_ORDER_PUB.process_bom ';
1905: ELSE
1906: x_out.output_status.msg_data := SQLERRM||' INV_EBI_CHANGE_ORDER_PUB.process_bom ';
1907: END IF;
1908:
1909: END process_bom;
1910:
1947: BEGIN
1948: SAVEPOINT inv_ebi_chg_order_save_pnt;
1949: FND_MSG_PUB.initialize;
1950:
1951: INV_EBI_UTIL.debug_line('STEP 10: START INSIDE INV_EBI_CHANGE_ORDER_PUB.process_change_order' );
1952: INV_EBI_UTIL.debug_line('STEP 20: CHANGE NOTICE: '|| p_eco_obj.eco_change_order_type.eco_name ||
1953: ' ORG CODE: '|| p_eco_obj.eco_change_order_type.organization_code );
1954: l_uda_output := inv_ebi_uda_output_obj(NULL,NULL);
1955: l_output_status := inv_ebi_output_status(fnd_api.g_ret_sts_success,NULL,NULL,NULL);
2152:
2153: IF FND_API.to_boolean(p_commit) THEN
2154: COMMIT;
2155: END IF;
2156: INV_EBI_UTIL.debug_line('STEP 120: END INSIDE INV_EBI_CHANGE_ORDER_PUB.process_change_order'||'RETURN STATUS: '||x_out.output_status.return_status);
2157: EXCEPTION
2158: WHEN FND_API.g_exc_unexpected_error THEN
2159: ROLLBACK TO inv_ebi_chg_order_save_pnt;
2160:
2184: IF (x_out.output_status.error_table IS NOT NULL AND x_out.output_status.error_table.COUNT > 0) THEN
2185: x_out.output_status.msg_data := INV_EBI_UTIL.get_error_table_msgtxt(x_out.output_status.error_table);
2186: END IF;
2187: IF (x_out.output_status.msg_data IS NOT NULL) THEN
2188: x_out.output_status.msg_data := x_out.output_status.msg_data||' -> INV_EBI_CHANGE_ORDER_PUB.process_change_order ';
2189: ELSE
2190: x_out.output_status.msg_data := SQLERRM||' INV_EBI_CHANGE_ORDER_PUB.process_change_order ';
2191: END IF;
2192:
2186: END IF;
2187: IF (x_out.output_status.msg_data IS NOT NULL) THEN
2188: x_out.output_status.msg_data := x_out.output_status.msg_data||' -> INV_EBI_CHANGE_ORDER_PUB.process_change_order ';
2189: ELSE
2190: x_out.output_status.msg_data := SQLERRM||' INV_EBI_CHANGE_ORDER_PUB.process_change_order ';
2191: END IF;
2192:
2193: END process_change_order;
2194:
2252:
2253: SAVEPOINT inv_ebi_prc_chg_ord_save_pnt;
2254: ERROR_HANDLER.Initialize;
2255: FND_MSG_PUB.initialize;
2256: INV_EBI_UTIL.debug_line('STEP 10: START INSIDE INV_EBI_CHANGE_ORDER_PUB.process_change_order_list_core');
2257: INV_EBI_UTIL.debug_line( ' **************** Apps Context Details ****************' );
2258: INV_EBI_UTIL.debug_line(' User Id: ' || FND_GLOBAL.USER_ID || '; Responsibility Application id: ' ||
2259: FND_GLOBAL.RESP_APPL_ID || '; Responsibility Id: ' || FND_GLOBAL.RESP_ID ||
2260: '; Security Group id: '|| FND_GLOBAL.SECURITY_GROUP_ID ||'; User Lang: '|| USERENV('LANG') );
2285: l_is_master_org := INV_EBI_UTIL.is_master_org(l_org_code);
2286:
2287: IF( l_is_master_org = fnd_api.g_true ) THEN
2288:
2289: INV_EBI_UTIL.debug_line('STEP 20: BEFORE CALLING INV_EBI_CHANGE_ORDER_PUB.process_change_order_items for Master ORG'||
2290: ' Organization Code: '||l_eco_obj_tbl(i).eco_change_order_type.organization_code||
2291: ' ECO Name: '||l_eco_obj_tbl(i).eco_change_order_type.eco_name);
2292:
2293:
2291: ' ECO Name: '||l_eco_obj_tbl(i).eco_change_order_type.eco_name);
2292:
2293:
2294: --To Create Items in Master Org
2295: INV_EBI_CHANGE_ORDER_PUB.process_change_order_items(
2296: p_commit => p_commit
2297: ,p_eco_obj => l_inv_ebi_eco_obj
2298: ,p_update_item_tbl => l_upd_item_tbl
2299: ,x_update_item_tbl => l_updated_item_tbl
2322:
2323: END LOOP;
2324: END IF;
2325:
2326: INV_EBI_UTIL.debug_line('STEP 30: AFTER CALLING INV_EBI_CHANGE_ORDER_PUB.process_change_order_items for Master ORG'||
2327: ' Organization Code: '||l_eco_obj_tbl(i).eco_change_order_type.organization_code||
2328: ' ECO Name: '||l_eco_obj_tbl(i).eco_change_order_type.eco_name||' RETURN STATUS: '||l_item_output_obj.output_status.return_status);
2329:
2330: END IF;
2339: l_is_master_org := INV_EBI_UTIL.is_master_org(l_org_code);
2340:
2341: IF( l_is_master_org = fnd_api.g_false ) THEN
2342:
2343: INV_EBI_UTIL.debug_line('STEP 40: BEFORE CALLING INV_EBI_CHANGE_ORDER_PUB.process_change_order_items for Child ORG'||
2344: ' Organization Code: '||l_eco_obj_tbl(i).eco_change_order_type.organization_code||
2345: ' ECO Name: '||l_eco_obj_tbl(i).eco_change_order_type.eco_name);
2346:
2347: --To Create Items in Child Org
2347: --To Create Items in Child Org
2348:
2349: l_upd_item_tbl := l_updated_item_tbl;
2350:
2351: INV_EBI_CHANGE_ORDER_PUB.process_change_order_items(
2352: p_commit => p_commit
2353: ,p_eco_obj => l_inv_ebi_eco_obj
2354: ,p_update_item_tbl => l_upd_item_tbl
2355: ,x_update_item_tbl => l_updated_item_tbl
2381: END LOOP;
2382:
2383: END IF;
2384:
2385: INV_EBI_UTIL.debug_line('STEP 50: AFTER CALLING INV_EBI_CHANGE_ORDER_PUB.process_change_order_items for Child ORG'||
2386: ' Organization Code: '||l_eco_obj_tbl(i).eco_change_order_type.organization_code||
2387: ' ECO Name: '||l_eco_obj_tbl(i).eco_change_order_type.eco_name||' RETURN STATUS: '||l_item_output_obj.output_status.return_status);
2388:
2389:
2437: END LOOP;
2438: RAISE fnd_api.g_exc_unexpected_error;
2439: END IF;
2440:
2441: INV_EBI_UTIL.debug_line('STEP 80: BEFORE CALLING INV_EBI_CHANGE_ORDER_PUB.process_bom');
2442: process_bom(
2443: p_commit => p_commit
2444: ,p_eco_obj_list => l_eco_obj_tbl
2445: ,x_eco_obj_list => l_eco_obj_list
2445: ,x_eco_obj_list => l_eco_obj_list
2446: ,x_out => l_inv_ebi_eco_output_obj
2447: );
2448:
2449: INV_EBI_UTIL.debug_line('STEP 90: AFTER CALLING INV_EBI_CHANGE_ORDER_PUB.process_bom status is ' || l_inv_ebi_eco_output_obj.output_status.return_status);
2450: IF (l_inv_ebi_eco_output_obj.output_status.return_status <> FND_API.g_ret_sts_success )THEN
2451: l_eco_name := l_inv_ebi_eco_output_obj.change_notice;
2452: l_org_code := l_inv_ebi_eco_output_obj.organization_code;
2453: FOR i IN 1..l_eco_obj_tbl.COUNT LOOP
2465: LOOP
2466: l_inv_ebi_eco_obj := l_eco_obj_list(i);
2467: l_eco_name := l_eco_obj_list(i).eco_change_order_type.eco_name;
2468: l_org_code := l_eco_obj_list(i).eco_change_order_type.organization_code;
2469: INV_EBI_UTIL.debug_line('STEP 100: BEFORE CALLING INV_EBI_CHANGE_ORDER_PUB.process_change_order');
2470:
2471: process_change_order(
2472: p_commit => p_commit
2473: ,p_eco_obj => l_inv_ebi_eco_obj
2472: p_commit => p_commit
2473: ,p_eco_obj => l_inv_ebi_eco_obj
2474: ,x_out => l_inv_ebi_eco_output_obj
2475: );
2476: INV_EBI_UTIL.debug_line('STEP 110: AFTER CALLING INV_EBI_CHANGE_ORDER_PUB.process_change_order STATUS '|| l_inv_ebi_eco_output_obj.output_status.return_status);
2477: x_out(i) := l_inv_ebi_eco_output_obj;
2478:
2479: IF x_out(i).output_status.return_status <> FND_API.G_RET_STS_SUCCESS THEN
2480:
2486:
2487: --Item updation to be done after change Order creation
2488:
2489: -- update items
2490: INV_EBI_UTIL.debug_line('STEP 120: BEFORE CALLING INV_EBI_CHANGE_ORDER_PUB.process_update_items ');
2491: process_update_items(
2492: p_commit => p_commit
2493: ,p_update_item_tbl => l_updated_item_tbl
2494: ,x_out => l_item_output_obj
2493: ,p_update_item_tbl => l_updated_item_tbl
2494: ,x_out => l_item_output_obj
2495: );
2496:
2497: INV_EBI_UTIL.debug_line('STEP 130: AFTER CALLING INV_EBI_CHANGE_ORDER_PUB.process_update_items STATUS: '|| l_item_output_obj.output_status.return_status);
2498: IF (l_item_output_obj.output_status.return_status <> fnd_api.g_ret_sts_success) THEN
2499: l_item_name := l_item_output_obj.item_number;
2500: l_org_code := l_item_output_obj.organization_code;
2501:
2581: IF FND_API.to_boolean(p_commit) THEN
2582: COMMIT;
2583: END IF;
2584:
2585: INV_EBI_UTIL.debug_line('STEP 180: END INSIDE INV_EBI_CHANGE_ORDER_PUB.process_change_order_list STATUS: '|| x_return_status);
2586:
2587: EXCEPTION
2588: WHEN FND_API.g_exc_unexpected_error THEN
2589: ROLLBACK TO inv_ebi_prc_chg_ord_save_pnt;
2602: ROLLBACK TO inv_ebi_prc_chg_ord_save_pnt;
2603: x_out.EXTEND();
2604: x_out(1).output_status.return_status := FND_API.g_ret_sts_unexp_error;
2605: IF (x_out(1).output_status.msg_data IS NOT NULL) THEN
2606: x_out(1).output_status.msg_data := x_out(1).output_status.msg_data||' -> INV_EBI_CHANGE_ORDER_PUB.process_change_order_list';
2607: ELSE
2608: x_out(1).output_status.msg_data := SQLERRM|| 'INV_EBI_CHANGE_ORDER_PUB.process_change_order_list';
2609: END IF;
2610: x_return_status := FND_API.G_RET_STS_ERROR;
2604: x_out(1).output_status.return_status := FND_API.g_ret_sts_unexp_error;
2605: IF (x_out(1).output_status.msg_data IS NOT NULL) THEN
2606: x_out(1).output_status.msg_data := x_out(1).output_status.msg_data||' -> INV_EBI_CHANGE_ORDER_PUB.process_change_order_list';
2607: ELSE
2608: x_out(1).output_status.msg_data := SQLERRM|| 'INV_EBI_CHANGE_ORDER_PUB.process_change_order_list';
2609: END IF;
2610: x_return_status := FND_API.G_RET_STS_ERROR;
2611: x_msg_count := x_out(1).output_status.msg_count;
2612:
2642: SAVEPOINT inv_ebi_prc_chg_lst_save_pnt;
2643: ERROR_HANDLER.Initialize;
2644: FND_MSG_PUB.initialize;
2645: INV_EBI_UTIL.setup();
2646: INV_EBI_UTIL.debug_line('STEP 10: START INSIDE INV_EBI_CHANGE_ORDER_PUB.process_change_order_list');
2647: x_return_status := FND_API.G_RET_STS_SUCCESS ;
2648:
2649: IF (p_eco_obj_list IS NOT NULL AND p_eco_obj_list.count > 0) THEN
2650: INV_EBI_UTIL.debug_line('STEP 20: START CALLING INV_EBI_CHANGE_ORDER_PUB.process_change_order_list_core');
2646: INV_EBI_UTIL.debug_line('STEP 10: START INSIDE INV_EBI_CHANGE_ORDER_PUB.process_change_order_list');
2647: x_return_status := FND_API.G_RET_STS_SUCCESS ;
2648:
2649: IF (p_eco_obj_list IS NOT NULL AND p_eco_obj_list.count > 0) THEN
2650: INV_EBI_UTIL.debug_line('STEP 20: START CALLING INV_EBI_CHANGE_ORDER_PUB.process_change_order_list_core');
2651: process_change_order_list_core( p_commit => fnd_api.g_false
2652: ,p_eco_obj_list => p_eco_obj_list
2653: ,x_out => x_out
2654: ,x_return_status => x_return_status
2653: ,x_out => x_out
2654: ,x_return_status => x_return_status
2655: ,x_msg_count => x_msg_count
2656: ,x_msg_data => x_msg_data);
2657: INV_EBI_UTIL.debug_line('STEP 30: END CALLING INV_EBI_CHANGE_ORDER_PUB.process_change_order_list_core STATUS: '|| x_return_status);
2658: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
2659: RAISE FND_API.g_exc_unexpected_error;
2660: END IF;
2661: END IF;
2659: RAISE FND_API.g_exc_unexpected_error;
2660: END IF;
2661: END IF;
2662:
2663: INV_EBI_UTIL.debug_line('STEP 40: END INSIDE INV_EBI_CHANGE_ORDER_PUB.process_change_order_list');
2664: INV_EBI_UTIL.wrapup;
2665:
2666: EXCEPTION
2667: WHEN FND_API.g_exc_unexpected_error THEN
2670: WHEN OTHERS THEN
2671: ROLLBACK TO inv_ebi_prc_chg_lst_save_pnt;
2672: x_return_status := FND_API.G_RET_STS_ERROR;
2673: IF x_msg_data IS NULL THEN
2674: x_msg_data := SQLERRM|| 'INV_EBI_CHANGE_ORDER_PUB.process_change_order_list';
2675: END IF;
2676: END process_change_order_list;
2677: /************************************************************************************
2678: -- API name : validate_change_order_list
2693: --SAVEPOINT inv_ebi_val_chg_lst_save_pnt;
2694: ERROR_HANDLER.Initialize;
2695: FND_MSG_PUB.initialize;
2696: INV_EBI_UTIL.setup();
2697: INV_EBI_UTIL.debug_line('STEP 10: START INSIDE INV_EBI_CHANGE_ORDER_PUB.validate_change_order_list');
2698: x_return_status := FND_API.G_RET_STS_SUCCESS ;
2699:
2700: IF (p_eco_obj_list IS NOT NULL AND p_eco_obj_list.count > 0) THEN
2701: INV_EBI_UTIL.debug_line('STEP 20: BEFORE CALLING INV_EBI_CHANGE_ORDER_PUB.process_change_order_list_core');
2697: INV_EBI_UTIL.debug_line('STEP 10: START INSIDE INV_EBI_CHANGE_ORDER_PUB.validate_change_order_list');
2698: x_return_status := FND_API.G_RET_STS_SUCCESS ;
2699:
2700: IF (p_eco_obj_list IS NOT NULL AND p_eco_obj_list.count > 0) THEN
2701: INV_EBI_UTIL.debug_line('STEP 20: BEFORE CALLING INV_EBI_CHANGE_ORDER_PUB.process_change_order_list_core');
2702: process_change_order_list_core( p_commit => fnd_api.g_false
2703: ,p_eco_obj_list => p_eco_obj_list
2704: ,x_out => x_out
2705: ,x_return_status => x_return_status
2704: ,x_out => x_out
2705: ,x_return_status => x_return_status
2706: ,x_msg_count => x_msg_count
2707: ,x_msg_data => x_msg_data);
2708: INV_EBI_UTIL.debug_line('STEP 30: AFTER CALLING INV_EBI_CHANGE_ORDER_PUB.process_change_order_list_core'||'RETURN STATUS: '||x_return_status);
2709: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
2710: RAISE FND_API.g_exc_unexpected_error;
2711: END IF;
2712: END IF;
2712: END IF;
2713:
2714: -- ROLLBACK TO inv_ebi_val_chg_lst_save_pnt;
2715: ROLLBACK;
2716: INV_EBI_UTIL.debug_line('STEP 40: END INSIDE INV_EBI_CHANGE_ORDER_PUB.validate_change_order_list');
2717: INV_EBI_UTIL.wrapup;
2718:
2719: EXCEPTION
2720: WHEN FND_API.g_exc_unexpected_error THEN
2725: -- ROLLBACK TO inv_ebi_val_chg_lst_save_pnt;
2726: ROLLBACK;
2727: x_return_status := FND_API.G_RET_STS_ERROR;
2728: IF x_msg_data IS NULL THEN
2729: x_msg_data := SQLERRM|| 'INV_EBI_CHANGE_ORDER_PUB.validate_change_order_list';
2730: END IF;
2731: END validate_change_order_list;
2732:
2733: END INV_EBI_CHANGE_ORDER_PUB;
2729: x_msg_data := SQLERRM|| 'INV_EBI_CHANGE_ORDER_PUB.validate_change_order_list';
2730: END IF;
2731: END validate_change_order_list;
2732:
2733: END INV_EBI_CHANGE_ORDER_PUB;