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