522: END IF;
523:
524: ELSE -- No Records were found and Neg Qtys Not Allowed
525: debug('No Records were found in Install Base and Neg Qtys not allowed to error');
526: fnd_message.set_name('CSI','CSI_NO_NEG_BAL_ALLOWED');
527: l_error_message := fnd_message.get;
528: RAISE fnd_api.g_exc_error;
529:
530: END IF; -- Neg Qty If
523:
524: ELSE -- No Records were found and Neg Qtys Not Allowed
525: debug('No Records were found in Install Base and Neg Qtys not allowed to error');
526: fnd_message.set_name('CSI','CSI_NO_NEG_BAL_ALLOWED');
527: l_error_message := fnd_message.get;
528: RAISE fnd_api.g_exc_error;
529:
530: END IF; -- Neg Qty If
531:
593:
594: ELSIF l_src_instance_header_tbl.count > 1 THEN
595: -- Multiple Instances were found so throw error
596: debug('Multiple Instances were Found in Install Base-30');
597: fnd_message.set_name('CSI','CSI_TXN_MULT_INST_FOUND');
598: fnd_message.set_token('INV_ITEM_ID',l_mtl_item_tbl(j).inventory_item_id);
599: fnd_message.set_token('SUBINV',l_mtl_item_tbl(j).subinventory_code);
600: fnd_message.set_token('INV_ORG_ID',l_mtl_item_tbl(j).organization_id);
601: fnd_message.set_token('LOCATOR',l_mtl_item_tbl(j).locator_id);
594: ELSIF l_src_instance_header_tbl.count > 1 THEN
595: -- Multiple Instances were found so throw error
596: debug('Multiple Instances were Found in Install Base-30');
597: fnd_message.set_name('CSI','CSI_TXN_MULT_INST_FOUND');
598: fnd_message.set_token('INV_ITEM_ID',l_mtl_item_tbl(j).inventory_item_id);
599: fnd_message.set_token('SUBINV',l_mtl_item_tbl(j).subinventory_code);
600: fnd_message.set_token('INV_ORG_ID',l_mtl_item_tbl(j).organization_id);
601: fnd_message.set_token('LOCATOR',l_mtl_item_tbl(j).locator_id);
602: l_error_message := fnd_message.get;
595: -- Multiple Instances were found so throw error
596: debug('Multiple Instances were Found in Install Base-30');
597: fnd_message.set_name('CSI','CSI_TXN_MULT_INST_FOUND');
598: fnd_message.set_token('INV_ITEM_ID',l_mtl_item_tbl(j).inventory_item_id);
599: fnd_message.set_token('SUBINV',l_mtl_item_tbl(j).subinventory_code);
600: fnd_message.set_token('INV_ORG_ID',l_mtl_item_tbl(j).organization_id);
601: fnd_message.set_token('LOCATOR',l_mtl_item_tbl(j).locator_id);
602: l_error_message := fnd_message.get;
603: RAISE fnd_api.g_exc_error;
596: debug('Multiple Instances were Found in Install Base-30');
597: fnd_message.set_name('CSI','CSI_TXN_MULT_INST_FOUND');
598: fnd_message.set_token('INV_ITEM_ID',l_mtl_item_tbl(j).inventory_item_id);
599: fnd_message.set_token('SUBINV',l_mtl_item_tbl(j).subinventory_code);
600: fnd_message.set_token('INV_ORG_ID',l_mtl_item_tbl(j).organization_id);
601: fnd_message.set_token('LOCATOR',l_mtl_item_tbl(j).locator_id);
602: l_error_message := fnd_message.get;
603: RAISE fnd_api.g_exc_error;
604:
597: fnd_message.set_name('CSI','CSI_TXN_MULT_INST_FOUND');
598: fnd_message.set_token('INV_ITEM_ID',l_mtl_item_tbl(j).inventory_item_id);
599: fnd_message.set_token('SUBINV',l_mtl_item_tbl(j).subinventory_code);
600: fnd_message.set_token('INV_ORG_ID',l_mtl_item_tbl(j).organization_id);
601: fnd_message.set_token('LOCATOR',l_mtl_item_tbl(j).locator_id);
602: l_error_message := fnd_message.get;
603: RAISE fnd_api.g_exc_error;
604:
605: END IF; -- End of Source Record If
598: fnd_message.set_token('INV_ITEM_ID',l_mtl_item_tbl(j).inventory_item_id);
599: fnd_message.set_token('SUBINV',l_mtl_item_tbl(j).subinventory_code);
600: fnd_message.set_token('INV_ORG_ID',l_mtl_item_tbl(j).organization_id);
601: fnd_message.set_token('LOCATOR',l_mtl_item_tbl(j).locator_id);
602: l_error_message := fnd_message.get;
603: RAISE fnd_api.g_exc_error;
604:
605: END IF; -- End of Source Record If
606:
858:
859: ELSIF l_dest_instance_header_tbl.count > 1 THEN
860: -- Multiple Instances were found so throw error
861: debug('Multiple Instances were Found in Install Base-80');
862: fnd_message.set_name('CSI','CSI_TXN_MULT_INST_FOUND');
863: fnd_message.set_token('INV_ITEM_ID',l_mtl_item_tbl(j).inventory_item_id);
864: fnd_message.set_token('SUBINV',l_mtl_item_tbl(j).subinventory_code);
865: fnd_message.set_token('INV_ORG_ID',l_mtl_item_tbl(j).organization_id);
866: fnd_message.set_token('LOCATOR',l_mtl_item_tbl(j).locator_id);
859: ELSIF l_dest_instance_header_tbl.count > 1 THEN
860: -- Multiple Instances were found so throw error
861: debug('Multiple Instances were Found in Install Base-80');
862: fnd_message.set_name('CSI','CSI_TXN_MULT_INST_FOUND');
863: fnd_message.set_token('INV_ITEM_ID',l_mtl_item_tbl(j).inventory_item_id);
864: fnd_message.set_token('SUBINV',l_mtl_item_tbl(j).subinventory_code);
865: fnd_message.set_token('INV_ORG_ID',l_mtl_item_tbl(j).organization_id);
866: fnd_message.set_token('LOCATOR',l_mtl_item_tbl(j).locator_id);
867: l_error_message := fnd_message.get;
860: -- Multiple Instances were found so throw error
861: debug('Multiple Instances were Found in Install Base-80');
862: fnd_message.set_name('CSI','CSI_TXN_MULT_INST_FOUND');
863: fnd_message.set_token('INV_ITEM_ID',l_mtl_item_tbl(j).inventory_item_id);
864: fnd_message.set_token('SUBINV',l_mtl_item_tbl(j).subinventory_code);
865: fnd_message.set_token('INV_ORG_ID',l_mtl_item_tbl(j).organization_id);
866: fnd_message.set_token('LOCATOR',l_mtl_item_tbl(j).locator_id);
867: l_error_message := fnd_message.get;
868: RAISE fnd_api.g_exc_error;
861: debug('Multiple Instances were Found in Install Base-80');
862: fnd_message.set_name('CSI','CSI_TXN_MULT_INST_FOUND');
863: fnd_message.set_token('INV_ITEM_ID',l_mtl_item_tbl(j).inventory_item_id);
864: fnd_message.set_token('SUBINV',l_mtl_item_tbl(j).subinventory_code);
865: fnd_message.set_token('INV_ORG_ID',l_mtl_item_tbl(j).organization_id);
866: fnd_message.set_token('LOCATOR',l_mtl_item_tbl(j).locator_id);
867: l_error_message := fnd_message.get;
868: RAISE fnd_api.g_exc_error;
869:
862: fnd_message.set_name('CSI','CSI_TXN_MULT_INST_FOUND');
863: fnd_message.set_token('INV_ITEM_ID',l_mtl_item_tbl(j).inventory_item_id);
864: fnd_message.set_token('SUBINV',l_mtl_item_tbl(j).subinventory_code);
865: fnd_message.set_token('INV_ORG_ID',l_mtl_item_tbl(j).organization_id);
866: fnd_message.set_token('LOCATOR',l_mtl_item_tbl(j).locator_id);
867: l_error_message := fnd_message.get;
868: RAISE fnd_api.g_exc_error;
869:
870: END IF; -- End of Destination Record If
863: fnd_message.set_token('INV_ITEM_ID',l_mtl_item_tbl(j).inventory_item_id);
864: fnd_message.set_token('SUBINV',l_mtl_item_tbl(j).subinventory_code);
865: fnd_message.set_token('INV_ORG_ID',l_mtl_item_tbl(j).organization_id);
866: fnd_message.set_token('LOCATOR',l_mtl_item_tbl(j).locator_id);
867: l_error_message := fnd_message.get;
868: RAISE fnd_api.g_exc_error;
869:
870: END IF; -- End of Destination Record If
871:
934: END IF;
935:
936: ELSIF l_src_instance_header_tbl.count = 0 THEN
937: debug('No Records were found in Install Base');
938: fnd_message.set_name('CSI','CSI_IB_RECORD_NOTFOUND');
939: fnd_message.set_token('ITEM',l_mtl_item_tbl(j).inventory_item_id);
940: fnd_message.set_token('SUBINVENTORY',l_mtl_item_tbl(j).subinventory_code);
941: fnd_message.set_token('ORG_ID',l_mtl_item_tbl(j).organization_id);
942: l_error_message := fnd_message.get;
935:
936: ELSIF l_src_instance_header_tbl.count = 0 THEN
937: debug('No Records were found in Install Base');
938: fnd_message.set_name('CSI','CSI_IB_RECORD_NOTFOUND');
939: fnd_message.set_token('ITEM',l_mtl_item_tbl(j).inventory_item_id);
940: fnd_message.set_token('SUBINVENTORY',l_mtl_item_tbl(j).subinventory_code);
941: fnd_message.set_token('ORG_ID',l_mtl_item_tbl(j).organization_id);
942: l_error_message := fnd_message.get;
943: RAISE fnd_api.g_exc_error;
936: ELSIF l_src_instance_header_tbl.count = 0 THEN
937: debug('No Records were found in Install Base');
938: fnd_message.set_name('CSI','CSI_IB_RECORD_NOTFOUND');
939: fnd_message.set_token('ITEM',l_mtl_item_tbl(j).inventory_item_id);
940: fnd_message.set_token('SUBINVENTORY',l_mtl_item_tbl(j).subinventory_code);
941: fnd_message.set_token('ORG_ID',l_mtl_item_tbl(j).organization_id);
942: l_error_message := fnd_message.get;
943: RAISE fnd_api.g_exc_error;
944:
937: debug('No Records were found in Install Base');
938: fnd_message.set_name('CSI','CSI_IB_RECORD_NOTFOUND');
939: fnd_message.set_token('ITEM',l_mtl_item_tbl(j).inventory_item_id);
940: fnd_message.set_token('SUBINVENTORY',l_mtl_item_tbl(j).subinventory_code);
941: fnd_message.set_token('ORG_ID',l_mtl_item_tbl(j).organization_id);
942: l_error_message := fnd_message.get;
943: RAISE fnd_api.g_exc_error;
944:
945: ELSIF l_src_instance_header_tbl.count > 1 THEN
938: fnd_message.set_name('CSI','CSI_IB_RECORD_NOTFOUND');
939: fnd_message.set_token('ITEM',l_mtl_item_tbl(j).inventory_item_id);
940: fnd_message.set_token('SUBINVENTORY',l_mtl_item_tbl(j).subinventory_code);
941: fnd_message.set_token('ORG_ID',l_mtl_item_tbl(j).organization_id);
942: l_error_message := fnd_message.get;
943: RAISE fnd_api.g_exc_error;
944:
945: ELSIF l_src_instance_header_tbl.count > 1 THEN
946: -- Multiple Instances were found so throw error
944:
945: ELSIF l_src_instance_header_tbl.count > 1 THEN
946: -- Multiple Instances were found so throw error
947: debug('Multiple Instances were Found in Install Base-40');
948: fnd_message.set_name('CSI','CSI_TXN_MULT_INST_FOUND');
949: fnd_message.set_token('INV_ITEM_ID',l_mtl_item_tbl(j).inventory_item_id);
950: fnd_message.set_token('SUBINV',l_mtl_item_tbl(j).subinventory_code);
951: fnd_message.set_token('INV_ORG_ID',l_mtl_item_tbl(j).organization_id);
952: fnd_message.set_token('LOCATOR',l_mtl_item_tbl(j).locator_id);
945: ELSIF l_src_instance_header_tbl.count > 1 THEN
946: -- Multiple Instances were found so throw error
947: debug('Multiple Instances were Found in Install Base-40');
948: fnd_message.set_name('CSI','CSI_TXN_MULT_INST_FOUND');
949: fnd_message.set_token('INV_ITEM_ID',l_mtl_item_tbl(j).inventory_item_id);
950: fnd_message.set_token('SUBINV',l_mtl_item_tbl(j).subinventory_code);
951: fnd_message.set_token('INV_ORG_ID',l_mtl_item_tbl(j).organization_id);
952: fnd_message.set_token('LOCATOR',l_mtl_item_tbl(j).locator_id);
953: l_error_message := fnd_message.get;
946: -- Multiple Instances were found so throw error
947: debug('Multiple Instances were Found in Install Base-40');
948: fnd_message.set_name('CSI','CSI_TXN_MULT_INST_FOUND');
949: fnd_message.set_token('INV_ITEM_ID',l_mtl_item_tbl(j).inventory_item_id);
950: fnd_message.set_token('SUBINV',l_mtl_item_tbl(j).subinventory_code);
951: fnd_message.set_token('INV_ORG_ID',l_mtl_item_tbl(j).organization_id);
952: fnd_message.set_token('LOCATOR',l_mtl_item_tbl(j).locator_id);
953: l_error_message := fnd_message.get;
954: RAISE fnd_api.g_exc_error;
947: debug('Multiple Instances were Found in Install Base-40');
948: fnd_message.set_name('CSI','CSI_TXN_MULT_INST_FOUND');
949: fnd_message.set_token('INV_ITEM_ID',l_mtl_item_tbl(j).inventory_item_id);
950: fnd_message.set_token('SUBINV',l_mtl_item_tbl(j).subinventory_code);
951: fnd_message.set_token('INV_ORG_ID',l_mtl_item_tbl(j).organization_id);
952: fnd_message.set_token('LOCATOR',l_mtl_item_tbl(j).locator_id);
953: l_error_message := fnd_message.get;
954: RAISE fnd_api.g_exc_error;
955: END IF; -- End of Source Record IF for Serialized
948: fnd_message.set_name('CSI','CSI_TXN_MULT_INST_FOUND');
949: fnd_message.set_token('INV_ITEM_ID',l_mtl_item_tbl(j).inventory_item_id);
950: fnd_message.set_token('SUBINV',l_mtl_item_tbl(j).subinventory_code);
951: fnd_message.set_token('INV_ORG_ID',l_mtl_item_tbl(j).organization_id);
952: fnd_message.set_token('LOCATOR',l_mtl_item_tbl(j).locator_id);
953: l_error_message := fnd_message.get;
954: RAISE fnd_api.g_exc_error;
955: END IF; -- End of Source Record IF for Serialized
956:
949: fnd_message.set_token('INV_ITEM_ID',l_mtl_item_tbl(j).inventory_item_id);
950: fnd_message.set_token('SUBINV',l_mtl_item_tbl(j).subinventory_code);
951: fnd_message.set_token('INV_ORG_ID',l_mtl_item_tbl(j).organization_id);
952: fnd_message.set_token('LOCATOR',l_mtl_item_tbl(j).locator_id);
953: l_error_message := fnd_message.get;
954: RAISE fnd_api.g_exc_error;
955: END IF; -- End of Source Record IF for Serialized
956:
957: END IF; -- End of Serial Number If
990: WHEN others THEN
991: l_sql_error := SQLERRM;
992: debug('SQL Error: '||l_sql_error);
993: debug('You have encountered a "others" exception');
994: fnd_message.set_name('CSI','CSI_UNEXP_SQL_ERROR');
995: fnd_message.set_token('API_NAME',l_api_name);
996: fnd_message.set_token('SQL_ERROR',SQLERRM);
997: x_return_status := l_fnd_unexpected;
998:
991: l_sql_error := SQLERRM;
992: debug('SQL Error: '||l_sql_error);
993: debug('You have encountered a "others" exception');
994: fnd_message.set_name('CSI','CSI_UNEXP_SQL_ERROR');
995: fnd_message.set_token('API_NAME',l_api_name);
996: fnd_message.set_token('SQL_ERROR',SQLERRM);
997: x_return_status := l_fnd_unexpected;
998:
999: IF l_mtl_item_tbl.count > 0 THEN
992: debug('SQL Error: '||l_sql_error);
993: debug('You have encountered a "others" exception');
994: fnd_message.set_name('CSI','CSI_UNEXP_SQL_ERROR');
995: fnd_message.set_token('API_NAME',l_api_name);
996: fnd_message.set_token('SQL_ERROR',SQLERRM);
997: x_return_status := l_fnd_unexpected;
998:
999: IF l_mtl_item_tbl.count > 0 THEN
1000: x_trx_error_rec.serial_number := l_mtl_item_tbl(j).serial_number;
1008: x_trx_error_rec.comms_nl_trackable_flag := l_mtl_item_tbl(j).comms_nl_trackable_flag;
1009: x_trx_error_rec.transaction_error_date := l_sysdate ;
1010: END IF;
1011:
1012: x_trx_error_rec.error_text := fnd_message.get;
1013: x_trx_error_rec.transaction_id := NULL;
1014: x_trx_error_rec.source_type := 'CSISUBTR';
1015: x_trx_error_rec.source_id := p_transaction_id;
1016: x_trx_error_rec.processed_flag := csi_inv_trxs_pkg.g_txn_error;