117: -- remove records that has derivation errors on location attrs;
118: -- we won't create/update items for such records
119: FOR i IN 1..l_items.rec_count
120: LOOP
121: IF (l_items.error_flag_tbl(i) = FND_API.g_TRUE) THEN
122: l_unprocessed_row_tbl.DELETE(i);
123:
124: IF (PO_LOG.d_stmt) THEN
125: PO_LOG.stmt(d_module, d_position, 'record removed due to ' ||
129: END IF;
130:
131: -- set corresponding po_line's error_flag to 'Y'
132: x_lines.error_flag_tbl(l_items.line_ref_index_tbl(i)) :=
133: FND_API.g_TRUE;
134:
135: END IF;
136: END LOOP;
137:
274: l_index := l_unprocessed_row_tbl.FIRST;
275: WHILE (l_index IS NOT NULL)
276: LOOP
277: IF (x_lines.error_flag_tbl(l_items.line_ref_index_tbl(l_index)) =
278: FND_API.g_TRUE) THEN
279: IF (PO_LOG.d_stmt) THEN
280: PO_LOG.stmt(d_module, d_position, 'reject item on index',
281: l_index);
282: END IF;
381: p_lines.intf_line_id_tbl(i),
382: p_lines.hd_po_header_id_tbl(i),
383: p_lines.draft_id_tbl(i)
384: FROM DUAL
385: WHERE p_lines.error_flag_tbl(i) = FND_API.g_FALSE
386: AND p_lines.need_to_reject_flag_tbl(i) = FND_API.g_FALSE
387: AND p_lines.purchase_basis_tbl(i) NOT IN ('TEMP LABOR', 'SERVICES')
388: AND (p_lines.item_tbl(i) IS NOT NULL OR
389: p_lines.item_id_tbl(i) IS NOT NULL);
382: p_lines.hd_po_header_id_tbl(i),
383: p_lines.draft_id_tbl(i)
384: FROM DUAL
385: WHERE p_lines.error_flag_tbl(i) = FND_API.g_FALSE
386: AND p_lines.need_to_reject_flag_tbl(i) = FND_API.g_FALSE
387: AND p_lines.purchase_basis_tbl(i) NOT IN ('TEMP LABOR', 'SERVICES')
388: AND (p_lines.item_tbl(i) IS NOT NULL OR
389: p_lines.item_id_tbl(i) IS NOT NULL);
390:
474: fnd_global.conc_program_id,
475: sysdate,
476:
477: -- error_flag
478: FND_API.g_FALSE,
479:
480: -- reference index in po_lines
481: gt.num1
482: BULK COLLECT INTO
792: --l_item_ref_tbl(x_items.ln_item_tbl(l_index)) := l_index;
793: -- Bug 6956962
794:
795: -- set initial values for l_exist_in_xxx_org_tbl to 'N'
796: l_exist_in_inv_org_tbl(l_index) := FND_API.g_FALSE;
797: l_exist_in_master_org_tbl(l_index) := FND_API.g_FALSE;
798: l_exist_in_ship_to_org_tbl(l_index) := FND_API.g_FALSE;
799: END IF;
800:
793: -- Bug 6956962
794:
795: -- set initial values for l_exist_in_xxx_org_tbl to 'N'
796: l_exist_in_inv_org_tbl(l_index) := FND_API.g_FALSE;
797: l_exist_in_master_org_tbl(l_index) := FND_API.g_FALSE;
798: l_exist_in_ship_to_org_tbl(l_index) := FND_API.g_FALSE;
799: END IF;
800:
801: l_index := x_unprocessed_row_tbl.NEXT(l_index);
794:
795: -- set initial values for l_exist_in_xxx_org_tbl to 'N'
796: l_exist_in_inv_org_tbl(l_index) := FND_API.g_FALSE;
797: l_exist_in_master_org_tbl(l_index) := FND_API.g_FALSE;
798: l_exist_in_ship_to_org_tbl(l_index) := FND_API.g_FALSE;
799: END IF;
800:
801: l_index := x_unprocessed_row_tbl.NEXT(l_index);
802: END LOOP;
850: x_items.ship_to_org_id_tbl(l_index));
851: END IF;
852:
853: IF (l_org_id_tbl(i) = PO_PDOI_PARAMS.g_sys.def_inv_org_id) THEN
854: l_exist_in_inv_org_tbl(l_index) := FND_API.g_TRUE;
855: x_items.ln_item_id_tbl(l_index) := l_item_id_tbl(i);
856: END IF;
857:
858: IF (l_org_id_tbl(i) = PO_PDOI_PARAMS.g_sys.master_inv_org_id) THEN
855: x_items.ln_item_id_tbl(l_index) := l_item_id_tbl(i);
856: END IF;
857:
858: IF (l_org_id_tbl(i) = PO_PDOI_PARAMS.g_sys.master_inv_org_id) THEN
859: l_exist_in_master_org_tbl(l_index) := FND_API.g_TRUE;
860: x_items.ln_item_id_tbl(l_index) := l_item_id_tbl(i);
861: END IF;
862:
863: IF (l_org_id_tbl(i) = x_items.ship_to_org_id_tbl(l_index)) THEN
860: x_items.ln_item_id_tbl(l_index) := l_item_id_tbl(i);
861: END IF;
862:
863: IF (l_org_id_tbl(i) = x_items.ship_to_org_id_tbl(l_index)) THEN
864: l_exist_in_ship_to_org_tbl(l_index) := FND_API.g_TRUE;
865: x_items.ln_item_id_tbl(l_index) := l_item_id_tbl(i);
866: END IF;
867: END LOOP;
868:
885: PO_LOG.stmt(d_module, d_position, 'item_id',
886: x_items.ln_item_id_tbl(l_index));
887: END IF;
888:
889: IF (l_exist_in_inv_org_tbl(l_index) = FND_API.g_FALSE OR
890: l_exist_in_ship_to_org_tbl(l_index) = FND_API.g_FALSE) THEN
891: -- set whether item needs to be created in inv/master org
892: IF (l_exist_in_master_org_tbl(l_index) = FND_API.g_FALSE) THEN
893: x_create_in_master_index_tbl(l_index) := l_index;
886: x_items.ln_item_id_tbl(l_index));
887: END IF;
888:
889: IF (l_exist_in_inv_org_tbl(l_index) = FND_API.g_FALSE OR
890: l_exist_in_ship_to_org_tbl(l_index) = FND_API.g_FALSE) THEN
891: -- set whether item needs to be created in inv/master org
892: IF (l_exist_in_master_org_tbl(l_index) = FND_API.g_FALSE) THEN
893: x_create_in_master_index_tbl(l_index) := l_index;
894:
888:
889: IF (l_exist_in_inv_org_tbl(l_index) = FND_API.g_FALSE OR
890: l_exist_in_ship_to_org_tbl(l_index) = FND_API.g_FALSE) THEN
891: -- set whether item needs to be created in inv/master org
892: IF (l_exist_in_master_org_tbl(l_index) = FND_API.g_FALSE) THEN
893: x_create_in_master_index_tbl(l_index) := l_index;
894:
895: IF (l_exist_in_inv_org_tbl(l_index) = FND_API.g_FALSE AND
896: PO_PDOI_PARAMS.g_sys.master_inv_org_id <>
891: -- set whether item needs to be created in inv/master org
892: IF (l_exist_in_master_org_tbl(l_index) = FND_API.g_FALSE) THEN
893: x_create_in_master_index_tbl(l_index) := l_index;
894:
895: IF (l_exist_in_inv_org_tbl(l_index) = FND_API.g_FALSE AND
896: PO_PDOI_PARAMS.g_sys.master_inv_org_id <>
897: PO_PDOI_PARAMS.g_sys.def_inv_org_id) THEN
898: x_create_in_inv_index_tbl(l_index) := l_index;
899: END IF;
901:
902: d_position := 50;
903:
904: -- set flag for whether item needs to be created in ship_to org
905: IF (l_exist_in_ship_to_org_tbl(l_index) = FND_API.g_FALSE AND
906: x_items.ship_to_org_id_tbl(l_index) IS NOT NULL AND
907: x_items.ship_to_org_id_tbl(l_index) <> PO_PDOI_PARAMS.g_sys.master_inv_org_id AND
908: x_items.ship_to_org_id_tbl(l_index) <> PO_PDOI_PARAMS.g_sys.def_inv_org_id) THEN
909: x_create_in_ship_to_index_tbl(l_index) := l_index;
1358: p_column_name => l_column_name_tbl(i),
1359: p_column_value => NULL
1360: );
1361:
1362: x_items.error_flag_tbl(l_index) := FND_API.g_TRUE;
1363: END LOOP;
1364:
1365: IF (PO_LOG.d_proc) THEN
1366: PO_LOG.proc_end (d_module);
1495: LOOP
1496: EGO_ITEM_PUB.Process_Item
1497: (
1498: p_api_version => 1.0,
1499: p_init_msg_list => FND_API.g_TRUE,
1500: p_commit => FND_API.g_TRUE,
1501: p_Transaction_Type => 'UPDATE',
1502: p_Inventory_Item_Id => x_items.ln_item_id_tbl(l_index),
1503: p_Organization_Id => PO_PDOI_PARAMS.g_sys.def_inv_org_id,
1496: EGO_ITEM_PUB.Process_Item
1497: (
1498: p_api_version => 1.0,
1499: p_init_msg_list => FND_API.g_TRUE,
1500: p_commit => FND_API.g_TRUE,
1501: p_Transaction_Type => 'UPDATE',
1502: p_Inventory_Item_Id => x_items.ln_item_id_tbl(l_index),
1503: p_Organization_Id => PO_PDOI_PARAMS.g_sys.def_inv_org_id,
1504: p_description => NVL(x_items.ln_item_desc_tbl(l_index), EGO_ITEM_PUB.G_MISS_CHAR),
1517: END IF;
1518:
1519: d_position := 50;
1520:
1521: IF (l_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
1522: -- error handling
1523: Error_Handler.GET_MESSAGE_LIST
1524: (
1525: x_message_list => l_message_list
1555: p_column_value => NULL
1556: );
1557: END LOOP;
1558:
1559: x_items.error_flag_tbl(l_index) := FND_API.g_TRUE;
1560: END IF;
1561:
1562: l_index := l_update_index_tbl.NEXT(l_index);
1563: END LOOP;