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