12: G_LEVEL_PROCEDURE CONSTANT NUMBER := FND_LOG.LEVEL_PROCEDURE;
13: G_MODULE CONSTANT VARCHAR2(250) := 'okc.plsql.'||g_pkg_name||'.';
14: G_APPLICATION_ID CONSTANT NUMBER :=510; -- OKC Application
15:
16: G_FALSE CONSTANT VARCHAR2(1) := FND_API.G_FALSE;
17: G_TRUE CONSTANT VARCHAR2(1) := FND_API.G_TRUE;
18:
19: G_RET_STS_SUCCESS CONSTANT VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
20: G_RET_STS_ERROR CONSTANT VARCHAR2(1) := FND_API.G_RET_STS_ERROR;
13: G_MODULE CONSTANT VARCHAR2(250) := 'okc.plsql.'||g_pkg_name||'.';
14: G_APPLICATION_ID CONSTANT NUMBER :=510; -- OKC Application
15:
16: G_FALSE CONSTANT VARCHAR2(1) := FND_API.G_FALSE;
17: G_TRUE CONSTANT VARCHAR2(1) := FND_API.G_TRUE;
18:
19: G_RET_STS_SUCCESS CONSTANT VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
20: G_RET_STS_ERROR CONSTANT VARCHAR2(1) := FND_API.G_RET_STS_ERROR;
21: G_RET_STS_UNEXP_ERROR CONSTANT VARCHAR2(1) := FND_API.G_RET_STS_UNEXP_ERROR;
15:
16: G_FALSE CONSTANT VARCHAR2(1) := FND_API.G_FALSE;
17: G_TRUE CONSTANT VARCHAR2(1) := FND_API.G_TRUE;
18:
19: G_RET_STS_SUCCESS CONSTANT VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
20: G_RET_STS_ERROR CONSTANT VARCHAR2(1) := FND_API.G_RET_STS_ERROR;
21: G_RET_STS_UNEXP_ERROR CONSTANT VARCHAR2(1) := FND_API.G_RET_STS_UNEXP_ERROR;
22:
23: G_UNEXPECTED_ERROR CONSTANT VARCHAR2(200) := 'OKC_UNEXPECTED_ERROR';
16: G_FALSE CONSTANT VARCHAR2(1) := FND_API.G_FALSE;
17: G_TRUE CONSTANT VARCHAR2(1) := FND_API.G_TRUE;
18:
19: G_RET_STS_SUCCESS CONSTANT VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
20: G_RET_STS_ERROR CONSTANT VARCHAR2(1) := FND_API.G_RET_STS_ERROR;
21: G_RET_STS_UNEXP_ERROR CONSTANT VARCHAR2(1) := FND_API.G_RET_STS_UNEXP_ERROR;
22:
23: G_UNEXPECTED_ERROR CONSTANT VARCHAR2(200) := 'OKC_UNEXPECTED_ERROR';
24: G_SQLERRM_TOKEN CONSTANT VARCHAR2(200) := 'ERROR_MESSAGE';
17: G_TRUE CONSTANT VARCHAR2(1) := FND_API.G_TRUE;
18:
19: G_RET_STS_SUCCESS CONSTANT VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
20: G_RET_STS_ERROR CONSTANT VARCHAR2(1) := FND_API.G_RET_STS_ERROR;
21: G_RET_STS_UNEXP_ERROR CONSTANT VARCHAR2(1) := FND_API.G_RET_STS_UNEXP_ERROR;
22:
23: G_UNEXPECTED_ERROR CONSTANT VARCHAR2(200) := 'OKC_UNEXPECTED_ERROR';
24: G_SQLERRM_TOKEN CONSTANT VARCHAR2(200) := 'ERROR_MESSAGE';
25: G_SQLCODE_TOKEN CONSTANT VARCHAR2(200) := 'ERROR_CODE';
240: -- If CZ import returns ERROR then there was a database or fatal error
241: -- write to log and Abort the next steps of writing to log
242: IF (p_import_status = G_RET_STS_UNEXP_ERROR) THEN
243: fnd_file.put_line(FND_FILE.LOG,'CZ IMPORT API Return Status : '||p_import_status);
244: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
245: ELSIF (x_return_status = G_RET_STS_ERROR) THEN
246: fnd_file.put_line(FND_FILE.LOG,'CZ IMPORT API Return Status : '||p_import_status);
247: RAISE FND_API.G_EXC_ERROR;
248: END IF;
243: fnd_file.put_line(FND_FILE.LOG,'CZ IMPORT API Return Status : '||p_import_status);
244: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
245: ELSIF (x_return_status = G_RET_STS_ERROR) THEN
246: fnd_file.put_line(FND_FILE.LOG,'CZ IMPORT API Return Status : '||p_import_status);
247: RAISE FND_API.G_EXC_ERROR;
248: END IF;
249:
250:
251: -- Check the summary of the import run results
357: '1000: Leaving '||G_PKG_NAME ||'.'||l_api_name);
358: END IF;
359:
360: EXCEPTION
361: WHEN FND_API.G_EXC_ERROR THEN
362: IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
363: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
364: G_MODULE||l_api_name,
365: '2000: Leaving '||G_PKG_NAME ||'.'||l_api_name);
367:
368: x_return_status := G_RET_STS_ERROR ;
369: FND_MSG_PUB.Count_And_Get(p_encoded=>'F', p_count => x_msg_count, p_data => x_msg_data );
370:
371: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
372: IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
373: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
374: G_MODULE||l_api_name,
375: '3000: Leaving '||G_PKG_NAME ||'.'||l_api_name);
599: LOOP
600: OKC_XPRT_CZ_INT_PVT.delete_publication
601: (
602: p_api_version => l_api_version,
603: p_init_msg_lst => FND_API.G_FALSE,
604: p_publication_id => rec_get_publication_dtl.publication_id,
605: x_return_status => x_return_status,
606: x_msg_count => x_msg_count,
607: x_msg_data => x_msg_data
608: );
609:
610: --- If any errors happen abort API
611: IF (x_return_status = G_RET_STS_UNEXP_ERROR) THEN
612: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
613: ELSIF (x_return_status = G_RET_STS_ERROR) THEN
614: RAISE FND_API.G_EXC_ERROR;
615: END IF;
616:
610: --- If any errors happen abort API
611: IF (x_return_status = G_RET_STS_UNEXP_ERROR) THEN
612: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
613: ELSIF (x_return_status = G_RET_STS_ERROR) THEN
614: RAISE FND_API.G_EXC_ERROR;
615: END IF;
616:
617: END LOOP; -- all test publications
618:
625: END IF;
626:
627:
628: EXCEPTION
629: WHEN FND_API.G_EXC_ERROR THEN
630: IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
631: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
632: G_MODULE||l_api_name,
633: '2000: Leaving '||G_PKG_NAME ||'.'||l_api_name);
635:
636: x_return_status := G_RET_STS_ERROR ;
637: FND_MSG_PUB.Count_And_Get(p_encoded=>'F', p_count => x_msg_count, p_data => x_msg_data );
638:
639: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
640: IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
641: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
642: G_MODULE||l_api_name,
643: '3000: Leaving '||G_PKG_NAME ||'.'||l_api_name);
755: x_msg_count => x_msg_count
756: );
757: --- If any errors happen abort API
758: IF (x_return_status = G_RET_STS_UNEXP_ERROR) THEN
759: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
760: ELSIF (x_return_status = G_RET_STS_ERROR) THEN
761: RAISE FND_API.G_EXC_ERROR;
762: END IF;
763:
757: --- If any errors happen abort API
758: IF (x_return_status = G_RET_STS_UNEXP_ERROR) THEN
759: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
760: ELSIF (x_return_status = G_RET_STS_ERROR) THEN
761: RAISE FND_API.G_EXC_ERROR;
762: END IF;
763:
764: -- Step 2:
765: -- Delete Existing UIs except the UI attached to production publication
778: ) ;
779:
780: --- If any errors happen abort API
781: IF (x_return_status = G_RET_STS_UNEXP_ERROR) THEN
782: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
783: ELSIF (x_return_status = G_RET_STS_ERROR) THEN
784: RAISE FND_API.G_EXC_ERROR;
785: END IF;
786:
780: --- If any errors happen abort API
781: IF (x_return_status = G_RET_STS_UNEXP_ERROR) THEN
782: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
783: ELSIF (x_return_status = G_RET_STS_ERROR) THEN
784: RAISE FND_API.G_EXC_ERROR;
785: END IF;
786:
787: END LOOP; -- csr_template_ui
788: CLOSE csr_template_ui;
802: x_msg_count => x_msg_count
803: ) ;
804: --- If any errors happen abort API
805: IF (x_return_status = G_RET_STS_UNEXP_ERROR) THEN
806: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
807: ELSIF (x_return_status = G_RET_STS_ERROR) THEN
808: RAISE FND_API.G_EXC_ERROR;
809: END IF;
810:
804: --- If any errors happen abort API
805: IF (x_return_status = G_RET_STS_UNEXP_ERROR) THEN
806: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
807: ELSIF (x_return_status = G_RET_STS_ERROR) THEN
808: RAISE FND_API.G_EXC_ERROR;
809: END IF;
810:
811:
812: -- Step 4:
813: -- Generate Logic for the template Model
814: OKC_XPRT_CZ_INT_PVT.generate_logic
815: (
816: p_api_version => l_api_version,
817: p_init_msg_lst => FND_API.G_FALSE,
818: p_devl_project_id => l_template_model_id,
819: x_run_id => l_run_id,
820: x_return_status => x_return_status,
821: x_msg_data => x_msg_data,
823: ) ;
824:
825: --- If any errors happen abort API
826: IF (x_return_status = G_RET_STS_UNEXP_ERROR) THEN
827: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
828: ELSIF (x_return_status = G_RET_STS_ERROR) THEN
829: RAISE FND_API.G_EXC_ERROR;
830: END IF;
831:
825: --- If any errors happen abort API
826: IF (x_return_status = G_RET_STS_UNEXP_ERROR) THEN
827: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
828: ELSIF (x_return_status = G_RET_STS_ERROR) THEN
829: RAISE FND_API.G_EXC_ERROR;
830: END IF;
831:
832: -- Step 5:
833: -- Create a test publication for the template Model
833: -- Create a test publication for the template Model
834: OKC_XPRT_CZ_INT_PVT.create_publication_request
835: (
836: p_api_version => l_api_version,
837: p_init_msg_lst => FND_API.G_FALSE,
838: p_devl_project_id => l_template_model_id,
839: p_ui_def_id => l_new_ui_def_id,
840: p_publication_mode => 't',
841: x_publication_id => l_publication_id,
845: ) ;
846:
847: --- If any errors happen abort API
848: IF (x_return_status = G_RET_STS_UNEXP_ERROR) THEN
849: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
850: ELSIF (x_return_status = G_RET_STS_ERROR) THEN
851: RAISE FND_API.G_EXC_ERROR;
852: END IF;
853:
847: --- If any errors happen abort API
848: IF (x_return_status = G_RET_STS_UNEXP_ERROR) THEN
849: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
850: ELSIF (x_return_status = G_RET_STS_ERROR) THEN
851: RAISE FND_API.G_EXC_ERROR;
852: END IF;
853:
854:
855: -- Step 6:
856: -- Publish test publication for the template Model
857: OKC_XPRT_CZ_INT_PVT.publish_model
858: (
859: p_api_version => l_api_version,
860: p_init_msg_lst => FND_API.G_FALSE,
861: p_publication_id => l_publication_id,
862: x_run_id => l_run_id,
863: x_return_status => x_return_status,
864: x_msg_data => x_msg_data,
866: ) ;
867:
868: --- If any errors happen abort API
869: IF (x_return_status = G_RET_STS_UNEXP_ERROR) THEN
870: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
871: ELSIF (x_return_status = G_RET_STS_ERROR) THEN
872: RAISE FND_API.G_EXC_ERROR;
873: END IF;
874:
868: --- If any errors happen abort API
869: IF (x_return_status = G_RET_STS_UNEXP_ERROR) THEN
870: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
871: ELSIF (x_return_status = G_RET_STS_ERROR) THEN
872: RAISE FND_API.G_EXC_ERROR;
873: END IF;
874:
875:
876: END LOOP; -- csr_templates
885: END IF;
886:
887:
888: EXCEPTION
889: WHEN FND_API.G_EXC_ERROR THEN
890: IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
891: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
892: G_MODULE||l_api_name,
893: '2000: Leaving '||G_PKG_NAME ||'.'||l_api_name);
895:
896: x_return_status := G_RET_STS_ERROR ;
897: FND_MSG_PUB.Count_And_Get(p_encoded=>'F', p_count => x_msg_count, p_data => x_msg_data );
898:
899: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
900: IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
901: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
902: G_MODULE||l_api_name,
903: '3000: Leaving '||G_PKG_NAME ||'.'||l_api_name);
1909: -- Call CZ delete publicaton API
1910: OKC_XPRT_CZ_INT_PVT.delete_publication
1911: (
1912: p_api_version => l_api_version,
1913: p_init_msg_lst => FND_API.G_FALSE,
1914: p_publication_id => l_publication_id,
1915: x_return_status => x_return_status,
1916: x_msg_data => x_msg_data,
1917: x_msg_count => x_msg_count
1935: END IF;
1936:
1937: --- If any errors happen abort API
1938: IF (x_return_status = G_RET_STS_UNEXP_ERROR) THEN
1939: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1940: ELSIF (x_return_status = G_RET_STS_ERROR) THEN
1941: RAISE FND_API.G_EXC_ERROR;
1942: END IF;
1943:
1937: --- If any errors happen abort API
1938: IF (x_return_status = G_RET_STS_UNEXP_ERROR) THEN
1939: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1940: ELSIF (x_return_status = G_RET_STS_ERROR) THEN
1941: RAISE FND_API.G_EXC_ERROR;
1942: END IF;
1943:
1944:
1945: -- Delete the UI attached to the above production publication
1954:
1955:
1956: --- If any errors happen abort API
1957: IF (x_return_status = G_RET_STS_UNEXP_ERROR) THEN
1958: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1959: ELSIF (x_return_status = G_RET_STS_ERROR) THEN
1960: RAISE FND_API.G_EXC_ERROR;
1961: END IF;
1962:
1956: --- If any errors happen abort API
1957: IF (x_return_status = G_RET_STS_UNEXP_ERROR) THEN
1958: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1959: ELSIF (x_return_status = G_RET_STS_ERROR) THEN
1960: RAISE FND_API.G_EXC_ERROR;
1961: END IF;
1962:
1963: END LOOP; -- csr_get_publication_id
1964: CLOSE csr_get_publication_id;
1992: -- Call CZ edit publicaton API
1993: OKC_XPRT_CZ_INT_PVT.edit_publication
1994: (
1995: p_api_version => l_api_version,
1996: p_init_msg_lst => FND_API.G_FALSE,
1997: p_publication_id => l_publication_id,
1998: p_publication_mode => G_PRODUCTION_MODE,
1999: x_return_status => x_return_status,
2000: x_msg_data => x_msg_data,
2018: END IF;
2019:
2020: --- If any errors happen abort API
2021: IF (x_return_status = G_RET_STS_UNEXP_ERROR) THEN
2022: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2023: ELSIF (x_return_status = G_RET_STS_ERROR) THEN
2024: RAISE FND_API.G_EXC_ERROR;
2025: END IF;
2026:
2020: --- If any errors happen abort API
2021: IF (x_return_status = G_RET_STS_UNEXP_ERROR) THEN
2022: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2023: ELSIF (x_return_status = G_RET_STS_ERROR) THEN
2024: RAISE FND_API.G_EXC_ERROR;
2025: END IF;
2026:
2027: END LOOP; -- csr_get_publication_id
2028: CLOSE csr_get_publication_id;
2114:
2115:
2116: --- If any errors happen abort API
2117: IF (x_return_status = G_RET_STS_UNEXP_ERROR) THEN
2118: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2119: ELSIF (x_return_status = G_RET_STS_ERROR) THEN
2120: RAISE FND_API.G_EXC_ERROR;
2121: END IF;
2122:
2116: --- If any errors happen abort API
2117: IF (x_return_status = G_RET_STS_UNEXP_ERROR) THEN
2118: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2119: ELSIF (x_return_status = G_RET_STS_ERROR) THEN
2120: RAISE FND_API.G_EXC_ERROR;
2121: END IF;
2122:
2123: IF (p_calling_mode = 'PUBLISH' OR p_calling_mode = 'DISABLE' OR p_calling_mode = 'SYNC') THEN
2124: COMMIT WORK;
2132: END IF;
2133:
2134:
2135: EXCEPTION
2136: WHEN FND_API.G_EXC_ERROR THEN
2137: IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
2138: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
2139: G_MODULE||l_api_name,
2140: '2000: Leaving '||G_PKG_NAME ||'.'||l_api_name);
2146:
2147: x_return_status := G_RET_STS_ERROR ;
2148: FND_MSG_PUB.Count_And_Get(p_encoded=>'F', p_count => x_msg_count, p_data => x_msg_data );
2149:
2150: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2151: IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
2152: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
2153: G_MODULE||l_api_name,
2154: '3000: Leaving '||G_PKG_NAME ||'.'||l_api_name);
2295:
2296: --
2297: -- Standard call to check for call compatibility.
2298: --
2299: IF NOT FND_API.Compatible_API_Call (l_api_version,
2300: p_api_version,
2301: l_api_name,
2302: G_PKG_NAME)
2303: THEN
2300: p_api_version,
2301: l_api_name,
2302: G_PKG_NAME)
2303: THEN
2304: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2305: END IF;
2306:
2307: --
2308: -- Initialize message list if p_init_msg_list is set to TRUE.
2306:
2307: --
2308: -- Initialize message list if p_init_msg_list is set to TRUE.
2309: --
2310: IF FND_API.to_Boolean( p_init_msg_list )
2311: THEN
2312: FND_MSG_PUB.initialize;
2313: END IF;
2314:
2314:
2315: --
2316: -- Initialize API return status to success
2317: --
2318: x_return_status := FND_API.G_RET_STS_SUCCESS;
2319:
2320: --
2321: -- Check if CE Profile is Enabled.
2322: --
2344: x_qa_name => l_template_rule_status_desc,
2345: x_severity_flag => l_template_rule_status_sev,
2346: x_return_status => x_return_status);
2347:
2348: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR)
2349: THEN
2350: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
2351: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
2352: RAISE FND_API.G_EXC_ERROR ;
2346: x_return_status => x_return_status);
2347:
2348: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR)
2349: THEN
2350: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
2351: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
2352: RAISE FND_API.G_EXC_ERROR ;
2353: END IF;
2354:
2347:
2348: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR)
2349: THEN
2350: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
2351: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
2352: RAISE FND_API.G_EXC_ERROR ;
2353: END IF;
2354:
2355:
2348: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR)
2349: THEN
2350: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
2351: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
2352: RAISE FND_API.G_EXC_ERROR ;
2353: END IF;
2354:
2355:
2356: --
2361: x_qa_name => l_def_template_desc,
2362: x_severity_flag => l_def_template_sev,
2363: x_return_status => x_return_status);
2364:
2365: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR)
2366: THEN
2367: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
2368: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
2369: RAISE FND_API.G_EXC_ERROR ;
2363: x_return_status => x_return_status);
2364:
2365: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR)
2366: THEN
2367: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
2368: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
2369: RAISE FND_API.G_EXC_ERROR ;
2370: END IF;
2371:
2364:
2365: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR)
2366: THEN
2367: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
2368: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
2369: RAISE FND_API.G_EXC_ERROR ;
2370: END IF;
2371:
2372: --
2365: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR)
2366: THEN
2367: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
2368: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
2369: RAISE FND_API.G_EXC_ERROR ;
2370: END IF;
2371:
2372: --
2373: -- Check for the template default section
2401: x_qa_name => l_template_no_rule_desc,
2402: x_severity_flag => l_template_no_rule_sev,
2403: x_return_status => x_return_status);
2404:
2405: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR)
2406: THEN
2407: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
2408: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
2409: RAISE FND_API.G_EXC_ERROR ;
2403: x_return_status => x_return_status);
2404:
2405: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR)
2406: THEN
2407: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
2408: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
2409: RAISE FND_API.G_EXC_ERROR ;
2410: END IF;
2411:
2404:
2405: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR)
2406: THEN
2407: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
2408: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
2409: RAISE FND_API.G_EXC_ERROR ;
2410: END IF;
2411:
2412:
2405: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR)
2406: THEN
2407: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
2408: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
2409: RAISE FND_API.G_EXC_ERROR ;
2410: END IF;
2411:
2412:
2413: --
2486: END IF;
2487:
2488: EXCEPTION
2489:
2490: WHEN FND_API.G_EXC_ERROR THEN
2491:
2492: x_return_status := FND_API.G_RET_STS_ERROR ;
2493: FND_MSG_PUB.Count_And_Get(
2494: p_count => x_msg_count,
2488: EXCEPTION
2489:
2490: WHEN FND_API.G_EXC_ERROR THEN
2491:
2492: x_return_status := FND_API.G_RET_STS_ERROR ;
2493: FND_MSG_PUB.Count_And_Get(
2494: p_count => x_msg_count,
2495: p_data => x_msg_data
2496: );
2494: p_count => x_msg_count,
2495: p_data => x_msg_data
2496: );
2497:
2498: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2499: x_return_status := FND_API.G_RET_STS_ERROR ;
2500: FND_MSG_PUB.Count_And_Get(
2501: p_count => x_msg_count,
2502: p_data => x_msg_data
2495: p_data => x_msg_data
2496: );
2497:
2498: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2499: x_return_status := FND_API.G_RET_STS_ERROR ;
2500: FND_MSG_PUB.Count_And_Get(
2501: p_count => x_msg_count,
2502: p_data => x_msg_data
2503: );
2502: p_data => x_msg_data
2503: );
2504:
2505: WHEN OTHERS THEN
2506: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
2507:
2508: IF FND_MSG_PUB.Check_Msg_Level
2509: (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2510: THEN
2627:
2628: --
2629: -- Standard call to check for call compatibility.
2630: --
2631: IF NOT FND_API.Compatible_API_Call (l_api_version,
2632: p_api_version,
2633: l_api_name,
2634: G_PKG_NAME)
2635: THEN
2632: p_api_version,
2633: l_api_name,
2634: G_PKG_NAME)
2635: THEN
2636: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2637: END IF;
2638:
2639: --
2640: -- Initialize message list if p_init_msg_list is set to TRUE.
2638:
2639: --
2640: -- Initialize message list if p_init_msg_list is set to TRUE.
2641: --
2642: IF FND_API.to_Boolean( p_init_msg_list ) THEN
2643: FND_MSG_PUB.initialize;
2644: END IF;
2645:
2646: --
2645:
2646: --
2647: -- Initialize API return status to success
2648: --
2649: x_return_status := FND_API.G_RET_STS_SUCCESS;
2650:
2651:
2652: -- Example: 1890
2653:
2765: '1000: Leaving '||G_PKG_NAME ||'.'||l_api_name);
2766: END IF;
2767:
2768: EXCEPTION
2769: WHEN FND_API.G_EXC_ERROR THEN
2770:
2771: x_return_status := FND_API.G_RET_STS_ERROR ;
2772: FND_MSG_PUB.Count_And_Get(
2773: p_count => x_msg_count,
2767:
2768: EXCEPTION
2769: WHEN FND_API.G_EXC_ERROR THEN
2770:
2771: x_return_status := FND_API.G_RET_STS_ERROR ;
2772: FND_MSG_PUB.Count_And_Get(
2773: p_count => x_msg_count,
2774: p_data => x_msg_data
2775: );
2773: p_count => x_msg_count,
2774: p_data => x_msg_data
2775: );
2776:
2777: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2778: x_return_status := FND_API.G_RET_STS_ERROR ;
2779:
2780: FND_MSG_PUB.Count_And_Get(
2781: p_count => x_msg_count,
2774: p_data => x_msg_data
2775: );
2776:
2777: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2778: x_return_status := FND_API.G_RET_STS_ERROR ;
2779:
2780: FND_MSG_PUB.Count_And_Get(
2781: p_count => x_msg_count,
2782: p_data => x_msg_data
2782: p_data => x_msg_data
2783: );
2784:
2785: WHEN OTHERS THEN
2786: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
2787:
2788: IF FND_MSG_PUB.Check_Msg_Level
2789: (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2790: THEN
3036: -- set the OUT params
3037: x_msg_count := 1;
3038: x_msg_data := l_message_type||' : '||l_message_text;
3039:
3040: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3041:
3042: END IF; /* l_exit <> error */
3043:
3044: --
3112: END IF;
3113:
3114: EXCEPTION
3115:
3116: WHEN FND_API.G_EXC_ERROR THEN
3117: x_return_status := FND_API.G_RET_STS_ERROR ;
3118: FND_MSG_PUB.Count_And_Get(
3119: p_count => x_msg_count,
3120: p_data => x_msg_data
3113:
3114: EXCEPTION
3115:
3116: WHEN FND_API.G_EXC_ERROR THEN
3117: x_return_status := FND_API.G_RET_STS_ERROR ;
3118: FND_MSG_PUB.Count_And_Get(
3119: p_count => x_msg_count,
3120: p_data => x_msg_data
3121: );
3119: p_count => x_msg_count,
3120: p_data => x_msg_data
3121: );
3122:
3123: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
3124: x_return_status := FND_API.G_RET_STS_ERROR ;
3125: -- Uncommented this code to get proper error messages for Bug 5000619
3126: FND_MSG_PUB.Count_And_Get(
3127: p_count => x_msg_count,
3120: p_data => x_msg_data
3121: );
3122:
3123: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
3124: x_return_status := FND_API.G_RET_STS_ERROR ;
3125: -- Uncommented this code to get proper error messages for Bug 5000619
3126: FND_MSG_PUB.Count_And_Get(
3127: p_count => x_msg_count,
3128: p_data => x_msg_data
3128: p_data => x_msg_data
3129: );
3130:
3131: WHEN OTHERS THEN
3132: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
3133:
3134: IF FND_MSG_PUB.Check_Msg_Level
3135: (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
3136: THEN
3353: IF nvl(fnd_profile.value('OKC_USE_CONTRACTS_RULES_ENGINE'), 'N') <> 'Y' THEN --only if configurator is used
3354: IF (p_config_header_id IS NULL OR p_config_rev_nbr IS NULL)
3355: THEN
3356: x_msg_data := 'OKC_EXPRT_NULL_PARAM';
3357: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3358: END IF;
3359: END IF;
3360:
3361: --
3367: x_qa_name => l_new_expert_article_desc,
3368: x_severity_flag => l_new_expert_article_sev,
3369: x_return_status => x_return_status);
3370:
3371: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR)
3372: THEN
3373: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
3374: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
3375: RAISE FND_API.G_EXC_ERROR ;
3369: x_return_status => x_return_status);
3370:
3371: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR)
3372: THEN
3373: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
3374: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
3375: RAISE FND_API.G_EXC_ERROR ;
3376: END IF;
3377:
3370:
3371: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR)
3372: THEN
3373: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
3374: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
3375: RAISE FND_API.G_EXC_ERROR ;
3376: END IF;
3377:
3378:
3371: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR)
3372: THEN
3373: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
3374: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
3375: RAISE FND_API.G_EXC_ERROR ;
3376: END IF;
3377:
3378:
3379:
3387: x_severity_flag => l_new_expert_article_sev,
3388: x_return_status => x_return_status);
3389:
3390:
3391: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR)
3392: THEN
3393: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
3394: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
3395: RAISE FND_API.G_EXC_ERROR ;
3389:
3390:
3391: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR)
3392: THEN
3393: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
3394: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
3395: RAISE FND_API.G_EXC_ERROR ;
3396: END IF;
3397: */
3390:
3391: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR)
3392: THEN
3393: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
3394: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
3395: RAISE FND_API.G_EXC_ERROR ;
3396: END IF;
3397: */
3398:
3391: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR)
3392: THEN
3393: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
3394: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
3395: RAISE FND_API.G_EXC_ERROR ;
3396: END IF;
3397: */
3398:
3399: --
3405: x_qa_name => l_old_expert_article_desc,
3406: x_severity_flag => l_old_expert_article_sev,
3407: x_return_status => x_return_status);
3408:
3409: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR)
3410: THEN
3411: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
3412: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
3413: RAISE FND_API.G_EXC_ERROR ;
3407: x_return_status => x_return_status);
3408:
3409: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR)
3410: THEN
3411: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
3412: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
3413: RAISE FND_API.G_EXC_ERROR ;
3414: END IF;
3415:
3408:
3409: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR)
3410: THEN
3411: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
3412: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
3413: RAISE FND_API.G_EXC_ERROR ;
3414: END IF;
3415:
3416:
3409: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR)
3410: THEN
3411: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
3412: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
3413: RAISE FND_API.G_EXC_ERROR ;
3414: END IF;
3415:
3416:
3417: /* --
3422: x_qa_name => l_old_expert_article_desc,
3423: x_severity_flag => l_old_expert_article_sev,
3424: x_return_status => x_return_status);
3425:
3426: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR)
3427: THEN
3428: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
3429: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
3430: RAISE FND_API.G_EXC_ERROR ;
3424: x_return_status => x_return_status);
3425:
3426: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR)
3427: THEN
3428: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
3429: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
3430: RAISE FND_API.G_EXC_ERROR ;
3431: END IF;
3432:
3425:
3426: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR)
3427: THEN
3428: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
3429: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
3430: RAISE FND_API.G_EXC_ERROR ;
3431: END IF;
3432:
3433: */
3426: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR)
3427: THEN
3428: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
3429: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
3430: RAISE FND_API.G_EXC_ERROR ;
3431: END IF;
3432:
3433: */
3434: IF l_perf_old_expert_art <> 'Y' THEN
3438: IF l_perf_new_expert_art <> 'Y' THEN
3439: l_new_expert_article_sev := 'W';
3440: END IF;
3441:
3442: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR)
3443: THEN
3444: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
3445: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
3446: RAISE FND_API.G_EXC_ERROR ;
3440: END IF;
3441:
3442: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR)
3443: THEN
3444: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
3445: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
3446: RAISE FND_API.G_EXC_ERROR ;
3447: END IF;
3448:
3441:
3442: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR)
3443: THEN
3444: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
3445: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
3446: RAISE FND_API.G_EXC_ERROR ;
3447: END IF;
3448:
3449: IF nvl(fnd_profile.value('OKC_USE_CONTRACTS_RULES_ENGINE'), 'N') = 'Y' THEN --okc rules engine
3442: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR)
3443: THEN
3444: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
3445: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
3446: RAISE FND_API.G_EXC_ERROR ;
3447: END IF;
3448:
3449: IF nvl(fnd_profile.value('OKC_USE_CONTRACTS_RULES_ENGINE'), 'N') = 'Y' THEN --okc rules engine
3450: --
3680: END IF;
3681:
3682: EXCEPTION
3683:
3684: WHEN FND_API.G_EXC_ERROR THEN
3685: IF l_articles_only_in_doc%ISOPEN
3686: THEN
3687: CLOSE l_articles_only_in_doc;
3688: END IF;
3701: THEN
3702: CLOSE l_article_in_doc;
3703: END IF;
3704:
3705: x_return_status := FND_API.G_RET_STS_ERROR ;
3706: FND_MSG_PUB.Count_And_Get(
3707: p_count => x_msg_count,
3708: p_data => x_msg_data
3709: );
3707: p_count => x_msg_count,
3708: p_data => x_msg_data
3709: );
3710:
3711: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
3712: IF l_articles_only_in_doc%ISOPEN
3713: THEN
3714: CLOSE l_articles_only_in_doc;
3715: END IF;
3726: IF l_article_in_doc%ISOPEN
3727: THEN
3728: CLOSE l_article_in_doc;
3729: END IF;
3730: x_return_status := FND_API.G_RET_STS_ERROR ;
3731: FND_MSG_PUB.Count_And_Get(
3732: p_count => x_msg_count,
3733: p_data => x_msg_data
3734: );
3751: IF l_article_in_doc%ISOPEN
3752: THEN
3753: CLOSE l_article_in_doc;
3754: END IF;
3755: x_return_status := FND_API.G_RET_STS_ERROR ;
3756: FND_MSG_PUB.Count_And_Get(
3757: p_count => x_msg_count,
3758: p_data => x_msg_data
3759: );
3757: p_count => x_msg_count,
3758: p_data => x_msg_data
3759: );
3760:
3761: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
3762:
3763: IF FND_MSG_PUB.Check_Msg_Level
3764: (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
3765: THEN
3895:
3896: --
3897: -- Standard call to check for call compatibility.
3898: --
3899: IF NOT FND_API.Compatible_API_Call (l_api_version,
3900: p_api_version,
3901: l_api_name,
3902: G_PKG_NAME)
3903: THEN
3900: p_api_version,
3901: l_api_name,
3902: G_PKG_NAME)
3903: THEN
3904: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3905: END IF;
3906:
3907: --
3908: -- Initialize message list if p_init_msg_list is set to TRUE.
3906:
3907: --
3908: -- Initialize message list if p_init_msg_list is set to TRUE.
3909: --
3910: IF FND_API.to_Boolean( p_init_msg_list ) THEN
3911: FND_MSG_PUB.initialize;
3912: END IF;
3913:
3914: --
3913:
3914: --
3915: -- Initialize API return status to success
3916: --
3917: x_return_status := FND_API.G_RET_STS_SUCCESS;
3918:
3919: --
3920: -- This SQL is based on Drop 1 changes to
3921: -- cz_config_items_v, where CZ will
3953:
3954: IF (p_config_header_id IS NULL OR p_config_rev_nbr IS NULL)
3955: THEN
3956: x_msg_data := 'OKC_EXPRT_NULL_PARAM';
3957: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3958: END IF;
3959:
3960: --
3961: -- Select Articles from configuration
4006: END IF;
4007:
4008: EXCEPTION
4009:
4010: WHEN FND_API.G_EXC_ERROR THEN
4011:
4012: x_return_status := FND_API.G_RET_STS_ERROR ;
4013: FND_MSG_PUB.Count_And_Get(
4014: p_count => x_msg_count,
4008: EXCEPTION
4009:
4010: WHEN FND_API.G_EXC_ERROR THEN
4011:
4012: x_return_status := FND_API.G_RET_STS_ERROR ;
4013: FND_MSG_PUB.Count_And_Get(
4014: p_count => x_msg_count,
4015: p_data => x_msg_data
4016: );
4014: p_count => x_msg_count,
4015: p_data => x_msg_data
4016: );
4017:
4018: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
4019: x_return_status := FND_API.G_RET_STS_ERROR ;
4020: FND_MSG_PUB.Count_And_Get(
4021: p_count => x_msg_count,
4022: p_data => x_msg_data
4015: p_data => x_msg_data
4016: );
4017:
4018: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
4019: x_return_status := FND_API.G_RET_STS_ERROR ;
4020: FND_MSG_PUB.Count_And_Get(
4021: p_count => x_msg_count,
4022: p_data => x_msg_data
4023: );
4022: p_data => x_msg_data
4023: );
4024:
4025: WHEN OTHERS THEN
4026: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
4027:
4028: IF FND_MSG_PUB.Check_Msg_Level
4029: (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
4030: THEN
4136:
4137: --
4138: -- Standard call to check for call compatibility.
4139: --
4140: IF NOT FND_API.Compatible_API_Call (l_api_version,
4141: p_api_version,
4142: l_api_name,
4143: G_PKG_NAME)
4144: THEN
4141: p_api_version,
4142: l_api_name,
4143: G_PKG_NAME)
4144: THEN
4145: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4146: END IF;
4147:
4148: --
4149: -- Initialize message list if p_init_msg_list is set to TRUE.
4147:
4148: --
4149: -- Initialize message list if p_init_msg_list is set to TRUE.
4150: --
4151: IF FND_API.to_Boolean( p_init_msg_list ) THEN
4152: FND_MSG_PUB.initialize;
4153: END IF;
4154:
4155: IF (p_config_header_id is NULL OR p_config_rev_nbr is NULL OR
4155: IF (p_config_header_id is NULL OR p_config_rev_nbr is NULL OR
4156: p_document_id is NULL OR p_document_type is NULL)
4157: THEN
4158: x_msg_data := 'OKC_EXPRT_NULL_PARAM';
4159: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4160: END IF;
4161:
4162: --
4163: -- Initialize API return status to success
4161:
4162: --
4163: -- Initialize API return status to success
4164: --
4165: x_return_status := FND_API.G_RET_STS_SUCCESS;
4166:
4167:
4168: -- Read the previous configuration to be deleted
4169: OPEN csr_old_config_dtls;
4177: THEN
4178: -- Lock base table.
4179: okc_k_entity_locks_grp.lock_entity
4180: ( p_api_version => 1,
4181: p_init_msg_list => FND_API.G_FALSE ,
4182: p_commit => FND_API.G_FALSE,
4183: p_entity_name => okc_k_entity_locks_grp.G_XPRT_ENTITY,
4184: p_entity_pk1 => To_Char(l_src_document_id),
4185: p_entity_pk2 => To_Char(l_src_document_type),
4178: -- Lock base table.
4179: okc_k_entity_locks_grp.lock_entity
4180: ( p_api_version => 1,
4181: p_init_msg_list => FND_API.G_FALSE ,
4182: p_commit => FND_API.G_FALSE,
4183: p_entity_name => okc_k_entity_locks_grp.G_XPRT_ENTITY,
4184: p_entity_pk1 => To_Char(l_src_document_id),
4185: p_entity_pk2 => To_Char(l_src_document_type),
4186: p_LOCK_BY_DOCUMENT_TYPE => p_document_type,
4190: X_MSG_DATA => X_MSG_DATA
4191: );
4192: --------------------------------------------
4193: IF (x_return_status = G_RET_STS_UNEXP_ERROR) THEN
4194: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
4195: ELSIF (x_return_status = G_RET_STS_ERROR) THEN
4196: RAISE FND_API.G_EXC_ERROR ;
4197: END IF;
4198: --------------------------------------------
4192: --------------------------------------------
4193: IF (x_return_status = G_RET_STS_UNEXP_ERROR) THEN
4194: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
4195: ELSIF (x_return_status = G_RET_STS_ERROR) THEN
4196: RAISE FND_API.G_EXC_ERROR ;
4197: END IF;
4198: --------------------------------------------
4199: ELSE
4200: NULL;
4214: -- Call API to Update Document with new Expert configuration
4215: --
4216: OKC_TERMS_MULTIREC_GRP.sync_doc_with_expert(
4217: p_api_version => 1,
4218: p_init_msg_list => FND_API.G_FALSE,
4219: p_validate_commit => FND_API.G_FALSE,
4220: p_validation_string => l_validation_string,
4221: p_commit => FND_API.G_FALSE,
4222: p_doc_type => p_document_type,
4215: --
4216: OKC_TERMS_MULTIREC_GRP.sync_doc_with_expert(
4217: p_api_version => 1,
4218: p_init_msg_list => FND_API.G_FALSE,
4219: p_validate_commit => FND_API.G_FALSE,
4220: p_validation_string => l_validation_string,
4221: p_commit => FND_API.G_FALSE,
4222: p_doc_type => p_document_type,
4223: p_doc_id => p_document_id,
4217: p_api_version => 1,
4218: p_init_msg_list => FND_API.G_FALSE,
4219: p_validate_commit => FND_API.G_FALSE,
4220: p_validation_string => l_validation_string,
4221: p_commit => FND_API.G_FALSE,
4222: p_doc_type => p_document_type,
4223: p_doc_id => p_document_id,
4224: p_article_id_tbl => l_expert_articles_tbl,
4225: p_mode => p_doc_update_mode, -- Defaults to 'NORMAL'
4229: x_msg_data => x_msg_data
4230: ,p_lock_terms_yn => p_lock_terms_yn);
4231:
4232:
4233: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
4234: raise FND_API.G_EXC_UNEXPECTED_ERROR;
4235: END IF;
4236:
4237:
4230: ,p_lock_terms_yn => p_lock_terms_yn);
4231:
4232:
4233: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
4234: raise FND_API.G_EXC_UNEXPECTED_ERROR;
4235: END IF;
4236:
4237:
4238: --
4250:
4251: /*
4252: OKC_TEMPLATE_USAGES_GRP.update_template_usages(
4253: p_api_version => 1,
4254: p_init_msg_list => FND_API.G_FALSE,
4255: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
4256: p_commit => FND_API.G_FALSE,
4257: x_return_status => x_return_status,
4258: x_msg_count => x_msg_count,
4251: /*
4252: OKC_TEMPLATE_USAGES_GRP.update_template_usages(
4253: p_api_version => 1,
4254: p_init_msg_list => FND_API.G_FALSE,
4255: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
4256: p_commit => FND_API.G_FALSE,
4257: x_return_status => x_return_status,
4258: x_msg_count => x_msg_count,
4259: x_msg_data => x_msg_data,
4252: OKC_TEMPLATE_USAGES_GRP.update_template_usages(
4253: p_api_version => 1,
4254: p_init_msg_list => FND_API.G_FALSE,
4255: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
4256: p_commit => FND_API.G_FALSE,
4257: x_return_status => x_return_status,
4258: x_msg_count => x_msg_count,
4259: x_msg_data => x_msg_data,
4260: p_document_type => p_document_type,
4269: p_object_version_number => 1
4270: );
4271:
4272:
4273: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
4274: raise FND_API.G_EXC_UNEXPECTED_ERROR;
4275: END IF;
4276:
4277: */
4270: );
4271:
4272:
4273: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
4274: raise FND_API.G_EXC_UNEXPECTED_ERROR;
4275: END IF;
4276:
4277: */
4278:
4284: l_old_config_revision_number IS NOT NULL ) THEN
4285:
4286: OKC_XPRT_CZ_INT_PVT.delete_configuration(
4287: p_api_version => 1.0,
4288: p_init_msg_list => FND_API.G_FALSE,
4289: p_config_header_id => l_old_config_header_id,
4290: p_config_rev_nbr => l_old_config_revision_number,
4291: x_return_status => x_return_status,
4292: x_msg_data => x_msg_data,
4293: x_msg_count => x_msg_count);
4294:
4295: END IF; -- delete the old configuration
4296:
4297: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
4298: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4299: END IF;
4300:
4301:
4294:
4295: END IF; -- delete the old configuration
4296:
4297: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
4298: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4299: END IF;
4300:
4301:
4302: --
4333: END IF;
4334:
4335: EXCEPTION
4336:
4337: WHEN FND_API.G_EXC_ERROR THEN
4338:
4339: x_return_status := FND_API.G_RET_STS_ERROR ;
4340: FND_MSG_PUB.Count_And_Get(
4341: p_count => x_msg_count,
4335: EXCEPTION
4336:
4337: WHEN FND_API.G_EXC_ERROR THEN
4338:
4339: x_return_status := FND_API.G_RET_STS_ERROR ;
4340: FND_MSG_PUB.Count_And_Get(
4341: p_count => x_msg_count,
4342: p_data => x_msg_data
4343: );
4341: p_count => x_msg_count,
4342: p_data => x_msg_data
4343: );
4344:
4345: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
4346: x_return_status := FND_API.G_RET_STS_ERROR ;
4347: FND_MSG_PUB.Count_And_Get(
4348: p_count => x_msg_count,
4349: p_data => x_msg_data
4342: p_data => x_msg_data
4343: );
4344:
4345: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
4346: x_return_status := FND_API.G_RET_STS_ERROR ;
4347: FND_MSG_PUB.Count_And_Get(
4348: p_count => x_msg_count,
4349: p_data => x_msg_data
4350: );
4349: p_data => x_msg_data
4350: );
4351:
4352: WHEN OTHERS THEN
4353: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
4354:
4355: IF FND_MSG_PUB.Check_Msg_Level
4356: (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
4357: THEN
4435:
4436: --
4437: -- Standard call to check for call compatibility.
4438: --
4439: IF NOT FND_API.Compatible_API_Call (l_api_version,
4440: p_api_version,
4441: l_api_name,
4442: G_PKG_NAME)
4443: THEN
4440: p_api_version,
4441: l_api_name,
4442: G_PKG_NAME)
4443: THEN
4444: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4445: END IF;
4446:
4447: --
4448: -- Initialize message list if p_init_msg_list is set to TRUE.
4446:
4447: --
4448: -- Initialize message list if p_init_msg_list is set to TRUE.
4449: --
4450: IF FND_API.to_Boolean( p_init_msg_list ) THEN
4451: FND_MSG_PUB.initialize;
4452: END IF;
4453:
4454: IF (p_config_header_id is NULL OR p_config_rev_nbr is NULL OR
4454: IF (p_config_header_id is NULL OR p_config_rev_nbr is NULL OR
4455: p_document_id is NULL OR p_document_type is NULL)
4456: THEN
4457: x_msg_data := 'OKC_EXPRT_NULL_PARAM';
4458: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4459: END IF;
4460:
4461: --
4462: -- Initialize API return status to success
4460:
4461: --
4462: -- Initialize API return status to success
4463: --
4464: x_return_status := FND_API.G_RET_STS_SUCCESS;
4465:
4466:
4467: -- Read the previous configuration to be deleted
4468: OPEN csr_old_config_dtls;
4480: THEN
4481: -- Implement Lock
4482: okc_k_entity_locks_grp.lock_entity
4483: ( p_api_version => 1,
4484: p_init_msg_list => FND_API.G_FALSE ,
4485: p_commit => FND_API.G_FALSE,
4486: p_entity_name => okc_k_entity_locks_grp.G_XPRT_ENTITY,
4487: p_entity_pk1 => To_Char(l_document_id),
4488: p_entity_pk2 => To_Char(l_document_type),
4481: -- Implement Lock
4482: okc_k_entity_locks_grp.lock_entity
4483: ( p_api_version => 1,
4484: p_init_msg_list => FND_API.G_FALSE ,
4485: p_commit => FND_API.G_FALSE,
4486: p_entity_name => okc_k_entity_locks_grp.G_XPRT_ENTITY,
4487: p_entity_pk1 => To_Char(l_document_id),
4488: p_entity_pk2 => To_Char(l_document_type),
4489: p_LOCK_BY_DOCUMENT_TYPE => p_document_type,
4493: X_MSG_DATA => X_MSG_DATA
4494: );
4495: --------------------------------------------
4496: IF (x_return_status = G_RET_STS_UNEXP_ERROR) THEN
4497: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
4498: ELSIF (x_return_status = G_RET_STS_ERROR) THEN
4499: RAISE FND_API.G_EXC_ERROR ;
4500: END IF;
4501: --------------------------------------------
4495: --------------------------------------------
4496: IF (x_return_status = G_RET_STS_UNEXP_ERROR) THEN
4497: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
4498: ELSIF (x_return_status = G_RET_STS_ERROR) THEN
4499: RAISE FND_API.G_EXC_ERROR ;
4500: END IF;
4501: --------------------------------------------
4502: ELSE
4503: NULL;
4520:
4521: /*
4522: OKC_TEMPLATE_USAGES_GRP.update_template_usages(
4523: p_api_version => 1,
4524: p_init_msg_list => FND_API.G_FALSE,
4525: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
4526: p_commit => FND_API.G_FALSE,
4527: x_return_status => x_return_status,
4528: x_msg_count => x_msg_count,
4521: /*
4522: OKC_TEMPLATE_USAGES_GRP.update_template_usages(
4523: p_api_version => 1,
4524: p_init_msg_list => FND_API.G_FALSE,
4525: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
4526: p_commit => FND_API.G_FALSE,
4527: x_return_status => x_return_status,
4528: x_msg_count => x_msg_count,
4529: x_msg_data => x_msg_data,
4522: OKC_TEMPLATE_USAGES_GRP.update_template_usages(
4523: p_api_version => 1,
4524: p_init_msg_list => FND_API.G_FALSE,
4525: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
4526: p_commit => FND_API.G_FALSE,
4527: x_return_status => x_return_status,
4528: x_msg_count => x_msg_count,
4529: x_msg_data => x_msg_data,
4530: p_document_type => p_document_type,
4539: p_object_version_number => 1
4540: );
4541:
4542:
4543: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
4544: raise FND_API.G_EXC_UNEXPECTED_ERROR;
4545: END IF;
4546:
4547: */
4540: );
4541:
4542:
4543: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
4544: raise FND_API.G_EXC_UNEXPECTED_ERROR;
4545: END IF;
4546:
4547: */
4548:
4554: l_old_config_revision_number IS NOT NULL ) THEN
4555:
4556: OKC_XPRT_CZ_INT_PVT.delete_configuration(
4557: p_api_version => 1.0,
4558: p_init_msg_list => FND_API.G_FALSE,
4559: p_config_header_id => l_old_config_header_id,
4560: p_config_rev_nbr => l_old_config_revision_number,
4561: x_return_status => x_return_status,
4562: x_msg_data => x_msg_data,
4563: x_msg_count => x_msg_count);
4564:
4565: END IF; -- delete the old configuration
4566:
4567: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
4568: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4569: END IF;
4570:
4571:
4564:
4565: END IF; -- delete the old configuration
4566:
4567: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
4568: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4569: END IF;
4570:
4571:
4572: EXCEPTION
4570:
4571:
4572: EXCEPTION
4573:
4574: WHEN FND_API.G_EXC_ERROR THEN
4575:
4576: x_return_status := FND_API.G_RET_STS_ERROR ;
4577: FND_MSG_PUB.Count_And_Get(
4578: p_count => x_msg_count,
4572: EXCEPTION
4573:
4574: WHEN FND_API.G_EXC_ERROR THEN
4575:
4576: x_return_status := FND_API.G_RET_STS_ERROR ;
4577: FND_MSG_PUB.Count_And_Get(
4578: p_count => x_msg_count,
4579: p_data => x_msg_data
4580: );
4578: p_count => x_msg_count,
4579: p_data => x_msg_data
4580: );
4581:
4582: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
4583: x_return_status := FND_API.G_RET_STS_ERROR ;
4584: FND_MSG_PUB.Count_And_Get(
4585: p_count => x_msg_count,
4586: p_data => x_msg_data
4579: p_data => x_msg_data
4580: );
4581:
4582: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
4583: x_return_status := FND_API.G_RET_STS_ERROR ;
4584: FND_MSG_PUB.Count_And_Get(
4585: p_count => x_msg_count,
4586: p_data => x_msg_data
4587: );
4586: p_data => x_msg_data
4587: );
4588:
4589: WHEN OTHERS THEN
4590: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
4591:
4592: IF FND_MSG_PUB.Check_Msg_Level
4593: (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
4594: THEN
4664:
4665: l_doc_lib := 'D';
4666:
4667: -- Standard call to check for call compatibility.
4668: IF NOT FND_API.Compatible_API_Call( l_api_version, p_api_version, l_api_name, G_PKG_NAME) THEN
4669: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4670: END IF;
4671: -- Initialize message list if p_init_msg_list is set to TRUE.
4672: IF FND_API.to_Boolean( p_init_msg_list ) THEN
4665: l_doc_lib := 'D';
4666:
4667: -- Standard call to check for call compatibility.
4668: IF NOT FND_API.Compatible_API_Call( l_api_version, p_api_version, l_api_name, G_PKG_NAME) THEN
4669: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4670: END IF;
4671: -- Initialize message list if p_init_msg_list is set to TRUE.
4672: IF FND_API.to_Boolean( p_init_msg_list ) THEN
4673: FND_MSG_PUB.initialize;
4668: IF NOT FND_API.Compatible_API_Call( l_api_version, p_api_version, l_api_name, G_PKG_NAME) THEN
4669: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4670: END IF;
4671: -- Initialize message list if p_init_msg_list is set to TRUE.
4672: IF FND_API.to_Boolean( p_init_msg_list ) THEN
4673: FND_MSG_PUB.initialize;
4674: END IF;
4675:
4676: -- Initialize API return status to success
4697: x_doc_lib := l_doc_lib;
4698: FND_MSG_PUB.Count_And_Get(p_encoded=>'F', p_count => x_msg_count, p_data => x_msg_data );
4699:
4700: EXCEPTION
4701: WHEN FND_API.G_EXC_ERROR THEN
4702: x_return_status := G_RET_STS_ERROR ;
4703: FND_MSG_PUB.Count_And_Get(p_encoded=>'F', p_count => x_msg_count, p_data => x_msg_data );
4704:
4705: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
4701: WHEN FND_API.G_EXC_ERROR THEN
4702: x_return_status := G_RET_STS_ERROR ;
4703: FND_MSG_PUB.Count_And_Get(p_encoded=>'F', p_count => x_msg_count, p_data => x_msg_data );
4704:
4705: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
4706: x_return_status := G_RET_STS_UNEXP_ERROR ;
4707: FND_MSG_PUB.Count_And_Get(p_encoded=>'F', p_count => x_msg_count, p_data => x_msg_data );
4708:
4709: WHEN OTHERS THEN
6112: '1000: Leaving '||G_PKG_NAME ||'.'||l_api_name);
6113: END IF;
6114:
6115: EXCEPTION
6116: WHEN FND_API.G_EXC_ERROR THEN
6117: IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
6118: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
6119: G_MODULE||l_api_name,
6120: '2000: Leaving '||G_PKG_NAME ||'.'||l_api_name);
6123: x_return_status := G_RET_STS_ERROR ;
6124: x_msg_data := SQLERRM;
6125: FND_MSG_PUB.Count_And_Get(p_encoded=>'F', p_count => x_msg_count, p_data => x_msg_data );
6126:
6127: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
6128: IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
6129: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
6130: G_MODULE||l_api_name,
6131: '3000: Leaving '||G_PKG_NAME ||'.'||l_api_name);
6265: fnd_file.put_line(FND_FILE.LOG,' ');
6266:
6267: --- If any errors happen abort API
6268: IF (x_return_status = G_RET_STS_UNEXP_ERROR) THEN
6269: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6270: ELSIF (x_return_status = G_RET_STS_ERROR) THEN
6271: RAISE FND_API.G_EXC_ERROR;
6272: END IF;
6273:
6267: --- If any errors happen abort API
6268: IF (x_return_status = G_RET_STS_UNEXP_ERROR) THEN
6269: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6270: ELSIF (x_return_status = G_RET_STS_ERROR) THEN
6271: RAISE FND_API.G_EXC_ERROR;
6272: END IF;
6273:
6274: -- If QA had one or more errors, log the errors
6275: IF x_qa_status <> 'S' THEN
6295: '1000: Leaving '||G_PKG_NAME ||'.'||l_api_name);
6296: END IF;
6297:
6298: EXCEPTION
6299: WHEN FND_API.G_EXC_ERROR THEN
6300: IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
6301: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
6302: G_MODULE||l_api_name,
6303: '2000: Leaving '||G_PKG_NAME ||'.'||l_api_name);
6305:
6306: x_return_status := G_RET_STS_ERROR ;
6307: FND_MSG_PUB.Count_And_Get(p_encoded=>'F', p_count => x_msg_count, p_data => x_msg_data );
6308:
6309: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
6310: IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
6311: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
6312: G_MODULE||l_api_name,
6313: '3000: Leaving '||G_PKG_NAME ||'.'||l_api_name);
6567:
6568: --
6569: -- Standard call to check for call compatibility.
6570: --
6571: IF NOT FND_API.Compatible_API_Call (l_api_version,
6572: p_api_version,
6573: l_api_name,
6574: G_PKG_NAME)
6575: THEN
6572: p_api_version,
6573: l_api_name,
6574: G_PKG_NAME)
6575: THEN
6576: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6577: END IF;
6578:
6579: --
6580: -- Initialize message list if p_init_msg_list is set to TRUE.
6578:
6579: --
6580: -- Initialize message list if p_init_msg_list is set to TRUE.
6581: --
6582: IF FND_API.to_Boolean( p_init_msg_list ) THEN
6583: FND_MSG_PUB.initialize;
6584: END IF;
6585:
6586: --
6585:
6586: --
6587: -- Initialize API return status to success
6588: --
6589: x_return_status := FND_API.G_RET_STS_SUCCESS;
6590:
6591: -- get usage name for Any Usage
6592: -- Defaults to CZ: Publication Usage profile
6593: OPEN csr_model_usage_name;
6723:
6724: --
6725: -- Initialize API return status to success
6726: --
6727: x_return_status := FND_API.G_RET_STS_SUCCESS;
6728:
6729: OPEN l_get_qa_detail_csr;
6730: FETCH l_get_qa_detail_csr INTO x_qa_name,
6731: x_severity_flag,
6734: FND_MESSAGE.set_name(G_APP_NAME, G_OKC_MSG_INVALID_ARGUMENT);
6735: FND_MESSAGE.set_token('ARG_NAME', 'p_qa_code');
6736: FND_MESSAGE.set_token('ARG_VALUE', p_qa_code);
6737: FND_MSG_PUB.add;
6738: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
6739: END IF;
6740: CLOSE l_get_qa_detail_csr;
6741:
6742: -- end debug log
6747: END IF;
6748:
6749:
6750: EXCEPTION
6751: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
6752: IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
6753: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
6754: G_MODULE||l_api_name,
6755: '3000: Leaving '||G_PKG_NAME ||'.'||l_api_name);
6789: p_init_msg_list IN VARCHAR2,
6790: p_template_id IN NUMBER,
6791: p_document_id IN NUMBER,
6792: p_document_type IN VARCHAR2,
6793: x_enable_expert_button OUT NOCOPY VARCHAR2, -- FND_API.G_FALSE or G_TRUE
6794: x_return_status OUT NOCOPY VARCHAR2,
6795: x_msg_count OUT NOCOPY NUMBER,
6796: x_msg_data OUT NOCOPY VARCHAR2
6797: ) IS
6841:
6842: --
6843: -- Standard call to check for call compatibility.
6844: --
6845: IF NOT FND_API.Compatible_API_Call (l_api_version,
6846: p_api_version,
6847: l_api_name,
6848: G_PKG_NAME)
6849: THEN
6846: p_api_version,
6847: l_api_name,
6848: G_PKG_NAME)
6849: THEN
6850: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6851: END IF;
6852:
6853: --
6854: -- Initialize message list if p_init_msg_list is set to TRUE.
6852:
6853: --
6854: -- Initialize message list if p_init_msg_list is set to TRUE.
6855: --
6856: IF FND_API.to_Boolean( p_init_msg_list ) THEN
6857: FND_MSG_PUB.initialize;
6858: END IF;
6859:
6860: --
6859:
6860: --
6861: -- Initialize API return status to success
6862: --
6863: x_enable_expert_button := FND_API.G_FALSE;
6864: x_return_status := FND_API.G_RET_STS_SUCCESS;
6865:
6866: -- If documentType is 'OKS' then 'Expert Button' should not be displayed
6867: --
6860: --
6861: -- Initialize API return status to success
6862: --
6863: x_enable_expert_button := FND_API.G_FALSE;
6864: x_return_status := FND_API.G_RET_STS_SUCCESS;
6865:
6866: -- If documentType is 'OKS' then 'Expert Button' should not be displayed
6867: --
6868:
6866: -- If documentType is 'OKS' then 'Expert Button' should not be displayed
6867: --
6868:
6869: IF(p_document_type is not null and trim(p_document_type)='OKS') THEN
6870: x_enable_expert_button := FND_API.G_FALSE;
6871: RETURN;
6872: END IF;
6873:
6874: -- bug 4234476
6877: CLOSE csr_sourcing_level;
6878:
6879: IF l_document_type_class='SOURCING' AND l_variable_resolution_am = 'X' THEN
6880: -- Not Expert enabled
6881: x_enable_expert_button := FND_API.G_FALSE;
6882: RETURN ;
6883: END IF;
6884:
6885:
6893: FND_PROFILE.GET(name=> 'OKC_K_EXPERT_ENABLED', val => l_ce_profile_option_enabled );
6894:
6895: IF NVL(l_ce_profile_option_enabled,'N') = 'N' THEN
6896: -- Not Expert enabled
6897: x_enable_expert_button := FND_API.G_FALSE;
6898: RETURN ;
6899: END IF;
6900:
6901:
6918: NULL;
6919: END;
6920:
6921: IF (l_has_responses = 'Y' OR l_ce_finish_flag = 'Y') THEN
6922: x_enable_expert_button := FND_API.G_TRUE;
6923: ELSE
6924: -- Is Template enabled for Expert?
6925: OPEN csr_expert_enabled;
6926: FETCH csr_expert_enabled INTO l_expert_enabled;
6926: FETCH csr_expert_enabled INTO l_expert_enabled;
6927: CLOSE csr_expert_enabled;
6928:
6929: IF (upper(l_expert_enabled) = 'Y') THEN
6930: x_enable_expert_button := FND_API.G_TRUE;
6931: END IF; -- end l_expert_enabled
6932: END IF;
6933:
6934: ELSE --configurator
6935:
6936: IF (l_config_header_id is not NULL)
6937: THEN
6938:
6939: x_enable_expert_button := FND_API.G_TRUE;
6940:
6941: ELSE
6942: --
6943: -- Is Template enabled for Expert?
6948:
6949: IF (upper(l_expert_enabled) = 'Y')
6950: THEN
6951:
6952: x_enable_expert_button := FND_API.G_TRUE;
6953:
6954: END IF; -- end l_expert_enabled
6955:
6956: END IF; -- l_config_header_id is not null
6964: END IF;
6965:
6966: EXCEPTION
6967:
6968: WHEN FND_API.G_EXC_ERROR THEN
6969: IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
6970: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
6971: G_MODULE||l_api_name,
6972: '2000: Leaving '||G_PKG_NAME ||'.'||l_api_name);
6971: G_MODULE||l_api_name,
6972: '2000: Leaving '||G_PKG_NAME ||'.'||l_api_name);
6973: END IF;
6974:
6975: x_return_status := FND_API.G_RET_STS_ERROR ;
6976: FND_MSG_PUB.Count_And_Get(
6977: p_count => x_msg_count,
6978: p_data => x_msg_data
6979: );
6977: p_count => x_msg_count,
6978: p_data => x_msg_data
6979: );
6980:
6981: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
6982: IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
6983: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
6984: G_MODULE||l_api_name,
6985: '3000: Leaving '||G_PKG_NAME ||'.'||l_api_name);
6984: G_MODULE||l_api_name,
6985: '3000: Leaving '||G_PKG_NAME ||'.'||l_api_name);
6986: END IF;
6987:
6988: x_return_status := FND_API.G_RET_STS_ERROR ;
6989: FND_MSG_PUB.Count_And_Get(
6990: p_count => x_msg_count,
6991: p_data => x_msg_data
6992: );
6997: G_MODULE||l_api_name,
6998: '4000: Leaving '||G_PKG_NAME ||'.'||l_api_name);
6999: END IF;
7000:
7001: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
7002:
7003: IF FND_MSG_PUB.Check_Msg_Level
7004: (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
7005: THEN
7158:
7159: --
7160: -- Standard call to check for call compatibility.
7161: --
7162: IF NOT FND_API.Compatible_API_Call (l_api_version,
7163: p_api_version,
7164: l_api_name,
7165: G_PKG_NAME)
7166: THEN
7163: p_api_version,
7164: l_api_name,
7165: G_PKG_NAME)
7166: THEN
7167: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7168: END IF;
7169:
7170: --
7171: -- Initialize message list if p_init_msg_list is set to TRUE.
7169:
7170: --
7171: -- Initialize message list if p_init_msg_list is set to TRUE.
7172: --
7173: IF FND_API.to_Boolean( p_init_msg_list ) THEN
7174: FND_MSG_PUB.initialize;
7175: END IF;
7176:
7177: IF nvl(fnd_profile.value('OKC_USE_CONTRACTS_RULES_ENGINE'), 'N') = 'N' THEN --only if it is configurator
7177: IF nvl(fnd_profile.value('OKC_USE_CONTRACTS_RULES_ENGINE'), 'N') = 'N' THEN --only if it is configurator
7178: IF (p_config_header_id IS NULL OR p_config_rev_nbr IS NULL)
7179: THEN
7180: x_msg_data := 'OKC_EXPRT_NULL_PARAM';
7181: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7182: END IF;
7183: END IF;
7184:
7185: --
7184:
7185: --
7186: -- Initialize API return status to success
7187: --
7188: x_return_status := FND_API.G_RET_STS_SUCCESS;
7189:
7190: --
7191: -- If provisions are allowed on current document type then just return all
7192: -- the articles suggested by expert
7269: END IF;
7270:
7271: EXCEPTION
7272:
7273: WHEN FND_API.G_EXC_ERROR THEN
7274:
7275: x_return_status := FND_API.G_RET_STS_ERROR ;
7276: FND_MSG_PUB.Count_And_Get(
7277: p_count => x_msg_count,
7271: EXCEPTION
7272:
7273: WHEN FND_API.G_EXC_ERROR THEN
7274:
7275: x_return_status := FND_API.G_RET_STS_ERROR ;
7276: FND_MSG_PUB.Count_And_Get(
7277: p_count => x_msg_count,
7278: p_data => x_msg_data
7279: );
7277: p_count => x_msg_count,
7278: p_data => x_msg_data
7279: );
7280:
7281: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
7282: x_return_status := FND_API.G_RET_STS_ERROR ;
7283: FND_MSG_PUB.Count_And_Get(
7284: p_count => x_msg_count,
7285: p_data => x_msg_data
7278: p_data => x_msg_data
7279: );
7280:
7281: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
7282: x_return_status := FND_API.G_RET_STS_ERROR ;
7283: FND_MSG_PUB.Count_And_Get(
7284: p_count => x_msg_count,
7285: p_data => x_msg_data
7286: );
7285: p_data => x_msg_data
7286: );
7287:
7288: WHEN OTHERS THEN
7289: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
7290:
7291: IF FND_MSG_PUB.Check_Msg_Level
7292: (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
7293: THEN
7370:
7371: --
7372: -- Standard call to check for call compatibility.
7373: --
7374: IF NOT FND_API.Compatible_API_Call (l_api_version,
7375: p_api_version,
7376: l_api_name,
7377: G_PKG_NAME)
7378: THEN
7375: p_api_version,
7376: l_api_name,
7377: G_PKG_NAME)
7378: THEN
7379: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7380: END IF;
7381:
7382: --
7383: -- Initialize message list if p_init_msg_list is set to TRUE.
7381:
7382: --
7383: -- Initialize message list if p_init_msg_list is set to TRUE.
7384: --
7385: IF FND_API.to_Boolean( p_init_msg_list ) THEN
7386: FND_MSG_PUB.initialize;
7387: END IF;
7388:
7389:
7389:
7390: --
7391: -- Initialize API return status to success
7392: --
7393: x_return_status := FND_API.G_RET_STS_SUCCESS;
7394:
7395: --
7396: -- Select Deviation Rules from configuration
7397: --
7420: END IF;
7421:
7422: EXCEPTION
7423:
7424: WHEN FND_API.G_EXC_ERROR THEN
7425:
7426: x_return_status := FND_API.G_RET_STS_ERROR ;
7427: FND_MSG_PUB.Count_And_Get(
7428: p_count => x_msg_count,
7422: EXCEPTION
7423:
7424: WHEN FND_API.G_EXC_ERROR THEN
7425:
7426: x_return_status := FND_API.G_RET_STS_ERROR ;
7427: FND_MSG_PUB.Count_And_Get(
7428: p_count => x_msg_count,
7429: p_data => x_msg_data
7430: );
7428: p_count => x_msg_count,
7429: p_data => x_msg_data
7430: );
7431:
7432: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
7433: x_return_status := FND_API.G_RET_STS_ERROR ;
7434: FND_MSG_PUB.Count_And_Get(
7435: p_count => x_msg_count,
7436: p_data => x_msg_data
7429: p_data => x_msg_data
7430: );
7431:
7432: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
7433: x_return_status := FND_API.G_RET_STS_ERROR ;
7434: FND_MSG_PUB.Count_And_Get(
7435: p_count => x_msg_count,
7436: p_data => x_msg_data
7437: );
7436: p_data => x_msg_data
7437: );
7438:
7439: WHEN OTHERS THEN
7440: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
7441:
7442: IF FND_MSG_PUB.Check_Msg_Level
7443: (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
7444: THEN
7524:
7525: --
7526: -- Standard call to check for call compatibility.
7527: --
7528: IF NOT FND_API.Compatible_API_Call (l_api_version,
7529: p_api_version,
7530: l_api_name,
7531: G_PKG_NAME)
7532: THEN
7529: p_api_version,
7530: l_api_name,
7531: G_PKG_NAME)
7532: THEN
7533: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7534: END IF;
7535:
7536: --
7537: -- Initialize message list if p_init_msg_list is set to TRUE.
7535:
7536: --
7537: -- Initialize message list if p_init_msg_list is set to TRUE.
7538: --
7539: IF FND_API.to_Boolean( p_init_msg_list ) THEN
7540: FND_MSG_PUB.initialize;
7541: END IF;
7542:
7543:
7543:
7544: --
7545: -- Initialize API return status to success
7546: --
7547: x_return_status := FND_API.G_RET_STS_SUCCESS;
7548:
7549: --
7550: -- Select Variable values from Temp table
7551: --
7587: END IF;
7588:
7589: EXCEPTION
7590:
7591: WHEN FND_API.G_EXC_ERROR THEN
7592:
7593: x_return_status := FND_API.G_RET_STS_ERROR ;
7594: FND_MSG_PUB.Count_And_Get(
7595: p_count => x_msg_count,
7589: EXCEPTION
7590:
7591: WHEN FND_API.G_EXC_ERROR THEN
7592:
7593: x_return_status := FND_API.G_RET_STS_ERROR ;
7594: FND_MSG_PUB.Count_And_Get(
7595: p_count => x_msg_count,
7596: p_data => x_msg_data
7597: );
7595: p_count => x_msg_count,
7596: p_data => x_msg_data
7597: );
7598:
7599: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
7600: x_return_status := FND_API.G_RET_STS_ERROR ;
7601: FND_MSG_PUB.Count_And_Get(
7602: p_count => x_msg_count,
7603: p_data => x_msg_data
7596: p_data => x_msg_data
7597: );
7598:
7599: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
7600: x_return_status := FND_API.G_RET_STS_ERROR ;
7601: FND_MSG_PUB.Count_And_Get(
7602: p_count => x_msg_count,
7603: p_data => x_msg_data
7604: );
7603: p_data => x_msg_data
7604: );
7605:
7606: WHEN OTHERS THEN
7607: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
7608:
7609: IF FND_MSG_PUB.Check_Msg_Level
7610: (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
7611: THEN
7705:
7706: --
7707: -- Standard call to check for call compatibility.
7708: --
7709: IF NOT FND_API.Compatible_API_Call (l_api_version,
7710: p_api_version,
7711: l_api_name,
7712: G_PKG_NAME)
7713: THEN
7710: p_api_version,
7711: l_api_name,
7712: G_PKG_NAME)
7713: THEN
7714: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7715: END IF;
7716:
7717: --
7718: -- Initialize message list if p_init_msg_list is set to TRUE.
7716:
7717: --
7718: -- Initialize message list if p_init_msg_list is set to TRUE.
7719: --
7720: IF FND_API.to_Boolean( p_init_msg_list ) THEN
7721: FND_MSG_PUB.initialize;
7722: END IF;
7723:
7724:
7724:
7725: --
7726: -- Initialize API return status to success
7727: --
7728: x_return_status := FND_API.G_RET_STS_SUCCESS;
7729:
7730: --
7731: -- Select Question value from Cz config table
7732: --
7763: END IF;
7764:
7765: EXCEPTION
7766:
7767: WHEN FND_API.G_EXC_ERROR THEN
7768:
7769: x_return_status := FND_API.G_RET_STS_ERROR ;
7770: FND_MSG_PUB.Count_And_Get(
7771: p_count => x_msg_count,
7765: EXCEPTION
7766:
7767: WHEN FND_API.G_EXC_ERROR THEN
7768:
7769: x_return_status := FND_API.G_RET_STS_ERROR ;
7770: FND_MSG_PUB.Count_And_Get(
7771: p_count => x_msg_count,
7772: p_data => x_msg_data
7773: );
7771: p_count => x_msg_count,
7772: p_data => x_msg_data
7773: );
7774:
7775: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
7776: x_return_status := FND_API.G_RET_STS_ERROR ;
7777: FND_MSG_PUB.Count_And_Get(
7778: p_count => x_msg_count,
7779: p_data => x_msg_data
7772: p_data => x_msg_data
7773: );
7774:
7775: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
7776: x_return_status := FND_API.G_RET_STS_ERROR ;
7777: FND_MSG_PUB.Count_And_Get(
7778: p_count => x_msg_count,
7779: p_data => x_msg_data
7780: );
7779: p_data => x_msg_data
7780: );
7781:
7782: WHEN OTHERS THEN
7783: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
7784:
7785: IF FND_MSG_PUB.Check_Msg_Level
7786: (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
7787: THEN
7913:
7914: --
7915: -- Standard call to check for call compatibility.
7916: --
7917: IF NOT FND_API.Compatible_API_Call (l_api_version,
7918: p_api_version,
7919: l_api_name,
7920: G_PKG_NAME)
7921: THEN
7918: p_api_version,
7919: l_api_name,
7920: G_PKG_NAME)
7921: THEN
7922: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7923: END IF;
7924:
7925: --
7926: -- Initialize message list if p_init_msg_list is set to TRUE.
7924:
7925: --
7926: -- Initialize message list if p_init_msg_list is set to TRUE.
7927: --
7928: IF FND_API.to_Boolean( p_init_msg_list ) THEN
7929: FND_MSG_PUB.initialize;
7930: END IF;
7931:
7932:
7932:
7933: --
7934: -- Initialize API return status to success
7935: --
7936: x_return_status := FND_API.G_RET_STS_SUCCESS;
7937:
7938:
7939: -- Step 1: Get Clause values from the old get_article_details api
7940:
7951: x_return_status => x_return_status,
7952: x_msg_count => x_msg_count,
7953: x_msg_data => x_msg_data);
7954:
7955: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS)
7956: THEN
7957: raise FND_API.G_EXC_UNEXPECTED_ERROR;
7958: END IF;
7959:
7953: x_msg_data => x_msg_data);
7954:
7955: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS)
7956: THEN
7957: raise FND_API.G_EXC_UNEXPECTED_ERROR;
7958: END IF;
7959:
7960:
7961: -- Step 2: Get Clause title, description and section info
8084: END IF;
8085:
8086: EXCEPTION
8087:
8088: WHEN FND_API.G_EXC_ERROR THEN
8089:
8090: x_return_status := FND_API.G_RET_STS_ERROR ;
8091: FND_MSG_PUB.Count_And_Get(
8092: p_count => x_msg_count,
8086: EXCEPTION
8087:
8088: WHEN FND_API.G_EXC_ERROR THEN
8089:
8090: x_return_status := FND_API.G_RET_STS_ERROR ;
8091: FND_MSG_PUB.Count_And_Get(
8092: p_count => x_msg_count,
8093: p_data => x_msg_data
8094: );
8092: p_count => x_msg_count,
8093: p_data => x_msg_data
8094: );
8095:
8096: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
8097: x_return_status := FND_API.G_RET_STS_ERROR ;
8098: FND_MSG_PUB.Count_And_Get(
8099: p_count => x_msg_count,
8100: p_data => x_msg_data
8093: p_data => x_msg_data
8094: );
8095:
8096: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
8097: x_return_status := FND_API.G_RET_STS_ERROR ;
8098: FND_MSG_PUB.Count_And_Get(
8099: p_count => x_msg_count,
8100: p_data => x_msg_data
8101: );
8100: p_data => x_msg_data
8101: );
8102:
8103: WHEN OTHERS THEN
8104: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
8105:
8106: IF FND_MSG_PUB.Check_Msg_Level
8107: (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
8108: THEN
8266:
8267: --
8268: -- Standard call to check for call compatibility.
8269: --
8270: IF NOT FND_API.Compatible_API_Call (l_api_version,
8271: p_api_version,
8272: l_api_name,
8273: G_PKG_NAME)
8274: THEN
8271: p_api_version,
8272: l_api_name,
8273: G_PKG_NAME)
8274: THEN
8275: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8276: END IF;
8277:
8278: --
8279: -- Initialize message list if p_init_msg_list is set to TRUE.
8277:
8278: --
8279: -- Initialize message list if p_init_msg_list is set to TRUE.
8280: --
8281: IF FND_API.to_Boolean( p_init_msg_list ) THEN
8282: FND_MSG_PUB.initialize;
8283: END IF;
8284:
8285:
8285:
8286: --
8287: -- Initialize API return status to success
8288: --
8289: x_return_status := FND_API.G_RET_STS_SUCCESS;
8290:
8291: --In case of Buy side line_nubers will be null
8292: --if Line_Number is null then assign -99 as line_number
8293: l_rule_var_values_tbl := p_rule_var_values_tbl;
8470: LOOP
8471: IF p_clause_tbl.EXISTS(i) THEN
8472: get_article_details(
8473: p_api_version => 1.0,
8474: p_init_msg_list => FND_API.G_FALSE,
8475: p_document_type => p_document_type,
8476: p_document_id => p_document_id,
8477: p_article_id => p_clause_tbl(i),
8478: p_effectivity_date => sysdate,
8485: x_return_status => x_return_status,
8486: x_msg_count => x_msg_count,
8487: x_msg_data => x_msg_data);
8488:
8489: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS)
8490: THEN
8491: raise FND_API.G_EXC_UNEXPECTED_ERROR;
8492: END IF;
8493:
8487: x_msg_data => x_msg_data);
8488:
8489: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS)
8490: THEN
8491: raise FND_API.G_EXC_UNEXPECTED_ERROR;
8492: END IF;
8493:
8494: -- Insert Clause details into okc_terms_deviations_t
8495:
8534: END IF;
8535:
8536: EXCEPTION
8537:
8538: WHEN FND_API.G_EXC_ERROR THEN
8539:
8540: x_return_status := FND_API.G_RET_STS_ERROR ;
8541: FND_MSG_PUB.Count_And_Get(
8542: p_count => x_msg_count,
8536: EXCEPTION
8537:
8538: WHEN FND_API.G_EXC_ERROR THEN
8539:
8540: x_return_status := FND_API.G_RET_STS_ERROR ;
8541: FND_MSG_PUB.Count_And_Get(
8542: p_count => x_msg_count,
8543: p_data => x_msg_data
8544: );
8542: p_count => x_msg_count,
8543: p_data => x_msg_data
8544: );
8545:
8546: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
8547: x_return_status := FND_API.G_RET_STS_ERROR ;
8548: FND_MSG_PUB.Count_And_Get(
8549: p_count => x_msg_count,
8550: p_data => x_msg_data
8543: p_data => x_msg_data
8544: );
8545:
8546: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
8547: x_return_status := FND_API.G_RET_STS_ERROR ;
8548: FND_MSG_PUB.Count_And_Get(
8549: p_count => x_msg_count,
8550: p_data => x_msg_data
8551: );
8550: p_data => x_msg_data
8551: );
8552:
8553: WHEN OTHERS THEN
8554: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
8555:
8556: IF FND_MSG_PUB.Check_Msg_Level
8557: (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
8558: THEN
8638:
8639: --
8640: -- Standard call to check for call compatibility.
8641: --
8642: IF NOT FND_API.Compatible_API_Call (l_api_version,
8643: p_api_version,
8644: l_api_name,
8645: G_PKG_NAME)
8646: THEN
8643: p_api_version,
8644: l_api_name,
8645: G_PKG_NAME)
8646: THEN
8647: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8648: END IF;
8649:
8650: --
8651: -- Initialize message list if p_init_msg_list is set to TRUE.
8649:
8650: --
8651: -- Initialize message list if p_init_msg_list is set to TRUE.
8652: --
8653: IF FND_API.to_Boolean( p_init_msg_list ) THEN
8654: FND_MSG_PUB.initialize;
8655: END IF;
8656:
8657: --
8665:
8666: --
8667: -- Initialize API return status to success
8668: --
8669: x_return_status := FND_API.G_RET_STS_SUCCESS;
8670:
8671: -- Step 1: Get Document values from the Extension rule api
8672:
8673: IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
8677: END IF;
8678:
8679: OKC_XPRT_XRULE_VALUES_PVT.get_document_values (
8680: p_api_version => 1.0,
8681: p_init_msg_list => FND_API.G_FALSE,
8682: p_doc_type => p_document_type,
8683: p_doc_id => p_document_id,
8684: x_return_status => x_return_status,
8685: x_msg_data => x_msg_data,
8690: x_line_variables_count => l_line_variables_count,
8691: x_intent => l_intent,
8692: x_org_id => l_org_id);
8693:
8694: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS)
8695: THEN
8696: raise FND_API.G_EXC_UNEXPECTED_ERROR;
8697: END IF;
8698:
8692: x_org_id => l_org_id);
8693:
8694: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS)
8695: THEN
8696: raise FND_API.G_EXC_UNEXPECTED_ERROR;
8697: END IF;
8698:
8699:
8700: -- Step 2: Insert values into okc_xprt_deviations_gt
8815: END IF;
8816:
8817: get_expert_selections(
8818: p_api_version => 1.0,
8819: p_init_msg_list => FND_API.G_FALSE,
8820: p_document_id => p_document_id,
8821: p_document_type => p_document_type,
8822: p_config_header_id => p_config_header_id,
8823: p_config_rev_nbr => p_config_rev_nbr,
8827: x_msg_data => x_msg_data,
8828: x_msg_count => x_msg_count);
8829:
8830:
8831: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS)
8832: THEN
8833: raise FND_API.G_EXC_UNEXPECTED_ERROR;
8834: END IF;
8835:
8829:
8830:
8831: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS)
8832: THEN
8833: raise FND_API.G_EXC_UNEXPECTED_ERROR;
8834: END IF;
8835:
8836:
8837: -- Step 4: For each Deviation rule get unique list of variables and Questions
8844:
8845: IF l_expert_deviations_tbl.COUNT > 0 THEN
8846: get_rule_details(
8847: p_api_version => 1.0,
8848: p_init_msg_list => FND_API.G_FALSE,
8849: p_dev_rule_tbl => l_expert_deviations_tbl,
8850: x_dev_rule_questions_tbl => l_rule_questions_tbl,
8851: x_dev_rule_variables_tbl => l_rule_variables_tbl,
8852: x_return_status => x_return_status,
8853: x_msg_data => x_msg_data,
8854: x_msg_count => x_msg_count);
8855:
8856:
8857: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS)
8858: THEN
8859: raise FND_API.G_EXC_UNEXPECTED_ERROR;
8860: END IF;
8861:
8855:
8856:
8857: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS)
8858: THEN
8859: raise FND_API.G_EXC_UNEXPECTED_ERROR;
8860: END IF;
8861:
8862:
8863: -- Step 5: For variables in rule get value from okc_xprt_deviations_gt
8870: END IF;
8871:
8872: get_rule_variable_values(
8873: p_api_version => 1.0,
8874: p_init_msg_list => FND_API.G_FALSE,
8875: p_sequence_id => p_sequence_id,
8876: p_dev_rule_variables_tbl => l_rule_variables_tbl,
8877: x_dev_rule_var_values_tbl => l_rule_var_values_tbl,
8878: x_return_status => x_return_status,
8878: x_return_status => x_return_status,
8879: x_msg_data => x_msg_data,
8880: x_msg_count => x_msg_count);
8881:
8882: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS)
8883: THEN
8884: raise FND_API.G_EXC_UNEXPECTED_ERROR;
8885: END IF;
8886: END IF;
8880: x_msg_count => x_msg_count);
8881:
8882: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS)
8883: THEN
8884: raise FND_API.G_EXC_UNEXPECTED_ERROR;
8885: END IF;
8886: END IF;
8887:
8888:
8896: END IF;
8897:
8898: get_rule_question_values(
8899: p_api_version => 1.0,
8900: p_init_msg_list => FND_API.G_FALSE,
8901: p_config_header_id => p_config_header_id,
8902: p_config_rev_nbr => p_config_rev_nbr,
8903: p_dev_rule_questions_tbl => l_rule_questions_tbl,
8904: x_dev_rule_qst_values_tbl => l_rule_qst_values_tbl,
8906: x_msg_data => x_msg_data,
8907: x_msg_count => x_msg_count);
8908:
8909:
8910: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS)
8911: THEN
8912: raise FND_API.G_EXC_UNEXPECTED_ERROR;
8913: END IF;
8914:
8908:
8909:
8910: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS)
8911: THEN
8912: raise FND_API.G_EXC_UNEXPECTED_ERROR;
8913: END IF;
8914:
8915: END IF; -- Check for presence of Deviations from Expert
8916: END IF;
8924: END IF;
8925:
8926: populate_terms_deviations_tbl(
8927: p_api_version => 1.0,
8928: p_init_msg_list => FND_API.G_FALSE,
8929: p_document_id => p_document_id,
8930: p_document_type => p_document_type,
8931: p_sequence_id => p_sequence_id,
8932: p_config_header_id => p_config_header_id,
8939: x_msg_data => x_msg_data,
8940: x_msg_count => x_msg_count);
8941:
8942:
8943: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS)
8944: THEN
8945: raise FND_API.G_EXC_UNEXPECTED_ERROR;
8946: END IF;
8947:
8941:
8942:
8943: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS)
8944: THEN
8945: raise FND_API.G_EXC_UNEXPECTED_ERROR;
8946: END IF;
8947:
8948:
8949: -- end debug log
8954: END IF;
8955:
8956: EXCEPTION
8957:
8958: WHEN FND_API.G_EXC_ERROR THEN
8959:
8960: x_return_status := FND_API.G_RET_STS_ERROR ;
8961: FND_MSG_PUB.Count_And_Get(
8962: p_count => x_msg_count,
8956: EXCEPTION
8957:
8958: WHEN FND_API.G_EXC_ERROR THEN
8959:
8960: x_return_status := FND_API.G_RET_STS_ERROR ;
8961: FND_MSG_PUB.Count_And_Get(
8962: p_count => x_msg_count,
8963: p_data => x_msg_data
8964: );
8962: p_count => x_msg_count,
8963: p_data => x_msg_data
8964: );
8965:
8966: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
8967: x_return_status := FND_API.G_RET_STS_ERROR ;
8968: FND_MSG_PUB.Count_And_Get(
8969: p_count => x_msg_count,
8970: p_data => x_msg_data
8963: p_data => x_msg_data
8964: );
8965:
8966: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
8967: x_return_status := FND_API.G_RET_STS_ERROR ;
8968: FND_MSG_PUB.Count_And_Get(
8969: p_count => x_msg_count,
8970: p_data => x_msg_data
8971: );
8970: p_data => x_msg_data
8971: );
8972:
8973: WHEN OTHERS THEN
8974: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
8975:
8976: IF FND_MSG_PUB.Check_Msg_Level
8977: (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
8978: THEN
9164:
9165: --
9166: -- Initialize API return status to success
9167: --
9168: x_return_status := FND_API.G_RET_STS_SUCCESS;
9169:
9170:
9171: --
9172: -- Standard call to check for call compatibility.
9170:
9171: --
9172: -- Standard call to check for call compatibility.
9173: --
9174: IF NOT FND_API.Compatible_API_Call (l_api_version,
9175: p_api_version,
9176: l_api_name,
9177: G_PKG_NAME)
9178: THEN
9175: p_api_version,
9176: l_api_name,
9177: G_PKG_NAME)
9178: THEN
9179: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9180: END IF;
9181:
9182:
9183: --
9182:
9183: --
9184: -- Initialize message list if p_init_msg_list is set to TRUE.
9185: --
9186: IF FND_API.to_Boolean( p_init_msg_list )
9187: THEN
9188: FND_MSG_PUB.initialize;
9189: END IF;
9190:
9214: x_qa_name => l_expert_not_applied_desc,
9215: x_severity_flag => l_expert_not_applied_sev,
9216: x_return_status => x_return_status);
9217:
9218: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR)
9219: THEN
9220: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
9221: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
9222: RAISE FND_API.G_EXC_ERROR ;
9216: x_return_status => x_return_status);
9217:
9218: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR)
9219: THEN
9220: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
9221: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
9222: RAISE FND_API.G_EXC_ERROR ;
9223: END IF;
9224:
9217:
9218: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR)
9219: THEN
9220: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
9221: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
9222: RAISE FND_API.G_EXC_ERROR ;
9223: END IF;
9224:
9225: --
9218: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR)
9219: THEN
9220: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
9221: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
9222: RAISE FND_API.G_EXC_ERROR ;
9223: END IF;
9224:
9225: --
9226: -- Get Partially Applied QA Code Severity and Name
9231: x_qa_name => l_expert_partially_run_desc,
9232: x_severity_flag => l_expert_partially_run_sev,
9233: x_return_status => x_return_status);
9234:
9235: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR)
9236: THEN
9237: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
9238: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
9239: RAISE FND_API.G_EXC_ERROR ;
9233: x_return_status => x_return_status);
9234:
9235: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR)
9236: THEN
9237: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
9238: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
9239: RAISE FND_API.G_EXC_ERROR ;
9240: END IF;
9241:
9234:
9235: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR)
9236: THEN
9237: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
9238: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
9239: RAISE FND_API.G_EXC_ERROR ;
9240: END IF;
9241:
9242: --
9235: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR)
9236: THEN
9237: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
9238: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
9239: RAISE FND_API.G_EXC_ERROR ;
9240: END IF;
9241:
9242: --
9243: -- Get Invalid Config QA Code Severity and Name
9248: x_qa_name => l_invalid_config_desc,
9249: x_severity_flag => l_invalid_config_sev,
9250: x_return_status => x_return_status);
9251:
9252: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR)
9253: THEN
9254: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
9255: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
9256: RAISE FND_API.G_EXC_ERROR ;
9250: x_return_status => x_return_status);
9251:
9252: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR)
9253: THEN
9254: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
9255: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
9256: RAISE FND_API.G_EXC_ERROR ;
9257: END IF;
9258:
9251:
9252: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR)
9253: THEN
9254: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
9255: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
9256: RAISE FND_API.G_EXC_ERROR ;
9257: END IF;
9258:
9259:
9252: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR)
9253: THEN
9254: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
9255: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
9256: RAISE FND_API.G_EXC_ERROR ;
9257: END IF;
9258:
9259:
9260: --
9266: x_qa_name => l_incomplt_config_desc,
9267: x_severity_flag => l_incomplt_config_sev,
9268: x_return_status => x_return_status);
9269:
9270: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR)
9271: THEN
9272: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
9273: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
9274: RAISE FND_API.G_EXC_ERROR ;
9268: x_return_status => x_return_status);
9269:
9270: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR)
9271: THEN
9272: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
9273: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
9274: RAISE FND_API.G_EXC_ERROR ;
9275: END IF;
9276:
9269:
9270: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR)
9271: THEN
9272: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
9273: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
9274: RAISE FND_API.G_EXC_ERROR ;
9275: END IF;
9276:
9277: --
9270: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR)
9271: THEN
9272: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
9273: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
9274: RAISE FND_API.G_EXC_ERROR ;
9275: END IF;
9276:
9277: --
9278: -- Get New Article QA Code Severity and Name
9283: x_qa_name => l_new_expert_article_desc,
9284: x_severity_flag => l_new_expert_article_sev,
9285: x_return_status => x_return_status);
9286:
9287: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR)
9288: THEN
9289: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
9290: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
9291: RAISE FND_API.G_EXC_ERROR ;
9285: x_return_status => x_return_status);
9286:
9287: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR)
9288: THEN
9289: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
9290: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
9291: RAISE FND_API.G_EXC_ERROR ;
9292: END IF;
9293:
9286:
9287: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR)
9288: THEN
9289: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
9290: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
9291: RAISE FND_API.G_EXC_ERROR ;
9292: END IF;
9293:
9294:
9287: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR)
9288: THEN
9289: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
9290: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
9291: RAISE FND_API.G_EXC_ERROR ;
9292: END IF;
9293:
9294:
9295: --
9301: x_qa_name => l_old_expert_article_desc,
9302: x_severity_flag => l_old_expert_article_sev,
9303: x_return_status => x_return_status);
9304:
9305: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR)
9306: THEN
9307: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
9308: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
9309: RAISE FND_API.G_EXC_ERROR ;
9303: x_return_status => x_return_status);
9304:
9305: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR)
9306: THEN
9307: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
9308: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
9309: RAISE FND_API.G_EXC_ERROR ;
9310: END IF;
9311:
9304:
9305: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR)
9306: THEN
9307: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
9308: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
9309: RAISE FND_API.G_EXC_ERROR ;
9310: END IF;
9311:
9312: --
9305: IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR)
9306: THEN
9307: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
9308: ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
9309: RAISE FND_API.G_EXC_ERROR ;
9310: END IF;
9311:
9312: --
9313: -- Contract Expert QA Checks are inter-dependent.
9500: IF (p_bv_mode = 'QA') THEN
9501:
9502: process_qa_result(
9503: p_api_version => 1.0,
9504: p_init_msg_list => FND_API.G_FALSE,
9505: p_document_id => p_document_id,
9506: p_document_type => p_document_type,
9507: p_config_header_id => l_new_config_header_id,
9508: p_config_rev_nbr => l_new_config_rev_nbr,
9511: x_msg_data => x_msg_data,
9512: x_msg_count => x_msg_count);
9513:
9514:
9515: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS)
9516: THEN
9517: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9518: END IF;
9519:
9513:
9514:
9515: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS)
9516: THEN
9517: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9518: END IF;
9519:
9520: -- p_bv_mode is 'DEV' for deviation report
9521: ELSIF (p_bv_mode = 'DEV') THEN
9524: 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
9525:
9526: process_qa_result(
9527: p_api_version => 1.0,
9528: p_init_msg_list => FND_API.G_FALSE,
9529: p_document_id => p_document_id,
9530: p_document_type => p_document_type,
9531: p_config_header_id => l_new_config_header_id,
9532: p_config_rev_nbr => l_new_config_rev_nbr,
9535: x_msg_data => x_msg_data,
9536: x_msg_count => x_msg_count);
9537:
9538:
9539: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS)
9540: THEN
9541: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9542: END IF;
9543: END IF;
9537:
9538:
9539: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS)
9540: THEN
9541: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9542: END IF;
9543: END IF;
9544:
9545: -- if policy rules have no questions or has answered questions
9546: 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
9547:
9548: get_expert_articles(
9549: p_api_version => 1.0,
9550: p_init_msg_list => FND_API.G_FALSE,
9551: p_document_id => p_document_id,
9552: p_document_type => p_document_type,
9553: p_config_header_id => l_new_config_header_id,
9554: p_config_rev_nbr => l_new_config_rev_nbr,
9556: x_return_status => x_return_status,
9557: x_msg_data => x_msg_data,
9558: x_msg_count => x_msg_count);
9559:
9560: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS)
9561: THEN
9562: raise FND_API.G_EXC_UNEXPECTED_ERROR;
9563: END IF;
9564:
9558: x_msg_count => x_msg_count);
9559:
9560: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS)
9561: THEN
9562: raise FND_API.G_EXC_UNEXPECTED_ERROR;
9563: END IF;
9564:
9565:
9566: --SELECT OKC_TERMS_DEVIATIONS_S1.nextval INTO l_sequence_id from DUAL;
9567: l_sequence_id := p_sequence_id;
9568:
9569: get_expert_results(
9570: p_api_version => 1.0,
9571: p_init_msg_list => FND_API.G_FALSE,
9572: p_document_id => p_document_id,
9573: p_document_type => p_document_type,
9574: p_mode => 'BV',
9575: p_sequence_id => l_sequence_id,
9579: x_msg_data => x_msg_data,
9580: x_msg_count => x_msg_count);
9581:
9582:
9583: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
9584: raise FND_API.G_EXC_UNEXPECTED_ERROR;
9585: END IF;
9586: END IF;
9587:
9580: x_msg_count => x_msg_count);
9581:
9582:
9583: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
9584: raise FND_API.G_EXC_UNEXPECTED_ERROR;
9585: END IF;
9586: END IF;
9587:
9588: RETURN;
9589: ELSIF (p_bv_mode = 'APPR') THEN
9590:
9591: process_qa_result(
9592: p_api_version => 1.0,
9593: p_init_msg_list => FND_API.G_FALSE,
9594: p_document_id => p_document_id,
9595: p_document_type => p_document_type,
9596: p_config_header_id => l_new_config_header_id,
9597: p_config_rev_nbr => l_new_config_rev_nbr,
9599: x_return_status => x_return_status,
9600: x_msg_data => x_msg_data,
9601: x_msg_count => x_msg_count);
9602:
9603: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS)
9604: THEN
9605: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9606: END IF;
9607:
9601: x_msg_count => x_msg_count);
9602:
9603: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS)
9604: THEN
9605: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9606: END IF;
9607:
9608: get_expert_articles(
9609: p_api_version => 1.0,
9606: END IF;
9607:
9608: get_expert_articles(
9609: p_api_version => 1.0,
9610: p_init_msg_list => FND_API.G_FALSE,
9611: p_document_id => p_document_id,
9612: p_document_type => p_document_type,
9613: p_config_header_id => l_new_config_header_id,
9614: p_config_rev_nbr => l_new_config_rev_nbr,
9616: x_return_status => x_return_status,
9617: x_msg_data => x_msg_data,
9618: x_msg_count => x_msg_count);
9619:
9620: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS)
9621: THEN
9622: raise FND_API.G_EXC_UNEXPECTED_ERROR;
9623: END IF;
9624:
9618: x_msg_count => x_msg_count);
9619:
9620: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS)
9621: THEN
9622: raise FND_API.G_EXC_UNEXPECTED_ERROR;
9623: END IF;
9624:
9625:
9626: --SELECT OKC_TERMS_DEVIATIONS_S1.nextval INTO l_sequence_id from DUAL;
9627: l_sequence_id := p_sequence_id;
9628:
9629: get_expert_results(
9630: p_api_version => 1.0,
9631: p_init_msg_list => FND_API.G_FALSE,
9632: p_document_id => p_document_id,
9633: p_document_type => p_document_type,
9634: p_mode => 'BV',
9635: p_sequence_id => l_sequence_id,
9639: x_msg_data => x_msg_data,
9640: x_msg_count => x_msg_count);
9641:
9642:
9643: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS)
9644: THEN
9645: raise FND_API.G_EXC_UNEXPECTED_ERROR;
9646: END IF;
9647: END IF; -- p_bv_mode
9641:
9642:
9643: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS)
9644: THEN
9645: raise FND_API.G_EXC_UNEXPECTED_ERROR;
9646: END IF;
9647: END IF; -- p_bv_mode
9648:
9649: ELSE --configurator
9738: -- Build XML Init Msg for BV.
9739: --
9740: build_cz_xml_init_msg(
9741: p_api_version => 1.0,
9742: p_init_msg_list => FND_API.G_FALSE,
9743: p_document_id => p_document_id,
9744: p_document_type => p_document_type,
9745: p_config_header_id => l_config_header_id,
9746: p_config_rev_nbr => l_config_rev_nbr,
9750: x_msg_data => x_msg_data,
9751: x_msg_count => x_msg_count);
9752:
9753:
9754: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS OR l_cz_xml_init_msg IS NULL)
9755: THEN
9756: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9757: END IF;
9758:
9752:
9753:
9754: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS OR l_cz_xml_init_msg IS NULL)
9755: THEN
9756: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9757: END IF;
9758:
9759: --
9760: -- Invoke BV.
9760: -- Invoke BV.
9761: --
9762: OKC_XPRT_CZ_INT_PVT.batch_validate(
9763: p_api_version => 1.0,
9764: p_init_msg_list => FND_API.G_FALSE,
9765: p_cz_xml_init_msg => l_cz_xml_init_msg,
9766: x_cz_xml_terminate_msg => l_xml_terminate_msg, -- this has been converted
9767: -- internally from
9768: -- HTML_PIECES to LONG.
9770: x_msg_data => x_msg_data,
9771: x_msg_count => x_msg_count);
9772:
9773:
9774: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS OR l_xml_terminate_msg IS NULL)
9775: THEN
9776: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9777: END IF;
9778:
9772:
9773:
9774: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS OR l_xml_terminate_msg IS NULL)
9775: THEN
9776: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9777: END IF;
9778:
9779:
9780: --
9781: -- Parse BV Results
9782: --
9783: parse_cz_xml_terminate_msg(
9784: p_api_version => 1.0,
9785: p_init_msg_list => FND_API.G_FALSE,
9786: p_cz_xml_terminate_msg => l_xml_terminate_msg,
9787: x_valid_config => l_valid_config,
9788: x_complete_config => l_complete_config,
9789: x_config_header_id => l_new_config_header_id,
9800: In 'DEV' mode, we need to continue processing the expert clauses from CZ even if the
9801: valid_configuration is false
9802: */
9803:
9804: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS)
9805: THEN
9806: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9807: END IF;
9808:
9802: */
9803:
9804: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS)
9805: THEN
9806: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9807: END IF;
9808:
9809: --
9810: -- Template is enabled for Expert.
9839: --
9840:
9841: OKC_XPRT_CZ_INT_PVT.delete_configuration(
9842: p_api_version => 1.0,
9843: p_init_msg_list => FND_API.G_FALSE,
9844: p_config_header_id => l_new_config_header_id,
9845: p_config_rev_nbr => l_new_config_rev_nbr,
9846: x_return_status => x_return_status,
9847: x_msg_data => x_msg_data,
9846: x_return_status => x_return_status,
9847: x_msg_data => x_msg_data,
9848: x_msg_count => x_msg_count);
9849:
9850: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS)
9851: THEN
9852: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9853: END IF;
9854:
9848: x_msg_count => x_msg_count);
9849:
9850: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS)
9851: THEN
9852: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9853: END IF;
9854:
9855: RETURN;
9856:
9889: --
9890:
9891: OKC_XPRT_CZ_INT_PVT.delete_configuration(
9892: p_api_version => 1.0,
9893: p_init_msg_list => FND_API.G_FALSE,
9894: p_config_header_id => l_new_config_header_id,
9895: p_config_rev_nbr => l_new_config_rev_nbr,
9896: x_return_status => x_return_status,
9897: x_msg_data => x_msg_data,
9896: x_return_status => x_return_status,
9897: x_msg_data => x_msg_data,
9898: x_msg_count => x_msg_count);
9899:
9900: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS)
9901: THEN
9902: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9903: END IF;
9904:
9898: x_msg_count => x_msg_count);
9899:
9900: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS)
9901: THEN
9902: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9903: END IF;
9904:
9905: RETURN;
9906:
9934: -- Delete BV Configuration from CZ.
9935: --
9936: OKC_XPRT_CZ_INT_PVT.delete_configuration(
9937: p_api_version => 1.0,
9938: p_init_msg_list => FND_API.G_FALSE,
9939: p_config_header_id => l_new_config_header_id,
9940: p_config_rev_nbr => l_new_config_rev_nbr,
9941: x_return_status => x_return_status,
9942: x_msg_data => x_msg_data,
9941: x_return_status => x_return_status,
9942: x_msg_data => x_msg_data,
9943: x_msg_count => x_msg_count);
9944:
9945: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS)
9946: THEN
9947: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9948: END IF;
9949:
9943: x_msg_count => x_msg_count);
9944:
9945: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS)
9946: THEN
9947: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9948: END IF;
9949:
9950: RETURN;
9951:
9980: -- Delete BV Configuration from CZ.
9981: --
9982: OKC_XPRT_CZ_INT_PVT.delete_configuration(
9983: p_api_version => 1.0,
9984: p_init_msg_list => FND_API.G_FALSE,
9985: p_config_header_id => l_new_config_header_id,
9986: p_config_rev_nbr => l_new_config_rev_nbr,
9987: x_return_status => x_return_status,
9988: x_msg_data => x_msg_data,
9987: x_return_status => x_return_status,
9988: x_msg_data => x_msg_data,
9989: x_msg_count => x_msg_count);
9990:
9991: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS)
9992: THEN
9993: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9994: END IF;
9995:
9989: x_msg_count => x_msg_count);
9990:
9991: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS)
9992: THEN
9993: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9994: END IF;
9995:
9996: RETURN;
9997:
10008: -- Delete BV Configuration from CZ.
10009: --
10010: OKC_XPRT_CZ_INT_PVT.delete_configuration(
10011: p_api_version => 1.0,
10012: p_init_msg_list => FND_API.G_FALSE,
10013: p_config_header_id => l_new_config_header_id,
10014: p_config_rev_nbr => l_new_config_rev_nbr,
10015: x_return_status => x_return_status,
10016: x_msg_data => x_msg_data,
10015: x_return_status => x_return_status,
10016: x_msg_data => x_msg_data,
10017: x_msg_count => x_msg_count);
10018:
10019: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS)
10020: THEN
10021: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
10022: END IF;
10023:
10017: x_msg_count => x_msg_count);
10018:
10019: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS)
10020: THEN
10021: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
10022: END IF;
10023:
10024: -- Raises error for invalid configuration
10025: FND_MESSAGE.set_name('OKC', G_OKC_INVALID_CONFIG_D);
10023:
10024: -- Raises error for invalid configuration
10025: FND_MESSAGE.set_name('OKC', G_OKC_INVALID_CONFIG_D);
10026: FND_MSG_PUB.ADD;
10027: RAISE FND_API.G_EXC_ERROR;
10028:
10029: RETURN;
10030:
10031: END IF;
10039: IF (p_bv_mode = 'QA') THEN
10040:
10041: process_qa_result(
10042: p_api_version => 1.0,
10043: p_init_msg_list => FND_API.G_FALSE,
10044: p_document_id => p_document_id,
10045: p_document_type => p_document_type,
10046: p_config_header_id => l_new_config_header_id,
10047: p_config_rev_nbr => l_new_config_rev_nbr,
10050: x_msg_data => x_msg_data,
10051: x_msg_count => x_msg_count);
10052:
10053:
10054: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS)
10055: THEN
10056: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
10057: END IF;
10058:
10052:
10053:
10054: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS)
10055: THEN
10056: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
10057: END IF;
10058:
10059:
10060: -- p_bv_mode is 'DEV' for deviation report
10063: 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
10064:
10065: process_qa_result(
10066: p_api_version => 1.0,
10067: p_init_msg_list => FND_API.G_FALSE,
10068: p_document_id => p_document_id,
10069: p_document_type => p_document_type,
10070: p_config_header_id => l_new_config_header_id,
10071: p_config_rev_nbr => l_new_config_rev_nbr,
10074: x_msg_data => x_msg_data,
10075: x_msg_count => x_msg_count);
10076:
10077:
10078: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS)
10079: THEN
10080: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
10081: END IF;
10082: END IF;
10076:
10077:
10078: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS)
10079: THEN
10080: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
10081: END IF;
10082: END IF;
10083:
10084: -- if policy rules have no questions or has answered questions
10085: 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
10086:
10087: get_expert_articles(
10088: p_api_version => 1.0,
10089: p_init_msg_list => FND_API.G_FALSE,
10090: p_document_id => p_document_id,
10091: p_document_type => p_document_type,
10092: p_config_header_id => l_new_config_header_id,
10093: p_config_rev_nbr => l_new_config_rev_nbr,
10095: x_return_status => x_return_status,
10096: x_msg_data => x_msg_data,
10097: x_msg_count => x_msg_count);
10098:
10099: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS)
10100: THEN
10101: raise FND_API.G_EXC_UNEXPECTED_ERROR;
10102: END IF;
10103:
10097: x_msg_count => x_msg_count);
10098:
10099: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS)
10100: THEN
10101: raise FND_API.G_EXC_UNEXPECTED_ERROR;
10102: END IF;
10103:
10104:
10105: --SELECT OKC_TERMS_DEVIATIONS_S1.nextval INTO l_sequence_id from DUAL;
10106: l_sequence_id := p_sequence_id;
10107:
10108: get_expert_results(
10109: p_api_version => 1.0,
10110: p_init_msg_list => FND_API.G_FALSE,
10111: p_document_id => p_document_id,
10112: p_document_type => p_document_type,
10113: p_mode => 'BV',
10114: p_sequence_id => l_sequence_id,
10118: x_msg_data => x_msg_data,
10119: x_msg_count => x_msg_count);
10120:
10121:
10122: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS)
10123: THEN
10124: raise FND_API.G_EXC_UNEXPECTED_ERROR;
10125: END IF;
10126: END IF;
10120:
10121:
10122: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS)
10123: THEN
10124: raise FND_API.G_EXC_UNEXPECTED_ERROR;
10125: END IF;
10126: END IF;
10127:
10128: RETURN;
10129: ELSIF (p_bv_mode = 'AUTH') THEN
10130:
10131: update_ce_config(
10132: p_api_version => 1.0,
10133: p_init_msg_list => FND_API.G_FALSE,
10134: p_document_id => p_document_id,
10135: p_document_type => p_document_type,
10136: p_config_header_id => l_new_config_header_id,
10137: p_config_rev_nbr => l_new_config_rev_nbr,
10140: x_return_status => x_return_status,
10141: x_msg_data => x_msg_data,
10142: x_msg_count => x_msg_count);
10143:
10144: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS)
10145: THEN
10146: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
10147: END IF;
10148:
10142: x_msg_count => x_msg_count);
10143:
10144: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS)
10145: THEN
10146: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
10147: END IF;
10148:
10149: ELSIF (p_bv_mode = 'APPR') THEN
10150:
10149: ELSIF (p_bv_mode = 'APPR') THEN
10150:
10151: process_qa_result(
10152: p_api_version => 1.0,
10153: p_init_msg_list => FND_API.G_FALSE,
10154: p_document_id => p_document_id,
10155: p_document_type => p_document_type,
10156: p_config_header_id => l_new_config_header_id,
10157: p_config_rev_nbr => l_new_config_rev_nbr,
10159: x_return_status => x_return_status,
10160: x_msg_data => x_msg_data,
10161: x_msg_count => x_msg_count);
10162:
10163: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS)
10164: THEN
10165: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
10166: END IF;
10167:
10161: x_msg_count => x_msg_count);
10162:
10163: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS)
10164: THEN
10165: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
10166: END IF;
10167:
10168: get_expert_articles(
10169: p_api_version => 1.0,
10166: END IF;
10167:
10168: get_expert_articles(
10169: p_api_version => 1.0,
10170: p_init_msg_list => FND_API.G_FALSE,
10171: p_document_id => p_document_id,
10172: p_document_type => p_document_type,
10173: p_config_header_id => l_new_config_header_id,
10174: p_config_rev_nbr => l_new_config_rev_nbr,
10176: x_return_status => x_return_status,
10177: x_msg_data => x_msg_data,
10178: x_msg_count => x_msg_count);
10179:
10180: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS)
10181: THEN
10182: raise FND_API.G_EXC_UNEXPECTED_ERROR;
10183: END IF;
10184:
10178: x_msg_count => x_msg_count);
10179:
10180: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS)
10181: THEN
10182: raise FND_API.G_EXC_UNEXPECTED_ERROR;
10183: END IF;
10184:
10185:
10186: --SELECT OKC_TERMS_DEVIATIONS_S1.nextval INTO l_sequence_id from DUAL;
10187: l_sequence_id := p_sequence_id;
10188:
10189: get_expert_results(
10190: p_api_version => 1.0,
10191: p_init_msg_list => FND_API.G_FALSE,
10192: p_document_id => p_document_id,
10193: p_document_type => p_document_type,
10194: p_mode => 'BV',
10195: p_sequence_id => l_sequence_id,
10199: x_msg_data => x_msg_data,
10200: x_msg_count => x_msg_count);
10201:
10202:
10203: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS)
10204: THEN
10205: raise FND_API.G_EXC_UNEXPECTED_ERROR;
10206: END IF;
10207:
10201:
10202:
10203: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS)
10204: THEN
10205: raise FND_API.G_EXC_UNEXPECTED_ERROR;
10206: END IF;
10207:
10208: -------------------- END OF CODE CHANGES BY KARTK -----------------------
10209:
10216: --CODE MODIFIED BY KARTIK ADDED AUTHORING MODE FOR NOT TO DELETE CONFIGURATION-----------------------------
10217: IF(p_bv_mode = 'QA') THEN
10218: OKC_XPRT_CZ_INT_PVT.delete_configuration(
10219: p_api_version => 1.0,
10220: p_init_msg_list => FND_API.G_FALSE,
10221: p_config_header_id => l_new_config_header_id,
10222: p_config_rev_nbr => l_new_config_rev_nbr,
10223: x_return_status => x_return_status,
10224: x_msg_data => x_msg_data,
10223: x_return_status => x_return_status,
10224: x_msg_data => x_msg_data,
10225: x_msg_count => x_msg_count);
10226:
10227: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS)
10228: THEN
10229: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
10230: END IF;
10231: END IF; --IF(p_bv_mode <> 'DEV')
10225: x_msg_count => x_msg_count);
10226:
10227: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS)
10228: THEN
10229: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
10230: END IF;
10231: END IF; --IF(p_bv_mode <> 'DEV')
10232: END IF;
10233:
10247: END IF;
10248:
10249: EXCEPTION
10250:
10251: WHEN FND_API.G_EXC_ERROR THEN
10252:
10253: x_return_status := FND_API.G_RET_STS_ERROR ;
10254: FND_MSG_PUB.Count_And_Get(
10255: p_count => x_msg_count,
10249: EXCEPTION
10250:
10251: WHEN FND_API.G_EXC_ERROR THEN
10252:
10253: x_return_status := FND_API.G_RET_STS_ERROR ;
10254: FND_MSG_PUB.Count_And_Get(
10255: p_count => x_msg_count,
10256: p_data => x_msg_data
10257: );
10255: p_count => x_msg_count,
10256: p_data => x_msg_data
10257: );
10258:
10259: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
10260: x_return_status := FND_API.G_RET_STS_ERROR ;
10261: /*
10262: FND_MSG_PUB.Count_And_Get(
10263: p_count => x_msg_count,
10256: p_data => x_msg_data
10257: );
10258:
10259: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
10260: x_return_status := FND_API.G_RET_STS_ERROR ;
10261: /*
10262: FND_MSG_PUB.Count_And_Get(
10263: p_count => x_msg_count,
10264: p_data => x_msg_data
10264: p_data => x_msg_data
10265: ); */
10266:
10267: WHEN OTHERS THEN
10268: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
10269:
10270: IF FND_MSG_PUB.Check_Msg_Level
10271: (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
10272: THEN
10330:
10331: --
10332: -- Standard call to check for call compatibility.
10333: --
10334: IF NOT FND_API.Compatible_API_Call (l_api_version,
10335: p_api_version,
10336: l_api_name,
10337: G_PKG_NAME)
10338: THEN
10335: p_api_version,
10336: l_api_name,
10337: G_PKG_NAME)
10338: THEN
10339: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
10340: END IF;
10341:
10342: --
10343: -- Initialize message list if p_init_msg_list is set to TRUE.
10341:
10342: --
10343: -- Initialize message list if p_init_msg_list is set to TRUE.
10344: --
10345: IF FND_API.to_Boolean( p_init_msg_list ) THEN
10346: FND_MSG_PUB.initialize;
10347: END IF;
10348:
10349: --
10348:
10349: --
10350: -- Initialize API return status to success
10351: --
10352: x_return_status := FND_API.G_RET_STS_SUCCESS;
10353:
10354: OPEN csr_tmpl_applied_yn;
10355: FETCH csr_tmpl_applied_yn INTO l_template_applied;
10356: IF csr_tmpl_applied_yn%FOUND THEN
10372: END IF;
10373:
10374: EXCEPTION
10375:
10376: WHEN FND_API.G_EXC_ERROR THEN
10377: IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
10378: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
10379: G_MODULE||l_api_name,
10380: '2000: Leaving '||G_PKG_NAME ||'.'||l_api_name);
10379: G_MODULE||l_api_name,
10380: '2000: Leaving '||G_PKG_NAME ||'.'||l_api_name);
10381: END IF;
10382:
10383: x_return_status := FND_API.G_RET_STS_ERROR ;
10384: FND_MSG_PUB.Count_And_Get(
10385: p_count => x_msg_count,
10386: p_data => x_msg_data
10387: );
10385: p_count => x_msg_count,
10386: p_data => x_msg_data
10387: );
10388:
10389: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
10390: IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
10391: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
10392: G_MODULE||l_api_name,
10393: '3000: Leaving '||G_PKG_NAME ||'.'||l_api_name);
10392: G_MODULE||l_api_name,
10393: '3000: Leaving '||G_PKG_NAME ||'.'||l_api_name);
10394: END IF;
10395:
10396: x_return_status := FND_API.G_RET_STS_ERROR ;
10397: FND_MSG_PUB.Count_And_Get(
10398: p_count => x_msg_count,
10399: p_data => x_msg_data
10400: );
10405: G_MODULE||l_api_name,
10406: '4000: Leaving '||G_PKG_NAME ||'.'||l_api_name);
10407: END IF;
10408:
10409: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
10410:
10411: IF FND_MSG_PUB.Check_Msg_Level
10412: (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
10413: THEN
10477:
10478: --
10479: -- Standard call to check for call compatibility.
10480: --
10481: IF NOT FND_API.Compatible_API_Call (l_api_version,
10482: p_api_version,
10483: l_api_name,
10484: G_PKG_NAME)
10485: THEN
10482: p_api_version,
10483: l_api_name,
10484: G_PKG_NAME)
10485: THEN
10486: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
10487: END IF;
10488:
10489: --
10490: -- Initialize message list if p_init_msg_list is set to TRUE.
10488:
10489: --
10490: -- Initialize message list if p_init_msg_list is set to TRUE.
10491: --
10492: IF FND_API.to_Boolean( p_init_msg_list ) THEN
10493: FND_MSG_PUB.initialize;
10494: END IF;
10495:
10496: --
10495:
10496: --
10497: -- Initialize API return status to success
10498: --
10499: x_return_status := FND_API.G_RET_STS_SUCCESS;
10500:
10501: OPEN l_get_template_info_csr;
10502: FETCH l_get_template_info_csr INTO x_config_header_id, x_config_rev_nbr, l_template_id, x_expert_enabled_yn;
10503: CLOSE l_get_template_info_csr;
10510: END IF;
10511:
10512: EXCEPTION
10513:
10514: WHEN FND_API.G_EXC_ERROR THEN
10515: IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
10516: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
10517: G_MODULE||l_api_name,
10518: '2000: Leaving '||G_PKG_NAME ||'.'||l_api_name);
10517: G_MODULE||l_api_name,
10518: '2000: Leaving '||G_PKG_NAME ||'.'||l_api_name);
10519: END IF;
10520:
10521: x_return_status := FND_API.G_RET_STS_ERROR ;
10522: FND_MSG_PUB.Count_And_Get(
10523: p_count => x_msg_count,
10524: p_data => x_msg_data
10525: );
10523: p_count => x_msg_count,
10524: p_data => x_msg_data
10525: );
10526:
10527: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
10528: IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
10529: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE ,
10530: G_MODULE||l_api_name,
10531: '3000: Leaving '||G_PKG_NAME ||'.'||l_api_name);
10530: G_MODULE||l_api_name,
10531: '3000: Leaving '||G_PKG_NAME ||'.'||l_api_name);
10532: END IF;
10533:
10534: x_return_status := FND_API.G_RET_STS_ERROR ;
10535: FND_MSG_PUB.Count_And_Get(
10536: p_count => x_msg_count,
10537: p_data => x_msg_data
10538: );
10543: G_MODULE||l_api_name,
10544: '4000: Leaving '||G_PKG_NAME ||'.'||l_api_name);
10545: END IF;
10546:
10547: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
10548:
10549: IF FND_MSG_PUB.Check_Msg_Level
10550: (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
10551: THEN
10901:
10902: --
10903: -- Standard call to check for call compatibility.
10904: --
10905: IF NOT FND_API.Compatible_API_Call (l_api_version,
10906: p_api_version,
10907: l_api_name,
10908: G_PKG_NAME)
10909: THEN
10906: p_api_version,
10907: l_api_name,
10908: G_PKG_NAME)
10909: THEN
10910: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
10911: END IF;
10912:
10913: --
10914: -- Initialize message list if p_init_msg_list is set to TRUE.
10912:
10913: --
10914: -- Initialize message list if p_init_msg_list is set to TRUE.
10915: --
10916: IF FND_API.to_Boolean( p_init_msg_list ) THEN
10917: FND_MSG_PUB.initialize;
10918: END IF;
10919:
10920: IF (p_document_id is NULL OR p_document_type is NULL)
10919:
10920: IF (p_document_id is NULL OR p_document_type is NULL)
10921: THEN
10922: x_msg_data := 'OKC_EXPRT_NULL_PARAM';
10923: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
10924: END IF;
10925:
10926: --
10927: -- Initialize API return status to success
10925:
10926: --
10927: -- Initialize API return status to success
10928: --
10929: x_return_status := FND_API.G_RET_STS_SUCCESS;
10930:
10931: --concurrent mod changes start
10932: -- Read the base table details
10933: OPEN c_base_table_dtls;
10938: IF l_src_document_type IS NOT NULL AND l_src_document_id IS NOT NULL THEN
10939: -- Lock base table.
10940: okc_k_entity_locks_grp.lock_entity
10941: ( p_api_version => 1,
10942: p_init_msg_list => FND_API.G_FALSE ,
10943: p_commit => FND_API.G_FALSE,
10944: p_entity_name => okc_k_entity_locks_grp.G_XPRT_ENTITY,
10945: p_entity_pk1 => To_Char(l_src_document_id),
10946: p_entity_pk2 => To_Char(l_src_document_type),
10939: -- Lock base table.
10940: okc_k_entity_locks_grp.lock_entity
10941: ( p_api_version => 1,
10942: p_init_msg_list => FND_API.G_FALSE ,
10943: p_commit => FND_API.G_FALSE,
10944: p_entity_name => okc_k_entity_locks_grp.G_XPRT_ENTITY,
10945: p_entity_pk1 => To_Char(l_src_document_id),
10946: p_entity_pk2 => To_Char(l_src_document_type),
10947: p_LOCK_BY_DOCUMENT_TYPE => p_document_type,
10951: X_MSG_DATA => X_MSG_DATA
10952: );
10953: --------------------------------------------
10954: IF (x_return_status = G_RET_STS_UNEXP_ERROR) THEN
10955: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
10956: ELSIF (x_return_status = G_RET_STS_ERROR) THEN
10957: RAISE FND_API.G_EXC_ERROR ;
10958: END IF;
10959: --------------------------------------------
10953: --------------------------------------------
10954: IF (x_return_status = G_RET_STS_UNEXP_ERROR) THEN
10955: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
10956: ELSIF (x_return_status = G_RET_STS_ERROR) THEN
10957: RAISE FND_API.G_EXC_ERROR ;
10958: END IF;
10959: --------------------------------------------
10960: ELSE
10961: NULL;
10975: -- Call API to Update Document with new Expert configuration
10976: --
10977: OKC_TERMS_MULTIREC_GRP.sync_doc_with_expert(
10978: p_api_version => 1,
10979: p_init_msg_list => FND_API.G_FALSE,
10980: p_validate_commit => FND_API.G_FALSE,
10981: p_validation_string => l_validation_string,
10982: p_commit => FND_API.G_FALSE,
10983: p_doc_type => p_document_type,
10976: --
10977: OKC_TERMS_MULTIREC_GRP.sync_doc_with_expert(
10978: p_api_version => 1,
10979: p_init_msg_list => FND_API.G_FALSE,
10980: p_validate_commit => FND_API.G_FALSE,
10981: p_validation_string => l_validation_string,
10982: p_commit => FND_API.G_FALSE,
10983: p_doc_type => p_document_type,
10984: p_doc_id => p_document_id,
10978: p_api_version => 1,
10979: p_init_msg_list => FND_API.G_FALSE,
10980: p_validate_commit => FND_API.G_FALSE,
10981: p_validation_string => l_validation_string,
10982: p_commit => FND_API.G_FALSE,
10983: p_doc_type => p_document_type,
10984: p_doc_id => p_document_id,
10985: p_article_id_tbl => l_expert_articles_tbl,
10986: p_mode => p_doc_update_mode, -- Defaults to 'NORMAL'
10990: x_msg_data => x_msg_data
10991: ,p_lock_terms_yn => p_lock_terms_yn);
10992:
10993:
10994: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
10995: raise FND_API.G_EXC_UNEXPECTED_ERROR;
10996: END IF;
10997:
10998: --updating the contract expert finish status to Y.
10991: ,p_lock_terms_yn => p_lock_terms_yn);
10992:
10993:
10994: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
10995: raise FND_API.G_EXC_UNEXPECTED_ERROR;
10996: END IF;
10997:
10998: --updating the contract expert finish status to Y.
10999: UPDATE okc_template_usages
11039: END IF;
11040:
11041: EXCEPTION
11042:
11043: WHEN FND_API.G_EXC_ERROR THEN
11044:
11045: x_return_status := FND_API.G_RET_STS_ERROR ;
11046: FND_MSG_PUB.Count_And_Get(
11047: p_count => x_msg_count,
11041: EXCEPTION
11042:
11043: WHEN FND_API.G_EXC_ERROR THEN
11044:
11045: x_return_status := FND_API.G_RET_STS_ERROR ;
11046: FND_MSG_PUB.Count_And_Get(
11047: p_count => x_msg_count,
11048: p_data => x_msg_data
11049: );
11047: p_count => x_msg_count,
11048: p_data => x_msg_data
11049: );
11050:
11051: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
11052: x_return_status := FND_API.G_RET_STS_ERROR ;
11053: FND_MSG_PUB.Count_And_Get(
11054: p_count => x_msg_count,
11055: p_data => x_msg_data
11048: p_data => x_msg_data
11049: );
11050:
11051: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
11052: x_return_status := FND_API.G_RET_STS_ERROR ;
11053: FND_MSG_PUB.Count_And_Get(
11054: p_count => x_msg_count,
11055: p_data => x_msg_data
11056: );
11055: p_data => x_msg_data
11056: );
11057:
11058: WHEN OTHERS THEN
11059: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
11060:
11061: IF FND_MSG_PUB.Check_Msg_Level
11062: (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
11063: THEN