151: IF (l_debug = 'Y') THEN
152: okc_debug.log('100: Entering get_version_details: p_org_id='||p_org_id);
153: END IF;
154:
155: x_return_status := FND_API.G_RET_STS_SUCCESS;
156: IF (p_art_ver_tbl IS NULL ) THEN
157: l_invalid := TRUE;
158: ELSIF (p_art_ver_tbl.COUNT < 1) THEN
159: l_invalid := TRUE;
158: ELSIF (p_art_ver_tbl.COUNT < 1) THEN
159: l_invalid := TRUE;
160: END IF;
161: IF (l_invalid) THEN
162: x_return_status := FND_API.G_RET_STS_ERROR;
163: FND_MESSAGE.set_name(G_APP_NAME, G_OKC_MSG_INVALID_ARGUMENT);
164: FND_MESSAGE.set_token('ARG_NAME', 'p_art_ver_tbl');
165: FND_MESSAGE.set_token('ARG_VALUE', 'NULL');
166: FND_MSG_PUB.add;
163: FND_MESSAGE.set_name(G_APP_NAME, G_OKC_MSG_INVALID_ARGUMENT);
164: FND_MESSAGE.set_token('ARG_NAME', 'p_art_ver_tbl');
165: FND_MESSAGE.set_token('ARG_VALUE', 'NULL');
166: FND_MSG_PUB.add;
167: RAISE fnd_api.g_exc_error;
168: END IF;
169:
170: IF (p_org_id IS NULL) THEN
171: FND_MESSAGE.set_name(G_APP_NAME, G_OKC_MSG_INVALID_ARGUMENT);
171: FND_MESSAGE.set_name(G_APP_NAME, G_OKC_MSG_INVALID_ARGUMENT);
172: FND_MESSAGE.set_token('ARG_NAME', 'p_org_id');
173: FND_MESSAGE.set_token('ARG_VALUE', 'p_org_id');
174: FND_MSG_PUB.add;
175: RAISE fnd_api.g_exc_error;
176: END IF;
177:
178:
179: x_id := get_uniq_id;
276: IF (l_debug = 'Y') THEN
277: okc_debug.log('198: l_total_count='||l_total_count||' p_art_ver_tbl.COUNT='||p_art_ver_tbl.COUNT);
278: okc_debug.log('199: This indicates that some article versions belonged to an org other than input org='||p_org_id);
279: END IF;
280: x_return_status := FND_API.G_RET_STS_ERROR;
281: FND_MESSAGE.set_name(G_APP_NAME, G_OKC_MSG_INVALID_ARGUMENT);
282: FND_MESSAGE.set_token('ARG_NAME', 'p_org_id');
283: FND_MESSAGE.set_token('ARG_VALUE', p_org_id);
284: FND_MSG_PUB.add;
281: FND_MESSAGE.set_name(G_APP_NAME, G_OKC_MSG_INVALID_ARGUMENT);
282: FND_MESSAGE.set_token('ARG_NAME', 'p_org_id');
283: FND_MESSAGE.set_token('ARG_VALUE', p_org_id);
284: FND_MSG_PUB.add;
285: RAISE fnd_api.g_exc_error;
286: END IF;
287:
288: IF (l_debug = 'Y') THEN
289: okc_debug.log('200: Leaving get_version_details: Success, x_id='||x_id||' x_adopt_asis_count='|| x_adopt_asis_count||' x_global_count='|| x_global_count|| ' x_localized_count='||x_localized_count);
290: END IF;
291:
292: EXCEPTION
293:
294: WHEN FND_API.G_EXC_ERROR THEN
295: x_return_status := FND_API.G_RET_STS_ERROR;
296: IF (l_count_csr%ISOPEN) THEN
297: CLOSE l_count_csr;
298: END IF;
291:
292: EXCEPTION
293:
294: WHEN FND_API.G_EXC_ERROR THEN
295: x_return_status := FND_API.G_RET_STS_ERROR;
296: IF (l_count_csr%ISOPEN) THEN
297: CLOSE l_count_csr;
298: END IF;
299:
301: okc_debug.log('201: Leaving get_version_details: Error');
302: END IF;
303:
304: WHEN OTHERS THEN
305: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
306: IF (l_count_csr%ISOPEN) THEN
307: CLOSE l_count_csr;
308: END IF;
309:
389:
390: IF (l_debug = 'Y') THEN
391: okc_debug.log('100: Entering status_check_blk: p_id='||p_id||' p_to_status='||p_to_status);
392: END IF;
393: x_return_status := FND_API.G_RET_STS_SUCCESS;
394: x_qa_return_status := FND_API.G_RET_STS_SUCCESS;
395:
396: errnum := px_validation_results.COUNT;
397: initerrnum := errnum;
390: IF (l_debug = 'Y') THEN
391: okc_debug.log('100: Entering status_check_blk: p_id='||p_id||' p_to_status='||p_to_status);
392: END IF;
393: x_return_status := FND_API.G_RET_STS_SUCCESS;
394: x_qa_return_status := FND_API.G_RET_STS_SUCCESS;
395:
396: errnum := px_validation_results.COUNT;
397: initerrnum := errnum;
398:
419: CLOSE l_app_rej_csr;
420:
421: ELSE
422: -- status change not recognized
423: x_return_status := FND_API.G_RET_STS_ERROR;
424: FND_MESSAGE.set_name(G_APP_NAME, G_OKC_MSG_INVALID_ARGUMENT);
425: FND_MESSAGE.set_token('ARG_NAME', 'p_to_status');
426: FND_MESSAGE.set_token('ARG_VALUE', p_to_status);
427: FND_MSG_PUB.add;
424: FND_MESSAGE.set_name(G_APP_NAME, G_OKC_MSG_INVALID_ARGUMENT);
425: FND_MESSAGE.set_token('ARG_NAME', 'p_to_status');
426: FND_MESSAGE.set_token('ARG_VALUE', p_to_status);
427: FND_MSG_PUB.add;
428: RAISE FND_API.G_EXC_ERROR;
429:
430: END IF;
431:
432: IF (l_found) THEN
466:
467:
468:
469: IF (errnum > initerrnum) THEN
470: x_qa_return_status := FND_API.G_RET_STS_ERROR;
471: END IF;
472:
473: IF (l_debug = 'Y') THEN
474: okc_debug.log('200: Leaving status_check_blk: Success, x_qa_return_status='||x_qa_return_status);
475: END IF;
476:
477: EXCEPTION
478:
479: WHEN FND_API.G_EXC_ERROR THEN
480: x_return_status := FND_API.G_RET_STS_ERROR ;
481: IF (l_debug = 'Y') THEN
482: okc_debug.log('201: Leaving status_check_blk: Error');
483: END IF;
476:
477: EXCEPTION
478:
479: WHEN FND_API.G_EXC_ERROR THEN
480: x_return_status := FND_API.G_RET_STS_ERROR ;
481: IF (l_debug = 'Y') THEN
482: okc_debug.log('201: Leaving status_check_blk: Error');
483: END IF;
484: IF (l_pend_app_csr%ISOPEN) THEN
492: END IF;
493:
494: WHEN OTHERS THEN
495:
496: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
497: IF (l_debug = 'Y') THEN
498: okc_debug.log('202: Leaving status_check_blk: Unknown Error');
499: END IF;
500: IF (l_pend_app_csr%ISOPEN) THEN
573:
574: IF (l_debug = 'Y') THEN
575: okc_debug.log('100: Entering variable_check_blk: p_id='||p_id);
576: END IF;
577: x_return_status := FND_API.G_RET_STS_SUCCESS;
578: x_qa_return_status := FND_API.G_RET_STS_SUCCESS;
579:
580: errnum := px_validation_results.COUNT;
581: initerrnum := errnum;
574: IF (l_debug = 'Y') THEN
575: okc_debug.log('100: Entering variable_check_blk: p_id='||p_id);
576: END IF;
577: x_return_status := FND_API.G_RET_STS_SUCCESS;
578: x_qa_return_status := FND_API.G_RET_STS_SUCCESS;
579:
580: errnum := px_validation_results.COUNT;
581: initerrnum := errnum;
582:
634: l_var_name_tbl.DELETE;
635: l_val_set_tbl.DELETE;
636:
637: IF (errnum > initerrnum) THEN
638: x_qa_return_status := FND_API.G_RET_STS_ERROR;
639: END IF;
640:
641: IF (l_debug = 'Y') THEN
642: okc_debug.log('200: Leaving variable_check_blk: Success, x_qa_return_status='||x_qa_return_status);
645: EXCEPTION
646:
647: WHEN OTHERS THEN
648:
649: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
650: IF (l_debug = 'Y') THEN
651: okc_debug.log('202: Leaving variable_check_blk: Unknown Error');
652: END IF;
653: IF (l_disabled_var_csr%ISOPEN) THEN
718:
719: IF (l_debug = 'Y') THEN
720: okc_debug.log('100: Entering section_type_check_blk: p_id='||p_id);
721: END IF;
722: x_return_status := FND_API.G_RET_STS_SUCCESS;
723: x_qa_return_status := FND_API.G_RET_STS_SUCCESS;
724:
725: errnum := px_validation_results.COUNT;
726: initerrnum := errnum;
719: IF (l_debug = 'Y') THEN
720: okc_debug.log('100: Entering section_type_check_blk: p_id='||p_id);
721: END IF;
722: x_return_status := FND_API.G_RET_STS_SUCCESS;
723: x_qa_return_status := FND_API.G_RET_STS_SUCCESS;
724:
725: errnum := px_validation_results.COUNT;
726: initerrnum := errnum;
727:
775: l_art_typ_tbl.DELETE;
776: l_def_sec_tbl.DELETE;
777:
778: IF (errnum > initerrnum) THEN
779: x_qa_return_status := FND_API.G_RET_STS_ERROR;
780: END IF;
781:
782: IF (l_debug = 'Y') THEN
783: okc_debug.log('200: Leaving section_type_check_blk: Success, x_qa_return_status='||x_qa_return_status);
786: EXCEPTION
787:
788: WHEN OTHERS THEN
789:
790: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
791: IF (l_debug = 'Y') THEN
792: okc_debug.log('201: Leaving section_type_check_blk: Unknown Error');
793: END IF;
794: IF (l_art_typ_csr%ISOPEN) THEN
820: IF (l_debug = 'Y') THEN
821: okc_debug.log('100: Entering update_art_version_status_blk: p_id='||p_id||' p_status='||p_status);
822: END IF;
823:
824: x_return_status := FND_API.G_RET_STS_SUCCESS;
825:
826: IF (p_status = 'APPROVED') THEN
827:
828: UPDATE OKC_ARTICLE_VERSIONS
860:
861: EXCEPTION
862:
863: WHEN OTHERS THEN
864: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
865: IF (l_debug = 'Y') THEN
866: okc_debug.log('201: Leaving update_art_version_status_blk: Unknown Error');
867: END IF;
868:
891: IF (l_debug = 'Y') THEN
892: okc_debug.log('100: Entering update_adp_status_type_blk: p_id='||p_id||' p_local_org_id='||p_local_org_id||' p_adoption_status='||p_adoption_status||' p_adoption_type='||p_adoption_type||' p_type='||p_type);
893: END IF;
894:
895: x_return_status := FND_API.G_RET_STS_SUCCESS;
896:
897: IF (p_type = 'ADOPTED') THEN
898:
899: UPDATE OKC_ARTICLE_ADOPTIONS
927: AND LOCAL_ORG_ID = p_local_org_id;
928:
929: ELSE
930: -- p_type not recognized
931: x_return_status := FND_API.G_RET_STS_ERROR;
932: FND_MESSAGE.set_name(G_APP_NAME, G_OKC_MSG_INVALID_ARGUMENT);
933: FND_MESSAGE.set_token('ARG_NAME', 'p_type');
934: FND_MESSAGE.set_token('ARG_VALUE', p_type);
935: FND_MSG_PUB.add;
932: FND_MESSAGE.set_name(G_APP_NAME, G_OKC_MSG_INVALID_ARGUMENT);
933: FND_MESSAGE.set_token('ARG_NAME', 'p_type');
934: FND_MESSAGE.set_token('ARG_VALUE', p_type);
935: FND_MSG_PUB.add;
936: RAISE FND_API.G_EXC_ERROR;
937:
938: END IF;
939:
940: IF (l_debug = 'Y') THEN
942: END IF;
943:
944: EXCEPTION
945:
946: WHEN FND_API.G_EXC_ERROR THEN
947: x_return_status := FND_API.G_RET_STS_ERROR;
948: IF (l_debug = 'Y') THEN
949: okc_debug.log('201: Leaving update_adp_status_type_blk: Error');
950: END IF;
943:
944: EXCEPTION
945:
946: WHEN FND_API.G_EXC_ERROR THEN
947: x_return_status := FND_API.G_RET_STS_ERROR;
948: IF (l_debug = 'Y') THEN
949: okc_debug.log('201: Leaving update_adp_status_type_blk: Error');
950: END IF;
951:
949: okc_debug.log('201: Leaving update_adp_status_type_blk: Error');
950: END IF;
951:
952: WHEN OTHERS THEN
953: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
954: IF (l_debug = 'Y') THEN
955: okc_debug.log('202: Leaving update_adp_status_type_blk: Unknown Error');
956: END IF;
957:
996: IF (l_debug = 'Y') THEN
997: okc_debug.log('100: Entering update_prev_vers_enddate_blk: p_id='||p_id);
998: END IF;
999:
1000: x_return_status := FND_API.G_RET_STS_SUCCESS;
1001:
1002: OPEN l_prev_ver_csr(p_id);
1003: FETCH l_prev_ver_csr BULK COLLECT INTO l_prev_ver_id_tbl, l_start_date_tbl;
1004:
1029:
1030: EXCEPTION
1031:
1032: WHEN OTHERS THEN
1033: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1034: IF (l_prev_ver_csr%ISOPEN) THEN
1035: CLOSE l_prev_ver_csr;
1036: END IF;
1037: IF (l_debug = 'Y') THEN
1070:
1071: IF (l_debug = 'Y') THEN
1072: okc_debug.log('100: Entering adopt_relationships_blk: p_id='||p_id);
1073: END IF;
1074: x_return_status := FND_API.G_RET_STS_SUCCESS;
1075:
1076: INSERT INTO OKC_ARTICLE_RELATNS_ALL
1077: (
1078: SOURCE_ARTICLE_ID,
1160:
1161: EXCEPTION
1162:
1163: WHEN OTHERS THEN
1164: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1165:
1166: IF (l_debug = 'Y') THEN
1167: okc_debug.log('201: Leaving adopt_relationships_blk: Unknown Error');
1168: END IF;
1198: IF (l_debug = 'Y') THEN
1199: okc_debug.log('100: Entering delete_relationships_blk: p_id='||p_id||' p_org_id='||p_org_id);
1200: END IF;
1201:
1202: x_return_status := FND_API.G_RET_STS_SUCCESS;
1203:
1204: -- get the article id's first, makes the NOT EXISTS clause in Delete below, less costly
1205: OPEN l_art_id_csr(p_id);
1206: FETCH l_art_id_csr BULK COLLECT INTO l_art_id_tbl,l_art_ver_id_tbl;
1253:
1254: EXCEPTION
1255:
1256: WHEN OTHERS THEN
1257: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1258: IF (l_art_id_csr%ISOPEN) THEN
1259: CLOSE l_art_id_csr;
1260: END IF;
1261:
1340: SAVEPOINT val_article_versions_blk_PVT;
1341: G_GLOBAL_ORG_ID := NVL(FND_PROFILE.VALUE('OKC_GLOBAL_ORG_ID'),-99);
1342: l_debug := NVL(FND_PROFILE.VALUE('AFLOG_ENABLED'),'N');
1343:
1344: IF NOT fnd_api.compatible_api_call( l_api_version, p_api_version, l_api_name, G_PKG_NAME) THEN
1345: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1346: END IF;
1347: IF fnd_api.to_boolean( p_init_msg_list ) THEN
1348: fnd_msg_pub.initialize;
1341: G_GLOBAL_ORG_ID := NVL(FND_PROFILE.VALUE('OKC_GLOBAL_ORG_ID'),-99);
1342: l_debug := NVL(FND_PROFILE.VALUE('AFLOG_ENABLED'),'N');
1343:
1344: IF NOT fnd_api.compatible_api_call( l_api_version, p_api_version, l_api_name, G_PKG_NAME) THEN
1345: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1346: END IF;
1347: IF fnd_api.to_boolean( p_init_msg_list ) THEN
1348: fnd_msg_pub.initialize;
1349: END IF;
1343:
1344: IF NOT fnd_api.compatible_api_call( l_api_version, p_api_version, l_api_name, G_PKG_NAME) THEN
1345: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1346: END IF;
1347: IF fnd_api.to_boolean( p_init_msg_list ) THEN
1348: fnd_msg_pub.initialize;
1349: END IF;
1350: x_return_status := FND_API.G_RET_STS_SUCCESS;
1351: x_qa_return_status := FND_API.G_RET_STS_SUCCESS;
1346: END IF;
1347: IF fnd_api.to_boolean( p_init_msg_list ) THEN
1348: fnd_msg_pub.initialize;
1349: END IF;
1350: x_return_status := FND_API.G_RET_STS_SUCCESS;
1351: x_qa_return_status := FND_API.G_RET_STS_SUCCESS;
1352:
1353: l_return_status := FND_API.G_RET_STS_SUCCESS;
1354: l_qa_return_status := FND_API.G_RET_STS_SUCCESS;
1347: IF fnd_api.to_boolean( p_init_msg_list ) THEN
1348: fnd_msg_pub.initialize;
1349: END IF;
1350: x_return_status := FND_API.G_RET_STS_SUCCESS;
1351: x_qa_return_status := FND_API.G_RET_STS_SUCCESS;
1352:
1353: l_return_status := FND_API.G_RET_STS_SUCCESS;
1354: l_qa_return_status := FND_API.G_RET_STS_SUCCESS;
1355:
1349: END IF;
1350: x_return_status := FND_API.G_RET_STS_SUCCESS;
1351: x_qa_return_status := FND_API.G_RET_STS_SUCCESS;
1352:
1353: l_return_status := FND_API.G_RET_STS_SUCCESS;
1354: l_qa_return_status := FND_API.G_RET_STS_SUCCESS;
1355:
1356: IF (p_validation_level <> FND_API.G_VALID_LEVEL_FULL) THEN
1357: RETURN;
1350: x_return_status := FND_API.G_RET_STS_SUCCESS;
1351: x_qa_return_status := FND_API.G_RET_STS_SUCCESS;
1352:
1353: l_return_status := FND_API.G_RET_STS_SUCCESS;
1354: l_qa_return_status := FND_API.G_RET_STS_SUCCESS;
1355:
1356: IF (p_validation_level <> FND_API.G_VALID_LEVEL_FULL) THEN
1357: RETURN;
1358: END IF;
1352:
1353: l_return_status := FND_API.G_RET_STS_SUCCESS;
1354: l_qa_return_status := FND_API.G_RET_STS_SUCCESS;
1355:
1356: IF (p_validation_level <> FND_API.G_VALID_LEVEL_FULL) THEN
1357: RETURN;
1358: END IF;
1359:
1360: IF (p_id IS NULL) THEN
1367: x_adopt_asis_count => l_adopt_asis_count,
1368: x_global_count => l_global_count,
1369: x_localized_count => l_localized_count
1370: );
1371: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
1372: RAISE FND_API.G_EXC_ERROR ;
1373: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1374: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
1375: END IF;
1368: x_global_count => l_global_count,
1369: x_localized_count => l_localized_count
1370: );
1371: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
1372: RAISE FND_API.G_EXC_ERROR ;
1373: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1374: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
1375: END IF;
1376: ELSE
1369: x_localized_count => l_localized_count
1370: );
1371: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
1372: RAISE FND_API.G_EXC_ERROR ;
1373: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1374: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
1375: END IF;
1376: ELSE
1377: l_id := p_id;
1370: );
1371: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
1372: RAISE FND_API.G_EXC_ERROR ;
1373: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1374: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
1375: END IF;
1376: ELSE
1377: l_id := p_id;
1378: END IF;
1382: x_return_status => x_return_status,
1383: x_qa_return_status => x_qa_return_status,
1384: px_validation_results => x_validation_results
1385: );
1386: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
1387: RAISE FND_API.G_EXC_ERROR ;
1388: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1389: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
1390: END IF;
1383: x_qa_return_status => x_qa_return_status,
1384: px_validation_results => x_validation_results
1385: );
1386: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
1387: RAISE FND_API.G_EXC_ERROR ;
1388: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1389: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
1390: END IF;
1391:
1384: px_validation_results => x_validation_results
1385: );
1386: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
1387: RAISE FND_API.G_EXC_ERROR ;
1388: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1389: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
1390: END IF;
1391:
1392: section_type_check_blk(
1385: );
1386: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
1387: RAISE FND_API.G_EXC_ERROR ;
1388: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1389: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
1390: END IF;
1391:
1392: section_type_check_blk(
1393: p_id => l_id,
1394: x_return_status => x_return_status,
1395: x_qa_return_status => x_qa_return_status,
1396: px_validation_results => x_validation_results
1397: );
1398: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
1399: RAISE FND_API.G_EXC_ERROR ;
1400: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1401: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
1402: END IF;
1395: x_qa_return_status => x_qa_return_status,
1396: px_validation_results => x_validation_results
1397: );
1398: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
1399: RAISE FND_API.G_EXC_ERROR ;
1400: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1401: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
1402: END IF;
1403:
1396: px_validation_results => x_validation_results
1397: );
1398: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
1399: RAISE FND_API.G_EXC_ERROR ;
1400: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1401: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
1402: END IF;
1403:
1404: IF(p_org_id <> G_GLOBAL_ORG_ID) THEN
1397: );
1398: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
1399: RAISE FND_API.G_EXC_ERROR ;
1400: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1401: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
1402: END IF;
1403:
1404: IF(p_org_id <> G_GLOBAL_ORG_ID) THEN
1405:
1423: -- get the current message count, only new messages should be fetched and
1424: -- put in the x_validation_results table;
1425:
1426: l_curr_msg_count := fnd_msg_pub.count_msg;
1427: l_local_result_status := FND_API.G_RET_STS_SUCCESS;
1428: l_msg_count := 0;
1429: l_msg_data := 0;
1430: l_earlier_local_version_id := 0;
1431:
1434: END IF;
1435:
1436: OKC_ADOPTIONS_GRP.check_adoption_details(
1437: p_api_version => 1.0,
1438: p_init_msg_list => FND_API.G_FALSE,
1439: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
1440: x_return_status => l_local_result_status ,
1441: x_msg_count => l_msg_count,
1442: x_msg_data => l_msg_data,
1435:
1436: OKC_ADOPTIONS_GRP.check_adoption_details(
1437: p_api_version => 1.0,
1438: p_init_msg_list => FND_API.G_FALSE,
1439: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
1440: x_return_status => l_local_result_status ,
1441: x_msg_count => l_msg_count,
1442: x_msg_data => l_msg_data,
1443: x_earlier_local_version_id => l_earlier_local_version_id,
1449: IF (l_debug = 'Y') THEN
1450: okc_debug.log('105: After OKC_ADOPTIONS_GRP.check_adoption_details x_return_status='||l_local_result_status);
1451: END IF;
1452:
1453: IF (l_local_result_status = FND_API.G_RET_STS_ERROR) THEN -- the check failed
1454: x_qa_return_status := FND_API.G_RET_STS_ERROR;
1455:
1456: FOR j in 1..(l_msg_count - l_curr_msg_count) LOOP
1457: l_err_num := x_validation_results.COUNT +1;
1450: okc_debug.log('105: After OKC_ADOPTIONS_GRP.check_adoption_details x_return_status='||l_local_result_status);
1451: END IF;
1452:
1453: IF (l_local_result_status = FND_API.G_RET_STS_ERROR) THEN -- the check failed
1454: x_qa_return_status := FND_API.G_RET_STS_ERROR;
1455:
1456: FOR j in 1..(l_msg_count - l_curr_msg_count) LOOP
1457: l_err_num := x_validation_results.COUNT +1;
1458: x_validation_results(l_err_num).article_id := l_adopt_asis_art_id_tbl(i);
1462: -- get the new messages
1463: x_validation_results(l_err_num).error_message := fnd_msg_pub.get(p_msg_index => l_curr_msg_count +j, p_encoded => 'F');
1464: END LOOP;
1465:
1466: ELSIF (l_local_result_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1467: -- for unexpected error get the error messages, put a different code
1468: -- and try to validate the next version
1469:
1470: x_qa_return_status := FND_API.G_RET_STS_ERROR;
1466: ELSIF (l_local_result_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1467: -- for unexpected error get the error messages, put a different code
1468: -- and try to validate the next version
1469:
1470: x_qa_return_status := FND_API.G_RET_STS_ERROR;
1471:
1472: FOR j in 1..(l_msg_count - l_curr_msg_count) LOOP
1473: l_err_num := x_validation_results.COUNT +1;
1474: x_validation_results(l_err_num).article_id := l_adopt_asis_art_id_tbl(i);
1495:
1496:
1497: -- if any errors are found set the appropriate return status
1498: IF (x_validation_results.COUNT >0 ) THEN
1499: x_qa_return_status := FND_API.G_RET_STS_ERROR;
1500: END IF;
1501:
1502: fnd_msg_pub.count_and_get( p_count => x_msg_count , p_data => x_msg_data);
1503: IF fnd_api.to_boolean( p_commit ) THEN
1499: x_qa_return_status := FND_API.G_RET_STS_ERROR;
1500: END IF;
1501:
1502: fnd_msg_pub.count_and_get( p_count => x_msg_count , p_data => x_msg_data);
1503: IF fnd_api.to_boolean( p_commit ) THEN
1504: COMMIT WORK;
1505: END IF;
1506:
1507: IF (l_debug = 'Y') THEN
1510:
1511:
1512: EXCEPTION
1513:
1514: WHEN FND_API.G_EXC_ERROR THEN
1515:
1516: ROLLBACK TO val_article_versions_blk_PVT;
1517: x_return_status := FND_API.G_RET_STS_ERROR ;
1518:
1513:
1514: WHEN FND_API.G_EXC_ERROR THEN
1515:
1516: ROLLBACK TO val_article_versions_blk_PVT;
1517: x_return_status := FND_API.G_RET_STS_ERROR ;
1518:
1519: IF (l_debug = 'Y') THEN
1520: okc_debug.log('201: Leaving validate_article_versions_blk: Error');
1521: END IF;
1524: CLOSE l_adopt_as_is_csr;
1525: END IF;
1526: fnd_msg_pub.count_and_get( p_count => x_msg_count , p_data => x_msg_data);
1527:
1528: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1529:
1530: ROLLBACK TO val_article_versions_blk_PVT;
1531: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1532:
1527:
1528: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1529:
1530: ROLLBACK TO val_article_versions_blk_PVT;
1531: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1532:
1533: IF (l_debug = 'Y') THEN
1534: okc_debug.log('202: Leaving validate_article_versions_blk: Unexpected Error');
1535: END IF;
1541:
1542: WHEN OTHERS THEN
1543:
1544: ROLLBACK TO val_article_versions_blk_PVT;
1545: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1546:
1547: IF (l_debug = 'Y') THEN
1548: okc_debug.log('203: Leaving validate_article_versions_blk: Unknown Error');
1549: END IF;
1614: G_USER_ID := FND_GLOBAL.USER_ID;
1615: G_LOGIN_ID := FND_GLOBAL.LOGIN_ID;
1616: l_debug := NVL(FND_PROFILE.VALUE('AFLOG_ENABLED'),'N');
1617:
1618: IF NOT fnd_api.compatible_api_call( l_api_version, p_api_version, l_api_name, G_PKG_NAME) THEN
1619: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1620: END IF;
1621: IF fnd_api.to_boolean( p_init_msg_list ) THEN
1622: fnd_msg_pub.initialize;
1615: G_LOGIN_ID := FND_GLOBAL.LOGIN_ID;
1616: l_debug := NVL(FND_PROFILE.VALUE('AFLOG_ENABLED'),'N');
1617:
1618: IF NOT fnd_api.compatible_api_call( l_api_version, p_api_version, l_api_name, G_PKG_NAME) THEN
1619: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1620: END IF;
1621: IF fnd_api.to_boolean( p_init_msg_list ) THEN
1622: fnd_msg_pub.initialize;
1623: END IF;
1617:
1618: IF NOT fnd_api.compatible_api_call( l_api_version, p_api_version, l_api_name, G_PKG_NAME) THEN
1619: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1620: END IF;
1621: IF fnd_api.to_boolean( p_init_msg_list ) THEN
1622: fnd_msg_pub.initialize;
1623: END IF;
1624: x_return_status := FND_API.G_RET_STS_SUCCESS;
1625:
1620: END IF;
1621: IF fnd_api.to_boolean( p_init_msg_list ) THEN
1622: fnd_msg_pub.initialize;
1623: END IF;
1624: x_return_status := FND_API.G_RET_STS_SUCCESS;
1625:
1626: OPEN l_org_info_csr(G_GLOBAL_ORG_ID);
1627: FETCH l_org_info_csr BULK COLLECT INTO l_org_id_tbl, l_adp_typ_tbl;
1628:
1706: adopt_relationships_blk(
1707: p_id => l_id,
1708: x_return_status => x_return_status
1709: );
1710: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
1711: RAISE FND_API.G_EXC_ERROR ;
1712: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1713: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
1714: END IF;
1707: p_id => l_id,
1708: x_return_status => x_return_status
1709: );
1710: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
1711: RAISE FND_API.G_EXC_ERROR ;
1712: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1713: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
1714: END IF;
1715:
1708: x_return_status => x_return_status
1709: );
1710: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
1711: RAISE FND_API.G_EXC_ERROR ;
1712: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1713: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
1714: END IF;
1715:
1716: l_non_uniq_art_ver_tbl.DELETE;
1709: );
1710: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
1711: RAISE FND_API.G_EXC_ERROR ;
1712: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1713: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
1714: END IF;
1715:
1716: l_non_uniq_art_ver_tbl.DELETE;
1717: l_non_uniq_org_id_tbl.DELETE;
1719: l_org_id_tbl.DELETE;
1720: l_adp_typ_tbl.DELETE;
1721:
1722: fnd_msg_pub.count_and_get( p_count => x_msg_count , p_data => x_msg_data);
1723: IF fnd_api.to_boolean( p_commit ) THEN
1724: COMMIT;
1725: END IF;
1726:
1727: IF (l_debug = 'Y') THEN
1729: END IF;
1730:
1731: EXCEPTION
1732:
1733: WHEN FND_API.G_EXC_ERROR THEN
1734: ROLLBACK TO auto_adopt_articles_blk_PVT;
1735: x_return_status := FND_API.G_RET_STS_ERROR ;
1736:
1737: IF (l_debug = 'Y') THEN
1731: EXCEPTION
1732:
1733: WHEN FND_API.G_EXC_ERROR THEN
1734: ROLLBACK TO auto_adopt_articles_blk_PVT;
1735: x_return_status := FND_API.G_RET_STS_ERROR ;
1736:
1737: IF (l_debug = 'Y') THEN
1738: okc_debug.log('201: Leaving auto_adopt_articles_blk: Error');
1739: END IF;
1744: CLOSE l_non_uniq_title_csr;
1745: END IF;
1746: fnd_msg_pub.count_and_get( p_count => x_msg_count , p_data => x_msg_data);
1747:
1748: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1749: ROLLBACK TO auto_adopt_articles_blk_PVT;
1750: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1751:
1752: IF (l_debug = 'Y') THEN
1746: fnd_msg_pub.count_and_get( p_count => x_msg_count , p_data => x_msg_data);
1747:
1748: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1749: ROLLBACK TO auto_adopt_articles_blk_PVT;
1750: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1751:
1752: IF (l_debug = 'Y') THEN
1753: okc_debug.log('202: Leaving auto_adopt_articles_blk: Unexpected Error');
1754: END IF;
1761: fnd_msg_pub.count_and_get( p_count => x_msg_count , p_data => x_msg_data);
1762:
1763: WHEN OTHERS THEN
1764: ROLLBACK TO auto_adopt_articles_blk_PVT;
1765: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1766:
1767: IF (l_debug = 'Y') THEN
1768: okc_debug.log('203: Leaving auto_adopt_articles_blk: Unknown Error');
1769: END IF;
1784:
1785: -----------------------------------------------------------------------------
1786:
1787:
1788: -- IF (p_validation_level = FND_API.G_VALID_LEVEL_FULL) THEN do validations
1789:
1790: PROCEDURE pending_approval_blk(
1791: p_api_version IN NUMBER ,
1792: p_init_msg_list IN VARCHAR2 ,
1833: G_USER_ID := FND_GLOBAL.USER_ID;
1834: G_LOGIN_ID := FND_GLOBAL.LOGIN_ID;
1835: l_debug := NVL(FND_PROFILE.VALUE('AFLOG_ENABLED'),'N');
1836:
1837: IF NOT fnd_api.compatible_api_call( l_api_version, p_api_version, l_api_name, G_PKG_NAME) THEN
1838: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1839: END IF;
1840: IF fnd_api.to_boolean( p_init_msg_list ) THEN
1841: fnd_msg_pub.initialize;
1834: G_LOGIN_ID := FND_GLOBAL.LOGIN_ID;
1835: l_debug := NVL(FND_PROFILE.VALUE('AFLOG_ENABLED'),'N');
1836:
1837: IF NOT fnd_api.compatible_api_call( l_api_version, p_api_version, l_api_name, G_PKG_NAME) THEN
1838: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1839: END IF;
1840: IF fnd_api.to_boolean( p_init_msg_list ) THEN
1841: fnd_msg_pub.initialize;
1842: END IF;
1836:
1837: IF NOT fnd_api.compatible_api_call( l_api_version, p_api_version, l_api_name, G_PKG_NAME) THEN
1838: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1839: END IF;
1840: IF fnd_api.to_boolean( p_init_msg_list ) THEN
1841: fnd_msg_pub.initialize;
1842: END IF;
1843: x_return_status := FND_API.G_RET_STS_SUCCESS;
1844:
1839: END IF;
1840: IF fnd_api.to_boolean( p_init_msg_list ) THEN
1841: fnd_msg_pub.initialize;
1842: END IF;
1843: x_return_status := FND_API.G_RET_STS_SUCCESS;
1844:
1845:
1846: -- first populate the the temp table with all the relevant details
1847: get_version_details(
1852: x_adopt_asis_count => l_adopt_asis_count,
1853: x_global_count => l_global_count,
1854: x_localized_count => l_localized_count
1855: );
1856: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
1857: RAISE FND_API.G_EXC_ERROR ;
1858: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1859: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
1860: END IF;
1853: x_global_count => l_global_count,
1854: x_localized_count => l_localized_count
1855: );
1856: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
1857: RAISE FND_API.G_EXC_ERROR ;
1858: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1859: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
1860: END IF;
1861:
1854: x_localized_count => l_localized_count
1855: );
1856: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
1857: RAISE FND_API.G_EXC_ERROR ;
1858: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1859: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
1860: END IF;
1861:
1862: -- check if all versions are in draft/rejected/null status first
1855: );
1856: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
1857: RAISE FND_API.G_EXC_ERROR ;
1858: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1859: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
1860: END IF;
1861:
1862: -- check if all versions are in draft/rejected/null status first
1863: -- this is not part of normal qa, but a basic sanity check required
1868: x_return_status => x_return_status,
1869: x_qa_return_status => l_qa_return_status,
1870: px_validation_results => x_validation_results
1871: );
1872: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
1873: RAISE FND_API.G_EXC_ERROR ;
1874: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1875: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
1876: ELSE
1869: x_qa_return_status => l_qa_return_status,
1870: px_validation_results => x_validation_results
1871: );
1872: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
1873: RAISE FND_API.G_EXC_ERROR ;
1874: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1875: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
1876: ELSE
1877: -- status check failed
1870: px_validation_results => x_validation_results
1871: );
1872: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
1873: RAISE FND_API.G_EXC_ERROR ;
1874: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1875: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
1876: ELSE
1877: -- status check failed
1878: IF (l_qa_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
1871: );
1872: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
1873: RAISE FND_API.G_EXC_ERROR ;
1874: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1875: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
1876: ELSE
1877: -- status check failed
1878: IF (l_qa_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
1879: x_return_status := FND_API.G_RET_STS_ERROR;
1874: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1875: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
1876: ELSE
1877: -- status check failed
1878: IF (l_qa_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
1879: x_return_status := FND_API.G_RET_STS_ERROR;
1880: RAISE FND_API.G_EXC_ERROR ;
1881: END IF;
1882: END IF;
1875: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
1876: ELSE
1877: -- status check failed
1878: IF (l_qa_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
1879: x_return_status := FND_API.G_RET_STS_ERROR;
1880: RAISE FND_API.G_EXC_ERROR ;
1881: END IF;
1882: END IF;
1883:
1876: ELSE
1877: -- status check failed
1878: IF (l_qa_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
1879: x_return_status := FND_API.G_RET_STS_ERROR;
1880: RAISE FND_API.G_EXC_ERROR ;
1881: END IF;
1882: END IF;
1883:
1884: IF (p_validation_level = FND_API.G_VALID_LEVEL_FULL) THEN
1880: RAISE FND_API.G_EXC_ERROR ;
1881: END IF;
1882: END IF;
1883:
1884: IF (p_validation_level = FND_API.G_VALID_LEVEL_FULL) THEN
1885:
1886: validate_article_versions_blk(
1887: p_api_version => 1.0 ,
1888: p_init_msg_list => FND_API.G_FALSE,
1884: IF (p_validation_level = FND_API.G_VALID_LEVEL_FULL) THEN
1885:
1886: validate_article_versions_blk(
1887: p_api_version => 1.0 ,
1888: p_init_msg_list => FND_API.G_FALSE,
1889: p_commit => FND_API.G_FALSE,
1890: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
1891: x_return_status => x_return_status,
1892: x_msg_count => x_msg_count,
1885:
1886: validate_article_versions_blk(
1887: p_api_version => 1.0 ,
1888: p_init_msg_list => FND_API.G_FALSE,
1889: p_commit => FND_API.G_FALSE,
1890: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
1891: x_return_status => x_return_status,
1892: x_msg_count => x_msg_count,
1893: x_msg_data => x_msg_data,
1886: validate_article_versions_blk(
1887: p_api_version => 1.0 ,
1888: p_init_msg_list => FND_API.G_FALSE,
1889: p_commit => FND_API.G_FALSE,
1890: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
1891: x_return_status => x_return_status,
1892: x_msg_count => x_msg_count,
1893: x_msg_data => x_msg_data,
1894:
1908: -- and should display them to user for corrective action
1909: -- for UNEXPECTED ERROR, the calling program would set the status
1910: -- as G_RET_STS_UNEXP_ERROR and exit
1911:
1912: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
1913: RAISE FND_API.G_EXC_ERROR ;
1914: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1915: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
1916: ElSE
1909: -- for UNEXPECTED ERROR, the calling program would set the status
1910: -- as G_RET_STS_UNEXP_ERROR and exit
1911:
1912: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
1913: RAISE FND_API.G_EXC_ERROR ;
1914: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1915: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
1916: ElSE
1917: -- validation executed successfully buth there where some
1910: -- as G_RET_STS_UNEXP_ERROR and exit
1911:
1912: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
1913: RAISE FND_API.G_EXC_ERROR ;
1914: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1915: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
1916: ElSE
1917: -- validation executed successfully buth there where some
1918: -- validation errors. we should stop here
1911:
1912: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
1913: RAISE FND_API.G_EXC_ERROR ;
1914: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1915: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
1916: ElSE
1917: -- validation executed successfully buth there where some
1918: -- validation errors. we should stop here
1919: IF (l_qa_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
1915: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
1916: ElSE
1917: -- validation executed successfully buth there where some
1918: -- validation errors. we should stop here
1919: IF (l_qa_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
1920: x_return_status := FND_API.G_RET_STS_ERROR;
1921: RAISE FND_API.G_EXC_ERROR ;
1922: END IF;
1923: END IF;
1916: ElSE
1917: -- validation executed successfully buth there where some
1918: -- validation errors. we should stop here
1919: IF (l_qa_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
1920: x_return_status := FND_API.G_RET_STS_ERROR;
1921: RAISE FND_API.G_EXC_ERROR ;
1922: END IF;
1923: END IF;
1924:
1917: -- validation executed successfully buth there where some
1918: -- validation errors. we should stop here
1919: IF (l_qa_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
1920: x_return_status := FND_API.G_RET_STS_ERROR;
1921: RAISE FND_API.G_EXC_ERROR ;
1922: END IF;
1923: END IF;
1924:
1925: END IF; --p_validation_level = FND_API.G_VALID_LEVEL_FULL
1921: RAISE FND_API.G_EXC_ERROR ;
1922: END IF;
1923: END IF;
1924:
1925: END IF; --p_validation_level = FND_API.G_VALID_LEVEL_FULL
1926:
1927:
1928:
1929: -- common for global/local/localized clauses, will do nothing for adopt as is clauses.
1931: p_id => l_id,
1932: p_status => 'PENDING_APPROVAL',
1933: x_return_status => x_return_status
1934: );
1935: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
1936: RAISE FND_API.G_EXC_ERROR ;
1937: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1938: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
1939: END IF;
1932: p_status => 'PENDING_APPROVAL',
1933: x_return_status => x_return_status
1934: );
1935: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
1936: RAISE FND_API.G_EXC_ERROR ;
1937: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1938: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
1939: END IF;
1940:
1933: x_return_status => x_return_status
1934: );
1935: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
1936: RAISE FND_API.G_EXC_ERROR ;
1937: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1938: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
1939: END IF;
1940:
1941:
1934: );
1935: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
1936: RAISE FND_API.G_EXC_ERROR ;
1937: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1938: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
1939: END IF;
1940:
1941:
1942: IF (p_org_id <> G_GLOBAL_ORG_ID) THEN
1951: p_adoption_type => 'LOCALIZED',
1952: p_type => 'LOCALIZED',
1953: x_return_status => x_return_status
1954: );
1955: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
1956: RAISE FND_API.G_EXC_ERROR ;
1957: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1958: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
1959: END IF;
1952: p_type => 'LOCALIZED',
1953: x_return_status => x_return_status
1954: );
1955: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
1956: RAISE FND_API.G_EXC_ERROR ;
1957: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1958: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
1959: END IF;
1960: END IF;
1953: x_return_status => x_return_status
1954: );
1955: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
1956: RAISE FND_API.G_EXC_ERROR ;
1957: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1958: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
1959: END IF;
1960: END IF;
1961:
1954: );
1955: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
1956: RAISE FND_API.G_EXC_ERROR ;
1957: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1958: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
1959: END IF;
1960: END IF;
1961:
1962: -- we are adopting some article versions as is.
1971: p_adoption_type => 'ADOPTED',
1972: p_type => 'ADOPTED',
1973: x_return_status => x_return_status
1974: );
1975: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
1976: RAISE FND_API.G_EXC_ERROR ;
1977: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1978: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
1979: END IF;
1972: p_type => 'ADOPTED',
1973: x_return_status => x_return_status
1974: );
1975: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
1976: RAISE FND_API.G_EXC_ERROR ;
1977: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1978: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
1979: END IF;
1980:
1973: x_return_status => x_return_status
1974: );
1975: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
1976: RAISE FND_API.G_EXC_ERROR ;
1977: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1978: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
1979: END IF;
1980:
1981: -- now adopt relationship for these articles
1974: );
1975: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
1976: RAISE FND_API.G_EXC_ERROR ;
1977: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1978: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
1979: END IF;
1980:
1981: -- now adopt relationship for these articles
1982: -- first populate the temp table with whatever adopt_relationships_blk requires
1996: adopt_relationships_blk(
1997: p_id => l_rel_id,
1998: x_return_status => x_return_status
1999: );
2000: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
2001: RAISE FND_API.G_EXC_ERROR ;
2002: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2003: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
2004: END IF;
1997: p_id => l_rel_id,
1998: x_return_status => x_return_status
1999: );
2000: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
2001: RAISE FND_API.G_EXC_ERROR ;
2002: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2003: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
2004: END IF;
2005:
1998: x_return_status => x_return_status
1999: );
2000: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
2001: RAISE FND_API.G_EXC_ERROR ;
2002: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2003: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
2004: END IF;
2005:
2006: END IF;
1999: );
2000: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
2001: RAISE FND_API.G_EXC_ERROR ;
2002: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2003: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
2004: END IF;
2005:
2006: END IF;
2007:
2011: DELETE FROM OKC_ART_BLK_TEMP
2012: WHERE id IN (l_id, l_rel_id);
2013:
2014: fnd_msg_pub.count_and_get( p_count => x_msg_count , p_data => x_msg_data);
2015: IF(FND_API.to_boolean(p_commit)) THEN
2016: COMMIT;
2017: END IF;
2018:
2019: IF (l_debug = 'Y') THEN
2021: END IF;
2022:
2023: EXCEPTION
2024:
2025: WHEN FND_API.G_EXC_ERROR THEN
2026: ROLLBACK TO pending_approval_blk_PVT;
2027: x_return_status := FND_API.G_RET_STS_ERROR ;
2028:
2029: IF (l_debug = 'Y') THEN
2023: EXCEPTION
2024:
2025: WHEN FND_API.G_EXC_ERROR THEN
2026: ROLLBACK TO pending_approval_blk_PVT;
2027: x_return_status := FND_API.G_RET_STS_ERROR ;
2028:
2029: IF (l_debug = 'Y') THEN
2030: okc_debug.log('201: Leaving pending_approval_blk: Error');
2031: END IF;
2030: okc_debug.log('201: Leaving pending_approval_blk: Error');
2031: END IF;
2032: fnd_msg_pub.count_and_get( p_count => x_msg_count , p_data => x_msg_data);
2033:
2034: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2035: ROLLBACK TO pending_approval_blk_PVT;
2036: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
2037:
2038: IF (l_debug = 'Y') THEN
2032: fnd_msg_pub.count_and_get( p_count => x_msg_count , p_data => x_msg_data);
2033:
2034: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2035: ROLLBACK TO pending_approval_blk_PVT;
2036: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
2037:
2038: IF (l_debug = 'Y') THEN
2039: okc_debug.log('202: Leaving pending_approval_blk: Unexpected Error');
2040: END IF;
2042: fnd_msg_pub.count_and_get( p_count => x_msg_count , p_data => x_msg_data);
2043:
2044: WHEN OTHERS THEN
2045: ROLLBACK TO pending_approval_blk_PVT;
2046: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
2047:
2048: IF (l_debug = 'Y') THEN
2049: okc_debug.log('203: Leaving pending_approval_blk: Unknown Error');
2050: END IF;
2103: G_USER_ID := FND_GLOBAL.USER_ID;
2104: G_LOGIN_ID := FND_GLOBAL.LOGIN_ID;
2105: l_debug := NVL(FND_PROFILE.VALUE('AFLOG_ENABLED'),'N');
2106:
2107: IF NOT fnd_api.compatible_api_call( l_api_version, p_api_version, l_api_name, G_PKG_NAME) THEN
2108: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2109: END IF;
2110: IF fnd_api.to_boolean( p_init_msg_list ) THEN
2111: fnd_msg_pub.initialize;
2104: G_LOGIN_ID := FND_GLOBAL.LOGIN_ID;
2105: l_debug := NVL(FND_PROFILE.VALUE('AFLOG_ENABLED'),'N');
2106:
2107: IF NOT fnd_api.compatible_api_call( l_api_version, p_api_version, l_api_name, G_PKG_NAME) THEN
2108: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2109: END IF;
2110: IF fnd_api.to_boolean( p_init_msg_list ) THEN
2111: fnd_msg_pub.initialize;
2112: END IF;
2106:
2107: IF NOT fnd_api.compatible_api_call( l_api_version, p_api_version, l_api_name, G_PKG_NAME) THEN
2108: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2109: END IF;
2110: IF fnd_api.to_boolean( p_init_msg_list ) THEN
2111: fnd_msg_pub.initialize;
2112: END IF;
2113: x_return_status := FND_API.G_RET_STS_SUCCESS;
2114:
2109: END IF;
2110: IF fnd_api.to_boolean( p_init_msg_list ) THEN
2111: fnd_msg_pub.initialize;
2112: END IF;
2113: x_return_status := FND_API.G_RET_STS_SUCCESS;
2114:
2115:
2116: -- first populate the the temp table with all the relevant details
2117: get_version_details(
2122: x_adopt_asis_count => l_adopt_asis_count,
2123: x_global_count => l_global_count,
2124: x_localized_count => l_localized_count
2125: );
2126: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
2127: RAISE FND_API.G_EXC_ERROR ;
2128: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2129: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
2130: END IF;
2123: x_global_count => l_global_count,
2124: x_localized_count => l_localized_count
2125: );
2126: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
2127: RAISE FND_API.G_EXC_ERROR ;
2128: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2129: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
2130: END IF;
2131:
2124: x_localized_count => l_localized_count
2125: );
2126: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
2127: RAISE FND_API.G_EXC_ERROR ;
2128: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2129: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
2130: END IF;
2131:
2132: -- check if all versions are in pending approval status first
2125: );
2126: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
2127: RAISE FND_API.G_EXC_ERROR ;
2128: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2129: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
2130: END IF;
2131:
2132: -- check if all versions are in pending approval status first
2133: -- this is not part of normal qa, but a basic sanity check required
2138: x_return_status => x_return_status,
2139: x_qa_return_status => l_qa_return_status,
2140: px_validation_results => x_validation_results
2141: );
2142: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
2143: RAISE FND_API.G_EXC_ERROR ;
2144: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2145: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
2146: ELSE
2139: x_qa_return_status => l_qa_return_status,
2140: px_validation_results => x_validation_results
2141: );
2142: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
2143: RAISE FND_API.G_EXC_ERROR ;
2144: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2145: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
2146: ELSE
2147: -- status check failed
2140: px_validation_results => x_validation_results
2141: );
2142: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
2143: RAISE FND_API.G_EXC_ERROR ;
2144: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2145: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
2146: ELSE
2147: -- status check failed
2148: IF (l_qa_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
2141: );
2142: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
2143: RAISE FND_API.G_EXC_ERROR ;
2144: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2145: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
2146: ELSE
2147: -- status check failed
2148: IF (l_qa_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
2149: x_return_status := FND_API.G_RET_STS_ERROR;
2144: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2145: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
2146: ELSE
2147: -- status check failed
2148: IF (l_qa_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
2149: x_return_status := FND_API.G_RET_STS_ERROR;
2150: RAISE FND_API.G_EXC_ERROR ;
2151: END IF;
2152: END IF;
2145: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
2146: ELSE
2147: -- status check failed
2148: IF (l_qa_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
2149: x_return_status := FND_API.G_RET_STS_ERROR;
2150: RAISE FND_API.G_EXC_ERROR ;
2151: END IF;
2152: END IF;
2153:
2146: ELSE
2147: -- status check failed
2148: IF (l_qa_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
2149: x_return_status := FND_API.G_RET_STS_ERROR;
2150: RAISE FND_API.G_EXC_ERROR ;
2151: END IF;
2152: END IF;
2153:
2154:
2157: p_id => l_id,
2158: p_status => 'APPROVED',
2159: x_return_status => x_return_status
2160: );
2161: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
2162: RAISE FND_API.G_EXC_ERROR ;
2163: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2164: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
2165: END IF;
2158: p_status => 'APPROVED',
2159: x_return_status => x_return_status
2160: );
2161: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
2162: RAISE FND_API.G_EXC_ERROR ;
2163: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2164: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
2165: END IF;
2166:
2159: x_return_status => x_return_status
2160: );
2161: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
2162: RAISE FND_API.G_EXC_ERROR ;
2163: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2164: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
2165: END IF;
2166:
2167:
2160: );
2161: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
2162: RAISE FND_API.G_EXC_ERROR ;
2163: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2164: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
2165: END IF;
2166:
2167:
2168: -- common for global/local/localized clauses, will do nothing for adopt as is clauses.
2169: update_prev_vers_enddate_blk(
2170: p_id => l_id,
2171: x_return_status => x_return_status
2172: );
2173: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
2174: RAISE FND_API.G_EXC_ERROR ;
2175: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2176: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
2177: END IF;
2170: p_id => l_id,
2171: x_return_status => x_return_status
2172: );
2173: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
2174: RAISE FND_API.G_EXC_ERROR ;
2175: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2176: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
2177: END IF;
2178:
2171: x_return_status => x_return_status
2172: );
2173: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
2174: RAISE FND_API.G_EXC_ERROR ;
2175: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2176: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
2177: END IF;
2178:
2179:
2172: );
2173: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
2174: RAISE FND_API.G_EXC_ERROR ;
2175: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2176: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
2177: END IF;
2178:
2179:
2180: IF (p_org_id = G_GLOBAL_ORG_ID) THEN
2183: -- kick off auto adoption
2184:
2185: auto_adopt_articles_blk(
2186: p_api_version => 1.0,
2187: p_init_msg_list => FND_API.G_FALSE,
2188: p_commit => FND_API.G_FALSE,
2189: x_return_status => x_return_status ,
2190: x_msg_count => x_msg_count ,
2191: x_msg_data => x_msg_data ,
2184:
2185: auto_adopt_articles_blk(
2186: p_api_version => 1.0,
2187: p_init_msg_list => FND_API.G_FALSE,
2188: p_commit => FND_API.G_FALSE,
2189: x_return_status => x_return_status ,
2190: x_msg_count => x_msg_count ,
2191: x_msg_data => x_msg_data ,
2192:
2191: x_msg_data => x_msg_data ,
2192:
2193: p_id => l_id
2194: );
2195: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
2196: RAISE FND_API.G_EXC_ERROR ;
2197: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2198: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
2199: END IF;
2192:
2193: p_id => l_id
2194: );
2195: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
2196: RAISE FND_API.G_EXC_ERROR ;
2197: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2198: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
2199: END IF;
2200:
2193: p_id => l_id
2194: );
2195: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
2196: RAISE FND_API.G_EXC_ERROR ;
2197: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2198: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
2199: END IF;
2200:
2201: END IF;
2194: );
2195: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
2196: RAISE FND_API.G_EXC_ERROR ;
2197: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2198: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
2199: END IF;
2200:
2201: END IF;
2202:
2213: p_adoption_type => 'ADOPTED',
2214: p_type => 'ADOPTED',
2215: x_return_status => x_return_status
2216: );
2217: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
2218: RAISE FND_API.G_EXC_ERROR ;
2219: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2220: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
2221: END IF;
2214: p_type => 'ADOPTED',
2215: x_return_status => x_return_status
2216: );
2217: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
2218: RAISE FND_API.G_EXC_ERROR ;
2219: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2220: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
2221: END IF;
2222:
2215: x_return_status => x_return_status
2216: );
2217: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
2218: RAISE FND_API.G_EXC_ERROR ;
2219: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2220: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
2221: END IF;
2222:
2223: END IF;
2216: );
2217: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
2218: RAISE FND_API.G_EXC_ERROR ;
2219: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2220: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
2221: END IF;
2222:
2223: END IF;
2224:
2232: p_adoption_type => 'LOCALIZED',
2233: p_type => 'LOCALIZED',
2234: x_return_status => x_return_status
2235: );
2236: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
2237: RAISE FND_API.G_EXC_ERROR ;
2238: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2239: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
2240: END IF;
2233: p_type => 'LOCALIZED',
2234: x_return_status => x_return_status
2235: );
2236: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
2237: RAISE FND_API.G_EXC_ERROR ;
2238: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2239: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
2240: END IF;
2241:
2234: x_return_status => x_return_status
2235: );
2236: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
2237: RAISE FND_API.G_EXC_ERROR ;
2238: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2239: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
2240: END IF;
2241:
2242: END IF;
2235: );
2236: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
2237: RAISE FND_API.G_EXC_ERROR ;
2238: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2239: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
2240: END IF;
2241:
2242: END IF;
2243:
2248: DELETE FROM OKC_ART_BLK_TEMP
2249: WHERE id = l_id;
2250:
2251: fnd_msg_pub.count_and_get( p_count => x_msg_count , p_data => x_msg_data);
2252: IF(FND_API.to_boolean(p_commit)) THEN
2253: COMMIT;
2254: END IF;
2255:
2256: IF (l_debug = 'Y') THEN
2259:
2260:
2261: EXCEPTION
2262:
2263: WHEN FND_API.G_EXC_ERROR THEN
2264: ROLLBACK TO approve_blk_PVT;
2265: x_return_status := FND_API.G_RET_STS_ERROR ;
2266:
2267: IF (l_debug = 'Y') THEN
2261: EXCEPTION
2262:
2263: WHEN FND_API.G_EXC_ERROR THEN
2264: ROLLBACK TO approve_blk_PVT;
2265: x_return_status := FND_API.G_RET_STS_ERROR ;
2266:
2267: IF (l_debug = 'Y') THEN
2268: okc_debug.log('201: Leaving approve_blk: Error');
2269: END IF;
2268: okc_debug.log('201: Leaving approve_blk: Error');
2269: END IF;
2270: fnd_msg_pub.count_and_get( p_count => x_msg_count , p_data => x_msg_data);
2271:
2272: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2273: ROLLBACK TO approve_blk_PVT;
2274: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
2275:
2276: IF (l_debug = 'Y') THEN
2270: fnd_msg_pub.count_and_get( p_count => x_msg_count , p_data => x_msg_data);
2271:
2272: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2273: ROLLBACK TO approve_blk_PVT;
2274: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
2275:
2276: IF (l_debug = 'Y') THEN
2277: okc_debug.log('202: Leaving approve_blk: Unexpected Error');
2278: END IF;
2279: fnd_msg_pub.count_and_get( p_count => x_msg_count , p_data => x_msg_data);
2280:
2281: WHEN OTHERS THEN
2282: ROLLBACK TO approve_blk_PVT;
2283: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
2284:
2285: IF (l_debug = 'Y') THEN
2286: okc_debug.log('203: Leaving approve_blk: Unknown Error');
2287: END IF;
2340: G_USER_ID := FND_GLOBAL.USER_ID;
2341: G_LOGIN_ID := FND_GLOBAL.LOGIN_ID;
2342: l_debug := NVL(FND_PROFILE.VALUE('AFLOG_ENABLED'),'N');
2343:
2344: IF NOT fnd_api.compatible_api_call( l_api_version, p_api_version, l_api_name, G_PKG_NAME) THEN
2345: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2346: END IF;
2347: IF fnd_api.to_boolean( p_init_msg_list ) THEN
2348: fnd_msg_pub.initialize;
2341: G_LOGIN_ID := FND_GLOBAL.LOGIN_ID;
2342: l_debug := NVL(FND_PROFILE.VALUE('AFLOG_ENABLED'),'N');
2343:
2344: IF NOT fnd_api.compatible_api_call( l_api_version, p_api_version, l_api_name, G_PKG_NAME) THEN
2345: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2346: END IF;
2347: IF fnd_api.to_boolean( p_init_msg_list ) THEN
2348: fnd_msg_pub.initialize;
2349: END IF;
2343:
2344: IF NOT fnd_api.compatible_api_call( l_api_version, p_api_version, l_api_name, G_PKG_NAME) THEN
2345: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2346: END IF;
2347: IF fnd_api.to_boolean( p_init_msg_list ) THEN
2348: fnd_msg_pub.initialize;
2349: END IF;
2350: x_return_status := FND_API.G_RET_STS_SUCCESS;
2351:
2346: END IF;
2347: IF fnd_api.to_boolean( p_init_msg_list ) THEN
2348: fnd_msg_pub.initialize;
2349: END IF;
2350: x_return_status := FND_API.G_RET_STS_SUCCESS;
2351:
2352: -- first populate the the temp table with all the relevant details
2353: get_version_details(
2354: p_org_id => p_org_id,
2358: x_adopt_asis_count => l_adopt_asis_count,
2359: x_global_count => l_global_count,
2360: x_localized_count => l_localized_count
2361: );
2362: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
2363: RAISE FND_API.G_EXC_ERROR ;
2364: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2365: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
2366: END IF;
2359: x_global_count => l_global_count,
2360: x_localized_count => l_localized_count
2361: );
2362: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
2363: RAISE FND_API.G_EXC_ERROR ;
2364: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2365: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
2366: END IF;
2367:
2360: x_localized_count => l_localized_count
2361: );
2362: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
2363: RAISE FND_API.G_EXC_ERROR ;
2364: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2365: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
2366: END IF;
2367:
2368: -- check if all versions are in pending approval status first
2361: );
2362: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
2363: RAISE FND_API.G_EXC_ERROR ;
2364: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2365: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
2366: END IF;
2367:
2368: -- check if all versions are in pending approval status first
2369: -- this is not part of normal qa, but a basic sanity check required
2374: x_return_status => x_return_status,
2375: x_qa_return_status => l_qa_return_status,
2376: px_validation_results => x_validation_results
2377: );
2378: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
2379: RAISE FND_API.G_EXC_ERROR ;
2380: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2381: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
2382: ELSE
2375: x_qa_return_status => l_qa_return_status,
2376: px_validation_results => x_validation_results
2377: );
2378: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
2379: RAISE FND_API.G_EXC_ERROR ;
2380: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2381: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
2382: ELSE
2383: -- status check failed
2376: px_validation_results => x_validation_results
2377: );
2378: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
2379: RAISE FND_API.G_EXC_ERROR ;
2380: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2381: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
2382: ELSE
2383: -- status check failed
2384: IF (l_qa_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
2377: );
2378: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
2379: RAISE FND_API.G_EXC_ERROR ;
2380: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2381: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
2382: ELSE
2383: -- status check failed
2384: IF (l_qa_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
2385: x_return_status := FND_API.G_RET_STS_ERROR;
2380: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2381: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
2382: ELSE
2383: -- status check failed
2384: IF (l_qa_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
2385: x_return_status := FND_API.G_RET_STS_ERROR;
2386: RAISE FND_API.G_EXC_ERROR ;
2387: END IF;
2388: END IF;
2381: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
2382: ELSE
2383: -- status check failed
2384: IF (l_qa_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
2385: x_return_status := FND_API.G_RET_STS_ERROR;
2386: RAISE FND_API.G_EXC_ERROR ;
2387: END IF;
2388: END IF;
2389:
2382: ELSE
2383: -- status check failed
2384: IF (l_qa_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
2385: x_return_status := FND_API.G_RET_STS_ERROR;
2386: RAISE FND_API.G_EXC_ERROR ;
2387: END IF;
2388: END IF;
2389:
2390:
2393: p_id => l_id,
2394: p_status => 'REJECTED',
2395: x_return_status => x_return_status
2396: );
2397: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
2398: RAISE FND_API.G_EXC_ERROR ;
2399: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2400: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
2401: END IF;
2394: p_status => 'REJECTED',
2395: x_return_status => x_return_status
2396: );
2397: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
2398: RAISE FND_API.G_EXC_ERROR ;
2399: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2400: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
2401: END IF;
2402:
2395: x_return_status => x_return_status
2396: );
2397: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
2398: RAISE FND_API.G_EXC_ERROR ;
2399: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2400: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
2401: END IF;
2402:
2403:
2396: );
2397: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
2398: RAISE FND_API.G_EXC_ERROR ;
2399: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2400: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
2401: END IF;
2402:
2403:
2404:
2417: p_adoption_type => 'AVAILABLE',
2418: p_type => 'ADOPTED',
2419: x_return_status => x_return_status
2420: );
2421: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
2422: RAISE FND_API.G_EXC_ERROR ;
2423: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2424: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
2425: END IF;
2418: p_type => 'ADOPTED',
2419: x_return_status => x_return_status
2420: );
2421: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
2422: RAISE FND_API.G_EXC_ERROR ;
2423: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2424: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
2425: END IF;
2426:
2419: x_return_status => x_return_status
2420: );
2421: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
2422: RAISE FND_API.G_EXC_ERROR ;
2423: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2424: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
2425: END IF;
2426:
2427: delete_relationships_blk(
2420: );
2421: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
2422: RAISE FND_API.G_EXC_ERROR ;
2423: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2424: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
2425: END IF;
2426:
2427: delete_relationships_blk(
2428: p_id => l_id,
2428: p_id => l_id,
2429: p_org_id => p_org_id,
2430: x_return_status => x_return_status
2431: );
2432: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
2433: RAISE FND_API.G_EXC_ERROR ;
2434: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2435: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
2436: END IF;
2429: p_org_id => p_org_id,
2430: x_return_status => x_return_status
2431: );
2432: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
2433: RAISE FND_API.G_EXC_ERROR ;
2434: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2435: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
2436: END IF;
2437:
2430: x_return_status => x_return_status
2431: );
2432: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
2433: RAISE FND_API.G_EXC_ERROR ;
2434: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2435: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
2436: END IF;
2437:
2438: END IF;
2431: );
2432: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
2433: RAISE FND_API.G_EXC_ERROR ;
2434: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2435: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
2436: END IF;
2437:
2438: END IF;
2439:
2447: p_adoption_type => 'LOCALIZED',
2448: p_type => 'LOCALIZED',
2449: x_return_status => x_return_status
2450: );
2451: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
2452: RAISE FND_API.G_EXC_ERROR ;
2453: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2454: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
2455: END IF;
2448: p_type => 'LOCALIZED',
2449: x_return_status => x_return_status
2450: );
2451: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
2452: RAISE FND_API.G_EXC_ERROR ;
2453: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2454: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
2455: END IF;
2456:
2449: x_return_status => x_return_status
2450: );
2451: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
2452: RAISE FND_API.G_EXC_ERROR ;
2453: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2454: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
2455: END IF;
2456:
2457: END IF;
2450: );
2451: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
2452: RAISE FND_API.G_EXC_ERROR ;
2453: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2454: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
2455: END IF;
2456:
2457: END IF;
2458:
2463: DELETE FROM OKC_ART_BLK_TEMP
2464: WHERE id = l_id;
2465:
2466: fnd_msg_pub.count_and_get( p_count => x_msg_count , p_data => x_msg_data);
2467: IF(FND_API.to_boolean(p_commit)) THEN
2468: COMMIT;
2469: END IF;
2470:
2471: IF (l_debug = 'Y') THEN
2474:
2475:
2476: EXCEPTION
2477:
2478: WHEN FND_API.G_EXC_ERROR THEN
2479: ROLLBACK TO reject_blk_PVT;
2480: x_return_status := FND_API.G_RET_STS_ERROR ;
2481:
2482: IF (l_debug = 'Y') THEN
2476: EXCEPTION
2477:
2478: WHEN FND_API.G_EXC_ERROR THEN
2479: ROLLBACK TO reject_blk_PVT;
2480: x_return_status := FND_API.G_RET_STS_ERROR ;
2481:
2482: IF (l_debug = 'Y') THEN
2483: okc_debug.log('201: Leaving reject_blk: Error');
2484: END IF;
2484: END IF;
2485:
2486: fnd_msg_pub.count_and_get( p_count => x_msg_count , p_data => x_msg_data);
2487:
2488: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2489: ROLLBACK TO reject_blk_PVT;
2490: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
2491:
2492: IF (l_debug = 'Y') THEN
2486: fnd_msg_pub.count_and_get( p_count => x_msg_count , p_data => x_msg_data);
2487:
2488: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2489: ROLLBACK TO reject_blk_PVT;
2490: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
2491:
2492: IF (l_debug = 'Y') THEN
2493: okc_debug.log('202: Leaving reject_blk: Unexpected Error');
2494: END IF;
2496: fnd_msg_pub.count_and_get( p_count => x_msg_count , p_data => x_msg_data);
2497:
2498: WHEN OTHERS THEN
2499: ROLLBACK TO reject_blk_PVT;
2500: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
2501:
2502: IF (l_debug = 'Y') THEN
2503: okc_debug.log('203: Leaving reject_blk: Unknown Error');
2504: END IF;