[Home] [Help]
PACKAGE BODY: APPS.AME_APPROVER_GROUP_SWI
Source
1 Package Body ame_approver_group_swi As
2 /* $Header: amapgswi.pkb 120.0 2005/09/02 03:50 mbocutt noship $ */
3 --
4 -- Package variables
5 --
6 g_package varchar2(33) := 'ame_approver_group_swi.';
7 --
8 -- ----------------------------------------------------------------------------
9 -- |-----------------------< create_ame_approver_group >----------------------|
10 -- ----------------------------------------------------------------------------
11 PROCEDURE create_ame_approver_group
12 (p_validate in number default hr_api.g_false_num
13 ,p_name in varchar2
14 ,p_description in varchar2
15 ,p_is_static in varchar2
16 ,p_query_string in varchar2 default null
17 ,p_approval_group_id in number
18 ,p_start_date out nocopy date
19 ,p_end_date out nocopy date
20 ,p_object_version_number out nocopy number
21 ,p_return_status out nocopy varchar2
22 ) is
23 --
24 -- Variables for API Boolean parameters
25 l_validate boolean;
26 --
27 -- Variables for IN/OUT parameters
28 --
29 -- Other variables
30 l_approval_group_id number;
31 l_proc varchar2(72) := g_package ||'create_ame_approver_group';
32 Begin
33 hr_utility.set_location(' Entering:' || l_proc,10);
34 --
35 -- Issue a savepoint
36 --
37 savepoint create_ame_approver_group_s;
38 --
39 -- Initialise Multiple Message Detection
40 --
41 hr_multi_message.enable_message_list;
42 --
43 -- Remember IN OUT parameter IN values
44 --
45 --
46 -- Convert constant values to their corresponding boolean value
47 --
48 l_validate :=
49 hr_api.constant_to_boolean
50 (p_constant_value => p_validate);
51 --
52 -- Register Surrogate ID or user key values
53 --
54 ame_apg_ins.set_base_key_value
55 (p_approval_group_id => p_approval_group_id
56 );
57 --
58 -- Call API
59 --
60 ame_approver_group_api.create_ame_approver_group
61 (p_validate => l_validate
62 ,p_name => p_name
63 ,p_description => p_description
64 ,p_is_static => p_is_static
65 ,p_query_string => p_query_string
66 ,p_approval_group_id => l_approval_group_id
67 ,p_start_date => p_start_date
68 ,p_end_date => p_end_date
69 ,p_object_version_number => p_object_version_number
70 );
71 --
72 -- Convert API warning boolean parameter values to specific
73 -- messages and add them to Multiple Message List
74 --
75 --
76 -- Convert API non-warning boolean parameter values
77 --
78 --
79 -- Derive the API return status value based on whether
80 -- messages of any type exist in the Multiple Message List.
81 -- Also disable Multiple Message Detection.
82 --
83 p_return_status := hr_multi_message.get_return_status_disable;
84 hr_utility.set_location(' Leaving:' || l_proc,20);
85 --
86 exception
87 when hr_multi_message.error_message_exist then
88 --
89 -- Catch the Multiple Message List exception which
90 -- indicates API processing has been aborted because
91 -- at least one message exists in the list.
92 --
93 rollback to create_ame_approver_group_s;
94 --
95 -- Reset IN OUT parameters and set OUT parameters
96 --
97 p_start_date := null;
98 p_end_date := null;
99 p_object_version_number := null;
100 p_return_status := hr_multi_message.get_return_status_disable;
101 hr_utility.set_location(' Leaving:' || l_proc, 30);
102 when others then
103 --
104 -- When Multiple Message Detection is enabled catch
105 -- any Application specific or other unexpected
106 -- exceptions. Adding appropriate details to the
107 -- Multiple Message List. Otherwise re-raise the
108 -- error.
109 --
110 rollback to create_ame_approver_group_s;
111 if hr_multi_message.unexpected_error_add(l_proc) then
112 hr_utility.set_location(' Leaving:' || l_proc,40);
113 raise;
114 end if;
115 --
116 -- Reset IN OUT and set OUT parameters
117 --
118 p_start_date := null;
119 p_end_date := null;
120 p_object_version_number := null;
121 p_return_status := hr_multi_message.get_return_status_disable;
122 hr_utility.set_location(' Leaving:' || l_proc,50);
123 end create_ame_approver_group;
124 -- ----------------------------------------------------------------------------
125 -- |-----------------------< update_ame_approver_group >----------------------|
126 -- ----------------------------------------------------------------------------
127 PROCEDURE update_ame_approver_group
128 (p_validate in number default hr_api.g_false_num
129 ,p_approval_group_id in number
130 ,p_description in varchar2 default hr_api.g_varchar2
131 ,p_is_static in varchar2 default hr_api.g_varchar2
132 ,p_query_string in varchar2 default hr_api.g_varchar2
133 ,p_object_version_number in out nocopy number
134 ,p_start_date out nocopy date
135 ,p_end_date out nocopy date
136 ,p_return_status out nocopy varchar2
137 ) is
138 --
139 -- Variables for API Boolean parameters
140 l_validate boolean;
141 --
142 -- Variables for IN/OUT parameters
143 l_object_version_number number;
144 --
145 -- Other variables
146 l_proc varchar2(72) := g_package ||'update_ame_approver_group';
147 Begin
148 hr_utility.set_location(' Entering:' || l_proc,10);
149 --
150 -- Issue a savepoint
151 --
152 savepoint update_ame_approver_group_s;
153 --
154 -- Initialise Multiple Message Detection
155 --
156 hr_multi_message.enable_message_list;
157 --
158 -- Remember IN OUT parameter IN values
159 --
160 l_object_version_number := p_object_version_number;
161 --
162 -- Convert constant values to their corresponding boolean value
163 --
164 l_validate :=
165 hr_api.constant_to_boolean
166 (p_constant_value => p_validate);
167 --
168 -- Register Surrogate ID or user key values
169 --
170 --
171 -- Call API
172 --
173 ame_approver_group_api.update_ame_approver_group
174 (p_validate => l_validate
175 ,p_approval_group_id => p_approval_group_id
176 ,p_description => p_description
177 ,p_is_static => p_is_static
178 ,p_query_string => p_query_string
179 ,p_object_version_number => p_object_version_number
180 ,p_start_date => p_start_date
181 ,p_end_date => p_end_date
182 );
183 --
184 -- Convert API warning boolean parameter values to specific
185 -- messages and add them to Multiple Message List
186 --
187 --
188 -- Convert API non-warning boolean parameter values
189 --
190 --
191 -- Derive the API return status value based on whether
192 -- messages of any type exist in the Multiple Message List.
193 -- Also disable Multiple Message Detection.
194 --
195 p_return_status := hr_multi_message.get_return_status_disable;
196 hr_utility.set_location(' Leaving:' || l_proc,20);
197 --
198 exception
199 when hr_multi_message.error_message_exist then
200 --
201 -- Catch the Multiple Message List exception which
202 -- indicates API processing has been aborted because
203 -- at least one message exists in the list.
204 --
205 rollback to update_ame_approver_group_s;
206 --
207 -- Reset IN OUT parameters and set OUT parameters
208 --
209 p_object_version_number := l_object_version_number;
210 p_start_date := null;
211 p_end_date := null;
212 p_return_status := hr_multi_message.get_return_status_disable;
213 hr_utility.set_location(' Leaving:' || l_proc, 30);
214 when others then
215 --
216 -- When Multiple Message Detection is enabled catch
217 -- any Application specific or other unexpected
218 -- exceptions. Adding appropriate details to the
219 -- Multiple Message List. Otherwise re-raise the
220 -- error.
221 --
222 rollback to update_ame_approver_group_s;
223 if hr_multi_message.unexpected_error_add(l_proc) then
224 hr_utility.set_location(' Leaving:' || l_proc,40);
225 raise;
226 end if;
227 --
228 -- Reset IN OUT and set OUT parameters
229 --
230 p_object_version_number := l_object_version_number;
231 p_start_date := null;
232 p_end_date := null;
233 p_return_status := hr_multi_message.get_return_status_disable;
234 hr_utility.set_location(' Leaving:' || l_proc,50);
235 end update_ame_approver_group;
236 -- ----------------------------------------------------------------------------
237 -- |-----------------------< delete_ame_approver_group >----------------------|
238 -- ----------------------------------------------------------------------------
239 PROCEDURE delete_ame_approver_group
240 (p_validate in number default hr_api.g_false_num
241 ,p_approval_group_id in number
242 ,p_object_version_number in out nocopy number
243 ,p_start_date out nocopy date
244 ,p_end_date out nocopy date
245 ,p_return_status out nocopy varchar2
246 ) is
247 --
248 -- Variables for API Boolean parameters
249 l_validate boolean;
250 --
251 -- Variables for IN/OUT parameters
252 l_object_version_number number;
253 --
254 -- Other variables
255 l_proc varchar2(72) := g_package ||'delete_ame_approver_group';
256 Begin
257 hr_utility.set_location(' Entering:' || l_proc,10);
258 --
259 -- Issue a savepoint
260 --
261 savepoint delete_ame_approver_group_s;
262 --
263 -- Initialise Multiple Message Detection
264 --
265 hr_multi_message.enable_message_list;
266 --
267 -- Remember IN OUT parameter IN values
268 --
269 l_object_version_number := p_object_version_number;
270 --
271 -- Convert constant values to their corresponding boolean value
272 --
273 l_validate :=
274 hr_api.constant_to_boolean
275 (p_constant_value => p_validate);
276 --
277 -- Register Surrogate ID or user key values
278 --
279 --
280 -- Call API
281 --
282 ame_approver_group_api.delete_ame_approver_group
283 (p_validate => l_validate
284 ,p_approval_group_id => p_approval_group_id
285 ,p_object_version_number => p_object_version_number
286 ,p_start_date => p_start_date
287 ,p_end_date => p_end_date
288 );
289 --
290 -- Convert API warning boolean parameter values to specific
291 -- messages and add them to Multiple Message List
292 --
293 --
294 -- Convert API non-warning boolean parameter values
295 --
296 --
297 -- Derive the API return status value based on whether
298 -- messages of any type exist in the Multiple Message List.
299 -- Also disable Multiple Message Detection.
300 --
301 p_return_status := hr_multi_message.get_return_status_disable;
302 hr_utility.set_location(' Leaving:' || l_proc,20);
303 --
304 exception
305 when hr_multi_message.error_message_exist then
306 --
307 -- Catch the Multiple Message List exception which
308 -- indicates API processing has been aborted because
309 -- at least one message exists in the list.
310 --
311 rollback to delete_ame_approver_group_s;
312 --
313 -- Reset IN OUT parameters and set OUT parameters
314 --
315 p_object_version_number := l_object_version_number;
316 p_start_date := null;
317 p_end_date := null;
318 p_return_status := hr_multi_message.get_return_status_disable;
319 hr_utility.set_location(' Leaving:' || l_proc, 30);
320 when others then
321 --
322 -- When Multiple Message Detection is enabled catch
323 -- any Application specific or other unexpected
324 -- exceptions. Adding appropriate details to the
325 -- Multiple Message List. Otherwise re-raise the
326 -- error.
327 --
328 rollback to delete_ame_approver_group_s;
329 if hr_multi_message.unexpected_error_add(l_proc) then
330 hr_utility.set_location(' Leaving:' || l_proc,40);
331 raise;
332 end if;
333 --
334 -- Reset IN OUT and set OUT parameters
335 --
336 p_object_version_number := l_object_version_number;
337 p_start_date := null;
338 p_end_date := null;
339 p_return_status := hr_multi_message.get_return_status_disable;
340 hr_utility.set_location(' Leaving:' || l_proc,50);
341 end delete_ame_approver_group;
342 -- ----------------------------------------------------------------------------
343 -- |---------------------< create_approver_group_config >---------------------|
344 -- ----------------------------------------------------------------------------
345 PROCEDURE create_approver_group_config
346 (p_validate in number default hr_api.g_false_num
347 ,p_approval_group_id in number
348 ,p_application_id in number
349 ,p_voting_regime in varchar2
350 ,p_order_number in number
351 ,p_object_version_number out nocopy number
352 ,p_start_date out nocopy date
353 ,p_end_date out nocopy date
354 ,p_return_status out nocopy varchar2
355 ) is
356 --
357 -- Variables for API Boolean parameters
358 l_validate boolean;
359 --
360 -- Variables for IN/OUT parameters
361 --
362 -- Other variables
363 l_proc varchar2(72) := g_package ||'create_approver_group_config';
364 Begin
365 hr_utility.set_location(' Entering:' || l_proc,10);
366 --
367 -- Issue a savepoint
368 --
369 savepoint create_approver_group_config_s;
370 --
371 -- Initialise Multiple Message Detection
372 --
373 hr_multi_message.enable_message_list;
374 --
375 -- Remember IN OUT parameter IN values
376 --
377 --
378 -- Convert constant values to their corresponding boolean value
379 --
380 l_validate :=
381 hr_api.constant_to_boolean
382 (p_constant_value => p_validate);
383 --
384 -- Register Surrogate ID or user key values
385 --
386 --
387 -- Call API
388 --
389 ame_approver_group_api.create_approver_group_config
390 (p_validate => l_validate
391 ,p_approval_group_id => p_approval_group_id
392 ,p_application_id => p_application_id
393 ,p_voting_regime => p_voting_regime
394 ,p_order_number => p_order_number
395 ,p_object_version_number => p_object_version_number
396 ,p_start_date => p_start_date
397 ,p_end_date => p_end_date
398 );
399 --
400 -- Convert API warning boolean parameter values to specific
401 -- messages and add them to Multiple Message List
402 --
403 --
404 -- Convert API non-warning boolean parameter values
405 --
406 --
407 -- Derive the API return status value based on whether
408 -- messages of any type exist in the Multiple Message List.
409 -- Also disable Multiple Message Detection.
410 --
411 p_return_status := hr_multi_message.get_return_status_disable;
412 hr_utility.set_location(' Leaving:' || l_proc,20);
413 --
414 exception
415 when hr_multi_message.error_message_exist then
416 --
417 -- Catch the Multiple Message List exception which
418 -- indicates API processing has been aborted because
419 -- at least one message exists in the list.
420 --
421 rollback to create_approver_group_config_s;
422 --
423 -- Reset IN OUT parameters and set OUT parameters
424 --
425 p_object_version_number := null;
426 p_start_date := null;
427 p_end_date := null;
428 p_return_status := hr_multi_message.get_return_status_disable;
429 hr_utility.set_location(' Leaving:' || l_proc, 30);
430 when others then
431 --
432 -- When Multiple Message Detection is enabled catch
433 -- any Application specific or other unexpected
434 -- exceptions. Adding appropriate details to the
435 -- Multiple Message List. Otherwise re-raise the
436 -- error.
437 --
438 rollback to create_approver_group_config_s;
439 if hr_multi_message.unexpected_error_add(l_proc) then
440 hr_utility.set_location(' Leaving:' || l_proc,40);
441 raise;
442 end if;
443 --
444 -- Reset IN OUT and set OUT parameters
445 --
446 p_object_version_number := null;
447 p_start_date := null;
448 p_end_date := null;
449 p_return_status := hr_multi_message.get_return_status_disable;
450 hr_utility.set_location(' Leaving:' || l_proc,50);
451 end create_approver_group_config;
452 -- ----------------------------------------------------------------------------
453 -- |---------------------< delete_approver_group_config >---------------------|
454 -- ----------------------------------------------------------------------------
455 PROCEDURE delete_approver_group_config
456 (p_validate in number default hr_api.g_false_num
457 ,p_approval_group_id in number
458 ,p_application_id in number
459 ,p_object_version_number in out nocopy number
460 ,p_start_date out nocopy date
461 ,p_end_date out nocopy date
462 ,p_return_status out nocopy varchar2
463 ) is
464 --
465 -- Variables for API Boolean parameters
466 l_validate boolean;
467 --
468 -- Variables for IN/OUT parameters
469 l_object_version_number number;
470 --
471 -- Other variables
472 l_proc varchar2(72) := g_package ||'delete_approver_group_config';
473 Begin
474 hr_utility.set_location(' Entering:' || l_proc,10);
475 --
476 -- Issue a savepoint
477 --
478 savepoint delete_approver_group_config_s;
479 --
480 -- Initialise Multiple Message Detection
481 --
482 hr_multi_message.enable_message_list;
483 --
484 -- Remember IN OUT parameter IN values
485 --
486 l_object_version_number := p_object_version_number;
487 --
488 -- Convert constant values to their corresponding boolean value
489 --
490 l_validate :=
491 hr_api.constant_to_boolean
492 (p_constant_value => p_validate);
493 --
494 -- Register Surrogate ID or user key values
495 --
496 --
497 -- Call API
498 --
499 ame_approver_group_api.delete_approver_group_config
500 (p_validate => l_validate
501 ,p_approval_group_id => p_approval_group_id
502 ,p_application_id => p_application_id
503 ,p_object_version_number => p_object_version_number
504 ,p_start_date => p_start_date
505 ,p_end_date => p_end_date
506 );
507 --
508 -- Convert API warning boolean parameter values to specific
509 -- messages and add them to Multiple Message List
510 --
511 --
512 -- Convert API non-warning boolean parameter values
513 --
514 --
515 -- Derive the API return status value based on whether
516 -- messages of any type exist in the Multiple Message List.
517 -- Also disable Multiple Message Detection.
518 --
519 p_return_status := hr_multi_message.get_return_status_disable;
520 hr_utility.set_location(' Leaving:' || l_proc,20);
521 --
522 exception
523 when hr_multi_message.error_message_exist then
524 --
525 -- Catch the Multiple Message List exception which
526 -- indicates API processing has been aborted because
527 -- at least one message exists in the list.
528 --
529 rollback to delete_approver_group_config_s;
530 --
531 -- Reset IN OUT parameters and set OUT parameters
532 --
533 p_object_version_number := l_object_version_number;
534 p_start_date := null;
535 p_end_date := null;
536 p_return_status := hr_multi_message.get_return_status_disable;
537 hr_utility.set_location(' Leaving:' || l_proc, 30);
538 when others then
539 --
540 -- When Multiple Message Detection is enabled catch
541 -- any Application specific or other unexpected
542 -- exceptions. Adding appropriate details to the
543 -- Multiple Message List. Otherwise re-raise the
544 -- error.
545 --
546 rollback to delete_approver_group_config_s;
547 if hr_multi_message.unexpected_error_add(l_proc) then
548 hr_utility.set_location(' Leaving:' || l_proc,40);
549 raise;
550 end if;
551 --
552 -- Reset IN OUT and set OUT parameters
553 --
554 p_object_version_number := l_object_version_number;
555 p_start_date := null;
556 p_end_date := null;
557 p_return_status := hr_multi_message.get_return_status_disable;
558 hr_utility.set_location(' Leaving:' || l_proc,50);
559 end delete_approver_group_config;
560 -- ----------------------------------------------------------------------------
561 -- |---------------------< update_approver_group_config >---------------------|
562 -- ----------------------------------------------------------------------------
563 PROCEDURE update_approver_group_config
564 (p_validate in number default hr_api.g_false_num
565 ,p_approval_group_id in number
566 ,p_application_id in number
567 ,p_voting_regime in varchar2 default hr_api.g_varchar2
568 ,p_order_number in varchar2 default hr_api.g_varchar2
569 ,p_object_version_number in out nocopy number
570 ,p_start_date out nocopy date
571 ,p_end_date out nocopy date
572 ,p_return_status out nocopy varchar2
573 ) is
574 --
575 -- Variables for API Boolean parameters
576 l_validate boolean;
577 --
578 -- Variables for IN/OUT parameters
579 l_object_version_number number;
580 --
581 -- Other variables
582 l_proc varchar2(72) := g_package ||'update_approver_group_config';
583 Begin
584 hr_utility.set_location(' Entering:' || l_proc,10);
585 --
586 -- Issue a savepoint
587 --
588 savepoint update_approver_group_config_s;
589 --
590 -- Initialise Multiple Message Detection
591 --
592 hr_multi_message.enable_message_list;
593 --
594 -- Remember IN OUT parameter IN values
595 --
596 l_object_version_number := p_object_version_number;
597 --
598 -- Convert constant values to their corresponding boolean value
599 --
600 l_validate :=
601 hr_api.constant_to_boolean
602 (p_constant_value => p_validate);
603 --
604 -- Register Surrogate ID or user key values
605 --
606 --
607 -- Call API
608 --
609 ame_approver_group_api.update_approver_group_config
610 (p_validate => l_validate
611 ,p_approval_group_id => p_approval_group_id
612 ,p_application_id => p_application_id
613 ,p_voting_regime => p_voting_regime
614 ,p_order_number => p_order_number
615 ,p_object_version_number => p_object_version_number
616 ,p_start_date => p_start_date
617 ,p_end_date => p_end_date
618 );
619 --
620 -- Convert API warning boolean parameter values to specific
621 -- messages and add them to Multiple Message List
622 --
623 --
624 -- Convert API non-warning boolean parameter values
625 --
626 --
627 -- Derive the API return status value based on whether
628 -- messages of any type exist in the Multiple Message List.
629 -- Also disable Multiple Message Detection.
630 --
631 p_return_status := hr_multi_message.get_return_status_disable;
632 hr_utility.set_location(' Leaving:' || l_proc,20);
633 --
634 exception
635 when hr_multi_message.error_message_exist then
636 --
637 -- Catch the Multiple Message List exception which
638 -- indicates API processing has been aborted because
639 -- at least one message exists in the list.
640 --
641 rollback to update_approver_group_config_s;
642 --
643 -- Reset IN OUT parameters and set OUT parameters
644 --
645 p_object_version_number := l_object_version_number;
646 p_start_date := null;
647 p_end_date := null;
648 p_return_status := hr_multi_message.get_return_status_disable;
649 hr_utility.set_location(' Leaving:' || l_proc, 30);
650 when others then
651 --
652 -- When Multiple Message Detection is enabled catch
653 -- any Application specific or other unexpected
654 -- exceptions. Adding appropriate details to the
655 -- Multiple Message List. Otherwise re-raise the
656 -- error.
657 --
658 rollback to update_approver_group_config_s;
659 if hr_multi_message.unexpected_error_add(l_proc) then
660 hr_utility.set_location(' Leaving:' || l_proc,40);
661 raise;
662 end if;
663 --
664 -- Reset IN OUT and set OUT parameters
665 --
666 p_object_version_number := l_object_version_number;
667 p_start_date := null;
668 p_end_date := null;
669 p_return_status := hr_multi_message.get_return_status_disable;
670 hr_utility.set_location(' Leaving:' || l_proc,50);
671 end update_approver_group_config;
672 -- ----------------------------------------------------------------------------
673 -- |----------------------< create_approver_group_item >----------------------|
674 -- ----------------------------------------------------------------------------
675 PROCEDURE create_approver_group_item
676 (p_validate in number default hr_api.g_false_num
677 ,p_approval_group_id in number
678 ,p_parameter_name in varchar2
679 ,p_parameter in varchar2
680 ,p_order_number in number
681 ,p_approval_group_item_id in number
682 ,p_object_version_number out nocopy number
683 ,p_start_date out nocopy date
684 ,p_end_date out nocopy date
685 ,p_return_status out nocopy varchar2
686 ) is
687 --
688 -- Variables for API Boolean parameters
689 l_validate boolean;
690 l_approval_group_item_id number;
691 --
692 -- Variables for IN/OUT parameters
693 --
694 -- Other variables
695 l_proc varchar2(72) := g_package ||'create_approver_group_item';
696 Begin
697 hr_utility.set_location(' Entering:' || l_proc,10);
698 --
699 -- Issue a savepoint
700 --
701 savepoint create_approver_group_item_s;
702 --
703 -- Initialise Multiple Message Detection
704 --
705 hr_multi_message.enable_message_list;
706 --
707 -- Remember IN OUT parameter IN values
708 --
709 --
710 -- Convert constant values to their corresponding boolean value
711 --
712 l_validate :=
713 hr_api.constant_to_boolean
714 (p_constant_value => p_validate);
715 --
716 -- Register Surrogate ID or user key values
717 --
718 --
719 ame_gpi_ins.set_base_key_value
720 (p_approval_group_item_id => p_approval_group_item_id
721 );
722 -- Call API
723 --
724 ame_approver_group_api.create_approver_group_item
725 (p_validate => l_validate
726 ,p_approval_group_id => p_approval_group_id
727 ,p_parameter_name => p_parameter_name
728 ,p_parameter => p_parameter
729 ,p_order_number => p_order_number
730 ,p_approval_group_item_id => l_approval_group_item_id
731 ,p_object_version_number => p_object_version_number
732 ,p_start_date => p_start_date
733 ,p_end_date => p_end_date
734 );
735 --
736 -- Convert API warning boolean parameter values to specific
737 -- messages and add them to Multiple Message List
738 --
739 --
740 -- Convert API non-warning boolean parameter values
741 --
742 --
743 -- Derive the API return status value based on whether
744 -- messages of any type exist in the Multiple Message List.
745 -- Also disable Multiple Message Detection.
746 --
747 p_return_status := hr_multi_message.get_return_status_disable;
748 hr_utility.set_location(' Leaving:' || l_proc,20);
749 --
750 exception
751 when hr_multi_message.error_message_exist then
752 --
753 -- Catch the Multiple Message List exception which
754 -- indicates API processing has been aborted because
755 -- at least one message exists in the list.
756 --
757 rollback to create_approver_group_item_s;
758 --
759 -- Reset IN OUT parameters and set OUT parameters
760 --
761 -- p_approval_group_item_id := null;
762 p_object_version_number := null;
763 p_start_date := null;
764 p_end_date := null;
765 p_return_status := hr_multi_message.get_return_status_disable;
766 hr_utility.set_location(' Leaving:' || l_proc, 30);
767 when others then
768 --
769 -- When Multiple Message Detection is enabled catch
770 -- any Application specific or other unexpected
771 -- exceptions. Adding appropriate details to the
772 -- Multiple Message List. Otherwise re-raise the
773 -- error.
774 --
775 rollback to create_approver_group_item_s;
776 if hr_multi_message.unexpected_error_add(l_proc) then
777 hr_utility.set_location(' Leaving:' || l_proc,40);
778 raise;
779 end if;
780 --
781 -- Reset IN OUT and set OUT parameters
782 --
783 -- p_approval_group_item_id := null;
784 p_object_version_number := null;
785 p_start_date := null;
786 p_end_date := null;
787 p_return_status := hr_multi_message.get_return_status_disable;
788 hr_utility.set_location(' Leaving:' || l_proc,50);
789 end create_approver_group_item;
790 -- ----------------------------------------------------------------------------
791 -- |----------------------< delete_approver_group_item >----------------------|
792 -- ----------------------------------------------------------------------------
793 PROCEDURE delete_approver_group_item
794 (p_validate in number default hr_api.g_false_num
795 ,p_approval_group_item_id in number
796 ,p_object_version_number in out nocopy number
797 ,p_start_date out nocopy date
798 ,p_end_date out nocopy date
799 ,p_return_status out nocopy varchar2
800 ) is
801 --
802 -- Variables for API Boolean parameters
803 l_validate boolean;
804 --
805 -- Variables for IN/OUT parameters
806 l_object_version_number number;
807 --
808 -- Other variables
809 l_proc varchar2(72) := g_package ||'delete_approver_group_item';
810 Begin
811 hr_utility.set_location(' Entering:' || l_proc,10);
812 --
813 -- Issue a savepoint
814 --
815 savepoint delete_approver_group_item_s;
816 --
817 -- Initialise Multiple Message Detection
818 --
819 hr_multi_message.enable_message_list;
820 --
821 -- Remember IN OUT parameter IN values
822 --
823 l_object_version_number := p_object_version_number;
824 --
825 -- Convert constant values to their corresponding boolean value
826 --
827 l_validate :=
828 hr_api.constant_to_boolean
829 (p_constant_value => p_validate);
830 --
831 -- Register Surrogate ID or user key values
832 --
833 --
834 -- Call API
835 --
836 ame_approver_group_api.delete_approver_group_item
837 (p_validate => l_validate
838 ,p_approval_group_item_id => p_approval_group_item_id
839 ,p_object_version_number => p_object_version_number
840 ,p_start_date => p_start_date
841 ,p_end_date => p_end_date
842 );
843 --
844 -- Convert API warning boolean parameter values to specific
845 -- messages and add them to Multiple Message List
846 --
847 --
848 -- Convert API non-warning boolean parameter values
849 --
850 --
851 -- Derive the API return status value based on whether
852 -- messages of any type exist in the Multiple Message List.
853 -- Also disable Multiple Message Detection.
854 --
855 p_return_status := hr_multi_message.get_return_status_disable;
856 hr_utility.set_location(' Leaving:' || l_proc,20);
857 --
858 exception
859 when hr_multi_message.error_message_exist then
860 --
861 -- Catch the Multiple Message List exception which
862 -- indicates API processing has been aborted because
863 -- at least one message exists in the list.
864 --
865 rollback to delete_approver_group_item_s;
866 --
867 -- Reset IN OUT parameters and set OUT parameters
868 --
869 p_object_version_number := l_object_version_number;
870 p_start_date := null;
871 p_end_date := null;
872 p_return_status := hr_multi_message.get_return_status_disable;
873 hr_utility.set_location(' Leaving:' || l_proc, 30);
874 when others then
875 --
876 -- When Multiple Message Detection is enabled catch
877 -- any Application specific or other unexpected
878 -- exceptions. Adding appropriate details to the
879 -- Multiple Message List. Otherwise re-raise the
880 -- error.
881 --
882 rollback to delete_approver_group_item_s;
883 if hr_multi_message.unexpected_error_add(l_proc) then
884 hr_utility.set_location(' Leaving:' || l_proc,40);
885 raise;
886 end if;
887 --
888 -- Reset IN OUT and set OUT parameters
889 --
890 p_object_version_number := l_object_version_number;
891 p_start_date := null;
892 p_end_date := null;
893 p_return_status := hr_multi_message.get_return_status_disable;
894 hr_utility.set_location(' Leaving:' || l_proc,50);
895 end delete_approver_group_item;
896 -- ----------------------------------------------------------------------------
897 -- |----------------------< update_approver_group_item >----------------------|
898 -- ----------------------------------------------------------------------------
899 PROCEDURE update_approver_group_item
900 (p_validate in number default hr_api.g_false_num
901 ,p_approval_group_item_id in number
902 ,p_order_number in varchar2 default hr_api.g_varchar2
903 ,p_object_version_number in out nocopy number
904 ,p_start_date out nocopy date
905 ,p_end_date out nocopy date
906 ,p_return_status out nocopy varchar2
907 ) is
908 --
909 -- Variables for API Boolean parameters
910 l_validate boolean;
911 --
912 -- Variables for IN/OUT parameters
913 l_object_version_number number;
914 --
915 -- Other variables
916 l_proc varchar2(72) := g_package ||'update_approver_group_item';
917 Begin
918 hr_utility.set_location(' Entering:' || l_proc,10);
919 --
920 -- Issue a savepoint
921 --
922 savepoint update_approver_group_item_s;
923 --
924 -- Initialise Multiple Message Detection
925 --
926 hr_multi_message.enable_message_list;
927 --
928 -- Remember IN OUT parameter IN values
929 --
930 l_object_version_number := p_object_version_number;
931 --
932 -- Convert constant values to their corresponding boolean value
933 --
934 l_validate :=
935 hr_api.constant_to_boolean
936 (p_constant_value => p_validate);
937 --
938 -- Register Surrogate ID or user key values
939 --
940 --
941 -- Call API
942 --
943 ame_approver_group_api.update_approver_group_item
944 (p_validate => l_validate
945 ,p_approval_group_item_id => p_approval_group_item_id
946 ,p_order_number => p_order_number
947 ,p_object_version_number => p_object_version_number
948 ,p_start_date => p_start_date
949 ,p_end_date => p_end_date
950 );
951 --
952 -- Convert API warning boolean parameter values to specific
953 -- messages and add them to Multiple Message List
954 --
955 --
956 -- Convert API non-warning boolean parameter values
957 --
958 --
959 -- Derive the API return status value based on whether
960 -- messages of any type exist in the Multiple Message List.
961 -- Also disable Multiple Message Detection.
962 --
963 p_return_status := hr_multi_message.get_return_status_disable;
964 hr_utility.set_location(' Leaving:' || l_proc,20);
965 --
966 exception
967 when hr_multi_message.error_message_exist then
968 --
969 -- Catch the Multiple Message List exception which
970 -- indicates API processing has been aborted because
971 -- at least one message exists in the list.
972 --
973 rollback to update_approver_group_item_s;
974 --
975 -- Reset IN OUT parameters and set OUT parameters
976 --
977 p_object_version_number := l_object_version_number;
978 p_start_date := null;
979 p_end_date := null;
980 p_return_status := hr_multi_message.get_return_status_disable;
981 hr_utility.set_location(' Leaving:' || l_proc, 30);
982 when others then
983 --
984 -- When Multiple Message Detection is enabled catch
985 -- any Application specific or other unexpected
986 -- exceptions. Adding appropriate details to the
987 -- Multiple Message List. Otherwise re-raise the
988 -- error.
989 --
990 rollback to update_approver_group_item_s;
991 if hr_multi_message.unexpected_error_add(l_proc) then
992 hr_utility.set_location(' Leaving:' || l_proc,40);
993 raise;
994 end if;
995 --
996 -- Reset IN OUT and set OUT parameters
997 --
998 p_object_version_number := l_object_version_number;
999 p_start_date := null;
1000 p_end_date := null;
1001 p_return_status := hr_multi_message.get_return_status_disable;
1002 hr_utility.set_location(' Leaving:' || l_proc,50);
1003 end update_approver_group_item;
1004 end ame_approver_group_swi;