DBA Data[Home] [Help]

PACKAGE BODY: APPS.OKS_SRVAVLEXC_PUB

Source


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