94: l_Pay_Periods_Year := per_formula_functions.get_number('PAYROLL_YEAR_NUMBER_OF_PERIODS');
95: l_Acc_Freq := per_formula_functions.get_text('ACCRUING_FREQUENCY');
96: l_Acc_Mult := per_formula_functions.get_number('ACCRUING_MULTIPLIER');
97:
98: hr_utility.set_location('ZA_PTO_ANNLEAVE_PERIOD_LOOP', 26);
99:
100: /* - P.Vaish - Defined for Bug No. - 2266289 - */
101: l_diff := LAST_DAY(l_Last_Period_ED) - l_Last_Period_ED + 1;
102:
107: l_last_period := l_Last_Period_ED;
108: END IF;
109:
110: IF (months_between(l_Last_Period,l_Beginning_Calc_Year_SD) >= 12 ) THEN
111: hr_utility.trace('Setting l_calculation_year to l_Beginning_Calc_Year_SD + 1 ');
112: l_calculation_year := add_months(l_Beginning_Calc_Year_SD,12);
113: ELSE
114: hr_utility.trace('Setting l_calculation_year to l_Beginning_Calc_Year_SD');
115: l_calculation_year := l_Beginning_Calc_Year_SD;
110: IF (months_between(l_Last_Period,l_Beginning_Calc_Year_SD) >= 12 ) THEN
111: hr_utility.trace('Setting l_calculation_year to l_Beginning_Calc_Year_SD + 1 ');
112: l_calculation_year := add_months(l_Beginning_Calc_Year_SD,12);
113: ELSE
114: hr_utility.trace('Setting l_calculation_year to l_Beginning_Calc_Year_SD');
115: l_calculation_year := l_Beginning_Calc_Year_SD;
116: END IF;
117:
118: IF to_char(l_CSDate,'DDMM') = '2902' THEN
135:
136: l_Years_Service := Floor(Months_Between(l_calculation_year,l_CSDate) / 12);
137:
138: IF ((l_Years_Service > 0) and (l_six_month_current >= l_Last_Period_ED)) THEN
139: hr_utility.trace('Before Six Month');
140: l_Left_Over := per_accrual_calc_functions.GET_CARRY_OVER(p_Assignment_id, p_Plan_id, (l_last_end_period + 1), l_last_start_period) +
141: per_accrual_calc_functions.GET_OTHER_NET_CONTRIBUTION(p_Assignment_id, p_Plan_id, (l_last_end_period + 1), l_last_start_period) -
142: per_accrual_calc_functions.GET_ABSENCE(p_Assignment_id, p_Plan_id, l_last_end_period, l_last_start_period);
143:
162: IF ((to_char(p_calculation_date,'DDMM') = to_char(l_CSDate - 1,'DDMM')) AND NOT l_Continue_Processing_Flag) THEN
163: l_Continue_Processing_Flag := TRUE;
164: END IF;
165: ELSIF ((l_Years_Service > 0) and (l_six_month_current < l_Last_Period_ED)) THEN
166: hr_utility.trace('After Six Month');
167: IF (per_utility_functions.get_accrual_band(p_Plan_ID, l_Years_Service) = 0 ) THEN
168: l_Left_Over := per_formula_functions.get_number('MAX_CARRY_OVER');
169: l_Annual_Rate := 0;
170: l_Upper_Limit := 0;
176: l_Left_Over := 0;
177: END IF;
178: /**/
179:
180: hr_utility.set_location('Before LOOP', 27);
181:
182: while l_Continue_Processing_Flag loop
183: l_Period_SD := per_formula_functions.get_date('PERIOD_SD');
184: l_Period_ED := per_formula_functions.get_date('PERIOD_ED');
288: l_Acc_Mult := per_formula_functions.get_number('ACCRUING_MULTIPLIER');
289: --Added for Bug 8192694
290: l_calc_date := per_formula_functions.get_date('CALC_DATE');
291:
292: hr_utility.set_location(l_proc,5);
293: hr_utility.trace('l_Accrual_Rate: '||to_char(l_Accrual_Rate));
294:
295: --Added for Bug 8192694
296: /* l_calc_date is populated only when SICK LEAVE ACCRUAL formulaes delivered through patch 8192694
289: --Added for Bug 8192694
290: l_calc_date := per_formula_functions.get_date('CALC_DATE');
291:
292: hr_utility.set_location(l_proc,5);
293: hr_utility.trace('l_Accrual_Rate: '||to_char(l_Accrual_Rate));
294:
295: --Added for Bug 8192694
296: /* l_calc_date is populated only when SICK LEAVE ACCRUAL formulaes delivered through patch 8192694
297: is used. So if copy of previous formula is created, then it may lead to endless loop. Hence If condition
304: l_Period_ED := per_formula_functions.get_date('PERIOD_ED');
305:
306: --Calculate the days off in the particular period
307: l_daysoff :=PER_ZA_ABS_DURATION.ZA_DAYSOFF(l_Period_SD,l_Period_ED);
308: hr_utility.trace('l_daysoff: '||to_char(l_daysoff));
309: --Calculate the total working days in the period
310: l_totdays :=((l_Period_ED - l_Period_SD)+1) - l_daysoff;
311:
312: hr_utility.trace('l_totdays:'||to_char(l_totdays));
308: hr_utility.trace('l_daysoff: '||to_char(l_daysoff));
309: --Calculate the total working days in the period
310: l_totdays :=((l_Period_ED - l_Period_SD)+1) - l_daysoff;
311:
312: hr_utility.trace('l_totdays:'||to_char(l_totdays));
313: hr_utility.trace('l_Period_ED:'||to_char(l_Period_ED,'dd-mon-yyyy'));
314: hr_utility.trace('l_calc_date:'||to_char(l_calc_date,'dd-mon-yyyy'));
315:
316: /* If the total working days are less than 26 in the particular period, then increase the period
309: --Calculate the total working days in the period
310: l_totdays :=((l_Period_ED - l_Period_SD)+1) - l_daysoff;
311:
312: hr_utility.trace('l_totdays:'||to_char(l_totdays));
313: hr_utility.trace('l_Period_ED:'||to_char(l_Period_ED,'dd-mon-yyyy'));
314: hr_utility.trace('l_calc_date:'||to_char(l_calc_date,'dd-mon-yyyy'));
315:
316: /* If the total working days are less than 26 in the particular period, then increase the period
317: end date and loop until total working days are 26*/
310: l_totdays :=((l_Period_ED - l_Period_SD)+1) - l_daysoff;
311:
312: hr_utility.trace('l_totdays:'||to_char(l_totdays));
313: hr_utility.trace('l_Period_ED:'||to_char(l_Period_ED,'dd-mon-yyyy'));
314: hr_utility.trace('l_calc_date:'||to_char(l_calc_date,'dd-mon-yyyy'));
315:
316: /* If the total working days are less than 26 in the particular period, then increase the period
317: end date and loop until total working days are 26*/
318: while l_totdays < 26
321: if l_Period_ED >l_calc_date then
322:
323: l_Continue_Processing_Flag := false;
324: l_month_PTO:=0;
325: hr_utility.trace('l_Period_ED >=l_calc_date');
326: l_error := per_formula_functions.set_date('PERIOD_SD',
327: l_prev_period_SD);
328: l_error := per_formula_functions.set_date('PERIOD_ED',
329: l_prev_period_ED);
330: exit;
331: else
332: l_daysoff1:=PER_ZA_ABS_DURATION.ZA_DAYSOFF(l_Period_SD,l_Period_ED);
333: l_totdays :=((l_Period_ED - l_Period_SD)+1) - l_daysoff1;
334: hr_utility.set_location('l_Period_ED:'||to_char(l_Period_ED,'dd-mon-yyyy'),10);
335: hr_utility.set_location('l_Period_SD:'||to_char(l_Period_SD,'dd-mon-yyyy'),10);
336: hr_utility.set_location('l_daysoff1:'||to_char(l_daysoff1),10);
337: hr_utility.set_location('l_totdays:'||to_char(l_totdays),10);
338: l_Continue_Processing_Flag := true;
331: else
332: l_daysoff1:=PER_ZA_ABS_DURATION.ZA_DAYSOFF(l_Period_SD,l_Period_ED);
333: l_totdays :=((l_Period_ED - l_Period_SD)+1) - l_daysoff1;
334: hr_utility.set_location('l_Period_ED:'||to_char(l_Period_ED,'dd-mon-yyyy'),10);
335: hr_utility.set_location('l_Period_SD:'||to_char(l_Period_SD,'dd-mon-yyyy'),10);
336: hr_utility.set_location('l_daysoff1:'||to_char(l_daysoff1),10);
337: hr_utility.set_location('l_totdays:'||to_char(l_totdays),10);
338: l_Continue_Processing_Flag := true;
339: end if;
332: l_daysoff1:=PER_ZA_ABS_DURATION.ZA_DAYSOFF(l_Period_SD,l_Period_ED);
333: l_totdays :=((l_Period_ED - l_Period_SD)+1) - l_daysoff1;
334: hr_utility.set_location('l_Period_ED:'||to_char(l_Period_ED,'dd-mon-yyyy'),10);
335: hr_utility.set_location('l_Period_SD:'||to_char(l_Period_SD,'dd-mon-yyyy'),10);
336: hr_utility.set_location('l_daysoff1:'||to_char(l_daysoff1),10);
337: hr_utility.set_location('l_totdays:'||to_char(l_totdays),10);
338: l_Continue_Processing_Flag := true;
339: end if;
340: end loop;
333: l_totdays :=((l_Period_ED - l_Period_SD)+1) - l_daysoff1;
334: hr_utility.set_location('l_Period_ED:'||to_char(l_Period_ED,'dd-mon-yyyy'),10);
335: hr_utility.set_location('l_Period_SD:'||to_char(l_Period_SD,'dd-mon-yyyy'),10);
336: hr_utility.set_location('l_daysoff1:'||to_char(l_daysoff1),10);
337: hr_utility.set_location('l_totdays:'||to_char(l_totdays),10);
338: l_Continue_Processing_Flag := true;
339: end if;
340: end loop;
341:
351: l_Period_ED + 31);
352: end if;
353:
354: l_Total_Accrued_PTO:=l_Total_Accrued_PTO+l_month_PTO;
355: hr_utility.set_location('l_month_PTO:'||to_char(l_month_PTO),11);
356: hr_utility.set_location('l_Total_Accrued_PTO:'||to_char(l_Total_Accrued_PTO),11);
357: end loop;
358: -- End changes for Bug 8192694
359: else
352: end if;
353:
354: l_Total_Accrued_PTO:=l_Total_Accrued_PTO+l_month_PTO;
355: hr_utility.set_location('l_month_PTO:'||to_char(l_month_PTO),11);
356: hr_utility.set_location('l_Total_Accrued_PTO:'||to_char(l_Total_Accrued_PTO),11);
357: end loop;
358: -- End changes for Bug 8192694
359: else
360: while l_Continue_Processing_Flag loop
363:
364: -- Bug 5043294; Removed comments and unnessary if/else logic
365: -- Calculating the working days in the period
366: l_daysoff :=PER_ZA_ABS_DURATION.ZA_DAYSOFF(l_Period_SD,l_Period_ED);
367: hr_utility.trace('l_daysoff: '||to_char(l_daysoff));
368: l_Total_Accrued_PTO := round(l_Total_Accrued_PTO + (((l_Period_ED - l_Period_SD)+1) - l_daysoff)/l_Accrual_Rate , 2);
369:
370: if l_Period_SD = l_Last_Period_SD then
371: l_Continue_Processing_Flag := false;
443: ,P_Accrual => l_total_accrual2
444: ,P_Net_Entitlement => l_net_entitlement2
445: );
446:
447: hr_utility.set_location(l_proc, 10);
448: hr_utility.trace('l_total_accrual2: '||to_char(l_total_accrual2));
449: hr_utility.trace('l_net_entitlement2: '||to_char(l_net_entitlement2)); */
450:
451: /* The above code is commented so that to avoid the calculation
444: ,P_Net_Entitlement => l_net_entitlement2
445: );
446:
447: hr_utility.set_location(l_proc, 10);
448: hr_utility.trace('l_total_accrual2: '||to_char(l_total_accrual2));
449: hr_utility.trace('l_net_entitlement2: '||to_char(l_net_entitlement2)); */
450:
451: /* The above code is commented so that to avoid the calculation
452: l_net_entitlement > l_max_carryover while fixing the bug 2932073 */
445: );
446:
447: hr_utility.set_location(l_proc, 10);
448: hr_utility.trace('l_total_accrual2: '||to_char(l_total_accrual2));
449: hr_utility.trace('l_net_entitlement2: '||to_char(l_net_entitlement2)); */
450:
451: /* The above code is commented so that to avoid the calculation
452: l_net_entitlement > l_max_carryover while fixing the bug 2932073 */
453: hr_utility.set_location(l_proc,5);
449: hr_utility.trace('l_net_entitlement2: '||to_char(l_net_entitlement2)); */
450:
451: /* The above code is commented so that to avoid the calculation
452: l_net_entitlement > l_max_carryover while fixing the bug 2932073 */
453: hr_utility.set_location(l_proc,5);
454: hr_utility.trace('p_assignment_id: '||to_char(p_assignment_id));
455: hr_utility.trace('p_plan_id: '||to_char(p_plan_id));
456: hr_utility.trace('l_payroll_id: '||to_char(l_payroll_id));
457: hr_utility.trace('l_effective_date: '||to_char(l_effective_date));
450:
451: /* The above code is commented so that to avoid the calculation
452: l_net_entitlement > l_max_carryover while fixing the bug 2932073 */
453: hr_utility.set_location(l_proc,5);
454: hr_utility.trace('p_assignment_id: '||to_char(p_assignment_id));
455: hr_utility.trace('p_plan_id: '||to_char(p_plan_id));
456: hr_utility.trace('l_payroll_id: '||to_char(l_payroll_id));
457: hr_utility.trace('l_effective_date: '||to_char(l_effective_date));
458: hr_utility.trace('l_total_accrual: '||to_char(l_total_accrual));
451: /* The above code is commented so that to avoid the calculation
452: l_net_entitlement > l_max_carryover while fixing the bug 2932073 */
453: hr_utility.set_location(l_proc,5);
454: hr_utility.trace('p_assignment_id: '||to_char(p_assignment_id));
455: hr_utility.trace('p_plan_id: '||to_char(p_plan_id));
456: hr_utility.trace('l_payroll_id: '||to_char(l_payroll_id));
457: hr_utility.trace('l_effective_date: '||to_char(l_effective_date));
458: hr_utility.trace('l_total_accrual: '||to_char(l_total_accrual));
459: hr_utility.trace('l_net_entitlement: '||to_char(l_net_entitlement));
452: l_net_entitlement > l_max_carryover while fixing the bug 2932073 */
453: hr_utility.set_location(l_proc,5);
454: hr_utility.trace('p_assignment_id: '||to_char(p_assignment_id));
455: hr_utility.trace('p_plan_id: '||to_char(p_plan_id));
456: hr_utility.trace('l_payroll_id: '||to_char(l_payroll_id));
457: hr_utility.trace('l_effective_date: '||to_char(l_effective_date));
458: hr_utility.trace('l_total_accrual: '||to_char(l_total_accrual));
459: hr_utility.trace('l_net_entitlement: '||to_char(l_net_entitlement));
460: hr_utility.trace('l_max_carryover: '||to_char(l_max_carryover));
453: hr_utility.set_location(l_proc,5);
454: hr_utility.trace('p_assignment_id: '||to_char(p_assignment_id));
455: hr_utility.trace('p_plan_id: '||to_char(p_plan_id));
456: hr_utility.trace('l_payroll_id: '||to_char(l_payroll_id));
457: hr_utility.trace('l_effective_date: '||to_char(l_effective_date));
458: hr_utility.trace('l_total_accrual: '||to_char(l_total_accrual));
459: hr_utility.trace('l_net_entitlement: '||to_char(l_net_entitlement));
460: hr_utility.trace('l_max_carryover: '||to_char(l_max_carryover));
461:
454: hr_utility.trace('p_assignment_id: '||to_char(p_assignment_id));
455: hr_utility.trace('p_plan_id: '||to_char(p_plan_id));
456: hr_utility.trace('l_payroll_id: '||to_char(l_payroll_id));
457: hr_utility.trace('l_effective_date: '||to_char(l_effective_date));
458: hr_utility.trace('l_total_accrual: '||to_char(l_total_accrual));
459: hr_utility.trace('l_net_entitlement: '||to_char(l_net_entitlement));
460: hr_utility.trace('l_max_carryover: '||to_char(l_max_carryover));
461:
462: if l_net_entitlement <= l_max_carryover then
455: hr_utility.trace('p_plan_id: '||to_char(p_plan_id));
456: hr_utility.trace('l_payroll_id: '||to_char(l_payroll_id));
457: hr_utility.trace('l_effective_date: '||to_char(l_effective_date));
458: hr_utility.trace('l_total_accrual: '||to_char(l_total_accrual));
459: hr_utility.trace('l_net_entitlement: '||to_char(l_net_entitlement));
460: hr_utility.trace('l_max_carryover: '||to_char(l_max_carryover));
461:
462: if l_net_entitlement <= l_max_carryover then
463: --
456: hr_utility.trace('l_payroll_id: '||to_char(l_payroll_id));
457: hr_utility.trace('l_effective_date: '||to_char(l_effective_date));
458: hr_utility.trace('l_total_accrual: '||to_char(l_total_accrual));
459: hr_utility.trace('l_net_entitlement: '||to_char(l_net_entitlement));
460: hr_utility.trace('l_max_carryover: '||to_char(l_max_carryover));
461:
462: if l_net_entitlement <= l_max_carryover then
463: --
464: hr_utility.set_location(l_proc,10);
460: hr_utility.trace('l_max_carryover: '||to_char(l_max_carryover));
461:
462: if l_net_entitlement <= l_max_carryover then
463: --
464: hr_utility.set_location(l_proc,10);
465: l_Beginning_Calc_Year := per_formula_functions.get_date('BEGINNING_OF_CALCULATION_YEAR');
466: --
467: IF (l_net_entitlement <= 0
468: AND to_char(l_effective_date + 1,'MM') <> to_char(l_Beginning_Calc_Year,'MM')
476: p_assignment_id => p_assignment_id,
477: p_plan_id => p_plan_id,
478: p_start_date => (l_effective_date-30),
479: p_calculation_date => (l_effective_date-1));
480: hr_utility.trace('l_carryover_pre: '||to_char(l_carryover_pre));
481: IF l_carryover_pre < 0 THEN
482: l_carryover := l_carryover_pre;
483: END IF ;
484: hr_utility.set_location(l_proc,50);
480: hr_utility.trace('l_carryover_pre: '||to_char(l_carryover_pre));
481: IF l_carryover_pre < 0 THEN
482: l_carryover := l_carryover_pre;
483: END IF ;
484: hr_utility.set_location(l_proc,50);
485: ELSE
486: l_carryover := round(l_net_entitlement, 3);
487: hr_utility.set_location(l_proc,60);
488: END IF;
483: END IF ;
484: hr_utility.set_location(l_proc,50);
485: ELSE
486: l_carryover := round(l_net_entitlement, 3);
487: hr_utility.set_location(l_proc,60);
488: END IF;
489: --End for bug no 2932073 14-Aug-2003
490: l_residual := 0;
491: --
516: -- Only for semi-annual run.
517: l_Beginning_Calc_Year := per_formula_functions.get_date('BEGINNING_OF_CALCULATION_YEAR');
518:
519: IF to_char(l_effective_date + 1,'MM') <> to_char(l_Beginning_Calc_Year,'MM') THEN
520: hr_utility.set_location(l_proc, 15);
521: l_other2 := per_accrual_calc_functions.Get_Other_Net_Contribution(
522: P_Assignment_ID => p_assignment_id
523: ,P_Plan_ID => p_plan_id
524: ,p_start_date => l_start_date
527: ELSE
528: l_other2 := 0;
529: END IF;
530: --
531: hr_utility.set_location(l_proc, 20);
532: hr_utility.trace('l_total_accrual2: '||to_char(l_total_accrual2));
533: hr_utility.trace('l_net_entitlement2: '||to_char(l_net_entitlement2));
534: hr_utility.trace('l_other2: '||to_char(l_other2));
535: hr_utility.trace('l_start_date: '||to_char(l_start_date));
528: l_other2 := 0;
529: END IF;
530: --
531: hr_utility.set_location(l_proc, 20);
532: hr_utility.trace('l_total_accrual2: '||to_char(l_total_accrual2));
533: hr_utility.trace('l_net_entitlement2: '||to_char(l_net_entitlement2));
534: hr_utility.trace('l_other2: '||to_char(l_other2));
535: hr_utility.trace('l_start_date: '||to_char(l_start_date));
536: hr_utility.trace('l_end_date: '||to_char(l_end_date));
529: END IF;
530: --
531: hr_utility.set_location(l_proc, 20);
532: hr_utility.trace('l_total_accrual2: '||to_char(l_total_accrual2));
533: hr_utility.trace('l_net_entitlement2: '||to_char(l_net_entitlement2));
534: hr_utility.trace('l_other2: '||to_char(l_other2));
535: hr_utility.trace('l_start_date: '||to_char(l_start_date));
536: hr_utility.trace('l_end_date: '||to_char(l_end_date));
537: hr_utility.trace('l_Beginning_Calc_Year: '||to_char(l_Beginning_Calc_Year));
530: --
531: hr_utility.set_location(l_proc, 20);
532: hr_utility.trace('l_total_accrual2: '||to_char(l_total_accrual2));
533: hr_utility.trace('l_net_entitlement2: '||to_char(l_net_entitlement2));
534: hr_utility.trace('l_other2: '||to_char(l_other2));
535: hr_utility.trace('l_start_date: '||to_char(l_start_date));
536: hr_utility.trace('l_end_date: '||to_char(l_end_date));
537: hr_utility.trace('l_Beginning_Calc_Year: '||to_char(l_Beginning_Calc_Year));
538: hr_utility.trace('l_effective_date: '||to_char(l_effective_date));
531: hr_utility.set_location(l_proc, 20);
532: hr_utility.trace('l_total_accrual2: '||to_char(l_total_accrual2));
533: hr_utility.trace('l_net_entitlement2: '||to_char(l_net_entitlement2));
534: hr_utility.trace('l_other2: '||to_char(l_other2));
535: hr_utility.trace('l_start_date: '||to_char(l_start_date));
536: hr_utility.trace('l_end_date: '||to_char(l_end_date));
537: hr_utility.trace('l_Beginning_Calc_Year: '||to_char(l_Beginning_Calc_Year));
538: hr_utility.trace('l_effective_date: '||to_char(l_effective_date));
539: --
532: hr_utility.trace('l_total_accrual2: '||to_char(l_total_accrual2));
533: hr_utility.trace('l_net_entitlement2: '||to_char(l_net_entitlement2));
534: hr_utility.trace('l_other2: '||to_char(l_other2));
535: hr_utility.trace('l_start_date: '||to_char(l_start_date));
536: hr_utility.trace('l_end_date: '||to_char(l_end_date));
537: hr_utility.trace('l_Beginning_Calc_Year: '||to_char(l_Beginning_Calc_Year));
538: hr_utility.trace('l_effective_date: '||to_char(l_effective_date));
539: --
540: hr_utility.set_location(l_proc, 30);
533: hr_utility.trace('l_net_entitlement2: '||to_char(l_net_entitlement2));
534: hr_utility.trace('l_other2: '||to_char(l_other2));
535: hr_utility.trace('l_start_date: '||to_char(l_start_date));
536: hr_utility.trace('l_end_date: '||to_char(l_end_date));
537: hr_utility.trace('l_Beginning_Calc_Year: '||to_char(l_Beginning_Calc_Year));
538: hr_utility.trace('l_effective_date: '||to_char(l_effective_date));
539: --
540: hr_utility.set_location(l_proc, 30);
541: l_carryover := round(l_max_carryover, 3);
534: hr_utility.trace('l_other2: '||to_char(l_other2));
535: hr_utility.trace('l_start_date: '||to_char(l_start_date));
536: hr_utility.trace('l_end_date: '||to_char(l_end_date));
537: hr_utility.trace('l_Beginning_Calc_Year: '||to_char(l_Beginning_Calc_Year));
538: hr_utility.trace('l_effective_date: '||to_char(l_effective_date));
539: --
540: hr_utility.set_location(l_proc, 30);
541: l_carryover := round(l_max_carryover, 3);
542: l_residual := round((l_net_entitlement - l_max_carryover - l_total_accrual2 - l_other2), 3);
536: hr_utility.trace('l_end_date: '||to_char(l_end_date));
537: hr_utility.trace('l_Beginning_Calc_Year: '||to_char(l_Beginning_Calc_Year));
538: hr_utility.trace('l_effective_date: '||to_char(l_effective_date));
539: --
540: hr_utility.set_location(l_proc, 30);
541: l_carryover := round(l_max_carryover, 3);
542: l_residual := round((l_net_entitlement - l_max_carryover - l_total_accrual2 - l_other2), 3);
543: --Bug 4293298 if residual value is -ve ..then it is set to 0
544: IF l_residual < 0 THEN
545: l_residual := 0;
546: END IF ;
547: --
548: end if;
549: hr_utility.set_location(l_proc, 40);
550: hr_utility.trace('l_carryover: '||to_char(l_carryover));
551: hr_utility.trace('l_residual: '||to_char(l_residual));
552:
553:
546: END IF ;
547: --
548: end if;
549: hr_utility.set_location(l_proc, 40);
550: hr_utility.trace('l_carryover: '||to_char(l_carryover));
551: hr_utility.trace('l_residual: '||to_char(l_residual));
552:
553:
554: End ZA_PTO_CARRYOVER_RESI_VALUE;
547: --
548: end if;
549: hr_utility.set_location(l_proc, 40);
550: hr_utility.trace('l_carryover: '||to_char(l_carryover));
551: hr_utility.trace('l_residual: '||to_char(l_residual));
552:
553:
554: End ZA_PTO_CARRYOVER_RESI_VALUE;
555: