45: AND p_qualifying_start_date + 60);
46: --
47: BEGIN
48: --
49: hr_utility.set_location('Entering '||l_package,10);
50: --
51: -- Check if person is disabled within first 60 days of cobra coverage.
52: --
53: OPEN C1;
65: RETURN FALSE;
66: --
67: END IF;
68: --
69: hr_utility.set_location('Leaving '||l_package,10);
70: --
71: END person_disabled;
72: --
73: -- Added p_qualifying_event to fix bug#4599753
113: to be enrolled by an employee. In this case we have to check for each
114: specific event whether the COBRA coverage period has exceeded maximum
115: coverage, if it exceeds then return TRUE else return FALSE. Bug#4599753
116: */
117: hr_utility.set_location('In coverage_exceeded ->',10);
118: hr_utility.set_location('p_cobra_coverage_enrollment_id ->'||p_cobra_coverage_enrollment_id,10);
119: hr_utility.set_location('p_coverage_start_date ->'||p_coverage_start_date,10);
120: hr_utility.set_location('p_coverage_end_date ->'||p_coverage_end_date,10);
121: hr_utility.set_location('p_qualifying_event ->'||p_qualifying_event,10);
114: specific event whether the COBRA coverage period has exceeded maximum
115: coverage, if it exceeds then return TRUE else return FALSE. Bug#4599753
116: */
117: hr_utility.set_location('In coverage_exceeded ->',10);
118: hr_utility.set_location('p_cobra_coverage_enrollment_id ->'||p_cobra_coverage_enrollment_id,10);
119: hr_utility.set_location('p_coverage_start_date ->'||p_coverage_start_date,10);
120: hr_utility.set_location('p_coverage_end_date ->'||p_coverage_end_date,10);
121: hr_utility.set_location('p_qualifying_event ->'||p_qualifying_event,10);
122:
115: coverage, if it exceeds then return TRUE else return FALSE. Bug#4599753
116: */
117: hr_utility.set_location('In coverage_exceeded ->',10);
118: hr_utility.set_location('p_cobra_coverage_enrollment_id ->'||p_cobra_coverage_enrollment_id,10);
119: hr_utility.set_location('p_coverage_start_date ->'||p_coverage_start_date,10);
120: hr_utility.set_location('p_coverage_end_date ->'||p_coverage_end_date,10);
121: hr_utility.set_location('p_qualifying_event ->'||p_qualifying_event,10);
122:
123: open c1;
116: */
117: hr_utility.set_location('In coverage_exceeded ->',10);
118: hr_utility.set_location('p_cobra_coverage_enrollment_id ->'||p_cobra_coverage_enrollment_id,10);
119: hr_utility.set_location('p_coverage_start_date ->'||p_coverage_start_date,10);
120: hr_utility.set_location('p_coverage_end_date ->'||p_coverage_end_date,10);
121: hr_utility.set_location('p_qualifying_event ->'||p_qualifying_event,10);
122:
123: open c1;
124: fetch c1 into l_months;
117: hr_utility.set_location('In coverage_exceeded ->',10);
118: hr_utility.set_location('p_cobra_coverage_enrollment_id ->'||p_cobra_coverage_enrollment_id,10);
119: hr_utility.set_location('p_coverage_start_date ->'||p_coverage_start_date,10);
120: hr_utility.set_location('p_coverage_end_date ->'||p_coverage_end_date,10);
121: hr_utility.set_location('p_qualifying_event ->'||p_qualifying_event,10);
122:
123: open c1;
124: fetch c1 into l_months;
125: hr_utility.set_location('l_months ->'||l_months,20);
121: hr_utility.set_location('p_qualifying_event ->'||p_qualifying_event,10);
122:
123: open c1;
124: fetch c1 into l_months;
125: hr_utility.set_location('l_months ->'||l_months,20);
126: if c1%notfound then
127: l_months := months_between(p_coverage_end_date,p_coverage_start_date);
128:
129: end if;
128:
129: end if;
130: close c1;
131:
132: hr_utility.set_location('l_months ->'||l_months,30);
133:
134: open c_get_max_coverage;
135: fetch c_get_max_coverage into ln_max_coverage;
136: close c_get_max_coverage;
133:
134: open c_get_max_coverage;
135: fetch c_get_max_coverage into ln_max_coverage;
136: close c_get_max_coverage;
137: hr_utility.set_location('ln_max_coverage ->'||ln_max_coverage,40);
138: /* check if the coverage period is greater than the maximum coverage */
139: if l_months > 0 then
140:
141: if l_months > ln_max_coverage then
144: return FALSE;
145: end if;
146:
147: end if;
148: hr_utility.set_location('Returning FALSE from coverage_exceeded ->',50);
149: return FALSE; /* Added for 5203801*/
150:
151: end coverage_exceeded;
152:
196: AND EFFECTIVE_END_DATE;
197: --
198: BEGIN
199: --
200: hr_utility.set_location('Entering '||l_package,10);
201: hr_utility.trace('p_qualifying_event = ' || p_qualifying_event);
202: hr_utility.trace('p_qualifying_start_date = ' || p_qualifying_start_date);
203: hr_utility.trace('p_type_code = ' || p_type_code);
204:
197: --
198: BEGIN
199: --
200: hr_utility.set_location('Entering '||l_package,10);
201: hr_utility.trace('p_qualifying_event = ' || p_qualifying_event);
202: hr_utility.trace('p_qualifying_start_date = ' || p_qualifying_start_date);
203: hr_utility.trace('p_type_code = ' || p_type_code);
204:
205: --
198: BEGIN
199: --
200: hr_utility.set_location('Entering '||l_package,10);
201: hr_utility.trace('p_qualifying_event = ' || p_qualifying_event);
202: hr_utility.trace('p_qualifying_start_date = ' || p_qualifying_start_date);
203: hr_utility.trace('p_type_code = ' || p_type_code);
204:
205: --
206: -- Check Condition Code and whether it returns any coverage
199: --
200: hr_utility.set_location('Entering '||l_package,10);
201: hr_utility.trace('p_qualifying_event = ' || p_qualifying_event);
202: hr_utility.trace('p_qualifying_start_date = ' || p_qualifying_start_date);
203: hr_utility.trace('p_type_code = ' || p_type_code);
204:
205: --
206: -- Check Condition Code and whether it returns any coverage
207: -- period and unit of measure.
211: FETCH C1 INTO p_coverage, p_coverage_uom;
212: --
213: CLOSE C1;
214: --
215: hr_utility.trace('p_coverage = ' || p_coverage);
216: hr_utility.trace('p_coverage_uom = ' || p_coverage_uom);
217: hr_utility.set_location('Leaving '||l_package,20);
218: --
219: END check_cobra_coverage_period;
212: --
213: CLOSE C1;
214: --
215: hr_utility.trace('p_coverage = ' || p_coverage);
216: hr_utility.trace('p_coverage_uom = ' || p_coverage_uom);
217: hr_utility.set_location('Leaving '||l_package,20);
218: --
219: END check_cobra_coverage_period;
220: --
213: CLOSE C1;
214: --
215: hr_utility.trace('p_coverage = ' || p_coverage);
216: hr_utility.trace('p_coverage_uom = ' || p_coverage_uom);
217: hr_utility.set_location('Leaving '||l_package,20);
218: --
219: END check_cobra_coverage_period;
220: --
221: -- Name hr_cobra_chk_event_eligible
293: OR a.normal_hours IS NULL );
294: --
295: BEGIN
296: --
297: hr_utility.set_location('Entering...:' || l_proc, 10);
298: hr_utility.trace('p_qualifying_event : ' || p_qualifying_event);
299: hr_utility.trace('p_qualifying_date : ' || p_qualifying_date);
300: --
301: --
294: --
295: BEGIN
296: --
297: hr_utility.set_location('Entering...:' || l_proc, 10);
298: hr_utility.trace('p_qualifying_event : ' || p_qualifying_event);
299: hr_utility.trace('p_qualifying_date : ' || p_qualifying_date);
300: --
301: --
302: -- Check to see what event we are testing for.
295: BEGIN
296: --
297: hr_utility.set_location('Entering...:' || l_proc, 10);
298: hr_utility.trace('p_qualifying_event : ' || p_qualifying_event);
299: hr_utility.trace('p_qualifying_date : ' || p_qualifying_date);
300: --
301: --
302: -- Check to see what event we are testing for.
303: --
306: --
307: -- check if employee has actually been terminated as of the current
308: -- session date.
309: --
310: hr_utility.set_location(l_proc, 20);
311: OPEN chk_termination;
312: FETCH chk_termination INTO l_event_exists, p_qualifying_date;
313: CLOSE chk_termination;
314: hr_utility.trace('p_qualifying_date : ' || p_qualifying_date);
310: hr_utility.set_location(l_proc, 20);
311: OPEN chk_termination;
312: FETCH chk_termination INTO l_event_exists, p_qualifying_date;
313: CLOSE chk_termination;
314: hr_utility.trace('p_qualifying_date : ' || p_qualifying_date);
315: --
316: ELSIF (p_qualifying_event = 'RH')
317: THEN
318: --
353: -- chk which event and raise error
354: --
355: IF (p_qualifying_event = 'T')
356: THEN
357: hr_utility.set_message(801, 'HR_13110_COBRA_NOT_TERM');
358: hr_utility.raise_error;
359: ELSE
360: hr_utility.set_message(801, 'HR_13111_COBRA_NOT_RDCD_HRS');
361: hr_utility.raise_error;
354: --
355: IF (p_qualifying_event = 'T')
356: THEN
357: hr_utility.set_message(801, 'HR_13110_COBRA_NOT_TERM');
358: hr_utility.raise_error;
359: ELSE
360: hr_utility.set_message(801, 'HR_13111_COBRA_NOT_RDCD_HRS');
361: hr_utility.raise_error;
362: END IF;
356: THEN
357: hr_utility.set_message(801, 'HR_13110_COBRA_NOT_TERM');
358: hr_utility.raise_error;
359: ELSE
360: hr_utility.set_message(801, 'HR_13111_COBRA_NOT_RDCD_HRS');
361: hr_utility.raise_error;
362: END IF;
363: --
364: END IF;
357: hr_utility.set_message(801, 'HR_13110_COBRA_NOT_TERM');
358: hr_utility.raise_error;
359: ELSE
360: hr_utility.set_message(801, 'HR_13111_COBRA_NOT_RDCD_HRS');
361: hr_utility.raise_error;
362: END IF;
363: --
364: END IF;
365: --
417: bc.cobra_flag = 'Y';
418: --
419: BEGIN
420: --
421: hr_utility.set_location(g_package || 'per_cobra_eci.hr_cobra_chk_benefits_exist', 0);
422: --
423: --
424: -- Initialise last eligible date - i.e. to pick out plans
425: -- the employee was eligible for the day before qualifying
437: --
438: IF (l_cobra_benefits_exist = 'N')
439: THEN
440: -- raise error
441: hr_utility.set_message(801, 'HR_13112_COBRA_NO_BEN_EXIST');
442: hr_utility.raise_error;
443: --
444: END IF;
445: END hr_cobra_chk_benefits_exist;
438: IF (l_cobra_benefits_exist = 'N')
439: THEN
440: -- raise error
441: hr_utility.set_message(801, 'HR_13112_COBRA_NO_BEN_EXIST');
442: hr_utility.raise_error;
443: --
444: END IF;
445: END hr_cobra_chk_benefits_exist;
446: --
477: a.effective_end_date;
478: --
479: BEGIN
480: --
481: hr_utility.set_location(g_package || 'hr_get_assignment_info', 0);
482: --
483: -- get org id
484: --
485: OPEN org_id;
523: AND ccs.cobra_coverage_status_type = 'ELEC';
524: --
525: BEGIN
526: --
527: hr_utility.set_location(g_package || 'hr_cobra_chk_elect_status', 0);
528: --
529: --
530: -- fetch status
531: --
576: AND lookup_code = 'AWAIT';
577: --
578: BEGIN
579: --
580: hr_utility.set_location(g_package || 'per_cobra_eci.hr_cobra_get_await_meaning', 0);
581: --
582: --
583: -- get the meaning
584: --
619: AND tpt.system_flag = 'Y';
620: --
621: BEGIN
622: --
623: hr_utility.set_location(g_package || 'hr_cobra_get_period_type', 0);
624: --
625: --
626: -- get default period type
627: --
707: --
708: --
709: --
710: --
711: hr_utility.set_location(l_package,1);
712: --
713: /* We will not have this validatino because we want to allow
714: end user to enter the multiple events and also the same
715: event twice with same qualifying date, coverage periods.
726: --
727: -- Call check benefits exists
728: --
729: --
730: hr_utility.set_location(l_package,2);
731: --
732: hr_cobra_chk_benefits_exist ( p_assignment_id,
733: p_qualifying_date );
734: --
734: --
735: -- check eligible for event
736: --
737: --
738: hr_utility.set_location(l_package,3);
739: --
740: IF (p_qualifying_event IN ('T', 'RH'))
741: THEN
742: hr_cobra_chk_event_eligible( p_organization_id,
750: --
751: -- Do insert
752: --
753: --
754: hr_utility.set_location(l_package,4);
755: --
756: per_cobra_cov_enrollments_pkg.insert_row(
757: p_rowid,
758: p_cobra_coverage_enrollment_id,
829: --
830: --
831: -- create cobra coverage benefits
832: --
833: hr_utility.set_location(l_package,7);
834: --
835: hr_cobra_ins_benefits(p_cobra_coverage_enrollment_id,
836: p_business_group_id,
837: p_assignment_id,
836: p_business_group_id,
837: p_assignment_id,
838: p_qualifying_date);
839: --
840: hr_utility.set_location(l_package,8);
841: --
842: --
843: -- Calculate amount charged
844: --
849: p_amount_charged := hr_chkfmt.changeformat(p_amount_charged,'M','USD');
850:
851: --
852: --
853: hr_utility.set_location(l_package,9);
854: --
855: -- Check to see if need to create payments
856: --
857: IF ( p_first_payment_due_date IS NOT NULL )
899: l_login_id NUMBER := FND_PROFILE.Value('LOGIN_ID');
900: --
901: BEGIN
902: --
903: hr_utility.set_location(g_package || 'hr_cobra_ins_benefits', 0);
904: hr_utility.trace('last_eligible_date : ' || l_last_eligible_date);
905: --
906: --
907: -- insert benefits
900: --
901: BEGIN
902: --
903: hr_utility.set_location(g_package || 'hr_cobra_ins_benefits', 0);
904: hr_utility.trace('last_eligible_date : ' || l_last_eligible_date);
905: --
906: --
907: -- insert benefits
908: --
1007: bc.element_type_id IS NULL
1008: );
1009: --
1010: --
1011: hr_utility.set_location(g_package || 'hr_cobra_ins_benefits', 100);
1012: --
1013: --
1014: --
1015: END hr_cobra_ins_benefits;
1054: AND ccb.accept_reject_flag = 'ACC';
1055: --
1056: BEGIN
1057: --
1058: hr_utility.set_location(g_package || 'hr_cobra_calc_amt_charged', 0);
1059: --
1060: --
1061: -- get amount charged
1062: --
1124: ln_rec_count number;
1125: --
1126: BEGIN
1127: --
1128: hr_utility.set_location(g_package || 'hr_cobra_ins_schedule', 0);
1129:
1130: -- Added this check_scp rec count condition to avoid error when
1131: -- trying to save the records. Part of fix for bug#4599753
1132: ln_rec_count := 0;
1359: --
1360: BEGIN
1361: --
1362: --
1363: hr_utility.set_location('Entering...' || l_package, 10);
1364: --
1365: /* We don't need this validation when we update the record
1366: part of fix for bug#4599753
1367:
1372: p_qualifying_event,
1373: p_qualifying_date );
1374: */
1375: --
1376: hr_utility.set_location(l_package, 20);
1377: --
1378: -- do update
1379: --
1380: per_cobra_cov_enrollments_pkg.update_row(
1414: --
1415: -- check insert or update status
1416: --
1417: --
1418: hr_utility.set_location(l_package, 30);
1419: --
1420: --
1421: -- Check coverage dates
1422: --
1425: --
1426: -- check if status of elect exists
1427: --
1428: --
1429: hr_utility.set_location(l_package, 40);
1430: --
1431: IF (hr_cobra_chk_elect_status( p_cobra_coverage_enrollment_id ))
1432: THEN
1433: --
1433: --
1434: -- error
1435: --
1436: --
1437: hr_utility.set_location(l_package, 50);
1438: --
1439: hr_utility.set_message( 801, 'HR_13113_COBRA_MAND_DATES_ELEC');
1440: hr_utility.raise_error;
1441: --
1435: --
1436: --
1437: hr_utility.set_location(l_package, 50);
1438: --
1439: hr_utility.set_message( 801, 'HR_13113_COBRA_MAND_DATES_ELEC');
1440: hr_utility.raise_error;
1441: --
1442: END IF;
1443: --
1436: --
1437: hr_utility.set_location(l_package, 50);
1438: --
1439: hr_utility.set_message( 801, 'HR_13113_COBRA_MAND_DATES_ELEC');
1440: hr_utility.raise_error;
1441: --
1442: END IF;
1443: --
1444: END IF;
1441: --
1442: END IF;
1443: --
1444: END IF;
1445: hr_utility.set_location(l_package, 60);
1446: --
1447: --
1448: -- calculate amount charged
1449: --
1452: /* Added this to format p_amount_charged part of fix#4599753 */
1453: p_amount_charged := hr_chkfmt.changeformat(p_amount_charged,'M','USD');
1454:
1455: --
1456: hr_utility.set_location(l_package, 70);
1457: -- hr_utility.trace(p_amount_charged);
1458: --
1459: --
1460: -- check if need to create payment schedules
1453: p_amount_charged := hr_chkfmt.changeformat(p_amount_charged,'M','USD');
1454:
1455: --
1456: hr_utility.set_location(l_package, 70);
1457: -- hr_utility.trace(p_amount_charged);
1458: --
1459: --
1460: -- check if need to create payment schedules
1461: --
1611: FROM dual;
1612:
1613: BEGIN
1614:
1615: hr_utility.set_location('Entering...' || l_package, 10);
1616: hr_utility.trace('p_effective_date : ' || p_effective_date);
1617: --
1618: open csr_current_element_entry;
1619: LOOP
1612:
1613: BEGIN
1614:
1615: hr_utility.set_location('Entering...' || l_package, 10);
1616: hr_utility.trace('p_effective_date : ' || p_effective_date);
1617: --
1618: open csr_current_element_entry;
1619: LOOP
1620: fetch csr_current_element_entry into l_element_entry_id
1623: ,l_cobra_coverage_benefit_id
1624: ,l_ccb_effective_start_date;
1625: exit when csr_current_element_entry%NOTFOUND;
1626:
1627: hr_utility.set_location(l_package, 20);
1628: hr_utility.trace('l_element_entry_id : ' || l_element_entry_id);
1629: hr_utility.trace('l_ee_effective_start_date : ' || l_ee_effective_start_date);
1630: hr_utility.trace('l_ee_effective_end_date : ' || l_ee_effective_end_date);
1631: hr_utility.trace('l_element_type_id : ' || l_element_type_id);
1624: ,l_ccb_effective_start_date;
1625: exit when csr_current_element_entry%NOTFOUND;
1626:
1627: hr_utility.set_location(l_package, 20);
1628: hr_utility.trace('l_element_entry_id : ' || l_element_entry_id);
1629: hr_utility.trace('l_ee_effective_start_date : ' || l_ee_effective_start_date);
1630: hr_utility.trace('l_ee_effective_end_date : ' || l_ee_effective_end_date);
1631: hr_utility.trace('l_element_type_id : ' || l_element_type_id);
1632: hr_utility.trace('l_ccb_effective_start_date : ' || l_ccb_effective_start_date);
1625: exit when csr_current_element_entry%NOTFOUND;
1626:
1627: hr_utility.set_location(l_package, 20);
1628: hr_utility.trace('l_element_entry_id : ' || l_element_entry_id);
1629: hr_utility.trace('l_ee_effective_start_date : ' || l_ee_effective_start_date);
1630: hr_utility.trace('l_ee_effective_end_date : ' || l_ee_effective_end_date);
1631: hr_utility.trace('l_element_type_id : ' || l_element_type_id);
1632: hr_utility.trace('l_ccb_effective_start_date : ' || l_ccb_effective_start_date);
1633:
1626:
1627: hr_utility.set_location(l_package, 20);
1628: hr_utility.trace('l_element_entry_id : ' || l_element_entry_id);
1629: hr_utility.trace('l_ee_effective_start_date : ' || l_ee_effective_start_date);
1630: hr_utility.trace('l_ee_effective_end_date : ' || l_ee_effective_end_date);
1631: hr_utility.trace('l_element_type_id : ' || l_element_type_id);
1632: hr_utility.trace('l_ccb_effective_start_date : ' || l_ccb_effective_start_date);
1633:
1634: if p_effective_date >= l_ee_effective_end_date then
1627: hr_utility.set_location(l_package, 20);
1628: hr_utility.trace('l_element_entry_id : ' || l_element_entry_id);
1629: hr_utility.trace('l_ee_effective_start_date : ' || l_ee_effective_start_date);
1630: hr_utility.trace('l_ee_effective_end_date : ' || l_ee_effective_end_date);
1631: hr_utility.trace('l_element_type_id : ' || l_element_type_id);
1632: hr_utility.trace('l_ccb_effective_start_date : ' || l_ccb_effective_start_date);
1633:
1634: if p_effective_date >= l_ee_effective_end_date then
1635:
1628: hr_utility.trace('l_element_entry_id : ' || l_element_entry_id);
1629: hr_utility.trace('l_ee_effective_start_date : ' || l_ee_effective_start_date);
1630: hr_utility.trace('l_ee_effective_end_date : ' || l_ee_effective_end_date);
1631: hr_utility.trace('l_element_type_id : ' || l_element_type_id);
1632: hr_utility.trace('l_ccb_effective_start_date : ' || l_ccb_effective_start_date);
1633:
1634: if p_effective_date >= l_ee_effective_end_date then
1635:
1636: hr_utility.set_location(l_package, 30);
1632: hr_utility.trace('l_ccb_effective_start_date : ' || l_ccb_effective_start_date);
1633:
1634: if p_effective_date >= l_ee_effective_end_date then
1635:
1636: hr_utility.set_location(l_package, 30);
1637:
1638: update per_cobra_coverage_benefits_f
1639: set effective_end_date = l_ee_effective_end_date
1640: where cobra_coverage_benefit_id = l_cobra_coverage_benefit_id
1651:
1652: END LOOP;
1653: close csr_current_element_entry;
1654:
1655: hr_utility.set_location(l_package, 40);
1656: --
1657: --
1658: --
1659: open csr_available_element_entry;
1661: fetch csr_available_element_entry into l_element_type_id
1662: ,l_effective_start_date2, l_effective_end_date2;
1663: exit when csr_available_element_entry%NOTFOUND;
1664:
1665: hr_utility.set_location(l_package, 50);
1666: hr_utility.trace('l_element_type_id : ' || l_element_type_id);
1667: hr_utility.trace('l_effective_start_date2 : ' || l_effective_start_date2);
1668: hr_utility.trace('l_effective_end_date2 : ' || l_effective_end_date2);
1669:
1662: ,l_effective_start_date2, l_effective_end_date2;
1663: exit when csr_available_element_entry%NOTFOUND;
1664:
1665: hr_utility.set_location(l_package, 50);
1666: hr_utility.trace('l_element_type_id : ' || l_element_type_id);
1667: hr_utility.trace('l_effective_start_date2 : ' || l_effective_start_date2);
1668: hr_utility.trace('l_effective_end_date2 : ' || l_effective_end_date2);
1669:
1670: l_new_start_date := l_effective_start_date2;
1663: exit when csr_available_element_entry%NOTFOUND;
1664:
1665: hr_utility.set_location(l_package, 50);
1666: hr_utility.trace('l_element_type_id : ' || l_element_type_id);
1667: hr_utility.trace('l_effective_start_date2 : ' || l_effective_start_date2);
1668: hr_utility.trace('l_effective_end_date2 : ' || l_effective_end_date2);
1669:
1670: l_new_start_date := l_effective_start_date2;
1671:
1664:
1665: hr_utility.set_location(l_package, 50);
1666: hr_utility.trace('l_element_type_id : ' || l_element_type_id);
1667: hr_utility.trace('l_effective_start_date2 : ' || l_effective_start_date2);
1668: hr_utility.trace('l_effective_end_date2 : ' || l_effective_end_date2);
1669:
1670: l_new_start_date := l_effective_start_date2;
1671:
1672: open get_benefit_id;
1672: open get_benefit_id;
1673: fetch get_benefit_id into l_cobra_coverage_benefit_id;
1674: close get_benefit_id;
1675:
1676: hr_utility.trace('l_cobra_coverage_benefit_id : '|| l_cobra_coverage_benefit_id);
1677:
1678: INSERT INTO per_cobra_coverage_benefits_f (
1679: cobra_coverage_benefit_id,
1680: cobra_coverage_enrollment_id,
1790: OR
1791: bc.element_type_id IS NULL
1792: );
1793:
1794: hr_utility.set_location(l_package, 70);
1795: l_return := true;
1796: END LOOP;
1797: close csr_available_element_entry;
1798:
1795: l_return := true;
1796: END LOOP;
1797: close csr_available_element_entry;
1798:
1799: hr_utility.set_location(l_package, 80);
1800:
1801: if (l_return = true) then
1802: hr_utility.set_location(l_package, 90);
1803: --
1798:
1799: hr_utility.set_location(l_package, 80);
1800:
1801: if (l_return = true) then
1802: hr_utility.set_location(l_package, 90);
1803: --
1804: -- calculate amount charged
1805: --
1806: p_amount_charged :=
1811: p_effective_end_date := l_effective_end_date2;
1812: -- commit;
1813: end if;
1814:
1815: hr_utility.set_location(l_package, 100);
1816:
1817: return l_return;
1818: --
1819: --
1879: AND h.lookup_type = 'US_COBRA_STATUS';
1880: --
1881: BEGIN
1882: --
1883: hr_utility.set_location(g_package || 'hr_cobra_get_current_status', 0);
1884: --
1885: --
1886: -- get latest status info
1887: --
1952:
1953: BEGIN
1954: --
1955: --
1956: hr_utility.set_location(l_package, 1);
1957: --
1958: --
1959: -- Call to check status is unique
1960: --
1963: p_cobra_coverage_status_id,
1964: p_cobra_coverage_enrollment_id,
1965: p_cobra_coverage_status_type );
1966: --
1967: hr_utility.set_location(l_package, 2);
1968: --
1969: --
1970: -- Call to check elect/rej not co-existing
1971: --
1968: --
1969: --
1970: -- Call to check elect/rej not co-existing
1971: --
1972: hr_utility.trace('p_cobra_coverage_status_type = ' || p_cobra_coverage_status_type);
1973: IF (p_cobra_coverage_status_type IN ('ELEC', 'REJ'))
1974: THEN
1975: per_cobra_cov_statuses_pkg.hr_cobra_chk_status_elect_rej
1976: ( p_business_group_id,
1978: p_cobra_coverage_status_id,
1979: p_cobra_coverage_status_type );
1980: END IF;
1981: --
1982: hr_utility.set_location(l_package, 3);
1983: --
1984: --
1985: -- Call to check status inserted in correct order
1986: --
1990: p_cobra_coverage_status_id,
1991: p_cobra_coverage_status_type,
1992: p_effective_date );
1993: --
1994: hr_utility.set_location(l_package, 4);
1995: --
1996: --
1997: -- do insert
1998: --
2025: p_Attribute19,
2026: p_Attribute20,
2027: p_comments );
2028: --
2029: hr_utility.set_location(l_package, 5);
2030: --
2031: --
2032: -- get the current status
2033: --
2037: p_current_status_meaning,
2038: p_current_status_date,
2039: p_current_d_status_date );
2040: --
2041: hr_utility.set_location(l_package, 6);
2042: --
2043: --
2044: END hr_cobra_do_ccs_insert;
2045: --
2095: BEGIN
2096: --
2097: --
2098: --
2099: hr_utility.set_location(l_package, 1);
2100: --
2101: -- Call to check status is unique
2102: --
2103: per_cobra_cov_statuses_pkg.hr_cobra_chk_status_unique
2107: p_cobra_coverage_status_type );
2108: --
2109: --
2110: --
2111: hr_utility.set_location(l_package, 2);
2112: --
2113: -- before inserting new status check that elct/reject to not coexist
2114: --
2115: IF( p_cobra_coverage_status_type IN ('ELEC', 'REJ'))
2114: --
2115: IF( p_cobra_coverage_status_type IN ('ELEC', 'REJ'))
2116: THEN
2117: --
2118: hr_utility.set_location(l_package, 3);
2119: per_cobra_cov_statuses_pkg.hr_cobra_chk_status_elect_rej (
2120: p_business_group_id,
2121: p_cobra_coverage_enrollment_id,
2122: p_cobra_coverage_status_id,
2122: p_cobra_coverage_status_id,
2123: p_cobra_coverage_status_type );
2124: END IF;
2125: --
2126: hr_utility.set_location(l_package, 4);
2127: --
2128: --
2129: -- check status order
2130: --
2138: --
2139: -- update status
2140: --
2141: --
2142: hr_utility.set_location(l_package, 5);
2143: --
2144: per_cobra_cov_statuses_pkg.update_row(p_rowid,
2145: p_Business_Group_Id,
2146: p_Cobra_Coverage_Enrollment_Id,
2208:
2209: BEGIN
2210:
2211: ld_session_date := p_session_date;
2212: hr_utility.trace('p_status TERM satisfied');
2213:
2214: update per_cobra_cov_enrollments
2215: set coverage_end_date = p_session_date
2216: where cobra_coverage_enrollment_id = p_cobra_coverage_enrollment_id
2217: and coverage_start_date = p_coverage_start_date
2218: and coverage_end_date = p_coverage_end_date
2219: and qualifying_event = p_qualifying_event;
2220:
2221: hr_utility.trace('Update to per_cobra_cov_enrollments done ');
2222:
2223: p_coverage_end_date := ld_session_date;
2224: --
2225:
2263:
2264: BEGIN
2265:
2266: ld_session_date := p_session_date;
2267: hr_utility.trace('p_status TERM satisfied');
2268:
2269: open c_get_cobra_dependents;
2270: loop
2271: fetch c_get_cobra_dependents into ln_cdp_id,ld_eff_end_date, ln_ovn,ld_eff_start_date;
2328: --
2329: BEGIN
2330: --
2331: --
2332: hr_utility.set_location(l_package, 0);
2333: --
2334: --
2335: -- Call to check status is unique
2336: --
2339: NULL,
2340: p_cobra_coverage_enrollment_id,
2341: p_status );
2342: --
2343: hr_utility.set_location(l_package, 1);
2344: --
2345: --
2346: -- Call to check elect/rej not co-existing
2347: --
2353: NULL,
2354: p_status );
2355: END IF;
2356: --
2357: hr_utility.set_location(l_package, 2);
2358: --
2359: --
2360: -- Call to check status inserted in correct order
2361: --
2365: NULL,
2366: p_status,
2367: p_status_date);
2368: --
2369: hr_utility.set_location(l_package, 3);
2370: --
2371: --
2372: -- do insert
2373: --
2400: NULL,
2401: NULL,
2402: NULL);
2403: --
2404: hr_utility.set_location(l_package, 4);
2405: --
2406: --
2407: hr_utility.trace('checking new code for TERM');
2408:
2403: --
2404: hr_utility.set_location(l_package, 4);
2405: --
2406: --
2407: hr_utility.trace('checking new code for TERM');
2408:
2409: /*
2410: if p_status = 'TERM' then
2411:
2408:
2409: /*
2410: if p_status = 'TERM' then
2411:
2412: hr_utility.trace('p_status TERM satisfied');
2413: update per_cobra_cov_enrollments
2414: set coverage_end_date = p_session_date
2415: where cobra_coverage_enrollment_id = p_cobra_coverage_enrollment_id
2416: and p_session_date between coverage_start_date and coverage_end_date;
2414: set coverage_end_date = p_session_date
2415: where cobra_coverage_enrollment_id = p_cobra_coverage_enrollment_id
2416: and p_session_date between coverage_start_date and coverage_end_date;
2417:
2418: hr_utility.trace('Update to per_cobra_cov_enrollments done ');
2419: end if;
2420: */
2421: --
2422: --
2428: p_status_meaning,
2429: p_status_date,
2430: p_d_status_date );
2431: --
2432: hr_utility.set_location(l_package, 5);
2433:
2434: --
2435: --
2436: --
2518: l_package VARCHAR2(70) := g_package || 'hr_cobra_chk_dup_pay_due_date';
2519: --
2520: BEGIN
2521: --
2522: hr_utility.set_location(l_package, 0);
2523: --
2524: --
2525: -- get duplicate due dates
2526: --
2527: OPEN due_date;
2528: FETCH due_date INTO l_duplicate_due_date;
2529: CLOSE due_date;
2530: --
2531: hr_utility.set_location(l_package, 1);
2532: --
2533: --
2534: -- chk duplicate due dates
2535: --
2535: --
2536: IF (l_duplicate_due_date = 'Y')
2537: THEN
2538: --
2539: hr_utility.set_location(l_package, 2);
2540: --
2541: hr_utility.set_message( 801, 'HR_13145_COBRA_DUP_SCHED');
2542: hr_utility.raise_error;
2543: --
2537: THEN
2538: --
2539: hr_utility.set_location(l_package, 2);
2540: --
2541: hr_utility.set_message( 801, 'HR_13145_COBRA_DUP_SCHED');
2542: hr_utility.raise_error;
2543: --
2544: END IF;
2545: --
2538: --
2539: hr_utility.set_location(l_package, 2);
2540: --
2541: hr_utility.set_message( 801, 'HR_13145_COBRA_DUP_SCHED');
2542: hr_utility.raise_error;
2543: --
2544: END IF;
2545: --
2546: hr_utility.set_location(l_package, 3);
2542: hr_utility.raise_error;
2543: --
2544: END IF;
2545: --
2546: hr_utility.set_location(l_package, 3);
2547: --
2548: --
2549: END hr_cobra_chk_dup_pay_due_date;
2550: --
2584: --
2585: -- chekc for duplicate due date
2586: --
2587: --
2588: hr_utility.set_location(l_package, 1);
2589: --
2590: hr_cobra_chk_dup_pay_due_date( p_scheduled_cobra_payment_id,
2591: p_cobra_coverage_enrollment_id,
2592: p_due_date );
2590: hr_cobra_chk_dup_pay_due_date( p_scheduled_cobra_payment_id,
2591: p_cobra_coverage_enrollment_id,
2592: p_due_date );
2593: --
2594: hr_utility.set_location(l_package, 2);
2595: --
2596: --
2597: -- get new scp_id
2598: --
2599: OPEN scp_id;
2600: FETCH scp_id INTO p_scheduled_cobra_payment_id;
2601: CLOSE scp_id;
2602: --
2603: hr_utility.set_location(l_package, 3);
2604: --
2605: END hr_cobra_do_scp_pre_insert;
2606: --
2607: --
2630: --
2631: -- chekc for duplicate due date
2632: --
2633: --
2634: hr_utility.set_location(g_package || 'hr_cobra_do_scp_update', 1);
2635: --
2636: hr_cobra_chk_dup_pay_due_date( p_scheduled_cobra_payment_id,
2637: p_cobra_coverage_enrollment_id,
2638: p_due_date );
2732: BEGIN
2733: --
2734: -- get contributions - if any
2735: --
2736: hr_utility.set_location(l_package, 1);
2737: OPEN coverage_amount;
2738: FETCH coverage_amount INTO p_coverage_amount, p_basic_cost;
2739: --
2740: -- check if any coverage
2738: FETCH coverage_amount INTO p_coverage_amount, p_basic_cost;
2739: --
2740: -- check if any coverage
2741: --
2742: hr_utility.set_location(l_package, 2);
2743: IF (coverage_amount%NOTFOUND)
2744: THEN
2745: hr_utility.set_location(l_package, 3);
2746: --
2741: --
2742: hr_utility.set_location(l_package, 2);
2743: IF (coverage_amount%NOTFOUND)
2744: THEN
2745: hr_utility.set_location(l_package, 3);
2746: --
2747: -- default 0.00
2748: --
2749: p_basic_cost := 0;
2751: END IF;
2752: --
2753: CLOSE coverage_amount;
2754: --
2755: hr_utility.set_location(l_package, 4);
2756: --
2757: --
2758: END hr_cobra_default_cobra_cost;
2759: --
3085: l_package VARCHAR2(70) := g_package || 'get_basic_cost';
3086: --
3087: BEGIN
3088: --
3089: hr_utility.set_location('Entering:' || l_package, 0);
3090: hr_utility.trace('p_element_type_id : ' || p_element_type_id);
3091: hr_utility.trace('p_coverage_type : ' || p_coverage_type);
3092: hr_utility.trace('p_assignment_id : ' || p_assignment_id);
3093:
3086: --
3087: BEGIN
3088: --
3089: hr_utility.set_location('Entering:' || l_package, 0);
3090: hr_utility.trace('p_element_type_id : ' || p_element_type_id);
3091: hr_utility.trace('p_coverage_type : ' || p_coverage_type);
3092: hr_utility.trace('p_assignment_id : ' || p_assignment_id);
3093:
3094: --
3087: BEGIN
3088: --
3089: hr_utility.set_location('Entering:' || l_package, 0);
3090: hr_utility.trace('p_element_type_id : ' || p_element_type_id);
3091: hr_utility.trace('p_coverage_type : ' || p_coverage_type);
3092: hr_utility.trace('p_assignment_id : ' || p_assignment_id);
3093:
3094: --
3095: --
3088: --
3089: hr_utility.set_location('Entering:' || l_package, 0);
3090: hr_utility.trace('p_element_type_id : ' || p_element_type_id);
3091: hr_utility.trace('p_coverage_type : ' || p_coverage_type);
3092: hr_utility.trace('p_assignment_id : ' || p_assignment_id);
3093:
3094: --
3095: --
3096: OPEN chk_ee_exists;
3096: OPEN chk_ee_exists;
3097: FETCH chk_ee_exists INTO l_ees_exist;
3098: CLOSE chk_ee_exists;
3099: --
3100: hr_utility.set_location(l_package, 1);
3101: --
3102: --
3103: IF ( l_ees_exist = 'Y' )
3104: THEN
3102: --
3103: IF ( l_ees_exist = 'Y' )
3104: THEN
3105: --
3106: hr_utility.set_location(l_package, 2);
3107: --
3108: --
3109: OPEN get_basic_cost_ee;
3110: FETCH get_basic_cost_ee INTO l_basic_cost;
3111: CLOSE get_basic_cost_ee;
3112: --
3113: ELSE
3114: --
3115: hr_utility.set_location(l_package, 3);
3116: --
3117: --
3118: OPEN get_basic_cost;
3119: FETCH get_basic_cost INTO l_basic_cost;
3122: END IF;
3123: --
3124: -- return basic cost
3125: --
3126: hr_utility.trace('l_basic_cost : ' || l_basic_cost);
3127: hr_utility.set_location(' Leaving : ' || l_package, 4);
3128: --
3129: --
3130: RETURN l_basic_cost;
3123: --
3124: -- return basic cost
3125: --
3126: hr_utility.trace('l_basic_cost : ' || l_basic_cost);
3127: hr_utility.set_location(' Leaving : ' || l_package, 4);
3128: --
3129: --
3130: RETURN l_basic_cost;
3131: --
3205: l_proc varchar2(72) := g_package || 'chk_cobra_dependent_id';
3206: --
3207: Begin
3208: --
3209: hr_utility.set_location('Entering:'||l_proc, 5);
3210: --
3211: if (p_object_version_number is not null and
3212: p_cobra_dependent_id
3213: <> nvl(g_old_rec.cobra_dependent_id,hr_api.g_number)) then
3213: <> nvl(g_old_rec.cobra_dependent_id,hr_api.g_number)) then
3214: --
3215: -- raise error as PK has changed
3216: --
3217: hr_utility.set_message(801,'HR_52271_CDP_PK_INV');
3218: hr_utility.raise_error;
3219: --
3220: elsif p_object_version_number is null then
3221: --
3214: --
3215: -- raise error as PK has changed
3216: --
3217: hr_utility.set_message(801,'HR_52271_CDP_PK_INV');
3218: hr_utility.raise_error;
3219: --
3220: elsif p_object_version_number is null then
3221: --
3222: -- check if PK is null.
3224: if p_cobra_dependent_id is not null then
3225: --
3226: -- raise error as PK is not null
3227: --
3228: hr_utility.set_message(801,'HR_52271_CDP_PK_INV');
3229: hr_utility.raise_error;
3230: --
3231: end if;
3232: --
3225: --
3226: -- raise error as PK is not null
3227: --
3228: hr_utility.set_message(801,'HR_52271_CDP_PK_INV');
3229: hr_utility.raise_error;
3230: --
3231: end if;
3232: --
3233: end if;
3231: end if;
3232: --
3233: end if;
3234: --
3235: hr_utility.set_location(' Leaving:'||l_proc, 10);
3236: --
3237: End chk_cobra_dependent_id;
3238: --
3239: Procedure chk_enrollment_id(p_cobra_dependent_id in number,
3260: and cov.coverage_end_date;
3261: --
3262: Begin
3263: --
3264: hr_utility.set_location('Entering:'||l_proc, 5);
3265: --
3266: if p_cobra_coverage_enrollment_id is null then
3267: --
3268: -- raise error as FK is null
3266: if p_cobra_coverage_enrollment_id is null then
3267: --
3268: -- raise error as FK is null
3269: --
3270: hr_utility.set_message(801,'HR_52272_CDP_ENROLL_FK');
3271: hr_utility.raise_error;
3272: --
3273: end if;
3274: --
3267: --
3268: -- raise error as FK is null
3269: --
3270: hr_utility.set_message(801,'HR_52272_CDP_ENROLL_FK');
3271: hr_utility.raise_error;
3272: --
3273: end if;
3274: --
3275: -- Check if the enrollment is still valid as of the validation start
3294: --
3295: -- The dates for the covered dependent are outside of the dates of
3296: -- the cobra enrollment event. Raise ERROR.
3297: --
3298: hr_utility.set_message(801,'HR_52273_CDP_DEP_DATES');
3299: hr_utility.raise_error;
3300: --
3301: end if;
3302: --
3295: -- The dates for the covered dependent are outside of the dates of
3296: -- the cobra enrollment event. Raise ERROR.
3297: --
3298: hr_utility.set_message(801,'HR_52273_CDP_DEP_DATES');
3299: hr_utility.raise_error;
3300: --
3301: end if;
3302: --
3303: close c1;
3303: close c1;
3304: --
3305: end if;
3306: --
3307: hr_utility.set_location(' Leaving:'||l_proc, 10);
3308: --
3309: End chk_enrollment_id;
3310: --
3311: Procedure chk_contact_relationship_id
3323: where cre.contact_relationship_id = p_contact_relationship_id;
3324: --
3325: Begin
3326: --
3327: hr_utility.set_location('Entering:'||l_proc, 5);
3328: --
3329: if p_contact_relationship_id is null then
3330: --
3331: -- raise error as FK is null
3329: if p_contact_relationship_id is null then
3330: --
3331: -- raise error as FK is null
3332: --
3333: hr_utility.set_message(801, 'HR_52274_CDP_INV_CONTACT');
3334: hr_utility.raise_error;
3335: --
3336: end if;
3337: --
3330: --
3331: -- raise error as FK is null
3332: --
3333: hr_utility.set_message(801, 'HR_52274_CDP_INV_CONTACT');
3334: hr_utility.raise_error;
3335: --
3336: end if;
3337: --
3338: -- Make sure that contact exists in PER_CONTACT_RELATIONSHIPS table
3342: fetch c1 into l_dummy;
3343: if c1%notfound then
3344: --
3345: close c1;
3346: hr_utility.set_message(801, 'HR_52274_CDP_INV_CONTACT');
3347: hr_utility.raise_error;
3348: --
3349: end if;
3350: --
3343: if c1%notfound then
3344: --
3345: close c1;
3346: hr_utility.set_message(801, 'HR_52274_CDP_INV_CONTACT');
3347: hr_utility.raise_error;
3348: --
3349: end if;
3350: --
3351: close c1;
3349: end if;
3350: --
3351: close c1;
3352: --
3353: hr_utility.set_location(' Leaving:'||l_proc, 10);
3354: --
3355: End chk_contact_relationship_id;
3356: --
3357: Procedure chk_overlap (p_cobra_dependent_id in number,
3383: and cdp.effective_end_date);
3384: --
3385: Begin
3386: --
3387: hr_utility.set_location('Entering:'||l_proc, 5);
3388: --
3389: -- check whether the new record already exists within the timeframe
3390: -- for the same dependent. A dependent can only be covered once by
3391: -- any enrollment for any particular timeframe.
3395: fetch c1 into l_dummy;
3396: if c1%found then
3397: --
3398: close c1;
3399: hr_utility.set_message(801,'HR_52275_CDP_DEP_COVERED');
3400: hr_utility.raise_error;
3401: --
3402: end if;
3403: --
3396: if c1%found then
3397: --
3398: close c1;
3399: hr_utility.set_message(801,'HR_52275_CDP_DEP_COVERED');
3400: hr_utility.raise_error;
3401: --
3402: end if;
3403: --
3404: close c1;
3402: end if;
3403: --
3404: close c1;
3405: --
3406: hr_utility.set_location(' Leaving:'||l_proc, 10);
3407: --
3408: End chk_overlap;
3409: --
3410: Procedure chk_unique_key (p_cobra_dependent_id in number,
3424: and cdp.effective_end_date = p_effective_end_date;
3425: --
3426: Begin
3427: --
3428: hr_utility.set_location('Entering:'||l_proc, 5);
3429: --
3430: open c1;
3431: --
3432: fetch c1 into l_dummy;
3432: fetch c1 into l_dummy;
3433: if c1%found then
3434: --
3435: close c1;
3436: hr_utility.set_message(801, 'HR_52276_CDP_DEP_UK');
3437: hr_utility.raise_error;
3438: --
3439: end if;
3440: --
3433: if c1%found then
3434: --
3435: close c1;
3436: hr_utility.set_message(801, 'HR_52276_CDP_DEP_UK');
3437: hr_utility.raise_error;
3438: --
3439: end if;
3440: --
3441: close c1;
3439: end if;
3440: --
3441: close c1;
3442: --
3443: hr_utility.set_location(' Leaving:'||l_proc, 10);
3444: --
3445: End chk_unique_key;
3446: --
3447: PROCEDURE hr_cobra_do_cdp_insert
3681: --
3682: l_proc varchar2(40) := g_package || 'hr_cobra_do_cdp_delete';
3683: begin
3684: --
3685: hr_utility.set_location('Entering.. ' || l_proc,10);
3686: hr_utility.trace('p_cobra_dependent_id = ' || p_cobra_dependent_id);
3687: hr_utility.trace('p_effective_start_date = ' || p_effective_start_date);
3688: hr_utility.trace('p_effective_end_date = ' || p_effective_end_date);
3689: hr_utility.trace('p_object_version_number= ' || p_object_version_number);
3682: l_proc varchar2(40) := g_package || 'hr_cobra_do_cdp_delete';
3683: begin
3684: --
3685: hr_utility.set_location('Entering.. ' || l_proc,10);
3686: hr_utility.trace('p_cobra_dependent_id = ' || p_cobra_dependent_id);
3687: hr_utility.trace('p_effective_start_date = ' || p_effective_start_date);
3688: hr_utility.trace('p_effective_end_date = ' || p_effective_end_date);
3689: hr_utility.trace('p_object_version_number= ' || p_object_version_number);
3690: --
3683: begin
3684: --
3685: hr_utility.set_location('Entering.. ' || l_proc,10);
3686: hr_utility.trace('p_cobra_dependent_id = ' || p_cobra_dependent_id);
3687: hr_utility.trace('p_effective_start_date = ' || p_effective_start_date);
3688: hr_utility.trace('p_effective_end_date = ' || p_effective_end_date);
3689: hr_utility.trace('p_object_version_number= ' || p_object_version_number);
3690: --
3691: delete from per_cobra_dependents_f
3684: --
3685: hr_utility.set_location('Entering.. ' || l_proc,10);
3686: hr_utility.trace('p_cobra_dependent_id = ' || p_cobra_dependent_id);
3687: hr_utility.trace('p_effective_start_date = ' || p_effective_start_date);
3688: hr_utility.trace('p_effective_end_date = ' || p_effective_end_date);
3689: hr_utility.trace('p_object_version_number= ' || p_object_version_number);
3690: --
3691: delete from per_cobra_dependents_f
3692: where cobra_dependent_id = p_cobra_dependent_id
3685: hr_utility.set_location('Entering.. ' || l_proc,10);
3686: hr_utility.trace('p_cobra_dependent_id = ' || p_cobra_dependent_id);
3687: hr_utility.trace('p_effective_start_date = ' || p_effective_start_date);
3688: hr_utility.trace('p_effective_end_date = ' || p_effective_end_date);
3689: hr_utility.trace('p_object_version_number= ' || p_object_version_number);
3690: --
3691: delete from per_cobra_dependents_f
3692: where cobra_dependent_id = p_cobra_dependent_id
3693: and effective_start_date = p_effective_start_date
3693: and effective_start_date = p_effective_start_date
3694: and effective_end_date = p_effective_end_date
3695: and object_version_number = p_object_version_number;
3696: --
3697: hr_utility.set_location('Leaving.. ' || l_proc,20);
3698: --
3699: end hr_cobra_do_cdp_delete;
3700: --
3701: procedure hr_cobra_do_cdp_lock ( p_cobra_dependent_id in number,
3756: close lock_cdp;
3757: --
3758: -- The primary key is invalid therefore we must error
3759: --
3760: hr_utility.set_message(801,'HR_7220_INVALID_PRIMARY_KEY');
3761: hr_utility.raise_error;
3762: --
3763: end if;
3764: --
3757: --
3758: -- The primary key is invalid therefore we must error
3759: --
3760: hr_utility.set_message(801,'HR_7220_INVALID_PRIMARY_KEY');
3761: hr_utility.raise_error;
3762: --
3763: end if;
3764: --
3765: close lock_cdp;
3764: --
3765: close lock_cdp;
3766: --
3767: if (p_object_version_number <> g_old_rec.object_version_number) Then
3768: hr_utility.set_message(801, 'HR_7155_OBJECT_INVALID');
3769: hr_utility.raise_error;
3770: end if;
3771: --
3772: exception
3765: close lock_cdp;
3766: --
3767: if (p_object_version_number <> g_old_rec.object_version_number) Then
3768: hr_utility.set_message(801, 'HR_7155_OBJECT_INVALID');
3769: hr_utility.raise_error;
3770: end if;
3771: --
3772: exception
3773: when hr_api.object_locked then
3774: --
3775: -- The object is locked therefore we need to supply a meaningful
3776: -- error message.
3777: --
3778: hr_utility.set_message(801, 'HR_7165_OBJECT_LOCKED');
3779: hr_utility.set_message_token('TABLE_NAME', 'per_cobra_dependents_f');
3780: hr_utility.raise_error;
3781: --
3782: when l_object_invalid then
3775: -- The object is locked therefore we need to supply a meaningful
3776: -- error message.
3777: --
3778: hr_utility.set_message(801, 'HR_7165_OBJECT_LOCKED');
3779: hr_utility.set_message_token('TABLE_NAME', 'per_cobra_dependents_f');
3780: hr_utility.raise_error;
3781: --
3782: when l_object_invalid then
3783: --
3776: -- error message.
3777: --
3778: hr_utility.set_message(801, 'HR_7165_OBJECT_LOCKED');
3779: hr_utility.set_message_token('TABLE_NAME', 'per_cobra_dependents_f');
3780: hr_utility.raise_error;
3781: --
3782: when l_object_invalid then
3783: --
3784: -- The object doesn't exist or is invalid
3782: when l_object_invalid then
3783: --
3784: -- The object doesn't exist or is invalid
3785: --
3786: hr_utility.set_message(801, 'HR_7155_OBJECT_INVALID');
3787: hr_utility.set_message_token('TABLE_NAME', 'per_cobra_dependents_f');
3788: hr_utility.raise_error;
3789: --
3790: end hr_cobra_do_cdp_lock;
3783: --
3784: -- The object doesn't exist or is invalid
3785: --
3786: hr_utility.set_message(801, 'HR_7155_OBJECT_INVALID');
3787: hr_utility.set_message_token('TABLE_NAME', 'per_cobra_dependents_f');
3788: hr_utility.raise_error;
3789: --
3790: end hr_cobra_do_cdp_lock;
3791: --
3784: -- The object doesn't exist or is invalid
3785: --
3786: hr_utility.set_message(801, 'HR_7155_OBJECT_INVALID');
3787: hr_utility.set_message_token('TABLE_NAME', 'per_cobra_dependents_f');
3788: hr_utility.raise_error;
3789: --
3790: end hr_cobra_do_cdp_lock;
3791: --
3792: function dependent_born_in_coverage
3919: fetch c1 into l_dummy;
3920: if c1%found then
3921: --
3922: close c1;
3923: hr_utility.set_message(801,'HR_52277_CDP_DEP_INVALID');
3924: hr_utility.raise_error;
3925: --
3926: end if;
3927: --
3920: if c1%found then
3921: --
3922: close c1;
3923: hr_utility.set_message(801,'HR_52277_CDP_DEP_INVALID');
3924: hr_utility.raise_error;
3925: --
3926: end if;
3927: --
3928: close c1;