DBA Data[Home] [Help]

PACKAGE BODY: APPS.PER_HIERARCHY_NODES_SWI

Source


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