DBA Data[Home] [Help]

PACKAGE BODY: APPS.OTA_ACTIVITY_VERSION_SWI

Source


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