273:
274: function cf_employer_premiseformula(person_id in number) return number is
275:
276: cursor c_employer_premise is
277: select decode(sign(fnd_date.canonical_to_date(ppeo.pei_information1) -
278: to_date('1/1/'||to_char(yrtbl.yr),'dd/mm/yyyy')),
279: -1, to_date('1/1/'||to_char(yrtbl.yr),'dd/mm/yyyy'),
280: fnd_date.canonical_to_date(ppeo.pei_information1)) from_date,
281: decode(sign(fnd_date.canonical_to_date(ppeo.pei_information2) -
276: cursor c_employer_premise is
277: select decode(sign(fnd_date.canonical_to_date(ppeo.pei_information1) -
278: to_date('1/1/'||to_char(yrtbl.yr),'dd/mm/yyyy')),
279: -1, to_date('1/1/'||to_char(yrtbl.yr),'dd/mm/yyyy'),
280: fnd_date.canonical_to_date(ppeo.pei_information1)) from_date,
281: decode(sign(fnd_date.canonical_to_date(ppeo.pei_information2) -
282: to_date('31/12/'||to_char(yrtbl.yr),'dd/mm/yyyy')),
283: -1, fnd_date.canonical_to_date(ppeo.pei_information2),
284: to_date('31/12/'||to_char(yrtbl.yr),'dd/mm/yyyy')) to_date,
277: select decode(sign(fnd_date.canonical_to_date(ppeo.pei_information1) -
278: to_date('1/1/'||to_char(yrtbl.yr),'dd/mm/yyyy')),
279: -1, to_date('1/1/'||to_char(yrtbl.yr),'dd/mm/yyyy'),
280: fnd_date.canonical_to_date(ppeo.pei_information1)) from_date,
281: decode(sign(fnd_date.canonical_to_date(ppeo.pei_information2) -
282: to_date('31/12/'||to_char(yrtbl.yr),'dd/mm/yyyy')),
283: -1, fnd_date.canonical_to_date(ppeo.pei_information2),
284: to_date('31/12/'||to_char(yrtbl.yr),'dd/mm/yyyy')) to_date,
285: ppeo.pei_information3 no_days,
279: -1, to_date('1/1/'||to_char(yrtbl.yr),'dd/mm/yyyy'),
280: fnd_date.canonical_to_date(ppeo.pei_information1)) from_date,
281: decode(sign(fnd_date.canonical_to_date(ppeo.pei_information2) -
282: to_date('31/12/'||to_char(yrtbl.yr),'dd/mm/yyyy')),
283: -1, fnd_date.canonical_to_date(ppeo.pei_information2),
284: to_date('31/12/'||to_char(yrtbl.yr),'dd/mm/yyyy')) to_date,
285: ppeo.pei_information3 no_days,
286: ppeo.pei_information4 no_employees,
287: yrtbl.yr yr
290: select (lp_basis_year - 1) yr from dual union
291: select (lp_basis_year - 2) yr from dual) yrtbl
292: where ppeo.person_id = person_id
293: and ppeo.information_type = 'HR_IR21A_CESSATION_INFO_SG'
294: and fnd_date.canonical_to_date(ppeo.pei_information1) =
295: (select max(fnd_date.canonical_to_date(ppeo2.pei_information1))
296: from per_people_extra_info ppeo2
297: where ppeo.person_id = ppeo2.person_id
298: and ppeo2.information_type = 'HR_IR21A_CESSATION_INFO_SG'
291: select (lp_basis_year - 2) yr from dual) yrtbl
292: where ppeo.person_id = person_id
293: and ppeo.information_type = 'HR_IR21A_CESSATION_INFO_SG'
294: and fnd_date.canonical_to_date(ppeo.pei_information1) =
295: (select max(fnd_date.canonical_to_date(ppeo2.pei_information1))
296: from per_people_extra_info ppeo2
297: where ppeo.person_id = ppeo2.person_id
298: and ppeo2.information_type = 'HR_IR21A_CESSATION_INFO_SG'
299: and fnd_date.canonical_to_date(ppeo2.pei_information1) <=
295: (select max(fnd_date.canonical_to_date(ppeo2.pei_information1))
296: from per_people_extra_info ppeo2
297: where ppeo.person_id = ppeo2.person_id
298: and ppeo2.information_type = 'HR_IR21A_CESSATION_INFO_SG'
299: and fnd_date.canonical_to_date(ppeo2.pei_information1) <=
300: to_date('31-12-'||to_char(yrtbl.yr),'dd-mm-yyyy')
301: and nvl(fnd_date.canonical_to_date(ppeo2.pei_information2),to_date('31/12/4712','dd/mm/yyyy')) >=
302: to_date('1-01-'||to_char(yrtbl.yr),'dd-mm-yyyy')
303: );
297: where ppeo.person_id = ppeo2.person_id
298: and ppeo2.information_type = 'HR_IR21A_CESSATION_INFO_SG'
299: and fnd_date.canonical_to_date(ppeo2.pei_information1) <=
300: to_date('31-12-'||to_char(yrtbl.yr),'dd-mm-yyyy')
301: and nvl(fnd_date.canonical_to_date(ppeo2.pei_information2),to_date('31/12/4712','dd/mm/yyyy')) >=
302: to_date('1-01-'||to_char(yrtbl.yr),'dd-mm-yyyy')
303: );
304: begin
305:
336:
337: v_ir21_date_exists boolean := FALSE;
338:
339: cursor c_ir21_dates is
340: select fnd_date.canonical_to_date(pei_information1) ir21_date
341: from per_people_extra_info ppeo
342: --where ppeo.person_id = lp_person_id
343: where ppeo.person_id = lp_person_id
344: and information_type = 'HR_IR21_PROCESSING_DATES_SG'
341: from per_people_extra_info ppeo
342: --where ppeo.person_id = lp_person_id
343: where ppeo.person_id = lp_person_id
344: and information_type = 'HR_IR21_PROCESSING_DATES_SG'
345: and fnd_date.canonical_to_date(pei_information1) = trunc(sysdate);
346:
347: BEGIN
348:
349: for c_rec in c_ir21_dates loop
367: --p_person_id,
368: lp_person_id,
369: 'HR_IR21_PROCESSING_DATES_SG',
370: 'HR_IR21_PROCESSING_DATES_SG',
371: fnd_date.date_to_canonical(trunc(sysdate)),
372: 1,
373: sysdate,
374: sysdate
375: );