[Home] [Help]
PACKAGE BODY: APPS.HR_RATE_API
Source
1 PACKAGE BODY hr_rate_api AS
2 /* $Header: pypyrapi.pkb 120.3 2010/03/17 07:37:41 sidsaxen ship $ */
3 --
4 -- Package Variables
5 --
6 g_package varchar2(33) := ' hr_rate_api.';
7 --
8 -- ----------------------------------------------------------------------------
9 -- |------------------------------< create_rate >-----------------------------|
10 -- ----------------------------------------------------------------------------
11 --
12 PROCEDURE create_rate
13 (p_validate IN BOOLEAN DEFAULT FALSE
14 ,p_effective_date IN DATE
15 ,p_business_group_id IN NUMBER
16 ,p_name IN VARCHAR2
17 ,p_rate_type IN VARCHAR2
18 ,p_rate_uom IN VARCHAR2
19 ,p_parent_spine_id IN NUMBER DEFAULT NULL
20 ,p_comments IN VARCHAR2 DEFAULT NULL
21 ,p_rate_basis IN VARCHAR2 DEFAULT NULL
22 ,p_asg_rate_type IN VARCHAR2 DEFAULT NULL
23 ,p_attribute_category IN VARCHAR2 DEFAULT NULL
24 ,p_attribute1 IN VARCHAR2 DEFAULT NULL
25 ,p_attribute2 IN VARCHAR2 DEFAULT NULL
26 ,p_attribute3 IN VARCHAR2 DEFAULT NULL
27 ,p_attribute4 IN VARCHAR2 DEFAULT NULL
28 ,p_attribute5 IN VARCHAR2 DEFAULT NULL
29 ,p_attribute6 IN VARCHAR2 DEFAULT NULL
30 ,p_attribute7 IN VARCHAR2 DEFAULT NULL
31 ,p_attribute8 IN VARCHAR2 DEFAULT NULL
32 ,p_attribute9 IN VARCHAR2 DEFAULT NULL
33 ,p_attribute10 IN VARCHAR2 DEFAULT NULL
34 ,p_attribute11 IN VARCHAR2 DEFAULT NULL
35 ,p_attribute12 IN VARCHAR2 DEFAULT NULL
36 ,p_attribute13 IN VARCHAR2 DEFAULT NULL
37 ,p_attribute14 IN VARCHAR2 DEFAULT NULL
38 ,p_attribute15 IN VARCHAR2 DEFAULT NULL
39 ,p_attribute16 IN VARCHAR2 DEFAULT NULL
40 ,p_attribute17 IN VARCHAR2 DEFAULT NULL
41 ,p_attribute18 IN VARCHAR2 DEFAULT NULL
42 ,p_attribute19 IN VARCHAR2 DEFAULT NULL
43 ,p_attribute20 IN VARCHAR2 DEFAULT NULL
44 ,p_object_version_number OUT NOCOPY NUMBER
45 ,p_rate_id OUT NOCOPY NUMBER) IS
46 --
47 -- Declare cursors and local variables
48 --
49 l_proc VARCHAR2(72) := g_package||'create_rate';
50 l_effective_date DATE;
51 l_object_version_number NUMBER;
52 l_rate_id pay_rates.rate_id%TYPE;
53 -- Bug 3795968 Starts Here
54 CURSOR csr_full_hr_installed IS
55 SELECT null
56 FROM fnd_product_installations i
57 WHERE i.status = 'I'
58 AND i.application_id = 800;
59 --
60 l_dummy varchar2(1);
61 -- Bug 3795968 Ends Here
62 --
63 BEGIN
64 --
65 hr_utility.set_location('Entering:'|| l_proc, 10);
66 --
67 -- Issue a savepoint if operating in validation only mode
68 --
69 SAVEPOINT create_rate;
70 --
71 hr_utility.set_location(l_proc, 20);
72 --
73 l_effective_date := TRUNC(p_effective_date);
74 --
75 -- Process Logic
76 --
77 BEGIN
78 --
79 -- Start of API User Hook for the before hook of create_rate
80 --
81 hr_rate_api_bk1.create_rate_b
82 (p_effective_date => l_effective_date
83 ,p_business_group_id => p_business_group_id
84 ,p_name => p_name
85 ,p_rate_type => p_rate_type
86 ,p_rate_uom => p_rate_uom
87 ,p_parent_spine_id => p_parent_spine_id
88 ,p_comments => p_comments
89 ,p_rate_basis => p_rate_basis
90 ,p_asg_rate_type => p_asg_rate_type
91 ,p_attribute_category => p_attribute_category
92 ,p_attribute1 => p_attribute1
93 ,p_attribute2 => p_attribute2
94 ,p_attribute3 => p_attribute3
95 ,p_attribute4 => p_attribute4
96 ,p_attribute5 => p_attribute5
97 ,p_attribute6 => p_attribute6
98 ,p_attribute7 => p_attribute7
99 ,p_attribute8 => p_attribute8
100 ,p_attribute9 => p_attribute9
101 ,p_attribute10 => p_attribute11
102 ,p_attribute11 => p_attribute12
103 ,p_attribute12 => p_attribute13
104 ,p_attribute13 => p_attribute14
105 ,p_attribute14 => p_attribute15
106 ,p_attribute15 => p_attribute16
107 ,p_attribute16 => p_attribute17
108 ,p_attribute17 => p_attribute18
109 ,p_attribute18 => p_attribute19
110 ,p_attribute19 => p_attribute19
111 ,p_attribute20 => p_attribute20);
112 --
113 EXCEPTION
114 WHEN hr_api.cannot_find_prog_unit THEN
115 hr_api.cannot_find_prog_unit_error
116 (p_module_name => 'create_rate'
117 ,p_hook_type => 'BP');
118 --
119 -- End of API User Hook for the before hook of create_rate
120 --
121 END;
122 --
123 hr_utility.set_location(l_proc, 30);
124 --
125 pay_pyr_ins.ins
126 (p_effective_date => l_effective_date
127 ,p_business_group_id => p_business_group_id
128 ,p_name => p_name
129 ,p_rate_type => p_rate_type
130 ,p_rate_uom => p_rate_uom
131 ,p_parent_spine_id => p_parent_spine_id
132 ,p_comments => p_comments
133 ,p_attribute_category => p_attribute_category
134 ,p_attribute1 => p_attribute1
135 ,p_attribute2 => p_attribute2
136 ,p_attribute3 => p_attribute3
137 ,p_attribute4 => p_attribute4
138 ,p_attribute5 => p_attribute5
139 ,p_attribute6 => p_attribute6
140 ,p_attribute7 => p_attribute7
141 ,p_attribute8 => p_attribute8
142 ,p_attribute9 => p_attribute9
143 ,p_attribute10 => p_attribute10
144 ,p_attribute11 => p_attribute11
145 ,p_attribute12 => p_attribute12
146 ,p_attribute13 => p_attribute13
147 ,p_attribute14 => p_attribute14
148 ,p_attribute15 => p_attribute15
149 ,p_attribute16 => p_attribute16
150 ,p_attribute17 => p_attribute17
151 ,p_attribute18 => p_attribute18
152 ,p_attribute19 => p_attribute19
153 ,p_attribute20 => p_attribute20
154 ,p_rate_basis => p_rate_basis
155 ,p_asg_rate_type => p_asg_rate_type
156 ,p_rate_id => l_rate_id
157 ,p_object_version_number => l_object_version_number);
158 --
159 hr_utility.set_location(l_proc, 40);
160 --
161 --
162 -- Start of fix 3273216
163 -- calling database package to insert database item
164 -- Bug 3795968 Starts Here
165 OPEN csr_full_hr_installed;
166 FETCH csr_full_hr_installed INTO l_dummy;
167 IF csr_full_hr_installed%FOUND THEN
168 hrdyndbi.create_grade_spine_dict(p_rate_id => l_rate_id);
169 END IF;
170 CLOSE csr_full_hr_installed;
171 -- Bug 3795968 Ends Here
172 --
173 hr_utility.set_location(l_proc, 45);
174 --
175 -- End of 3273216
176 BEGIN
177 --
178 -- Start of API User Hook for the after hook of create_rate
179 --
180 hr_rate_api_bk1.create_rate_a
181 (p_effective_date => l_effective_date
182 ,p_rate_id => l_rate_id
183 ,p_object_version_number => l_object_version_number
184 ,p_business_group_id => p_business_group_id
185 ,p_name => p_name
186 ,p_rate_type => p_rate_type
187 ,p_rate_uom => p_rate_uom
188 ,p_parent_spine_id => p_parent_spine_id
189 ,p_comments => p_comments
190 ,p_rate_basis => p_rate_basis
191 ,p_asg_rate_type => p_asg_rate_type
192 ,p_attribute_category => p_attribute_category
193 ,p_attribute1 => p_attribute1
194 ,p_attribute2 => p_attribute2
195 ,p_attribute3 => p_attribute3
196 ,p_attribute4 => p_attribute4
197 ,p_attribute5 => p_attribute5
198 ,p_attribute6 => p_attribute6
199 ,p_attribute7 => p_attribute7
200 ,p_attribute8 => p_attribute8
201 ,p_attribute9 => p_attribute9
202 ,p_attribute10 => p_attribute11
203 ,p_attribute11 => p_attribute12
204 ,p_attribute12 => p_attribute13
205 ,p_attribute13 => p_attribute14
206 ,p_attribute14 => p_attribute15
207 ,p_attribute15 => p_attribute16
208 ,p_attribute16 => p_attribute17
209 ,p_attribute17 => p_attribute18
210 ,p_attribute18 => p_attribute19
211 ,p_attribute19 => p_attribute19
212 ,p_attribute20 => p_attribute20);
213 --
214 EXCEPTION
215 WHEN hr_api.cannot_find_prog_unit THEN
216 hr_api.cannot_find_prog_unit_error
217 (p_module_name => 'create_rate'
218 ,p_hook_type => 'AP');
219 --
220 -- End of API User Hook for the after hook of create_rate
221 --
222 END;
223 --
224 hr_utility.set_location(l_proc, 50);
225 --
226 -- When in validation only mode raise the Validate_Enabled exception
227 --
228 IF p_validate THEN
229 --
230 RAISE hr_api.validate_enabled;
231 --
232 END IF;
233 --
234 -- Set all output arguments
235 --
236 p_object_version_number := l_object_version_number;
237 p_rate_id := l_rate_id;
238 --
239 hr_utility.set_location(' Leaving:'||l_proc, 999);
240 --
241 EXCEPTION
242 --
243 WHEN hr_api.validate_enabled THEN
244 --
245 -- As the Validate_Enabled exception has been raised
246 -- we must rollback to the savepoint
247 --
248 ROLLBACK TO create_rate;
249 --
250 -- Only set output warning arguments
251 -- (Any key or derived arguments must be set to null
252 -- when validation only mode is being used.)
253 --
254 p_object_version_number := NULL;
255 --
256 hr_utility.set_location(' Leaving:'||l_proc, 998);
257 --
258 WHEN others THEN
259 --
260 -- A validation or unexpected error has occured
261 --
262 ROLLBACK TO create_rate;
263 --
264 -- Bugfix 2692195
265 -- Reset all OUT/IN OUT parameters
266 --
267 p_object_version_number := null;
268 p_rate_id := null;
269 --
270 RAISE;
271 --
272 END create_rate;
273
274 -- Start changes for bug 9328526
275 --
276 -- ----------------------------------------------------------------------------
277 -- |--------------------------------< update_rate >---------------------------|
278 -- ----------------------------------------------------------------------------
279 --
280 PROCEDURE update_rate
281 (p_validate IN BOOLEAN DEFAULT FALSE
282 ,p_rate_id IN NUMBER
283 ,p_object_version_number IN OUT NOCOPY NUMBER
284 ,p_effective_date IN DATE
285 ,p_name IN VARCHAR2 DEFAULT hr_api.g_varchar2
286 ,p_rate_uom IN VARCHAR2 DEFAULT hr_api.g_varchar2
287 ,p_parent_spine_id IN NUMBER DEFAULT hr_api.g_number
288 ,p_comments IN VARCHAR2 DEFAULT hr_api.g_varchar2
289 ,p_rate_basis IN VARCHAR2 DEFAULT hr_api.g_varchar2
290 ,p_asg_rate_type IN VARCHAR2 DEFAULT hr_api.g_varchar2
291 ,p_attribute_category IN VARCHAR2 DEFAULT hr_api.g_varchar2
292 ,p_attribute1 IN VARCHAR2 DEFAULT hr_api.g_varchar2
293 ,p_attribute2 IN VARCHAR2 DEFAULT hr_api.g_varchar2
294 ,p_attribute3 IN VARCHAR2 DEFAULT hr_api.g_varchar2
295 ,p_attribute4 IN VARCHAR2 DEFAULT hr_api.g_varchar2
296 ,p_attribute5 IN VARCHAR2 DEFAULT hr_api.g_varchar2
297 ,p_attribute6 IN VARCHAR2 DEFAULT hr_api.g_varchar2
298 ,p_attribute7 IN VARCHAR2 DEFAULT hr_api.g_varchar2
299 ,p_attribute8 IN VARCHAR2 DEFAULT hr_api.g_varchar2
300 ,p_attribute9 IN VARCHAR2 DEFAULT hr_api.g_varchar2
301 ,p_attribute10 IN VARCHAR2 DEFAULT hr_api.g_varchar2
302 ,p_attribute11 IN VARCHAR2 DEFAULT hr_api.g_varchar2
303 ,p_attribute12 IN VARCHAR2 DEFAULT hr_api.g_varchar2
304 ,p_attribute13 IN VARCHAR2 DEFAULT hr_api.g_varchar2
305 ,p_attribute14 IN VARCHAR2 DEFAULT hr_api.g_varchar2
306 ,p_attribute15 IN VARCHAR2 DEFAULT hr_api.g_varchar2
307 ,p_attribute16 IN VARCHAR2 DEFAULT hr_api.g_varchar2
308 ,p_attribute17 IN VARCHAR2 DEFAULT hr_api.g_varchar2
309 ,p_attribute18 IN VARCHAR2 DEFAULT hr_api.g_varchar2
310 ,p_attribute19 IN VARCHAR2 DEFAULT hr_api.g_varchar2
311 ,p_attribute20 IN VARCHAR2 DEFAULT hr_api.g_varchar2
312 ) IS
313 begin
314 update_rate(
315 p_validate => p_validate
316 ,p_rate_id => p_rate_id
317 ,p_object_version_number => p_object_version_number
318 ,p_effective_date => p_effective_date
319 ,p_name => p_name
320 ,p_rate_uom => p_rate_uom
321 ,p_parent_spine_id => p_parent_spine_id
322 ,p_comments => p_comments
323 ,p_rate_basis => p_rate_basis
324 ,p_asg_rate_type => p_asg_rate_type
325 ,p_attribute_category => p_attribute_category
326 ,p_attribute1 => p_attribute1
327 ,p_attribute2 => p_attribute2
328 ,p_attribute3 => p_attribute3
329 ,p_attribute4 => p_attribute4
330 ,p_attribute5 => p_attribute5
331 ,p_attribute6 => p_attribute6
332 ,p_attribute7 => p_attribute7
333 ,p_attribute8 => p_attribute8
334 ,p_attribute9 => p_attribute9
335 ,p_attribute10 => p_attribute10
336 ,p_attribute11 => p_attribute11
337 ,p_attribute12 => p_attribute12
338 ,p_attribute13 => p_attribute13
339 ,p_attribute14 => p_attribute14
340 ,p_attribute15 => p_attribute15
341 ,p_attribute16 => p_attribute16
342 ,p_attribute17 => p_attribute17
343 ,p_attribute18 => p_attribute18
344 ,p_attribute19 => p_attribute19
345 ,p_attribute20 => p_attribute20
346 ,p_called_from => 'API'
347 );
348 end;
349 -- End changes for bug 9328526
350
351 --
352 -- ----------------------------------------------------------------------------
353 -- |--------------------------------< update_rate >---------------------------|
354 -- ----------------------------------------------------------------------------
355 --
356 PROCEDURE update_rate
357 (p_validate IN BOOLEAN DEFAULT FALSE
358 ,p_rate_id IN NUMBER
359 ,p_object_version_number IN OUT NOCOPY NUMBER
360 ,p_effective_date IN DATE
361 ,p_name IN VARCHAR2 DEFAULT hr_api.g_varchar2
362 ,p_rate_uom IN VARCHAR2 DEFAULT hr_api.g_varchar2
363 ,p_parent_spine_id IN NUMBER DEFAULT hr_api.g_number
364 ,p_comments IN VARCHAR2 DEFAULT hr_api.g_varchar2
365 ,p_rate_basis IN VARCHAR2 DEFAULT hr_api.g_varchar2
366 ,p_asg_rate_type IN VARCHAR2 DEFAULT hr_api.g_varchar2
367 ,p_attribute_category IN VARCHAR2 DEFAULT hr_api.g_varchar2
368 ,p_attribute1 IN VARCHAR2 DEFAULT hr_api.g_varchar2
369 ,p_attribute2 IN VARCHAR2 DEFAULT hr_api.g_varchar2
370 ,p_attribute3 IN VARCHAR2 DEFAULT hr_api.g_varchar2
371 ,p_attribute4 IN VARCHAR2 DEFAULT hr_api.g_varchar2
372 ,p_attribute5 IN VARCHAR2 DEFAULT hr_api.g_varchar2
373 ,p_attribute6 IN VARCHAR2 DEFAULT hr_api.g_varchar2
374 ,p_attribute7 IN VARCHAR2 DEFAULT hr_api.g_varchar2
375 ,p_attribute8 IN VARCHAR2 DEFAULT hr_api.g_varchar2
376 ,p_attribute9 IN VARCHAR2 DEFAULT hr_api.g_varchar2
377 ,p_attribute10 IN VARCHAR2 DEFAULT hr_api.g_varchar2
378 ,p_attribute11 IN VARCHAR2 DEFAULT hr_api.g_varchar2
379 ,p_attribute12 IN VARCHAR2 DEFAULT hr_api.g_varchar2
380 ,p_attribute13 IN VARCHAR2 DEFAULT hr_api.g_varchar2
381 ,p_attribute14 IN VARCHAR2 DEFAULT hr_api.g_varchar2
382 ,p_attribute15 IN VARCHAR2 DEFAULT hr_api.g_varchar2
383 ,p_attribute16 IN VARCHAR2 DEFAULT hr_api.g_varchar2
384 ,p_attribute17 IN VARCHAR2 DEFAULT hr_api.g_varchar2
385 ,p_attribute18 IN VARCHAR2 DEFAULT hr_api.g_varchar2
386 ,p_attribute19 IN VARCHAR2 DEFAULT hr_api.g_varchar2
387 ,p_attribute20 IN VARCHAR2 DEFAULT hr_api.g_varchar2
388 ,p_called_from IN VARCHAR2 --added for bug 9328526
389 ) IS
390 --
391 -- Declare cursors and local variables
392 --
393 l_proc VARCHAR2(72) := g_package||'update_rate';
394 l_object_version_number NUMBER;
395 l_effective_date DATE;
396 -- Bug 3795968 Starts Here
397 CURSOR csr_full_hr_installed IS
398 SELECT null
399 FROM fnd_product_installations i
400 WHERE i.status = 'I'
401 AND i.application_id = 800;
402 --
403 l_dummy varchar2(1);
404 l_upd_del_warning boolean;
405 -- Bug 3795968 Ends Here
406 --
407 BEGIN
408 --
409 hr_utility.set_location('Entering:'|| l_proc, 10);
410 --
411 -- Issue a savepoint if operating in validation only mode
412 --
413 SAVEPOINT update_rate;
414 --
415 l_effective_date := TRUNC(p_effective_date);
416 --
417 -- Process Logic
418 --
419 l_object_version_number := p_object_version_number;
420 --
421 hr_utility.set_location(l_proc, 20);
422 --
423 BEGIN
424 --
425 -- Start of API User Hook for the before hook of update_rate
426 --
427 hr_rate_api_bk2.update_rate_b -- changed for bug 9328526
428 (p_effective_date => l_effective_date
429 ,p_rate_id => p_rate_id
430 ,p_object_version_number => l_object_version_number
431 ,p_name => p_name
432 ,p_rate_uom => p_rate_uom
433 ,p_parent_spine_id => p_parent_spine_id
434 ,p_comments => p_comments
435 ,p_rate_basis => p_rate_basis
436 ,p_asg_rate_type => p_asg_rate_type
437 ,p_attribute_category => p_attribute_category
438 ,p_attribute1 => p_attribute1
439 ,p_attribute2 => p_attribute2
440 ,p_attribute3 => p_attribute3
441 ,p_attribute4 => p_attribute4
442 ,p_attribute5 => p_attribute5
443 ,p_attribute6 => p_attribute6
444 ,p_attribute7 => p_attribute7
445 ,p_attribute8 => p_attribute8
446 ,p_attribute9 => p_attribute9
447 ,p_attribute10 => p_attribute11
448 ,p_attribute11 => p_attribute12
449 ,p_attribute12 => p_attribute13
450 ,p_attribute13 => p_attribute14
451 ,p_attribute14 => p_attribute15
452 ,p_attribute15 => p_attribute16
453 ,p_attribute16 => p_attribute17
454 ,p_attribute17 => p_attribute18
455 ,p_attribute18 => p_attribute19
456 ,p_attribute19 => p_attribute19
457 ,p_attribute20 => p_attribute20);
458 --
459 EXCEPTION
460 WHEN hr_api.cannot_find_prog_unit THEN
461 hr_api.cannot_find_prog_unit_error
462 (p_module_name => 'update_rate'
463 ,p_hook_type => 'BP');
464 --
465 -- End of API User Hook for the before hook of update_rate
466 --
467 END;
468 --
469 hr_utility.set_location(l_proc, 30);
470
471 -- Start changes for bug 9328526
472
473 if nvl(p_called_from,'API') <> 'GSPW' then
474 pqh_gsp_utility.chk_rate_for_upd_del(
475 p_rate_id => p_rate_id
476 ,p_entity => 'RATE');
477 end if;
478
479 hr_utility.set_location(l_proc, 35);
480
481 -- End changes for bug 9328526
482 --
483 pay_pyr_upd.upd
484 (p_effective_date => l_effective_date
485 ,p_rate_id => p_rate_id
486 ,p_object_version_number => l_object_version_number
487 ,p_name => p_name
488 ,p_rate_uom => p_rate_uom
489 ,p_parent_spine_id => p_parent_spine_id
490 ,p_comments => p_comments
491 ,p_rate_basis => p_rate_basis
492 ,p_asg_rate_type => p_asg_rate_type
493 ,p_attribute_category => p_attribute_category
494 ,p_attribute1 => p_attribute1
495 ,p_attribute2 => p_attribute2
496 ,p_attribute3 => p_attribute3
497 ,p_attribute4 => p_attribute4
498 ,p_attribute5 => p_attribute5
499 ,p_attribute6 => p_attribute6
500 ,p_attribute7 => p_attribute7
501 ,p_attribute8 => p_attribute8
502 ,p_attribute9 => p_attribute9
503 ,p_attribute10 => p_attribute10
504 ,p_attribute11 => p_attribute11
505 ,p_attribute12 => p_attribute12
506 ,p_attribute13 => p_attribute13
507 ,p_attribute14 => p_attribute14
508 ,p_attribute15 => p_attribute15
509 ,p_attribute16 => p_attribute16
510 ,p_attribute17 => p_attribute17
511 ,p_attribute18 => p_attribute18
512 ,p_attribute19 => p_attribute19
513 ,p_attribute20 => p_attribute20);
514 --
515 hr_utility.set_location(l_proc, 40);
516 --
517 -- Start of fix 3273216
518 -- calling database package to first delete the existing database item
519 -- and then call the database package to insert the updated database item
520 -- Bug 3795968 Starts Here
521 OPEN csr_full_hr_installed;
522 FETCH csr_full_hr_installed INTO l_dummy;
523 IF csr_full_hr_installed%FOUND THEN
524 hrdyndbi.delete_grade_spine_dict(p_rate_id => p_rate_id);
525 hrdyndbi.create_grade_spine_dict(p_rate_id => p_rate_id);
526 END IF;
527 CLOSE csr_full_hr_installed;
528 -- Bug 3795968 Ends Here
529 --
530 hr_utility.set_location(l_proc, 45);
531 --
532 -- End of 3273216
533 BEGIN
534 --
535 -- Start of API User Hook for the after hook of update_rate
536 --
537 hr_rate_api_bk2.update_rate_a
538 (p_effective_date => l_effective_date
539 ,p_rate_id => p_rate_id
540 ,p_object_version_number => l_object_version_number
541 ,p_name => p_name
542 ,p_rate_uom => p_rate_uom
543 ,p_parent_spine_id => p_parent_spine_id
544 ,p_comments => p_comments
545 ,p_rate_basis => p_rate_basis
546 ,p_asg_rate_type => p_asg_rate_type
547 ,p_attribute_category => p_attribute_category
548 ,p_attribute1 => p_attribute1
549 ,p_attribute2 => p_attribute2
550 ,p_attribute3 => p_attribute3
551 ,p_attribute4 => p_attribute4
552 ,p_attribute5 => p_attribute5
553 ,p_attribute6 => p_attribute6
554 ,p_attribute7 => p_attribute7
555 ,p_attribute8 => p_attribute8
556 ,p_attribute9 => p_attribute9
557 ,p_attribute10 => p_attribute11
558 ,p_attribute11 => p_attribute12
559 ,p_attribute12 => p_attribute13
560 ,p_attribute13 => p_attribute14
561 ,p_attribute14 => p_attribute15
562 ,p_attribute15 => p_attribute16
563 ,p_attribute16 => p_attribute17
564 ,p_attribute17 => p_attribute18
565 ,p_attribute18 => p_attribute19
566 ,p_attribute19 => p_attribute19
567 ,p_attribute20 => p_attribute20);
568 --
569 EXCEPTION
570 WHEN hr_api.cannot_find_prog_unit THEN
571 hr_api.cannot_find_prog_unit_error
572 (p_module_name => 'update_rate'
573 ,p_hook_type => 'AP');
574 --
575 -- End of API User Hook for the after hook of update_rate
576 --
577 END;
578 --
579 hr_utility.set_location(l_proc, 50);
580 --
581 -- When in validation only mode raise the Validate_Enabled exception
582 --
583 IF p_validate THEN
584 --
585 RAISE hr_api.validate_enabled;
586 --
587 END IF;
588 --
589 -- Set all output arguments
590 --
591 p_object_version_number := l_object_version_number;
592 --
593 hr_utility.set_location(' Leaving:'||l_proc, 999);
594 --
595 EXCEPTION
596 --
597 WHEN hr_api.validate_enabled THEN
598 --
599 -- As the Validate_Enabled exception has been raised
600 -- we must rollback to the savepoint
601 --
602 ROLLBACK TO update_rate;
603 --
604 -- Only set output warning arguments
605 -- (Any key or derived arguments must be set to null
606 -- when validation only mode is being used.)
607 --
608 hr_utility.set_location(' Leaving:'||l_proc, 998);
609 --
610 WHEN others THEN
611 --
612 -- A validation or unexpected error has occured
613 --
614 ROLLBACK TO update_rate;
615 --
616 -- Bugfix 2692195
617 -- Reset all OUT/IN OUT parameters
618 --
619 p_object_version_number := l_object_version_number;
620 --
621 RAISE;
622 --
623 END update_rate;
624
625 -- Start changes for bug 9328526
626 --
627 -- ----------------------------------------------------------------------------
628 -- |------------------------------< delete_rate >-----------------------------|
629 -- ----------------------------------------------------------------------------
630 --
631 PROCEDURE delete_rate
632 (p_validate IN BOOLEAN DEFAULT FALSE
633 ,p_effective_date IN DATE
634 ,p_rate_id IN NUMBER
635 ,p_rate_type IN VARCHAR2
636 ,p_object_version_number IN OUT NOCOPY NUMBER) IS
637 begin
638 delete_rate
639 (p_validate => p_validate
640 ,p_effective_date => p_effective_date
641 ,p_rate_id => p_rate_id
642 ,p_rate_type => p_rate_type
643 ,p_object_version_number => p_object_version_number
644 ,p_called_from => 'API'
645 );
646 end;
647 -- End changes for bug 9328526
648
649 --
650 -- ----------------------------------------------------------------------------
651 -- |------------------------------< delete_rate >-----------------------------|
652 -- ----------------------------------------------------------------------------
653 --
654 PROCEDURE delete_rate
655 (p_validate IN BOOLEAN DEFAULT FALSE
656 ,p_effective_date IN DATE
657 ,p_rate_id IN NUMBER
658 ,p_rate_type IN VARCHAR2
659 ,p_object_version_number IN OUT NOCOPY NUMBER
660 ,p_called_from IN VARCHAR2 --added for bug 9328526
661 ) IS
662 --
663 -- Declare cursors and local variables
664 --
665 l_proc VARCHAR2(72) := g_package||'delete_rate';
666 l_object_version_number NUMBER;
667 l_effective_date DATE;
668 -- Bug 3795968 Starts Here
669 CURSOR csr_full_hr_installed IS
670 SELECT null
671 FROM fnd_product_installations i
672 WHERE i.status = 'I'
673 AND i.application_id = 800;
674 --
675 l_dummy varchar2(1);
676 -- Bug 3795968 Ends Here
677 --
678 BEGIN
679 --
680 hr_utility.set_location('Entering:'|| l_proc, 10);
681 --
682 -- Issue a savepoint if operating in validation only mode
683 --
684 SAVEPOINT delete_rate;
685 --
686 hr_utility.set_location(l_proc, 20);
687 --
688 l_effective_date := TRUNC(p_effective_date);
689 --
690 -- Process Logic
691 --
692 l_object_version_number := p_object_version_number;
693 --
694 --
695 BEGIN
696 --
697 -- Start of API User Hook for the before hook of delete_rate
698 --
699 hr_rate_api_bk3.delete_rate_b
700 (p_rate_id => p_rate_id
701 ,p_rate_type => p_rate_type
702 ,p_object_version_number => l_object_version_number
703 ,p_effective_date => l_effective_date);
704 --
705 EXCEPTION
706 WHEN hr_api.cannot_find_prog_unit THEN
707 --
708 hr_api.cannot_find_prog_unit_error
709 (p_module_name => 'delete_rate'
710 ,p_hook_type => 'BP');
711 --
712 -- End of API User Hook for the before hook of delete_rate
713 --
714 END;
715 --
716 hr_utility.set_location( l_proc, 30);
717 --
718 --
719 -- Process Logic
720 -- =============
721 --
722 -- Need to lock main table to maintain the locking ladder order
723 --
724 -- Start changes for bug 9328526
725 if nvl(p_called_from,'API') <> 'GSPW' then
726 pqh_gsp_utility.chk_rate_for_upd_del(
727 p_rate_id => p_rate_id
728 ,p_entity => 'RATE');
729 End if;
730
731 hr_utility.set_location(l_proc, 35);
732
733 -- End changes for bug 9328526
734
735 pay_pyr_shd.lck(p_rate_id => p_rate_id
736 ,p_object_version_number => p_object_version_number);
737 --
738 hr_utility.set_location( l_proc, 40);
739 --
740 pay_pyr_del.del(p_rate_id => p_rate_id
741 ,p_rate_type => p_rate_type
742 ,p_object_version_number => p_object_version_number);
743 --
744 hr_utility.set_location( l_proc, 50);
745 --
746 -- Start of fix 3273216
747 -- calling database package to delete database item
748 -- Bug 3795968 Starts Here
749 OPEN csr_full_hr_installed;
750 FETCH csr_full_hr_installed INTO l_dummy;
751 IF csr_full_hr_installed%FOUND THEN
752 hrdyndbi.delete_grade_spine_dict(p_rate_id => p_rate_id);
753 END IF;
754 CLOSE csr_full_hr_installed;
755 -- Bug 3795968 Ends Here
756 --
757 hr_utility.set_location( l_proc, 55);
758 --
759 -- End of 3273216
760 --
761 BEGIN
762 --
763 -- Start of API User Hook for the after hook of delete_rate
764 --
765 hr_rate_api_bk3.delete_rate_a
766 (p_rate_id => p_rate_id
767 ,p_rate_type => p_rate_type
768 ,p_effective_date => l_effective_date
769 ,p_object_version_number => l_object_version_number);
770 --
771 EXCEPTION
772 --
773 WHEN hr_api.cannot_find_prog_unit THEN
774 --
775 hr_api.cannot_find_prog_unit_error
776 (p_module_name => 'delete_rate'
777 ,p_hook_type => 'AP');
778 --
779 -- End of API User Hook for the after hook of delete_rate
780 --
781 END;
782 --
783 hr_utility.set_location(l_proc, 60);
784 --
785 -- When in validation only mode raise the Validate_Enabled exception
786 --
787 IF p_validate THEN
788 --
789 RAISE hr_api.validate_enabled;
790 --
791 END IF;
792 --
793 hr_utility.set_location(' Leaving:'||l_proc, 999);
794 --
795 EXCEPTION
796 --
797 WHEN hr_api.validate_enabled THEN
798 --
799 -- As the Validate_Enabled exception has been raised
800 -- we must rollback to the savepoint
801 --
802 ROLLBACK TO delete_rate;
803 --
804 -- Only set output warning arguments
805 -- (Any key or derived arguments must be set to null
806 -- when validation only mode is being used.)
807 --
808 --
809 WHEN others THEN
810 --
811 -- A validation or unexpected error has occured
812 --
813 ROLLBACK TO delete_rate;
814 --
815 -- Bugfix 2692195
816 -- Reset all OUT/IN OUT parameters
817 --
818 p_object_version_number := l_object_version_number;
819 --
820 RAISE;
821 --
822 END delete_rate;
823 --
824 PROCEDURE create_assignment_rate
825 (p_validate IN BOOLEAN DEFAULT FALSE
826 ,p_effective_date IN DATE
827 ,p_business_group_id IN NUMBER
828 ,p_name IN VARCHAR2
829 ,p_rate_basis IN VARCHAR2
830 ,p_asg_rate_type IN VARCHAR2 DEFAULT NULL
831 ,p_attribute_category IN VARCHAR2 DEFAULT NULL
832 ,p_attribute1 IN VARCHAR2 DEFAULT NULL
833 ,p_attribute2 IN VARCHAR2 DEFAULT NULL
834 ,p_attribute3 IN VARCHAR2 DEFAULT NULL
835 ,p_attribute4 IN VARCHAR2 DEFAULT NULL
836 ,p_attribute5 IN VARCHAR2 DEFAULT NULL
837 ,p_attribute6 IN VARCHAR2 DEFAULT NULL
838 ,p_attribute7 IN VARCHAR2 DEFAULT NULL
839 ,p_attribute8 IN VARCHAR2 DEFAULT NULL
840 ,p_attribute9 IN VARCHAR2 DEFAULT NULL
841 ,p_attribute10 IN VARCHAR2 DEFAULT NULL
842 ,p_attribute11 IN VARCHAR2 DEFAULT NULL
843 ,p_attribute12 IN VARCHAR2 DEFAULT NULL
844 ,p_attribute13 IN VARCHAR2 DEFAULT NULL
845 ,p_attribute14 IN VARCHAR2 DEFAULT NULL
846 ,p_attribute15 IN VARCHAR2 DEFAULT NULL
847 ,p_attribute16 IN VARCHAR2 DEFAULT NULL
848 ,p_attribute17 IN VARCHAR2 DEFAULT NULL
849 ,p_attribute18 IN VARCHAR2 DEFAULT NULL
850 ,p_attribute19 IN VARCHAR2 DEFAULT NULL
851 ,p_attribute20 IN VARCHAR2 DEFAULT NULL
852 ,p_object_version_number OUT NOCOPY NUMBER
853 ,p_rate_id OUT NOCOPY NUMBER) IS
854 --
855 -- Declare cursors and local variables
856 --
857 l_proc VARCHAR2(72) := g_package||'create_assignment_rate';
858 l_effective_date DATE;
859 l_object_version_number NUMBER;
860 l_rate_id pay_rates.rate_id%TYPE;
861 l_default_rate_type pay_rates.rate_type%TYPE;
862 l_default_rate_uom pay_rates.rate_uom%TYPE;
863 --
864 BEGIN
865 --
866 hr_utility.set_location('Entering:'|| l_proc, 10);
867 --
868 -- Issue a savepoint if operating in validation only mode
869 --
870 SAVEPOINT create_assignment_rate;
871 --
872 hr_utility.set_location(l_proc, 20);
873 --
874 l_effective_date := TRUNC(p_effective_date);
875 --
876 -- Set the rate type to be Assignment
877 --
878 l_default_rate_type := 'A';
879 --
880 -- Set the rate unit of measure to be Money
881 --
882 l_default_rate_uom := 'M';
883 --
884 -- Process Logic
885 --
886 BEGIN
887 --
888 -- Start of API User Hook for the before hook of create_assignment_rate
889 --
890 hr_rate_api_bk4.create_assignment_rate_b
891 (p_effective_date => l_effective_date
892 ,p_business_group_id => p_business_group_id
893 ,p_name => p_name
894 ,p_rate_type => l_default_rate_type
895 ,p_rate_uom => l_default_rate_uom
896 ,p_rate_basis => p_rate_basis
897 ,p_asg_rate_type => p_asg_rate_type
898 ,p_attribute_category => p_attribute_category
899 ,p_attribute1 => p_attribute1
900 ,p_attribute2 => p_attribute2
901 ,p_attribute3 => p_attribute3
902 ,p_attribute4 => p_attribute4
903 ,p_attribute5 => p_attribute5
904 ,p_attribute6 => p_attribute6
905 ,p_attribute7 => p_attribute7
906 ,p_attribute8 => p_attribute8
907 ,p_attribute9 => p_attribute9
908 ,p_attribute10 => p_attribute11
909 ,p_attribute11 => p_attribute12
910 ,p_attribute12 => p_attribute13
911 ,p_attribute13 => p_attribute14
912 ,p_attribute14 => p_attribute15
913 ,p_attribute15 => p_attribute16
914 ,p_attribute16 => p_attribute17
915 ,p_attribute17 => p_attribute18
916 ,p_attribute18 => p_attribute19
917 ,p_attribute19 => p_attribute19
918 ,p_attribute20 => p_attribute20);
919 --
920 EXCEPTION
921 WHEN hr_api.cannot_find_prog_unit THEN
922 hr_api.cannot_find_prog_unit_error
923 (p_module_name => 'create_assignment_rate'
924 ,p_hook_type => 'BP');
925 --
926 -- End of API User Hook for the before hook of create_assignment_rate
927 --
928 END;
929 --
930 hr_utility.set_location(l_proc, 30);
931 --
932 hr_rate_api.create_rate
933 (p_effective_date => l_effective_date
934 ,p_business_group_id => p_business_group_id
935 ,p_name => p_name
936 ,p_rate_type => l_default_rate_type
937 ,p_rate_uom => l_default_rate_uom
938 ,p_attribute_category => p_attribute_category
939 ,p_attribute1 => p_attribute1
940 ,p_attribute2 => p_attribute2
941 ,p_attribute3 => p_attribute3
942 ,p_attribute4 => p_attribute4
943 ,p_attribute5 => p_attribute5
944 ,p_attribute6 => p_attribute6
945 ,p_attribute7 => p_attribute7
946 ,p_attribute8 => p_attribute8
947 ,p_attribute9 => p_attribute9
948 ,p_attribute10 => p_attribute10
949 ,p_attribute11 => p_attribute11
950 ,p_attribute12 => p_attribute12
951 ,p_attribute13 => p_attribute13
952 ,p_attribute14 => p_attribute14
953 ,p_attribute15 => p_attribute15
954 ,p_attribute16 => p_attribute16
955 ,p_attribute17 => p_attribute17
956 ,p_attribute18 => p_attribute18
957 ,p_attribute19 => p_attribute19
958 ,p_attribute20 => p_attribute20
959 ,p_rate_basis => p_rate_basis
960 ,p_asg_rate_type => p_asg_rate_type
961 ,p_rate_id => l_rate_id
962 ,p_object_version_number => l_object_version_number);
963 --
964 hr_utility.set_location(l_proc, 40);
965 --
966 BEGIN
967 --
968 -- Start of API User Hook for the after hook of create_assignment_rate
969 --
970 hr_rate_api_bk4.create_assignment_rate_a
971 (p_effective_date => l_effective_date
972 ,p_rate_id => l_rate_id
973 ,p_object_version_number => l_object_version_number
974 ,p_business_group_id => p_business_group_id
975 ,p_name => p_name
976 ,p_rate_type => l_default_rate_type
977 ,p_rate_uom => l_default_rate_uom
978 ,p_rate_basis => p_rate_basis
979 ,p_asg_rate_type => p_asg_rate_type
980 ,p_attribute_category => p_attribute_category
981 ,p_attribute1 => p_attribute1
982 ,p_attribute2 => p_attribute2
983 ,p_attribute3 => p_attribute3
984 ,p_attribute4 => p_attribute4
985 ,p_attribute5 => p_attribute5
986 ,p_attribute6 => p_attribute6
987 ,p_attribute7 => p_attribute7
988 ,p_attribute8 => p_attribute8
989 ,p_attribute9 => p_attribute9
990 ,p_attribute10 => p_attribute11
991 ,p_attribute11 => p_attribute12
992 ,p_attribute12 => p_attribute13
993 ,p_attribute13 => p_attribute14
994 ,p_attribute14 => p_attribute15
995 ,p_attribute15 => p_attribute16
996 ,p_attribute16 => p_attribute17
997 ,p_attribute17 => p_attribute18
998 ,p_attribute18 => p_attribute19
999 ,p_attribute19 => p_attribute19
1000 ,p_attribute20 => p_attribute20);
1001 --
1002 EXCEPTION
1003 WHEN hr_api.cannot_find_prog_unit THEN
1004 hr_api.cannot_find_prog_unit_error
1005 (p_module_name => 'create_assignment_rate'
1006 ,p_hook_type => 'AP');
1007 --
1008 -- End of API User Hook for the after hook of create_assignment_rate
1009 --
1010 END;
1011 --
1012 hr_utility.set_location(l_proc, 50);
1013 --
1014 -- When in validation only mode raise the Validate_Enabled exception
1015 --
1016 IF p_validate THEN
1017 --
1018 RAISE hr_api.validate_enabled;
1019 --
1020 END IF;
1021 --
1022 -- Set all output arguments
1023 --
1024 p_object_version_number := l_object_version_number;
1025 p_rate_id := l_rate_id;
1026 --
1027 hr_utility.set_location(' Leaving:'||l_proc, 999);
1028 --
1029 EXCEPTION
1030 --
1031 WHEN hr_api.validate_enabled THEN
1032 --
1033 -- As the Validate_Enabled exception has been raised
1034 -- we must rollback to the savepoint
1035 --
1036 ROLLBACK TO create_assignment_rate;
1037 --
1038 -- Only set output warning arguments
1039 -- (Any key or derived arguments must be set to null
1040 -- when validation only mode is being used.)
1041 --
1042 p_object_version_number := NULL;
1043 --
1044 hr_utility.set_location(' Leaving:'||l_proc, 998);
1045 --
1046 WHEN others THEN
1047 --
1048 -- A validation or unexpected error has occured
1049 --
1050 ROLLBACK TO create_assignment_rate;
1051 --
1052 -- Bugfix 2692195
1053 -- Reset all OUT/IN OUT parameters
1054 --
1055 p_object_version_number := null;
1056 p_rate_id := null;
1057 --
1058 RAISE;
1059 --
1060 END create_assignment_rate;
1061 --
1062 -- ----------------------------------------------------------------------------
1063 -- |-------------------------< update_assignment_rate >-----------------------|
1064 -- ----------------------------------------------------------------------------
1065 --
1066 PROCEDURE update_assignment_rate
1067 (p_validate IN BOOLEAN DEFAULT FALSE
1068 ,p_rate_id IN NUMBER
1069 ,p_object_version_number IN OUT NOCOPY NUMBER
1070 ,p_effective_date IN DATE
1071 ,p_name IN VARCHAR2 DEFAULT hr_api.g_varchar2
1072 ,p_rate_basis IN VARCHAR2 DEFAULT hr_api.g_varchar2
1073 ,p_asg_rate_type IN VARCHAR2 DEFAULT hr_api.g_varchar2
1074 ,p_attribute_category IN VARCHAR2 DEFAULT hr_api.g_varchar2
1075 ,p_attribute1 IN VARCHAR2 DEFAULT hr_api.g_varchar2
1076 ,p_attribute2 IN VARCHAR2 DEFAULT hr_api.g_varchar2
1077 ,p_attribute3 IN VARCHAR2 DEFAULT hr_api.g_varchar2
1078 ,p_attribute4 IN VARCHAR2 DEFAULT hr_api.g_varchar2
1079 ,p_attribute5 IN VARCHAR2 DEFAULT hr_api.g_varchar2
1080 ,p_attribute6 IN VARCHAR2 DEFAULT hr_api.g_varchar2
1081 ,p_attribute7 IN VARCHAR2 DEFAULT hr_api.g_varchar2
1082 ,p_attribute8 IN VARCHAR2 DEFAULT hr_api.g_varchar2
1083 ,p_attribute9 IN VARCHAR2 DEFAULT hr_api.g_varchar2
1084 ,p_attribute10 IN VARCHAR2 DEFAULT hr_api.g_varchar2
1085 ,p_attribute11 IN VARCHAR2 DEFAULT hr_api.g_varchar2
1086 ,p_attribute12 IN VARCHAR2 DEFAULT hr_api.g_varchar2
1087 ,p_attribute13 IN VARCHAR2 DEFAULT hr_api.g_varchar2
1088 ,p_attribute14 IN VARCHAR2 DEFAULT hr_api.g_varchar2
1089 ,p_attribute15 IN VARCHAR2 DEFAULT hr_api.g_varchar2
1090 ,p_attribute16 IN VARCHAR2 DEFAULT hr_api.g_varchar2
1091 ,p_attribute17 IN VARCHAR2 DEFAULT hr_api.g_varchar2
1092 ,p_attribute18 IN VARCHAR2 DEFAULT hr_api.g_varchar2
1093 ,p_attribute19 IN VARCHAR2 DEFAULT hr_api.g_varchar2
1094 ,p_attribute20 IN VARCHAR2 DEFAULT hr_api.g_varchar2) IS
1095 --
1096 -- Declare cursors and local variables
1097 --
1098 l_proc VARCHAR2(72) := g_package||'update_assignment_rate';
1099 l_object_version_number NUMBER;
1100 l_effective_date DATE;
1101 --
1102 BEGIN
1103 --
1104 hr_utility.set_location('Entering:'|| l_proc, 10);
1105 --
1106 -- Issue a savepoint if operating in validation only mode
1107 --
1108 SAVEPOINT update_assignment_rate;
1109 --
1110 l_effective_date := TRUNC(p_effective_date);
1111 --
1112 -- Process Logic
1113 --
1114 l_object_version_number := p_object_version_number;
1115 --
1116 hr_utility.set_location(l_proc, 20);
1117 --
1118 BEGIN
1119 --
1120 -- Start of API User Hook for the before hook of update_assignment_rate
1121 --
1122 hr_rate_api_bk5.update_assignment_rate_a
1123 (p_effective_date => l_effective_date
1124 ,p_rate_id => p_rate_id
1125 ,p_object_version_number => l_object_version_number
1126 ,p_name => p_name
1127 ,p_rate_basis => p_rate_basis
1128 ,p_asg_rate_type => p_asg_rate_type
1129 ,p_attribute_category => p_attribute_category
1130 ,p_attribute1 => p_attribute1
1131 ,p_attribute2 => p_attribute2
1132 ,p_attribute3 => p_attribute3
1133 ,p_attribute4 => p_attribute4
1134 ,p_attribute5 => p_attribute5
1135 ,p_attribute6 => p_attribute6
1136 ,p_attribute7 => p_attribute7
1137 ,p_attribute8 => p_attribute8
1138 ,p_attribute9 => p_attribute9
1139 ,p_attribute10 => p_attribute11
1140 ,p_attribute11 => p_attribute12
1141 ,p_attribute12 => p_attribute13
1142 ,p_attribute13 => p_attribute14
1143 ,p_attribute14 => p_attribute15
1144 ,p_attribute15 => p_attribute16
1145 ,p_attribute16 => p_attribute17
1146 ,p_attribute17 => p_attribute18
1147 ,p_attribute18 => p_attribute19
1148 ,p_attribute19 => p_attribute19
1149 ,p_attribute20 => p_attribute20);
1150 --
1151 EXCEPTION
1152 WHEN hr_api.cannot_find_prog_unit THEN
1153 hr_api.cannot_find_prog_unit_error
1154 (p_module_name => 'update_assignment_rate'
1155 ,p_hook_type => 'BP');
1156 --
1157 -- End of API User Hook for the before hook of update_assignment_rate
1158 --
1159 END;
1160 --
1161 hr_utility.set_location(l_proc, 30);
1162 --
1163 hr_rate_api.update_rate
1164 (p_effective_date => l_effective_date
1165 ,p_rate_id => p_rate_id
1166 ,p_object_version_number => l_object_version_number
1167 ,p_name => p_name
1168 ,p_rate_basis => p_rate_basis
1169 ,p_asg_rate_type => p_asg_rate_type
1170 ,p_attribute_category => p_attribute_category
1171 ,p_attribute1 => p_attribute1
1172 ,p_attribute2 => p_attribute2
1173 ,p_attribute3 => p_attribute3
1174 ,p_attribute4 => p_attribute4
1175 ,p_attribute5 => p_attribute5
1176 ,p_attribute6 => p_attribute6
1177 ,p_attribute7 => p_attribute7
1178 ,p_attribute8 => p_attribute8
1179 ,p_attribute9 => p_attribute9
1180 ,p_attribute10 => p_attribute10
1181 ,p_attribute11 => p_attribute11
1182 ,p_attribute12 => p_attribute12
1183 ,p_attribute13 => p_attribute13
1184 ,p_attribute14 => p_attribute14
1185 ,p_attribute15 => p_attribute15
1186 ,p_attribute16 => p_attribute16
1187 ,p_attribute17 => p_attribute17
1188 ,p_attribute18 => p_attribute18
1189 ,p_attribute19 => p_attribute19
1190 ,p_attribute20 => p_attribute20);
1191 --
1192 hr_utility.set_location(l_proc, 40);
1193 --
1194 BEGIN
1195 --
1196 -- Start of API User Hook for the after hook of update_assignment_rate
1197 --
1198 hr_rate_api_bk5.update_assignment_rate_a
1199 (p_effective_date => l_effective_date
1200 ,p_rate_id => p_rate_id
1201 ,p_object_version_number => l_object_version_number
1202 ,p_name => p_name
1203 ,p_rate_basis => p_rate_basis
1204 ,p_asg_rate_type => p_asg_rate_type
1205 ,p_attribute_category => p_attribute_category
1206 ,p_attribute1 => p_attribute1
1207 ,p_attribute2 => p_attribute2
1208 ,p_attribute3 => p_attribute3
1209 ,p_attribute4 => p_attribute4
1210 ,p_attribute5 => p_attribute5
1211 ,p_attribute6 => p_attribute6
1212 ,p_attribute7 => p_attribute7
1213 ,p_attribute8 => p_attribute8
1214 ,p_attribute9 => p_attribute9
1215 ,p_attribute10 => p_attribute11
1216 ,p_attribute11 => p_attribute12
1217 ,p_attribute12 => p_attribute13
1218 ,p_attribute13 => p_attribute14
1219 ,p_attribute14 => p_attribute15
1220 ,p_attribute15 => p_attribute16
1221 ,p_attribute16 => p_attribute17
1222 ,p_attribute17 => p_attribute18
1223 ,p_attribute18 => p_attribute19
1224 ,p_attribute19 => p_attribute19
1225 ,p_attribute20 => p_attribute20);
1226 --
1227 EXCEPTION
1228 WHEN hr_api.cannot_find_prog_unit THEN
1229 hr_api.cannot_find_prog_unit_error
1230 (p_module_name => 'update_assignment_rate'
1231 ,p_hook_type => 'AP');
1232 --
1233 -- End of API User Hook for the after hook of update_assignment_rate
1234 --
1235 END;
1236 --
1237 hr_utility.set_location(l_proc, 50);
1238 --
1239 -- When in validation only mode raise the Validate_Enabled exception
1240 --
1241 IF p_validate THEN
1242 --
1243 RAISE hr_api.validate_enabled;
1244 --
1245 END IF;
1246 --
1247 -- Set all output arguments
1248 --
1249 p_object_version_number := l_object_version_number;
1250 --
1251 hr_utility.set_location(' Leaving:'||l_proc, 999);
1252 --
1253 EXCEPTION
1254 --
1255 WHEN hr_api.validate_enabled THEN
1256 --
1257 -- As the Validate_Enabled exception has been raised
1258 -- we must rollback to the savepoint
1259 --
1260 ROLLBACK TO update_assignment_rate;
1261 --
1262 -- Only set output warning arguments
1263 -- (Any key or derived arguments must be set to null
1264 -- when validation only mode is being used.)
1265 --
1266 hr_utility.set_location(' Leaving:'||l_proc, 998);
1267 --
1268 WHEN others THEN
1269 --
1270 -- A validation or unexpected error has occured
1271 --
1272 ROLLBACK TO update_assignment_rate;
1273 --
1274 -- Bugfix 2692195
1275 -- Reset all OUT/IN OUT parameters
1276 --
1277 p_object_version_number := l_object_version_number;
1278 --
1279 RAISE;
1280 --
1281 END update_assignment_rate;
1282 --
1283 END hr_rate_api;