DBA Data[Home] [Help]

PACKAGE BODY: APPS.PV_QA_CHECK_PVT

Source


1 PACKAGE BODY PV_QA_CHECK_PVT AS
2 /* $Header: pvxvqacb.pls 120.2 2006/03/31 15:30:29 ktsao noship $ */
3 
4 G_PKG_NAME CONSTANT VARCHAR2(30):= 'PV_QA_CHECK_PVT';
5 
6   PV_DEBUG_HIGH_ON CONSTANT boolean := FND_MSG_PUB.CHECK_MSG_LEVEL(FND_MSG_PUB.G_MSG_LVL_DEBUG_HIGH);
7 PV_DEBUG_LOW_ON CONSTANT boolean := FND_MSG_PUB.CHECK_MSG_LEVEL(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW);
8 PV_DEBUG_MEDIUM_ON CONSTANT boolean := FND_MSG_PUB.CHECK_MSG_LEVEL(FND_MSG_PUB.G_MSG_LVL_DEBUG_MEDIUM);
9 
10 PROCEDURE execute_qa_check_list(
11     p_api_version                  IN  NUMBER,
12     p_init_msg_list                IN  VARCHAR2 DEFAULT FND_API.G_FALSE,
13     x_return_status                OUT NOCOPY VARCHAR2,
14     x_msg_count                    OUT NOCOPY NUMBER,
15     x_msg_data                     OUT NOCOPY VARCHAR2,
16     p_doc_type                     IN  VARCHAR2,
17     p_doc_id                       IN  NUMBER,
18     x_qa_return_status             OUT NOCOPY VARCHAR2,
19     x_msg_tbl                      OUT NOCOPY JTF_VARCHAR2_TABLE_2000)
20     --x_err_tbl                      OUT NOCOPY JTF_VARCHAR2_TABLE_100)
21   IS
22     l_return_status                VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
23     l_api_name                     CONSTANT VARCHAR2(30) := 'execute_qa_check_list';
24     l_api_type                     CONSTANT VARCHAR2(5) := '_PVT';
25     l_api_version                  CONSTANT NUMBER   := 1.0;
26     l_qa_result_tbl                OKC_TERMS_QA_GRP.qa_result_tbl_type;
27 
28   BEGIN
29 
30  	   DBMS_TRANSACTION.SAVEPOINT(l_api_name || l_api_type);
31       -- Standard call to check for call compatibility.
32       IF NOT FND_API.Compatible_API_Call ( l_api_version,
33                                            p_api_version,
34                                            l_api_name,
35                                            G_PKG_NAME)
36       THEN
37           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
38       END IF;
39 
40 
41       -- Initialize message list if p_init_msg_list is set to TRUE.
42       IF FND_API.to_Boolean( p_init_msg_list )
43       THEN
44          FND_MSG_PUB.initialize;
45       END IF;
46 
47 
48 
49       -- Debug Message
50       IF (PV_DEBUG_HIGH_ON) THEN
51 
52       PVX_Utility_PVT.debug_message('Private API: ' || l_api_name || ' start');
53       END IF;
54 
55       -- Initialize API return status to SUCCESS
56       x_return_status := FND_API.G_RET_STS_SUCCESS;
57 
58       OKC_TERMS_QA_GRP.QA_Doc(
59            p_api_version       => p_api_version,
60            p_init_msg_list     => p_init_msg_list,
61            x_return_status     => x_return_status,
62            x_msg_count         => x_msg_count,
63            x_msg_data          => x_msg_data,
64            --p_qa_mode         => null,
65            p_doc_type          => p_doc_type,
66            p_doc_id            => p_doc_id,
67            x_qa_result_tbl     => l_qa_result_tbl,
68            x_qa_return_status  => x_qa_return_status
69            --p_qa_terms_only   => null
70            );
71 
72 
73       IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
74          raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
75       ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
76          raise OKC_API.G_EXCEPTION_ERROR;
77       END IF;
78 
79       IF (x_qa_return_status = OKC_TERMS_QA_GRP.G_QA_STS_ERROR or x_qa_return_status = OKC_TERMS_QA_GRP.G_QA_STS_WARNING) THEN
80 
81          --x_err_tbl := JTF_VARCHAR2_TABLE_100();
82          x_msg_tbl := JTF_VARCHAR2_TABLE_2000();
83 
84          FOR l_curr_row IN l_qa_result_tbl.first..l_qa_result_tbl.last LOOP
85             x_msg_tbl.extend;
86             x_msg_tbl(l_curr_row) := l_qa_result_tbl(l_curr_row).Problem_details;
87             --x_err_tbl.extend;
88             --x_err_tbl(l_curr_row) := l_qa_result_tbl(l_curr_row).error_status;
89          END LOOP; --FOR l_curr_row IN 1..l_qa_result_tbl.count LOOP
90       END IF;
91 
92   EXCEPTION
93 
94   WHEN OKC_API.G_EXCEPTION_ERROR THEN
95     x_return_status := OKC_API.HANDLE_EXCEPTIONS( l_api_name
96                                                  ,G_PKG_NAME
97                                                  ,'OKC_API.G_RET_STS_ERROR'
98                                                  ,x_msg_count
99                                                  ,x_msg_data
100                                                  ,l_api_type);
101   WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
102     x_return_status :=OKC_API.HANDLE_EXCEPTIONS( l_api_name
103                                                 ,G_PKG_NAME
104                                                 ,'OKC_API.G_RET_STS_UNEXP_ERROR'
105                                                 ,x_msg_count
106                                                 ,x_msg_data
107                                                 ,l_api_type);
108   WHEN OTHERS THEN
109     x_return_status :=OKC_API.HANDLE_EXCEPTIONS( l_api_name
110                                                 ,G_PKG_NAME
111                                                 ,'OTHERS'
112                                                 ,x_msg_count
113                                                 ,x_msg_data
114                                                 ,l_api_type);
115   END execute_qa_check_list;
116 END PV_QA_CHECK_PVT;
117