DBA Data[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;