DBA Data[Home] [Help]

PACKAGE BODY: APPS.AME_ITEM_CLASS_SWI

Source


1 Package Body ame_item_class_swi As
2 /* $Header: amitcswi.pkb 120.1 2005/12/08 21:02 santosin noship $ */
3 --
4 -- Package variables
5 --
6 g_package  varchar2(33) := 'ame_item_class_swi.';
7 --
8 -- ----------------------------------------------------------------------------
9 -- |-------------------------< create_ame_item_class >------------------------|
10 -- ----------------------------------------------------------------------------
11 PROCEDURE create_ame_item_class
12   (p_validate                     in     number    default hr_api.g_false_num
13   ,p_name                         in     varchar2
14   ,p_user_item_class_name         in     varchar2
15   ,p_item_class_id                in     number
16   ,p_object_version_number           out nocopy number
17   ,p_start_date                      out nocopy date
18   ,p_end_date                        out nocopy date
19   ,p_return_status                   out nocopy varchar2
20   ) is
21   --
22   -- Variables for API Boolean parameters
23   l_validate                      boolean;
24   --
25   -- Variables for IN/OUT parameters
26   --
27   -- Other variables
28   l_item_class_id                number;
29   l_proc    varchar2(72) := g_package ||'create_ame_item_class';
30 Begin
31   hr_utility.set_location(' Entering:' || l_proc,10);
32   --
33   -- Issue a savepoint
34   --
35   savepoint create_ame_item_class_swi;
36   --
37   -- Initialise Multiple Message Detection
38   --
39   hr_multi_message.enable_message_list;
40   --
41   -- Remember IN OUT parameter IN values
42   --
43   --
44   -- Convert constant values to their corresponding boolean value
45   --
46   l_validate :=
47     hr_api.constant_to_boolean
48       (p_constant_value => p_validate);
49   --
50   -- Register Surrogate ID or user key values
51   --
52   ame_itc_ins.set_base_key_value
53     (p_item_class_id => p_item_class_id
54     );
55   --
56   -- Call API
57   --
58   ame_item_class_api.create_ame_item_class
59     (p_validate                     => l_validate
60     ,p_name                         => p_name
61     ,p_user_item_class_name         => p_user_item_class_name
62     ,p_item_class_id                => l_item_class_id
63     ,p_object_version_number        => p_object_version_number
64     ,p_start_date                   => p_start_date
65     ,p_end_date                     => p_end_date
66     );
67   --
68   -- Convert API warning boolean parameter values to specific
69   -- messages and add them to Multiple Message List
70   --
71   --
72   -- Convert API non-warning boolean parameter values
73   --
74   --
75   -- Derive the API return status value based on whether
76   -- messages of any type exist in the Multiple Message List.
77   -- Also disable Multiple Message Detection.
78   --
79   p_return_status := hr_multi_message.get_return_status_disable;
80   hr_utility.set_location(' Leaving:' || l_proc,20);
81   --
82 exception
83   when hr_multi_message.error_message_exist then
84     --
85     -- Catch the Multiple Message List exception which
86     -- indicates API processing has been aborted because
87     -- at least one message exists in the list.
88     --
89     rollback to create_ame_item_class_swi;
90     --
91     -- Reset IN OUT parameters and set OUT parameters
92     --
93     p_object_version_number        := null;
94     p_start_date                   := null;
95     p_end_date                     := null;
96     p_return_status := hr_multi_message.get_return_status_disable;
97     hr_utility.set_location(' Leaving:' || l_proc, 30);
98   when others then
99     --
100     -- When Multiple Message Detection is enabled catch
101     -- any Application specific or other unexpected
102     -- exceptions.  Adding appropriate details to the
103     -- Multiple Message List.  Otherwise re-raise the
104     -- error.
105     --
106     rollback to create_ame_item_class_swi;
107     if hr_multi_message.unexpected_error_add(l_proc) then
108        hr_utility.set_location(' Leaving:' || l_proc,40);
109        raise;
110     end if;
111     --
112     -- Reset IN OUT and set OUT parameters
113     --
114     p_object_version_number        := null;
115     p_start_date                   := null;
116     p_end_date                     := null;
117     p_return_status := hr_multi_message.get_return_status_disable;
118     hr_utility.set_location(' Leaving:' || l_proc,50);
119 end create_ame_item_class;
120 -- ----------------------------------------------------------------------------
121 -- |-------------------------< update_ame_item_class >------------------------|
122 -- ----------------------------------------------------------------------------
123 PROCEDURE update_ame_item_class
124   (p_validate                     in     number    default hr_api.g_false_num
125   ,p_item_class_id                in     number
126   ,p_user_item_class_name         in     varchar2  default hr_api.g_varchar2
127   ,p_object_version_number        in out nocopy number
128   ,p_start_date                      out nocopy date
129   ,p_end_date                        out nocopy date
130   ,p_return_status                   out nocopy varchar2
131   ) is
132   --
133   -- Variables for API Boolean parameters
134   l_validate                      boolean;
135   --
136   -- Variables for IN/OUT parameters
137   l_object_version_number         number;
138   --
139   -- Other variables
140   l_proc    varchar2(72) := g_package ||'update_ame_item_class';
141 Begin
142   hr_utility.set_location(' Entering:' || l_proc,10);
143   --
144   -- Issue a savepoint
145   --
146   savepoint update_ame_item_class_swi;
147   --
148   -- Initialise Multiple Message Detection
149   --
150   hr_multi_message.enable_message_list;
151   --
152   -- Remember IN OUT parameter IN values
153   --
154   l_object_version_number         := p_object_version_number;
155   --
156   -- Convert constant values to their corresponding boolean value
157   --
158   l_validate :=
159     hr_api.constant_to_boolean
160       (p_constant_value => p_validate);
161   --
162   -- Register Surrogate ID or user key values
163   --
164   --
165   -- Call API
166   --
167   ame_item_class_api.update_ame_item_class
168     (p_validate                     => l_validate
169     ,p_item_class_id                => p_item_class_id
170     ,p_user_item_class_name         => p_user_item_class_name
171     ,p_object_version_number        => p_object_version_number
172     ,p_start_date                   => p_start_date
173     ,p_end_date                     => p_end_date
174     );
175   --
176   -- Convert API warning boolean parameter values to specific
177   -- messages and add them to Multiple Message List
178   --
179   --
180   -- Convert API non-warning boolean parameter values
181   --
182   --
183   -- Derive the API return status value based on whether
184   -- messages of any type exist in the Multiple Message List.
185   -- Also disable Multiple Message Detection.
186   --
187   p_return_status := hr_multi_message.get_return_status_disable;
188   hr_utility.set_location(' Leaving:' || l_proc,20);
189   --
190 exception
191   when hr_multi_message.error_message_exist then
192     --
193     -- Catch the Multiple Message List exception which
194     -- indicates API processing has been aborted because
195     -- at least one message exists in the list.
196     --
197     rollback to update_ame_item_class_swi;
198     --
199     -- Reset IN OUT parameters and set OUT parameters
200     --
201     p_object_version_number        := l_object_version_number;
202     p_start_date                   := null;
203     p_end_date                     := null;
204     p_return_status := hr_multi_message.get_return_status_disable;
205     hr_utility.set_location(' Leaving:' || l_proc, 30);
206   when others then
207     --
208     -- When Multiple Message Detection is enabled catch
209     -- any Application specific or other unexpected
210     -- exceptions.  Adding appropriate details to the
211     -- Multiple Message List.  Otherwise re-raise the
212     -- error.
213     --
214     rollback to update_ame_item_class_swi;
215     if hr_multi_message.unexpected_error_add(l_proc) then
216        hr_utility.set_location(' Leaving:' || l_proc,40);
217        raise;
218     end if;
219     --
220     -- Reset IN OUT and set OUT parameters
221     --
222     p_object_version_number        := l_object_version_number;
223     p_start_date                   := null;
224     p_end_date                     := null;
225     p_return_status := hr_multi_message.get_return_status_disable;
226     hr_utility.set_location(' Leaving:' || l_proc,50);
227 end update_ame_item_class;
228 -- ----------------------------------------------------------------------------
229 -- |-------------------------< delete_ame_item_class >------------------------|
230 -- ----------------------------------------------------------------------------
231 PROCEDURE delete_ame_item_class
232   (p_validate                     in     number    default hr_api.g_false_num
233   ,p_item_class_id                in     number
234   ,p_object_version_number        in out nocopy number
235   ,p_start_date                      out nocopy date
236   ,p_end_date                        out nocopy date
237   ,p_return_status                   out nocopy varchar2
238   ) is
239   --
240   -- Variables for API Boolean parameters
241   l_validate                      boolean;
242   --
243   -- Variables for IN/OUT parameters
244   l_object_version_number         number;
245   --
246   -- Other variables
247   l_proc    varchar2(72) := g_package ||'delete_ame_item_class';
248 Begin
249   hr_utility.set_location(' Entering:' || l_proc,10);
250   --
251   -- Issue a savepoint
252   --
253   savepoint delete_ame_item_class_swi;
254   --
255   -- Initialise Multiple Message Detection
256   --
257   hr_multi_message.enable_message_list;
258   --
259   -- Remember IN OUT parameter IN values
260   --
261   l_object_version_number         := p_object_version_number;
262   --
263   -- Convert constant values to their corresponding boolean value
264   --
265   l_validate :=
266     hr_api.constant_to_boolean
267       (p_constant_value => p_validate);
268   --
269   -- Register Surrogate ID or user key values
270   --
271   --
272   -- Call API
273   --
274   ame_item_class_api.delete_ame_item_class
275     (p_validate                     => l_validate
276     ,p_item_class_id                => p_item_class_id
277     ,p_object_version_number        => p_object_version_number
278     ,p_start_date                   => p_start_date
279     ,p_end_date                     => p_end_date
280     );
281   --
282   -- Convert API warning boolean parameter values to specific
283   -- messages and add them to Multiple Message List
284   --
285   --
286   -- Convert API non-warning boolean parameter values
287   --
288   --
289   -- Derive the API return status value based on whether
290   -- messages of any type exist in the Multiple Message List.
291   -- Also disable Multiple Message Detection.
292   --
293   p_return_status := hr_multi_message.get_return_status_disable;
294   hr_utility.set_location(' Leaving:' || l_proc,20);
295   --
296 exception
297   when hr_multi_message.error_message_exist then
298     --
299     -- Catch the Multiple Message List exception which
300     -- indicates API processing has been aborted because
301     -- at least one message exists in the list.
302     --
303     rollback to delete_ame_item_class_swi;
304     --
305     -- Reset IN OUT parameters and set OUT parameters
306     --
307     p_object_version_number        := l_object_version_number;
308     p_start_date                   := null;
309     p_end_date                     := null;
310     p_return_status := hr_multi_message.get_return_status_disable;
311     hr_utility.set_location(' Leaving:' || l_proc, 30);
312   when others then
313     --
314     -- When Multiple Message Detection is enabled catch
315     -- any Application specific or other unexpected
316     -- exceptions.  Adding appropriate details to the
317     -- Multiple Message List.  Otherwise re-raise the
318     -- error.
319     --
320     rollback to delete_ame_item_class_swi;
321     if hr_multi_message.unexpected_error_add(l_proc) then
322        hr_utility.set_location(' Leaving:' || l_proc,40);
323        raise;
324     end if;
325     --
326     -- Reset IN OUT and set OUT parameters
327     --
328     p_object_version_number        := l_object_version_number;
329     p_start_date                   := null;
330     p_end_date                     := null;
331     p_return_status := hr_multi_message.get_return_status_disable;
332     hr_utility.set_location(' Leaving:' || l_proc,50);
333 end delete_ame_item_class;
334 -- ----------------------------------------------------------------------------
335 -- |----------------------< create_ame_item_class_usage >---------------------|
336 -- ----------------------------------------------------------------------------
337 PROCEDURE create_ame_item_class_usage
338   (p_validate                     in     number    default hr_api.g_false_num
339   ,p_item_id_query                in     varchar2
340   ,p_item_class_order_number      in     number
341   ,p_item_class_par_mode          in     varchar2
342   ,p_item_class_sublist_mode      in     varchar2
343   ,p_application_id               in out nocopy number
344   ,p_item_class_id                in out nocopy number
345   ,p_object_version_number           out nocopy number
346   ,p_start_date                      out nocopy date
347   ,p_end_date                        out nocopy date
348   ,p_return_status                   out nocopy varchar2
349   ) is
350   --
351   -- Variables for API Boolean parameters
352   l_validate                      boolean;
353   --
354   -- Variables for IN/OUT parameters
355   l_application_id                number;
356   l_item_class_id                 number;
357   --
358   -- Other variables
359   l_proc    varchar2(72) := g_package ||'create_ame_item_class_usage';
360 Begin
361   hr_utility.set_location(' Entering:' || l_proc,10);
362   --
363   -- Issue a savepoint
364   --
365   savepoint create_ame_itemclass_usage_swi;
366   --
367   -- Initialise Multiple Message Detection
368   --
369   hr_multi_message.enable_message_list;
370   --
371   -- Remember IN OUT parameter IN values
372   --
373   l_application_id                := p_application_id;
374   l_item_class_id                 := p_item_class_id;
375   --
376   -- Convert constant values to their corresponding boolean value
377   --
378   l_validate :=
379     hr_api.constant_to_boolean
380       (p_constant_value => p_validate);
381   --
382   -- Register Surrogate ID or user key values
383   --
384   --
385   -- Call API
386   --
387   ame_item_class_api.create_ame_item_class_usage
388     (p_validate                     => l_validate
389     ,p_item_id_query                => p_item_id_query
390     ,p_item_class_order_number      => p_item_class_order_number
391     ,p_item_class_par_mode          => p_item_class_par_mode
392     ,p_item_class_sublist_mode      => p_item_class_sublist_mode
393     ,p_application_id               => p_application_id
394     ,p_item_class_id                => p_item_class_id
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_ame_itemclass_usage_swi;
422     --
423     -- Reset IN OUT parameters and set OUT parameters
424     --
425     p_application_id               := l_application_id;
426     p_item_class_id                := l_item_class_id;
427     p_object_version_number        := null;
428     p_start_date                   := null;
429     p_end_date                     := null;
430     p_return_status := hr_multi_message.get_return_status_disable;
431     hr_utility.set_location(' Leaving:' || l_proc, 30);
432   when others then
433     --
434     -- When Multiple Message Detection is enabled catch
435     -- any Application specific or other unexpected
436     -- exceptions.  Adding appropriate details to the
437     -- Multiple Message List.  Otherwise re-raise the
438     -- error.
439     --
440     rollback to create_ame_itemclass_usage_swi;
441     if hr_multi_message.unexpected_error_add(l_proc) then
442        hr_utility.set_location(' Leaving:' || l_proc,40);
443        raise;
444     end if;
445     --
446     -- Reset IN OUT and set OUT parameters
447     --
448     p_application_id               := l_application_id;
449     p_item_class_id                := l_item_class_id;
450     p_object_version_number        := null;
451     p_start_date                   := null;
452     p_end_date                     := null;
453     p_return_status := hr_multi_message.get_return_status_disable;
454     hr_utility.set_location(' Leaving:' || l_proc,50);
455 end create_ame_item_class_usage;
456 -- ----------------------------------------------------------------------------
457 -- |----------------------< update_ame_item_class_usage >---------------------|
458 -- ----------------------------------------------------------------------------
459 PROCEDURE update_ame_item_class_usage
460   (p_validate                     in     number    default hr_api.g_false_num
461   ,p_application_id               in     number
462   ,p_item_class_id                in     number
463   ,p_item_id_query                in     varchar2  default hr_api.g_varchar2
464   ,p_item_class_order_number      in     number    default hr_api.g_number
465   ,p_item_class_par_mode          in     varchar2  default hr_api.g_varchar2
466   ,p_item_class_sublist_mode      in     varchar2  default hr_api.g_varchar2
467   ,p_object_version_number        in out nocopy number
468   ,p_start_date                      out nocopy date
469   ,p_end_date                        out nocopy date
470   ,p_return_status                   out nocopy varchar2
471   ) is
472   --
473   -- Variables for API Boolean parameters
474   l_validate                      boolean;
475   --
476   -- Variables for IN/OUT parameters
477   l_object_version_number         number;
478   --
479   -- Other variables
480   l_proc    varchar2(72) := g_package ||'update_ame_item_class_usage';
481 Begin
482   hr_utility.set_location(' Entering:' || l_proc,10);
483   --
484   -- Issue a savepoint
485   --
486   savepoint update_ameitem_class_usage_swi;
487   --
488   -- Initialise Multiple Message Detection
489   --
490   hr_multi_message.enable_message_list;
491   --
492   -- Remember IN OUT parameter IN values
493   --
494   l_object_version_number         := p_object_version_number;
495   --
496   -- Convert constant values to their corresponding boolean value
497   --
498   l_validate :=
499     hr_api.constant_to_boolean
500       (p_constant_value => p_validate);
501   --
502   -- Register Surrogate ID or user key values
503   --
504   --
505   -- Call API
506   --
507   ame_item_class_api.update_ame_item_class_usage
508     (p_validate                     => l_validate
509     ,p_application_id               => p_application_id
510     ,p_item_class_id                => p_item_class_id
511     ,p_item_id_query                => p_item_id_query
512     ,p_item_class_order_number      => p_item_class_order_number
513     ,p_item_class_par_mode          => p_item_class_par_mode
514     ,p_item_class_sublist_mode      => p_item_class_sublist_mode
515     ,p_object_version_number        => p_object_version_number
516     ,p_start_date                   => p_start_date
517     ,p_end_date                     => p_end_date
518     );
519   --
520   -- Convert API warning boolean parameter values to specific
521   -- messages and add them to Multiple Message List
522   --
523   --
524   -- Convert API non-warning boolean parameter values
525   --
526   --
527   -- Derive the API return status value based on whether
528   -- messages of any type exist in the Multiple Message List.
529   -- Also disable Multiple Message Detection.
530   --
531   p_return_status := hr_multi_message.get_return_status_disable;
532   hr_utility.set_location(' Leaving:' || l_proc,20);
533   --
534 exception
535   when hr_multi_message.error_message_exist then
536     --
537     -- Catch the Multiple Message List exception which
538     -- indicates API processing has been aborted because
539     -- at least one message exists in the list.
540     --
541     rollback to update_ame_itemclass_usage_swi;
542     --
543     -- Reset IN OUT parameters and set OUT parameters
544     --
545     p_object_version_number        := l_object_version_number;
546     p_start_date                   := null;
547     p_end_date                     := null;
548     p_return_status := hr_multi_message.get_return_status_disable;
549     hr_utility.set_location(' Leaving:' || l_proc, 30);
550   when others then
551     --
552     -- When Multiple Message Detection is enabled catch
553     -- any Application specific or other unexpected
554     -- exceptions.  Adding appropriate details to the
555     -- Multiple Message List.  Otherwise re-raise the
556     -- error.
557     --
558     rollback to update_ame_itemclass_usage_swi;
559     if hr_multi_message.unexpected_error_add(l_proc) then
560        hr_utility.set_location(' Leaving:' || l_proc,40);
561        raise;
562     end if;
563     --
564     -- Reset IN OUT and set OUT parameters
565     --
566     p_object_version_number        := l_object_version_number;
567     p_start_date                   := null;
568     p_end_date                     := null;
569     p_return_status := hr_multi_message.get_return_status_disable;
570     hr_utility.set_location(' Leaving:' || l_proc,50);
571 end update_ame_item_class_usage;
572 -- ----------------------------------------------------------------------------
573 -- |----------------------< delete_ame_item_class_usage >---------------------|
574 -- ----------------------------------------------------------------------------
575 PROCEDURE delete_ame_item_class_usage
576   (p_validate                     in     number    default hr_api.g_false_num
577   ,p_application_id               in     number
578   ,p_item_class_id                in     number
579   ,p_object_version_number        in out nocopy number
580   ,p_start_date                      out nocopy date
581   ,p_end_date                        out nocopy date
582   ,p_return_status                   out nocopy varchar2
583   ) is
584   --
585   -- Variables for API Boolean parameters
586   l_validate                      boolean;
587   --
588   -- Variables for IN/OUT parameters
589   l_object_version_number         number;
590   --
591   -- Other variables
592   l_proc    varchar2(72) := g_package ||'delete_ame_item_class_usage';
593   l_found   varchar2(1);
594 Begin
595   hr_utility.set_location(' Entering:' || l_proc,10);
596   --
597   -- Issue a savepoint
598   --
599   savepoint delete_ame_itemclass_usage_swi;
600   --
601   -- Initialise Multiple Message Detection
602   --
603   hr_multi_message.enable_message_list;
604   --
605   -- Remember IN OUT parameter IN values
606   --
607   l_object_version_number         := p_object_version_number;
608   --
609   -- Convert constant values to their corresponding boolean value
610   --
611   l_validate :=
612     hr_api.constant_to_boolean
613       (p_constant_value => p_validate);
614   --
615   -- Register Surrogate ID or user key values
616   --
617   --
618   -- Call API
619   --
620   ame_item_class_api.delete_ame_item_class_usage
621     (p_validate                     => l_validate
622     ,p_application_id               => p_application_id
623     ,p_item_class_id                => p_item_class_id
624     ,p_object_version_number        => p_object_version_number
625     ,p_start_date                   => p_start_date
626     ,p_end_date                     => p_end_date
627     );
628   --
629   -- Convert API warning boolean parameter values to specific
630   -- messages and add them to Multiple Message List
631   --
632   --
633   -- Convert API non-warning boolean parameter values
634   --
635   --
636   -- Derive the API return status value based on whether
637   -- messages of any type exist in the Multiple Message List.
638   -- Also disable Multiple Message Detection.
639   --
640   p_return_status := hr_multi_message.get_return_status_disable;
641   hr_utility.set_location(' Leaving:' || l_proc,20);
642   --
643 exception
644   when hr_multi_message.error_message_exist then
645     --
646     -- Catch the Multiple Message List exception which
647     -- indicates API processing has been aborted because
648     -- at least one message exists in the list.
649     --
650     rollback to delete_ame_itemclass_usage_swi;
651     --
652     -- Reset IN OUT parameters and set OUT parameters
653     --
654     p_object_version_number        := l_object_version_number;
655     p_start_date                   := null;
656     p_end_date                     := null;
657     p_return_status := hr_multi_message.get_return_status_disable;
658     fnd_msg_pub.set_search_name('PAY','HR_7215_DT_CHILD_EXISTS');
659     fnd_message.set_name('PER','AME_400774_ITU_CHILD_EXISTS');
660     l_found := fnd_msg_pub.change_msg;
661     fnd_msg_pub.set_search_name('PAY','HR_7215_DT_CHILD_EXISTS');
662     l_found := fnd_msg_pub.delete_msg;
663     hr_utility.set_location(' Leaving:' || l_proc, 30);
664   when others then
665     --
666     -- When Multiple Message Detection is enabled catch
667     -- any Application specific or other unexpected
668     -- exceptions.  Adding appropriate details to the
669     -- Multiple Message List.  Otherwise re-raise the
670     -- error.
671     --
672     rollback to delete_ame_itemclass_usage_swi;
673     if hr_multi_message.unexpected_error_add(l_proc) then
674        hr_utility.set_location(' Leaving:' || l_proc,40);
675        raise;
676     end if;
677     --
678     -- Reset IN OUT and set OUT parameters
679     --
680     p_object_version_number        := l_object_version_number;
681     p_start_date                   := null;
682     p_end_date                     := null;
683     p_return_status := hr_multi_message.get_return_status_disable;
684     hr_utility.set_location(' Leaving:' || l_proc,50);
685 end delete_ame_item_class_usage;
686 end ame_item_class_swi;