DBA Data[Home] [Help]

PACKAGE BODY: APPS.OKS_BCL_PRINT_PREVIEW_PUB

Source


1 Package Body OKS_BCL_PRINT_PREVIEW_PUB AS
2 /* $Header: OKSBCLVB.pls 120.0 2005/05/25 18:30:55 appldev noship $ */
3 
4   PROCEDURE insert_bcl_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_bcl_pr_rec                   IN bcl_pr_rec_type,
12     x_bcl_pr_rec                   OUT NOCOPY bcl_pr_rec_type
13   )
14 
15   Is
16 
17     l_api_name              CONSTANT VARCHAR2(30) := 'insert_bcl_pr';
18     l_api_version           CONSTANT NUMBER       := 1.0;
19     l_return_status         VARCHAR2(1)  := OKC_API.G_RET_STS_SUCCESS;
20     l_bcl_pr_rec            bcl_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_bcl_pr_rec := p_bcl_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_bcl_pr_rec                        := g_bcl_pr_rec;
57   l_bcl_pr_rec.id	                  := p_bcl_pr_rec.id;
58   l_bcl_pr_rec.object_version_number	:= p_bcl_pr_rec.object_version_number;
59 
60   OKS_BCL_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_bcl_pr_rec                     ,
68     x_bcl_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_bcl_pr_rec := x_bcl_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_bcl_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_bcl_pr_tbl                     IN bcl_pr_tbl_type,
143     x_bcl_pr_tbl                     OUT NOCOPY bcl_pr_tbl_type)
144   Is
145     l_api_name              CONSTANT VARCHAR2(30) := 'insert_bcl_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_bcl_pr_tbl.COUNT > 0 Then
154 
155           l_ptr := p_bcl_pr_tbl.FIRST;
156 
157           Loop
158             insert_bcl_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_bcl_pr_tbl(l_ptr)
166                        ,x_bcl_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_bcl_pr_tbl.LAST);
179             l_ptr := p_bcl_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_bcl_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_bcl_pr_rec                     IN bcl_pr_rec_type)
207   Is
208 
209     l_api_name              CONSTANT VARCHAR2(30) := 'lock_bcl_pr';
210     l_api_version           CONSTANT NUMBER       := 1.0;
211     l_return_status                  VARCHAR2(1)  := OKC_API.G_RET_STS_SUCCESS;
212     l_bcl_pr_rec		             bcl_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_BCL_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_bcl_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_bcl_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_bcl_pr_tbl                     IN bcl_pr_tbl_type)
296 
297   Is
298     l_api_name              CONSTANT VARCHAR2(30) := 'lock_bcl_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_bcl_pr_tbl.COUNT > 0 Then
307 
308           l_ptr := p_bcl_pr_tbl.FIRST;
309 
310           Loop
311 
312             lock_bcl_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_bcl_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_bcl_pr_tbl.LAST);
332             l_ptr := p_bcl_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_bcl_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_bcl_pr_rec                     IN bcl_pr_rec_type,
382     x_bcl_pr_rec                     OUT NOCOPY bcl_pr_rec_type)
383   Is
384 
385     l_api_name              CONSTANT VARCHAR2(30) := 'update_bcl_pr';
386     l_api_version           CONSTANT NUMBER       := 1.0;
387     l_return_status                  VARCHAR2(1)  := OKC_API.G_RET_STS_SUCCESS;
388     l_bcl_pr_rec		             bcl_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_bcl_pr_rec := p_bcl_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_bcl_pr_rec                        := g_bcl_pr_rec;
425   l_bcl_pr_rec.id	                  := p_bcl_pr_rec.id;
426   l_bcl_pr_rec.object_version_number	:= p_bcl_pr_rec.object_version_number;
427 
428   OKS_BCL_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_bcl_pr_rec                     ,
436     x_bcl_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_bcl_pr_rec := x_bcl_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_bcl_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_bcl_pr_tbl                     IN bcl_pr_tbl_type,
511     x_bcl_pr_tbl                     OUT NOCOPY bcl_pr_tbl_type)
512   Is
513     l_api_name              CONSTANT VARCHAR2(30) := 'update_bcl_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_bcl_pr_tbl.COUNT > 0 Then
522 
523           l_ptr := p_bcl_pr_tbl.FIRST;
524 
525           Loop
526             update_bcl_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_bcl_pr_tbl(l_ptr)
534                        ,x_bcl_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_bcl_pr_tbl.LAST);
547             l_ptr := p_bcl_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_bcl_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_bcl_pr_rec                     IN bcl_pr_rec_type)
586   Is
587 
588     l_api_name              CONSTANT VARCHAR2(30) := 'update_bill_cont_line';
589     l_api_version           CONSTANT NUMBER       := 1.0;
590     l_return_status         VARCHAR2(1)  := OKC_API.G_RET_STS_SUCCESS;
591     l_bcl_pr_rec            bcl_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_bcl_pr_rec := p_bcl_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_bcl_pr_rec                        := g_bcl_pr_rec;
628   l_bcl_pr_rec.id	                  := p_bcl_pr_rec.id;
629   l_bcl_pr_rec.object_version_number	:= p_bcl_pr_rec.object_version_number;
630 
631   OKS_BCL_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_bcl_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_bcl_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_bcl_pr_tbl                     IN bcl_pr_tbl_type)
711   Is
712     l_api_name              CONSTANT VARCHAR2(30) := 'delete_bcl_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_bcl_pr_tbl.COUNT > 0 Then
721           l_ptr := p_bcl_pr_tbl.FIRST;
722 
723           Loop
724             delete_bcl_pr            (
725                         p_api_version
726                        ,p_init_msg_list
727                        ,l_return_status
728                        ,x_msg_count
729                        ,x_msg_data
730                        ,p_bcl_pr_tbl(l_ptr)
731             );
732 
733             If l_return_status <> OKC_API.G_RET_STS_SUCCESS Then
734                If l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR Then
735                   x_return_status := l_return_status;
736                   Raise G_EXCEPTION_HALT_VALIDATION;
737                Else
738                   x_return_status := l_return_status;
739                End If;
740             End If;
741 
742             Exit When  (l_ptr = p_bcl_pr_tbl.LAST);
743             l_ptr := p_bcl_pr_tbl.NEXT(l_ptr);
744 
745           End Loop;
746 
747   End If;
748 
749   Exception
750   When OKC_API.G_EXCEPTION_ERROR THEN
751       x_return_status := OKC_API.HANDLE_EXCEPTIONS
752       (
753         l_api_name,
754         G_PKG_NAME,
755         'OKC_API.G_RET_STS_ERROR',
756         x_msg_count,
757         x_msg_data,
758         '_PVT'
759       );
760 
761   When OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
762       x_return_status := OKC_API.HANDLE_EXCEPTIONS
763       (
764         l_api_name,
765         G_PKG_NAME,
766         'OKC_API.G_RET_STS_UNEXP_ERROR',
767         x_msg_count,
768         x_msg_data,
769         '_PVT'
770       );
771 
772   When OTHERS THEN
773       x_return_status := OKC_API.HANDLE_EXCEPTIONS
774       (
775         l_api_name,
776         G_PKG_NAME,
777         'OTHERS',
778         x_msg_count,
779         x_msg_data,
780         '_PVT'
781       );
782 
783   End;
784 
785 
786   PROCEDURE validate_bcl_pr(
787     p_api_version                  IN NUMBER,
788     p_init_msg_list                IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
789     x_return_status                OUT NOCOPY VARCHAR2,
790     x_msg_count                    OUT NOCOPY NUMBER,
791     x_msg_data                     OUT NOCOPY VARCHAR2,
792     p_bcl_pr_rec                     IN bcl_pr_rec_type)
793    Is
794 
795     l_api_name              CONSTANT VARCHAR2(30) := 'validate_bcl_pr';
796     l_api_version           CONSTANT NUMBER       := 1.0;
797     l_return_status                  VARCHAR2(1)  := OKC_API.G_RET_STS_SUCCESS;
798     l_bcl_pr_rec		             bcl_pr_rec_type;
799 
800   Begin
801 
802   l_return_status := OKC_API.START_ACTIVITY
803                      (
804 				l_api_name
805                         ,p_init_msg_list
806                         ,'_PUB'
807                         ,x_return_status
808                      );
809 
810   If l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR Then
811           Raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
812   ElsIf l_return_status = OKC_API.G_RET_STS_ERROR Then
813           Raise OKC_API.G_EXCEPTION_ERROR;
814   End If;
815 
816   g_bcl_pr_rec := p_bcl_pr_rec;
817 
818   OKC_UTIL.call_user_hook
819   (
820 		x_return_status	=> x_return_status,
821   		p_package_name	=> g_pkg_name,
822   		p_procedure_name	=> l_api_name,
823   		p_before_after	=> 'B'
824   );
825 
826   If    (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) Then
827         raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
828   ElsIf (x_return_status = OKC_API.G_RET_STS_ERROR) Then
829        raise OKC_API.G_EXCEPTION_ERROR;
830   End If;
831 
832 --Restore ID/OBJECT VERSION NUMBER
833 
834   l_bcl_pr_rec                        := g_bcl_pr_rec;
835   l_bcl_pr_rec.id	                  := p_bcl_pr_rec.id;
836   l_bcl_pr_rec.object_version_number	:= p_bcl_pr_rec.object_version_number;
837 
838    OKS_BCL_PRINT_PREVIEW_PVT.validate_row
839   (
840     p_api_version                  ,
841     p_init_msg_list                ,
842     x_return_status                ,
843     x_msg_count                    ,
844     x_msg_data                     ,
845     l_bcl_pr_rec
846   );
847 
848   If x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR Then
849   	  raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
850   Elsif x_return_status = OKC_API.G_RET_STS_ERROR Then
851   	  raise OKC_API.G_EXCEPTION_ERROR;
852   End If;
853 
854   OKC_UTIL.call_user_hook
855   (
856 	x_return_status	=> x_return_status,
857   	p_package_name	=> g_pkg_name,
858   	p_procedure_name	=> l_api_name,
859   	p_before_after	=> 'A'
860   );
861 
862   If x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR Then
863   	  raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
864   Elsif x_return_status = OKC_API.G_RET_STS_ERROR Then
865   	  raise OKC_API.G_EXCEPTION_ERROR;
866   End If;
867 
868   OKC_API.END_ACTIVITY
869   (
870 	x_msg_count	=> x_msg_count,
871 	x_msg_data	=> x_msg_data
872   );
873 
874 
875   Exception
876   When OKC_API.G_EXCEPTION_ERROR THEN
877       x_return_status := OKC_API.HANDLE_EXCEPTIONS
878       (
879         l_api_name,
880         G_PKG_NAME,
881         'OKC_API.G_RET_STS_ERROR',
882         x_msg_count,
883         x_msg_data,
884         '_PVT'
885       );
886 
887   When OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
888       x_return_status := OKC_API.HANDLE_EXCEPTIONS
889       (
890         l_api_name,
891         G_PKG_NAME,
892         'OKC_API.G_RET_STS_UNEXP_ERROR',
893         x_msg_count,
894         x_msg_data,
895         '_PVT'
896       );
897 
898   When OTHERS THEN
899       x_return_status := OKC_API.HANDLE_EXCEPTIONS
900       (
901         l_api_name,
902         G_PKG_NAME,
903         'OTHERS',
904         x_msg_count,
905         x_msg_data,
906         '_PVT'
907       );
908 
909   End;
910 
911 
912   PROCEDURE validate_bcl_pr(
913     p_api_version                  IN NUMBER,
914     p_init_msg_list                IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
915     x_return_status                OUT NOCOPY VARCHAR2,
916     x_msg_count                    OUT NOCOPY NUMBER,
917     x_msg_data                     OUT NOCOPY VARCHAR2,
918     p_bcl_pr_tbl                     IN bcl_pr_tbl_type)
919 
920   Is
921     l_api_name              CONSTANT VARCHAR2(30) := 'validate_bcl_pr';
922     l_return_status         VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
923     l_ptr			    BINARY_INTEGER;
924 
925   Begin
926 
927   x_return_status := OKC_API.G_RET_STS_SUCCESS;
928 
929   If p_bcl_pr_tbl.COUNT > 0 Then
930 
931           l_ptr := p_bcl_pr_tbl.FIRST;
932 
933           Loop
934             validate_bcl_pr            (
935                         p_api_version
936                        ,p_init_msg_list
937                        ,l_return_status
938                        ,x_msg_count
939                        ,x_msg_data
940                        ,p_bcl_pr_tbl(l_ptr)
941             );
942 
943             If l_return_status <> OKC_API.G_RET_STS_SUCCESS Then
944                If l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR Then
945                   x_return_status := l_return_status;
946                   Raise G_EXCEPTION_HALT_VALIDATION;
947                Else
948                   x_return_status := l_return_status;
949                End If;
950             End If;
951 
952             Exit When  (l_ptr = p_bcl_pr_tbl.LAST);
953             l_ptr := p_bcl_pr_tbl.NEXT(l_ptr);
954 
955           End Loop;
956 
957   End If;
958 
959   Exception
960   When OKC_API.G_EXCEPTION_ERROR THEN
961       x_return_status := OKC_API.HANDLE_EXCEPTIONS
962       (
963         l_api_name,
964         G_PKG_NAME,
965         'OKC_API.G_RET_STS_ERROR',
966         x_msg_count,
967         x_msg_data,
968         '_PVT'
969       );
970 
971   When OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
972       x_return_status := OKC_API.HANDLE_EXCEPTIONS
973       (
974         l_api_name,
975         G_PKG_NAME,
976         'OKC_API.G_RET_STS_UNEXP_ERROR',
977         x_msg_count,
978         x_msg_data,
979         '_PVT'
980       );
981 
982   When OTHERS THEN
983       x_return_status := OKC_API.HANDLE_EXCEPTIONS
984       (
985         l_api_name,
986         G_PKG_NAME,
987         'OTHERS',
988         x_msg_count,
989         x_msg_data,
990         '_PVT'
991       );
992 
993   End;
994 
995 END OKS_BCL_PRINT_PREVIEW_PUB;