[Home] [Help]
425: hr_utility.set_location (l_proc,1);
426: --
427: check_parameters;
428: --
429: l_reason_id := ssp_smp_support_pkg.withholding_reason_id (
430: g_APAD_element.element_type_id,
431: p_reason);
432: --
433: if not ssp_smp_support_pkg.stoppage_overridden (
429: l_reason_id := ssp_smp_support_pkg.withholding_reason_id (
430: g_APAD_element.element_type_id,
431: p_reason);
432: --
433: if not ssp_smp_support_pkg.stoppage_overridden (
434: p_maternity_id => p_maternity_id,
435: p_reason_id => l_reason_id)
436: then
437: --
668: fetch csr_check_death into l_death_date;
669: close csr_check_death;
670: --
671: if l_death_date is not null then
672: create_stoppage (p_withhold_from => ssp_smp_support_pkg.end_of_rolling_week(
673: person.ASPP_start_date, l_death_date) +1,
674: p_reason => 'Employee died');
675: end if;
676: --
681: procedure check_disruption_date is
682: begin
683: if person.disrupted_placement_date is not null
684: then
685: create_stoppage (p_withhold_from => ssp_smp_support_pkg.end_of_rolling_week(
686: person.ASPP_start_date, person.disrupted_placement_date) +1,
687: p_reason => 'Disruption of the Placement');
688: end if;
689: end check_disruption_date;
708: -- will be raised.
709: --
710: if l_average_earnings = 0
711: then
712: l_reason_for_no_earnings:=ssp_smp_support_pkg.average_earnings_error;
713: --
714: if l_reason_for_no_earnings is not null then
715: create_stoppage (p_withhold_from => person.ASPP_start_date,
716: p_reason => l_reason_for_no_earnings);
721: --
722: -- Stop APAD payment from the APP start date
723: --
724: if l_average_earnings
725: < ssp_smp_support_pkg.NI_Lower_Earnings_Limit (person.MW)
726: then
727: create_stoppage (p_withhold_from => person.ASPP_start_date,
728: p_reason => 'Earnings too low');
729: end if;
846: )
847: then
848: -- Stop ASPPA payment. Need to verify is any end is required for this stoppage
849: create_stoppage (
850: p_withhold_from => ssp_smp_support_pkg.start_of_week
851: (absence.date_start),
852: -- p_withhold_to => ssp_smp_support_pkg.end_of_week (stoppage_end_date),
853: p_reason => 'Late absence notification');
854: end if;*/
848: -- Stop ASPPA payment. Need to verify is any end is required for this stoppage
849: create_stoppage (
850: p_withhold_from => ssp_smp_support_pkg.start_of_week
851: (absence.date_start),
852: -- p_withhold_to => ssp_smp_support_pkg.end_of_week (stoppage_end_date),
853: p_reason => 'Late absence notification');
854: end if;*/
855: --
856: hr_utility.set_location ('ssp_apad_pkg.entitled_to_apad',3);
969: entry.effective_start_date,
970: entry.effective_end_date,
971: -- if in future we get two different rates then a decode can be added here
972: l_high_rate RATE,
973: /*to_date (ssp_smp_support_pkg.value
974: (entry.element_entry_id,
975: ssp_APAD_pkg.c_week_commencing_name),
976: 'DD-MON-YYYY') WEEK_COMMENCING,*/
977: fnd_date.chardate_to_date(ssp_smp_support_pkg.value
973: /*to_date (ssp_smp_support_pkg.value
974: (entry.element_entry_id,
975: ssp_APAD_pkg.c_week_commencing_name),
976: 'DD-MON-YYYY') WEEK_COMMENCING,*/
977: fnd_date.chardate_to_date(ssp_smp_support_pkg.value
978: (entry.element_entry_id,
979: ssp_APAD_pkg.c_week_commencing_name)) WEEK_COMMENCING,
980: to_number(ssp_smp_support_pkg.value (entry.element_entry_id,
981: ssp_APAD_pkg.c_amount_name)) AMOUNT,
976: 'DD-MON-YYYY') WEEK_COMMENCING,*/
977: fnd_date.chardate_to_date(ssp_smp_support_pkg.value
978: (entry.element_entry_id,
979: ssp_APAD_pkg.c_week_commencing_name)) WEEK_COMMENCING,
980: to_number(ssp_smp_support_pkg.value (entry.element_entry_id,
981: ssp_APAD_pkg.c_amount_name)) AMOUNT,
982: to_number(ssp_smp_support_pkg.value (entry.element_entry_id,
983: ssp_APAD_pkg.c_recoverable_amount_name)) RECOVERABLE_AMOUNT
984: from pay_element_entries_f ENTRY,
978: (entry.element_entry_id,
979: ssp_APAD_pkg.c_week_commencing_name)) WEEK_COMMENCING,
980: to_number(ssp_smp_support_pkg.value (entry.element_entry_id,
981: ssp_APAD_pkg.c_amount_name)) AMOUNT,
982: to_number(ssp_smp_support_pkg.value (entry.element_entry_id,
983: ssp_APAD_pkg.c_recoverable_amount_name)) RECOVERABLE_AMOUNT
984: from pay_element_entries_f ENTRY,
985: per_all_assignments_f asg
986: where creator_type = c_APAD_creator_type
1128: -- don't create a new entry
1129: hypothetical_entry.dealt_with (entry_number) := 'TRUE';
1130: hr_utility.trace (l_proc||' leave unchanged');
1131: else
1132: if ssp_smp_support_pkg.entry_already_processed
1133: (old_entry.element_entry_id)
1134: then l_ins_corr_ele := TRUE;
1135: hr_utility.trace (l_proc||' processed - correct it');
1136: else
1164: hr_utility.trace (l_proc||' Rate: '||old_entry.rate);
1165: hr_utility.trace (l_proc||' Amount: '||old_entry.amount);
1166: hr_utility.trace (l_proc||' Recoverable: '
1167: ||old_entry.recoverable_amount);
1168: if ssp_smp_support_pkg.entry_already_processed
1169: (old_entry.element_entry_id)
1170: then l_ins_corr_ele := TRUE;
1171: hr_utility.trace (l_proc||' Old entry already processed');
1172: else
1208: --
1209: -- Determine the next available period in which to place the
1210: -- correction entry
1211: --
1212: ssp_smp_support_pkg.get_entry_details (
1213: p_date_earned => old_entry.week_commencing,
1214: p_last_process_date => person.final_process_date,
1215: p_person_id => person.person_id,
1216: p_element_type_id => g_APAD_Correction_element.element_type_id,
1569: -- Get the entry details unless the entry has been stopped (in which case
1570: -- we do not need the entry details and errors may occur if we call the
1571: -- procedure; eg the woman's assignment ends)
1572: --
1573: ssp_smp_support_pkg.get_entry_details (
1574: p_date_earned => hypothetical_entry.week_commencing
1575: (week_number),
1576: p_pay_as_lump_sum => person.pay_APAD_as_lump_sum,
1577: p_last_process_date => person.final_process_date,