10: G_LEVEL_PROCEDURE CONSTANT NUMBER := FND_LOG.LEVEL_PROCEDURE;
11: G_MODULE CONSTANT VARCHAR2(250) := 'okc.plsql.'||g_pkg_name||'.';
12: G_APPLICATION_ID CONSTANT NUMBER :=510; -- OKC Application
13:
14: G_FALSE CONSTANT VARCHAR2(1) := FND_API.G_FALSE;
15: G_TRUE CONSTANT VARCHAR2(1) := FND_API.G_TRUE;
16:
17: G_RET_STS_SUCCESS CONSTANT VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
18: G_RET_STS_ERROR CONSTANT VARCHAR2(1) := FND_API.G_RET_STS_ERROR;
11: G_MODULE CONSTANT VARCHAR2(250) := 'okc.plsql.'||g_pkg_name||'.';
12: G_APPLICATION_ID CONSTANT NUMBER :=510; -- OKC Application
13:
14: G_FALSE CONSTANT VARCHAR2(1) := FND_API.G_FALSE;
15: G_TRUE CONSTANT VARCHAR2(1) := FND_API.G_TRUE;
16:
17: G_RET_STS_SUCCESS CONSTANT VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
18: G_RET_STS_ERROR CONSTANT VARCHAR2(1) := FND_API.G_RET_STS_ERROR;
19: G_RET_STS_UNEXP_ERROR CONSTANT VARCHAR2(1) := FND_API.G_RET_STS_UNEXP_ERROR;
13:
14: G_FALSE CONSTANT VARCHAR2(1) := FND_API.G_FALSE;
15: G_TRUE CONSTANT VARCHAR2(1) := FND_API.G_TRUE;
16:
17: G_RET_STS_SUCCESS CONSTANT VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
18: G_RET_STS_ERROR CONSTANT VARCHAR2(1) := FND_API.G_RET_STS_ERROR;
19: G_RET_STS_UNEXP_ERROR CONSTANT VARCHAR2(1) := FND_API.G_RET_STS_UNEXP_ERROR;
20:
21: G_UNEXPECTED_ERROR CONSTANT VARCHAR2(200) := 'OKC_UNEXPECTED_ERROR';
14: G_FALSE CONSTANT VARCHAR2(1) := FND_API.G_FALSE;
15: G_TRUE CONSTANT VARCHAR2(1) := FND_API.G_TRUE;
16:
17: G_RET_STS_SUCCESS CONSTANT VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
18: G_RET_STS_ERROR CONSTANT VARCHAR2(1) := FND_API.G_RET_STS_ERROR;
19: G_RET_STS_UNEXP_ERROR CONSTANT VARCHAR2(1) := FND_API.G_RET_STS_UNEXP_ERROR;
20:
21: G_UNEXPECTED_ERROR CONSTANT VARCHAR2(200) := 'OKC_UNEXPECTED_ERROR';
22: G_SQLERRM_TOKEN CONSTANT VARCHAR2(200) := 'ERROR_MESSAGE';
15: G_TRUE CONSTANT VARCHAR2(1) := FND_API.G_TRUE;
16:
17: G_RET_STS_SUCCESS CONSTANT VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
18: G_RET_STS_ERROR CONSTANT VARCHAR2(1) := FND_API.G_RET_STS_ERROR;
19: G_RET_STS_UNEXP_ERROR CONSTANT VARCHAR2(1) := FND_API.G_RET_STS_UNEXP_ERROR;
20:
21: G_UNEXPECTED_ERROR CONSTANT VARCHAR2(200) := 'OKC_UNEXPECTED_ERROR';
22: G_SQLERRM_TOKEN CONSTANT VARCHAR2(200) := 'ERROR_MESSAGE';
23: G_SQLCODE_TOKEN CONSTANT VARCHAR2(200) := 'ERROR_CODE';
238: -- If CZ import returns ERROR then there was a database or fatal error
239: -- write to log and Abort the next steps of writing to log
240: IF (p_import_status = G_RET_STS_UNEXP_ERROR) THEN
241: fnd_file.put_line(FND_FILE.LOG,'CZ IMPORT API Return Status : '||p_import_status);
242: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
243: ELSIF (x_return_status = G_RET_STS_ERROR) THEN
244: fnd_file.put_line(FND_FILE.LOG,'CZ IMPORT API Return Status : '||p_import_status);
245: RAISE FND_API.G_EXC_ERROR;
246: END IF;
241: fnd_file.put_line(FND_FILE.LOG,'CZ IMPORT API Return Status : '||p_import_status);
242: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
243: ELSIF (x_return_status = G_RET_STS_ERROR) THEN
244: fnd_file.put_line(FND_FILE.LOG,'CZ IMPORT API Return Status : '||p_import_status);
245: RAISE FND_API.G_EXC_ERROR;
246: END IF;
247:
248:
249: -- Check the summary of the import run results
355: '1000: Leaving '||G_PKG_NAME ||'.'||l_api_name);
356: END IF;
357:
358: EXCEPTION
359: WHEN FND_API.G_EXC_ERROR THEN
360: IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
361: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
362: G_MODULE||l_api_name,
363: '2000: Leaving '||G_PKG_NAME ||'.'||l_api_name);
365:
366: x_return_status := G_RET_STS_ERROR ;
367: FND_MSG_PUB.Count_And_Get(p_encoded=>'F', p_count => x_msg_count, p_data => x_msg_data );
368:
369: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
370: IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
371: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
372: G_MODULE||l_api_name,
373: '3000: Leaving '||G_PKG_NAME ||'.'||l_api_name);
597: LOOP
598: OKC_XPRT_CZ_INT_PVT.delete_publication
599: (
600: p_api_version => l_api_version,
601: p_init_msg_lst => FND_API.G_FALSE,
602: p_publication_id => rec_get_publication_dtl.publication_id,
603: x_return_status => x_return_status,
604: x_msg_count => x_msg_count,
605: x_msg_data => x_msg_data
606: );
607:
608: --- If any errors happen abort API
609: IF (x_return_status = G_RET_STS_UNEXP_ERROR) THEN
610: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
611: ELSIF (x_return_status = G_RET_STS_ERROR) THEN
612: RAISE FND_API.G_EXC_ERROR;
613: END IF;
614:
608: --- If any errors happen abort API
609: IF (x_return_status = G_RET_STS_UNEXP_ERROR) THEN
610: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
611: ELSIF (x_return_status = G_RET_STS_ERROR) THEN
612: RAISE FND_API.G_EXC_ERROR;
613: END IF;
614:
615: END LOOP; -- all test publications
616:
623: END IF;
624:
625:
626: EXCEPTION
627: WHEN FND_API.G_EXC_ERROR THEN
628: IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
629: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
630: G_MODULE||l_api_name,
631: '2000: Leaving '||G_PKG_NAME ||'.'||l_api_name);
633:
634: x_return_status := G_RET_STS_ERROR ;
635: FND_MSG_PUB.Count_And_Get(p_encoded=>'F', p_count => x_msg_count, p_data => x_msg_data );
636:
637: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
638: IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
639: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
640: G_MODULE||l_api_name,
641: '3000: Leaving '||G_PKG_NAME ||'.'||l_api_name);
753: x_msg_count => x_msg_count
754: );
755: --- If any errors happen abort API
756: IF (x_return_status = G_RET_STS_UNEXP_ERROR) THEN
757: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
758: ELSIF (x_return_status = G_RET_STS_ERROR) THEN
759: RAISE FND_API.G_EXC_ERROR;
760: END IF;
761:
755: --- If any errors happen abort API
756: IF (x_return_status = G_RET_STS_UNEXP_ERROR) THEN
757: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
758: ELSIF (x_return_status = G_RET_STS_ERROR) THEN
759: RAISE FND_API.G_EXC_ERROR;
760: END IF;
761:
762: -- Step 2:
763: -- Delete Existing UIs except the UI attached to production publication
776: ) ;
777:
778: --- If any errors happen abort API
779: IF (x_return_status = G_RET_STS_UNEXP_ERROR) THEN
780: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
781: ELSIF (x_return_status = G_RET_STS_ERROR) THEN
782: RAISE FND_API.G_EXC_ERROR;
783: END IF;
784:
778: --- If any errors happen abort API
779: IF (x_return_status = G_RET_STS_UNEXP_ERROR) THEN
780: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
781: ELSIF (x_return_status = G_RET_STS_ERROR) THEN
782: RAISE FND_API.G_EXC_ERROR;
783: END IF;
784:
785: END LOOP; -- csr_template_ui
786: CLOSE csr_template_ui;
800: x_msg_count => x_msg_count
801: ) ;
802: --- If any errors happen abort API
803: IF (x_return_status = G_RET_STS_UNEXP_ERROR) THEN
804: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
805: ELSIF (x_return_status = G_RET_STS_ERROR) THEN
806: RAISE FND_API.G_EXC_ERROR;
807: END IF;
808:
802: --- If any errors happen abort API
803: IF (x_return_status = G_RET_STS_UNEXP_ERROR) THEN
804: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
805: ELSIF (x_return_status = G_RET_STS_ERROR) THEN
806: RAISE FND_API.G_EXC_ERROR;
807: END IF;
808:
809:
810: -- Step 4:
811: -- Generate Logic for the template Model
812: OKC_XPRT_CZ_INT_PVT.generate_logic
813: (
814: p_api_version => l_api_version,
815: p_init_msg_lst => FND_API.G_FALSE,
816: p_devl_project_id => l_template_model_id,
817: x_run_id => l_run_id,
818: x_return_status => x_return_status,
819: x_msg_data => x_msg_data,
821: ) ;
822:
823: --- If any errors happen abort API
824: IF (x_return_status = G_RET_STS_UNEXP_ERROR) THEN
825: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
826: ELSIF (x_return_status = G_RET_STS_ERROR) THEN
827: RAISE FND_API.G_EXC_ERROR;
828: END IF;
829:
823: --- If any errors happen abort API
824: IF (x_return_status = G_RET_STS_UNEXP_ERROR) THEN
825: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
826: ELSIF (x_return_status = G_RET_STS_ERROR) THEN
827: RAISE FND_API.G_EXC_ERROR;
828: END IF;
829:
830: -- Step 5:
831: -- Create a test publication for the template Model
831: -- Create a test publication for the template Model
832: OKC_XPRT_CZ_INT_PVT.create_publication_request
833: (
834: p_api_version => l_api_version,
835: p_init_msg_lst => FND_API.G_FALSE,
836: p_devl_project_id => l_template_model_id,
837: p_ui_def_id => l_new_ui_def_id,
838: p_publication_mode => 't',
839: x_publication_id => l_publication_id,
843: ) ;
844:
845: --- If any errors happen abort API
846: IF (x_return_status = G_RET_STS_UNEXP_ERROR) THEN
847: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
848: ELSIF (x_return_status = G_RET_STS_ERROR) THEN
849: RAISE FND_API.G_EXC_ERROR;
850: END IF;
851:
845: --- If any errors happen abort API
846: IF (x_return_status = G_RET_STS_UNEXP_ERROR) THEN
847: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
848: ELSIF (x_return_status = G_RET_STS_ERROR) THEN
849: RAISE FND_API.G_EXC_ERROR;
850: END IF;
851:
852:
853: -- Step 6:
854: -- Publish test publication for the template Model
855: OKC_XPRT_CZ_INT_PVT.publish_model
856: (
857: p_api_version => l_api_version,
858: p_init_msg_lst => FND_API.G_FALSE,
859: p_publication_id => l_publication_id,
860: x_run_id => l_run_id,
861: x_return_status => x_return_status,
862: x_msg_data => x_msg_data,
864: ) ;
865:
866: --- If any errors happen abort API
867: IF (x_return_status = G_RET_STS_UNEXP_ERROR) THEN
868: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
869: ELSIF (x_return_status = G_RET_STS_ERROR) THEN
870: RAISE FND_API.G_EXC_ERROR;
871: END IF;
872:
866: --- If any errors happen abort API
867: IF (x_return_status = G_RET_STS_UNEXP_ERROR) THEN
868: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
869: ELSIF (x_return_status = G_RET_STS_ERROR) THEN
870: RAISE FND_API.G_EXC_ERROR;
871: END IF;
872:
873:
874: END LOOP; -- csr_templates
883: END IF;
884:
885:
886: EXCEPTION
887: WHEN FND_API.G_EXC_ERROR THEN
888: IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
889: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
890: G_MODULE||l_api_name,
891: '2000: Leaving '||G_PKG_NAME ||'.'||l_api_name);
893:
894: x_return_status := G_RET_STS_ERROR ;
895: FND_MSG_PUB.Count_And_Get(p_encoded=>'F', p_count => x_msg_count, p_data => x_msg_data );
896:
897: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
898: IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
899: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
900: G_MODULE||l_api_name,
901: '3000: Leaving '||G_PKG_NAME ||'.'||l_api_name);
1907: -- Call CZ delete publicaton API
1908: OKC_XPRT_CZ_INT_PVT.delete_publication
1909: (
1910: p_api_version => l_api_version,
1911: p_init_msg_lst => FND_API.G_FALSE,
1912: p_publication_id => l_publication_id,
1913: x_return_status => x_return_status,
1914: x_msg_data => x_msg_data,
1915: x_msg_count => x_msg_count
1933: END IF;
1934:
1935: --- If any errors happen abort API
1936: IF (x_return_status = G_RET_STS_UNEXP_ERROR) THEN
1937: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1938: ELSIF (x_return_status = G_RET_STS_ERROR) THEN
1939: RAISE FND_API.G_EXC_ERROR;
1940: END IF;
1941:
1935: --- If any errors happen abort API
1936: IF (x_return_status = G_RET_STS_UNEXP_ERROR) THEN
1937: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1938: ELSIF (x_return_status = G_RET_STS_ERROR) THEN
1939: RAISE FND_API.G_EXC_ERROR;
1940: END IF;
1941:
1942:
1943: -- Delete the UI attached to the above production publication
1952:
1953:
1954: --- If any errors happen abort API
1955: IF (x_return_status = G_RET_STS_UNEXP_ERROR) THEN
1956: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1957: ELSIF (x_return_status = G_RET_STS_ERROR) THEN
1958: RAISE FND_API.G_EXC_ERROR;
1959: END IF;
1960:
1954: --- If any errors happen abort API
1955: IF (x_return_status = G_RET_STS_UNEXP_ERROR) THEN
1956: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1957: ELSIF (x_return_status = G_RET_STS_ERROR) THEN
1958: RAISE FND_API.G_EXC_ERROR;
1959: END IF;
1960:
1961: END LOOP; -- csr_get_publication_id
1962: CLOSE csr_get_publication_id;
1990: -- Call CZ edit publicaton API
1991: OKC_XPRT_CZ_INT_PVT.edit_publication
1992: (
1993: p_api_version => l_api_version,
1994: p_init_msg_lst => FND_API.G_FALSE,
1995: p_publication_id => l_publication_id,
1996: p_publication_mode => G_PRODUCTION_MODE,
1997: x_return_status => x_return_status,
1998: x_msg_data => x_msg_data,
2016: END IF;
2017:
2018: --- If any errors happen abort API
2019: IF (x_return_status = G_RET_STS_UNEXP_ERROR) THEN
2020: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2021: ELSIF (x_return_status = G_RET_STS_ERROR) THEN
2022: RAISE FND_API.G_EXC_ERROR;
2023: END IF;
2024:
2018: --- If any errors happen abort API
2019: IF (x_return_status = G_RET_STS_UNEXP_ERROR) THEN
2020: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2021: ELSIF (x_return_status = G_RET_STS_ERROR) THEN
2022: RAISE FND_API.G_EXC_ERROR;
2023: END IF;
2024:
2025: END LOOP; -- csr_get_publication_id
2026: CLOSE csr_get_publication_id;
2112:
2113:
2114: --- If any errors happen abort API
2115: IF (x_return_status = G_RET_STS_UNEXP_ERROR) THEN
2116: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2117: ELSIF (x_return_status = G_RET_STS_ERROR) THEN
2118: RAISE FND_API.G_EXC_ERROR;
2119: END IF;
2120:
2114: --- If any errors happen abort API
2115: IF (x_return_status = G_RET_STS_UNEXP_ERROR) THEN
2116: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2117: ELSIF (x_return_status = G_RET_STS_ERROR) THEN
2118: RAISE FND_API.G_EXC_ERROR;
2119: END IF;
2120:
2121: IF (p_calling_mode = 'PUBLISH' OR p_calling_mode = 'DISABLE' OR p_calling_mode = 'SYNC') THEN
2122: COMMIT WORK;
2130: END IF;
2131:
2132:
2133: EXCEPTION
2134: WHEN FND_API.G_EXC_ERROR THEN
2135: IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
2136: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
2137: G_MODULE||l_api_name,
2138: '2000: Leaving '||G_PKG_NAME ||'.'||l_api_name);
2144:
2145: x_return_status := G_RET_STS_ERROR ;
2146: FND_MSG_PUB.Count_And_Get(p_encoded=>'F', p_count => x_msg_count, p_data => x_msg_data );
2147:
2148: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2149: IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
2150: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
2151: G_MODULE||l_api_name,
2152: '3000: Leaving '||G_PKG_NAME ||'.'||l_api_name);
2293:
2294: --
2295: -- Standard call to check for call compatibility.
2296: --
2297: IF NOT FND_API.Compatible_API_Call (l_api_version,
2298: p_api_version,
2299: l_api_name,
2300: G_PKG_NAME)
2301: THEN
2298: p_api_version,
2299: l_api_name,
2300: G_PKG_NAME)
2301: THEN
2302: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2303: END IF;
2304:
2305: --
2306: -- Initialize message list if p_init_msg_list is set to TRUE.
2304:
2305: --
2306: -- Initialize message list if p_init_msg_list is set to TRUE.
2307: --
2308: IF FND_API.to_Boolean( p_init_msg_list )
2309: THEN
2310: FND_MSG_PUB.initialize;
2311: END IF;
2312:
2312:
2313: --
2314: -- Initialize API return status to success
2315: --
2316: x_return_status := FND_API.G_RET_STS_SUCCESS;
2317:
2318: --
2319: -- Check if CE Profile is Enabled.
2320: --
2342: x_qa_name => l_template_rule_status_desc,
2343: x_severity_flag => l_template_rule_status_sev,
2344: x_return_status => x_return_status);
2345:
2346: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR)
2347: THEN
2348: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
2349: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
2350: RAISE FND_API.G_EXC_ERROR ;
2344: x_return_status => x_return_status);
2345:
2346: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR)
2347: THEN
2348: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
2349: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
2350: RAISE FND_API.G_EXC_ERROR ;
2351: END IF;
2352:
2345:
2346: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR)
2347: THEN
2348: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
2349: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
2350: RAISE FND_API.G_EXC_ERROR ;
2351: END IF;
2352:
2353:
2346: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR)
2347: THEN
2348: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
2349: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
2350: RAISE FND_API.G_EXC_ERROR ;
2351: END IF;
2352:
2353:
2354: --
2359: x_qa_name => l_def_template_desc,
2360: x_severity_flag => l_def_template_sev,
2361: x_return_status => x_return_status);
2362:
2363: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR)
2364: THEN
2365: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
2366: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
2367: RAISE FND_API.G_EXC_ERROR ;
2361: x_return_status => x_return_status);
2362:
2363: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR)
2364: THEN
2365: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
2366: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
2367: RAISE FND_API.G_EXC_ERROR ;
2368: END IF;
2369:
2362:
2363: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR)
2364: THEN
2365: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
2366: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
2367: RAISE FND_API.G_EXC_ERROR ;
2368: END IF;
2369:
2370: --
2363: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR)
2364: THEN
2365: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
2366: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
2367: RAISE FND_API.G_EXC_ERROR ;
2368: END IF;
2369:
2370: --
2371: -- Check for the template default section
2399: x_qa_name => l_template_no_rule_desc,
2400: x_severity_flag => l_template_no_rule_sev,
2401: x_return_status => x_return_status);
2402:
2403: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR)
2404: THEN
2405: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
2406: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
2407: RAISE FND_API.G_EXC_ERROR ;
2401: x_return_status => x_return_status);
2402:
2403: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR)
2404: THEN
2405: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
2406: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
2407: RAISE FND_API.G_EXC_ERROR ;
2408: END IF;
2409:
2402:
2403: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR)
2404: THEN
2405: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
2406: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
2407: RAISE FND_API.G_EXC_ERROR ;
2408: END IF;
2409:
2410:
2403: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR)
2404: THEN
2405: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
2406: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
2407: RAISE FND_API.G_EXC_ERROR ;
2408: END IF;
2409:
2410:
2411: --
2484: END IF;
2485:
2486: EXCEPTION
2487:
2488: WHEN FND_API.G_EXC_ERROR THEN
2489:
2490: x_return_status := FND_API.G_RET_STS_ERROR ;
2491: FND_MSG_PUB.Count_And_Get(
2492: p_count => x_msg_count,
2486: EXCEPTION
2487:
2488: WHEN FND_API.G_EXC_ERROR THEN
2489:
2490: x_return_status := FND_API.G_RET_STS_ERROR ;
2491: FND_MSG_PUB.Count_And_Get(
2492: p_count => x_msg_count,
2493: p_data => x_msg_data
2494: );
2492: p_count => x_msg_count,
2493: p_data => x_msg_data
2494: );
2495:
2496: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2497: x_return_status := FND_API.G_RET_STS_ERROR ;
2498: FND_MSG_PUB.Count_And_Get(
2499: p_count => x_msg_count,
2500: p_data => x_msg_data
2493: p_data => x_msg_data
2494: );
2495:
2496: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2497: x_return_status := FND_API.G_RET_STS_ERROR ;
2498: FND_MSG_PUB.Count_And_Get(
2499: p_count => x_msg_count,
2500: p_data => x_msg_data
2501: );
2500: p_data => x_msg_data
2501: );
2502:
2503: WHEN OTHERS THEN
2504: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
2505:
2506: IF FND_MSG_PUB.Check_Msg_Level
2507: (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2508: THEN
2625:
2626: --
2627: -- Standard call to check for call compatibility.
2628: --
2629: IF NOT FND_API.Compatible_API_Call (l_api_version,
2630: p_api_version,
2631: l_api_name,
2632: G_PKG_NAME)
2633: THEN
2630: p_api_version,
2631: l_api_name,
2632: G_PKG_NAME)
2633: THEN
2634: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2635: END IF;
2636:
2637: --
2638: -- Initialize message list if p_init_msg_list is set to TRUE.
2636:
2637: --
2638: -- Initialize message list if p_init_msg_list is set to TRUE.
2639: --
2640: IF FND_API.to_Boolean( p_init_msg_list ) THEN
2641: FND_MSG_PUB.initialize;
2642: END IF;
2643:
2644: --
2643:
2644: --
2645: -- Initialize API return status to success
2646: --
2647: x_return_status := FND_API.G_RET_STS_SUCCESS;
2648:
2649:
2650: -- Example: 1890
2651:
2763: '1000: Leaving '||G_PKG_NAME ||'.'||l_api_name);
2764: END IF;
2765:
2766: EXCEPTION
2767: WHEN FND_API.G_EXC_ERROR THEN
2768:
2769: x_return_status := FND_API.G_RET_STS_ERROR ;
2770: FND_MSG_PUB.Count_And_Get(
2771: p_count => x_msg_count,
2765:
2766: EXCEPTION
2767: WHEN FND_API.G_EXC_ERROR THEN
2768:
2769: x_return_status := FND_API.G_RET_STS_ERROR ;
2770: FND_MSG_PUB.Count_And_Get(
2771: p_count => x_msg_count,
2772: p_data => x_msg_data
2773: );
2771: p_count => x_msg_count,
2772: p_data => x_msg_data
2773: );
2774:
2775: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2776: x_return_status := FND_API.G_RET_STS_ERROR ;
2777:
2778: FND_MSG_PUB.Count_And_Get(
2779: p_count => x_msg_count,
2772: p_data => x_msg_data
2773: );
2774:
2775: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2776: x_return_status := FND_API.G_RET_STS_ERROR ;
2777:
2778: FND_MSG_PUB.Count_And_Get(
2779: p_count => x_msg_count,
2780: p_data => x_msg_data
2780: p_data => x_msg_data
2781: );
2782:
2783: WHEN OTHERS THEN
2784: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
2785:
2786: IF FND_MSG_PUB.Check_Msg_Level
2787: (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2788: THEN
3034: -- set the OUT params
3035: x_msg_count := 1;
3036: x_msg_data := l_message_type||' : '||l_message_text;
3037:
3038: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3039:
3040: END IF; /* l_exit <> error */
3041:
3042: --
3110: END IF;
3111:
3112: EXCEPTION
3113:
3114: WHEN FND_API.G_EXC_ERROR THEN
3115: x_return_status := FND_API.G_RET_STS_ERROR ;
3116: FND_MSG_PUB.Count_And_Get(
3117: p_count => x_msg_count,
3118: p_data => x_msg_data
3111:
3112: EXCEPTION
3113:
3114: WHEN FND_API.G_EXC_ERROR THEN
3115: x_return_status := FND_API.G_RET_STS_ERROR ;
3116: FND_MSG_PUB.Count_And_Get(
3117: p_count => x_msg_count,
3118: p_data => x_msg_data
3119: );
3117: p_count => x_msg_count,
3118: p_data => x_msg_data
3119: );
3120:
3121: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
3122: x_return_status := FND_API.G_RET_STS_ERROR ;
3123: -- Uncommented this code to get proper error messages for Bug 5000619
3124: FND_MSG_PUB.Count_And_Get(
3125: p_count => x_msg_count,
3118: p_data => x_msg_data
3119: );
3120:
3121: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
3122: x_return_status := FND_API.G_RET_STS_ERROR ;
3123: -- Uncommented this code to get proper error messages for Bug 5000619
3124: FND_MSG_PUB.Count_And_Get(
3125: p_count => x_msg_count,
3126: p_data => x_msg_data
3126: p_data => x_msg_data
3127: );
3128:
3129: WHEN OTHERS THEN
3130: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
3131:
3132: IF FND_MSG_PUB.Check_Msg_Level
3133: (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
3134: THEN
3307:
3308: IF (p_config_header_id IS NULL OR p_config_rev_nbr IS NULL)
3309: THEN
3310: x_msg_data := 'OKC_EXPRT_NULL_PARAM';
3311: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3312: END IF;
3313:
3314: --
3315: -- Get New Article QA Code Severity and Name
3320: x_qa_name => l_new_expert_article_desc,
3321: x_severity_flag => l_new_expert_article_sev,
3322: x_return_status => x_return_status);
3323:
3324: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR)
3325: THEN
3326: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
3327: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
3328: RAISE FND_API.G_EXC_ERROR ;
3322: x_return_status => x_return_status);
3323:
3324: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR)
3325: THEN
3326: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
3327: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
3328: RAISE FND_API.G_EXC_ERROR ;
3329: END IF;
3330:
3323:
3324: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR)
3325: THEN
3326: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
3327: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
3328: RAISE FND_API.G_EXC_ERROR ;
3329: END IF;
3330:
3331:
3324: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR)
3325: THEN
3326: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
3327: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
3328: RAISE FND_API.G_EXC_ERROR ;
3329: END IF;
3330:
3331:
3332:
3340: x_severity_flag => l_new_expert_article_sev,
3341: x_return_status => x_return_status);
3342:
3343:
3344: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR)
3345: THEN
3346: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
3347: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
3348: RAISE FND_API.G_EXC_ERROR ;
3342:
3343:
3344: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR)
3345: THEN
3346: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
3347: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
3348: RAISE FND_API.G_EXC_ERROR ;
3349: END IF;
3350: */
3343:
3344: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR)
3345: THEN
3346: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
3347: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
3348: RAISE FND_API.G_EXC_ERROR ;
3349: END IF;
3350: */
3351:
3344: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR)
3345: THEN
3346: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
3347: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
3348: RAISE FND_API.G_EXC_ERROR ;
3349: END IF;
3350: */
3351:
3352: --
3358: x_qa_name => l_old_expert_article_desc,
3359: x_severity_flag => l_old_expert_article_sev,
3360: x_return_status => x_return_status);
3361:
3362: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR)
3363: THEN
3364: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
3365: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
3366: RAISE FND_API.G_EXC_ERROR ;
3360: x_return_status => x_return_status);
3361:
3362: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR)
3363: THEN
3364: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
3365: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
3366: RAISE FND_API.G_EXC_ERROR ;
3367: END IF;
3368:
3361:
3362: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR)
3363: THEN
3364: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
3365: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
3366: RAISE FND_API.G_EXC_ERROR ;
3367: END IF;
3368:
3369:
3362: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR)
3363: THEN
3364: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
3365: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
3366: RAISE FND_API.G_EXC_ERROR ;
3367: END IF;
3368:
3369:
3370: /* --
3375: x_qa_name => l_old_expert_article_desc,
3376: x_severity_flag => l_old_expert_article_sev,
3377: x_return_status => x_return_status);
3378:
3379: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR)
3380: THEN
3381: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
3382: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
3383: RAISE FND_API.G_EXC_ERROR ;
3377: x_return_status => x_return_status);
3378:
3379: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR)
3380: THEN
3381: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
3382: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
3383: RAISE FND_API.G_EXC_ERROR ;
3384: END IF;
3385:
3378:
3379: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR)
3380: THEN
3381: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
3382: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
3383: RAISE FND_API.G_EXC_ERROR ;
3384: END IF;
3385:
3386: */
3379: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR)
3380: THEN
3381: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
3382: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
3383: RAISE FND_API.G_EXC_ERROR ;
3384: END IF;
3385:
3386: */
3387: IF l_perf_old_expert_art <> 'Y' THEN
3391: IF l_perf_new_expert_art <> 'Y' THEN
3392: l_new_expert_article_sev := 'W';
3393: END IF;
3394:
3395: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR)
3396: THEN
3397: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
3398: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
3399: RAISE FND_API.G_EXC_ERROR ;
3393: END IF;
3394:
3395: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR)
3396: THEN
3397: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
3398: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
3399: RAISE FND_API.G_EXC_ERROR ;
3400: END IF;
3401:
3394:
3395: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR)
3396: THEN
3397: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
3398: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
3399: RAISE FND_API.G_EXC_ERROR ;
3400: END IF;
3401:
3402: --
3395: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR)
3396: THEN
3397: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
3398: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
3399: RAISE FND_API.G_EXC_ERROR ;
3400: END IF;
3401:
3402: --
3403: -- Select Articles from configuration
3611: END IF;
3612:
3613: EXCEPTION
3614:
3615: WHEN FND_API.G_EXC_ERROR THEN
3616: IF l_articles_only_in_doc%ISOPEN
3617: THEN
3618: CLOSE l_articles_only_in_doc;
3619: END IF;
3632: THEN
3633: CLOSE l_article_in_doc;
3634: END IF;
3635:
3636: x_return_status := FND_API.G_RET_STS_ERROR ;
3637: FND_MSG_PUB.Count_And_Get(
3638: p_count => x_msg_count,
3639: p_data => x_msg_data
3640: );
3638: p_count => x_msg_count,
3639: p_data => x_msg_data
3640: );
3641:
3642: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
3643: IF l_articles_only_in_doc%ISOPEN
3644: THEN
3645: CLOSE l_articles_only_in_doc;
3646: END IF;
3657: IF l_article_in_doc%ISOPEN
3658: THEN
3659: CLOSE l_article_in_doc;
3660: END IF;
3661: x_return_status := FND_API.G_RET_STS_ERROR ;
3662: FND_MSG_PUB.Count_And_Get(
3663: p_count => x_msg_count,
3664: p_data => x_msg_data
3665: );
3682: IF l_article_in_doc%ISOPEN
3683: THEN
3684: CLOSE l_article_in_doc;
3685: END IF;
3686: x_return_status := FND_API.G_RET_STS_ERROR ;
3687: FND_MSG_PUB.Count_And_Get(
3688: p_count => x_msg_count,
3689: p_data => x_msg_data
3690: );
3688: p_count => x_msg_count,
3689: p_data => x_msg_data
3690: );
3691:
3692: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
3693:
3694: IF FND_MSG_PUB.Check_Msg_Level
3695: (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
3696: THEN
3798:
3799: --
3800: -- Standard call to check for call compatibility.
3801: --
3802: IF NOT FND_API.Compatible_API_Call (l_api_version,
3803: p_api_version,
3804: l_api_name,
3805: G_PKG_NAME)
3806: THEN
3803: p_api_version,
3804: l_api_name,
3805: G_PKG_NAME)
3806: THEN
3807: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3808: END IF;
3809:
3810: --
3811: -- Initialize message list if p_init_msg_list is set to TRUE.
3809:
3810: --
3811: -- Initialize message list if p_init_msg_list is set to TRUE.
3812: --
3813: IF FND_API.to_Boolean( p_init_msg_list ) THEN
3814: FND_MSG_PUB.initialize;
3815: END IF;
3816:
3817:
3817:
3818: IF (p_config_header_id IS NULL OR p_config_rev_nbr IS NULL)
3819: THEN
3820: x_msg_data := 'OKC_EXPRT_NULL_PARAM';
3821: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3822: END IF;
3823:
3824: --
3825: -- Initialize API return status to success
3823:
3824: --
3825: -- Initialize API return status to success
3826: --
3827: x_return_status := FND_API.G_RET_STS_SUCCESS;
3828:
3829: --
3830: -- This SQL is based on Drop 1 changes to
3831: -- cz_config_items_v, where CZ will
3892: END IF;
3893:
3894: EXCEPTION
3895:
3896: WHEN FND_API.G_EXC_ERROR THEN
3897:
3898: x_return_status := FND_API.G_RET_STS_ERROR ;
3899: FND_MSG_PUB.Count_And_Get(
3900: p_count => x_msg_count,
3894: EXCEPTION
3895:
3896: WHEN FND_API.G_EXC_ERROR THEN
3897:
3898: x_return_status := FND_API.G_RET_STS_ERROR ;
3899: FND_MSG_PUB.Count_And_Get(
3900: p_count => x_msg_count,
3901: p_data => x_msg_data
3902: );
3900: p_count => x_msg_count,
3901: p_data => x_msg_data
3902: );
3903:
3904: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
3905: x_return_status := FND_API.G_RET_STS_ERROR ;
3906: FND_MSG_PUB.Count_And_Get(
3907: p_count => x_msg_count,
3908: p_data => x_msg_data
3901: p_data => x_msg_data
3902: );
3903:
3904: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
3905: x_return_status := FND_API.G_RET_STS_ERROR ;
3906: FND_MSG_PUB.Count_And_Get(
3907: p_count => x_msg_count,
3908: p_data => x_msg_data
3909: );
3908: p_data => x_msg_data
3909: );
3910:
3911: WHEN OTHERS THEN
3912: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
3913:
3914: IF FND_MSG_PUB.Check_Msg_Level
3915: (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
3916: THEN
4013:
4014: --
4015: -- Standard call to check for call compatibility.
4016: --
4017: IF NOT FND_API.Compatible_API_Call (l_api_version,
4018: p_api_version,
4019: l_api_name,
4020: G_PKG_NAME)
4021: THEN
4018: p_api_version,
4019: l_api_name,
4020: G_PKG_NAME)
4021: THEN
4022: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4023: END IF;
4024:
4025: --
4026: -- Initialize message list if p_init_msg_list is set to TRUE.
4024:
4025: --
4026: -- Initialize message list if p_init_msg_list is set to TRUE.
4027: --
4028: IF FND_API.to_Boolean( p_init_msg_list ) THEN
4029: FND_MSG_PUB.initialize;
4030: END IF;
4031:
4032: IF (p_config_header_id is NULL OR p_config_rev_nbr is NULL OR
4032: IF (p_config_header_id is NULL OR p_config_rev_nbr is NULL OR
4033: p_document_id is NULL OR p_document_type is NULL)
4034: THEN
4035: x_msg_data := 'OKC_EXPRT_NULL_PARAM';
4036: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4037: END IF;
4038:
4039: --
4040: -- Initialize API return status to success
4038:
4039: --
4040: -- Initialize API return status to success
4041: --
4042: x_return_status := FND_API.G_RET_STS_SUCCESS;
4043:
4044:
4045: -- Read the previous configuration to be deleted
4046: OPEN csr_old_config_dtls;
4058: -- Call API to Update Document with new Expert configuration
4059: --
4060: OKC_TERMS_MULTIREC_GRP.sync_doc_with_expert(
4061: p_api_version => 1,
4062: p_init_msg_list => FND_API.G_FALSE,
4063: p_validate_commit => FND_API.G_FALSE,
4064: p_validation_string => l_validation_string,
4065: p_commit => FND_API.G_FALSE,
4066: p_doc_type => p_document_type,
4059: --
4060: OKC_TERMS_MULTIREC_GRP.sync_doc_with_expert(
4061: p_api_version => 1,
4062: p_init_msg_list => FND_API.G_FALSE,
4063: p_validate_commit => FND_API.G_FALSE,
4064: p_validation_string => l_validation_string,
4065: p_commit => FND_API.G_FALSE,
4066: p_doc_type => p_document_type,
4067: p_doc_id => p_document_id,
4061: p_api_version => 1,
4062: p_init_msg_list => FND_API.G_FALSE,
4063: p_validate_commit => FND_API.G_FALSE,
4064: p_validation_string => l_validation_string,
4065: p_commit => FND_API.G_FALSE,
4066: p_doc_type => p_document_type,
4067: p_doc_id => p_document_id,
4068: p_article_id_tbl => l_expert_articles_tbl,
4069: p_mode => p_doc_update_mode, -- Defaults to 'NORMAL'
4072: x_msg_count => x_msg_count,
4073: x_msg_data => x_msg_data);
4074:
4075:
4076: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
4077: raise FND_API.G_EXC_UNEXPECTED_ERROR;
4078: END IF;
4079:
4080:
4073: x_msg_data => x_msg_data);
4074:
4075:
4076: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
4077: raise FND_API.G_EXC_UNEXPECTED_ERROR;
4078: END IF;
4079:
4080:
4081: --
4093:
4094: /*
4095: OKC_TEMPLATE_USAGES_GRP.update_template_usages(
4096: p_api_version => 1,
4097: p_init_msg_list => FND_API.G_FALSE,
4098: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
4099: p_commit => FND_API.G_FALSE,
4100: x_return_status => x_return_status,
4101: x_msg_count => x_msg_count,
4094: /*
4095: OKC_TEMPLATE_USAGES_GRP.update_template_usages(
4096: p_api_version => 1,
4097: p_init_msg_list => FND_API.G_FALSE,
4098: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
4099: p_commit => FND_API.G_FALSE,
4100: x_return_status => x_return_status,
4101: x_msg_count => x_msg_count,
4102: x_msg_data => x_msg_data,
4095: OKC_TEMPLATE_USAGES_GRP.update_template_usages(
4096: p_api_version => 1,
4097: p_init_msg_list => FND_API.G_FALSE,
4098: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
4099: p_commit => FND_API.G_FALSE,
4100: x_return_status => x_return_status,
4101: x_msg_count => x_msg_count,
4102: x_msg_data => x_msg_data,
4103: p_document_type => p_document_type,
4112: p_object_version_number => 1
4113: );
4114:
4115:
4116: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
4117: raise FND_API.G_EXC_UNEXPECTED_ERROR;
4118: END IF;
4119:
4120: */
4113: );
4114:
4115:
4116: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
4117: raise FND_API.G_EXC_UNEXPECTED_ERROR;
4118: END IF;
4119:
4120: */
4121:
4127: l_old_config_revision_number IS NOT NULL ) THEN
4128:
4129: OKC_XPRT_CZ_INT_PVT.delete_configuration(
4130: p_api_version => 1.0,
4131: p_init_msg_list => FND_API.G_FALSE,
4132: p_config_header_id => l_old_config_header_id,
4133: p_config_rev_nbr => l_old_config_revision_number,
4134: x_return_status => x_return_status,
4135: x_msg_data => x_msg_data,
4136: x_msg_count => x_msg_count);
4137:
4138: END IF; -- delete the old configuration
4139:
4140: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
4141: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4142: END IF;
4143:
4144:
4137:
4138: END IF; -- delete the old configuration
4139:
4140: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
4141: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4142: END IF;
4143:
4144:
4145: --
4176: END IF;
4177:
4178: EXCEPTION
4179:
4180: WHEN FND_API.G_EXC_ERROR THEN
4181:
4182: x_return_status := FND_API.G_RET_STS_ERROR ;
4183: FND_MSG_PUB.Count_And_Get(
4184: p_count => x_msg_count,
4178: EXCEPTION
4179:
4180: WHEN FND_API.G_EXC_ERROR THEN
4181:
4182: x_return_status := FND_API.G_RET_STS_ERROR ;
4183: FND_MSG_PUB.Count_And_Get(
4184: p_count => x_msg_count,
4185: p_data => x_msg_data
4186: );
4184: p_count => x_msg_count,
4185: p_data => x_msg_data
4186: );
4187:
4188: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
4189: x_return_status := FND_API.G_RET_STS_ERROR ;
4190: FND_MSG_PUB.Count_And_Get(
4191: p_count => x_msg_count,
4192: p_data => x_msg_data
4185: p_data => x_msg_data
4186: );
4187:
4188: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
4189: x_return_status := FND_API.G_RET_STS_ERROR ;
4190: FND_MSG_PUB.Count_And_Get(
4191: p_count => x_msg_count,
4192: p_data => x_msg_data
4193: );
4192: p_data => x_msg_data
4193: );
4194:
4195: WHEN OTHERS THEN
4196: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
4197:
4198: IF FND_MSG_PUB.Check_Msg_Level
4199: (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
4200: THEN
4272:
4273: --
4274: -- Standard call to check for call compatibility.
4275: --
4276: IF NOT FND_API.Compatible_API_Call (l_api_version,
4277: p_api_version,
4278: l_api_name,
4279: G_PKG_NAME)
4280: THEN
4277: p_api_version,
4278: l_api_name,
4279: G_PKG_NAME)
4280: THEN
4281: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4282: END IF;
4283:
4284: --
4285: -- Initialize message list if p_init_msg_list is set to TRUE.
4283:
4284: --
4285: -- Initialize message list if p_init_msg_list is set to TRUE.
4286: --
4287: IF FND_API.to_Boolean( p_init_msg_list ) THEN
4288: FND_MSG_PUB.initialize;
4289: END IF;
4290:
4291: IF (p_config_header_id is NULL OR p_config_rev_nbr is NULL OR
4291: IF (p_config_header_id is NULL OR p_config_rev_nbr is NULL OR
4292: p_document_id is NULL OR p_document_type is NULL)
4293: THEN
4294: x_msg_data := 'OKC_EXPRT_NULL_PARAM';
4295: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4296: END IF;
4297:
4298: --
4299: -- Initialize API return status to success
4297:
4298: --
4299: -- Initialize API return status to success
4300: --
4301: x_return_status := FND_API.G_RET_STS_SUCCESS;
4302:
4303:
4304: -- Read the previous configuration to be deleted
4305: OPEN csr_old_config_dtls;
4322:
4323: /*
4324: OKC_TEMPLATE_USAGES_GRP.update_template_usages(
4325: p_api_version => 1,
4326: p_init_msg_list => FND_API.G_FALSE,
4327: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
4328: p_commit => FND_API.G_FALSE,
4329: x_return_status => x_return_status,
4330: x_msg_count => x_msg_count,
4323: /*
4324: OKC_TEMPLATE_USAGES_GRP.update_template_usages(
4325: p_api_version => 1,
4326: p_init_msg_list => FND_API.G_FALSE,
4327: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
4328: p_commit => FND_API.G_FALSE,
4329: x_return_status => x_return_status,
4330: x_msg_count => x_msg_count,
4331: x_msg_data => x_msg_data,
4324: OKC_TEMPLATE_USAGES_GRP.update_template_usages(
4325: p_api_version => 1,
4326: p_init_msg_list => FND_API.G_FALSE,
4327: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
4328: p_commit => FND_API.G_FALSE,
4329: x_return_status => x_return_status,
4330: x_msg_count => x_msg_count,
4331: x_msg_data => x_msg_data,
4332: p_document_type => p_document_type,
4341: p_object_version_number => 1
4342: );
4343:
4344:
4345: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
4346: raise FND_API.G_EXC_UNEXPECTED_ERROR;
4347: END IF;
4348:
4349: */
4342: );
4343:
4344:
4345: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
4346: raise FND_API.G_EXC_UNEXPECTED_ERROR;
4347: END IF;
4348:
4349: */
4350:
4356: l_old_config_revision_number IS NOT NULL ) THEN
4357:
4358: OKC_XPRT_CZ_INT_PVT.delete_configuration(
4359: p_api_version => 1.0,
4360: p_init_msg_list => FND_API.G_FALSE,
4361: p_config_header_id => l_old_config_header_id,
4362: p_config_rev_nbr => l_old_config_revision_number,
4363: x_return_status => x_return_status,
4364: x_msg_data => x_msg_data,
4365: x_msg_count => x_msg_count);
4366:
4367: END IF; -- delete the old configuration
4368:
4369: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
4370: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4371: END IF;
4372:
4373:
4366:
4367: END IF; -- delete the old configuration
4368:
4369: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
4370: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4371: END IF;
4372:
4373:
4374: EXCEPTION
4372:
4373:
4374: EXCEPTION
4375:
4376: WHEN FND_API.G_EXC_ERROR THEN
4377:
4378: x_return_status := FND_API.G_RET_STS_ERROR ;
4379: FND_MSG_PUB.Count_And_Get(
4380: p_count => x_msg_count,
4374: EXCEPTION
4375:
4376: WHEN FND_API.G_EXC_ERROR THEN
4377:
4378: x_return_status := FND_API.G_RET_STS_ERROR ;
4379: FND_MSG_PUB.Count_And_Get(
4380: p_count => x_msg_count,
4381: p_data => x_msg_data
4382: );
4380: p_count => x_msg_count,
4381: p_data => x_msg_data
4382: );
4383:
4384: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
4385: x_return_status := FND_API.G_RET_STS_ERROR ;
4386: FND_MSG_PUB.Count_And_Get(
4387: p_count => x_msg_count,
4388: p_data => x_msg_data
4381: p_data => x_msg_data
4382: );
4383:
4384: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
4385: x_return_status := FND_API.G_RET_STS_ERROR ;
4386: FND_MSG_PUB.Count_And_Get(
4387: p_count => x_msg_count,
4388: p_data => x_msg_data
4389: );
4388: p_data => x_msg_data
4389: );
4390:
4391: WHEN OTHERS THEN
4392: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
4393:
4394: IF FND_MSG_PUB.Check_Msg_Level
4395: (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
4396: THEN
4466:
4467: l_doc_lib := 'D';
4468:
4469: -- Standard call to check for call compatibility.
4470: IF NOT FND_API.Compatible_API_Call( l_api_version, p_api_version, l_api_name, G_PKG_NAME) THEN
4471: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4472: END IF;
4473: -- Initialize message list if p_init_msg_list is set to TRUE.
4474: IF FND_API.to_Boolean( p_init_msg_list ) THEN
4467: l_doc_lib := 'D';
4468:
4469: -- Standard call to check for call compatibility.
4470: IF NOT FND_API.Compatible_API_Call( l_api_version, p_api_version, l_api_name, G_PKG_NAME) THEN
4471: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4472: END IF;
4473: -- Initialize message list if p_init_msg_list is set to TRUE.
4474: IF FND_API.to_Boolean( p_init_msg_list ) THEN
4475: FND_MSG_PUB.initialize;
4470: IF NOT FND_API.Compatible_API_Call( l_api_version, p_api_version, l_api_name, G_PKG_NAME) THEN
4471: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4472: END IF;
4473: -- Initialize message list if p_init_msg_list is set to TRUE.
4474: IF FND_API.to_Boolean( p_init_msg_list ) THEN
4475: FND_MSG_PUB.initialize;
4476: END IF;
4477:
4478: -- Initialize API return status to success
4499: x_doc_lib := l_doc_lib;
4500: FND_MSG_PUB.Count_And_Get(p_encoded=>'F', p_count => x_msg_count, p_data => x_msg_data );
4501:
4502: EXCEPTION
4503: WHEN FND_API.G_EXC_ERROR THEN
4504: x_return_status := G_RET_STS_ERROR ;
4505: FND_MSG_PUB.Count_And_Get(p_encoded=>'F', p_count => x_msg_count, p_data => x_msg_data );
4506:
4507: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
4503: WHEN FND_API.G_EXC_ERROR THEN
4504: x_return_status := G_RET_STS_ERROR ;
4505: FND_MSG_PUB.Count_And_Get(p_encoded=>'F', p_count => x_msg_count, p_data => x_msg_data );
4506:
4507: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
4508: x_return_status := G_RET_STS_UNEXP_ERROR ;
4509: FND_MSG_PUB.Count_And_Get(p_encoded=>'F', p_count => x_msg_count, p_data => x_msg_data );
4510:
4511: WHEN OTHERS THEN
5914: '1000: Leaving '||G_PKG_NAME ||'.'||l_api_name);
5915: END IF;
5916:
5917: EXCEPTION
5918: WHEN FND_API.G_EXC_ERROR THEN
5919: IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
5920: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
5921: G_MODULE||l_api_name,
5922: '2000: Leaving '||G_PKG_NAME ||'.'||l_api_name);
5925: x_return_status := G_RET_STS_ERROR ;
5926: x_msg_data := SQLERRM;
5927: FND_MSG_PUB.Count_And_Get(p_encoded=>'F', p_count => x_msg_count, p_data => x_msg_data );
5928:
5929: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
5930: IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
5931: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
5932: G_MODULE||l_api_name,
5933: '3000: Leaving '||G_PKG_NAME ||'.'||l_api_name);
6067: fnd_file.put_line(FND_FILE.LOG,' ');
6068:
6069: --- If any errors happen abort API
6070: IF (x_return_status = G_RET_STS_UNEXP_ERROR) THEN
6071: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6072: ELSIF (x_return_status = G_RET_STS_ERROR) THEN
6073: RAISE FND_API.G_EXC_ERROR;
6074: END IF;
6075:
6069: --- If any errors happen abort API
6070: IF (x_return_status = G_RET_STS_UNEXP_ERROR) THEN
6071: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6072: ELSIF (x_return_status = G_RET_STS_ERROR) THEN
6073: RAISE FND_API.G_EXC_ERROR;
6074: END IF;
6075:
6076: -- If QA had one or more errors, log the errors
6077: IF x_qa_status <> 'S' THEN
6097: '1000: Leaving '||G_PKG_NAME ||'.'||l_api_name);
6098: END IF;
6099:
6100: EXCEPTION
6101: WHEN FND_API.G_EXC_ERROR THEN
6102: IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
6103: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
6104: G_MODULE||l_api_name,
6105: '2000: Leaving '||G_PKG_NAME ||'.'||l_api_name);
6107:
6108: x_return_status := G_RET_STS_ERROR ;
6109: FND_MSG_PUB.Count_And_Get(p_encoded=>'F', p_count => x_msg_count, p_data => x_msg_data );
6110:
6111: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
6112: IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
6113: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
6114: G_MODULE||l_api_name,
6115: '3000: Leaving '||G_PKG_NAME ||'.'||l_api_name);
6369:
6370: --
6371: -- Standard call to check for call compatibility.
6372: --
6373: IF NOT FND_API.Compatible_API_Call (l_api_version,
6374: p_api_version,
6375: l_api_name,
6376: G_PKG_NAME)
6377: THEN
6374: p_api_version,
6375: l_api_name,
6376: G_PKG_NAME)
6377: THEN
6378: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6379: END IF;
6380:
6381: --
6382: -- Initialize message list if p_init_msg_list is set to TRUE.
6380:
6381: --
6382: -- Initialize message list if p_init_msg_list is set to TRUE.
6383: --
6384: IF FND_API.to_Boolean( p_init_msg_list ) THEN
6385: FND_MSG_PUB.initialize;
6386: END IF;
6387:
6388: --
6387:
6388: --
6389: -- Initialize API return status to success
6390: --
6391: x_return_status := FND_API.G_RET_STS_SUCCESS;
6392:
6393: -- get usage name for Any Usage
6394: -- Defaults to CZ: Publication Usage profile
6395: OPEN csr_model_usage_name;
6525:
6526: --
6527: -- Initialize API return status to success
6528: --
6529: x_return_status := FND_API.G_RET_STS_SUCCESS;
6530:
6531: OPEN l_get_qa_detail_csr;
6532: FETCH l_get_qa_detail_csr INTO x_qa_name,
6533: x_severity_flag,
6536: FND_MESSAGE.set_name(G_APP_NAME, G_OKC_MSG_INVALID_ARGUMENT);
6537: FND_MESSAGE.set_token('ARG_NAME', 'p_qa_code');
6538: FND_MESSAGE.set_token('ARG_VALUE', p_qa_code);
6539: FND_MSG_PUB.add;
6540: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
6541: END IF;
6542: CLOSE l_get_qa_detail_csr;
6543:
6544: -- end debug log
6549: END IF;
6550:
6551:
6552: EXCEPTION
6553: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
6554: IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
6555: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
6556: G_MODULE||l_api_name,
6557: '3000: Leaving '||G_PKG_NAME ||'.'||l_api_name);
6591: p_init_msg_list IN VARCHAR2,
6592: p_template_id IN NUMBER,
6593: p_document_id IN NUMBER,
6594: p_document_type IN VARCHAR2,
6595: x_enable_expert_button OUT NOCOPY VARCHAR2, -- FND_API.G_FALSE or G_TRUE
6596: x_return_status OUT NOCOPY VARCHAR2,
6597: x_msg_count OUT NOCOPY NUMBER,
6598: x_msg_data OUT NOCOPY VARCHAR2
6599: ) IS
6641:
6642: --
6643: -- Standard call to check for call compatibility.
6644: --
6645: IF NOT FND_API.Compatible_API_Call (l_api_version,
6646: p_api_version,
6647: l_api_name,
6648: G_PKG_NAME)
6649: THEN
6646: p_api_version,
6647: l_api_name,
6648: G_PKG_NAME)
6649: THEN
6650: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6651: END IF;
6652:
6653: --
6654: -- Initialize message list if p_init_msg_list is set to TRUE.
6652:
6653: --
6654: -- Initialize message list if p_init_msg_list is set to TRUE.
6655: --
6656: IF FND_API.to_Boolean( p_init_msg_list ) THEN
6657: FND_MSG_PUB.initialize;
6658: END IF;
6659:
6660: --
6659:
6660: --
6661: -- Initialize API return status to success
6662: --
6663: x_enable_expert_button := FND_API.G_FALSE;
6664: x_return_status := FND_API.G_RET_STS_SUCCESS;
6665:
6666: -- If documentType is 'OKS' then 'Expert Button' should not be displayed
6667: --
6660: --
6661: -- Initialize API return status to success
6662: --
6663: x_enable_expert_button := FND_API.G_FALSE;
6664: x_return_status := FND_API.G_RET_STS_SUCCESS;
6665:
6666: -- If documentType is 'OKS' then 'Expert Button' should not be displayed
6667: --
6668:
6666: -- If documentType is 'OKS' then 'Expert Button' should not be displayed
6667: --
6668:
6669: IF(p_document_type is not null and trim(p_document_type)='OKS') THEN
6670: x_enable_expert_button := FND_API.G_FALSE;
6671: RETURN;
6672: END IF;
6673:
6674: -- bug 4234476
6677: CLOSE csr_sourcing_level;
6678:
6679: IF l_document_type_class='SOURCING' AND l_variable_resolution_am = 'X' THEN
6680: -- Not Expert enabled
6681: x_enable_expert_button := FND_API.G_FALSE;
6682: RETURN ;
6683: END IF;
6684:
6685:
6693: FND_PROFILE.GET(name=> 'OKC_K_EXPERT_ENABLED', val => l_ce_profile_option_enabled );
6694:
6695: IF NVL(l_ce_profile_option_enabled,'N') = 'N' THEN
6696: -- Not Expert enabled
6697: x_enable_expert_button := FND_API.G_FALSE;
6698: RETURN ;
6699: END IF;
6700:
6701:
6710:
6711: IF (l_config_header_id is not NULL)
6712: THEN
6713:
6714: x_enable_expert_button := FND_API.G_TRUE;
6715:
6716: ELSE
6717: --
6718: -- Is Template enabled for Expert?
6723:
6724: IF (upper(l_expert_enabled) = 'Y')
6725: THEN
6726:
6727: x_enable_expert_button := FND_API.G_TRUE;
6728:
6729: END IF; -- end l_expert_enabled
6730:
6731: END IF; -- l_config_header_id is not null
6739: END IF;
6740:
6741: EXCEPTION
6742:
6743: WHEN FND_API.G_EXC_ERROR THEN
6744: IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
6745: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
6746: G_MODULE||l_api_name,
6747: '2000: Leaving '||G_PKG_NAME ||'.'||l_api_name);
6746: G_MODULE||l_api_name,
6747: '2000: Leaving '||G_PKG_NAME ||'.'||l_api_name);
6748: END IF;
6749:
6750: x_return_status := FND_API.G_RET_STS_ERROR ;
6751: FND_MSG_PUB.Count_And_Get(
6752: p_count => x_msg_count,
6753: p_data => x_msg_data
6754: );
6752: p_count => x_msg_count,
6753: p_data => x_msg_data
6754: );
6755:
6756: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
6757: IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
6758: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
6759: G_MODULE||l_api_name,
6760: '3000: Leaving '||G_PKG_NAME ||'.'||l_api_name);
6759: G_MODULE||l_api_name,
6760: '3000: Leaving '||G_PKG_NAME ||'.'||l_api_name);
6761: END IF;
6762:
6763: x_return_status := FND_API.G_RET_STS_ERROR ;
6764: FND_MSG_PUB.Count_And_Get(
6765: p_count => x_msg_count,
6766: p_data => x_msg_data
6767: );
6772: G_MODULE||l_api_name,
6773: '4000: Leaving '||G_PKG_NAME ||'.'||l_api_name);
6774: END IF;
6775:
6776: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
6777:
6778: IF FND_MSG_PUB.Check_Msg_Level
6779: (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
6780: THEN
6894:
6895: --
6896: -- Standard call to check for call compatibility.
6897: --
6898: IF NOT FND_API.Compatible_API_Call (l_api_version,
6899: p_api_version,
6900: l_api_name,
6901: G_PKG_NAME)
6902: THEN
6899: p_api_version,
6900: l_api_name,
6901: G_PKG_NAME)
6902: THEN
6903: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6904: END IF;
6905:
6906: --
6907: -- Initialize message list if p_init_msg_list is set to TRUE.
6905:
6906: --
6907: -- Initialize message list if p_init_msg_list is set to TRUE.
6908: --
6909: IF FND_API.to_Boolean( p_init_msg_list ) THEN
6910: FND_MSG_PUB.initialize;
6911: END IF;
6912:
6913:
6913:
6914: IF (p_config_header_id IS NULL OR p_config_rev_nbr IS NULL)
6915: THEN
6916: x_msg_data := 'OKC_EXPRT_NULL_PARAM';
6917: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6918: END IF;
6919:
6920: --
6921: -- Initialize API return status to success
6919:
6920: --
6921: -- Initialize API return status to success
6922: --
6923: x_return_status := FND_API.G_RET_STS_SUCCESS;
6924:
6925: --
6926: -- If provisions are allowed on current document type then just return all
6927: -- the articles suggested by expert
6986: END IF;
6987:
6988: EXCEPTION
6989:
6990: WHEN FND_API.G_EXC_ERROR THEN
6991:
6992: x_return_status := FND_API.G_RET_STS_ERROR ;
6993: FND_MSG_PUB.Count_And_Get(
6994: p_count => x_msg_count,
6988: EXCEPTION
6989:
6990: WHEN FND_API.G_EXC_ERROR THEN
6991:
6992: x_return_status := FND_API.G_RET_STS_ERROR ;
6993: FND_MSG_PUB.Count_And_Get(
6994: p_count => x_msg_count,
6995: p_data => x_msg_data
6996: );
6994: p_count => x_msg_count,
6995: p_data => x_msg_data
6996: );
6997:
6998: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
6999: x_return_status := FND_API.G_RET_STS_ERROR ;
7000: FND_MSG_PUB.Count_And_Get(
7001: p_count => x_msg_count,
7002: p_data => x_msg_data
6995: p_data => x_msg_data
6996: );
6997:
6998: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
6999: x_return_status := FND_API.G_RET_STS_ERROR ;
7000: FND_MSG_PUB.Count_And_Get(
7001: p_count => x_msg_count,
7002: p_data => x_msg_data
7003: );
7002: p_data => x_msg_data
7003: );
7004:
7005: WHEN OTHERS THEN
7006: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
7007:
7008: IF FND_MSG_PUB.Check_Msg_Level
7009: (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
7010: THEN
7087:
7088: --
7089: -- Standard call to check for call compatibility.
7090: --
7091: IF NOT FND_API.Compatible_API_Call (l_api_version,
7092: p_api_version,
7093: l_api_name,
7094: G_PKG_NAME)
7095: THEN
7092: p_api_version,
7093: l_api_name,
7094: G_PKG_NAME)
7095: THEN
7096: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7097: END IF;
7098:
7099: --
7100: -- Initialize message list if p_init_msg_list is set to TRUE.
7098:
7099: --
7100: -- Initialize message list if p_init_msg_list is set to TRUE.
7101: --
7102: IF FND_API.to_Boolean( p_init_msg_list ) THEN
7103: FND_MSG_PUB.initialize;
7104: END IF;
7105:
7106:
7106:
7107: --
7108: -- Initialize API return status to success
7109: --
7110: x_return_status := FND_API.G_RET_STS_SUCCESS;
7111:
7112: --
7113: -- Select Deviation Rules from configuration
7114: --
7137: END IF;
7138:
7139: EXCEPTION
7140:
7141: WHEN FND_API.G_EXC_ERROR THEN
7142:
7143: x_return_status := FND_API.G_RET_STS_ERROR ;
7144: FND_MSG_PUB.Count_And_Get(
7145: p_count => x_msg_count,
7139: EXCEPTION
7140:
7141: WHEN FND_API.G_EXC_ERROR THEN
7142:
7143: x_return_status := FND_API.G_RET_STS_ERROR ;
7144: FND_MSG_PUB.Count_And_Get(
7145: p_count => x_msg_count,
7146: p_data => x_msg_data
7147: );
7145: p_count => x_msg_count,
7146: p_data => x_msg_data
7147: );
7148:
7149: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
7150: x_return_status := FND_API.G_RET_STS_ERROR ;
7151: FND_MSG_PUB.Count_And_Get(
7152: p_count => x_msg_count,
7153: p_data => x_msg_data
7146: p_data => x_msg_data
7147: );
7148:
7149: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
7150: x_return_status := FND_API.G_RET_STS_ERROR ;
7151: FND_MSG_PUB.Count_And_Get(
7152: p_count => x_msg_count,
7153: p_data => x_msg_data
7154: );
7153: p_data => x_msg_data
7154: );
7155:
7156: WHEN OTHERS THEN
7157: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
7158:
7159: IF FND_MSG_PUB.Check_Msg_Level
7160: (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
7161: THEN
7241:
7242: --
7243: -- Standard call to check for call compatibility.
7244: --
7245: IF NOT FND_API.Compatible_API_Call (l_api_version,
7246: p_api_version,
7247: l_api_name,
7248: G_PKG_NAME)
7249: THEN
7246: p_api_version,
7247: l_api_name,
7248: G_PKG_NAME)
7249: THEN
7250: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7251: END IF;
7252:
7253: --
7254: -- Initialize message list if p_init_msg_list is set to TRUE.
7252:
7253: --
7254: -- Initialize message list if p_init_msg_list is set to TRUE.
7255: --
7256: IF FND_API.to_Boolean( p_init_msg_list ) THEN
7257: FND_MSG_PUB.initialize;
7258: END IF;
7259:
7260:
7260:
7261: --
7262: -- Initialize API return status to success
7263: --
7264: x_return_status := FND_API.G_RET_STS_SUCCESS;
7265:
7266: --
7267: -- Select Variable values from Temp table
7268: --
7304: END IF;
7305:
7306: EXCEPTION
7307:
7308: WHEN FND_API.G_EXC_ERROR THEN
7309:
7310: x_return_status := FND_API.G_RET_STS_ERROR ;
7311: FND_MSG_PUB.Count_And_Get(
7312: p_count => x_msg_count,
7306: EXCEPTION
7307:
7308: WHEN FND_API.G_EXC_ERROR THEN
7309:
7310: x_return_status := FND_API.G_RET_STS_ERROR ;
7311: FND_MSG_PUB.Count_And_Get(
7312: p_count => x_msg_count,
7313: p_data => x_msg_data
7314: );
7312: p_count => x_msg_count,
7313: p_data => x_msg_data
7314: );
7315:
7316: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
7317: x_return_status := FND_API.G_RET_STS_ERROR ;
7318: FND_MSG_PUB.Count_And_Get(
7319: p_count => x_msg_count,
7320: p_data => x_msg_data
7313: p_data => x_msg_data
7314: );
7315:
7316: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
7317: x_return_status := FND_API.G_RET_STS_ERROR ;
7318: FND_MSG_PUB.Count_And_Get(
7319: p_count => x_msg_count,
7320: p_data => x_msg_data
7321: );
7320: p_data => x_msg_data
7321: );
7322:
7323: WHEN OTHERS THEN
7324: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
7325:
7326: IF FND_MSG_PUB.Check_Msg_Level
7327: (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
7328: THEN
7422:
7423: --
7424: -- Standard call to check for call compatibility.
7425: --
7426: IF NOT FND_API.Compatible_API_Call (l_api_version,
7427: p_api_version,
7428: l_api_name,
7429: G_PKG_NAME)
7430: THEN
7427: p_api_version,
7428: l_api_name,
7429: G_PKG_NAME)
7430: THEN
7431: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7432: END IF;
7433:
7434: --
7435: -- Initialize message list if p_init_msg_list is set to TRUE.
7433:
7434: --
7435: -- Initialize message list if p_init_msg_list is set to TRUE.
7436: --
7437: IF FND_API.to_Boolean( p_init_msg_list ) THEN
7438: FND_MSG_PUB.initialize;
7439: END IF;
7440:
7441:
7441:
7442: --
7443: -- Initialize API return status to success
7444: --
7445: x_return_status := FND_API.G_RET_STS_SUCCESS;
7446:
7447: --
7448: -- Select Question value from Cz config table
7449: --
7480: END IF;
7481:
7482: EXCEPTION
7483:
7484: WHEN FND_API.G_EXC_ERROR THEN
7485:
7486: x_return_status := FND_API.G_RET_STS_ERROR ;
7487: FND_MSG_PUB.Count_And_Get(
7488: p_count => x_msg_count,
7482: EXCEPTION
7483:
7484: WHEN FND_API.G_EXC_ERROR THEN
7485:
7486: x_return_status := FND_API.G_RET_STS_ERROR ;
7487: FND_MSG_PUB.Count_And_Get(
7488: p_count => x_msg_count,
7489: p_data => x_msg_data
7490: );
7488: p_count => x_msg_count,
7489: p_data => x_msg_data
7490: );
7491:
7492: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
7493: x_return_status := FND_API.G_RET_STS_ERROR ;
7494: FND_MSG_PUB.Count_And_Get(
7495: p_count => x_msg_count,
7496: p_data => x_msg_data
7489: p_data => x_msg_data
7490: );
7491:
7492: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
7493: x_return_status := FND_API.G_RET_STS_ERROR ;
7494: FND_MSG_PUB.Count_And_Get(
7495: p_count => x_msg_count,
7496: p_data => x_msg_data
7497: );
7496: p_data => x_msg_data
7497: );
7498:
7499: WHEN OTHERS THEN
7500: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
7501:
7502: IF FND_MSG_PUB.Check_Msg_Level
7503: (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
7504: THEN
7619:
7620: --
7621: -- Standard call to check for call compatibility.
7622: --
7623: IF NOT FND_API.Compatible_API_Call (l_api_version,
7624: p_api_version,
7625: l_api_name,
7626: G_PKG_NAME)
7627: THEN
7624: p_api_version,
7625: l_api_name,
7626: G_PKG_NAME)
7627: THEN
7628: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7629: END IF;
7630:
7631: --
7632: -- Initialize message list if p_init_msg_list is set to TRUE.
7630:
7631: --
7632: -- Initialize message list if p_init_msg_list is set to TRUE.
7633: --
7634: IF FND_API.to_Boolean( p_init_msg_list ) THEN
7635: FND_MSG_PUB.initialize;
7636: END IF;
7637:
7638:
7638:
7639: --
7640: -- Initialize API return status to success
7641: --
7642: x_return_status := FND_API.G_RET_STS_SUCCESS;
7643:
7644:
7645: -- Step 1: Get Clause values from the old get_article_details api
7646:
7657: x_return_status => x_return_status,
7658: x_msg_count => x_msg_count,
7659: x_msg_data => x_msg_data);
7660:
7661: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS)
7662: THEN
7663: raise FND_API.G_EXC_UNEXPECTED_ERROR;
7664: END IF;
7665:
7659: x_msg_data => x_msg_data);
7660:
7661: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS)
7662: THEN
7663: raise FND_API.G_EXC_UNEXPECTED_ERROR;
7664: END IF;
7665:
7666:
7667: -- Step 2: Get Clause title, description and section info
7757: END IF;
7758:
7759: EXCEPTION
7760:
7761: WHEN FND_API.G_EXC_ERROR THEN
7762:
7763: x_return_status := FND_API.G_RET_STS_ERROR ;
7764: FND_MSG_PUB.Count_And_Get(
7765: p_count => x_msg_count,
7759: EXCEPTION
7760:
7761: WHEN FND_API.G_EXC_ERROR THEN
7762:
7763: x_return_status := FND_API.G_RET_STS_ERROR ;
7764: FND_MSG_PUB.Count_And_Get(
7765: p_count => x_msg_count,
7766: p_data => x_msg_data
7767: );
7765: p_count => x_msg_count,
7766: p_data => x_msg_data
7767: );
7768:
7769: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
7770: x_return_status := FND_API.G_RET_STS_ERROR ;
7771: FND_MSG_PUB.Count_And_Get(
7772: p_count => x_msg_count,
7773: p_data => x_msg_data
7766: p_data => x_msg_data
7767: );
7768:
7769: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
7770: x_return_status := FND_API.G_RET_STS_ERROR ;
7771: FND_MSG_PUB.Count_And_Get(
7772: p_count => x_msg_count,
7773: p_data => x_msg_data
7774: );
7773: p_data => x_msg_data
7774: );
7775:
7776: WHEN OTHERS THEN
7777: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
7778:
7779: IF FND_MSG_PUB.Check_Msg_Level
7780: (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
7781: THEN
7939:
7940: --
7941: -- Standard call to check for call compatibility.
7942: --
7943: IF NOT FND_API.Compatible_API_Call (l_api_version,
7944: p_api_version,
7945: l_api_name,
7946: G_PKG_NAME)
7947: THEN
7944: p_api_version,
7945: l_api_name,
7946: G_PKG_NAME)
7947: THEN
7948: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7949: END IF;
7950:
7951: --
7952: -- Initialize message list if p_init_msg_list is set to TRUE.
7950:
7951: --
7952: -- Initialize message list if p_init_msg_list is set to TRUE.
7953: --
7954: IF FND_API.to_Boolean( p_init_msg_list ) THEN
7955: FND_MSG_PUB.initialize;
7956: END IF;
7957:
7958:
7958:
7959: --
7960: -- Initialize API return status to success
7961: --
7962: x_return_status := FND_API.G_RET_STS_SUCCESS;
7963:
7964: --In case of Buy side line_nubers will be null
7965: --if Line_Number is null then assign -99 as line_number
7966: l_rule_var_values_tbl := p_rule_var_values_tbl;
8143: LOOP
8144: IF p_clause_tbl.EXISTS(i) THEN
8145: get_article_details(
8146: p_api_version => 1.0,
8147: p_init_msg_list => FND_API.G_FALSE,
8148: p_document_type => p_document_type,
8149: p_document_id => p_document_id,
8150: p_article_id => p_clause_tbl(i),
8151: p_effectivity_date => sysdate,
8158: x_return_status => x_return_status,
8159: x_msg_count => x_msg_count,
8160: x_msg_data => x_msg_data);
8161:
8162: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS)
8163: THEN
8164: raise FND_API.G_EXC_UNEXPECTED_ERROR;
8165: END IF;
8166:
8160: x_msg_data => x_msg_data);
8161:
8162: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS)
8163: THEN
8164: raise FND_API.G_EXC_UNEXPECTED_ERROR;
8165: END IF;
8166:
8167: -- Insert Clause details into okc_terms_deviations_t
8168:
8207: END IF;
8208:
8209: EXCEPTION
8210:
8211: WHEN FND_API.G_EXC_ERROR THEN
8212:
8213: x_return_status := FND_API.G_RET_STS_ERROR ;
8214: FND_MSG_PUB.Count_And_Get(
8215: p_count => x_msg_count,
8209: EXCEPTION
8210:
8211: WHEN FND_API.G_EXC_ERROR THEN
8212:
8213: x_return_status := FND_API.G_RET_STS_ERROR ;
8214: FND_MSG_PUB.Count_And_Get(
8215: p_count => x_msg_count,
8216: p_data => x_msg_data
8217: );
8215: p_count => x_msg_count,
8216: p_data => x_msg_data
8217: );
8218:
8219: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
8220: x_return_status := FND_API.G_RET_STS_ERROR ;
8221: FND_MSG_PUB.Count_And_Get(
8222: p_count => x_msg_count,
8223: p_data => x_msg_data
8216: p_data => x_msg_data
8217: );
8218:
8219: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
8220: x_return_status := FND_API.G_RET_STS_ERROR ;
8221: FND_MSG_PUB.Count_And_Get(
8222: p_count => x_msg_count,
8223: p_data => x_msg_data
8224: );
8223: p_data => x_msg_data
8224: );
8225:
8226: WHEN OTHERS THEN
8227: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
8228:
8229: IF FND_MSG_PUB.Check_Msg_Level
8230: (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
8231: THEN
8311:
8312: --
8313: -- Standard call to check for call compatibility.
8314: --
8315: IF NOT FND_API.Compatible_API_Call (l_api_version,
8316: p_api_version,
8317: l_api_name,
8318: G_PKG_NAME)
8319: THEN
8316: p_api_version,
8317: l_api_name,
8318: G_PKG_NAME)
8319: THEN
8320: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8321: END IF;
8322:
8323: --
8324: -- Initialize message list if p_init_msg_list is set to TRUE.
8322:
8323: --
8324: -- Initialize message list if p_init_msg_list is set to TRUE.
8325: --
8326: IF FND_API.to_Boolean( p_init_msg_list ) THEN
8327: FND_MSG_PUB.initialize;
8328: END IF;
8329:
8330: --
8338:
8339: --
8340: -- Initialize API return status to success
8341: --
8342: x_return_status := FND_API.G_RET_STS_SUCCESS;
8343:
8344: -- Step 1: Get Document values from the Extension rule api
8345:
8346: IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
8350: END IF;
8351:
8352: OKC_XPRT_XRULE_VALUES_PVT.get_document_values (
8353: p_api_version => 1.0,
8354: p_init_msg_list => FND_API.G_FALSE,
8355: p_doc_type => p_document_type,
8356: p_doc_id => p_document_id,
8357: x_return_status => x_return_status,
8358: x_msg_data => x_msg_data,
8363: x_line_variables_count => l_line_variables_count,
8364: x_intent => l_intent,
8365: x_org_id => l_org_id);
8366:
8367: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS)
8368: THEN
8369: raise FND_API.G_EXC_UNEXPECTED_ERROR;
8370: END IF;
8371:
8365: x_org_id => l_org_id);
8366:
8367: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS)
8368: THEN
8369: raise FND_API.G_EXC_UNEXPECTED_ERROR;
8370: END IF;
8371:
8372:
8373: -- Step 2: Insert values into okc_xprt_deviations_gt
8488: END IF;
8489:
8490: get_expert_selections(
8491: p_api_version => 1.0,
8492: p_init_msg_list => FND_API.G_FALSE,
8493: p_document_id => p_document_id,
8494: p_document_type => p_document_type,
8495: p_config_header_id => p_config_header_id,
8496: p_config_rev_nbr => p_config_rev_nbr,
8500: x_msg_data => x_msg_data,
8501: x_msg_count => x_msg_count);
8502:
8503:
8504: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS)
8505: THEN
8506: raise FND_API.G_EXC_UNEXPECTED_ERROR;
8507: END IF;
8508:
8502:
8503:
8504: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS)
8505: THEN
8506: raise FND_API.G_EXC_UNEXPECTED_ERROR;
8507: END IF;
8508:
8509:
8510: -- Step 4: For each Deviation rule get unique list of variables and Questions
8517:
8518: IF l_expert_deviations_tbl.COUNT > 0 THEN
8519: get_rule_details(
8520: p_api_version => 1.0,
8521: p_init_msg_list => FND_API.G_FALSE,
8522: p_dev_rule_tbl => l_expert_deviations_tbl,
8523: x_dev_rule_questions_tbl => l_rule_questions_tbl,
8524: x_dev_rule_variables_tbl => l_rule_variables_tbl,
8525: x_return_status => x_return_status,
8526: x_msg_data => x_msg_data,
8527: x_msg_count => x_msg_count);
8528:
8529:
8530: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS)
8531: THEN
8532: raise FND_API.G_EXC_UNEXPECTED_ERROR;
8533: END IF;
8534:
8528:
8529:
8530: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS)
8531: THEN
8532: raise FND_API.G_EXC_UNEXPECTED_ERROR;
8533: END IF;
8534:
8535:
8536: -- Step 5: For variables in rule get value from okc_xprt_deviations_gt
8543: END IF;
8544:
8545: get_rule_variable_values(
8546: p_api_version => 1.0,
8547: p_init_msg_list => FND_API.G_FALSE,
8548: p_sequence_id => p_sequence_id,
8549: p_dev_rule_variables_tbl => l_rule_variables_tbl,
8550: x_dev_rule_var_values_tbl => l_rule_var_values_tbl,
8551: x_return_status => x_return_status,
8551: x_return_status => x_return_status,
8552: x_msg_data => x_msg_data,
8553: x_msg_count => x_msg_count);
8554:
8555: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS)
8556: THEN
8557: raise FND_API.G_EXC_UNEXPECTED_ERROR;
8558: END IF;
8559: END IF;
8553: x_msg_count => x_msg_count);
8554:
8555: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS)
8556: THEN
8557: raise FND_API.G_EXC_UNEXPECTED_ERROR;
8558: END IF;
8559: END IF;
8560:
8561:
8569: END IF;
8570:
8571: get_rule_question_values(
8572: p_api_version => 1.0,
8573: p_init_msg_list => FND_API.G_FALSE,
8574: p_config_header_id => p_config_header_id,
8575: p_config_rev_nbr => p_config_rev_nbr,
8576: p_dev_rule_questions_tbl => l_rule_questions_tbl,
8577: x_dev_rule_qst_values_tbl => l_rule_qst_values_tbl,
8579: x_msg_data => x_msg_data,
8580: x_msg_count => x_msg_count);
8581:
8582:
8583: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS)
8584: THEN
8585: raise FND_API.G_EXC_UNEXPECTED_ERROR;
8586: END IF;
8587:
8581:
8582:
8583: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS)
8584: THEN
8585: raise FND_API.G_EXC_UNEXPECTED_ERROR;
8586: END IF;
8587:
8588: END IF; -- Check for presence of Deviations from Expert
8589: END IF;
8597: END IF;
8598:
8599: populate_terms_deviations_tbl(
8600: p_api_version => 1.0,
8601: p_init_msg_list => FND_API.G_FALSE,
8602: p_document_id => p_document_id,
8603: p_document_type => p_document_type,
8604: p_sequence_id => p_sequence_id,
8605: p_config_header_id => p_config_header_id,
8612: x_msg_data => x_msg_data,
8613: x_msg_count => x_msg_count);
8614:
8615:
8616: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS)
8617: THEN
8618: raise FND_API.G_EXC_UNEXPECTED_ERROR;
8619: END IF;
8620:
8614:
8615:
8616: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS)
8617: THEN
8618: raise FND_API.G_EXC_UNEXPECTED_ERROR;
8619: END IF;
8620:
8621:
8622: -- end debug log
8627: END IF;
8628:
8629: EXCEPTION
8630:
8631: WHEN FND_API.G_EXC_ERROR THEN
8632:
8633: x_return_status := FND_API.G_RET_STS_ERROR ;
8634: FND_MSG_PUB.Count_And_Get(
8635: p_count => x_msg_count,
8629: EXCEPTION
8630:
8631: WHEN FND_API.G_EXC_ERROR THEN
8632:
8633: x_return_status := FND_API.G_RET_STS_ERROR ;
8634: FND_MSG_PUB.Count_And_Get(
8635: p_count => x_msg_count,
8636: p_data => x_msg_data
8637: );
8635: p_count => x_msg_count,
8636: p_data => x_msg_data
8637: );
8638:
8639: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
8640: x_return_status := FND_API.G_RET_STS_ERROR ;
8641: FND_MSG_PUB.Count_And_Get(
8642: p_count => x_msg_count,
8643: p_data => x_msg_data
8636: p_data => x_msg_data
8637: );
8638:
8639: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
8640: x_return_status := FND_API.G_RET_STS_ERROR ;
8641: FND_MSG_PUB.Count_And_Get(
8642: p_count => x_msg_count,
8643: p_data => x_msg_data
8644: );
8643: p_data => x_msg_data
8644: );
8645:
8646: WHEN OTHERS THEN
8647: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
8648:
8649: IF FND_MSG_PUB.Check_Msg_Level
8650: (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
8651: THEN
8834:
8835: --
8836: -- Initialize API return status to success
8837: --
8838: x_return_status := FND_API.G_RET_STS_SUCCESS;
8839:
8840:
8841: --
8842: -- Standard call to check for call compatibility.
8840:
8841: --
8842: -- Standard call to check for call compatibility.
8843: --
8844: IF NOT FND_API.Compatible_API_Call (l_api_version,
8845: p_api_version,
8846: l_api_name,
8847: G_PKG_NAME)
8848: THEN
8845: p_api_version,
8846: l_api_name,
8847: G_PKG_NAME)
8848: THEN
8849: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8850: END IF;
8851:
8852:
8853: --
8852:
8853: --
8854: -- Initialize message list if p_init_msg_list is set to TRUE.
8855: --
8856: IF FND_API.to_Boolean( p_init_msg_list )
8857: THEN
8858: FND_MSG_PUB.initialize;
8859: END IF;
8860:
8884: x_qa_name => l_expert_not_applied_desc,
8885: x_severity_flag => l_expert_not_applied_sev,
8886: x_return_status => x_return_status);
8887:
8888: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR)
8889: THEN
8890: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
8891: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
8892: RAISE FND_API.G_EXC_ERROR ;
8886: x_return_status => x_return_status);
8887:
8888: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR)
8889: THEN
8890: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
8891: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
8892: RAISE FND_API.G_EXC_ERROR ;
8893: END IF;
8894:
8887:
8888: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR)
8889: THEN
8890: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
8891: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
8892: RAISE FND_API.G_EXC_ERROR ;
8893: END IF;
8894:
8895: --
8888: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR)
8889: THEN
8890: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
8891: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
8892: RAISE FND_API.G_EXC_ERROR ;
8893: END IF;
8894:
8895: --
8896: -- Get Partially Applied QA Code Severity and Name
8901: x_qa_name => l_expert_partially_run_desc,
8902: x_severity_flag => l_expert_partially_run_sev,
8903: x_return_status => x_return_status);
8904:
8905: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR)
8906: THEN
8907: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
8908: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
8909: RAISE FND_API.G_EXC_ERROR ;
8903: x_return_status => x_return_status);
8904:
8905: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR)
8906: THEN
8907: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
8908: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
8909: RAISE FND_API.G_EXC_ERROR ;
8910: END IF;
8911:
8904:
8905: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR)
8906: THEN
8907: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
8908: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
8909: RAISE FND_API.G_EXC_ERROR ;
8910: END IF;
8911:
8912: --
8905: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR)
8906: THEN
8907: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
8908: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
8909: RAISE FND_API.G_EXC_ERROR ;
8910: END IF;
8911:
8912: --
8913: -- Get Invalid Config QA Code Severity and Name
8918: x_qa_name => l_invalid_config_desc,
8919: x_severity_flag => l_invalid_config_sev,
8920: x_return_status => x_return_status);
8921:
8922: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR)
8923: THEN
8924: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
8925: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
8926: RAISE FND_API.G_EXC_ERROR ;
8920: x_return_status => x_return_status);
8921:
8922: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR)
8923: THEN
8924: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
8925: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
8926: RAISE FND_API.G_EXC_ERROR ;
8927: END IF;
8928:
8921:
8922: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR)
8923: THEN
8924: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
8925: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
8926: RAISE FND_API.G_EXC_ERROR ;
8927: END IF;
8928:
8929:
8922: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR)
8923: THEN
8924: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
8925: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
8926: RAISE FND_API.G_EXC_ERROR ;
8927: END IF;
8928:
8929:
8930: --
8936: x_qa_name => l_incomplt_config_desc,
8937: x_severity_flag => l_incomplt_config_sev,
8938: x_return_status => x_return_status);
8939:
8940: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR)
8941: THEN
8942: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
8943: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
8944: RAISE FND_API.G_EXC_ERROR ;
8938: x_return_status => x_return_status);
8939:
8940: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR)
8941: THEN
8942: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
8943: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
8944: RAISE FND_API.G_EXC_ERROR ;
8945: END IF;
8946:
8939:
8940: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR)
8941: THEN
8942: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
8943: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
8944: RAISE FND_API.G_EXC_ERROR ;
8945: END IF;
8946:
8947: --
8940: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR)
8941: THEN
8942: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
8943: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
8944: RAISE FND_API.G_EXC_ERROR ;
8945: END IF;
8946:
8947: --
8948: -- Get New Article QA Code Severity and Name
8953: x_qa_name => l_new_expert_article_desc,
8954: x_severity_flag => l_new_expert_article_sev,
8955: x_return_status => x_return_status);
8956:
8957: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR)
8958: THEN
8959: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
8960: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
8961: RAISE FND_API.G_EXC_ERROR ;
8955: x_return_status => x_return_status);
8956:
8957: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR)
8958: THEN
8959: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
8960: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
8961: RAISE FND_API.G_EXC_ERROR ;
8962: END IF;
8963:
8956:
8957: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR)
8958: THEN
8959: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
8960: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
8961: RAISE FND_API.G_EXC_ERROR ;
8962: END IF;
8963:
8964:
8957: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR)
8958: THEN
8959: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
8960: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
8961: RAISE FND_API.G_EXC_ERROR ;
8962: END IF;
8963:
8964:
8965: --
8971: x_qa_name => l_old_expert_article_desc,
8972: x_severity_flag => l_old_expert_article_sev,
8973: x_return_status => x_return_status);
8974:
8975: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR)
8976: THEN
8977: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
8978: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
8979: RAISE FND_API.G_EXC_ERROR ;
8973: x_return_status => x_return_status);
8974:
8975: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR)
8976: THEN
8977: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
8978: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
8979: RAISE FND_API.G_EXC_ERROR ;
8980: END IF;
8981:
8974:
8975: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR)
8976: THEN
8977: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
8978: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
8979: RAISE FND_API.G_EXC_ERROR ;
8980: END IF;
8981:
8982: --
8975: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR)
8976: THEN
8977: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
8978: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
8979: RAISE FND_API.G_EXC_ERROR ;
8980: END IF;
8981:
8982: --
8983: -- Contract Expert QA Checks are inter-dependent.
9142: -- Build XML Init Msg for BV.
9143: --
9144: build_cz_xml_init_msg(
9145: p_api_version => 1.0,
9146: p_init_msg_list => FND_API.G_FALSE,
9147: p_document_id => p_document_id,
9148: p_document_type => p_document_type,
9149: p_config_header_id => l_config_header_id,
9150: p_config_rev_nbr => l_config_rev_nbr,
9154: x_msg_data => x_msg_data,
9155: x_msg_count => x_msg_count);
9156:
9157:
9158: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS OR l_cz_xml_init_msg IS NULL)
9159: THEN
9160: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9161: END IF;
9162:
9156:
9157:
9158: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS OR l_cz_xml_init_msg IS NULL)
9159: THEN
9160: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9161: END IF;
9162:
9163: --
9164: -- Invoke BV.
9164: -- Invoke BV.
9165: --
9166: OKC_XPRT_CZ_INT_PVT.batch_validate(
9167: p_api_version => 1.0,
9168: p_init_msg_list => FND_API.G_FALSE,
9169: p_cz_xml_init_msg => l_cz_xml_init_msg,
9170: x_cz_xml_terminate_msg => l_xml_terminate_msg, -- this has been converted
9171: -- internally from
9172: -- HTML_PIECES to LONG.
9174: x_msg_data => x_msg_data,
9175: x_msg_count => x_msg_count);
9176:
9177:
9178: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS OR l_xml_terminate_msg IS NULL)
9179: THEN
9180: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9181: END IF;
9182:
9176:
9177:
9178: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS OR l_xml_terminate_msg IS NULL)
9179: THEN
9180: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9181: END IF;
9182:
9183:
9184: --
9185: -- Parse BV Results
9186: --
9187: parse_cz_xml_terminate_msg(
9188: p_api_version => 1.0,
9189: p_init_msg_list => FND_API.G_FALSE,
9190: p_cz_xml_terminate_msg => l_xml_terminate_msg,
9191: x_valid_config => l_valid_config,
9192: x_complete_config => l_complete_config,
9193: x_config_header_id => l_new_config_header_id,
9204: In 'DEV' mode, we need to continue processing the expert clauses from CZ even if the
9205: valid_configuration is false
9206: */
9207:
9208: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS)
9209: THEN
9210: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9211: END IF;
9212:
9206: */
9207:
9208: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS)
9209: THEN
9210: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9211: END IF;
9212:
9213: --
9214: -- Template is enabled for Expert.
9243: --
9244:
9245: OKC_XPRT_CZ_INT_PVT.delete_configuration(
9246: p_api_version => 1.0,
9247: p_init_msg_list => FND_API.G_FALSE,
9248: p_config_header_id => l_new_config_header_id,
9249: p_config_rev_nbr => l_new_config_rev_nbr,
9250: x_return_status => x_return_status,
9251: x_msg_data => x_msg_data,
9250: x_return_status => x_return_status,
9251: x_msg_data => x_msg_data,
9252: x_msg_count => x_msg_count);
9253:
9254: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS)
9255: THEN
9256: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9257: END IF;
9258:
9252: x_msg_count => x_msg_count);
9253:
9254: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS)
9255: THEN
9256: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9257: END IF;
9258:
9259: RETURN;
9260:
9293: --
9294:
9295: OKC_XPRT_CZ_INT_PVT.delete_configuration(
9296: p_api_version => 1.0,
9297: p_init_msg_list => FND_API.G_FALSE,
9298: p_config_header_id => l_new_config_header_id,
9299: p_config_rev_nbr => l_new_config_rev_nbr,
9300: x_return_status => x_return_status,
9301: x_msg_data => x_msg_data,
9300: x_return_status => x_return_status,
9301: x_msg_data => x_msg_data,
9302: x_msg_count => x_msg_count);
9303:
9304: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS)
9305: THEN
9306: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9307: END IF;
9308:
9302: x_msg_count => x_msg_count);
9303:
9304: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS)
9305: THEN
9306: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9307: END IF;
9308:
9309: RETURN;
9310:
9338: -- Delete BV Configuration from CZ.
9339: --
9340: OKC_XPRT_CZ_INT_PVT.delete_configuration(
9341: p_api_version => 1.0,
9342: p_init_msg_list => FND_API.G_FALSE,
9343: p_config_header_id => l_new_config_header_id,
9344: p_config_rev_nbr => l_new_config_rev_nbr,
9345: x_return_status => x_return_status,
9346: x_msg_data => x_msg_data,
9345: x_return_status => x_return_status,
9346: x_msg_data => x_msg_data,
9347: x_msg_count => x_msg_count);
9348:
9349: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS)
9350: THEN
9351: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9352: END IF;
9353:
9347: x_msg_count => x_msg_count);
9348:
9349: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS)
9350: THEN
9351: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9352: END IF;
9353:
9354: RETURN;
9355:
9384: -- Delete BV Configuration from CZ.
9385: --
9386: OKC_XPRT_CZ_INT_PVT.delete_configuration(
9387: p_api_version => 1.0,
9388: p_init_msg_list => FND_API.G_FALSE,
9389: p_config_header_id => l_new_config_header_id,
9390: p_config_rev_nbr => l_new_config_rev_nbr,
9391: x_return_status => x_return_status,
9392: x_msg_data => x_msg_data,
9391: x_return_status => x_return_status,
9392: x_msg_data => x_msg_data,
9393: x_msg_count => x_msg_count);
9394:
9395: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS)
9396: THEN
9397: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9398: END IF;
9399:
9393: x_msg_count => x_msg_count);
9394:
9395: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS)
9396: THEN
9397: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9398: END IF;
9399:
9400: RETURN;
9401:
9412: -- Delete BV Configuration from CZ.
9413: --
9414: OKC_XPRT_CZ_INT_PVT.delete_configuration(
9415: p_api_version => 1.0,
9416: p_init_msg_list => FND_API.G_FALSE,
9417: p_config_header_id => l_new_config_header_id,
9418: p_config_rev_nbr => l_new_config_rev_nbr,
9419: x_return_status => x_return_status,
9420: x_msg_data => x_msg_data,
9419: x_return_status => x_return_status,
9420: x_msg_data => x_msg_data,
9421: x_msg_count => x_msg_count);
9422:
9423: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS)
9424: THEN
9425: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9426: END IF;
9427:
9421: x_msg_count => x_msg_count);
9422:
9423: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS)
9424: THEN
9425: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9426: END IF;
9427:
9428: -- Raises error for invalid configuration
9429: FND_MESSAGE.set_name('OKC', G_OKC_INVALID_CONFIG_D);
9427:
9428: -- Raises error for invalid configuration
9429: FND_MESSAGE.set_name('OKC', G_OKC_INVALID_CONFIG_D);
9430: FND_MSG_PUB.ADD;
9431: RAISE FND_API.G_EXC_ERROR;
9432:
9433: RETURN;
9434:
9435: END IF;
9443: IF (p_bv_mode = 'QA') THEN
9444:
9445: process_qa_result(
9446: p_api_version => 1.0,
9447: p_init_msg_list => FND_API.G_FALSE,
9448: p_document_id => p_document_id,
9449: p_document_type => p_document_type,
9450: p_config_header_id => l_new_config_header_id,
9451: p_config_rev_nbr => l_new_config_rev_nbr,
9454: x_msg_data => x_msg_data,
9455: x_msg_count => x_msg_count);
9456:
9457:
9458: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS)
9459: THEN
9460: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9461: END IF;
9462:
9456:
9457:
9458: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS)
9459: THEN
9460: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9461: END IF;
9462:
9463:
9464: -- p_bv_mode is 'DEV' for deviation report
9467: IF check_rule_type_has_questions(l_template_id,'CLAUSE_SELECTION') <> 'Y' OR has_unanswered_questions(p_document_type, p_document_id,'CLAUSE_SELECTION') <> 'Y' THEN
9468:
9469: process_qa_result(
9470: p_api_version => 1.0,
9471: p_init_msg_list => FND_API.G_FALSE,
9472: p_document_id => p_document_id,
9473: p_document_type => p_document_type,
9474: p_config_header_id => l_new_config_header_id,
9475: p_config_rev_nbr => l_new_config_rev_nbr,
9478: x_msg_data => x_msg_data,
9479: x_msg_count => x_msg_count);
9480:
9481:
9482: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS)
9483: THEN
9484: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9485: END IF;
9486: END IF;
9480:
9481:
9482: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS)
9483: THEN
9484: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9485: END IF;
9486: END IF;
9487:
9488: -- if policy rules have no questions or has answered questions
9489: IF check_rule_type_has_questions(l_template_id,'TERM_DEVIATION') <> 'Y' OR has_unanswered_questions(p_document_type, p_document_id,'TERM_DEVIATION') <> 'Y' THEN
9490:
9491: get_expert_articles(
9492: p_api_version => 1.0,
9493: p_init_msg_list => FND_API.G_FALSE,
9494: p_document_id => p_document_id,
9495: p_document_type => p_document_type,
9496: p_config_header_id => l_new_config_header_id,
9497: p_config_rev_nbr => l_new_config_rev_nbr,
9499: x_return_status => x_return_status,
9500: x_msg_data => x_msg_data,
9501: x_msg_count => x_msg_count);
9502:
9503: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS)
9504: THEN
9505: raise FND_API.G_EXC_UNEXPECTED_ERROR;
9506: END IF;
9507:
9501: x_msg_count => x_msg_count);
9502:
9503: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS)
9504: THEN
9505: raise FND_API.G_EXC_UNEXPECTED_ERROR;
9506: END IF;
9507:
9508:
9509: --SELECT OKC_TERMS_DEVIATIONS_S1.nextval INTO l_sequence_id from DUAL;
9510: l_sequence_id := p_sequence_id;
9511:
9512: get_expert_results(
9513: p_api_version => 1.0,
9514: p_init_msg_list => FND_API.G_FALSE,
9515: p_document_id => p_document_id,
9516: p_document_type => p_document_type,
9517: p_mode => 'BV',
9518: p_sequence_id => l_sequence_id,
9522: x_msg_data => x_msg_data,
9523: x_msg_count => x_msg_count);
9524:
9525:
9526: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS)
9527: THEN
9528: raise FND_API.G_EXC_UNEXPECTED_ERROR;
9529: END IF;
9530: END IF;
9524:
9525:
9526: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS)
9527: THEN
9528: raise FND_API.G_EXC_UNEXPECTED_ERROR;
9529: END IF;
9530: END IF;
9531:
9532: RETURN;
9533: ELSIF (p_bv_mode = 'AUTH') THEN
9534:
9535: update_ce_config(
9536: p_api_version => 1.0,
9537: p_init_msg_list => FND_API.G_FALSE,
9538: p_document_id => p_document_id,
9539: p_document_type => p_document_type,
9540: p_config_header_id => l_new_config_header_id,
9541: p_config_rev_nbr => l_new_config_rev_nbr,
9544: x_return_status => x_return_status,
9545: x_msg_data => x_msg_data,
9546: x_msg_count => x_msg_count);
9547:
9548: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS)
9549: THEN
9550: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9551: END IF;
9552:
9546: x_msg_count => x_msg_count);
9547:
9548: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS)
9549: THEN
9550: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9551: END IF;
9552:
9553: ELSIF (p_bv_mode = 'APPR') THEN
9554:
9553: ELSIF (p_bv_mode = 'APPR') THEN
9554:
9555: process_qa_result(
9556: p_api_version => 1.0,
9557: p_init_msg_list => FND_API.G_FALSE,
9558: p_document_id => p_document_id,
9559: p_document_type => p_document_type,
9560: p_config_header_id => l_new_config_header_id,
9561: p_config_rev_nbr => l_new_config_rev_nbr,
9563: x_return_status => x_return_status,
9564: x_msg_data => x_msg_data,
9565: x_msg_count => x_msg_count);
9566:
9567: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS)
9568: THEN
9569: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9570: END IF;
9571:
9565: x_msg_count => x_msg_count);
9566:
9567: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS)
9568: THEN
9569: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9570: END IF;
9571:
9572: get_expert_articles(
9573: p_api_version => 1.0,
9570: END IF;
9571:
9572: get_expert_articles(
9573: p_api_version => 1.0,
9574: p_init_msg_list => FND_API.G_FALSE,
9575: p_document_id => p_document_id,
9576: p_document_type => p_document_type,
9577: p_config_header_id => l_new_config_header_id,
9578: p_config_rev_nbr => l_new_config_rev_nbr,
9580: x_return_status => x_return_status,
9581: x_msg_data => x_msg_data,
9582: x_msg_count => x_msg_count);
9583:
9584: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS)
9585: THEN
9586: raise FND_API.G_EXC_UNEXPECTED_ERROR;
9587: END IF;
9588:
9582: x_msg_count => x_msg_count);
9583:
9584: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS)
9585: THEN
9586: raise FND_API.G_EXC_UNEXPECTED_ERROR;
9587: END IF;
9588:
9589:
9590: --SELECT OKC_TERMS_DEVIATIONS_S1.nextval INTO l_sequence_id from DUAL;
9591: l_sequence_id := p_sequence_id;
9592:
9593: get_expert_results(
9594: p_api_version => 1.0,
9595: p_init_msg_list => FND_API.G_FALSE,
9596: p_document_id => p_document_id,
9597: p_document_type => p_document_type,
9598: p_mode => 'BV',
9599: p_sequence_id => l_sequence_id,
9603: x_msg_data => x_msg_data,
9604: x_msg_count => x_msg_count);
9605:
9606:
9607: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS)
9608: THEN
9609: raise FND_API.G_EXC_UNEXPECTED_ERROR;
9610: END IF;
9611:
9605:
9606:
9607: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS)
9608: THEN
9609: raise FND_API.G_EXC_UNEXPECTED_ERROR;
9610: END IF;
9611:
9612: -------------------- END OF CODE CHANGES BY KARTK -----------------------
9613:
9620: --CODE MODIFIED BY KARTIK ADDED AUTHORING MODE FOR NOT TO DELETE CONFIGURATION-----------------------------
9621: IF(p_bv_mode = 'QA') THEN
9622: OKC_XPRT_CZ_INT_PVT.delete_configuration(
9623: p_api_version => 1.0,
9624: p_init_msg_list => FND_API.G_FALSE,
9625: p_config_header_id => l_new_config_header_id,
9626: p_config_rev_nbr => l_new_config_rev_nbr,
9627: x_return_status => x_return_status,
9628: x_msg_data => x_msg_data,
9627: x_return_status => x_return_status,
9628: x_msg_data => x_msg_data,
9629: x_msg_count => x_msg_count);
9630:
9631: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS)
9632: THEN
9633: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9634: END IF;
9635: END IF; --IF(p_bv_mode <> 'DEV')
9629: x_msg_count => x_msg_count);
9630:
9631: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS)
9632: THEN
9633: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9634: END IF;
9635: END IF; --IF(p_bv_mode <> 'DEV')
9636:
9637: --
9650: END IF;
9651:
9652: EXCEPTION
9653:
9654: WHEN FND_API.G_EXC_ERROR THEN
9655:
9656: x_return_status := FND_API.G_RET_STS_ERROR ;
9657: FND_MSG_PUB.Count_And_Get(
9658: p_count => x_msg_count,
9652: EXCEPTION
9653:
9654: WHEN FND_API.G_EXC_ERROR THEN
9655:
9656: x_return_status := FND_API.G_RET_STS_ERROR ;
9657: FND_MSG_PUB.Count_And_Get(
9658: p_count => x_msg_count,
9659: p_data => x_msg_data
9660: );
9658: p_count => x_msg_count,
9659: p_data => x_msg_data
9660: );
9661:
9662: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
9663: x_return_status := FND_API.G_RET_STS_ERROR ;
9664: /*
9665: FND_MSG_PUB.Count_And_Get(
9666: p_count => x_msg_count,
9659: p_data => x_msg_data
9660: );
9661:
9662: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
9663: x_return_status := FND_API.G_RET_STS_ERROR ;
9664: /*
9665: FND_MSG_PUB.Count_And_Get(
9666: p_count => x_msg_count,
9667: p_data => x_msg_data
9667: p_data => x_msg_data
9668: ); */
9669:
9670: WHEN OTHERS THEN
9671: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
9672:
9673: IF FND_MSG_PUB.Check_Msg_Level
9674: (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
9675: THEN
9733:
9734: --
9735: -- Standard call to check for call compatibility.
9736: --
9737: IF NOT FND_API.Compatible_API_Call (l_api_version,
9738: p_api_version,
9739: l_api_name,
9740: G_PKG_NAME)
9741: THEN
9738: p_api_version,
9739: l_api_name,
9740: G_PKG_NAME)
9741: THEN
9742: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9743: END IF;
9744:
9745: --
9746: -- Initialize message list if p_init_msg_list is set to TRUE.
9744:
9745: --
9746: -- Initialize message list if p_init_msg_list is set to TRUE.
9747: --
9748: IF FND_API.to_Boolean( p_init_msg_list ) THEN
9749: FND_MSG_PUB.initialize;
9750: END IF;
9751:
9752: --
9751:
9752: --
9753: -- Initialize API return status to success
9754: --
9755: x_return_status := FND_API.G_RET_STS_SUCCESS;
9756:
9757: OPEN csr_tmpl_applied_yn;
9758: FETCH csr_tmpl_applied_yn INTO l_template_applied;
9759: IF csr_tmpl_applied_yn%FOUND THEN
9775: END IF;
9776:
9777: EXCEPTION
9778:
9779: WHEN FND_API.G_EXC_ERROR THEN
9780: IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
9781: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
9782: G_MODULE||l_api_name,
9783: '2000: Leaving '||G_PKG_NAME ||'.'||l_api_name);
9782: G_MODULE||l_api_name,
9783: '2000: Leaving '||G_PKG_NAME ||'.'||l_api_name);
9784: END IF;
9785:
9786: x_return_status := FND_API.G_RET_STS_ERROR ;
9787: FND_MSG_PUB.Count_And_Get(
9788: p_count => x_msg_count,
9789: p_data => x_msg_data
9790: );
9788: p_count => x_msg_count,
9789: p_data => x_msg_data
9790: );
9791:
9792: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
9793: IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
9794: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
9795: G_MODULE||l_api_name,
9796: '3000: Leaving '||G_PKG_NAME ||'.'||l_api_name);
9795: G_MODULE||l_api_name,
9796: '3000: Leaving '||G_PKG_NAME ||'.'||l_api_name);
9797: END IF;
9798:
9799: x_return_status := FND_API.G_RET_STS_ERROR ;
9800: FND_MSG_PUB.Count_And_Get(
9801: p_count => x_msg_count,
9802: p_data => x_msg_data
9803: );
9808: G_MODULE||l_api_name,
9809: '4000: Leaving '||G_PKG_NAME ||'.'||l_api_name);
9810: END IF;
9811:
9812: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
9813:
9814: IF FND_MSG_PUB.Check_Msg_Level
9815: (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
9816: THEN
9880:
9881: --
9882: -- Standard call to check for call compatibility.
9883: --
9884: IF NOT FND_API.Compatible_API_Call (l_api_version,
9885: p_api_version,
9886: l_api_name,
9887: G_PKG_NAME)
9888: THEN
9885: p_api_version,
9886: l_api_name,
9887: G_PKG_NAME)
9888: THEN
9889: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9890: END IF;
9891:
9892: --
9893: -- Initialize message list if p_init_msg_list is set to TRUE.
9891:
9892: --
9893: -- Initialize message list if p_init_msg_list is set to TRUE.
9894: --
9895: IF FND_API.to_Boolean( p_init_msg_list ) THEN
9896: FND_MSG_PUB.initialize;
9897: END IF;
9898:
9899: --
9898:
9899: --
9900: -- Initialize API return status to success
9901: --
9902: x_return_status := FND_API.G_RET_STS_SUCCESS;
9903:
9904: OPEN l_get_template_info_csr;
9905: FETCH l_get_template_info_csr INTO x_config_header_id, x_config_rev_nbr, l_template_id, x_expert_enabled_yn;
9906: CLOSE l_get_template_info_csr;
9913: END IF;
9914:
9915: EXCEPTION
9916:
9917: WHEN FND_API.G_EXC_ERROR THEN
9918: IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
9919: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
9920: G_MODULE||l_api_name,
9921: '2000: Leaving '||G_PKG_NAME ||'.'||l_api_name);
9920: G_MODULE||l_api_name,
9921: '2000: Leaving '||G_PKG_NAME ||'.'||l_api_name);
9922: END IF;
9923:
9924: x_return_status := FND_API.G_RET_STS_ERROR ;
9925: FND_MSG_PUB.Count_And_Get(
9926: p_count => x_msg_count,
9927: p_data => x_msg_data
9928: );
9926: p_count => x_msg_count,
9927: p_data => x_msg_data
9928: );
9929:
9930: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
9931: IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
9932: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
9933: G_MODULE||l_api_name,
9934: '3000: Leaving '||G_PKG_NAME ||'.'||l_api_name);
9933: G_MODULE||l_api_name,
9934: '3000: Leaving '||G_PKG_NAME ||'.'||l_api_name);
9935: END IF;
9936:
9937: x_return_status := FND_API.G_RET_STS_ERROR ;
9938: FND_MSG_PUB.Count_And_Get(
9939: p_count => x_msg_count,
9940: p_data => x_msg_data
9941: );
9946: G_MODULE||l_api_name,
9947: '4000: Leaving '||G_PKG_NAME ||'.'||l_api_name);
9948: END IF;
9949:
9950: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
9951:
9952: IF FND_MSG_PUB.Check_Msg_Level
9953: (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
9954: THEN