[Home] [Help]
PACKAGE BODY: APPS.HR_PERF_MGMT_PLAN_API
Source
1 Package Body HR_PERF_MGMT_PLAN_API as
2 /* $Header: pepmpapi.pkb 120.5.12020000.1 2012/06/29 01:50:17 appldev ship $ */
3 --
4 -- Package Variables
5 --
6 g_package varchar2(33) := ' hr_perf_mgmt_plan_api.';
7 g_debug boolean := hr_utility.debug_enabled;
8 --
9 -- ----------------------------------------------------------------------------
10 -- |-------------------------< create_perf_mgmt_plan >------------------------|
11 -- ----------------------------------------------------------------------------
12 --
13 procedure create_perf_mgmt_plan
14 (p_validate in boolean default false
15 ,p_effective_date in date
16 ,p_plan_name in varchar2
17 ,p_administrator_person_id in number
18 ,p_previous_plan_id in number default null
19 ,p_start_date in date
20 ,p_end_date in date
21 ,p_hierarchy_type_code in varchar2 default null
22 ,p_supervisor_id in number default null
23 ,p_supervisor_assignment_id in number default null
24 ,p_organization_structure_id in number default null
25 ,p_org_structure_version_id in number default null
26 ,p_top_organization_id in number default null
27 ,p_position_structure_id in number default null
28 ,p_pos_structure_version_id in number default null
29 ,p_top_position_id in number default null
30 ,p_hierarchy_levels in number default null
31 ,p_automatic_enrollment_flag in varchar2 default 'N'
32 ,p_assignment_types_code in varchar2 default 'E'
33 ,p_primary_asg_only_flag in varchar2 default 'Y'
34 ,p_include_obj_setting_flag in varchar2 default 'Y'
35 ,p_obj_setting_start_date in date default null
36 ,p_obj_setting_deadline in date default null
37 ,p_obj_set_outside_period_flag in varchar2 default 'N'
38 ,p_method_code in varchar2 default 'CAS'
39 ,p_notify_population_flag in varchar2 default 'Y'
40 ,p_automatic_allocation_flag in varchar2 default 'N'
41 ,p_copy_past_objectives_flag in varchar2 default 'N'
42 ,p_sharing_alignment_task_flag in varchar2 default 'Y'
43 ,p_include_appraisals_flag in varchar2 default 'Y'
44 ,p_change_sc_status_flag in varchar2 default 'N'
45 ,p_attribute_category in varchar2 default null
46 ,p_attribute1 in varchar2 default null
47 ,p_attribute2 in varchar2 default null
48 ,p_attribute3 in varchar2 default null
49 ,p_attribute4 in varchar2 default null
50 ,p_attribute5 in varchar2 default null
51 ,p_attribute6 in varchar2 default null
52 ,p_attribute7 in varchar2 default null
53 ,p_attribute8 in varchar2 default null
54 ,p_attribute9 in varchar2 default null
55 ,p_attribute10 in varchar2 default null
56 ,p_attribute11 in varchar2 default null
57 ,p_attribute12 in varchar2 default null
58 ,p_attribute13 in varchar2 default null
59 ,p_attribute14 in varchar2 default null
60 ,p_attribute15 in varchar2 default null
61 ,p_attribute16 in varchar2 default null
62 ,p_attribute17 in varchar2 default null
63 ,p_attribute18 in varchar2 default null
64 ,p_attribute19 in varchar2 default null
65 ,p_attribute20 in varchar2 default null
66 ,p_attribute21 in varchar2 default null
67 ,p_attribute22 in varchar2 default null
68 ,p_attribute23 in varchar2 default null
69 ,p_attribute24 in varchar2 default null
70 ,p_attribute25 in varchar2 default null
71 ,p_attribute26 in varchar2 default null
72 ,p_attribute27 in varchar2 default null
73 ,p_attribute28 in varchar2 default null
74 ,p_attribute29 in varchar2 default null
75 ,p_attribute30 in varchar2 default null
76 ,p_plan_id out nocopy number
77 ,p_object_version_number out nocopy number
78 ,p_status_code out nocopy varchar2
79 ,p_duplicate_name_warning out nocopy boolean
80 ,p_no_life_events_warning out nocopy boolean
81 ,p_update_library_objectives in varchar2 default null -- 8740021 bug fix
82 ,p_automatic_approval_flag in varchar2 default null
83 ) is
84 --
85 -- Declare cursors and local variables
86 --
87 l_proc varchar2(72) := g_package||'create_perf_mgmt_plan';
88 l_effective_date date;
89 l_start_date date;
90 l_end_date date;
91 l_obj_setting_start_date date;
92 l_obj_setting_deadline date;
93 l_object_version_number number;
94 l_plan_id number;
95 l_status_code per_perf_mgmt_plans.status_code%TYPE;
96 l_duplicate_name_warning boolean := false;
97 l_no_life_events_warning boolean := false;
98
99 begin
100
101 IF g_debug THEN
102
103 hr_utility.set_location('Entering:'|| l_proc, 10);
104
105 hr_utility.trace(' ');
106 hr_utility.trace(' --------------------------------'||
107 '---------------------------------');
108 hr_utility.trace(' IN / IN OUT PARAMETER '||
109 ' VALUE');
110 hr_utility.trace(' --------------------------------'||
111 '+--------------------------------');
112 hr_utility.trace(' p_effective_date '||
113 to_char(p_effective_date));
114 hr_utility.trace(' p_plan_name '||
115 p_plan_name);
116 hr_utility.trace(' p_administrator_person_id '||
117 to_char(p_administrator_person_id));
118 hr_utility.trace(' p_previous_plan_id '||
119 to_char(p_previous_plan_id));
120 hr_utility.trace(' p_start_date '||
121 to_char(p_start_date));
122 hr_utility.trace(' p_end_date '||
123 to_char(p_end_date));
124 hr_utility.trace(' p_hierarchy_type_code '||
125 p_hierarchy_type_code);
126 hr_utility.trace(' p_supervisor_id '||
127 to_char(p_supervisor_id));
128 hr_utility.trace(' p_supervisor_assignment_id '||
129 to_char(p_supervisor_assignment_id));
130 hr_utility.trace(' p_organization_structure_id '||
131 to_char(p_organization_structure_id));
132 hr_utility.trace(' p_org_structure_version_id '||
133 to_char(p_org_structure_version_id));
134 hr_utility.trace(' p_top_organization_id '||
135 to_char(p_top_organization_id));
136 hr_utility.trace(' p_position_structure_id '||
137 to_char(p_position_structure_id));
138 hr_utility.trace(' p_pos_structure_version_id '||
139 to_char(p_pos_structure_version_id));
140 hr_utility.trace(' p_top_position_id '||
141 to_char(p_top_position_id));
142 hr_utility.trace(' p_hierarchy_levels '||
143 to_char(p_hierarchy_levels));
144 hr_utility.trace(' p_automatic_enrollment_flag '||
145 p_automatic_enrollment_flag);
146 hr_utility.trace(' p_assignment_types_code '||
147 p_assignment_types_code);
148 hr_utility.trace(' p_primary_asg_only_flag '||
149 p_primary_asg_only_flag);
150 hr_utility.trace(' p_include_obj_setting_flag '||
151 p_include_obj_setting_flag);
152 hr_utility.trace(' p_obj_setting_start_date '||
153 to_char(p_obj_setting_start_date));
154 hr_utility.trace(' p_obj_setting_deadline '||
155 to_char(p_obj_setting_deadline));
156 hr_utility.trace(' p_obj_set_outside_period_flag '||
157 p_obj_set_outside_period_flag);
158 hr_utility.trace(' p_method_code '||
159 p_method_code);
160 hr_utility.trace(' p_notify_population_flag '||
161 p_notify_population_flag);
162 hr_utility.trace(' p_automatic_allocation_flag '||
163 p_automatic_allocation_flag);
164 hr_utility.trace(' p_copy_past_objectives_flag '||
165 p_copy_past_objectives_flag);
166 hr_utility.trace(' p_sharing_alignment_task_flag '||
167 p_sharing_alignment_task_flag);
168 hr_utility.trace(' p_include_appraisals_flag '||
169 p_include_appraisals_flag);
170 hr_utility.trace(' p_change_sc_status_flag '||
171 p_change_sc_status_flag);
172 hr_utility.trace(' --------------------------------'||
173 '---------------------------------');
174 hr_utility.trace(' ');
175
176 END IF;
177
178 --
179 -- Issue a savepoint
180 --
181 savepoint create_perf_mgmt_plan;
182
183 --
184 -- Truncate the time portion from all IN date parameters
185 --
186 l_effective_date := trunc(p_effective_date);
187 l_start_date := trunc(p_start_date);
188 l_end_date := trunc(p_end_date);
189 l_obj_setting_start_date := trunc(p_obj_setting_start_date);
190 l_obj_setting_deadline := trunc(p_obj_setting_deadline);
191
192 --
193 -- Call Before Process User Hook
194 --
195 begin
196 hr_perf_mgmt_plan_bk1.create_perf_mgmt_plan_b
197 (p_effective_date => l_effective_date
198 ,p_plan_name => p_plan_name
199 ,p_administrator_person_id => p_administrator_person_id
200 ,p_previous_plan_id => p_previous_plan_id
201 ,p_start_date => l_start_date
202 ,p_end_date => l_end_date
203 ,p_hierarchy_type_code => p_hierarchy_type_code
204 ,p_supervisor_id => p_supervisor_id
205 ,p_supervisor_assignment_id => p_supervisor_assignment_id
206 ,p_organization_structure_id => p_organization_structure_id
207 ,p_org_structure_version_id => p_org_structure_version_id
208 ,p_top_organization_id => p_top_organization_id
209 ,p_position_structure_id => p_position_structure_id
210 ,p_pos_structure_version_id => p_pos_structure_version_id
211 ,p_top_position_id => p_top_position_id
212 ,p_hierarchy_levels => p_hierarchy_levels
213 ,p_automatic_enrollment_flag => p_automatic_enrollment_flag
214 ,p_assignment_types_code => p_assignment_types_code
215 ,p_primary_asg_only_flag => p_primary_asg_only_flag
216 ,p_include_obj_setting_flag => p_include_obj_setting_flag
217 ,p_obj_setting_start_date => l_obj_setting_start_date
218 ,p_obj_setting_deadline => l_obj_setting_deadline
219 ,p_obj_set_outside_period_flag => p_obj_set_outside_period_flag
220 ,p_method_code => p_method_code
221 ,p_notify_population_flag => p_notify_population_flag
222 ,p_automatic_allocation_flag => p_automatic_allocation_flag
223 ,p_copy_past_objectives_flag => p_copy_past_objectives_flag
224 ,p_sharing_alignment_task_flag => p_sharing_alignment_task_flag
225 ,p_include_appraisals_flag => p_include_appraisals_flag
226 ,p_change_sc_status_flag => p_change_sc_status_flag
227 ,p_attribute_category => p_attribute_category
228 ,p_attribute1 => p_attribute1
229 ,p_attribute2 => p_attribute2
230 ,p_attribute3 => p_attribute3
231 ,p_attribute4 => p_attribute4
232 ,p_attribute5 => p_attribute5
233 ,p_attribute6 => p_attribute6
234 ,p_attribute7 => p_attribute7
235 ,p_attribute8 => p_attribute8
236 ,p_attribute9 => p_attribute9
237 ,p_attribute10 => p_attribute10
238 ,p_attribute11 => p_attribute11
239 ,p_attribute12 => p_attribute12
240 ,p_attribute13 => p_attribute13
241 ,p_attribute14 => p_attribute14
242 ,p_attribute15 => p_attribute15
243 ,p_attribute16 => p_attribute16
244 ,p_attribute17 => p_attribute17
245 ,p_attribute18 => p_attribute18
246 ,p_attribute19 => p_attribute19
247 ,p_attribute20 => p_attribute20
248 ,p_attribute21 => p_attribute21
249 ,p_attribute22 => p_attribute22
250 ,p_attribute23 => p_attribute23
251 ,p_attribute24 => p_attribute24
252 ,p_attribute25 => p_attribute25
253 ,p_attribute26 => p_attribute26
254 ,p_attribute27 => p_attribute27
255 ,p_attribute28 => p_attribute28
256 ,p_attribute29 => p_attribute29
257 ,p_attribute30 => p_attribute30
258 ,p_update_library_objectives => p_update_library_objectives -- 8740021 bug fix
259 ,p_automatic_approval_flag => p_automatic_approval_flag
260 );
261
262 exception
263 when hr_api.cannot_find_prog_unit then
264 hr_api.cannot_find_prog_unit_error
265 (p_module_name => 'CREATE_PERF_MGMT_PLAN',
266 p_hook_type => 'BP'
267 );
268 end;
269 --
270 -- End of Before Process User Hook call
271 --
272 IF g_debug THEN hr_utility.set_location(l_proc, 30); END IF;
273
274 --
275 -- Call the row handler insert
276 --
277 per_pmp_ins.ins
278 (p_effective_date => l_effective_date
279 ,p_plan_name => p_plan_name
280 ,p_administrator_person_id => p_administrator_person_id
281 ,p_previous_plan_id => p_previous_plan_id
282 ,p_start_date => l_start_date
283 ,p_end_date => l_end_date
284 ,p_hierarchy_type_code => p_hierarchy_type_code
285 ,p_supervisor_id => p_supervisor_id
286 ,p_supervisor_assignment_id => p_supervisor_assignment_id
287 ,p_organization_structure_id => p_organization_structure_id
288 ,p_org_structure_version_id => p_org_structure_version_id
289 ,p_top_organization_id => p_top_organization_id
290 ,p_position_structure_id => p_position_structure_id
291 ,p_pos_structure_version_id => p_pos_structure_version_id
292 ,p_top_position_id => p_top_position_id
293 ,p_hierarchy_levels => p_hierarchy_levels
294 ,p_automatic_enrollment_flag => p_automatic_enrollment_flag
295 ,p_assignment_types_code => p_assignment_types_code
296 ,p_primary_asg_only_flag => p_primary_asg_only_flag
297 ,p_include_obj_setting_flag => p_include_obj_setting_flag
298 ,p_obj_setting_start_date => l_obj_setting_start_date
299 ,p_obj_setting_deadline => l_obj_setting_deadline
300 ,p_obj_set_outside_period_flag => p_obj_set_outside_period_flag
301 ,p_method_code => p_method_code
302 ,p_notify_population_flag => p_notify_population_flag
303 ,p_automatic_allocation_flag => p_automatic_allocation_flag
304 ,p_copy_past_objectives_flag => p_copy_past_objectives_flag
305 ,p_sharing_alignment_task_flag => p_sharing_alignment_task_flag
306 ,p_include_appraisals_flag => p_include_appraisals_flag
307 ,p_change_sc_status_flag => p_change_sc_status_flag
308 ,p_attribute_category => p_attribute_category
309 ,p_attribute1 => p_attribute1
310 ,p_attribute2 => p_attribute2
311 ,p_attribute3 => p_attribute3
312 ,p_attribute4 => p_attribute4
313 ,p_attribute5 => p_attribute5
314 ,p_attribute6 => p_attribute6
315 ,p_attribute7 => p_attribute7
316 ,p_attribute8 => p_attribute8
317 ,p_attribute9 => p_attribute9
318 ,p_attribute10 => p_attribute10
319 ,p_attribute11 => p_attribute11
320 ,p_attribute12 => p_attribute12
321 ,p_attribute13 => p_attribute13
322 ,p_attribute14 => p_attribute14
323 ,p_attribute15 => p_attribute15
324 ,p_attribute16 => p_attribute16
325 ,p_attribute17 => p_attribute17
326 ,p_attribute18 => p_attribute18
327 ,p_attribute19 => p_attribute19
328 ,p_attribute20 => p_attribute20
329 ,p_attribute21 => p_attribute21
330 ,p_attribute22 => p_attribute22
331 ,p_attribute23 => p_attribute23
332 ,p_attribute24 => p_attribute24
333 ,p_attribute25 => p_attribute25
334 ,p_attribute26 => p_attribute26
335 ,p_attribute27 => p_attribute27
336 ,p_attribute28 => p_attribute28
337 ,p_attribute29 => p_attribute29
338 ,p_attribute30 => p_attribute30
339 ,p_plan_id => l_plan_id
340 ,p_object_version_number => l_object_version_number
341 ,p_status_code => l_status_code
342 ,p_duplicate_name_warning => l_duplicate_name_warning
343 ,p_no_life_events_warning => p_no_life_events_warning
344 ,p_update_library_objectives => p_update_library_objectives -- 8740021 bug fix
345 ,p_automatic_approval_flag => p_automatic_approval_flag
346 );
347
348 IF g_debug THEN hr_utility.set_location(l_proc, 30); END IF;
349
350 --
351 -- Call After Process User Hook
352 --
353
354 begin
355
356 hr_perf_mgmt_plan_bk1.create_perf_mgmt_plan_a
357 (p_effective_date => l_effective_date
358 ,p_plan_id => l_plan_id
359 ,p_plan_name => p_plan_name
360 ,p_administrator_person_id => p_administrator_person_id
361 ,p_previous_plan_id => p_previous_plan_id
362 ,p_start_date => l_start_date
363 ,p_end_date => l_end_date
364 ,p_hierarchy_type_code => p_hierarchy_type_code
365 ,p_supervisor_id => p_supervisor_id
366 ,p_supervisor_assignment_id => p_supervisor_assignment_id
367 ,p_organization_structure_id => p_organization_structure_id
368 ,p_org_structure_version_id => p_org_structure_version_id
369 ,p_top_organization_id => p_top_organization_id
370 ,p_position_structure_id => p_position_structure_id
371 ,p_pos_structure_version_id => p_pos_structure_version_id
372 ,p_top_position_id => p_top_position_id
373 ,p_hierarchy_levels => p_hierarchy_levels
374 ,p_automatic_enrollment_flag => p_automatic_enrollment_flag
375 ,p_assignment_types_code => p_assignment_types_code
376 ,p_primary_asg_only_flag => p_primary_asg_only_flag
377 ,p_include_obj_setting_flag => p_include_obj_setting_flag
378 ,p_obj_setting_start_date => l_obj_setting_start_date
379 ,p_obj_setting_deadline => l_obj_setting_deadline
380 ,p_obj_set_outside_period_flag => p_obj_set_outside_period_flag
381 ,p_method_code => p_method_code
382 ,p_notify_population_flag => p_notify_population_flag
383 ,p_automatic_allocation_flag => p_automatic_allocation_flag
384 ,p_copy_past_objectives_flag => p_copy_past_objectives_flag
385 ,p_sharing_alignment_task_flag => p_sharing_alignment_task_flag
386 ,p_include_appraisals_flag => p_include_appraisals_flag
387 ,p_change_sc_status_flag => p_change_sc_status_flag
388 ,p_attribute_category => p_attribute_category
389 ,p_attribute1 => p_attribute1
390 ,p_attribute2 => p_attribute2
391 ,p_attribute3 => p_attribute3
392 ,p_attribute4 => p_attribute4
393 ,p_attribute5 => p_attribute5
394 ,p_attribute6 => p_attribute6
395 ,p_attribute7 => p_attribute7
396 ,p_attribute8 => p_attribute8
397 ,p_attribute9 => p_attribute9
398 ,p_attribute10 => p_attribute10
399 ,p_attribute11 => p_attribute11
400 ,p_attribute12 => p_attribute12
401 ,p_attribute13 => p_attribute13
402 ,p_attribute14 => p_attribute14
403 ,p_attribute15 => p_attribute15
404 ,p_attribute16 => p_attribute16
405 ,p_attribute17 => p_attribute17
406 ,p_attribute18 => p_attribute18
407 ,p_attribute19 => p_attribute19
408 ,p_attribute20 => p_attribute20
409 ,p_attribute21 => p_attribute21
410 ,p_attribute22 => p_attribute22
411 ,p_attribute23 => p_attribute23
412 ,p_attribute24 => p_attribute24
413 ,p_attribute25 => p_attribute25
414 ,p_attribute26 => p_attribute26
415 ,p_attribute27 => p_attribute27
416 ,p_attribute28 => p_attribute28
417 ,p_attribute29 => p_attribute29
418 ,p_attribute30 => p_attribute30
419 ,p_object_version_number => l_object_version_number
420 ,p_status_code => l_status_code
421 ,p_duplicate_name_warning => l_duplicate_name_warning
422 ,p_no_life_events_warning => l_no_life_events_warning
423 ,p_update_library_objectives => p_update_library_objectives -- 8740021 bug fix
424 ,p_automatic_approval_flag => p_automatic_approval_flag
425 );
426
427 exception
428 when hr_api.cannot_find_prog_unit then
429 hr_api.cannot_find_prog_unit_error
430 (p_module_name => 'CREATE_PERF_MGMT_PLAN',
431 p_hook_type => 'AP'
432 );
433
434 end;
435
436 IF g_debug THEN hr_utility.set_location(l_proc, 50); END IF;
437
438 --
439 -- End of After Process User Hook call
440 --
441 -- When in validation only mode raise the Validate_Enabled exception
442 --
443 if p_validate then
444 raise hr_api.validate_enabled;
445 end if;
446 --
447 --
448 -- Set all IN OUT and OUT parameters with out values
449 --
450 p_plan_id := l_plan_id;
451 p_status_code := l_status_code;
452 p_object_version_number := l_object_version_number;
453 p_duplicate_name_warning := l_duplicate_name_warning;
454 p_no_life_events_warning := l_no_life_events_warning;
455
456
457 IF g_debug THEN
458
459 hr_utility.trace(' ');
460 hr_utility.trace('+--------------------------------'||
461 '---------------------------------');
462 hr_utility.trace(' IN OUT / OUT PARAMETER '||
463 ' VALUE');
464 hr_utility.trace(' --------------------------------'||
465 '---------------------------------');
466 hr_utility.trace(' p_plan_id '||
467 to_char(p_plan_id));
468 hr_utility.trace(' p_object_version_number '||
469 to_char(p_object_version_number));
470 hr_utility.trace(' p_status_code '||
471 p_status_code);
472 IF p_duplicate_name_warning THEN
473 hr_utility.trace(' p_duplicate_name_warning '||
474 'TRUE');
475 ELSE
476 hr_utility.trace(' p_duplicate_name_warning '||
477 'FALSE');
478 END IF;
479 IF p_no_life_events_warning THEN
480 hr_utility.trace(' p_no_life_events_warning '||
481 'TRUE');
482 ELSE
483 hr_utility.trace(' p_no_life_events_warning '||
484 'FALSE');
485 END IF;
486 hr_utility.trace(' --------------------------------'||
487 '---------------------------------');
488 hr_utility.trace(' ');
489 hr_utility.set_location(' Leaving:'||l_proc, 970);
490
491 END IF;
492
493 exception
494 when hr_api.validate_enabled then
495 --
496 -- As the Validate_Enabled exception has been raised
497 -- we must rollback to the savepoint
498 --
499 ROLLBACK TO create_perf_mgmt_plan;
500 --
501 -- Reset IN OUT parameters and set OUT parameters
502 -- (Any key or derived arguments must be set to null
503 -- when validation only mode is being used.)
504 --
505 p_plan_id := null;
506 p_object_version_number := null;
507 p_duplicate_name_warning := l_duplicate_name_warning;
508 p_no_life_events_warning := l_no_life_events_warning;
509
510 --
511 hr_utility.set_location(' Leaving:'||l_proc, 980);
512 --
513 when others then
514 --
515 -- A validation or unexpected error has occured
516 --
517 rollback to create_perf_mgmt_plan;
518 --
519 -- Reset IN OUT parameters and set all
520 -- OUT parameters, including warnings, to null
521 --
522 p_plan_id := null;
523 p_object_version_number := null;
524 p_duplicate_name_warning := null;
525 p_no_life_events_warning := null;
526
527 hr_utility.set_location(' Leaving:'||l_proc, 990);
528 raise;
529
530 end create_perf_mgmt_plan;
531 --
532 -- ----------------------------------------------------------------------------
533 -- |-------------------------< update_perf_mgmt_plan >------------------------|
534 -- ----------------------------------------------------------------------------
535 --
536 procedure update_perf_mgmt_plan
537 (p_validate in boolean default false
538 ,p_effective_date in date
539 ,p_plan_id in number
540 ,p_plan_name in varchar2 default hr_api.g_varchar2
541 ,p_administrator_person_id in number default hr_api.g_number
542 ,p_previous_plan_id in number default hr_api.g_number
543 ,p_start_date in date default hr_api.g_date
544 ,p_end_date in date default hr_api.g_date
545 ,p_hierarchy_type_code in varchar2 default hr_api.g_varchar2
546 ,p_supervisor_id in number default hr_api.g_number
547 ,p_supervisor_assignment_id in number default hr_api.g_number
548 ,p_organization_structure_id in number default hr_api.g_number
549 ,p_org_structure_version_id in number default hr_api.g_number
550 ,p_top_organization_id in number default hr_api.g_number
551 ,p_position_structure_id in number default hr_api.g_number
552 ,p_pos_structure_version_id in number default hr_api.g_number
553 ,p_top_position_id in number default hr_api.g_number
554 ,p_hierarchy_levels in number default hr_api.g_number
555 ,p_automatic_enrollment_flag in varchar2 default hr_api.g_varchar2
556 ,p_assignment_types_code in varchar2 default hr_api.g_varchar2
557 ,p_primary_asg_only_flag in varchar2 default hr_api.g_varchar2
558 ,p_include_obj_setting_flag in varchar2 default hr_api.g_varchar2
559 ,p_obj_setting_start_date in date default hr_api.g_date
560 ,p_obj_setting_deadline in date default hr_api.g_date
561 ,p_obj_set_outside_period_flag in varchar2 default hr_api.g_varchar2
562 ,p_method_code in varchar2 default hr_api.g_varchar2
563 ,p_notify_population_flag in varchar2 default hr_api.g_varchar2
564 ,p_automatic_allocation_flag in varchar2 default hr_api.g_varchar2
565 ,p_copy_past_objectives_flag in varchar2 default hr_api.g_varchar2
566 ,p_sharing_alignment_task_flag in varchar2 default hr_api.g_varchar2
567 ,p_include_appraisals_flag in varchar2 default hr_api.g_varchar2
568 ,p_change_sc_status_flag in varchar2 default hr_api.g_varchar2
569 ,p_attribute_category in varchar2 default hr_api.g_varchar2
570 ,p_attribute1 in varchar2 default hr_api.g_varchar2
571 ,p_attribute2 in varchar2 default hr_api.g_varchar2
572 ,p_attribute3 in varchar2 default hr_api.g_varchar2
573 ,p_attribute4 in varchar2 default hr_api.g_varchar2
574 ,p_attribute5 in varchar2 default hr_api.g_varchar2
575 ,p_attribute6 in varchar2 default hr_api.g_varchar2
576 ,p_attribute7 in varchar2 default hr_api.g_varchar2
577 ,p_attribute8 in varchar2 default hr_api.g_varchar2
578 ,p_attribute9 in varchar2 default hr_api.g_varchar2
579 ,p_attribute10 in varchar2 default hr_api.g_varchar2
580 ,p_attribute11 in varchar2 default hr_api.g_varchar2
581 ,p_attribute12 in varchar2 default hr_api.g_varchar2
582 ,p_attribute13 in varchar2 default hr_api.g_varchar2
583 ,p_attribute14 in varchar2 default hr_api.g_varchar2
584 ,p_attribute15 in varchar2 default hr_api.g_varchar2
585 ,p_attribute16 in varchar2 default hr_api.g_varchar2
586 ,p_attribute17 in varchar2 default hr_api.g_varchar2
587 ,p_attribute18 in varchar2 default hr_api.g_varchar2
588 ,p_attribute19 in varchar2 default hr_api.g_varchar2
589 ,p_attribute20 in varchar2 default hr_api.g_varchar2
590 ,p_attribute21 in varchar2 default hr_api.g_varchar2
591 ,p_attribute22 in varchar2 default hr_api.g_varchar2
592 ,p_attribute23 in varchar2 default hr_api.g_varchar2
593 ,p_attribute24 in varchar2 default hr_api.g_varchar2
594 ,p_attribute25 in varchar2 default hr_api.g_varchar2
595 ,p_attribute26 in varchar2 default hr_api.g_varchar2
596 ,p_attribute27 in varchar2 default hr_api.g_varchar2
597 ,p_attribute28 in varchar2 default hr_api.g_varchar2
598 ,p_attribute29 in varchar2 default hr_api.g_varchar2
599 ,p_attribute30 in varchar2 default hr_api.g_varchar2
600 ,p_object_version_number in out nocopy number
601 ,p_status_code out nocopy varchar2
602 ,p_duplicate_name_warning out nocopy boolean
603 ,p_no_life_events_warning out nocopy boolean
604 ,p_update_library_objectives in varchar2 default hr_api.g_varchar2 -- 8740021 bug fix
605 ,p_automatic_approval_flag in varchar2 default hr_api.g_varchar2
606 ) is
607
608 --
609 -- Declare cursors and local variables
610 --
611 --
612 l_proc varchar2(72) := g_package||'update_perf_mgmt_plan';
613 l_effective_date date;
614 l_start_date date;
615 l_end_date date;
616 l_obj_setting_start_date date;
617 l_obj_setting_deadline date;
618 l_object_version_number number;
619 l_status_code varchar2(30);
620 l_duplicate_name_warning boolean := false;
621 l_no_life_events_warning boolean := false;
622
623
624 begin
625
626 IF g_debug THEN
627
628 hr_utility.set_location('Entering:'|| l_proc, 10);
629
630 hr_utility.trace(' ');
631 hr_utility.trace(' --------------------------------'||
632 '---------------------------------');
633 hr_utility.trace(' IN / IN OUT PARAMETER '||
634 ' VALUE');
635 hr_utility.trace(' --------------------------------'||
636 '+--------------------------------');
637 hr_utility.trace(' p_effective_date '||
638 to_char(p_effective_date));
639 hr_utility.trace(' p_plan_id '||
640 to_char(p_plan_id));
641 hr_utility.trace(' p_object_version_number '||
642 to_char(p_object_version_number));
643 hr_utility.trace(' p_plan_name '||
644 p_plan_name);
645 hr_utility.trace(' p_administrator_person_id '||
646 to_char(p_administrator_person_id));
647 hr_utility.trace(' p_previous_plan_id '||
648 to_char(p_previous_plan_id));
649 hr_utility.trace(' p_start_date '||
650 to_char(p_start_date));
651 hr_utility.trace(' p_end_date '||
652 to_char(p_end_date));
653 hr_utility.trace(' p_hierarchy_type_code '||
654 p_hierarchy_type_code);
655 hr_utility.trace(' p_supervisor_id '||
656 to_char(p_supervisor_id));
657 hr_utility.trace(' p_supervisor_assignment_id '||
658 to_char(p_supervisor_assignment_id));
659 hr_utility.trace(' p_organization_structure_id '||
660 to_char(p_organization_structure_id));
661 hr_utility.trace(' p_org_structure_version_id '||
662 to_char(p_org_structure_version_id));
663 hr_utility.trace(' p_top_organization_id '||
664 to_char(p_top_organization_id));
665 hr_utility.trace(' p_position_structure_id '||
666 to_char(p_position_structure_id));
667 hr_utility.trace(' p_pos_structure_version_id '||
668 to_char(p_pos_structure_version_id));
669 hr_utility.trace(' p_top_position_id '||
670 to_char(p_top_position_id));
671 hr_utility.trace(' p_hierarchy_levels '||
672 to_char(p_hierarchy_levels));
673 hr_utility.trace(' p_automatic_enrollment_flag '||
674 p_automatic_enrollment_flag);
675 hr_utility.trace(' p_assignment_types_code '||
676 p_assignment_types_code);
677 hr_utility.trace(' p_primary_asg_only_flag '||
678 p_primary_asg_only_flag);
679 hr_utility.trace(' p_include_obj_setting_flag '||
680 p_include_obj_setting_flag);
681 hr_utility.trace(' p_obj_setting_start_date '||
682 to_char(p_obj_setting_start_date));
683 hr_utility.trace(' p_obj_setting_deadline '||
684 to_char(p_obj_setting_deadline));
685 hr_utility.trace(' p_obj_set_outside_period_flag '||
686 p_obj_set_outside_period_flag);
687 hr_utility.trace(' p_method_code '||
688 p_method_code);
689 hr_utility.trace(' p_notify_population_flag '||
690 p_notify_population_flag);
691 hr_utility.trace(' p_automatic_allocation_flag '||
692 p_automatic_allocation_flag);
693 hr_utility.trace(' p_copy_past_objectives_flag '||
694 p_copy_past_objectives_flag);
695 hr_utility.trace(' p_sharing_alignment_task_flag '||
696 p_sharing_alignment_task_flag);
697 hr_utility.trace(' p_include_appraisals_flag '||
698 p_include_appraisals_flag);
699 hr_utility.trace(' p_change_sc_status_flag '||
700 p_change_sc_status_flag);
701 hr_utility.trace(' --------------------------------'||
702 '---------------------------------');
703 hr_utility.trace(' ');
704
705 END IF;
706
707 --
708 -- Issue a savepoint
709 --
710 savepoint update_perf_mgmt_plan;
711 --
712 -- Remember IN OUT parameter IN values
713 --
714 l_object_version_number := p_object_version_number;
715
716 --
717 -- Truncate the time portion from all IN date parameters
718 --
719 l_effective_date := trunc(p_effective_date);
720 l_start_date := trunc(p_start_date);
721 l_end_date := trunc(p_end_date);
722 l_obj_setting_start_date := trunc(p_obj_setting_start_date);
723 l_obj_setting_deadline := trunc(p_obj_setting_deadline);
724
725 --
726 -- Call Before Process User Hook
727 --
728 begin
729
730 hr_perf_mgmt_plan_bk2.update_perf_mgmt_plan_b
731 (p_effective_date => l_effective_date
732 ,p_plan_id => p_plan_id
733 ,p_plan_name => p_plan_name
734 ,p_administrator_person_id => p_administrator_person_id
735 ,p_previous_plan_id => p_previous_plan_id
736 ,p_start_date => l_start_date
737 ,p_end_date => l_end_date
738 ,p_hierarchy_type_code => p_hierarchy_type_code
739 ,p_supervisor_id => p_supervisor_id
740 ,p_supervisor_assignment_id => p_supervisor_assignment_id
741 ,p_organization_structure_id => p_organization_structure_id
742 ,p_org_structure_version_id => p_org_structure_version_id
743 ,p_top_organization_id => p_top_organization_id
744 ,p_position_structure_id => p_position_structure_id
745 ,p_pos_structure_version_id => p_pos_structure_version_id
746 ,p_top_position_id => p_top_position_id
747 ,p_hierarchy_levels => p_hierarchy_levels
748 ,p_automatic_enrollment_flag => p_automatic_enrollment_flag
749 ,p_assignment_types_code => p_assignment_types_code
750 ,p_primary_asg_only_flag => p_primary_asg_only_flag
751 ,p_include_obj_setting_flag => p_include_obj_setting_flag
752 ,p_obj_setting_start_date => l_obj_setting_start_date
753 ,p_obj_setting_deadline => l_obj_setting_deadline
754 ,p_obj_set_outside_period_flag => p_obj_set_outside_period_flag
755 ,p_method_code => p_method_code
756 ,p_notify_population_flag => p_notify_population_flag
757 ,p_automatic_allocation_flag => p_automatic_allocation_flag
758 ,p_copy_past_objectives_flag => p_copy_past_objectives_flag
759 ,p_sharing_alignment_task_flag => p_sharing_alignment_task_flag
760 ,p_include_appraisals_flag => p_include_appraisals_flag
761 ,p_change_sc_status_flag => p_change_sc_status_flag
762 ,p_attribute_category => p_attribute_category
763 ,p_attribute1 => p_attribute1
764 ,p_attribute2 => p_attribute2
765 ,p_attribute3 => p_attribute3
766 ,p_attribute4 => p_attribute4
767 ,p_attribute5 => p_attribute5
768 ,p_attribute6 => p_attribute6
769 ,p_attribute7 => p_attribute7
770 ,p_attribute8 => p_attribute8
771 ,p_attribute9 => p_attribute9
772 ,p_attribute10 => p_attribute10
773 ,p_attribute11 => p_attribute11
774 ,p_attribute12 => p_attribute12
775 ,p_attribute13 => p_attribute13
776 ,p_attribute14 => p_attribute14
777 ,p_attribute15 => p_attribute15
778 ,p_attribute16 => p_attribute16
779 ,p_attribute17 => p_attribute17
780 ,p_attribute18 => p_attribute18
781 ,p_attribute19 => p_attribute19
782 ,p_attribute20 => p_attribute20
783 ,p_attribute21 => p_attribute21
784 ,p_attribute22 => p_attribute22
785 ,p_attribute23 => p_attribute23
786 ,p_attribute24 => p_attribute24
787 ,p_attribute25 => p_attribute25
788 ,p_attribute26 => p_attribute26
789 ,p_attribute27 => p_attribute27
790 ,p_attribute28 => p_attribute28
791 ,p_attribute29 => p_attribute29
792 ,p_attribute30 => p_attribute30
793 ,p_object_version_number => l_object_version_number
794 ,p_update_library_objectives => p_update_library_objectives -- 8740021 bug fix
795 ,p_automatic_approval_flag => p_automatic_approval_flag
796 );
797
798 exception
799 when hr_api.cannot_find_prog_unit then
800 hr_api.cannot_find_prog_unit_error
801 (p_module_name => 'UPDATE_PERF_MGMT_PLAN',
802 p_hook_type => 'BP'
803 );
804
805 end;
806
807 --
808 -- Process Logic
809 --
810 IF g_debug THEN hr_utility.set_location(l_proc, 30); END IF;
811
812 --
813 -- Change the plan's status to updated if it's currently
814 -- published.
815 --
816 l_status_code := per_pmp_bus.return_status_code(p_plan_id);
817 IF l_status_code = 'PUBLISHED' THEN
818 l_status_code := 'UPDATED';
819 END IF;
820
821 --
822 -- Call the row handler update
823 --
824 per_pmp_upd.upd
825 (p_effective_date => l_effective_date
826 ,p_plan_id => p_plan_id
827 ,p_object_version_number => l_object_version_number
828 ,p_plan_name => p_plan_name
829 ,p_administrator_person_id => p_administrator_person_id
830 ,p_previous_plan_id => p_previous_plan_id
831 ,p_start_date => l_start_date
832 ,p_end_date => l_end_date
833 ,p_hierarchy_type_code => p_hierarchy_type_code
834 ,p_supervisor_id => p_supervisor_id
835 ,p_supervisor_assignment_id => p_supervisor_assignment_id
836 ,p_organization_structure_id => p_organization_structure_id
837 ,p_org_structure_version_id => p_org_structure_version_id
838 ,p_top_organization_id => p_top_organization_id
839 ,p_position_structure_id => p_position_structure_id
840 ,p_pos_structure_version_id => p_pos_structure_version_id
841 ,p_top_position_id => p_top_position_id
842 ,p_hierarchy_levels => p_hierarchy_levels
843 ,p_automatic_enrollment_flag => p_automatic_enrollment_flag
844 ,p_assignment_types_code => p_assignment_types_code
845 ,p_primary_asg_only_flag => p_primary_asg_only_flag
846 ,p_include_obj_setting_flag => p_include_obj_setting_flag
847 ,p_obj_setting_start_date => l_obj_setting_start_date
848 ,p_obj_setting_deadline => l_obj_setting_deadline
849 ,p_obj_set_outside_period_flag => p_obj_set_outside_period_flag
850 ,p_method_code => p_method_code
851 ,p_notify_population_flag => p_notify_population_flag
852 ,p_automatic_allocation_flag => p_automatic_allocation_flag
853 ,p_copy_past_objectives_flag => p_copy_past_objectives_flag
854 ,p_sharing_alignment_task_flag => p_sharing_alignment_task_flag
855 ,p_include_appraisals_flag => p_include_appraisals_flag
856 ,p_change_sc_status_flag => p_change_sc_status_flag
857 ,p_attribute_category => p_attribute_category
858 ,p_attribute1 => p_attribute1
859 ,p_attribute2 => p_attribute2
860 ,p_attribute3 => p_attribute3
861 ,p_attribute4 => p_attribute4
862 ,p_attribute5 => p_attribute5
863 ,p_attribute6 => p_attribute6
864 ,p_attribute7 => p_attribute7
865 ,p_attribute8 => p_attribute8
866 ,p_attribute9 => p_attribute9
867 ,p_attribute10 => p_attribute10
868 ,p_attribute11 => p_attribute11
869 ,p_attribute12 => p_attribute12
870 ,p_attribute13 => p_attribute13
871 ,p_attribute14 => p_attribute14
872 ,p_attribute15 => p_attribute15
873 ,p_attribute16 => p_attribute16
874 ,p_attribute17 => p_attribute17
875 ,p_attribute18 => p_attribute18
876 ,p_attribute19 => p_attribute19
877 ,p_attribute20 => p_attribute20
878 ,p_attribute21 => p_attribute21
879 ,p_attribute22 => p_attribute22
880 ,p_attribute23 => p_attribute23
881 ,p_attribute24 => p_attribute24
882 ,p_attribute25 => p_attribute25
883 ,p_attribute26 => p_attribute26
884 ,p_attribute27 => p_attribute27
885 ,p_attribute28 => p_attribute28
886 ,p_attribute29 => p_attribute29
887 ,p_attribute30 => p_attribute30
888 ,p_status_code => l_status_code
889 ,p_duplicate_name_warning => l_duplicate_name_warning
890 ,p_no_life_events_warning => l_no_life_events_warning
891 ,p_update_library_objectives => p_update_library_objectives -- 8740021 bug fix
892 ,p_automatic_approval_flag => p_automatic_approval_flag
893 );
894
895 IF g_debug THEN hr_utility.set_location(l_proc, 40); END IF;
896 --
897 -- Call After Process User Hook
898 --
899 begin
900 hr_perf_mgmt_plan_bk2.update_perf_mgmt_plan_a
901 (p_effective_date => l_effective_date
902 ,p_plan_id => p_plan_id
903 ,p_plan_name => p_plan_name
904 ,p_administrator_person_id => p_administrator_person_id
905 ,p_previous_plan_id => p_previous_plan_id
906 ,p_start_date => l_start_date
907 ,p_end_date => l_end_date
908 ,p_hierarchy_type_code => p_hierarchy_type_code
909 ,p_supervisor_id => p_supervisor_id
910 ,p_supervisor_assignment_id => p_supervisor_assignment_id
911 ,p_organization_structure_id => p_organization_structure_id
912 ,p_org_structure_version_id => p_org_structure_version_id
913 ,p_top_organization_id => p_top_organization_id
914 ,p_position_structure_id => p_position_structure_id
915 ,p_pos_structure_version_id => p_pos_structure_version_id
916 ,p_top_position_id => p_top_position_id
917 ,p_hierarchy_levels => p_hierarchy_levels
918 ,p_automatic_enrollment_flag => p_automatic_enrollment_flag
919 ,p_assignment_types_code => p_assignment_types_code
920 ,p_primary_asg_only_flag => p_primary_asg_only_flag
921 ,p_include_obj_setting_flag => p_include_obj_setting_flag
922 ,p_obj_setting_start_date => l_obj_setting_start_date
923 ,p_obj_setting_deadline => l_obj_setting_deadline
924 ,p_obj_set_outside_period_flag => p_obj_set_outside_period_flag
925 ,p_method_code => p_method_code
926 ,p_notify_population_flag => p_notify_population_flag
927 ,p_automatic_allocation_flag => p_automatic_allocation_flag
928 ,p_copy_past_objectives_flag => p_copy_past_objectives_flag
929 ,p_sharing_alignment_task_flag => p_sharing_alignment_task_flag
930 ,p_include_appraisals_flag => p_include_appraisals_flag
931 ,p_change_sc_status_flag => p_change_sc_status_flag
932 ,p_attribute_category => p_attribute_category
933 ,p_attribute1 => p_attribute1
934 ,p_attribute2 => p_attribute2
935 ,p_attribute3 => p_attribute3
936 ,p_attribute4 => p_attribute4
937 ,p_attribute5 => p_attribute5
938 ,p_attribute6 => p_attribute6
939 ,p_attribute7 => p_attribute7
940 ,p_attribute8 => p_attribute8
941 ,p_attribute9 => p_attribute9
942 ,p_attribute10 => p_attribute10
943 ,p_attribute11 => p_attribute11
944 ,p_attribute12 => p_attribute12
945 ,p_attribute13 => p_attribute13
946 ,p_attribute14 => p_attribute14
947 ,p_attribute15 => p_attribute15
948 ,p_attribute16 => p_attribute16
949 ,p_attribute17 => p_attribute17
950 ,p_attribute18 => p_attribute18
951 ,p_attribute19 => p_attribute19
952 ,p_attribute20 => p_attribute20
953 ,p_attribute21 => p_attribute21
954 ,p_attribute22 => p_attribute22
955 ,p_attribute23 => p_attribute23
956 ,p_attribute24 => p_attribute24
957 ,p_attribute25 => p_attribute25
958 ,p_attribute26 => p_attribute26
959 ,p_attribute27 => p_attribute27
960 ,p_attribute28 => p_attribute28
961 ,p_attribute29 => p_attribute29
962 ,p_attribute30 => p_attribute30
963 ,p_object_version_number => l_object_version_number
964 ,p_status_code => l_status_code
965 ,p_duplicate_name_warning => l_duplicate_name_warning
966 ,p_no_life_events_warning => l_no_life_events_warning
967 ,p_update_library_objectives => p_update_library_objectives -- 8740021 bug fix
968 ,p_automatic_approval_flag => p_automatic_approval_flag
969 );
970 exception
971 when hr_api.cannot_find_prog_unit then
972 hr_api.cannot_find_prog_unit_error
973 (p_module_name => 'UPDATE_PERF_MGMT_PLAN',
974 p_hook_type => 'AP'
975 );
976 end;
977
978 IF g_debug THEN hr_utility.set_location(l_proc, 50); END IF;
979
980 --
981 -- End of After Process User Hook call
982 --
983 -- When in validation only mode raise the Validate_Enabled exception
984 --
985 if p_validate then
986 raise hr_api.validate_enabled;
987 end if;
988
989 --
990 -- Set all IN OUT and OUT parameters with out values
991 --
992 p_object_version_number := l_object_version_number;
993 p_status_code := l_status_code;
994 p_duplicate_name_warning := l_duplicate_name_warning;
995 p_no_life_events_warning := l_no_life_events_warning;
996
997 IF g_debug THEN
998
999 hr_utility.trace(' ');
1000 hr_utility.trace(' --------------------------------'||
1001 '---------------------------------');
1002 hr_utility.trace(' IN OUT / OUT PARAMETER '||
1003 ' VALUE');
1004 hr_utility.trace(' --------------------------------'||
1005 '+--------------------------------');
1006 hr_utility.trace(' p_object_version_number '||
1007 to_char(p_object_version_number));
1008 hr_utility.trace(' p_status_code '||
1009 p_status_code);
1010 IF p_duplicate_name_warning THEN
1011 hr_utility.trace(' p_duplicate_name_warning '||
1012 'TRUE');
1013 ELSE
1014 hr_utility.trace(' p_duplicate_name_warning '||
1015 'FALSE');
1016 END IF;
1017 IF p_no_life_events_warning THEN
1018 hr_utility.trace(' p_no_life_events_warning '||
1019 'TRUE');
1020 ELSE
1021 hr_utility.trace(' p_no_life_events_warning '||
1022 'FALSE');
1023 END IF;
1024 hr_utility.trace(' --------------------------------'||
1025 '---------------------------------');
1026 hr_utility.trace(' ');
1027 hr_utility.set_location(' Leaving:'||l_proc, 970);
1028
1029 END IF;
1030
1031 exception
1032 when hr_api.validate_enabled then
1033 --
1034 -- As the Validate_Enabled exception has been raised
1035 -- we must rollback to the savepoint
1036 --
1037 ROLLBACK TO update_perf_mgmt_plan;
1038 --
1039 -- Reset IN OUT parameters and set OUT parameters
1040 -- (Any key or derived arguments must be set to null
1041 -- when validation only mode is being used.)
1042 --
1043 p_object_version_number := null;
1044 p_status_code := l_status_code;
1045 p_duplicate_name_warning := l_duplicate_name_warning;
1046 p_no_life_events_warning := l_no_life_events_warning;
1047 --
1048 hr_utility.set_location(' Leaving:'||l_proc, 980);
1049 --
1050 when others then
1051 --
1052 -- A validation or unexpected error has occured
1053 --
1054 rollback to update_perf_mgmt_plan;
1055 --
1056 -- Reset IN OUT parameters and set all
1057 -- OUT parameters, including warnings, to null
1058 --
1059 p_object_version_number := null;
1060 p_status_code := null;
1061 p_duplicate_name_warning := null;
1062 p_no_life_events_warning := null;
1063
1064 hr_utility.set_location(' Leaving:'||l_proc, 990);
1065 raise;
1066
1067 end update_perf_mgmt_plan;
1068 --
1069 -- ----------------------------------------------------------------------------
1070 -- |-------------------------< delete_perf_mgmt_plan >------------------------|
1071 -- ----------------------------------------------------------------------------
1072 --
1073 procedure delete_perf_mgmt_plan
1074 (p_validate in boolean default false
1075 ,p_plan_id in number
1076 ,p_object_version_number in number
1077 ) is
1078
1079 --
1080 -- Declare cursors and local variables
1081 --
1082 l_proc varchar2(72) := g_package||'delete_perf_mgmt_plan';
1083 --
1084
1085 begin
1086
1087 IF g_debug THEN
1088
1089 hr_utility.set_location('Entering:'|| l_proc, 10);
1090
1091 hr_utility.trace(' ');
1092 hr_utility.trace(' --------------------------------'||
1093 '---------------------------------');
1094 hr_utility.trace(' IN / IN OUT PARAMETER '||
1095 ' VALUE');
1096 hr_utility.trace(' --------------------------------'||
1097 '+--------------------------------');
1098 hr_utility.trace(' p_plan_id '||
1099 to_char(p_plan_id));
1100 hr_utility.trace(' p_object_version_number '||
1101 to_char(p_object_version_number));
1102 hr_utility.trace(' --------------------------------'||
1103 '---------------------------------');
1104 hr_utility.trace(' ');
1105
1106 END IF;
1107
1108 --
1109 -- Issue a savepoint
1110 --
1111 savepoint delete_perf_mgmt_plan;
1112 --
1113 -- Call Before Process User Hook
1114 --
1115 begin
1116
1117 hr_perf_mgmt_plan_bk3.delete_perf_mgmt_plan_b
1118 (p_plan_id => p_plan_id
1119 ,p_object_version_number => p_object_version_number
1120 );
1121 exception
1122 when hr_api.cannot_find_prog_unit then
1123 hr_api.cannot_find_prog_unit_error
1124 (p_module_name => 'DELETE_PERF_MGMT_PLAN',
1125 p_hook_type => 'BP'
1126 );
1127 end;
1128
1129 --
1130 -- End of Before Process User Hook call
1131 --
1132 hr_utility.set_location(l_proc, 7);
1133 --
1134 -- Process Logic - Delete Plan
1135 --
1136
1137 per_pmp_del.del
1138 (p_plan_id => p_plan_id
1139 ,p_object_version_number => p_object_version_number
1140 );
1141
1142 hr_utility.set_location(l_proc, 8);
1143 --
1144 -- Call After Process User Hook
1145 --
1146 begin
1147 hr_perf_mgmt_plan_bk3.delete_perf_mgmt_plan_a
1148 (p_plan_id => p_plan_id
1149 ,p_object_version_number => p_object_version_number
1150 );
1151 exception
1152 when hr_api.cannot_find_prog_unit then
1153 hr_api.cannot_find_prog_unit_error
1154 (p_module_name => 'DELETE_PERF_MGMT_PLAN',
1155 p_hook_type => 'AP'
1156 );
1157 end;
1158
1159 IF g_debug THEN hr_utility.set_location(l_proc, 40); END IF;
1160 --
1161 -- When in validation only mode raise the Validate_Enabled exception
1162 --
1163 if p_validate then
1164 raise hr_api.validate_enabled;
1165 end if;
1166
1167 --
1168 -- Pipe the main IN OUT / OUT parameters for ease of debugging.
1169 --
1170 IF g_debug THEN hr_utility.set_location(' Leaving:'||l_proc, 970); END IF;
1171
1172 exception
1173 when hr_api.validate_enabled then
1174 --
1175 -- As the Validate_Enabled exception has been raised
1176 -- we must rollback to the savepoint
1177 --
1178 rollback to delete_perf_mgmt_plan;
1179 --
1180 -- Reset IN OUT parameters and set OUT parameters
1181 -- (Any key or derived arguments must be set to null
1182 -- when validation only mode is being used.)
1183 --
1184 hr_utility.set_location(' Leaving:'||l_proc, 980);
1185
1186 when others then
1187 --
1188 -- A validation or unexpected error has occured
1189 --
1190 rollback to delete_perf_mgmt_plan;
1191 --
1192 -- Reset IN OUT parameters and set all
1193 -- OUT parameters, including warnings, to null
1194 --
1195 hr_utility.set_location(' Leaving:'||l_proc, 990);
1196 raise;
1197
1198 end delete_perf_mgmt_plan;
1199 --
1200 --
1201 -- ----------------------------------------------------------------------------
1202 -- |------------------------------< publish_plan >----------------------------|
1203 -- ----------------------------------------------------------------------------
1204 --
1205 procedure publish_plan
1206 (p_validate in boolean default false
1207 ,p_effective_date in date
1208 ,p_plan_id in number
1209 ,p_object_version_number in out nocopy number
1210 ) is
1211
1212 --
1213 -- Declare local variables
1214 --
1215 l_proc varchar2(72) := g_package||'publish_plan';
1216 l_what_if varchar2(1);
1217 l_object_version_number number;
1218
1219 --
1220
1221 begin
1222
1223 IF g_debug THEN
1224
1225 hr_utility.set_location('Entering:'|| l_proc, 10);
1226
1227 hr_utility.trace(' ');
1228 hr_utility.trace(' --------------------------------'||
1229 '---------------------------------');
1230 hr_utility.trace(' IN / IN OUT PARAMETER '||
1231 ' VALUE');
1232 hr_utility.trace(' --------------------------------'||
1233 '+--------------------------------');
1234 hr_utility.trace(' p_plan_id '||
1235 to_char(p_plan_id));
1236 hr_utility.trace(' p_object_version_number '||
1237 to_char(p_object_version_number));
1238 hr_utility.trace(' --------------------------------'||
1239 '---------------------------------');
1240 hr_utility.trace(' ');
1241
1242 END IF;
1243
1244 --
1245 -- Issue a savepoint
1246 --
1247 savepoint publish_plan;
1248 --
1249 -- Remember IN OUT parameter IN values
1250 --
1251 l_object_version_number := p_object_version_number;
1252
1253
1254 --
1255 -- Call Before Process User Hook
1256 --
1257 begin
1258
1259 hr_perf_mgmt_plan_bk4.publish_plan_b
1260 (p_effective_date => p_effective_date
1261 ,p_plan_id => p_plan_id
1262 ,p_object_version_number => l_object_version_number
1263 );
1264 exception
1265 when hr_api.cannot_find_prog_unit then
1266 hr_api.cannot_find_prog_unit_error
1267 (p_module_name => 'PUBLISH',
1268 p_hook_type => 'BP'
1269 );
1270 end;
1271
1272 --
1273 -- End of Before Process User Hook call
1274 --
1275 hr_utility.set_location(l_proc, 7);
1276 --
1277 -- What if mode
1278 --
1279 if (p_validate) then
1280 l_what_if := 'Y';
1281 else
1282 l_what_if := 'N';
1283 end if;
1284 --
1285 -- Process Logic - Publish Plan
1286 --
1287 hr_perf_mgmt_plan_internal.publish_plan
1288 (p_effective_date => p_effective_date
1289 ,p_plan_id => p_plan_id
1290 ,p_object_version_number => l_object_version_number
1291 ,p_reverse_mode => 'N'
1292 ,p_what_if => l_what_if
1293 );
1294
1295 hr_utility.set_location(l_proc, 8);
1296 --
1297 -- Call After Process User Hook
1298 --
1299 begin
1300 hr_perf_mgmt_plan_bk4.publish_plan_a
1301 (p_effective_date => p_effective_date
1302 ,p_plan_id => p_plan_id
1303 ,p_object_version_number => l_object_version_number
1304 );
1305 exception
1306 when hr_api.cannot_find_prog_unit then
1307 hr_api.cannot_find_prog_unit_error
1308 (p_module_name => 'PUBLISH_A',
1309 p_hook_type => 'AP'
1310 );
1311 end;
1312
1313 IF g_debug THEN hr_utility.set_location(l_proc, 40); END IF;
1314 --
1315 -- When in validation only mode raise the Validate_Enabled exception
1316 --
1317 if p_validate then
1318 raise hr_api.validate_enabled;
1319 end if;
1320
1321 --
1322 -- Set all IN OUT and OUT parameters with out values
1323 --
1324 p_object_version_number := l_object_version_number;
1325
1326 --
1327 -- Pipe the main IN OUT / OUT parameters for ease of debugging.
1328 --
1329 IF g_debug THEN hr_utility.set_location(' Leaving:'||l_proc, 970); END IF;
1330
1331 exception
1332 when hr_api.validate_enabled then
1333 --
1334 -- As the Validate_Enabled exception has been raised
1335 -- we must rollback to the savepoint
1336 --
1337 rollback to publish_plan;
1338 --
1339 -- Reset IN OUT parameters and set OUT parameters
1340 -- (Any key or derived arguments must be set to null
1341 -- when validation only mode is being used.)
1342 --
1343 hr_utility.set_location(' Leaving:'||l_proc, 980);
1344
1345 when others then
1346 --
1347 -- A validation or unexpected error has occured
1348 --
1349 rollback to publish_plan;
1350 --
1351 -- Reset IN OUT parameters and set all
1352 -- OUT parameters, including warnings, to null
1353 --
1354 hr_utility.set_location(' Leaving:'||l_proc, 990);
1355 raise;
1356
1357 end publish_plan;
1358
1359 --
1360 -- ----------------------------------------------------------------------------
1361 -- |----------------------------< reverse_publish_plan >----------------------|
1362 -- ----------------------------------------------------------------------------
1363 --
1364 procedure reverse_publish_plan
1365 (p_validate in boolean default false
1366 ,p_plan_id in number
1367 ,p_object_version_number in out nocopy number
1368 ) is
1369
1370 --
1371 -- Declare cursors and local variables
1372 --
1373 l_proc varchar2(72) := g_package||'reverse_publish_plan';
1374 l_what_if varchar2(1);
1375 l_object_version_number number;
1376 l_effective_date date;
1377 --
1378
1379 begin
1380
1381 IF g_debug THEN
1382
1383 hr_utility.set_location('Entering:'|| l_proc, 10);
1384
1385 hr_utility.trace(' ');
1386 hr_utility.trace(' --------------------------------'||
1387 '---------------------------------');
1388 hr_utility.trace(' IN / IN OUT PARAMETER '||
1389 ' VALUE');
1390 hr_utility.trace(' --------------------------------'||
1391 '+--------------------------------');
1392 hr_utility.trace(' p_plan_id '||
1393 to_char(p_plan_id));
1394 hr_utility.trace(' p_object_version_number '||
1395 to_char(p_object_version_number));
1396 hr_utility.trace(' --------------------------------'||
1397 '---------------------------------');
1398 hr_utility.trace(' ');
1399
1400 END IF;
1401
1402 --
1403 -- Issue a savepoint
1404 --
1405 savepoint reverse_publish_plan;
1406 --
1407 -- Remember IN OUT parameter IN values
1408 --
1409 l_object_version_number := p_object_version_number;
1410
1411 --
1412 -- Call Before Process User Hook
1413 --
1414 begin
1415
1416 hr_perf_mgmt_plan_bk5.reverse_publish_plan_b
1417 (p_plan_id => p_plan_id
1418 ,p_object_version_number => l_object_version_number
1419 );
1420 exception
1421 when hr_api.cannot_find_prog_unit then
1422 hr_api.cannot_find_prog_unit_error
1423 (p_module_name => 'REVERSE_PUBLISH',
1424 p_hook_type => 'BP'
1425 );
1426 end;
1427
1428 --
1429 -- End of Before Process User Hook call
1430 --
1431 hr_utility.set_location(l_proc, 7);
1432 --
1433 -- What if mode
1434 --
1435 if (p_validate) then
1436 l_what_if := 'Y';
1437 else
1438 l_what_if := 'N';
1439 end if;
1440 --
1441 -- Process Logic - Publish Plan
1442 --
1443 hr_perf_mgmt_plan_internal.publish_plan
1444 (p_effective_date => l_effective_date
1445 ,p_plan_id => p_plan_id
1446 ,p_object_version_number => l_object_version_number
1447 ,p_reverse_mode => 'Y'
1448 ,p_what_if => l_what_if);
1449
1450
1451
1452 hr_utility.set_location(l_proc, 8);
1453 --
1454 -- Call After Process User Hook
1455 --
1456 begin
1457 hr_perf_mgmt_plan_bk5.reverse_publish_plan_a
1458 (p_plan_id => p_plan_id
1459 ,p_object_version_number => l_object_version_number
1460 );
1461 exception
1462 when hr_api.cannot_find_prog_unit then
1463 hr_api.cannot_find_prog_unit_error
1464 (p_module_name => 'REVERSE_PUBLISH_A',
1465 p_hook_type => 'AP'
1466 );
1467 end;
1468
1469 IF g_debug THEN hr_utility.set_location(l_proc, 40); END IF;
1470 --
1471 -- When in validation only mode raise the Validate_Enabled exception
1472 --
1473 if p_validate then
1474 raise hr_api.validate_enabled;
1475 end if;
1476
1477 --
1478 -- Set all IN OUT and OUT parameters with out values
1479 --
1480 p_object_version_number := l_object_version_number;
1481
1482 --
1483 -- Pipe the main IN OUT / OUT parameters for ease of debugging.
1484 --
1485 IF g_debug THEN hr_utility.set_location(' Leaving:'||l_proc, 970); END IF;
1486
1487 exception
1488 when hr_api.validate_enabled then
1489 --
1490 -- As the Validate_Enabled exception has been raised
1491 -- we must rollback to the savepoint
1492 --
1493 rollback to reverse_publish_plan;
1494 --
1495 -- Reset IN OUT parameters and set OUT parameters
1496 -- (Any key or derived arguments must be set to null
1497 -- when validation only mode is being used.)
1498 --
1499 hr_utility.set_location(' Leaving:'||l_proc, 980);
1500
1501 when others then
1502 --
1503 -- A validation or unexpected error has occured
1504 --
1505 rollback to reverse_publish_plan;
1506 --
1507 -- Reset IN OUT parameters and set all
1508 -- OUT parameters, including warnings, to null
1509 --
1510 hr_utility.set_location(' Leaving:'||l_proc, 990);
1511 raise;
1512
1513 end reverse_publish_plan;
1514
1515
1516 end HR_PERF_MGMT_PLAN_API;