[Home] [Help]
PACKAGE BODY: APPS.HR_RATE_SWI
Source
1 Package Body hr_rate_swi As
2 /* $Header: pypyrswi.pkb 115.0 2004/01/05 05:59 lsilveir noship $ */
3 --
4 -- Package variables
5 --
6 g_package varchar2(33) := 'hr_rate_swi.';
7 --
8 -- ----------------------------------------------------------------------------
9 -- |------------------------< create_assignment_rate >------------------------|
10 -- ----------------------------------------------------------------------------
11 PROCEDURE create_assignment_rate
12 (p_validate in number default hr_api.g_false_num
13 ,p_effective_date in date
14 ,p_business_group_id in number
15 ,p_name in varchar2
16 ,p_rate_basis in varchar2
17 ,p_asg_rate_type in varchar2 default null
18 ,p_attribute_category in varchar2 default null
19 ,p_attribute1 in varchar2 default null
20 ,p_attribute2 in varchar2 default null
21 ,p_attribute3 in varchar2 default null
22 ,p_attribute4 in varchar2 default null
23 ,p_attribute5 in varchar2 default null
24 ,p_attribute6 in varchar2 default null
25 ,p_attribute7 in varchar2 default null
26 ,p_attribute8 in varchar2 default null
27 ,p_attribute9 in varchar2 default null
28 ,p_attribute10 in varchar2 default null
29 ,p_attribute11 in varchar2 default null
30 ,p_attribute12 in varchar2 default null
31 ,p_attribute13 in varchar2 default null
32 ,p_attribute14 in varchar2 default null
33 ,p_attribute15 in varchar2 default null
34 ,p_attribute16 in varchar2 default null
35 ,p_attribute17 in varchar2 default null
36 ,p_attribute18 in varchar2 default null
37 ,p_attribute19 in varchar2 default null
38 ,p_attribute20 in varchar2 default null
39 ,p_object_version_number out nocopy number
40 ,p_rate_id out nocopy number
41 ,p_return_status out nocopy varchar2
42 ) is
43 --
44 -- Variables for API Boolean parameters
45 l_validate boolean;
46 --
47 -- Variables for IN/OUT parameters
48 --
49 -- Other variables
50 l_proc varchar2(72) := g_package ||'create_assignment_rate';
51 Begin
52 hr_utility.set_location(' Entering:' || l_proc,10);
53 --
54 -- Issue a savepoint
55 --
56 savepoint create_assignment_rate_swi;
57 --
58 -- Initialise Multiple Message Detection
59 --
60 hr_multi_message.enable_message_list;
61 --
62 -- Remember IN OUT parameter IN values
63 --
64 --
65 -- Convert constant values to their corresponding boolean value
66 --
67 l_validate :=
68 hr_api.constant_to_boolean
69 (p_constant_value => p_validate);
70 --
71 -- Register Surrogate ID or user key values
72 --
73 --
74 -- Call API
75 --
76 hr_rate_api.create_assignment_rate
77 (p_validate => l_validate
78 ,p_effective_date => p_effective_date
79 ,p_business_group_id => p_business_group_id
80 ,p_name => p_name
81 ,p_rate_basis => p_rate_basis
82 ,p_asg_rate_type => p_asg_rate_type
83 ,p_attribute_category => p_attribute_category
84 ,p_attribute1 => p_attribute1
85 ,p_attribute2 => p_attribute2
86 ,p_attribute3 => p_attribute3
87 ,p_attribute4 => p_attribute4
88 ,p_attribute5 => p_attribute5
89 ,p_attribute6 => p_attribute6
90 ,p_attribute7 => p_attribute7
91 ,p_attribute8 => p_attribute8
92 ,p_attribute9 => p_attribute9
93 ,p_attribute10 => p_attribute10
94 ,p_attribute11 => p_attribute11
95 ,p_attribute12 => p_attribute12
96 ,p_attribute13 => p_attribute13
97 ,p_attribute14 => p_attribute14
98 ,p_attribute15 => p_attribute15
99 ,p_attribute16 => p_attribute16
100 ,p_attribute17 => p_attribute17
101 ,p_attribute18 => p_attribute18
102 ,p_attribute19 => p_attribute19
103 ,p_attribute20 => p_attribute20
104 ,p_object_version_number => p_object_version_number
105 ,p_rate_id => p_rate_id
106 );
107 --
108 -- Convert API warning boolean parameter values to specific
109 -- messages and add them to Multiple Message List
110 --
111 --
112 -- Convert API non-warning boolean parameter values
113 --
114 --
115 -- Derive the API return status value based on whether
116 -- messages of any type exist in the Multiple Message List.
117 -- Also disable Multiple Message Detection.
118 --
119 p_return_status := hr_multi_message.get_return_status_disable;
120 hr_utility.set_location(' Leaving:' || l_proc,20);
121 --
122 exception
123 when hr_multi_message.error_message_exist then
124 --
125 -- Catch the Multiple Message List exception which
126 -- indicates API processing has been aborted because
127 -- at least one message exists in the list.
128 --
129 rollback to create_assignment_rate_swi;
130 --
131 -- Reset IN OUT parameters and set OUT parameters
132 --
133 p_object_version_number := null;
134 p_rate_id := null;
135 p_return_status := hr_multi_message.get_return_status_disable;
136 hr_utility.set_location(' Leaving:' || l_proc, 30);
137 when others then
138 --
139 -- When Multiple Message Detection is enabled catch
140 -- any Application specific or other unexpected
141 -- exceptions. Adding appropriate details to the
142 -- Multiple Message List. Otherwise re-raise the
143 -- error.
144 --
145 rollback to create_assignment_rate_swi;
146 if hr_multi_message.unexpected_error_add(l_proc) then
147 hr_utility.set_location(' Leaving:' || l_proc,40);
148 raise;
149 end if;
150 --
151 -- Reset IN OUT and set OUT parameters
152 --
153 p_object_version_number := null;
154 p_rate_id := null;
155 p_return_status := hr_multi_message.get_return_status_disable;
156 hr_utility.set_location(' Leaving:' || l_proc,50);
157 end create_assignment_rate;
158 -- ----------------------------------------------------------------------------
159 -- |------------------------------< create_rate >-----------------------------|
160 -- ----------------------------------------------------------------------------
161 PROCEDURE create_rate
162 (p_validate in number default hr_api.g_false_num
163 ,p_effective_date in date
164 ,p_business_group_id in number
165 ,p_name in varchar2
166 ,p_rate_type in varchar2
167 ,p_rate_uom in varchar2
168 ,p_parent_spine_id in number default null
169 ,p_comments in varchar2 default null
170 ,p_rate_basis in varchar2 default null
171 ,p_asg_rate_type in varchar2 default null
172 ,p_attribute_category in varchar2 default null
173 ,p_attribute1 in varchar2 default null
174 ,p_attribute2 in varchar2 default null
175 ,p_attribute3 in varchar2 default null
176 ,p_attribute4 in varchar2 default null
177 ,p_attribute5 in varchar2 default null
178 ,p_attribute6 in varchar2 default null
179 ,p_attribute7 in varchar2 default null
180 ,p_attribute8 in varchar2 default null
181 ,p_attribute9 in varchar2 default null
182 ,p_attribute10 in varchar2 default null
183 ,p_attribute11 in varchar2 default null
184 ,p_attribute12 in varchar2 default null
185 ,p_attribute13 in varchar2 default null
186 ,p_attribute14 in varchar2 default null
187 ,p_attribute15 in varchar2 default null
188 ,p_attribute16 in varchar2 default null
189 ,p_attribute17 in varchar2 default null
190 ,p_attribute18 in varchar2 default null
191 ,p_attribute19 in varchar2 default null
192 ,p_attribute20 in varchar2 default null
193 ,p_object_version_number out nocopy number
194 ,p_rate_id in number
195 ,p_return_status out nocopy varchar2
196 ) is
197 --
198 -- Variables for API Boolean parameters
199 l_validate boolean;
200 --
201 -- Variables for IN/OUT parameters
202 --
203 -- Other variables
204 l_rate_id number;
205 l_proc varchar2(72) := g_package ||'create_rate';
206 Begin
207 hr_utility.set_location(' Entering:' || l_proc,10);
208 --
209 -- Issue a savepoint
210 --
211 savepoint create_rate_swi;
212 --
213 -- Initialise Multiple Message Detection
214 --
215 hr_multi_message.enable_message_list;
216 --
217 -- Remember IN OUT parameter IN values
218 --
219 --
220 -- Convert constant values to their corresponding boolean value
221 --
222 l_validate :=
223 hr_api.constant_to_boolean
224 (p_constant_value => p_validate);
225 --
226 -- Register Surrogate ID or user key values
227 --
228 pay_pyr_ins.set_base_key_value
229 (p_rate_id => p_rate_id
230 );
231 --
232 -- Call API
233 --
234 hr_rate_api.create_rate
235 (p_validate => l_validate
236 ,p_effective_date => p_effective_date
237 ,p_business_group_id => p_business_group_id
238 ,p_name => p_name
239 ,p_rate_type => p_rate_type
240 ,p_rate_uom => p_rate_uom
241 ,p_parent_spine_id => p_parent_spine_id
242 ,p_comments => p_comments
243 ,p_rate_basis => p_rate_basis
244 ,p_asg_rate_type => p_asg_rate_type
245 ,p_attribute_category => p_attribute_category
246 ,p_attribute1 => p_attribute1
247 ,p_attribute2 => p_attribute2
248 ,p_attribute3 => p_attribute3
249 ,p_attribute4 => p_attribute4
250 ,p_attribute5 => p_attribute5
251 ,p_attribute6 => p_attribute6
252 ,p_attribute7 => p_attribute7
253 ,p_attribute8 => p_attribute8
254 ,p_attribute9 => p_attribute9
255 ,p_attribute10 => p_attribute10
256 ,p_attribute11 => p_attribute11
257 ,p_attribute12 => p_attribute12
258 ,p_attribute13 => p_attribute13
259 ,p_attribute14 => p_attribute14
260 ,p_attribute15 => p_attribute15
261 ,p_attribute16 => p_attribute16
262 ,p_attribute17 => p_attribute17
263 ,p_attribute18 => p_attribute18
264 ,p_attribute19 => p_attribute19
265 ,p_attribute20 => p_attribute20
266 ,p_object_version_number => p_object_version_number
267 ,p_rate_id => l_rate_id
268 );
269 --
270 -- Convert API warning boolean parameter values to specific
271 -- messages and add them to Multiple Message List
272 --
273 --
274 -- Convert API non-warning boolean parameter values
275 --
276 --
277 -- Derive the API return status value based on whether
278 -- messages of any type exist in the Multiple Message List.
279 -- Also disable Multiple Message Detection.
280 --
281 p_return_status := hr_multi_message.get_return_status_disable;
282 hr_utility.set_location(' Leaving:' || l_proc,20);
283 --
284 exception
285 when hr_multi_message.error_message_exist then
286 --
287 -- Catch the Multiple Message List exception which
288 -- indicates API processing has been aborted because
289 -- at least one message exists in the list.
290 --
291 rollback to create_rate_swi;
292 --
293 -- Reset IN OUT parameters and set OUT parameters
294 --
295 p_object_version_number := null;
296 p_return_status := hr_multi_message.get_return_status_disable;
297 hr_utility.set_location(' Leaving:' || l_proc, 30);
298 when others then
299 --
300 -- When Multiple Message Detection is enabled catch
301 -- any Application specific or other unexpected
302 -- exceptions. Adding appropriate details to the
303 -- Multiple Message List. Otherwise re-raise the
304 -- error.
305 --
306 rollback to create_rate_swi;
307 if hr_multi_message.unexpected_error_add(l_proc) then
308 hr_utility.set_location(' Leaving:' || l_proc,40);
309 raise;
310 end if;
311 --
312 -- Reset IN OUT and set OUT parameters
313 --
314 p_object_version_number := null;
315 p_return_status := hr_multi_message.get_return_status_disable;
316 hr_utility.set_location(' Leaving:' || l_proc,50);
317 end create_rate;
318 -- ----------------------------------------------------------------------------
319 -- |------------------------------< delete_rate >-----------------------------|
320 -- ----------------------------------------------------------------------------
321 PROCEDURE delete_rate
322 (p_validate in number default hr_api.g_false_num
323 ,p_effective_date in date
324 ,p_rate_id in number
325 ,p_rate_type in varchar2
326 ,p_object_version_number in out nocopy number
327 ,p_return_status out nocopy varchar2
328 ) is
329 --
330 -- Variables for API Boolean parameters
331 l_validate boolean;
332 --
333 -- Variables for IN/OUT parameters
334 l_object_version_number number;
335 --
336 -- Other variables
337 l_proc varchar2(72) := g_package ||'delete_rate';
338 Begin
339 hr_utility.set_location(' Entering:' || l_proc,10);
340 --
341 -- Issue a savepoint
342 --
343 savepoint delete_rate_swi;
344 --
345 -- Initialise Multiple Message Detection
346 --
347 hr_multi_message.enable_message_list;
348 --
349 -- Remember IN OUT parameter IN values
350 --
351 l_object_version_number := p_object_version_number;
352 --
353 -- Convert constant values to their corresponding boolean value
354 --
355 l_validate :=
356 hr_api.constant_to_boolean
357 (p_constant_value => p_validate);
358 --
359 -- Register Surrogate ID or user key values
360 --
361 --
362 -- Call API
363 --
364 hr_rate_api.delete_rate
365 (p_validate => l_validate
366 ,p_effective_date => p_effective_date
367 ,p_rate_id => p_rate_id
368 ,p_rate_type => p_rate_type
369 ,p_object_version_number => p_object_version_number
370 );
371 --
372 -- Convert API warning boolean parameter values to specific
373 -- messages and add them to Multiple Message List
374 --
375 --
376 -- Convert API non-warning boolean parameter values
377 --
378 --
379 -- Derive the API return status value based on whether
380 -- messages of any type exist in the Multiple Message List.
381 -- Also disable Multiple Message Detection.
382 --
383 p_return_status := hr_multi_message.get_return_status_disable;
384 hr_utility.set_location(' Leaving:' || l_proc,20);
385 --
386 exception
387 when hr_multi_message.error_message_exist then
388 --
389 -- Catch the Multiple Message List exception which
390 -- indicates API processing has been aborted because
391 -- at least one message exists in the list.
392 --
393 rollback to delete_rate_swi;
394 --
395 -- Reset IN OUT parameters and set OUT parameters
396 --
397 p_object_version_number := l_object_version_number;
398 p_return_status := hr_multi_message.get_return_status_disable;
399 hr_utility.set_location(' Leaving:' || l_proc, 30);
400 when others then
401 --
402 -- When Multiple Message Detection is enabled catch
403 -- any Application specific or other unexpected
404 -- exceptions. Adding appropriate details to the
405 -- Multiple Message List. Otherwise re-raise the
406 -- error.
407 --
408 rollback to delete_rate_swi;
409 if hr_multi_message.unexpected_error_add(l_proc) then
410 hr_utility.set_location(' Leaving:' || l_proc,40);
411 raise;
412 end if;
413 --
414 -- Reset IN OUT and set OUT parameters
415 --
416 p_object_version_number := l_object_version_number;
417 p_return_status := hr_multi_message.get_return_status_disable;
418 hr_utility.set_location(' Leaving:' || l_proc,50);
419 end delete_rate;
420 -- ----------------------------------------------------------------------------
421 -- |------------------------< update_assignment_rate >------------------------|
422 -- ----------------------------------------------------------------------------
423 PROCEDURE update_assignment_rate
424 (p_validate in number default hr_api.g_false_num
425 ,p_rate_id in number
426 ,p_object_version_number in out nocopy number
427 ,p_effective_date in date
428 ,p_name in varchar2 default hr_api.g_varchar2
429 ,p_rate_basis in varchar2 default hr_api.g_varchar2
430 ,p_asg_rate_type in varchar2 default hr_api.g_varchar2
431 ,p_attribute_category in varchar2 default hr_api.g_varchar2
432 ,p_attribute1 in varchar2 default hr_api.g_varchar2
433 ,p_attribute2 in varchar2 default hr_api.g_varchar2
434 ,p_attribute3 in varchar2 default hr_api.g_varchar2
435 ,p_attribute4 in varchar2 default hr_api.g_varchar2
436 ,p_attribute5 in varchar2 default hr_api.g_varchar2
437 ,p_attribute6 in varchar2 default hr_api.g_varchar2
438 ,p_attribute7 in varchar2 default hr_api.g_varchar2
439 ,p_attribute8 in varchar2 default hr_api.g_varchar2
440 ,p_attribute9 in varchar2 default hr_api.g_varchar2
441 ,p_attribute10 in varchar2 default hr_api.g_varchar2
442 ,p_attribute11 in varchar2 default hr_api.g_varchar2
443 ,p_attribute12 in varchar2 default hr_api.g_varchar2
444 ,p_attribute13 in varchar2 default hr_api.g_varchar2
445 ,p_attribute14 in varchar2 default hr_api.g_varchar2
446 ,p_attribute15 in varchar2 default hr_api.g_varchar2
447 ,p_attribute16 in varchar2 default hr_api.g_varchar2
448 ,p_attribute17 in varchar2 default hr_api.g_varchar2
449 ,p_attribute18 in varchar2 default hr_api.g_varchar2
450 ,p_attribute19 in varchar2 default hr_api.g_varchar2
451 ,p_attribute20 in varchar2 default hr_api.g_varchar2
452 ,p_return_status out nocopy varchar2
453 ) is
454 --
455 -- Variables for API Boolean parameters
456 l_validate boolean;
457 --
458 -- Variables for IN/OUT parameters
459 l_object_version_number number;
460 --
461 -- Other variables
462 l_proc varchar2(72) := g_package ||'update_assignment_rate';
463 Begin
464 hr_utility.set_location(' Entering:' || l_proc,10);
465 --
466 -- Issue a savepoint
467 --
468 savepoint update_assignment_rate_swi;
469 --
470 -- Initialise Multiple Message Detection
471 --
472 hr_multi_message.enable_message_list;
473 --
474 -- Remember IN OUT parameter IN values
475 --
476 l_object_version_number := p_object_version_number;
477 --
478 -- Convert constant values to their corresponding boolean value
479 --
480 l_validate :=
481 hr_api.constant_to_boolean
482 (p_constant_value => p_validate);
483 --
484 -- Register Surrogate ID or user key values
485 --
486 --
487 -- Call API
488 --
489 hr_rate_api.update_assignment_rate
490 (p_validate => l_validate
491 ,p_rate_id => p_rate_id
492 ,p_object_version_number => p_object_version_number
493 ,p_effective_date => p_effective_date
494 ,p_name => p_name
495 ,p_rate_basis => p_rate_basis
496 ,p_asg_rate_type => p_asg_rate_type
497 ,p_attribute_category => p_attribute_category
498 ,p_attribute1 => p_attribute1
499 ,p_attribute2 => p_attribute2
500 ,p_attribute3 => p_attribute3
501 ,p_attribute4 => p_attribute4
502 ,p_attribute5 => p_attribute5
503 ,p_attribute6 => p_attribute6
504 ,p_attribute7 => p_attribute7
505 ,p_attribute8 => p_attribute8
506 ,p_attribute9 => p_attribute9
507 ,p_attribute10 => p_attribute10
508 ,p_attribute11 => p_attribute11
509 ,p_attribute12 => p_attribute12
510 ,p_attribute13 => p_attribute13
511 ,p_attribute14 => p_attribute14
512 ,p_attribute15 => p_attribute15
513 ,p_attribute16 => p_attribute16
514 ,p_attribute17 => p_attribute17
515 ,p_attribute18 => p_attribute18
516 ,p_attribute19 => p_attribute19
517 ,p_attribute20 => p_attribute20
518 );
519 --
520 -- Convert API warning boolean parameter values to specific
521 -- messages and add them to Multiple Message List
522 --
523 --
524 -- Convert API non-warning boolean parameter values
525 --
526 --
527 -- Derive the API return status value based on whether
528 -- messages of any type exist in the Multiple Message List.
529 -- Also disable Multiple Message Detection.
530 --
531 p_return_status := hr_multi_message.get_return_status_disable;
532 hr_utility.set_location(' Leaving:' || l_proc,20);
533 --
534 exception
535 when hr_multi_message.error_message_exist then
536 --
537 -- Catch the Multiple Message List exception which
538 -- indicates API processing has been aborted because
539 -- at least one message exists in the list.
540 --
541 rollback to update_assignment_rate_swi;
542 --
543 -- Reset IN OUT parameters and set OUT parameters
544 --
545 p_object_version_number := l_object_version_number;
546 p_return_status := hr_multi_message.get_return_status_disable;
547 hr_utility.set_location(' Leaving:' || l_proc, 30);
548 when others then
549 --
550 -- When Multiple Message Detection is enabled catch
551 -- any Application specific or other unexpected
552 -- exceptions. Adding appropriate details to the
553 -- Multiple Message List. Otherwise re-raise the
554 -- error.
555 --
556 rollback to update_assignment_rate_swi;
557 if hr_multi_message.unexpected_error_add(l_proc) then
558 hr_utility.set_location(' Leaving:' || l_proc,40);
559 raise;
560 end if;
561 --
562 -- Reset IN OUT and set OUT parameters
563 --
564 p_object_version_number := l_object_version_number;
565 p_return_status := hr_multi_message.get_return_status_disable;
566 hr_utility.set_location(' Leaving:' || l_proc,50);
567 end update_assignment_rate;
568 -- ----------------------------------------------------------------------------
569 -- |------------------------------< update_rate >-----------------------------|
570 -- ----------------------------------------------------------------------------
571 PROCEDURE update_rate
572 (p_validate in number default hr_api.g_false_num
573 ,p_rate_id in number
574 ,p_object_version_number in out nocopy number
575 ,p_effective_date in date
576 ,p_name in varchar2 default hr_api.g_varchar2
577 ,p_rate_uom in varchar2 default hr_api.g_varchar2
578 ,p_parent_spine_id in number default hr_api.g_number
579 ,p_comments in varchar2 default hr_api.g_varchar2
580 ,p_rate_basis in varchar2 default hr_api.g_varchar2
581 ,p_asg_rate_type in varchar2 default hr_api.g_varchar2
582 ,p_attribute_category in varchar2 default hr_api.g_varchar2
583 ,p_attribute1 in varchar2 default hr_api.g_varchar2
584 ,p_attribute2 in varchar2 default hr_api.g_varchar2
585 ,p_attribute3 in varchar2 default hr_api.g_varchar2
586 ,p_attribute4 in varchar2 default hr_api.g_varchar2
587 ,p_attribute5 in varchar2 default hr_api.g_varchar2
588 ,p_attribute6 in varchar2 default hr_api.g_varchar2
589 ,p_attribute7 in varchar2 default hr_api.g_varchar2
590 ,p_attribute8 in varchar2 default hr_api.g_varchar2
591 ,p_attribute9 in varchar2 default hr_api.g_varchar2
592 ,p_attribute10 in varchar2 default hr_api.g_varchar2
593 ,p_attribute11 in varchar2 default hr_api.g_varchar2
594 ,p_attribute12 in varchar2 default hr_api.g_varchar2
595 ,p_attribute13 in varchar2 default hr_api.g_varchar2
596 ,p_attribute14 in varchar2 default hr_api.g_varchar2
597 ,p_attribute15 in varchar2 default hr_api.g_varchar2
598 ,p_attribute16 in varchar2 default hr_api.g_varchar2
599 ,p_attribute17 in varchar2 default hr_api.g_varchar2
600 ,p_attribute18 in varchar2 default hr_api.g_varchar2
601 ,p_attribute19 in varchar2 default hr_api.g_varchar2
602 ,p_attribute20 in varchar2 default hr_api.g_varchar2
603 ,p_return_status out nocopy varchar2
604 ) is
605 --
606 -- Variables for API Boolean parameters
607 l_validate boolean;
608 --
609 -- Variables for IN/OUT parameters
610 l_object_version_number number;
611 --
612 -- Other variables
613 l_proc varchar2(72) := g_package ||'update_rate';
614 Begin
615 hr_utility.set_location(' Entering:' || l_proc,10);
616 --
617 -- Issue a savepoint
618 --
619 savepoint update_rate_swi;
620 --
621 -- Initialise Multiple Message Detection
622 --
623 hr_multi_message.enable_message_list;
624 --
625 -- Remember IN OUT parameter IN values
626 --
627 l_object_version_number := p_object_version_number;
628 --
629 -- Convert constant values to their corresponding boolean value
630 --
631 l_validate :=
632 hr_api.constant_to_boolean
633 (p_constant_value => p_validate);
634 --
635 -- Register Surrogate ID or user key values
636 --
637 --
638 -- Call API
639 --
640 hr_rate_api.update_rate
641 (p_validate => l_validate
642 ,p_rate_id => p_rate_id
643 ,p_object_version_number => p_object_version_number
644 ,p_effective_date => p_effective_date
645 ,p_name => p_name
646 ,p_rate_uom => p_rate_uom
647 ,p_parent_spine_id => p_parent_spine_id
648 ,p_comments => p_comments
649 ,p_rate_basis => p_rate_basis
650 ,p_asg_rate_type => p_asg_rate_type
651 ,p_attribute_category => p_attribute_category
652 ,p_attribute1 => p_attribute1
653 ,p_attribute2 => p_attribute2
654 ,p_attribute3 => p_attribute3
655 ,p_attribute4 => p_attribute4
656 ,p_attribute5 => p_attribute5
657 ,p_attribute6 => p_attribute6
658 ,p_attribute7 => p_attribute7
659 ,p_attribute8 => p_attribute8
660 ,p_attribute9 => p_attribute9
661 ,p_attribute10 => p_attribute10
662 ,p_attribute11 => p_attribute11
663 ,p_attribute12 => p_attribute12
664 ,p_attribute13 => p_attribute13
665 ,p_attribute14 => p_attribute14
666 ,p_attribute15 => p_attribute15
667 ,p_attribute16 => p_attribute16
668 ,p_attribute17 => p_attribute17
669 ,p_attribute18 => p_attribute18
670 ,p_attribute19 => p_attribute19
671 ,p_attribute20 => p_attribute20
672 );
673 --
674 -- Convert API warning boolean parameter values to specific
675 -- messages and add them to Multiple Message List
676 --
677 --
678 -- Convert API non-warning boolean parameter values
679 --
680 --
681 -- Derive the API return status value based on whether
682 -- messages of any type exist in the Multiple Message List.
683 -- Also disable Multiple Message Detection.
684 --
685 p_return_status := hr_multi_message.get_return_status_disable;
686 hr_utility.set_location(' Leaving:' || l_proc,20);
687 --
688 exception
689 when hr_multi_message.error_message_exist then
690 --
691 -- Catch the Multiple Message List exception which
692 -- indicates API processing has been aborted because
693 -- at least one message exists in the list.
694 --
695 rollback to update_rate_swi;
696 --
697 -- Reset IN OUT parameters and set OUT parameters
698 --
699 p_object_version_number := l_object_version_number;
700 p_return_status := hr_multi_message.get_return_status_disable;
701 hr_utility.set_location(' Leaving:' || l_proc, 30);
702 when others then
703 --
704 -- When Multiple Message Detection is enabled catch
705 -- any Application specific or other unexpected
706 -- exceptions. Adding appropriate details to the
707 -- Multiple Message List. Otherwise re-raise the
708 -- error.
709 --
710 rollback to update_rate_swi;
711 if hr_multi_message.unexpected_error_add(l_proc) then
712 hr_utility.set_location(' Leaving:' || l_proc,40);
713 raise;
714 end if;
715 --
716 -- Reset IN OUT and set OUT parameters
717 --
718 p_object_version_number := l_object_version_number;
719 p_return_status := hr_multi_message.get_return_status_disable;
720 hr_utility.set_location(' Leaving:' || l_proc,50);
721 end update_rate;
722 end hr_rate_swi;