DBA Data[Home] [Help]

PACKAGE BODY: APPS.OKC_ASSENT_PUB

Source


1 Package Body OKC_ASSENT_PUB AS
2 /* $Header: OKCPASTB.pls 120.0 2005/05/25 22:37:22 appldev noship $ */
3 	l_debug VARCHAR2(1) := NVL(FND_PROFILE.VALUE('AFLOG_ENABLED'),'N');
4 
5   PROCEDURE add_language IS
6   BEGIN
7     okc_assent_pvt.add_language;
8   END;
9 
10   FUNCTION migrate_astv(p_astv_rec1 IN astv_rec_type,
11                         p_astv_rec2 IN astv_rec_type)
12     RETURN astv_rec_type IS
13     l_astv_rec astv_rec_type;
14   BEGIN
15     l_astv_rec.id                    := p_astv_rec1.id;
16     l_astv_rec.scs_code              := p_astv_rec1.scs_code;
17     l_astv_rec.sts_code              := p_astv_rec1.sts_code;
18     l_astv_rec.opn_code              := p_astv_rec1.opn_code;
19     l_astv_rec.ste_code              := p_astv_rec1.ste_code;
20     l_astv_rec.object_version_number := p_astv_rec1.object_version_number;
21     l_astv_rec.allowed_yn            := p_astv_rec1.allowed_yn;
22     l_astv_rec.created_by            := p_astv_rec1.created_by;
23     l_astv_rec.creation_date         := p_astv_rec1.creation_date;
24     l_astv_rec.last_updated_by       := p_astv_rec1.last_updated_by;
25     l_astv_rec.last_update_date      := p_astv_rec1.last_update_date;
26     l_astv_rec.last_update_login     := p_astv_rec1.last_update_login;
27     l_astv_rec.attribute_category    := p_astv_rec2.attribute_category;
28     l_astv_rec.attribute1            := p_astv_rec2.attribute1;
29     l_astv_rec.attribute2            := p_astv_rec2.attribute2;
30     l_astv_rec.attribute3            := p_astv_rec2.attribute3;
31     l_astv_rec.attribute4            := p_astv_rec2.attribute4;
32     l_astv_rec.attribute5            := p_astv_rec2.attribute5;
33     l_astv_rec.attribute6            := p_astv_rec2.attribute6;
34     l_astv_rec.attribute7            := p_astv_rec2.attribute7;
35     l_astv_rec.attribute8            := p_astv_rec2.attribute8;
36     l_astv_rec.attribute9            := p_astv_rec2.attribute9;
37     l_astv_rec.attribute10           := p_astv_rec2.attribute10;
38     l_astv_rec.attribute11           := p_astv_rec2.attribute11;
39     l_astv_rec.attribute12           := p_astv_rec2.attribute12;
40     l_astv_rec.attribute13           := p_astv_rec2.attribute13;
41     l_astv_rec.attribute14           := p_astv_rec2.attribute14;
42     l_astv_rec.attribute15           := p_astv_rec2.attribute15;
43     RETURN (l_astv_rec);
44   END migrate_astv;
45 
46   FUNCTION migrate_stsv(p_stsv_rec1 IN stsv_rec_type,
47                         p_stsv_rec2 IN stsv_rec_type)
48     RETURN stsv_rec_type IS
49     l_stsv_rec stsv_rec_type;
50   BEGIN
51     l_stsv_rec.code                  := p_stsv_rec1.code;
52     l_stsv_rec.ste_code              := p_stsv_rec1.ste_code;
53     l_stsv_rec.sfwt_flag             := p_stsv_rec1.sfwt_flag;
54     l_stsv_rec.object_version_number := p_stsv_rec1.object_version_number;
55     l_stsv_rec.default_yn            := p_stsv_rec1.default_yn;
56     l_stsv_rec.created_by            := p_stsv_rec1.created_by;
57     l_stsv_rec.creation_date         := p_stsv_rec1.creation_date;
58     l_stsv_rec.last_updated_by       := p_stsv_rec1.last_updated_by;
59     l_stsv_rec.last_update_date      := p_stsv_rec1.last_update_date;
60     l_stsv_rec.last_update_login     := p_stsv_rec1.last_update_login;
61     l_stsv_rec.meaning               := p_stsv_rec2.meaning;
62     l_stsv_rec.description           := p_stsv_rec2.description;
63     l_stsv_rec.start_date            := p_stsv_rec2.start_date;
64     l_stsv_rec.end_date              := p_stsv_rec2.end_date;
65     RETURN (l_stsv_rec);
66   END migrate_stsv;
67 
68   --------------------------------------
69   --PROCEDURE create_assent
70   --------------------------------------
71   PROCEDURE create_assent(
72      p_api_version                  IN NUMBER,
73      p_init_msg_list                IN VARCHAR2 ,
74      x_return_status                OUT NOCOPY VARCHAR2,
75      x_msg_count                    OUT NOCOPY NUMBER,
76      x_msg_data                     OUT NOCOPY VARCHAR2,
77      p_astv_rec                     IN astv_rec_type,
78      x_astv_rec                     OUT NOCOPY astv_rec_type) IS
79      l_api_name      CONSTANT VARCHAR2(30) := 'create_assent';
80      l_astv_rec                     astv_rec_type := p_astv_rec;
81      l_return_status                VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
82 
83   BEGIN
84      l_return_status := OKC_API.START_ACTIVITY(l_api_name,
85 	 				      p_init_msg_list,
86 		 			      '_PUB',
87                                               x_return_status);
88      IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
89        raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
90      ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
91        raise OKC_API.G_EXCEPTION_ERROR;
92      END IF;
93 
94      -- Call user hook for BEFORE
95      g_astv_rec := l_astv_rec;
96      okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'B');
97      IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
98        raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
99      ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
100        raise OKC_API.G_EXCEPTION_ERROR;
101      END IF;
102      l_astv_rec := migrate_astv(l_astv_rec, g_astv_rec);
103 
104 
105      OKC_ASSENT_PVT.create_assent(
106                          p_api_version,
107                          p_init_msg_list,
108                          x_return_status,
109                          x_msg_count,
110                          x_msg_data,
111                          l_astv_rec,
112                          x_astv_rec);
113     IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
114       raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
115     ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
116       raise OKC_API.G_EXCEPTION_ERROR;
117     END IF;
118 
119      -- Call user hook for AFTER
120      g_astv_rec := x_astv_rec;
121      okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'A');
122      IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
123        raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
124      ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
125        raise OKC_API.G_EXCEPTION_ERROR;
126      END IF;
127      OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
128    EXCEPTION
129      WHEN OKC_API.G_EXCEPTION_ERROR THEN
130        x_return_status := OKC_API.HANDLE_EXCEPTIONS
131        (l_api_name,
132         G_PKG_NAME,
133         'OKC_API.G_RET_STS_ERROR',
134         x_msg_count,
135         x_msg_data,
136         '_PUB');
137      WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
138        x_return_status := OKC_API.HANDLE_EXCEPTIONS
139        (l_api_name,
140         G_PKG_NAME,
141         'OKC_API.G_RET_STS_UNEXP_ERROR',
142         x_msg_count,
143         x_msg_data,
144         '_PUB');
145      WHEN OTHERS THEN
146        x_return_status := OKC_API.HANDLE_EXCEPTIONS
147        (l_api_name,
148         G_PKG_NAME,
149         'OTHERS',
150         x_msg_count,
151         x_msg_data,
152         '_PUB');
153 
154   END create_assent;
155 
156   --------------------------------------
157   --PROCEDURE create_assent
158   --------------------------------------
159   PROCEDURE create_assent(
160      p_api_version                  IN NUMBER,
161      p_init_msg_list                IN VARCHAR2 ,
162      x_return_status                OUT NOCOPY VARCHAR2,
163      x_msg_count                    OUT NOCOPY NUMBER,
164      x_msg_data                     OUT NOCOPY VARCHAR2,
165      p_astv_tbl                     IN  astv_tbl_type,
166      x_astv_tbl                     OUT NOCOPY astv_tbl_type) IS
167      l_api_name      CONSTANT VARCHAR2(30) := 'create_assent';
168      i				    NUMBER := 0;
169      l_return_status                VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
170 
171   BEGIN
172      x_return_status := OKC_API.G_RET_STS_SUCCESS;
173      IF p_astv_tbl.COUNT > 0 THEN
174        i := p_astv_tbl.FIRST;
175        LOOP
176        create_assent(
177                          p_api_version         => p_api_version,
178                          p_init_msg_list       => p_init_msg_list,
179                          x_return_status       => l_return_status,
180                          x_msg_count           => x_msg_count,
181                          x_msg_data            => x_msg_data,
182                          p_astv_rec            => p_astv_tbl(i),
183                          x_astv_rec            => x_astv_tbl(i));
184        IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
185          IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
186            x_return_status := l_return_status;
187            raise G_EXCEPTION_HALT_VALIDATION;
188          ELSE
189            x_return_status := l_return_status;
190          END IF;
191        END IF;
192        EXIT WHEN (i = p_astv_tbl.LAST);
193        i := p_astv_tbl.NEXT(i);
194        END LOOP;
195      END IF;
196    EXCEPTION
197      WHEN G_EXCEPTION_HALT_VALIDATION THEN
198        NULL;
199      WHEN OTHERS THEN
200        OKC_API.set_message(p_app_name      => g_app_name,
201                            p_msg_name      => g_unexpected_error,
202                            p_token1        => g_sqlcode_token,
203                            p_token1_value  => sqlcode,
204                            p_token2        => g_sqlerrm_token,
205                            p_token2_value  => sqlerrm);
206        x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
207 
208   END create_assent;
209 
210   --------------------------------------
211   --PROCEDURE update_assent
212   --------------------------------------
213   PROCEDURE update_assent(
214      p_api_version                  IN NUMBER,
215      p_init_msg_list                IN VARCHAR2 ,
216      x_return_status                OUT NOCOPY VARCHAR2,
217      x_msg_count                    OUT NOCOPY NUMBER,
218      x_msg_data                     OUT NOCOPY VARCHAR2,
219      p_astv_rec                     IN  astv_rec_type,
220      x_astv_rec                     OUT NOCOPY astv_rec_type) IS
221      l_api_name      CONSTANT VARCHAR2(30) := 'update_assent';
222      l_astv_rec                     astv_rec_type := p_astv_rec;
223      l_return_status                VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
224 
225   BEGIN
226      l_return_status := OKC_API.START_ACTIVITY(l_api_name,
227 	 				      p_init_msg_list,
228 		 			      '_PUB',
229                                               x_return_status);
230      IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
231        raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
232      ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
233        raise OKC_API.G_EXCEPTION_ERROR;
234      END IF;
235 
236      -- Call user hook for BEFORE
237      g_astv_rec := l_astv_rec;
238      okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'B');
239      IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
240        raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
241      ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
242        raise OKC_API.G_EXCEPTION_ERROR;
243      END IF;
244      l_astv_rec := migrate_astv(l_astv_rec, g_astv_rec);
245 
246      OKC_ASSENT_PVT.update_assent(
247                          p_api_version,
248                          p_init_msg_list,
249                          x_return_status,
250                          x_msg_count,
251                          x_msg_data,
252                          l_astv_rec,
253                          x_astv_rec);
254 
255      IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
256        raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
257      ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
258        raise OKC_API.G_EXCEPTION_ERROR;
259      END IF;
260 
261      -- Call user hook for AFTER
262      g_astv_rec := x_astv_rec;
263      okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'A');
264      IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
265        raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
266      ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
267        raise OKC_API.G_EXCEPTION_ERROR;
268      END IF;
269      OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
270    EXCEPTION
271      WHEN OKC_API.G_EXCEPTION_ERROR THEN
272        x_return_status := OKC_API.HANDLE_EXCEPTIONS
273        (l_api_name,
274         G_PKG_NAME,
275         'OKC_API.G_RET_STS_ERROR',
276         x_msg_count,
277         x_msg_data,
278         '_PUB');
279      WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
280        x_return_status := OKC_API.HANDLE_EXCEPTIONS
281        (l_api_name,
282         G_PKG_NAME,
283         'OKC_API.G_RET_STS_UNEXP_ERROR',
284         x_msg_count,
285         x_msg_data,
286         '_PUB');
287      WHEN OTHERS THEN
288        x_return_status := OKC_API.HANDLE_EXCEPTIONS
289        (l_api_name,
290         G_PKG_NAME,
291         'OTHERS',
292         x_msg_count,
293         x_msg_data,
294         '_PUB');
295 
296   END update_assent;
297 
298   --------------------------------------
299   --PROCEDURE update_assent
300   --------------------------------------
301   PROCEDURE update_assent(
302      p_api_version                  IN NUMBER,
303      p_init_msg_list                IN VARCHAR2 ,
304      x_return_status                OUT NOCOPY VARCHAR2,
305      x_msg_count                    OUT NOCOPY NUMBER,
306      x_msg_data                     OUT NOCOPY VARCHAR2,
307      p_astv_tbl                     IN  astv_tbl_type,
308      x_astv_tbl                     OUT NOCOPY astv_tbl_type) IS
309      l_api_name      CONSTANT VARCHAR2(30) := 'update_assent';
310      i				    NUMBER := 0;
311      l_return_status                VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
312 
313   BEGIN
314      x_return_status := OKC_API.G_RET_STS_SUCCESS;
315      IF p_astv_tbl.COUNT > 0 THEN
316        i := p_astv_tbl.FIRST;
317        LOOP
318        update_assent(
319                          p_api_version         => p_api_version,
320                          p_init_msg_list       => p_init_msg_list,
321                          x_return_status       => l_return_status,
322                          x_msg_count           => x_msg_count,
323                          x_msg_data            => x_msg_data,
324                          p_astv_rec            => p_astv_tbl(i),
325                          x_astv_rec            => x_astv_tbl(i));
326        IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
327          IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
328            x_return_status := l_return_status;
329            raise G_EXCEPTION_HALT_VALIDATION;
330          ELSE
331            x_return_status := l_return_status;
332          END IF;
333        END IF;
334        EXIT WHEN (i = p_astv_tbl.LAST);
335        i := p_astv_tbl.NEXT(i);
336        END LOOP;
337      END IF;
338    EXCEPTION
339      WHEN G_EXCEPTION_HALT_VALIDATION THEN
340        NULL;
341      WHEN OTHERS THEN
342        OKC_API.set_message(p_app_name      => g_app_name,
343                            p_msg_name      => g_unexpected_error,
344                            p_token1        => g_sqlcode_token,
345                            p_token1_value  => sqlcode,
346                            p_token2        => g_sqlerrm_token,
347                            p_token2_value  => sqlerrm);
348        x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
349 
350   END update_assent;
351 
352   --------------------------------------
353   --PROCEDURE delete_assent
354   --------------------------------------
355   PROCEDURE delete_assent(
356      p_api_version                  IN NUMBER,
357      p_init_msg_list                IN VARCHAR2 ,
358      x_return_status                OUT NOCOPY VARCHAR2,
359      x_msg_count                    OUT NOCOPY NUMBER,
360      x_msg_data                     OUT NOCOPY VARCHAR2,
361      p_astv_rec                     IN  astv_rec_type) IS
362      l_api_name      CONSTANT VARCHAR2(30) := 'delete_assent';
363      l_astv_rec                     astv_rec_type := p_astv_rec;
364      l_return_status                VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
365 
366   BEGIN
367      l_return_status := OKC_API.START_ACTIVITY(l_api_name,
368 	 				      p_init_msg_list,
369 		 			      '_PUB',
370                                               x_return_status);
371      IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
372        raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
373      ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
374        raise OKC_API.G_EXCEPTION_ERROR;
375      END IF;
376 
377      -- Call user hook for BEFORE
378      g_astv_rec := l_astv_rec;
379      okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'B');
380      IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
381        raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
382      ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
383        raise OKC_API.G_EXCEPTION_ERROR;
384      END IF;
385      l_astv_rec := migrate_astv(l_astv_rec, g_astv_rec);
386 
387      OKC_ASSENT_PVT.delete_assent(
388                          p_api_version,
389                          p_init_msg_list,
390                          x_return_status,
391                          x_msg_count,
392                          x_msg_data,
393                          p_astv_rec);
394 
395      IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
396        raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
397      ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
398        raise OKC_API.G_EXCEPTION_ERROR;
399      END IF;
400 
401      -- Call user hook for AFTER
402      okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'A');
403      IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
404        raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
405      ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
406        raise OKC_API.G_EXCEPTION_ERROR;
407      END IF;
408      OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
409    EXCEPTION
410      WHEN OKC_API.G_EXCEPTION_ERROR THEN
411        x_return_status := OKC_API.HANDLE_EXCEPTIONS
412        (l_api_name,
413         G_PKG_NAME,
414         'OKC_API.G_RET_STS_ERROR',
415         x_msg_count,
416         x_msg_data,
417         '_PUB');
418      WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
419        x_return_status := OKC_API.HANDLE_EXCEPTIONS
420        (l_api_name,
421         G_PKG_NAME,
422         'OKC_API.G_RET_STS_UNEXP_ERROR',
423         x_msg_count,
424         x_msg_data,
425         '_PUB');
426      WHEN OTHERS THEN
427        x_return_status := OKC_API.HANDLE_EXCEPTIONS
428        (l_api_name,
429         G_PKG_NAME,
430         'OTHERS',
431         x_msg_count,
432         x_msg_data,
433         '_PUB');
434 
435   END delete_assent;
436 
437   --------------------------------------
438   --PROCEDURE delete_assent
439   --------------------------------------
440   PROCEDURE delete_assent(
441      p_api_version                  IN NUMBER,
442      p_init_msg_list                IN VARCHAR2 ,
443      x_return_status                OUT NOCOPY VARCHAR2,
444      x_msg_count                    OUT NOCOPY NUMBER,
445      x_msg_data                     OUT NOCOPY VARCHAR2,
446      p_astv_tbl                     IN astv_tbl_type) IS
447      l_api_name      CONSTANT VARCHAR2(30) := 'delete_assent';
448      i				    NUMBER := 0;
449      l_return_status                VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
450 
451   BEGIN
452      x_return_status := OKC_API.G_RET_STS_SUCCESS;
453      IF p_astv_tbl.COUNT > 0 THEN
454        i := p_astv_tbl.FIRST;
455        LOOP
456        delete_assent(
457                          p_api_version         => p_api_version,
458                          p_init_msg_list       => p_init_msg_list,
459                          x_return_status       => l_return_status,
460                          x_msg_count           => x_msg_count,
461                          x_msg_data            => x_msg_data,
462                          p_astv_rec            => p_astv_tbl(i));
463        IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
464          IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
465            x_return_status := l_return_status;
466            raise G_EXCEPTION_HALT_VALIDATION;
467          ELSE
468            x_return_status := l_return_status;
469          END IF;
470        END IF;
471        EXIT WHEN (i = p_astv_tbl.LAST);
472        i := p_astv_tbl.NEXT(i);
473        END LOOP;
474      END IF;
475    EXCEPTION
476      WHEN G_EXCEPTION_HALT_VALIDATION THEN
477        NULL;
478      WHEN OTHERS THEN
479        OKC_API.set_message(p_app_name      => g_app_name,
480                            p_msg_name      => g_unexpected_error,
481                            p_token1        => g_sqlcode_token,
482                            p_token1_value  => sqlcode,
483                            p_token2        => g_sqlerrm_token,
484                            p_token2_value  => sqlerrm);
485        x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
486 
487   END delete_assent;
488 
489   --------------------------------------
490   --PROCEDURE validate_assent
491   --------------------------------------
492   PROCEDURE validate_assent(
493      p_api_version                  IN NUMBER,
494      p_init_msg_list                IN VARCHAR2 ,
495      x_return_status                OUT NOCOPY VARCHAR2,
496      x_msg_count                    OUT NOCOPY NUMBER,
497      x_msg_data                     OUT NOCOPY VARCHAR2,
498      p_astv_rec                     IN astv_rec_type) IS
499   BEGIN
500      OKC_ASSENT_PVT.validate_assent(
501                          p_api_version         => p_api_version,
502                          p_init_msg_list       => p_init_msg_list,
503                          x_return_status       => x_return_status,
504                          x_msg_count           => x_msg_count,
505                          x_msg_data            => x_msg_data,
506                          p_astv_rec            => p_astv_rec);
507   END validate_assent;
508 
509   --------------------------------------
510   --PROCEDURE validate_assent
511   --------------------------------------
512   PROCEDURE validate_assent(
513      p_api_version                  IN NUMBER,
514      p_init_msg_list                IN VARCHAR2 ,
515      x_return_status                OUT NOCOPY VARCHAR2,
516      x_msg_count                    OUT NOCOPY NUMBER,
517      x_msg_data                     OUT NOCOPY VARCHAR2,
518      p_astv_tbl                     IN astv_tbl_type) IS
519      l_api_name      CONSTANT VARCHAR2(30) := 'validate_assent';
520      i				    NUMBER := 0;
521      l_return_status                VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
522 
523   BEGIN
524      x_return_status := OKC_API.G_RET_STS_SUCCESS;
525      IF p_astv_tbl.COUNT > 0 THEN
526        i := p_astv_tbl.FIRST;
527        LOOP
528        validate_assent(
529                          p_api_version         => p_api_version,
530                          p_init_msg_list       => p_init_msg_list,
531                          x_return_status       => l_return_status,
532                          x_msg_count           => x_msg_count,
533                          x_msg_data            => x_msg_data,
534                          p_astv_rec            => p_astv_tbl(i));
535        IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
536          IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
537            x_return_status := l_return_status;
538            raise G_EXCEPTION_HALT_VALIDATION;
539          ELSE
540            x_return_status := l_return_status;
541          END IF;
542        END IF;
543        EXIT WHEN (i = p_astv_tbl.LAST);
544        i := p_astv_tbl.NEXT(i);
545        END LOOP;
546      END IF;
547    EXCEPTION
548      WHEN G_EXCEPTION_HALT_VALIDATION THEN
549        NULL;
550      WHEN OTHERS THEN
551        OKC_API.set_message(p_app_name      => g_app_name,
552                            p_msg_name      => g_unexpected_error,
553                            p_token1        => g_sqlcode_token,
554                            p_token1_value  => sqlcode,
555                            p_token2        => g_sqlerrm_token,
556                            p_token2_value  => sqlerrm);
557        x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
558 
559   END validate_assent;
560 
561   --------------------------------------
562   --PROCEDURE lock_assent
563   --------------------------------------
564   PROCEDURE lock_assent(
565      p_api_version                  IN NUMBER,
566      p_init_msg_list                IN VARCHAR2 ,
567      x_return_status                OUT NOCOPY VARCHAR2,
568      x_msg_count                    OUT NOCOPY NUMBER,
569      x_msg_data                     OUT NOCOPY VARCHAR2,
570      p_astv_rec                     IN astv_rec_type) IS
571   BEGIN
572      OKC_ASSENT_PVT.lock_assent(
573                          p_api_version         => p_api_version,
574                          p_init_msg_list       => p_init_msg_list,
575                          x_return_status       => x_return_status,
576                          x_msg_count           => x_msg_count,
577                          x_msg_data            => x_msg_data,
578                          p_astv_rec            => p_astv_rec);
579 
580   END lock_assent;
581 
582   --------------------------------------
583   --PROCEDURE lock_assent
584   --------------------------------------
585   PROCEDURE lock_assent(
586      p_api_version                  IN NUMBER,
587      p_init_msg_list                IN VARCHAR2 ,
588      x_return_status                OUT NOCOPY VARCHAR2,
589      x_msg_count                    OUT NOCOPY NUMBER,
590      x_msg_data                     OUT NOCOPY VARCHAR2,
591      p_astv_tbl                     IN astv_tbl_type) IS
592      l_api_name      CONSTANT VARCHAR2(30) := 'lock_assent';
593      i				    NUMBER := 0;
594      l_return_status                VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
595 
596   BEGIN
597      x_return_status := OKC_API.G_RET_STS_SUCCESS;
598      IF p_astv_tbl.COUNT > 0 THEN
599        i := p_astv_tbl.FIRST;
600        LOOP
601        lock_assent(
602                          p_api_version         => p_api_version,
603                          p_init_msg_list       => p_init_msg_list,
604                          x_return_status       => l_return_status,
605                          x_msg_count           => x_msg_count,
606                          x_msg_data            => x_msg_data,
607                          p_astv_rec            => p_astv_tbl(i));
608        IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
609          IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
610            x_return_status := l_return_status;
611            raise G_EXCEPTION_HALT_VALIDATION;
612          ELSE
613            x_return_status := l_return_status;
614          END IF;
615        END IF;
616        EXIT WHEN (i = p_astv_tbl.LAST);
617        i := p_astv_tbl.NEXT(i);
618        END LOOP;
619      END IF;
620    EXCEPTION
621      WHEN G_EXCEPTION_HALT_VALIDATION THEN
622        NULL;
623      WHEN OTHERS THEN
624        OKC_API.set_message(p_app_name      => g_app_name,
625                            p_msg_name      => g_unexpected_error,
626                            p_token1        => g_sqlcode_token,
627                            p_token1_value  => sqlcode,
628                            p_token2        => g_sqlerrm_token,
629                            p_token2_value  => sqlerrm);
630        x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
631 
632   END lock_assent;
633 
634   --------------------------------------
635   -- FUNCTION header_operation_allowed
636   --------------------------------------
637   FUNCTION header_operation_allowed(
638     p_header_id                    IN NUMBER,
639     p_opn_code                     IN VARCHAR2,
640     p_crt_id                       IN NUMBER ) return varchar2 IS
641     l_return_status                VARCHAR2(1);
642   BEGIN
643     l_return_status := OKC_ASSENT_PVT.header_operation_allowed(
644                                                               p_header_id,
645                                                               p_opn_code,
646 												  p_crt_id);
647     Return(l_return_status);
648   END header_operation_allowed;
649 
650   --------------------------------------
651   -- FUNCTION line_operation_allowed
652   --------------------------------------
653   FUNCTION line_operation_allowed(
654     p_line_id                      IN NUMBER,
655     p_opn_code                     IN VARCHAR2) return varchar2 IS
656     l_return_status                VARCHAR2(1);
657   BEGIN
658     l_return_status := OKC_ASSENT_PVT.line_operation_allowed(
659                                                             p_line_id,
660                                                             p_opn_code);
661     Return(l_return_status);
662   END line_operation_allowed;
663 
664   --------------------------------------
665   --PROCEDURE create_status
666   --------------------------------------
667   PROCEDURE create_status(
668      p_api_version                  IN NUMBER,
669      p_init_msg_list                IN VARCHAR2 ,
670      x_return_status                OUT NOCOPY VARCHAR2,
671      x_msg_count                    OUT NOCOPY NUMBER,
672      x_msg_data                     OUT NOCOPY VARCHAR2,
673      p_stsv_rec                     IN stsv_rec_type,
674      x_stsv_rec                     OUT NOCOPY stsv_rec_type) IS
675      l_api_name      CONSTANT VARCHAR2(30) := 'create_status';
676      l_stsv_rec                     stsv_rec_type := p_stsv_rec;
677      l_return_status                VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
678 
679   BEGIN
680      l_return_status := OKC_API.START_ACTIVITY(l_api_name,
681 	 				      p_init_msg_list,
682 		 			      '_PUB',
683                                               x_return_status);
684      IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
685        raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
686      ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
687        raise OKC_API.G_EXCEPTION_ERROR;
688      END IF;
689 
690      -- Call user hook for BEFORE
691      g_stsv_rec := l_stsv_rec;
692      okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'B');
693      IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
694        raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
695      ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
696        raise OKC_API.G_EXCEPTION_ERROR;
697      END IF;
698      l_stsv_rec := migrate_stsv(l_stsv_rec, g_stsv_rec);
699 
700      OKC_ASSENT_PVT.create_status(
701                          p_api_version,
702                          p_init_msg_list,
703                          x_return_status,
704                          x_msg_count,
705                          x_msg_data,
706                          l_stsv_rec,
707                          x_stsv_rec);
708     IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
709       raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
710     ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
711       raise OKC_API.G_EXCEPTION_ERROR;
712     END IF;
713 
714      -- Call user hook for AFTER
715      g_stsv_rec := x_stsv_rec;
716      okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'A');
717      IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
718        raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
719      ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
720        raise OKC_API.G_EXCEPTION_ERROR;
721      END IF;
722      OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
723    EXCEPTION
724      WHEN OKC_API.G_EXCEPTION_ERROR THEN
725        x_return_status := OKC_API.HANDLE_EXCEPTIONS
726        (l_api_name,
727         G_PKG_NAME,
728         'OKC_API.G_RET_STS_ERROR',
729         x_msg_count,
730         x_msg_data,
731         '_PUB');
732      WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
733        x_return_status := OKC_API.HANDLE_EXCEPTIONS
734        (l_api_name,
735         G_PKG_NAME,
736         'OKC_API.G_RET_STS_UNEXP_ERROR',
737         x_msg_count,
738         x_msg_data,
739         '_PUB');
740      WHEN OTHERS THEN
741        x_return_status := OKC_API.HANDLE_EXCEPTIONS
742        (l_api_name,
743         G_PKG_NAME,
744         'OTHERS',
745         x_msg_count,
746         x_msg_data,
747         '_PUB');
748 
749   END create_status;
750 
751   --------------------------------------
752   --PROCEDURE create_status
753   --------------------------------------
754   PROCEDURE create_status(
755      p_api_version                  IN NUMBER,
756      p_init_msg_list                IN VARCHAR2 ,
757      x_return_status                OUT NOCOPY VARCHAR2,
758      x_msg_count                    OUT NOCOPY NUMBER,
759      x_msg_data                     OUT NOCOPY VARCHAR2,
760      p_stsv_tbl                     IN  stsv_tbl_type,
761      x_stsv_tbl                     OUT NOCOPY stsv_tbl_type) IS
762      l_api_name      CONSTANT VARCHAR2(30) := 'create_status';
763      i				    NUMBER := 0;
764      l_return_status                VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
765 
766   BEGIN
767      x_return_status := OKC_API.G_RET_STS_SUCCESS;
768      IF p_stsv_tbl.COUNT > 0 THEN
769        i := p_stsv_tbl.FIRST;
770        LOOP
771        create_status(
772                          p_api_version         => p_api_version,
773                          p_init_msg_list       => p_init_msg_list,
774                          x_return_status       => l_return_status,
775                          x_msg_count           => x_msg_count,
776                          x_msg_data            => x_msg_data,
777                          p_stsv_rec            => p_stsv_tbl(i),
778                          x_stsv_rec            => x_stsv_tbl(i));
779        IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
780          IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
781            x_return_status := l_return_status;
782            raise G_EXCEPTION_HALT_VALIDATION;
783          ELSE
784            x_return_status := l_return_status;
785          END IF;
786        END IF;
787        EXIT WHEN (i = p_stsv_tbl.LAST);
788        i := p_stsv_tbl.NEXT(i);
789        END LOOP;
790      END IF;
791    EXCEPTION
792      WHEN G_EXCEPTION_HALT_VALIDATION THEN
793        NULL;
794      WHEN OTHERS THEN
795        OKC_API.set_message(p_app_name      => g_app_name,
796                            p_msg_name      => g_unexpected_error,
797                            p_token1        => g_sqlcode_token,
798                            p_token1_value  => sqlcode,
799                            p_token2        => g_sqlerrm_token,
800                            p_token2_value  => sqlerrm);
801        x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
802 
803   END create_status;
804 
805   --------------------------------------
806   --PROCEDURE update_status
807   --------------------------------------
808   PROCEDURE update_status(
809      p_api_version                  IN NUMBER,
810      p_init_msg_list                IN VARCHAR2 ,
811      x_return_status                OUT NOCOPY VARCHAR2,
812      x_msg_count                    OUT NOCOPY NUMBER,
813      x_msg_data                     OUT NOCOPY VARCHAR2,
814      p_stsv_rec                     IN stsv_rec_type,
815      x_stsv_rec                     OUT NOCOPY stsv_rec_type) IS
816      l_api_name      CONSTANT VARCHAR2(30) := 'update_status';
817      l_stsv_rec                     stsv_rec_type := p_stsv_rec;
818      l_return_status                VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
819 
820   BEGIN
821      l_return_status := OKC_API.START_ACTIVITY(l_api_name,
822 	 				      p_init_msg_list,
823 		 			      '_PUB',
824                                               x_return_status);
825      IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
826        raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
827      ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
828        raise OKC_API.G_EXCEPTION_ERROR;
829      END IF;
830 
831      -- Call user hook for BEFORE
832      g_stsv_rec := l_stsv_rec;
833      okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'B');
834      IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
835        raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
836      ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
837        raise OKC_API.G_EXCEPTION_ERROR;
838      END IF;
839      l_stsv_rec := migrate_stsv(l_stsv_rec, g_stsv_rec);
840 
841      OKC_ASSENT_PVT.update_status(
842                          p_api_version,
843                          p_init_msg_list,
844                          x_return_status,
845                          x_msg_count,
846                          x_msg_data,
847                          l_stsv_rec,
848                          x_stsv_rec);
849     IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
850       raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
851     ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
852       raise OKC_API.G_EXCEPTION_ERROR;
853     END IF;
854 
855      -- Call user hook for AFTER
856      g_stsv_rec := x_stsv_rec;
857      okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'A');
858      IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
859        raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
860      ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
861        raise OKC_API.G_EXCEPTION_ERROR;
862      END IF;
863      OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
864    EXCEPTION
865      WHEN OKC_API.G_EXCEPTION_ERROR THEN
866        x_return_status := OKC_API.HANDLE_EXCEPTIONS
867        (l_api_name,
868         G_PKG_NAME,
869         'OKC_API.G_RET_STS_ERROR',
870         x_msg_count,
871         x_msg_data,
872         '_PUB');
873      WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
874        x_return_status := OKC_API.HANDLE_EXCEPTIONS
875        (l_api_name,
876         G_PKG_NAME,
877         'OKC_API.G_RET_STS_UNEXP_ERROR',
878         x_msg_count,
879         x_msg_data,
880         '_PUB');
881      WHEN OTHERS THEN
882        x_return_status := OKC_API.HANDLE_EXCEPTIONS
883        (l_api_name,
884         G_PKG_NAME,
885         'OTHERS',
886         x_msg_count,
887         x_msg_data,
888         '_PUB');
889 
890   END update_status;
891 
892   --------------------------------------
893   --PROCEDURE update_status
894   --------------------------------------
895   PROCEDURE update_status(
896      p_api_version                  IN NUMBER,
897      p_init_msg_list                IN VARCHAR2 ,
898      x_return_status                OUT NOCOPY VARCHAR2,
899      x_msg_count                    OUT NOCOPY NUMBER,
900      x_msg_data                     OUT NOCOPY VARCHAR2,
901      p_stsv_tbl                     IN  stsv_tbl_type,
902      x_stsv_tbl                     OUT NOCOPY stsv_tbl_type) IS
903      l_api_name      CONSTANT VARCHAR2(30) := 'update_status';
904      i				    NUMBER := 0;
905      l_return_status                VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
906 
907   BEGIN
908      x_return_status := OKC_API.G_RET_STS_SUCCESS;
909      IF p_stsv_tbl.COUNT > 0 THEN
910        i := p_stsv_tbl.FIRST;
911        LOOP
912        update_status(
913                          p_api_version         => p_api_version,
914                          p_init_msg_list       => p_init_msg_list,
915                          x_return_status       => l_return_status,
916                          x_msg_count           => x_msg_count,
917                          x_msg_data            => x_msg_data,
918                          p_stsv_rec            => p_stsv_tbl(i),
919                          x_stsv_rec            => x_stsv_tbl(i));
920        IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
921          IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
922            x_return_status := l_return_status;
923            raise G_EXCEPTION_HALT_VALIDATION;
924          ELSE
925            x_return_status := l_return_status;
926          END IF;
927        END IF;
928        EXIT WHEN (i = p_stsv_tbl.LAST);
929        i := p_stsv_tbl.NEXT(i);
930        END LOOP;
931      END IF;
932    EXCEPTION
933      WHEN G_EXCEPTION_HALT_VALIDATION THEN
934        NULL;
935      WHEN OTHERS THEN
936        OKC_API.set_message(p_app_name      => g_app_name,
937                            p_msg_name      => g_unexpected_error,
938                            p_token1        => g_sqlcode_token,
939                            p_token1_value  => sqlcode,
940                            p_token2        => g_sqlerrm_token,
941                            p_token2_value  => sqlerrm);
942        x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
943 
944   END update_status;
945 
946   --------------------------------------
947   --PROCEDURE delete_status
948   --------------------------------------
949   PROCEDURE delete_status(
950      p_api_version                  IN NUMBER,
951      p_init_msg_list                IN VARCHAR2 ,
952      x_return_status                OUT NOCOPY VARCHAR2,
953      x_msg_count                    OUT NOCOPY NUMBER,
954      x_msg_data                     OUT NOCOPY VARCHAR2,
955      p_stsv_rec                     IN stsv_rec_type) IS
956      l_api_name      CONSTANT VARCHAR2(30) := 'delete_status';
957      l_stsv_rec                     stsv_rec_type := p_stsv_rec;
958      l_return_status                VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
959 
960   BEGIN
961      l_return_status := OKC_API.START_ACTIVITY(l_api_name,
962 	 				      p_init_msg_list,
963 		 			      '_PUB',
964                                               x_return_status);
965      IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
966        raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
967      ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
968        raise OKC_API.G_EXCEPTION_ERROR;
969      END IF;
970 
971      -- Call user hook for BEFORE
972      g_stsv_rec := l_stsv_rec;
973      okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'B');
974      IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
975        raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
976      ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
977        raise OKC_API.G_EXCEPTION_ERROR;
978      END IF;
979      l_stsv_rec := migrate_stsv(l_stsv_rec, g_stsv_rec);
980 
981      OKC_ASSENT_PVT.delete_status(
982                          p_api_version,
983                          p_init_msg_list,
984                          x_return_status,
985                          x_msg_count,
986                          x_msg_data,
987                          p_stsv_rec);
988     IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
989       raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
990     ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
991       raise OKC_API.G_EXCEPTION_ERROR;
992     END IF;
993 
994      -- Call user hook for AFTER
995      okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'A');
996      IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
997        raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
998      ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
999        raise OKC_API.G_EXCEPTION_ERROR;
1000      END IF;
1001      OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
1002    EXCEPTION
1003      WHEN OKC_API.G_EXCEPTION_ERROR THEN
1004        x_return_status := OKC_API.HANDLE_EXCEPTIONS
1005        (l_api_name,
1006         G_PKG_NAME,
1007         'OKC_API.G_RET_STS_ERROR',
1008         x_msg_count,
1009         x_msg_data,
1010         '_PUB');
1011      WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1012        x_return_status := OKC_API.HANDLE_EXCEPTIONS
1013        (l_api_name,
1014         G_PKG_NAME,
1015         'OKC_API.G_RET_STS_UNEXP_ERROR',
1016         x_msg_count,
1017         x_msg_data,
1018         '_PUB');
1019      WHEN OTHERS THEN
1020        x_return_status := OKC_API.HANDLE_EXCEPTIONS
1021        (l_api_name,
1022         G_PKG_NAME,
1023         'OTHERS',
1024         x_msg_count,
1025         x_msg_data,
1026         '_PUB');
1027 
1028   END delete_status;
1029 
1030   --------------------------------------
1031   --PROCEDURE delete_status
1032   --------------------------------------
1033   PROCEDURE delete_status(
1034      p_api_version                  IN NUMBER,
1035      p_init_msg_list                IN VARCHAR2 ,
1036      x_return_status                OUT NOCOPY VARCHAR2,
1037      x_msg_count                    OUT NOCOPY NUMBER,
1038      x_msg_data                     OUT NOCOPY VARCHAR2,
1039      p_stsv_tbl                     IN  stsv_tbl_type) IS
1040      l_api_name      CONSTANT VARCHAR2(30) := 'delete_status';
1041      i				    NUMBER := 0;
1042      l_return_status                VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1043 
1044   BEGIN
1045      x_return_status := OKC_API.G_RET_STS_SUCCESS;
1046      IF p_stsv_tbl.COUNT > 0 THEN
1047        i := p_stsv_tbl.FIRST;
1048        LOOP
1049        delete_status(
1050                          p_api_version         => p_api_version,
1051                          p_init_msg_list       => p_init_msg_list,
1052                          x_return_status       => l_return_status,
1053                          x_msg_count           => x_msg_count,
1054                          x_msg_data            => x_msg_data,
1055                          p_stsv_rec            => p_stsv_tbl(i));
1056        IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
1057          IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1058            x_return_status := l_return_status;
1059            raise G_EXCEPTION_HALT_VALIDATION;
1060          ELSE
1061            x_return_status := l_return_status;
1062          END IF;
1063        END IF;
1064        EXIT WHEN (i = p_stsv_tbl.LAST);
1065        i := p_stsv_tbl.NEXT(i);
1066        END LOOP;
1067      END IF;
1068    EXCEPTION
1069      WHEN G_EXCEPTION_HALT_VALIDATION THEN
1070        NULL;
1071      WHEN OTHERS THEN
1072        OKC_API.set_message(p_app_name      => g_app_name,
1073                            p_msg_name      => g_unexpected_error,
1074                            p_token1        => g_sqlcode_token,
1075                            p_token1_value  => sqlcode,
1076                            p_token2        => g_sqlerrm_token,
1077                            p_token2_value  => sqlerrm);
1078        x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1079 
1080   END delete_status;
1081 
1082   --------------------------------------
1083   --PROCEDURE lock_status
1084   --------------------------------------
1085   PROCEDURE lock_status(
1086      p_api_version                  IN NUMBER,
1087      p_init_msg_list                IN VARCHAR2 ,
1088      x_return_status                OUT NOCOPY VARCHAR2,
1089      x_msg_count                    OUT NOCOPY NUMBER,
1090      x_msg_data                     OUT NOCOPY VARCHAR2,
1091      p_stsv_rec                     IN stsv_rec_type) IS
1092 
1093   BEGIN
1094      OKC_ASSENT_PVT.lock_status(
1095                          p_api_version,
1096                          p_init_msg_list,
1097                          x_return_status,
1098                          x_msg_count,
1099                          x_msg_data,
1100                          p_stsv_rec);
1101   END lock_status;
1102 
1103   --------------------------------------
1104   --PROCEDURE lock_status
1105   --------------------------------------
1106   PROCEDURE lock_status(
1107      p_api_version                  IN NUMBER,
1108      p_init_msg_list                IN VARCHAR2 ,
1109      x_return_status                OUT NOCOPY VARCHAR2,
1110      x_msg_count                    OUT NOCOPY NUMBER,
1111      x_msg_data                     OUT NOCOPY VARCHAR2,
1112      p_stsv_tbl                     IN  stsv_tbl_type) IS
1113      l_api_name      CONSTANT VARCHAR2(30) := 'lock_status';
1114      i				    NUMBER := 0;
1115      l_return_status                VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1116 
1117   BEGIN
1118      x_return_status := OKC_API.G_RET_STS_SUCCESS;
1119      IF p_stsv_tbl.COUNT > 0 THEN
1120        i := p_stsv_tbl.FIRST;
1121        LOOP
1122        lock_status(
1123                          p_api_version         => p_api_version,
1124                          p_init_msg_list       => p_init_msg_list,
1125                          x_return_status       => l_return_status,
1126                          x_msg_count           => x_msg_count,
1127                          x_msg_data            => x_msg_data,
1128                          p_stsv_rec            => p_stsv_tbl(i));
1129        IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
1130          IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1131            x_return_status := l_return_status;
1132            raise G_EXCEPTION_HALT_VALIDATION;
1133          ELSE
1134            x_return_status := l_return_status;
1135          END IF;
1136        END IF;
1137        EXIT WHEN (i = p_stsv_tbl.LAST);
1138        i := p_stsv_tbl.NEXT(i);
1139        END LOOP;
1140      END IF;
1141    EXCEPTION
1142      WHEN G_EXCEPTION_HALT_VALIDATION THEN
1143        NULL;
1144      WHEN OTHERS THEN
1145        OKC_API.set_message(p_app_name      => g_app_name,
1146                            p_msg_name      => g_unexpected_error,
1147                            p_token1        => g_sqlcode_token,
1148                            p_token1_value  => sqlcode,
1149                            p_token2        => g_sqlerrm_token,
1150                            p_token2_value  => sqlerrm);
1151        x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1152 
1153   END lock_status;
1154 
1155   --------------------------------------
1156   --PROCEDURE validate_status
1157   --------------------------------------
1158   PROCEDURE validate_status(
1159      p_api_version                  IN NUMBER,
1160      p_init_msg_list                IN VARCHAR2 ,
1161      x_return_status                OUT NOCOPY VARCHAR2,
1162      x_msg_count                    OUT NOCOPY NUMBER,
1163      x_msg_data                     OUT NOCOPY VARCHAR2,
1164      p_stsv_rec                     IN stsv_rec_type) IS
1165 
1166   BEGIN
1167      OKC_ASSENT_PVT.validate_status(
1168                          p_api_version,
1169                          p_init_msg_list,
1170                          x_return_status,
1171                          x_msg_count,
1172                          x_msg_data,
1173                          p_stsv_rec);
1174   END validate_status;
1175 
1176   --------------------------------------
1177   --PROCEDURE validate_status
1178   --------------------------------------
1179   PROCEDURE validate_status(
1180      p_api_version                  IN NUMBER,
1181      p_init_msg_list                IN VARCHAR2 ,
1182      x_return_status                OUT NOCOPY VARCHAR2,
1183      x_msg_count                    OUT NOCOPY NUMBER,
1184      x_msg_data                     OUT NOCOPY VARCHAR2,
1185      p_stsv_tbl                     IN  stsv_tbl_type) IS
1186      l_api_name      CONSTANT VARCHAR2(30) := 'validate_status';
1187      i				    NUMBER := 0;
1188      l_return_status                VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1189 
1190   BEGIN
1191      x_return_status := OKC_API.G_RET_STS_SUCCESS;
1192      IF p_stsv_tbl.COUNT > 0 THEN
1193        i := p_stsv_tbl.FIRST;
1194        LOOP
1195        validate_status(
1196                          p_api_version         => p_api_version,
1197                          p_init_msg_list       => p_init_msg_list,
1198                          x_return_status       => l_return_status,
1199                          x_msg_count           => x_msg_count,
1200                          x_msg_data            => x_msg_data,
1201                          p_stsv_rec            => p_stsv_tbl(i));
1202        IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
1203          IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1204            x_return_status := l_return_status;
1205            raise G_EXCEPTION_HALT_VALIDATION;
1206          ELSE
1207            x_return_status := l_return_status;
1208          END IF;
1209        END IF;
1210        EXIT WHEN (i = p_stsv_tbl.LAST);
1211        i := p_stsv_tbl.NEXT(i);
1212        END LOOP;
1213      END IF;
1214    EXCEPTION
1215      WHEN G_EXCEPTION_HALT_VALIDATION THEN
1216        NULL;
1217      WHEN OTHERS THEN
1218        OKC_API.set_message(p_app_name      => g_app_name,
1219                            p_msg_name      => g_unexpected_error,
1220                            p_token1        => g_sqlcode_token,
1221                            p_token1_value  => sqlcode,
1222                            p_token2        => g_sqlerrm_token,
1223                            p_token2_value  => sqlerrm);
1224        x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1225 
1226   END validate_status;
1227 
1228   PROCEDURE get_default_status(
1229     x_return_status                OUT NOCOPY VARCHAR2,
1230     p_status_type                  IN VARCHAR2,
1231     x_status_code                  OUT NOCOPY VARCHAR2) IS
1232   BEGIN
1233      OKC_ASSENT_PVT.get_default_status(
1234                                x_return_status,
1235                                p_status_type,
1236                                x_status_code);
1237   END get_default_status;
1238 
1239   PROCEDURE validate_unique_code(x_return_status OUT NOCOPY VARCHAR2,
1240                                        p_stsv_rec IN stsv_rec_type) IS
1241   BEGIN
1242     OKC_ASSENT_PVT.validate_unique_code(p_stsv_rec, x_return_status);
1243   END  validate_unique_code;
1244 
1245   PROCEDURE validate_unique_meaning(x_return_status OUT NOCOPY VARCHAR2,
1246                                        p_stsv_rec IN stsv_rec_type) IS
1247   BEGIN
1248     OKC_ASSENT_PVT.validate_unique_meaning(p_stsv_rec, x_return_status);
1249   END  validate_unique_meaning;
1250 
1251 
1252 
1253  PROCEDURE validate_unique_code(
1254  x_return_status 	 OUT NOCOPY VARCHAR2,
1255  p_stsv_tbl                     IN  stsv_tbl_type) IS
1256     l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1257     i NUMBER := 0;
1258   BEGIN
1259     OKC_API.init_msg_list(OKC_API.G_FALSE);
1260     x_return_status := OKC_API.G_RET_STS_SUCCESS;
1261     IF p_stsv_tbl.COUNT > 0 THEN
1262       i := p_stsv_tbl.FIRST;
1263       LOOP
1264         validate_unique_code(l_return_status, p_stsv_tbl(i));
1265         IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
1266           IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1267             x_return_status := l_return_status;
1268             raise G_EXCEPTION_HALT_VALIDATION;
1269           ELSE
1270             x_return_status := l_return_status;
1271           END IF;
1272         END IF;
1273         EXIT WHEN (i = p_stsv_tbl.LAST);
1274         i := p_stsv_tbl.NEXT(i);
1275       END LOOP;
1276     END IF;
1277 EXCEPTION
1278     WHEN G_EXCEPTION_HALT_VALIDATION THEN
1279       NULL;
1280     WHEN OTHERS THEN
1281       OKC_API.set_message(p_app_name      => g_app_name,
1282                           p_msg_name      => g_unexpected_error,
1283                           p_token1        => g_sqlcode_token,
1284                           p_token1_value  => sqlcode,
1285                           p_token2        => g_sqlerrm_token,
1286                           p_token2_value  => sqlerrm);
1287       x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1288   END validate_unique_code;
1289 
1290  PROCEDURE validate_unique_meaning(
1291  x_return_status                OUT NOCOPY VARCHAR2,
1292  p_stsv_tbl                     IN  stsv_tbl_type) IS
1293     l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1294     i NUMBER := 0;
1295   BEGIN
1296     OKC_API.init_msg_list(OKC_API.G_FALSE);
1297     x_return_status := OKC_API.G_RET_STS_SUCCESS;
1298     IF p_stsv_tbl.COUNT > 0 THEN
1299       i := p_stsv_tbl.FIRST;
1300       LOOP
1301         validate_unique_meaning(l_return_status, p_stsv_tbl(i));
1302         IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
1303           IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1304             x_return_status := l_return_status;
1305             raise G_EXCEPTION_HALT_VALIDATION;
1306           ELSE
1307             x_return_status := l_return_status;
1308           END IF;
1309         END IF;
1310         EXIT WHEN (i = p_stsv_tbl.LAST);
1311         i := p_stsv_tbl.NEXT(i);
1312       END LOOP;
1313     END IF;
1314 EXCEPTION
1315     WHEN G_EXCEPTION_HALT_VALIDATION THEN
1316       NULL;
1317     WHEN OTHERS THEN
1318       OKC_API.set_message(p_app_name      => g_app_name,
1319                           p_msg_name      => g_unexpected_error,
1320                           p_token1        => g_sqlcode_token,
1321                           p_token1_value  => sqlcode,
1322                           p_token2        => g_sqlerrm_token,
1323                           p_token2_value  => sqlerrm);
1324       x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1325   END validate_unique_meaning;
1326 
1327 
1328 END okc_assent_pub;