[Home] [Help]
PACKAGE BODY: APPS.AME_RULE_SWI
Source
1 Package Body ame_rule_swi As
2 /* $Header: amrulswi.pkb 120.3 2005/10/25 02:49 tkolla noship $ */
3 --
4 -- Package variables
5 --
6 g_package varchar2(33) := 'ame_rule_swi.';
7 --
8 -- ----------------------------------------------------------------------------
9 -- |----------------------------< create_ame_rule >---------------------------|
10 -- ----------------------------------------------------------------------------
11 PROCEDURE create_ame_rule
12 (p_validate in number default hr_api.g_false_num
13 ,p_rule_key in varchar2
14 ,p_description in varchar2
15 ,p_rule_type in varchar2
16 ,p_item_class_id in number default null
17 ,p_condition_id in number default null
18 ,p_action_id in number default null
19 ,p_application_id in number default null
20 ,p_priority in number default null
21 ,p_approver_category in varchar2 default null
22 ,p_rul_start_date in out nocopy date
23 ,p_rul_end_date in out nocopy date
24 ,p_rule_id in number
25 ,p_rul_object_version_number out nocopy number
26 ,p_rlu_object_version_number out nocopy number
27 ,p_rlu_start_date out nocopy date
28 ,p_rlu_end_date out nocopy date
29 ,p_cnu_object_version_number out nocopy number
30 ,p_cnu_start_date out nocopy date
31 ,p_cnu_end_date out nocopy date
32 ,p_acu_object_version_number out nocopy number
33 ,p_acu_start_date out nocopy date
34 ,p_acu_end_date out nocopy date
35 ,p_return_status out nocopy varchar2
36 ) is
37 --
38 -- Variables for API Boolean parameters
39 l_validate boolean;
40 --
41 -- Variables for IN/OUT parameters
42 l_rul_start_date date;
43 l_rul_end_date date;
44 --
45 -- Other variables
46 l_rule_id number;
47 l_proc varchar2(72) := g_package ||'create_ame_rule';
48 Begin
49 hr_utility.set_location(' Entering:' || l_proc,10);
50 --
51 -- Issue a savepoint
52 --
53 savepoint create_ame_rule_swi;
54 --
55 -- Initialise Multiple Message Detection
56 --
57 hr_multi_message.enable_message_list;
58 --
59 -- Remember IN OUT parameter IN values
60 --
61 l_rul_start_date := p_rul_start_date;
62 l_rul_end_date := p_rul_end_date;
63 --
64 -- Convert constant values to their corresponding boolean value
65 --
66 l_validate :=
67 hr_api.constant_to_boolean
68 (p_constant_value => p_validate);
69 --
70 -- Register Surrogate ID or user key values
71 --
72 ame_rul_ins.set_base_key_value
73 (p_rule_id => p_rule_id
74 );
75 --
76 -- Call API
77 --
78 ame_rule_api.create_ame_rule
79 (p_validate => l_validate
80 ,p_rule_key => p_rule_key
81 ,p_description => p_description
82 ,p_rule_type => p_rule_type
83 ,p_item_class_id => p_item_class_id
84 ,p_condition_id => p_condition_id
85 ,p_action_id => p_action_id
86 ,p_application_id => p_application_id
87 ,p_priority => p_priority
88 ,p_approver_category => p_approver_category
89 ,p_rul_start_date => l_rul_start_date
90 ,p_rul_end_date => l_rul_end_date
91 ,p_rule_id => l_rule_id
92 ,p_rul_object_version_number => p_rul_object_version_number
93 ,p_rlu_object_version_number => p_rlu_object_version_number
94 ,p_rlu_start_date => p_rlu_start_date
95 ,p_rlu_end_date => p_rlu_end_date
96 ,p_cnu_object_version_number => p_cnu_object_version_number
97 ,p_cnu_start_date => p_cnu_start_date
98 ,p_cnu_end_date => p_cnu_end_date
99 ,p_acu_object_version_number => p_acu_object_version_number
100 ,p_acu_start_date => p_acu_start_date
101 ,p_acu_end_date => p_acu_end_date
102 );
103 --
104 -- Convert API warning boolean parameter values to specific
105 -- messages and add them to Multiple Message List
106 --
107 --
108 -- Convert API non-warning boolean parameter values
109 --
110 --
111 -- Derive the API return status value based on whether
112 -- messages of any type exist in the Multiple Message List.
113 -- Also disable Multiple Message Detection.
114 --
115 p_return_status := hr_multi_message.get_return_status_disable;
116 hr_utility.set_location(' Leaving:' || l_proc,20);
117 --
118 exception
119 when hr_multi_message.error_message_exist then
120 --
121 -- Catch the Multiple Message List exception which
122 -- indicates API processing has been aborted because
123 -- at least one message exists in the list.
124 --
125 rollback to create_ame_rule_swi;
126 --
127 -- Reset IN OUT parameters and set OUT parameters
128 --
129 p_rul_start_date := l_rul_start_date;
130 p_rul_end_date := l_rul_end_date;
131 p_rul_object_version_number := null;
132 p_rlu_object_version_number := null;
133 p_rlu_start_date := null;
134 p_rlu_end_date := null;
135 p_cnu_object_version_number := null;
136 p_cnu_start_date := null;
137 p_cnu_end_date := null;
138 p_acu_object_version_number := null;
139 p_acu_start_date := null;
140 p_acu_end_date := null;
141 p_return_status := hr_multi_message.get_return_status_disable;
142 hr_utility.set_location(' Leaving:' || l_proc, 30);
143 when others then
144 --
145 -- When Multiple Message Detection is enabled catch
146 -- any Application specific or other unexpected
147 -- exceptions. Adding appropriate details to the
148 -- Multiple Message List. Otherwise re-raise the
149 -- error.
150 --
151 rollback to create_ame_rule_swi;
152 if hr_multi_message.unexpected_error_add(l_proc) then
153 hr_utility.set_location(' Leaving:' || l_proc,40);
154 raise;
155 end if;
156 --
157 -- Reset IN OUT and set OUT parameters
158 --
159 p_rul_start_date := l_rul_start_date;
160 p_rul_end_date := l_rul_end_date;
161 p_rul_object_version_number := null;
162 p_rlu_object_version_number := null;
163 p_rlu_start_date := null;
164 p_rlu_end_date := null;
165 p_cnu_object_version_number := null;
166 p_cnu_start_date := null;
167 p_cnu_end_date := null;
168 p_acu_object_version_number := null;
169 p_acu_start_date := null;
170 p_acu_end_date := null;
171 p_return_status := hr_multi_message.get_return_status_disable;
172 hr_utility.set_location(' Leaving:' || l_proc,50);
173 end create_ame_rule;
174 -- ----------------------------------------------------------------------------
175 -- |-------------------------< create_ame_rule_usage >------------------------|
176 -- ----------------------------------------------------------------------------
177 PROCEDURE create_ame_rule_usage
178 (p_validate in number default hr_api.g_false_num
179 ,p_rule_id in number
180 ,p_application_id in number
181 ,p_priority in number default null
182 ,p_approver_category in varchar2 default null
183 ,p_start_date in out nocopy date
184 ,p_end_date in out nocopy date
185 ,p_object_version_number out nocopy number
186 ,p_return_status out nocopy varchar2
187 ) is
188 --
189 -- Variables for API Boolean parameters
190 l_validate boolean;
191 --
192 -- Variables for IN/OUT parameters
193 l_start_date date;
194 l_end_date date;
195 --
196 -- Other variables
197 l_proc varchar2(72) := g_package ||'create_ame_rule_usage';
198 Begin
199 hr_utility.set_location(' Entering:' || l_proc,10);
200 --
201 -- Issue a savepoint
202 --
203 savepoint create_ame_rule_usage_swi;
204 --
205 -- Initialise Multiple Message Detection
206 --
207 hr_multi_message.enable_message_list;
208 --
209 -- Remember IN OUT parameter IN values
210 --
211 l_start_date := p_start_date;
212 l_end_date := p_end_date;
213 --
214 -- Convert constant values to their corresponding boolean value
215 --
216 l_validate :=
217 hr_api.constant_to_boolean
218 (p_constant_value => p_validate);
219 --
220 -- Register Surrogate ID or user key values
221 --
222 --
223 -- Call API
224 --
225 ame_rule_api.create_ame_rule_usage
226 (p_validate => l_validate
227 ,p_rule_id => p_rule_id
228 ,p_application_id => p_application_id
229 ,p_priority => p_priority
230 ,p_approver_category => p_approver_category
231 ,p_start_date => l_start_date
232 ,p_end_date => l_end_date
233 ,p_object_version_number => p_object_version_number
234 );
235 --
236 -- Convert API warning boolean parameter values to specific
237 -- messages and add them to Multiple Message List
238 --
239 --
240 -- Convert API non-warning boolean parameter values
241 --
242 --
243 -- Derive the API return status value based on whether
244 -- messages of any type exist in the Multiple Message List.
245 -- Also disable Multiple Message Detection.
246 --
247 p_return_status := hr_multi_message.get_return_status_disable;
248 hr_utility.set_location(' Leaving:' || l_proc,20);
249 --
250 exception
251 when hr_multi_message.error_message_exist then
252 --
253 -- Catch the Multiple Message List exception which
254 -- indicates API processing has been aborted because
255 -- at least one message exists in the list.
256 --
257 rollback to create_ame_rule_usage_swi;
258 --
259 -- Reset IN OUT parameters and set OUT parameters
260 --
261 p_start_date := l_start_date;
262 p_end_date := l_end_date;
263 p_object_version_number := null;
264 p_return_status := hr_multi_message.get_return_status_disable;
265 hr_utility.set_location(' Leaving:' || l_proc, 30);
266 when others then
267 --
268 -- When Multiple Message Detection is enabled catch
269 -- any Application specific or other unexpected
270 -- exceptions. Adding appropriate details to the
271 -- Multiple Message List. Otherwise re-raise the
272 -- error.
273 --
274 rollback to create_ame_rule_usage_swi;
275 if hr_multi_message.unexpected_error_add(l_proc) then
276 hr_utility.set_location(' Leaving:' || l_proc,40);
277 raise;
278 end if;
279 --
280 -- Reset IN OUT and set OUT parameters
281 --
282 p_start_date := l_start_date;
283 p_end_date := l_end_date;
284 p_object_version_number := null;
285 p_return_status := hr_multi_message.get_return_status_disable;
286 hr_utility.set_location(' Leaving:' || l_proc,50);
287 end create_ame_rule_usage;
288 -- ----------------------------------------------------------------------------
289 -- |---------------------< create_ame_condition_to_rule >---------------------|
290 -- ----------------------------------------------------------------------------
291 PROCEDURE create_ame_condition_to_rule
292 (p_validate in number default hr_api.g_false_num
293 ,p_rule_id in number
294 ,p_condition_id in number
295 ,p_object_version_number out nocopy number
296 ,p_start_date out nocopy date
297 ,p_end_date out nocopy date
298 ,p_return_status out nocopy varchar2
299 ,p_effective_date in date default null
300 ) is
301 --
302 -- Variables for API Boolean parameters
303 l_validate boolean;
304 --
305 -- Variables for IN/OUT parameters
306 --
307 -- Other variables
308 l_proc varchar2(72) := g_package ||'create_ame_condition_to_rule';
309 Begin
310 hr_utility.set_location(' Entering:' || l_proc,10);
311 --
312 -- Issue a savepoint
313 --
314 savepoint create_ame_cond_to_rule_swi;
315 --
316 -- Initialise Multiple Message Detection
317 --
318 hr_multi_message.enable_message_list;
319 --
320 -- Remember IN OUT parameter IN values
321 --
322 --
323 -- Convert constant values to their corresponding boolean value
324 --
325 l_validate :=
326 hr_api.constant_to_boolean
327 (p_constant_value => p_validate);
328 --
329 -- Register Surrogate ID or user key values
330 --
331 --
332 -- Call API
333 --
334 ame_rule_api.create_ame_condition_to_rule
335 (p_validate => l_validate
336 ,p_rule_id => p_rule_id
337 ,p_condition_id => p_condition_id
338 ,p_object_version_number => p_object_version_number
339 ,p_start_date => p_start_date
340 ,p_end_date => p_end_date
341 ,p_effective_date => p_effective_date
342 );
343 --
344 -- Convert API warning boolean parameter values to specific
345 -- messages and add them to Multiple Message List
346 --
347 --
348 -- Convert API non-warning boolean parameter values
349 --
350 --
351 -- Derive the API return status value based on whether
352 -- messages of any type exist in the Multiple Message List.
353 -- Also disable Multiple Message Detection.
354 --
355 p_return_status := hr_multi_message.get_return_status_disable;
356 hr_utility.set_location(' Leaving:' || l_proc,20);
357 --
358 exception
359 when hr_multi_message.error_message_exist then
360 --
361 -- Catch the Multiple Message List exception which
362 -- indicates API processing has been aborted because
363 -- at least one message exists in the list.
364 --
365 rollback to create_ame_cond_to_rule_swi;
366 --
367 -- Reset IN OUT parameters and set OUT parameters
368 --
369 p_object_version_number := null;
370 p_start_date := null;
371 p_end_date := null;
372 p_return_status := hr_multi_message.get_return_status_disable;
373 hr_utility.set_location(' Leaving:' || l_proc, 30);
374 when others then
375 --
376 -- When Multiple Message Detection is enabled catch
377 -- any Application specific or other unexpected
378 -- exceptions. Adding appropriate details to the
379 -- Multiple Message List. Otherwise re-raise the
380 -- error.
381 --
382 rollback to create_ame_cond_to_rule_swi;
383 if hr_multi_message.unexpected_error_add(l_proc) then
384 hr_utility.set_location(' Leaving:' || l_proc,40);
385 raise;
386 end if;
387 --
388 -- Reset IN OUT and set OUT parameters
389 --
390 p_object_version_number := null;
391 p_start_date := null;
392 p_end_date := null;
393 p_return_status := hr_multi_message.get_return_status_disable;
394 hr_utility.set_location(' Leaving:' || l_proc,50);
395 end create_ame_condition_to_rule;
396 -- ----------------------------------------------------------------------------
397 -- |-----------------------< create_ame_action_to_rule >----------------------|
398 -- ----------------------------------------------------------------------------
399 PROCEDURE create_ame_action_to_rule
400 (p_validate in number default hr_api.g_false_num
401 ,p_rule_id in number
402 ,p_action_id in number
403 ,p_object_version_number out nocopy number
404 ,p_start_date out nocopy date
405 ,p_end_date out nocopy date
406 ,p_return_status out nocopy varchar2
407 ,p_effective_date in date default null
408 ) is
409 --
410 -- Variables for API Boolean parameters
411 l_validate boolean;
412 --
413 -- Variables for IN/OUT parameters
414 --
415 -- Other variables
416 l_proc varchar2(72) := g_package ||'create_ame_action_to_rule';
417 Begin
418 hr_utility.set_location(' Entering:' || l_proc,10);
419 --
420 -- Issue a savepoint
421 --
422 savepoint create_ame_action_to_rule_swi;
423 --
424 -- Initialise Multiple Message Detection
425 --
426 hr_multi_message.enable_message_list;
427 --
428 -- Remember IN OUT parameter IN values
429 --
430 --
431 -- Convert constant values to their corresponding boolean value
432 --
433 l_validate :=
434 hr_api.constant_to_boolean
435 (p_constant_value => p_validate);
436 --
437 -- Register Surrogate ID or user key values
438 --
439 --
440 -- Call API
441 --
442 ame_rule_api.create_ame_action_to_rule
443 (p_validate => l_validate
444 ,p_rule_id => p_rule_id
445 ,p_action_id => p_action_id
446 ,p_object_version_number => p_object_version_number
447 ,p_start_date => p_start_date
448 ,p_end_date => p_end_date
449 ,p_effective_date => p_effective_date
450 );
451 --
452 -- Convert API warning boolean parameter values to specific
453 -- messages and add them to Multiple Message List
454 --
455 --
456 -- Convert API non-warning boolean parameter values
457 --
458 --
459 -- Derive the API return status value based on whether
460 -- messages of any type exist in the Multiple Message List.
461 -- Also disable Multiple Message Detection.
462 --
463 p_return_status := hr_multi_message.get_return_status_disable;
464 hr_utility.set_location(' Leaving:' || l_proc,20);
465 --
466 exception
467 when hr_multi_message.error_message_exist then
468 --
469 -- Catch the Multiple Message List exception which
470 -- indicates API processing has been aborted because
471 -- at least one message exists in the list.
472 --
473 rollback to create_ame_action_to_rule_swi;
474 --
475 -- Reset IN OUT parameters and set OUT parameters
476 --
477 p_object_version_number := null;
478 p_start_date := null;
479 p_end_date := null;
480 p_return_status := hr_multi_message.get_return_status_disable;
481 hr_utility.set_location(' Leaving:' || l_proc, 30);
482 when others then
483 --
484 -- When Multiple Message Detection is enabled catch
485 -- any Application specific or other unexpected
486 -- exceptions. Adding appropriate details to the
487 -- Multiple Message List. Otherwise re-raise the
488 -- error.
489 --
490 rollback to create_ame_action_to_rule_swi;
491 if hr_multi_message.unexpected_error_add(l_proc) then
492 hr_utility.set_location(' Leaving:' || l_proc,40);
493 raise;
494 end if;
495 --
496 -- Reset IN OUT and set OUT parameters
497 --
498 p_object_version_number := null;
499 p_start_date := null;
500 p_end_date := null;
501 p_return_status := hr_multi_message.get_return_status_disable;
502 hr_utility.set_location(' Leaving:' || l_proc,50);
503 end create_ame_action_to_rule;
504 -- ----------------------------------------------------------------------------
505 -- |----------------------------< update_ame_rule >---------------------------|
506 -- ----------------------------------------------------------------------------
507 PROCEDURE update_ame_rule
508 (p_validate in number default hr_api.g_false_num
509 ,p_rule_id in number
510 ,p_description in varchar2 default hr_api.g_varchar2
511 ,p_object_version_number in out nocopy number
512 ,p_start_date in out nocopy date
513 ,p_end_date in out nocopy date
514 ,p_return_status out nocopy varchar2
515 ) is
516 --
517 -- Variables for API Boolean parameters
518 l_validate boolean;
519 --
520 -- Variables for IN/OUT parameters
521 l_object_version_number number;
522 l_start_date date;
523 l_end_date date;
524 --
525 -- Other variables
526 l_proc varchar2(72) := g_package ||'update_ame_rule';
527 Begin
528 hr_utility.set_location(' Entering:' || l_proc,10);
529 --
530 -- Issue a savepoint
531 --
532 savepoint update_ame_rule_swi;
533 --
534 -- Initialise Multiple Message Detection
535 --
536 hr_multi_message.enable_message_list;
537 --
538 -- Remember IN OUT parameter IN values
539 --
540 l_object_version_number := p_object_version_number;
541 l_start_date := p_start_date;
542 l_end_date := p_end_date;
543 --
544 -- Convert constant values to their corresponding boolean value
545 --
546 l_validate :=
547 hr_api.constant_to_boolean
548 (p_constant_value => p_validate);
549 --
550 -- Register Surrogate ID or user key values
551 --
552 --
553 -- Call API
554 --
555 ame_rule_api.update_ame_rule
556 (p_validate => l_validate
557 ,p_rule_id => p_rule_id
558 ,p_description => p_description
559 ,p_object_version_number => p_object_version_number
560 ,p_start_date => p_start_date
561 ,p_end_date => p_end_date
562 ,p_effective_date => g_effective_date
563 );
564 --
565 -- Convert API warning boolean parameter values to specific
566 -- messages and add them to Multiple Message List
567 --
568 --
569 -- Convert API non-warning boolean parameter values
570 --
571 --
572 -- Derive the API return status value based on whether
573 -- messages of any type exist in the Multiple Message List.
574 -- Also disable Multiple Message Detection.
575 --
576 p_return_status := hr_multi_message.get_return_status_disable;
577 hr_utility.set_location(' Leaving:' || l_proc,20);
578 --
579 exception
580 when hr_multi_message.error_message_exist then
581 --
582 -- Catch the Multiple Message List exception which
583 -- indicates API processing has been aborted because
584 -- at least one message exists in the list.
585 --
586 rollback to update_ame_rule_swi;
587 --
588 -- Reset IN OUT parameters and set OUT parameters
589 --
590 p_object_version_number := l_object_version_number;
591 p_start_date := l_start_date;
592 p_end_date := l_end_date;
593 p_return_status := hr_multi_message.get_return_status_disable;
594 hr_utility.set_location(' Leaving:' || l_proc, 30);
595 when others then
596 --
597 -- When Multiple Message Detection is enabled catch
598 -- any Application specific or other unexpected
599 -- exceptions. Adding appropriate details to the
600 -- Multiple Message List. Otherwise re-raise the
601 -- error.
602 --
603 rollback to update_ame_rule_swi;
604 if hr_multi_message.unexpected_error_add(l_proc) then
605 hr_utility.set_location(' Leaving:' || l_proc,40);
606 raise;
607 end if;
608 --
609 -- Reset IN OUT and set OUT parameters
610 --
611 p_object_version_number := l_object_version_number;
612 p_start_date := l_start_date;
613 p_end_date := l_end_date;
614 p_return_status := hr_multi_message.get_return_status_disable;
615 hr_utility.set_location(' Leaving:' || l_proc,50);
616 end update_ame_rule;
617 -- ----------------------------------------------------------------------------
618 -- |-------------------------< update_ame_rule_usage >------------------------|
619 -- ----------------------------------------------------------------------------
620 PROCEDURE update_ame_rule_usage
621 (p_validate in number default hr_api.g_false_num
622 ,p_rule_id in number
623 ,p_application_id in number
624 ,p_priority in number default hr_api.g_number
625 ,p_approver_category in varchar2 default hr_api.g_varchar2
626 ,p_old_start_date in date
627 ,p_object_version_number in out nocopy number
628 ,p_start_date in out nocopy date
629 ,p_end_date in out nocopy date
630 ,p_return_status out nocopy varchar2
631 ) is
632 --
633 -- Variables for API Boolean parameters
634 l_validate boolean;
635 --
636 -- Variables for IN/OUT parameters
637 l_object_version_number number;
638 l_start_date date;
639 l_end_date date;
640 --
641 -- Other variables
642 l_proc varchar2(72) := g_package ||'update_ame_rule_usage';
643 Begin
644 hr_utility.set_location(' Entering:' || l_proc,10);
645 --
646 -- Issue a savepoint
647 --
648 savepoint update_ame_rule_usage_swi;
649 --
650 -- Initialise Multiple Message Detection
651 --
652 hr_multi_message.enable_message_list;
653 --
654 -- Remember IN OUT parameter IN values
655 --
656 l_object_version_number := p_object_version_number;
657
658 l_start_date := p_start_date;
659 l_end_date := p_end_date;
660 --
661 -- Convert constant values to their corresponding boolean value
662 --
663 l_validate :=
664 hr_api.constant_to_boolean
665 (p_constant_value => p_validate);
666 --
667 -- Register Surrogate ID or user key values
668 --
669 --
670 -- Call API
671 --
672 ame_rule_api.update_ame_rule_usage
673 (p_validate => l_validate
674 ,p_rule_id => p_rule_id
675 ,p_application_id => p_application_id
676 ,p_priority => p_priority
677 ,p_approver_category => p_approver_category
678 ,p_old_start_date => p_old_start_date
679 ,p_object_version_number => p_object_version_number
680 ,p_start_date => l_start_date
681 ,p_end_date => l_end_date
682 ,p_effective_date => g_effective_date
683 );
684 --
685 -- Convert API warning boolean parameter values to specific
686 -- messages and add them to Multiple Message List
687 --
688 --
689 -- Convert API non-warning boolean parameter values
690 --
691 --
692 -- Derive the API return status value based on whether
693 -- messages of any type exist in the Multiple Message List.
694 -- Also disable Multiple Message Detection.
695 --
696 p_return_status := hr_multi_message.get_return_status_disable;
697 hr_utility.set_location(' Leaving:' || l_proc,20);
698 --
699 exception
700 when hr_multi_message.error_message_exist then
701 --
702 -- Catch the Multiple Message List exception which
703 -- indicates API processing has been aborted because
704 -- at least one message exists in the list.
705 --
706 rollback to update_ame_rule_usage_swi;
707 --
708 -- Reset IN OUT parameters and set OUT parameters
709 --
710 p_object_version_number := l_object_version_number;
711 p_start_date := l_start_date;
712 p_end_date := l_end_date;
713 p_return_status := hr_multi_message.get_return_status_disable;
714 hr_utility.set_location(' Leaving:' || l_proc, 30);
715 when others then
716 --
717 -- When Multiple Message Detection is enabled catch
718 -- any Application specific or other unexpected
719 -- exceptions. Adding appropriate details to the
720 -- Multiple Message List. Otherwise re-raise the
721 -- error.
722 --
723 rollback to update_ame_rule_usage_swi;
724 if hr_multi_message.unexpected_error_add(l_proc) then
725 hr_utility.set_location(' Leaving:' || l_proc,40);
726 raise;
727 end if;
728 --
729 -- Reset IN OUT and set OUT parameters
730 --
731 p_object_version_number := l_object_version_number;
732 p_start_date := l_start_date;
733 p_end_date := l_end_date;
734 p_return_status := hr_multi_message.get_return_status_disable;
735 hr_utility.set_location(' Leaving:' || l_proc,50);
736 end update_ame_rule_usage;
737 -- ----------------------------------------------------------------------------
738 -- |-------------------------< delete_ame_rule_usage >------------------------|
739 -- ----------------------------------------------------------------------------
740 PROCEDURE delete_ame_rule_usage
741 (p_validate in number default hr_api.g_false_num
742 ,p_rule_id in number
743 ,p_application_id in number
744 ,p_object_version_number in out nocopy number
745 ,p_start_date in out nocopy date
746 ,p_end_date in out nocopy date
747 ,p_return_status out nocopy varchar2
748 ) is
749 --
750 -- Variables for API Boolean parameters
751 l_validate boolean;
752 --
753 -- Variables for IN/OUT parameters
754 l_object_version_number number;
755 l_start_date date;
756 l_end_date date;
757 --
758 -- Other variables
759 l_proc varchar2(72) := g_package ||'delete_ame_rule_usage';
760 Begin
761 hr_utility.set_location(' Entering:' || l_proc,10);
762 --
763 -- Issue a savepoint
764 --
765 savepoint delete_ame_rule_usage_swi;
766 --
767 -- Initialise Multiple Message Detection
768 --
769 hr_multi_message.enable_message_list;
770 --
771 -- Remember IN OUT parameter IN values
772 --
773 l_object_version_number := p_object_version_number;
774 l_start_date := p_start_date;
775 l_end_date := p_end_date;
776 --
777 -- Convert constant values to their corresponding boolean value
778 --
779 l_validate :=
780 hr_api.constant_to_boolean
781 (p_constant_value => p_validate);
782 --
783 -- Register Surrogate ID or user key values
784 --
785 --
786 -- Call API
787 --
788 ame_rule_api.delete_ame_rule_usage
789 (p_validate => l_validate
790 ,p_rule_id => p_rule_id
791 ,p_application_id => p_application_id
792 ,p_object_version_number => p_object_version_number
793 ,p_start_date => p_start_date
794 ,p_end_date => p_end_date
795 );
796 --
797 -- Convert API warning boolean parameter values to specific
798 -- messages and add them to Multiple Message List
799 --
800 --
801 -- Convert API non-warning boolean parameter values
802 --
803 --
804 -- Derive the API return status value based on whether
805 -- messages of any type exist in the Multiple Message List.
806 -- Also disable Multiple Message Detection.
807 --
808 p_return_status := hr_multi_message.get_return_status_disable;
809 hr_utility.set_location(' Leaving:' || l_proc,20);
810 --
811 exception
812 when hr_multi_message.error_message_exist then
813 --
814 -- Catch the Multiple Message List exception which
815 -- indicates API processing has been aborted because
816 -- at least one message exists in the list.
817 --
818 rollback to delete_ame_rule_usage_swi;
819 --
820 -- Reset IN OUT parameters and set OUT parameters
821 --
822 p_object_version_number := l_object_version_number;
823 p_start_date := l_start_date;
824 p_end_date := l_end_date;
825 p_return_status := hr_multi_message.get_return_status_disable;
826 hr_utility.set_location(' Leaving:' || l_proc, 30);
827 when others then
828 --
829 -- When Multiple Message Detection is enabled catch
830 -- any Application specific or other unexpected
831 -- exceptions. Adding appropriate details to the
832 -- Multiple Message List. Otherwise re-raise the
833 -- error.
834 --
835 rollback to delete_ame_rule_usage_swi;
836 if hr_multi_message.unexpected_error_add(l_proc) then
837 hr_utility.set_location(' Leaving:' || l_proc,40);
838 raise;
839 end if;
840 --
841 -- Reset IN OUT and set OUT parameters
842 --
843 p_object_version_number := l_object_version_number;
844 p_start_date := l_start_date;
845 p_end_date := l_end_date;
846 p_return_status := hr_multi_message.get_return_status_disable;
847 hr_utility.set_location(' Leaving:' || l_proc,50);
848 end delete_ame_rule_usage;
849 -- ----------------------------------------------------------------------------
850 -- |-----------------------< delete_ame_rule_condition >----------------------|
851 -- ----------------------------------------------------------------------------
852 PROCEDURE delete_ame_rule_condition
853 (p_validate in number default hr_api.g_false_num
854 ,p_rule_id in number
855 ,p_condition_id in number
856 ,p_object_version_number in out nocopy number
857 ,p_start_date out nocopy date
858 ,p_end_date out nocopy date
859 ,p_return_status out nocopy varchar2
860 ) is
861 --
862 -- Variables for API Boolean parameters
863 l_validate boolean;
864 --
865 -- Variables for IN/OUT parameters
866 l_object_version_number number;
867 --
868 -- Other variables
869 l_proc varchar2(72) := g_package ||'delete_ame_rule_condition';
870 Begin
871 hr_utility.set_location(' Entering:' || l_proc,10);
872 --
873 -- Issue a savepoint
874 --
875 savepoint delete_ame_rule_condition_swi;
876 --
877 -- Initialise Multiple Message Detection
878 --
879 hr_multi_message.enable_message_list;
880 --
881 -- Remember IN OUT parameter IN values
882 --
883 l_object_version_number := p_object_version_number;
884 --
885 -- Convert constant values to their corresponding boolean value
886 --
887 l_validate :=
888 hr_api.constant_to_boolean
889 (p_constant_value => p_validate);
890 --
891 -- Register Surrogate ID or user key values
892 --
893 --
894 -- Call API
895 --
896 ame_rule_api.delete_ame_rule_condition
897 (p_validate => l_validate
898 ,p_rule_id => p_rule_id
899 ,p_condition_id => p_condition_id
900 ,p_object_version_number => p_object_version_number
901 ,p_start_date => p_start_date
902 ,p_end_date => p_end_date
903 ,p_effective_date => g_effective_date
904 );
905 --
906 -- Convert API warning boolean parameter values to specific
907 -- messages and add them to Multiple Message List
908 --
909 --
910 -- Convert API non-warning boolean parameter values
911 --
912 --
913 -- Derive the API return status value based on whether
914 -- messages of any type exist in the Multiple Message List.
915 -- Also disable Multiple Message Detection.
916 --
917 p_return_status := hr_multi_message.get_return_status_disable;
918 hr_utility.set_location(' Leaving:' || l_proc,20);
919 --
920 exception
921 when hr_multi_message.error_message_exist then
922 --
923 -- Catch the Multiple Message List exception which
924 -- indicates API processing has been aborted because
925 -- at least one message exists in the list.
926 --
927 rollback to delete_ame_rule_condition_swi;
928 --
929 -- Reset IN OUT parameters and set OUT parameters
930 --
931 p_object_version_number := l_object_version_number;
932 p_start_date := null;
933 p_end_date := null;
934 p_return_status := hr_multi_message.get_return_status_disable;
935 hr_utility.set_location(' Leaving:' || l_proc, 30);
936 when others then
937 --
938 -- When Multiple Message Detection is enabled catch
939 -- any Application specific or other unexpected
940 -- exceptions. Adding appropriate details to the
941 -- Multiple Message List. Otherwise re-raise the
942 -- error.
943 --
944 rollback to delete_ame_rule_condition_swi;
945 if hr_multi_message.unexpected_error_add(l_proc) then
946 hr_utility.set_location(' Leaving:' || l_proc,40);
947 raise;
948 end if;
949 --
950 -- Reset IN OUT and set OUT parameters
951 --
952 p_object_version_number := l_object_version_number;
953 p_start_date := null;
954 p_end_date := null;
955 p_return_status := hr_multi_message.get_return_status_disable;
956 hr_utility.set_location(' Leaving:' || l_proc,50);
957 end delete_ame_rule_condition;
958 -- ----------------------------------------------------------------------------
959 -- |------------------------< delete_ame_rule_action >------------------------|
960 -- ----------------------------------------------------------------------------
961 PROCEDURE delete_ame_rule_action
962 (p_validate in number default hr_api.g_false_num
963 ,p_rule_id in number
964 ,p_action_id in number
965 ,p_object_version_number in out nocopy number
966 ,p_start_date out nocopy date
967 ,p_end_date out nocopy date
968 ,p_return_status out nocopy varchar2
969 ) is
970 --
971 -- Variables for API Boolean parameters
972 l_validate boolean;
973 --
974 -- Variables for IN/OUT parameters
975 l_object_version_number number;
976 --
977 -- Other variables
978 l_proc varchar2(72) := g_package ||'delete_ame_rule_action';
979 Begin
980 hr_utility.set_location(' Entering:' || l_proc,10);
981 --
982 -- Issue a savepoint
983 --
984 savepoint delete_ame_rule_action_swi;
985 --
986 -- Initialise Multiple Message Detection
987 --
988 hr_multi_message.enable_message_list;
989 --
990 -- Remember IN OUT parameter IN values
991 --
992 l_object_version_number := p_object_version_number;
993 --
994 -- Convert constant values to their corresponding boolean value
995 --
996 l_validate :=
997 hr_api.constant_to_boolean
998 (p_constant_value => p_validate);
999 --
1000 -- Register Surrogate ID or user key values
1001 --
1002 --
1003 -- Call API
1004 --
1005 ame_rule_api.delete_ame_rule_action
1006 (p_validate => l_validate
1007 ,p_rule_id => p_rule_id
1008 ,p_action_id => p_action_id
1009 ,p_object_version_number => p_object_version_number
1010 ,p_start_date => p_start_date
1011 ,p_end_date => p_end_date
1012 ,p_effective_date => g_effective_date
1013 );
1014 --
1015 -- Convert API warning boolean parameter values to specific
1016 -- messages and add them to Multiple Message List
1017 --
1018 --
1019 -- Convert API non-warning boolean parameter values
1020 --
1021 --
1022 -- Derive the API return status value based on whether
1023 -- messages of any type exist in the Multiple Message List.
1024 -- Also disable Multiple Message Detection.
1025 --
1026 p_return_status := hr_multi_message.get_return_status_disable;
1027 hr_utility.set_location(' Leaving:' || l_proc,20);
1028 --
1029 exception
1030 when hr_multi_message.error_message_exist then
1031 --
1032 -- Catch the Multiple Message List exception which
1033 -- indicates API processing has been aborted because
1034 -- at least one message exists in the list.
1035 --
1036 rollback to delete_ame_rule_action_swi;
1037 --
1038 -- Reset IN OUT parameters and set OUT parameters
1039 --
1040 p_object_version_number := l_object_version_number;
1041 p_start_date := null;
1042 p_end_date := null;
1043 p_return_status := hr_multi_message.get_return_status_disable;
1044 hr_utility.set_location(' Leaving:' || l_proc, 30);
1045 when others then
1046 --
1047 -- When Multiple Message Detection is enabled catch
1048 -- any Application specific or other unexpected
1049 -- exceptions. Adding appropriate details to the
1050 -- Multiple Message List. Otherwise re-raise the
1051 -- error.
1052 --
1053 rollback to delete_ame_rule_action_swi;
1054 if hr_multi_message.unexpected_error_add(l_proc) then
1055 hr_utility.set_location(' Leaving:' || l_proc,40);
1056 raise;
1057 end if;
1058 --
1059 -- Reset IN OUT and set OUT parameters
1060 --
1061 p_object_version_number := l_object_version_number;
1062 p_start_date := null;
1063 p_end_date := null;
1064 p_return_status := hr_multi_message.get_return_status_disable;
1065 hr_utility.set_location(' Leaving:' || l_proc,50);
1066 end delete_ame_rule_action;
1067
1068 -- ----------------------------------------------------------------------------
1069 -- |------------------------< set_effective_date >------------------------|
1070 -- ----------------------------------------------------------------------------
1071 PROCEDURE set_effective_date
1072 (p_effective_date in date
1073 ) is
1074 --
1075 -- Other variables
1076 l_proc varchar2(72) := g_package ||'set_effective_date';
1077 Begin
1078 hr_utility.set_location(' Entering:' || l_proc,10);
1079
1080 g_effective_date := p_effective_date;
1081
1082 hr_utility.set_location(' Leaving:' || l_proc,20);
1083 end set_effective_date;
1084
1085 end ame_rule_swi;