DBA Data[Home] [Help]

PACKAGE BODY: APPS.OKC_DOC_QA_LIST_GRP

Source


1 PACKAGE BODY OKC_DOC_QA_LIST_GRP AS
2 /* $Header: OKCGQALB.pls 120.0 2005/05/25 19:48:25 appldev noship $ */
3 
4     l_debug VARCHAR2(1) := NVL(FND_PROFILE.VALUE('AFLOG_ENABLED'),'N');
5 
6   ---------------------------------------------------------------------------
7   -- GLOBAL MESSAGE CONSTANTS
8   ---------------------------------------------------------------------------
9   G_FND_APP                    CONSTANT VARCHAR2(200) := OKC_API.G_FND_APP;
10   ---------------------------------------------------------------------------
11   -- GLOBAL VARIABLES
12   ---------------------------------------------------------------------------
13   G_PKG_NAME                   CONSTANT   VARCHAR2(200) := 'OKC_DOC_QA_LIST_GRP';
14   G_APP_NAME                   CONSTANT   VARCHAR2(3)   :=  OKC_API.G_APP_NAME;
15 
16   ------------------------------------------------------------------------------
17   -- GLOBAL CONSTANTS
18   ------------------------------------------------------------------------------
19   G_FALSE                      CONSTANT   VARCHAR2(1) := FND_API.G_FALSE;
20   G_TRUE                       CONSTANT   VARCHAR2(1) := FND_API.G_TRUE;
21   G_MISS_NUM                   CONSTANT   NUMBER      := FND_API.G_MISS_NUM;
22   G_MISS_CHAR                  CONSTANT   VARCHAR2(1) := FND_API.G_MISS_CHAR;
23   G_MISS_DATE                  CONSTANT   DATE        := FND_API.G_MISS_DATE;
24 
25   G_RET_STS_SUCCESS            CONSTANT   varchar2(1) := FND_API.G_RET_STS_SUCCESS;
26   G_RET_STS_ERROR              CONSTANT   varchar2(1) := FND_API.G_RET_STS_ERROR;
27   G_RET_STS_UNEXP_ERROR        CONSTANT   varchar2(1) := FND_API.G_RET_STS_UNEXP_ERROR;
28 
29   G_UNEXPECTED_ERROR           CONSTANT   varchar2(200) := 'OKC_UNEXPECTED_ERROR';
30   G_SQLERRM_TOKEN              CONSTANT   varchar2(200) := 'ERROR_MESSAGE';
31   G_SQLCODE_TOKEN              CONSTANT   varchar2(200) := 'ERROR_CODE';
32 
33   ---------------------------------------
34   -- PROCEDURE Validate_Doc_Qa_List  --
35   ---------------------------------------
36   PROCEDURE Validate_Doc_Qa_List(
37     p_api_version                  IN NUMBER,
38     p_init_msg_list                IN VARCHAR2 ,
39     p_validation_level	           IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
40 
41     x_return_status                OUT NOCOPY VARCHAR2,
42     x_msg_count                    OUT NOCOPY NUMBER,
43     x_msg_data                     OUT NOCOPY VARCHAR2,
44 
45     p_qa_code               IN VARCHAR2,
46     p_document_type         IN VARCHAR2,
47     p_severity_flag         IN VARCHAR2,
48     p_enable_qa_yn          IN VARCHAR2,
49 
50 
51 
52     p_object_version_number IN NUMBER
53   ) IS
54     l_api_version                 CONSTANT NUMBER := 1;
55     l_api_name                    CONSTANT VARCHAR2(30) := 'g_Validate_Doc_Qa_List';
56 
57   BEGIN
58 
59     IF (l_debug = 'Y') THEN
60        okc_debug.log('100: Entered Validate_Doc_Qa_List', 2);
61     END IF;
62 
63     -- Standard Start of API savepoint
64     SAVEPOINT g_Validate_Doc_Qa_List_GRP;
65     -- Standard call to check for call compatibility.
66     IF NOT FND_API.Compatible_API_Call( l_api_version, p_api_version, l_api_name, G_PKG_NAME) THEN
67       RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
68     END IF;
69     -- Initialize message list if p_init_msg_list is set to TRUE.
70     IF FND_API.to_Boolean( p_init_msg_list ) THEN
71       FND_MSG_PUB.initialize;
72     END IF;
73     --  Initialize API return status to success
74     x_return_status := G_RET_STS_SUCCESS;
75 
76     --------------------------------------------
77     -- Calling Simple API for Validation
78     --------------------------------------------
79     OKC_DOC_QA_LIST_PVT.Validate_Row(
80       p_validation_level           => p_validation_level,
81       x_return_status              => x_return_status,
82       p_qa_code               => p_qa_code,
83       p_document_type         => p_document_type,
84       p_severity_flag         => p_severity_flag,
85       p_enable_qa_yn          => p_enable_qa_yn,
86       p_object_version_number => p_object_version_number
87     );
88     --------------------------------------------
89     IF (x_return_status = G_RET_STS_UNEXP_ERROR) THEN
90       RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
91     ELSIF (x_return_status = G_RET_STS_ERROR) THEN
92       RAISE FND_API.G_EXC_ERROR ;
93     END IF;
94     --------------------------------------------
95 
96     -- Standard call to get message count and if count is 1, get message info.
97     FND_MSG_PUB.Count_And_Get(p_encoded=>'F', p_count => x_msg_count, p_data => x_msg_data );
98 
99     IF (l_debug = 'Y') THEN
100        okc_debug.log('200: Leaving Validate_Doc_Qa_List', 2);
101     END IF;
102 
103    EXCEPTION
104     WHEN FND_API.G_EXC_ERROR THEN
105       IF (l_debug = 'Y') THEN
106          okc_debug.log('300: Leaving Validate_Doc_Qa_List: OKC_API.G_EXCEPTION_ERROR Exception', 2);
107       END IF;
108       ROLLBACK TO g_Validate_Doc_Qa_List_GRP;
109       x_return_status := G_RET_STS_ERROR ;
110       FND_MSG_PUB.Count_And_Get(p_encoded=>'F', p_count => x_msg_count, p_data => x_msg_data );
111 
112     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
113       IF (l_debug = 'Y') THEN
114          okc_debug.log('400: Leaving Validate_Doc_Qa_List: OKC_API.G_EXCEPTION_UNEXPECTED_ERROR Exception', 2);
115       END IF;
116       ROLLBACK TO g_Validate_Doc_Qa_List_GRP;
117       x_return_status := G_RET_STS_UNEXP_ERROR ;
118       FND_MSG_PUB.Count_And_Get(p_encoded=>'F', p_count => x_msg_count, p_data => x_msg_data );
119 
120     WHEN OTHERS THEN
121       IF (l_debug = 'Y') THEN
122         okc_debug.log('500: Leaving Validate_Doc_Qa_List because of EXCEPTION: '||sqlerrm, 2);
123       END IF;
124 
125       ROLLBACK TO g_Validate_Doc_Qa_List_GRP;
126       x_return_status := G_RET_STS_UNEXP_ERROR ;
127       IF FND_MSG_PUB.Check_Msg_Level( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR ) THEN
128         FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME, l_api_name );
129       END IF;
130       FND_MSG_PUB.Count_And_Get(p_encoded=>'F', p_count => x_msg_count, p_data => x_msg_data );
131 
132   END Validate_Doc_Qa_List;
133 
134   -------------------------------------
135   -- PROCEDURE Insert_Doc_Qa_List
136   -------------------------------------
137   PROCEDURE Insert_Doc_Qa_List(
138     p_api_version                  IN NUMBER,
139     p_init_msg_list                IN VARCHAR2 ,
140     p_validation_level	           IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
141     p_commit                       IN VARCHAR2 := FND_API.G_FALSE,
142 
143     x_return_status                OUT NOCOPY VARCHAR2,
144     x_msg_count                    OUT NOCOPY NUMBER,
145     x_msg_data                     OUT NOCOPY VARCHAR2,
146 
147     p_qa_code               IN VARCHAR2,
148     p_document_type         IN VARCHAR2,
149     p_severity_flag         IN VARCHAR2,
150     p_enable_qa_yn          IN VARCHAR2,
151 
152 
153 
154     x_qa_code               OUT NOCOPY VARCHAR2,
155     x_document_type         OUT NOCOPY VARCHAR2
156 
157   ) IS
158 
159     l_api_version                 CONSTANT NUMBER := 1;
160     l_api_name                    CONSTANT VARCHAR2(30) := 'g_Lock_Doc_Qa_List';
161     l_object_version_number OKC_DOC_QA_LISTS.OBJECT_VERSION_NUMBER%TYPE := 1;
162     l_created_by            OKC_DOC_QA_LISTS.CREATED_BY%TYPE;
163     l_creation_date         OKC_DOC_QA_LISTS.CREATION_DATE%TYPE;
164     l_last_updated_by       OKC_DOC_QA_LISTS.LAST_UPDATED_BY%TYPE;
165     l_last_update_login     OKC_DOC_QA_LISTS.LAST_UPDATE_LOGIN%TYPE;
166     l_last_update_date      OKC_DOC_QA_LISTS.LAST_UPDATE_DATE%TYPE;
167   BEGIN
168 
169     IF (l_debug = 'Y') THEN
170        okc_debug.log('600: Entered Insert_Doc_Qa_List', 2);
171     END IF;
172 
173     -- Standard Start of API savepoint
174     SAVEPOINT g_Insert_Doc_Qa_List_GRP;
175     -- Standard call to check for call compatibility.
176     IF NOT FND_API.Compatible_API_Call( l_api_version, p_api_version, l_api_name, G_PKG_NAME) THEN
177       RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
178     END IF;
179     -- Initialize message list if p_init_msg_list is set to TRUE.
180     IF FND_API.to_Boolean( p_init_msg_list ) THEN
181       FND_MSG_PUB.initialize;
182     END IF;
183     --  Initialize API return status to success
184     x_return_status := G_RET_STS_SUCCESS;
185 
186     --------------------------------------------
187     -- Calling Simple API for Creating A Row
188     --------------------------------------------
189     OKC_DOC_QA_LIST_PVT.Insert_Row(
190       p_validation_level           =>   p_validation_level,
191       x_return_status              =>   x_return_status,
192       p_qa_code               => p_qa_code,
193       p_document_type         => p_document_type,
194       p_severity_flag         => p_severity_flag,
195       p_enable_qa_yn          => p_enable_qa_yn,
196       x_qa_code               => x_qa_code,
197       x_document_type         => x_document_type
198     );
199     --------------------------------------------
200     IF (x_return_status = G_RET_STS_UNEXP_ERROR) THEN
201       RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
202     ELSIF (x_return_status = G_RET_STS_ERROR) THEN
203       RAISE FND_API.G_EXC_ERROR ;
204     END IF;
205     --------------------------------------------
206 
207     -- Standard check of p_commit
208     IF FND_API.To_Boolean( p_commit ) THEN
209       COMMIT WORK;
210     END IF;
211     -- Standard call to get message count and if count is 1, get message info.
212     FND_MSG_PUB.Count_And_Get(p_encoded=>'F', p_count => x_msg_count, p_data => x_msg_data );
213 
214     IF (l_debug = 'Y') THEN
215        okc_debug.log('700: Leaving Insert_Doc_Qa_List', 2);
216     END IF;
217 
218    EXCEPTION
219     WHEN FND_API.G_EXC_ERROR THEN
220       IF (l_debug = 'Y') THEN
221          okc_debug.log('800: Leaving Insert_Doc_Qa_List: OKC_API.G_EXCEPTION_ERROR Exception', 2);
222       END IF;
223       ROLLBACK TO g_Insert_Doc_Qa_List_GRP;
224       x_return_status := G_RET_STS_ERROR ;
225       FND_MSG_PUB.Count_And_Get(p_encoded=>'F', p_count => x_msg_count, p_data => x_msg_data );
226 
227     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
228       IF (l_debug = 'Y') THEN
229          okc_debug.log('900: Leaving Insert_Doc_Qa_List: OKC_API.G_EXCEPTION_UNEXPECTED_ERROR Exception', 2);
230       END IF;
231       ROLLBACK TO g_Insert_Doc_Qa_List_GRP;
232       x_return_status := G_RET_STS_UNEXP_ERROR ;
233       FND_MSG_PUB.Count_And_Get(p_encoded=>'F', p_count => x_msg_count, p_data => x_msg_data );
234 
235     WHEN OTHERS THEN
236       IF (l_debug = 'Y') THEN
237         okc_debug.log('1000: Leaving Insert_Doc_Qa_List because of EXCEPTION: '||sqlerrm, 2);
238       END IF;
239 
240       ROLLBACK TO g_Insert_Doc_Qa_List_GRP;
241       x_return_status := G_RET_STS_UNEXP_ERROR ;
242       IF FND_MSG_PUB.Check_Msg_Level( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR ) THEN
243         FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME, l_api_name );
244       END IF;
245       FND_MSG_PUB.Count_And_Get(p_encoded=>'F', p_count => x_msg_count, p_data => x_msg_data );
246 
247   END Insert_Doc_Qa_List;
248   ---------------------------------------------------------------------------
249   -- PROCEDURE Lock_Doc_Qa_List
250   ---------------------------------------------------------------------------
251   PROCEDURE Lock_Doc_Qa_List(
252     p_api_version                  IN NUMBER,
253     p_init_msg_list                IN VARCHAR2 ,
254 
255     x_return_status                OUT NOCOPY VARCHAR2,
256     x_msg_count                    OUT NOCOPY NUMBER,
257     x_msg_data                     OUT NOCOPY VARCHAR2,
258 
259     p_qa_code               IN VARCHAR2,
260     p_document_type         IN VARCHAR2,
261     p_object_version_number IN NUMBER
262    ) IS
263     l_api_version                  CONSTANT NUMBER := 1;
264     l_api_name                     CONSTANT VARCHAR2(30) := 'g_Lock_Doc_Qa_List';
265   BEGIN
266 
267     IF (l_debug = 'Y') THEN
268        okc_debug.log('1100: Entered Lock_Doc_Qa_List', 2);
269     END IF;
270 
271     -- Standard Start of API savepoint
272     SAVEPOINT g_Lock_Doc_Qa_List_GRP;
273     -- Standard call to check for call compatibility.
274     IF NOT FND_API.Compatible_API_Call( l_api_version, p_api_version, l_api_name, G_PKG_NAME) THEN
275       RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
276     END IF;
277     -- Initialize message list if p_init_msg_list is set to TRUE.
278     IF FND_API.to_Boolean( p_init_msg_list ) THEN
279       FND_MSG_PUB.initialize;
280     END IF;
281     --  Initialize API return status to success
282     x_return_status := G_RET_STS_SUCCESS;
283 
284     --------------------------------------------
285     -- Calling Simple API for Locking A Row
286     --------------------------------------------
287     OKC_DOC_QA_LIST_PVT.lock_row(
288       x_return_status              =>   x_return_status,
289       p_qa_code               => p_qa_code,
290       p_document_type         => p_document_type,
291       p_object_version_number => p_object_version_number
292     );
293     --------------------------------------------
294     IF (x_return_status = G_RET_STS_UNEXP_ERROR) THEN
295       RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
296     ELSIF (x_return_status = G_RET_STS_ERROR) THEN
297       RAISE FND_API.G_EXC_ERROR ;
298     END IF;
299     --------------------------------------------
300 
301     -- Standard call to get message count and if count is 1, get message info.
302     FND_MSG_PUB.Count_And_Get(p_encoded=>'F', p_count => x_msg_count, p_data => x_msg_data );
303 
304     IF (l_debug = 'Y') THEN
305       okc_debug.log('1200: Leaving Lock_Doc_Qa_List', 2);
306     END IF;
307 
308    EXCEPTION
309     WHEN FND_API.G_EXC_ERROR THEN
310       IF (l_debug = 'Y') THEN
311          okc_debug.log('1300: Leaving Lock_Doc_Qa_List: OKC_API.G_EXCEPTION_ERROR Exception', 2);
312       END IF;
313       ROLLBACK TO g_Lock_Doc_Qa_List_GRP;
314       x_return_status := G_RET_STS_ERROR ;
315       FND_MSG_PUB.Count_And_Get(p_encoded=>'F', p_count => x_msg_count, p_data => x_msg_data );
316 
317     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
318       IF (l_debug = 'Y') THEN
319          okc_debug.log('1400: Leaving Lock_Doc_Qa_List: OKC_API.G_EXCEPTION_UNEXPECTED_ERROR Exception', 2);
320       END IF;
321       ROLLBACK TO g_Lock_Doc_Qa_List_GRP;
322       x_return_status := G_RET_STS_UNEXP_ERROR ;
323       FND_MSG_PUB.Count_And_Get(p_encoded=>'F', p_count => x_msg_count, p_data => x_msg_data );
324 
325     WHEN OTHERS THEN
326       IF (l_debug = 'Y') THEN
327         okc_debug.log('1500: Leaving Lock_Doc_Qa_List because of EXCEPTION: '||sqlerrm, 2);
328       END IF;
329 
330       ROLLBACK TO g_Lock_Doc_Qa_List_GRP;
331       x_return_status := G_RET_STS_UNEXP_ERROR ;
332       IF FND_MSG_PUB.Check_Msg_Level( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR ) THEN
333         FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME, l_api_name );
334       END IF;
335       FND_MSG_PUB.Count_And_Get(p_encoded=>'F', p_count => x_msg_count, p_data => x_msg_data );
336 
337   END Lock_Doc_Qa_List;
338   ---------------------------------------------------------------------------
339   -- PROCEDURE Update_Doc_Qa_List
340   ---------------------------------------------------------------------------
341   PROCEDURE Update_Doc_Qa_List(
342     p_api_version                  IN NUMBER,
343     p_init_msg_list                IN VARCHAR2 ,
344     p_validation_level	           IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
345     p_commit                       IN VARCHAR2 := FND_API.G_FALSE,
346 
347     x_return_status                OUT NOCOPY VARCHAR2,
348     x_msg_count                    OUT NOCOPY NUMBER,
349     x_msg_data                     OUT NOCOPY VARCHAR2,
350 
351     p_qa_code               IN VARCHAR2,
352     p_document_type         IN VARCHAR2,
353     p_severity_flag         IN VARCHAR2,
354     p_enable_qa_yn          IN VARCHAR2,
355 
356 
357 
358     p_object_version_number IN NUMBER
359 
360    ) IS
361 
362     l_api_version                  CONSTANT NUMBER := 1;
363     l_api_name                     CONSTANT VARCHAR2(30) := 'g_Update_Doc_Qa_List';
364 
365   BEGIN
366 
367     IF (l_debug = 'Y') THEN
368        okc_debug.log('1600: Entered Update_Doc_Qa_List', 2);
369        okc_debug.log('1700: Locking row', 2);
370     END IF;
371 
372     -- Standard Start of API savepoint
373     SAVEPOINT g_Update_Doc_Qa_List_GRP;
374     -- Standard call to check for call compatibility.
375     IF NOT FND_API.Compatible_API_Call( l_api_version, p_api_version, l_api_name, G_PKG_NAME) THEN
376       RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
377     END IF;
378     -- Initialize message list if p_init_msg_list is set to TRUE.
379     IF FND_API.to_Boolean( p_init_msg_list ) THEN
380       FND_MSG_PUB.initialize;
381     END IF;
382     --  Initialize API return status to success
383     x_return_status := G_RET_STS_SUCCESS;
384 
385     --------------------------------------------
386     -- Calling Simple API for Updating A Row
387     --------------------------------------------
388     OKC_DOC_QA_LIST_PVT.Update_Row(
389       p_validation_level           => p_validation_level,
390       x_return_status              => x_return_status,
391       p_qa_code               => p_qa_code,
392       p_document_type         => p_document_type,
393       p_severity_flag         => p_severity_flag,
394       p_enable_qa_yn          => p_enable_qa_yn,
395       p_object_version_number => p_object_version_number
396     );
397     --------------------------------------------
398     IF (x_return_status = G_RET_STS_UNEXP_ERROR) THEN
399       RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
400     ELSIF (x_return_status = G_RET_STS_ERROR) THEN
401       RAISE FND_API.G_EXC_ERROR ;
402     END IF;
403     --------------------------------------------
404 
405     -- Standard check of p_commit
406     IF FND_API.To_Boolean( p_commit ) THEN
407       COMMIT WORK;
408     END IF;
409     -- Standard call to get message count and if count is 1, get message info.
410     FND_MSG_PUB.Count_And_Get(p_encoded=>'F', p_count => x_msg_count, p_data => x_msg_data );
411 
412     IF (l_debug = 'Y') THEN
413       okc_debug.log('1800: Leaving Update_Doc_Qa_List', 2);
414     END IF;
415 
416    EXCEPTION
417     WHEN FND_API.G_EXC_ERROR THEN
418       IF (l_debug = 'Y') THEN
419          okc_debug.log('1900: Leaving Update_Doc_Qa_List: OKC_API.G_EXCEPTION_ERROR Exception', 2);
420       END IF;
421       ROLLBACK TO g_Update_Doc_Qa_List_GRP;
422       x_return_status := G_RET_STS_ERROR ;
423       FND_MSG_PUB.Count_And_Get(p_encoded=>'F', p_count => x_msg_count, p_data => x_msg_data );
424 
425     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
426       IF (l_debug = 'Y') THEN
427          okc_debug.log('2000: Leaving Update_Doc_Qa_List: OKC_API.G_EXCEPTION_UNEXPECTED_ERROR Exception', 2);
428       END IF;
429       ROLLBACK TO g_Update_Doc_Qa_List_GRP;
430       x_return_status := G_RET_STS_UNEXP_ERROR ;
431       FND_MSG_PUB.Count_And_Get(p_encoded=>'F', p_count => x_msg_count, p_data => x_msg_data );
432 
433     WHEN OTHERS THEN
434       IF (l_debug = 'Y') THEN
435         okc_debug.log('2100: Leaving Update_Doc_Qa_List because of EXCEPTION: '||sqlerrm, 2);
436       END IF;
437 
438       ROLLBACK TO g_Update_Doc_Qa_List_GRP;
439       x_return_status := G_RET_STS_UNEXP_ERROR ;
440       IF FND_MSG_PUB.Check_Msg_Level( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR ) THEN
441         FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME, l_api_name );
442       END IF;
443       FND_MSG_PUB.Count_And_Get(p_encoded=>'F', p_count => x_msg_count, p_data => x_msg_data );
444 
445   END Update_Doc_Qa_List;
446 
447   ---------------------------------------------------------------------------
448   -- PROCEDURE Delete_Doc_Qa_List
449   ---------------------------------------------------------------------------
450   PROCEDURE Delete_Doc_Qa_List(
451     p_api_version                  IN NUMBER,
452     p_init_msg_list                IN VARCHAR2 ,
453     p_commit                       IN VARCHAR2 := FND_API.G_FALSE,
454 
455     x_return_status                OUT NOCOPY VARCHAR2,
456     x_msg_count                    OUT NOCOPY NUMBER,
457     x_msg_data                     OUT NOCOPY VARCHAR2,
458 
459     p_qa_code               IN VARCHAR2,
460     p_document_type         IN VARCHAR2,
461     p_object_version_number IN NUMBER
462   ) IS
463     l_api_version                  CONSTANT NUMBER := 1;
464     l_api_name                     CONSTANT VARCHAR2(30) := 'g_Delete_Doc_Qa_List';
465   BEGIN
466 
467     IF (l_debug = 'Y') THEN
468        okc_debug.log('2200: Entered Delete_Doc_Qa_List', 2);
469     END IF;
470 
471     -- Standard Start of API savepoint
472     SAVEPOINT g_Delete_Doc_Qa_List_GRP;
473     -- Standard call to check for call compatibility.
474     IF NOT FND_API.Compatible_API_Call( l_api_version, p_api_version, l_api_name, G_PKG_NAME) THEN
475       RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
476     END IF;
477     -- Initialize message list if p_init_msg_list is set to TRUE.
478     IF FND_API.to_Boolean( p_init_msg_list ) THEN
479       FND_MSG_PUB.initialize;
480     END IF;
481     --  Initialize API return status to success
482     x_return_status := G_RET_STS_SUCCESS;
483 
484     --------------------------------------------
485     -- Calling Simple API for Deleting A Row
486     --------------------------------------------
487     OKC_DOC_QA_LIST_PVT.Delete_Row(
488       x_return_status              =>   x_return_status,
489       p_qa_code               => p_qa_code,
490       p_document_type         => p_document_type,
491       p_object_version_number => p_object_version_number
492     );
493     --------------------------------------------
494     IF (x_return_status = G_RET_STS_UNEXP_ERROR) THEN
495       RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
496     ELSIF (x_return_status = G_RET_STS_ERROR) THEN
497       RAISE FND_API.G_EXC_ERROR ;
498     END IF;
499     --------------------------------------------
500 
501     -- Standard check of p_commit
502     IF FND_API.To_Boolean( p_commit ) THEN
503       COMMIT WORK;
504     END IF;
505     -- Standard call to get message count and if count is 1, get message info.
506     FND_MSG_PUB.Count_And_Get(p_encoded=>'F', p_count => x_msg_count, p_data => x_msg_data );
507 
508     IF (l_debug = 'Y') THEN
509        okc_debug.log('2300: Leaving Delete_Doc_Qa_List', 2);
510     END IF;
511 
512    EXCEPTION
513     WHEN FND_API.G_EXC_ERROR THEN
514       IF (l_debug = 'Y') THEN
515          okc_debug.log('2400: Leaving Delete_Doc_Qa_List: OKC_API.G_EXCEPTION_ERROR Exception', 2);
516       END IF;
517       ROLLBACK TO g_Delete_Doc_Qa_List_GRP;
518       x_return_status := G_RET_STS_ERROR ;
519       FND_MSG_PUB.Count_And_Get(p_encoded=>'F', p_count => x_msg_count, p_data => x_msg_data );
520 
521     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
522       IF (l_debug = 'Y') THEN
523          okc_debug.log('2500: Leaving Delete_Doc_Qa_List: OKC_API.G_EXCEPTION_UNEXPECTED_ERROR Exception', 2);
524       END IF;
525       ROLLBACK TO g_Delete_Doc_Qa_List_GRP;
526       x_return_status := G_RET_STS_UNEXP_ERROR ;
527       FND_MSG_PUB.Count_And_Get(p_encoded=>'F', p_count => x_msg_count, p_data => x_msg_data );
528 
529     WHEN OTHERS THEN
530       IF (l_debug = 'Y') THEN
531         okc_debug.log('2600: Leaving Delete_Doc_Qa_List because of EXCEPTION: '||sqlerrm, 2);
532       END IF;
533 
534       ROLLBACK TO g_Delete_Doc_Qa_List_GRP;
535       x_return_status := G_RET_STS_UNEXP_ERROR ;
536       IF FND_MSG_PUB.Check_Msg_Level( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR ) THEN
537         FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME, l_api_name );
538       END IF;
539       FND_MSG_PUB.Count_And_Get(p_encoded=>'F', p_count => x_msg_count, p_data => x_msg_data );
540 
541   END Delete_Doc_Qa_List;
542 
543 END OKC_DOC_QA_LIST_GRP;