DBA Data[Home] [Help]

PACKAGE BODY: APPS.AME_ATTRIBUTE_SWI

Source


1 PACKAGE BODY AME_ATTRIBUTE_SWI As
2 /* $Header: amatrswi.pkb 120.0 2005/09/02 03:51 mbocutt noship $ */
3 --
4 -- Package variables
5 --
6 g_package  varchar2(33) := 'ame_attribute_swi.';
7 --
8 -- ----------------------------------------------------------------------------
9 -- |-------------------------< create_ame_attribute >-------------------------|
10 -- ----------------------------------------------------------------------------
11 PROCEDURE create_ame_attribute
12   (p_validate                     in     number    default hr_api.g_false_num
13   ,p_name                         in     varchar2
14   ,p_description                  in     varchar2
15   ,p_attribute_type               in     varchar2
16   ,p_item_class_id                in     number
17   ,p_approver_type_id             in     number    default null
18   ,p_application_id               in     number    default null
19   ,p_is_static                    in     varchar2  default ame_util.booleanTrue
20   ,p_query_string                 in     varchar2  default null
21   ,p_user_editable                in     varchar2  default ame_util.booleanTrue
22   ,p_value_set_id                 in     number    default null
23   ,p_attribute_id                 in     number
24   ,p_atr_object_version_number       out nocopy number
25   ,p_atr_start_date                  out nocopy date
26   ,p_atr_end_date                    out nocopy date
27   ,p_atu_object_version_number       out nocopy number
28   ,p_atu_start_date                  out nocopy date
29   ,p_atu_end_date                    out nocopy date
30   ,p_return_status                   out nocopy varchar2
31   ) is
32   --
33   -- Variables for API Boolean parameters
34   l_validate                      boolean;
35   --
36   -- Variables for IN/OUT parameters
37   --
38   -- Other variables
39   l_attribute_id                 number;
40   l_proc    varchar2(72) := g_package ||'create_ame_attribute';
41 Begin
42   hr_utility.set_location(' Entering:' || l_proc,10);
43   --
44   -- Issue a savepoint
45   --
46   savepoint create_ame_attribute_swi;
47   --
48   -- Initialise Multiple Message Detection
49   --
50   hr_multi_message.enable_message_list;
51   --
52   -- Remember IN OUT parameter IN values
53   --
54   --
55   -- Convert constant values to their corresponding boolean value
56   --
57   l_validate :=
58     hr_api.constant_to_boolean
59       (p_constant_value => p_validate);
60   --
61   -- Register Surrogate ID or user key values
62   --
63   ame_atr_ins.set_base_key_value
64     (p_attribute_id => p_attribute_id
65     );
66   --
67   -- Call API
68   --
69   ame_attribute_api.create_ame_attribute
70     (p_validate                     => l_validate
71     ,p_name                         => p_name
72     ,p_description                  => p_description
73     ,p_attribute_type               => p_attribute_type
74     ,p_item_class_id                => p_item_class_id
75     ,p_approver_type_id             => p_approver_type_id
76     ,p_application_id               => p_application_id
77     ,p_is_static                    => p_is_static
78     ,p_query_string                 => p_query_string
79     ,p_user_editable                => p_user_editable
80     ,p_value_set_id                 => p_value_set_id
81     ,p_attribute_id                 => l_attribute_id
82     ,p_atr_object_version_number    => p_atr_object_version_number
83     ,p_atr_start_date               => p_atr_start_date
84     ,p_atr_end_date                 => p_atr_end_date
85     ,p_atu_object_version_number    => p_atu_object_version_number
86     ,p_atu_start_date               => p_atu_start_date
87     ,p_atu_end_date                 => p_atu_end_date
88     );
89   --
90   -- Convert API warning boolean parameter values to specific
91   -- messages and add them to Multiple Message List
92   --
93   --
94   -- Convert API non-warning boolean parameter values
95   --
96   --
97   -- Derive the API return status value based on whether
98   -- messages of any type exist in the Multiple Message List.
99   -- Also disable Multiple Message Detection.
100   --
101   p_return_status := hr_multi_message.get_return_status_disable;
102   hr_utility.set_location(' Leaving:' || l_proc,20);
103   --
104 exception
105   when hr_multi_message.error_message_exist then
106     --
107     -- Catch the Multiple Message List exception which
108     -- indicates API processing has been aborted because
109     -- at least one message exists in the list.
110     --
111     rollback to create_ame_attribute_swi;
112     --
113     -- Reset IN OUT parameters and set OUT parameters
114     --
115     p_atr_object_version_number    := null;
116     p_atr_start_date               := null;
117     p_atr_end_date                 := null;
118     p_atu_object_version_number    := null;
119     p_atu_start_date               := null;
120     p_atu_end_date                 := null;
121     p_return_status := hr_multi_message.get_return_status_disable;
122     hr_utility.set_location(' Leaving:' || l_proc, 30);
123   when others then
124     --
125     -- When Multiple Message Detection is enabled catch
126     -- any Application specific or other unexpected
127     -- exceptions.  Adding appropriate details to the
128     -- Multiple Message List.  Otherwise re-raise the
129     -- error.
130     --
131     rollback to create_ame_attribute_swi;
132     if hr_multi_message.unexpected_error_add(l_proc) then
133        hr_utility.set_location(' Leaving:' || l_proc,40);
134        raise;
135     end if;
136     --
137     -- Reset IN OUT and set OUT parameters
138     --
139     p_atr_object_version_number    := null;
140     p_atr_start_date               := null;
141     p_atr_end_date                 := null;
142     p_atu_object_version_number    := null;
143     p_atu_start_date               := null;
144     p_atu_end_date                 := null;
145     p_return_status := hr_multi_message.get_return_status_disable;
146     hr_utility.set_location(' Leaving:' || l_proc,50);
147 end create_ame_attribute;
148 -- ----------------------------------------------------------------------------
149 -- |----------------------< create_ame_attribute_usage >----------------------|
150 -- ----------------------------------------------------------------------------
151 PROCEDURE create_ame_attribute_usage
152   (p_validate                     in     number    default hr_api.g_false_num
153   ,p_attribute_id                 in     number
154   ,p_application_id               in     number
155   ,p_is_static                    in     varchar2  default ame_util.booleanTrue
156   ,p_query_string                 in     varchar2  default null
157   ,p_user_editable                in     varchar2  default ame_util.booleanTrue
158   ,p_value_set_id                 in     number    default null
159   ,p_object_version_number           out nocopy number
160   ,p_start_date                      out nocopy date
161   ,p_end_date                        out nocopy date
162   ,p_return_status                   out nocopy varchar2
163   ) is
164   --
165   -- Variables for API Boolean parameters
166   l_validate                      boolean;
167   --
168   -- Variables for IN/OUT parameters
169   --
170   -- Other variables
171   l_proc    varchar2(72) := g_package ||'create_ame_attribute_usage';
172 Begin
173   hr_utility.set_location(' Entering:' || l_proc,10);
174   --
175   -- Issue a savepoint
176   --
177   savepoint create_ame_attribute_usage_swi;
178   --
179   -- Initialise Multiple Message Detection
180   --
181   hr_multi_message.enable_message_list;
182   --
183   -- Remember IN OUT parameter IN values
184   --
185   --
186   -- Convert constant values to their corresponding boolean value
187   --
188   l_validate :=
189     hr_api.constant_to_boolean
190       (p_constant_value => p_validate);
191   --
192   -- Register Surrogate ID or user key values
193   --
194   --
195   -- Call API
196   --
197   ame_attribute_api.create_ame_attribute_usage
198     (p_validate                     => l_validate
199     ,p_attribute_id                 => p_attribute_id
200     ,p_application_id               => p_application_id
201     ,p_is_static                    => p_is_static
202     ,p_query_string                 => p_query_string
203     ,p_user_editable                => p_user_editable
204     ,p_value_set_id                 => p_value_set_id
205     ,p_object_version_number        => p_object_version_number
206     ,p_start_date                   => p_start_date
207     ,p_end_date                     => p_end_date
208     );
209   --
210   -- Convert API warning boolean parameter values to specific
211   -- messages and add them to Multiple Message List
212   --
213   --
214   -- Convert API non-warning boolean parameter values
215   --
216   --
217   -- Derive the API return status value based on whether
218   -- messages of any type exist in the Multiple Message List.
219   -- Also disable Multiple Message Detection.
220   --
221   p_return_status := hr_multi_message.get_return_status_disable;
222   hr_utility.set_location(' Leaving:' || l_proc,20);
223   --
224 exception
225   when hr_multi_message.error_message_exist then
226     --
227     -- Catch the Multiple Message List exception which
228     -- indicates API processing has been aborted because
229     -- at least one message exists in the list.
230     --
231     rollback to create_ame_attribute_usage_swi;
232     --
233     -- Reset IN OUT parameters and set OUT parameters
234     --
235     p_object_version_number        := null;
236     p_start_date                   := null;
237     p_end_date                     := null;
238     p_return_status := hr_multi_message.get_return_status_disable;
239     hr_utility.set_location(' Leaving:' || l_proc, 30);
240   when others then
241     --
242     -- When Multiple Message Detection is enabled catch
243     -- any Application specific or other unexpected
244     -- exceptions.  Adding appropriate details to the
245     -- Multiple Message List.  Otherwise re-raise the
246     -- error.
247     --
248     rollback to create_ame_attribute_usage_swi;
249     if hr_multi_message.unexpected_error_add(l_proc) then
250        hr_utility.set_location(' Leaving:' || l_proc,40);
251        raise;
252     end if;
253     --
254     -- Reset IN OUT and set OUT parameters
255     --
256     p_object_version_number        := null;
257     p_start_date                   := null;
258     p_end_date                     := null;
259     p_return_status := hr_multi_message.get_return_status_disable;
260     hr_utility.set_location(' Leaving:' || l_proc,50);
261 end create_ame_attribute_usage;
262 -- ----------------------------------------------------------------------------
263 -- |-------------------------< update_ame_attribute >-------------------------|
264 -- ----------------------------------------------------------------------------
265 PROCEDURE update_ame_attribute
266   (p_validate                     in     number    default hr_api.g_false_num
267   ,p_attribute_id                 in     number
268   ,p_description                  in     varchar2  default hr_api.g_varchar2
269   ,p_object_version_number        in out nocopy number
270   ,p_start_date                      out nocopy date
271   ,p_end_date                        out nocopy date
272   ,p_return_status                   out nocopy varchar2
273   ) is
274   --
275   -- Variables for API Boolean parameters
276   l_validate                      boolean;
277   --
278   -- Variables for IN/OUT parameters
279   l_object_version_number         number;
280   --
281   -- Other variables
282   l_proc    varchar2(72) := g_package ||'update_ame_attribute';
283 Begin
284   hr_utility.set_location(' Entering:' || l_proc,10);
285   --
286   -- Issue a savepoint
287   --
288   savepoint update_ame_attribute_swi;
289   --
290   -- Initialise Multiple Message Detection
291   --
292   hr_multi_message.enable_message_list;
293   --
294   -- Remember IN OUT parameter IN values
295   --
296   l_object_version_number         := p_object_version_number;
297   --
298   -- Convert constant values to their corresponding boolean value
299   --
300   l_validate :=
301     hr_api.constant_to_boolean
302       (p_constant_value => p_validate);
303   --
304   -- Register Surrogate ID or user key values
305   --
306   --
307   -- Call API
308   --
309   ame_attribute_api.update_ame_attribute
310     (p_validate                     => l_validate
311     ,p_attribute_id                 => p_attribute_id
312     ,p_description                  => p_description
313     ,p_object_version_number        => p_object_version_number
314     ,p_start_date                   => p_start_date
315     ,p_end_date                     => p_end_date
316     );
317   --
318   -- Convert API warning boolean parameter values to specific
319   -- messages and add them to Multiple Message List
320   --
321   --
322   -- Convert API non-warning boolean parameter values
323   --
324   --
325   -- Derive the API return status value based on whether
326   -- messages of any type exist in the Multiple Message List.
327   -- Also disable Multiple Message Detection.
328   --
329   p_return_status := hr_multi_message.get_return_status_disable;
330   hr_utility.set_location(' Leaving:' || l_proc,20);
331   --
332 exception
333   when hr_multi_message.error_message_exist then
334     --
335     -- Catch the Multiple Message List exception which
336     -- indicates API processing has been aborted because
337     -- at least one message exists in the list.
338     --
339     rollback to update_ame_attribute_swi;
340     --
341     -- Reset IN OUT parameters and set OUT parameters
342     --
343     p_object_version_number        := l_object_version_number;
344     p_start_date                   := null;
345     p_end_date                     := null;
346     p_return_status := hr_multi_message.get_return_status_disable;
347     hr_utility.set_location(' Leaving:' || l_proc, 30);
348   when others then
349     --
350     -- When Multiple Message Detection is enabled catch
351     -- any Application specific or other unexpected
352     -- exceptions.  Adding appropriate details to the
353     -- Multiple Message List.  Otherwise re-raise the
354     -- error.
355     --
356     rollback to update_ame_attribute_swi;
357     if hr_multi_message.unexpected_error_add(l_proc) then
358        hr_utility.set_location(' Leaving:' || l_proc,40);
359        raise;
360     end if;
361     --
362     -- Reset IN OUT and set OUT parameters
363     --
364     p_object_version_number        := l_object_version_number;
365     p_start_date                   := null;
366     p_end_date                     := null;
367     p_return_status := hr_multi_message.get_return_status_disable;
368     hr_utility.set_location(' Leaving:' || l_proc,50);
369 end update_ame_attribute;
370 -- ----------------------------------------------------------------------------
371 -- |----------------------< update_ame_attribute_usage >----------------------|
372 -- ----------------------------------------------------------------------------
373 PROCEDURE update_ame_attribute_usage
374   (p_validate                     in     number    default hr_api.g_false_num
375   ,p_attribute_id                 in     number
376   ,p_application_id               in     number
377   ,p_is_static                    in     varchar2  default hr_api.g_varchar2
378   ,p_query_string                 in     varchar2  default hr_api.g_varchar2
379   ,p_value_set_id                 in     number    default null
380   ,p_object_version_number        in out nocopy number
381   ,p_start_date                      out nocopy date
382   ,p_end_date                        out nocopy date
383   ,p_return_status                   out nocopy varchar2
384   ) is
385   --
386   -- Variables for API Boolean parameters
387   l_validate                      boolean;
388   --
389   -- Variables for IN/OUT parameters
390   l_object_version_number         number;
391   --
392   -- Other variables
393   l_proc    varchar2(72) := g_package ||'update_ame_attribute_usage';
394 Begin
395   hr_utility.set_location(' Entering:' || l_proc,10);
396   --
397   -- Issue a savepoint
398   --
399   savepoint update_ame_attribute_usage_swi;
400   --
401   -- Initialise Multiple Message Detection
402   --
403   hr_multi_message.enable_message_list;
404   --
405   -- Remember IN OUT parameter IN values
406   --
407   l_object_version_number         := p_object_version_number;
408   --
409   -- Convert constant values to their corresponding boolean value
410   --
411   l_validate :=
412     hr_api.constant_to_boolean
413       (p_constant_value => p_validate);
414   --
415   -- Register Surrogate ID or user key values
416   --
417   --
418   -- Call API
419   --
420   ame_attribute_api.update_ame_attribute_usage
421     (p_validate                     => l_validate
422     ,p_attribute_id                 => p_attribute_id
423     ,p_application_id               => p_application_id
424     ,p_is_static                    => p_is_static
425     ,p_query_string                 => p_query_string
426     ,p_value_set_id                 => p_value_set_id
427     ,p_object_version_number        => p_object_version_number
428     ,p_start_date                   => p_start_date
429     ,p_end_date                     => p_end_date
430     );
431   --
432   -- Convert API warning boolean parameter values to specific
433   -- messages and add them to Multiple Message List
434   --
435   --
436   -- Convert API non-warning boolean parameter values
437   --
438   --
439   -- Derive the API return status value based on whether
440   -- messages of any type exist in the Multiple Message List.
441   -- Also disable Multiple Message Detection.
442   --
443   p_return_status := hr_multi_message.get_return_status_disable;
444   hr_utility.set_location(' Leaving:' || l_proc,20);
445   --
446 exception
447   when hr_multi_message.error_message_exist then
448     --
449     -- Catch the Multiple Message List exception which
450     -- indicates API processing has been aborted because
451     -- at least one message exists in the list.
452     --
453     rollback to update_ame_attribute_usage_swi;
454     --
455     -- Reset IN OUT parameters and set OUT parameters
456     --
457     p_object_version_number        := l_object_version_number;
458     p_start_date                   := null;
459     p_end_date                     := null;
460     p_return_status := hr_multi_message.get_return_status_disable;
461     hr_utility.set_location(' Leaving:' || l_proc, 30);
462   when others then
463     --
464     -- When Multiple Message Detection is enabled catch
465     -- any Application specific or other unexpected
466     -- exceptions.  Adding appropriate details to the
467     -- Multiple Message List.  Otherwise re-raise the
468     -- error.
469     --
470     rollback to update_ame_attribute_usage_swi;
471     if hr_multi_message.unexpected_error_add(l_proc) then
472        hr_utility.set_location(' Leaving:' || l_proc,40);
473        raise;
474     end if;
475     --
476     -- Reset IN OUT and set OUT parameters
477     --
478     p_object_version_number        := l_object_version_number;
479     p_start_date                   := null;
480     p_end_date                     := null;
481     p_return_status := hr_multi_message.get_return_status_disable;
482     hr_utility.set_location(' Leaving:' || l_proc,50);
483 end update_ame_attribute_usage;
484 -- ----------------------------------------------------------------------------
485 -- |----------------------< delete_ame_attribute_usage >----------------------|
486 -- ----------------------------------------------------------------------------
487 PROCEDURE delete_ame_attribute_usage
488   (p_validate                     in     number    default hr_api.g_false_num
489   ,p_attribute_id                 in     number
490   ,p_application_id               in     number
491   ,p_object_version_number        in out nocopy number
492   ,p_start_date                      out nocopy date
493   ,p_end_date                        out nocopy date
494   ,p_return_status                   out nocopy varchar2
495   ) is
496   --
497   -- Variables for API Boolean parameters
498   l_validate                      boolean;
499   --
500   -- Variables for IN/OUT parameters
501   l_object_version_number         number;
502   --
503   -- Other variables
504   l_proc    varchar2(72) := g_package ||'delete_ame_attribute_usage';
505 Begin
506   hr_utility.set_location(' Entering:' || l_proc,10);
507   --
508   -- Issue a savepoint
509   --
510   savepoint delete_ame_attribute_usage_swi;
511   --
512   -- Initialise Multiple Message Detection
513   --
514   hr_multi_message.enable_message_list;
515   --
516   -- Remember IN OUT parameter IN values
517   --
518   l_object_version_number         := p_object_version_number;
519   --
520   -- Convert constant values to their corresponding boolean value
521   --
522   l_validate :=
523     hr_api.constant_to_boolean
524       (p_constant_value => p_validate);
525   --
526   -- Register Surrogate ID or user key values
527   --
528   --
529   -- Call API
530   --
531   ame_attribute_api.delete_ame_attribute_usage
532     (p_validate                     => l_validate
533     ,p_attribute_id                 => p_attribute_id
534     ,p_application_id               => p_application_id
535     ,p_object_version_number        => p_object_version_number
536     ,p_start_date                   => p_start_date
537     ,p_end_date                     => p_end_date
538     );
539   --
540   -- Convert API warning boolean parameter values to specific
541   -- messages and add them to Multiple Message List
542   --
543   --
544   -- Convert API non-warning boolean parameter values
545   --
546   --
547   -- Derive the API return status value based on whether
548   -- messages of any type exist in the Multiple Message List.
549   -- Also disable Multiple Message Detection.
550   --
551   p_return_status := hr_multi_message.get_return_status_disable;
552   hr_utility.set_location(' Leaving:' || l_proc,20);
553   --
554 exception
555   when hr_multi_message.error_message_exist then
556     --
557     -- Catch the Multiple Message List exception which
558     -- indicates API processing has been aborted because
559     -- at least one message exists in the list.
560     --
561     rollback to delete_ame_attribute_usage_swi;
562     --
563     -- Reset IN OUT parameters and set OUT parameters
564     --
565     p_object_version_number        := l_object_version_number;
566     p_start_date                   := null;
567     p_end_date                     := null;
568     p_return_status := hr_multi_message.get_return_status_disable;
569     hr_utility.set_location(' Leaving:' || l_proc, 30);
570   when others then
571     --
572     -- When Multiple Message Detection is enabled catch
573     -- any Application specific or other unexpected
574     -- exceptions.  Adding appropriate details to the
575     -- Multiple Message List.  Otherwise re-raise the
576     -- error.
577     --
578     rollback to delete_ame_attribute_usage_swi;
579     if hr_multi_message.unexpected_error_add(l_proc) then
580        hr_utility.set_location(' Leaving:' || l_proc,40);
581        raise;
582     end if;
583     --
584     -- Reset IN OUT and set OUT parameters
585     --
586     p_object_version_number        := l_object_version_number;
587     p_start_date                   := null;
588     p_end_date                     := null;
589     p_return_status := hr_multi_message.get_return_status_disable;
590     hr_utility.set_location(' Leaving:' || l_proc,50);
591 end delete_ame_attribute_usage;
592 end ame_attribute_swi;