115: and fue.business_group_id = asg.business_group_id)));
116: --
117: begin
118: --
119: hr_utility.set_location('pay_advance_pay_pkg.get_balance', 5);
120:
121: open creator_id;
122: fetch creator_id into l_creator_id;
123: --
131: close creator_id;
132:
133: return l_balance_value;
134:
135: hr_utility.set_location('pay_advance_pay_pkg.get_balance', 80);
136:
137: end get_balance;
138: -------------------------------------------------------------------------------
139: function get_processed_flag
240: ptp.end_date >= p_session_date;
241: --
242: begin
243: --
244: hr_utility.set_location('pay_advance_pay_pkg.get_period_end_date' , 5);
245:
246: open period_end_date;
247: fetch period_end_date into l_period_end_date;
248:
246: open period_end_date;
247: fetch period_end_date into l_period_end_date;
248:
249: if period_end_date%notfound then
250: hr_utility.trace('session_date'|| fnd_date.date_to_canonical(p_session_date));
251: hr_utility.set_message (801,'PAY_52103_PERIOD_NOT_EXIST');
252: hr_utility.raise_error;
253: end if;
254: --
247: fetch period_end_date into l_period_end_date;
248:
249: if period_end_date%notfound then
250: hr_utility.trace('session_date'|| fnd_date.date_to_canonical(p_session_date));
251: hr_utility.set_message (801,'PAY_52103_PERIOD_NOT_EXIST');
252: hr_utility.raise_error;
253: end if;
254: --
255: close period_end_date;
248:
249: if period_end_date%notfound then
250: hr_utility.trace('session_date'|| fnd_date.date_to_canonical(p_session_date));
251: hr_utility.set_message (801,'PAY_52103_PERIOD_NOT_EXIST');
252: hr_utility.raise_error;
253: end if;
254: --
255: close period_end_date;
256: --
255: close period_end_date;
256: --
257: return l_period_end_date;
258: --
259: hr_utility.set_location('pay_advance_pay_pkg.get_period_end_date' , 80);
260: --
261: end get_period_end_date;
262: ------------------------------------------------------------------------
263: function get_period_start_date
290: ptp.end_date >= p_session_date;
291:
292: begin
293:
294: hr_utility.set_location('pay_advance_pay_pkg.get_period_start_date' , 5);
295:
296: open period_start_date;
297: fetch period_start_date into l_period_start_date;
298:
296: open period_start_date;
297: fetch period_start_date into l_period_start_date;
298:
299: if period_start_date%notfound then
300: hr_utility.set_message (801, 'PAY_52103_PERIOD_NOT_EXIST');
301: hr_utility.raise_error;
302: end if;
303: --
304: close period_start_date;
297: fetch period_start_date into l_period_start_date;
298:
299: if period_start_date%notfound then
300: hr_utility.set_message (801, 'PAY_52103_PERIOD_NOT_EXIST');
301: hr_utility.raise_error;
302: end if;
303: --
304: close period_start_date;
305: --
304: close period_start_date;
305: --
306: return l_period_start_date;
307: --
308: hr_utility.set_location('pay_advance_pay_pkg.get_period_start_date' , 80);
309: --
310: end get_period_start_date;
311: ------------------------------------------------------------------------
312: function get_advance_period_start_date
365: aptp.end_date >= ptp.regular_payment_date;
366:
367: begin
368:
369: hr_utility.set_location('pay_advance_pay_pkg.get_advance_period_start_date' , 5);
370: if p_flag = 'N' then
371: open period_start_date;
372: fetch period_start_date into l_period_start_date;
373:
371: open period_start_date;
372: fetch period_start_date into l_period_start_date;
373:
374: if period_start_date%notfound then
375: hr_utility.set_message (801, 'PAY_52103_PERIOD_NOT_EXIST');
376: hr_utility.raise_error;
377: end if;
378: --
379: close period_start_date;
372: fetch period_start_date into l_period_start_date;
373:
374: if period_start_date%notfound then
375: hr_utility.set_message (801, 'PAY_52103_PERIOD_NOT_EXIST');
376: hr_utility.raise_error;
377: end if;
378: --
379: close period_start_date;
380: --
382: open r_period_start_date;
383: fetch r_period_start_date into l_period_start_date;
384:
385: if r_period_start_date%notfound then
386: hr_utility.set_message (801, 'PAY_52103_PERIOD_NOT_EXIST');
387: hr_utility.raise_error;
388: end if;
389: --
390: close r_period_start_date;
383: fetch r_period_start_date into l_period_start_date;
384:
385: if r_period_start_date%notfound then
386: hr_utility.set_message (801, 'PAY_52103_PERIOD_NOT_EXIST');
387: hr_utility.raise_error;
388: end if;
389: --
390: close r_period_start_date;
391: --
392: end if;
393: --
394: return l_period_start_date;
395: --
396: hr_utility.set_location('pay_advance_pay_pkg.get_advance_period_start_date' , 80);
397: --
398: end get_advance_period_start_date;
399: ------------------------------------------------------------------------
400: function get_advance_period_end_date
453: aptp.end_date >= ptp.regular_payment_date;
454:
455: begin
456:
457: hr_utility.set_location('pay_advance_pay_pkg.get_advance_period_end_date' , 5);
458:
459: if p_flag = 'N' then
460: --
461: open period_start_date;
461: open period_start_date;
462: fetch period_start_date into l_period_start_date;
463:
464: if period_start_date%notfound then
465: hr_utility.set_message (801, 'PAY_52103_PERIOD_NOT_EXIST');
466: hr_utility.raise_error;
467: end if;
468: --
469: close period_start_date;
462: fetch period_start_date into l_period_start_date;
463:
464: if period_start_date%notfound then
465: hr_utility.set_message (801, 'PAY_52103_PERIOD_NOT_EXIST');
466: hr_utility.raise_error;
467: end if;
468: --
469: close period_start_date;
470: --
473: open r_period_start_date;
474: fetch r_period_start_date into l_period_start_date;
475:
476: if r_period_start_date%notfound then
477: hr_utility.set_message (801, 'PAY_52103_PERIOD_NOT_EXIST');
478: hr_utility.raise_error;
479: end if;
480: --
481: close r_period_start_date;
474: fetch r_period_start_date into l_period_start_date;
475:
476: if r_period_start_date%notfound then
477: hr_utility.set_message (801, 'PAY_52103_PERIOD_NOT_EXIST');
478: hr_utility.raise_error;
479: end if;
480: --
481: close r_period_start_date;
482: --
483: end if;
484: --
485: return l_period_start_date;
486: --
487: hr_utility.set_location('pay_advance_pay_pkg.get_advance_period_end_date' , 80);
488: --
489: end get_advance_period_end_date;
490: ------------------------------------------------------------------------
491: procedure insert_indicator_entries
524: l_pai_element_entry_id number;
525: --
526: begin
527: --
528: hr_utility.set_location('pay_advance_pay_pkg.insert_indicator_entries', 5);
529: --
530: l_arrears_offset := 0;
531: l_advance_pay := 'Y';
532: l_defer_pay := p_defer_flag;
545: );
546: --
547: l_element_entry_end_date := l_element_entry_start_date;
548:
549: hr_utility.set_location('pay_advance_pay_pkg.insert_indicator_entries', 60);
550: --
551: hr_entry_api.insert_element_entry
552: (
553: p_effective_start_date => l_element_entry_start_date,
584: -- dates changed in the loop to fall within each pay period
585:
586: l_element_entry_start_date := p_advance_pay_start_date;
587:
588: hr_utility.trace('l_element_entry_start_date (1): ' ||
589: fnd_date.date_to_canonical(l_element_entry_start_date));
590:
591: l_element_entry_end_date := pay_advance_pay_pkg.get_period_end_date
592: (
609: l_pay_periods = (p_periods_advanced + l_arrears_offset) then
610: l_defer_pay := 'N';
611: end if;
612: --
613: hr_utility.set_location('pay_advance_pay_pkg.insert_indicator_entries', 70);
614: --
615: hr_entry_api.insert_element_entry
616: (
617: p_effective_start_date => l_element_entry_start_date,
635: );
636: --
637: -- move to the next pay period
638: --
639: hr_utility.trace('l_element_entry_start_date (2): ' ||
640: fnd_date.date_to_canonical(l_element_entry_start_date));
641: l_element_entry_start_date := pay_advance_pay_pkg.get_period_end_date
642: (
643: p_assignment_id,
643: p_assignment_id,
644: l_element_entry_start_date
645: ) + 1;
646: --
647: hr_utility.trace('l_element_entry_start_date (3): ' ||
648: fnd_date.date_to_canonical(l_element_entry_start_date));
649: --
650: l_element_entry_end_date := pay_advance_pay_pkg.get_period_end_date
651: (
657: --
658: p_session_date := l_session_date;
659: p_pai_element_entry_id := l_pai_element_entry_id;
660: --
661: hr_utility.set_location('pay_advance_pay_pkg.insert_indicator_entries', 80);
662: --
663: end insert_indicator_entries;
664: ------------------------------------------------------------------------
665: procedure delete_indicator_entries
713: and l_indicators_end_date;
714:
715: begin
716: --
717: hr_utility.set_location('pay_advance_pay_pkg.delete_indicator_entries' , 5);
718: --
719: -- fetch advance dates
720: open advance_dates;
721: fetch advance_dates into l_indicators_start_date,
740: );
741: end if;
742:
743: -- trace dates used to remove Advance Indicators
744: hr_utility.trace('p_pai_element_entry_id: ' || to_char(p_pai_element_entry_id));
745: hr_utility.trace('l_indicators_start_date: ' || fnd_date.date_to_canonical(l_indicators_start_date));
746: hr_utility.trace('l_indicators_end_date: ' || fnd_date.date_to_canonical(l_indicators_end_date));
747:
748: -- Advance Indicator(s)
741: end if;
742:
743: -- trace dates used to remove Advance Indicators
744: hr_utility.trace('p_pai_element_entry_id: ' || to_char(p_pai_element_entry_id));
745: hr_utility.trace('l_indicators_start_date: ' || fnd_date.date_to_canonical(l_indicators_start_date));
746: hr_utility.trace('l_indicators_end_date: ' || fnd_date.date_to_canonical(l_indicators_end_date));
747:
748: -- Advance Indicator(s)
749:
742:
743: -- trace dates used to remove Advance Indicators
744: hr_utility.trace('p_pai_element_entry_id: ' || to_char(p_pai_element_entry_id));
745: hr_utility.trace('l_indicators_start_date: ' || fnd_date.date_to_canonical(l_indicators_start_date));
746: hr_utility.trace('l_indicators_end_date: ' || fnd_date.date_to_canonical(l_indicators_end_date));
747:
748: -- Advance Indicator(s)
749:
750: -- first Advance Indicator element_entry_id
754: l_effective_start_date;
755:
756: while corresponding_ai_entries%found loop
757:
758: hr_utility.set_location('pay_advance_pay_pkg.delete_indicator_entries' , 10);
759:
760: hr_entry_api.delete_element_entry
761: (
762: p_dt_delete_mode =>'ZAP',
771: end loop;
772:
773: close corresponding_ai_entries;
774:
775: hr_utility.set_location('pay_advance_pay_pkg.delete_indicator_entries' , 80);
776:
777: end delete_indicator_entries;
778: ------------------------------------------------------------------------
779: end pay_advance_pay_pkg;