[Home] [Help]
PACKAGE BODY: APPS.HR_PERFORMANCE_RATINGS_API
Source
1 Package Body hr_performance_ratings_api as
2 /* $Header: peprtapi.pkb 120.1 2006/02/13 14:12:56 vbala noship $ */
3 --
4 -- Package Variables
5 --
6 g_package varchar2(33) := ' hr_performance_ratings_api.';
7 --
8 -- ----------------------------------------------------------------------------
9 -- |----------------------< <create_performance_rating> >---------------------|
10 -- ----------------------------------------------------------------------------
11 --
12 procedure create_performance_rating
13 (p_validate in boolean default false
14 ,p_effective_date in date
15 ,p_appraisal_id in number
16 ,p_person_id in number default null
17 ,p_objective_id in number
18 ,p_performance_level_id in number default null
19 ,p_comments in varchar2 default null
20 ,p_attribute_category in varchar2 default null
21 ,p_attribute1 in varchar2 default null
22 ,p_attribute2 in varchar2 default null
23 ,p_attribute3 in varchar2 default null
24 ,p_attribute4 in varchar2 default null
25 ,p_attribute5 in varchar2 default null
26 ,p_attribute6 in varchar2 default null
27 ,p_attribute7 in varchar2 default null
28 ,p_attribute8 in varchar2 default null
29 ,p_attribute9 in varchar2 default null
30 ,p_attribute10 in varchar2 default null
31 ,p_attribute11 in varchar2 default null
32 ,p_attribute12 in varchar2 default null
33 ,p_attribute13 in varchar2 default null
34 ,p_attribute14 in varchar2 default null
35 ,p_attribute15 in varchar2 default null
36 ,p_attribute16 in varchar2 default null
37 ,p_attribute17 in varchar2 default null
38 ,p_attribute18 in varchar2 default null
39 ,p_attribute19 in varchar2 default null
40 ,p_attribute20 in varchar2 default null
41 ,p_performance_rating_id out nocopy number
42 ,p_object_version_number out nocopy number
43 ,p_appr_line_score in number default null
44 ) is
45 --
46 -- Declare cursors and local variables
47 --
48
49 l_proc varchar2(72) := g_package||'create_performance_rating';
50 l_performance_rating_id per_performance_ratings.performance_rating_id%TYPE;
51 l_object_version_number per_performance_ratings.object_version_number%TYPE;
52 --
53 begin
54 --
55 hr_utility.set_location('Entering:'|| l_proc, 10);
56 --
57 -- Issue a savepoint.
58 --
59 savepoint create_performance_rating;
60 --
61 -- Call Before Process User Hook
62 --
63 begin
64 hr_performance_ratings_bk1.create_performance_rating_b (
65 p_effective_date => p_effective_date
66 ,p_appraisal_id => p_appraisal_id
67 ,p_objective_id => p_objective_id
68 ,p_performance_level_id => p_performance_level_id
69 ,p_person_id => p_person_id
70 ,p_comments => p_comments
71 ,p_attribute_category => p_attribute_category
72 ,p_attribute1 => p_attribute1
73 ,p_attribute2 => p_attribute2
74 ,p_attribute3 => p_attribute3
75 ,p_attribute4 => p_attribute4
76 ,p_attribute5 => p_attribute5
77 ,p_attribute6 => p_attribute6
78 ,p_attribute7 => p_attribute7
79 ,p_attribute8 => p_attribute8
80 ,p_attribute9 => p_attribute9
81 ,p_attribute10 => p_attribute10
82 ,p_attribute11 => p_attribute11
83 ,p_attribute12 => p_attribute12
84 ,p_attribute13 => p_attribute13
85 ,p_attribute14 => p_attribute14
86 ,p_attribute15 => p_attribute15
87 ,p_attribute16 => p_attribute16
88 ,p_attribute17 => p_attribute17
89 ,p_attribute18 => p_attribute18
90 ,p_attribute19 => p_attribute19
91 ,p_attribute20 => p_attribute20
92 ,p_appr_line_score => p_appr_line_score
93 );
94 exception
95 when hr_api.cannot_find_prog_unit then
96 hr_api.cannot_find_prog_unit_error
97 (p_module_name => 'create_performance_rating',
98 p_hook_type => 'BP'
99 );
100 end;
101 --
102 -- End of Before Process User Hook call
103 --
104 hr_utility.set_location(l_proc, 20);
105 --
106 -- Validation in addition to Row Handlers
107 --
108 hr_utility.set_location(l_proc, 30);
109 --
110 -- Process Logic
111 --
112 per_prt_ins.ins
113 (p_validate => p_validate
114 ,p_effective_date => p_effective_date
115 ,p_appraisal_id => p_appraisal_id
116 ,p_person_id => p_person_id
117 ,p_objective_id => p_objective_id
118 ,p_performance_level_id => p_performance_level_id
119 ,p_comments => p_comments
120 ,p_attribute_category => p_attribute_category
121 ,p_attribute1 => p_attribute1
122 ,p_attribute2 => p_attribute2
123 ,p_attribute3 => p_attribute3
124 ,p_attribute4 => p_attribute4
125 ,p_attribute5 => p_attribute5
126 ,p_attribute6 => p_attribute6
127 ,p_attribute7 => p_attribute7
128 ,p_attribute8 => p_attribute8
129 ,p_attribute9 => p_attribute9
130 ,p_attribute10 => p_attribute10
131 ,p_attribute11 => p_attribute11
132 ,p_attribute12 => p_attribute12
133 ,p_attribute13 => p_attribute13
134 ,p_attribute14 => p_attribute14
135 ,p_attribute15 => p_attribute15
136 ,p_attribute16 => p_attribute16
137 ,p_attribute17 => p_attribute17
138 ,p_attribute18 => p_attribute18
139 ,p_attribute19 => p_attribute19
140 ,p_attribute20 => p_attribute20
141 ,p_performance_rating_id => l_performance_rating_id
142 ,p_object_version_number => l_object_version_number
143 ,p_appr_line_score => p_appr_line_score
144 );
145
146 hr_utility.set_location(l_proc, 40);
147 --
148 -- Call After Process User Hook
149 --
150 begin
151 hr_performance_ratings_bk1.create_performance_rating_a (
152 p_performance_rating_id => l_performance_rating_id
153 ,p_object_version_number => l_object_version_number
154 ,p_effective_date => p_effective_date
155 ,p_appraisal_id => p_appraisal_id
156 ,p_person_id => p_person_id
157 ,p_objective_id => p_objective_id
158 ,p_performance_level_id => p_performance_level_id
159 ,p_comments => p_comments
160 ,p_attribute_category => p_attribute_category
161 ,p_attribute1 => p_attribute1
162 ,p_attribute2 => p_attribute2
163 ,p_attribute3 => p_attribute3
164 ,p_attribute4 => p_attribute4
165 ,p_attribute5 => p_attribute5
166 ,p_attribute6 => p_attribute6
167 ,p_attribute7 => p_attribute7
168 ,p_attribute8 => p_attribute8
169 ,p_attribute9 => p_attribute9
170 ,p_attribute10 => p_attribute10
171 ,p_attribute11 => p_attribute11
172 ,p_attribute12 => p_attribute12
173 ,p_attribute13 => p_attribute13
174 ,p_attribute14 => p_attribute14
175 ,p_attribute15 => p_attribute15
176 ,p_attribute16 => p_attribute16
177 ,p_attribute17 => p_attribute17
178 ,p_attribute18 => p_attribute18
179 ,p_attribute19 => p_attribute19
180 ,p_attribute20 => p_attribute20
181 ,p_appr_line_score => p_appr_line_score
182 );
183 exception
184 when hr_api.cannot_find_prog_unit then
185 hr_api.cannot_find_prog_unit_error
186 (p_module_name => 'create_performance_rating',
187 p_hook_type => 'AP'
188 );
189 end;
190 --
191 -- End of After process user hook
192 --
193 -- When in validation only mode raise the Validate_Enabled exception
194 --
195 if p_validate then
196 raise hr_api.validate_enabled;
197 end if;
198 --
199 -- Set all output arguments
200 --
201 p_performance_rating_id := l_performance_rating_id;
202 p_object_version_number := l_object_version_number;
203 --
204 hr_utility.set_location(' Leaving:'||l_proc, 50);
205 --
206 exception
207 when hr_api.validate_enabled then
208 --
209 -- As the Validate_Enabled exception has been raised
210 -- we must rollback to the savepoint
211 --
212 ROLLBACK TO create_performance_rating;
213 --
214 -- Only set output warning arguments
215 -- (Any key or derived arguments must be set to null
216 -- when validation only mode is being used.)
217 --
218 p_performance_rating_id := null;
219 p_object_version_number := null;
220 --
221 --
222 when others then
223 --
224 -- A validation or unexpected error has occurred
225 --
226 -- Added as part of fix to bug 632482
227 --
228 p_performance_rating_id := null;
229 p_object_version_number := null;
230 ROLLBACK TO create_performance_rating;
231 raise;
232 --
233 -- End of fix.
234 --
235 hr_utility.set_location(' Leaving:'||l_proc, 60);
236 end create_performance_rating;
237 --
238 -- ----------------------------------------------------------------------------
239 -- |---------------------< <delete_performance_rating> >----------------------|
240 -- ----------------------------------------------------------------------------
241 --
242 procedure delete_performance_rating
243 (p_validate in boolean default false
244 ,p_performance_rating_id in number
245 ,p_object_version_number in number
246 ) is
247 --
248 -- Declare cursors and local variables
249 --
250 l_proc varchar2(72) := g_package||'delete_performance_rating';
251 --
252 begin
253 --
254 hr_utility.set_location('Entering:'|| l_proc, 10);
255 --
256 -- Issue a savepoint.
257 --
258 savepoint delete_performance_rating;
259 --
260 -- Call Before Process User Hook
261 --
262 begin
263 hr_performance_ratings_bk3.delete_performance_rating_b
264 (
265 p_performance_rating_id => p_performance_rating_id,
266 p_object_version_number => p_object_version_number
267 );
268 exception
269 when hr_api.cannot_find_prog_unit then
270 hr_api.cannot_find_prog_unit_error
271 (p_module_name => 'delete_performance_rating',
272 p_hook_type => 'BP'
273 );
274 end;
275 --
276 -- End of Before Process User hook
277 --
278 hr_utility.set_location(l_proc, 20);
279 --
280 -- Delete the performance_rating
281 --
282 per_prt_del.del
283 (p_validate => p_validate
284 ,p_performance_rating_id => p_performance_rating_id
285 ,p_object_version_number => p_object_version_number
286 );
287 --
288 hr_utility.set_location(l_proc, 30);
289 --
290 -- Call After Process User Hook
291 --
292 begin
293 hr_performance_ratings_bk3.delete_performance_rating_a (
294 p_performance_rating_id => p_performance_rating_id,
295 p_object_version_number => p_object_version_number
296 );
297 exception
298 when hr_api.cannot_find_prog_unit then
299 hr_api.cannot_find_prog_unit_error
300 (p_module_name => 'delete_performance_rating',
301 p_hook_type => 'AP'
302 );
303 end;
304 --
305 -- End of After Process User hook
306 --
307 -- When in validation only mode raise the Validate_Enabled exception
308 --
309 if p_validate then
310 raise hr_api.validate_enabled;
311 end if;
312 --
313 hr_utility.set_location(' Leaving:'||l_proc, 40);
314 --
315 exception
316 when hr_api.validate_enabled then
317 --
318 -- As the Validate_Enabled exception has been raised
319 -- we must rollback to the savepoint
320 --
321 ROLLBACK TO delete_performance_rating;
322 --
323 --
324 when others then
325 --
326 -- A validation or unexpected error has occurred
327 --
328 -- Added as part of fix to bug 632482
329 --
330 ROLLBACK TO delete_performance_rating;
331 raise;
332 --
333 -- End of fix.
334 --
335 hr_utility.set_location(' Leaving:'||l_proc, 50);
336 --
337 end delete_performance_rating;
338 --
339 -- ----------------------------------------------------------------------------
340 -- |---------------------< <update_performance_rating> >----------------------|
341 -- ----------------------------------------------------------------------------
342 --
343 procedure update_performance_rating
344 (p_validate in boolean default false
345 ,p_effective_date in date
346 ,p_performance_rating_id in number
347 ,p_person_id in number default null
348 ,p_object_version_number in out nocopy number
349 ,p_appraisal_id in number default hr_api.g_number
350 ,p_objective_id in number default hr_api.g_number
351 ,p_performance_level_id in number default hr_api.g_number
352 ,p_comments in varchar2 default hr_api.g_varchar2
353 ,p_attribute_category in varchar2 default hr_api.g_varchar2
354 ,p_attribute1 in varchar2 default hr_api.g_varchar2
355 ,p_attribute2 in varchar2 default hr_api.g_varchar2
356 ,p_attribute3 in varchar2 default hr_api.g_varchar2
357 ,p_attribute4 in varchar2 default hr_api.g_varchar2
358 ,p_attribute5 in varchar2 default hr_api.g_varchar2
359 ,p_attribute6 in varchar2 default hr_api.g_varchar2
360 ,p_attribute7 in varchar2 default hr_api.g_varchar2
361 ,p_attribute8 in varchar2 default hr_api.g_varchar2
362 ,p_attribute9 in varchar2 default hr_api.g_varchar2
363 ,p_attribute10 in varchar2 default hr_api.g_varchar2
364 ,p_attribute11 in varchar2 default hr_api.g_varchar2
365 ,p_attribute12 in varchar2 default hr_api.g_varchar2
366 ,p_attribute13 in varchar2 default hr_api.g_varchar2
367 ,p_attribute14 in varchar2 default hr_api.g_varchar2
368 ,p_attribute15 in varchar2 default hr_api.g_varchar2
369 ,p_attribute16 in varchar2 default hr_api.g_varchar2
370 ,p_attribute17 in varchar2 default hr_api.g_varchar2
371 ,p_attribute18 in varchar2 default hr_api.g_varchar2
372 ,p_attribute19 in varchar2 default hr_api.g_varchar2
373 ,p_attribute20 in varchar2 default hr_api.g_varchar2
374 ,p_appr_line_score in number default hr_api.g_number
375 ) is
376 --
377 -- Declare cursors and local variables
378 --
379 l_proc varchar2(72) := g_package||'update_performance_rating';
380 l_object_version_number per_performance_ratings.object_version_number%TYPE;
381 l_temp_ovn number := p_object_version_number;
382 --
383 begin
384 hr_utility.set_location('Entering:'|| l_proc, 10);
385 --
386 -- Issue a savepoint.
387 --
388 savepoint update_performance_rating;
389 --
390 -- Call Before Process User Hook
391 --
392 begin
393 hr_performance_ratings_bk2.update_performance_rating_b (
394 p_effective_date => p_effective_date
395 ,p_performance_rating_id => p_performance_rating_id
396 ,p_object_version_number => p_object_version_number
397 ,p_appraisal_id => p_appraisal_id
398 ,p_person_id => p_person_id
399 ,p_objective_id => p_objective_id
400 ,p_performance_level_id => p_performance_level_id
401 ,p_comments => p_comments
402 ,p_attribute_category => p_attribute_category
403 ,p_attribute1 => p_attribute1
404 ,p_attribute2 => p_attribute2
405 ,p_attribute3 => p_attribute3
406 ,p_attribute4 => p_attribute4
407 ,p_attribute5 => p_attribute5
408 ,p_attribute6 => p_attribute6
409 ,p_attribute7 => p_attribute7
410 ,p_attribute8 => p_attribute8
411 ,p_attribute9 => p_attribute9
412 ,p_attribute10 => p_attribute10
413 ,p_attribute11 => p_attribute11
414 ,p_attribute12 => p_attribute12
415 ,p_attribute13 => p_attribute13
416 ,p_attribute14 => p_attribute14
417 ,p_attribute15 => p_attribute15
418 ,p_attribute16 => p_attribute16
419 ,p_attribute17 => p_attribute17
420 ,p_attribute18 => p_attribute18
421 ,p_attribute19 => p_attribute19
422 ,p_attribute20 => p_attribute20
423 ,p_appr_line_score => p_appr_line_score
424 );
425 exception
426 when hr_api.cannot_find_prog_unit then
427 hr_api.cannot_find_prog_unit_error
428 (p_module_name => 'update_performance_rating',
429 p_hook_type => 'BP'
430 );
431 end;
432 --
433 -- End of Before Process User Hook call
434 --
435 hr_utility.set_location(l_proc, 20);
436 --
437 -- Process Logic
438 --
439 l_object_version_number := p_object_version_number;
440 --
441 per_prt_upd.upd
442 (p_validate => p_validate
443 ,p_effective_date => p_effective_date
444 ,p_performance_rating_id => p_performance_rating_id
445 ,p_object_version_number => l_object_version_number
446 ,p_performance_level_id => p_performance_level_id
447 ,p_person_id => p_person_id
448 ,p_comments => p_comments
449 ,p_attribute_category => p_attribute_category
450 ,p_attribute1 => p_attribute1
451 ,p_attribute2 => p_attribute2
452 ,p_attribute3 => p_attribute3
453 ,p_attribute4 => p_attribute4
454 ,p_attribute5 => p_attribute5
455 ,p_attribute6 => p_attribute6
456 ,p_attribute7 => p_attribute7
457 ,p_attribute8 => p_attribute8
458 ,p_attribute9 => p_attribute9
459 ,p_attribute10 => p_attribute10
460 ,p_attribute11 => p_attribute11
461 ,p_attribute12 => p_attribute12
462 ,p_attribute13 => p_attribute13
463 ,p_attribute14 => p_attribute14
464 ,p_attribute15 => p_attribute15
465 ,p_attribute16 => p_attribute16
466 ,p_attribute17 => p_attribute17
467 ,p_attribute18 => p_attribute18
468 ,p_attribute19 => p_attribute19
469 ,p_attribute20 => p_attribute20
470 ,p_appr_line_score => p_appr_line_score
471 );
472 --
473 hr_utility.set_location(l_proc, 30);
474 --
475 -- Call After Process User Hook
476 --
477 begin
478 hr_performance_ratings_bk2.update_performance_rating_a (
479 p_effective_date => p_effective_date
480 ,p_performance_rating_id => p_performance_rating_id
481 ,p_object_version_number => l_object_version_number
482 ,p_appraisal_id => p_appraisal_id
483 ,p_person_id => p_person_id
484 ,p_objective_id => p_objective_id
485 ,p_performance_level_id => p_performance_level_id
486 ,p_comments => p_comments
487 ,p_attribute_category => p_attribute_category
488 ,p_attribute1 => p_attribute1
489 ,p_attribute2 => p_attribute2
490 ,p_attribute3 => p_attribute3
491 ,p_attribute4 => p_attribute4
492 ,p_attribute5 => p_attribute5
493 ,p_attribute6 => p_attribute6
494 ,p_attribute7 => p_attribute7
495 ,p_attribute8 => p_attribute8
496 ,p_attribute9 => p_attribute9
497 ,p_attribute10 => p_attribute10
498 ,p_attribute11 => p_attribute11
499 ,p_attribute12 => p_attribute12
500 ,p_attribute13 => p_attribute13
501 ,p_attribute14 => p_attribute14
502 ,p_attribute15 => p_attribute15
503 ,p_attribute16 => p_attribute16
504 ,p_attribute17 => p_attribute17
505 ,p_attribute18 => p_attribute18
506 ,p_attribute19 => p_attribute19
507 ,p_attribute20 => p_attribute20
508 ,p_appr_line_score => p_appr_line_score
509 );
510 exception
511 when hr_api.cannot_find_prog_unit then
512 hr_api.cannot_find_prog_unit_error
513 (p_module_name => 'update_performance_rating',
514 p_hook_type => 'AP'
515 );
516 end;
517 --
518 -- End After Process User Hook
519 --
520 -- When in validation only mode raise the Validate_Enabled exception
521 --
522 if p_validate then
523 raise hr_api.validate_enabled;
524 end if;
525 --
526 -- Set all output arguments. l_object_version_number now has the new
527 -- object version number as the update was successful
528 --
529 p_object_version_number := l_object_version_number;
530 --
531 hr_utility.set_location(' Leaving:'||l_proc, 40);
532 exception
533 when hr_api.validate_enabled then
534 --
535 -- As the Validate_Enabled exception has been raised
536 -- we must rollback to the savepoint
537 --
538 ROLLBACK TO update_performance_rating;
539 --
540 -- Only set output warning arguments and in out arguments back
541 -- to their IN value
542 -- (Any key or derived arguments must be set to null
543 -- when validation only mode is being used.)
544 --
545 p_object_version_number := l_object_version_number;
546 --
547 --
548 when others then
549 --
550 -- A validation or unexpected error has occurred
551 --
552 -- Added as part of fix to bug 632482
553 --
554 p_object_version_number := l_temp_ovn;
555 ROLLBACK TO update_performance_rating;
556 raise;
557 --
558 -- End of fix.
559 --
560 hr_utility.set_location(' Leaving:'||l_proc, 50);
561 --
562 end update_performance_rating;
563 --
564 end hr_performance_ratings_api;