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