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