286:
287: -- Standard start of API savepoint
288: SAVEPOINT Create_PO_Requisition_pvt;
289:
290: IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
291: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE, L_DEBUG_KEY || '.begin', 'Entering Procedure');
292: END IF;
293:
294: -- Standard call to check for call compatibility
287: -- Standard start of API savepoint
288: SAVEPOINT Create_PO_Requisition_pvt;
289:
290: IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
291: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE, L_DEBUG_KEY || '.begin', 'Entering Procedure');
292: END IF;
293:
294: -- Standard call to check for call compatibility
295: IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version, l_api_name,
406: -- Launch Concurrent Program to create PO Requisition
407: Call_Req_Import_Program(p_batch_id => l_batch_id,
408: p_osp_order_id => l_po_req_header.OSP_ORDER_ID,
409: x_request_id => l_request_id);
410: IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
411: FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, L_DEBUG_KEY, 'PO Req Concurrent Program Request Submitted. Request Id = ' || l_request_id);
412: END IF;
413: -- Check if request was submitted without error
414: IF (l_request_id = 0) THEN
407: Call_Req_Import_Program(p_batch_id => l_batch_id,
408: p_osp_order_id => l_po_req_header.OSP_ORDER_ID,
409: x_request_id => l_request_id);
410: IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
411: FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, L_DEBUG_KEY, 'PO Req Concurrent Program Request Submitted. Request Id = ' || l_request_id);
412: END IF;
413: -- Check if request was submitted without error
414: IF (l_request_id = 0) THEN
415: -- Add Error Message generated by Concurrent Manager to Message List
413: -- Check if request was submitted without error
414: IF (l_request_id = 0) THEN
415: -- Add Error Message generated by Concurrent Manager to Message List
416: FND_MSG_PUB.ADD;
417: IF (FND_LOG.LEVEL_UNEXPECTED >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
418: FND_LOG.MESSAGE(FND_LOG.LEVEL_UNEXPECTED, L_DEBUG_KEY, FALSE);
419: END IF;
420: RAISE FND_API.G_EXC_ERROR;
421: END IF;
414: IF (l_request_id = 0) THEN
415: -- Add Error Message generated by Concurrent Manager to Message List
416: FND_MSG_PUB.ADD;
417: IF (FND_LOG.LEVEL_UNEXPECTED >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
418: FND_LOG.MESSAGE(FND_LOG.LEVEL_UNEXPECTED, L_DEBUG_KEY, FALSE);
419: END IF;
420: RAISE FND_API.G_EXC_ERROR;
421: END IF;
422:
428: -- Set Return parameters
429: x_batch_id := l_batch_id;
430: x_request_id := l_request_id;
431:
432: IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
433: FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, L_DEBUG_KEY, 'Completed Processing. Checking for errors');
434: END IF;
435: -- Check Error Message stack.
436: x_msg_count := FND_MSG_PUB.count_msg;
429: x_batch_id := l_batch_id;
430: x_request_id := l_request_id;
431:
432: IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
433: FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, L_DEBUG_KEY, 'Completed Processing. Checking for errors');
434: END IF;
435: -- Check Error Message stack.
436: x_msg_count := FND_MSG_PUB.count_msg;
437: IF x_msg_count > 0 THEN
456: p_data => x_msg_data,
457: p_encoded => fnd_api.g_false
458: );
459:
460: IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
461: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE, L_DEBUG_KEY || '.end', 'Exiting Procedure');
462: END IF;
463:
464: EXCEPTION
457: p_encoded => fnd_api.g_false
458: );
459:
460: IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
461: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE, L_DEBUG_KEY || '.end', 'Exiting Procedure');
462: END IF;
463:
464: EXCEPTION
465: WHEN FND_API.G_EXC_ERROR THEN
541: l_api_name CONSTANT VARCHAR2(30) := 'PO_Synch_All_Requisitions';
542: L_DEBUG_KEY CONSTANT VARCHAR2(150) := G_LOG_PREFIX || '.PO_Synch_All_Requisitions';
543:
544: BEGIN
545: IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
546: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE, L_DEBUG_KEY || '.begin', 'Entering Procedure');
547: END IF;
548:
549: -- No need of a Savepoint: Individual procedures commit or rollback
542: L_DEBUG_KEY CONSTANT VARCHAR2(150) := G_LOG_PREFIX || '.PO_Synch_All_Requisitions';
543:
544: BEGIN
545: IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
546: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE, L_DEBUG_KEY || '.begin', 'Entering Procedure');
547: END IF;
548:
549: -- No need of a Savepoint: Individual procedures commit or rollback
550: -- within themselves.
582: IF (p_concurrent_flag = 'Y') THEN
583: fnd_file.put_line(fnd_file.log, 'Completed Associating OSPs with POs');
584: fnd_file.put_line(fnd_file.log, 'Return Status = ' || x_return_status);
585: END IF;
586: IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
587: FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, L_DEBUG_KEY, 'Completed Associating OSPs with Requisitions, Return Status = ' || x_return_status);
588: END IF;
589:
590: Handle_Deleted_Req_Headers(p_commit => p_commit, --Commit this independent of other operations
583: fnd_file.put_line(fnd_file.log, 'Completed Associating OSPs with POs');
584: fnd_file.put_line(fnd_file.log, 'Return Status = ' || x_return_status);
585: END IF;
586: IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
587: FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, L_DEBUG_KEY, 'Completed Associating OSPs with Requisitions, Return Status = ' || x_return_status);
588: END IF;
589:
590: Handle_Deleted_Req_Headers(p_commit => p_commit, --Commit this independent of other operations
591: x_return_status => x_return_status);
592: IF (p_concurrent_flag = 'Y') THEN
593: fnd_file.put_line(fnd_file.log, 'Completed Handling Deleted PO Requisition Headers.');
594: fnd_file.put_line(fnd_file.log, 'Return Status = ' || x_return_status);
595: END IF;
596: IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
597: FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, L_DEBUG_KEY, 'Completed Handling Deleted PO Requisition Headers, Return Status = ' || x_return_status);
598: END IF;
599:
600:
593: fnd_file.put_line(fnd_file.log, 'Completed Handling Deleted PO Requisition Headers.');
594: fnd_file.put_line(fnd_file.log, 'Return Status = ' || x_return_status);
595: END IF;
596: IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
597: FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, L_DEBUG_KEY, 'Completed Handling Deleted PO Requisition Headers, Return Status = ' || x_return_status);
598: END IF;
599:
600:
601: -- Handle Canceled PO Requisitions
604: IF (p_concurrent_flag = 'Y') THEN
605: fnd_file.put_line(fnd_file.log, 'Completed Handling Cancelled PO Requisition Lines.');
606: fnd_file.put_line(fnd_file.log, 'Return Status = ' || x_return_status);
607: END IF;
608: IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
609: FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, L_DEBUG_KEY, 'Completed Handling Cancelled PO Requisition Lines, Return Status = ' || x_return_status);
610: END IF;
611:
612: -- Handle Deleted PO Requisition Lines
605: fnd_file.put_line(fnd_file.log, 'Completed Handling Cancelled PO Requisition Lines.');
606: fnd_file.put_line(fnd_file.log, 'Return Status = ' || x_return_status);
607: END IF;
608: IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
609: FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, L_DEBUG_KEY, 'Completed Handling Cancelled PO Requisition Lines, Return Status = ' || x_return_status);
610: END IF;
611:
612: -- Handle Deleted PO Requisition Lines
613: Handle_Deleted_Req_Lines(p_commit => p_commit, --Commit this independent of other operations
615: IF (p_concurrent_flag = 'Y') THEN
616: fnd_file.put_line(fnd_file.log, 'Completed Handling Deleted PO Requisition Lines.');
617: fnd_file.put_line(fnd_file.log, 'Return Status = ' || x_return_status);
618: END IF;
619: IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
620: FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, L_DEBUG_KEY, 'Completed Handling Deleted PO Requisition Lines, Return Status = ' || x_return_status);
621: END IF;
622:
623: IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
616: fnd_file.put_line(fnd_file.log, 'Completed Handling Deleted PO Requisition Lines.');
617: fnd_file.put_line(fnd_file.log, 'Return Status = ' || x_return_status);
618: END IF;
619: IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
620: FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, L_DEBUG_KEY, 'Completed Handling Deleted PO Requisition Lines, Return Status = ' || x_return_status);
621: END IF;
622:
623: IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
624: FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, L_DEBUG_KEY, 'Completed Processing. Checking for errors.');
619: IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
620: FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, L_DEBUG_KEY, 'Completed Handling Deleted PO Requisition Lines, Return Status = ' || x_return_status);
621: END IF;
622:
623: IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
624: FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, L_DEBUG_KEY, 'Completed Processing. Checking for errors.');
625: END IF;
626:
627: IF (p_concurrent_flag = 'Y') THEN
620: FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, L_DEBUG_KEY, 'Completed Handling Deleted PO Requisition Lines, Return Status = ' || x_return_status);
621: END IF;
622:
623: IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
624: FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, L_DEBUG_KEY, 'Completed Processing. Checking for errors.');
625: END IF;
626:
627: IF (p_concurrent_flag = 'Y') THEN
628: fnd_file.put_line(fnd_file.log, 'Completed Requisition Synch Process. Checking for errors.');
646: p_data => x_msg_data,
647: p_encoded => fnd_api.g_false
648: );
649:
650: IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
651: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE, L_DEBUG_KEY || '.end', 'Exiting Procedure');
652: END IF;
653:
654: EXCEPTION
647: p_encoded => fnd_api.g_false
648: );
649:
650: IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
651: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE, L_DEBUG_KEY || '.end', 'Exiting Procedure');
652: END IF;
653:
654: EXCEPTION
655: WHEN FND_API.G_EXC_ERROR THEN
662: p_encoded => fnd_api.g_false);
663: IF (p_concurrent_flag = 'Y') THEN
664: fnd_file.put_line(fnd_file.log, 'Caught Execution Exception: ' || x_msg_data);
665: END IF;
666: IF (FND_LOG.LEVEL_UNEXPECTED >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
667: FND_LOG.STRING(FND_LOG.LEVEL_UNEXPECTED, L_DEBUG_KEY, 'Caught Execution Exception: ' || x_msg_data);
668: END IF;
669:
670: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
663: IF (p_concurrent_flag = 'Y') THEN
664: fnd_file.put_line(fnd_file.log, 'Caught Execution Exception: ' || x_msg_data);
665: END IF;
666: IF (FND_LOG.LEVEL_UNEXPECTED >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
667: FND_LOG.STRING(FND_LOG.LEVEL_UNEXPECTED, L_DEBUG_KEY, 'Caught Execution Exception: ' || x_msg_data);
668: END IF;
669:
670: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
671: -- No need to rollback: Individual procedures commit or rollback
677: p_encoded => fnd_api.g_false);
678: IF (p_concurrent_flag = 'Y') THEN
679: fnd_file.put_line(fnd_file.log, 'Caught Unexpected Exception: ' || x_msg_data);
680: END IF;
681: IF (FND_LOG.LEVEL_UNEXPECTED >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
682: FND_LOG.STRING(FND_LOG.LEVEL_UNEXPECTED, L_DEBUG_KEY, 'Caught Unexpected Exception: ' || x_msg_data);
683: END IF;
684:
685: WHEN OTHERS THEN
678: IF (p_concurrent_flag = 'Y') THEN
679: fnd_file.put_line(fnd_file.log, 'Caught Unexpected Exception: ' || x_msg_data);
680: END IF;
681: IF (FND_LOG.LEVEL_UNEXPECTED >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
682: FND_LOG.STRING(FND_LOG.LEVEL_UNEXPECTED, L_DEBUG_KEY, 'Caught Unexpected Exception: ' || x_msg_data);
683: END IF;
684:
685: WHEN OTHERS THEN
686: -- No need to rollback: Individual procedures commit or rollback
696: p_encoded => fnd_api.g_false);
697: IF (p_concurrent_flag = 'Y') THEN
698: fnd_file.put_line(fnd_file.log, 'Caught Unknown Exception: ' || x_msg_data);
699: END IF;
700: IF (FND_LOG.LEVEL_UNEXPECTED >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
701: FND_LOG.STRING(FND_LOG.LEVEL_UNEXPECTED, L_DEBUG_KEY, 'Caught Unknown Exception: ' || x_msg_data);
702: END IF;
703:
704: END PO_Synch_All_Requisitions;
697: IF (p_concurrent_flag = 'Y') THEN
698: fnd_file.put_line(fnd_file.log, 'Caught Unknown Exception: ' || x_msg_data);
699: END IF;
700: IF (FND_LOG.LEVEL_UNEXPECTED >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
701: FND_LOG.STRING(FND_LOG.LEVEL_UNEXPECTED, L_DEBUG_KEY, 'Caught Unknown Exception: ' || x_msg_data);
702: END IF;
703:
704: END PO_Synch_All_Requisitions;
705:
760: l_po_req_header_id NUMBER;
761: l_temp_count NUMBER := 0;
762:
763: BEGIN
764: IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
765: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE, L_DEBUG_KEY || '.begin', 'Entering Procedure');
766: END IF;
767:
768: -- Standard start of API savepoint
761: l_temp_count NUMBER := 0;
762:
763: BEGIN
764: IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
765: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE, L_DEBUG_KEY || '.begin', 'Entering Procedure');
766: END IF;
767:
768: -- Standard start of API savepoint
769: SAVEPOINT Associate_All_New_Reqs_pvt;
793: FETCH l_get_osps_for_reqs_csr INTO l_osp_order_id;
794: EXIT WHEN l_get_osps_for_reqs_csr%NOTFOUND;
795: Associate_New_Req(p_osp_order_id => l_osp_order_id,
796: x_po_req_header_id => l_po_req_header_id);
797: IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
798: FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, L_DEBUG_KEY, 'Associated OSP Order with Id ' || l_osp_order_id || ' to Requisition with Id ' || l_po_req_header_id);
799: END IF;
800: l_temp_count := l_temp_count + 1;
801: END LOOP;
794: EXIT WHEN l_get_osps_for_reqs_csr%NOTFOUND;
795: Associate_New_Req(p_osp_order_id => l_osp_order_id,
796: x_po_req_header_id => l_po_req_header_id);
797: IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
798: FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, L_DEBUG_KEY, 'Associated OSP Order with Id ' || l_osp_order_id || ' to Requisition with Id ' || l_po_req_header_id);
799: END IF;
800: l_temp_count := l_temp_count + 1;
801: END LOOP;
802: CLOSE l_get_osps_for_reqs_csr;
800: l_temp_count := l_temp_count + 1;
801: END LOOP;
802: CLOSE l_get_osps_for_reqs_csr;
803:
804: IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
805: FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, L_DEBUG_KEY, 'Associated ' || l_temp_count || ' OSP Orders with Requisitions');
806: FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, L_DEBUG_KEY, 'Completed Processing. Checking for errors.');
807: END IF;
808: -- Check Error Message stack.
801: END LOOP;
802: CLOSE l_get_osps_for_reqs_csr;
803:
804: IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
805: FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, L_DEBUG_KEY, 'Associated ' || l_temp_count || ' OSP Orders with Requisitions');
806: FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, L_DEBUG_KEY, 'Completed Processing. Checking for errors.');
807: END IF;
808: -- Check Error Message stack.
809: x_msg_count := FND_MSG_PUB.count_msg;
802: CLOSE l_get_osps_for_reqs_csr;
803:
804: IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
805: FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, L_DEBUG_KEY, 'Associated ' || l_temp_count || ' OSP Orders with Requisitions');
806: FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, L_DEBUG_KEY, 'Completed Processing. Checking for errors.');
807: END IF;
808: -- Check Error Message stack.
809: x_msg_count := FND_MSG_PUB.count_msg;
810: IF x_msg_count > 0 THEN
812: END IF;
813:
814: -- Standard check of p_commit
815: IF FND_API.TO_BOOLEAN(p_commit) THEN
816: IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
817: FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, L_DEBUG_KEY, 'About to COMMIT work.');
818: END IF;
819: COMMIT WORK;
820: END IF;
813:
814: -- Standard check of p_commit
815: IF FND_API.TO_BOOLEAN(p_commit) THEN
816: IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
817: FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, L_DEBUG_KEY, 'About to COMMIT work.');
818: END IF;
819: COMMIT WORK;
820: END IF;
821:
825: p_data => x_msg_data,
826: p_encoded => fnd_api.g_false
827: );
828:
829: IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
830: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE, L_DEBUG_KEY || '.end', 'Exiting Procedure');
831: END IF;
832:
833: EXCEPTION
826: p_encoded => fnd_api.g_false
827: );
828:
829: IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
830: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE, L_DEBUG_KEY || '.end', 'Exiting Procedure');
831: END IF;
832:
833: EXCEPTION
834: WHEN FND_API.G_EXC_ERROR THEN
886: L_DEBUG_KEY CONSTANT VARCHAR2(150) := G_LOG_PREFIX || '.Insert_Into_Req_Interface';
887:
888: BEGIN
889:
890: IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
891: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE, L_DEBUG_KEY || '.begin', 'Entering Procedure');
892: END IF;
893:
894: -- Get the current Org to get Item Price
887:
888: BEGIN
889:
890: IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
891: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE, L_DEBUG_KEY || '.begin', 'Entering Procedure');
892: END IF;
893:
894: -- Get the current Org to get Item Price
895: l_org_id := MO_GLOBAL.get_current_org_id();
893:
894: -- Get the current Org to get Item Price
895: l_org_id := MO_GLOBAL.get_current_org_id();
896:
897: IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
898: FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, L_DEBUG_KEY, 'p_po_req_line_tbl.count: '|| p_po_req_line_tbl.count);
899: END IF;
900:
901: FOR i IN p_po_req_line_tbl.FIRST..p_po_req_line_tbl.LAST LOOP
894: -- Get the current Org to get Item Price
895: l_org_id := MO_GLOBAL.get_current_org_id();
896:
897: IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
898: FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, L_DEBUG_KEY, 'p_po_req_line_tbl.count: '|| p_po_req_line_tbl.count);
899: END IF;
900:
901: FOR i IN p_po_req_line_tbl.FIRST..p_po_req_line_tbl.LAST LOOP
902: IF (p_po_req_line_tbl(i).ITEM_ID IS NULL) THEN
919:
920: -- Insert row into PO_REQUISITIONS_INTERFACE_ALL
921: l_charge_acct_id := get_charge_account_id(p_po_req_line_tbl(i).SHIP_TO_ORG_ID, p_po_req_line_tbl(i).ITEM_ID);
922:
923: IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
924: FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, L_DEBUG_KEY, 'l_charge_acct_id before inserting: '|| l_charge_acct_id);
925: END IF;
926:
927: -- Project related fields to link the distributions to Projects
920: -- Insert row into PO_REQUISITIONS_INTERFACE_ALL
921: l_charge_acct_id := get_charge_account_id(p_po_req_line_tbl(i).SHIP_TO_ORG_ID, p_po_req_line_tbl(i).ITEM_ID);
922:
923: IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
924: FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, L_DEBUG_KEY, 'l_charge_acct_id before inserting: '|| l_charge_acct_id);
925: END IF;
926:
927: -- Project related fields to link the distributions to Projects
928: IF p_po_req_line_tbl(i).TASK_ID IS NOT NULL THEN
937: IF(l_expenditure_item_type IS NULL) THEN
938: l_expenditure_item_type := 'Outside Processing';
939: END IF;
940:
941: IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
942: FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, L_DEBUG_KEY, 'l_task_completion_date : '|| to_char(l_task_completion_date, 'DD-MON-YYYY HH24:MI:SS'));
943: FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, L_DEBUG_KEY, 'l_expenditure_item_type : '|| l_expenditure_item_type);
944: END IF;
945:
938: l_expenditure_item_type := 'Outside Processing';
939: END IF;
940:
941: IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
942: FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, L_DEBUG_KEY, 'l_task_completion_date : '|| to_char(l_task_completion_date, 'DD-MON-YYYY HH24:MI:SS'));
943: FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, L_DEBUG_KEY, 'l_expenditure_item_type : '|| l_expenditure_item_type);
944: END IF;
945:
946: INSERT INTO po_requisitions_interface_all
939: END IF;
940:
941: IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
942: FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, L_DEBUG_KEY, 'l_task_completion_date : '|| to_char(l_task_completion_date, 'DD-MON-YYYY HH24:MI:SS'));
943: FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, L_DEBUG_KEY, 'l_expenditure_item_type : '|| l_expenditure_item_type);
944: END IF;
945:
946: INSERT INTO po_requisitions_interface_all
947: (
1030: decode(p_po_req_line_tbl(i).PROJECT_ID, null, null, p_po_req_line_tbl(i).SHIP_TO_ORG_ID), --EXPENDITURE_ORGANIZATION_ID
1031: l_task_completion_date --EXPENDITURE_ITEM_DATE
1032: );
1033:
1034: IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
1035: FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, L_DEBUG_KEY,
1036: ' Inserting into po_requisitions_interface_all: '||
1037: ' WIP_ENTITY_ID = ' || p_po_req_line_tbl(i).WIP_ENTITY_ID ||
1038: ', PROJECT_ID = ' || p_po_req_line_tbl(i).PROJECT_ID ||
1031: l_task_completion_date --EXPENDITURE_ITEM_DATE
1032: );
1033:
1034: IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
1035: FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, L_DEBUG_KEY,
1036: ' Inserting into po_requisitions_interface_all: '||
1037: ' WIP_ENTITY_ID = ' || p_po_req_line_tbl(i).WIP_ENTITY_ID ||
1038: ', PROJECT_ID = ' || p_po_req_line_tbl(i).PROJECT_ID ||
1039: ', TASK_ID = ' || p_po_req_line_tbl(i).TASK_ID ||
1041: ', EXPENDITURE_ORGANIZATION_ID = ' || p_po_req_line_tbl(i).SHIP_TO_ORG_ID ||
1042: ', EXPENDITURE_ITEM_DATE = ' || to_char(l_task_completion_date, 'DD-MON-YYYY HH24:MI:SS'));
1043: END IF;
1044:
1045: IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
1046: FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, L_DEBUG_KEY, 'Inserted One Record.');
1047: END IF;
1048:
1049: END LOOP;
1042: ', EXPENDITURE_ITEM_DATE = ' || to_char(l_task_completion_date, 'DD-MON-YYYY HH24:MI:SS'));
1043: END IF;
1044:
1045: IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
1046: FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, L_DEBUG_KEY, 'Inserted One Record.');
1047: END IF;
1048:
1049: END LOOP;
1050: x_batch_id := p_po_req_hdr_rec.OSP_ORDER_ID;
1048:
1049: END LOOP;
1050: x_batch_id := p_po_req_hdr_rec.OSP_ORDER_ID;
1051:
1052: IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
1053: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE, L_DEBUG_KEY || '.end', 'Exiting Procedure');
1054: END IF;
1055: END Insert_Into_Req_Interface;
1056:
1049: END LOOP;
1050: x_batch_id := p_po_req_hdr_rec.OSP_ORDER_ID;
1051:
1052: IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
1053: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE, L_DEBUG_KEY || '.end', 'Exiting Procedure');
1054: END IF;
1055: END Insert_Into_Req_Interface;
1056:
1057: ----------------------------------------
1081: argument5 => 'N', -- Speicfies if Multiple Distributions are to be created
1082: argument6 => 'N' -- Specifies if requisition approval has to be initiated
1083: );
1084:
1085: IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
1086: FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, L_DEBUG_KEY, 'Request Submitted. Request Id = ' || x_request_id);
1087: END IF;
1088: END Call_Req_Import_Program;
1089:
1082: argument6 => 'N' -- Specifies if requisition approval has to be initiated
1083: );
1084:
1085: IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
1086: FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, L_DEBUG_KEY, 'Request Submitted. Request Id = ' || x_request_id);
1087: END IF;
1088: END Call_Req_Import_Program;
1089:
1090: -----------------------------------------------------------------------
1133: L_DEBUG_KEY CONSTANT VARCHAR2(150) := G_LOG_PREFIX || '.Validate_PO_Req_Header';
1134:
1135: BEGIN
1136:
1137: IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
1138: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE, L_DEBUG_KEY || '.begin', 'Entering Procedure');
1139: END IF;
1140:
1141: -- OSP Order Id
1134:
1135: BEGIN
1136:
1137: IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
1138: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE, L_DEBUG_KEY || '.begin', 'Entering Procedure');
1139: END IF;
1140:
1141: -- OSP Order Id
1142: IF (p_po_req_header_rec.OSP_ORDER_ID IS NULL OR p_po_req_header_rec.OSP_ORDER_ID = FND_API.G_MISS_NUM) THEN
1141: -- OSP Order Id
1142: IF (p_po_req_header_rec.OSP_ORDER_ID IS NULL OR p_po_req_header_rec.OSP_ORDER_ID = FND_API.G_MISS_NUM) THEN
1143: FND_MESSAGE.Set_Name('AHL', 'AHL_OSP_OSP_ID_NULL');
1144: FND_MSG_PUB.ADD;
1145: IF (FND_LOG.LEVEL_ERROR >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
1146: FND_LOG.MESSAGE(FND_LOG.LEVEL_ERROR, L_DEBUG_KEY, FALSE);
1147: END IF;
1148: ELSE
1149: OPEN l_validate_osp_csr(p_po_req_header_rec.OSP_ORDER_ID);
1142: IF (p_po_req_header_rec.OSP_ORDER_ID IS NULL OR p_po_req_header_rec.OSP_ORDER_ID = FND_API.G_MISS_NUM) THEN
1143: FND_MESSAGE.Set_Name('AHL', 'AHL_OSP_OSP_ID_NULL');
1144: FND_MSG_PUB.ADD;
1145: IF (FND_LOG.LEVEL_ERROR >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
1146: FND_LOG.MESSAGE(FND_LOG.LEVEL_ERROR, L_DEBUG_KEY, FALSE);
1147: END IF;
1148: ELSE
1149: OPEN l_validate_osp_csr(p_po_req_header_rec.OSP_ORDER_ID);
1150: FETCH l_validate_osp_csr INTO l_dummy;
1151: IF (l_validate_osp_csr%NOTFOUND) THEN
1152: FND_MESSAGE.Set_Name('AHL', 'AHL_OSP_OSP_ID_INVALID');
1153: FND_MESSAGE.Set_Token('OSP_ID', p_po_req_header_rec.OSP_ORDER_ID);
1154: FND_MSG_PUB.ADD;
1155: IF (FND_LOG.LEVEL_ERROR >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
1156: FND_LOG.MESSAGE(FND_LOG.LEVEL_ERROR, L_DEBUG_KEY, FALSE);
1157: END IF;
1158: END IF;
1159: CLOSE l_validate_osp_csr;
1152: FND_MESSAGE.Set_Name('AHL', 'AHL_OSP_OSP_ID_INVALID');
1153: FND_MESSAGE.Set_Token('OSP_ID', p_po_req_header_rec.OSP_ORDER_ID);
1154: FND_MSG_PUB.ADD;
1155: IF (FND_LOG.LEVEL_ERROR >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
1156: FND_LOG.MESSAGE(FND_LOG.LEVEL_ERROR, L_DEBUG_KEY, FALSE);
1157: END IF;
1158: END IF;
1159: CLOSE l_validate_osp_csr;
1160: END IF;
1162: -- Supplier
1163: IF (p_po_req_header_rec.VENDOR_ID IS NULL OR p_po_req_header_rec.VENDOR_ID = FND_API.G_MISS_NUM) THEN
1164: FND_MESSAGE.Set_Name('AHL', 'AHL_OSP_SUPPLIER_ID_NULL');
1165: FND_MSG_PUB.ADD;
1166: IF (FND_LOG.LEVEL_ERROR >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
1167: FND_LOG.MESSAGE(FND_LOG.LEVEL_ERROR, L_DEBUG_KEY, FALSE);
1168: END IF;
1169: ELSE
1170: OPEN l_validate_supplier_csr(p_po_req_header_rec.VENDOR_ID);
1163: IF (p_po_req_header_rec.VENDOR_ID IS NULL OR p_po_req_header_rec.VENDOR_ID = FND_API.G_MISS_NUM) THEN
1164: FND_MESSAGE.Set_Name('AHL', 'AHL_OSP_SUPPLIER_ID_NULL');
1165: FND_MSG_PUB.ADD;
1166: IF (FND_LOG.LEVEL_ERROR >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
1167: FND_LOG.MESSAGE(FND_LOG.LEVEL_ERROR, L_DEBUG_KEY, FALSE);
1168: END IF;
1169: ELSE
1170: OPEN l_validate_supplier_csr(p_po_req_header_rec.VENDOR_ID);
1171: FETCH l_validate_supplier_csr INTO l_dummy;
1172: IF (l_validate_supplier_csr%NOTFOUND) THEN
1173: FND_MESSAGE.Set_Name('AHL', 'AHL_OSP_SUPP_INVALID');
1174: FND_MESSAGE.Set_Token('SUPP_ID', p_po_req_header_rec.VENDOR_ID);
1175: FND_MSG_PUB.ADD;
1176: IF (FND_LOG.LEVEL_ERROR >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
1177: FND_LOG.MESSAGE(FND_LOG.LEVEL_ERROR, L_DEBUG_KEY, FALSE);
1178: END IF;
1179: END IF;
1180: CLOSE l_validate_supplier_csr;
1173: FND_MESSAGE.Set_Name('AHL', 'AHL_OSP_SUPP_INVALID');
1174: FND_MESSAGE.Set_Token('SUPP_ID', p_po_req_header_rec.VENDOR_ID);
1175: FND_MSG_PUB.ADD;
1176: IF (FND_LOG.LEVEL_ERROR >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
1177: FND_LOG.MESSAGE(FND_LOG.LEVEL_ERROR, L_DEBUG_KEY, FALSE);
1178: END IF;
1179: END IF;
1180: CLOSE l_validate_supplier_csr;
1181: END IF;
1183: -- Supplier Site
1184: IF (p_po_req_header_rec.VENDOR_SITE_ID IS NULL OR p_po_req_header_rec.VENDOR_SITE_ID = FND_API.G_MISS_NUM) THEN
1185: FND_MESSAGE.Set_Name('AHL', 'AHL_OSP_SSITE_ID_NULL');
1186: FND_MSG_PUB.ADD;
1187: IF (FND_LOG.LEVEL_ERROR >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
1188: FND_LOG.MESSAGE(FND_LOG.LEVEL_ERROR, L_DEBUG_KEY, FALSE);
1189: END IF;
1190: ELSE
1191: OPEN l_validate_supp_site_csr(p_po_req_header_rec.VENDOR_SITE_ID, p_po_req_header_rec.VENDOR_ID);
1184: IF (p_po_req_header_rec.VENDOR_SITE_ID IS NULL OR p_po_req_header_rec.VENDOR_SITE_ID = FND_API.G_MISS_NUM) THEN
1185: FND_MESSAGE.Set_Name('AHL', 'AHL_OSP_SSITE_ID_NULL');
1186: FND_MSG_PUB.ADD;
1187: IF (FND_LOG.LEVEL_ERROR >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
1188: FND_LOG.MESSAGE(FND_LOG.LEVEL_ERROR, L_DEBUG_KEY, FALSE);
1189: END IF;
1190: ELSE
1191: OPEN l_validate_supp_site_csr(p_po_req_header_rec.VENDOR_SITE_ID, p_po_req_header_rec.VENDOR_ID);
1192: FETCH l_validate_supp_site_csr INTO l_dummy;
1193: IF (l_validate_supp_site_csr%NOTFOUND) THEN
1194: FND_MESSAGE.Set_Name('AHL', 'AHL_OSP_SSITE_INVALID');
1195: FND_MESSAGE.Set_Token('SS_ID', p_po_req_header_rec.VENDOR_SITE_ID);
1196: FND_MSG_PUB.ADD;
1197: IF (FND_LOG.LEVEL_ERROR >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
1198: FND_LOG.MESSAGE(FND_LOG.LEVEL_ERROR, L_DEBUG_KEY, FALSE);
1199: END IF;
1200: END IF;
1201: CLOSE l_validate_supp_site_csr;
1194: FND_MESSAGE.Set_Name('AHL', 'AHL_OSP_SSITE_INVALID');
1195: FND_MESSAGE.Set_Token('SS_ID', p_po_req_header_rec.VENDOR_SITE_ID);
1196: FND_MSG_PUB.ADD;
1197: IF (FND_LOG.LEVEL_ERROR >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
1198: FND_LOG.MESSAGE(FND_LOG.LEVEL_ERROR, L_DEBUG_KEY, FALSE);
1199: END IF;
1200: END IF;
1201: CLOSE l_validate_supp_site_csr;
1202: END IF;
1208: IF (l_validate_vendor_contact_csr%NOTFOUND) THEN
1209: FND_MESSAGE.Set_Name('AHL', 'AHL_OSP_VCONTACT_INVALID');
1210: FND_MESSAGE.Set_Token('V_CONTACT_ID', p_po_req_header_rec.VENDOR_CONTACT_ID);
1211: FND_MSG_PUB.ADD;
1212: IF (FND_LOG.LEVEL_ERROR >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
1213: FND_LOG.MESSAGE(FND_LOG.LEVEL_ERROR, L_DEBUG_KEY, FALSE);
1214: END IF;
1215: END IF;
1216: CLOSE l_validate_vendor_contact_csr;
1209: FND_MESSAGE.Set_Name('AHL', 'AHL_OSP_VCONTACT_INVALID');
1210: FND_MESSAGE.Set_Token('V_CONTACT_ID', p_po_req_header_rec.VENDOR_CONTACT_ID);
1211: FND_MSG_PUB.ADD;
1212: IF (FND_LOG.LEVEL_ERROR >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
1213: FND_LOG.MESSAGE(FND_LOG.LEVEL_ERROR, L_DEBUG_KEY, FALSE);
1214: END IF;
1215: END IF;
1216: CLOSE l_validate_vendor_contact_csr;
1217: END IF;
1219: -- Buyer
1220: IF (p_po_req_header_rec.BUYER_ID IS NULL OR p_po_req_header_rec.BUYER_ID = FND_API.G_MISS_NUM) THEN
1221: FND_MESSAGE.Set_Name('AHL', 'AHL_OSP_BUYER_ID_NULL');
1222: FND_MSG_PUB.ADD;
1223: IF (FND_LOG.LEVEL_ERROR >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
1224: FND_LOG.MESSAGE(FND_LOG.LEVEL_ERROR, L_DEBUG_KEY, FALSE);
1225: END IF;
1226: ELSE
1227: OPEN l_validate_buyer_csr(p_po_req_header_rec.BUYER_ID);
1220: IF (p_po_req_header_rec.BUYER_ID IS NULL OR p_po_req_header_rec.BUYER_ID = FND_API.G_MISS_NUM) THEN
1221: FND_MESSAGE.Set_Name('AHL', 'AHL_OSP_BUYER_ID_NULL');
1222: FND_MSG_PUB.ADD;
1223: IF (FND_LOG.LEVEL_ERROR >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
1224: FND_LOG.MESSAGE(FND_LOG.LEVEL_ERROR, L_DEBUG_KEY, FALSE);
1225: END IF;
1226: ELSE
1227: OPEN l_validate_buyer_csr(p_po_req_header_rec.BUYER_ID);
1228: FETCH l_validate_buyer_csr INTO l_dummy;
1229: IF (l_validate_buyer_csr%NOTFOUND) THEN
1230: FND_MESSAGE.Set_Name('AHL', 'AHL_OSP_BUYER_INVALID');
1231: FND_MESSAGE.Set_Token('BUYER_ID', p_po_req_header_rec.BUYER_ID);
1232: FND_MSG_PUB.ADD;
1233: IF (FND_LOG.LEVEL_ERROR >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
1234: FND_LOG.MESSAGE(FND_LOG.LEVEL_ERROR, L_DEBUG_KEY, FALSE);
1235: END IF;
1236: END IF;
1237: CLOSE l_validate_buyer_csr;
1230: FND_MESSAGE.Set_Name('AHL', 'AHL_OSP_BUYER_INVALID');
1231: FND_MESSAGE.Set_Token('BUYER_ID', p_po_req_header_rec.BUYER_ID);
1232: FND_MSG_PUB.ADD;
1233: IF (FND_LOG.LEVEL_ERROR >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
1234: FND_LOG.MESSAGE(FND_LOG.LEVEL_ERROR, L_DEBUG_KEY, FALSE);
1235: END IF;
1236: END IF;
1237: CLOSE l_validate_buyer_csr;
1238: END IF;
1236: END IF;
1237: CLOSE l_validate_buyer_csr;
1238: END IF;
1239:
1240: IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
1241: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE, L_DEBUG_KEY || '.end', 'Exiting Procedure');
1242: END IF;
1243:
1244: END Validate_PO_Req_Header;
1237: CLOSE l_validate_buyer_csr;
1238: END IF;
1239:
1240: IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
1241: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE, L_DEBUG_KEY || '.end', 'Exiting Procedure');
1242: END IF;
1243:
1244: END Validate_PO_Req_Header;
1245:
1272: l_org_id NUMBER := NULL;
1273: l_dummy VARCHAR2(1);
1274:
1275: BEGIN
1276: IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
1277: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE, L_DEBUG_KEY || '.begin', 'Entering Procedure');
1278: END IF;
1279:
1280: -- Get the current Org
1273: l_dummy VARCHAR2(1);
1274:
1275: BEGIN
1276: IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
1277: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE, L_DEBUG_KEY || '.begin', 'Entering Procedure');
1278: END IF;
1279:
1280: -- Get the current Org
1281: l_org_id := MO_GLOBAL.get_current_org_id();
1281: l_org_id := MO_GLOBAL.get_current_org_id();
1282: IF (l_org_id IS NULL) THEN
1283: FND_MESSAGE.Set_Name('AHL', 'AHL_OSP_ORG_NOT_SET');
1284: FND_MSG_PUB.ADD;
1285: IF (FND_LOG.LEVEL_UNEXPECTED >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
1286: FND_LOG.MESSAGE(FND_LOG.LEVEL_UNEXPECTED, L_DEBUG_KEY, FALSE);
1287: END IF;
1288: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1289: END IF;
1282: IF (l_org_id IS NULL) THEN
1283: FND_MESSAGE.Set_Name('AHL', 'AHL_OSP_ORG_NOT_SET');
1284: FND_MSG_PUB.ADD;
1285: IF (FND_LOG.LEVEL_UNEXPECTED >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
1286: FND_LOG.MESSAGE(FND_LOG.LEVEL_UNEXPECTED, L_DEBUG_KEY, FALSE);
1287: END IF;
1288: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1289: END IF;
1290:
1291: -- Non zero count
1292: IF (p_po_req_line_tbl.COUNT = 0) THEN
1293: FND_MESSAGE.Set_Name('AHL', 'AHL_OSP_NO_PO_LINES');
1294: FND_MSG_PUB.ADD;
1295: IF (FND_LOG.LEVEL_ERROR >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
1296: FND_LOG.MESSAGE(FND_LOG.LEVEL_ERROR, L_DEBUG_KEY, FALSE);
1297: END IF;
1298: RETURN; -- Cannot do any further validation
1299: END IF;
1292: IF (p_po_req_line_tbl.COUNT = 0) THEN
1293: FND_MESSAGE.Set_Name('AHL', 'AHL_OSP_NO_PO_LINES');
1294: FND_MSG_PUB.ADD;
1295: IF (FND_LOG.LEVEL_ERROR >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
1296: FND_LOG.MESSAGE(FND_LOG.LEVEL_ERROR, L_DEBUG_KEY, FALSE);
1297: END IF;
1298: RETURN; -- Cannot do any further validation
1299: END IF;
1300:
1307: IF (l_validate_item_csr%NOTFOUND) THEN
1308: FND_MESSAGE.Set_Name('AHL', 'AHL_OSP_ITEM_INVALID');
1309: FND_MESSAGE.Set_Token('ITEM', p_po_req_line_tbl(i).ITEM_ID);
1310: FND_MSG_PUB.ADD;
1311: IF (FND_LOG.LEVEL_ERROR >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
1312: FND_LOG.MESSAGE(FND_LOG.LEVEL_ERROR, L_DEBUG_KEY, FALSE);
1313: END IF;
1314: END IF;
1315: CLOSE l_validate_item_csr;
1308: FND_MESSAGE.Set_Name('AHL', 'AHL_OSP_ITEM_INVALID');
1309: FND_MESSAGE.Set_Token('ITEM', p_po_req_line_tbl(i).ITEM_ID);
1310: FND_MSG_PUB.ADD;
1311: IF (FND_LOG.LEVEL_ERROR >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
1312: FND_LOG.MESSAGE(FND_LOG.LEVEL_ERROR, L_DEBUG_KEY, FALSE);
1313: END IF;
1314: END IF;
1315: CLOSE l_validate_item_csr;
1316: ELSE
1317: -- One-time Item: Description is mandatory
1318: IF (TRIM(p_po_req_line_tbl(i).ITEM_DESCRIPTION) IS NULL OR p_po_req_line_tbl(i).ITEM_DESCRIPTION = FND_API.G_MISS_CHAR) THEN
1319: FND_MESSAGE.Set_Name('AHL', 'AHL_OSP_IDESC_NULL');
1320: FND_MSG_PUB.ADD;
1321: IF (FND_LOG.LEVEL_ERROR >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
1322: FND_LOG.MESSAGE(FND_LOG.LEVEL_ERROR, L_DEBUG_KEY, FALSE);
1323: END IF;
1324: END IF;
1325: -- One-time Item: UOM is mandatory
1318: IF (TRIM(p_po_req_line_tbl(i).ITEM_DESCRIPTION) IS NULL OR p_po_req_line_tbl(i).ITEM_DESCRIPTION = FND_API.G_MISS_CHAR) THEN
1319: FND_MESSAGE.Set_Name('AHL', 'AHL_OSP_IDESC_NULL');
1320: FND_MSG_PUB.ADD;
1321: IF (FND_LOG.LEVEL_ERROR >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
1322: FND_LOG.MESSAGE(FND_LOG.LEVEL_ERROR, L_DEBUG_KEY, FALSE);
1323: END IF;
1324: END IF;
1325: -- One-time Item: UOM is mandatory
1326: IF (TRIM(p_po_req_line_tbl(i).UOM_CODE) IS NULL OR p_po_req_line_tbl(i).UOM_CODE = FND_API.G_MISS_CHAR) THEN
1325: -- One-time Item: UOM is mandatory
1326: IF (TRIM(p_po_req_line_tbl(i).UOM_CODE) IS NULL OR p_po_req_line_tbl(i).UOM_CODE = FND_API.G_MISS_CHAR) THEN
1327: FND_MESSAGE.Set_Name('AHL', 'AHL_OSP_UOM_CODE_NULL');
1328: FND_MSG_PUB.ADD;
1329: IF (FND_LOG.LEVEL_ERROR >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
1330: FND_LOG.MESSAGE(FND_LOG.LEVEL_ERROR, L_DEBUG_KEY, FALSE);
1331: END IF;
1332: END IF;
1333: END IF;
1326: IF (TRIM(p_po_req_line_tbl(i).UOM_CODE) IS NULL OR p_po_req_line_tbl(i).UOM_CODE = FND_API.G_MISS_CHAR) THEN
1327: FND_MESSAGE.Set_Name('AHL', 'AHL_OSP_UOM_CODE_NULL');
1328: FND_MSG_PUB.ADD;
1329: IF (FND_LOG.LEVEL_ERROR >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
1330: FND_LOG.MESSAGE(FND_LOG.LEVEL_ERROR, L_DEBUG_KEY, FALSE);
1331: END IF;
1332: END IF;
1333: END IF;
1334:
1335: -- Quantity
1336: IF (p_po_req_line_tbl(i).QUANTITY IS NULL OR p_po_req_line_tbl(i).QUANTITY = FND_API.G_MISS_NUM) THEN
1337: FND_MESSAGE.Set_Name('AHL', 'AHL_OSP_QUANTITY_NULL');
1338: FND_MSG_PUB.ADD;
1339: IF (FND_LOG.LEVEL_ERROR >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
1340: FND_LOG.MESSAGE(FND_LOG.LEVEL_ERROR, L_DEBUG_KEY, FALSE);
1341: END IF;
1342: ELSE
1343: IF (p_po_req_line_tbl(i).QUANTITY <= 0) THEN
1336: IF (p_po_req_line_tbl(i).QUANTITY IS NULL OR p_po_req_line_tbl(i).QUANTITY = FND_API.G_MISS_NUM) THEN
1337: FND_MESSAGE.Set_Name('AHL', 'AHL_OSP_QUANTITY_NULL');
1338: FND_MSG_PUB.ADD;
1339: IF (FND_LOG.LEVEL_ERROR >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
1340: FND_LOG.MESSAGE(FND_LOG.LEVEL_ERROR, L_DEBUG_KEY, FALSE);
1341: END IF;
1342: ELSE
1343: IF (p_po_req_line_tbl(i).QUANTITY <= 0) THEN
1344: FND_MESSAGE.Set_Name('AHL', 'AHL_OSP_QUANTITY_INVALID');
1343: IF (p_po_req_line_tbl(i).QUANTITY <= 0) THEN
1344: FND_MESSAGE.Set_Name('AHL', 'AHL_OSP_QUANTITY_INVALID');
1345: FND_MESSAGE.Set_Token('QUANTITY', p_po_req_line_tbl(i).QUANTITY);
1346: FND_MSG_PUB.ADD;
1347: IF (FND_LOG.LEVEL_ERROR >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
1348: FND_LOG.MESSAGE(FND_LOG.LEVEL_ERROR, L_DEBUG_KEY, FALSE);
1349: END IF;
1350: END IF;
1351: END IF;
1344: FND_MESSAGE.Set_Name('AHL', 'AHL_OSP_QUANTITY_INVALID');
1345: FND_MESSAGE.Set_Token('QUANTITY', p_po_req_line_tbl(i).QUANTITY);
1346: FND_MSG_PUB.ADD;
1347: IF (FND_LOG.LEVEL_ERROR >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
1348: FND_LOG.MESSAGE(FND_LOG.LEVEL_ERROR, L_DEBUG_KEY, FALSE);
1349: END IF;
1350: END IF;
1351: END IF;
1352:
1353: -- Need By Date
1354: IF (p_po_req_line_tbl(i).NEED_BY_DATE IS NULL OR p_po_req_line_tbl(i).NEED_BY_DATE = FND_API.G_MISS_DATE) THEN
1355: FND_MESSAGE.Set_Name('AHL', 'AHL_OSP_NEED_BY_DATE_NULL');
1356: FND_MSG_PUB.ADD;
1357: IF (FND_LOG.LEVEL_ERROR >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
1358: FND_LOG.MESSAGE(FND_LOG.LEVEL_ERROR, L_DEBUG_KEY, FALSE);
1359: END IF;
1360: ELSE
1361: IF (TRUNC(p_po_req_line_tbl(i).NEED_BY_DATE) < TRUNC(SYSDATE)) THEN
1354: IF (p_po_req_line_tbl(i).NEED_BY_DATE IS NULL OR p_po_req_line_tbl(i).NEED_BY_DATE = FND_API.G_MISS_DATE) THEN
1355: FND_MESSAGE.Set_Name('AHL', 'AHL_OSP_NEED_BY_DATE_NULL');
1356: FND_MSG_PUB.ADD;
1357: IF (FND_LOG.LEVEL_ERROR >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
1358: FND_LOG.MESSAGE(FND_LOG.LEVEL_ERROR, L_DEBUG_KEY, FALSE);
1359: END IF;
1360: ELSE
1361: IF (TRUNC(p_po_req_line_tbl(i).NEED_BY_DATE) < TRUNC(SYSDATE)) THEN
1362: FND_MESSAGE.Set_Name('AHL', 'AHL_OSP_NBDATE_INVALID');
1361: IF (TRUNC(p_po_req_line_tbl(i).NEED_BY_DATE) < TRUNC(SYSDATE)) THEN
1362: FND_MESSAGE.Set_Name('AHL', 'AHL_OSP_NBDATE_INVALID');
1363: FND_MESSAGE.Set_Token('NBDATE', p_po_req_line_tbl(i).NEED_BY_DATE);
1364: FND_MSG_PUB.ADD;
1365: IF (FND_LOG.LEVEL_ERROR >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
1366: FND_LOG.MESSAGE(FND_LOG.LEVEL_ERROR, L_DEBUG_KEY, FALSE);
1367: END IF;
1368: END IF;
1369: END IF;
1362: FND_MESSAGE.Set_Name('AHL', 'AHL_OSP_NBDATE_INVALID');
1363: FND_MESSAGE.Set_Token('NBDATE', p_po_req_line_tbl(i).NEED_BY_DATE);
1364: FND_MSG_PUB.ADD;
1365: IF (FND_LOG.LEVEL_ERROR >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
1366: FND_LOG.MESSAGE(FND_LOG.LEVEL_ERROR, L_DEBUG_KEY, FALSE);
1367: END IF;
1368: END IF;
1369: END IF;
1370:
1371: -- Ship To Organization
1372: IF (p_po_req_line_tbl(i).SHIP_TO_ORG_ID IS NULL OR p_po_req_line_tbl(i).SHIP_TO_ORG_ID = FND_API.G_MISS_NUM) THEN
1373: FND_MESSAGE.Set_Name('AHL', 'AHL_OSP_SHIP_TO_ORG_NULL');
1374: FND_MSG_PUB.ADD;
1375: IF (FND_LOG.LEVEL_ERROR >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
1376: FND_LOG.MESSAGE(FND_LOG.LEVEL_ERROR, L_DEBUG_KEY, FALSE);
1377: END IF;
1378: END IF;
1379:
1372: IF (p_po_req_line_tbl(i).SHIP_TO_ORG_ID IS NULL OR p_po_req_line_tbl(i).SHIP_TO_ORG_ID = FND_API.G_MISS_NUM) THEN
1373: FND_MESSAGE.Set_Name('AHL', 'AHL_OSP_SHIP_TO_ORG_NULL');
1374: FND_MSG_PUB.ADD;
1375: IF (FND_LOG.LEVEL_ERROR >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
1376: FND_LOG.MESSAGE(FND_LOG.LEVEL_ERROR, L_DEBUG_KEY, FALSE);
1377: END IF;
1378: END IF;
1379:
1380: -- Line Type
1380: -- Line Type
1381: IF (p_po_req_line_tbl(i).PO_LINE_TYPE_ID IS NULL OR p_po_req_line_tbl(i).PO_LINE_TYPE_ID = FND_API.G_MISS_NUM) THEN
1382: FND_MESSAGE.Set_Name('AHL', 'AHL_OSP_LN_TYPE_ID_NULL');
1383: FND_MSG_PUB.ADD;
1384: IF (FND_LOG.LEVEL_ERROR >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
1385: FND_LOG.MESSAGE(FND_LOG.LEVEL_ERROR, L_DEBUG_KEY, FALSE);
1386: END IF;
1387: ELSE
1388: OPEN l_validate_line_type_csr(p_po_req_line_tbl(i).PO_LINE_TYPE_ID);
1381: IF (p_po_req_line_tbl(i).PO_LINE_TYPE_ID IS NULL OR p_po_req_line_tbl(i).PO_LINE_TYPE_ID = FND_API.G_MISS_NUM) THEN
1382: FND_MESSAGE.Set_Name('AHL', 'AHL_OSP_LN_TYPE_ID_NULL');
1383: FND_MSG_PUB.ADD;
1384: IF (FND_LOG.LEVEL_ERROR >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
1385: FND_LOG.MESSAGE(FND_LOG.LEVEL_ERROR, L_DEBUG_KEY, FALSE);
1386: END IF;
1387: ELSE
1388: OPEN l_validate_line_type_csr(p_po_req_line_tbl(i).PO_LINE_TYPE_ID);
1389: FETCH l_validate_line_type_csr INTO l_dummy;
1390: IF (l_validate_line_type_csr%NOTFOUND) THEN
1391: FND_MESSAGE.Set_Name('AHL', 'AHL_OSP_LN_TYPE_ID_INVALID');
1392: FND_MESSAGE.Set_Token('LINE_TYPE_ID', p_po_req_line_tbl(i).PO_LINE_TYPE_ID);
1393: FND_MSG_PUB.ADD;
1394: IF (FND_LOG.LEVEL_ERROR >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
1395: FND_LOG.MESSAGE(FND_LOG.LEVEL_ERROR, L_DEBUG_KEY, FALSE);
1396: END IF;
1397: END IF;
1398: CLOSE l_validate_line_type_csr;
1391: FND_MESSAGE.Set_Name('AHL', 'AHL_OSP_LN_TYPE_ID_INVALID');
1392: FND_MESSAGE.Set_Token('LINE_TYPE_ID', p_po_req_line_tbl(i).PO_LINE_TYPE_ID);
1393: FND_MSG_PUB.ADD;
1394: IF (FND_LOG.LEVEL_ERROR >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
1395: FND_LOG.MESSAGE(FND_LOG.LEVEL_ERROR, L_DEBUG_KEY, FALSE);
1396: END IF;
1397: END IF;
1398: CLOSE l_validate_line_type_csr;
1399: END IF;
1398: CLOSE l_validate_line_type_csr;
1399: END IF;
1400:
1401: END LOOP;
1402: IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
1403: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE, L_DEBUG_KEY || '.end', 'Exiting Procedure');
1404: END IF;
1405: END Validate_PO_Req_Lines;
1406:
1399: END IF;
1400:
1401: END LOOP;
1402: IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
1403: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE, L_DEBUG_KEY || '.end', 'Exiting Procedure');
1404: END IF;
1405: END Validate_PO_Req_Lines;
1406:
1407: ----------------------------------------
1462: l_osp_dtls_rec l_osp_dtls_csr%ROWTYPE;
1463: L_DEBUG_KEY CONSTANT VARCHAR2(150) := G_LOG_PREFIX || '.Update_OSP_Order';
1464:
1465: BEGIN
1466: IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
1467: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE, L_DEBUG_KEY || '.begin', 'Entering Procedure');
1468: END IF;
1469: -- Retrieve the current record
1470: OPEN l_osp_dtls_csr(p_osp_order_id);
1463: L_DEBUG_KEY CONSTANT VARCHAR2(150) := G_LOG_PREFIX || '.Update_OSP_Order';
1464:
1465: BEGIN
1466: IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
1467: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE, L_DEBUG_KEY || '.begin', 'Entering Procedure');
1468: END IF;
1469: -- Retrieve the current record
1470: OPEN l_osp_dtls_csr(p_osp_order_id);
1471: FETCH l_osp_dtls_csr INTO l_osp_dtls_rec;
1472: IF (l_osp_dtls_csr%NOTFOUND) THEN
1473: FND_MESSAGE.Set_Name('AHL', 'AHL_OSP_OSP_ID_INVALID');
1474: FND_MESSAGE.Set_Token('OSP_ID', p_osp_order_id);
1475: FND_MSG_PUB.ADD;
1476: IF (FND_LOG.LEVEL_ERROR >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
1477: FND_LOG.MESSAGE(FND_LOG.LEVEL_ERROR, L_DEBUG_KEY, FALSE);
1478: END IF;
1479: CLOSE l_osp_dtls_csr;
1480: RAISE FND_API.G_EXC_ERROR;
1473: FND_MESSAGE.Set_Name('AHL', 'AHL_OSP_OSP_ID_INVALID');
1474: FND_MESSAGE.Set_Token('OSP_ID', p_osp_order_id);
1475: FND_MSG_PUB.ADD;
1476: IF (FND_LOG.LEVEL_ERROR >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
1477: FND_LOG.MESSAGE(FND_LOG.LEVEL_ERROR, L_DEBUG_KEY, FALSE);
1478: END IF;
1479: CLOSE l_osp_dtls_csr;
1480: RAISE FND_API.G_EXC_ERROR;
1481: END IF;
1538: X_DESCRIPTION => l_osp_dtls_rec.DESCRIPTION,
1539: X_LAST_UPDATE_DATE => TRUNC(sysdate), -- Updated
1540: X_LAST_UPDATED_BY => fnd_global.user_id, -- Updated
1541: X_LAST_UPDATE_LOGIN => fnd_global.login_id); -- Updated
1542: IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
1543: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE, L_DEBUG_KEY || '.end', 'Exiting Procedure');
1544: END IF;
1545: END Update_OSP_Order;
1546:
1539: X_LAST_UPDATE_DATE => TRUNC(sysdate), -- Updated
1540: X_LAST_UPDATED_BY => fnd_global.user_id, -- Updated
1541: X_LAST_UPDATE_LOGIN => fnd_global.login_id); -- Updated
1542: IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
1543: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE, L_DEBUG_KEY || '.end', 'Exiting Procedure');
1544: END IF;
1545: END Update_OSP_Order;
1546:
1547: ----------------------------------------
1596: l_retval BOOLEAN;
1597: l_temp_num NUMBER;
1598:
1599: BEGIN
1600: IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
1601: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE, L_DEBUG_KEY || '.begin', 'Entering Procedure');
1602: END IF;
1603:
1604: OPEN l_get_po_req_hdr_csr(p_osp_order_id);
1597: l_temp_num NUMBER;
1598:
1599: BEGIN
1600: IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
1601: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE, L_DEBUG_KEY || '.begin', 'Entering Procedure');
1602: END IF;
1603:
1604: OPEN l_get_po_req_hdr_csr(p_osp_order_id);
1605: FETCH l_get_po_req_hdr_csr INTO x_po_req_header_id;
1608: OPEN check_req_completeness_csr(x_po_req_header_id);
1609: FETCH check_req_completeness_csr INTO l_temp_num;
1610: IF (check_req_completeness_csr%NOTFOUND) THEN
1611: -- The Requisition has been created only PARTIALLY: Flag as Failed
1612: IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
1613: FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, L_DEBUG_KEY, 'Requisition Creation succeeded only PARTIALLY for OSP Order Id ' || p_osp_order_id ||
1614: ', Requisition Header Id: ' || x_po_req_header_id);
1615: END IF;
1616: Set_Req_Submission_Failed(p_osp_order_id);
1609: FETCH check_req_completeness_csr INTO l_temp_num;
1610: IF (check_req_completeness_csr%NOTFOUND) THEN
1611: -- The Requisition has been created only PARTIALLY: Flag as Failed
1612: IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
1613: FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, L_DEBUG_KEY, 'Requisition Creation succeeded only PARTIALLY for OSP Order Id ' || p_osp_order_id ||
1614: ', Requisition Header Id: ' || x_po_req_header_id);
1615: END IF;
1616: Set_Req_Submission_Failed(p_osp_order_id);
1617: ELSE
1637: IF (l_get_po_req_line_csr%FOUND) THEN
1638: Update_Osp_Order_Lines(p_osp_order_line_id => l_osp_order_line_id,
1639: p_po_req_line_id => l_po_req_line_id);
1640: ELSE
1641: IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
1642: FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, L_DEBUG_KEY, 'OSP Line Id ' || l_osp_order_line_id || ' is not yet associated with a PO Req Line');
1643: END IF;
1644: END IF;
1645: CLOSE l_get_po_req_line_csr;
1638: Update_Osp_Order_Lines(p_osp_order_line_id => l_osp_order_line_id,
1639: p_po_req_line_id => l_po_req_line_id);
1640: ELSE
1641: IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
1642: FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, L_DEBUG_KEY, 'OSP Line Id ' || l_osp_order_line_id || ' is not yet associated with a PO Req Line');
1643: END IF;
1644: END IF;
1645: CLOSE l_get_po_req_line_csr;
1646: END LOOP;
1667: -- So setting status to REQ_SUBMISSION_FAILED if the Concurrent Program has completed
1668: -- but the Requisition Header is not set
1669: IF ((l_retval = TRUE) AND (l_dev_phase = 'COMPLETE')) THEN
1670: -- Abnormal Termination
1671: IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
1672: FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, L_DEBUG_KEY, 'Concurrent Program with Request Id ' || l_request_id || ' has terminated. dev_status = ' || l_dev_status || ', message = ' || l_message);
1673: END IF;
1674: -- Set the Status of OSP Order to Submission Failed
1675: Set_Req_Submission_Failed(p_osp_order_id);
1668: -- but the Requisition Header is not set
1669: IF ((l_retval = TRUE) AND (l_dev_phase = 'COMPLETE')) THEN
1670: -- Abnormal Termination
1671: IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
1672: FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, L_DEBUG_KEY, 'Concurrent Program with Request Id ' || l_request_id || ' has terminated. dev_status = ' || l_dev_status || ', message = ' || l_message);
1673: END IF;
1674: -- Set the Status of OSP Order to Submission Failed
1675: Set_Req_Submission_Failed(p_osp_order_id);
1676: END IF;
1677: END IF;
1678: END IF;
1679: CLOSE l_get_po_req_hdr_csr;
1680: --dbms_output.put_line('About to exit Associate_New_Req ');
1681: IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
1682: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE, L_DEBUG_KEY || '.end', 'Exiting Procedure');
1683: END IF;
1684: END Associate_New_Req;
1685:
1678: END IF;
1679: CLOSE l_get_po_req_hdr_csr;
1680: --dbms_output.put_line('About to exit Associate_New_Req ');
1681: IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
1682: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE, L_DEBUG_KEY || '.end', 'Exiting Procedure');
1683: END IF;
1684: END Associate_New_Req;
1685:
1686:
1752: l_osp_line_dtls_rec l_osp_line_dtls_csr%ROWTYPE;
1753: L_DEBUG_KEY CONSTANT VARCHAR2(150) := G_LOG_PREFIX || '.Update_Osp_Order_Lines';
1754:
1755: BEGIN
1756: IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
1757: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE, L_DEBUG_KEY || '.begin', 'Entering Procedure');
1758: END IF;
1759: -- Retrieve the current record
1760: OPEN l_osp_line_dtls_csr(p_osp_order_line_id);
1753: L_DEBUG_KEY CONSTANT VARCHAR2(150) := G_LOG_PREFIX || '.Update_Osp_Order_Lines';
1754:
1755: BEGIN
1756: IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
1757: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE, L_DEBUG_KEY || '.begin', 'Entering Procedure');
1758: END IF;
1759: -- Retrieve the current record
1760: OPEN l_osp_line_dtls_csr(p_osp_order_line_id);
1761: FETCH l_osp_line_dtls_csr INTO l_osp_line_dtls_rec;
1762: IF (l_osp_line_dtls_csr%NOTFOUND) THEN
1763: FND_MESSAGE.Set_Name('AHL', 'AHL_OSP_OSP_LINE_ID_INVALID');
1764: FND_MESSAGE.Set_Token('OSP_LINE_ID', p_osp_order_line_id);
1765: FND_MSG_PUB.ADD;
1766: IF (FND_LOG.LEVEL_ERROR >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
1767: FND_LOG.MESSAGE(FND_LOG.LEVEL_ERROR, L_DEBUG_KEY, FALSE);
1768: END IF;
1769: CLOSE l_osp_line_dtls_csr;
1770: RAISE FND_API.G_EXC_ERROR;
1763: FND_MESSAGE.Set_Name('AHL', 'AHL_OSP_OSP_LINE_ID_INVALID');
1764: FND_MESSAGE.Set_Token('OSP_LINE_ID', p_osp_order_line_id);
1765: FND_MSG_PUB.ADD;
1766: IF (FND_LOG.LEVEL_ERROR >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
1767: FND_LOG.MESSAGE(FND_LOG.LEVEL_ERROR, L_DEBUG_KEY, FALSE);
1768: END IF;
1769: CLOSE l_osp_line_dtls_csr;
1770: RAISE FND_API.G_EXC_ERROR;
1771: END IF;
1824: P_LAST_UPDATE_DATE => TRUNC(sysdate), -- Updated
1825: P_LAST_UPDATED_BY => fnd_global.user_id, -- Updated
1826: P_LAST_UPDATE_LOGIN => fnd_global.login_id); -- Updated
1827:
1828: IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
1829: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE, L_DEBUG_KEY || '.end', 'Exiting Procedure');
1830: END IF;
1831: END Update_Osp_Order_Lines;
1832:
1825: P_LAST_UPDATED_BY => fnd_global.user_id, -- Updated
1826: P_LAST_UPDATE_LOGIN => fnd_global.login_id); -- Updated
1827:
1828: IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
1829: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE, L_DEBUG_KEY || '.end', 'Exiting Procedure');
1830: END IF;
1831: END Update_Osp_Order_Lines;
1832:
1833:
1886: l_osp_details_rec get_req_deleted_osps_csr%ROWTYPE;
1887: l_osp_line_details_rec get_osp_line_dtls_csr%ROWTYPE;
1888:
1889: BEGIN
1890: IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
1891: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE, L_DEBUG_KEY || '.begin', 'Entering Procedure');
1892: END IF;
1893: -- Standard start of API savepoint
1894: SAVEPOINT Handle_Deleted_Req_Headers_pvt;
1887: l_osp_line_details_rec get_osp_line_dtls_csr%ROWTYPE;
1888:
1889: BEGIN
1890: IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
1891: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE, L_DEBUG_KEY || '.begin', 'Entering Procedure');
1892: END IF;
1893: -- Standard start of API savepoint
1894: SAVEPOINT Handle_Deleted_Req_Headers_pvt;
1895:
1900: LOOP
1901: FETCH get_req_deleted_osps_csr into l_osp_details_rec;
1902: EXIT WHEN get_req_deleted_osps_csr%NOTFOUND;
1903: l_temp_num := l_temp_num + 1;
1904: IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
1905: FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, L_DEBUG_KEY, 'Processing PO Req Deletion for OSP Order ' || l_osp_details_rec.osp_order_id);
1906: END IF;
1907: -- Get the Line Details
1908: OPEN get_osp_line_dtls_csr(c_osp_order_id => l_osp_details_rec.osp_order_id);
1901: FETCH get_req_deleted_osps_csr into l_osp_details_rec;
1902: EXIT WHEN get_req_deleted_osps_csr%NOTFOUND;
1903: l_temp_num := l_temp_num + 1;
1904: IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
1905: FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, L_DEBUG_KEY, 'Processing PO Req Deletion for OSP Order ' || l_osp_details_rec.osp_order_id);
1906: END IF;
1907: -- Get the Line Details
1908: OPEN get_osp_line_dtls_csr(c_osp_order_id => l_osp_details_rec.osp_order_id);
1909: LOOP
1911: EXIT WHEN get_osp_line_dtls_csr%NOTFOUND;
1912: IF (l_osp_line_details_rec.status_code IS NULL) THEN
1913: IF (l_osp_line_details_rec.po_req_line_id IS NOT NULL) THEN
1914: -- Reset the value of PO_REQ_LINE_ID and increment OVN (status_code is already null)
1915: IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
1916: FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, L_DEBUG_KEY, 'Updating OSP Line with Id ' || l_osp_line_details_rec.osp_order_line_id);
1917: END IF;
1918: update ahl_osp_order_lines
1919: set po_req_line_id = null,
1912: IF (l_osp_line_details_rec.status_code IS NULL) THEN
1913: IF (l_osp_line_details_rec.po_req_line_id IS NOT NULL) THEN
1914: -- Reset the value of PO_REQ_LINE_ID and increment OVN (status_code is already null)
1915: IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
1916: FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, L_DEBUG_KEY, 'Updating OSP Line with Id ' || l_osp_line_details_rec.osp_order_line_id);
1917: END IF;
1918: update ahl_osp_order_lines
1919: set po_req_line_id = null,
1920: object_version_number = l_osp_line_details_rec.object_version_number + 1,
1924: where osp_order_line_id = l_osp_line_details_rec.osp_order_line_id;
1925: END IF;
1926: ELSE
1927: -- Physically delete this line (REQ_DELETED, REQ_CANCELLED)
1928: IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
1929: FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, L_DEBUG_KEY, 'Deleting OSP Line with Id ' || l_osp_line_details_rec.osp_order_line_id);
1930: END IF;
1931: DELETE FROM ahl_osp_order_lines
1932: WHERE osp_order_line_id = l_osp_line_details_rec.osp_order_line_id;
1925: END IF;
1926: ELSE
1927: -- Physically delete this line (REQ_DELETED, REQ_CANCELLED)
1928: IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
1929: FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, L_DEBUG_KEY, 'Deleting OSP Line with Id ' || l_osp_line_details_rec.osp_order_line_id);
1930: END IF;
1931: DELETE FROM ahl_osp_order_lines
1932: WHERE osp_order_line_id = l_osp_line_details_rec.osp_order_line_id;
1933: END IF;
1947: where osp_order_id = l_osp_details_rec.osp_order_id;
1948: END LOOP;
1949: CLOSE get_req_deleted_osps_csr;
1950:
1951: IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
1952: FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, L_DEBUG_KEY, 'Processed PO Req Deletion for ' || l_temp_num || ' OSP Orders');
1953: END IF;
1954:
1955: IF (FND_API.TO_BOOLEAN(p_commit)) THEN
1948: END LOOP;
1949: CLOSE get_req_deleted_osps_csr;
1950:
1951: IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
1952: FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, L_DEBUG_KEY, 'Processed PO Req Deletion for ' || l_temp_num || ' OSP Orders');
1953: END IF;
1954:
1955: IF (FND_API.TO_BOOLEAN(p_commit)) THEN
1956: IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
1952: FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, L_DEBUG_KEY, 'Processed PO Req Deletion for ' || l_temp_num || ' OSP Orders');
1953: END IF;
1954:
1955: IF (FND_API.TO_BOOLEAN(p_commit)) THEN
1956: IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
1957: FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, L_DEBUG_KEY, 'About to COMMIT work.');
1958: END IF;
1959: COMMIT WORK;
1960: END IF;
1953: END IF;
1954:
1955: IF (FND_API.TO_BOOLEAN(p_commit)) THEN
1956: IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
1957: FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, L_DEBUG_KEY, 'About to COMMIT work.');
1958: END IF;
1959: COMMIT WORK;
1960: END IF;
1961: IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
1957: FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, L_DEBUG_KEY, 'About to COMMIT work.');
1958: END IF;
1959: COMMIT WORK;
1960: END IF;
1961: IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
1962: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE, L_DEBUG_KEY || '.end', 'Exiting Procedure');
1963: END IF;
1964:
1965: EXCEPTION
1958: END IF;
1959: COMMIT WORK;
1960: END IF;
1961: IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
1962: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE, L_DEBUG_KEY || '.end', 'Exiting Procedure');
1963: END IF;
1964:
1965: EXCEPTION
1966: WHEN FND_API.G_EXC_ERROR THEN
2027: l_osp_obj_ver_num NUMBER;
2028: l_ol_obj_ver_num NUMBER;
2029:
2030: BEGIN
2031: IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
2032: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE, L_DEBUG_KEY || '.begin', 'Entering Procedure');
2033: END IF;
2034: -- Standard start of API savepoint
2035: SAVEPOINT Handle_Cancelled_Req_Lines_pvt;
2028: l_ol_obj_ver_num NUMBER;
2029:
2030: BEGIN
2031: IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
2032: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE, L_DEBUG_KEY || '.begin', 'Entering Procedure');
2033: END IF;
2034: -- Standard start of API savepoint
2035: SAVEPOINT Handle_Cancelled_Req_Lines_pvt;
2036:
2047: EXIT WHEN l_get_cancelled_req_lines_csr%NOTFOUND;
2048: IF (l_osp_order_id <> l_prev_osp_order_id) THEN
2049: IF (l_prev_osp_order_id <> -1) THEN
2050: -- Cancel all OSP Lines pertaining to the previous OSP Order
2051: IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
2052: FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, L_DEBUG_KEY, 'Cancelling OSP Line for Order ' || l_prev_osp_order_id);
2053: END IF;
2054: AHL_OSP_ORDERS_PVT.process_osp_order(p_api_version => 1.0,
2055: p_init_msg_list => FND_API.G_FALSE,
2048: IF (l_osp_order_id <> l_prev_osp_order_id) THEN
2049: IF (l_prev_osp_order_id <> -1) THEN
2050: -- Cancel all OSP Lines pertaining to the previous OSP Order
2051: IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
2052: FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, L_DEBUG_KEY, 'Cancelling OSP Line for Order ' || l_prev_osp_order_id);
2053: END IF;
2054: AHL_OSP_ORDERS_PVT.process_osp_order(p_api_version => 1.0,
2055: p_init_msg_list => FND_API.G_FALSE,
2056: p_commit => FND_API.G_FALSE,
2060: x_return_status => l_return_status,
2061: x_msg_count => l_msg_count,
2062: x_msg_data => l_msg_data);
2063: IF (l_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
2064: IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
2065: FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, L_DEBUG_KEY, 'Error while Cancelling OSP Line for OSP Order ' || l_prev_osp_order_id);
2066: END IF;
2067: l_commit_flag := false;
2068: END IF;
2061: x_msg_count => l_msg_count,
2062: x_msg_data => l_msg_data);
2063: IF (l_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
2064: IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
2065: FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, L_DEBUG_KEY, 'Error while Cancelling OSP Line for OSP Order ' || l_prev_osp_order_id);
2066: END IF;
2067: l_commit_flag := false;
2068: END IF;
2069: -- Delete table used by prior call
2088: END LOOP;
2089: CLOSE l_get_cancelled_req_lines_csr;
2090: IF (l_prev_osp_order_id <> -1) THEN
2091: -- Save the Last Cancellation
2092: IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
2093: FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, L_DEBUG_KEY, 'Cancelling OSP Line for Order ' || l_prev_osp_order_id);
2094: END IF;
2095: AHL_OSP_ORDERS_PVT.process_osp_order(p_api_version => 1.0,
2096: p_init_msg_list => FND_API.G_FALSE,
2089: CLOSE l_get_cancelled_req_lines_csr;
2090: IF (l_prev_osp_order_id <> -1) THEN
2091: -- Save the Last Cancellation
2092: IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
2093: FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, L_DEBUG_KEY, 'Cancelling OSP Line for Order ' || l_prev_osp_order_id);
2094: END IF;
2095: AHL_OSP_ORDERS_PVT.process_osp_order(p_api_version => 1.0,
2096: p_init_msg_list => FND_API.G_FALSE,
2097: p_commit => FND_API.G_FALSE,
2101: x_return_status => l_return_status,
2102: x_msg_count => l_msg_count,
2103: x_msg_data => l_msg_data);
2104: IF (l_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
2105: IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
2106: FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, L_DEBUG_KEY, 'Error while Cancelling OSP Line for OSP Order ' || l_prev_osp_order_id);
2107: END IF;
2108: l_commit_flag := false;
2109: END IF;
2102: x_msg_count => l_msg_count,
2103: x_msg_data => l_msg_data);
2104: IF (l_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
2105: IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
2106: FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, L_DEBUG_KEY, 'Error while Cancelling OSP Line for OSP Order ' || l_prev_osp_order_id);
2107: END IF;
2108: l_commit_flag := false;
2109: END IF;
2110: END IF;
2112: RAISE FND_API.G_EXC_ERROR; -- Rollback and return error
2113: END IF;
2114: -- No errors in current procedure: Check only passed in flag
2115: IF (FND_API.TO_BOOLEAN(p_commit)) THEN
2116: IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
2117: FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, L_DEBUG_KEY, 'About to COMMIT work.');
2118: END IF;
2119: COMMIT WORK;
2120: END IF;
2113: END IF;
2114: -- No errors in current procedure: Check only passed in flag
2115: IF (FND_API.TO_BOOLEAN(p_commit)) THEN
2116: IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
2117: FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, L_DEBUG_KEY, 'About to COMMIT work.');
2118: END IF;
2119: COMMIT WORK;
2120: END IF;
2121: IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
2117: FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, L_DEBUG_KEY, 'About to COMMIT work.');
2118: END IF;
2119: COMMIT WORK;
2120: END IF;
2121: IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
2122: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE, L_DEBUG_KEY || '.end', 'Exiting Procedure');
2123: END IF;
2124: EXCEPTION
2125: WHEN FND_API.G_EXC_ERROR THEN
2118: END IF;
2119: COMMIT WORK;
2120: END IF;
2121: IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
2122: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE, L_DEBUG_KEY || '.end', 'Exiting Procedure');
2123: END IF;
2124: EXCEPTION
2125: WHEN FND_API.G_EXC_ERROR THEN
2126: ROLLBACK TO Handle_Cancelled_Req_Lines_pvt;
2177: l_osp_obj_ver_num NUMBER;
2178: l_ol_obj_ver_num NUMBER;
2179:
2180: BEGIN
2181: IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
2182: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE, L_DEBUG_KEY || '.begin', 'Entering Procedure');
2183: END IF;
2184: -- Standard start of API savepoint
2185: SAVEPOINT Handle_Deleted_Req_Lines_pvt;
2178: l_ol_obj_ver_num NUMBER;
2179:
2180: BEGIN
2181: IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
2182: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE, L_DEBUG_KEY || '.begin', 'Entering Procedure');
2183: END IF;
2184: -- Standard start of API savepoint
2185: SAVEPOINT Handle_Deleted_Req_Lines_pvt;
2186:
2196: EXIT WHEN l_get_deleted_req_lines_csr%NOTFOUND;
2197: IF (l_osp_order_id <> l_prev_osp_order_id) THEN
2198: IF (l_prev_osp_order_id <> -1) THEN
2199: -- Req Delete all OSP Lines pertaining to the previous OSP Order
2200: IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
2201: FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, L_DEBUG_KEY, 'Deleting OSP Line for Order ' || l_prev_osp_order_id);
2202: END IF;
2203: AHL_OSP_ORDERS_PVT.process_osp_order(p_api_version => 1.0,
2204: p_init_msg_list => FND_API.G_FALSE,
2197: IF (l_osp_order_id <> l_prev_osp_order_id) THEN
2198: IF (l_prev_osp_order_id <> -1) THEN
2199: -- Req Delete all OSP Lines pertaining to the previous OSP Order
2200: IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
2201: FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, L_DEBUG_KEY, 'Deleting OSP Line for Order ' || l_prev_osp_order_id);
2202: END IF;
2203: AHL_OSP_ORDERS_PVT.process_osp_order(p_api_version => 1.0,
2204: p_init_msg_list => FND_API.G_FALSE,
2205: p_commit => FND_API.G_FALSE,
2209: x_return_status => l_return_status,
2210: x_msg_count => l_msg_count,
2211: x_msg_data => l_msg_data);
2212: IF (l_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
2213: IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
2214: FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, L_DEBUG_KEY, 'Error while Deleting OSP Line for OSP Order ' || l_prev_osp_order_id);
2215: END IF;
2216: l_commit_flag := false;
2217: END IF;
2210: x_msg_count => l_msg_count,
2211: x_msg_data => l_msg_data);
2212: IF (l_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
2213: IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
2214: FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, L_DEBUG_KEY, 'Error while Deleting OSP Line for OSP Order ' || l_prev_osp_order_id);
2215: END IF;
2216: l_commit_flag := false;
2217: END IF;
2218: -- Delete table used by prior call
2236: END LOOP;
2237: CLOSE l_get_deleted_req_lines_csr;
2238: IF (l_prev_osp_order_id <> -1) THEN
2239: -- Save the Last Deletion
2240: IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
2241: FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, L_DEBUG_KEY, 'Deleting OSP Line for Order ' || l_prev_osp_order_id);
2242: END IF;
2243: AHL_OSP_ORDERS_PVT.process_osp_order(p_api_version => 1.0,
2244: p_init_msg_list => FND_API.G_FALSE,
2237: CLOSE l_get_deleted_req_lines_csr;
2238: IF (l_prev_osp_order_id <> -1) THEN
2239: -- Save the Last Deletion
2240: IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
2241: FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, L_DEBUG_KEY, 'Deleting OSP Line for Order ' || l_prev_osp_order_id);
2242: END IF;
2243: AHL_OSP_ORDERS_PVT.process_osp_order(p_api_version => 1.0,
2244: p_init_msg_list => FND_API.G_FALSE,
2245: p_commit => FND_API.G_FALSE,
2249: x_return_status => l_return_status,
2250: x_msg_count => l_msg_count,
2251: x_msg_data => l_msg_data);
2252: IF (l_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
2253: IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
2254: FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, L_DEBUG_KEY, 'Error while Deleting OSP Line for OSP Order ' || l_prev_osp_order_id);
2255: END IF;
2256: l_commit_flag := false;
2257: END IF;
2250: x_msg_count => l_msg_count,
2251: x_msg_data => l_msg_data);
2252: IF (l_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
2253: IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
2254: FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, L_DEBUG_KEY, 'Error while Deleting OSP Line for OSP Order ' || l_prev_osp_order_id);
2255: END IF;
2256: l_commit_flag := false;
2257: END IF;
2258: END IF;
2261: RAISE FND_API.G_EXC_ERROR; -- Rollback and return error
2262: END IF;
2263: -- No errors in current procedure: Check only passed in flag
2264: IF (FND_API.TO_BOOLEAN(p_commit)) THEN
2265: IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
2266: FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, L_DEBUG_KEY, 'About to COMMIT work.');
2267: END IF;
2268: COMMIT WORK;
2269: END IF;
2262: END IF;
2263: -- No errors in current procedure: Check only passed in flag
2264: IF (FND_API.TO_BOOLEAN(p_commit)) THEN
2265: IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
2266: FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, L_DEBUG_KEY, 'About to COMMIT work.');
2267: END IF;
2268: COMMIT WORK;
2269: END IF;
2270: IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
2266: FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, L_DEBUG_KEY, 'About to COMMIT work.');
2267: END IF;
2268: COMMIT WORK;
2269: END IF;
2270: IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
2271: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE, L_DEBUG_KEY || '.end', 'Exiting Procedure');
2272: END IF;
2273: EXCEPTION
2274: WHEN FND_API.G_EXC_ERROR THEN
2267: END IF;
2268: COMMIT WORK;
2269: END IF;
2270: IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
2271: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE, L_DEBUG_KEY || '.end', 'Exiting Procedure');
2272: END IF;
2273: EXCEPTION
2274: WHEN FND_API.G_EXC_ERROR THEN
2275: ROLLBACK TO Handle_Deleted_Req_Lines_pvt;
2317: l_dummy NUMBER;
2318:
2319:
2320: BEGIN
2321: IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
2322: FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, L_DEBUG_KEY, 'PO_REQ_HEADER_ID: '|| p_po_req_header_id);
2323: END IF;
2324:
2325: IF (p_po_req_header_id IS NULL OR p_po_req_header_id = FND_API.G_MISS_NUM) THEN
2318:
2319:
2320: BEGIN
2321: IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
2322: FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, L_DEBUG_KEY, 'PO_REQ_HEADER_ID: '|| p_po_req_header_id);
2323: END IF;
2324:
2325: IF (p_po_req_header_id IS NULL OR p_po_req_header_id = FND_API.G_MISS_NUM) THEN
2326: FND_MESSAGE.Set_Name('AHL', 'AHL_OSP_REQ_ID_NULL');
2343:
2344: OPEN l_is_req_closed_csr(p_po_req_header_id);
2345: FETCH l_is_req_closed_csr INTO l_dummy;
2346: IF (l_is_req_closed_csr%FOUND) THEN
2347: IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
2348: FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, L_DEBUG_KEY, 'Requisition is closed');
2349: END IF;
2350: CLOSE l_is_req_closed_csr;
2351: RETURN 'Y';
2344: OPEN l_is_req_closed_csr(p_po_req_header_id);
2345: FETCH l_is_req_closed_csr INTO l_dummy;
2346: IF (l_is_req_closed_csr%FOUND) THEN
2347: IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
2348: FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, L_DEBUG_KEY, 'Requisition is closed');
2349: END IF;
2350: CLOSE l_is_req_closed_csr;
2351: RETURN 'Y';
2352: END IF;
2379: l_charge_acct_id NUMBER := null;
2380: l_item_account_set BOOLEAN := FALSE;
2381:
2382: BEGIN
2383: IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
2384: FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, L_DEBUG_KEY, 'p_inv_org_id: '|| p_inv_org_id);
2385: FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, L_DEBUG_KEY, 'p_item_id: '|| p_item_id);
2386: END IF;
2387: IF(p_item_id is NULL) THEN
2380: l_item_account_set BOOLEAN := FALSE;
2381:
2382: BEGIN
2383: IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
2384: FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, L_DEBUG_KEY, 'p_inv_org_id: '|| p_inv_org_id);
2385: FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, L_DEBUG_KEY, 'p_item_id: '|| p_item_id);
2386: END IF;
2387: IF(p_item_id is NULL) THEN
2388: --It is a one-time item
2381:
2382: BEGIN
2383: IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
2384: FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, L_DEBUG_KEY, 'p_inv_org_id: '|| p_inv_org_id);
2385: FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, L_DEBUG_KEY, 'p_item_id: '|| p_item_id);
2386: END IF;
2387: IF(p_item_id is NULL) THEN
2388: --It is a one-time item
2389: l_item_account_set := FALSE;
2390: ELSE
2391: --Item is present, retrieve the item's expense account.
2392: OPEN get_exp_acct_item_csr(p_inv_org_id, p_item_id);
2393: FETCH get_exp_acct_item_csr INTO l_charge_acct_id;
2394: IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
2395: FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, L_DEBUG_KEY, 'l_charge_acct_id from item: '|| l_charge_acct_id);
2396: END IF;
2397: CLOSE get_exp_acct_item_csr;
2398: IF(l_charge_acct_id is not NULL) THEN
2391: --Item is present, retrieve the item's expense account.
2392: OPEN get_exp_acct_item_csr(p_inv_org_id, p_item_id);
2393: FETCH get_exp_acct_item_csr INTO l_charge_acct_id;
2394: IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
2395: FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, L_DEBUG_KEY, 'l_charge_acct_id from item: '|| l_charge_acct_id);
2396: END IF;
2397: CLOSE get_exp_acct_item_csr;
2398: IF(l_charge_acct_id is not NULL) THEN
2399: l_item_account_set := TRUE;
2406: IF (l_item_account_set = FALSE) THEN
2407: --Retrieve the Org's Material Account Id
2408: OPEN get_mtl_acct_org_csr(p_inv_org_id);
2409: FETCH get_mtl_acct_org_csr INTO l_charge_acct_id;
2410: IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
2411: FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, L_DEBUG_KEY, 'l_charge_acct_id from Org: '|| l_charge_acct_id);
2412: END IF;
2413: CLOSE get_mtl_acct_org_csr;
2414: END IF;
2407: --Retrieve the Org's Material Account Id
2408: OPEN get_mtl_acct_org_csr(p_inv_org_id);
2409: FETCH get_mtl_acct_org_csr INTO l_charge_acct_id;
2410: IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
2411: FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, L_DEBUG_KEY, 'l_charge_acct_id from Org: '|| l_charge_acct_id);
2412: END IF;
2413: CLOSE get_mtl_acct_org_csr;
2414: END IF;
2415:
2412: END IF;
2413: CLOSE get_mtl_acct_org_csr;
2414: END IF;
2415:
2416: IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
2417: FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, L_DEBUG_KEY, 'l_charge_acct_id: '|| l_charge_acct_id);
2418: END IF;
2419: RETURN l_charge_acct_id;
2420:
2413: CLOSE get_mtl_acct_org_csr;
2414: END IF;
2415:
2416: IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
2417: FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, L_DEBUG_KEY, 'l_charge_acct_id: '|| l_charge_acct_id);
2418: END IF;
2419: RETURN l_charge_acct_id;
2420:
2421: END get_charge_account_id;