1 Package per_abs_bus AUTHID CURRENT_USER as
2 /* $Header: peabsrhi.pkh 120.6 2011/11/15 11:39:54 sidsaxen ship $ */
3 --
4 -- ---------------------------------------------------------------------------
5 -- |---------------------< get_running_totals >----------------------------|
6 -- ---------------------------------------------------------------------------
7 --
8 -- Description:
9 -- This procedure gets the year to date totals and running totals for
10 -- both days and hours.
11 --
12 -- Pre-conditions:
13 -- None.
14 --
15 -- In Arguments:
16 -- p_person_id
17 -- p_absence_attendance_type_id
18 -- p_effective_date
19 --
20 -- Out Arguments:
21 -- p_running_total_hours
22 -- p_running_total_days
23 -- p_year_to_date_hours
24 -- p_year_to_date_days
25 --
26 -- Post Success:
27 -- If validation passes, processing continues.
28 --
29 -- Post Failure:
30 -- If validation fails, an error is raised and processing stops.
31 --
32 -- Access Status:
33 -- Internal Table Handler Use Only. API updating is not required as this
34 -- is called from other chk procedures that use API updating.
35 --
36 -- {End Of Comments}
37 -- ----------------------------------------------------------------------------
38 procedure get_running_totals
39 (p_person_id in number
40 ,p_absence_attendance_type_id in number
41 ,p_effective_date in date
42 ,p_running_total_hours out nocopy number
43 ,p_running_total_days out nocopy number
44 ,p_year_to_date_hours out nocopy number
45 ,p_year_to_date_days out nocopy number);
46 --
47 -- ---------------------------------------------------------------------------
48 -- |---------------------< per_valid_for_absence >-------------------------|
49 -- ---------------------------------------------------------------------------
50 --
51 -- Description:
52 -- This function validates that the person exists and that they have
53 -- a valid period of service for the entire absence duration.
54 --
55 -- Pre-conditions:
56 -- None.
57 --
58 -- In Arguments:
59 -- p_person_id
60 -- p_business_group_id
61 -- p_person_type
62 -- p_date_projected_start
63 -- p_date_projected_end
64 -- p_date_start
65 -- p_date_end
66 --
67 -- Post Success:
68 -- If validation passes, the function returns TRUE.
69 --
70 -- Post Failure:
71 -- IF validation fails, the function returns FALSE.
72 --
73 -- Access Status:
74 -- Internal Table Handler Use Only. API updating is not required as this
75 -- is called from other chk procedures that use API updating.
76 --
77 -- {End Of Comments}
78 -- ----------------------------------------------------------------------------
79 function per_valid_for_absence
80 (p_person_id in number
81 ,p_business_group_id in number
82 ,p_date_projected_start in date
83 ,p_date_projected_end in date
84 ,p_date_start in date
85 ,p_date_end in date) return boolean;
86 --
87 -- ---------------------------------------------------------------------------
88 -- |---------------------------< convert_to_minutes >-----------------------|
89 -- ---------------------------------------------------------------------------
90 --
91 -- Description:
92 -- Converts two times into duration minutes.
93 --
94 -- Pre-conditions:
95 --
96 -- In Arguments:
97 -- p_time_start
98 -- p_time_end
99 --
100 -- Post Success:
101 -- The function returns duration minutes and processing continues.
102 --
103 -- Post Failure:
104 -- The function errors and processing stops.
105 --
106 -- Access Status:
107 -- Internal Development Use Only.
108 --
109 -- {End Of Comments}
110 -- ----------------------------------------------------------------------------
111 function convert_to_minutes
112 (p_time_start in varchar2
113 ,p_time_end in varchar2) return number;
114 --
115 -- ---------------------------------------------------------------------------
116 -- |---------------------------< chk_time_format >--------------------------|
117 -- ---------------------------------------------------------------------------
118 --
119 -- Description:
120 -- Checks that the time format is valid.
121 --
122 -- Pre-conditions:
123 --
124 -- In Arguments:
125 -- p_time
126 --
127 -- Post Success:
128 -- If the time format is valid, processing continues.
129 --
130 -- Post Failure:
131 -- If the time format is invalid processing stops and an error is raised.
132 --
133 -- Access Status:
134 -- Internal Development Use Only.
135 --
136 -- {End Of Comments}
137 -- ----------------------------------------------------------------------------
138 procedure chk_time_format
139 (p_time in varchar2);
140 --
141 -- ---------------------------------------------------------------------------
142 -- |-----------------< calculate_absence_duration >-------------------------|
143 -- ---------------------------------------------------------------------------
144 --
145 -- Description:
146 -- Calculates the absence duration in hours and / or days and sets
147 -- the duration.
148 --
149 -- Pre-conditions:
150 -- None.
151 --
152 -- In Arguments:
153 -- p_absence_attendance_id
154 -- p_absence_attendance_type_id
155 -- p_business_group_id
156 -- p_object_version_number
157 -- p_effective_date
158 -- p_person_id
159 -- p_date_start
160 -- p_date_end
161 -- p_time_start
162 -- p_time_end
163 --
164 -- Out Arguments:
165 -- p_absence_days
166 -- p_absence_hours
167 -- p_use_formula
168 --
169 -- Post Success:
170 -- The absence duration in days and hours is returned.
171 --
172 -- Post Failure:
173 -- If a failure occurs, an application error is raised and
174 -- processing terminates.
175 --
176 -- Access Status:
177 -- Internal Development Use Only.
178 --
179 -- {End Of Comments}
180 -- ----------------------------------------------------------------------------
181 procedure calculate_absence_duration
182 (p_absence_attendance_id in number
183 ,p_absence_attendance_type_id in number
184 ,p_business_group_id in number
185 ,p_object_version_number in number
186 ,p_effective_date in date
187 ,p_person_id in number
188 ,p_date_start in date
189 ,p_date_end in date
190 ,p_time_start in varchar2
191 ,p_time_end in varchar2
192 ,p_absence_days out nocopy number
193 ,p_absence_hours out nocopy number
194 ,p_use_formula out nocopy boolean);
195 --
196 -- ---------------------------------------------------------------------------
197 -- |-----------------< calculate_absence_duration -new >-------------------------|
198 -- ---------------------------------------------------------------------------
199 --
200 -- Description:
201 -- Calculates the absence duration in hours and / or days and sets
202 -- the duration.
203 --
204 -- Pre-conditions:
205 -- None.
206 --
207 -- In Arguments:
208 -- p_absence_attendance_id
209 -- p_absence_attendance_type_id
210 -- p_business_group_id
211 -- p_object_version_number
212 -- p_effective_date
213 -- p_person_id
214 -- p_date_start
215 -- p_date_end
216 -- p_time_start
217 -- p_time_end
218 -- p_ABS_INFORMATION_CATEGORY
219 -- p_ABS_INFORMATION1
220 -- p_ABS_INFORMATION2
221 -- p_ABS_INFORMATION3
222 -- p_ABS_INFORMATION4
223 -- p_ABS_INFORMATION5
224 -- p_ABS_INFORMATION6
225 --
226 -- Out Arguments:
227 -- p_absence_days
228 -- p_absence_hours
229 -- p_use_formula
230 --
231 -- Post Success:
232 -- The absence duration in days and hours is returned.
233 --
234 -- Post Failure:
235 -- If a failure occurs, an application error is raised and
236 -- processing terminates.
237 --
238 -- Access Status:
239 -- Internal Development Use Only.
240 --
241 -- {End Of Comments}
242 -- ----------------------------------------------------------------------------
243 procedure calculate_absence_duration
244 (p_absence_attendance_id in number
245 ,p_absence_attendance_type_id in number
246 ,p_business_group_id in number
247 ,p_object_version_number in number
248 ,p_effective_date in date
249 ,p_person_id in number
250 ,p_date_start in date
251 ,p_date_end in date
252 ,p_time_start in varchar2
253 ,p_time_end in varchar2
254 ,p_ABS_INFORMATION_CATEGORY in varchar2
255 ,p_ABS_INFORMATION1 in varchar2
256 ,p_ABS_INFORMATION2 in varchar2
257 ,p_ABS_INFORMATION3 in varchar2
258 ,p_ABS_INFORMATION4 in varchar2
259 ,p_ABS_INFORMATION5 in varchar2
260 ,p_ABS_INFORMATION6 in varchar2
261 ,p_absence_days out nocopy number
262 ,p_absence_hours out nocopy number
263 ,p_use_formula out nocopy boolean);
264 --
265 -- ---------------------------------------------------------------------------
266 -- |---------------------------< chk_person_id >----------------------------|
267 -- ---------------------------------------------------------------------------
268 --
269 -- Description:
270 -- Validates that the person exists, that they have a valid period of
271 -- service and that they match the business group id being passed.
272 --
273 -- Pre-conditions:
274 --
275 -- In Arguments:
276 -- p_absence_attendance_id
277 -- p_person_id
278 -- p_business_group_id
279 --
280 -- Post Success:
281 -- If the person and their period of service are valid, processing
282 -- continues.
283 --
284 -- Post Failure:
285 -- An application error will be raised and processing is terminated.
286 --
287 -- Access Status:
288 -- Internal Development Use Only.
289 --
290 -- {End Of Comments}
291 -- ----------------------------------------------------------------------------
292 procedure chk_person_id
293 (p_absence_attendance_id in number
294 ,p_person_id in number
295 ,p_business_group_id in number
296 ,p_object_version_number in number
297 ,p_date_projected_start in date
298 ,p_date_projected_end in date
299 ,p_date_start in date
300 ,p_date_end in date);
301 --
302 -- ---------------------------------------------------------------------------
303 -- |-----------------< chk_absence_attendance_type_id >---------------------|
304 -- ---------------------------------------------------------------------------
305 --
306 -- Description:
307 -- Validates that the absence_attendance_type_id exists in
308 -- per_absence_attendance_types for the same business group and that it
309 -- is effective for the entire absence duration.
310 --
311 -- Pre-conditions:
312 -- None.
313 --
314 -- In Arguments:
315 -- p_absence_attendance_id
316 -- p_business_group_id
317 -- p_absence_attendance_type_id
318 -- p_object_version_number
319 --
320 -- Post Success:
321 -- If absence_attendance_type_id exists and is valid,
322 -- processing continues.
323 --
324 -- Post Failure:
325 -- If absence_attendance_type_id is invalid,
326 -- an application error is raised and processing terminates.
327 --
328 -- Access Status:
329 -- Internal Development Use Only.
330 --
331 -- {End Of Comments}
332 -- ----------------------------------------------------------------------------
333 procedure chk_absence_attendance_type_id
334 (p_absence_attendance_id in number
335 ,p_absence_attendance_type_id in number
336 ,p_business_group_id in number
337 ,p_object_version_number in number
338 ,p_date_projected_start in date
339 ,p_date_projected_end in date
340 ,p_date_start in date
341 ,p_date_end in date);
342 --
343 -- ---------------------------------------------------------------------------
344 -- |-----------------< chk_abs_attendance_reason_id >-----------------------|
345 -- ---------------------------------------------------------------------------
346 --
347 -- Description:
348 -- Validates that an abs_attendance_reason_id exists in table
349 -- per_abs_attendance_reasons, also valid in hr_lookups
350 -- where lookup_type is 'ABSENCE_REASON' and enabled_flag is 'Y'
351 -- and effective_date is between the active dates (if they are not null).
352 --
353 -- Pre-conditions:
354 -- absence_attendance_type_id must be valid.
355 -- business_group_id must be valid.
356 -- effective_date must be valid.
357 --
358 -- In Arguments:
359 -- p_absence_attendance_id
360 -- p_absence_attendance_type_id
361 -- p_abs_attendance_reason_id
362 -- p_business_group_id
363 -- p_object_version_number
364 -- p_effective_date
365 --
366 -- Post Success:
367 -- If a row does exist; processing continues.
368 --
369 -- Post Failure:
370 -- If a row does not exist in per_abs_attendance_reason and hr_lookups for
371 -- a given reason id then an error will be raised and processing terminated.
372 --
373 -- Access Status:
374 -- Internal Table Handler Use Only.
375 --
376 -- {End Of Comments}
377 -- ----------------------------------------------------------------------------
378 procedure chk_abs_attendance_reason_id
379 (p_absence_attendance_id in number
380 ,p_absence_attendance_type_id in number
381 ,p_abs_attendance_reason_id in number
382 ,p_business_group_id in number
383 ,p_object_version_number in number
384 ,p_effective_date in date);
385 --
386 -- ---------------------------------------------------------------------------
387 -- |-----------------< chk_absence_period --new >---------------------------------|
388 -- ---------------------------------------------------------------------------
389 --
390 -- Description:
391 -- Validates the projected dates, actual dates, times and the duration.
392 --
393 -- Pre-conditions:
394 -- absence_attendance_type_id must be valid.
395 -- business_group_id must be valid.
396 -- effective_date must be valid.
397 --
398 -- In Arguments:
399 -- p_absence_attendance_id
400 -- p_absence_attendance_type_id
401 -- p_business_group_id
402 -- p_object_version_number
403 -- p_effective_date
404 -- p_person_id
405 -- p_date_projected_start
406 -- p_time_projected_start
407 -- p_date_projected_end
408 -- p_time_projected_end
409 -- p_date_start
410 -- p_time_start
411 -- p_date_end
412 -- p_time_end
413 -- p_ABS_INFORMATION_CATEGORY
414 -- p_ABS_INFORMATION1
415 -- p_ABS_INFORMATION2
416 -- p_ABS_INFORMATION3
417 -- p_ABS_INFORMATION4
418 -- p_ABS_INFORMATION5
419 -- p_ABS_INFORMATION6
420 --
421 -- In Out Arguments:
422 -- p_absence_days
423 -- p_absence_hours
424 --
425 -- Post Success:
426 -- If validation passes, processing continues.
427 --
428 -- Post Failure:
429 -- IF validation fails, the appropriate error or warning is raised.
430 --
431 -- Access Status:
432 -- Internal Table Handler Use Only.
433 --
434 -- {End Of Comments}
435 -- ----------------------------------------------------------------------------
436 procedure chk_absence_period
437 (p_absence_attendance_id in number
438 ,p_absence_attendance_type_id in number
439 ,p_business_group_id in number
440 ,p_object_version_number in number
441 ,p_effective_date in date
442 ,p_person_id in number
443 ,p_date_projected_start in date
444 ,p_time_projected_start in varchar2
445 ,p_date_projected_end in date
446 ,p_time_projected_end in varchar2
447 ,p_date_start in date
448 ,p_time_start in varchar2
449 ,p_date_end in date
450 ,p_time_end in varchar2
451 ,p_ABS_INFORMATION_CATEGORY in varchar2
452 ,p_ABS_INFORMATION1 in varchar2
453 ,p_ABS_INFORMATION2 in varchar2
454 ,p_ABS_INFORMATION3 in varchar2
455 ,p_ABS_INFORMATION4 in varchar2
456 ,p_ABS_INFORMATION5 in varchar2
457 ,p_ABS_INFORMATION6 in varchar2
458 ,p_absence_days in out nocopy number
459 ,p_absence_hours in out nocopy number
460 ,p_dur_dys_less_warning out nocopy boolean
461 ,p_dur_hrs_less_warning out nocopy boolean
462 ,p_exceeds_pto_entit_warning out nocopy boolean
463 ,p_exceeds_run_total_warning out nocopy boolean
464 ,p_abs_overlap_warning out nocopy boolean
465 ,p_abs_day_after_warning out nocopy boolean
466 ,p_dur_overwritten_warning out nocopy boolean);
467 --
468 -- ---------------------------------------------------------------------------
469 -- |-----------------< chk_absence_period -- old>---------------------------------|
470 -- ---------------------------------------------------------------------------
471 --
472 -- Description:
473 -- Validates the projected dates, actual dates, times and the duration.
474 --
475 -- Pre-conditions:
476 -- absence_attendance_type_id must be valid.
477 -- business_group_id must be valid.
478 -- effective_date must be valid.
479 --
480 -- In Arguments:
481 -- p_absence_attendance_id
482 -- p_absence_attendance_type_id
483 -- p_business_group_id
484 -- p_object_version_number
485 -- p_effective_date
486 -- p_person_id
487 -- p_date_projected_start
488 -- p_time_projected_start
489 -- p_date_projected_end
490 -- p_time_projected_end
491 -- p_date_start
492 -- p_time_start
493 -- p_date_end
494 -- p_time_end
495 --
496 -- In Out Arguments:
497 -- p_absence_days
498 -- p_absence_hours
499 --
500 -- Post Success:
501 -- If validation passes, processing continues.
502 --
503 -- Post Failure:
504 -- IF validation fails, the appropriate error or warning is raised.
505 --
506 -- Access Status:
507 -- Internal Table Handler Use Only.
508 --
509 -- {End Of Comments}
510 -- ----------------------------------------------------------------------------
511 procedure chk_absence_period
512 (p_absence_attendance_id in number
513 ,p_absence_attendance_type_id in number
514 ,p_business_group_id in number
515 ,p_object_version_number in number
516 ,p_effective_date in date
517 ,p_person_id in number
518 ,p_date_projected_start in date
519 ,p_time_projected_start in varchar2
520 ,p_date_projected_end in date
521 ,p_time_projected_end in varchar2
522 ,p_date_start in date
523 ,p_time_start in varchar2
524 ,p_date_end in date
525 ,p_time_end in varchar2
526
527 ,p_absence_days in out nocopy number
528 ,p_absence_hours in out nocopy number
529 ,p_dur_dys_less_warning out nocopy boolean
530 ,p_dur_hrs_less_warning out nocopy boolean
531 ,p_exceeds_pto_entit_warning out nocopy boolean
532 ,p_exceeds_run_total_warning out nocopy boolean
536 --
533 ,p_abs_overlap_warning out nocopy boolean
534 ,p_abs_day_after_warning out nocopy boolean
535 ,p_dur_overwritten_warning out nocopy boolean);
537 -- ---------------------------------------------------------------------------
538 -- |----------------------< chk_replacement_person_id >---------------------|
539 -- ---------------------------------------------------------------------------
540 --
541 -- Description:
542 -- Validates that the person exists, that they have a valid period of
543 -- service and that they match the business group id being passed.
544 --
545 -- Pre-conditions:
546 --
547 -- In Arguments:
548 -- p_absence_attendance_id
549 -- p_replacement_person_id
550 -- p_business_group_id
551 --
552 -- Post Success:
553 -- If the person and their period of service are valid, processing
554 -- continues.
555 --
556 -- Post Failure:
557 -- An application error will be raised and processing is terminated.
558 --
559 -- Access Status:
560 -- Internal Development Use Only.
561 --
562 -- {End Of Comments}
563 -- ----------------------------------------------------------------------------
564 procedure chk_replacement_person_id
565 (p_absence_attendance_id in number
566 ,p_replacement_person_id in number
567 ,p_business_group_id in number
568 ,p_object_version_number in number
569 ,p_date_projected_start in date
570 ,p_date_projected_end in date
571 ,p_date_start in date
572 ,p_date_end in date);
573 --
574 -- ---------------------------------------------------------------------------
575 -- |----------------------< chk_authorising_person_id >---------------------|
576 -- ---------------------------------------------------------------------------
577 --
578 -- Description:
579 -- Validates that the person exists, that they have a valid period of
580 -- service and that they match the business group id being passed.
581 --
582 -- Pre-conditions:
583 --
584 -- In Arguments:
585 -- p_absence_attendance_id
586 -- p_replacement_person_id
587 -- p_business_group_id
588 --
589 -- Post Success:
590 -- If the person and their period of service are valid, processing
591 -- continues.
592 --
593 -- Post Failure:
594 -- An application error will be raised and processing is terminated.
595 --
596 -- Access Status:
597 -- Internal Development Use Only.
598 --
599 -- {End Of Comments}
600 -- ----------------------------------------------------------------------------
601 procedure chk_authorising_person_id
602 (p_absence_attendance_id in number
603 ,p_authorising_person_id in number
604 ,p_business_group_id in number
605 ,p_object_version_number in number
606 ,p_date_projected_start in date
607 ,p_date_projected_end in date
608 ,p_date_start in date
609 ,p_date_end in date);
610 --
611 -- ---------------------------------------------------------------------------
612 -- |----------------------< set_security_group_id >--------------------------|
613 -- ---------------------------------------------------------------------------
614 -- {Start Of Comments}
615 --
616 -- Description:
617 -- Sets the security_group_id in CLIENT_INFO for the appropriate business
618 -- group context.
619 --
620 -- Prerequisites:
621 -- The primary key identified by p_absence_attendance_id
622 -- already exists.
623 --
624 -- In Arguments:
625 -- p_absence_attendance_id
626 --
627 --
628 -- Post Success:
629 -- The security_group_id will be set in CLIENT_INFO.
630 --
631 -- Post Failure:
632 -- An error is raised if the value does not exist.
633 --
634 -- Access Status:
635 -- Internal Development Use Only.
636 --
637 -- {End Of Comments}
638 -- ---------------------------------------------------------------------------
639 procedure set_security_group_id
640 (p_absence_attendance_id in number
641 );
642 --
643 -- ---------------------------------------------------------------------------
644 -- |---------------------< return_legislation_code >-------------------------|
645 -- ---------------------------------------------------------------------------
646 -- {Start Of Comments}
647 --
648 -- Description:
649 -- Return the legislation code for a specific primary key value
650 --
651 -- Prerequisites:
652 -- The primary key identified by p_absence_attendance_id
653 -- already exists.
654 --
655 -- In Arguments:
656 -- p_absence_attendance_id
657 --
658 --
659 -- Post Success:
660 -- The business group's legislation code will be returned.
661 --
662 -- Post Failure:
663 -- An error is raised if the value does not exist.
664 --
665 -- Access Status:
666 -- Internal Development Use Only.
667 --
668 -- {End Of Comments}
669 -- ---------------------------------------------------------------------------
670 FUNCTION return_legislation_code
671 (p_absence_attendance_id in number
672 ) RETURN varchar2;
673 --
677 -- {Start of comments}
674 -- ----------------------------------------------------------------------------
675 -- |---------------------------< insert_validate >----------------------------|
676 -- ----------------------------------------------------------------------------
678 --
679 -- Description:
680 -- This procedure controls the execution of all insert business rules
681 -- validation.
682 --
683 -- Prerequisites:
684 -- This private procedure is called from ins procedure.
685 --
686 -- In Parameters:
687 -- A Pl/Sql record structure.
688 --
689 -- Out Parameters:
690 -- p_dur_dys_less_warning - true, when HR_EMP_ABS_SHORT_DURATION warning
691 -- is raised.
692 -- p_dur_hrs_less_warning - true, when HR_ABS_HOUR_LESS_DURATION warning
693 -- is raised.
694 -- p_exceeds_pto_entit_warning - true, when HR_EMP_NOT_ENTITLED warning
695 -- is raised.
696 -- p_exceeds_run_total_warning - true, when HR_ABS_DET_RUNNING_ZERO warning
697 -- is raised.
698 -- p_abs_overlap_warning - true, when HR_ABS_DET_OVERLAP warning is
699 -- raised.
700 -- p_abs_day_after_warning - true, when HR_ABS_DET_ABS_DAY_AFTER warning
701 -- is raised.
702 -- p_dur_overwritten_warning true, when the absence durations have been
703 -- overwritten by the Fast Formula values.
704 --
705 -- Post Success:
706 -- Processing continues.
707 --
708 -- Post Failure:
709 -- If a business rules fails the error will not be handled by this procedure
710 -- unless explicity coded.
711 --
712 -- Developer Implementation Notes:
713 -- For insert, your business rules should be executed from this procedure and
714 -- should ideally (unless really necessary) just be straight procedure or
715 -- function calls. Try and avoid using conditional branching logic.
716 --
717 -- Access Status:
718 -- Internal Row Handler Use Only.
719 --
720 -- {End of comments}
721 -- ----------------------------------------------------------------------------
722 Procedure insert_validate
723 (p_effective_date in date
724 ,p_rec in per_abs_shd.g_rec_type
725 ,p_dur_dys_less_warning out nocopy boolean
726 ,p_dur_hrs_less_warning out nocopy boolean
727 ,p_exceeds_pto_entit_warning out nocopy boolean
728 ,p_exceeds_run_total_warning out nocopy boolean
729 ,p_abs_overlap_warning out nocopy boolean
730 ,p_abs_day_after_warning out nocopy boolean
731 ,p_dur_overwritten_warning out nocopy boolean
732 );
733 --
734 -- ----------------------------------------------------------------------------
735 -- |---------------------------< update_validate >----------------------------|
736 -- ----------------------------------------------------------------------------
737 -- {Start Of Comments}
738 --
739 -- Description:
740 -- This procedure controls the execution of all update business rules
741 -- validation.
742 --
743 -- Prerequisites:
744 -- This private procedure is called from upd procedure.
745 --
746 -- In Parameters:
747 -- A Pl/Sql record structure.
748 --
749 -- Out Parameters:
750 -- p_dur_dys_less_warning - true, when HR_EMP_ABS_SHORT_DURATION warning
751 -- is raised.
752 -- p_dur_hrs_less_warning - true, when HR_ABS_HOUR_LESS_DURATION warning
753 -- is raised.
754 -- p_exceeds_pto_entit_warning - true, when HR_EMP_NOT_ENTITLED warning
755 -- is raised.
756 -- p_exceeds_run_total_warning - true, when HR_ABS_DET_RUNNING_ZERO warning
757 -- is raised.
758 -- p_abs_overlap_warning - true, when HR_ABS_DET_OVERLAP warning is
759 -- raised.
760 -- p_abs_day_after_warning - true, when HR_ABS_DET_ABS_DAY_AFTER warning
761 -- is raised.
762 -- p_dur_overwritten_warning true, when the absence durations have been
763 -- overwritten by the Fast Formula values.
764 --
765 -- Post Success:
766 -- Processing continues.
767 --
768 -- Post Failure:
769 -- If a business rules fails the error will not be handled by this procedure
770 -- unless explicity coded.
771 --
772 -- Developer Implementation Notes:
773 -- For update, your business rules should be executed from this procedure and
774 -- should ideally (unless really necessary) just be straight procedure or
775 -- function calls. Try and avoid using conditional branching logic.
776 --
777 -- Access Status:
778 -- Internal Row Handler Use Only.
779 --
780 -- {End Of Comments}
781 -- ----------------------------------------------------------------------------
782 Procedure update_validate
783 (p_effective_date in date
784 ,p_rec in per_abs_shd.g_rec_type
785 ,p_dur_dys_less_warning out nocopy boolean
786 ,p_dur_hrs_less_warning out nocopy boolean
787 ,p_exceeds_pto_entit_warning out nocopy boolean
788 ,p_exceeds_run_total_warning out nocopy boolean
789 ,p_abs_overlap_warning out nocopy boolean
790 ,p_abs_day_after_warning out nocopy boolean
791 ,p_dur_overwritten_warning out nocopy boolean
792 );
793 --
794 -- ----------------------------------------------------------------------------
795 -- |---------------------------< delete_validate >----------------------------|
796 -- ----------------------------------------------------------------------------
797 -- {Start Of Comments}
798 --
799 -- Description:
800 -- This procedure controls the execution of all delete business rules
801 -- validation.
802 --
803 -- Prerequisites:
804 -- This private procedure is called from del procedure.
805 --
806 -- In Parameters:
807 -- A Pl/Sql record structure.
808 --
809 -- Post Success:
810 -- Processing continues.
811 --
812 -- Post Failure:
813 -- If a business rules fails the error will not be handled by this procedure
814 -- unless explicity coded.
815 --
816 -- Developer Implementation Notes:
817 -- For delete, your business rules should be executed from this procedure and
818 -- should ideally (unless really necessary) just be straight procedure or
819 -- function calls. Try and avoid using conditional branching logic.
820 --
821 -- Access Status:
822 -- Internal Row Handler Use Only.
823 --
824 -- {End Of Comments}
825 -- ----------------------------------------------------------------------------
826 Procedure delete_validate
827 (p_rec in per_abs_shd.g_rec_type
828 );
829 --
830 end per_abs_bus;