3:
4: G_PKG_NAME CONSTANT VARCHAR2(30) := 'AHL_UC_APPROVALS_PVT';
5:
6: -- To check if AHL DEBUG is turned ON
7: G_DEBUG VARCHAR2(1):=AHL_DEBUG_PUB.is_log_enabled;
8:
9: ------------------------
10: -- Define Procedures --
11: ------------------------
92: SAVEPOINT INITIATE_UC_APPROVALS;
93:
94: -- Check if API is called in debug mode. If yes, enable debug.
95: IF G_DEBUG='Y' THEN
96: AHL_DEBUG_PUB.enable_debug;
97: AHL_DEBUG_PUB.debug( 'Enter Initiate UC Approvals');
98: END IF;
99:
100: -- Initialize message list if p_init_msg_list is set to TRUE
93:
94: -- Check if API is called in debug mode. If yes, enable debug.
95: IF G_DEBUG='Y' THEN
96: AHL_DEBUG_PUB.enable_debug;
97: AHL_DEBUG_PUB.debug( 'Enter Initiate UC Approvals');
98: END IF;
99:
100: -- Initialize message list if p_init_msg_list is set to TRUE
101: IF FND_API.To_Boolean(p_init_msg_list) THEN
151: x_msg_count =>l_msg_count,
152: x_msg_data =>l_msg_data);
153:
154: IF G_DEBUG = 'Y' THEN
155: AHL_DEBUG_PUB.debug(' l_process_name:' || l_process_name);
156: AHL_DEBUG_PUB.debug(' l_active:' || l_active);
157: END IF;
158:
159: --If the approvals WF is turned on
152: x_msg_data =>l_msg_data);
153:
154: IF G_DEBUG = 'Y' THEN
155: AHL_DEBUG_PUB.debug(' l_process_name:' || l_process_name);
156: AHL_DEBUG_PUB.debug(' l_active:' || l_active);
157: END IF;
158:
159: --If the approvals WF is turned on
160: IF (l_active='Y' AND l_process_name IS NOT NULL) THEN
236: x_msg_count =>l_msg_count,
237: x_msg_data =>l_msg_data);
238:
239: IF G_DEBUG = 'Y' THEN
240: AHL_DEBUG_PUB.debug(' l_process_name:' || l_process_name);
241: AHL_DEBUG_PUB.debug(' l_active:' || l_active);
242: END IF;
243:
244: --If the approvals WF is turned on
237: x_msg_data =>l_msg_data);
238:
239: IF G_DEBUG = 'Y' THEN
240: AHL_DEBUG_PUB.debug(' l_process_name:' || l_process_name);
241: AHL_DEBUG_PUB.debug(' l_active:' || l_active);
242: END IF;
243:
244: --If the approvals WF is turned on
245: IF (l_active='Y' AND l_process_name IS NOT NULL) THEN
331: FND_MSG_PUB.count_and_get( p_encoded =>FND_API.G_FALSE,
332: p_count => x_msg_count,
333: p_data => x_msg_data);
334: IF G_DEBUG='Y' THEN
335: AHL_DEBUG_PUB.disable_debug;
336: END IF;
337:
338: WHEN FND_API.G_EXC_ERROR THEN
339: ROLLBACK TO INITIATE_UC_APPROVALS;
341: FND_MSG_PUB.count_and_get( p_encoded =>FND_API.G_FALSE,
342: p_count => x_msg_count,
343: p_data => X_msg_data);
344: IF G_DEBUG='Y' THEN
345: AHL_DEBUG_PUB.disable_debug;
346: END IF;
347:
348: WHEN OTHERS THEN
349: ROLLBACK TO INITIATE_UC_APPROVALS;
357: FND_MSG_PUB.count_and_get( p_encoded =>FND_API.G_FALSE,
358: p_count => x_msg_count,
359: p_data => X_msg_data);
360: IF G_DEBUG='Y' THEN
361: AHL_DEBUG_PUB.disable_debug;
362: END IF;
363:
364: END INITIATE_UC_APPROVALS;
365:
440: SAVEPOINT COMPLETE_UC_APPROVAL;
441:
442: -- Check if API is called in debug mode. If yes, enable debug.
443: IF G_DEBUG='Y' THEN
444: AHL_DEBUG_PUB.enable_debug;
445: AHL_DEBUG_PUB.debug( 'Enter Complete UC Approvals');
446: END IF;
447:
448: -- Initialize message list if p_init_msg_list is set to TRUE
441:
442: -- Check if API is called in debug mode. If yes, enable debug.
443: IF G_DEBUG='Y' THEN
444: AHL_DEBUG_PUB.enable_debug;
445: AHL_DEBUG_PUB.debug( 'Enter Complete UC Approvals');
446: END IF;
447:
448: -- Initialize message list if p_init_msg_list is set to TRUE
449: IF FND_API.To_Boolean(p_init_msg_list) THEN
480:
481: IF( p_approval_status='APPROVED' ) THEN
482:
483: IF G_DEBUG='Y' THEN
484: AHL_DEBUG_PUB.debug( 'UC: AHL_UC_APPROVALS_PVT.complete_uc_approval--> approval_status=APPROVED');
485: END IF;
486:
487: --call the completeness check API
488: AHL_UC_VALIDATION_PUB.check_completeness(
497: x_msg_data => l_msg_data
498: );
499:
500: IF G_DEBUG='Y' THEN
501: AHL_DEBUG_PUB.debug('SQLERRM' || SQLERRM );
502: AHL_DEBUG_PUB.debug('l_return_status' || l_return_status);
503: AHL_DEBUG_PUB.debug('l_msg_count' || l_msg_count);
504: AHL_DEBUG_PUB.debug('l_msg_data' || l_msg_data);
505: AHL_DEBUG_PUB.debug( 'UC: AHL_UC_APPROVALS_PVT.complete_uc_approval-->After Completeness Check API call');
498: );
499:
500: IF G_DEBUG='Y' THEN
501: AHL_DEBUG_PUB.debug('SQLERRM' || SQLERRM );
502: AHL_DEBUG_PUB.debug('l_return_status' || l_return_status);
503: AHL_DEBUG_PUB.debug('l_msg_count' || l_msg_count);
504: AHL_DEBUG_PUB.debug('l_msg_data' || l_msg_data);
505: AHL_DEBUG_PUB.debug( 'UC: AHL_UC_APPROVALS_PVT.complete_uc_approval-->After Completeness Check API call');
506: END IF;
499:
500: IF G_DEBUG='Y' THEN
501: AHL_DEBUG_PUB.debug('SQLERRM' || SQLERRM );
502: AHL_DEBUG_PUB.debug('l_return_status' || l_return_status);
503: AHL_DEBUG_PUB.debug('l_msg_count' || l_msg_count);
504: AHL_DEBUG_PUB.debug('l_msg_data' || l_msg_data);
505: AHL_DEBUG_PUB.debug( 'UC: AHL_UC_APPROVALS_PVT.complete_uc_approval-->After Completeness Check API call');
506: END IF;
507:
500: IF G_DEBUG='Y' THEN
501: AHL_DEBUG_PUB.debug('SQLERRM' || SQLERRM );
502: AHL_DEBUG_PUB.debug('l_return_status' || l_return_status);
503: AHL_DEBUG_PUB.debug('l_msg_count' || l_msg_count);
504: AHL_DEBUG_PUB.debug('l_msg_data' || l_msg_data);
505: AHL_DEBUG_PUB.debug( 'UC: AHL_UC_APPROVALS_PVT.complete_uc_approval-->After Completeness Check API call');
506: END IF;
507:
508: l_msg_count := FND_MSG_PUB.count_msg;
501: AHL_DEBUG_PUB.debug('SQLERRM' || SQLERRM );
502: AHL_DEBUG_PUB.debug('l_return_status' || l_return_status);
503: AHL_DEBUG_PUB.debug('l_msg_count' || l_msg_count);
504: AHL_DEBUG_PUB.debug('l_msg_data' || l_msg_data);
505: AHL_DEBUG_PUB.debug( 'UC: AHL_UC_APPROVALS_PVT.complete_uc_approval-->After Completeness Check API call');
506: END IF;
507:
508: l_msg_count := FND_MSG_PUB.count_msg;
509: IF l_msg_count > 0 THEN
506: END IF;
507:
508: l_msg_count := FND_MSG_PUB.count_msg;
509: IF l_msg_count > 0 THEN
510: AHL_DEBUG_PUB.debug('FAiled Check Completeness API');
511: x_msg_count := l_msg_count;
512: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
513: END IF;
514:
601: FND_MSG_PUB.count_and_get( p_encoded =>FND_API.G_FALSE,
602: p_count => x_msg_count,
603: p_data => x_msg_data);
604: IF G_DEBUG='Y' THEN
605: AHL_DEBUG_PUB.disable_debug;
606: END IF;
607:
608:
609: WHEN FND_API.G_EXC_ERROR THEN
612: FND_MSG_PUB.count_and_get( p_encoded =>FND_API.G_FALSE,
613: p_count => x_msg_count,
614: p_data => X_msg_data);
615: IF G_DEBUG='Y' THEN
616: AHL_DEBUG_PUB.disable_debug;
617: END IF;
618:
619: WHEN OTHERS THEN
620: ROLLBACK TO COMPLETE_UC_APPROVAL;
628: FND_MSG_PUB.count_and_get( p_encoded =>FND_API.G_FALSE,
629: p_count => x_msg_count,
630: p_data => X_msg_data);
631: IF G_DEBUG='Y' THEN
632: AHL_DEBUG_PUB.disable_debug;
633: END IF;
634:
635: END COMPLETE_UC_APPROVAL;
636:
720: SAVEPOINT INITIATE_QUARANTINE_SP;
721:
722: -- Check if API is called in debug mode. If yes, enable debug.
723: IF G_DEBUG='Y' THEN
724: AHL_DEBUG_PUB.enable_debug;
725: AHL_DEBUG_PUB.debug( 'Enter Initiate UC-ACL Quarantine Approvals');
726: END IF;
727:
728: -- Initialize message list if p_init_msg_list is set to TRUE
721:
722: -- Check if API is called in debug mode. If yes, enable debug.
723: IF G_DEBUG='Y' THEN
724: AHL_DEBUG_PUB.enable_debug;
725: AHL_DEBUG_PUB.debug( 'Enter Initiate UC-ACL Quarantine Approvals');
726: END IF;
727:
728: -- Initialize message list if p_init_msg_list is set to TRUE
729: IF FND_API.To_Boolean(p_init_msg_list) THEN
762: RAISE FND_API.G_EXC_ERROR;
763: END IF;
764:
765: IF G_DEBUG='Y' THEN
766: AHL_DEBUG_PUB.debug( 'l_uc_header_rec.active_uc_status_code : '||l_uc_header_rec.active_uc_status_code);
767: AHL_DEBUG_PUB.debug( 'l_uc_header_rec.active_uc_status_code : '||l_uc_header_rec.unit_config_status_code);
768: END IF;
769:
770: -- Workflow process to be started only if status is APPROVED.
763: END IF;
764:
765: IF G_DEBUG='Y' THEN
766: AHL_DEBUG_PUB.debug( 'l_uc_header_rec.active_uc_status_code : '||l_uc_header_rec.active_uc_status_code);
767: AHL_DEBUG_PUB.debug( 'l_uc_header_rec.active_uc_status_code : '||l_uc_header_rec.unit_config_status_code);
768: END IF;
769:
770: -- Workflow process to be started only if status is APPROVED.
771: IF ((l_uc_header_rec.active_uc_status_code = 'APPROVED') AND
783: x_msg_count =>l_msg_count,
784: x_msg_data =>l_msg_data);
785:
786: IF G_DEBUG = 'Y' THEN
787: AHL_DEBUG_PUB.debug(' l_process_name:' || l_process_name);
788: AHL_DEBUG_PUB.debug(' l_active:' || l_active);
789: END IF;
790:
791: -- Check if the approvals WF is turned on
784: x_msg_data =>l_msg_data);
785:
786: IF G_DEBUG = 'Y' THEN
787: AHL_DEBUG_PUB.debug(' l_process_name:' || l_process_name);
788: AHL_DEBUG_PUB.debug(' l_active:' || l_active);
789: END IF;
790:
791: -- Check if the approvals WF is turned on
792: IF (l_active='Y' AND l_process_name IS NOT NULL) THEN
873: FND_MSG_PUB.count_and_get( p_encoded =>FND_API.G_FALSE,
874: p_count => x_msg_count,
875: p_data => x_msg_data);
876: IF G_DEBUG='Y' THEN
877: AHL_DEBUG_PUB.disable_debug;
878: END IF;
879:
880: WHEN FND_API.G_EXC_ERROR THEN
881: ROLLBACK TO INITIATE_QUARANTINE_SP;
883: FND_MSG_PUB.count_and_get( p_encoded =>FND_API.G_FALSE,
884: p_count => x_msg_count,
885: p_data => X_msg_data);
886: IF G_DEBUG='Y' THEN
887: AHL_DEBUG_PUB.disable_debug;
888: END IF;
889:
890: WHEN OTHERS THEN
891: ROLLBACK TO INITIATE_QUARANTINE_SP;
899: FND_MSG_PUB.count_and_get( p_encoded =>FND_API.G_FALSE,
900: p_count => x_msg_count,
901: p_data => X_msg_data);
902: IF G_DEBUG='Y' THEN
903: AHL_DEBUG_PUB.disable_debug;
904: END IF;
905:
906: END INITIATE_QUARANTINE;
907:
990: SAVEPOINT INITIATE_QUARANTINE_SP;
991:
992: -- Check if API is called in debug mode. If yes, enable debug.
993: IF G_DEBUG='Y' THEN
994: AHL_DEBUG_PUB.enable_debug;
995: AHL_DEBUG_PUB.debug( 'Enter Initiate UC-ACL Deactivate Quarantine Approvals');
996: END IF;
997:
998: -- Initialize message list if p_init_msg_list is set to TRUE
991:
992: -- Check if API is called in debug mode. If yes, enable debug.
993: IF G_DEBUG='Y' THEN
994: AHL_DEBUG_PUB.enable_debug;
995: AHL_DEBUG_PUB.debug( 'Enter Initiate UC-ACL Deactivate Quarantine Approvals');
996: END IF;
997:
998: -- Initialize message list if p_init_msg_list is set to TRUE
999: IF FND_API.To_Boolean(p_init_msg_list) THEN
1048: x_msg_count =>l_msg_count,
1049: x_msg_data =>l_msg_data);
1050:
1051: IF G_DEBUG = 'Y' THEN
1052: AHL_DEBUG_PUB.debug(' l_process_name:' || l_process_name);
1053: AHL_DEBUG_PUB.debug(' l_active:' || l_active);
1054: END IF;
1055:
1056: -- Check if the approvals WF is turned on
1049: x_msg_data =>l_msg_data);
1050:
1051: IF G_DEBUG = 'Y' THEN
1052: AHL_DEBUG_PUB.debug(' l_process_name:' || l_process_name);
1053: AHL_DEBUG_PUB.debug(' l_active:' || l_active);
1054: END IF;
1055:
1056: -- Check if the approvals WF is turned on
1057: IF (l_active='Y' AND l_process_name IS NOT NULL) THEN
1138: FND_MSG_PUB.count_and_get( p_encoded =>FND_API.G_FALSE,
1139: p_count => x_msg_count,
1140: p_data => x_msg_data);
1141: IF G_DEBUG='Y' THEN
1142: AHL_DEBUG_PUB.disable_debug;
1143: END IF;
1144:
1145: WHEN FND_API.G_EXC_ERROR THEN
1146: ROLLBACK TO INITIATE_QUARANTINE_SP;
1148: FND_MSG_PUB.count_and_get( p_encoded =>FND_API.G_FALSE,
1149: p_count => x_msg_count,
1150: p_data => X_msg_data);
1151: IF G_DEBUG='Y' THEN
1152: AHL_DEBUG_PUB.disable_debug;
1153: END IF;
1154:
1155: WHEN OTHERS THEN
1156: ROLLBACK TO INITIATE_QUARANTINE_SP;
1164: FND_MSG_PUB.count_and_get( p_encoded =>FND_API.G_FALSE,
1165: p_count => x_msg_count,
1166: p_data => X_msg_data);
1167: IF G_DEBUG='Y' THEN
1168: AHL_DEBUG_PUB.disable_debug;
1169: END IF;
1170:
1171: END INITIATE_DEACTIVATE_QUARANTINE;
1172:
1246: SAVEPOINT COMPLETE_Q_APPROVAL_SP;
1247:
1248: -- Check if API is called in debug mode. If yes, enable debug.
1249: IF G_DEBUG='Y' THEN
1250: AHL_DEBUG_PUB.enable_debug;
1251: AHL_DEBUG_PUB.debug( 'Enter Complete UC Approvals');
1252: END IF;
1253:
1254: -- Initialize message list if p_init_msg_list is set to TRUE
1247:
1248: -- Check if API is called in debug mode. If yes, enable debug.
1249: IF G_DEBUG='Y' THEN
1250: AHL_DEBUG_PUB.enable_debug;
1251: AHL_DEBUG_PUB.debug( 'Enter Complete UC Approvals');
1252: END IF;
1253:
1254: -- Initialize message list if p_init_msg_list is set to TRUE
1255: IF FND_API.To_Boolean(p_init_msg_list) THEN
1259: -- Initialize API return status to success
1260: x_return_status := FND_API.G_RET_STS_SUCCESS;
1261:
1262: IF G_DEBUG='Y' THEN
1263: AHL_DEBUG_PUB.debug( 'UC: AHL_UC_APPROVALS_PVT.complete_uc_approval--> check for Valid UC');
1264: END IF;
1265:
1266: -- Begin Processing
1267: --1) Validate if uc_header_id is passed.
1273: RAISE FND_API.G_EXC_ERROR;
1274: END IF;
1275:
1276: IF G_DEBUG='Y' THEN
1277: AHL_DEBUG_PUB.debug( 'UC: AHL_UC_APPROVALS_PVT.complete_uc_approval--> UC is Valid 1 ');
1278: END IF;
1279:
1280: --2) Validate uc_header_id passed is valid
1281: OPEN get_uc_header_det(p_uc_header_id);
1289: END IF;
1290: CLOSE get_uc_header_det;
1291:
1292: IF G_DEBUG='Y' THEN
1293: AHL_DEBUG_PUB.debug( 'UC: AHL_UC_APPROVALS_PVT.complete_uc_approval--> UC is Valid 2 ');
1294: END IF;
1295:
1296:
1297: IF ((l_uc_header_rec.unit_config_status_code = 'QUARANTINE' AND p_approval_status='APPROVED') OR
1299:
1300: l_status := 'QUARANTINE';
1301:
1302: IF G_DEBUG='Y' THEN
1303: AHL_DEBUG_PUB.debug( 'UC: AHL_UC_APPROVALS_PVT.complete_uc_approval--> l_status 2 : '||l_status);
1304: END IF;
1305:
1306:
1307: ELSIF ((l_uc_header_rec.unit_config_status_code = 'QUARANTINE' AND p_approval_status = 'APPROVAL_REJECTED') OR
1307: ELSIF ((l_uc_header_rec.unit_config_status_code = 'QUARANTINE' AND p_approval_status = 'APPROVAL_REJECTED') OR
1308: (l_uc_header_rec.unit_config_status_code = 'DEACTIVATE_QUARANTINE' AND p_approval_status='APPROVED')) THEN
1309:
1310: IF G_DEBUG='Y' THEN
1311: AHL_DEBUG_PUB.debug( 'UC: AHL_UC_APPROVALS_PVT.complete_uc_approval--> approval_status=APPROVED');
1312: END IF;
1313:
1314: --call the completeness check API
1315: AHL_UC_VALIDATION_PUB.check_completeness(
1324: x_msg_data => l_msg_data
1325: );
1326:
1327: IF G_DEBUG='Y' THEN
1328: AHL_DEBUG_PUB.debug('SQLERRM' || SQLERRM );
1329: AHL_DEBUG_PUB.debug('l_return_status' || l_return_status);
1330: AHL_DEBUG_PUB.debug('l_msg_count' || l_msg_count);
1331: AHL_DEBUG_PUB.debug('l_msg_data' || l_msg_data);
1332: AHL_DEBUG_PUB.debug( 'UC: AHL_UC_APPROVALS_PVT.complete_uc_approval-->After Completeness Check API call');
1325: );
1326:
1327: IF G_DEBUG='Y' THEN
1328: AHL_DEBUG_PUB.debug('SQLERRM' || SQLERRM );
1329: AHL_DEBUG_PUB.debug('l_return_status' || l_return_status);
1330: AHL_DEBUG_PUB.debug('l_msg_count' || l_msg_count);
1331: AHL_DEBUG_PUB.debug('l_msg_data' || l_msg_data);
1332: AHL_DEBUG_PUB.debug( 'UC: AHL_UC_APPROVALS_PVT.complete_uc_approval-->After Completeness Check API call');
1333: END IF;
1326:
1327: IF G_DEBUG='Y' THEN
1328: AHL_DEBUG_PUB.debug('SQLERRM' || SQLERRM );
1329: AHL_DEBUG_PUB.debug('l_return_status' || l_return_status);
1330: AHL_DEBUG_PUB.debug('l_msg_count' || l_msg_count);
1331: AHL_DEBUG_PUB.debug('l_msg_data' || l_msg_data);
1332: AHL_DEBUG_PUB.debug( 'UC: AHL_UC_APPROVALS_PVT.complete_uc_approval-->After Completeness Check API call');
1333: END IF;
1334:
1327: IF G_DEBUG='Y' THEN
1328: AHL_DEBUG_PUB.debug('SQLERRM' || SQLERRM );
1329: AHL_DEBUG_PUB.debug('l_return_status' || l_return_status);
1330: AHL_DEBUG_PUB.debug('l_msg_count' || l_msg_count);
1331: AHL_DEBUG_PUB.debug('l_msg_data' || l_msg_data);
1332: AHL_DEBUG_PUB.debug( 'UC: AHL_UC_APPROVALS_PVT.complete_uc_approval-->After Completeness Check API call');
1333: END IF;
1334:
1335: l_msg_count := FND_MSG_PUB.count_msg;
1328: AHL_DEBUG_PUB.debug('SQLERRM' || SQLERRM );
1329: AHL_DEBUG_PUB.debug('l_return_status' || l_return_status);
1330: AHL_DEBUG_PUB.debug('l_msg_count' || l_msg_count);
1331: AHL_DEBUG_PUB.debug('l_msg_data' || l_msg_data);
1332: AHL_DEBUG_PUB.debug( 'UC: AHL_UC_APPROVALS_PVT.complete_uc_approval-->After Completeness Check API call');
1333: END IF;
1334:
1335: l_msg_count := FND_MSG_PUB.count_msg;
1336: IF l_msg_count > 0 THEN
1333: END IF;
1334:
1335: l_msg_count := FND_MSG_PUB.count_msg;
1336: IF l_msg_count > 0 THEN
1337: AHL_DEBUG_PUB.debug('Failed Check Completeness API');
1338: x_msg_count := l_msg_count;
1339: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1340: END IF;
1341:
1345: l_status := 'INCOMPLETE';
1346: END IF;
1347:
1348: IF G_DEBUG='Y' THEN
1349: AHL_DEBUG_PUB.debug( 'UC: AHL_UC_APPROVALS_PVT.complete_uc_approval--> l_status 3 : '||l_status);
1350: END IF;
1351: END IF;
1352:
1353: --update table and write to history table
1353: --update table and write to history table
1354: BEGIN
1355:
1356: IF G_DEBUG='Y' THEN
1357: AHL_DEBUG_PUB.debug( 'UC: AHL_UC_APPROVALS_PVT.complete_uc_approval--> Before Update');
1358: END IF;
1359:
1360: UPDATE ahl_unit_config_headers
1361: SET unit_config_status_code=l_status,
1363: object_version_number=object_version_number+1
1364: WHERE unit_config_header_id=p_uc_header_id;
1365:
1366: IF G_DEBUG='Y' THEN
1367: AHL_DEBUG_PUB.debug( 'UC: AHL_UC_APPROVALS_PVT.complete_uc_approval--> After Update');
1368: END IF;
1369:
1370: EXCEPTION
1371: WHEN OTHERS THEN
1369:
1370: EXCEPTION
1371: WHEN OTHERS THEN
1372: IF G_DEBUG='Y' THEN
1373: AHL_DEBUG_PUB.debug('Unexpected Error during Update');
1374: END IF;
1375: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1376: END;
1377:
1375: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1376: END;
1377:
1378: IF G_DEBUG='Y' THEN
1379: AHL_DEBUG_PUB.debug( 'UC: AHL_UC_APPROVALS_PVT.complete_uc_approval--> Before History');
1380: END IF;
1381:
1382: AHL_UTIL_UC_PKG.COPY_UC_HEADER_TO_HISTORY(p_uc_header_id, x_return_status);
1383:
1381:
1382: AHL_UTIL_UC_PKG.COPY_UC_HEADER_TO_HISTORY(p_uc_header_id, x_return_status);
1383:
1384: IF G_DEBUG='Y' THEN
1385: AHL_DEBUG_PUB.debug( 'UC: AHL_UC_APPROVALS_PVT.complete_uc_approval--> After History');
1386: END IF;
1387:
1388: l_msg_count := FND_MSG_PUB.count_msg;
1389:
1405: FND_MSG_PUB.count_and_get( p_encoded =>FND_API.G_FALSE,
1406: p_count => x_msg_count,
1407: p_data => x_msg_data);
1408: IF G_DEBUG='Y' THEN
1409: AHL_DEBUG_PUB.disable_debug;
1410: END IF;
1411:
1412:
1413: WHEN FND_API.G_EXC_ERROR THEN
1416: FND_MSG_PUB.count_and_get( p_encoded =>FND_API.G_FALSE,
1417: p_count => x_msg_count,
1418: p_data => X_msg_data);
1419: IF G_DEBUG='Y' THEN
1420: AHL_DEBUG_PUB.disable_debug;
1421: END IF;
1422:
1423: WHEN OTHERS THEN
1424: ROLLBACK TO COMPLETE_Q_APPROVAL_SP;
1432: FND_MSG_PUB.count_and_get( p_encoded =>FND_API.G_FALSE,
1433: p_count => x_msg_count,
1434: p_data => X_msg_data);
1435: IF G_DEBUG='Y' THEN
1436: AHL_DEBUG_PUB.disable_debug;
1437: END IF;
1438:
1439: END COMPLETE_QUARANTINE_APPROVAL;
1440: