DBA Data[Home] [Help]

PACKAGE BODY: APPS.HR_POS_HIERARCHY_ELE_SWI

Source


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