DBA Data[Home] [Help]

PACKAGE BODY: APPS.PER_HIERARCHY_VERSIONS_SWI

Source


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