34: l_index number;
35:
36: begin
37:
38: hr_utility.trace('in read termination payment rate');
39:
40: hr_utility.trace('p_accrual_plan_id = ' || p_accrual_plan_id);
41:
42: l_index := p_accrual_plan_id * 10 + 1;
36: begin
37:
38: hr_utility.trace('in read termination payment rate');
39:
40: hr_utility.trace('p_accrual_plan_id = ' || p_accrual_plan_id);
41:
42: l_index := p_accrual_plan_id * 10 + 1;
43:
44: p_days := term_payment(l_index).days;
42: l_index := p_accrual_plan_id * 10 + 1;
43:
44: p_days := term_payment(l_index).days;
45:
46: hr_utility.trace('p_days = ' || p_days);
47:
48: hr_utility.trace('left read termination payment rate');
49:
50: return 0;
44: p_days := term_payment(l_index).days;
45:
46: hr_utility.trace('p_days = ' || p_days);
47:
48: hr_utility.trace('left read termination payment rate');
49:
50: return 0;
51:
52: EXCEPTION
50: return 0;
51:
52: EXCEPTION
53: WHEN OTHERS THEN
54: hr_utility.trace('read_termination_payment rate');
55: hr_utility.trace(SQLCODE);
56: hr_utility.trace(SQLERRM);
57: Raise;
58: end read_termination_payment_rate;
51:
52: EXCEPTION
53: WHEN OTHERS THEN
54: hr_utility.trace('read_termination_payment rate');
55: hr_utility.trace(SQLCODE);
56: hr_utility.trace(SQLERRM);
57: Raise;
58: end read_termination_payment_rate;
59:
52: EXCEPTION
53: WHEN OTHERS THEN
54: hr_utility.trace('read_termination_payment rate');
55: hr_utility.trace(SQLCODE);
56: hr_utility.trace(SQLERRM);
57: Raise;
58: end read_termination_payment_rate;
59:
60:
148: l_payslip_taken_to_date date;
149:
150: l_proc VARCHAR2(72) := g_package||' load_fr_payslip_accrual_data ';
151: BEGIN
152: hr_utility.set_location('Entering ' || l_proc,10);
153: --
154: -- Set flag to accrual formula to not deduct holiday from the accrual
155: -- (this is usually done if there is no entitlement stored)
156: --
156: --
157: -- Clear the structure to hold the results;
158: --
159: g_fr_payslip_info.DELETE;
160: hr_utility.set_location('Step ' || l_proc,30);
161: --
162: -- Main loop for all plans for this assignment
163: --
164: hr_utility.set_location('assignment_id is ', p_assignment_id);
160: hr_utility.set_location('Step ' || l_proc,30);
161: --
162: -- Main loop for all plans for this assignment
163: --
164: hr_utility.set_location('assignment_id is ', p_assignment_id);
165: hr_utility.set_location('business_group_id is ' , p_business_group_id);
166: hr_utility.set_location('date earned is ' || to_char(p_date_earned), 30);
167:
168:
161: --
162: -- Main loop for all plans for this assignment
163: --
164: hr_utility.set_location('assignment_id is ', p_assignment_id);
165: hr_utility.set_location('business_group_id is ' , p_business_group_id);
166: hr_utility.set_location('date earned is ' || to_char(p_date_earned), 30);
167:
168:
169: FOR l_accrual_plan_rec in csr_all_plans LOOP
162: -- Main loop for all plans for this assignment
163: --
164: hr_utility.set_location('assignment_id is ', p_assignment_id);
165: hr_utility.set_location('business_group_id is ' , p_business_group_id);
166: hr_utility.set_location('date earned is ' || to_char(p_date_earned), 30);
167:
168:
169: FOR l_accrual_plan_rec in csr_all_plans LOOP
170: l_index := l_index + 1;
168:
169: FOR l_accrual_plan_rec in csr_all_plans LOOP
170: l_index := l_index + 1;
171:
172: hr_utility.set_location('l_accrual_plan_rec.accrual_plan_id is ', l_accrual_plan_rec.accrual_plan_id);
173: hr_utility.set_location('l_accrual_plan_rec.accrual_plan_element_type_id is ' , l_accrual_plan_rec.accrual_plan_element_type_id);
174: hr_utility.set_location('l_accrual_plan_rec.payroll_id is ' , l_accrual_plan_rec.payroll_id);
175:
176: IF l_accrual_plan_rec.accrual_category in ('FR_MAIN_HOLIDAY', 'FR_RTT_HOLIDAY', 'FR_ADDITIONAL_HOLIDAY') THEN
169: FOR l_accrual_plan_rec in csr_all_plans LOOP
170: l_index := l_index + 1;
171:
172: hr_utility.set_location('l_accrual_plan_rec.accrual_plan_id is ', l_accrual_plan_rec.accrual_plan_id);
173: hr_utility.set_location('l_accrual_plan_rec.accrual_plan_element_type_id is ' , l_accrual_plan_rec.accrual_plan_element_type_id);
174: hr_utility.set_location('l_accrual_plan_rec.payroll_id is ' , l_accrual_plan_rec.payroll_id);
175:
176: IF l_accrual_plan_rec.accrual_category in ('FR_MAIN_HOLIDAY', 'FR_RTT_HOLIDAY', 'FR_ADDITIONAL_HOLIDAY') THEN
177: --
170: l_index := l_index + 1;
171:
172: hr_utility.set_location('l_accrual_plan_rec.accrual_plan_id is ', l_accrual_plan_rec.accrual_plan_id);
173: hr_utility.set_location('l_accrual_plan_rec.accrual_plan_element_type_id is ' , l_accrual_plan_rec.accrual_plan_element_type_id);
174: hr_utility.set_location('l_accrual_plan_rec.payroll_id is ' , l_accrual_plan_rec.payroll_id);
175:
176: IF l_accrual_plan_rec.accrual_category in ('FR_MAIN_HOLIDAY', 'FR_RTT_HOLIDAY', 'FR_ADDITIONAL_HOLIDAY') THEN
177: --
178: -- Call this year and previous 3 years
193:
194: --
195: -- Load the plan info
196: --
197: hr_utility.set_location('Step ' || l_proc,40);
198: l_fr_plan_info := get_fr_accrual_plan_info(
199: p_accrual_plan_id => l_accrual_plan_rec.accrual_plan_id
200: ,p_accrual_date => p_date_earned);
201: --
203: -- on the payslip as 'taken' bug 2448832
204: --
205: l_payslip_taken_to_date := l_fr_plan_info.accrual_year_start;
206:
207: hr_utility.set_location('Step ' || l_proc,50);
208: --
209: -- Call the accrual formula for this year, up to date_earned. Do not deduct holiday taken
210: -- from accrual. This may return zero if entitlement is stored past p_date_earned - this
211: -- will be picked up by entitlement
229: ,P_total_Accrued_seniority => l_unused_number
230: ,P_total_Accrued_mothers => l_unused_number
231: ,P_total_Accrued_conventional => l_unused_number ) ;
232:
233: hr_utility.set_location('Step ' || l_proc,60);
234: l_accrual_this := nvl(l_total_accrued_pto,0) + nvl(l_total_Accrued_protected,0);
235: l_accrual_total := l_accrual_total + l_accrual_this;
236:
237:
238: --
239: -- Get the entitlement and net for this year. Only deduct holidays taken and paid
240: -- (do not deduct all holidays booked, as the payslip must only show days taken to date )
241: --
242: hr_utility.set_location('Step ' || l_proc,60);
243:
244: get_fr_net_entitlement
245: (p_accrual_plan_id => l_accrual_plan_rec.accrual_plan_id
246: ,p_effective_date => p_date_earned
261: ,p_accrual_end_date => l_unused_date
262: ,p_type_calculation => 'Y' /* indicated paid days should be deducted */
263: ,p_paid_days_to => l_payslip_taken_to_date);
264:
265: hr_utility.set_location('Step ' || l_proc,70);
266: hr_utility.trace('y=1 l_payslip_taken_to_date is ' || l_payslip_taken_to_date);
267: hr_utility.trace('y=1 ltaken_total is ' || l_taken_total);
268: hr_utility.trace('y=1 l_ent_this is ' || l_ent_this);
269: hr_utility.trace('y=1 l_term_pay_this is ' || l_term_pay_this);
262: ,p_type_calculation => 'Y' /* indicated paid days should be deducted */
263: ,p_paid_days_to => l_payslip_taken_to_date);
264:
265: hr_utility.set_location('Step ' || l_proc,70);
266: hr_utility.trace('y=1 l_payslip_taken_to_date is ' || l_payslip_taken_to_date);
267: hr_utility.trace('y=1 ltaken_total is ' || l_taken_total);
268: hr_utility.trace('y=1 l_ent_this is ' || l_ent_this);
269: hr_utility.trace('y=1 l_term_pay_this is ' || l_term_pay_this);
270: l_term_pay_period_1 := l_term_pay_this;
263: ,p_paid_days_to => l_payslip_taken_to_date);
264:
265: hr_utility.set_location('Step ' || l_proc,70);
266: hr_utility.trace('y=1 l_payslip_taken_to_date is ' || l_payslip_taken_to_date);
267: hr_utility.trace('y=1 ltaken_total is ' || l_taken_total);
268: hr_utility.trace('y=1 l_ent_this is ' || l_ent_this);
269: hr_utility.trace('y=1 l_term_pay_this is ' || l_term_pay_this);
270: l_term_pay_period_1 := l_term_pay_this;
271: --
264:
265: hr_utility.set_location('Step ' || l_proc,70);
266: hr_utility.trace('y=1 l_payslip_taken_to_date is ' || l_payslip_taken_to_date);
267: hr_utility.trace('y=1 ltaken_total is ' || l_taken_total);
268: hr_utility.trace('y=1 l_ent_this is ' || l_ent_this);
269: hr_utility.trace('y=1 l_term_pay_this is ' || l_term_pay_this);
270: l_term_pay_period_1 := l_term_pay_this;
271: --
272: -- Add back the term payments for this year to ent
265: hr_utility.set_location('Step ' || l_proc,70);
266: hr_utility.trace('y=1 l_payslip_taken_to_date is ' || l_payslip_taken_to_date);
267: hr_utility.trace('y=1 ltaken_total is ' || l_taken_total);
268: hr_utility.trace('y=1 l_ent_this is ' || l_ent_this);
269: hr_utility.trace('y=1 l_term_pay_this is ' || l_term_pay_this);
270: l_term_pay_period_1 := l_term_pay_this;
271: --
272: -- Add back the term payments for this year to ent
273: --
273: --
274: l_ent_this := l_ent_this + l_term_pay_this;
275: l_term_pay_total := l_term_pay_total + nvl(l_term_pay_this,0);
276: l_ent_total := l_ent_total + nvl(l_ent_this,0);
277: hr_utility.trace('y=1 adj ent is ' || l_ent_this);
278: --
279: -- Y-1
280: --
281: hr_utility.set_location('3 get net ent', 130);
277: hr_utility.trace('y=1 adj ent is ' || l_ent_this);
278: --
279: -- Y-1
280: --
281: hr_utility.set_location('3 get net ent', 130);
282: get_fr_net_entitlement
283: (p_accrual_plan_id => l_accrual_plan_rec.accrual_plan_id
284: ,p_effective_date => add_months(p_date_earned, -12)
285: ,p_assignment_id => p_assignment_id
299: ,p_accrual_end_date => l_unused_date
300: ,p_type_calculation => 'Y' /* indicates paid days should be deducted */
301: ,p_paid_days_to => l_payslip_taken_to_date);
302:
303: hr_utility.set_location('Step ' || l_proc,80);
304: hr_utility.trace('y=2 l_payslip_taken_to_date is ' || l_payslip_taken_to_date);
305: hr_utility.trace('y=2 ltaken_total is ' || l_taken_total);
306: hr_utility.trace('y=2 l_ent_this is ' || l_ent_this);
307: hr_utility.trace('y=2 l_term_pay_this is ' || l_term_pay_this);
300: ,p_type_calculation => 'Y' /* indicates paid days should be deducted */
301: ,p_paid_days_to => l_payslip_taken_to_date);
302:
303: hr_utility.set_location('Step ' || l_proc,80);
304: hr_utility.trace('y=2 l_payslip_taken_to_date is ' || l_payslip_taken_to_date);
305: hr_utility.trace('y=2 ltaken_total is ' || l_taken_total);
306: hr_utility.trace('y=2 l_ent_this is ' || l_ent_this);
307: hr_utility.trace('y=2 l_term_pay_this is ' || l_term_pay_this);
308: --
301: ,p_paid_days_to => l_payslip_taken_to_date);
302:
303: hr_utility.set_location('Step ' || l_proc,80);
304: hr_utility.trace('y=2 l_payslip_taken_to_date is ' || l_payslip_taken_to_date);
305: hr_utility.trace('y=2 ltaken_total is ' || l_taken_total);
306: hr_utility.trace('y=2 l_ent_this is ' || l_ent_this);
307: hr_utility.trace('y=2 l_term_pay_this is ' || l_term_pay_this);
308: --
309: -- Add back the term payments for this year to ent
302:
303: hr_utility.set_location('Step ' || l_proc,80);
304: hr_utility.trace('y=2 l_payslip_taken_to_date is ' || l_payslip_taken_to_date);
305: hr_utility.trace('y=2 ltaken_total is ' || l_taken_total);
306: hr_utility.trace('y=2 l_ent_this is ' || l_ent_this);
307: hr_utility.trace('y=2 l_term_pay_this is ' || l_term_pay_this);
308: --
309: -- Add back the term payments for this year to ent
310: --
303: hr_utility.set_location('Step ' || l_proc,80);
304: hr_utility.trace('y=2 l_payslip_taken_to_date is ' || l_payslip_taken_to_date);
305: hr_utility.trace('y=2 ltaken_total is ' || l_taken_total);
306: hr_utility.trace('y=2 l_ent_this is ' || l_ent_this);
307: hr_utility.trace('y=2 l_term_pay_this is ' || l_term_pay_this);
308: --
309: -- Add back the term payments for this year to ent
310: --
311: l_ent_this := l_ent_this + l_term_pay_this;
309: -- Add back the term payments for this year to ent
310: --
311: l_ent_this := l_ent_this + l_term_pay_this;
312: l_term_pay_total := l_term_pay_total + nvl(l_term_pay_this,0);
313: hr_utility.trace('l_ent_this is ' || l_ent_this);
314: hr_utility.trace('y=2 adj ent is ' || l_ent_this);
315:
316: l_ent_total := l_ent_total + nvl(l_ent_this,0);
317: --
310: --
311: l_ent_this := l_ent_this + l_term_pay_this;
312: l_term_pay_total := l_term_pay_total + nvl(l_term_pay_this,0);
313: hr_utility.trace('l_ent_this is ' || l_ent_this);
314: hr_utility.trace('y=2 adj ent is ' || l_ent_this);
315:
316: l_ent_total := l_ent_total + nvl(l_ent_this,0);
317: --
318: -- Y-2
337: ,p_accrual_end_date => l_unused_date
338: ,p_type_calculation => 'Y' /* indicated paid days should be deducted */
339: ,p_paid_days_to => l_payslip_taken_to_date);
340:
341: hr_utility.set_location('Step ' || l_proc,80);
342: hr_utility.trace('l_ent_this is ' || l_ent_this);
343: hr_utility.trace('y=3 l_term_pay_this is ' || l_term_pay_this);
344: --
345: -- Add back the term payments for this year to ent
338: ,p_type_calculation => 'Y' /* indicated paid days should be deducted */
339: ,p_paid_days_to => l_payslip_taken_to_date);
340:
341: hr_utility.set_location('Step ' || l_proc,80);
342: hr_utility.trace('l_ent_this is ' || l_ent_this);
343: hr_utility.trace('y=3 l_term_pay_this is ' || l_term_pay_this);
344: --
345: -- Add back the term payments for this year to ent
346: --
339: ,p_paid_days_to => l_payslip_taken_to_date);
340:
341: hr_utility.set_location('Step ' || l_proc,80);
342: hr_utility.trace('l_ent_this is ' || l_ent_this);
343: hr_utility.trace('y=3 l_term_pay_this is ' || l_term_pay_this);
344: --
345: -- Add back the term payments for this year to ent
346: --
347: l_ent_this := l_ent_this + l_term_pay_this;
345: -- Add back the term payments for this year to ent
346: --
347: l_ent_this := l_ent_this + l_term_pay_this;
348: l_term_pay_total := l_term_pay_total + nvl(l_term_pay_this,0);
349: hr_utility.trace('l_ent_this is ' || l_ent_this);
350: l_ent_total := l_ent_total + nvl(l_ent_this,0);
351: hr_utility.trace('y=3 adj ent is ' || l_ent_this);
352: --
353: -- Y-3
347: l_ent_this := l_ent_this + l_term_pay_this;
348: l_term_pay_total := l_term_pay_total + nvl(l_term_pay_this,0);
349: hr_utility.trace('l_ent_this is ' || l_ent_this);
350: l_ent_total := l_ent_total + nvl(l_ent_this,0);
351: hr_utility.trace('y=3 adj ent is ' || l_ent_this);
352: --
353: -- Y-3
354: --
355: get_fr_net_entitlement
372: ,p_accrual_end_date => l_unused_date
373: ,p_type_calculation => 'Y' /* indicated paid days should be deducted */
374: ,p_paid_days_to => l_payslip_taken_to_date);
375:
376: hr_utility.set_location('Step ' || l_proc,90);
377: hr_utility.trace('y=3 l_payslip_taken_to_date is ' || l_payslip_taken_to_date);
378: hr_utility.trace('y=3 ltaken_total is ' || l_taken_total);
379: hr_utility.trace('y=3 l_ent_this is ' || l_ent_this);
380: hr_utility.trace('l_ent_this is ' || l_ent_this);
373: ,p_type_calculation => 'Y' /* indicated paid days should be deducted */
374: ,p_paid_days_to => l_payslip_taken_to_date);
375:
376: hr_utility.set_location('Step ' || l_proc,90);
377: hr_utility.trace('y=3 l_payslip_taken_to_date is ' || l_payslip_taken_to_date);
378: hr_utility.trace('y=3 ltaken_total is ' || l_taken_total);
379: hr_utility.trace('y=3 l_ent_this is ' || l_ent_this);
380: hr_utility.trace('l_ent_this is ' || l_ent_this);
381: --
374: ,p_paid_days_to => l_payslip_taken_to_date);
375:
376: hr_utility.set_location('Step ' || l_proc,90);
377: hr_utility.trace('y=3 l_payslip_taken_to_date is ' || l_payslip_taken_to_date);
378: hr_utility.trace('y=3 ltaken_total is ' || l_taken_total);
379: hr_utility.trace('y=3 l_ent_this is ' || l_ent_this);
380: hr_utility.trace('l_ent_this is ' || l_ent_this);
381: --
382: -- Add back the term payments for this year to ent
375:
376: hr_utility.set_location('Step ' || l_proc,90);
377: hr_utility.trace('y=3 l_payslip_taken_to_date is ' || l_payslip_taken_to_date);
378: hr_utility.trace('y=3 ltaken_total is ' || l_taken_total);
379: hr_utility.trace('y=3 l_ent_this is ' || l_ent_this);
380: hr_utility.trace('l_ent_this is ' || l_ent_this);
381: --
382: -- Add back the term payments for this year to ent
383: --
376: hr_utility.set_location('Step ' || l_proc,90);
377: hr_utility.trace('y=3 l_payslip_taken_to_date is ' || l_payslip_taken_to_date);
378: hr_utility.trace('y=3 ltaken_total is ' || l_taken_total);
379: hr_utility.trace('y=3 l_ent_this is ' || l_ent_this);
380: hr_utility.trace('l_ent_this is ' || l_ent_this);
381: --
382: -- Add back the term payments for this year to ent
383: --
384: l_ent_this := l_ent_this + l_term_pay_this;
382: -- Add back the term payments for this year to ent
383: --
384: l_ent_this := l_ent_this + l_term_pay_this;
385:
386: hr_utility.trace('l_ent_this is ' || l_ent_this);
387: hr_utility.trace('y=4 l_term_pay_this is ' || l_term_pay_this);
388: l_term_pay_total := l_term_pay_total + nvl(l_term_pay_this,0);
389: hr_utility.trace('l_ent_this is ' || l_ent_this);
390: hr_utility.trace('y=4 adj ent is ' || l_ent_this);
383: --
384: l_ent_this := l_ent_this + l_term_pay_this;
385:
386: hr_utility.trace('l_ent_this is ' || l_ent_this);
387: hr_utility.trace('y=4 l_term_pay_this is ' || l_term_pay_this);
388: l_term_pay_total := l_term_pay_total + nvl(l_term_pay_this,0);
389: hr_utility.trace('l_ent_this is ' || l_ent_this);
390: hr_utility.trace('y=4 adj ent is ' || l_ent_this);
391:
385:
386: hr_utility.trace('l_ent_this is ' || l_ent_this);
387: hr_utility.trace('y=4 l_term_pay_this is ' || l_term_pay_this);
388: l_term_pay_total := l_term_pay_total + nvl(l_term_pay_this,0);
389: hr_utility.trace('l_ent_this is ' || l_ent_this);
390: hr_utility.trace('y=4 adj ent is ' || l_ent_this);
391:
392: l_ent_total := l_ent_total + nvl(l_ent_this,0);
393: l_ent_balance := nvl(l_ent_total,0) - nvl(l_taken_total,0);
386: hr_utility.trace('l_ent_this is ' || l_ent_this);
387: hr_utility.trace('y=4 l_term_pay_this is ' || l_term_pay_this);
388: l_term_pay_total := l_term_pay_total + nvl(l_term_pay_this,0);
389: hr_utility.trace('l_ent_this is ' || l_ent_this);
390: hr_utility.trace('y=4 adj ent is ' || l_ent_this);
391:
392: l_ent_total := l_ent_total + nvl(l_ent_this,0);
393: l_ent_balance := nvl(l_ent_total,0) - nvl(l_taken_total,0);
394:
413: l_taken_total := l_gross_taken_total + l_term_pay_total;
414: end if;
415: end if;
416: close csr_check_for_termination;
417: hr_utility.trace('end tot acc = ' || l_accrual_total);
418: hr_utility.trace('end ent tot = ' || l_ent_total);
419: hr_utility.trace('end tak tot = ' || l_taken_total);
420: hr_utility.trace('end bal tot = ' || l_ent_balance);
421: hr_utility.trace('end term tot = ' || l_term_pay_total);
414: end if;
415: end if;
416: close csr_check_for_termination;
417: hr_utility.trace('end tot acc = ' || l_accrual_total);
418: hr_utility.trace('end ent tot = ' || l_ent_total);
419: hr_utility.trace('end tak tot = ' || l_taken_total);
420: hr_utility.trace('end bal tot = ' || l_ent_balance);
421: hr_utility.trace('end term tot = ' || l_term_pay_total);
422:
415: end if;
416: close csr_check_for_termination;
417: hr_utility.trace('end tot acc = ' || l_accrual_total);
418: hr_utility.trace('end ent tot = ' || l_ent_total);
419: hr_utility.trace('end tak tot = ' || l_taken_total);
420: hr_utility.trace('end bal tot = ' || l_ent_balance);
421: hr_utility.trace('end term tot = ' || l_term_pay_total);
422:
423:
416: close csr_check_for_termination;
417: hr_utility.trace('end tot acc = ' || l_accrual_total);
418: hr_utility.trace('end ent tot = ' || l_ent_total);
419: hr_utility.trace('end tak tot = ' || l_taken_total);
420: hr_utility.trace('end bal tot = ' || l_ent_balance);
421: hr_utility.trace('end term tot = ' || l_term_pay_total);
422:
423:
424: --
417: hr_utility.trace('end tot acc = ' || l_accrual_total);
418: hr_utility.trace('end ent tot = ' || l_ent_total);
419: hr_utility.trace('end tak tot = ' || l_taken_total);
420: hr_utility.trace('end bal tot = ' || l_ent_balance);
421: hr_utility.trace('end term tot = ' || l_term_pay_total);
422:
423:
424: --
425: -- Calculate and store values in record structure.
430: g_fr_payslip_info(l_index).Entitlement := nvl(l_ent_total,0);
431: g_fr_payslip_info(l_index).Taken := nvl(l_taken_total,0);
432: g_fr_payslip_info(l_index).Balance := l_ent_balance;
433:
434: hr_utility.set_location('Step ' || l_proc,100);
435: --
436: --
437: --
438: ELSE
438: ELSE
439: --
440: -- Call the standard functions
441: --
442: hr_utility.set_location('Step ' || l_proc,100);
443:
444: per_accrual_calc_functions.get_accrual(
445: p_assignment_id => p_assignment_id
446: ,p_plan_id => l_accrual_plan_rec.accrual_plan_id
454: ,p_end_date => l_std_end_date
455: ,p_accrual_end_date => l_unused_date
456: ,p_accrual => l_accrual_total);
457:
458: hr_utility.set_location('Step ' || l_proc,110);
459:
460: l_std_absence := per_accrual_calc_functions.get_absence(
461: p_assignment_id => p_assignment_id
462: ,p_plan_id => l_accrual_plan_rec.accrual_plan_id
462: ,p_plan_id => l_accrual_plan_rec.accrual_plan_id
463: ,p_start_date => l_std_start_date
464: ,p_calculation_date => l_std_end_date);
465:
466: hr_utility.set_location('Step ' || l_proc,120);
467:
468: l_std_other := per_accrual_calc_functions.get_other_net_contribution(
469: p_assignment_id => p_assignment_id
470: ,p_plan_id => l_accrual_plan_rec.accrual_plan_id
470: ,p_plan_id => l_accrual_plan_rec.accrual_plan_id
471: ,p_start_date => l_std_start_date
472: ,p_calculation_date => l_std_end_date );
473:
474: hr_utility.set_location('Step ' || l_proc,130);
475:
476: l_std_carryover := per_accrual_calc_functions.get_carry_over(
477: p_assignment_id => p_assignment_id
478: ,p_plan_id => l_accrual_plan_rec.accrual_plan_id
478: ,p_plan_id => l_accrual_plan_rec.accrual_plan_id
479: ,p_start_date => l_std_start_date
480: ,p_calculation_date => l_std_end_date);
481:
482: hr_utility.set_location('Step ' || l_proc,140);
483:
484: --
485: -- Archive the values
486: --
490: g_fr_payslip_info(l_index).Entitlement := nvl(l_accrual_total,0) + nvl(l_std_other,0) + nvl(l_std_carryover,0);
491: g_fr_payslip_info(l_index).Taken := nvl(l_std_absence,0);
492: g_fr_payslip_info(l_index).Balance := nvl(l_accrual_total,0) + nvl(l_std_other,0) + nvl(l_std_carryover,0) - nvl(l_std_absence,0);
493:
494: hr_utility.set_location('Step ' || l_proc,150);
495:
496: hr_utility.set_location(' loop_counter is ' || to_char(l_index), 20);
497: hr_utility.set_location(' g_fr_payslip_info(l_index).Accrual is ' , g_fr_payslip_info(l_index).Accrual);
498: hr_utility.set_location(' g_fr_payslip_info(l_index).Entitlementl is ' , g_fr_payslip_info(l_index).Entitlement);
492: g_fr_payslip_info(l_index).Balance := nvl(l_accrual_total,0) + nvl(l_std_other,0) + nvl(l_std_carryover,0) - nvl(l_std_absence,0);
493:
494: hr_utility.set_location('Step ' || l_proc,150);
495:
496: hr_utility.set_location(' loop_counter is ' || to_char(l_index), 20);
497: hr_utility.set_location(' g_fr_payslip_info(l_index).Accrual is ' , g_fr_payslip_info(l_index).Accrual);
498: hr_utility.set_location(' g_fr_payslip_info(l_index).Entitlementl is ' , g_fr_payslip_info(l_index).Entitlement);
499: hr_utility.set_location(' g_fr_payslip_info(l_index).Taken is ' , g_fr_payslip_info(l_index).Taken);
500: hr_utility.set_location(' g_fr_payslip_info(l_index).Balance is ' , g_fr_payslip_info(l_index).Balance);
493:
494: hr_utility.set_location('Step ' || l_proc,150);
495:
496: hr_utility.set_location(' loop_counter is ' || to_char(l_index), 20);
497: hr_utility.set_location(' g_fr_payslip_info(l_index).Accrual is ' , g_fr_payslip_info(l_index).Accrual);
498: hr_utility.set_location(' g_fr_payslip_info(l_index).Entitlementl is ' , g_fr_payslip_info(l_index).Entitlement);
499: hr_utility.set_location(' g_fr_payslip_info(l_index).Taken is ' , g_fr_payslip_info(l_index).Taken);
500: hr_utility.set_location(' g_fr_payslip_info(l_index).Balance is ' , g_fr_payslip_info(l_index).Balance);
501:
494: hr_utility.set_location('Step ' || l_proc,150);
495:
496: hr_utility.set_location(' loop_counter is ' || to_char(l_index), 20);
497: hr_utility.set_location(' g_fr_payslip_info(l_index).Accrual is ' , g_fr_payslip_info(l_index).Accrual);
498: hr_utility.set_location(' g_fr_payslip_info(l_index).Entitlementl is ' , g_fr_payslip_info(l_index).Entitlement);
499: hr_utility.set_location(' g_fr_payslip_info(l_index).Taken is ' , g_fr_payslip_info(l_index).Taken);
500: hr_utility.set_location(' g_fr_payslip_info(l_index).Balance is ' , g_fr_payslip_info(l_index).Balance);
501:
502: END IF; /* if French Type accrual category */
495:
496: hr_utility.set_location(' loop_counter is ' || to_char(l_index), 20);
497: hr_utility.set_location(' g_fr_payslip_info(l_index).Accrual is ' , g_fr_payslip_info(l_index).Accrual);
498: hr_utility.set_location(' g_fr_payslip_info(l_index).Entitlementl is ' , g_fr_payslip_info(l_index).Entitlement);
499: hr_utility.set_location(' g_fr_payslip_info(l_index).Taken is ' , g_fr_payslip_info(l_index).Taken);
500: hr_utility.set_location(' g_fr_payslip_info(l_index).Balance is ' , g_fr_payslip_info(l_index).Balance);
501:
502: END IF; /* if French Type accrual category */
503: END LOOP; /* loop of all plans */
496: hr_utility.set_location(' loop_counter is ' || to_char(l_index), 20);
497: hr_utility.set_location(' g_fr_payslip_info(l_index).Accrual is ' , g_fr_payslip_info(l_index).Accrual);
498: hr_utility.set_location(' g_fr_payslip_info(l_index).Entitlementl is ' , g_fr_payslip_info(l_index).Entitlement);
499: hr_utility.set_location(' g_fr_payslip_info(l_index).Taken is ' , g_fr_payslip_info(l_index).Taken);
500: hr_utility.set_location(' g_fr_payslip_info(l_index).Balance is ' , g_fr_payslip_info(l_index).Balance);
501:
502: END IF; /* if French Type accrual category */
503: END LOOP; /* loop of all plans */
504: --
503: END LOOP; /* loop of all plans */
504: --
505: -- Reset the payslip taken to date bug 2448832
506: --
507: hr_utility.set_location('Leaving: '||l_proc,160);
508: END load_fr_payslip_accrual_data;
509: --
510: -------------------------------------------------------------------------------
511: -- PROCEDURE GET_FR_NET_ENTITLEMENT --
846: --
847: l_proc VARCHAR2(72) := g_package||' get_fr_net_entitlement ';
848:
849: BEGIN
850: hr_utility.set_location('Entering ' || l_proc,10);
851:
852: --
853: -- Get plan info
854: --
855: l_fr_plan_info := get_fr_accrual_plan_info(
856: p_accrual_plan_id => l_accrual_plan_id
857: ,p_accrual_date => p_effective_date );
858:
859: hr_utility.set_location('Step ' || l_proc,20);
860: --
861: -- Get the payment element type if it will be used ie type calculation = 'Y' or Accruals
862: --
863: IF p_type_calculation = 'Y' or p_type_calculation = 'A' THEN
862: --
863: IF p_type_calculation = 'Y' or p_type_calculation = 'A' THEN
864: l_fr_pay_info := get_payment_globals;
865: l_fr_pay_r_info := get_payment_globals_r;
866: hr_utility.set_location('Step ' || l_proc,30);
867: END IF;
868: -- /***/
869: --
870: hr_utility.set_location(' Accrual type is: '||p_accrual_type, 22);
866: hr_utility.set_location('Step ' || l_proc,30);
867: END IF;
868: -- /***/
869: --
870: hr_utility.set_location(' Accrual type is: '||p_accrual_type, 22);
871: hr_utility.set_location('Legal period end is: '||to_char(p_legal_period_end), 22);
872: hr_utility.set_location('Accrual year end is: '||to_char(l_fr_plan_info.accrual_year_end),22);
873: hr_utility.set_location('l_fr_plan_info.ent_m_iv_id is: '||to_char(l_fr_plan_info.ent_m_iv_id), 22);
874: hr_utility.set_location('l_fr_plan_info.ent_accrual_date_iv_id is: '||to_char(l_fr_plan_info.ent_accrual_date_iv_id), 22);
867: END IF;
868: -- /***/
869: --
870: hr_utility.set_location(' Accrual type is: '||p_accrual_type, 22);
871: hr_utility.set_location('Legal period end is: '||to_char(p_legal_period_end), 22);
872: hr_utility.set_location('Accrual year end is: '||to_char(l_fr_plan_info.accrual_year_end),22);
873: hr_utility.set_location('l_fr_plan_info.ent_m_iv_id is: '||to_char(l_fr_plan_info.ent_m_iv_id), 22);
874: hr_utility.set_location('l_fr_plan_info.ent_accrual_date_iv_id is: '||to_char(l_fr_plan_info.ent_accrual_date_iv_id), 22);
875: -- Get the ENTitlement Entries for this assignment / accrual date
868: -- /***/
869: --
870: hr_utility.set_location(' Accrual type is: '||p_accrual_type, 22);
871: hr_utility.set_location('Legal period end is: '||to_char(p_legal_period_end), 22);
872: hr_utility.set_location('Accrual year end is: '||to_char(l_fr_plan_info.accrual_year_end),22);
873: hr_utility.set_location('l_fr_plan_info.ent_m_iv_id is: '||to_char(l_fr_plan_info.ent_m_iv_id), 22);
874: hr_utility.set_location('l_fr_plan_info.ent_accrual_date_iv_id is: '||to_char(l_fr_plan_info.ent_accrual_date_iv_id), 22);
875: -- Get the ENTitlement Entries for this assignment / accrual date
876: -- Added condition for addtional holidays
869: --
870: hr_utility.set_location(' Accrual type is: '||p_accrual_type, 22);
871: hr_utility.set_location('Legal period end is: '||to_char(p_legal_period_end), 22);
872: hr_utility.set_location('Accrual year end is: '||to_char(l_fr_plan_info.accrual_year_end),22);
873: hr_utility.set_location('l_fr_plan_info.ent_m_iv_id is: '||to_char(l_fr_plan_info.ent_m_iv_id), 22);
874: hr_utility.set_location('l_fr_plan_info.ent_accrual_date_iv_id is: '||to_char(l_fr_plan_info.ent_accrual_date_iv_id), 22);
875: -- Get the ENTitlement Entries for this assignment / accrual date
876: -- Added condition for addtional holidays
877: IF p_accrual_type = 'ADD' THEN
870: hr_utility.set_location(' Accrual type is: '||p_accrual_type, 22);
871: hr_utility.set_location('Legal period end is: '||to_char(p_legal_period_end), 22);
872: hr_utility.set_location('Accrual year end is: '||to_char(l_fr_plan_info.accrual_year_end),22);
873: hr_utility.set_location('l_fr_plan_info.ent_m_iv_id is: '||to_char(l_fr_plan_info.ent_m_iv_id), 22);
874: hr_utility.set_location('l_fr_plan_info.ent_accrual_date_iv_id is: '||to_char(l_fr_plan_info.ent_accrual_date_iv_id), 22);
875: -- Get the ENTitlement Entries for this assignment / accrual date
876: -- Added condition for addtional holidays
877: IF p_accrual_type = 'ADD' THEN
878: --
888: fetch csr_get_ent_obs into l_ent_m, l_ent_p, l_ent_c, l_ent_s, l_ent_y;
889: close csr_get_ent_obs;
890: --
891: END IF;
892: hr_utility.set_location('Step ' || l_proc,40);
893:
894: hr_utility.trace('l_ent_m is ' || l_ent_m);
895: hr_utility.trace('l_ent_p is ' || l_ent_p);
896: hr_utility.trace('l_ent_c is ' || l_ent_c);
890: --
891: END IF;
892: hr_utility.set_location('Step ' || l_proc,40);
893:
894: hr_utility.trace('l_ent_m is ' || l_ent_m);
895: hr_utility.trace('l_ent_p is ' || l_ent_p);
896: hr_utility.trace('l_ent_c is ' || l_ent_c);
897: hr_utility.trace('l_ent_s is ' || l_ent_s);
898: hr_utility.trace('l_ent_y is ' || l_ent_y);
891: END IF;
892: hr_utility.set_location('Step ' || l_proc,40);
893:
894: hr_utility.trace('l_ent_m is ' || l_ent_m);
895: hr_utility.trace('l_ent_p is ' || l_ent_p);
896: hr_utility.trace('l_ent_c is ' || l_ent_c);
897: hr_utility.trace('l_ent_s is ' || l_ent_s);
898: hr_utility.trace('l_ent_y is ' || l_ent_y);
899:
892: hr_utility.set_location('Step ' || l_proc,40);
893:
894: hr_utility.trace('l_ent_m is ' || l_ent_m);
895: hr_utility.trace('l_ent_p is ' || l_ent_p);
896: hr_utility.trace('l_ent_c is ' || l_ent_c);
897: hr_utility.trace('l_ent_s is ' || l_ent_s);
898: hr_utility.trace('l_ent_y is ' || l_ent_y);
899:
900: --
893:
894: hr_utility.trace('l_ent_m is ' || l_ent_m);
895: hr_utility.trace('l_ent_p is ' || l_ent_p);
896: hr_utility.trace('l_ent_c is ' || l_ent_c);
897: hr_utility.trace('l_ent_s is ' || l_ent_s);
898: hr_utility.trace('l_ent_y is ' || l_ent_y);
899:
900: --
901: -- The parameter p_ignore_ent_adjustments relates to the 'ENT' output variables.
894: hr_utility.trace('l_ent_m is ' || l_ent_m);
895: hr_utility.trace('l_ent_p is ' || l_ent_p);
896: hr_utility.trace('l_ent_c is ' || l_ent_c);
897: hr_utility.trace('l_ent_s is ' || l_ent_s);
898: hr_utility.trace('l_ent_y is ' || l_ent_y);
899:
900: --
901: -- The parameter p_ignore_ent_adjustments relates to the 'ENT' output variables.
902: -- If it is 'Y', the adjustments should not be added into the ENT parameters, otherwist they sdhould bw.
912: ,l_fr_plan_info.obs_s_iv_id, l_fr_plan_info.obs_c_iv_id
913: ,l_fr_plan_info.obs_y_iv_id, l_fr_plan_info.obs_accrual_date_iv_id);
914: fetch csr_get_ent_obs into l_obs_m, l_obs_p, l_obs_c, l_obs_s, l_obs_y;
915: close csr_get_ent_obs;
916: hr_utility.trace('l_obs_m is ' || l_obs_m);
917: hr_utility.trace('l_obs_p is ' || l_obs_p);
918: hr_utility.trace('l_obs_c is ' || l_obs_c);
919: hr_utility.trace('l_obs_s is ' || l_obs_s);
920: hr_utility.trace('l_obs_y is ' || l_obs_y);
913: ,l_fr_plan_info.obs_y_iv_id, l_fr_plan_info.obs_accrual_date_iv_id);
914: fetch csr_get_ent_obs into l_obs_m, l_obs_p, l_obs_c, l_obs_s, l_obs_y;
915: close csr_get_ent_obs;
916: hr_utility.trace('l_obs_m is ' || l_obs_m);
917: hr_utility.trace('l_obs_p is ' || l_obs_p);
918: hr_utility.trace('l_obs_c is ' || l_obs_c);
919: hr_utility.trace('l_obs_s is ' || l_obs_s);
920: hr_utility.trace('l_obs_y is ' || l_obs_y);
921:
914: fetch csr_get_ent_obs into l_obs_m, l_obs_p, l_obs_c, l_obs_s, l_obs_y;
915: close csr_get_ent_obs;
916: hr_utility.trace('l_obs_m is ' || l_obs_m);
917: hr_utility.trace('l_obs_p is ' || l_obs_p);
918: hr_utility.trace('l_obs_c is ' || l_obs_c);
919: hr_utility.trace('l_obs_s is ' || l_obs_s);
920: hr_utility.trace('l_obs_y is ' || l_obs_y);
921:
922: hr_utility.set_location('Step ' || l_proc,50);
915: close csr_get_ent_obs;
916: hr_utility.trace('l_obs_m is ' || l_obs_m);
917: hr_utility.trace('l_obs_p is ' || l_obs_p);
918: hr_utility.trace('l_obs_c is ' || l_obs_c);
919: hr_utility.trace('l_obs_s is ' || l_obs_s);
920: hr_utility.trace('l_obs_y is ' || l_obs_y);
921:
922: hr_utility.set_location('Step ' || l_proc,50);
923: --
916: hr_utility.trace('l_obs_m is ' || l_obs_m);
917: hr_utility.trace('l_obs_p is ' || l_obs_p);
918: hr_utility.trace('l_obs_c is ' || l_obs_c);
919: hr_utility.trace('l_obs_s is ' || l_obs_s);
920: hr_utility.trace('l_obs_y is ' || l_obs_y);
921:
922: hr_utility.set_location('Step ' || l_proc,50);
923: --
924: -- Get the ASJustment entries
918: hr_utility.trace('l_obs_c is ' || l_obs_c);
919: hr_utility.trace('l_obs_s is ' || l_obs_s);
920: hr_utility.trace('l_obs_y is ' || l_obs_y);
921:
922: hr_utility.set_location('Step ' || l_proc,50);
923: --
924: -- Get the ASJustment entries
925: --
926: open csr_get_ent_obs(l_fr_plan_info.adj_m_iv_id, l_fr_plan_info.adj_p_iv_id
927: ,l_fr_plan_info.adj_s_iv_id, l_fr_plan_info.adj_c_iv_id
928: ,l_fr_plan_info.adj_y_iv_id, l_fr_plan_info.adj_accrual_date_iv_id);
929: fetch csr_get_ent_obs into l_adj_m, l_adj_p, l_adj_c, l_adj_s, l_adj_y;
930: close csr_get_ent_obs;
931: hr_utility.trace('l_adj_m is ' || l_adj_m);
932: hr_utility.trace('l_adj_p is ' || l_adj_p);
933: hr_utility.trace('l_adj_c is ' || l_adj_c);
934: hr_utility.trace('l_adj_s is ' || l_adj_s);
935: hr_utility.trace('l_adj_y is ' || l_adj_y);
928: ,l_fr_plan_info.adj_y_iv_id, l_fr_plan_info.adj_accrual_date_iv_id);
929: fetch csr_get_ent_obs into l_adj_m, l_adj_p, l_adj_c, l_adj_s, l_adj_y;
930: close csr_get_ent_obs;
931: hr_utility.trace('l_adj_m is ' || l_adj_m);
932: hr_utility.trace('l_adj_p is ' || l_adj_p);
933: hr_utility.trace('l_adj_c is ' || l_adj_c);
934: hr_utility.trace('l_adj_s is ' || l_adj_s);
935: hr_utility.trace('l_adj_y is ' || l_adj_y);
936: hr_utility.set_location('Step ' || l_proc,60);
929: fetch csr_get_ent_obs into l_adj_m, l_adj_p, l_adj_c, l_adj_s, l_adj_y;
930: close csr_get_ent_obs;
931: hr_utility.trace('l_adj_m is ' || l_adj_m);
932: hr_utility.trace('l_adj_p is ' || l_adj_p);
933: hr_utility.trace('l_adj_c is ' || l_adj_c);
934: hr_utility.trace('l_adj_s is ' || l_adj_s);
935: hr_utility.trace('l_adj_y is ' || l_adj_y);
936: hr_utility.set_location('Step ' || l_proc,60);
937: --
930: close csr_get_ent_obs;
931: hr_utility.trace('l_adj_m is ' || l_adj_m);
932: hr_utility.trace('l_adj_p is ' || l_adj_p);
933: hr_utility.trace('l_adj_c is ' || l_adj_c);
934: hr_utility.trace('l_adj_s is ' || l_adj_s);
935: hr_utility.trace('l_adj_y is ' || l_adj_y);
936: hr_utility.set_location('Step ' || l_proc,60);
937: --
938: -- Uncommented and modified for termination
931: hr_utility.trace('l_adj_m is ' || l_adj_m);
932: hr_utility.trace('l_adj_p is ' || l_adj_p);
933: hr_utility.trace('l_adj_c is ' || l_adj_c);
934: hr_utility.trace('l_adj_s is ' || l_adj_s);
935: hr_utility.trace('l_adj_y is ' || l_adj_y);
936: hr_utility.set_location('Step ' || l_proc,60);
937: --
938: -- Uncommented and modified for termination
939: -- If this assignment is terminated, (ie there is a termination date),
932: hr_utility.trace('l_adj_p is ' || l_adj_p);
933: hr_utility.trace('l_adj_c is ' || l_adj_c);
934: hr_utility.trace('l_adj_s is ' || l_adj_s);
935: hr_utility.trace('l_adj_y is ' || l_adj_y);
936: hr_utility.set_location('Step ' || l_proc,60);
937: --
938: -- Uncommented and modified for termination
939: -- If this assignment is terminated, (ie there is a termination date),
940: -- Deduct any paid holidays
941: open csr_check_for_termination;
942: fetch csr_check_for_termination into l_unused_date;
943: if csr_check_for_termination%FOUND then
944: close csr_check_for_termination;
945: hr_utility.trace('IN TERMINATION');
946: --
947: --hr_utility.trace(' l_fr_plan_info.term_days_iv_ID ' || l_fr_plan_info.term_days_iv_ID);
948: --hr_utility.trace(' l_fr_plan_info.term_accrual_date_iv_ID ' || l_fr_plan_info.term_accrual_date_iv_ID);
949: --hr_utility.trace(' p_assignment_id ' || p_assignment_id);
943: if csr_check_for_termination%FOUND then
944: close csr_check_for_termination;
945: hr_utility.trace('IN TERMINATION');
946: --
947: --hr_utility.trace(' l_fr_plan_info.term_days_iv_ID ' || l_fr_plan_info.term_days_iv_ID);
948: --hr_utility.trace(' l_fr_plan_info.term_accrual_date_iv_ID ' || l_fr_plan_info.term_accrual_date_iv_ID);
949: --hr_utility.trace(' p_assignment_id ' || p_assignment_id);
950: --hr_utility.trace(' l_fr_plan_info.term_element_id ' || l_fr_plan_info.term_element_id);
951: --hr_utility.trace(' p_paid_days_to ' || p_paid_days_to);
944: close csr_check_for_termination;
945: hr_utility.trace('IN TERMINATION');
946: --
947: --hr_utility.trace(' l_fr_plan_info.term_days_iv_ID ' || l_fr_plan_info.term_days_iv_ID);
948: --hr_utility.trace(' l_fr_plan_info.term_accrual_date_iv_ID ' || l_fr_plan_info.term_accrual_date_iv_ID);
949: --hr_utility.trace(' p_assignment_id ' || p_assignment_id);
950: --hr_utility.trace(' l_fr_plan_info.term_element_id ' || l_fr_plan_info.term_element_id);
951: --hr_utility.trace(' p_paid_days_to ' || p_paid_days_to);
952: --hr_utility.trace(' l_fr_plan_info.accrual_year_start ' || l_fr_plan_info.accrual_year_start);
945: hr_utility.trace('IN TERMINATION');
946: --
947: --hr_utility.trace(' l_fr_plan_info.term_days_iv_ID ' || l_fr_plan_info.term_days_iv_ID);
948: --hr_utility.trace(' l_fr_plan_info.term_accrual_date_iv_ID ' || l_fr_plan_info.term_accrual_date_iv_ID);
949: --hr_utility.trace(' p_assignment_id ' || p_assignment_id);
950: --hr_utility.trace(' l_fr_plan_info.term_element_id ' || l_fr_plan_info.term_element_id);
951: --hr_utility.trace(' p_paid_days_to ' || p_paid_days_to);
952: --hr_utility.trace(' l_fr_plan_info.accrual_year_start ' || l_fr_plan_info.accrual_year_start);
953: --hr_utility.trace(' l_fr_plan_info.accrual_year_end ' || l_fr_plan_info.accrual_year_end);
946: --
947: --hr_utility.trace(' l_fr_plan_info.term_days_iv_ID ' || l_fr_plan_info.term_days_iv_ID);
948: --hr_utility.trace(' l_fr_plan_info.term_accrual_date_iv_ID ' || l_fr_plan_info.term_accrual_date_iv_ID);
949: --hr_utility.trace(' p_assignment_id ' || p_assignment_id);
950: --hr_utility.trace(' l_fr_plan_info.term_element_id ' || l_fr_plan_info.term_element_id);
951: --hr_utility.trace(' p_paid_days_to ' || p_paid_days_to);
952: --hr_utility.trace(' l_fr_plan_info.accrual_year_start ' || l_fr_plan_info.accrual_year_start);
953: --hr_utility.trace(' l_fr_plan_info.accrual_year_end ' || l_fr_plan_info.accrual_year_end);
954: --hr_utility.trace(' p_paid_days_to ' || p_paid_days_to);
947: --hr_utility.trace(' l_fr_plan_info.term_days_iv_ID ' || l_fr_plan_info.term_days_iv_ID);
948: --hr_utility.trace(' l_fr_plan_info.term_accrual_date_iv_ID ' || l_fr_plan_info.term_accrual_date_iv_ID);
949: --hr_utility.trace(' p_assignment_id ' || p_assignment_id);
950: --hr_utility.trace(' l_fr_plan_info.term_element_id ' || l_fr_plan_info.term_element_id);
951: --hr_utility.trace(' p_paid_days_to ' || p_paid_days_to);
952: --hr_utility.trace(' l_fr_plan_info.accrual_year_start ' || l_fr_plan_info.accrual_year_start);
953: --hr_utility.trace(' l_fr_plan_info.accrual_year_end ' || l_fr_plan_info.accrual_year_end);
954: --hr_utility.trace(' p_paid_days_to ' || p_paid_days_to);
955:
948: --hr_utility.trace(' l_fr_plan_info.term_accrual_date_iv_ID ' || l_fr_plan_info.term_accrual_date_iv_ID);
949: --hr_utility.trace(' p_assignment_id ' || p_assignment_id);
950: --hr_utility.trace(' l_fr_plan_info.term_element_id ' || l_fr_plan_info.term_element_id);
951: --hr_utility.trace(' p_paid_days_to ' || p_paid_days_to);
952: --hr_utility.trace(' l_fr_plan_info.accrual_year_start ' || l_fr_plan_info.accrual_year_start);
953: --hr_utility.trace(' l_fr_plan_info.accrual_year_end ' || l_fr_plan_info.accrual_year_end);
954: --hr_utility.trace(' p_paid_days_to ' || p_paid_days_to);
955:
956: open csr_get_paid_days ;
949: --hr_utility.trace(' p_assignment_id ' || p_assignment_id);
950: --hr_utility.trace(' l_fr_plan_info.term_element_id ' || l_fr_plan_info.term_element_id);
951: --hr_utility.trace(' p_paid_days_to ' || p_paid_days_to);
952: --hr_utility.trace(' l_fr_plan_info.accrual_year_start ' || l_fr_plan_info.accrual_year_start);
953: --hr_utility.trace(' l_fr_plan_info.accrual_year_end ' || l_fr_plan_info.accrual_year_end);
954: --hr_utility.trace(' p_paid_days_to ' || p_paid_days_to);
955:
956: open csr_get_paid_days ;
957: fetch csr_get_paid_days into l_term_payment;
950: --hr_utility.trace(' l_fr_plan_info.term_element_id ' || l_fr_plan_info.term_element_id);
951: --hr_utility.trace(' p_paid_days_to ' || p_paid_days_to);
952: --hr_utility.trace(' l_fr_plan_info.accrual_year_start ' || l_fr_plan_info.accrual_year_start);
953: --hr_utility.trace(' l_fr_plan_info.accrual_year_end ' || l_fr_plan_info.accrual_year_end);
954: --hr_utility.trace(' p_paid_days_to ' || p_paid_days_to);
955:
956: open csr_get_paid_days ;
957: fetch csr_get_paid_days into l_term_payment;
958: close csr_get_paid_days;
962: close csr_check_for_termination;
963: end if;
964: --
965: IF p_type_calculation = 'N' THEN
966: hr_utility.trace('P type = N');
967: --
968: -- only deduct holidays if there is entitlement stored against this accrual plan
969: -- otherwise it will be taken off of accrual
970: --
975: ,p_latest_date => l_latest_entitlement_date
976: ,p_entitlement_start_date => l_unused_date
977: ,p_accrual_start_date => l_unused_date
978: ,p_accrual_end_date => l_unused_date);
979: hr_utility.set_location('Step ' || l_proc,70);
980: --
981: IF l_latest_entitlement_date > to_date('1990-01-01','yyyy-mm-dd') THEN
982: --
983: -- Deduct any holidays booked against this assignment / accrual plan / accrual date
981: IF l_latest_entitlement_date > to_date('1990-01-01','yyyy-mm-dd') THEN
982: --
983: -- Deduct any holidays booked against this assignment / accrual plan / accrual date
984: --
985: hr_utility.set_location('Step ' || l_proc,80);
986: l_ret := Get_fr_holidays_booked_list (
987: P_assignment_id => p_assignment_id
988: ,p_business_Group_id => l_fr_plan_info.business_Group_id
989: ,P_accrual_plan_id => p_accrual_plan_id
994: ,p_total_p => l_booked_p
995: ,p_total_c => l_booked_c
996: ,p_total_s => l_booked_s
997: ,p_total_y => l_booked_y );
998: hr_utility.set_location('Step ' || l_proc,90);
999: END IF;
1000: ELSE
1001: IF p_type_calculation = 'Y' then /* payslip */
1002: hr_utility.trace('P type = Y');
998: hr_utility.set_location('Step ' || l_proc,90);
999: END IF;
1000: ELSE
1001: IF p_type_calculation = 'Y' then /* payslip */
1002: hr_utility.trace('P type = Y');
1003: -- This calculation is for the payslip - deduct holidays paid for asg / plan / year
1004: --
1005: open csr_previous_action_sequence;
1006: fetch csr_previous_action_sequence into l_action_sequence;
1007: close csr_previous_action_sequence;
1008: open csr_previous_paid_absences;
1009: fetch csr_previous_paid_absences into l_previous_paid_absences;
1010: l_previous_paid_absences := nvl(l_previous_paid_absences, 0);
1011: hr_utility.trace('l_previous_paid_absences is ' || l_previous_paid_absences);
1012: close csr_previous_paid_absences;
1013: hr_utility.set_location('Step ' || l_proc,100);
1014: open csr_previous_paid_absences_r;
1015: fetch csr_previous_paid_absences_r into l_previous_paid_absences_retro;
1009: fetch csr_previous_paid_absences into l_previous_paid_absences;
1010: l_previous_paid_absences := nvl(l_previous_paid_absences, 0);
1011: hr_utility.trace('l_previous_paid_absences is ' || l_previous_paid_absences);
1012: close csr_previous_paid_absences;
1013: hr_utility.set_location('Step ' || l_proc,100);
1014: open csr_previous_paid_absences_r;
1015: fetch csr_previous_paid_absences_r into l_previous_paid_absences_retro;
1016: l_previous_paid_absences_retro := nvl(l_previous_paid_absences_retro, 0);
1017: l_previous_paid_absences := nvl(l_previous_paid_absences, 0) + l_previous_paid_absences_retro;
1014: open csr_previous_paid_absences_r;
1015: fetch csr_previous_paid_absences_r into l_previous_paid_absences_retro;
1016: l_previous_paid_absences_retro := nvl(l_previous_paid_absences_retro, 0);
1017: l_previous_paid_absences := nvl(l_previous_paid_absences, 0) + l_previous_paid_absences_retro;
1018: hr_utility.trace('l_previous_paid_absences is ' || l_previous_paid_absences);
1019: close csr_previous_paid_absences_r;
1020: hr_utility.set_location('Step ' || l_proc,110);
1021: --
1022: -- This calculation is for the payslip - find holidays taken this period
1016: l_previous_paid_absences_retro := nvl(l_previous_paid_absences_retro, 0);
1017: l_previous_paid_absences := nvl(l_previous_paid_absences, 0) + l_previous_paid_absences_retro;
1018: hr_utility.trace('l_previous_paid_absences is ' || l_previous_paid_absences);
1019: close csr_previous_paid_absences_r;
1020: hr_utility.set_location('Step ' || l_proc,110);
1021: --
1022: -- This calculation is for the payslip - find holidays taken this period
1023: --
1024: open csr_current_action_sequence;
1023: --
1024: open csr_current_action_sequence;
1025: fetch csr_current_action_sequence into l_action_sequence;
1026: close csr_current_action_sequence;
1027: hr_utility.trace('csr_current_paid_absences is ' || l_Action_sequence);
1028: hr_utility.trace('p_paid_days_to is ' || to_char(p_paid_days_to));
1029: open csr_current_paid_absences;
1030: fetch csr_current_paid_absences into l_current_paid_absences;
1031: l_current_paid_absences := nvl(l_current_paid_absences, 0);
1024: open csr_current_action_sequence;
1025: fetch csr_current_action_sequence into l_action_sequence;
1026: close csr_current_action_sequence;
1027: hr_utility.trace('csr_current_paid_absences is ' || l_Action_sequence);
1028: hr_utility.trace('p_paid_days_to is ' || to_char(p_paid_days_to));
1029: open csr_current_paid_absences;
1030: fetch csr_current_paid_absences into l_current_paid_absences;
1031: l_current_paid_absences := nvl(l_current_paid_absences, 0);
1032: hr_utility.trace('l_current_paid_absences is ' || l_current_paid_absences);
1028: hr_utility.trace('p_paid_days_to is ' || to_char(p_paid_days_to));
1029: open csr_current_paid_absences;
1030: fetch csr_current_paid_absences into l_current_paid_absences;
1031: l_current_paid_absences := nvl(l_current_paid_absences, 0);
1032: hr_utility.trace('l_current_paid_absences is ' || l_current_paid_absences);
1033: close csr_current_paid_absences;
1034: hr_utility.set_location('Step ' || l_proc,120);
1035:
1036: open csr_current_paid_absences_r;
1030: fetch csr_current_paid_absences into l_current_paid_absences;
1031: l_current_paid_absences := nvl(l_current_paid_absences, 0);
1032: hr_utility.trace('l_current_paid_absences is ' || l_current_paid_absences);
1033: close csr_current_paid_absences;
1034: hr_utility.set_location('Step ' || l_proc,120);
1035:
1036: open csr_current_paid_absences_r;
1037: fetch csr_current_paid_absences_r into l_current_paid_absences_retro;
1038: l_current_paid_absences := nvl(l_current_paid_absences, 0) + nvl(l_current_paid_absences_retro, 0);
1035:
1036: open csr_current_paid_absences_r;
1037: fetch csr_current_paid_absences_r into l_current_paid_absences_retro;
1038: l_current_paid_absences := nvl(l_current_paid_absences, 0) + nvl(l_current_paid_absences_retro, 0);
1039: hr_utility.trace('l_current_paid_absences is ' || l_current_paid_absences);
1040: close csr_current_paid_absences_r;
1041: hr_utility.set_location('Step ' || l_proc,130);
1042:
1043: -- Added code for termination
1037: fetch csr_current_paid_absences_r into l_current_paid_absences_retro;
1038: l_current_paid_absences := nvl(l_current_paid_absences, 0) + nvl(l_current_paid_absences_retro, 0);
1039: hr_utility.trace('l_current_paid_absences is ' || l_current_paid_absences);
1040: close csr_current_paid_absences_r;
1041: hr_utility.set_location('Step ' || l_proc,130);
1042:
1043: -- Added code for termination
1044: l_current_paid_absences := l_current_paid_absences + nvl(l_term_payment,0);
1045: --
1043: -- Added code for termination
1044: l_current_paid_absences := l_current_paid_absences + nvl(l_term_payment,0);
1045: --
1046: ELSE
1047: hr_utility.trace('P type = ACCRUALS');
1048: --
1049: -- This calculation is for accruals - deduct all hols taken prior to date earned.
1050: --
1051: open csr_previous_and_current_seq;
1050: --
1051: open csr_previous_and_current_seq;
1052: fetch csr_previous_and_current_seq into l_action_sequence;
1053: close csr_previous_and_current_seq;
1054: hr_utility.trace('csr_prev_and_current_paid_abs is ' || l_action_sequence);
1055: open csr_prev_and_current_paid_abs;
1056: fetch csr_prev_and_current_paid_abs into l_previous_paid_absences;
1057: close csr_prev_and_current_paid_abs;
1058: hr_utility.set_location('Step ' || l_proc,135);
1054: hr_utility.trace('csr_prev_and_current_paid_abs is ' || l_action_sequence);
1055: open csr_prev_and_current_paid_abs;
1056: fetch csr_prev_and_current_paid_abs into l_previous_paid_absences;
1057: close csr_prev_and_current_paid_abs;
1058: hr_utility.set_location('Step ' || l_proc,135);
1059:
1060: open csr_prev_and_cur_paid_abs_r;
1061: fetch csr_prev_and_cur_paid_abs_r into l_previous_paid_absences_retro;
1062: close csr_prev_and_cur_paid_abs_r;
1060: open csr_prev_and_cur_paid_abs_r;
1061: fetch csr_prev_and_cur_paid_abs_r into l_previous_paid_absences_retro;
1062: close csr_prev_and_cur_paid_abs_r;
1063: l_previous_paid_absences := nvl(l_previous_paid_absences,0) + nvl(l_previous_paid_absences_retro,0);
1064: hr_utility.set_location('Step ' || l_proc,145);
1065:
1066: -- Added code for termination
1067: l_previous_paid_absences := l_previous_paid_absences + nvl(l_term_payment,0);
1068: --
1070: END IF;
1071: --
1072: -- Modified for termination
1073: --
1074: hr_utility.set_location('Step ' || l_proc,150);
1075:
1076: hr_utility.trace('l_ent_m is ' || l_ent_m);
1077: hr_utility.trace('l_ent_p is ' || l_ent_p);
1078: hr_utility.trace('l_ent_c is ' || l_ent_c);
1072: -- Modified for termination
1073: --
1074: hr_utility.set_location('Step ' || l_proc,150);
1075:
1076: hr_utility.trace('l_ent_m is ' || l_ent_m);
1077: hr_utility.trace('l_ent_p is ' || l_ent_p);
1078: hr_utility.trace('l_ent_c is ' || l_ent_c);
1079: hr_utility.trace('l_ent_s is ' || l_ent_s);
1080: hr_utility.trace('l_ent_y is ' || l_ent_y);
1073: --
1074: hr_utility.set_location('Step ' || l_proc,150);
1075:
1076: hr_utility.trace('l_ent_m is ' || l_ent_m);
1077: hr_utility.trace('l_ent_p is ' || l_ent_p);
1078: hr_utility.trace('l_ent_c is ' || l_ent_c);
1079: hr_utility.trace('l_ent_s is ' || l_ent_s);
1080: hr_utility.trace('l_ent_y is ' || l_ent_y);
1081:
1074: hr_utility.set_location('Step ' || l_proc,150);
1075:
1076: hr_utility.trace('l_ent_m is ' || l_ent_m);
1077: hr_utility.trace('l_ent_p is ' || l_ent_p);
1078: hr_utility.trace('l_ent_c is ' || l_ent_c);
1079: hr_utility.trace('l_ent_s is ' || l_ent_s);
1080: hr_utility.trace('l_ent_y is ' || l_ent_y);
1081:
1082:
1075:
1076: hr_utility.trace('l_ent_m is ' || l_ent_m);
1077: hr_utility.trace('l_ent_p is ' || l_ent_p);
1078: hr_utility.trace('l_ent_c is ' || l_ent_c);
1079: hr_utility.trace('l_ent_s is ' || l_ent_s);
1080: hr_utility.trace('l_ent_y is ' || l_ent_y);
1081:
1082:
1083: l_net_main := nvl(l_ent_m,0) + nvl(l_adj_m,0) + nvl(l_obs_m,0) - nvl(l_booked_m,0)- nvl(l_term_payment,0);
1076: hr_utility.trace('l_ent_m is ' || l_ent_m);
1077: hr_utility.trace('l_ent_p is ' || l_ent_p);
1078: hr_utility.trace('l_ent_c is ' || l_ent_c);
1079: hr_utility.trace('l_ent_s is ' || l_ent_s);
1080: hr_utility.trace('l_ent_y is ' || l_ent_y);
1081:
1082:
1083: l_net_main := nvl(l_ent_m,0) + nvl(l_adj_m,0) + nvl(l_obs_m,0) - nvl(l_booked_m,0)- nvl(l_term_payment,0);
1084: hr_utility.trace('l_term_payment is ' || l_term_payment);
1080: hr_utility.trace('l_ent_y is ' || l_ent_y);
1081:
1082:
1083: l_net_main := nvl(l_ent_m,0) + nvl(l_adj_m,0) + nvl(l_obs_m,0) - nvl(l_booked_m,0)- nvl(l_term_payment,0);
1084: hr_utility.trace('l_term_payment is ' || l_term_payment);
1085: hr_utility.trace('l_booked_m is ' || l_booked_m);
1086: hr_utility.trace('18 l_NET_main is ' || l_net_main);
1087: -- replaced out paramter with declared variable
1088: l_net_protected := nvl(l_ent_p,0) + nvl(l_adj_p,0) + nvl(l_obs_p,0) - nvl(l_booked_p,0);
1081:
1082:
1083: l_net_main := nvl(l_ent_m,0) + nvl(l_adj_m,0) + nvl(l_obs_m,0) - nvl(l_booked_m,0)- nvl(l_term_payment,0);
1084: hr_utility.trace('l_term_payment is ' || l_term_payment);
1085: hr_utility.trace('l_booked_m is ' || l_booked_m);
1086: hr_utility.trace('18 l_NET_main is ' || l_net_main);
1087: -- replaced out paramter with declared variable
1088: l_net_protected := nvl(l_ent_p,0) + nvl(l_adj_p,0) + nvl(l_obs_p,0) - nvl(l_booked_p,0);
1089: -- Bug 2861012
1082:
1083: l_net_main := nvl(l_ent_m,0) + nvl(l_adj_m,0) + nvl(l_obs_m,0) - nvl(l_booked_m,0)- nvl(l_term_payment,0);
1084: hr_utility.trace('l_term_payment is ' || l_term_payment);
1085: hr_utility.trace('l_booked_m is ' || l_booked_m);
1086: hr_utility.trace('18 l_NET_main is ' || l_net_main);
1087: -- replaced out paramter with declared variable
1088: l_net_protected := nvl(l_ent_p,0) + nvl(l_adj_p,0) + nvl(l_obs_p,0) - nvl(l_booked_p,0);
1089: -- Bug 2861012
1090: l_net_conventional := nvl(l_ent_c,0) + nvl(l_adj_c,0) + nvl(l_obs_c,0) - nvl(l_booked_c,0);
1102: + l_net_young_mothers
1103: + l_net_conventional;
1104:
1105: if p_ignore_ent_adjustments = 'N' THEN
1106: hr_utility.trace('P_IGNORE ENT ADJ IS N');
1107: l_ent_main := nvl(l_ent_m,0) + nvl(l_adj_m,0);
1108: l_ent_protected := nvl(l_ent_p,0) + nvl(l_adj_p,0);
1109: l_ent_conventional := nvl(l_ent_c,0) + nvl(l_adj_c,0);
1110: l_ent_seniority := nvl(l_ent_s,0) + nvl(l_adj_s,0);
1108: l_ent_protected := nvl(l_ent_p,0) + nvl(l_adj_p,0);
1109: l_ent_conventional := nvl(l_ent_c,0) + nvl(l_adj_c,0);
1110: l_ent_seniority := nvl(l_ent_s,0) + nvl(l_adj_s,0);
1111: l_ent_young_mothers := nvl(l_ent_y,0) + nvl(l_adj_y,0);
1112: hr_utility.set_location('Step ' || l_proc,120);
1113: hr_utility.trace('20 l_ent_main ' || l_ent_main);
1114: ELSE
1115: hr_utility.trace('P_IGNORE ENT ADJ IS Y');
1116: l_ent_main := nvl(l_ent_m,0);
1109: l_ent_conventional := nvl(l_ent_c,0) + nvl(l_adj_c,0);
1110: l_ent_seniority := nvl(l_ent_s,0) + nvl(l_adj_s,0);
1111: l_ent_young_mothers := nvl(l_ent_y,0) + nvl(l_adj_y,0);
1112: hr_utility.set_location('Step ' || l_proc,120);
1113: hr_utility.trace('20 l_ent_main ' || l_ent_main);
1114: ELSE
1115: hr_utility.trace('P_IGNORE ENT ADJ IS Y');
1116: l_ent_main := nvl(l_ent_m,0);
1117: l_ent_protected := nvl(l_ent_p,0);
1111: l_ent_young_mothers := nvl(l_ent_y,0) + nvl(l_adj_y,0);
1112: hr_utility.set_location('Step ' || l_proc,120);
1113: hr_utility.trace('20 l_ent_main ' || l_ent_main);
1114: ELSE
1115: hr_utility.trace('P_IGNORE ENT ADJ IS Y');
1116: l_ent_main := nvl(l_ent_m,0);
1117: l_ent_protected := nvl(l_ent_p,0);
1118: l_ent_conventional := nvl(l_ent_c,0);
1119: l_ent_seniority := nvl(l_ent_s,0);
1117: l_ent_protected := nvl(l_ent_p,0);
1118: l_ent_conventional := nvl(l_ent_c,0);
1119: l_ent_seniority := nvl(l_ent_s,0);
1120: l_ent_young_mothers := nvl(l_ent_y,0);
1121: hr_utility.set_location('Step ' || l_proc,130);
1122: hr_utility.trace('21 l_ent_main ' || l_ent_main);
1123: END IF;
1124: IF p_type_calculation = 'Y' or p_type_calculation = 'A' THEN /* paYslip or Accruals */
1125: hr_utility.trace('IN Y OR A - resetting l_ent_main');
1118: l_ent_conventional := nvl(l_ent_c,0);
1119: l_ent_seniority := nvl(l_ent_s,0);
1120: l_ent_young_mothers := nvl(l_ent_y,0);
1121: hr_utility.set_location('Step ' || l_proc,130);
1122: hr_utility.trace('21 l_ent_main ' || l_ent_main);
1123: END IF;
1124: IF p_type_calculation = 'Y' or p_type_calculation = 'A' THEN /* paYslip or Accruals */
1125: hr_utility.trace('IN Y OR A - resetting l_ent_main');
1126: hr_utility.trace('22 l_NET_main is ' || l_net_main);
1121: hr_utility.set_location('Step ' || l_proc,130);
1122: hr_utility.trace('21 l_ent_main ' || l_ent_main);
1123: END IF;
1124: IF p_type_calculation = 'Y' or p_type_calculation = 'A' THEN /* paYslip or Accruals */
1125: hr_utility.trace('IN Y OR A - resetting l_ent_main');
1126: hr_utility.trace('22 l_NET_main is ' || l_net_main);
1127: --
1128: -- Use only the net main and ent main OUT variables as totals. Still include termination paid days.
1129: -- Replaced out paramter p_net_protected
1122: hr_utility.trace('21 l_ent_main ' || l_ent_main);
1123: END IF;
1124: IF p_type_calculation = 'Y' or p_type_calculation = 'A' THEN /* paYslip or Accruals */
1125: hr_utility.trace('IN Y OR A - resetting l_ent_main');
1126: hr_utility.trace('22 l_NET_main is ' || l_net_main);
1127: --
1128: -- Use only the net main and ent main OUT variables as totals. Still include termination paid days.
1129: -- Replaced out paramter p_net_protected
1130:
1130:
1131: -- carry out similar change for p_net_conventional,p_net_seniority and p_net_young_mothers
1132: -- Bug 2861012
1133: l_ent_main := l_net_main + l_net_protected + l_net_conventional + l_net_seniority + l_net_young_mothers - nvl(l_previous_paid_absences,0);
1134: hr_utility.set_location('l_ent_main: '||to_char(l_ent_main), 22);
1135: l_net_main := nvl(l_current_paid_absences,0);
1136: l_net_protected := 0;
1137:
1138: -- Bug 2861012
1143: l_ent_young_mothers := 0;
1144: l_ent_seniority := 0;
1145: l_ent_conventional := 0;
1146: p_remaining := nvl(l_term_payment,0);
1147: hr_utility.set_location('Step ' || l_proc,160);
1148: END IF;
1149:
1150: p_accrual_start_date := l_fr_plan_info.accrual_year_start;
1151: p_accrual_end_date := l_fr_plan_info.accrual_year_end;
1161: p_ent_conventional := l_ent_conventional;
1162: p_ent_seniority := l_ent_seniority;
1163: p_ent_young_mothers := l_ent_young_mothers;
1164:
1165: hr_utility.set_location('p_ent_main is :'||to_char(p_ent_main), 22);
1166: hr_utility.set_location('Leaving: '||l_proc,170);
1167: end get_fr_net_entitlement;
1168: --------------------------------------------------------------------------------
1169: -- Read_Regularization_Payment
1162: p_ent_seniority := l_ent_seniority;
1163: p_ent_young_mothers := l_ent_young_mothers;
1164:
1165: hr_utility.set_location('p_ent_main is :'||to_char(p_ent_main), 22);
1166: hr_utility.set_location('Leaving: '||l_proc,170);
1167: end get_fr_net_entitlement;
1168: --------------------------------------------------------------------------------
1169: -- Read_Regularization_Payment
1170: --------------------------------------------------------------------------------
1758: ,pay_payroll_Actions ppa
1759: where ppa.payroll_action_id = paa.payroll_action_id
1760: and paa.assignment_id = p_assignment_id;
1761: begin
1762: hr_utility.set_location('Entering ' || l_proc,10);
1763: -- --fnd_file.put_line(fnd_file.log,'Entering ' || l_proc);
1764:
1765: --
1766: -- Fetch the effective_date
1774: l_fr_plan_info := get_fr_accrual_plan_info(
1775: p_accrual_plan_id => p_accrual_plan_id
1776: ,p_accrual_date => p_accrual_date );
1777:
1778: hr_utility.set_location('Step ' || l_proc,20);
1779: --
1780: -- Get the Payment globals
1781: --
1782: l_fr_pay_info := get_payment_globals;
1780: -- Get the Payment globals
1781: --
1782: l_fr_pay_info := get_payment_globals;
1783: l_fr_pay_r_info := get_payment_globals_r;
1784: hr_utility.set_location('Step ' || l_proc,30);
1785: --
1786: -- Calculate if the accrual period has ended yet - this is needed as the regularized payment
1787: -- is only possible if the accrual period is closed and therefore the salary balance is known.
1788: --
1787: -- is only possible if the accrual period is closed and therefore the salary balance is known.
1788: --
1789: if p_date_earned >= l_fr_plan_info.accrual_year_end then
1790: l_regularization_possible := 'Y';
1791: hr_utility.set_location('Step ' || l_proc,40);
1792: else
1793: l_regularization_possible := 'N';
1794: end if;
1795: --
1822: ,P_ENT_ACCRUAL_DATE_IV_ID => ''
1823: ,P_REF_MAIN_DAYS => l_reference_entitlement
1824: ,P_REF_SALARY => l_reference_salary);
1825:
1826: hr_utility.set_location('In reg_details, l_reference_entitlement 1 ' , l_reference_entitlement);
1827:
1828: --
1829: -- A regularization is only posible if the reference salary is non-zero and
1830: -- the reference days is non-zero.
1830: -- the reference days is non-zero.
1831: --
1832: IF ((nvl(l_reference_entitlement,0) = 0) OR (nvl(l_reference_salary,0) = 0)) THEN
1833: l_regularization_possible := 'N';
1834: hr_utility.set_location('Step ' || l_proc,60);
1835: END IF;
1836: end if;
1837: hr_utility.set_location('In reg_details, l_reference_entitlement 2 ' , l_reference_entitlement);
1838:
1833: l_regularization_possible := 'N';
1834: hr_utility.set_location('Step ' || l_proc,60);
1835: END IF;
1836: end if;
1837: hr_utility.set_location('In reg_details, l_reference_entitlement 2 ' , l_reference_entitlement);
1838:
1839: --
1840: -- if a regularization is possible, get the total days paid, and the original payments
1841: -- paid for these days.
1843: IF l_regularization_possible = 'Y' THEN
1844: open csr_action_sequence_all_paid;
1845: fetch csr_action_sequence_all_paid into l_action_sequence;
1846: close csr_action_sequence_all_paid;
1847: hr_utility.trace('new action seq csr_fetch_all_paid_absences is ' || l_action_sequence);
1848: open csr_fetch_all_paid_absences;
1849: fetch csr_fetch_all_paid_absences into l_total_days_paid, l_total_payment_made;
1850: close csr_fetch_all_paid_absences;
1851: --
1852: -- adjust for any retro paid absences
1853: open csr_fetch_all_paid_absences_r;
1854: fetch csr_fetch_all_paid_absences_r into l_total_days_paid_r, l_total_payment_made_r;
1855: close csr_fetch_all_paid_absences_r;
1856: hr_utility.trace('regularization paid absence csr, l_total_days_paid:' || to_char(l_total_days_paid) ||
1857: ' l_total_payment_made:'|| to_char(l_total_payment_made) ||
1858: ' l_total_days_paid_r:' || to_char(l_total_days_paid_r) ||
1859: ' l_total_payment_made_r:'|| to_char(l_total_payment_made_r));
1860:
1860:
1861: l_total_days_paid := l_total_days_paid + nvl(l_total_days_paid_r,0);
1862: l_total_payment_made := l_total_payment_made + nvl(l_total_payment_made_r,0);
1863:
1864: hr_utility.set_location('Step ' || l_proc,70);
1865: hr_utility.set_location('In reg_details, l_reference_entitlement 3 ' , l_reference_entitlement);
1866: -- Also, get the total of regularization payments already made for asg/accrual plan/accrual date
1867: --
1868: l_action_sequence := null;
1861: l_total_days_paid := l_total_days_paid + nvl(l_total_days_paid_r,0);
1862: l_total_payment_made := l_total_payment_made + nvl(l_total_payment_made_r,0);
1863:
1864: hr_utility.set_location('Step ' || l_proc,70);
1865: hr_utility.set_location('In reg_details, l_reference_entitlement 3 ' , l_reference_entitlement);
1866: -- Also, get the total of regularization payments already made for asg/accrual plan/accrual date
1867: --
1868: l_action_sequence := null;
1869: hr_utility.trace('new action seq csr_fetch_all_reg_payments is ' || l_action_sequence);
1865: hr_utility.set_location('In reg_details, l_reference_entitlement 3 ' , l_reference_entitlement);
1866: -- Also, get the total of regularization payments already made for asg/accrual plan/accrual date
1867: --
1868: l_action_sequence := null;
1869: hr_utility.trace('new action seq csr_fetch_all_reg_payments is ' || l_action_sequence);
1870: open csr_fetch_all_reg_payments;
1871: fetch csr_fetch_all_reg_payments into l_previous_reg_payments;
1872: close csr_fetch_all_reg_payments;
1873: hr_utility.set_location('In reg_details, l_reference_entitlement 4 ' , l_reference_entitlement);
1869: hr_utility.trace('new action seq csr_fetch_all_reg_payments is ' || l_action_sequence);
1870: open csr_fetch_all_reg_payments;
1871: fetch csr_fetch_all_reg_payments into l_previous_reg_payments;
1872: close csr_fetch_all_reg_payments;
1873: hr_utility.set_location('In reg_details, l_reference_entitlement 4 ' , l_reference_entitlement);
1874: hr_utility.set_location('Step ' || l_proc,80);
1875: -- fetch all regularization payments paid by termination element
1876: OPEN csr_fetch_term_reg_pymts;
1877: FETCH csr_fetch_term_reg_pymts INTO l_term_reg_payments;
1870: open csr_fetch_all_reg_payments;
1871: fetch csr_fetch_all_reg_payments into l_previous_reg_payments;
1872: close csr_fetch_all_reg_payments;
1873: hr_utility.set_location('In reg_details, l_reference_entitlement 4 ' , l_reference_entitlement);
1874: hr_utility.set_location('Step ' || l_proc,80);
1875: -- fetch all regularization payments paid by termination element
1876: OPEN csr_fetch_term_reg_pymts;
1877: FETCH csr_fetch_term_reg_pymts INTO l_term_reg_payments;
1878: CLOSE csr_fetch_term_reg_pymts;
1881:
1882: END IF;
1883: IF nvl(l_reference_entitlement,0) = 0 then
1884: l_regularization_possible := 'N';
1885: hr_utility.set_location('Step ' || l_proc,90);
1886: END IF;
1887:
1888: hr_utility.set_location('In reg_details, l_reference_entitlement 5 ' , l_reference_entitlement);
1889: hr_utility.set_location('l_fr_pay_info.pay_reg_payment_input_ID' , l_fr_pay_info.pay_reg_payment_input_ID);
1884: l_regularization_possible := 'N';
1885: hr_utility.set_location('Step ' || l_proc,90);
1886: END IF;
1887:
1888: hr_utility.set_location('In reg_details, l_reference_entitlement 5 ' , l_reference_entitlement);
1889: hr_utility.set_location('l_fr_pay_info.pay_reg_payment_input_ID' , l_fr_pay_info.pay_reg_payment_input_ID);
1890: hr_utility.set_location('l_fr_pay_info.pay_reg_date_input_ID' , l_fr_pay_info.pay_reg_date_input_ID);
1891: hr_utility.set_location('l_fr_pay_info.pay_reg_plan_input_ID' , l_fr_pay_info.pay_reg_plan_input_ID);
1892: hr_utility.set_location('p_assignment_id ' , p_assignment_id );
1885: hr_utility.set_location('Step ' || l_proc,90);
1886: END IF;
1887:
1888: hr_utility.set_location('In reg_details, l_reference_entitlement 5 ' , l_reference_entitlement);
1889: hr_utility.set_location('l_fr_pay_info.pay_reg_payment_input_ID' , l_fr_pay_info.pay_reg_payment_input_ID);
1890: hr_utility.set_location('l_fr_pay_info.pay_reg_date_input_ID' , l_fr_pay_info.pay_reg_date_input_ID);
1891: hr_utility.set_location('l_fr_pay_info.pay_reg_plan_input_ID' , l_fr_pay_info.pay_reg_plan_input_ID);
1892: hr_utility.set_location('p_assignment_id ' , p_assignment_id );
1893: hr_utility.set_location('l_fr_pay_info.pay_reg_element_id' , l_fr_pay_info.pay_reg_element_id);
1886: END IF;
1887:
1888: hr_utility.set_location('In reg_details, l_reference_entitlement 5 ' , l_reference_entitlement);
1889: hr_utility.set_location('l_fr_pay_info.pay_reg_payment_input_ID' , l_fr_pay_info.pay_reg_payment_input_ID);
1890: hr_utility.set_location('l_fr_pay_info.pay_reg_date_input_ID' , l_fr_pay_info.pay_reg_date_input_ID);
1891: hr_utility.set_location('l_fr_pay_info.pay_reg_plan_input_ID' , l_fr_pay_info.pay_reg_plan_input_ID);
1892: hr_utility.set_location('p_assignment_id ' , p_assignment_id );
1893: hr_utility.set_location('l_fr_pay_info.pay_reg_element_id' , l_fr_pay_info.pay_reg_element_id);
1894: --
1887:
1888: hr_utility.set_location('In reg_details, l_reference_entitlement 5 ' , l_reference_entitlement);
1889: hr_utility.set_location('l_fr_pay_info.pay_reg_payment_input_ID' , l_fr_pay_info.pay_reg_payment_input_ID);
1890: hr_utility.set_location('l_fr_pay_info.pay_reg_date_input_ID' , l_fr_pay_info.pay_reg_date_input_ID);
1891: hr_utility.set_location('l_fr_pay_info.pay_reg_plan_input_ID' , l_fr_pay_info.pay_reg_plan_input_ID);
1892: hr_utility.set_location('p_assignment_id ' , p_assignment_id );
1893: hr_utility.set_location('l_fr_pay_info.pay_reg_element_id' , l_fr_pay_info.pay_reg_element_id);
1894: --
1895: -- Set Out Variables
1888: hr_utility.set_location('In reg_details, l_reference_entitlement 5 ' , l_reference_entitlement);
1889: hr_utility.set_location('l_fr_pay_info.pay_reg_payment_input_ID' , l_fr_pay_info.pay_reg_payment_input_ID);
1890: hr_utility.set_location('l_fr_pay_info.pay_reg_date_input_ID' , l_fr_pay_info.pay_reg_date_input_ID);
1891: hr_utility.set_location('l_fr_pay_info.pay_reg_plan_input_ID' , l_fr_pay_info.pay_reg_plan_input_ID);
1892: hr_utility.set_location('p_assignment_id ' , p_assignment_id );
1893: hr_utility.set_location('l_fr_pay_info.pay_reg_element_id' , l_fr_pay_info.pay_reg_element_id);
1894: --
1895: -- Set Out Variables
1896: --
1889: hr_utility.set_location('l_fr_pay_info.pay_reg_payment_input_ID' , l_fr_pay_info.pay_reg_payment_input_ID);
1890: hr_utility.set_location('l_fr_pay_info.pay_reg_date_input_ID' , l_fr_pay_info.pay_reg_date_input_ID);
1891: hr_utility.set_location('l_fr_pay_info.pay_reg_plan_input_ID' , l_fr_pay_info.pay_reg_plan_input_ID);
1892: hr_utility.set_location('p_assignment_id ' , p_assignment_id );
1893: hr_utility.set_location('l_fr_pay_info.pay_reg_element_id' , l_fr_pay_info.pay_reg_element_id);
1894: --
1895: -- Set Out Variables
1896: --
1897: p_accrue_start_Date := l_fr_plan_info.accrual_year_start;
1903: p_total_days_paid := nvl(l_total_days_paid,0);
1904: p_total_payment_made := nvl(l_total_payment_made,0);
1905: p_previous_reg_payments := nvl(l_previous_reg_payments,0);
1906: --
1907: hr_utility.set_location('In reg_details, l_reference_entitlement 6 ' , l_reference_entitlement);
1908: hr_utility.set_location('In reg_details, p_reference_entitlement 7 ' , p_reference_entitlement);
1909:
1910:
1911: hr_utility.set_location('Leaving: '||l_proc,100);
1904: p_total_payment_made := nvl(l_total_payment_made,0);
1905: p_previous_reg_payments := nvl(l_previous_reg_payments,0);
1906: --
1907: hr_utility.set_location('In reg_details, l_reference_entitlement 6 ' , l_reference_entitlement);
1908: hr_utility.set_location('In reg_details, p_reference_entitlement 7 ' , p_reference_entitlement);
1909:
1910:
1911: hr_utility.set_location('Leaving: '||l_proc,100);
1912: return 1;
1907: hr_utility.set_location('In reg_details, l_reference_entitlement 6 ' , l_reference_entitlement);
1908: hr_utility.set_location('In reg_details, p_reference_entitlement 7 ' , p_reference_entitlement);
1909:
1910:
1911: hr_utility.set_location('Leaving: '||l_proc,100);
1912: return 1;
1913: end Get_fr_holiday_reg_details;
1914: --
1915: -------------------------------------------------------------------------------
1935: l_proc VARCHAR2(72) := g_package||' get_payment_globals ';
1936: --
1937: --
1938: BEGIN
1939: hr_utility.set_location('Entering ' || l_proc,10);
1940: --
1941: -- load the regularization values into the structure
1942: --
1943: open csr_input_values('Pay Value', 'FR_HOLIDAY_REGULARIZE');
1943: open csr_input_values('Pay Value', 'FR_HOLIDAY_REGULARIZE');
1944: fetch csr_input_values into l_fr_pay_info.pay_reg_payment_input_ID, l_fr_pay_info.pay_reg_element_id;
1945: close csr_input_values;
1946:
1947: hr_utility.set_location('pay reg element id ' , l_fr_pay_info.pay_reg_element_id);
1948: hr_utility.set_location('pay reg value iv id ' , l_fr_pay_info.pay_reg_payment_input_ID);
1949:
1950: open csr_input_values('Accrual Plan ID', 'FR_HOLIDAY_REGULARIZE');
1951: fetch csr_input_values into l_fr_pay_info.pay_reg_plan_input_ID, l_unused;
1944: fetch csr_input_values into l_fr_pay_info.pay_reg_payment_input_ID, l_fr_pay_info.pay_reg_element_id;
1945: close csr_input_values;
1946:
1947: hr_utility.set_location('pay reg element id ' , l_fr_pay_info.pay_reg_element_id);
1948: hr_utility.set_location('pay reg value iv id ' , l_fr_pay_info.pay_reg_payment_input_ID);
1949:
1950: open csr_input_values('Accrual Plan ID', 'FR_HOLIDAY_REGULARIZE');
1951: fetch csr_input_values into l_fr_pay_info.pay_reg_plan_input_ID, l_unused;
1952: close csr_input_values;
1949:
1950: open csr_input_values('Accrual Plan ID', 'FR_HOLIDAY_REGULARIZE');
1951: fetch csr_input_values into l_fr_pay_info.pay_reg_plan_input_ID, l_unused;
1952: close csr_input_values;
1953: hr_utility.set_location('pay reg plan iv id ' , l_fr_pay_info.pay_reg_plan_input_ID);
1954:
1955: open csr_input_values('Accrual Date', 'FR_HOLIDAY_REGULARIZE');
1956: fetch csr_input_values into l_fr_pay_info.pay_reg_date_input_ID, l_unused;
1957: close csr_input_values;
1955: open csr_input_values('Accrual Date', 'FR_HOLIDAY_REGULARIZE');
1956: fetch csr_input_values into l_fr_pay_info.pay_reg_date_input_ID, l_unused;
1957: close csr_input_values;
1958:
1959: hr_utility.set_location('pay reg date iv id ' , l_fr_pay_info.pay_reg_date_input_ID);
1960: --
1961: -- load the payment input values into the structure
1962: --
1963: open csr_input_values('Rate', 'FR_HOLIDAY_PAY');
1963: open csr_input_values('Rate', 'FR_HOLIDAY_PAY');
1964: fetch csr_input_values into l_fr_pay_info.pay_total_days_input_ID, l_fr_pay_info.pay_element_id;
1965: close csr_input_values;
1966:
1967: hr_utility.set_location('pay element ID id ' , l_fr_pay_info.pay_element_id);
1968: hr_utility.set_location('pay total days - rate - iv id ' , l_fr_pay_info.pay_total_days_input_ID);
1969:
1970: open csr_input_values('Protected Days Paid', 'FR_HOLIDAY_PAY');
1971: fetch csr_input_values into l_fr_pay_info.pay_protected_days_input_ID, l_unused;
1964: fetch csr_input_values into l_fr_pay_info.pay_total_days_input_ID, l_fr_pay_info.pay_element_id;
1965: close csr_input_values;
1966:
1967: hr_utility.set_location('pay element ID id ' , l_fr_pay_info.pay_element_id);
1968: hr_utility.set_location('pay total days - rate - iv id ' , l_fr_pay_info.pay_total_days_input_ID);
1969:
1970: open csr_input_values('Protected Days Paid', 'FR_HOLIDAY_PAY');
1971: fetch csr_input_values into l_fr_pay_info.pay_protected_days_input_ID, l_unused;
1972: close csr_input_values;
1970: open csr_input_values('Protected Days Paid', 'FR_HOLIDAY_PAY');
1971: fetch csr_input_values into l_fr_pay_info.pay_protected_days_input_ID, l_unused;
1972: close csr_input_values;
1973:
1974: hr_utility.set_location('pay protected days iv id ' , l_fr_pay_info.pay_protected_days_input_ID);
1975:
1976: open csr_input_values('Accrual Date', 'FR_HOLIDAY_PAY');
1977: fetch csr_input_values into l_fr_pay_info.pay_accrual_date_input_ID, l_unused;
1978: close csr_input_values;
1975:
1976: open csr_input_values('Accrual Date', 'FR_HOLIDAY_PAY');
1977: fetch csr_input_values into l_fr_pay_info.pay_accrual_date_input_ID, l_unused;
1978: close csr_input_values;
1979: hr_utility.set_location('pay date days iv id ' , l_fr_pay_info.pay_accrual_date_input_ID);
1980:
1981: open csr_input_values('Pay Value', 'FR_HOLIDAY_PAY');
1982: fetch csr_input_values into l_fr_pay_info.pay_payment_input_ID, l_unused;
1983: close csr_input_values;
1980:
1981: open csr_input_values('Pay Value', 'FR_HOLIDAY_PAY');
1982: fetch csr_input_values into l_fr_pay_info.pay_payment_input_ID, l_unused;
1983: close csr_input_values;
1984: hr_utility.set_location('pay pay value iv id ' , l_fr_pay_info.pay_payment_input_ID);
1985:
1986: open csr_input_values('Regularized Flag', 'FR_HOLIDAY_PAY');
1987: fetch csr_input_values into l_fr_pay_info.pay_flag_input_ID, l_unused;
1988: close csr_input_values;
1985:
1986: open csr_input_values('Regularized Flag', 'FR_HOLIDAY_PAY');
1987: fetch csr_input_values into l_fr_pay_info.pay_flag_input_ID, l_unused;
1988: close csr_input_values;
1989: hr_utility.set_location('pay regularized flag days iv id ' , l_fr_pay_info.pay_flag_input_ID);
1990:
1991: open csr_input_values('Accrual Plan ID', 'FR_HOLIDAY_PAY');
1992: fetch csr_input_values into l_fr_pay_info.pay_plan_input_ID, l_unused;
1993: close csr_input_values;
1990:
1991: open csr_input_values('Accrual Plan ID', 'FR_HOLIDAY_PAY');
1992: fetch csr_input_values into l_fr_pay_info.pay_plan_input_ID, l_unused;
1993: close csr_input_values;
1994: hr_utility.set_location('pay plan iv id ' , l_fr_pay_info.pay_plan_input_ID);
1995:
1996: open csr_input_values('Absence Attendance ID', 'FR_HOLIDAY_PAY');
1997: fetch csr_input_values into l_fr_pay_info.pay_abs_attend_input_id, l_unused;
1998: close csr_input_values;
1995:
1996: open csr_input_values('Absence Attendance ID', 'FR_HOLIDAY_PAY');
1997: fetch csr_input_values into l_fr_pay_info.pay_abs_attend_input_id, l_unused;
1998: close csr_input_values;
1999: hr_utility.set_location('pay abs_attend iv id ' , l_fr_pay_info.pay_abs_attend_input_id);
2000: --
2001: hr_utility.set_location('Leaving: '||l_proc,100);
2002: return l_fr_pay_info;
2003: end get_payment_globals;
1997: fetch csr_input_values into l_fr_pay_info.pay_abs_attend_input_id, l_unused;
1998: close csr_input_values;
1999: hr_utility.set_location('pay abs_attend iv id ' , l_fr_pay_info.pay_abs_attend_input_id);
2000: --
2001: hr_utility.set_location('Leaving: '||l_proc,100);
2002: return l_fr_pay_info;
2003: end get_payment_globals;
2004: -------------------------------------------------------------------------------
2005: -- FUNCTION FR_LATEST_PLAN_START_DATE
2016: where pee.element_entry_id = p_element_entry_id;
2017:
2018: BEGIN
2019:
2020: hr_utility.set_location('Entering ' || l_proc, 10);
2021:
2022: open csr_get_effective_start_date;
2023: fetch csr_get_effective_start_date into l_effective_start_date;
2024: close csr_get_effective_start_date;
2022: open csr_get_effective_start_date;
2023: fetch csr_get_effective_start_date into l_effective_start_date;
2024: close csr_get_effective_start_date;
2025:
2026: hr_utility.set_location('Assigned the value ' || l_proc, 20);
2027:
2028: hr_utility.set_location('Leaving ' || l_proc, 30);
2029:
2030: return l_effective_start_date;
2024: close csr_get_effective_start_date;
2025:
2026: hr_utility.set_location('Assigned the value ' || l_proc, 20);
2027:
2028: hr_utility.set_location('Leaving ' || l_proc, 30);
2029:
2030: return l_effective_start_date;
2031: end fr_latest_plan_start_date;
2032: --
2059: open csr_input_values('Amount', 'FR_HOLIDAY_REGULARIZE_INFO_RETRO');
2060: fetch csr_input_values into l_fr_pay_r_info.pay_reg_payment_input_ID, l_fr_pay_r_info.pay_reg_element_id;
2061: close csr_input_values;
2062:
2063: hr_utility.set_location('pay reg element id retro' , l_fr_pay_r_info.pay_reg_element_id);
2064: hr_utility.set_location('pay reg value iv id retro' , l_fr_pay_r_info.pay_reg_payment_input_ID);
2065:
2066: open csr_input_values('Accrual Plan ID', 'FR_HOLIDAY_REGULARIZE_INFO_RETRO');
2067: fetch csr_input_values into l_fr_pay_r_info.pay_reg_plan_input_ID, l_unused;
2060: fetch csr_input_values into l_fr_pay_r_info.pay_reg_payment_input_ID, l_fr_pay_r_info.pay_reg_element_id;
2061: close csr_input_values;
2062:
2063: hr_utility.set_location('pay reg element id retro' , l_fr_pay_r_info.pay_reg_element_id);
2064: hr_utility.set_location('pay reg value iv id retro' , l_fr_pay_r_info.pay_reg_payment_input_ID);
2065:
2066: open csr_input_values('Accrual Plan ID', 'FR_HOLIDAY_REGULARIZE_INFO_RETRO');
2067: fetch csr_input_values into l_fr_pay_r_info.pay_reg_plan_input_ID, l_unused;
2068: close csr_input_values;
2065:
2066: open csr_input_values('Accrual Plan ID', 'FR_HOLIDAY_REGULARIZE_INFO_RETRO');
2067: fetch csr_input_values into l_fr_pay_r_info.pay_reg_plan_input_ID, l_unused;
2068: close csr_input_values;
2069: hr_utility.set_location('pay reg plan iv id retro' , l_fr_pay_r_info.pay_reg_plan_input_ID);
2070:
2071: open csr_input_values('Accrual Date', 'FR_HOLIDAY_REGULARIZE_INFO_RETRO');
2072: fetch csr_input_values into l_fr_pay_r_info.pay_reg_date_input_ID, l_unused;
2073: close csr_input_values;
2071: open csr_input_values('Accrual Date', 'FR_HOLIDAY_REGULARIZE_INFO_RETRO');
2072: fetch csr_input_values into l_fr_pay_r_info.pay_reg_date_input_ID, l_unused;
2073: close csr_input_values;
2074:
2075: hr_utility.set_location('pay reg date iv id retro' , l_fr_pay_r_info.pay_reg_date_input_ID);
2076: --
2077: -- load the payment input values into the structure
2078: --
2079: open csr_input_values('Days', 'FR_HOLIDAY_PAY_DAYS_RETRO');
2079: open csr_input_values('Days', 'FR_HOLIDAY_PAY_DAYS_RETRO');
2080: fetch csr_input_values into l_fr_pay_r_info.pay_total_days_input_ID, l_fr_pay_r_info.pay_element_id;
2081: close csr_input_values;
2082:
2083: hr_utility.set_location('pay element ID id retro' , l_fr_pay_r_info.pay_element_id);
2084: hr_utility.set_location('pay total days - rate - iv id ' , l_fr_pay_r_info.pay_total_days_input_ID);
2085:
2086: open csr_input_values('Protected Days Paid', 'FR_HOLIDAY_PAY_DAYS_RETRO');
2087: fetch csr_input_values into l_fr_pay_r_info.pay_protected_days_input_ID, l_unused;
2080: fetch csr_input_values into l_fr_pay_r_info.pay_total_days_input_ID, l_fr_pay_r_info.pay_element_id;
2081: close csr_input_values;
2082:
2083: hr_utility.set_location('pay element ID id retro' , l_fr_pay_r_info.pay_element_id);
2084: hr_utility.set_location('pay total days - rate - iv id ' , l_fr_pay_r_info.pay_total_days_input_ID);
2085:
2086: open csr_input_values('Protected Days Paid', 'FR_HOLIDAY_PAY_DAYS_RETRO');
2087: fetch csr_input_values into l_fr_pay_r_info.pay_protected_days_input_ID, l_unused;
2088: close csr_input_values;
2086: open csr_input_values('Protected Days Paid', 'FR_HOLIDAY_PAY_DAYS_RETRO');
2087: fetch csr_input_values into l_fr_pay_r_info.pay_protected_days_input_ID, l_unused;
2088: close csr_input_values;
2089:
2090: hr_utility.set_location('pay protected days iv id retro' , l_fr_pay_r_info.pay_protected_days_input_ID);
2091:
2092: open csr_input_values('Accrual Date', 'FR_HOLIDAY_PAY_DAYS_RETRO');
2093: fetch csr_input_values into l_fr_pay_r_info.pay_accrual_date_input_ID, l_unused;
2094: close csr_input_values;
2091:
2092: open csr_input_values('Accrual Date', 'FR_HOLIDAY_PAY_DAYS_RETRO');
2093: fetch csr_input_values into l_fr_pay_r_info.pay_accrual_date_input_ID, l_unused;
2094: close csr_input_values;
2095: hr_utility.set_location('pay date days iv id retro' , l_fr_pay_r_info.pay_accrual_date_input_ID);
2096:
2097: open csr_input_values('Amount', 'FR_HOLIDAY_PAY_DAYS_RETRO');
2098: fetch csr_input_values into l_fr_pay_r_info.pay_payment_input_ID, l_unused;
2099: close csr_input_values;
2096:
2097: open csr_input_values('Amount', 'FR_HOLIDAY_PAY_DAYS_RETRO');
2098: fetch csr_input_values into l_fr_pay_r_info.pay_payment_input_ID, l_unused;
2099: close csr_input_values;
2100: hr_utility.set_location('pay amount iv id retro' , l_fr_pay_r_info.pay_payment_input_ID);
2101:
2102: open csr_input_values('Regularized Flag', 'FR_HOLIDAY_PAY_DAYS_RETRO');
2103: fetch csr_input_values into l_fr_pay_r_info.pay_flag_input_ID, l_unused;
2104: close csr_input_values;
2101:
2102: open csr_input_values('Regularized Flag', 'FR_HOLIDAY_PAY_DAYS_RETRO');
2103: fetch csr_input_values into l_fr_pay_r_info.pay_flag_input_ID, l_unused;
2104: close csr_input_values;
2105: hr_utility.set_location('pay regularized flag days iv id retro' , l_fr_pay_r_info.pay_flag_input_ID);
2106:
2107: open csr_input_values('Accrual Plan ID', 'FR_HOLIDAY_PAY_DAYS_RETRO');
2108: fetch csr_input_values into l_fr_pay_r_info.pay_plan_input_ID, l_unused;
2109: close csr_input_values;
2106:
2107: open csr_input_values('Accrual Plan ID', 'FR_HOLIDAY_PAY_DAYS_RETRO');
2108: fetch csr_input_values into l_fr_pay_r_info.pay_plan_input_ID, l_unused;
2109: close csr_input_values;
2110: hr_utility.set_location('pay plan iv id retro' , l_fr_pay_r_info.pay_plan_input_ID);
2111:
2112: open csr_input_values('Absence Attendance ID', 'FR_HOLIDAY_PAY_DAYS_RETRO');
2113: fetch csr_input_values into l_fr_pay_r_info.pay_abs_attend_input_id, l_unused;
2114: close csr_input_values;
2111:
2112: open csr_input_values('Absence Attendance ID', 'FR_HOLIDAY_PAY_DAYS_RETRO');
2113: fetch csr_input_values into l_fr_pay_r_info.pay_abs_attend_input_id, l_unused;
2114: close csr_input_values;
2115: hr_utility.set_location('pay abs_attend iv id retro' , l_fr_pay_r_info.pay_abs_attend_input_id);
2116: --
2117: hr_utility.set_location('Leaving: '||l_proc,100);
2118: return l_fr_pay_r_info;
2119: end get_payment_globals_r;
2113: fetch csr_input_values into l_fr_pay_r_info.pay_abs_attend_input_id, l_unused;
2114: close csr_input_values;
2115: hr_utility.set_location('pay abs_attend iv id retro' , l_fr_pay_r_info.pay_abs_attend_input_id);
2116: --
2117: hr_utility.set_location('Leaving: '||l_proc,100);
2118: return l_fr_pay_r_info;
2119: end get_payment_globals_r;
2120: --
2121: -------------------------------------------------------------------------------
2342:
2343: l_proc VARCHAR2(72) := g_package||' FR_Create_Entitlement ';
2344: --
2345: BEGIN
2346: hr_utility.set_location('Entering ' || l_proc,10);
2347:
2348: ERRBUF := Null;
2349: RETCODE:= 0;
2350: per_accrual_message_pkg.clear_table;
2353: --
2354: -- check the plan type is correct
2355: --
2356:
2357: hr_utility.set_location('Step ' || l_proc,20);
2358: fetch csr_plan_type into l_formula_id, l_co_formula_id;
2359: close csr_plan_type;
2360:
2361: hr_utility.set_location('formual_id is ', l_formula_id);
2357: hr_utility.set_location('Step ' || l_proc,20);
2358: fetch csr_plan_type into l_formula_id, l_co_formula_id;
2359: close csr_plan_type;
2360:
2361: hr_utility.set_location('formual_id is ', l_formula_id);
2362: --
2363: --
2364: --
2365: l_fr_plan_info := get_fr_accrual_plan_info(
2375: l_fr_plan_info.accrual_year_start := l_main_plan_info.accrual_year_start;
2376: l_fr_plan_info.accrual_year_end := l_main_plan_info.accrual_year_end;
2377: END IF;
2378: --
2379: hr_utility.set_location('Step ' || l_proc,30);
2380: --
2381: -- Set variables for saving to either the ENTitlement element
2382: -- Except link, which varies by assignment
2383: --
2388: l_type_y_iv_id := l_fr_plan_info.ent_y_iv_id;
2389: l_type_s_iv_id := l_fr_plan_info.ent_s_iv_id;
2390: l_type_c_iv_id := l_fr_plan_info.ent_c_iv_id;
2391: l_type_acp_iv_id := l_fr_plan_info.ent_acp_iv_id;
2392: hr_utility.set_location('Step ' || l_proc,40);
2393: --
2394: -- or the OBSoletion element
2395: --
2396: ELSE
2435: (p_type = 'ADD' AND l_assg_hiredate < l_start_legal_period)THEN
2436:
2437: -- Get the persons payroll_id as at calc date.
2438: --
2439: hr_utility.set_location('In loop index ' , l_index);
2440:
2441: open csr_asg_details(l_asg.assignment_id,
2442: l_calculation_date);
2443: fetch csr_asg_details into l_payroll_id, l_assignment_number;
2481: -- case multiple entries allowed = Y must be on - User DOC - on
2482: -- all entitlement entries. The process must store the net adjustment
2483: -- but can only INCREASE the entitlements
2484: --
2485: hr_utility.set_location('Step ' || l_proc,50);
2486: IF (p_type ='ENT') then
2487: l_dummy := 'Y';
2488: ELSE
2489: l_dummy := 'N';
2512: ,p_ent_conventional => l_previous_conventional
2513: ,p_accrual_start_date => l_unused_date
2514: ,p_accrual_end_date => l_unused_date);
2515:
2516: hr_utility.set_location('Step ' || l_proc,60);
2517: --
2518: -- Calculate the net new amount to store
2519: --
2520: if (P_type='ENT' or p_type='ADD') then
2523: l_new_mothers := nvl(l_total_Accrued_mothers, 0) - nvl(l_previous_mothers, 0);
2524: l_new_seniority := nvl(l_total_Accrued_seniority, 0) - nvl(l_previous_seniority, 0);
2525: l_new_conventional := nvl(l_total_Accrued_conventional, 0) - nvl(l_previous_conventional, 0);
2526:
2527: hr_utility.set_location('Step ' || l_proc,70);
2528: hr_utility.set_location('new m ' || l_new_main,70);
2529: hr_utility.set_location('new p ' || l_new_protected,70);
2530: hr_utility.set_location('new m ' || l_new_mothers,70);
2531: hr_utility.set_location('new s ' || l_new_seniority,70);
2524: l_new_seniority := nvl(l_total_Accrued_seniority, 0) - nvl(l_previous_seniority, 0);
2525: l_new_conventional := nvl(l_total_Accrued_conventional, 0) - nvl(l_previous_conventional, 0);
2526:
2527: hr_utility.set_location('Step ' || l_proc,70);
2528: hr_utility.set_location('new m ' || l_new_main,70);
2529: hr_utility.set_location('new p ' || l_new_protected,70);
2530: hr_utility.set_location('new m ' || l_new_mothers,70);
2531: hr_utility.set_location('new s ' || l_new_seniority,70);
2532: hr_utility.set_location('new c ' || l_new_conventional,70);
2525: l_new_conventional := nvl(l_total_Accrued_conventional, 0) - nvl(l_previous_conventional, 0);
2526:
2527: hr_utility.set_location('Step ' || l_proc,70);
2528: hr_utility.set_location('new m ' || l_new_main,70);
2529: hr_utility.set_location('new p ' || l_new_protected,70);
2530: hr_utility.set_location('new m ' || l_new_mothers,70);
2531: hr_utility.set_location('new s ' || l_new_seniority,70);
2532: hr_utility.set_location('new c ' || l_new_conventional,70);
2533:
2526:
2527: hr_utility.set_location('Step ' || l_proc,70);
2528: hr_utility.set_location('new m ' || l_new_main,70);
2529: hr_utility.set_location('new p ' || l_new_protected,70);
2530: hr_utility.set_location('new m ' || l_new_mothers,70);
2531: hr_utility.set_location('new s ' || l_new_seniority,70);
2532: hr_utility.set_location('new c ' || l_new_conventional,70);
2533:
2534: elsif(P_type='OBS') then
2527: hr_utility.set_location('Step ' || l_proc,70);
2528: hr_utility.set_location('new m ' || l_new_main,70);
2529: hr_utility.set_location('new p ' || l_new_protected,70);
2530: hr_utility.set_location('new m ' || l_new_mothers,70);
2531: hr_utility.set_location('new s ' || l_new_seniority,70);
2532: hr_utility.set_location('new c ' || l_new_conventional,70);
2533:
2534: elsif(P_type='OBS') then
2535: hr_utility.set_location('Step ' || l_proc,80);
2528: hr_utility.set_location('new m ' || l_new_main,70);
2529: hr_utility.set_location('new p ' || l_new_protected,70);
2530: hr_utility.set_location('new m ' || l_new_mothers,70);
2531: hr_utility.set_location('new s ' || l_new_seniority,70);
2532: hr_utility.set_location('new c ' || l_new_conventional,70);
2533:
2534: elsif(P_type='OBS') then
2535: hr_utility.set_location('Step ' || l_proc,80);
2536: obsoletion_procedure
2531: hr_utility.set_location('new s ' || l_new_seniority,70);
2532: hr_utility.set_location('new c ' || l_new_conventional,70);
2533:
2534: elsif(P_type='OBS') then
2535: hr_utility.set_location('Step ' || l_proc,80);
2536: obsoletion_procedure
2537: (p_business_group_id => l_fr_plan_info.business_group_id
2538: ,p_assignment_id => l_asg.assignment_id
2539: ,p_accrual_plan_id => p_plan_id
2574: -- Get the reference days, and the reference salary value
2575: -- if the reference period has ended. The reference period ending is calculated as the accrual year end date
2576: -- is less than the canculation date.
2577: --
2578: hr_utility.set_location('Step ' || l_proc,90);
2579:
2580: IF (P_type = 'ENT') and l_fr_plan_info.accrual_year_end <= l_calculation_date THEN
2581: hr_utility.set_location('Step ' || l_proc,100);
2582: --
2577: --
2578: hr_utility.set_location('Step ' || l_proc,90);
2579:
2580: IF (P_type = 'ENT') and l_fr_plan_info.accrual_year_end <= l_calculation_date THEN
2581: hr_utility.set_location('Step ' || l_proc,100);
2582: --
2583: l_previous_ref_salary := 0;
2584: l_previous_ref_days := 0;
2585: --
2601: --
2602: open csr_get_assignment_action(l_asg.assignment_id);
2603: fetch csr_get_assignment_action into l_latest_aa;
2604: close csr_get_assignment_action;
2605: hr_utility.set_location('Step ' || l_proc,110);
2606:
2607: hr_utility.set_location('l_latest_aa is ' || l_latest_aa, 110);
2608: --
2609: --
2603: fetch csr_get_assignment_action into l_latest_aa;
2604: close csr_get_assignment_action;
2605: hr_utility.set_location('Step ' || l_proc,110);
2606:
2607: hr_utility.set_location('l_latest_aa is ' || l_latest_aa, 110);
2608: --
2609: --
2610: open csr_get_balance_type_id;
2611: fetch csr_get_balance_type_id into l_balance_type_id;
2609: --
2610: open csr_get_balance_type_id;
2611: fetch csr_get_balance_type_id into l_balance_type_id;
2612: close csr_get_balance_type_id;
2613: hr_utility.set_location('Step ' || l_proc,120);
2614: --
2615: l_new_ref_salary := 0;
2616:
2617: open csr_get_balance_value;
2616:
2617: open csr_get_balance_value;
2618: fetch csr_get_balance_value into l_new_ref_salary;
2619: close csr_get_balance_value;
2620: hr_utility.set_location('Step ' || l_proc,130);
2621:
2622: hr_utility.set_location('l_new_ref_salary is ' || l_new_ref_salary, 110);
2623: --
2624: --
2618: fetch csr_get_balance_value into l_new_ref_salary;
2619: close csr_get_balance_value;
2620: hr_utility.set_location('Step ' || l_proc,130);
2621:
2622: hr_utility.set_location('l_new_ref_salary is ' || l_new_ref_salary, 110);
2623: --
2624: --
2625: -- Calculate new values to store - only post increments
2626: --
2626: --
2627: l_net_ref_salary := greatest(0, nvl(l_new_ref_salary,0) - nvl(l_previous_ref_salary, 0));
2628: l_net_ref_days := greatest(0, nvl(l_new_ref_days,0) - nvl(l_previous_ref_days, 0));
2629:
2630: hr_utility.set_location('l_net_ref_salary is ' || l_net_ref_salary, 110);
2631: hr_utility.set_location('l_net_ref_days is ' || l_net_ref_days, 110);
2632:
2633: ELSE
2634: hr_utility.set_location('Step ' || l_proc,140);
2627: l_net_ref_salary := greatest(0, nvl(l_new_ref_salary,0) - nvl(l_previous_ref_salary, 0));
2628: l_net_ref_days := greatest(0, nvl(l_new_ref_days,0) - nvl(l_previous_ref_days, 0));
2629:
2630: hr_utility.set_location('l_net_ref_salary is ' || l_net_ref_salary, 110);
2631: hr_utility.set_location('l_net_ref_days is ' || l_net_ref_days, 110);
2632:
2633: ELSE
2634: hr_utility.set_location('Step ' || l_proc,140);
2635: null;
2630: hr_utility.set_location('l_net_ref_salary is ' || l_net_ref_salary, 110);
2631: hr_utility.set_location('l_net_ref_days is ' || l_net_ref_days, 110);
2632:
2633: ELSE
2634: hr_utility.set_location('Step ' || l_proc,140);
2635: null;
2636: END IF;
2637:
2638: --
2642:
2643: IF ((p_type = 'ENT' or p_type = 'ADD') and l_new_main > 0 or l_new_protected > 0 or l_new_mothers > 0 or l_new_seniority > 0 or l_new_conventional > 0 or l_net_ref_salary > 0 or l_net_ref_days > 0 )
2644: OR ((p_type = 'OBS') and l_new_main <> 0 or l_new_protected <> 0 or l_new_mothers <> 0 or l_new_seniority <> 0 or l_new_conventional <> 0) THEN
2645:
2646: hr_utility.set_location('creating entries ' || l_proc,150);
2647: --
2648: -- We must get the payroll period start and end dates for
2649: -- the period in which the element entry will be made,
2650: -- as these are the effective start and end dates for all
2652: --
2653: open c_payroll_period(l_payroll_id, l_calculation_date);
2654: fetch c_payroll_period into l_pay_period_start_date, l_pay_period_end_date;
2655: close c_payroll_period;
2656: hr_utility.set_location('Step ' || l_proc,150);
2657: --
2658: -- Check that the assignment does not end before the payroll
2659: -- period end date.
2660: --
2660: --
2661: open c_get_asg_end_date(l_asg.assignment_id);
2662: fetch c_get_asg_end_date into l_max_asg_end_date;
2663: close c_get_asg_end_date;
2664: hr_utility.set_location('Step ' || l_proc,160);
2665:
2666: If l_max_asg_end_date < l_pay_period_end_date then
2667: --
2668: -- warn user in log : assignment ends before payroll period end date
2745: --
2746: -- Write the record
2747: --
2748:
2749: hr_utility.set_location('Step ' || l_proc,200);
2750:
2751: IF l_type_link_id is null then
2752: --
2753: -- error : warn user in log : this asg does not have the link to the element
2767: p_entry_type => 'E',
2768: p_num_entry_values => l_index,
2769: p_input_value_id_tbl => inp_value_id_tbl,
2770: p_entry_value_tbl => scr_valuetbl);
2771: hr_utility.set_location('Step ' || l_proc,210);
2772:
2773: IF l_new_ee_id is null THEN
2774: --
2775: -- warn user in log : could not create the entry
2778: fnd_message.set_token('ASG_NO', l_assignment_number);
2779: fnd_file.put_line(FND_FILE.LOG,fnd_message.get);
2780: END IF;
2781:
2782: hr_utility.set_location('l_new_ee_id is ' , l_new_ee_id);
2783:
2784: END IF; /* l_max_asg_end_date >= l_pay_period_end_date */
2785: END IF; /* l_new_main > 0 or l_new_protected ... */
2786: --
2789: l_message_count := per_accrual_message_pkg.count_messages;
2790: for i in 1..l_message_count loop
2791: --
2792: l_message := per_accrual_message_pkg.get_message(i);
2793: hr_utility.trace(l_message);
2794: --
2795: end loop; /* messages */
2796: --
2797: END IF;
2812: --
2813: fnd_message.set_name('PAY','PAY_75026_PTO_ACC_PROCESSED');
2814: fnd_file.put_line(FND_FILE.LOG,to_char(l_asg_count) || ' ' || fnd_message.get);
2815: --
2816: hr_utility.set_location('Leaving: '||l_proc,50);
2817: end fr_create_entitlement;
2818: --
2819: -------------------------------------------------------------------------------
2820: -- Get FR Accrual PLAN INFO
2976: temp_accrual_start_month number := 0;
2977:
2978: l_proc VARCHAR2(72) := g_package||' Get FR Accrual Plan Info ';
2979: BEGIN
2980: hr_utility.set_location('Entering ' || l_proc,10);
2981:
2982: IF p_accrual_plan_id is not null THEN
2983: open csr_plan_info(p_accrual_plan_id);
2984: fetch csr_plan_info into rec_plan_info;
3071:
3072: open csr_temp_swap_rate(l_fr_plan_info.term_element_id);
3073: fetch csr_temp_swap_rate into l_fr_plan_info.term_days_iv_id;
3074: close csr_temp_swap_rate;
3075: hr_utility.trace('new days is ' ||l_fr_plan_info.term_days_iv_id);
3076: --
3077: open csr_reference_inputs (temp_ent_accrual_date_iv_id);
3078: fetch csr_reference_inputs into rec_reference_inputs;
3079: close csr_reference_inputs;
3076: --
3077: open csr_reference_inputs (temp_ent_accrual_date_iv_id);
3078: fetch csr_reference_inputs into rec_reference_inputs;
3079: close csr_reference_inputs;
3080: hr_utility.set_location('Step ' || l_proc,20);
3081: --
3082: --
3083: -- Get the plan dates, if p_accrual_date is not null
3084: --
3116: fetch csr_plan_input into l_fr_plan_info.adj_acp_iv_id;
3117: close csr_plan_input;
3118:
3119: --
3120: hr_utility.set_location('Leaving: '||l_proc,100);
3121: return l_fr_plan_info;
3122: end get_fr_accrual_plan_info;
3123: --
3124: -------------------------------------------------------------------------------
3165: l_ret number := 0;
3166:
3167: begin
3168: --
3169: hr_utility.set_location('Entering FR_Get_Accrual'||l_proc, 5);
3170:
3171: l_accrual_plan_rec := per_accrual_calc_functions.get_accrual_plan(p_plan_id);
3172: hr_utility.set_location('Step ' || l_proc,10);
3173: --fnd_file.put_line(fnd_file.log,'In FR_GET_ACCRUAL' );
3168: --
3169: hr_utility.set_location('Entering FR_Get_Accrual'||l_proc, 5);
3170:
3171: l_accrual_plan_rec := per_accrual_calc_functions.get_accrual_plan(p_plan_id);
3172: hr_utility.set_location('Step ' || l_proc,10);
3173: --fnd_file.put_line(fnd_file.log,'In FR_GET_ACCRUAL' );
3174: --fnd_file.put_line(fnd_file.log,'asg ' || p_assignment_id );
3175: hr_utility.set_location('Calling paer_accrual_calc_functions'||l_proc, 25);
3176: l_Enrolled_In_Plan := per_accrual_calc_functions.check_assignment_enrollment(
3171: l_accrual_plan_rec := per_accrual_calc_functions.get_accrual_plan(p_plan_id);
3172: hr_utility.set_location('Step ' || l_proc,10);
3173: --fnd_file.put_line(fnd_file.log,'In FR_GET_ACCRUAL' );
3174: --fnd_file.put_line(fnd_file.log,'asg ' || p_assignment_id );
3175: hr_utility.set_location('Calling paer_accrual_calc_functions'||l_proc, 25);
3176: l_Enrolled_In_Plan := per_accrual_calc_functions.check_assignment_enrollment(
3177: p_assignment_id
3178: ,l_accrual_plan_rec.accrual_plan_element_type_id
3179: ,p_calculation_date);
3178: ,l_accrual_plan_rec.accrual_plan_element_type_id
3179: ,p_calculation_date);
3180:
3181: IF l_enrolled_in_plan then
3182: hr_utility.set_location('l_enrolled_in_plan is true in FR_Get_Accrual'||l_proc, 5);
3183: --Added following if statement to support Addtional Holidays
3184: IF p_type IS NULL OR p_type <> 'ADD' THEN
3185: hr_utility.set_location('Enrolled in Plan ' || l_proc,20);
3186: --
3181: IF l_enrolled_in_plan then
3182: hr_utility.set_location('l_enrolled_in_plan is true in FR_Get_Accrual'||l_proc, 5);
3183: --Added following if statement to support Addtional Holidays
3184: IF p_type IS NULL OR p_type <> 'ADD' THEN
3185: hr_utility.set_location('Enrolled in Plan ' || l_proc,20);
3186: --
3187: l_ret := per_formula_functions.set_text('CREATE_ALL', p_create_all);
3188: l_ret := per_formula_functions.set_text('REPROCESS_ALL', p_reprocess_whole_period);
3189: l_ret := per_formula_functions.set_text('FR_PAYSLIP_PROCESS', p_payslip_process);
3206: p_effective_start_date => l_effective_start_date,
3207: p_effective_end_date => l_effective_end_date,
3208: p_accrual_end_date => l_accrual_end_date
3209: );
3210: hr_utility.set_location('Step ' || l_proc,40);
3211:
3212: -- reset these variables
3213: l_ret := per_formula_functions.set_text('CREATE_ALL', ' ');
3214: l_ret := per_formula_functions.set_text('REPROCESS_ALL', ' ');
3218: --
3219: p_start_date := l_effective_start_date;
3220: p_end_date := l_effective_end_date;
3221: p_accrual_end_date := l_accrual_end_date;
3222: hr_utility.set_location('Step ' || l_proc,50);
3223: --
3224: --
3225: ELSIF p_type = 'ADD' THEN
3226: /*** ie. if p_type = 'ADD'
3224: --
3225: ELSIF p_type = 'ADD' THEN
3226: /*** ie. if p_type = 'ADD'
3227: Additional Holidays Process. Call the the accrual formula related. BUG#3030610***/
3228: hr_utility.set_location('Calling fr_calculate_accrual'||l_proc,125);
3229: FR_calculate_accrual(p_assignment_id => p_assignment_id,
3230: p_plan_id => p_plan_id,
3231: p_payroll_id => p_payroll_id,
3232: p_business_group_id => p_business_group_id,
3251: p_accrual_end_date => l_accrual_end_date);
3252: END IF;
3253: --
3254: ELSE --Enrolled plan
3255: hr_utility.set_location('Not Enrolled in plan ' || l_proc,50);
3256: --
3257: p_start_date := null;
3258: p_end_date := null;
3259: p_accrual_end_date := null;
3264: P_total_Accrued_conventional := 0;
3265: --
3266: end if;
3267: --
3268: hr_utility.set_location('Leaving '||l_proc, 100);
3269: --fnd_file.put_line(fnd_file.log,'Leaving FR_GET_ACCRUAL' );
3270: --
3271: end FR_Get_Accrual;
3272: -------------------------------------------------------------------------------
3344: and pevdate.screen_entry_value between fnd_date.date_to_canonical(c_start_date) and fnd_date.date_to_canonical(c_end_date)
3345: and pee.assignment_id = p_assignment_id ;
3346: --
3347: begin
3348: hr_utility.set_location('Entering ' || l_proc,10);
3349: --fnd_file.put_line(fnd_file.log,'In FR_CALCULATE_ACCRUAL' );
3350: --
3351: -- Added Following line to support additional day requirements.bug#3030610
3352: IF p_type IS NULL OR p_type <> 'ADD' THEN
3355: l_ret := per_formula_functions.set_number('TOTAL_ACCRUED_PTO_SENIORITY',0);
3356: l_ret := per_formula_functions.set_number('TOTAL_ACCRUED_PTO_MOTHERS',0);
3357: l_ret := per_formula_functions.set_number('TOTAL_ACCRUED_PTO_CONVENTIONAL',0);
3358:
3359: hr_utility.set_location('Step ' || l_proc,20);
3360: --
3361: l_inputs(1).name := 'ASSIGNMENT_ID';
3362: l_inputs(1).value := p_assignment_id;
3363: l_inputs(2).name := 'DATE_EARNED';
3485:
3486: l_outputs(1).name := 'ADDITIONAL_ENTITLEMENT';
3487:
3488:
3489: hr_utility.set_location('Formula ID:'||p_accrual_formula_id, 555);
3490: hr_utility.set_location('Calc Date:'||p_calculation_date,556);
3491: hr_utility.set_location(l_inputs(1).name||':'||l_inputs(1).value,557);
3492: hr_utility.set_location(l_inputs(2).name||':'||l_inputs(2).value,558);
3493: hr_utility.set_location(l_inputs(3).name||':'||l_inputs(3).value,559);
3486: l_outputs(1).name := 'ADDITIONAL_ENTITLEMENT';
3487:
3488:
3489: hr_utility.set_location('Formula ID:'||p_accrual_formula_id, 555);
3490: hr_utility.set_location('Calc Date:'||p_calculation_date,556);
3491: hr_utility.set_location(l_inputs(1).name||':'||l_inputs(1).value,557);
3492: hr_utility.set_location(l_inputs(2).name||':'||l_inputs(2).value,558);
3493: hr_utility.set_location(l_inputs(3).name||':'||l_inputs(3).value,559);
3494: hr_utility.set_location(l_inputs(4).name||':'||l_inputs(4).value,560);
3487:
3488:
3489: hr_utility.set_location('Formula ID:'||p_accrual_formula_id, 555);
3490: hr_utility.set_location('Calc Date:'||p_calculation_date,556);
3491: hr_utility.set_location(l_inputs(1).name||':'||l_inputs(1).value,557);
3492: hr_utility.set_location(l_inputs(2).name||':'||l_inputs(2).value,558);
3493: hr_utility.set_location(l_inputs(3).name||':'||l_inputs(3).value,559);
3494: hr_utility.set_location(l_inputs(4).name||':'||l_inputs(4).value,560);
3495: hr_utility.set_location(l_inputs(5).name||':'||l_inputs(5).value,561);
3488:
3489: hr_utility.set_location('Formula ID:'||p_accrual_formula_id, 555);
3490: hr_utility.set_location('Calc Date:'||p_calculation_date,556);
3491: hr_utility.set_location(l_inputs(1).name||':'||l_inputs(1).value,557);
3492: hr_utility.set_location(l_inputs(2).name||':'||l_inputs(2).value,558);
3493: hr_utility.set_location(l_inputs(3).name||':'||l_inputs(3).value,559);
3494: hr_utility.set_location(l_inputs(4).name||':'||l_inputs(4).value,560);
3495: hr_utility.set_location(l_inputs(5).name||':'||l_inputs(5).value,561);
3496: hr_utility.set_location(l_inputs(6).name||':'||l_inputs(6).value,562);
3489: hr_utility.set_location('Formula ID:'||p_accrual_formula_id, 555);
3490: hr_utility.set_location('Calc Date:'||p_calculation_date,556);
3491: hr_utility.set_location(l_inputs(1).name||':'||l_inputs(1).value,557);
3492: hr_utility.set_location(l_inputs(2).name||':'||l_inputs(2).value,558);
3493: hr_utility.set_location(l_inputs(3).name||':'||l_inputs(3).value,559);
3494: hr_utility.set_location(l_inputs(4).name||':'||l_inputs(4).value,560);
3495: hr_utility.set_location(l_inputs(5).name||':'||l_inputs(5).value,561);
3496: hr_utility.set_location(l_inputs(6).name||':'||l_inputs(6).value,562);
3497: hr_utility.set_location(l_inputs(7).name||':'||l_inputs(7).value,563);
3490: hr_utility.set_location('Calc Date:'||p_calculation_date,556);
3491: hr_utility.set_location(l_inputs(1).name||':'||l_inputs(1).value,557);
3492: hr_utility.set_location(l_inputs(2).name||':'||l_inputs(2).value,558);
3493: hr_utility.set_location(l_inputs(3).name||':'||l_inputs(3).value,559);
3494: hr_utility.set_location(l_inputs(4).name||':'||l_inputs(4).value,560);
3495: hr_utility.set_location(l_inputs(5).name||':'||l_inputs(5).value,561);
3496: hr_utility.set_location(l_inputs(6).name||':'||l_inputs(6).value,562);
3497: hr_utility.set_location(l_inputs(7).name||':'||l_inputs(7).value,563);
3498: hr_utility.set_location(l_inputs(8).name||':'||l_inputs(8).value,564);
3491: hr_utility.set_location(l_inputs(1).name||':'||l_inputs(1).value,557);
3492: hr_utility.set_location(l_inputs(2).name||':'||l_inputs(2).value,558);
3493: hr_utility.set_location(l_inputs(3).name||':'||l_inputs(3).value,559);
3494: hr_utility.set_location(l_inputs(4).name||':'||l_inputs(4).value,560);
3495: hr_utility.set_location(l_inputs(5).name||':'||l_inputs(5).value,561);
3496: hr_utility.set_location(l_inputs(6).name||':'||l_inputs(6).value,562);
3497: hr_utility.set_location(l_inputs(7).name||':'||l_inputs(7).value,563);
3498: hr_utility.set_location(l_inputs(8).name||':'||l_inputs(8).value,564);
3499: hr_utility.set_location(l_inputs(9).name||':'||l_inputs(9).value,565);
3492: hr_utility.set_location(l_inputs(2).name||':'||l_inputs(2).value,558);
3493: hr_utility.set_location(l_inputs(3).name||':'||l_inputs(3).value,559);
3494: hr_utility.set_location(l_inputs(4).name||':'||l_inputs(4).value,560);
3495: hr_utility.set_location(l_inputs(5).name||':'||l_inputs(5).value,561);
3496: hr_utility.set_location(l_inputs(6).name||':'||l_inputs(6).value,562);
3497: hr_utility.set_location(l_inputs(7).name||':'||l_inputs(7).value,563);
3498: hr_utility.set_location(l_inputs(8).name||':'||l_inputs(8).value,564);
3499: hr_utility.set_location(l_inputs(9).name||':'||l_inputs(9).value,565);
3500: hr_utility.set_location(l_inputs(10).name||':'||l_inputs(10).value,566);
3493: hr_utility.set_location(l_inputs(3).name||':'||l_inputs(3).value,559);
3494: hr_utility.set_location(l_inputs(4).name||':'||l_inputs(4).value,560);
3495: hr_utility.set_location(l_inputs(5).name||':'||l_inputs(5).value,561);
3496: hr_utility.set_location(l_inputs(6).name||':'||l_inputs(6).value,562);
3497: hr_utility.set_location(l_inputs(7).name||':'||l_inputs(7).value,563);
3498: hr_utility.set_location(l_inputs(8).name||':'||l_inputs(8).value,564);
3499: hr_utility.set_location(l_inputs(9).name||':'||l_inputs(9).value,565);
3500: hr_utility.set_location(l_inputs(10).name||':'||l_inputs(10).value,566);
3501: hr_utility.set_location(l_inputs(11).name||':'||l_inputs(11).value,567);
3494: hr_utility.set_location(l_inputs(4).name||':'||l_inputs(4).value,560);
3495: hr_utility.set_location(l_inputs(5).name||':'||l_inputs(5).value,561);
3496: hr_utility.set_location(l_inputs(6).name||':'||l_inputs(6).value,562);
3497: hr_utility.set_location(l_inputs(7).name||':'||l_inputs(7).value,563);
3498: hr_utility.set_location(l_inputs(8).name||':'||l_inputs(8).value,564);
3499: hr_utility.set_location(l_inputs(9).name||':'||l_inputs(9).value,565);
3500: hr_utility.set_location(l_inputs(10).name||':'||l_inputs(10).value,566);
3501: hr_utility.set_location(l_inputs(11).name||':'||l_inputs(11).value,567);
3502:
3495: hr_utility.set_location(l_inputs(5).name||':'||l_inputs(5).value,561);
3496: hr_utility.set_location(l_inputs(6).name||':'||l_inputs(6).value,562);
3497: hr_utility.set_location(l_inputs(7).name||':'||l_inputs(7).value,563);
3498: hr_utility.set_location(l_inputs(8).name||':'||l_inputs(8).value,564);
3499: hr_utility.set_location(l_inputs(9).name||':'||l_inputs(9).value,565);
3500: hr_utility.set_location(l_inputs(10).name||':'||l_inputs(10).value,566);
3501: hr_utility.set_location(l_inputs(11).name||':'||l_inputs(11).value,567);
3502:
3503:
3496: hr_utility.set_location(l_inputs(6).name||':'||l_inputs(6).value,562);
3497: hr_utility.set_location(l_inputs(7).name||':'||l_inputs(7).value,563);
3498: hr_utility.set_location(l_inputs(8).name||':'||l_inputs(8).value,564);
3499: hr_utility.set_location(l_inputs(9).name||':'||l_inputs(9).value,565);
3500: hr_utility.set_location(l_inputs(10).name||':'||l_inputs(10).value,566);
3501: hr_utility.set_location(l_inputs(11).name||':'||l_inputs(11).value,567);
3502:
3503:
3504: per_formula_functions.run_formula(p_formula_id => p_accrual_formula_id,
3497: hr_utility.set_location(l_inputs(7).name||':'||l_inputs(7).value,563);
3498: hr_utility.set_location(l_inputs(8).name||':'||l_inputs(8).value,564);
3499: hr_utility.set_location(l_inputs(9).name||':'||l_inputs(9).value,565);
3500: hr_utility.set_location(l_inputs(10).name||':'||l_inputs(10).value,566);
3501: hr_utility.set_location(l_inputs(11).name||':'||l_inputs(11).value,567);
3502:
3503:
3504: per_formula_functions.run_formula(p_formula_id => p_accrual_formula_id,
3505: p_calculation_date => p_calculation_date,
3506: p_inputs => l_inputs,
3507: p_outputs => l_outputs);
3508:
3509: p_total_accrued_pto := nvl(l_outputs(1).value,0);
3510: hr_utility.set_location( l_outputs(1).name||':'|| p_total_accrued_pto,21);
3511:
3512: END IF;
3513: --
3514: --fnd_file.put_line(fnd_file.log,'Leaving FR_CALCULATE_ACCRUAL' );
3549: l_unused_date date;
3550: l_proc VARCHAR2(72) := g_package||' obsoletion_Procedure ';
3551:
3552: begin
3553: hr_utility.set_location('Entering ' || l_proc,10);
3554: --fnd_file.put_line(fnd_file.log,'In Obsoletion Procedure' );
3555:
3556: l_number := per_formula_functions.set_date('PROCESS_DATE', p_effective_date);
3557:
3563: P_ENTITLEMENT_START_DATE => l_ent_start_date,
3564: P_ACCRUAL_START_DATE => l_date,
3565: P_ACCRUAL_END_DATE => l_unused_date);
3566:
3567: hr_utility.set_location('Step ' || l_proc,30);
3568:
3569: --fnd_file.put_line(fnd_file.log,'Ent start date' || l_ent_start_date );
3570: --fnd_file.put_line(fnd_file.log,'Formula ID' || p_formula_id );
3571: --fnd_file.put_line(fnd_file.log,'Assignment id' || p_assignment_id );
3587: ,p_expiry_date => l_expiry_date
3588: ,p_max_carry_over => l_max_carryovers );
3589:
3590: no_of_obsoletes := p_net_entitlement - l_max_carryovers;
3591: hr_utility.set_location('Step ' || l_proc,40);
3592:
3593: --fnd_file.put_line(fnd_file.log,'Net entitlement' || p_net_entitlement );
3594: --fnd_file.put_line(fnd_file.log,'Carryovers' || l_max_carryovers );
3595: --fnd_file.put_line(fnd_file.log,'no of obsoletes' || no_of_obsoletes );
3607: p_new_conven_days := 0;
3608: p_new_seniority_days := 0;
3609: p_new_protected_days := 0;
3610: no_of_obsoletes := 0;
3611: hr_utility.set_location('Step ' || l_proc,50);
3612: end if;
3613: END IF;
3614: IF (i = 2 and p_net_protected_days > 0 and no_of_obsoletes > 0) then
3615: if (no_of_obsoletes >= p_net_protected_days ) then
3620: p_new_conven_days := 0;
3621: p_new_seniority_days := 0;
3622: p_new_protected_days := no_of_obsoletes;
3623: no_of_obsoletes := 0;
3624: hr_utility.set_location('Step ' || l_proc,60);
3625: end if;
3626: END IF;
3627: IF (i = 3 and p_net_seniority_days > 0 and no_of_obsoletes > 0) then
3628: if (no_of_obsoletes >= p_net_seniority_days ) then
3632: p_new_main_days := 0;
3633: p_new_conven_days := 0;
3634: p_new_seniority_days := no_of_obsoletes;
3635: no_of_obsoletes := 0;
3636: hr_utility.set_location('Step ' || l_proc,70);
3637: end if;
3638: END IF;
3639: IF (i = 4 and p_net_conven_days > 0 and no_of_obsoletes > 0) then
3640: if (no_of_obsoletes >= p_net_conven_days ) then
3652: p_new_main_days := p_net_main_days;
3653: else
3654: p_new_main_days := no_of_obsoletes;
3655: no_of_obsoletes := 0;
3656: hr_utility.set_location('Step ' || l_proc,80);
3657: end if;
3658: END IF;
3659: end loop;
3660:
3676: --fnd_file.put_line(fnd_file.log,'Seniority' || p_new_seniority_days );
3677: --fnd_file.put_line(fnd_file.log,'Protected' || p_new_protected_days );
3678:
3679: --fnd_file.put_line(fnd_file.log,'Leaving Obsolete Procedure' );
3680: hr_utility.set_location('Leaving: '||l_proc,100);
3681: end obsoletion_procedure;
3682: -------------------------------------------------------------------------------
3683: -- GET_FR_HOLIDAYS_BOOKED FORMULA FUNCTION
3684: -------------------------------------------------------------------------------
3705: l_total_y Number := 0;
3706: l_proc VARCHAR2(72) := g_package||' Get_fr_holidays_booked ';
3707: --
3708: BEGIN
3709: hr_utility.set_location('Entering ' || l_proc,10);
3710: --
3711: -- fetch variables for this accrual plan
3712: --
3713: get_accrual_plan_data(
3721: ,p_ent_ref_salary_id => l_unused_number
3722: ,p_ent_accrual_date_iv_id => l_unused_number
3723: ,p_holiday_element_id => l_holiday_element_id);
3724:
3725: hr_utility.set_location('Step ' || l_proc,20);
3726: --
3727: -- Call sub procedure to calculate the totals
3728: --
3729: l_ret := Get_fr_holidays_booked_list (
3740: ,p_total_y => l_total_y );
3741:
3742: p_total_booked := nvl(l_total_m,0) + nvl(l_total_p,0) +nvl(l_total_c,0) +nvl(l_total_s,0) +nvl(l_total_y,0);
3743: --
3744: hr_utility.set_location('Leaving: '||l_proc,50);
3745: return 1;
3746: END get_fr_holidays_booked;
3747: --
3748: -------------------------------------------------------------------------------
3783:
3784: l_proc VARCHAR2(72) := g_package||' Get_fr_holidays_booked_list ';
3785:
3786: BEGIN
3787: hr_utility.set_location('Entering ' || l_proc,10);
3788: --
3789: -- Fetch breakdown of booked holidays
3790: --
3791: hr_utility.set_location('p_assignment_id ' , p_assignment_id);
3787: hr_utility.set_location('Entering ' || l_proc,10);
3788: --
3789: -- Fetch breakdown of booked holidays
3790: --
3791: hr_utility.set_location('p_assignment_id ' , p_assignment_id);
3792: hr_utility.set_location('p_holiday_element_id ' , p_holiday_element_id);
3793: hr_utility.set_location('sd' || to_char(p_accrual_start_date,'dd-mm-yyyy'), 10);
3794: hr_utility.set_location('ed' || to_char(p_accrual_end_date,'dd-mm-yyyy'), 20);
3795:
3788: --
3789: -- Fetch breakdown of booked holidays
3790: --
3791: hr_utility.set_location('p_assignment_id ' , p_assignment_id);
3792: hr_utility.set_location('p_holiday_element_id ' , p_holiday_element_id);
3793: hr_utility.set_location('sd' || to_char(p_accrual_start_date,'dd-mm-yyyy'), 10);
3794: hr_utility.set_location('ed' || to_char(p_accrual_end_date,'dd-mm-yyyy'), 20);
3795:
3796: OPEN csr_booked_holiday (p_assignment_id, p_holiday_element_id, p_accrual_start_date, p_accrual_end_date);
3789: -- Fetch breakdown of booked holidays
3790: --
3791: hr_utility.set_location('p_assignment_id ' , p_assignment_id);
3792: hr_utility.set_location('p_holiday_element_id ' , p_holiday_element_id);
3793: hr_utility.set_location('sd' || to_char(p_accrual_start_date,'dd-mm-yyyy'), 10);
3794: hr_utility.set_location('ed' || to_char(p_accrual_end_date,'dd-mm-yyyy'), 20);
3795:
3796: OPEN csr_booked_holiday (p_assignment_id, p_holiday_element_id, p_accrual_start_date, p_accrual_end_date);
3797: Fetch csr_booked_holiday into p_total_m, p_total_p, p_total_c ,p_total_s ,p_total_y;
3790: --
3791: hr_utility.set_location('p_assignment_id ' , p_assignment_id);
3792: hr_utility.set_location('p_holiday_element_id ' , p_holiday_element_id);
3793: hr_utility.set_location('sd' || to_char(p_accrual_start_date,'dd-mm-yyyy'), 10);
3794: hr_utility.set_location('ed' || to_char(p_accrual_end_date,'dd-mm-yyyy'), 20);
3795:
3796: OPEN csr_booked_holiday (p_assignment_id, p_holiday_element_id, p_accrual_start_date, p_accrual_end_date);
3797: Fetch csr_booked_holiday into p_total_m, p_total_p, p_total_c ,p_total_s ,p_total_y;
3798: close csr_booked_holiday;
3796: OPEN csr_booked_holiday (p_assignment_id, p_holiday_element_id, p_accrual_start_date, p_accrual_end_date);
3797: Fetch csr_booked_holiday into p_total_m, p_total_p, p_total_c ,p_total_s ,p_total_y;
3798: close csr_booked_holiday;
3799:
3800: hr_utility.set_location('p_total_m ' , p_total_m);
3801: hr_utility.set_location('p_total_p ' , p_total_p);
3802: hr_utility.set_location('p_total_c ' , p_total_c);
3803: hr_utility.set_location('p_total_s ' , p_total_s);
3804: hr_utility.set_location('p_total_u ' , p_total_y);
3797: Fetch csr_booked_holiday into p_total_m, p_total_p, p_total_c ,p_total_s ,p_total_y;
3798: close csr_booked_holiday;
3799:
3800: hr_utility.set_location('p_total_m ' , p_total_m);
3801: hr_utility.set_location('p_total_p ' , p_total_p);
3802: hr_utility.set_location('p_total_c ' , p_total_c);
3803: hr_utility.set_location('p_total_s ' , p_total_s);
3804: hr_utility.set_location('p_total_u ' , p_total_y);
3805: --
3798: close csr_booked_holiday;
3799:
3800: hr_utility.set_location('p_total_m ' , p_total_m);
3801: hr_utility.set_location('p_total_p ' , p_total_p);
3802: hr_utility.set_location('p_total_c ' , p_total_c);
3803: hr_utility.set_location('p_total_s ' , p_total_s);
3804: hr_utility.set_location('p_total_u ' , p_total_y);
3805: --
3806: hr_utility.set_location('Leaving: '||l_proc,100);
3799:
3800: hr_utility.set_location('p_total_m ' , p_total_m);
3801: hr_utility.set_location('p_total_p ' , p_total_p);
3802: hr_utility.set_location('p_total_c ' , p_total_c);
3803: hr_utility.set_location('p_total_s ' , p_total_s);
3804: hr_utility.set_location('p_total_u ' , p_total_y);
3805: --
3806: hr_utility.set_location('Leaving: '||l_proc,100);
3807: return 1;
3800: hr_utility.set_location('p_total_m ' , p_total_m);
3801: hr_utility.set_location('p_total_p ' , p_total_p);
3802: hr_utility.set_location('p_total_c ' , p_total_c);
3803: hr_utility.set_location('p_total_s ' , p_total_s);
3804: hr_utility.set_location('p_total_u ' , p_total_y);
3805: --
3806: hr_utility.set_location('Leaving: '||l_proc,100);
3807: return 1;
3808: END get_fr_holidays_booked_list;
3802: hr_utility.set_location('p_total_c ' , p_total_c);
3803: hr_utility.set_location('p_total_s ' , p_total_s);
3804: hr_utility.set_location('p_total_u ' , p_total_y);
3805: --
3806: hr_utility.set_location('Leaving: '||l_proc,100);
3807: return 1;
3808: END get_fr_holidays_booked_list;
3809: --
3810: -------------------------------------------------------------------------------
3847: );
3848: l_proc VARCHAR2(72) := g_package||' Get_fr_young_mothers_days ';
3849:
3850: BEGIN
3851: hr_utility.set_location('Entering ' || l_proc,10);
3852: --
3853: open csr_count;
3854: fetch csr_count into p_no_of_children;
3855: close csr_count;
3853: open csr_count;
3854: fetch csr_count into p_no_of_children;
3855: close csr_count;
3856: --
3857: hr_utility.set_location('p_no_of_children ', p_no_of_children);
3858: hr_utility.set_location('Leaving: '||l_proc,50);
3859: --
3860: return 1;
3861: end Get_fr_young_mothers_days;
3854: fetch csr_count into p_no_of_children;
3855: close csr_count;
3856: --
3857: hr_utility.set_location('p_no_of_children ', p_no_of_children);
3858: hr_utility.set_location('Leaving: '||l_proc,50);
3859: --
3860: return 1;
3861: end Get_fr_young_mothers_days;
3862: -------------------------------------------------------------------------------
3875: l_month_in_date Date := trunc(p_month_in_date);
3876: l_index Number;
3877: l_proc VARCHAR2(72) := g_package||' get_fr_accrual_rate_changes ';
3878: BEGIN
3879: hr_utility.set_location('Entering ' || l_proc,10);
3880: --
3881: -- If the global collection has not been set, set it
3882: --
3883: IF p_assignment_id <> nvl(g_rate_assignment_in_table, -1)
3925: --
3926: p_main_rate := nvl(g_rate_tab(1).main_rate,0);
3927: p_protected_rate := nvl(g_rate_tab(1).protected_rate,0);
3928: END IF;
3929: hr_utility.set_location('Leaving: '||l_proc,50);
3930: return 1;
3931: END ;
3932: -------------------------------------------------------------------------------
3933: -- SET_FR_ACCRUAL_RATE_CHANGES ACCRUALS FORMULA FUNCTION
3978: peevM.effective_start_Date;
3979:
3980:
3981: BEGIN
3982: hr_utility.set_location('Entering ' || l_proc,10);
3983: get_accrual_plan_overrides(
3984: p_accrual_plan_id => p_plan_id
3985: ,p_accrual_plan_element_id => l_accrual_plan_element_id
3986: ,p_working_days_iv_id => l_working_days_iv_id
3987: ,p_protected_days_iv_id => l_protected_days_iv_id
3988: ,p_main_rate_defualt_value => l_main_rate_defualt_value
3989: ,p_protected_rate_defualt_value => l_protected_rate_defualt_value);
3990:
3991: hr_utility.set_location('accrual plan element id is ' , l_accrual_plan_element_id);
3992: hr_utility.set_location('accrual plan working days id is ' , l_working_days_iv_id);
3993: hr_utility.set_location('accrual plan protected days id is ' , l_protected_days_iv_id);
3994: --
3995: -- Clear out the structure
3988: ,p_main_rate_defualt_value => l_main_rate_defualt_value
3989: ,p_protected_rate_defualt_value => l_protected_rate_defualt_value);
3990:
3991: hr_utility.set_location('accrual plan element id is ' , l_accrual_plan_element_id);
3992: hr_utility.set_location('accrual plan working days id is ' , l_working_days_iv_id);
3993: hr_utility.set_location('accrual plan protected days id is ' , l_protected_days_iv_id);
3994: --
3995: -- Clear out the structure
3996: --
3989: ,p_protected_rate_defualt_value => l_protected_rate_defualt_value);
3990:
3991: hr_utility.set_location('accrual plan element id is ' , l_accrual_plan_element_id);
3992: hr_utility.set_location('accrual plan working days id is ' , l_working_days_iv_id);
3993: hr_utility.set_location('accrual plan protected days id is ' , l_protected_days_iv_id);
3994: --
3995: -- Clear out the structure
3996: --
3997: g_rate_tab.Delete;
4004: g_rate_tab(1).protected_rate := l_protected_rate_defualt_value;
4005:
4006: for csr_rec in csr_get_overrides LOOP
4007: l_index := l_index + 1;
4008: hr_utility.set_location('l_index ' , l_index);
4009:
4010: g_rate_tab(l_index).main_rate := csr_rec.main_rate;
4011: g_rate_tab(l_index).protected_rate := csr_rec.protected_rate;
4012: g_rate_tab(l_index).start_date := csr_rec.start_date;
4015: END LOOP;
4016: g_rate_assignment_in_table := p_assignment_id;
4017: g_plan_in_table := p_plan_id;
4018: --
4019: hr_utility.set_location('Leaving: '||l_proc,50);
4020: return 1;
4021: end set_fr_accrual_rate_changes;
4022:
4023: -------------------------------------------------------------------------------
4119: and fnd_date.date_to_canonical(p_accrual_end_Date)
4120: and pee.assignment_id = p_assignment_id;
4121: --
4122: BEGIN
4123: hr_utility.set_location('Entering ' || l_proc,10);
4124: --
4125: -- Get input variables and plan dates
4126: --
4127: get_accrual_plan_data(
4135: ,p_ent_ref_salary_id => l_unused_number
4136: ,p_ent_accrual_date_iv_id => l_ent_accrual_date_iv_id
4137: ,p_holiday_element_id => l_unused_number);
4138: --
4139: hr_utility.set_location('Step ' || l_proc,30);
4140: open csr_latest_ent_date (l_ent_accrual_date_iv_id, l_accrual_start_date, l_accrual_end_date );
4141: fetch csr_latest_ent_date into p_latest_date;
4142:
4143: if p_latest_date is null THEN
4147: p_accrual_end_date := l_accrual_end_date;
4148: p_accrual_start_date := l_accrual_start_date;
4149: p_entitlement_start_date := add_months(p_accrual_start_date, l_entitlement_offset);
4150:
4151: hr_utility.set_location('Leaving: '||l_proc,60);
4152: --
4153: return 1;
4154: end get_fr_latest_ent_date ;
4155: --
4198:
4199: l_fr_plan_info g_fr_plan_info;
4200:
4201: BEGIN
4202: hr_utility.set_location('Entering ' || l_proc,10);
4203: --
4204: -- Ensure correct globals are set
4205: --
4206: p_ref_main_days := 0;
4216: l_ent_ref_salary_id := l_fr_plan_info.ent_reference_sal_iv_id;
4217: l_ent_accrual_date_iv_id := l_fr_plan_info.ent_accrual_date_iv_id;
4218: end if;
4219:
4220: hr_utility.set_location('IN REF ENTITLEMENT',10);
4221: hr_utility.set_location('l_ent_ref_salary_id ',l_ent_ref_salary_id );
4222: hr_utility.set_location('l_ent_ref_days_id',l_ent_ref_days_id);
4223: hr_utility.set_location('l_ent_accrual_date_iv_id',l_ent_accrual_date_iv_id);
4224: hr_utility.set_location('p_accrual_start_date' || p_accrual_start_date,10);
4217: l_ent_accrual_date_iv_id := l_fr_plan_info.ent_accrual_date_iv_id;
4218: end if;
4219:
4220: hr_utility.set_location('IN REF ENTITLEMENT',10);
4221: hr_utility.set_location('l_ent_ref_salary_id ',l_ent_ref_salary_id );
4222: hr_utility.set_location('l_ent_ref_days_id',l_ent_ref_days_id);
4223: hr_utility.set_location('l_ent_accrual_date_iv_id',l_ent_accrual_date_iv_id);
4224: hr_utility.set_location('p_accrual_start_date' || p_accrual_start_date,10);
4225: hr_utility.set_location('p_accrual_end_date'|| p_accrual_end_date,10);
4218: end if;
4219:
4220: hr_utility.set_location('IN REF ENTITLEMENT',10);
4221: hr_utility.set_location('l_ent_ref_salary_id ',l_ent_ref_salary_id );
4222: hr_utility.set_location('l_ent_ref_days_id',l_ent_ref_days_id);
4223: hr_utility.set_location('l_ent_accrual_date_iv_id',l_ent_accrual_date_iv_id);
4224: hr_utility.set_location('p_accrual_start_date' || p_accrual_start_date,10);
4225: hr_utility.set_location('p_accrual_end_date'|| p_accrual_end_date,10);
4226: hr_utility.set_location('p_assignment_id', p_assignment_id);
4219:
4220: hr_utility.set_location('IN REF ENTITLEMENT',10);
4221: hr_utility.set_location('l_ent_ref_salary_id ',l_ent_ref_salary_id );
4222: hr_utility.set_location('l_ent_ref_days_id',l_ent_ref_days_id);
4223: hr_utility.set_location('l_ent_accrual_date_iv_id',l_ent_accrual_date_iv_id);
4224: hr_utility.set_location('p_accrual_start_date' || p_accrual_start_date,10);
4225: hr_utility.set_location('p_accrual_end_date'|| p_accrual_end_date,10);
4226: hr_utility.set_location('p_assignment_id', p_assignment_id);
4227: hr_utility.set_location('Step ' || l_proc,30);
4220: hr_utility.set_location('IN REF ENTITLEMENT',10);
4221: hr_utility.set_location('l_ent_ref_salary_id ',l_ent_ref_salary_id );
4222: hr_utility.set_location('l_ent_ref_days_id',l_ent_ref_days_id);
4223: hr_utility.set_location('l_ent_accrual_date_iv_id',l_ent_accrual_date_iv_id);
4224: hr_utility.set_location('p_accrual_start_date' || p_accrual_start_date,10);
4225: hr_utility.set_location('p_accrual_end_date'|| p_accrual_end_date,10);
4226: hr_utility.set_location('p_assignment_id', p_assignment_id);
4227: hr_utility.set_location('Step ' || l_proc,30);
4228:
4221: hr_utility.set_location('l_ent_ref_salary_id ',l_ent_ref_salary_id );
4222: hr_utility.set_location('l_ent_ref_days_id',l_ent_ref_days_id);
4223: hr_utility.set_location('l_ent_accrual_date_iv_id',l_ent_accrual_date_iv_id);
4224: hr_utility.set_location('p_accrual_start_date' || p_accrual_start_date,10);
4225: hr_utility.set_location('p_accrual_end_date'|| p_accrual_end_date,10);
4226: hr_utility.set_location('p_assignment_id', p_assignment_id);
4227: hr_utility.set_location('Step ' || l_proc,30);
4228:
4229: open csr_ref_entitlement ( l_ent_ref_salary_id, l_ent_ref_days_id, l_ent_accrual_date_iv_id );
4222: hr_utility.set_location('l_ent_ref_days_id',l_ent_ref_days_id);
4223: hr_utility.set_location('l_ent_accrual_date_iv_id',l_ent_accrual_date_iv_id);
4224: hr_utility.set_location('p_accrual_start_date' || p_accrual_start_date,10);
4225: hr_utility.set_location('p_accrual_end_date'|| p_accrual_end_date,10);
4226: hr_utility.set_location('p_assignment_id', p_assignment_id);
4227: hr_utility.set_location('Step ' || l_proc,30);
4228:
4229: open csr_ref_entitlement ( l_ent_ref_salary_id, l_ent_ref_days_id, l_ent_accrual_date_iv_id );
4230: fetch csr_ref_entitlement into p_ref_main_days, p_ref_salary;
4223: hr_utility.set_location('l_ent_accrual_date_iv_id',l_ent_accrual_date_iv_id);
4224: hr_utility.set_location('p_accrual_start_date' || p_accrual_start_date,10);
4225: hr_utility.set_location('p_accrual_end_date'|| p_accrual_end_date,10);
4226: hr_utility.set_location('p_assignment_id', p_assignment_id);
4227: hr_utility.set_location('Step ' || l_proc,30);
4228:
4229: open csr_ref_entitlement ( l_ent_ref_salary_id, l_ent_ref_days_id, l_ent_accrual_date_iv_id );
4230: fetch csr_ref_entitlement into p_ref_main_days, p_ref_salary;
4231: close csr_ref_entitlement;
4229: open csr_ref_entitlement ( l_ent_ref_salary_id, l_ent_ref_days_id, l_ent_accrual_date_iv_id );
4230: fetch csr_ref_entitlement into p_ref_main_days, p_ref_salary;
4231: close csr_ref_entitlement;
4232:
4233: hr_utility.set_location('p_ref_main_days ', p_ref_main_days);
4234: hr_utility.set_location('p_ref_salary ' ,p_ref_salary);
4235:
4236: --fnd_file.put_line(fnd_file.log,'Leaving ' || l_proc);
4237: --
4230: fetch csr_ref_entitlement into p_ref_main_days, p_ref_salary;
4231: close csr_ref_entitlement;
4232:
4233: hr_utility.set_location('p_ref_main_days ', p_ref_main_days);
4234: hr_utility.set_location('p_ref_salary ' ,p_ref_salary);
4235:
4236: --fnd_file.put_line(fnd_file.log,'Leaving ' || l_proc);
4237: --
4238: hr_utility.set_location('Leaving: '||l_proc,50);
4234: hr_utility.set_location('p_ref_salary ' ,p_ref_salary);
4235:
4236: --fnd_file.put_line(fnd_file.log,'Leaving ' || l_proc);
4237: --
4238: hr_utility.set_location('Leaving: '||l_proc,50);
4239: end get_reference_entitlement;
4240: -------------------------------------------------------------------------------
4241: -- GET_ACCRUAL_PLAN_DATA
4242: -------------------------------------------------------------------------------
4306: ,P_adj_element_id => l_n);
4307: --
4308: p_accrual_plan_id := l_accrual_plan_id;
4309: --
4310: hr_utility.set_location('Leaving: '||l_proc,50);
4311: end get_accrual_plan_data;
4312: --
4313: -------------------------------------------------------------------------------
4314: -- Get_Payment_info
4347: -- /* legislation comments*/
4348: --
4349: l_proc VARCHAR2(72) := g_package||' get_payment_info ';
4350: BEGIN
4351: hr_utility.set_location('Entering ' || l_proc,10);
4352: open csr_input_values;
4353: fetch csr_input_values into p_days_input_id, p_protected_days_input_id, p_absence_input_id, p_element_type_id;
4354: close csr_input_values;
4355: hr_utility.set_location('Leaving: '||l_proc,50);
4351: hr_utility.set_location('Entering ' || l_proc,10);
4352: open csr_input_values;
4353: fetch csr_input_values into p_days_input_id, p_protected_days_input_id, p_absence_input_id, p_element_type_id;
4354: close csr_input_values;
4355: hr_utility.set_location('Leaving: '||l_proc,50);
4356: END get_payment_info;
4357: --
4358: -------------------------------------------------------------------------------
4359: -- GET_PREVIOUS_HOLIDAY_ABSENCE
4414: where absence_attendance_id = p_absence_attendance_id;
4415:
4416: BEGIN
4417:
4418: hr_utility.set_location('Entering ' || l_proc,10);
4419: --
4420: -- If necessary fetch the input values that hold the number of days / protected days paid.
4421: --
4422: if p_days_input_id is null then
4425: --
4426: open csr_start_date;
4427: fetch csr_start_date into l_start_date;
4428: close csr_start_date;
4429: hr_utility.trace('start_date is ' || to_char(l_start_date,'dd-mm-yyyy'));
4430: --
4431: open csr_previous_payments(l_fr_pay_info.pay_total_days_input_ID, p_assignment_id, p_absence_attendance_id
4432: ,l_fr_pay_info.pay_protected_days_input_ID, l_fr_pay_info.pay_element_id
4433: ,l_fr_pay_info.pay_abs_attend_input_id, l_start_date);
4446:
4447: p_total_days_paid := nvl(p_total_days_paid, 0) + nvl(l_total_days_paid,0);
4448: p_protected_days_paid := nvl(p_protected_days_paid, 0) + nvl(l_protected_days_paid,0);
4449:
4450: hr_utility.trace('get_previous_absence_paid p_absence_attendance_id is ' || to_char(p_absence_attendance_id));
4451: hr_utility.trace('p_total_days_paid is ' || to_char(p_total_days_paid));
4452: hr_utility.trace('p_protected_days_paid is ' || to_char(p_protected_days_paid));
4453: --fnd_file.put_line(fnd_file.log,'pay_total_days_input_ID is ' || to_char(l_fr_pay_info.pay_total_days_input_ID));
4454: --fnd_file.put_line(fnd_file.log,'pay_protected_days_input_ID is ' || to_char(l_fr_pay_info.pay_protected_days_input_ID));
4447: p_total_days_paid := nvl(p_total_days_paid, 0) + nvl(l_total_days_paid,0);
4448: p_protected_days_paid := nvl(p_protected_days_paid, 0) + nvl(l_protected_days_paid,0);
4449:
4450: hr_utility.trace('get_previous_absence_paid p_absence_attendance_id is ' || to_char(p_absence_attendance_id));
4451: hr_utility.trace('p_total_days_paid is ' || to_char(p_total_days_paid));
4452: hr_utility.trace('p_protected_days_paid is ' || to_char(p_protected_days_paid));
4453: --fnd_file.put_line(fnd_file.log,'pay_total_days_input_ID is ' || to_char(l_fr_pay_info.pay_total_days_input_ID));
4454: --fnd_file.put_line(fnd_file.log,'pay_protected_days_input_ID is ' || to_char(l_fr_pay_info.pay_protected_days_input_ID));
4455: --fnd_file.put_line(fnd_file.log,'l_pay_element_id is ' || to_char(l_fr_pay_info.pay_element_id));
4448: p_protected_days_paid := nvl(p_protected_days_paid, 0) + nvl(l_protected_days_paid,0);
4449:
4450: hr_utility.trace('get_previous_absence_paid p_absence_attendance_id is ' || to_char(p_absence_attendance_id));
4451: hr_utility.trace('p_total_days_paid is ' || to_char(p_total_days_paid));
4452: hr_utility.trace('p_protected_days_paid is ' || to_char(p_protected_days_paid));
4453: --fnd_file.put_line(fnd_file.log,'pay_total_days_input_ID is ' || to_char(l_fr_pay_info.pay_total_days_input_ID));
4454: --fnd_file.put_line(fnd_file.log,'pay_protected_days_input_ID is ' || to_char(l_fr_pay_info.pay_protected_days_input_ID));
4455: --fnd_file.put_line(fnd_file.log,'l_pay_element_id is ' || to_char(l_fr_pay_info.pay_element_id));
4456: --fnd_file.put_line(fnd_file.log,'p_assignment_id is ' || to_char(p_assignment_id));
4455: --fnd_file.put_line(fnd_file.log,'l_pay_element_id is ' || to_char(l_fr_pay_info.pay_element_id));
4456: --fnd_file.put_line(fnd_file.log,'p_assignment_id is ' || to_char(p_assignment_id));
4457: --fnd_file.put_line(fnd_file.log,'p_total_days_paid is ' || to_char(p_total_days_paid));
4458: --fnd_file.put_line(fnd_file.log,'p_protected_days_paid is ' || to_char(p_protected_days_paid));
4459: hr_utility.set_location('Leaving: '||l_proc,50);
4460: end get_previous_holiday_absence;
4461: --
4462: -------------------------------------------------------------------------------
4463: -- GET_ACCRUAL_PLAN_INFO
4632: temp_ent_accrual_date_iv_id number := 0;
4633: temp_accrual_start_month number := 0;
4634: l_proc VARCHAR2(72) := g_package||' get_accrual_plan_inf0 ';
4635: BEGIN
4636: hr_utility.set_location('Entering ' || l_proc,10);
4637: IF p_accrual_plan_id is not null THEN
4638: open csr_plan_info(p_accrual_plan_id);
4639: fetch csr_plan_info into rec_plan_info;
4640: close csr_plan_info;
4723: --
4724: --
4725: -- Get the plan dates, if p_accrual_date is not null
4726: --
4727: hr_utility.set_location('p_accrual_date is ' || p_accrual_date, 20);
4728:
4729: IF p_accrual_date is not null then
4730: l_asat_month := to_number(to_char(p_accrual_date, 'mm'));
4731: hr_utility.set_location('l_asat_month is ' || l_asat_month, 30);
4727: hr_utility.set_location('p_accrual_date is ' || p_accrual_date, 20);
4728:
4729: IF p_accrual_date is not null then
4730: l_asat_month := to_number(to_char(p_accrual_date, 'mm'));
4731: hr_utility.set_location('l_asat_month is ' || l_asat_month, 30);
4732: hr_utility.set_location('temp_accrual_start_month is ' || temp_accrual_start_month, 40);
4733: if l_asat_month < temp_accrual_start_month then
4734: hr_utility.set_location('Step ', 40);
4735: l_add_months := -12;
4728:
4729: IF p_accrual_date is not null then
4730: l_asat_month := to_number(to_char(p_accrual_date, 'mm'));
4731: hr_utility.set_location('l_asat_month is ' || l_asat_month, 30);
4732: hr_utility.set_location('temp_accrual_start_month is ' || temp_accrual_start_month, 40);
4733: if l_asat_month < temp_accrual_start_month then
4734: hr_utility.set_location('Step ', 40);
4735: l_add_months := -12;
4736: end if;
4730: l_asat_month := to_number(to_char(p_accrual_date, 'mm'));
4731: hr_utility.set_location('l_asat_month is ' || l_asat_month, 30);
4732: hr_utility.set_location('temp_accrual_start_month is ' || temp_accrual_start_month, 40);
4733: if l_asat_month < temp_accrual_start_month then
4734: hr_utility.set_location('Step ', 40);
4735: l_add_months := -12;
4736: end if;
4737: p_accrual_year_start := to_date('01-' || temp_accrual_start_month || '-'
4738: || to_char(add_months(p_accrual_date,l_add_months), 'yyyy') || ' 00:00:00'
4739: , 'dd-mm-yyyy hh24:mi:ss');
4740: p_accrual_year_end := add_months(p_accrual_year_start - 1,12);
4741: end if;
4742:
4743: hr_utility.set_location('p_accrual_date is ' || p_accrual_date, 50);
4744: hr_utility.set_location('p_accrual_year_start is ' || p_accrual_year_start, 51);
4745: hr_utility.set_location('p_accrual_year_end is ' || p_accrual_year_end, 52);
4746:
4747:
4740: p_accrual_year_end := add_months(p_accrual_year_start - 1,12);
4741: end if;
4742:
4743: hr_utility.set_location('p_accrual_date is ' || p_accrual_date, 50);
4744: hr_utility.set_location('p_accrual_year_start is ' || p_accrual_year_start, 51);
4745: hr_utility.set_location('p_accrual_year_end is ' || p_accrual_year_end, 52);
4746:
4747:
4748: p_ent_reference_sal_iv_id := rec_reference_inputs.reference_salary;
4741: end if;
4742:
4743: hr_utility.set_location('p_accrual_date is ' || p_accrual_date, 50);
4744: hr_utility.set_location('p_accrual_year_start is ' || p_accrual_year_start, 51);
4745: hr_utility.set_location('p_accrual_year_end is ' || p_accrual_year_end, 52);
4746:
4747:
4748: p_ent_reference_sal_iv_id := rec_reference_inputs.reference_salary;
4749: p_ent_reference_days_iv_id := rec_reference_inputs.reference_days;
4756: close csr_plan_input;
4757: open csr_plan_input (p_adj_element_id);
4758: fetch csr_plan_input into p_adj_acp_iv_id;
4759: close csr_plan_input;
4760: hr_utility.set_location('Leaving: '||l_proc,50);
4761: --
4762: end get_accrual_plan_info;
4763: /* ===========================================================================
4764: Name : Get_fr_holiday_details FORMULA_FUNCTION
4842: from fnd_sessions
4843: where session_id = USERENV('SESSIONID');
4844:
4845: begin
4846: hr_utility.set_location('Entering ' || l_proc,10);
4847: --
4848: -- Fetch the effective_date
4849: --
4850: open csr_session_date;
4864: ,l_whole_Seniority_Days
4865: ,l_whole_Young_Mothers_Days
4866: ,l_assignment_id;
4867: close csr_get_abs_detail;
4868: hr_utility.set_location('Step ' || l_proc,30);
4869: --
4870: -- get the plan start date / end date for this accrual date in the plan.
4871: --
4872: get_accrual_plan_data(
4880: ,p_ent_ref_days_id => l_reference_days_id
4881: ,p_ent_ref_salary_id => l_reference_salary_id
4882: ,p_ent_accrual_date_iv_id => l_ent_accrual_date_iv_id
4883: ,p_holiday_element_id => l_unused);
4884: hr_utility.set_location('Step ' || l_proc,40);
4885: --
4886: --
4887: -- Determine which proration period this releates to. This is useful in determining if any
4888: -- proration is necessary in the number of days, or if this is the last (or only)period
4893: -- OR
4894: -- IF prorate end is null and and effective date and element entry end date is in same year / month
4895: -- then this is the last period.
4896: --
4897: hr_utility.set_location('Step ' || l_proc,50);
4898:
4899: if (to_char(l_whole_entry_end_date, 'ddmmyyyy') = to_char(p_prorate_end, 'ddmmyyyy')
4900: and p_prorate_end <> to_date('47121231','yyyymmdd'))
4901: OR (p_prorate_end = to_date('47121231','yyyymmdd') and
4911: --
4912:
4913: if l_session_date is not null and l_session_date between p_accrue_start_date and p_accrue_end_date then
4914: l_regularize_possible := 'N';
4915: hr_utility.set_location('Step ' || l_proc,60);
4916: else
4917: l_regularize_possible := 'Y';
4918: end if;
4919: --
4919: --
4920: -- If this is the LAST proration period, get the number of days already paid for this absence
4921: --
4922:
4923: hr_utility.set_location('Step ' || l_proc,70);
4924: get_previous_holiday_absence(
4925: p_absence_attendance_id => l_whole_Absence_attendance_ID
4926: ,p_assignment_id => l_assignment_id
4927: ,p_total_days_paid => l_previous_total_days /* all absence types */
4934: -- If regularization is possible, get the total entitlement for main and protected stored
4935: -- for this assignment for this accrual period.
4936: --
4937: if l_regularize_possible = 'Y' then
4938: hr_utility.set_location('Step ' || l_proc,80);
4939: get_reference_entitlement(
4940: p_accrual_plan_id => p_accrual_plan_id
4941: ,p_accrual_start_date => p_accrue_start_date
4942: ,p_accrual_end_date => p_accrue_end_date
4948: ,p_ref_salary => p_reference_salary
4949: );
4950: if nvl(p_reference_salary,0) = 0 THEN
4951: l_regularize_possible := 'N';
4952: hr_utility.set_location('Step ' || l_proc,90);
4953: END IF;
4954: end if;
4955: --
4956: -- Set Out Variables
4972: P_proration_period := l_to_pay_flag;
4973: p_regularize_possible := l_regularize_possible;
4974: p_session_date := l_session_date;
4975: --
4976: hr_utility.set_location('Leaving: '||l_proc,50);
4977: return 1;
4978: end Get_fr_holiday_details;
4979: --
4980: --
5042: BETWEEN target.org_information1
5043: AND nvl(target.org_information2, '4712/12/31 00:00:00');
5044:
5045: begin
5046: hr_utility.set_location('Entering ' || l_proc,10);
5047: --
5048: -- Fetch the comp / process type percentages
5049: --
5050: open csr_fetch_comp_process_rates(p_date_earned,p_assignment_id);
5050: open csr_fetch_comp_process_rates(p_date_earned,p_assignment_id);
5051: fetch csr_fetch_comp_process_rates into l_comp_accrual_rate_normal,l_comp_accrual_rate_part_time
5052: ,l_comp_accrual_rate_app, l_comp_accrual_rate_ori
5053: ,l_comp_accrual_rate_yq;
5054: hr_utility.set_location('Step '|| l_proc,20);
5055: --
5056: if csr_fetch_comp_process_rates%FOUND then
5057:
5058: --
5062: fetch csr_fetch_estab_process_rates into l_estab_accrual_rate_normal,l_estab_accrual_rate_part_time
5063: ,l_estab_accrual_rate_app, l_estab_accrual_rate_ori
5064: ,l_estab_accrual_rate_yq;
5065:
5066: hr_utility.set_location('Step ' || l_proc,30);
5067: --
5068: if csr_fetch_estab_process_rates%NOTFOUND then
5069:
5070: --
5068: if csr_fetch_estab_process_rates%NOTFOUND then
5069:
5070: --
5071: If p_process_type = 'NORMAL' then
5072: hr_utility.set_location('Step ' || l_proc,40);
5073: p_charges_percentage := l_comp_accrual_rate_normal;
5074: elsif p_process_type = 'PART_TIME' then
5075: hr_utility.set_location('Step ' || l_proc,50);
5076: p_charges_percentage := l_comp_accrual_rate_part_time;
5071: If p_process_type = 'NORMAL' then
5072: hr_utility.set_location('Step ' || l_proc,40);
5073: p_charges_percentage := l_comp_accrual_rate_normal;
5074: elsif p_process_type = 'PART_TIME' then
5075: hr_utility.set_location('Step ' || l_proc,50);
5076: p_charges_percentage := l_comp_accrual_rate_part_time;
5077: elsif p_process_type = 'APPRENTICE' then
5078: hr_utility.set_location('Step ' || l_proc,52);
5079: p_charges_percentage := l_comp_accrual_rate_app;
5074: elsif p_process_type = 'PART_TIME' then
5075: hr_utility.set_location('Step ' || l_proc,50);
5076: p_charges_percentage := l_comp_accrual_rate_part_time;
5077: elsif p_process_type = 'APPRENTICE' then
5078: hr_utility.set_location('Step ' || l_proc,52);
5079: p_charges_percentage := l_comp_accrual_rate_app;
5080: elsif p_process_type = 'ORIENT' then
5081: hr_utility.set_location('Step ' || l_proc,53);
5082: p_charges_percentage := l_comp_accrual_rate_ori;
5077: elsif p_process_type = 'APPRENTICE' then
5078: hr_utility.set_location('Step ' || l_proc,52);
5079: p_charges_percentage := l_comp_accrual_rate_app;
5080: elsif p_process_type = 'ORIENT' then
5081: hr_utility.set_location('Step ' || l_proc,53);
5082: p_charges_percentage := l_comp_accrual_rate_ori;
5083: elsif p_process_type = 'YPQUAL' then
5084: hr_utility.set_location('Step ' || l_proc,54);
5085: p_charges_percentage := l_comp_accrual_rate_yq;
5080: elsif p_process_type = 'ORIENT' then
5081: hr_utility.set_location('Step ' || l_proc,53);
5082: p_charges_percentage := l_comp_accrual_rate_ori;
5083: elsif p_process_type = 'YPQUAL' then
5084: hr_utility.set_location('Step ' || l_proc,54);
5085: p_charges_percentage := l_comp_accrual_rate_yq;
5086: end if;
5087: --
5088: else
5087: --
5088: else
5089: --
5090: If p_process_type = 'NORMAL' then
5091: hr_utility.set_location('Step ' || l_proc,60);
5092: p_charges_percentage := nvl(l_estab_accrual_rate_normal,l_comp_accrual_rate_normal);
5093: elsif p_process_type = 'PART_TIME' then
5094: hr_utility.set_location('Step ' || l_proc,70);
5095: p_charges_percentage := nvl(l_estab_accrual_rate_part_time,l_comp_accrual_rate_part_time);
5090: If p_process_type = 'NORMAL' then
5091: hr_utility.set_location('Step ' || l_proc,60);
5092: p_charges_percentage := nvl(l_estab_accrual_rate_normal,l_comp_accrual_rate_normal);
5093: elsif p_process_type = 'PART_TIME' then
5094: hr_utility.set_location('Step ' || l_proc,70);
5095: p_charges_percentage := nvl(l_estab_accrual_rate_part_time,l_comp_accrual_rate_part_time);
5096: elsif p_process_type = 'APPRENTICE' then
5097: hr_utility.set_location('Step ' || l_proc,72);
5098: p_charges_percentage := nvl(l_estab_accrual_rate_app,l_comp_accrual_rate_app);
5093: elsif p_process_type = 'PART_TIME' then
5094: hr_utility.set_location('Step ' || l_proc,70);
5095: p_charges_percentage := nvl(l_estab_accrual_rate_part_time,l_comp_accrual_rate_part_time);
5096: elsif p_process_type = 'APPRENTICE' then
5097: hr_utility.set_location('Step ' || l_proc,72);
5098: p_charges_percentage := nvl(l_estab_accrual_rate_app,l_comp_accrual_rate_app);
5099: elsif p_process_type = 'ORIENT' then
5100: hr_utility.set_location('Step ' || l_proc,73);
5101: p_charges_percentage := nvl(l_estab_accrual_rate_ori,l_comp_accrual_rate_ori);
5096: elsif p_process_type = 'APPRENTICE' then
5097: hr_utility.set_location('Step ' || l_proc,72);
5098: p_charges_percentage := nvl(l_estab_accrual_rate_app,l_comp_accrual_rate_app);
5099: elsif p_process_type = 'ORIENT' then
5100: hr_utility.set_location('Step ' || l_proc,73);
5101: p_charges_percentage := nvl(l_estab_accrual_rate_ori,l_comp_accrual_rate_ori);
5102: elsif p_process_type = 'YPQUAL' then
5103: hr_utility.set_location('Step ' || l_proc,74);
5104: p_charges_percentage := nvl(l_estab_accrual_rate_yq,l_comp_accrual_rate_yq);
5099: elsif p_process_type = 'ORIENT' then
5100: hr_utility.set_location('Step ' || l_proc,73);
5101: p_charges_percentage := nvl(l_estab_accrual_rate_ori,l_comp_accrual_rate_ori);
5102: elsif p_process_type = 'YPQUAL' then
5103: hr_utility.set_location('Step ' || l_proc,74);
5104: p_charges_percentage := nvl(l_estab_accrual_rate_yq,l_comp_accrual_rate_yq);
5105: end if;
5106: --
5107: end if;
5112: open csr_fetch_estab_process_rates(p_date_earned,p_assignment_id);
5113: fetch csr_fetch_estab_process_rates into l_estab_accrual_rate_normal,l_estab_accrual_rate_part_time
5114: ,l_estab_accrual_rate_app, l_estab_accrual_rate_ori
5115: ,l_estab_accrual_rate_yq;
5116: hr_utility.set_location('Step ' || l_proc,80);
5117: --
5118: if csr_fetch_estab_process_rates%FOUND then
5119: --
5120: If p_process_type = 'NORMAL' then
5117: --
5118: if csr_fetch_estab_process_rates%FOUND then
5119: --
5120: If p_process_type = 'NORMAL' then
5121: hr_utility.set_location('Step ' || l_proc,90);
5122: p_charges_percentage := l_estab_accrual_rate_normal;
5123: elsif p_process_type = 'PART_TIME' then
5124: hr_utility.set_location('Step ' || l_proc,100);
5125: p_charges_percentage := l_estab_accrual_rate_part_time;
5120: If p_process_type = 'NORMAL' then
5121: hr_utility.set_location('Step ' || l_proc,90);
5122: p_charges_percentage := l_estab_accrual_rate_normal;
5123: elsif p_process_type = 'PART_TIME' then
5124: hr_utility.set_location('Step ' || l_proc,100);
5125: p_charges_percentage := l_estab_accrual_rate_part_time;
5126: elsif p_process_type = 'APPRENTICE' then
5127: hr_utility.set_location('Step ' || l_proc,105);
5128: p_charges_percentage := l_estab_accrual_rate_app;
5123: elsif p_process_type = 'PART_TIME' then
5124: hr_utility.set_location('Step ' || l_proc,100);
5125: p_charges_percentage := l_estab_accrual_rate_part_time;
5126: elsif p_process_type = 'APPRENTICE' then
5127: hr_utility.set_location('Step ' || l_proc,105);
5128: p_charges_percentage := l_estab_accrual_rate_app;
5129: elsif p_process_type = 'ORIENT' then
5130: hr_utility.set_location('Step ' || l_proc,106);
5131: p_charges_percentage := l_estab_accrual_rate_ori;
5126: elsif p_process_type = 'APPRENTICE' then
5127: hr_utility.set_location('Step ' || l_proc,105);
5128: p_charges_percentage := l_estab_accrual_rate_app;
5129: elsif p_process_type = 'ORIENT' then
5130: hr_utility.set_location('Step ' || l_proc,106);
5131: p_charges_percentage := l_estab_accrual_rate_ori;
5132: elsif p_process_type = 'YPQUAL' then
5133: hr_utility.set_location('Step ' || l_proc,107);
5134: p_charges_percentage := l_estab_accrual_rate_yq;
5129: elsif p_process_type = 'ORIENT' then
5130: hr_utility.set_location('Step ' || l_proc,106);
5131: p_charges_percentage := l_estab_accrual_rate_ori;
5132: elsif p_process_type = 'YPQUAL' then
5133: hr_utility.set_location('Step ' || l_proc,107);
5134: p_charges_percentage := l_estab_accrual_rate_yq;
5135: end if;
5136: --
5137: else
5145:
5146: --
5147: If p_charges_percentage <> 0 then
5148: p_charges_percentage := nvl(p_charges_percentage,0);
5149: hr_utility.set_location('Step ' || l_proc,110);
5150: return 1;
5151: else
5152: p_charges_percentage := nvl(p_charges_percentage,0);
5153: hr_utility.set_location('Step ' || l_proc,120);
5149: hr_utility.set_location('Step ' || l_proc,110);
5150: return 1;
5151: else
5152: p_charges_percentage := nvl(p_charges_percentage,0);
5153: hr_utility.set_location('Step ' || l_proc,120);
5154: return 0;
5155: end if;
5156: --
5157: hr_utility.set_location('Leaving: '||l_proc,130);
5153: hr_utility.set_location('Step ' || l_proc,120);
5154: return 0;
5155: end if;
5156: --
5157: hr_utility.set_location('Leaving: '||l_proc,130);
5158: --
5159: end get_accrual_rate_percentage;
5160: --
5161: -------------------------------------------------------------------------------
5207:
5208: l_proc VARCHAR2(72) := g_package||' get_accounting_details';
5209:
5210: BEGIN
5211: hr_utility.set_location('Entering ' || l_proc,10);
5212: hr_utility.trace('p_element entry id ' || p_element_entry_id );
5213: hr_utility.trace('p_payroll_id ' || p_payroll_id );
5214: hr_utility.trace('p_assignment_id ' || p_assignment_id );
5215: hr_utility.trace('p_accounting_date ' || p_accounting_date );
5208: l_proc VARCHAR2(72) := g_package||' get_accounting_details';
5209:
5210: BEGIN
5211: hr_utility.set_location('Entering ' || l_proc,10);
5212: hr_utility.trace('p_element entry id ' || p_element_entry_id );
5213: hr_utility.trace('p_payroll_id ' || p_payroll_id );
5214: hr_utility.trace('p_assignment_id ' || p_assignment_id );
5215: hr_utility.trace('p_accounting_date ' || p_accounting_date );
5216: --
5209:
5210: BEGIN
5211: hr_utility.set_location('Entering ' || l_proc,10);
5212: hr_utility.trace('p_element entry id ' || p_element_entry_id );
5213: hr_utility.trace('p_payroll_id ' || p_payroll_id );
5214: hr_utility.trace('p_assignment_id ' || p_assignment_id );
5215: hr_utility.trace('p_accounting_date ' || p_accounting_date );
5216: --
5217: -- Get the accrual plan
5210: BEGIN
5211: hr_utility.set_location('Entering ' || l_proc,10);
5212: hr_utility.trace('p_element entry id ' || p_element_entry_id );
5213: hr_utility.trace('p_payroll_id ' || p_payroll_id );
5214: hr_utility.trace('p_assignment_id ' || p_assignment_id );
5215: hr_utility.trace('p_accounting_date ' || p_accounting_date );
5216: --
5217: -- Get the accrual plan
5218: --
5211: hr_utility.set_location('Entering ' || l_proc,10);
5212: hr_utility.trace('p_element entry id ' || p_element_entry_id );
5213: hr_utility.trace('p_payroll_id ' || p_payroll_id );
5214: hr_utility.trace('p_assignment_id ' || p_assignment_id );
5215: hr_utility.trace('p_accounting_date ' || p_accounting_date );
5216: --
5217: -- Get the accrual plan
5218: --
5219: open csr_get_plan;
5231: l_count_paid_days_upto := P_ACCOUNTING_DATE;/* Replaced with new date parameter*/
5232: --
5233: -- Call this year and previous 3 years
5234: --
5235: hr_utility.set_location('Step ' || l_proc,50);
5236: --
5237: -- Call the accrual formula for this year, up to accounting_date. Do not deduct holiday taken
5238: -- from accrual. This may return zero if entitlement is stored past p_accounting_date - this
5239: -- will be picked up by entitlement
5258: ,P_total_Accrued_seniority => l_unused_number
5259: ,P_total_Accrued_mothers => l_unused_number
5260: ,P_total_Accrued_conventional => l_unused_number ) ;
5261:
5262: hr_utility.set_location('Step ' || l_proc,60);
5263:
5264: l_accrual_this := nvl(l_total_accrued_pto,0) + nvl(l_total_Accrued_protected,0);
5265: hr_utility.set_location('l_accrual_this'||to_char(l_accrual_this),22);
5266: --
5261:
5262: hr_utility.set_location('Step ' || l_proc,60);
5263:
5264: l_accrual_this := nvl(l_total_accrued_pto,0) + nvl(l_total_Accrued_protected,0);
5265: hr_utility.set_location('l_accrual_this'||to_char(l_accrual_this),22);
5266: --
5267: -- Get the entitlement and net for this year. Only deduct holidays taken and paid
5268: -- (do not deduct all holidays booked, as the payslip must only show days taken to date )
5269: --
5266: --
5267: -- Get the entitlement and net for this year. Only deduct holidays taken and paid
5268: -- (do not deduct all holidays booked, as the payslip must only show days taken to date )
5269: --
5270: hr_utility.set_location('Step ' || l_proc,60);
5271: get_fr_net_entitlement
5272: (p_accrual_plan_id => l_fr_plan_info.accrual_plan_id
5273: ,p_effective_date => P_ACCOUNTING_DATE /* Replaced with new date parameter*/
5274: ,p_assignment_id => P_ASSIGNMENT_ID
5288: ,p_accrual_end_date => l_unused_date
5289: ,p_type_calculation => 'A' /* Accrual type */
5290: ,p_paid_days_to => l_count_paid_days_upto);
5291:
5292: hr_utility.set_location('Step ' || l_proc,70);
5293: hr_utility.set_location('l_ent_this'||to_char(l_ent_this), 22);
5294: hr_utility.set_location('l_paid_this'||to_char(l_paid_this), 22);
5295: hr_utility.trace('net Y0 is ' || to_char(nvl(l_ent_this,0) - nvl(l_paid_this,0)));
5296: p_y0_net_days := l_accrual_this + nvl(l_ent_this,0) - nvl(l_paid_this,0);
5289: ,p_type_calculation => 'A' /* Accrual type */
5290: ,p_paid_days_to => l_count_paid_days_upto);
5291:
5292: hr_utility.set_location('Step ' || l_proc,70);
5293: hr_utility.set_location('l_ent_this'||to_char(l_ent_this), 22);
5294: hr_utility.set_location('l_paid_this'||to_char(l_paid_this), 22);
5295: hr_utility.trace('net Y0 is ' || to_char(nvl(l_ent_this,0) - nvl(l_paid_this,0)));
5296: p_y0_net_days := l_accrual_this + nvl(l_ent_this,0) - nvl(l_paid_this,0);
5297:
5290: ,p_paid_days_to => l_count_paid_days_upto);
5291:
5292: hr_utility.set_location('Step ' || l_proc,70);
5293: hr_utility.set_location('l_ent_this'||to_char(l_ent_this), 22);
5294: hr_utility.set_location('l_paid_this'||to_char(l_paid_this), 22);
5295: hr_utility.trace('net Y0 is ' || to_char(nvl(l_ent_this,0) - nvl(l_paid_this,0)));
5296: p_y0_net_days := l_accrual_this + nvl(l_ent_this,0) - nvl(l_paid_this,0);
5297:
5298: --
5291:
5292: hr_utility.set_location('Step ' || l_proc,70);
5293: hr_utility.set_location('l_ent_this'||to_char(l_ent_this), 22);
5294: hr_utility.set_location('l_paid_this'||to_char(l_paid_this), 22);
5295: hr_utility.trace('net Y0 is ' || to_char(nvl(l_ent_this,0) - nvl(l_paid_this,0)));
5296: p_y0_net_days := l_accrual_this + nvl(l_ent_this,0) - nvl(l_paid_this,0);
5297:
5298: --
5299: -- Get the reference entitlement for this year
5318: l_fr_plan_info := get_fr_accrual_plan_info(
5319: p_accrual_plan_id => l_accrual_plan_id
5320: ,p_accrual_date => add_months(P_ACCOUNTING_DATE, -12));/* Replaced with new date parameter*/
5321:
5322: hr_utility.set_location('Step ' || l_proc,160);
5323:
5324: get_fr_net_entitlement
5325: (p_accrual_plan_id => l_fr_plan_info.accrual_plan_id
5326: ,p_effective_date => add_months(P_ACCOUNTING_DATE, -12) /* Replaced with new date parameter*/
5341: ,p_accrual_end_date => l_unused_date
5342: ,p_type_calculation => 'A' /* Accrual type */
5343: ,p_paid_days_to => l_count_paid_days_upto);
5344:
5345: hr_utility.set_location('Step ' || l_proc,170);
5346: hr_utility.trace('net Y1 is ' || to_char(nvl(l_ent_this,0) - nvl(l_paid_this,0)));
5347: p_y1_net_days := nvl(l_ent_this,0) - nvl(l_paid_this,0);
5348:
5349: hr_utility.trace('p_y1_net_days is ' || p_y1_net_days );
5342: ,p_type_calculation => 'A' /* Accrual type */
5343: ,p_paid_days_to => l_count_paid_days_upto);
5344:
5345: hr_utility.set_location('Step ' || l_proc,170);
5346: hr_utility.trace('net Y1 is ' || to_char(nvl(l_ent_this,0) - nvl(l_paid_this,0)));
5347: p_y1_net_days := nvl(l_ent_this,0) - nvl(l_paid_this,0);
5348:
5349: hr_utility.trace('p_y1_net_days is ' || p_y1_net_days );
5350: --
5345: hr_utility.set_location('Step ' || l_proc,170);
5346: hr_utility.trace('net Y1 is ' || to_char(nvl(l_ent_this,0) - nvl(l_paid_this,0)));
5347: p_y1_net_days := nvl(l_ent_this,0) - nvl(l_paid_this,0);
5348:
5349: hr_utility.trace('p_y1_net_days is ' || p_y1_net_days );
5350: --
5351: -- Get the reference entitlement for this year
5352: --
5353: get_reference_entitlement(
5370: l_fr_plan_info := get_fr_accrual_plan_info(
5371: p_accrual_plan_id => l_accrual_plan_id
5372: ,p_accrual_date => add_months(P_ACCOUNTING_DATE, -24));/* Replaced with new date parameter*/
5373:
5374: hr_utility.set_location('Step ' || l_proc,260);
5375:
5376: get_fr_net_entitlement
5377: (p_accrual_plan_id => l_fr_plan_info.accrual_plan_id
5378: ,p_effective_date => add_months(P_ACCOUNTING_DATE, -24) /* Replaced with new date parameter*/
5393: ,p_accrual_end_date => l_unused_date
5394: ,p_type_calculation => 'A' /* Accrual type */
5395: ,p_paid_days_to => l_count_paid_days_upto);
5396:
5397: hr_utility.set_location('Step ' || l_proc,270);
5398: hr_utility.trace('net Y2 is ' || to_char(nvl(l_ent_this,0) - nvl(l_paid_this,0)));
5399: p_y2_net_days := nvl(l_ent_this,0) - nvl(l_paid_this,0);
5400:
5401: hr_utility.trace('p_y2_net_days is ' || p_y2_net_days );
5394: ,p_type_calculation => 'A' /* Accrual type */
5395: ,p_paid_days_to => l_count_paid_days_upto);
5396:
5397: hr_utility.set_location('Step ' || l_proc,270);
5398: hr_utility.trace('net Y2 is ' || to_char(nvl(l_ent_this,0) - nvl(l_paid_this,0)));
5399: p_y2_net_days := nvl(l_ent_this,0) - nvl(l_paid_this,0);
5400:
5401: hr_utility.trace('p_y2_net_days is ' || p_y2_net_days );
5402: --
5397: hr_utility.set_location('Step ' || l_proc,270);
5398: hr_utility.trace('net Y2 is ' || to_char(nvl(l_ent_this,0) - nvl(l_paid_this,0)));
5399: p_y2_net_days := nvl(l_ent_this,0) - nvl(l_paid_this,0);
5400:
5401: hr_utility.trace('p_y2_net_days is ' || p_y2_net_days );
5402: --
5403: -- Get the reference entitlement for this year
5404: --
5405: get_reference_entitlement(
5422: l_fr_plan_info := get_fr_accrual_plan_info(
5423: p_accrual_plan_id => l_accrual_plan_id
5424: ,p_accrual_date => add_months(P_ACCOUNTING_DATE, -36));/* Replaced with new date parameter*/
5425:
5426: hr_utility.set_location('Step ' || l_proc,360);
5427:
5428: get_fr_net_entitlement
5429: (p_accrual_plan_id => l_fr_plan_info.accrual_plan_id
5430: ,p_effective_date => add_months(P_ACCOUNTING_DATE, -36) /* Replaced with new date parameter*/
5445: ,p_accrual_end_date => l_unused_date
5446: ,p_type_calculation => 'A' /* Accrual type */
5447: ,p_paid_days_to => l_count_paid_days_upto);
5448:
5449: hr_utility.set_location('Step ' || l_proc,370);
5450: hr_utility.trace('net Y3 is ' || to_char(nvl(l_ent_this,0) - nvl(l_paid_this,0)));
5451: p_y3_net_days := nvl(l_ent_this,0) - nvl(l_paid_this,0);
5452:
5453: hr_utility.trace('p_y3_net_days is ' || p_y3_net_days );
5446: ,p_type_calculation => 'A' /* Accrual type */
5447: ,p_paid_days_to => l_count_paid_days_upto);
5448:
5449: hr_utility.set_location('Step ' || l_proc,370);
5450: hr_utility.trace('net Y3 is ' || to_char(nvl(l_ent_this,0) - nvl(l_paid_this,0)));
5451: p_y3_net_days := nvl(l_ent_this,0) - nvl(l_paid_this,0);
5452:
5453: hr_utility.trace('p_y3_net_days is ' || p_y3_net_days );
5454: --
5449: hr_utility.set_location('Step ' || l_proc,370);
5450: hr_utility.trace('net Y3 is ' || to_char(nvl(l_ent_this,0) - nvl(l_paid_this,0)));
5451: p_y3_net_days := nvl(l_ent_this,0) - nvl(l_paid_this,0);
5452:
5453: hr_utility.trace('p_y3_net_days is ' || p_y3_net_days );
5454: --
5455: -- Get the reference entitlement for this year
5456: --
5457: get_reference_entitlement(
5464: ,p_ent_accrual_date_iv_id => l_fr_plan_info.ent_accrual_date_iv_id
5465: ,p_ref_main_days => P_y3_ref_days
5466: ,p_ref_salary => P_y3_ref_salary);
5467: --
5468: hr_utility.set_location('Leaving: '||l_proc,360);
5469: --
5470: p_accounting_method := l_fr_plan_info.accounting_method;
5471: -- added code for termination processing
5472: p_accounting_plan_id := l_fr_plan_info.accrual_plan_id;
5487: p_y3_net_days := nvl(p_y3_net_days ,0);
5488: P_y3_ref_salary := nvl(P_y3_ref_salary,0);
5489: P_y3_ref_days := nvl(P_y3_ref_days ,0);
5490: --
5491: hr_utility.trace('p_y0_net_days GAD is ' || p_y0_net_days);
5492: hr_utility.trace('p_y1_net_days GAD is ' || p_y1_net_days);
5493: hr_utility.trace('p_y2_net_days GAD is ' || p_y2_net_days);
5494:
5495: return 1;
5488: P_y3_ref_salary := nvl(P_y3_ref_salary,0);
5489: P_y3_ref_days := nvl(P_y3_ref_days ,0);
5490: --
5491: hr_utility.trace('p_y0_net_days GAD is ' || p_y0_net_days);
5492: hr_utility.trace('p_y1_net_days GAD is ' || p_y1_net_days);
5493: hr_utility.trace('p_y2_net_days GAD is ' || p_y2_net_days);
5494:
5495: return 1;
5496: END Get_accounting_details;
5489: P_y3_ref_days := nvl(P_y3_ref_days ,0);
5490: --
5491: hr_utility.trace('p_y0_net_days GAD is ' || p_y0_net_days);
5492: hr_utility.trace('p_y1_net_days GAD is ' || p_y1_net_days);
5493: hr_utility.trace('p_y2_net_days GAD is ' || p_y2_net_days);
5494:
5495: return 1;
5496: END Get_accounting_details;
5497: --
5520: last_i number;
5521:
5522: begin
5523:
5524: hr_utility.trace('plan _id = ' || p_accrual_plan_id);
5525: hr_utility.trace('y0_payment = ' || p_y0_payment);
5526: hr_utility.trace('y0_payment_days = ' || p_y0_payment_days);
5527: hr_utility.trace('y0_payment_rate = ' || p_y0_payment_rate);
5528: hr_utility.trace('y0_payment_year = ' || p_y0_accrual_year);
5521:
5522: begin
5523:
5524: hr_utility.trace('plan _id = ' || p_accrual_plan_id);
5525: hr_utility.trace('y0_payment = ' || p_y0_payment);
5526: hr_utility.trace('y0_payment_days = ' || p_y0_payment_days);
5527: hr_utility.trace('y0_payment_rate = ' || p_y0_payment_rate);
5528: hr_utility.trace('y0_payment_year = ' || p_y0_accrual_year);
5529:
5522: begin
5523:
5524: hr_utility.trace('plan _id = ' || p_accrual_plan_id);
5525: hr_utility.trace('y0_payment = ' || p_y0_payment);
5526: hr_utility.trace('y0_payment_days = ' || p_y0_payment_days);
5527: hr_utility.trace('y0_payment_rate = ' || p_y0_payment_rate);
5528: hr_utility.trace('y0_payment_year = ' || p_y0_accrual_year);
5529:
5530: hr_utility.trace('y1_payment = ' || p_y1_payment);
5523:
5524: hr_utility.trace('plan _id = ' || p_accrual_plan_id);
5525: hr_utility.trace('y0_payment = ' || p_y0_payment);
5526: hr_utility.trace('y0_payment_days = ' || p_y0_payment_days);
5527: hr_utility.trace('y0_payment_rate = ' || p_y0_payment_rate);
5528: hr_utility.trace('y0_payment_year = ' || p_y0_accrual_year);
5529:
5530: hr_utility.trace('y1_payment = ' || p_y1_payment);
5531: hr_utility.trace('y1_payment_days = ' || p_y1_payment_days);
5524: hr_utility.trace('plan _id = ' || p_accrual_plan_id);
5525: hr_utility.trace('y0_payment = ' || p_y0_payment);
5526: hr_utility.trace('y0_payment_days = ' || p_y0_payment_days);
5527: hr_utility.trace('y0_payment_rate = ' || p_y0_payment_rate);
5528: hr_utility.trace('y0_payment_year = ' || p_y0_accrual_year);
5529:
5530: hr_utility.trace('y1_payment = ' || p_y1_payment);
5531: hr_utility.trace('y1_payment_days = ' || p_y1_payment_days);
5532: hr_utility.trace('y1_payment_rate = ' || p_y1_payment_rate);
5526: hr_utility.trace('y0_payment_days = ' || p_y0_payment_days);
5527: hr_utility.trace('y0_payment_rate = ' || p_y0_payment_rate);
5528: hr_utility.trace('y0_payment_year = ' || p_y0_accrual_year);
5529:
5530: hr_utility.trace('y1_payment = ' || p_y1_payment);
5531: hr_utility.trace('y1_payment_days = ' || p_y1_payment_days);
5532: hr_utility.trace('y1_payment_rate = ' || p_y1_payment_rate);
5533: hr_utility.trace('y1_payment_year = ' || p_y1_accrual_year);
5534:
5527: hr_utility.trace('y0_payment_rate = ' || p_y0_payment_rate);
5528: hr_utility.trace('y0_payment_year = ' || p_y0_accrual_year);
5529:
5530: hr_utility.trace('y1_payment = ' || p_y1_payment);
5531: hr_utility.trace('y1_payment_days = ' || p_y1_payment_days);
5532: hr_utility.trace('y1_payment_rate = ' || p_y1_payment_rate);
5533: hr_utility.trace('y1_payment_year = ' || p_y1_accrual_year);
5534:
5535: hr_utility.trace('y2_payment = ' || p_y2_payment);
5528: hr_utility.trace('y0_payment_year = ' || p_y0_accrual_year);
5529:
5530: hr_utility.trace('y1_payment = ' || p_y1_payment);
5531: hr_utility.trace('y1_payment_days = ' || p_y1_payment_days);
5532: hr_utility.trace('y1_payment_rate = ' || p_y1_payment_rate);
5533: hr_utility.trace('y1_payment_year = ' || p_y1_accrual_year);
5534:
5535: hr_utility.trace('y2_payment = ' || p_y2_payment);
5536: hr_utility.trace('y2_payment_days = ' || p_y2_payment_days);
5529:
5530: hr_utility.trace('y1_payment = ' || p_y1_payment);
5531: hr_utility.trace('y1_payment_days = ' || p_y1_payment_days);
5532: hr_utility.trace('y1_payment_rate = ' || p_y1_payment_rate);
5533: hr_utility.trace('y1_payment_year = ' || p_y1_accrual_year);
5534:
5535: hr_utility.trace('y2_payment = ' || p_y2_payment);
5536: hr_utility.trace('y2_payment_days = ' || p_y2_payment_days);
5537: hr_utility.trace('y2_payment_rate = ' || p_y2_payment_rate);
5531: hr_utility.trace('y1_payment_days = ' || p_y1_payment_days);
5532: hr_utility.trace('y1_payment_rate = ' || p_y1_payment_rate);
5533: hr_utility.trace('y1_payment_year = ' || p_y1_accrual_year);
5534:
5535: hr_utility.trace('y2_payment = ' || p_y2_payment);
5536: hr_utility.trace('y2_payment_days = ' || p_y2_payment_days);
5537: hr_utility.trace('y2_payment_rate = ' || p_y2_payment_rate);
5538: hr_utility.trace('y2_payment_year = ' || p_y2_accrual_year);
5539:
5532: hr_utility.trace('y1_payment_rate = ' || p_y1_payment_rate);
5533: hr_utility.trace('y1_payment_year = ' || p_y1_accrual_year);
5534:
5535: hr_utility.trace('y2_payment = ' || p_y2_payment);
5536: hr_utility.trace('y2_payment_days = ' || p_y2_payment_days);
5537: hr_utility.trace('y2_payment_rate = ' || p_y2_payment_rate);
5538: hr_utility.trace('y2_payment_year = ' || p_y2_accrual_year);
5539:
5540: hr_utility.trace('y3_payment = ' || p_y3_payment);
5533: hr_utility.trace('y1_payment_year = ' || p_y1_accrual_year);
5534:
5535: hr_utility.trace('y2_payment = ' || p_y2_payment);
5536: hr_utility.trace('y2_payment_days = ' || p_y2_payment_days);
5537: hr_utility.trace('y2_payment_rate = ' || p_y2_payment_rate);
5538: hr_utility.trace('y2_payment_year = ' || p_y2_accrual_year);
5539:
5540: hr_utility.trace('y3_payment = ' || p_y3_payment);
5541: hr_utility.trace('y3_payment_days = ' || p_y3_payment_days);
5534:
5535: hr_utility.trace('y2_payment = ' || p_y2_payment);
5536: hr_utility.trace('y2_payment_days = ' || p_y2_payment_days);
5537: hr_utility.trace('y2_payment_rate = ' || p_y2_payment_rate);
5538: hr_utility.trace('y2_payment_year = ' || p_y2_accrual_year);
5539:
5540: hr_utility.trace('y3_payment = ' || p_y3_payment);
5541: hr_utility.trace('y3_payment_days = ' || p_y3_payment_days);
5542: hr_utility.trace('y3_payment_rate = ' || p_y3_payment_rate);
5536: hr_utility.trace('y2_payment_days = ' || p_y2_payment_days);
5537: hr_utility.trace('y2_payment_rate = ' || p_y2_payment_rate);
5538: hr_utility.trace('y2_payment_year = ' || p_y2_accrual_year);
5539:
5540: hr_utility.trace('y3_payment = ' || p_y3_payment);
5541: hr_utility.trace('y3_payment_days = ' || p_y3_payment_days);
5542: hr_utility.trace('y3_payment_rate = ' || p_y3_payment_rate);
5543: hr_utility.trace('y3_payment_year = ' || p_y3_accrual_year);
5544:
5537: hr_utility.trace('y2_payment_rate = ' || p_y2_payment_rate);
5538: hr_utility.trace('y2_payment_year = ' || p_y2_accrual_year);
5539:
5540: hr_utility.trace('y3_payment = ' || p_y3_payment);
5541: hr_utility.trace('y3_payment_days = ' || p_y3_payment_days);
5542: hr_utility.trace('y3_payment_rate = ' || p_y3_payment_rate);
5543: hr_utility.trace('y3_payment_year = ' || p_y3_accrual_year);
5544:
5545: i := p_accrual_plan_id * 10;
5538: hr_utility.trace('y2_payment_year = ' || p_y2_accrual_year);
5539:
5540: hr_utility.trace('y3_payment = ' || p_y3_payment);
5541: hr_utility.trace('y3_payment_days = ' || p_y3_payment_days);
5542: hr_utility.trace('y3_payment_rate = ' || p_y3_payment_rate);
5543: hr_utility.trace('y3_payment_year = ' || p_y3_accrual_year);
5544:
5545: i := p_accrual_plan_id * 10;
5546: if p_y0_payment <> 0 and p_y0_payment is not null then
5539:
5540: hr_utility.trace('y3_payment = ' || p_y3_payment);
5541: hr_utility.trace('y3_payment_days = ' || p_y3_payment_days);
5542: hr_utility.trace('y3_payment_rate = ' || p_y3_payment_rate);
5543: hr_utility.trace('y3_payment_year = ' || p_y3_accrual_year);
5544:
5545: i := p_accrual_plan_id * 10;
5546: if p_y0_payment <> 0 and p_y0_payment is not null then
5547: i := i+1;
5601: return 0;
5602:
5603: EXCEPTION
5604: WHEN OTHERS THEN
5605: hr_utility.trace('write_termination_payment');
5606: hr_utility.trace(SQLCODE);
5607: hr_utility.trace(SQLERRM);
5608: Raise;
5609:
5602:
5603: EXCEPTION
5604: WHEN OTHERS THEN
5605: hr_utility.trace('write_termination_payment');
5606: hr_utility.trace(SQLCODE);
5607: hr_utility.trace(SQLERRM);
5608: Raise;
5609:
5610: end write_termination_payment;
5603: EXCEPTION
5604: WHEN OTHERS THEN
5605: hr_utility.trace('write_termination_payment');
5606: hr_utility.trace(SQLCODE);
5607: hr_utility.trace(SQLERRM);
5608: Raise;
5609:
5610: end write_termination_payment;
5611:
5621:
5622: l_index number;
5623:
5624: begin
5625: hr_utility.trace('in read termination payment');
5626: hr_utility.trace('p_accrual_plan_id = ' || p_accrual_plan_id);
5627: hr_utility.trace('p_index = ' || p_index);
5628:
5629: l_index := p_index;
5622: l_index number;
5623:
5624: begin
5625: hr_utility.trace('in read termination payment');
5626: hr_utility.trace('p_accrual_plan_id = ' || p_accrual_plan_id);
5627: hr_utility.trace('p_index = ' || p_index);
5628:
5629: l_index := p_index;
5630:
5623:
5624: begin
5625: hr_utility.trace('in read termination payment');
5626: hr_utility.trace('p_accrual_plan_id = ' || p_accrual_plan_id);
5627: hr_utility.trace('p_index = ' || p_index);
5628:
5629: l_index := p_index;
5630:
5631: if p_index is null OR p_index = 0 Then
5641: if p_next_payment is not null and p_next_payment <> 0 then
5642: p_days := term_payment(p_next_payment).days;
5643: end if;
5644:
5645: hr_utility.trace('p_payment = ' || p_payment);
5646: hr_utility.trace('p_days = ' || p_days);
5647: hr_utility.trace('p_daily_rate = ' || p_daily_rate);
5648: hr_utility.trace('p_accrual_date = ' || p_accrual_date);
5649: hr_utility.trace('p_next_payment = ' || p_next_payment);
5642: p_days := term_payment(p_next_payment).days;
5643: end if;
5644:
5645: hr_utility.trace('p_payment = ' || p_payment);
5646: hr_utility.trace('p_days = ' || p_days);
5647: hr_utility.trace('p_daily_rate = ' || p_daily_rate);
5648: hr_utility.trace('p_accrual_date = ' || p_accrual_date);
5649: hr_utility.trace('p_next_payment = ' || p_next_payment);
5650:
5643: end if;
5644:
5645: hr_utility.trace('p_payment = ' || p_payment);
5646: hr_utility.trace('p_days = ' || p_days);
5647: hr_utility.trace('p_daily_rate = ' || p_daily_rate);
5648: hr_utility.trace('p_accrual_date = ' || p_accrual_date);
5649: hr_utility.trace('p_next_payment = ' || p_next_payment);
5650:
5651: hr_utility.trace('left read termination payment');
5644:
5645: hr_utility.trace('p_payment = ' || p_payment);
5646: hr_utility.trace('p_days = ' || p_days);
5647: hr_utility.trace('p_daily_rate = ' || p_daily_rate);
5648: hr_utility.trace('p_accrual_date = ' || p_accrual_date);
5649: hr_utility.trace('p_next_payment = ' || p_next_payment);
5650:
5651: hr_utility.trace('left read termination payment');
5652:
5645: hr_utility.trace('p_payment = ' || p_payment);
5646: hr_utility.trace('p_days = ' || p_days);
5647: hr_utility.trace('p_daily_rate = ' || p_daily_rate);
5648: hr_utility.trace('p_accrual_date = ' || p_accrual_date);
5649: hr_utility.trace('p_next_payment = ' || p_next_payment);
5650:
5651: hr_utility.trace('left read termination payment');
5652:
5653: return 0;
5647: hr_utility.trace('p_daily_rate = ' || p_daily_rate);
5648: hr_utility.trace('p_accrual_date = ' || p_accrual_date);
5649: hr_utility.trace('p_next_payment = ' || p_next_payment);
5650:
5651: hr_utility.trace('left read termination payment');
5652:
5653: return 0;
5654: EXCEPTION
5655: WHEN OTHERS THEN
5652:
5653: return 0;
5654: EXCEPTION
5655: WHEN OTHERS THEN
5656: hr_utility.trace('read_termination_payment');
5657: hr_utility.trace(SQLCODE);
5658: hr_utility.trace(SQLERRM);
5659: Raise;
5660:
5653: return 0;
5654: EXCEPTION
5655: WHEN OTHERS THEN
5656: hr_utility.trace('read_termination_payment');
5657: hr_utility.trace(SQLCODE);
5658: hr_utility.trace(SQLERRM);
5659: Raise;
5660:
5661: end read_termination_payment;
5654: EXCEPTION
5655: WHEN OTHERS THEN
5656: hr_utility.trace('read_termination_payment');
5657: hr_utility.trace(SQLCODE);
5658: hr_utility.trace(SQLERRM);
5659: Raise;
5660:
5661: end read_termination_payment;
5662: --
5842: l_proc VARCHAR2(72) := g_package||' Check_fr_holidays_booked ';
5843: --
5844: BEGIN
5845: --
5846: hr_utility.set_location('Entering:'||l_proc,777);
5847: -- fetch variables for this accrual plan
5848: --
5849: OPEN csr_booked_holiday_sickness (l_assignment_id, l_date_start, l_date_end);
5850: FETCH csr_booked_holiday_sickness into l_unused_number;
5932: BEGIN
5933: --
5934: -- fetch variables for this accrual plan
5935: --
5936: hr_utility.set_location('Entering:'||l_proc,777);
5937:
5938: get_accrual_plan_data(
5939: p_accrual_plan_id => l_accrual_plan_id
5940: ,p_accrual_year_start => l_unused_date
5952: l_no_absences := 12;
5953: ELSE /*** will be defaulted to 'FR_WORK_DAYS'**/
5954: l_no_absences := 10;
5955: END IF;
5956: hr_utility.set_location('Cursor Parameters:'||l_proc,780);
5957: hr_utility.set_location('l_assignment_id:'||l_proc,l_assignment_id);
5958: hr_utility.set_location('l_holiday_element_id:'||l_proc,l_holiday_element_id);
5959: hr_utility.set_location('l_date_start:'||l_date_start||':'||l_proc,1001);
5960: hr_utility.set_location('l_date_end:'||l_date_end||':'||l_proc,1002);
5953: ELSE /*** will be defaulted to 'FR_WORK_DAYS'**/
5954: l_no_absences := 10;
5955: END IF;
5956: hr_utility.set_location('Cursor Parameters:'||l_proc,780);
5957: hr_utility.set_location('l_assignment_id:'||l_proc,l_assignment_id);
5958: hr_utility.set_location('l_holiday_element_id:'||l_proc,l_holiday_element_id);
5959: hr_utility.set_location('l_date_start:'||l_date_start||':'||l_proc,1001);
5960: hr_utility.set_location('l_date_end:'||l_date_end||':'||l_proc,1002);
5961: hr_utility.set_location('l_no_absences:'||l_proc,l_no_absences);
5954: l_no_absences := 10;
5955: END IF;
5956: hr_utility.set_location('Cursor Parameters:'||l_proc,780);
5957: hr_utility.set_location('l_assignment_id:'||l_proc,l_assignment_id);
5958: hr_utility.set_location('l_holiday_element_id:'||l_proc,l_holiday_element_id);
5959: hr_utility.set_location('l_date_start:'||l_date_start||':'||l_proc,1001);
5960: hr_utility.set_location('l_date_end:'||l_date_end||':'||l_proc,1002);
5961: hr_utility.set_location('l_no_absences:'||l_proc,l_no_absences);
5962:
5955: END IF;
5956: hr_utility.set_location('Cursor Parameters:'||l_proc,780);
5957: hr_utility.set_location('l_assignment_id:'||l_proc,l_assignment_id);
5958: hr_utility.set_location('l_holiday_element_id:'||l_proc,l_holiday_element_id);
5959: hr_utility.set_location('l_date_start:'||l_date_start||':'||l_proc,1001);
5960: hr_utility.set_location('l_date_end:'||l_date_end||':'||l_proc,1002);
5961: hr_utility.set_location('l_no_absences:'||l_proc,l_no_absences);
5962:
5963: OPEN csr_booked_holiday (l_assignment_id
5956: hr_utility.set_location('Cursor Parameters:'||l_proc,780);
5957: hr_utility.set_location('l_assignment_id:'||l_proc,l_assignment_id);
5958: hr_utility.set_location('l_holiday_element_id:'||l_proc,l_holiday_element_id);
5959: hr_utility.set_location('l_date_start:'||l_date_start||':'||l_proc,1001);
5960: hr_utility.set_location('l_date_end:'||l_date_end||':'||l_proc,1002);
5961: hr_utility.set_location('l_no_absences:'||l_proc,l_no_absences);
5962:
5963: OPEN csr_booked_holiday (l_assignment_id
5964: , l_holiday_element_id
5957: hr_utility.set_location('l_assignment_id:'||l_proc,l_assignment_id);
5958: hr_utility.set_location('l_holiday_element_id:'||l_proc,l_holiday_element_id);
5959: hr_utility.set_location('l_date_start:'||l_date_start||':'||l_proc,1001);
5960: hr_utility.set_location('l_date_end:'||l_date_end||':'||l_proc,1002);
5961: hr_utility.set_location('l_no_absences:'||l_proc,l_no_absences);
5962:
5963: OPEN csr_booked_holiday (l_assignment_id
5964: , l_holiday_element_id
5965: , l_date_start
5973: l_found := 0;
5974: END IF;
5975:
5976: CLOSE csr_booked_holiday;
5977: hr_utility.set_location('Returning :'||l_found||':'||l_proc,779);
5978: RETURN l_found;
5979:
5980: END Check_fr_cons_holidays_booked;
5981: --
6044: fetch csr_assg_hiredate into l_hiredate;
6045: close csr_assg_hiredate;
6046: -- Calculate the sum of total entitlements created for this accrual plan
6047: -- within the hire date and absence start date
6048: hr_utility.set_location('l_fr_plan_info.ent_m_iv_id is : '||to_char(l_fr_plan_info.ent_m_iv_id), 22);
6049: hr_utility.set_location('l_hiredate is: '||to_char(l_hiredate), 22);
6050: hr_utility.set_location('p_abs_date_start is: '||to_char(p_abs_date_start),22);
6051: open csr_get_ent(l_fr_plan_info.ent_m_iv_id,
6052: l_hiredate,
6045: close csr_assg_hiredate;
6046: -- Calculate the sum of total entitlements created for this accrual plan
6047: -- within the hire date and absence start date
6048: hr_utility.set_location('l_fr_plan_info.ent_m_iv_id is : '||to_char(l_fr_plan_info.ent_m_iv_id), 22);
6049: hr_utility.set_location('l_hiredate is: '||to_char(l_hiredate), 22);
6050: hr_utility.set_location('p_abs_date_start is: '||to_char(p_abs_date_start),22);
6051: open csr_get_ent(l_fr_plan_info.ent_m_iv_id,
6052: l_hiredate,
6053: p_abs_date_start);
6046: -- Calculate the sum of total entitlements created for this accrual plan
6047: -- within the hire date and absence start date
6048: hr_utility.set_location('l_fr_plan_info.ent_m_iv_id is : '||to_char(l_fr_plan_info.ent_m_iv_id), 22);
6049: hr_utility.set_location('l_hiredate is: '||to_char(l_hiredate), 22);
6050: hr_utility.set_location('p_abs_date_start is: '||to_char(p_abs_date_start),22);
6051: open csr_get_ent(l_fr_plan_info.ent_m_iv_id,
6052: l_hiredate,
6053: p_abs_date_start);
6054: fetch csr_get_ent into l_ent_m;
6052: l_hiredate,
6053: p_abs_date_start);
6054: fetch csr_get_ent into l_ent_m;
6055: close csr_get_ent;
6056: hr_utility.set_location('total entitlements are :'||l_ent_m, 22);
6057: -- Check for sum of existing absences against additional entitlements
6058: open csr_exist_abs(l_hiredate);
6059: fetch csr_exist_abs into l_exist_absence;
6060: close csr_exist_abs;
6060: close csr_exist_abs;
6061: IF l_exist_absence IS NULL THEN
6062: l_exist_absence := 0;
6063: END IF;
6064: hr_utility.set_location('Total absences are : '||l_exist_absence, 22);
6065: --
6066: l_net_entitlement := l_ent_m - l_exist_absence;
6067: hr_utility.set_location('Net entitlements are : '||l_net_entitlement, 22);
6068: -- Assign OUT parameters
6063: END IF;
6064: hr_utility.set_location('Total absences are : '||l_exist_absence, 22);
6065: --
6066: l_net_entitlement := l_ent_m - l_exist_absence;
6067: hr_utility.set_location('Net entitlements are : '||l_net_entitlement, 22);
6068: -- Assign OUT parameters
6069: p_total_ent := l_ent_m;
6070: p_net_ent := l_net_entitlement;
6071: --