DBA Data[Home] [Help]

PACKAGE BODY: APPS.OKS_BILLSUBLINE_PRV_PUB

Source


1 Package Body OKS_BILLSubLINE_PRV_PUB AS
2 /* $Header: OKSBSLVB.pls 120.0 2005/05/25 18:32:20 appldev noship $ */
3 
4   PROCEDURE insert_bsl_pr
5   (
6     p_api_version                  IN NUMBER,
7     p_init_msg_list                IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
8     x_return_status                OUT NOCOPY VARCHAR2,
9     x_msg_count                    OUT NOCOPY NUMBER,
10     x_msg_data                     OUT NOCOPY VARCHAR2,
11     p_bsl_pr_rec                     IN bsl_pr_rec_type,
12     x_bsl_pr_rec                     OUT NOCOPY bsl_pr_rec_type
13   )
14 
15   Is
16 
17     l_api_name              CONSTANT VARCHAR2(30) := 'insert_bsl_pr';
18     l_api_version           CONSTANT NUMBER       := 1.0;
19     l_return_status         VARCHAR2(1)  := OKC_API.G_RET_STS_SUCCESS;
20     l_bsl_pr_rec	    bsl_pr_rec_type;
21 
22   Begin
23 
24   l_return_status := OKC_API.START_ACTIVITY
25                      (
26 				l_api_name
27                         ,p_init_msg_list
28                         ,'_PUB'
29                         ,x_return_status
30                      );
31 
32   If l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR Then
33           Raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
34   ElsIf l_return_status = OKC_API.G_RET_STS_ERROR Then
35           Raise OKC_API.G_EXCEPTION_ERROR;
36   End If;
37 
38   g_bsl_pr_rec := p_bsl_pr_rec;
39 
40   OKC_UTIL.call_user_hook
41   (
42 		x_return_status	=> x_return_status,
43   		p_package_name	=> g_pkg_name,
44   		p_procedure_name	=> l_api_name,
45   		p_before_after	=> 'B'
46   );
47 
48   If    (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) Then
49         raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
50   ElsIf (x_return_status = OKC_API.G_RET_STS_ERROR) Then
51        raise OKC_API.G_EXCEPTION_ERROR;
52   End If;
53 
54 --Restore ID/OBJECT VERSION NUMBER
55 
56   l_bsl_pr_rec                        := g_bsl_pr_rec;
57   l_bsl_pr_rec.id	                  := p_bsl_pr_rec.id;
58   l_bsl_pr_rec.object_version_number	:= p_bsl_pr_rec.object_version_number;
59 
60   OKS_BSL_PRINT_PREVIEW_PVT.insert_row
61   (
62     p_api_version                  ,
63     p_init_msg_list                ,
64     x_return_status                ,
65     x_msg_count                    ,
66     x_msg_data                     ,
67     l_bsl_pr_rec                     ,
68     x_bsl_pr_rec
69   );
70 
71   If x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR Then
72   	  raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
73   Elsif x_return_status = OKC_API.G_RET_STS_ERROR Then
74   	  raise OKC_API.G_EXCEPTION_ERROR;
75   End If;
76 
77   g_bsl_pr_rec := x_bsl_pr_rec;
78 
79   OKC_UTIL.call_user_hook
80   (
81 	x_return_status	=> x_return_status,
82   	p_package_name	=> g_pkg_name,
83   	p_procedure_name	=> l_api_name,
84   	p_before_after	=> 'A'
85   );
86 
87   If x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR Then
88   	  raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
89   Elsif x_return_status = OKC_API.G_RET_STS_ERROR Then
90   	  raise OKC_API.G_EXCEPTION_ERROR;
91   End If;
92 
93   OKC_API.END_ACTIVITY
94   (
95 	x_msg_count	=> x_msg_count,
96 	x_msg_data	=> x_msg_data
97   );
98 
99   Exception
100   When OKC_API.G_EXCEPTION_ERROR THEN
101       x_return_status := OKC_API.HANDLE_EXCEPTIONS
102       (
103         l_api_name,
104         G_PKG_NAME,
105         'OKC_API.G_RET_STS_ERROR',
106         x_msg_count,
107         x_msg_data,
108         '_PUB'
109       );
110 
111   When OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
112       x_return_status := OKC_API.HANDLE_EXCEPTIONS
113       (
114         l_api_name,
115         G_PKG_NAME,
116         'OKC_API.G_RET_STS_UNEXP_ERROR',
117         x_msg_count,
118         x_msg_data,
119         '_PUB'
120       );
121 
122   When OTHERS THEN
123       x_return_status := OKC_API.HANDLE_EXCEPTIONS
124       (
125         l_api_name,
126         G_PKG_NAME,
127         'OTHERS',
128         x_msg_count,
129         x_msg_data,
130         '_PUB'
131       );
132 
133   End;
134 
135 
136   PROCEDURE insert_bsl_pr(
137     p_api_version                  IN NUMBER,
138     p_init_msg_list                IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
139     x_return_status                OUT NOCOPY VARCHAR2,
140     x_msg_count                    OUT NOCOPY NUMBER,
141     x_msg_data                     OUT NOCOPY VARCHAR2,
142     p_bsl_pr_tbl                     IN bsl_pr_tbl_type,
143     x_bsl_pr_tbl                     OUT NOCOPY bsl_pr_tbl_type)
144   Is
145     l_api_name              CONSTANT VARCHAR2(30) := 'insert_bsl_pr';
146     l_return_status         VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
147     l_ptr			    BINARY_INTEGER;
148 
149   Begin
150 
151   x_return_status := OKC_API.G_RET_STS_SUCCESS;
152 
153   If p_bsl_pr_tbl.COUNT > 0 Then
154 
155           l_ptr := p_bsl_pr_tbl.FIRST;
156 
157           Loop
158             insert_bsl_pr
159             (
160                         p_api_version
161                        ,p_init_msg_list
162                        ,l_return_status
163                        ,x_msg_count
164                        ,x_msg_data
165                        ,p_bsl_pr_tbl(l_ptr)
166                        ,x_bsl_pr_tbl(l_ptr)
167             );
168 
169             If l_return_status <> OKC_API.G_RET_STS_SUCCESS Then
170                If l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR Then
171                   x_return_status := l_return_status;
172                   Raise G_EXCEPTION_HALT_VALIDATION;
173                Else
174                   x_return_status := l_return_status;
175                End If;
176             End If;
177 
178             Exit When  (l_ptr = p_bsl_pr_tbl.LAST);
179             l_ptr := p_bsl_pr_tbl.NEXT(l_ptr);
180 
181           End Loop;
182 
183   End If;
184 
185   Exception
186   When G_EXCEPTION_HALT_VALIDATION Then
187        Null;
188   When OTHERS Then
189        OKC_API.set_message(p_app_name      => g_app_name,
190                            p_msg_name      => g_unexpected_error,
191                            p_token1        => g_sqlcode_token,
192                            p_token1_value  => sqlcode,
193                            p_token2        => g_sqlerrm_token,
194                            p_token2_value  => sqlerrm
195                           );
196        x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
197   End;
198 
199 
200   PROCEDURE lock_bsl_pr(
201     p_api_version                  IN NUMBER,
202     p_init_msg_list                IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
203     x_return_status                OUT NOCOPY VARCHAR2,
204     x_msg_count                    OUT NOCOPY NUMBER,
205     x_msg_data                     OUT NOCOPY VARCHAR2,
206     p_bsl_pr_rec                     IN bsl_pr_rec_type)
207   Is
208 
209     l_api_name              CONSTANT VARCHAR2(30) := 'insert_bsl_pr';
210     l_api_version           CONSTANT NUMBER       := 1.0;
211     l_return_status                  VARCHAR2(1)  := OKC_API.G_RET_STS_SUCCESS;
212     l_bsl_pr_rec		             bsl_pr_rec_type;
213 
214   Begin
215 
216   l_return_status := OKC_API.START_ACTIVITY
217                      (
218 				l_api_name
219                         ,p_init_msg_list
220                         ,'_PUB'
221                         ,x_return_status
222                      );
223 
224   If l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR Then
225           Raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
226   ElsIf l_return_status = OKC_API.G_RET_STS_ERROR Then
227           Raise OKC_API.G_EXCEPTION_ERROR;
228   End If;
229 
230   OKS_BSL_PRINT_PREVIEW_PVT.lock_row
231   (
232     p_api_version                  ,
233     p_init_msg_list                ,
234     x_return_status                ,
235     x_msg_count                    ,
236     x_msg_data                     ,
237     p_bsl_pr_rec
238   );
239 
240   If x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR Then
241   	  raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
242   Elsif x_return_status = OKC_API.G_RET_STS_ERROR Then
243   	  raise OKC_API.G_EXCEPTION_ERROR;
244   End If;
245 
246   OKC_API.END_ACTIVITY
247   (
248 	x_msg_count	=> x_msg_count,
249 	x_msg_data	=> x_msg_data
250   );
251 
252   Exception
253   When OKC_API.G_EXCEPTION_ERROR THEN
254       x_return_status := OKC_API.HANDLE_EXCEPTIONS
255       (
256         l_api_name,
257         G_PKG_NAME,
258         'OKC_API.G_RET_STS_ERROR',
259         x_msg_count,
260         x_msg_data,
261         '_PVT'
262       );
263 
264   When OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
265       x_return_status := OKC_API.HANDLE_EXCEPTIONS
266       (
267         l_api_name,
268         G_PKG_NAME,
269         'OKC_API.G_RET_STS_UNEXP_ERROR',
270         x_msg_count,
271         x_msg_data,
272         '_PVT'
273       );
274 
275   When OTHERS THEN
276       x_return_status := OKC_API.HANDLE_EXCEPTIONS
277       (
278         l_api_name,
279         G_PKG_NAME,
280         'OTHERS',
281         x_msg_count,
282         x_msg_data,
283         '_PVT'
284       );
285 
286   End;
287 
288 
289   PROCEDURE lock_bsl_pr(
290     p_api_version                  IN NUMBER,
291     p_init_msg_list                IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
292     x_return_status                OUT NOCOPY VARCHAR2,
293     x_msg_count                    OUT NOCOPY NUMBER,
294     x_msg_data                     OUT NOCOPY VARCHAR2,
295     p_bsl_pr_tbl                     IN bsl_pr_tbl_type)
296 
297   Is
298     l_api_name              CONSTANT VARCHAR2(30) := 'insert_bsl_pr';
299     l_return_status         VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
300     l_ptr			    BINARY_INTEGER;
301 
302   Begin
303 
304   x_return_status := OKC_API.G_RET_STS_SUCCESS;
305 
306   If p_bsl_pr_tbl.COUNT > 0 Then
307 
308           l_ptr := p_bsl_pr_tbl.FIRST;
309 
310           Loop
311 
312             lock_bsl_pr
313             (
314                         p_api_version
315                        ,p_init_msg_list
316                        ,l_return_status
317                        ,x_msg_count
318                        ,x_msg_data
319                        ,p_bsl_pr_tbl(l_ptr)
320             );
321 
322             If l_return_status <> OKC_API.G_RET_STS_SUCCESS Then
323                If l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR Then
324                   x_return_status := l_return_status;
325                   Raise G_EXCEPTION_HALT_VALIDATION;
326                Else
327                   x_return_status := l_return_status;
328                End If;
329             End If;
330 
331             Exit When  (l_ptr = p_bsl_pr_tbl.LAST);
332             l_ptr := p_bsl_pr_tbl.NEXT(l_ptr);
333 
334           End Loop;
335 
336   End If;
337 
338   Exception
339   When OKC_API.G_EXCEPTION_ERROR THEN
340       x_return_status := OKC_API.HANDLE_EXCEPTIONS
341       (
342         l_api_name,
343         G_PKG_NAME,
344         'OKC_API.G_RET_STS_ERROR',
345         x_msg_count,
346         x_msg_data,
347         '_PVT'
348       );
349 
350   When OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
351       x_return_status := OKC_API.HANDLE_EXCEPTIONS
352       (
353         l_api_name,
354         G_PKG_NAME,
355         'OKC_API.G_RET_STS_UNEXP_ERROR',
356         x_msg_count,
357         x_msg_data,
358         '_PVT'
359       );
360 
361   When OTHERS THEN
362       x_return_status := OKC_API.HANDLE_EXCEPTIONS
363       (
364         l_api_name,
365         G_PKG_NAME,
366         'OTHERS',
367         x_msg_count,
368         x_msg_data,
369         '_PVT'
370       );
371 
372   End;
373 
374 
375   PROCEDURE update_bsl_pr(
376     p_api_version                  IN NUMBER,
377     p_init_msg_list                IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
378     x_return_status                OUT NOCOPY VARCHAR2,
379     x_msg_count                    OUT NOCOPY NUMBER,
380     x_msg_data                     OUT NOCOPY VARCHAR2,
381     p_bsl_pr_rec                     IN bsl_pr_rec_type,
382     x_bsl_pr_rec                     OUT NOCOPY bsl_pr_rec_type)
383   Is
384 
385     l_api_name              CONSTANT VARCHAR2(30) := 'update_bsl_pr';
386     l_api_version           CONSTANT NUMBER       := 1.0;
387     l_return_status         VARCHAR2(1)  := OKC_API.G_RET_STS_SUCCESS;
388     l_bsl_pr_rec             bsl_pr_rec_type;
389 
390   Begin
391 
392   l_return_status := OKC_API.START_ACTIVITY
393                      (
394 				l_api_name
395                         ,p_init_msg_list
396                         ,'_PUB'
397                         ,x_return_status
398                      );
399 
400   If l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR Then
401           Raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
402   ElsIf l_return_status = OKC_API.G_RET_STS_ERROR Then
403           Raise OKC_API.G_EXCEPTION_ERROR;
404   End If;
405 
406   g_bsl_pr_rec := p_bsl_pr_rec;
407 
408   OKC_UTIL.call_user_hook
409   (
410 		x_return_status	=> x_return_status,
411   		p_package_name	=> g_pkg_name,
412   		p_procedure_name	=> l_api_name,
413   		p_before_after	=> 'B'
414   );
415 
416   If    (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) Then
417         raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
418   ElsIf (x_return_status = OKC_API.G_RET_STS_ERROR) Then
419        raise OKC_API.G_EXCEPTION_ERROR;
420   End If;
421 
422 --Restore ID/OBJECT VERSION NUMBER
423 
424   l_bsl_pr_rec                        := g_bsl_pr_rec;
425   l_bsl_pr_rec.id	                  := p_bsl_pr_rec.id;
426   l_bsl_pr_rec.object_version_number	:= p_bsl_pr_rec.object_version_number;
427 
428   OKS_BSL_PRINT_PREVIEW_PVT.update_row
429   (
430     p_api_version                  ,
431     p_init_msg_list                ,
432     x_return_status                ,
433     x_msg_count                    ,
434     x_msg_data                     ,
435     l_bsl_pr_rec                     ,
436     x_bsl_pr_rec
437   );
438 
439   If x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR Then
440   	  raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
441   Elsif x_return_status = OKC_API.G_RET_STS_ERROR Then
442   	  raise OKC_API.G_EXCEPTION_ERROR;
443   End If;
444 
445   g_bsl_pr_rec := x_bsl_pr_rec;
446 
447   OKC_UTIL.call_user_hook
448   (
449 	x_return_status	=> x_return_status,
450   	p_package_name	=> g_pkg_name,
451   	p_procedure_name	=> l_api_name,
452   	p_before_after	=> 'A'
453   );
454 
455   If x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR Then
456   	  raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
457   Elsif x_return_status = OKC_API.G_RET_STS_ERROR Then
458   	  raise OKC_API.G_EXCEPTION_ERROR;
459   End If;
460 
461   OKC_API.END_ACTIVITY
462   (
463 	x_msg_count	=> x_msg_count,
464 	x_msg_data	=> x_msg_data
465   );
466 
467   Exception
468   When OKC_API.G_EXCEPTION_ERROR THEN
469       x_return_status := OKC_API.HANDLE_EXCEPTIONS
470       (
471         l_api_name,
472         G_PKG_NAME,
473         'OKC_API.G_RET_STS_ERROR',
474         x_msg_count,
475         x_msg_data,
476         '_PVT'
477       );
478 
479   When OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
480       x_return_status := OKC_API.HANDLE_EXCEPTIONS
481       (
482         l_api_name,
483         G_PKG_NAME,
484         'OKC_API.G_RET_STS_UNEXP_ERROR',
485         x_msg_count,
486         x_msg_data,
487         '_PVT'
488       );
489 
490   When OTHERS THEN
491       x_return_status := OKC_API.HANDLE_EXCEPTIONS
492       (
493         l_api_name,
494         G_PKG_NAME,
495         'OTHERS',
496         x_msg_count,
497         x_msg_data,
498         '_PVT'
499       );
500 
501   End;
502 
503 
504   PROCEDURE update_bsl_pr(
505     p_api_version                  IN NUMBER,
506     p_init_msg_list                IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
507     x_return_status                OUT NOCOPY VARCHAR2,
508     x_msg_count                    OUT NOCOPY NUMBER,
509     x_msg_data                     OUT NOCOPY VARCHAR2,
510     p_bsl_pr_tbl                     IN bsl_pr_tbl_type,
511     x_bsl_pr_tbl                     OUT NOCOPY bsl_pr_tbl_type)
512   Is
513     l_api_name              CONSTANT VARCHAR2(30) := 'update_bsl_pr';
514     l_return_status         VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
515     l_ptr			    BINARY_INTEGER;
516 
517   Begin
518 
519   x_return_status := OKC_API.G_RET_STS_SUCCESS;
520 
521   If p_bsl_pr_tbl.COUNT > 0 Then
522 
523           l_ptr := p_bsl_pr_tbl.FIRST;
524 
525           Loop
526             update_bsl_pr
527             (
528                         p_api_version
529                        ,p_init_msg_list
530                        ,l_return_status
531                        ,x_msg_count
532                        ,x_msg_data
533                        ,p_bsl_pr_tbl(l_ptr)
534                        ,x_bsl_pr_tbl(l_ptr)
535             );
536 
537             If l_return_status <> OKC_API.G_RET_STS_SUCCESS Then
538                If l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR Then
539                   x_return_status := l_return_status;
540                   Raise G_EXCEPTION_HALT_VALIDATION;
541                Else
542                   x_return_status := l_return_status;
543                End If;
544             End If;
545 
546             Exit When  (l_ptr = p_bsl_pr_tbl.LAST);
547             l_ptr := p_bsl_pr_tbl.NEXT(l_ptr);
548 
549           End Loop;
550 
551   End If;
552 
553   Exception
554   When OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
555       x_return_status := OKC_API.HANDLE_EXCEPTIONS
556       (
557         l_api_name,
558         G_PKG_NAME,
559         'OKC_API.G_RET_STS_UNEXP_ERROR',
560         x_msg_count,
561         x_msg_data,
562         '_PVT'
563       );
564 
565   When OTHERS THEN
566       x_return_status := OKC_API.HANDLE_EXCEPTIONS
567       (
568         l_api_name,
569         G_PKG_NAME,
570         'OTHERS',
571         x_msg_count,
572         x_msg_data,
573         '_PVT'
574       );
575 
576   End;
577 
578 
579   PROCEDURE delete_bsl_pr(
580     p_api_version                  IN NUMBER,
581     p_init_msg_list                IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
582     x_return_status                OUT NOCOPY VARCHAR2,
583     x_msg_count                    OUT NOCOPY NUMBER,
584     x_msg_data                     OUT NOCOPY VARCHAR2,
585     p_bsl_pr_rec                     IN bsl_pr_rec_type)
586   Is
587 
588     l_api_name              CONSTANT VARCHAR2(30) := 'update_bsl_pr';
589     l_api_version           CONSTANT NUMBER       := 1.0;
590     l_return_status         VARCHAR2(1)  := OKC_API.G_RET_STS_SUCCESS;
591     l_bsl_pr_rec            bsl_pr_rec_type;
592 
593   Begin
594 
595   l_return_status := OKC_API.START_ACTIVITY
596                      (
597 				l_api_name
598                         ,p_init_msg_list
599                         ,'_PUB'
600                         ,x_return_status
601                      );
602 
603   If l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR Then
604           Raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
605   ElsIf l_return_status = OKC_API.G_RET_STS_ERROR Then
606           Raise OKC_API.G_EXCEPTION_ERROR;
607   End If;
608 
609   g_bsl_pr_rec := p_bsl_pr_rec;
610 
611   OKC_UTIL.call_user_hook
612   (
613 		x_return_status	=> x_return_status,
614   		p_package_name	=> g_pkg_name,
615   		p_procedure_name	=> l_api_name,
616   		p_before_after	=> 'B'
617   );
618 
619   If    (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) Then
620         raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
621   ElsIf (x_return_status = OKC_API.G_RET_STS_ERROR) Then
622        raise OKC_API.G_EXCEPTION_ERROR;
623   End If;
624 
625 --Restore ID/OBJECT VERSION NUMBER
626 
627   l_bsl_pr_rec                        := g_bsl_pr_rec;
628   l_bsl_pr_rec.id	                  := p_bsl_pr_rec.id;
629   l_bsl_pr_rec.object_version_number	:= p_bsl_pr_rec.object_version_number;
630 
631   OKS_BSL_PRINT_PREVIEW_PVT.delete_row
632   (
633     p_api_version                  ,
634     p_init_msg_list                ,
635     x_return_status                ,
636     x_msg_count                    ,
637     x_msg_data                     ,
638     l_bsl_pr_rec
639   );
640 
641   If x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR Then
642   	  raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
643   Elsif x_return_status = OKC_API.G_RET_STS_ERROR Then
644   	  raise OKC_API.G_EXCEPTION_ERROR;
645   End If;
646 
647   OKC_UTIL.call_user_hook
648   (
649 	x_return_status	=> x_return_status,
650   	p_package_name	=> g_pkg_name,
651   	p_procedure_name	=> l_api_name,
652   	p_before_after	=> 'A'
653   );
654 
655   If x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR Then
656   	  raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
657   Elsif x_return_status = OKC_API.G_RET_STS_ERROR Then
658   	  raise OKC_API.G_EXCEPTION_ERROR;
659   End If;
660 
661   OKC_API.END_ACTIVITY
662   (
663 	x_msg_count	=> x_msg_count,
664 	x_msg_data	=> x_msg_data
665   );
666 
667   Exception
668   When OKC_API.G_EXCEPTION_ERROR THEN
669       x_return_status := OKC_API.HANDLE_EXCEPTIONS
670       (
671         l_api_name,
672         G_PKG_NAME,
673         'OKC_API.G_RET_STS_ERROR',
674         x_msg_count,
675         x_msg_data,
676         '_PVT'
677       );
678 
679   When OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
680       x_return_status := OKC_API.HANDLE_EXCEPTIONS
681       (
682         l_api_name,
683         G_PKG_NAME,
684         'OKC_API.G_RET_STS_UNEXP_ERROR',
685         x_msg_count,
686         x_msg_data,
687         '_PVT'
688       );
689 
690   When OTHERS THEN
691       x_return_status := OKC_API.HANDLE_EXCEPTIONS
692       (
693         l_api_name,
694         G_PKG_NAME,
695         'OTHERS',
696         x_msg_count,
697         x_msg_data,
698         '_PVT'
699       );
700 
701   End;
702 
703 
704   PROCEDURE delete_bsl_pr(
705     p_api_version                  IN NUMBER,
706     p_init_msg_list                IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
707     x_return_status                OUT NOCOPY VARCHAR2,
708     x_msg_count                    OUT NOCOPY NUMBER,
709     x_msg_data                     OUT NOCOPY VARCHAR2,
710     p_bsl_pr_tbl                     IN bsl_pr_tbl_type)
711   Is
712     l_api_name              CONSTANT VARCHAR2(30) := 'update_bsl_pr';
713     l_return_status         VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
714     l_ptr			    BINARY_INTEGER;
715 
716   Begin
717 
718   x_return_status := OKC_API.G_RET_STS_SUCCESS;
719 
720   If p_bsl_pr_tbl.COUNT > 0 Then
721 
722           l_ptr := p_bsl_pr_tbl.FIRST;
723 
724           Loop
725             delete_bsl_pr            (
726                         p_api_version
727                        ,p_init_msg_list
728                        ,l_return_status
729                        ,x_msg_count
730                        ,x_msg_data
731                        ,p_bsl_pr_tbl(l_ptr)
732             );
733 
734             If l_return_status <> OKC_API.G_RET_STS_SUCCESS Then
735                If l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR Then
736                   x_return_status := l_return_status;
737                   Raise G_EXCEPTION_HALT_VALIDATION;
738                Else
739                   x_return_status := l_return_status;
740                End If;
741             End If;
742 
743             Exit When  (l_ptr = p_bsl_pr_tbl.LAST);
744             l_ptr := p_bsl_pr_tbl.NEXT(l_ptr);
745 
746           End Loop;
747 
748   End If;
749 
750   Exception
751   When OKC_API.G_EXCEPTION_ERROR THEN
752       x_return_status := OKC_API.HANDLE_EXCEPTIONS
753       (
754         l_api_name,
755         G_PKG_NAME,
756         'OKC_API.G_RET_STS_ERROR',
757         x_msg_count,
758         x_msg_data,
759         '_PVT'
760       );
761 
762   When OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
763       x_return_status := OKC_API.HANDLE_EXCEPTIONS
764       (
765         l_api_name,
766         G_PKG_NAME,
767         'OKC_API.G_RET_STS_UNEXP_ERROR',
768         x_msg_count,
769         x_msg_data,
770         '_PVT'
771       );
772 
773   When OTHERS THEN
774       x_return_status := OKC_API.HANDLE_EXCEPTIONS
775       (
776         l_api_name,
777         G_PKG_NAME,
778         'OTHERS',
779         x_msg_count,
780         x_msg_data,
781         '_PVT'
782       );
783 
784   End;
785 
786 
787   PROCEDURE validate_bsl_pr(
788     p_api_version                  IN NUMBER,
789     p_init_msg_list                IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
790     x_return_status                OUT NOCOPY VARCHAR2,
791     x_msg_count                    OUT NOCOPY NUMBER,
792     x_msg_data                     OUT NOCOPY VARCHAR2,
793     p_bsl_pr_rec                     IN bsl_pr_rec_type)
794    Is
795 
796     l_api_name              CONSTANT VARCHAR2(30) := 'update_bsl_pr';
797     l_api_version           CONSTANT NUMBER       := 1.0;
798     l_return_status         VARCHAR2(1)  := OKC_API.G_RET_STS_SUCCESS;
799     l_bsl_pr_rec            bsl_pr_rec_type;
800 
801   Begin
802 
803   l_return_status := OKC_API.START_ACTIVITY
804                      (
805 				l_api_name
806                         ,p_init_msg_list
807                         ,'_PUB'
808                         ,x_return_status
809                      );
810 
811   If l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR Then
812           Raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
813   ElsIf l_return_status = OKC_API.G_RET_STS_ERROR Then
814           Raise OKC_API.G_EXCEPTION_ERROR;
815   End If;
816 
817   g_bsl_pr_rec := p_bsl_pr_rec;
818 
819   OKC_UTIL.call_user_hook
820   (
821 		x_return_status	=> x_return_status,
822   		p_package_name	=> g_pkg_name,
823   		p_procedure_name	=> l_api_name,
824   		p_before_after	=> 'B'
825   );
826 
827   If    (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) Then
828         raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
829   ElsIf (x_return_status = OKC_API.G_RET_STS_ERROR) Then
830        raise OKC_API.G_EXCEPTION_ERROR;
831   End If;
832 
833 --Restore ID/OBJECT VERSION NUMBER
834 
835   l_bsl_pr_rec                        := g_bsl_pr_rec;
836   l_bsl_pr_rec.id	                  := p_bsl_pr_rec.id;
837   l_bsl_pr_rec.object_version_number	:= p_bsl_pr_rec.object_version_number;
838 
839   OKS_BSL_PRINT_PREVIEW_PVT.validate_row
840   (
841     p_api_version                  ,
842     p_init_msg_list                ,
843     x_return_status                ,
844     x_msg_count                    ,
845     x_msg_data                     ,
846     l_bsl_pr_rec
847   );
848 
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   OKC_UTIL.call_user_hook
856   (
857 	x_return_status	=> x_return_status,
858   	p_package_name	=> g_pkg_name,
859   	p_procedure_name	=> l_api_name,
860   	p_before_after	=> 'A'
861   );
862 
863   If x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR Then
864   	  raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
865   Elsif x_return_status = OKC_API.G_RET_STS_ERROR Then
866   	  raise OKC_API.G_EXCEPTION_ERROR;
867   End If;
868 
869   OKC_API.END_ACTIVITY
870   (
871 	x_msg_count	=> x_msg_count,
872 	x_msg_data	=> x_msg_data
873   );
874 
875 
876   Exception
877   When OKC_API.G_EXCEPTION_ERROR THEN
878       x_return_status := OKC_API.HANDLE_EXCEPTIONS
879       (
880         l_api_name,
881         G_PKG_NAME,
882         'OKC_API.G_RET_STS_ERROR',
883         x_msg_count,
884         x_msg_data,
885         '_PVT'
886       );
887 
888   When OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
889       x_return_status := OKC_API.HANDLE_EXCEPTIONS
890       (
891         l_api_name,
892         G_PKG_NAME,
893         'OKC_API.G_RET_STS_UNEXP_ERROR',
894         x_msg_count,
895         x_msg_data,
896         '_PVT'
897       );
898 
899   When OTHERS THEN
900       x_return_status := OKC_API.HANDLE_EXCEPTIONS
901       (
902         l_api_name,
903         G_PKG_NAME,
904         'OTHERS',
905         x_msg_count,
906         x_msg_data,
907         '_PVT'
908       );
909 
910   End;
911 
912 
913   PROCEDURE validate_bsl_pr(
914     p_api_version                  IN NUMBER,
915     p_init_msg_list                IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
916     x_return_status                OUT NOCOPY VARCHAR2,
917     x_msg_count                    OUT NOCOPY NUMBER,
918     x_msg_data                     OUT NOCOPY VARCHAR2,
919     p_bsl_pr_tbl                     IN bsl_pr_tbl_type)
920 
921   Is
922     l_api_name              CONSTANT VARCHAR2(30) := 'update_bsl_pr';
923     l_return_status         VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
924     l_ptr			    BINARY_INTEGER;
925 
926   Begin
927 
928   x_return_status := OKC_API.G_RET_STS_SUCCESS;
929 
930   If p_bsl_pr_tbl.COUNT > 0 Then
931 
932           l_ptr := p_bsl_pr_tbl.FIRST;
933 
934           Loop
935             validate_bsl_pr            (
936                         p_api_version
937                        ,p_init_msg_list
938                        ,l_return_status
939                        ,x_msg_count
940                        ,x_msg_data
941                        ,p_bsl_pr_tbl(l_ptr)
942             );
943 
944             If l_return_status <> OKC_API.G_RET_STS_SUCCESS Then
945                If l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR Then
946                   x_return_status := l_return_status;
947                   Raise G_EXCEPTION_HALT_VALIDATION;
948                Else
949                   x_return_status := l_return_status;
950                End If;
951             End If;
952 
953             Exit When  (l_ptr = p_bsl_pr_tbl.LAST);
954             l_ptr := p_bsl_pr_tbl.NEXT(l_ptr);
955 
956           End Loop;
957 
958   End If;
959 
960   Exception
961   When OKC_API.G_EXCEPTION_ERROR THEN
962       x_return_status := OKC_API.HANDLE_EXCEPTIONS
963       (
964         l_api_name,
965         G_PKG_NAME,
966         'OKC_API.G_RET_STS_ERROR',
967         x_msg_count,
968         x_msg_data,
969         '_PVT'
970       );
971 
972   When OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
973       x_return_status := OKC_API.HANDLE_EXCEPTIONS
974       (
975         l_api_name,
976         G_PKG_NAME,
977         'OKC_API.G_RET_STS_UNEXP_ERROR',
978         x_msg_count,
979         x_msg_data,
980         '_PVT'
981       );
982 
983   When OTHERS THEN
984       x_return_status := OKC_API.HANDLE_EXCEPTIONS
985       (
986         l_api_name,
987         G_PKG_NAME,
988         'OTHERS',
989         x_msg_count,
990         x_msg_data,
991         '_PVT'
992       );
993 
994   End;
995 
996 END OKS_BILLSubLINE_PRV_PUB;