28: l_pub_sect_flag VARCHAR2(20);
29: BEGIN
30: l_procedure := g_package||'get_tax_year_start';
31: g_debug := hr_utility.debug_enabled;
32: pay_in_utils.set_location(g_debug,'Entering: '||l_procedure,10);
33:
34: select to_number(nvl(PAY_DATE_OFFSET,0)),PRL_INFORMATION1 into l_date_offset,l_pub_sect_flag
35: from pay_payrolls_f
36: where payroll_id = p_payroll_id
37: and p_date between EFFECTIVE_START_DATE and EFFECTIVE_end_date;
38:
39:
40:
41: pay_in_utils.trace('l_pub_sect_flag ',l_pub_sect_flag);
42:
43: if nvl(l_pub_sect_flag,'N') <>'Y' then
44:
45:
46: if l_date_offset <= 0 then
47:
48: if to_number(to_char(p_date,'MM')) >=4 then
49: l_year := to_char(p_date,'YYYY');
50: pay_in_utils.set_location(g_debug,l_procedure,20);
51: else
52: l_year := to_number(to_char(p_date,'YYYY')) -1 ;
53: pay_in_utils.set_location(g_debug,l_procedure,30);
54: end if ;
49: l_year := to_char(p_date,'YYYY');
50: pay_in_utils.set_location(g_debug,l_procedure,20);
51: else
52: l_year := to_number(to_char(p_date,'YYYY')) -1 ;
53: pay_in_utils.set_location(g_debug,l_procedure,30);
54: end if ;
55: return (to_date('01-04-'||l_year,'DD-MM-YYYY'));
56: else
57: if to_number(to_char(p_date,'MM')) >=3 then
55: return (to_date('01-04-'||l_year,'DD-MM-YYYY'));
56: else
57: if to_number(to_char(p_date,'MM')) >=3 then
58: l_year := to_char(p_date,'YYYY');
59: pay_in_utils.set_location(g_debug,l_procedure,40);
60: else
61: l_year := to_number(to_char(p_date,'YYYY')) -1 ;
62: pay_in_utils.set_location(g_debug,l_procedure,50);
63: end if ;
58: l_year := to_char(p_date,'YYYY');
59: pay_in_utils.set_location(g_debug,l_procedure,40);
60: else
61: l_year := to_number(to_char(p_date,'YYYY')) -1 ;
62: pay_in_utils.set_location(g_debug,l_procedure,50);
63: end if ;
64: return (to_date('01-03-'||l_year,'DD-MM-YYYY'));
65: end if;
66:
66:
67: else
68: if to_number(to_char(p_date,'MM')) >=3 then
69: l_year := to_char(p_date,'YYYY');
70: pay_in_utils.set_location(g_debug,l_procedure,20);
71: else
72: l_year := to_number(to_char(p_date,'YYYY')) -1 ;
73: pay_in_utils.set_location(g_debug,l_procedure,30);
74: end if ;
69: l_year := to_char(p_date,'YYYY');
70: pay_in_utils.set_location(g_debug,l_procedure,20);
71: else
72: l_year := to_number(to_char(p_date,'YYYY')) -1 ;
73: pay_in_utils.set_location(g_debug,l_procedure,30);
74: end if ;
75:
76: pay_in_utils.trace('tax_yr strt ','01-03-'||l_year);
77: return (to_date('01-03-'||l_year,'DD-MM-YYYY'));
72: l_year := to_number(to_char(p_date,'YYYY')) -1 ;
73: pay_in_utils.set_location(g_debug,l_procedure,30);
74: end if ;
75:
76: pay_in_utils.trace('tax_yr strt ','01-03-'||l_year);
77: return (to_date('01-03-'||l_year,'DD-MM-YYYY'));
78: end if;
79: pay_in_utils.set_location(g_debug,'Leaving: '||l_procedure,60);
80:
75:
76: pay_in_utils.trace('tax_yr strt ','01-03-'||l_year);
77: return (to_date('01-03-'||l_year,'DD-MM-YYYY'));
78: end if;
79: pay_in_utils.set_location(g_debug,'Leaving: '||l_procedure,60);
80:
81: END get_tax_year_start;
82:
83:
88:
89: BEGIN
90: l_procedure := g_package||'get_financial_year_start';
91: g_debug := hr_utility.debug_enabled;
92: pay_in_utils.set_location(g_debug,'Entering: '||l_procedure,10);
93:
94: if to_number(to_char(p_date,'MM')) >=4 then
95: l_year := to_char(p_date,'YYYY');
96: pay_in_utils.set_location(g_debug,l_procedure,20);
92: pay_in_utils.set_location(g_debug,'Entering: '||l_procedure,10);
93:
94: if to_number(to_char(p_date,'MM')) >=4 then
95: l_year := to_char(p_date,'YYYY');
96: pay_in_utils.set_location(g_debug,l_procedure,20);
97: else
98: l_year := to_number(to_char(p_date,'YYYY')) -1 ;
99: pay_in_utils.set_location(g_debug,l_procedure,30);
100: end if ;
95: l_year := to_char(p_date,'YYYY');
96: pay_in_utils.set_location(g_debug,l_procedure,20);
97: else
98: l_year := to_number(to_char(p_date,'YYYY')) -1 ;
99: pay_in_utils.set_location(g_debug,l_procedure,30);
100: end if ;
101:
102: pay_in_utils.set_location(g_debug,'Leaving: '||l_procedure,40);
103: return (to_date('01-04-'||l_year,'DD-MM-YYYY'));
98: l_year := to_number(to_char(p_date,'YYYY')) -1 ;
99: pay_in_utils.set_location(g_debug,l_procedure,30);
100: end if ;
101:
102: pay_in_utils.set_location(g_debug,'Leaving: '||l_procedure,40);
103: return (to_date('01-04-'||l_year,'DD-MM-YYYY'));
104: END get_financial_year_start;
105:
106: --------------------------------------------------------------------------
121: l_pub_sect_flag VARCHAR2(20);
122: BEGIN
123: l_procedure := g_package||'get_tax_year_end';
124: g_debug := hr_utility.debug_enabled;
125: pay_in_utils.set_location(g_debug,'Entering: '||l_procedure,10);
126: l_end_date := '01-FEB-';
127: select to_number(nvl(PAY_DATE_OFFSET,0)),PRL_INFORMATION1 into l_date_offset,l_pub_sect_flag
128: from pay_payrolls_f
129: where payroll_id = p_payroll_id
129: where payroll_id = p_payroll_id
130: and p_date between EFFECTIVE_START_DATE and EFFECTIVE_end_date;
131:
132:
133: pay_in_utils.trace('l_date_offset',l_date_offset);
134: pay_in_utils.trace('l_pub_sect_flag ',l_pub_sect_flag);
135:
136: if nvl(l_pub_sect_flag,'N') <>'Y' then
137:
130: and p_date between EFFECTIVE_START_DATE and EFFECTIVE_end_date;
131:
132:
133: pay_in_utils.trace('l_date_offset',l_date_offset);
134: pay_in_utils.trace('l_pub_sect_flag ',l_pub_sect_flag);
135:
136: if nvl(l_pub_sect_flag,'N') <>'Y' then
137:
138: if l_date_offset <= 0 then
137:
138: if l_date_offset <= 0 then
139: if to_number(to_char(p_date,'MM')) <=3 then
140: l_year := to_char(p_date,'YYYY');
141: pay_in_utils.set_location(g_debug,l_procedure,20);
142: else
143: l_year := to_number(to_char(p_date,'YYYY')) +1 ;
144: pay_in_utils.set_location(g_debug,l_procedure,30);
145: end if ;
140: l_year := to_char(p_date,'YYYY');
141: pay_in_utils.set_location(g_debug,l_procedure,20);
142: else
143: l_year := to_number(to_char(p_date,'YYYY')) +1 ;
144: pay_in_utils.set_location(g_debug,l_procedure,30);
145: end if ;
146: return (to_date('31-03-'||l_year,'DD-MM-YYYY')) ;
147: else
148: if to_number(to_char(p_date,'MM')) <=2 then
146: return (to_date('31-03-'||l_year,'DD-MM-YYYY')) ;
147: else
148: if to_number(to_char(p_date,'MM')) <=2 then
149: l_year := to_char(p_date,'YYYY');
150: pay_in_utils.set_location(g_debug,l_procedure,40);
151: else
152: l_year := to_number(to_char(p_date,'YYYY')) +1 ;
153: pay_in_utils.set_location(g_debug,l_procedure,50);
154: end if ;
149: l_year := to_char(p_date,'YYYY');
150: pay_in_utils.set_location(g_debug,l_procedure,40);
151: else
152: l_year := to_number(to_char(p_date,'YYYY')) +1 ;
153: pay_in_utils.set_location(g_debug,l_procedure,50);
154: end if ;
155: return (to_date(to_char(last_day(l_end_date||l_year),'DD-MM-YYYY'),'DD-MM-YYYY')) ;
156: end if;
157:
158:
159: else
160: if to_number(to_char(p_date,'MM')) <=2 then
161: l_year := to_char(p_date,'YYYY');
162: pay_in_utils.set_location(g_debug,l_procedure,60);
163: else
164: l_year := to_number(to_char(p_date,'YYYY')) +1 ;
165: pay_in_utils.set_location(g_debug,l_procedure,70);
166: end if ;
161: l_year := to_char(p_date,'YYYY');
162: pay_in_utils.set_location(g_debug,l_procedure,60);
163: else
164: l_year := to_number(to_char(p_date,'YYYY')) +1 ;
165: pay_in_utils.set_location(g_debug,l_procedure,70);
166: end if ;
167: return (to_date(to_char(last_day(l_end_date||l_year),'DD-MM-YYYY'),'DD-MM-YYYY')) ;
168: pay_in_utils.set_location(g_debug,'Leaving: '||l_procedure,80);
169: end if;
164: l_year := to_number(to_char(p_date,'YYYY')) +1 ;
165: pay_in_utils.set_location(g_debug,l_procedure,70);
166: end if ;
167: return (to_date(to_char(last_day(l_end_date||l_year),'DD-MM-YYYY'),'DD-MM-YYYY')) ;
168: pay_in_utils.set_location(g_debug,'Leaving: '||l_procedure,80);
169: end if;
170:
171: END get_tax_year_end;
172:
180: l_message VARCHAR2(250);
181: BEGIN
182: l_procedure := g_package||'get_financial_year_end';
183: g_debug := hr_utility.debug_enabled;
184: pay_in_utils.set_location(g_debug,'Entering: '||l_procedure,10);
185:
186: if to_number(to_char(p_date,'MM')) <=3 then
187: l_year := to_char(p_date,'YYYY');
188: pay_in_utils.set_location(g_debug,l_procedure,20);
184: pay_in_utils.set_location(g_debug,'Entering: '||l_procedure,10);
185:
186: if to_number(to_char(p_date,'MM')) <=3 then
187: l_year := to_char(p_date,'YYYY');
188: pay_in_utils.set_location(g_debug,l_procedure,20);
189: else
190: l_year := to_number(to_char(p_date,'YYYY')) +1 ;
191: pay_in_utils.set_location(g_debug,l_procedure,30);
192: end if ;
187: l_year := to_char(p_date,'YYYY');
188: pay_in_utils.set_location(g_debug,l_procedure,20);
189: else
190: l_year := to_number(to_char(p_date,'YYYY')) +1 ;
191: pay_in_utils.set_location(g_debug,l_procedure,30);
192: end if ;
193:
194: pay_in_utils.set_location(g_debug,'Leaving: '||l_procedure,40);
195: return (to_date('31-03-'||l_year,'DD-MM-YYYY')) ;
190: l_year := to_number(to_char(p_date,'YYYY')) +1 ;
191: pay_in_utils.set_location(g_debug,l_procedure,30);
192: end if ;
193:
194: pay_in_utils.set_location(g_debug,'Leaving: '||l_procedure,40);
195: return (to_date('31-03-'||l_year,'DD-MM-YYYY')) ;
196:
197: END get_financial_year_end;
198:
227: l_message VARCHAR2(250);
228: BEGIN
229: g_debug := hr_utility.debug_enabled;
230: l_procedure := g_package ||'get_metro_status';
231: pay_in_utils.set_location(g_debug,'Entering: '||l_procedure,10);
232:
233: IF (g_debug)
234: THEN
235: pay_in_utils.trace('**************************************************','********************');
231: pay_in_utils.set_location(g_debug,'Entering: '||l_procedure,10);
232:
233: IF (g_debug)
234: THEN
235: pay_in_utils.trace('**************************************************','********************');
236: pay_in_utils.set_location(g_debug,'Input Paramters value is',20);
237: pay_in_utils.trace('p_assignment_id ',p_assignment_id);
238: pay_in_utils.trace('p_effective_date',p_effective_date);
239: pay_in_utils.trace('**************************************************','********************');
232:
233: IF (g_debug)
234: THEN
235: pay_in_utils.trace('**************************************************','********************');
236: pay_in_utils.set_location(g_debug,'Input Paramters value is',20);
237: pay_in_utils.trace('p_assignment_id ',p_assignment_id);
238: pay_in_utils.trace('p_effective_date',p_effective_date);
239: pay_in_utils.trace('**************************************************','********************');
240: END IF;
233: IF (g_debug)
234: THEN
235: pay_in_utils.trace('**************************************************','********************');
236: pay_in_utils.set_location(g_debug,'Input Paramters value is',20);
237: pay_in_utils.trace('p_assignment_id ',p_assignment_id);
238: pay_in_utils.trace('p_effective_date',p_effective_date);
239: pay_in_utils.trace('**************************************************','********************');
240: END IF;
241:
234: THEN
235: pay_in_utils.trace('**************************************************','********************');
236: pay_in_utils.set_location(g_debug,'Input Paramters value is',20);
237: pay_in_utils.trace('p_assignment_id ',p_assignment_id);
238: pay_in_utils.trace('p_effective_date',p_effective_date);
239: pay_in_utils.trace('**************************************************','********************');
240: END IF;
241:
242: l_status :='N';
235: pay_in_utils.trace('**************************************************','********************');
236: pay_in_utils.set_location(g_debug,'Input Paramters value is',20);
237: pay_in_utils.trace('p_assignment_id ',p_assignment_id);
238: pay_in_utils.trace('p_effective_date',p_effective_date);
239: pay_in_utils.trace('**************************************************','********************');
240: END IF;
241:
242: l_status :='N';
243:
245: fetch c_metro_status into l_status;
246: /* Bug 3899924 Added the following IF condition */
247: if c_metro_status%notfound then
248: l_status := 'X';
249: pay_in_utils.set_location(g_debug,l_procedure,20);
250: end if;
251: close c_metro_status;
252:
253: pay_in_utils.set_location(g_debug,'Leaving : '||l_procedure, 30);
249: pay_in_utils.set_location(g_debug,l_procedure,20);
250: end if;
251: close c_metro_status;
252:
253: pay_in_utils.set_location(g_debug,'Leaving : '||l_procedure, 30);
254: return l_status ;
255:
256: END get_metro_status;
257:
285: l_message VARCHAR2(250);
286: BEGIN
287: g_debug := hr_utility.debug_enabled;
288: l_procedure := g_package ||'get_period_number';
289: pay_in_utils.set_location(g_debug,'Entering: '||l_procedure,10);
290:
291: l_period_num :=-99;
292: open csr_get_payroll_period;
293: fetch csr_get_payroll_period into l_start_date, l_end_date , l_period_num;
294: close csr_get_payroll_period;
295:
296: IF (g_debug)
297: THEN
298: pay_in_utils.trace('**************************************************','********************');
299: pay_in_utils.set_location(g_debug,'Input Paramters value is',20);
300: pay_in_utils.trace('l_start_date',l_start_date);
301: pay_in_utils.trace('l_end_date',l_end_date);
302: pay_in_utils.trace('l_period_num',l_period_num);
295:
296: IF (g_debug)
297: THEN
298: pay_in_utils.trace('**************************************************','********************');
299: pay_in_utils.set_location(g_debug,'Input Paramters value is',20);
300: pay_in_utils.trace('l_start_date',l_start_date);
301: pay_in_utils.trace('l_end_date',l_end_date);
302: pay_in_utils.trace('l_period_num',l_period_num);
303: END IF;
296: IF (g_debug)
297: THEN
298: pay_in_utils.trace('**************************************************','********************');
299: pay_in_utils.set_location(g_debug,'Input Paramters value is',20);
300: pay_in_utils.trace('l_start_date',l_start_date);
301: pay_in_utils.trace('l_end_date',l_end_date);
302: pay_in_utils.trace('l_period_num',l_period_num);
303: END IF;
304: pay_in_utils.trace('**************************************************','********************');
297: THEN
298: pay_in_utils.trace('**************************************************','********************');
299: pay_in_utils.set_location(g_debug,'Input Paramters value is',20);
300: pay_in_utils.trace('l_start_date',l_start_date);
301: pay_in_utils.trace('l_end_date',l_end_date);
302: pay_in_utils.trace('l_period_num',l_period_num);
303: END IF;
304: pay_in_utils.trace('**************************************************','********************');
305: pay_in_utils.set_location(g_debug,'Leaving: '||l_procedure,20);
298: pay_in_utils.trace('**************************************************','********************');
299: pay_in_utils.set_location(g_debug,'Input Paramters value is',20);
300: pay_in_utils.trace('l_start_date',l_start_date);
301: pay_in_utils.trace('l_end_date',l_end_date);
302: pay_in_utils.trace('l_period_num',l_period_num);
303: END IF;
304: pay_in_utils.trace('**************************************************','********************');
305: pay_in_utils.set_location(g_debug,'Leaving: '||l_procedure,20);
306: return l_period_num ;
300: pay_in_utils.trace('l_start_date',l_start_date);
301: pay_in_utils.trace('l_end_date',l_end_date);
302: pay_in_utils.trace('l_period_num',l_period_num);
303: END IF;
304: pay_in_utils.trace('**************************************************','********************');
305: pay_in_utils.set_location(g_debug,'Leaving: '||l_procedure,20);
306: return l_period_num ;
307:
308: END get_period_number;
301: pay_in_utils.trace('l_end_date',l_end_date);
302: pay_in_utils.trace('l_period_num',l_period_num);
303: END IF;
304: pay_in_utils.trace('**************************************************','********************');
305: pay_in_utils.set_location(g_debug,'Leaving: '||l_procedure,20);
306: return l_period_num ;
307:
308: END get_period_number;
309:
380: l_procedure VARCHAR2(100);
381: l_message VARCHAR2(250);
382: BEGIN
383: l_procedure := g_package||'get_house_rent_info_entry_id';
384: pay_in_utils.set_location(g_debug,'Entering: '||l_procedure,10);
385: hr_utility.trace('p_effective_date'||p_effective_date);
386: hr_utility.trace('p_assact'||p_assact);
387:
388: l_entry_id_type_flag :='E';
391: close c_ele_id ;
392:
393: hr_utility.trace('p_entry_end_date'||p_entry_end_date);
394:
395: pay_in_utils.set_location(g_debug,l_procedure,20);
396:
397: if l_houserentinfo_entry_id = -999 then
398: --
399: -- element entry does not exist in the current pay period
401: --
402: open c_ele_id_latest ;
403: fetch c_ele_id_latest into l_houserentinfo_entry_id,p_entry_end_date ;
404: close c_ele_id_latest ;
405: pay_in_utils.set_location(g_debug,l_procedure,30);
406:
407: hr_utility.trace('p_entry_end_date'||p_entry_end_date);
408:
409: if l_houserentinfo_entry_id = -999 then
411: -- ok. entry id still not found in this financial year.
412: -- Set the rent paid value to 0 for all months in this tax year
413: --
414: p_entry_id_type_flag := 'DT';
415: pay_in_utils.set_location(g_debug,l_procedure,40);
416: else
417: p_entry_id_type_flag := 'DP';
418: pay_in_utils.set_location(g_debug,l_procedure,50);
419: end if;
414: p_entry_id_type_flag := 'DT';
415: pay_in_utils.set_location(g_debug,l_procedure,40);
416: else
417: p_entry_id_type_flag := 'DP';
418: pay_in_utils.set_location(g_debug,l_procedure,50);
419: end if;
420: else
421: p_entry_id_type_flag := 'E';
422: pay_in_utils.set_location(g_debug,l_procedure,60);
418: pay_in_utils.set_location(g_debug,l_procedure,50);
419: end if;
420: else
421: p_entry_id_type_flag := 'E';
422: pay_in_utils.set_location(g_debug,l_procedure,60);
423: end if ;
424:
425: pay_in_utils.set_location(g_debug,'Leaving: '||l_procedure,70);
426: return l_houserentinfo_entry_id ;
421: p_entry_id_type_flag := 'E';
422: pay_in_utils.set_location(g_debug,l_procedure,60);
423: end if ;
424:
425: pay_in_utils.set_location(g_debug,'Leaving: '||l_procedure,70);
426: return l_houserentinfo_entry_id ;
427:
428: END get_house_rent_info_entry_id;
429:
461:
462: BEGIN
463: g_debug := hr_utility.debug_enabled;
464: l_procedure := g_package ||'get_defined_balance';
465: pay_in_utils.set_location(g_debug,'Entering: '||l_procedure, 10);
466: l_message := 'SUCCESS';
467:
468: OPEN csr_def_bal_id;
469: FETCH csr_def_bal_id
469: FETCH csr_def_bal_id
470: INTO l_def_bal_id;
471: CLOSE csr_def_bal_id;
472:
473: pay_in_utils.set_location(g_debug,l_procedure, 20);
474:
475: IF g_debug THEN
476: hr_utility.trace ('. '||RPAD(TRIM(p_balance_type||p_dimension_name),35,' ')||' : '||l_def_bal_id);
477: END IF;
475: IF g_debug THEN
476: hr_utility.trace ('. '||RPAD(TRIM(p_balance_type||p_dimension_name),35,' ')||' : '||l_def_bal_id);
477: END IF;
478:
479: pay_in_utils.set_location(g_debug,'Leaving : '||l_procedure, 30);
480:
481: RETURN l_def_bal_id;
482:
483: EXCEPTION
481: RETURN l_def_bal_id;
482:
483: EXCEPTION
484: WHEN OTHERS THEN
485: l_message := pay_in_utils.get_pay_message('PER_IN_ORACLE_GENERIC_ERROR', 'FUNCTION:'||l_procedure, 'SQLERRMC:'||sqlerrm);
486: hr_utility.trace(l_message);
487: pay_in_utils.set_location(g_debug,'Leaving : '||l_procedure, 40);
488: RETURN -1;
489:
483: EXCEPTION
484: WHEN OTHERS THEN
485: l_message := pay_in_utils.get_pay_message('PER_IN_ORACLE_GENERIC_ERROR', 'FUNCTION:'||l_procedure, 'SQLERRMC:'||sqlerrm);
486: hr_utility.trace(l_message);
487: pay_in_utils.set_location(g_debug,'Leaving : '||l_procedure, 40);
488: RETURN -1;
489:
490: END get_defined_balance ;
491:
555: l_pub_sect_flag VARCHAR2(20);
556:
557: BEGIN
558: l_procedure := g_package ||'get_monthly_rent';
559: pay_in_utils.set_location(g_debug,'Entering: '||l_procedure, 10);
560: hr_utility.trace('p_element_entry_id'||p_element_entry_id);
561:
562:
563: if p_entry_end_date < p_effective_date then
565: else
566: l_effective_date := p_effective_date ;
567: end if ;
568:
569: pay_in_utils.set_location(g_debug,l_procedure, 20);
570: hr_utility.trace('l_effective_date'||l_effective_date);
571:
572: select to_number(nvl(PAY_DATE_OFFSET,0)),PRL_INFORMATION1 into l_date_offset,l_pub_sect_flag
573: from pay_payrolls_f
573: from pay_payrolls_f
574: where payroll_id = p_payroll_id
575: and l_effective_date between EFFECTIVE_START_DATE and EFFECTIVE_end_date;
576:
577: pay_in_utils.set_location(g_debug,l_procedure, 30);
578:
579: if l_date_offset <= 0 then
580:
581:
580:
581:
582: if to_number(to_char(l_effective_date,'MM')) = 3 and nvl(l_pub_sect_flag,'N') ='Y' then
583:
584: pay_in_utils.set_location(g_debug,l_procedure, 35);
585:
586: open get_mar_month_rent(l_effective_date,p_element_entry_id);
587: fetch get_mar_month_rent into l_rent_paid,l_month;
588: if get_mar_month_rent%found then
595: for j in 2..12 loop
596: p_rent_paid(j) := 0 ;
597: end loop;
598: else
599: pay_in_utils.set_location(g_debug,l_procedure, 40);
600:
601: select nvl(pev.screen_entry_value,0)
602: ,piv.name
603: bulk collect into
628: );
629: end if;
630: else
631:
632: pay_in_utils.set_location(g_debug,l_procedure, 50);
633:
634: if to_number(to_char(l_effective_date,'MM')) = 3 then
635:
636: pay_in_utils.set_location(g_debug,l_procedure, 60);
632: pay_in_utils.set_location(g_debug,l_procedure, 50);
633:
634: if to_number(to_char(l_effective_date,'MM')) = 3 then
635:
636: pay_in_utils.set_location(g_debug,l_procedure, 60);
637:
638: open get_mar_month_rent(l_effective_date,p_element_entry_id);
639: fetch get_mar_month_rent into l_rent_paid,l_month;
640: if get_mar_month_rent%found then
648: p_rent_paid(j) := 0 ;
649: end loop;
650: else
651:
652: pay_in_utils.set_location(g_debug,l_procedure, 70);
653:
654: select nvl(pev.screen_entry_value,0)
655: ,piv.name
656: bulk collect into
679: , 'JAN',11
680: , 'FEB',12
681: );
682:
683: pay_in_utils.set_location(g_debug,l_procedure, 80);
684:
685: l_prev_house_rent_entry_date := get_tax_year_start(p_payroll_id,l_effective_date);
686:
687: open get_house_rent_entry_id(l_prev_house_rent_entry_date);
694: open get_mar_month_rent(l_prev_house_rent_entry_date,l_prev_element_entry_id);
695: fetch get_mar_month_rent into p_rent_paid(1), p_month(1);
696: close get_mar_month_rent;
697: end if;
698: pay_in_utils.set_location(g_debug,l_procedure, 90);
699: end if;
700: end if;
701:
702: if l_date_offset <= 0 then
745: end if;
746:
747: if p_entry_type_flag = 'DT' then
748:
749: pay_in_utils.set_location(g_debug,l_procedure, 100);
750:
751: for i in 1..12 loop
752: p_rent_paid(i) :=0;
753: end loop;
751: for i in 1..12 loop
752: p_rent_paid(i) :=0;
753: end loop;
754: elsif p_entry_type_flag = 'DP' then
755: pay_in_utils.set_location(g_debug,l_procedure, 110);
756: --
757: -- set rent paid for months after the end date as 0
758: --
759: for i in get_period_number(p_payroll_id,p_entry_end_date)+1..12 loop
769:
770: hr_utility.trace('-------------------------------------------');
771: end if ;
772:
773: pay_in_utils.set_location(g_debug,'Leaving: '||l_procedure, 120);
774:
775: END get_monthly_rent ;
776:
777: --------------------------------------------------------------------------
801: l_procedure VARCHAR2(100);
802: l_message VARCHAR2(250);
803: BEGIN
804: l_procedure := g_package ||'get_monthly_max_assact';
805: pay_in_utils.set_location(g_debug,'Entering: '||l_procedure, 10);
806:
807: /*Bug:3907894 Added ppa.effective_date in the select statement and fetched it in the table l_eff_date_tbl */
808: select paa.assignment_action_id,pay_in_tax_utils.get_period_number(ppa.payroll_id,ppa.date_earned),ppa.date_earned
809: bulk collect into l_assact_tbl,l_month_number_tbl,l_eff_date_tbl
877: end loop ;
878: hr_utility.trace('-------------------------------------------');
879: end if ;
880:
881: pay_in_utils.set_location(g_debug,'Leaving: '||l_procedure, 10);
882: END get_monthly_max_assact;
883:
884: --------------------------------------------------------------------------
885: -- Name : hra_tax_rule --
902: l_message VARCHAR2(250);
903:
904: BEGIN
905: l_procedure := g_package ||'hra_tax_rule';
906: pay_in_utils.set_location(g_debug,'Entering: '||l_procedure, 10);
907:
908: if g_debug then
909: hr_utility.trace('---------------------------------------');
910: hr_utility.trace('hra received -'||hra_received);
925: hr_utility.trace('exempt_hra - '||exempt_hra);
926: hr_utility.trace('taxable hra -'||taxable_hra);
927: hr_utility.trace('---------------------------------------');
928: END IF;
929: pay_in_utils.set_location(g_debug,'Leaving: '||l_procedure, 20);
930:
931: END hra_tax_rule;
932:
933: --------------------------------------------------------------------------
973: l_message VARCHAR2(250);
974:
975: BEGIN
976: l_procedure := g_package ||'historical_update_exists';
977: pay_in_utils.set_location(g_debug,'Entering: '||l_procedure, 10);
978:
979: l_exists :='N' ;
980:
981: open c_exists ;
982: fetch c_exists into l_exists ;
983: close c_exists;
984:
985: if l_exists ='Y' then
986: pay_in_utils.set_location(g_debug,'Leaving: '||l_procedure, 20);
987: return true ;
988: else
989: pay_in_utils.set_location(g_debug,'Leaving: '||l_procedure, 30);
990: return false ;
985: if l_exists ='Y' then
986: pay_in_utils.set_location(g_debug,'Leaving: '||l_procedure, 20);
987: return true ;
988: else
989: pay_in_utils.set_location(g_debug,'Leaving: '||l_procedure, 30);
990: return false ;
991: end if;
992: end historical_update_exists;
993:
1020: l_message VARCHAR2(250);
1021:
1022: BEGIN
1023: l_procedure := g_package ||'get_defined_balance';
1024: pay_in_utils.set_location(g_debug,'Entering: '||l_procedure, 10);
1025:
1026: --
1027: -- get defined_balance_id
1028: --
1056:
1057: if g_debug then
1058: hr_utility.trace('-----------------------------------------');
1059: end if ;
1060: pay_in_utils.set_location(g_debug,'Leaving: '||l_procedure, 10);
1061:
1062: end get_hra_bal_information ;
1063:
1064: --------------------------------------------------------------------------
1172: BEGIN
1173:
1174: g_debug := hr_utility.debug_enabled;
1175: l_procedure := g_package ||'taxable_hra';
1176: pay_in_utils.set_location(g_debug,'Entering: '||l_procedure, 10);
1177:
1178: IF (g_debug)
1179: THEN
1180: pay_in_utils.trace('**************************************************','********************');
1176: pay_in_utils.set_location(g_debug,'Entering: '||l_procedure, 10);
1177:
1178: IF (g_debug)
1179: THEN
1180: pay_in_utils.trace('**************************************************','********************');
1181: pay_in_utils.set_location(g_debug,'Input Paramters value is',20);
1182: pay_in_utils.trace('p_element_entry_id ',p_element_entry_id );
1183: pay_in_utils.trace('p_effective_date ',p_effective_date );
1184: pay_in_utils.trace('p_pay_period_num ',p_pay_period_num );
1177:
1178: IF (g_debug)
1179: THEN
1180: pay_in_utils.trace('**************************************************','********************');
1181: pay_in_utils.set_location(g_debug,'Input Paramters value is',20);
1182: pay_in_utils.trace('p_element_entry_id ',p_element_entry_id );
1183: pay_in_utils.trace('p_effective_date ',p_effective_date );
1184: pay_in_utils.trace('p_pay_period_num ',p_pay_period_num );
1185: pay_in_utils.trace('p_hra_salary ',p_hra_salary );
1178: IF (g_debug)
1179: THEN
1180: pay_in_utils.trace('**************************************************','********************');
1181: pay_in_utils.set_location(g_debug,'Input Paramters value is',20);
1182: pay_in_utils.trace('p_element_entry_id ',p_element_entry_id );
1183: pay_in_utils.trace('p_effective_date ',p_effective_date );
1184: pay_in_utils.trace('p_pay_period_num ',p_pay_period_num );
1185: pay_in_utils.trace('p_hra_salary ',p_hra_salary );
1186: pay_in_utils.trace('p_std_hra_salary ',p_std_hra_salary );
1179: THEN
1180: pay_in_utils.trace('**************************************************','********************');
1181: pay_in_utils.set_location(g_debug,'Input Paramters value is',20);
1182: pay_in_utils.trace('p_element_entry_id ',p_element_entry_id );
1183: pay_in_utils.trace('p_effective_date ',p_effective_date );
1184: pay_in_utils.trace('p_pay_period_num ',p_pay_period_num );
1185: pay_in_utils.trace('p_hra_salary ',p_hra_salary );
1186: pay_in_utils.trace('p_std_hra_salary ',p_std_hra_salary );
1187: pay_in_utils.trace('p_hra_allowance_asg_run',p_hra_allowance_asg_run);
1180: pay_in_utils.trace('**************************************************','********************');
1181: pay_in_utils.set_location(g_debug,'Input Paramters value is',20);
1182: pay_in_utils.trace('p_element_entry_id ',p_element_entry_id );
1183: pay_in_utils.trace('p_effective_date ',p_effective_date );
1184: pay_in_utils.trace('p_pay_period_num ',p_pay_period_num );
1185: pay_in_utils.trace('p_hra_salary ',p_hra_salary );
1186: pay_in_utils.trace('p_std_hra_salary ',p_std_hra_salary );
1187: pay_in_utils.trace('p_hra_allowance_asg_run',p_hra_allowance_asg_run);
1188: pay_in_utils.trace('p_hra_allowance_asg_ytd',p_hra_allowance_asg_ytd);
1181: pay_in_utils.set_location(g_debug,'Input Paramters value is',20);
1182: pay_in_utils.trace('p_element_entry_id ',p_element_entry_id );
1183: pay_in_utils.trace('p_effective_date ',p_effective_date );
1184: pay_in_utils.trace('p_pay_period_num ',p_pay_period_num );
1185: pay_in_utils.trace('p_hra_salary ',p_hra_salary );
1186: pay_in_utils.trace('p_std_hra_salary ',p_std_hra_salary );
1187: pay_in_utils.trace('p_hra_allowance_asg_run',p_hra_allowance_asg_run);
1188: pay_in_utils.trace('p_hra_allowance_asg_ytd',p_hra_allowance_asg_ytd);
1189: pay_in_utils.trace('p_std_hra_allow_asg_run',p_std_hra_allow_asg_run);
1182: pay_in_utils.trace('p_element_entry_id ',p_element_entry_id );
1183: pay_in_utils.trace('p_effective_date ',p_effective_date );
1184: pay_in_utils.trace('p_pay_period_num ',p_pay_period_num );
1185: pay_in_utils.trace('p_hra_salary ',p_hra_salary );
1186: pay_in_utils.trace('p_std_hra_salary ',p_std_hra_salary );
1187: pay_in_utils.trace('p_hra_allowance_asg_run',p_hra_allowance_asg_run);
1188: pay_in_utils.trace('p_hra_allowance_asg_ytd',p_hra_allowance_asg_ytd);
1189: pay_in_utils.trace('p_std_hra_allow_asg_run',p_std_hra_allow_asg_run);
1190: pay_in_utils.trace('p_std_hra_allow_asg_ytd',p_std_hra_allow_asg_ytd);
1183: pay_in_utils.trace('p_effective_date ',p_effective_date );
1184: pay_in_utils.trace('p_pay_period_num ',p_pay_period_num );
1185: pay_in_utils.trace('p_hra_salary ',p_hra_salary );
1186: pay_in_utils.trace('p_std_hra_salary ',p_std_hra_salary );
1187: pay_in_utils.trace('p_hra_allowance_asg_run',p_hra_allowance_asg_run);
1188: pay_in_utils.trace('p_hra_allowance_asg_ytd',p_hra_allowance_asg_ytd);
1189: pay_in_utils.trace('p_std_hra_allow_asg_run',p_std_hra_allow_asg_run);
1190: pay_in_utils.trace('p_std_hra_allow_asg_ytd',p_std_hra_allow_asg_ytd);
1191: pay_in_utils.trace('**************************************************','********************');
1184: pay_in_utils.trace('p_pay_period_num ',p_pay_period_num );
1185: pay_in_utils.trace('p_hra_salary ',p_hra_salary );
1186: pay_in_utils.trace('p_std_hra_salary ',p_std_hra_salary );
1187: pay_in_utils.trace('p_hra_allowance_asg_run',p_hra_allowance_asg_run);
1188: pay_in_utils.trace('p_hra_allowance_asg_ytd',p_hra_allowance_asg_ytd);
1189: pay_in_utils.trace('p_std_hra_allow_asg_run',p_std_hra_allow_asg_run);
1190: pay_in_utils.trace('p_std_hra_allow_asg_ytd',p_std_hra_allow_asg_ytd);
1191: pay_in_utils.trace('**************************************************','********************');
1192: END IF;
1185: pay_in_utils.trace('p_hra_salary ',p_hra_salary );
1186: pay_in_utils.trace('p_std_hra_salary ',p_std_hra_salary );
1187: pay_in_utils.trace('p_hra_allowance_asg_run',p_hra_allowance_asg_run);
1188: pay_in_utils.trace('p_hra_allowance_asg_ytd',p_hra_allowance_asg_ytd);
1189: pay_in_utils.trace('p_std_hra_allow_asg_run',p_std_hra_allow_asg_run);
1190: pay_in_utils.trace('p_std_hra_allow_asg_ytd',p_std_hra_allow_asg_ytd);
1191: pay_in_utils.trace('**************************************************','********************');
1192: END IF;
1193:
1186: pay_in_utils.trace('p_std_hra_salary ',p_std_hra_salary );
1187: pay_in_utils.trace('p_hra_allowance_asg_run',p_hra_allowance_asg_run);
1188: pay_in_utils.trace('p_hra_allowance_asg_ytd',p_hra_allowance_asg_ytd);
1189: pay_in_utils.trace('p_std_hra_allow_asg_run',p_std_hra_allow_asg_run);
1190: pay_in_utils.trace('p_std_hra_allow_asg_ytd',p_std_hra_allow_asg_ytd);
1191: pay_in_utils.trace('**************************************************','********************');
1192: END IF;
1193:
1194:
1187: pay_in_utils.trace('p_hra_allowance_asg_run',p_hra_allowance_asg_run);
1188: pay_in_utils.trace('p_hra_allowance_asg_ytd',p_hra_allowance_asg_ytd);
1189: pay_in_utils.trace('p_std_hra_allow_asg_run',p_std_hra_allow_asg_run);
1190: pay_in_utils.trace('p_std_hra_allow_asg_ytd',p_std_hra_allow_asg_ytd);
1191: pay_in_utils.trace('**************************************************','********************');
1192: END IF;
1193:
1194:
1195: l_current_month_rent :=0;
1263: CLOSE csr_get_date;
1264:
1265: hr_utility.trace('INHRA:l_current_gre_end_date : '||l_current_gre_end_date);
1266:
1267: pay_in_utils.set_location(g_debug,l_procedure, 20);
1268:
1269: --------------------------------
1270: /*IF employee gets terminated*/
1271: --------------------------------
1288: l_last_period_num := 12;
1289: END IF;
1290: END IF ;
1291:
1292: pay_in_utils.set_location(g_debug,l_procedure, 30);
1293:
1294: IF g_debug THEN
1295: hr_utility.trace('INHRA: Last Period Number : '||l_last_period_num);
1296: hr_utility.trace('INHRA: current no : '||p_pay_period_num);
1313:
1314: l_taxable_hra_def_bal_id := get_defined_balance('Taxable House Rent Allowance', '_ASG_YTD') ;
1315: l_ret_tax_hra_def_bal_id := get_defined_balance('Retro Taxable House Rent Allowance', '_ASG_YTD') ; -- Bug 11821281
1316:
1317: pay_in_utils.set_location(g_debug,l_procedure, 40);
1318:
1319: --
1320: -- get element entry id for House Rent information element
1321: --
1329: --
1330: -- get monthly rent paid for each month in the current tax year
1331: -- April = 1 , May =2 ...March = 12
1332: --
1333: pay_in_utils.set_location(g_debug,l_procedure, 50);
1334:
1335: get_monthly_rent( l_hri_entry_id,
1336: p_effective_date ,
1337: l_entry_type_flag ,
1340: p_assact_id,
1341: l_rent_paid_tbl ,
1342: l_month_tbl ) ;
1343:
1344: pay_in_utils.set_location(g_debug,l_procedure, 60);
1345: --
1346: -- Calculate annual value of taxable hra before this run
1347: --
1348:
1353: /* IF ( historical_update_exists(l_hri_entry_id,l_year_start,l_year_end,p_effective_date)
1354: OR l_last_month = l_year_end OR l_terminate_date is NOT NULL )
1355: THEN
1356: p_hra_taxable_annual := 0;
1357: pay_in_utils.set_location(g_debug,l_procedure, 70);
1358:
1359: --
1360: -- get monthly balance values for 'House Rent Allowance' and 'HRA Salary'
1361: -- for all the pay periods prior to this run
1390: l_taxable_hra_asg_ytd := l_taxable_hra_asg_ytd + l_taxable_hra ;
1391: END LOOP;
1392: ELSE
1393: */
1394: pay_in_utils.set_location(g_debug,l_procedure, 80);
1395:
1396: --
1397: -- There is no update on the rent paid information this year
1398: hr_utility.trace('INHRA: --tax_unit_id =>'||l_current_gre);
1451: hr_utility.trace ('INHRA: Taxable HRA_ASG_DE_PTD : '||l_taxable_hra_curr);
1452: hr_utility.trace ('INHRA: Exemption_on_HRA : '||l_exemption_on_hra);
1453: END IF;
1454:
1455: pay_in_utils.set_location(g_debug,l_procedure, 90);
1456: --
1457: -- use only std value for projection
1458: --
1459:
1460: l_hra_salary := p_std_hra_salary;
1461: l_hra_allowance := p_std_hra_allow_asg_run;
1462:
1463:
1464: pay_in_utils.set_location(g_debug,l_procedure, 100);
1465:
1466: FOR i in p_pay_period_num+1..l_last_period_num LOOP
1467: hra_tax_rule( l_hra_allowance ,
1468: l_rent_paid_tbl(i),
1501: null,
1502: null,
1503: null,
1504: 'TRUE');
1505: pay_in_utils.set_location(g_debug,l_procedure, 110);
1506:
1507: p_hra_taxable_annual := (l_taxable_hra_curr - l_taxable_hra_ASG_DE_PTD ) +
1508: (l_taxable_hra_proj - (l_taxable_hra_proj_ptd- l_taxable_hra_asg_ytd));
1509:
1515: END IF;
1516:
1517: RETURN 0 ;
1518:
1519: pay_in_utils.set_location(g_debug,'Leaving: '||l_procedure, 120);
1520: END taxable_hra;
1521:
1522: --------------------------------------------------------------------------
1523: -- Name : prev_emplr_details --
1623: BEGIN
1624:
1625: g_debug := hr_utility.debug_enabled;
1626: l_procedure := g_package ||'prev_emplr_details';
1627: pay_in_utils.set_location(g_debug,'Entering: '||l_procedure,10);
1628: IF (g_debug)
1629: THEN
1630: pay_in_utils.trace('**************************************************','********************');
1631: pay_in_utils.set_location(g_debug,'Input Paramters value is',20);
1626: l_procedure := g_package ||'prev_emplr_details';
1627: pay_in_utils.set_location(g_debug,'Entering: '||l_procedure,10);
1628: IF (g_debug)
1629: THEN
1630: pay_in_utils.trace('**************************************************','********************');
1631: pay_in_utils.set_location(g_debug,'Input Paramters value is',20);
1632: pay_in_utils.trace('p_assignment_id',p_assignment_id);
1633: pay_in_utils.trace('p_date_earned',p_date_earned);
1634: END IF;
1627: pay_in_utils.set_location(g_debug,'Entering: '||l_procedure,10);
1628: IF (g_debug)
1629: THEN
1630: pay_in_utils.trace('**************************************************','********************');
1631: pay_in_utils.set_location(g_debug,'Input Paramters value is',20);
1632: pay_in_utils.trace('p_assignment_id',p_assignment_id);
1633: pay_in_utils.trace('p_date_earned',p_date_earned);
1634: END IF;
1635:
1628: IF (g_debug)
1629: THEN
1630: pay_in_utils.trace('**************************************************','********************');
1631: pay_in_utils.set_location(g_debug,'Input Paramters value is',20);
1632: pay_in_utils.trace('p_assignment_id',p_assignment_id);
1633: pay_in_utils.trace('p_date_earned',p_date_earned);
1634: END IF;
1635:
1636: p_prev_sal := 0;
1629: THEN
1630: pay_in_utils.trace('**************************************************','********************');
1631: pay_in_utils.set_location(g_debug,'Input Paramters value is',20);
1632: pay_in_utils.trace('p_assignment_id',p_assignment_id);
1633: pay_in_utils.trace('p_date_earned',p_date_earned);
1634: END IF;
1635:
1636: p_prev_sal := 0;
1637: p_prev_ent_alw := 0;
1712: Close c_prev_emp_details;
1713:
1714: IF (g_debug)
1715: THEN
1716: pay_in_utils.trace('p_assignment_id ',p_assignment_id );
1717: pay_in_utils.trace('p_date_earned ',p_date_earned );
1718: pay_in_utils.trace('p_prev_sal ',p_prev_sal );
1719: pay_in_utils.trace('p_prev_tds ',p_prev_tds );
1720: pay_in_utils.trace('p_prev_pt ',p_prev_pt );
1713:
1714: IF (g_debug)
1715: THEN
1716: pay_in_utils.trace('p_assignment_id ',p_assignment_id );
1717: pay_in_utils.trace('p_date_earned ',p_date_earned );
1718: pay_in_utils.trace('p_prev_sal ',p_prev_sal );
1719: pay_in_utils.trace('p_prev_tds ',p_prev_tds );
1720: pay_in_utils.trace('p_prev_pt ',p_prev_pt );
1721: pay_in_utils.trace('p_prev_ent_alw ',p_prev_ent_alw );
1714: IF (g_debug)
1715: THEN
1716: pay_in_utils.trace('p_assignment_id ',p_assignment_id );
1717: pay_in_utils.trace('p_date_earned ',p_date_earned );
1718: pay_in_utils.trace('p_prev_sal ',p_prev_sal );
1719: pay_in_utils.trace('p_prev_tds ',p_prev_tds );
1720: pay_in_utils.trace('p_prev_pt ',p_prev_pt );
1721: pay_in_utils.trace('p_prev_ent_alw ',p_prev_ent_alw );
1722: pay_in_utils.trace('p_prev_pf ',p_prev_pf );
1715: THEN
1716: pay_in_utils.trace('p_assignment_id ',p_assignment_id );
1717: pay_in_utils.trace('p_date_earned ',p_date_earned );
1718: pay_in_utils.trace('p_prev_sal ',p_prev_sal );
1719: pay_in_utils.trace('p_prev_tds ',p_prev_tds );
1720: pay_in_utils.trace('p_prev_pt ',p_prev_pt );
1721: pay_in_utils.trace('p_prev_ent_alw ',p_prev_ent_alw );
1722: pay_in_utils.trace('p_prev_pf ',p_prev_pf );
1723: pay_in_utils.trace('p_prev_super ',p_prev_super );
1716: pay_in_utils.trace('p_assignment_id ',p_assignment_id );
1717: pay_in_utils.trace('p_date_earned ',p_date_earned );
1718: pay_in_utils.trace('p_prev_sal ',p_prev_sal );
1719: pay_in_utils.trace('p_prev_tds ',p_prev_tds );
1720: pay_in_utils.trace('p_prev_pt ',p_prev_pt );
1721: pay_in_utils.trace('p_prev_ent_alw ',p_prev_ent_alw );
1722: pay_in_utils.trace('p_prev_pf ',p_prev_pf );
1723: pay_in_utils.trace('p_prev_super ',p_prev_super );
1724: pay_in_utils.trace('p_prev_govt_ent_alw',p_prev_govt_ent_alw);
1717: pay_in_utils.trace('p_date_earned ',p_date_earned );
1718: pay_in_utils.trace('p_prev_sal ',p_prev_sal );
1719: pay_in_utils.trace('p_prev_tds ',p_prev_tds );
1720: pay_in_utils.trace('p_prev_pt ',p_prev_pt );
1721: pay_in_utils.trace('p_prev_ent_alw ',p_prev_ent_alw );
1722: pay_in_utils.trace('p_prev_pf ',p_prev_pf );
1723: pay_in_utils.trace('p_prev_super ',p_prev_super );
1724: pay_in_utils.trace('p_prev_govt_ent_alw',p_prev_govt_ent_alw);
1725: pay_in_utils.trace('p_prev_grat ',p_prev_grat );
1718: pay_in_utils.trace('p_prev_sal ',p_prev_sal );
1719: pay_in_utils.trace('p_prev_tds ',p_prev_tds );
1720: pay_in_utils.trace('p_prev_pt ',p_prev_pt );
1721: pay_in_utils.trace('p_prev_ent_alw ',p_prev_ent_alw );
1722: pay_in_utils.trace('p_prev_pf ',p_prev_pf );
1723: pay_in_utils.trace('p_prev_super ',p_prev_super );
1724: pay_in_utils.trace('p_prev_govt_ent_alw',p_prev_govt_ent_alw);
1725: pay_in_utils.trace('p_prev_grat ',p_prev_grat );
1726: pay_in_utils.trace('p_prev_leave_encash',p_prev_leave_encash);
1719: pay_in_utils.trace('p_prev_tds ',p_prev_tds );
1720: pay_in_utils.trace('p_prev_pt ',p_prev_pt );
1721: pay_in_utils.trace('p_prev_ent_alw ',p_prev_ent_alw );
1722: pay_in_utils.trace('p_prev_pf ',p_prev_pf );
1723: pay_in_utils.trace('p_prev_super ',p_prev_super );
1724: pay_in_utils.trace('p_prev_govt_ent_alw',p_prev_govt_ent_alw);
1725: pay_in_utils.trace('p_prev_grat ',p_prev_grat );
1726: pay_in_utils.trace('p_prev_leave_encash',p_prev_leave_encash);
1727: pay_in_utils.trace('p_prev_retr_amt ',p_prev_retr_amt );
1720: pay_in_utils.trace('p_prev_pt ',p_prev_pt );
1721: pay_in_utils.trace('p_prev_ent_alw ',p_prev_ent_alw );
1722: pay_in_utils.trace('p_prev_pf ',p_prev_pf );
1723: pay_in_utils.trace('p_prev_super ',p_prev_super );
1724: pay_in_utils.trace('p_prev_govt_ent_alw',p_prev_govt_ent_alw);
1725: pay_in_utils.trace('p_prev_grat ',p_prev_grat );
1726: pay_in_utils.trace('p_prev_leave_encash',p_prev_leave_encash);
1727: pay_in_utils.trace('p_prev_retr_amt ',p_prev_retr_amt );
1728: pay_in_utils.trace('p_designation ',p_designation );
1721: pay_in_utils.trace('p_prev_ent_alw ',p_prev_ent_alw );
1722: pay_in_utils.trace('p_prev_pf ',p_prev_pf );
1723: pay_in_utils.trace('p_prev_super ',p_prev_super );
1724: pay_in_utils.trace('p_prev_govt_ent_alw',p_prev_govt_ent_alw);
1725: pay_in_utils.trace('p_prev_grat ',p_prev_grat );
1726: pay_in_utils.trace('p_prev_leave_encash',p_prev_leave_encash);
1727: pay_in_utils.trace('p_prev_retr_amt ',p_prev_retr_amt );
1728: pay_in_utils.trace('p_designation ',p_designation );
1729: pay_in_utils.trace('p_annual_sal ',p_annual_sal );
1722: pay_in_utils.trace('p_prev_pf ',p_prev_pf );
1723: pay_in_utils.trace('p_prev_super ',p_prev_super );
1724: pay_in_utils.trace('p_prev_govt_ent_alw',p_prev_govt_ent_alw);
1725: pay_in_utils.trace('p_prev_grat ',p_prev_grat );
1726: pay_in_utils.trace('p_prev_leave_encash',p_prev_leave_encash);
1727: pay_in_utils.trace('p_prev_retr_amt ',p_prev_retr_amt );
1728: pay_in_utils.trace('p_designation ',p_designation );
1729: pay_in_utils.trace('p_annual_sal ',p_annual_sal );
1730: pay_in_utils.trace('p_pf_number ',p_pf_number );
1723: pay_in_utils.trace('p_prev_super ',p_prev_super );
1724: pay_in_utils.trace('p_prev_govt_ent_alw',p_prev_govt_ent_alw);
1725: pay_in_utils.trace('p_prev_grat ',p_prev_grat );
1726: pay_in_utils.trace('p_prev_leave_encash',p_prev_leave_encash);
1727: pay_in_utils.trace('p_prev_retr_amt ',p_prev_retr_amt );
1728: pay_in_utils.trace('p_designation ',p_designation );
1729: pay_in_utils.trace('p_annual_sal ',p_annual_sal );
1730: pay_in_utils.trace('p_pf_number ',p_pf_number );
1731: pay_in_utils.trace('p_pf_estab_code ',p_pf_estab_code );
1724: pay_in_utils.trace('p_prev_govt_ent_alw',p_prev_govt_ent_alw);
1725: pay_in_utils.trace('p_prev_grat ',p_prev_grat );
1726: pay_in_utils.trace('p_prev_leave_encash',p_prev_leave_encash);
1727: pay_in_utils.trace('p_prev_retr_amt ',p_prev_retr_amt );
1728: pay_in_utils.trace('p_designation ',p_designation );
1729: pay_in_utils.trace('p_annual_sal ',p_annual_sal );
1730: pay_in_utils.trace('p_pf_number ',p_pf_number );
1731: pay_in_utils.trace('p_pf_estab_code ',p_pf_estab_code );
1732: pay_in_utils.trace('p_epf_number ',p_epf_number );
1725: pay_in_utils.trace('p_prev_grat ',p_prev_grat );
1726: pay_in_utils.trace('p_prev_leave_encash',p_prev_leave_encash);
1727: pay_in_utils.trace('p_prev_retr_amt ',p_prev_retr_amt );
1728: pay_in_utils.trace('p_designation ',p_designation );
1729: pay_in_utils.trace('p_annual_sal ',p_annual_sal );
1730: pay_in_utils.trace('p_pf_number ',p_pf_number );
1731: pay_in_utils.trace('p_pf_estab_code ',p_pf_estab_code );
1732: pay_in_utils.trace('p_epf_number ',p_epf_number );
1733: pay_in_utils.trace('p_emplr_class ',p_emplr_class );
1726: pay_in_utils.trace('p_prev_leave_encash',p_prev_leave_encash);
1727: pay_in_utils.trace('p_prev_retr_amt ',p_prev_retr_amt );
1728: pay_in_utils.trace('p_designation ',p_designation );
1729: pay_in_utils.trace('p_annual_sal ',p_annual_sal );
1730: pay_in_utils.trace('p_pf_number ',p_pf_number );
1731: pay_in_utils.trace('p_pf_estab_code ',p_pf_estab_code );
1732: pay_in_utils.trace('p_epf_number ',p_epf_number );
1733: pay_in_utils.trace('p_emplr_class ',p_emplr_class );
1734: pay_in_utils.trace('p_ltc_curr_block ',p_ltc_curr_block );
1727: pay_in_utils.trace('p_prev_retr_amt ',p_prev_retr_amt );
1728: pay_in_utils.trace('p_designation ',p_designation );
1729: pay_in_utils.trace('p_annual_sal ',p_annual_sal );
1730: pay_in_utils.trace('p_pf_number ',p_pf_number );
1731: pay_in_utils.trace('p_pf_estab_code ',p_pf_estab_code );
1732: pay_in_utils.trace('p_epf_number ',p_epf_number );
1733: pay_in_utils.trace('p_emplr_class ',p_emplr_class );
1734: pay_in_utils.trace('p_ltc_curr_block ',p_ltc_curr_block );
1735: pay_in_utils.trace('p_vrs_amount ',p_vrs_amount );
1728: pay_in_utils.trace('p_designation ',p_designation );
1729: pay_in_utils.trace('p_annual_sal ',p_annual_sal );
1730: pay_in_utils.trace('p_pf_number ',p_pf_number );
1731: pay_in_utils.trace('p_pf_estab_code ',p_pf_estab_code );
1732: pay_in_utils.trace('p_epf_number ',p_epf_number );
1733: pay_in_utils.trace('p_emplr_class ',p_emplr_class );
1734: pay_in_utils.trace('p_ltc_curr_block ',p_ltc_curr_block );
1735: pay_in_utils.trace('p_vrs_amount ',p_vrs_amount );
1736: pay_in_utils.trace('p_prev_sc ',p_prev_sc );
1729: pay_in_utils.trace('p_annual_sal ',p_annual_sal );
1730: pay_in_utils.trace('p_pf_number ',p_pf_number );
1731: pay_in_utils.trace('p_pf_estab_code ',p_pf_estab_code );
1732: pay_in_utils.trace('p_epf_number ',p_epf_number );
1733: pay_in_utils.trace('p_emplr_class ',p_emplr_class );
1734: pay_in_utils.trace('p_ltc_curr_block ',p_ltc_curr_block );
1735: pay_in_utils.trace('p_vrs_amount ',p_vrs_amount );
1736: pay_in_utils.trace('p_prev_sc ',p_prev_sc );
1737: pay_in_utils.trace('p_prev_cess ',p_prev_cess );
1730: pay_in_utils.trace('p_pf_number ',p_pf_number );
1731: pay_in_utils.trace('p_pf_estab_code ',p_pf_estab_code );
1732: pay_in_utils.trace('p_epf_number ',p_epf_number );
1733: pay_in_utils.trace('p_emplr_class ',p_emplr_class );
1734: pay_in_utils.trace('p_ltc_curr_block ',p_ltc_curr_block );
1735: pay_in_utils.trace('p_vrs_amount ',p_vrs_amount );
1736: pay_in_utils.trace('p_prev_sc ',p_prev_sc );
1737: pay_in_utils.trace('p_prev_cess ',p_prev_cess );
1738: pay_in_utils.trace('p_prev_exemp_80gg ',p_prev_exemp_80gg );
1731: pay_in_utils.trace('p_pf_estab_code ',p_pf_estab_code );
1732: pay_in_utils.trace('p_epf_number ',p_epf_number );
1733: pay_in_utils.trace('p_emplr_class ',p_emplr_class );
1734: pay_in_utils.trace('p_ltc_curr_block ',p_ltc_curr_block );
1735: pay_in_utils.trace('p_vrs_amount ',p_vrs_amount );
1736: pay_in_utils.trace('p_prev_sc ',p_prev_sc );
1737: pay_in_utils.trace('p_prev_cess ',p_prev_cess );
1738: pay_in_utils.trace('p_prev_exemp_80gg ',p_prev_exemp_80gg );
1739: pay_in_utils.trace('p_prev_med_reimburse_amt',p_prev_med_reimburse_amt);
1732: pay_in_utils.trace('p_epf_number ',p_epf_number );
1733: pay_in_utils.trace('p_emplr_class ',p_emplr_class );
1734: pay_in_utils.trace('p_ltc_curr_block ',p_ltc_curr_block );
1735: pay_in_utils.trace('p_vrs_amount ',p_vrs_amount );
1736: pay_in_utils.trace('p_prev_sc ',p_prev_sc );
1737: pay_in_utils.trace('p_prev_cess ',p_prev_cess );
1738: pay_in_utils.trace('p_prev_exemp_80gg ',p_prev_exemp_80gg );
1739: pay_in_utils.trace('p_prev_med_reimburse_amt',p_prev_med_reimburse_amt);
1740: pay_in_utils.trace('p_prev_exemp_80ccd' ,p_prev_exemp_80ccd);
1733: pay_in_utils.trace('p_emplr_class ',p_emplr_class );
1734: pay_in_utils.trace('p_ltc_curr_block ',p_ltc_curr_block );
1735: pay_in_utils.trace('p_vrs_amount ',p_vrs_amount );
1736: pay_in_utils.trace('p_prev_sc ',p_prev_sc );
1737: pay_in_utils.trace('p_prev_cess ',p_prev_cess );
1738: pay_in_utils.trace('p_prev_exemp_80gg ',p_prev_exemp_80gg );
1739: pay_in_utils.trace('p_prev_med_reimburse_amt',p_prev_med_reimburse_amt);
1740: pay_in_utils.trace('p_prev_exemp_80ccd' ,p_prev_exemp_80ccd);
1741: pay_in_utils.trace('p_prev_cghs_exemp_80d' ,p_prev_cghs_exemp_80d);
1734: pay_in_utils.trace('p_ltc_curr_block ',p_ltc_curr_block );
1735: pay_in_utils.trace('p_vrs_amount ',p_vrs_amount );
1736: pay_in_utils.trace('p_prev_sc ',p_prev_sc );
1737: pay_in_utils.trace('p_prev_cess ',p_prev_cess );
1738: pay_in_utils.trace('p_prev_exemp_80gg ',p_prev_exemp_80gg );
1739: pay_in_utils.trace('p_prev_med_reimburse_amt',p_prev_med_reimburse_amt);
1740: pay_in_utils.trace('p_prev_exemp_80ccd' ,p_prev_exemp_80ccd);
1741: pay_in_utils.trace('p_prev_cghs_exemp_80d' ,p_prev_cghs_exemp_80d);
1742: END IF;
1735: pay_in_utils.trace('p_vrs_amount ',p_vrs_amount );
1736: pay_in_utils.trace('p_prev_sc ',p_prev_sc );
1737: pay_in_utils.trace('p_prev_cess ',p_prev_cess );
1738: pay_in_utils.trace('p_prev_exemp_80gg ',p_prev_exemp_80gg );
1739: pay_in_utils.trace('p_prev_med_reimburse_amt',p_prev_med_reimburse_amt);
1740: pay_in_utils.trace('p_prev_exemp_80ccd' ,p_prev_exemp_80ccd);
1741: pay_in_utils.trace('p_prev_cghs_exemp_80d' ,p_prev_cghs_exemp_80d);
1742: END IF;
1743: pay_in_utils.trace('**************************************************','********************');
1736: pay_in_utils.trace('p_prev_sc ',p_prev_sc );
1737: pay_in_utils.trace('p_prev_cess ',p_prev_cess );
1738: pay_in_utils.trace('p_prev_exemp_80gg ',p_prev_exemp_80gg );
1739: pay_in_utils.trace('p_prev_med_reimburse_amt',p_prev_med_reimburse_amt);
1740: pay_in_utils.trace('p_prev_exemp_80ccd' ,p_prev_exemp_80ccd);
1741: pay_in_utils.trace('p_prev_cghs_exemp_80d' ,p_prev_cghs_exemp_80d);
1742: END IF;
1743: pay_in_utils.trace('**************************************************','********************');
1744: pay_in_utils.set_location(g_debug,'Leaving: '||l_procedure,20);
1737: pay_in_utils.trace('p_prev_cess ',p_prev_cess );
1738: pay_in_utils.trace('p_prev_exemp_80gg ',p_prev_exemp_80gg );
1739: pay_in_utils.trace('p_prev_med_reimburse_amt',p_prev_med_reimburse_amt);
1740: pay_in_utils.trace('p_prev_exemp_80ccd' ,p_prev_exemp_80ccd);
1741: pay_in_utils.trace('p_prev_cghs_exemp_80d' ,p_prev_cghs_exemp_80d);
1742: END IF;
1743: pay_in_utils.trace('**************************************************','********************');
1744: pay_in_utils.set_location(g_debug,'Leaving: '||l_procedure,20);
1745: Return 0;
1739: pay_in_utils.trace('p_prev_med_reimburse_amt',p_prev_med_reimburse_amt);
1740: pay_in_utils.trace('p_prev_exemp_80ccd' ,p_prev_exemp_80ccd);
1741: pay_in_utils.trace('p_prev_cghs_exemp_80d' ,p_prev_cghs_exemp_80d);
1742: END IF;
1743: pay_in_utils.trace('**************************************************','********************');
1744: pay_in_utils.set_location(g_debug,'Leaving: '||l_procedure,20);
1745: Return 0;
1746:
1747: End prev_emplr_details;
1740: pay_in_utils.trace('p_prev_exemp_80ccd' ,p_prev_exemp_80ccd);
1741: pay_in_utils.trace('p_prev_cghs_exemp_80d' ,p_prev_cghs_exemp_80d);
1742: END IF;
1743: pay_in_utils.trace('**************************************************','********************');
1744: pay_in_utils.set_location(g_debug,'Leaving: '||l_procedure,20);
1745: Return 0;
1746:
1747: End prev_emplr_details;
1748:
1765: l_res_status VARCHAR2(30);
1766: BEGIN
1767: g_debug := hr_utility.debug_enabled;
1768: l_procedure := g_package ||'get_residential_status';
1769: pay_in_utils.set_location(g_debug,'Entering: '||l_procedure,10);
1770: IF (g_debug)
1771: THEN
1772: pay_in_utils.trace('**************************************************','********************');
1773: pay_in_utils.set_location(g_debug,'Input Paramters value is',20);
1768: l_procedure := g_package ||'get_residential_status';
1769: pay_in_utils.set_location(g_debug,'Entering: '||l_procedure,10);
1770: IF (g_debug)
1771: THEN
1772: pay_in_utils.trace('**************************************************','********************');
1773: pay_in_utils.set_location(g_debug,'Input Paramters value is',20);
1774: pay_in_utils.trace('p_assignment_id',p_assignment_id);
1775: pay_in_utils.trace('p_effective_date',p_effective_date);
1776: END IF;
1769: pay_in_utils.set_location(g_debug,'Entering: '||l_procedure,10);
1770: IF (g_debug)
1771: THEN
1772: pay_in_utils.trace('**************************************************','********************');
1773: pay_in_utils.set_location(g_debug,'Input Paramters value is',20);
1774: pay_in_utils.trace('p_assignment_id',p_assignment_id);
1775: pay_in_utils.trace('p_effective_date',p_effective_date);
1776: END IF;
1777:
1770: IF (g_debug)
1771: THEN
1772: pay_in_utils.trace('**************************************************','********************');
1773: pay_in_utils.set_location(g_debug,'Input Paramters value is',20);
1774: pay_in_utils.trace('p_assignment_id',p_assignment_id);
1775: pay_in_utils.trace('p_effective_date',p_effective_date);
1776: END IF;
1777:
1778: select people.per_information7
1771: THEN
1772: pay_in_utils.trace('**************************************************','********************');
1773: pay_in_utils.set_location(g_debug,'Input Paramters value is',20);
1774: pay_in_utils.trace('p_assignment_id',p_assignment_id);
1775: pay_in_utils.trace('p_effective_date',p_effective_date);
1776: END IF;
1777:
1778: select people.per_information7
1779: into l_res_status
1784: and p_effective_date between paa.effective_start_date and paa.effective_end_date
1785: and p_effective_date between people.effective_start_date and people.effective_end_date;
1786: IF (g_debug)
1787: THEN
1788: pay_in_utils.trace('l_res_status',l_res_status);
1789: pay_in_utils.trace('**************************************************','********************');
1790: pay_in_utils.set_location(g_debug,'Leaving: '||l_procedure,20);
1791: END IF;
1792: RETURN l_res_status;
1785: and p_effective_date between people.effective_start_date and people.effective_end_date;
1786: IF (g_debug)
1787: THEN
1788: pay_in_utils.trace('l_res_status',l_res_status);
1789: pay_in_utils.trace('**************************************************','********************');
1790: pay_in_utils.set_location(g_debug,'Leaving: '||l_procedure,20);
1791: END IF;
1792: RETURN l_res_status;
1793: END;
1786: IF (g_debug)
1787: THEN
1788: pay_in_utils.trace('l_res_status',l_res_status);
1789: pay_in_utils.trace('**************************************************','********************');
1790: pay_in_utils.set_location(g_debug,'Leaving: '||l_procedure,20);
1791: END IF;
1792: RETURN l_res_status;
1793: END;
1794:
1825: l_message VARCHAR2(250);
1826: BEGIN
1827: g_debug := hr_utility.debug_enabled;
1828: l_procedure := g_package ||'other_allowance_details';
1829: pay_in_utils.set_location(g_debug,'Entering: '||l_procedure,10);
1830: IF (g_debug)
1831: THEN
1832: pay_in_utils.trace('**************************************************','********************');
1833: pay_in_utils.set_location(g_debug,'Input Paramters value is',20);
1828: l_procedure := g_package ||'other_allowance_details';
1829: pay_in_utils.set_location(g_debug,'Entering: '||l_procedure,10);
1830: IF (g_debug)
1831: THEN
1832: pay_in_utils.trace('**************************************************','********************');
1833: pay_in_utils.set_location(g_debug,'Input Paramters value is',20);
1834: pay_in_utils.trace('p_element_type_id',p_element_type_id);
1835: pay_in_utils.trace('p_date_earned',p_date_earned);
1836: END IF;
1829: pay_in_utils.set_location(g_debug,'Entering: '||l_procedure,10);
1830: IF (g_debug)
1831: THEN
1832: pay_in_utils.trace('**************************************************','********************');
1833: pay_in_utils.set_location(g_debug,'Input Paramters value is',20);
1834: pay_in_utils.trace('p_element_type_id',p_element_type_id);
1835: pay_in_utils.trace('p_date_earned',p_date_earned);
1836: END IF;
1837:
1830: IF (g_debug)
1831: THEN
1832: pay_in_utils.trace('**************************************************','********************');
1833: pay_in_utils.set_location(g_debug,'Input Paramters value is',20);
1834: pay_in_utils.trace('p_element_type_id',p_element_type_id);
1835: pay_in_utils.trace('p_date_earned',p_date_earned);
1836: END IF;
1837:
1838:
1831: THEN
1832: pay_in_utils.trace('**************************************************','********************');
1833: pay_in_utils.set_location(g_debug,'Input Paramters value is',20);
1834: pay_in_utils.trace('p_element_type_id',p_element_type_id);
1835: pay_in_utils.trace('p_date_earned',p_date_earned);
1836: END IF;
1837:
1838:
1839: OPEN c_alw_details;
1845: CLOSE c_alw_details;
1846:
1847: IF (g_debug)
1848: THEN
1849: pay_in_utils.set_location(g_debug,'Out Paramters value is',20);
1850: pay_in_utils.trace('p_allowance_name ',p_allowance_name);
1851: pay_in_utils.trace('p_allowance_category ',p_allowance_category);
1852: pay_in_utils.trace('p_max_exemption_amount',p_max_exemption_amount);
1853: pay_in_utils.trace('p_nature_of_expense ',p_nature_of_expense);
1846:
1847: IF (g_debug)
1848: THEN
1849: pay_in_utils.set_location(g_debug,'Out Paramters value is',20);
1850: pay_in_utils.trace('p_allowance_name ',p_allowance_name);
1851: pay_in_utils.trace('p_allowance_category ',p_allowance_category);
1852: pay_in_utils.trace('p_max_exemption_amount',p_max_exemption_amount);
1853: pay_in_utils.trace('p_nature_of_expense ',p_nature_of_expense);
1854: END IF;
1847: IF (g_debug)
1848: THEN
1849: pay_in_utils.set_location(g_debug,'Out Paramters value is',20);
1850: pay_in_utils.trace('p_allowance_name ',p_allowance_name);
1851: pay_in_utils.trace('p_allowance_category ',p_allowance_category);
1852: pay_in_utils.trace('p_max_exemption_amount',p_max_exemption_amount);
1853: pay_in_utils.trace('p_nature_of_expense ',p_nature_of_expense);
1854: END IF;
1855:
1848: THEN
1849: pay_in_utils.set_location(g_debug,'Out Paramters value is',20);
1850: pay_in_utils.trace('p_allowance_name ',p_allowance_name);
1851: pay_in_utils.trace('p_allowance_category ',p_allowance_category);
1852: pay_in_utils.trace('p_max_exemption_amount',p_max_exemption_amount);
1853: pay_in_utils.trace('p_nature_of_expense ',p_nature_of_expense);
1854: END IF;
1855:
1856: pay_in_utils.trace('**************************************************','********************');
1849: pay_in_utils.set_location(g_debug,'Out Paramters value is',20);
1850: pay_in_utils.trace('p_allowance_name ',p_allowance_name);
1851: pay_in_utils.trace('p_allowance_category ',p_allowance_category);
1852: pay_in_utils.trace('p_max_exemption_amount',p_max_exemption_amount);
1853: pay_in_utils.trace('p_nature_of_expense ',p_nature_of_expense);
1854: END IF;
1855:
1856: pay_in_utils.trace('**************************************************','********************');
1857: pay_in_utils.set_location(g_debug,'Leaving: '||l_procedure,20);
1852: pay_in_utils.trace('p_max_exemption_amount',p_max_exemption_amount);
1853: pay_in_utils.trace('p_nature_of_expense ',p_nature_of_expense);
1854: END IF;
1855:
1856: pay_in_utils.trace('**************************************************','********************');
1857: pay_in_utils.set_location(g_debug,'Leaving: '||l_procedure,20);
1858: Return 0;
1859: END other_allowance_details;
1860:
1853: pay_in_utils.trace('p_nature_of_expense ',p_nature_of_expense);
1854: END IF;
1855:
1856: pay_in_utils.trace('**************************************************','********************');
1857: pay_in_utils.set_location(g_debug,'Leaving: '||l_procedure,20);
1858: Return 0;
1859: END other_allowance_details;
1860:
1861: --------------------------------------------------------------------------
1891: l_message VARCHAR2(250);
1892: BEGIN
1893: g_debug := hr_utility.debug_enabled;
1894: l_procedure := g_package ||'get_disability_details';
1895: pay_in_utils.set_location(g_debug,'Entering: '||l_procedure,10);
1896:
1897: IF (g_debug)
1898: THEN
1899: pay_in_utils.trace('**************************************************','********************');
1895: pay_in_utils.set_location(g_debug,'Entering: '||l_procedure,10);
1896:
1897: IF (g_debug)
1898: THEN
1899: pay_in_utils.trace('**************************************************','********************');
1900: pay_in_utils.set_location(g_debug,'Input Paramters value is',20);
1901: pay_in_utils.trace('p_assignment_id',p_assignment_id);
1902: pay_in_utils.trace('p_date_earned',p_date_earned);
1903: END IF;
1896:
1897: IF (g_debug)
1898: THEN
1899: pay_in_utils.trace('**************************************************','********************');
1900: pay_in_utils.set_location(g_debug,'Input Paramters value is',20);
1901: pay_in_utils.trace('p_assignment_id',p_assignment_id);
1902: pay_in_utils.trace('p_date_earned',p_date_earned);
1903: END IF;
1904:
1897: IF (g_debug)
1898: THEN
1899: pay_in_utils.trace('**************************************************','********************');
1900: pay_in_utils.set_location(g_debug,'Input Paramters value is',20);
1901: pay_in_utils.trace('p_assignment_id',p_assignment_id);
1902: pay_in_utils.trace('p_date_earned',p_date_earned);
1903: END IF;
1904:
1905: l_catg := 'XX';
1898: THEN
1899: pay_in_utils.trace('**************************************************','********************');
1900: pay_in_utils.set_location(g_debug,'Input Paramters value is',20);
1901: pay_in_utils.trace('p_assignment_id',p_assignment_id);
1902: pay_in_utils.trace('p_date_earned',p_date_earned);
1903: END IF;
1904:
1905: l_catg := 'XX';
1906: l_degree := 0;
1915: p_disable_proof := l_proof;
1916:
1917: IF (g_debug)
1918: THEN
1919: pay_in_utils.set_location(g_debug,'Out Paramters value is',20);
1920: pay_in_utils.trace('p_disable_catg ',p_disable_catg);
1921: pay_in_utils.trace('p_disable_degree ',p_disable_degree);
1922: pay_in_utils.trace('p_disable_proof',p_disable_proof);
1923: END IF;
1916:
1917: IF (g_debug)
1918: THEN
1919: pay_in_utils.set_location(g_debug,'Out Paramters value is',20);
1920: pay_in_utils.trace('p_disable_catg ',p_disable_catg);
1921: pay_in_utils.trace('p_disable_degree ',p_disable_degree);
1922: pay_in_utils.trace('p_disable_proof',p_disable_proof);
1923: END IF;
1924:
1917: IF (g_debug)
1918: THEN
1919: pay_in_utils.set_location(g_debug,'Out Paramters value is',20);
1920: pay_in_utils.trace('p_disable_catg ',p_disable_catg);
1921: pay_in_utils.trace('p_disable_degree ',p_disable_degree);
1922: pay_in_utils.trace('p_disable_proof',p_disable_proof);
1923: END IF;
1924:
1925: pay_in_utils.trace('**************************************************','********************');
1918: THEN
1919: pay_in_utils.set_location(g_debug,'Out Paramters value is',20);
1920: pay_in_utils.trace('p_disable_catg ',p_disable_catg);
1921: pay_in_utils.trace('p_disable_degree ',p_disable_degree);
1922: pay_in_utils.trace('p_disable_proof',p_disable_proof);
1923: END IF;
1924:
1925: pay_in_utils.trace('**************************************************','********************');
1926: pay_in_utils.set_location(g_debug,'Leaving: '||l_procedure,20);
1921: pay_in_utils.trace('p_disable_degree ',p_disable_degree);
1922: pay_in_utils.trace('p_disable_proof',p_disable_proof);
1923: END IF;
1924:
1925: pay_in_utils.trace('**************************************************','********************');
1926: pay_in_utils.set_location(g_debug,'Leaving: '||l_procedure,20);
1927: Return 0;
1928:
1929: END get_disability_details;
1922: pay_in_utils.trace('p_disable_proof',p_disable_proof);
1923: END IF;
1924:
1925: pay_in_utils.trace('**************************************************','********************');
1926: pay_in_utils.set_location(g_debug,'Leaving: '||l_procedure,20);
1927: Return 0;
1928:
1929: END get_disability_details;
1930:
1957: l_message VARCHAR2(250);
1958: BEGIN
1959: g_debug := hr_utility.debug_enabled;
1960: l_procedure := g_package ||'get_age';
1961: pay_in_utils.set_location(g_debug,'Entering: '||l_procedure,10);
1962: IF (g_debug)
1963: THEN
1964: pay_in_utils.trace('**************************************************','********************');
1965: pay_in_utils.set_location(g_debug,'Input Paramters value is',20);
1960: l_procedure := g_package ||'get_age';
1961: pay_in_utils.set_location(g_debug,'Entering: '||l_procedure,10);
1962: IF (g_debug)
1963: THEN
1964: pay_in_utils.trace('**************************************************','********************');
1965: pay_in_utils.set_location(g_debug,'Input Paramters value is',20);
1966: pay_in_utils.trace('p_assignment_id',p_assignment_id);
1967: pay_in_utils.trace('p_date_earned',p_date_earned);
1968: END IF;
1961: pay_in_utils.set_location(g_debug,'Entering: '||l_procedure,10);
1962: IF (g_debug)
1963: THEN
1964: pay_in_utils.trace('**************************************************','********************');
1965: pay_in_utils.set_location(g_debug,'Input Paramters value is',20);
1966: pay_in_utils.trace('p_assignment_id',p_assignment_id);
1967: pay_in_utils.trace('p_date_earned',p_date_earned);
1968: END IF;
1969:
1962: IF (g_debug)
1963: THEN
1964: pay_in_utils.trace('**************************************************','********************');
1965: pay_in_utils.set_location(g_debug,'Input Paramters value is',20);
1966: pay_in_utils.trace('p_assignment_id',p_assignment_id);
1967: pay_in_utils.trace('p_date_earned',p_date_earned);
1968: END IF;
1969:
1970:
1963: THEN
1964: pay_in_utils.trace('**************************************************','********************');
1965: pay_in_utils.set_location(g_debug,'Input Paramters value is',20);
1966: pay_in_utils.trace('p_assignment_id',p_assignment_id);
1967: pay_in_utils.trace('p_date_earned',p_date_earned);
1968: END IF;
1969:
1970:
1971: Open c_dob;
1977: l_age := FLOOR( MONTHS_BETWEEN( l_cur_fin_year_end, l_dob) / 12 );
1978:
1979: IF (g_debug)
1980: THEN
1981: pay_in_utils.trace('l_cur_fin_year_end',l_cur_fin_year_end);
1982: pay_in_utils.trace('l_age',l_age);
1983: END IF;
1984:
1985: pay_in_utils.trace('**************************************************','********************');
1978:
1979: IF (g_debug)
1980: THEN
1981: pay_in_utils.trace('l_cur_fin_year_end',l_cur_fin_year_end);
1982: pay_in_utils.trace('l_age',l_age);
1983: END IF;
1984:
1985: pay_in_utils.trace('**************************************************','********************');
1986: pay_in_utils.set_location(g_debug,'Leaving: '||l_procedure,20);
1981: pay_in_utils.trace('l_cur_fin_year_end',l_cur_fin_year_end);
1982: pay_in_utils.trace('l_age',l_age);
1983: END IF;
1984:
1985: pay_in_utils.trace('**************************************************','********************');
1986: pay_in_utils.set_location(g_debug,'Leaving: '||l_procedure,20);
1987:
1988: Return l_age;
1989:
1982: pay_in_utils.trace('l_age',l_age);
1983: END IF;
1984:
1985: pay_in_utils.trace('**************************************************','********************');
1986: pay_in_utils.set_location(g_debug,'Leaving: '||l_procedure,20);
1987:
1988: Return l_age;
1989:
1990: END get_age;
2029:
2030: BEGIN
2031: g_debug := hr_utility.debug_enabled;
2032: l_procedure := g_package ||'act_rent_paid';
2033: pay_in_utils.set_location(g_debug,'Entering: '||l_procedure,10);
2034: IF (g_debug)
2035: THEN
2036: pay_in_utils.trace('**************************************************','********************');
2037: pay_in_utils.set_location(g_debug,'Input Paramters value is',20);
2032: l_procedure := g_package ||'act_rent_paid';
2033: pay_in_utils.set_location(g_debug,'Entering: '||l_procedure,10);
2034: IF (g_debug)
2035: THEN
2036: pay_in_utils.trace('**************************************************','********************');
2037: pay_in_utils.set_location(g_debug,'Input Paramters value is',20);
2038: pay_in_utils.trace('p_assignment_action_id',p_assignment_action_id);
2039: pay_in_utils.trace('p_date_earned',p_date_earned);
2040: END IF;
2033: pay_in_utils.set_location(g_debug,'Entering: '||l_procedure,10);
2034: IF (g_debug)
2035: THEN
2036: pay_in_utils.trace('**************************************************','********************');
2037: pay_in_utils.set_location(g_debug,'Input Paramters value is',20);
2038: pay_in_utils.trace('p_assignment_action_id',p_assignment_action_id);
2039: pay_in_utils.trace('p_date_earned',p_date_earned);
2040: END IF;
2041:
2034: IF (g_debug)
2035: THEN
2036: pay_in_utils.trace('**************************************************','********************');
2037: pay_in_utils.set_location(g_debug,'Input Paramters value is',20);
2038: pay_in_utils.trace('p_assignment_action_id',p_assignment_action_id);
2039: pay_in_utils.trace('p_date_earned',p_date_earned);
2040: END IF;
2041:
2042: l_year_start := pay_in_tax_utils.get_financial_year_start(p_date_earned);
2035: THEN
2036: pay_in_utils.trace('**************************************************','********************');
2037: pay_in_utils.set_location(g_debug,'Input Paramters value is',20);
2038: pay_in_utils.trace('p_assignment_action_id',p_assignment_action_id);
2039: pay_in_utils.trace('p_date_earned',p_date_earned);
2040: END IF;
2041:
2042: l_year_start := pay_in_tax_utils.get_financial_year_start(p_date_earned);
2043: l_year_end := pay_in_tax_utils.get_financial_year_end(p_date_earned);
2052: l_entry_end_date );
2053:
2054: IF (g_debug)
2055: THEN
2056: pay_in_utils.trace('l_year_start',l_year_start);
2057: pay_in_utils.trace('l_year_end',l_year_end);
2058: pay_in_utils.trace('l_curr_mon',l_curr_mon);
2059: pay_in_utils.trace('l_hri_entry_id',l_hri_entry_id);
2060: END IF;
2053:
2054: IF (g_debug)
2055: THEN
2056: pay_in_utils.trace('l_year_start',l_year_start);
2057: pay_in_utils.trace('l_year_end',l_year_end);
2058: pay_in_utils.trace('l_curr_mon',l_curr_mon);
2059: pay_in_utils.trace('l_hri_entry_id',l_hri_entry_id);
2060: END IF;
2061:
2054: IF (g_debug)
2055: THEN
2056: pay_in_utils.trace('l_year_start',l_year_start);
2057: pay_in_utils.trace('l_year_end',l_year_end);
2058: pay_in_utils.trace('l_curr_mon',l_curr_mon);
2059: pay_in_utils.trace('l_hri_entry_id',l_hri_entry_id);
2060: END IF;
2061:
2062: If l_entry_type_flag = 'E' Then
2055: THEN
2056: pay_in_utils.trace('l_year_start',l_year_start);
2057: pay_in_utils.trace('l_year_end',l_year_end);
2058: pay_in_utils.trace('l_curr_mon',l_curr_mon);
2059: pay_in_utils.trace('l_hri_entry_id',l_hri_entry_id);
2060: END IF;
2061:
2062: If l_entry_type_flag = 'E' Then
2063: Open c_act_rent_paid(l_hri_entry_id,l_curr_mon);
2063: Open c_act_rent_paid(l_hri_entry_id,l_curr_mon);
2064: Fetch c_act_rent_paid INTO l_rent_paid;
2065: Close c_act_rent_paid;
2066:
2067: pay_in_utils.set_location(g_debug,'Rent paid is' || l_rent_paid,20);
2068: pay_in_utils.trace('**************************************************','********************');
2069: Return fnd_number.canonical_to_number(l_rent_paid);
2070: Else
2071: pay_in_utils.trace('**************************************************','********************');
2064: Fetch c_act_rent_paid INTO l_rent_paid;
2065: Close c_act_rent_paid;
2066:
2067: pay_in_utils.set_location(g_debug,'Rent paid is' || l_rent_paid,20);
2068: pay_in_utils.trace('**************************************************','********************');
2069: Return fnd_number.canonical_to_number(l_rent_paid);
2070: Else
2071: pay_in_utils.trace('**************************************************','********************');
2072: pay_in_utils.set_location(g_debug,'Leaving: '||l_procedure,30);
2067: pay_in_utils.set_location(g_debug,'Rent paid is' || l_rent_paid,20);
2068: pay_in_utils.trace('**************************************************','********************');
2069: Return fnd_number.canonical_to_number(l_rent_paid);
2070: Else
2071: pay_in_utils.trace('**************************************************','********************');
2072: pay_in_utils.set_location(g_debug,'Leaving: '||l_procedure,30);
2073: Return 0;
2074: End If;
2075:
2068: pay_in_utils.trace('**************************************************','********************');
2069: Return fnd_number.canonical_to_number(l_rent_paid);
2070: Else
2071: pay_in_utils.trace('**************************************************','********************');
2072: pay_in_utils.set_location(g_debug,'Leaving: '||l_procedure,30);
2073: Return 0;
2074: End If;
2075:
2076: END act_rent_paid;
2138: l_message VARCHAR2(250);
2139: BEGIN
2140: g_debug := hr_utility.debug_enabled;
2141: l_procedure := g_package ||'check_ee_exists';
2142: pay_in_utils.set_location(g_debug,'Entering: '||l_procedure,10);
2143: IF (g_debug)
2144: THEN
2145: pay_in_utils.trace('**************************************************','********************');
2146: pay_in_utils.set_location(g_debug,'Input Paramters value is',20);
2141: l_procedure := g_package ||'check_ee_exists';
2142: pay_in_utils.set_location(g_debug,'Entering: '||l_procedure,10);
2143: IF (g_debug)
2144: THEN
2145: pay_in_utils.trace('**************************************************','********************');
2146: pay_in_utils.set_location(g_debug,'Input Paramters value is',20);
2147: pay_in_utils.trace('p_element_name ',p_element_name );
2148: pay_in_utils.trace('p_assignment_id ',p_assignment_id );
2149: pay_in_utils.trace('p_effective_date',p_effective_date);
2142: pay_in_utils.set_location(g_debug,'Entering: '||l_procedure,10);
2143: IF (g_debug)
2144: THEN
2145: pay_in_utils.trace('**************************************************','********************');
2146: pay_in_utils.set_location(g_debug,'Input Paramters value is',20);
2147: pay_in_utils.trace('p_element_name ',p_element_name );
2148: pay_in_utils.trace('p_assignment_id ',p_assignment_id );
2149: pay_in_utils.trace('p_effective_date',p_effective_date);
2150: END IF;
2143: IF (g_debug)
2144: THEN
2145: pay_in_utils.trace('**************************************************','********************');
2146: pay_in_utils.set_location(g_debug,'Input Paramters value is',20);
2147: pay_in_utils.trace('p_element_name ',p_element_name );
2148: pay_in_utils.trace('p_assignment_id ',p_assignment_id );
2149: pay_in_utils.trace('p_effective_date',p_effective_date);
2150: END IF;
2151: p_element_entry_id := NULL;
2144: THEN
2145: pay_in_utils.trace('**************************************************','********************');
2146: pay_in_utils.set_location(g_debug,'Input Paramters value is',20);
2147: pay_in_utils.trace('p_element_name ',p_element_name );
2148: pay_in_utils.trace('p_assignment_id ',p_assignment_id );
2149: pay_in_utils.trace('p_effective_date',p_effective_date);
2150: END IF;
2151: p_element_entry_id := NULL;
2152: p_ee_ovn := NULL;
2145: pay_in_utils.trace('**************************************************','********************');
2146: pay_in_utils.set_location(g_debug,'Input Paramters value is',20);
2147: pay_in_utils.trace('p_element_name ',p_element_name );
2148: pay_in_utils.trace('p_assignment_id ',p_assignment_id );
2149: pay_in_utils.trace('p_effective_date',p_effective_date);
2150: END IF;
2151: p_element_entry_id := NULL;
2152: p_ee_ovn := NULL;
2153:
2165: FETCH csr_element_link INTO l_element_link_id;
2166:
2167: IF csr_element_link%NOTFOUND OR l_element_link_id IS NULL THEN
2168: CLOSE csr_element_link;
2169: pay_in_utils.set_location(g_debug,'Leaving: '||l_procedure,20);
2170: RETURN FALSE;
2171: ELSE
2172: IF g_debug THEN
2173: hr_utility.trace('Element Link ID : '||l_element_link_id);
2183:
2184: IF p_element_entry_id IS NULL OR csr_element_entry%NOTFOUND
2185: THEN
2186: CLOSE csr_element_entry;
2187: pay_in_utils.set_location(g_debug,'Leaving: '||l_procedure,30);
2188: RETURN FALSE;
2189: END IF;
2190: END IF;
2191: pay_in_utils.trace('**************************************************','********************');
2187: pay_in_utils.set_location(g_debug,'Leaving: '||l_procedure,30);
2188: RETURN FALSE;
2189: END IF;
2190: END IF;
2191: pay_in_utils.trace('**************************************************','********************');
2192: pay_in_utils.set_location(g_debug,'Leaving: '||l_procedure,40);
2193: RETURN TRUE;
2194: --
2195: END check_ee_exists;
2188: RETURN FALSE;
2189: END IF;
2190: END IF;
2191: pay_in_utils.trace('**************************************************','********************');
2192: pay_in_utils.set_location(g_debug,'Leaving: '||l_procedure,40);
2193: RETURN TRUE;
2194: --
2195: END check_ee_exists;
2196: --------------------------------------------------------------------------
2222: l_message VARCHAR2(250);
2223: BEGIN
2224: g_debug := hr_utility.debug_enabled;
2225: l_procedure := g_package ||'get_date_earned';
2226: pay_in_utils.set_location(g_debug,'Entering: '||l_procedure,10);
2227: IF (g_debug)
2228: THEN
2229: pay_in_utils.trace('**************************************************','********************');
2230: pay_in_utils.set_location(g_debug,'Input Paramters value is',20);
2225: l_procedure := g_package ||'get_date_earned';
2226: pay_in_utils.set_location(g_debug,'Entering: '||l_procedure,10);
2227: IF (g_debug)
2228: THEN
2229: pay_in_utils.trace('**************************************************','********************');
2230: pay_in_utils.set_location(g_debug,'Input Paramters value is',20);
2231: pay_in_utils.trace('p_element_entry_id',p_element_entry_id);
2232: pay_in_utils.trace('p_element_type_id ',p_element_type_id);
2233: pay_in_utils.trace('p_assignment_id ',p_assignment_id);
2226: pay_in_utils.set_location(g_debug,'Entering: '||l_procedure,10);
2227: IF (g_debug)
2228: THEN
2229: pay_in_utils.trace('**************************************************','********************');
2230: pay_in_utils.set_location(g_debug,'Input Paramters value is',20);
2231: pay_in_utils.trace('p_element_entry_id',p_element_entry_id);
2232: pay_in_utils.trace('p_element_type_id ',p_element_type_id);
2233: pay_in_utils.trace('p_assignment_id ',p_assignment_id);
2234: END IF;
2227: IF (g_debug)
2228: THEN
2229: pay_in_utils.trace('**************************************************','********************');
2230: pay_in_utils.set_location(g_debug,'Input Paramters value is',20);
2231: pay_in_utils.trace('p_element_entry_id',p_element_entry_id);
2232: pay_in_utils.trace('p_element_type_id ',p_element_type_id);
2233: pay_in_utils.trace('p_assignment_id ',p_assignment_id);
2234: END IF;
2235:
2228: THEN
2229: pay_in_utils.trace('**************************************************','********************');
2230: pay_in_utils.set_location(g_debug,'Input Paramters value is',20);
2231: pay_in_utils.trace('p_element_entry_id',p_element_entry_id);
2232: pay_in_utils.trace('p_element_type_id ',p_element_type_id);
2233: pay_in_utils.trace('p_assignment_id ',p_assignment_id);
2234: END IF;
2235:
2236:
2229: pay_in_utils.trace('**************************************************','********************');
2230: pay_in_utils.set_location(g_debug,'Input Paramters value is',20);
2231: pay_in_utils.trace('p_element_entry_id',p_element_entry_id);
2232: pay_in_utils.trace('p_element_type_id ',p_element_type_id);
2233: pay_in_utils.trace('p_assignment_id ',p_assignment_id);
2234: END IF;
2235:
2236:
2237: OPEN c_get_earliest_start_Date;
2237: OPEN c_get_earliest_start_Date;
2238: FETCH c_get_earliest_start_Date INTO l_date;
2239: CLOSE c_get_earliest_start_Date;
2240:
2241: pay_in_utils.trace('**************************************************','********************');
2242: pay_in_utils.set_location(g_debug,'Leaving: '||l_procedure,20);
2243:
2244: IF (g_debug)
2245: THEN
2238: FETCH c_get_earliest_start_Date INTO l_date;
2239: CLOSE c_get_earliest_start_Date;
2240:
2241: pay_in_utils.trace('**************************************************','********************');
2242: pay_in_utils.set_location(g_debug,'Leaving: '||l_procedure,20);
2243:
2244: IF (g_debug)
2245: THEN
2246: pay_in_utils.trace('l_date',l_date);
2242: pay_in_utils.set_location(g_debug,'Leaving: '||l_procedure,20);
2243:
2244: IF (g_debug)
2245: THEN
2246: pay_in_utils.trace('l_date',l_date);
2247: END IF;
2248:
2249: RETURN l_date;
2250: END get_entry_earliest_start_date;
2271: l_message VARCHAR2(250);
2272: BEGIN
2273: g_debug := hr_utility.debug_enabled;
2274: l_procedure := g_package ||'get_projected_loan_perquisite';
2275: pay_in_utils.set_location(g_debug,'Entering: '||l_procedure,10);
2276: IF (g_debug)
2277: THEN
2278: pay_in_utils.trace('**************************************************','********************');
2279: pay_in_utils.set_location(g_debug,'Input Paramters value is',20);
2274: l_procedure := g_package ||'get_projected_loan_perquisite';
2275: pay_in_utils.set_location(g_debug,'Entering: '||l_procedure,10);
2276: IF (g_debug)
2277: THEN
2278: pay_in_utils.trace('**************************************************','********************');
2279: pay_in_utils.set_location(g_debug,'Input Paramters value is',20);
2280: pay_in_utils.trace('p_outstanding_balance ',p_outstanding_balance );
2281: pay_in_utils.trace('p_remaining_period ',p_remaining_period );
2282: pay_in_utils.trace('p_employee_contribution',p_employee_contribution);
2275: pay_in_utils.set_location(g_debug,'Entering: '||l_procedure,10);
2276: IF (g_debug)
2277: THEN
2278: pay_in_utils.trace('**************************************************','********************');
2279: pay_in_utils.set_location(g_debug,'Input Paramters value is',20);
2280: pay_in_utils.trace('p_outstanding_balance ',p_outstanding_balance );
2281: pay_in_utils.trace('p_remaining_period ',p_remaining_period );
2282: pay_in_utils.trace('p_employee_contribution',p_employee_contribution);
2283: pay_in_utils.trace('p_interest ',p_interest );
2276: IF (g_debug)
2277: THEN
2278: pay_in_utils.trace('**************************************************','********************');
2279: pay_in_utils.set_location(g_debug,'Input Paramters value is',20);
2280: pay_in_utils.trace('p_outstanding_balance ',p_outstanding_balance );
2281: pay_in_utils.trace('p_remaining_period ',p_remaining_period );
2282: pay_in_utils.trace('p_employee_contribution',p_employee_contribution);
2283: pay_in_utils.trace('p_interest ',p_interest );
2284: pay_in_utils.trace('p_concessional_interest',p_concessional_interest);
2277: THEN
2278: pay_in_utils.trace('**************************************************','********************');
2279: pay_in_utils.set_location(g_debug,'Input Paramters value is',20);
2280: pay_in_utils.trace('p_outstanding_balance ',p_outstanding_balance );
2281: pay_in_utils.trace('p_remaining_period ',p_remaining_period );
2282: pay_in_utils.trace('p_employee_contribution',p_employee_contribution);
2283: pay_in_utils.trace('p_interest ',p_interest );
2284: pay_in_utils.trace('p_concessional_interest',p_concessional_interest);
2285: END IF;
2278: pay_in_utils.trace('**************************************************','********************');
2279: pay_in_utils.set_location(g_debug,'Input Paramters value is',20);
2280: pay_in_utils.trace('p_outstanding_balance ',p_outstanding_balance );
2281: pay_in_utils.trace('p_remaining_period ',p_remaining_period );
2282: pay_in_utils.trace('p_employee_contribution',p_employee_contribution);
2283: pay_in_utils.trace('p_interest ',p_interest );
2284: pay_in_utils.trace('p_concessional_interest',p_concessional_interest);
2285: END IF;
2286:
2279: pay_in_utils.set_location(g_debug,'Input Paramters value is',20);
2280: pay_in_utils.trace('p_outstanding_balance ',p_outstanding_balance );
2281: pay_in_utils.trace('p_remaining_period ',p_remaining_period );
2282: pay_in_utils.trace('p_employee_contribution',p_employee_contribution);
2283: pay_in_utils.trace('p_interest ',p_interest );
2284: pay_in_utils.trace('p_concessional_interest',p_concessional_interest);
2285: END IF;
2286:
2287:
2280: pay_in_utils.trace('p_outstanding_balance ',p_outstanding_balance );
2281: pay_in_utils.trace('p_remaining_period ',p_remaining_period );
2282: pay_in_utils.trace('p_employee_contribution',p_employee_contribution);
2283: pay_in_utils.trace('p_interest ',p_interest );
2284: pay_in_utils.trace('p_concessional_interest',p_concessional_interest);
2285: END IF;
2286:
2287:
2288:
2297: END LOOP;
2298:
2299: IF (g_debug)
2300: THEN
2301: pay_in_utils.trace('p_value',p_value);
2302: END IF;
2303:
2304: pay_in_utils.trace('**************************************************','********************');
2305: pay_in_utils.set_location(g_debug,'Leaving: '||l_procedure,20);
2300: THEN
2301: pay_in_utils.trace('p_value',p_value);
2302: END IF;
2303:
2304: pay_in_utils.trace('**************************************************','********************');
2305: pay_in_utils.set_location(g_debug,'Leaving: '||l_procedure,20);
2306:
2307: RETURN p_value;
2308:
2301: pay_in_utils.trace('p_value',p_value);
2302: END IF;
2303:
2304: pay_in_utils.trace('**************************************************','********************');
2305: pay_in_utils.set_location(g_debug,'Leaving: '||l_procedure,20);
2306:
2307: RETURN p_value;
2308:
2309: END get_projected_loan_perquisite;
2346:
2347: BEGIN
2348: g_debug := hr_utility.debug_enabled ;
2349: l_procedure := 'pay_in_tax_utils.get_perquisite_details' ;
2350: pay_in_utils.set_location(g_debug,'Entering: '||l_procedure,10);
2351: p_taxable_flag := 'Y';
2352:
2353: OPEN c_get_perk_details;
2354: FETCH c_get_perk_details INTO l_perk_name ,p_taxable_flag;
2353: OPEN c_get_perk_details;
2354: FETCH c_get_perk_details INTO l_perk_name ,p_taxable_flag;
2355: CLOSE c_get_perk_details;
2356:
2357: pay_in_utils.set_location(g_debug,l_procedure,20);
2358:
2359: OPEN c_exemption (l_perk_name);
2360: FETCH c_exemption INTO p_exemption_amount;
2361: CLOSE c_exemption;
2369: EXCEPTION
2370: WHEN NO_DATA_FOUND THEN
2371: RETURN -1;
2372: WHEN OTHERS THEN
2373: l_message := pay_in_utils.get_pay_message('PER_IN_ORACLE_GENERIC_ERROR', 'FUNCTION:'||l_procedure, 'SQLERRMC:'||sqlerrm);
2374: pay_in_utils.set_location(g_debug,' Leaving : '||l_procedure, 40);
2375: hr_utility.trace(l_message);
2376: RETURN -1;
2377:
2370: WHEN NO_DATA_FOUND THEN
2371: RETURN -1;
2372: WHEN OTHERS THEN
2373: l_message := pay_in_utils.get_pay_message('PER_IN_ORACLE_GENERIC_ERROR', 'FUNCTION:'||l_procedure, 'SQLERRMC:'||sqlerrm);
2374: pay_in_utils.set_location(g_debug,' Leaving : '||l_procedure, 40);
2375: hr_utility.trace(l_message);
2376: RETURN -1;
2377:
2378: END get_perquisite_details;
2469:
2470: BEGIN
2471: g_debug := hr_utility.debug_enabled;
2472: l_procedure := g_package ||'calculate_80gg_exemption';
2473: pay_in_utils.set_location(g_debug,'Entering: '||l_procedure,10);
2474: IF (g_debug)
2475: THEN
2476: pay_in_utils.trace('**************************************************','********************');
2477: pay_in_utils.set_location(g_debug,'Input Paramters value is',20);
2472: l_procedure := g_package ||'calculate_80gg_exemption';
2473: pay_in_utils.set_location(g_debug,'Entering: '||l_procedure,10);
2474: IF (g_debug)
2475: THEN
2476: pay_in_utils.trace('**************************************************','********************');
2477: pay_in_utils.set_location(g_debug,'Input Paramters value is',20);
2478: pay_in_utils.trace('p_assact_id ',p_assact_id );
2479: pay_in_utils.trace('p_assignment_id ',p_assignment_id );
2480: pay_in_utils.trace('p_payroll_id ',p_payroll_id );
2473: pay_in_utils.set_location(g_debug,'Entering: '||l_procedure,10);
2474: IF (g_debug)
2475: THEN
2476: pay_in_utils.trace('**************************************************','********************');
2477: pay_in_utils.set_location(g_debug,'Input Paramters value is',20);
2478: pay_in_utils.trace('p_assact_id ',p_assact_id );
2479: pay_in_utils.trace('p_assignment_id ',p_assignment_id );
2480: pay_in_utils.trace('p_payroll_id ',p_payroll_id );
2481: pay_in_utils.trace('p_effective_date ',p_effective_date );
2474: IF (g_debug)
2475: THEN
2476: pay_in_utils.trace('**************************************************','********************');
2477: pay_in_utils.set_location(g_debug,'Input Paramters value is',20);
2478: pay_in_utils.trace('p_assact_id ',p_assact_id );
2479: pay_in_utils.trace('p_assignment_id ',p_assignment_id );
2480: pay_in_utils.trace('p_payroll_id ',p_payroll_id );
2481: pay_in_utils.trace('p_effective_date ',p_effective_date );
2482: pay_in_utils.trace('p_std_exemption ',p_std_exemption );
2475: THEN
2476: pay_in_utils.trace('**************************************************','********************');
2477: pay_in_utils.set_location(g_debug,'Input Paramters value is',20);
2478: pay_in_utils.trace('p_assact_id ',p_assact_id );
2479: pay_in_utils.trace('p_assignment_id ',p_assignment_id );
2480: pay_in_utils.trace('p_payroll_id ',p_payroll_id );
2481: pay_in_utils.trace('p_effective_date ',p_effective_date );
2482: pay_in_utils.trace('p_std_exemption ',p_std_exemption );
2483: pay_in_utils.trace('p_adj_tot_income ',p_adj_tot_income );
2476: pay_in_utils.trace('**************************************************','********************');
2477: pay_in_utils.set_location(g_debug,'Input Paramters value is',20);
2478: pay_in_utils.trace('p_assact_id ',p_assact_id );
2479: pay_in_utils.trace('p_assignment_id ',p_assignment_id );
2480: pay_in_utils.trace('p_payroll_id ',p_payroll_id );
2481: pay_in_utils.trace('p_effective_date ',p_effective_date );
2482: pay_in_utils.trace('p_std_exemption ',p_std_exemption );
2483: pay_in_utils.trace('p_adj_tot_income ',p_adj_tot_income );
2484: pay_in_utils.trace('p_std_exem_percent ',p_std_exem_percent );
2477: pay_in_utils.set_location(g_debug,'Input Paramters value is',20);
2478: pay_in_utils.trace('p_assact_id ',p_assact_id );
2479: pay_in_utils.trace('p_assignment_id ',p_assignment_id );
2480: pay_in_utils.trace('p_payroll_id ',p_payroll_id );
2481: pay_in_utils.trace('p_effective_date ',p_effective_date );
2482: pay_in_utils.trace('p_std_exemption ',p_std_exemption );
2483: pay_in_utils.trace('p_adj_tot_income ',p_adj_tot_income );
2484: pay_in_utils.trace('p_std_exem_percent ',p_std_exem_percent );
2485: pay_in_utils.trace('p_start_period_num ',p_start_period_num );
2478: pay_in_utils.trace('p_assact_id ',p_assact_id );
2479: pay_in_utils.trace('p_assignment_id ',p_assignment_id );
2480: pay_in_utils.trace('p_payroll_id ',p_payroll_id );
2481: pay_in_utils.trace('p_effective_date ',p_effective_date );
2482: pay_in_utils.trace('p_std_exemption ',p_std_exemption );
2483: pay_in_utils.trace('p_adj_tot_income ',p_adj_tot_income );
2484: pay_in_utils.trace('p_std_exem_percent ',p_std_exem_percent );
2485: pay_in_utils.trace('p_start_period_num ',p_start_period_num );
2486: pay_in_utils.trace('p_last_period_number',p_last_period_number);
2479: pay_in_utils.trace('p_assignment_id ',p_assignment_id );
2480: pay_in_utils.trace('p_payroll_id ',p_payroll_id );
2481: pay_in_utils.trace('p_effective_date ',p_effective_date );
2482: pay_in_utils.trace('p_std_exemption ',p_std_exemption );
2483: pay_in_utils.trace('p_adj_tot_income ',p_adj_tot_income );
2484: pay_in_utils.trace('p_std_exem_percent ',p_std_exem_percent );
2485: pay_in_utils.trace('p_start_period_num ',p_start_period_num );
2486: pay_in_utils.trace('p_last_period_number',p_last_period_number);
2487: pay_in_utils.trace('p_flag ',p_flag );
2480: pay_in_utils.trace('p_payroll_id ',p_payroll_id );
2481: pay_in_utils.trace('p_effective_date ',p_effective_date );
2482: pay_in_utils.trace('p_std_exemption ',p_std_exemption );
2483: pay_in_utils.trace('p_adj_tot_income ',p_adj_tot_income );
2484: pay_in_utils.trace('p_std_exem_percent ',p_std_exem_percent );
2485: pay_in_utils.trace('p_start_period_num ',p_start_period_num );
2486: pay_in_utils.trace('p_last_period_number',p_last_period_number);
2487: pay_in_utils.trace('p_flag ',p_flag );
2488: END IF;
2481: pay_in_utils.trace('p_effective_date ',p_effective_date );
2482: pay_in_utils.trace('p_std_exemption ',p_std_exemption );
2483: pay_in_utils.trace('p_adj_tot_income ',p_adj_tot_income );
2484: pay_in_utils.trace('p_std_exem_percent ',p_std_exem_percent );
2485: pay_in_utils.trace('p_start_period_num ',p_start_period_num );
2486: pay_in_utils.trace('p_last_period_number',p_last_period_number);
2487: pay_in_utils.trace('p_flag ',p_flag );
2488: END IF;
2489:
2482: pay_in_utils.trace('p_std_exemption ',p_std_exemption );
2483: pay_in_utils.trace('p_adj_tot_income ',p_adj_tot_income );
2484: pay_in_utils.trace('p_std_exem_percent ',p_std_exem_percent );
2485: pay_in_utils.trace('p_start_period_num ',p_start_period_num );
2486: pay_in_utils.trace('p_last_period_number',p_last_period_number);
2487: pay_in_utils.trace('p_flag ',p_flag );
2488: END IF;
2489:
2490: l3 := 0;
2483: pay_in_utils.trace('p_adj_tot_income ',p_adj_tot_income );
2484: pay_in_utils.trace('p_std_exem_percent ',p_std_exem_percent );
2485: pay_in_utils.trace('p_start_period_num ',p_start_period_num );
2486: pay_in_utils.trace('p_last_period_number',p_last_period_number);
2487: pay_in_utils.trace('p_flag ',p_flag );
2488: END IF;
2489:
2490: l3 := 0;
2491: l_80_exem := 0;
2507: END IF;
2508:
2509: IF (g_debug)
2510: THEN
2511: pay_in_utils.trace('l_element_name',l_element_name);
2512: pay_in_utils.trace('l_input_name',l_input_name);
2513: END IF;
2514:
2515: l_hri_entry_id := get_house_rent_info_entry_id(p_assact_id,
2508:
2509: IF (g_debug)
2510: THEN
2511: pay_in_utils.trace('l_element_name',l_element_name);
2512: pay_in_utils.trace('l_input_name',l_input_name);
2513: END IF;
2514:
2515: l_hri_entry_id := get_house_rent_info_entry_id(p_assact_id,
2516: p_effective_date,
2520: l_entry_end_date );
2521:
2522: IF (g_debug)
2523: THEN
2524: pay_in_utils.trace('l_hri_entry_id',l_hri_entry_id);
2525: END IF;
2526:
2527: get_monthly_rent( l_hri_entry_id,
2528: p_effective_date,
2580: END LOOP;
2581:
2582: END IF;
2583:
2584: pay_in_utils.trace('**************************************************','********************');
2585: pay_in_utils.set_location(g_debug,'Leaving: '||l_procedure,20);
2586:
2587: RETURN l_80_exem;
2588: END calculate_80gg_exemption;
2581:
2582: END IF;
2583:
2584: pay_in_utils.trace('**************************************************','********************');
2585: pay_in_utils.set_location(g_debug,'Leaving: '||l_procedure,20);
2586:
2587: RETURN l_80_exem;
2588: END calculate_80gg_exemption;
2589:
2751: l_message VARCHAR2(250);
2752: BEGIN
2753: g_debug := hr_utility.debug_enabled;
2754: l_procedure := g_package ||'check_ltc_exemption';
2755: pay_in_utils.set_location(g_debug,'Entering: '||l_procedure,10);
2756:
2757: /*1.Find the LTC entries which have been carried over from previous LTC Block in the current run and store it in a PL/SQL table.
2758: 2.When such entries exist and the user enters the previous employment information after making element entries, we need to validate if the user can still opt for carry over. So,we find the LTC journeys made
2759: in previous block in both current employment and previous employment and validate the entry.
2775: OPEN c_entry_id(l_carry_over_id, 'Y');
2776: LOOP
2777: FETCH c_entry_id into l_element_entry_id(k);
2778: EXIT WHEN c_entry_id%NOTFOUND;
2779: pay_in_utils.set_location(g_debug,'Entry id with carry over as Yes in current run '|| l_element_entry_id(k),10);
2780: k := k+1;
2781: END LOOP;
2782: CLOSE c_entry_id;
2783:
2780: k := k+1;
2781: END LOOP;
2782: CLOSE c_entry_id;
2783:
2784: pay_in_utils.set_location(g_debug,'ASSIGNMENT ACTION ID '||p_assignment_action_id,20);
2785:
2786: OPEN c_global_value('IN_MAX_JOURNEY_BLOCK_LTC');
2787: FETCH c_global_value INTO l_max_ltc;
2788: CLOSE c_global_value;
2787: FETCH c_global_value INTO l_max_ltc;
2788: CLOSE c_global_value;
2789:
2790: l_carry_over_entry_count := l_element_entry_id.COUNT;
2791: pay_in_utils.set_location(g_debug,'count is '||l_carry_over_entry_count,30);
2792:
2793: --------------------------
2794: --Carry over is opted
2795: --------------------------
2811: ,p_assignment_id );
2812: FETCH c_prev_employer_ltc_availed INTO l_prev_emplr_prev_blk;
2813: CLOSE c_prev_employer_ltc_availed;
2814:
2815: pay_in_utils.set_location(g_debug,'LTC in previous blk,previous employment '||l_prev_emplr_prev_blk,40);
2816:
2817: -- Previous Block Current Employment
2818: OPEN c_curr_emplr_ltc_block(l_prev_start_date
2819: ,l_prev_end_date
2823: ,l_exempted_id );
2824: FETCH c_curr_emplr_ltc_block INTO l_curr_emplr_prev_blk;
2825: CLOSE c_curr_emplr_ltc_block;
2826:
2827: pay_in_utils.set_location(g_debug,'LTC in previous blk,current employment '||l_curr_emplr_prev_blk,50);
2828: j := 0;
2829:
2830: --
2831: -- Start - Set the carry over flag appropriately
2842:
2843: RETURN 0;
2844:
2845: END IF;
2846: pay_in_utils.set_location(g_debug,'valid carryover ',60);
2847: ELSE
2848: pay_in_utils.set_location(g_debug,'invalid carryover ',70);
2849: l_curr_element_entry(j) := l_element_entry_id(i);
2850: j:=j+1;
2844:
2845: END IF;
2846: pay_in_utils.set_location(g_debug,'valid carryover ',60);
2847: ELSE
2848: pay_in_utils.set_location(g_debug,'invalid carryover ',70);
2849: l_curr_element_entry(j) := l_element_entry_id(i);
2850: j:=j+1;
2851: END IF;
2852: END LOOP;
2863: --Carry over is not opted
2864: --------------------------
2865: l_count := l_curr_element_entry.COUNT;
2866:
2867: pay_in_utils.set_location(g_debug, 'not the carry over stuff',80);
2868:
2869: OPEN c_ltc_block(p_date_earned);
2870: FETCH c_ltc_block INTO l_curr_block,l_curr_period;
2871: CLOSE c_ltc_block;
2879: ,p_assignment_id );
2880: FETCH c_prev_employer_ltc_availed INTO l_prev_emplr_curr_blk;
2881: CLOSE c_prev_employer_ltc_availed;
2882:
2883: pay_in_utils.set_location(g_debug,'Previous Employer Current block '||l_prev_emplr_curr_blk,90);
2884:
2885: -- Current Block Current Employment Exempted LTC entries that have been processed
2886: OPEN c_curr_emplr_ltc_block(l_curr_start_date
2887: ,l_curr_end_date
2891: ,l_exempted_id);
2892: FETCH c_curr_emplr_ltc_block INTO l_curr_emplr_curr_blk_exempted;
2893: CLOSE c_curr_emplr_ltc_block;
2894:
2895: pay_in_utils.set_location(g_debug,'l_count '||l_count||' '||l_curr_emplr_curr_blk_exempted||' '||l_prev_emplr_curr_blk ,100);
2896:
2897: /* Start - Find if the entries with invalid carry over are exempted in current block or not */
2898: IF l_count>0 then
2899: FOR i IN 0..l_count-1 LOOP
2903: p_carry_over_flag := 'N';
2904: END IF;
2905: END IF;
2906: END LOOP;
2907: pay_in_utils.set_location(g_debug,'find exemption for invalid carry overs ',110);
2908: END IF;
2909: /* End - Find if the entries with invalid carry over are exempted in current block or not */
2910:
2911: k := l_count;
2912: OPEN c_entry_id(l_carry_over_id, 'N');
2913: LOOP
2914: FETCH c_entry_id into l_curr_element_entry(k);
2915: EXIT WHEN c_entry_id%NOTFOUND;
2916: pay_in_utils.set_location(g_debug,'Entry id with carry over as No in current run '|| l_curr_element_entry(k),77);
2917: k := k+1;
2918: END LOOP;
2919: CLOSE c_entry_id;
2920:
2918: END LOOP;
2919: CLOSE c_entry_id;
2920:
2921: k := l_curr_element_entry.COUNT;
2922: pay_in_utils.set_location(g_debug,'Entry Count '||k,70);
2923:
2924: FOR i IN 0..k-1 LOOP
2925: IF(nvl(l_prev_emplr_curr_blk,0) +nvl(l_curr_emplr_curr_blk_exempted,0) + i < l_max_ltc ) THEN
2926: IF l_curr_element_entry(i)= p_element_entry_id THEN
2928: END IF;
2929: END IF;
2930: END LOOP;
2931:
2932: pay_in_utils.trace('**************************************************','********************');
2933: pay_in_utils.set_location(g_debug,'Leaving: '||l_procedure,20);
2934:
2935: RETURN 0;
2936:
2929: END IF;
2930: END LOOP;
2931:
2932: pay_in_utils.trace('**************************************************','********************');
2933: pay_in_utils.set_location(g_debug,'Leaving: '||l_procedure,20);
2934:
2935: RETURN 0;
2936:
2937: END check_ltc_exemption;
2972: l_def_bal_id NUMBER ;
2973: BEGIN
2974: g_debug := hr_utility.debug_enabled;
2975: l_procedure := g_package ||'get_balance_value';
2976: pay_in_utils.set_location(g_debug,'Entering: '||l_procedure, 10);
2977: l_message := 'SUCCESS';
2978:
2979: l_def_bal_id := get_defined_balance
2980: (p_balance_type => p_balance_name
2979: l_def_bal_id := get_defined_balance
2980: (p_balance_type => p_balance_name
2981: ,p_dimension_name => p_dimension_name);
2982:
2983: pay_in_utils.set_location(g_debug,l_procedure, 20);
2984:
2985: IF l_def_bal_id = -1 THEN
2986: pay_in_utils.set_location(g_debug,'Leaving: '||l_procedure, 25);
2987: RETURN -1;
2982:
2983: pay_in_utils.set_location(g_debug,l_procedure, 20);
2984:
2985: IF l_def_bal_id = -1 THEN
2986: pay_in_utils.set_location(g_debug,'Leaving: '||l_procedure, 25);
2987: RETURN -1;
2988: END IF;
2989:
2990: IF g_debug THEN
2996: hr_utility.trace ('INDIA: Context Value : '||p_context_value);
2997: END IF;
2998:
2999: IF p_context_name = 'NULL' THEN
3000: pay_in_utils.set_location(g_debug,l_procedure, 30);
3001: l_balance_value := pay_balance_pkg.get_value
3002: (p_assignment_action_id => p_assignment_action_id
3003: ,p_defined_balance_id => l_def_bal_id
3004: ,p_tax_unit_id => null
3012: ,p_source_text2 => null
3013: ,p_source_number => null
3014: );
3015: ELSE
3016: pay_in_utils.set_location(g_debug,l_procedure, 40);
3017: IF p_context_name NOT IN ('SOURCE_ID'
3018: ,'SOURCE_TEXT'
3019: ,'SOURCE_TEXT2'
3020: ,'JURISDICTION_CODE'
3019: ,'SOURCE_TEXT2'
3020: ,'JURISDICTION_CODE'
3021: ,'TAX_UNIT_ID')
3022: THEN
3023: pay_in_utils.set_location(g_debug,l_procedure, 50);
3024: l_balance_value := -1;
3025: ELSE
3026: pay_in_utils.set_location(g_debug,l_procedure, 60);
3027: pay_balance_pkg.set_context(p_context_name, p_context_value);
3022: THEN
3023: pay_in_utils.set_location(g_debug,l_procedure, 50);
3024: l_balance_value := -1;
3025: ELSE
3026: pay_in_utils.set_location(g_debug,l_procedure, 60);
3027: pay_balance_pkg.set_context(p_context_name, p_context_value);
3028: IF p_context_name = 'SOURCE_ID' THEN
3029: pay_in_utils.set_location(g_debug,l_procedure, 70);
3030: l_balance_value := pay_balance_pkg.get_value
3025: ELSE
3026: pay_in_utils.set_location(g_debug,l_procedure, 60);
3027: pay_balance_pkg.set_context(p_context_name, p_context_value);
3028: IF p_context_name = 'SOURCE_ID' THEN
3029: pay_in_utils.set_location(g_debug,l_procedure, 70);
3030: l_balance_value := pay_balance_pkg.get_value
3031: (p_assignment_action_id => p_assignment_action_id
3032: ,p_defined_balance_id => l_def_bal_id
3033: ,p_tax_unit_id => null
3041: ,p_source_text2 => null
3042: ,p_source_number => null
3043: );
3044: ELSIF p_context_name = 'SOURCE_TEXT' THEN
3045: pay_in_utils.set_location(g_debug,l_procedure, 80);
3046: l_balance_value := pay_balance_pkg.get_value
3047: (p_assignment_action_id => p_assignment_action_id
3048: ,p_defined_balance_id => l_def_bal_id
3049: ,p_tax_unit_id => null
3057: ,p_source_text2 => null
3058: ,p_source_number => null
3059: );
3060: ELSIF p_context_name = 'SOURCE_TEXT2' THEN
3061: pay_in_utils.set_location(g_debug,l_procedure, 90);
3062: l_balance_value := pay_balance_pkg.get_value
3063: (p_assignment_action_id => p_assignment_action_id
3064: ,p_defined_balance_id => l_def_bal_id
3065: ,p_tax_unit_id => null
3073: ,p_source_text2 => p_context_value
3074: ,p_source_number => null
3075: );
3076: ELSIF p_context_name = 'JURISDICTION_CODE' THEN
3077: pay_in_utils.set_location(g_debug,l_procedure, 100);
3078: l_balance_value := pay_balance_pkg.get_value
3079: (p_assignment_action_id => p_assignment_action_id
3080: ,p_defined_balance_id => l_def_bal_id
3081: ,p_tax_unit_id => null
3089: ,p_source_text2 => null
3090: ,p_source_number => null
3091: );
3092: ELSIF p_context_name = 'TAX_UNIT_ID' THEN
3093: pay_in_utils.set_location(g_debug,l_procedure, 110);
3094: l_balance_value := pay_balance_pkg.get_value
3095: (p_assignment_action_id => p_assignment_action_id
3096: ,p_defined_balance_id => l_def_bal_id
3097: ,p_tax_unit_id => TO_NUMBER(p_context_value)
3109: END IF;
3110: END IF;
3111:
3112: hr_utility.trace ('INDIA: Balance Value : '||to_char(l_balance_value));
3113: pay_in_utils.set_location(g_debug,'Leaving: '||l_procedure, 120);
3114: RETURN l_balance_value;
3115:
3116: EXCEPTION
3117: WHEN OTHERS THEN
3114: RETURN l_balance_value;
3115:
3116: EXCEPTION
3117: WHEN OTHERS THEN
3118: l_message := pay_in_utils.get_pay_message('PER_IN_ORACLE_GENERIC_ERROR', 'FUNCTION:'||l_procedure, 'SQLERRMC:'||sqlerrm);
3119: hr_utility.trace(l_message);
3120: pay_in_utils.set_location(g_debug,'Leaving : '||l_procedure, 130);
3121: RETURN -1;
3122: END get_balance_value;
3116: EXCEPTION
3117: WHEN OTHERS THEN
3118: l_message := pay_in_utils.get_pay_message('PER_IN_ORACLE_GENERIC_ERROR', 'FUNCTION:'||l_procedure, 'SQLERRMC:'||sqlerrm);
3119: hr_utility.trace(l_message);
3120: pay_in_utils.set_location(g_debug,'Leaving : '||l_procedure, 130);
3121: RETURN -1;
3122: END get_balance_value;
3123:
3124:
3170:
3171: l_procedure := g_package||'get_org_id';
3172: g_debug := hr_utility.debug_enabled;
3173:
3174: pay_in_utils.set_location(g_debug,'Entering : '||l_procedure, 10);
3175:
3176: OPEN cur_org (p_assignment_id
3177: ,p_business_group_id
3178: ,p_date);
3178: ,p_date);
3179: FETCH cur_org into l_segment2
3180: ,l_segment3
3181: ,l_segment4;
3182: pay_in_utils.set_location (g_debug,'l_segment2 = '||l_segment2,20);
3183: pay_in_utils.set_location (g_debug,'l_segment3 = '||l_segment3,30);
3184: pay_in_utils.set_location (g_debug,'l_segment4 = '||l_segment4,40);
3185: CLOSE cur_org;
3186:
3179: FETCH cur_org into l_segment2
3180: ,l_segment3
3181: ,l_segment4;
3182: pay_in_utils.set_location (g_debug,'l_segment2 = '||l_segment2,20);
3183: pay_in_utils.set_location (g_debug,'l_segment3 = '||l_segment3,30);
3184: pay_in_utils.set_location (g_debug,'l_segment4 = '||l_segment4,40);
3185: CLOSE cur_org;
3186:
3187: IF p_org_type = 'PF' THEN
3180: ,l_segment3
3181: ,l_segment4;
3182: pay_in_utils.set_location (g_debug,'l_segment2 = '||l_segment2,20);
3183: pay_in_utils.set_location (g_debug,'l_segment3 = '||l_segment3,30);
3184: pay_in_utils.set_location (g_debug,'l_segment4 = '||l_segment4,40);
3185: CLOSE cur_org;
3186:
3187: IF p_org_type = 'PF' THEN
3188: RETURN to_number(l_segment2);
3191: ELSIF p_org_type = 'ESI' THEN
3192: RETURN to_number(l_segment4);
3193: END IF;
3194:
3195: pay_in_utils.set_location(g_debug,'Leaving : '||l_procedure, 30);
3196:
3197: EXCEPTION
3198: WHEN OTHERS THEN
3199: l_message := pay_in_utils.get_pay_message('PER_IN_ORACLE_GENERIC_ERROR', 'FUNCTION:'||l_procedure, 'SQLERRMC:'||sqlerrm);
3195: pay_in_utils.set_location(g_debug,'Leaving : '||l_procedure, 30);
3196:
3197: EXCEPTION
3198: WHEN OTHERS THEN
3199: l_message := pay_in_utils.get_pay_message('PER_IN_ORACLE_GENERIC_ERROR', 'FUNCTION:'||l_procedure, 'SQLERRMC:'||sqlerrm);
3200: pay_in_utils.set_location(g_debug,' Leaving : '||l_procedure, 30);
3201: hr_utility.trace(l_message);
3202: RETURN NULL;
3203:
3196:
3197: EXCEPTION
3198: WHEN OTHERS THEN
3199: l_message := pay_in_utils.get_pay_message('PER_IN_ORACLE_GENERIC_ERROR', 'FUNCTION:'||l_procedure, 'SQLERRMC:'||sqlerrm);
3200: pay_in_utils.set_location(g_debug,' Leaving : '||l_procedure, 30);
3201: hr_utility.trace(l_message);
3202: RETURN NULL;
3203:
3204:
3251: l_message VARCHAR2(250);
3252: BEGIN
3253: g_debug := hr_utility.debug_enabled;
3254: l_procedure := g_package ||'le_start_date';
3255: pay_in_utils.set_location(g_debug,'Entering: '||l_procedure,10);
3256: IF (g_debug)
3257: THEN
3258: pay_in_utils.trace('**************************************************','********************');
3259: pay_in_utils.set_location(g_debug,'Input Paramters value is',20);
3254: l_procedure := g_package ||'le_start_date';
3255: pay_in_utils.set_location(g_debug,'Entering: '||l_procedure,10);
3256: IF (g_debug)
3257: THEN
3258: pay_in_utils.trace('**************************************************','********************');
3259: pay_in_utils.set_location(g_debug,'Input Paramters value is',20);
3260: pay_in_utils.trace('p_tax_unit_id',p_tax_unit_id);
3261: pay_in_utils.trace('p_assignment_id',p_assignment_id);
3262: pay_in_utils.trace('p_effective_date',p_effective_date);
3255: pay_in_utils.set_location(g_debug,'Entering: '||l_procedure,10);
3256: IF (g_debug)
3257: THEN
3258: pay_in_utils.trace('**************************************************','********************');
3259: pay_in_utils.set_location(g_debug,'Input Paramters value is',20);
3260: pay_in_utils.trace('p_tax_unit_id',p_tax_unit_id);
3261: pay_in_utils.trace('p_assignment_id',p_assignment_id);
3262: pay_in_utils.trace('p_effective_date',p_effective_date);
3263: END IF;
3256: IF (g_debug)
3257: THEN
3258: pay_in_utils.trace('**************************************************','********************');
3259: pay_in_utils.set_location(g_debug,'Input Paramters value is',20);
3260: pay_in_utils.trace('p_tax_unit_id',p_tax_unit_id);
3261: pay_in_utils.trace('p_assignment_id',p_assignment_id);
3262: pay_in_utils.trace('p_effective_date',p_effective_date);
3263: END IF;
3264:
3257: THEN
3258: pay_in_utils.trace('**************************************************','********************');
3259: pay_in_utils.set_location(g_debug,'Input Paramters value is',20);
3260: pay_in_utils.trace('p_tax_unit_id',p_tax_unit_id);
3261: pay_in_utils.trace('p_assignment_id',p_assignment_id);
3262: pay_in_utils.trace('p_effective_date',p_effective_date);
3263: END IF;
3264:
3265: OPEN csr_asg_start;
3258: pay_in_utils.trace('**************************************************','********************');
3259: pay_in_utils.set_location(g_debug,'Input Paramters value is',20);
3260: pay_in_utils.trace('p_tax_unit_id',p_tax_unit_id);
3261: pay_in_utils.trace('p_assignment_id',p_assignment_id);
3262: pay_in_utils.trace('p_effective_date',p_effective_date);
3263: END IF;
3264:
3265: OPEN csr_asg_start;
3266: FETCH csr_asg_start INTO l_le_asg_start;
3267: CLOSE csr_asg_start;
3268:
3269: IF (g_debug)
3270: THEN
3271: pay_in_utils.trace('l_le_asg_start',l_le_asg_start);
3272: END IF;
3273:
3274:
3275: IF l_le_asg_start IS NULL THEN
3279: END IF;
3280:
3281: IF (g_debug)
3282: THEN
3283: pay_in_utils.trace('l_le_asg_start',l_le_asg_start);
3284: END IF;
3285:
3286: RETURN l_le_asg_start;
3287:
3284: END IF;
3285:
3286: RETURN l_le_asg_start;
3287:
3288: pay_in_utils.trace('**************************************************','********************');
3289: pay_in_utils.set_location(g_debug,'Leaving: '||l_procedure,20);
3290:
3291: END le_start_date;
3292:
3285:
3286: RETURN l_le_asg_start;
3287:
3288: pay_in_utils.trace('**************************************************','********************');
3289: pay_in_utils.set_location(g_debug,'Leaving: '||l_procedure,20);
3290:
3291: END le_start_date;
3292:
3293: --------------------------------------------------------------------------
3336: l_message VARCHAR2(250);
3337: BEGIN
3338: g_debug := hr_utility.debug_enabled;
3339: l_procedure := g_package ||'le_end_date';
3340: pay_in_utils.set_location(g_debug,'Entering: '||l_procedure,10);
3341:
3342: IF (g_debug)
3343: THEN
3344: pay_in_utils.trace('**************************************************','********************');
3340: pay_in_utils.set_location(g_debug,'Entering: '||l_procedure,10);
3341:
3342: IF (g_debug)
3343: THEN
3344: pay_in_utils.trace('**************************************************','********************');
3345: pay_in_utils.set_location(g_debug,'Input Paramters value is',20);
3346: pay_in_utils.trace('p_tax_unit_id',p_tax_unit_id);
3347: pay_in_utils.trace('p_assignment_id',p_assignment_id);
3348: pay_in_utils.trace('p_effective_date',p_effective_date);
3341:
3342: IF (g_debug)
3343: THEN
3344: pay_in_utils.trace('**************************************************','********************');
3345: pay_in_utils.set_location(g_debug,'Input Paramters value is',20);
3346: pay_in_utils.trace('p_tax_unit_id',p_tax_unit_id);
3347: pay_in_utils.trace('p_assignment_id',p_assignment_id);
3348: pay_in_utils.trace('p_effective_date',p_effective_date);
3349: END IF;
3342: IF (g_debug)
3343: THEN
3344: pay_in_utils.trace('**************************************************','********************');
3345: pay_in_utils.set_location(g_debug,'Input Paramters value is',20);
3346: pay_in_utils.trace('p_tax_unit_id',p_tax_unit_id);
3347: pay_in_utils.trace('p_assignment_id',p_assignment_id);
3348: pay_in_utils.trace('p_effective_date',p_effective_date);
3349: END IF;
3350:
3343: THEN
3344: pay_in_utils.trace('**************************************************','********************');
3345: pay_in_utils.set_location(g_debug,'Input Paramters value is',20);
3346: pay_in_utils.trace('p_tax_unit_id',p_tax_unit_id);
3347: pay_in_utils.trace('p_assignment_id',p_assignment_id);
3348: pay_in_utils.trace('p_effective_date',p_effective_date);
3349: END IF;
3350:
3351:
3344: pay_in_utils.trace('**************************************************','********************');
3345: pay_in_utils.set_location(g_debug,'Input Paramters value is',20);
3346: pay_in_utils.trace('p_tax_unit_id',p_tax_unit_id);
3347: pay_in_utils.trace('p_assignment_id',p_assignment_id);
3348: pay_in_utils.trace('p_effective_date',p_effective_date);
3349: END IF;
3350:
3351:
3352: OPEN csr_asg_end;
3360: END IF;
3361:
3362: IF (g_debug)
3363: THEN
3364: pay_in_utils.trace('l_le_asg_start',l_le_asg_end);
3365: END IF;
3366:
3367: pay_in_utils.trace('**************************************************','********************');
3368: pay_in_utils.set_location(g_debug,'Leaving: '||l_procedure,20);
3363: THEN
3364: pay_in_utils.trace('l_le_asg_start',l_le_asg_end);
3365: END IF;
3366:
3367: pay_in_utils.trace('**************************************************','********************');
3368: pay_in_utils.set_location(g_debug,'Leaving: '||l_procedure,20);
3369:
3370: RETURN l_le_asg_end;
3371:
3364: pay_in_utils.trace('l_le_asg_start',l_le_asg_end);
3365: END IF;
3366:
3367: pay_in_utils.trace('**************************************************','********************');
3368: pay_in_utils.set_location(g_debug,'Leaving: '||l_procedure,20);
3369:
3370: RETURN l_le_asg_end;
3371:
3372: END le_end_date;
3418:
3419: BEGIN
3420: g_debug := hr_utility.debug_enabled;
3421: l_procedure := g_package ||'get_pay_periods';
3422: pay_in_utils.set_location(g_debug,'Entering: '||l_procedure,10);
3423: IF (g_debug)
3424: THEN
3425: pay_in_utils.trace('**************************************************','********************');
3426: pay_in_utils.set_location(g_debug,'Input Paramters value is',20);
3421: l_procedure := g_package ||'get_pay_periods';
3422: pay_in_utils.set_location(g_debug,'Entering: '||l_procedure,10);
3423: IF (g_debug)
3424: THEN
3425: pay_in_utils.trace('**************************************************','********************');
3426: pay_in_utils.set_location(g_debug,'Input Paramters value is',20);
3427: pay_in_utils.trace('p_payroll_id ',p_payroll_id );
3428: pay_in_utils.trace('p_tax_unit_id ',p_tax_unit_id );
3429: pay_in_utils.trace('p_assignment_id ',p_assignment_id );
3422: pay_in_utils.set_location(g_debug,'Entering: '||l_procedure,10);
3423: IF (g_debug)
3424: THEN
3425: pay_in_utils.trace('**************************************************','********************');
3426: pay_in_utils.set_location(g_debug,'Input Paramters value is',20);
3427: pay_in_utils.trace('p_payroll_id ',p_payroll_id );
3428: pay_in_utils.trace('p_tax_unit_id ',p_tax_unit_id );
3429: pay_in_utils.trace('p_assignment_id ',p_assignment_id );
3430: pay_in_utils.trace('p_date_earned ',p_date_earned );
3423: IF (g_debug)
3424: THEN
3425: pay_in_utils.trace('**************************************************','********************');
3426: pay_in_utils.set_location(g_debug,'Input Paramters value is',20);
3427: pay_in_utils.trace('p_payroll_id ',p_payroll_id );
3428: pay_in_utils.trace('p_tax_unit_id ',p_tax_unit_id );
3429: pay_in_utils.trace('p_assignment_id ',p_assignment_id );
3430: pay_in_utils.trace('p_date_earned ',p_date_earned );
3431: pay_in_utils.trace('p_period_end_date ',p_period_end_date );
3424: THEN
3425: pay_in_utils.trace('**************************************************','********************');
3426: pay_in_utils.set_location(g_debug,'Input Paramters value is',20);
3427: pay_in_utils.trace('p_payroll_id ',p_payroll_id );
3428: pay_in_utils.trace('p_tax_unit_id ',p_tax_unit_id );
3429: pay_in_utils.trace('p_assignment_id ',p_assignment_id );
3430: pay_in_utils.trace('p_date_earned ',p_date_earned );
3431: pay_in_utils.trace('p_period_end_date ',p_period_end_date );
3432: pay_in_utils.trace('p_termination_date',p_termination_date);
3425: pay_in_utils.trace('**************************************************','********************');
3426: pay_in_utils.set_location(g_debug,'Input Paramters value is',20);
3427: pay_in_utils.trace('p_payroll_id ',p_payroll_id );
3428: pay_in_utils.trace('p_tax_unit_id ',p_tax_unit_id );
3429: pay_in_utils.trace('p_assignment_id ',p_assignment_id );
3430: pay_in_utils.trace('p_date_earned ',p_date_earned );
3431: pay_in_utils.trace('p_period_end_date ',p_period_end_date );
3432: pay_in_utils.trace('p_termination_date',p_termination_date);
3433: pay_in_utils.trace('p_period_number ',p_period_number );
3426: pay_in_utils.set_location(g_debug,'Input Paramters value is',20);
3427: pay_in_utils.trace('p_payroll_id ',p_payroll_id );
3428: pay_in_utils.trace('p_tax_unit_id ',p_tax_unit_id );
3429: pay_in_utils.trace('p_assignment_id ',p_assignment_id );
3430: pay_in_utils.trace('p_date_earned ',p_date_earned );
3431: pay_in_utils.trace('p_period_end_date ',p_period_end_date );
3432: pay_in_utils.trace('p_termination_date',p_termination_date);
3433: pay_in_utils.trace('p_period_number ',p_period_number );
3434: pay_in_utils.trace('p_condition ',p_condition );
3427: pay_in_utils.trace('p_payroll_id ',p_payroll_id );
3428: pay_in_utils.trace('p_tax_unit_id ',p_tax_unit_id );
3429: pay_in_utils.trace('p_assignment_id ',p_assignment_id );
3430: pay_in_utils.trace('p_date_earned ',p_date_earned );
3431: pay_in_utils.trace('p_period_end_date ',p_period_end_date );
3432: pay_in_utils.trace('p_termination_date',p_termination_date);
3433: pay_in_utils.trace('p_period_number ',p_period_number );
3434: pay_in_utils.trace('p_condition ',p_condition );
3435: END IF;
3428: pay_in_utils.trace('p_tax_unit_id ',p_tax_unit_id );
3429: pay_in_utils.trace('p_assignment_id ',p_assignment_id );
3430: pay_in_utils.trace('p_date_earned ',p_date_earned );
3431: pay_in_utils.trace('p_period_end_date ',p_period_end_date );
3432: pay_in_utils.trace('p_termination_date',p_termination_date);
3433: pay_in_utils.trace('p_period_number ',p_period_number );
3434: pay_in_utils.trace('p_condition ',p_condition );
3435: END IF;
3436:
3429: pay_in_utils.trace('p_assignment_id ',p_assignment_id );
3430: pay_in_utils.trace('p_date_earned ',p_date_earned );
3431: pay_in_utils.trace('p_period_end_date ',p_period_end_date );
3432: pay_in_utils.trace('p_termination_date',p_termination_date);
3433: pay_in_utils.trace('p_period_number ',p_period_number );
3434: pay_in_utils.trace('p_condition ',p_condition );
3435: END IF;
3436:
3437: l_tot_pay_periods :=12;
3430: pay_in_utils.trace('p_date_earned ',p_date_earned );
3431: pay_in_utils.trace('p_period_end_date ',p_period_end_date );
3432: pay_in_utils.trace('p_termination_date',p_termination_date);
3433: pay_in_utils.trace('p_period_number ',p_period_number );
3434: pay_in_utils.trace('p_condition ',p_condition );
3435: END IF;
3436:
3437: l_tot_pay_periods :=12;
3438: -- Bug 12401381
3460:
3461: l_tot_pay_periods := get_period_number(p_payroll_id,l_end_date);
3462: l_rem_pay_periods := GREATEST(l_tot_pay_periods - p_period_number, 0);
3463:
3464: pay_in_utils.trace('**************************************************','********************');
3465: pay_in_utils.set_location(g_debug,'Leaving: '||l_procedure,20);
3466:
3467: RETURN l_rem_pay_periods;
3468:
3461: l_tot_pay_periods := get_period_number(p_payroll_id,l_end_date);
3462: l_rem_pay_periods := GREATEST(l_tot_pay_periods - p_period_number, 0);
3463:
3464: pay_in_utils.trace('**************************************************','********************');
3465: pay_in_utils.set_location(g_debug,'Leaving: '||l_procedure,20);
3466:
3467: RETURN l_rem_pay_periods;
3468:
3469: END get_pay_periods;
3547: l_message VARCHAR2(250);
3548: BEGIN
3549: g_debug := hr_utility.debug_enabled;
3550: l_procedure := g_package ||'get_income_tax';
3551: pay_in_utils.set_location(g_debug,'Entering: '||l_procedure,10);
3552: IF (g_debug)
3553: THEN
3554: pay_in_utils.trace('**************************************************','********************');
3555: pay_in_utils.set_location(g_debug,'Input Paramters value is',20);
3550: l_procedure := g_package ||'get_income_tax';
3551: pay_in_utils.set_location(g_debug,'Entering: '||l_procedure,10);
3552: IF (g_debug)
3553: THEN
3554: pay_in_utils.trace('**************************************************','********************');
3555: pay_in_utils.set_location(g_debug,'Input Paramters value is',20);
3556: pay_in_utils.trace('p_business_group_id',p_business_group_id);
3557: pay_in_utils.trace('p_assignment_id ',p_assignment_id );
3558: pay_in_utils.trace('p_total_income ',p_total_income );
3551: pay_in_utils.set_location(g_debug,'Entering: '||l_procedure,10);
3552: IF (g_debug)
3553: THEN
3554: pay_in_utils.trace('**************************************************','********************');
3555: pay_in_utils.set_location(g_debug,'Input Paramters value is',20);
3556: pay_in_utils.trace('p_business_group_id',p_business_group_id);
3557: pay_in_utils.trace('p_assignment_id ',p_assignment_id );
3558: pay_in_utils.trace('p_total_income ',p_total_income );
3559: pay_in_utils.trace('p_gender ',p_gender );
3552: IF (g_debug)
3553: THEN
3554: pay_in_utils.trace('**************************************************','********************');
3555: pay_in_utils.set_location(g_debug,'Input Paramters value is',20);
3556: pay_in_utils.trace('p_business_group_id',p_business_group_id);
3557: pay_in_utils.trace('p_assignment_id ',p_assignment_id );
3558: pay_in_utils.trace('p_total_income ',p_total_income );
3559: pay_in_utils.trace('p_gender ',p_gender );
3560: pay_in_utils.trace('p_age ',p_age );
3553: THEN
3554: pay_in_utils.trace('**************************************************','********************');
3555: pay_in_utils.set_location(g_debug,'Input Paramters value is',20);
3556: pay_in_utils.trace('p_business_group_id',p_business_group_id);
3557: pay_in_utils.trace('p_assignment_id ',p_assignment_id );
3558: pay_in_utils.trace('p_total_income ',p_total_income );
3559: pay_in_utils.trace('p_gender ',p_gender );
3560: pay_in_utils.trace('p_age ',p_age );
3561: pay_in_utils.trace('p_pay_end_date ',p_pay_end_date );
3554: pay_in_utils.trace('**************************************************','********************');
3555: pay_in_utils.set_location(g_debug,'Input Paramters value is',20);
3556: pay_in_utils.trace('p_business_group_id',p_business_group_id);
3557: pay_in_utils.trace('p_assignment_id ',p_assignment_id );
3558: pay_in_utils.trace('p_total_income ',p_total_income );
3559: pay_in_utils.trace('p_gender ',p_gender );
3560: pay_in_utils.trace('p_age ',p_age );
3561: pay_in_utils.trace('p_pay_end_date ',p_pay_end_date );
3562: pay_in_utils.trace('p_pay_date_paid ',p_pay_date_paid );
3555: pay_in_utils.set_location(g_debug,'Input Paramters value is',20);
3556: pay_in_utils.trace('p_business_group_id',p_business_group_id);
3557: pay_in_utils.trace('p_assignment_id ',p_assignment_id );
3558: pay_in_utils.trace('p_total_income ',p_total_income );
3559: pay_in_utils.trace('p_gender ',p_gender );
3560: pay_in_utils.trace('p_age ',p_age );
3561: pay_in_utils.trace('p_pay_end_date ',p_pay_end_date );
3562: pay_in_utils.trace('p_pay_date_paid ',p_pay_date_paid );
3563: END IF;
3556: pay_in_utils.trace('p_business_group_id',p_business_group_id);
3557: pay_in_utils.trace('p_assignment_id ',p_assignment_id );
3558: pay_in_utils.trace('p_total_income ',p_total_income );
3559: pay_in_utils.trace('p_gender ',p_gender );
3560: pay_in_utils.trace('p_age ',p_age );
3561: pay_in_utils.trace('p_pay_end_date ',p_pay_end_date );
3562: pay_in_utils.trace('p_pay_date_paid ',p_pay_date_paid );
3563: END IF;
3564:
3557: pay_in_utils.trace('p_assignment_id ',p_assignment_id );
3558: pay_in_utils.trace('p_total_income ',p_total_income );
3559: pay_in_utils.trace('p_gender ',p_gender );
3560: pay_in_utils.trace('p_age ',p_age );
3561: pay_in_utils.trace('p_pay_end_date ',p_pay_end_date );
3562: pay_in_utils.trace('p_pay_date_paid ',p_pay_date_paid );
3563: END IF;
3564:
3565: l_income_tax:=0;
3558: pay_in_utils.trace('p_total_income ',p_total_income );
3559: pay_in_utils.trace('p_gender ',p_gender );
3560: pay_in_utils.trace('p_age ',p_age );
3561: pay_in_utils.trace('p_pay_end_date ',p_pay_end_date );
3562: pay_in_utils.trace('p_pay_date_paid ',p_pay_date_paid );
3563: END IF;
3564:
3565: l_income_tax:=0;
3566:
3647: --End of Bug 12376004
3648:
3649: IF (g_debug)
3650: THEN
3651: pay_in_utils.trace('l_table_name',l_table_name);
3652: END IF;
3653:
3654: l_tax_slab := fnd_number.canonical_to_number(pay_in_utils.get_user_table_value
3655: (p_business_group_id => p_business_group_id
3650: THEN
3651: pay_in_utils.trace('l_table_name',l_table_name);
3652: END IF;
3653:
3654: l_tax_slab := fnd_number.canonical_to_number(pay_in_utils.get_user_table_value
3655: (p_business_group_id => p_business_group_id
3656: ,p_table_name => l_table_name
3657: ,p_column_name => 'Tax Rate'
3658: ,p_row_name => 'Tax Slabs'
3660: ,p_effective_date => p_pay_date_paid
3661: ,p_message => p_message
3662: ));
3663:
3664: l_additional_amount := fnd_number.canonical_to_number(pay_in_utils.get_user_table_value
3665: (p_business_group_id => p_business_group_id
3666: ,p_table_name => l_table_name
3667: ,p_column_name => 'Additional Amount'
3668: ,p_row_name => 'Tax Slabs'
3670: ,p_effective_date => p_pay_date_paid
3671: ,p_message => p_message
3672: ));
3673:
3674: l_reduced_amount := fnd_number.canonical_to_number(pay_in_utils.get_user_table_value
3675: (p_business_group_id => p_business_group_id
3676: ,p_table_name => l_table_name
3677: ,p_column_name => 'Reduced Amount'
3678: ,p_row_name => 'Tax Slabs'
3682: ));
3683:
3684: IF (g_debug)
3685: THEN
3686: pay_in_utils.trace('l_tax_slab',l_tax_slab);
3687: pay_in_utils.trace('l_additional_amount',l_additional_amount);
3688: pay_in_utils.trace('l_reduced_amount',l_reduced_amount);
3689: END IF;
3690:
3683:
3684: IF (g_debug)
3685: THEN
3686: pay_in_utils.trace('l_tax_slab',l_tax_slab);
3687: pay_in_utils.trace('l_additional_amount',l_additional_amount);
3688: pay_in_utils.trace('l_reduced_amount',l_reduced_amount);
3689: END IF;
3690:
3691: l_income_tax := l_tax_slab * (p_total_income - l_reduced_amount) + l_additional_amount;
3684: IF (g_debug)
3685: THEN
3686: pay_in_utils.trace('l_tax_slab',l_tax_slab);
3687: pay_in_utils.trace('l_additional_amount',l_additional_amount);
3688: pay_in_utils.trace('l_reduced_amount',l_reduced_amount);
3689: END IF;
3690:
3691: l_income_tax := l_tax_slab * (p_total_income - l_reduced_amount) + l_additional_amount;
3692:
3705: CLOSE csr_global_value;
3706:
3707: IF(g_debug)
3708: THEN
3709: pay_in_utils.trace('l_rebate_amount',l_rebate_amount);
3710: pay_in_utils.trace('l_minimum_limit',l_minimum_limit);
3711: pay_in_utils.trace('l_maximum_limit',l_maximum_limit);
3712: pay_in_utils.trace('l_income_tax',l_income_tax);
3713: END IF;
3706:
3707: IF(g_debug)
3708: THEN
3709: pay_in_utils.trace('l_rebate_amount',l_rebate_amount);
3710: pay_in_utils.trace('l_minimum_limit',l_minimum_limit);
3711: pay_in_utils.trace('l_maximum_limit',l_maximum_limit);
3712: pay_in_utils.trace('l_income_tax',l_income_tax);
3713: END IF;
3714:
3707: IF(g_debug)
3708: THEN
3709: pay_in_utils.trace('l_rebate_amount',l_rebate_amount);
3710: pay_in_utils.trace('l_minimum_limit',l_minimum_limit);
3711: pay_in_utils.trace('l_maximum_limit',l_maximum_limit);
3712: pay_in_utils.trace('l_income_tax',l_income_tax);
3713: END IF;
3714:
3715:
3708: THEN
3709: pay_in_utils.trace('l_rebate_amount',l_rebate_amount);
3710: pay_in_utils.trace('l_minimum_limit',l_minimum_limit);
3711: pay_in_utils.trace('l_maximum_limit',l_maximum_limit);
3712: pay_in_utils.trace('l_income_tax',l_income_tax);
3713: END IF;
3714:
3715:
3716: IF (p_total_income >=l_minimum_limit
3733: CLOSE csr_global_value;
3734:
3735: IF (g_debug)
3736: THEN
3737: pay_in_utils.trace('l_income_tax_new',l_income_tax);
3738: pay_in_utils.trace('l_surcharge_applicable_amt',l_surcharge_applicable_amt);
3739: END IF;
3740:
3741:
3734:
3735: IF (g_debug)
3736: THEN
3737: pay_in_utils.trace('l_income_tax_new',l_income_tax);
3738: pay_in_utils.trace('l_surcharge_applicable_amt',l_surcharge_applicable_amt);
3739: END IF;
3740:
3741:
3742: /* Calculate Surcharge and marginal relief */
3756: CLOSE csr_global_value;
3757:
3758: IF (g_debug)
3759: THEN
3760: pay_in_utils.trace('l_relief_ceiling',l_relief_ceiling);
3761: pay_in_utils.trace('l_relief_limit',l_relief_limit);
3762: pay_in_utils.trace('p_pay_end_date',p_pay_end_date);
3763: END IF;
3764:
3757:
3758: IF (g_debug)
3759: THEN
3760: pay_in_utils.trace('l_relief_ceiling',l_relief_ceiling);
3761: pay_in_utils.trace('l_relief_limit',l_relief_limit);
3762: pay_in_utils.trace('p_pay_end_date',p_pay_end_date);
3763: END IF;
3764:
3765: IF p_total_income <= l_relief_limit THEN
3758: IF (g_debug)
3759: THEN
3760: pay_in_utils.trace('l_relief_ceiling',l_relief_ceiling);
3761: pay_in_utils.trace('l_relief_limit',l_relief_limit);
3762: pay_in_utils.trace('p_pay_end_date',p_pay_end_date);
3763: END IF;
3764:
3765: IF p_total_income <= l_relief_limit THEN
3766: tax_on_mr_ceiling := l_additional_amount
3799: l_income_tax := GREATEST(l_income_tax,0);
3800:
3801: IF (g_debug)
3802: THEN
3803: pay_in_utils.trace('l_cess_percent',l_cess_percent);
3804: pay_in_utils.trace('p_marginal_relief',p_marginal_relief);
3805: pay_in_utils.trace('p_surcharge',p_surcharge);
3806: pay_in_utils.trace('p_education_cess',p_education_cess);
3807: pay_in_utils.trace('p_sec_and_he_cess',p_sec_and_he_cess);
3800:
3801: IF (g_debug)
3802: THEN
3803: pay_in_utils.trace('l_cess_percent',l_cess_percent);
3804: pay_in_utils.trace('p_marginal_relief',p_marginal_relief);
3805: pay_in_utils.trace('p_surcharge',p_surcharge);
3806: pay_in_utils.trace('p_education_cess',p_education_cess);
3807: pay_in_utils.trace('p_sec_and_he_cess',p_sec_and_he_cess);
3808: pay_in_utils.trace('l_income_tax',l_income_tax);
3801: IF (g_debug)
3802: THEN
3803: pay_in_utils.trace('l_cess_percent',l_cess_percent);
3804: pay_in_utils.trace('p_marginal_relief',p_marginal_relief);
3805: pay_in_utils.trace('p_surcharge',p_surcharge);
3806: pay_in_utils.trace('p_education_cess',p_education_cess);
3807: pay_in_utils.trace('p_sec_and_he_cess',p_sec_and_he_cess);
3808: pay_in_utils.trace('l_income_tax',l_income_tax);
3809: pay_in_utils.trace('p_tax_on_income',p_tax_on_income);
3802: THEN
3803: pay_in_utils.trace('l_cess_percent',l_cess_percent);
3804: pay_in_utils.trace('p_marginal_relief',p_marginal_relief);
3805: pay_in_utils.trace('p_surcharge',p_surcharge);
3806: pay_in_utils.trace('p_education_cess',p_education_cess);
3807: pay_in_utils.trace('p_sec_and_he_cess',p_sec_and_he_cess);
3808: pay_in_utils.trace('l_income_tax',l_income_tax);
3809: pay_in_utils.trace('p_tax_on_income',p_tax_on_income);
3810: END IF;
3803: pay_in_utils.trace('l_cess_percent',l_cess_percent);
3804: pay_in_utils.trace('p_marginal_relief',p_marginal_relief);
3805: pay_in_utils.trace('p_surcharge',p_surcharge);
3806: pay_in_utils.trace('p_education_cess',p_education_cess);
3807: pay_in_utils.trace('p_sec_and_he_cess',p_sec_and_he_cess);
3808: pay_in_utils.trace('l_income_tax',l_income_tax);
3809: pay_in_utils.trace('p_tax_on_income',p_tax_on_income);
3810: END IF;
3811:
3804: pay_in_utils.trace('p_marginal_relief',p_marginal_relief);
3805: pay_in_utils.trace('p_surcharge',p_surcharge);
3806: pay_in_utils.trace('p_education_cess',p_education_cess);
3807: pay_in_utils.trace('p_sec_and_he_cess',p_sec_and_he_cess);
3808: pay_in_utils.trace('l_income_tax',l_income_tax);
3809: pay_in_utils.trace('p_tax_on_income',p_tax_on_income);
3810: END IF;
3811:
3812: /* Added code for Bug 12376004*/
3805: pay_in_utils.trace('p_surcharge',p_surcharge);
3806: pay_in_utils.trace('p_education_cess',p_education_cess);
3807: pay_in_utils.trace('p_sec_and_he_cess',p_sec_and_he_cess);
3808: pay_in_utils.trace('l_income_tax',l_income_tax);
3809: pay_in_utils.trace('p_tax_on_income',p_tax_on_income);
3810: END IF;
3811:
3812: /* Added code for Bug 12376004*/
3813: /* Checking if PAN is not available where Income Tax is applicable */
3814: IF ( p_pay_date_paid >= TO_DATE('01-04-2010','DD-MM-YYYY') AND l_pan is null AND l_income_tax > 0 ) THEN
3815:
3816: l_table_name := 'India Income Tax Rates without PAN';
3817: IF (g_debug) THEN
3818: pay_in_utils.trace('l_table_name',l_table_name);
3819: END IF;
3820:
3821: l_tax_slab_wo_pan := fnd_number.canonical_to_number(pay_in_utils.get_user_table_value
3822: (p_business_group_id => p_business_group_id
3817: IF (g_debug) THEN
3818: pay_in_utils.trace('l_table_name',l_table_name);
3819: END IF;
3820:
3821: l_tax_slab_wo_pan := fnd_number.canonical_to_number(pay_in_utils.get_user_table_value
3822: (p_business_group_id => p_business_group_id
3823: ,p_table_name => l_table_name
3824: ,p_column_name => 'Tax Rate'
3825: ,p_row_name => 'Tax Slabs'
3827: ,p_effective_date => p_pay_date_paid
3828: ,p_message => p_message
3829: ));
3830:
3831: l_additional_amount_wo_pan := fnd_number.canonical_to_number(pay_in_utils.get_user_table_value
3832: (p_business_group_id => p_business_group_id
3833: ,p_table_name => l_table_name
3834: ,p_column_name => 'Additional Amount'
3835: ,p_row_name => 'Tax Slabs'
3837: ,p_effective_date => p_pay_date_paid
3838: ,p_message => p_message
3839: ));
3840:
3841: l_reduced_amount_wo_pan := fnd_number.canonical_to_number(pay_in_utils.get_user_table_value
3842: (p_business_group_id => p_business_group_id
3843: ,p_table_name => l_table_name
3844: ,p_column_name => 'Reduced Amount'
3845: ,p_row_name => 'Tax Slabs'
3850:
3851: l_income_tax_wo_pan := l_tax_slab_wo_pan * (p_total_income - l_reduced_amount_wo_pan) + l_additional_amount_wo_pan;
3852:
3853: IF (g_debug) THEN
3854: pay_in_utils.trace('**************************************************','********************');
3855: pay_in_utils.trace('l_tax_slab_wo_pan',l_tax_slab_wo_pan);
3856: pay_in_utils.trace('l_additional_amount_wo_pan',l_additional_amount_wo_pan);
3857: pay_in_utils.trace('l_reduced_amount_wo_pan',l_reduced_amount_wo_pan);
3858: pay_in_utils.trace('l_cess_percent',l_cess_percent);
3851: l_income_tax_wo_pan := l_tax_slab_wo_pan * (p_total_income - l_reduced_amount_wo_pan) + l_additional_amount_wo_pan;
3852:
3853: IF (g_debug) THEN
3854: pay_in_utils.trace('**************************************************','********************');
3855: pay_in_utils.trace('l_tax_slab_wo_pan',l_tax_slab_wo_pan);
3856: pay_in_utils.trace('l_additional_amount_wo_pan',l_additional_amount_wo_pan);
3857: pay_in_utils.trace('l_reduced_amount_wo_pan',l_reduced_amount_wo_pan);
3858: pay_in_utils.trace('l_cess_percent',l_cess_percent);
3859: pay_in_utils.trace('p_marginal_relief',p_marginal_relief);
3852:
3853: IF (g_debug) THEN
3854: pay_in_utils.trace('**************************************************','********************');
3855: pay_in_utils.trace('l_tax_slab_wo_pan',l_tax_slab_wo_pan);
3856: pay_in_utils.trace('l_additional_amount_wo_pan',l_additional_amount_wo_pan);
3857: pay_in_utils.trace('l_reduced_amount_wo_pan',l_reduced_amount_wo_pan);
3858: pay_in_utils.trace('l_cess_percent',l_cess_percent);
3859: pay_in_utils.trace('p_marginal_relief',p_marginal_relief);
3860: pay_in_utils.trace('p_surcharge',p_surcharge);
3853: IF (g_debug) THEN
3854: pay_in_utils.trace('**************************************************','********************');
3855: pay_in_utils.trace('l_tax_slab_wo_pan',l_tax_slab_wo_pan);
3856: pay_in_utils.trace('l_additional_amount_wo_pan',l_additional_amount_wo_pan);
3857: pay_in_utils.trace('l_reduced_amount_wo_pan',l_reduced_amount_wo_pan);
3858: pay_in_utils.trace('l_cess_percent',l_cess_percent);
3859: pay_in_utils.trace('p_marginal_relief',p_marginal_relief);
3860: pay_in_utils.trace('p_surcharge',p_surcharge);
3861: pay_in_utils.trace('p_education_cess',p_education_cess);
3854: pay_in_utils.trace('**************************************************','********************');
3855: pay_in_utils.trace('l_tax_slab_wo_pan',l_tax_slab_wo_pan);
3856: pay_in_utils.trace('l_additional_amount_wo_pan',l_additional_amount_wo_pan);
3857: pay_in_utils.trace('l_reduced_amount_wo_pan',l_reduced_amount_wo_pan);
3858: pay_in_utils.trace('l_cess_percent',l_cess_percent);
3859: pay_in_utils.trace('p_marginal_relief',p_marginal_relief);
3860: pay_in_utils.trace('p_surcharge',p_surcharge);
3861: pay_in_utils.trace('p_education_cess',p_education_cess);
3862: pay_in_utils.trace('p_sec_and_he_cess',p_sec_and_he_cess);
3855: pay_in_utils.trace('l_tax_slab_wo_pan',l_tax_slab_wo_pan);
3856: pay_in_utils.trace('l_additional_amount_wo_pan',l_additional_amount_wo_pan);
3857: pay_in_utils.trace('l_reduced_amount_wo_pan',l_reduced_amount_wo_pan);
3858: pay_in_utils.trace('l_cess_percent',l_cess_percent);
3859: pay_in_utils.trace('p_marginal_relief',p_marginal_relief);
3860: pay_in_utils.trace('p_surcharge',p_surcharge);
3861: pay_in_utils.trace('p_education_cess',p_education_cess);
3862: pay_in_utils.trace('p_sec_and_he_cess',p_sec_and_he_cess);
3863: pay_in_utils.trace('l_income_tax',l_income_tax);
3856: pay_in_utils.trace('l_additional_amount_wo_pan',l_additional_amount_wo_pan);
3857: pay_in_utils.trace('l_reduced_amount_wo_pan',l_reduced_amount_wo_pan);
3858: pay_in_utils.trace('l_cess_percent',l_cess_percent);
3859: pay_in_utils.trace('p_marginal_relief',p_marginal_relief);
3860: pay_in_utils.trace('p_surcharge',p_surcharge);
3861: pay_in_utils.trace('p_education_cess',p_education_cess);
3862: pay_in_utils.trace('p_sec_and_he_cess',p_sec_and_he_cess);
3863: pay_in_utils.trace('l_income_tax',l_income_tax);
3864: pay_in_utils.trace('l_income_tax_wo_pan',l_income_tax_wo_pan);
3857: pay_in_utils.trace('l_reduced_amount_wo_pan',l_reduced_amount_wo_pan);
3858: pay_in_utils.trace('l_cess_percent',l_cess_percent);
3859: pay_in_utils.trace('p_marginal_relief',p_marginal_relief);
3860: pay_in_utils.trace('p_surcharge',p_surcharge);
3861: pay_in_utils.trace('p_education_cess',p_education_cess);
3862: pay_in_utils.trace('p_sec_and_he_cess',p_sec_and_he_cess);
3863: pay_in_utils.trace('l_income_tax',l_income_tax);
3864: pay_in_utils.trace('l_income_tax_wo_pan',l_income_tax_wo_pan);
3865: pay_in_utils.trace('p_tax_on_income',p_tax_on_income);
3858: pay_in_utils.trace('l_cess_percent',l_cess_percent);
3859: pay_in_utils.trace('p_marginal_relief',p_marginal_relief);
3860: pay_in_utils.trace('p_surcharge',p_surcharge);
3861: pay_in_utils.trace('p_education_cess',p_education_cess);
3862: pay_in_utils.trace('p_sec_and_he_cess',p_sec_and_he_cess);
3863: pay_in_utils.trace('l_income_tax',l_income_tax);
3864: pay_in_utils.trace('l_income_tax_wo_pan',l_income_tax_wo_pan);
3865: pay_in_utils.trace('p_tax_on_income',p_tax_on_income);
3866: END IF;
3859: pay_in_utils.trace('p_marginal_relief',p_marginal_relief);
3860: pay_in_utils.trace('p_surcharge',p_surcharge);
3861: pay_in_utils.trace('p_education_cess',p_education_cess);
3862: pay_in_utils.trace('p_sec_and_he_cess',p_sec_and_he_cess);
3863: pay_in_utils.trace('l_income_tax',l_income_tax);
3864: pay_in_utils.trace('l_income_tax_wo_pan',l_income_tax_wo_pan);
3865: pay_in_utils.trace('p_tax_on_income',p_tax_on_income);
3866: END IF;
3867:
3860: pay_in_utils.trace('p_surcharge',p_surcharge);
3861: pay_in_utils.trace('p_education_cess',p_education_cess);
3862: pay_in_utils.trace('p_sec_and_he_cess',p_sec_and_he_cess);
3863: pay_in_utils.trace('l_income_tax',l_income_tax);
3864: pay_in_utils.trace('l_income_tax_wo_pan',l_income_tax_wo_pan);
3865: pay_in_utils.trace('p_tax_on_income',p_tax_on_income);
3866: END IF;
3867:
3868: IF ( l_income_tax_wo_pan > (l_income_tax + p_education_cess + p_sec_and_he_cess )) THEN
3861: pay_in_utils.trace('p_education_cess',p_education_cess);
3862: pay_in_utils.trace('p_sec_and_he_cess',p_sec_and_he_cess);
3863: pay_in_utils.trace('l_income_tax',l_income_tax);
3864: pay_in_utils.trace('l_income_tax_wo_pan',l_income_tax_wo_pan);
3865: pay_in_utils.trace('p_tax_on_income',p_tax_on_income);
3866: END IF;
3867:
3868: IF ( l_income_tax_wo_pan > (l_income_tax + p_education_cess + p_sec_and_he_cess )) THEN
3869: l_income_tax := l_income_tax_wo_pan;
3871: p_sec_and_he_cess := 0;
3872: END IF;
3873:
3874: IF (g_debug) THEN
3875: pay_in_utils.trace('**************************************************','********************');
3876: pay_in_utils.trace('l_tax_slab_wo_pan',l_tax_slab_wo_pan);
3877: pay_in_utils.trace('l_additional_amount_wo_pan',l_additional_amount_wo_pan);
3878: pay_in_utils.trace('l_reduced_amount_wo_pan',l_reduced_amount_wo_pan);
3879: pay_in_utils.trace('p_education_cess',p_education_cess);
3872: END IF;
3873:
3874: IF (g_debug) THEN
3875: pay_in_utils.trace('**************************************************','********************');
3876: pay_in_utils.trace('l_tax_slab_wo_pan',l_tax_slab_wo_pan);
3877: pay_in_utils.trace('l_additional_amount_wo_pan',l_additional_amount_wo_pan);
3878: pay_in_utils.trace('l_reduced_amount_wo_pan',l_reduced_amount_wo_pan);
3879: pay_in_utils.trace('p_education_cess',p_education_cess);
3880: pay_in_utils.trace('p_sec_and_he_cess',p_sec_and_he_cess);
3873:
3874: IF (g_debug) THEN
3875: pay_in_utils.trace('**************************************************','********************');
3876: pay_in_utils.trace('l_tax_slab_wo_pan',l_tax_slab_wo_pan);
3877: pay_in_utils.trace('l_additional_amount_wo_pan',l_additional_amount_wo_pan);
3878: pay_in_utils.trace('l_reduced_amount_wo_pan',l_reduced_amount_wo_pan);
3879: pay_in_utils.trace('p_education_cess',p_education_cess);
3880: pay_in_utils.trace('p_sec_and_he_cess',p_sec_and_he_cess);
3881: pay_in_utils.trace('l_income_tax',l_income_tax);
3874: IF (g_debug) THEN
3875: pay_in_utils.trace('**************************************************','********************');
3876: pay_in_utils.trace('l_tax_slab_wo_pan',l_tax_slab_wo_pan);
3877: pay_in_utils.trace('l_additional_amount_wo_pan',l_additional_amount_wo_pan);
3878: pay_in_utils.trace('l_reduced_amount_wo_pan',l_reduced_amount_wo_pan);
3879: pay_in_utils.trace('p_education_cess',p_education_cess);
3880: pay_in_utils.trace('p_sec_and_he_cess',p_sec_and_he_cess);
3881: pay_in_utils.trace('l_income_tax',l_income_tax);
3882: END IF;
3875: pay_in_utils.trace('**************************************************','********************');
3876: pay_in_utils.trace('l_tax_slab_wo_pan',l_tax_slab_wo_pan);
3877: pay_in_utils.trace('l_additional_amount_wo_pan',l_additional_amount_wo_pan);
3878: pay_in_utils.trace('l_reduced_amount_wo_pan',l_reduced_amount_wo_pan);
3879: pay_in_utils.trace('p_education_cess',p_education_cess);
3880: pay_in_utils.trace('p_sec_and_he_cess',p_sec_and_he_cess);
3881: pay_in_utils.trace('l_income_tax',l_income_tax);
3882: END IF;
3883:
3876: pay_in_utils.trace('l_tax_slab_wo_pan',l_tax_slab_wo_pan);
3877: pay_in_utils.trace('l_additional_amount_wo_pan',l_additional_amount_wo_pan);
3878: pay_in_utils.trace('l_reduced_amount_wo_pan',l_reduced_amount_wo_pan);
3879: pay_in_utils.trace('p_education_cess',p_education_cess);
3880: pay_in_utils.trace('p_sec_and_he_cess',p_sec_and_he_cess);
3881: pay_in_utils.trace('l_income_tax',l_income_tax);
3882: END IF;
3883:
3884: END IF;
3877: pay_in_utils.trace('l_additional_amount_wo_pan',l_additional_amount_wo_pan);
3878: pay_in_utils.trace('l_reduced_amount_wo_pan',l_reduced_amount_wo_pan);
3879: pay_in_utils.trace('p_education_cess',p_education_cess);
3880: pay_in_utils.trace('p_sec_and_he_cess',p_sec_and_he_cess);
3881: pay_in_utils.trace('l_income_tax',l_income_tax);
3882: END IF;
3883:
3884: END IF;
3885: /* End of Bug 12376004*/
3883:
3884: END IF;
3885: /* End of Bug 12376004*/
3886:
3887: pay_in_utils.trace('**************************************************','********************');
3888: pay_in_utils.set_location(g_debug,'Leaving: '||l_procedure,20);
3889:
3890: RETURN l_income_tax;
3891: END get_income_tax;
3884: END IF;
3885: /* End of Bug 12376004*/
3886:
3887: pay_in_utils.trace('**************************************************','********************');
3888: pay_in_utils.set_location(g_debug,'Leaving: '||l_procedure,20);
3889:
3890: RETURN l_income_tax;
3891: END get_income_tax;
3892:
3949: l_message VARCHAR2(250);
3950: BEGIN
3951: g_debug := hr_utility.debug_enabled;
3952: l_procedure := g_package ||'get_income_tax';
3953: pay_in_utils.set_location(g_debug,'Entering: '||l_procedure,10);
3954: IF (g_debug)
3955: THEN
3956: pay_in_utils.trace('**************************************************','********************');
3957: pay_in_utils.set_location(g_debug,'Input Paramters value is',20);
3952: l_procedure := g_package ||'get_income_tax';
3953: pay_in_utils.set_location(g_debug,'Entering: '||l_procedure,10);
3954: IF (g_debug)
3955: THEN
3956: pay_in_utils.trace('**************************************************','********************');
3957: pay_in_utils.set_location(g_debug,'Input Paramters value is',20);
3958: pay_in_utils.trace('p_business_group_id',p_business_group_id);
3959: pay_in_utils.trace('p_assignment_id ',p_assignment_id );
3960: pay_in_utils.trace('p_total_income ',p_total_income );
3953: pay_in_utils.set_location(g_debug,'Entering: '||l_procedure,10);
3954: IF (g_debug)
3955: THEN
3956: pay_in_utils.trace('**************************************************','********************');
3957: pay_in_utils.set_location(g_debug,'Input Paramters value is',20);
3958: pay_in_utils.trace('p_business_group_id',p_business_group_id);
3959: pay_in_utils.trace('p_assignment_id ',p_assignment_id );
3960: pay_in_utils.trace('p_total_income ',p_total_income );
3961: pay_in_utils.trace('p_gender ',p_gender );
3954: IF (g_debug)
3955: THEN
3956: pay_in_utils.trace('**************************************************','********************');
3957: pay_in_utils.set_location(g_debug,'Input Paramters value is',20);
3958: pay_in_utils.trace('p_business_group_id',p_business_group_id);
3959: pay_in_utils.trace('p_assignment_id ',p_assignment_id );
3960: pay_in_utils.trace('p_total_income ',p_total_income );
3961: pay_in_utils.trace('p_gender ',p_gender );
3962: pay_in_utils.trace('p_age ',p_age );
3955: THEN
3956: pay_in_utils.trace('**************************************************','********************');
3957: pay_in_utils.set_location(g_debug,'Input Paramters value is',20);
3958: pay_in_utils.trace('p_business_group_id',p_business_group_id);
3959: pay_in_utils.trace('p_assignment_id ',p_assignment_id );
3960: pay_in_utils.trace('p_total_income ',p_total_income );
3961: pay_in_utils.trace('p_gender ',p_gender );
3962: pay_in_utils.trace('p_age ',p_age );
3963: pay_in_utils.trace('p_pay_end_date ',p_pay_end_date );
3956: pay_in_utils.trace('**************************************************','********************');
3957: pay_in_utils.set_location(g_debug,'Input Paramters value is',20);
3958: pay_in_utils.trace('p_business_group_id',p_business_group_id);
3959: pay_in_utils.trace('p_assignment_id ',p_assignment_id );
3960: pay_in_utils.trace('p_total_income ',p_total_income );
3961: pay_in_utils.trace('p_gender ',p_gender );
3962: pay_in_utils.trace('p_age ',p_age );
3963: pay_in_utils.trace('p_pay_end_date ',p_pay_end_date );
3964: pay_in_utils.trace('p_pay_date_paid ',p_pay_date_paid );
3957: pay_in_utils.set_location(g_debug,'Input Paramters value is',20);
3958: pay_in_utils.trace('p_business_group_id',p_business_group_id);
3959: pay_in_utils.trace('p_assignment_id ',p_assignment_id );
3960: pay_in_utils.trace('p_total_income ',p_total_income );
3961: pay_in_utils.trace('p_gender ',p_gender );
3962: pay_in_utils.trace('p_age ',p_age );
3963: pay_in_utils.trace('p_pay_end_date ',p_pay_end_date );
3964: pay_in_utils.trace('p_pay_date_paid ',p_pay_date_paid );
3965: END IF;
3958: pay_in_utils.trace('p_business_group_id',p_business_group_id);
3959: pay_in_utils.trace('p_assignment_id ',p_assignment_id );
3960: pay_in_utils.trace('p_total_income ',p_total_income );
3961: pay_in_utils.trace('p_gender ',p_gender );
3962: pay_in_utils.trace('p_age ',p_age );
3963: pay_in_utils.trace('p_pay_end_date ',p_pay_end_date );
3964: pay_in_utils.trace('p_pay_date_paid ',p_pay_date_paid );
3965: END IF;
3966:
3959: pay_in_utils.trace('p_assignment_id ',p_assignment_id );
3960: pay_in_utils.trace('p_total_income ',p_total_income );
3961: pay_in_utils.trace('p_gender ',p_gender );
3962: pay_in_utils.trace('p_age ',p_age );
3963: pay_in_utils.trace('p_pay_end_date ',p_pay_end_date );
3964: pay_in_utils.trace('p_pay_date_paid ',p_pay_date_paid );
3965: END IF;
3966:
3967: l_income_tax:=0;
3960: pay_in_utils.trace('p_total_income ',p_total_income );
3961: pay_in_utils.trace('p_gender ',p_gender );
3962: pay_in_utils.trace('p_age ',p_age );
3963: pay_in_utils.trace('p_pay_end_date ',p_pay_end_date );
3964: pay_in_utils.trace('p_pay_date_paid ',p_pay_date_paid );
3965: END IF;
3966:
3967: l_income_tax:=0;
3968:
4049: --End of Bug 12376004
4050:
4051: IF (g_debug)
4052: THEN
4053: pay_in_utils.trace('l_table_name',l_table_name);
4054: END IF;
4055:
4056: l_tax_slab := fnd_number.canonical_to_number(pay_in_utils.get_user_table_value
4057: (p_business_group_id => p_business_group_id
4052: THEN
4053: pay_in_utils.trace('l_table_name',l_table_name);
4054: END IF;
4055:
4056: l_tax_slab := fnd_number.canonical_to_number(pay_in_utils.get_user_table_value
4057: (p_business_group_id => p_business_group_id
4058: ,p_table_name => l_table_name
4059: ,p_column_name => 'Tax Rate'
4060: ,p_row_name => 'Tax Slabs'
4062: ,p_effective_date => p_pay_date_paid
4063: ,p_message => p_message
4064: ));
4065:
4066: l_additional_amount := fnd_number.canonical_to_number(pay_in_utils.get_user_table_value
4067: (p_business_group_id => p_business_group_id
4068: ,p_table_name => l_table_name
4069: ,p_column_name => 'Additional Amount'
4070: ,p_row_name => 'Tax Slabs'
4072: ,p_effective_date => p_pay_date_paid
4073: ,p_message => p_message
4074: ));
4075:
4076: l_reduced_amount := fnd_number.canonical_to_number(pay_in_utils.get_user_table_value
4077: (p_business_group_id => p_business_group_id
4078: ,p_table_name => l_table_name
4079: ,p_column_name => 'Reduced Amount'
4080: ,p_row_name => 'Tax Slabs'
4084: ));
4085:
4086: IF (g_debug)
4087: THEN
4088: pay_in_utils.trace('l_tax_slab',l_tax_slab);
4089: pay_in_utils.trace('l_additional_amount',l_additional_amount);
4090: pay_in_utils.trace('l_reduced_amount',l_reduced_amount);
4091: END IF;
4092:
4085:
4086: IF (g_debug)
4087: THEN
4088: pay_in_utils.trace('l_tax_slab',l_tax_slab);
4089: pay_in_utils.trace('l_additional_amount',l_additional_amount);
4090: pay_in_utils.trace('l_reduced_amount',l_reduced_amount);
4091: END IF;
4092:
4093: l_income_tax := l_tax_slab * (p_total_income - l_reduced_amount) + l_additional_amount;
4086: IF (g_debug)
4087: THEN
4088: pay_in_utils.trace('l_tax_slab',l_tax_slab);
4089: pay_in_utils.trace('l_additional_amount',l_additional_amount);
4090: pay_in_utils.trace('l_reduced_amount',l_reduced_amount);
4091: END IF;
4092:
4093: l_income_tax := l_tax_slab * (p_total_income - l_reduced_amount) + l_additional_amount;
4094:
4109: p_sec87_rebate :=0;
4110:
4111: IF(g_debug)
4112: THEN
4113: pay_in_utils.trace('l_rebate_amount',l_rebate_amount);
4114: pay_in_utils.trace('l_minimum_limit',l_minimum_limit);
4115: pay_in_utils.trace('l_maximum_limit',l_maximum_limit);
4116: pay_in_utils.trace('l_income_tax',l_income_tax);
4117: END IF;
4110:
4111: IF(g_debug)
4112: THEN
4113: pay_in_utils.trace('l_rebate_amount',l_rebate_amount);
4114: pay_in_utils.trace('l_minimum_limit',l_minimum_limit);
4115: pay_in_utils.trace('l_maximum_limit',l_maximum_limit);
4116: pay_in_utils.trace('l_income_tax',l_income_tax);
4117: END IF;
4118:
4111: IF(g_debug)
4112: THEN
4113: pay_in_utils.trace('l_rebate_amount',l_rebate_amount);
4114: pay_in_utils.trace('l_minimum_limit',l_minimum_limit);
4115: pay_in_utils.trace('l_maximum_limit',l_maximum_limit);
4116: pay_in_utils.trace('l_income_tax',l_income_tax);
4117: END IF;
4118:
4119:
4112: THEN
4113: pay_in_utils.trace('l_rebate_amount',l_rebate_amount);
4114: pay_in_utils.trace('l_minimum_limit',l_minimum_limit);
4115: pay_in_utils.trace('l_maximum_limit',l_maximum_limit);
4116: pay_in_utils.trace('l_income_tax',l_income_tax);
4117: END IF;
4118:
4119:
4120: IF (p_total_income >=l_minimum_limit
4126: l_income_tax := greatest(l_income_tax - l_rebate_amount,0);
4127:
4128: IF (g_debug)
4129: THEN
4130: pay_in_utils.trace('Section 87 Rebate',p_sec87_rebate);
4131: pay_in_utils.trace('Income Tax Post Section 87 Rebate',l_income_tax);
4132: END IF;
4133:
4134: END IF;
4127:
4128: IF (g_debug)
4129: THEN
4130: pay_in_utils.trace('Section 87 Rebate',p_sec87_rebate);
4131: pay_in_utils.trace('Income Tax Post Section 87 Rebate',l_income_tax);
4132: END IF;
4133:
4134: END IF;
4135: /*end of Budget 2013 changes*/
4144: CLOSE csr_global_value;
4145:
4146: IF (g_debug)
4147: THEN
4148: pay_in_utils.trace('l_income_tax_new',l_income_tax);
4149: pay_in_utils.trace('l_surcharge_applicable_amt',l_surcharge_applicable_amt);
4150: END IF;
4151:
4152:
4145:
4146: IF (g_debug)
4147: THEN
4148: pay_in_utils.trace('l_income_tax_new',l_income_tax);
4149: pay_in_utils.trace('l_surcharge_applicable_amt',l_surcharge_applicable_amt);
4150: END IF;
4151:
4152:
4153: /* Calculate Surcharge and marginal relief */
4167: CLOSE csr_global_value;
4168:
4169: IF (g_debug)
4170: THEN
4171: pay_in_utils.trace('l_relief_ceiling',l_relief_ceiling);
4172: pay_in_utils.trace('l_relief_limit',l_relief_limit);
4173: pay_in_utils.trace('p_pay_end_date',p_pay_end_date);
4174: END IF;
4175:
4168:
4169: IF (g_debug)
4170: THEN
4171: pay_in_utils.trace('l_relief_ceiling',l_relief_ceiling);
4172: pay_in_utils.trace('l_relief_limit',l_relief_limit);
4173: pay_in_utils.trace('p_pay_end_date',p_pay_end_date);
4174: END IF;
4175:
4176: IF p_total_income <= l_relief_limit THEN
4169: IF (g_debug)
4170: THEN
4171: pay_in_utils.trace('l_relief_ceiling',l_relief_ceiling);
4172: pay_in_utils.trace('l_relief_limit',l_relief_limit);
4173: pay_in_utils.trace('p_pay_end_date',p_pay_end_date);
4174: END IF;
4175:
4176: IF p_total_income <= l_relief_limit THEN
4177: tax_on_mr_ceiling := l_additional_amount
4210: l_income_tax := GREATEST(l_income_tax,0);
4211:
4212: IF (g_debug)
4213: THEN
4214: pay_in_utils.trace('l_cess_percent',l_cess_percent);
4215: pay_in_utils.trace('p_marginal_relief',p_marginal_relief);
4216: pay_in_utils.trace('p_surcharge',p_surcharge);
4217: pay_in_utils.trace('p_education_cess',p_education_cess);
4218: pay_in_utils.trace('p_sec_and_he_cess',p_sec_and_he_cess);
4211:
4212: IF (g_debug)
4213: THEN
4214: pay_in_utils.trace('l_cess_percent',l_cess_percent);
4215: pay_in_utils.trace('p_marginal_relief',p_marginal_relief);
4216: pay_in_utils.trace('p_surcharge',p_surcharge);
4217: pay_in_utils.trace('p_education_cess',p_education_cess);
4218: pay_in_utils.trace('p_sec_and_he_cess',p_sec_and_he_cess);
4219: pay_in_utils.trace('l_income_tax',l_income_tax);
4212: IF (g_debug)
4213: THEN
4214: pay_in_utils.trace('l_cess_percent',l_cess_percent);
4215: pay_in_utils.trace('p_marginal_relief',p_marginal_relief);
4216: pay_in_utils.trace('p_surcharge',p_surcharge);
4217: pay_in_utils.trace('p_education_cess',p_education_cess);
4218: pay_in_utils.trace('p_sec_and_he_cess',p_sec_and_he_cess);
4219: pay_in_utils.trace('l_income_tax',l_income_tax);
4220: pay_in_utils.trace('p_tax_on_income',p_tax_on_income);
4213: THEN
4214: pay_in_utils.trace('l_cess_percent',l_cess_percent);
4215: pay_in_utils.trace('p_marginal_relief',p_marginal_relief);
4216: pay_in_utils.trace('p_surcharge',p_surcharge);
4217: pay_in_utils.trace('p_education_cess',p_education_cess);
4218: pay_in_utils.trace('p_sec_and_he_cess',p_sec_and_he_cess);
4219: pay_in_utils.trace('l_income_tax',l_income_tax);
4220: pay_in_utils.trace('p_tax_on_income',p_tax_on_income);
4221: END IF;
4214: pay_in_utils.trace('l_cess_percent',l_cess_percent);
4215: pay_in_utils.trace('p_marginal_relief',p_marginal_relief);
4216: pay_in_utils.trace('p_surcharge',p_surcharge);
4217: pay_in_utils.trace('p_education_cess',p_education_cess);
4218: pay_in_utils.trace('p_sec_and_he_cess',p_sec_and_he_cess);
4219: pay_in_utils.trace('l_income_tax',l_income_tax);
4220: pay_in_utils.trace('p_tax_on_income',p_tax_on_income);
4221: END IF;
4222:
4215: pay_in_utils.trace('p_marginal_relief',p_marginal_relief);
4216: pay_in_utils.trace('p_surcharge',p_surcharge);
4217: pay_in_utils.trace('p_education_cess',p_education_cess);
4218: pay_in_utils.trace('p_sec_and_he_cess',p_sec_and_he_cess);
4219: pay_in_utils.trace('l_income_tax',l_income_tax);
4220: pay_in_utils.trace('p_tax_on_income',p_tax_on_income);
4221: END IF;
4222:
4223: /* Added code for Bug 12376004*/
4216: pay_in_utils.trace('p_surcharge',p_surcharge);
4217: pay_in_utils.trace('p_education_cess',p_education_cess);
4218: pay_in_utils.trace('p_sec_and_he_cess',p_sec_and_he_cess);
4219: pay_in_utils.trace('l_income_tax',l_income_tax);
4220: pay_in_utils.trace('p_tax_on_income',p_tax_on_income);
4221: END IF;
4222:
4223: /* Added code for Bug 12376004*/
4224: /* Checking if PAN is not available where Income Tax is applicable */
4225: IF ( p_pay_date_paid >= TO_DATE('01-04-2010','DD-MM-YYYY') AND l_pan is null AND l_income_tax > 0 ) THEN
4226:
4227: l_table_name := 'India Income Tax Rates without PAN';
4228: IF (g_debug) THEN
4229: pay_in_utils.trace('l_table_name',l_table_name);
4230: END IF;
4231:
4232: l_tax_slab_wo_pan := fnd_number.canonical_to_number(pay_in_utils.get_user_table_value
4233: (p_business_group_id => p_business_group_id
4228: IF (g_debug) THEN
4229: pay_in_utils.trace('l_table_name',l_table_name);
4230: END IF;
4231:
4232: l_tax_slab_wo_pan := fnd_number.canonical_to_number(pay_in_utils.get_user_table_value
4233: (p_business_group_id => p_business_group_id
4234: ,p_table_name => l_table_name
4235: ,p_column_name => 'Tax Rate'
4236: ,p_row_name => 'Tax Slabs'
4238: ,p_effective_date => p_pay_date_paid
4239: ,p_message => p_message
4240: ));
4241:
4242: l_additional_amount_wo_pan := fnd_number.canonical_to_number(pay_in_utils.get_user_table_value
4243: (p_business_group_id => p_business_group_id
4244: ,p_table_name => l_table_name
4245: ,p_column_name => 'Additional Amount'
4246: ,p_row_name => 'Tax Slabs'
4248: ,p_effective_date => p_pay_date_paid
4249: ,p_message => p_message
4250: ));
4251:
4252: l_reduced_amount_wo_pan := fnd_number.canonical_to_number(pay_in_utils.get_user_table_value
4253: (p_business_group_id => p_business_group_id
4254: ,p_table_name => l_table_name
4255: ,p_column_name => 'Reduced Amount'
4256: ,p_row_name => 'Tax Slabs'
4261:
4262: l_income_tax_wo_pan := l_tax_slab_wo_pan * (p_total_income - l_reduced_amount_wo_pan) + l_additional_amount_wo_pan;
4263:
4264: IF (g_debug) THEN
4265: pay_in_utils.trace('**************************************************','********************');
4266: pay_in_utils.trace('l_tax_slab_wo_pan',l_tax_slab_wo_pan);
4267: pay_in_utils.trace('l_additional_amount_wo_pan',l_additional_amount_wo_pan);
4268: pay_in_utils.trace('l_reduced_amount_wo_pan',l_reduced_amount_wo_pan);
4269: pay_in_utils.trace('l_cess_percent',l_cess_percent);
4262: l_income_tax_wo_pan := l_tax_slab_wo_pan * (p_total_income - l_reduced_amount_wo_pan) + l_additional_amount_wo_pan;
4263:
4264: IF (g_debug) THEN
4265: pay_in_utils.trace('**************************************************','********************');
4266: pay_in_utils.trace('l_tax_slab_wo_pan',l_tax_slab_wo_pan);
4267: pay_in_utils.trace('l_additional_amount_wo_pan',l_additional_amount_wo_pan);
4268: pay_in_utils.trace('l_reduced_amount_wo_pan',l_reduced_amount_wo_pan);
4269: pay_in_utils.trace('l_cess_percent',l_cess_percent);
4270: pay_in_utils.trace('p_marginal_relief',p_marginal_relief);
4263:
4264: IF (g_debug) THEN
4265: pay_in_utils.trace('**************************************************','********************');
4266: pay_in_utils.trace('l_tax_slab_wo_pan',l_tax_slab_wo_pan);
4267: pay_in_utils.trace('l_additional_amount_wo_pan',l_additional_amount_wo_pan);
4268: pay_in_utils.trace('l_reduced_amount_wo_pan',l_reduced_amount_wo_pan);
4269: pay_in_utils.trace('l_cess_percent',l_cess_percent);
4270: pay_in_utils.trace('p_marginal_relief',p_marginal_relief);
4271: pay_in_utils.trace('p_surcharge',p_surcharge);
4264: IF (g_debug) THEN
4265: pay_in_utils.trace('**************************************************','********************');
4266: pay_in_utils.trace('l_tax_slab_wo_pan',l_tax_slab_wo_pan);
4267: pay_in_utils.trace('l_additional_amount_wo_pan',l_additional_amount_wo_pan);
4268: pay_in_utils.trace('l_reduced_amount_wo_pan',l_reduced_amount_wo_pan);
4269: pay_in_utils.trace('l_cess_percent',l_cess_percent);
4270: pay_in_utils.trace('p_marginal_relief',p_marginal_relief);
4271: pay_in_utils.trace('p_surcharge',p_surcharge);
4272: pay_in_utils.trace('p_education_cess',p_education_cess);
4265: pay_in_utils.trace('**************************************************','********************');
4266: pay_in_utils.trace('l_tax_slab_wo_pan',l_tax_slab_wo_pan);
4267: pay_in_utils.trace('l_additional_amount_wo_pan',l_additional_amount_wo_pan);
4268: pay_in_utils.trace('l_reduced_amount_wo_pan',l_reduced_amount_wo_pan);
4269: pay_in_utils.trace('l_cess_percent',l_cess_percent);
4270: pay_in_utils.trace('p_marginal_relief',p_marginal_relief);
4271: pay_in_utils.trace('p_surcharge',p_surcharge);
4272: pay_in_utils.trace('p_education_cess',p_education_cess);
4273: pay_in_utils.trace('p_sec_and_he_cess',p_sec_and_he_cess);
4266: pay_in_utils.trace('l_tax_slab_wo_pan',l_tax_slab_wo_pan);
4267: pay_in_utils.trace('l_additional_amount_wo_pan',l_additional_amount_wo_pan);
4268: pay_in_utils.trace('l_reduced_amount_wo_pan',l_reduced_amount_wo_pan);
4269: pay_in_utils.trace('l_cess_percent',l_cess_percent);
4270: pay_in_utils.trace('p_marginal_relief',p_marginal_relief);
4271: pay_in_utils.trace('p_surcharge',p_surcharge);
4272: pay_in_utils.trace('p_education_cess',p_education_cess);
4273: pay_in_utils.trace('p_sec_and_he_cess',p_sec_and_he_cess);
4274: pay_in_utils.trace('l_income_tax',l_income_tax);
4267: pay_in_utils.trace('l_additional_amount_wo_pan',l_additional_amount_wo_pan);
4268: pay_in_utils.trace('l_reduced_amount_wo_pan',l_reduced_amount_wo_pan);
4269: pay_in_utils.trace('l_cess_percent',l_cess_percent);
4270: pay_in_utils.trace('p_marginal_relief',p_marginal_relief);
4271: pay_in_utils.trace('p_surcharge',p_surcharge);
4272: pay_in_utils.trace('p_education_cess',p_education_cess);
4273: pay_in_utils.trace('p_sec_and_he_cess',p_sec_and_he_cess);
4274: pay_in_utils.trace('l_income_tax',l_income_tax);
4275: pay_in_utils.trace('l_income_tax_wo_pan',l_income_tax_wo_pan);
4268: pay_in_utils.trace('l_reduced_amount_wo_pan',l_reduced_amount_wo_pan);
4269: pay_in_utils.trace('l_cess_percent',l_cess_percent);
4270: pay_in_utils.trace('p_marginal_relief',p_marginal_relief);
4271: pay_in_utils.trace('p_surcharge',p_surcharge);
4272: pay_in_utils.trace('p_education_cess',p_education_cess);
4273: pay_in_utils.trace('p_sec_and_he_cess',p_sec_and_he_cess);
4274: pay_in_utils.trace('l_income_tax',l_income_tax);
4275: pay_in_utils.trace('l_income_tax_wo_pan',l_income_tax_wo_pan);
4276: pay_in_utils.trace('p_tax_on_income',p_tax_on_income);
4269: pay_in_utils.trace('l_cess_percent',l_cess_percent);
4270: pay_in_utils.trace('p_marginal_relief',p_marginal_relief);
4271: pay_in_utils.trace('p_surcharge',p_surcharge);
4272: pay_in_utils.trace('p_education_cess',p_education_cess);
4273: pay_in_utils.trace('p_sec_and_he_cess',p_sec_and_he_cess);
4274: pay_in_utils.trace('l_income_tax',l_income_tax);
4275: pay_in_utils.trace('l_income_tax_wo_pan',l_income_tax_wo_pan);
4276: pay_in_utils.trace('p_tax_on_income',p_tax_on_income);
4277: END IF;
4270: pay_in_utils.trace('p_marginal_relief',p_marginal_relief);
4271: pay_in_utils.trace('p_surcharge',p_surcharge);
4272: pay_in_utils.trace('p_education_cess',p_education_cess);
4273: pay_in_utils.trace('p_sec_and_he_cess',p_sec_and_he_cess);
4274: pay_in_utils.trace('l_income_tax',l_income_tax);
4275: pay_in_utils.trace('l_income_tax_wo_pan',l_income_tax_wo_pan);
4276: pay_in_utils.trace('p_tax_on_income',p_tax_on_income);
4277: END IF;
4278:
4271: pay_in_utils.trace('p_surcharge',p_surcharge);
4272: pay_in_utils.trace('p_education_cess',p_education_cess);
4273: pay_in_utils.trace('p_sec_and_he_cess',p_sec_and_he_cess);
4274: pay_in_utils.trace('l_income_tax',l_income_tax);
4275: pay_in_utils.trace('l_income_tax_wo_pan',l_income_tax_wo_pan);
4276: pay_in_utils.trace('p_tax_on_income',p_tax_on_income);
4277: END IF;
4278:
4279: IF ( l_income_tax_wo_pan > (l_income_tax + p_education_cess + p_sec_and_he_cess )) THEN
4272: pay_in_utils.trace('p_education_cess',p_education_cess);
4273: pay_in_utils.trace('p_sec_and_he_cess',p_sec_and_he_cess);
4274: pay_in_utils.trace('l_income_tax',l_income_tax);
4275: pay_in_utils.trace('l_income_tax_wo_pan',l_income_tax_wo_pan);
4276: pay_in_utils.trace('p_tax_on_income',p_tax_on_income);
4277: END IF;
4278:
4279: IF ( l_income_tax_wo_pan > (l_income_tax + p_education_cess + p_sec_and_he_cess )) THEN
4280: l_income_tax := l_income_tax_wo_pan;
4282: p_sec_and_he_cess := 0;
4283: END IF;
4284:
4285: IF (g_debug) THEN
4286: pay_in_utils.trace('**************************************************','********************');
4287: pay_in_utils.trace('l_tax_slab_wo_pan',l_tax_slab_wo_pan);
4288: pay_in_utils.trace('l_additional_amount_wo_pan',l_additional_amount_wo_pan);
4289: pay_in_utils.trace('l_reduced_amount_wo_pan',l_reduced_amount_wo_pan);
4290: pay_in_utils.trace('p_education_cess',p_education_cess);
4283: END IF;
4284:
4285: IF (g_debug) THEN
4286: pay_in_utils.trace('**************************************************','********************');
4287: pay_in_utils.trace('l_tax_slab_wo_pan',l_tax_slab_wo_pan);
4288: pay_in_utils.trace('l_additional_amount_wo_pan',l_additional_amount_wo_pan);
4289: pay_in_utils.trace('l_reduced_amount_wo_pan',l_reduced_amount_wo_pan);
4290: pay_in_utils.trace('p_education_cess',p_education_cess);
4291: pay_in_utils.trace('p_sec_and_he_cess',p_sec_and_he_cess);
4284:
4285: IF (g_debug) THEN
4286: pay_in_utils.trace('**************************************************','********************');
4287: pay_in_utils.trace('l_tax_slab_wo_pan',l_tax_slab_wo_pan);
4288: pay_in_utils.trace('l_additional_amount_wo_pan',l_additional_amount_wo_pan);
4289: pay_in_utils.trace('l_reduced_amount_wo_pan',l_reduced_amount_wo_pan);
4290: pay_in_utils.trace('p_education_cess',p_education_cess);
4291: pay_in_utils.trace('p_sec_and_he_cess',p_sec_and_he_cess);
4292: pay_in_utils.trace('l_income_tax',l_income_tax);
4285: IF (g_debug) THEN
4286: pay_in_utils.trace('**************************************************','********************');
4287: pay_in_utils.trace('l_tax_slab_wo_pan',l_tax_slab_wo_pan);
4288: pay_in_utils.trace('l_additional_amount_wo_pan',l_additional_amount_wo_pan);
4289: pay_in_utils.trace('l_reduced_amount_wo_pan',l_reduced_amount_wo_pan);
4290: pay_in_utils.trace('p_education_cess',p_education_cess);
4291: pay_in_utils.trace('p_sec_and_he_cess',p_sec_and_he_cess);
4292: pay_in_utils.trace('l_income_tax',l_income_tax);
4293: END IF;
4286: pay_in_utils.trace('**************************************************','********************');
4287: pay_in_utils.trace('l_tax_slab_wo_pan',l_tax_slab_wo_pan);
4288: pay_in_utils.trace('l_additional_amount_wo_pan',l_additional_amount_wo_pan);
4289: pay_in_utils.trace('l_reduced_amount_wo_pan',l_reduced_amount_wo_pan);
4290: pay_in_utils.trace('p_education_cess',p_education_cess);
4291: pay_in_utils.trace('p_sec_and_he_cess',p_sec_and_he_cess);
4292: pay_in_utils.trace('l_income_tax',l_income_tax);
4293: END IF;
4294:
4287: pay_in_utils.trace('l_tax_slab_wo_pan',l_tax_slab_wo_pan);
4288: pay_in_utils.trace('l_additional_amount_wo_pan',l_additional_amount_wo_pan);
4289: pay_in_utils.trace('l_reduced_amount_wo_pan',l_reduced_amount_wo_pan);
4290: pay_in_utils.trace('p_education_cess',p_education_cess);
4291: pay_in_utils.trace('p_sec_and_he_cess',p_sec_and_he_cess);
4292: pay_in_utils.trace('l_income_tax',l_income_tax);
4293: END IF;
4294:
4295: END IF;
4288: pay_in_utils.trace('l_additional_amount_wo_pan',l_additional_amount_wo_pan);
4289: pay_in_utils.trace('l_reduced_amount_wo_pan',l_reduced_amount_wo_pan);
4290: pay_in_utils.trace('p_education_cess',p_education_cess);
4291: pay_in_utils.trace('p_sec_and_he_cess',p_sec_and_he_cess);
4292: pay_in_utils.trace('l_income_tax',l_income_tax);
4293: END IF;
4294:
4295: END IF;
4296: /* End of Bug 12376004*/
4294:
4295: END IF;
4296: /* End of Bug 12376004*/
4297:
4298: pay_in_utils.trace('**************************************************','********************');
4299: pay_in_utils.set_location(g_debug,'Leaving: '||l_procedure,20);
4300:
4301: RETURN l_income_tax;
4302: END get_income_tax;
4295: END IF;
4296: /* End of Bug 12376004*/
4297:
4298: pay_in_utils.trace('**************************************************','********************');
4299: pay_in_utils.set_location(g_debug,'Leaving: '||l_procedure,20);
4300:
4301: RETURN l_income_tax;
4302: END get_income_tax;
4303:
4315: l_message VARCHAR2(250);
4316: BEGIN
4317: g_debug := hr_utility.debug_enabled;
4318: l_procedure := g_package ||'set_context';
4319: pay_in_utils.set_location(g_debug,'Entering: '||l_procedure,10);
4320: IF (g_debug)
4321: THEN
4322: pay_in_utils.trace('**************************************************','********************');
4323: pay_in_utils.set_location(g_debug,'Input Paramters value is',20);
4318: l_procedure := g_package ||'set_context';
4319: pay_in_utils.set_location(g_debug,'Entering: '||l_procedure,10);
4320: IF (g_debug)
4321: THEN
4322: pay_in_utils.trace('**************************************************','********************');
4323: pay_in_utils.set_location(g_debug,'Input Paramters value is',20);
4324: pay_in_utils.trace('p_context_name',p_context_name);
4325: pay_in_utils.trace('p_context_value',p_context_value);
4326: END IF;
4319: pay_in_utils.set_location(g_debug,'Entering: '||l_procedure,10);
4320: IF (g_debug)
4321: THEN
4322: pay_in_utils.trace('**************************************************','********************');
4323: pay_in_utils.set_location(g_debug,'Input Paramters value is',20);
4324: pay_in_utils.trace('p_context_name',p_context_name);
4325: pay_in_utils.trace('p_context_value',p_context_value);
4326: END IF;
4327:
4320: IF (g_debug)
4321: THEN
4322: pay_in_utils.trace('**************************************************','********************');
4323: pay_in_utils.set_location(g_debug,'Input Paramters value is',20);
4324: pay_in_utils.trace('p_context_name',p_context_name);
4325: pay_in_utils.trace('p_context_value',p_context_value);
4326: END IF;
4327:
4328: pay_balance_pkg.set_context('IN',p_context_name, p_context_value);
4321: THEN
4322: pay_in_utils.trace('**************************************************','********************');
4323: pay_in_utils.set_location(g_debug,'Input Paramters value is',20);
4324: pay_in_utils.trace('p_context_name',p_context_name);
4325: pay_in_utils.trace('p_context_value',p_context_value);
4326: END IF;
4327:
4328: pay_balance_pkg.set_context('IN',p_context_name, p_context_value);
4329:
4326: END IF;
4327:
4328: pay_balance_pkg.set_context('IN',p_context_name, p_context_value);
4329:
4330: pay_in_utils.trace('**************************************************','********************');
4331: pay_in_utils.set_location(g_debug,'Leaving: '||l_procedure,20);
4332:
4333: RETURN 0;
4334: END set_context;
4327:
4328: pay_balance_pkg.set_context('IN',p_context_name, p_context_value);
4329:
4330: pay_in_utils.trace('**************************************************','********************');
4331: pay_in_utils.set_location(g_debug,'Leaving: '||l_procedure,20);
4332:
4333: RETURN 0;
4334: END set_context;
4335:
4407: l_proc := g_package||'get_value_on_le_start';
4408:
4409: IF (g_debug)
4410: THEN
4411: pay_in_utils.trace('**************************************************','********************');
4412: pay_in_utils.set_location(g_debug,'Input Paramters value is',20);
4413: pay_in_utils.trace('p_assignment_id ',p_assignment_id );
4414: pay_in_utils.trace('p_tax_unit_id ',p_tax_unit_id );
4415: pay_in_utils.trace('p_effective_date',p_effective_date);
4408:
4409: IF (g_debug)
4410: THEN
4411: pay_in_utils.trace('**************************************************','********************');
4412: pay_in_utils.set_location(g_debug,'Input Paramters value is',20);
4413: pay_in_utils.trace('p_assignment_id ',p_assignment_id );
4414: pay_in_utils.trace('p_tax_unit_id ',p_tax_unit_id );
4415: pay_in_utils.trace('p_effective_date',p_effective_date);
4416: pay_in_utils.trace('p_context_value',p_context_value);
4409: IF (g_debug)
4410: THEN
4411: pay_in_utils.trace('**************************************************','********************');
4412: pay_in_utils.set_location(g_debug,'Input Paramters value is',20);
4413: pay_in_utils.trace('p_assignment_id ',p_assignment_id );
4414: pay_in_utils.trace('p_tax_unit_id ',p_tax_unit_id );
4415: pay_in_utils.trace('p_effective_date',p_effective_date);
4416: pay_in_utils.trace('p_context_value',p_context_value);
4417: END IF;
4410: THEN
4411: pay_in_utils.trace('**************************************************','********************');
4412: pay_in_utils.set_location(g_debug,'Input Paramters value is',20);
4413: pay_in_utils.trace('p_assignment_id ',p_assignment_id );
4414: pay_in_utils.trace('p_tax_unit_id ',p_tax_unit_id );
4415: pay_in_utils.trace('p_effective_date',p_effective_date);
4416: pay_in_utils.trace('p_context_value',p_context_value);
4417: END IF;
4418:
4411: pay_in_utils.trace('**************************************************','********************');
4412: pay_in_utils.set_location(g_debug,'Input Paramters value is',20);
4413: pay_in_utils.trace('p_assignment_id ',p_assignment_id );
4414: pay_in_utils.trace('p_tax_unit_id ',p_tax_unit_id );
4415: pay_in_utils.trace('p_effective_date',p_effective_date);
4416: pay_in_utils.trace('p_context_value',p_context_value);
4417: END IF;
4418:
4419:
4412: pay_in_utils.set_location(g_debug,'Input Paramters value is',20);
4413: pay_in_utils.trace('p_assignment_id ',p_assignment_id );
4414: pay_in_utils.trace('p_tax_unit_id ',p_tax_unit_id );
4415: pay_in_utils.trace('p_effective_date',p_effective_date);
4416: pay_in_utils.trace('p_context_value',p_context_value);
4417: END IF;
4418:
4419:
4420: l_year_start := pay_in_tax_utils.get_financial_year_start(p_effective_date );
4425: l_pre_le_end_date := l_le_start_date - 1;
4426:
4427: IF (g_debug)
4428: THEN
4429: pay_in_utils.trace('l_year_start ',l_year_start );
4430: pay_in_utils.trace('l_le_start_date ',l_le_start_date );
4431: pay_in_utils.trace('l_pre_le_end_date',l_pre_le_end_date);
4432: END IF;
4433:
4426:
4427: IF (g_debug)
4428: THEN
4429: pay_in_utils.trace('l_year_start ',l_year_start );
4430: pay_in_utils.trace('l_le_start_date ',l_le_start_date );
4431: pay_in_utils.trace('l_pre_le_end_date',l_pre_le_end_date);
4432: END IF;
4433:
4434:
4427: IF (g_debug)
4428: THEN
4429: pay_in_utils.trace('l_year_start ',l_year_start );
4430: pay_in_utils.trace('l_le_start_date ',l_le_start_date );
4431: pay_in_utils.trace('l_pre_le_end_date',l_pre_le_end_date);
4432: END IF;
4433:
4434:
4435: OPEN csr_cyclic_gre(l_year_start,l_pre_le_end_date);
4441: END IF;
4442: CLOSE csr_cyclic_gre;
4443:
4444: l_def_bal_id := pay_in_tax_utils.get_defined_balance(p_balance_name, p_dimension_name);
4445: pay_in_utils.set_location(g_debug, ' INDIA:l_def_bal_id '||l_def_bal_id,30);
4446:
4447: OPEN c_max_asact(l_pre_le_end_date);
4448: FETCH c_max_asact INTO p_assignment_action_id;
4449: CLOSE c_max_asact;
4447: OPEN c_max_asact(l_pre_le_end_date);
4448: FETCH c_max_asact INTO p_assignment_action_id;
4449: CLOSE c_max_asact;
4450:
4451: pay_in_utils.set_location(g_debug, ' INDIA:l_asg_action_id '||p_assignment_action_id,50);
4452:
4453:
4454: IF p_context_name = 'SOURCE_TEXT2' THEN
4455:
4484: ,p_source_number => null
4485: );
4486: END IF;
4487:
4488: pay_in_utils.set_location(g_debug, ' INDIA:l_value '||l_balance_value,60);
4489: pay_in_utils.trace('**************************************************','********************');
4490: pay_in_utils.set_location(g_debug,'Leaving: '||l_proc,70);
4491: p_success := 'Y';
4492: RETURN l_balance_value;
4485: );
4486: END IF;
4487:
4488: pay_in_utils.set_location(g_debug, ' INDIA:l_value '||l_balance_value,60);
4489: pay_in_utils.trace('**************************************************','********************');
4490: pay_in_utils.set_location(g_debug,'Leaving: '||l_proc,70);
4491: p_success := 'Y';
4492: RETURN l_balance_value;
4493: --
4486: END IF;
4487:
4488: pay_in_utils.set_location(g_debug, ' INDIA:l_value '||l_balance_value,60);
4489: pay_in_utils.trace('**************************************************','********************');
4490: pay_in_utils.set_location(g_debug,'Leaving: '||l_proc,70);
4491: p_success := 'Y';
4492: RETURN l_balance_value;
4493: --
4494: END get_value_on_le_start;
4530: BEGIN
4531:
4532: g_debug := hr_utility.debug_enabled;
4533: l_procedure := g_package ||'prev_med_reimbursement';
4534: pay_in_utils.set_location(g_debug,'Entering: '||l_procedure,10);
4535: IF (g_debug)
4536: THEN
4537: pay_in_utils.trace('**************************************************','********************');
4538: pay_in_utils.set_location(g_debug,'Input Paramters value is',20);
4533: l_procedure := g_package ||'prev_med_reimbursement';
4534: pay_in_utils.set_location(g_debug,'Entering: '||l_procedure,10);
4535: IF (g_debug)
4536: THEN
4537: pay_in_utils.trace('**************************************************','********************');
4538: pay_in_utils.set_location(g_debug,'Input Paramters value is',20);
4539: pay_in_utils.trace('p_assignment_id',p_assignment_id);
4540: pay_in_utils.trace('p_date_earned',p_date_earned);
4541:
4534: pay_in_utils.set_location(g_debug,'Entering: '||l_procedure,10);
4535: IF (g_debug)
4536: THEN
4537: pay_in_utils.trace('**************************************************','********************');
4538: pay_in_utils.set_location(g_debug,'Input Paramters value is',20);
4539: pay_in_utils.trace('p_assignment_id',p_assignment_id);
4540: pay_in_utils.trace('p_date_earned',p_date_earned);
4541:
4542: END IF;
4535: IF (g_debug)
4536: THEN
4537: pay_in_utils.trace('**************************************************','********************');
4538: pay_in_utils.set_location(g_debug,'Input Paramters value is',20);
4539: pay_in_utils.trace('p_assignment_id',p_assignment_id);
4540: pay_in_utils.trace('p_date_earned',p_date_earned);
4541:
4542: END IF;
4543:
4536: THEN
4537: pay_in_utils.trace('**************************************************','********************');
4538: pay_in_utils.set_location(g_debug,'Input Paramters value is',20);
4539: pay_in_utils.trace('p_assignment_id',p_assignment_id);
4540: pay_in_utils.trace('p_date_earned',p_date_earned);
4541:
4542: END IF;
4543:
4544: p_prev_med_reimburse_amt := 0;
4564: CLOSE c_prev_emp_details;
4565:
4566: IF (g_debug)
4567: THEN
4568: pay_in_utils.trace('p_prev_med_reimburse_amt',p_prev_med_reimburse_amt);
4569: END IF;
4570: pay_in_utils.trace('**************************************************','********************');
4571: pay_in_utils.set_location(g_debug,'Leaving: '||l_procedure,20);
4572:
4566: IF (g_debug)
4567: THEN
4568: pay_in_utils.trace('p_prev_med_reimburse_amt',p_prev_med_reimburse_amt);
4569: END IF;
4570: pay_in_utils.trace('**************************************************','********************');
4571: pay_in_utils.set_location(g_debug,'Leaving: '||l_procedure,20);
4572:
4573: RETURN p_prev_med_reimburse_amt;
4574:
4567: THEN
4568: pay_in_utils.trace('p_prev_med_reimburse_amt',p_prev_med_reimburse_amt);
4569: END IF;
4570: pay_in_utils.trace('**************************************************','********************');
4571: pay_in_utils.set_location(g_debug,'Leaving: '||l_procedure,20);
4572:
4573: RETURN p_prev_med_reimburse_amt;
4574:
4575: END prev_med_reimbursement;
4640: BEGIN
4641:
4642: g_debug := hr_utility.debug_enabled;
4643: l_procedure := g_package ||'get_value_prev_period';
4644: pay_in_utils.set_location(g_debug,'Entering: '||l_procedure,10);
4645:
4646:
4647: IF (g_debug)
4648: THEN
4645:
4646:
4647: IF (g_debug)
4648: THEN
4649: pay_in_utils.trace('**************************************************','********************');
4650: pay_in_utils.set_location(g_debug,'Input Paramters value is',20);
4651: pay_in_utils.trace('p_assignment_id ',p_assignment_id );
4652: pay_in_utils.trace('p_assignment_action_id ',p_assignment_action_id );
4653: pay_in_utils.trace('p_payroll_action_id',p_payroll_action_id);
4646:
4647: IF (g_debug)
4648: THEN
4649: pay_in_utils.trace('**************************************************','********************');
4650: pay_in_utils.set_location(g_debug,'Input Paramters value is',20);
4651: pay_in_utils.trace('p_assignment_id ',p_assignment_id );
4652: pay_in_utils.trace('p_assignment_action_id ',p_assignment_action_id );
4653: pay_in_utils.trace('p_payroll_action_id',p_payroll_action_id);
4654: pay_in_utils.trace('p_tax_unit_id',p_tax_unit_id);
4647: IF (g_debug)
4648: THEN
4649: pay_in_utils.trace('**************************************************','********************');
4650: pay_in_utils.set_location(g_debug,'Input Paramters value is',20);
4651: pay_in_utils.trace('p_assignment_id ',p_assignment_id );
4652: pay_in_utils.trace('p_assignment_action_id ',p_assignment_action_id );
4653: pay_in_utils.trace('p_payroll_action_id',p_payroll_action_id);
4654: pay_in_utils.trace('p_tax_unit_id',p_tax_unit_id);
4655: pay_in_utils.trace('p_balance_name',p_balance_name);
4648: THEN
4649: pay_in_utils.trace('**************************************************','********************');
4650: pay_in_utils.set_location(g_debug,'Input Paramters value is',20);
4651: pay_in_utils.trace('p_assignment_id ',p_assignment_id );
4652: pay_in_utils.trace('p_assignment_action_id ',p_assignment_action_id );
4653: pay_in_utils.trace('p_payroll_action_id',p_payroll_action_id);
4654: pay_in_utils.trace('p_tax_unit_id',p_tax_unit_id);
4655: pay_in_utils.trace('p_balance_name',p_balance_name);
4656: pay_in_utils.trace('p_le_start_date',p_le_start_date);
4649: pay_in_utils.trace('**************************************************','********************');
4650: pay_in_utils.set_location(g_debug,'Input Paramters value is',20);
4651: pay_in_utils.trace('p_assignment_id ',p_assignment_id );
4652: pay_in_utils.trace('p_assignment_action_id ',p_assignment_action_id );
4653: pay_in_utils.trace('p_payroll_action_id',p_payroll_action_id);
4654: pay_in_utils.trace('p_tax_unit_id',p_tax_unit_id);
4655: pay_in_utils.trace('p_balance_name',p_balance_name);
4656: pay_in_utils.trace('p_le_start_date',p_le_start_date);
4657: END IF;
4650: pay_in_utils.set_location(g_debug,'Input Paramters value is',20);
4651: pay_in_utils.trace('p_assignment_id ',p_assignment_id );
4652: pay_in_utils.trace('p_assignment_action_id ',p_assignment_action_id );
4653: pay_in_utils.trace('p_payroll_action_id',p_payroll_action_id);
4654: pay_in_utils.trace('p_tax_unit_id',p_tax_unit_id);
4655: pay_in_utils.trace('p_balance_name',p_balance_name);
4656: pay_in_utils.trace('p_le_start_date',p_le_start_date);
4657: END IF;
4658:
4651: pay_in_utils.trace('p_assignment_id ',p_assignment_id );
4652: pay_in_utils.trace('p_assignment_action_id ',p_assignment_action_id );
4653: pay_in_utils.trace('p_payroll_action_id',p_payroll_action_id);
4654: pay_in_utils.trace('p_tax_unit_id',p_tax_unit_id);
4655: pay_in_utils.trace('p_balance_name',p_balance_name);
4656: pay_in_utils.trace('p_le_start_date',p_le_start_date);
4657: END IF;
4658:
4659: OPEN c_recent_run_action;
4652: pay_in_utils.trace('p_assignment_action_id ',p_assignment_action_id );
4653: pay_in_utils.trace('p_payroll_action_id',p_payroll_action_id);
4654: pay_in_utils.trace('p_tax_unit_id',p_tax_unit_id);
4655: pay_in_utils.trace('p_balance_name',p_balance_name);
4656: pay_in_utils.trace('p_le_start_date',p_le_start_date);
4657: END IF;
4658:
4659: OPEN c_recent_run_action;
4660: FETCH c_recent_run_action INTO l_assignment_action_id ;
4680: ,p_source_number => null
4681: );
4682: IF (g_debug)
4683: THEN
4684: pay_in_utils.trace('l_balance_value',l_balance_value);
4685: END IF;
4686:
4687: END IF;
4688: pay_in_utils.trace('**************************************************','********************');
4684: pay_in_utils.trace('l_balance_value',l_balance_value);
4685: END IF;
4686:
4687: END IF;
4688: pay_in_utils.trace('**************************************************','********************');
4689: pay_in_utils.set_location(g_debug,'Leaving: '||l_procedure,30);
4690:
4691: RETURN l_balance_value;
4692: END get_value_prev_period;
4685: END IF;
4686:
4687: END IF;
4688: pay_in_utils.trace('**************************************************','********************');
4689: pay_in_utils.set_location(g_debug,'Leaving: '||l_procedure,30);
4690:
4691: RETURN l_balance_value;
4692: END get_value_prev_period;
4693:
4738:
4739: BEGIN
4740: g_debug := hr_utility.debug_enabled;
4741: l_procedure := g_package ||'get_regular_run_exists';
4742: pay_in_utils.set_location(g_debug,'Entering: '||l_procedure,10);
4743:
4744: IF (g_debug)
4745: THEN
4746: pay_in_utils.trace('**************************************************','********************');
4742: pay_in_utils.set_location(g_debug,'Entering: '||l_procedure,10);
4743:
4744: IF (g_debug)
4745: THEN
4746: pay_in_utils.trace('**************************************************','********************');
4747: pay_in_utils.set_location(g_debug,'Input Paramters value is',20);
4748: pay_in_utils.trace('p_assignment_action_id ',p_assignment_action_id );
4749: END IF;
4750:
4743:
4744: IF (g_debug)
4745: THEN
4746: pay_in_utils.trace('**************************************************','********************');
4747: pay_in_utils.set_location(g_debug,'Input Paramters value is',20);
4748: pay_in_utils.trace('p_assignment_action_id ',p_assignment_action_id );
4749: END IF;
4750:
4751:
4744: IF (g_debug)
4745: THEN
4746: pay_in_utils.trace('**************************************************','********************');
4747: pay_in_utils.set_location(g_debug,'Input Paramters value is',20);
4748: pay_in_utils.trace('p_assignment_action_id ',p_assignment_action_id );
4749: END IF;
4750:
4751:
4752: l_exists := 'N';
4754: OPEN csr_regular_run;
4755: FETCH csr_regular_run INTO l_exists;
4756: CLOSE csr_regular_run;
4757:
4758: pay_in_utils.set_location(g_debug, ' INDIA:l_exists '||l_exists,30);
4759: pay_in_utils.trace('**************************************************','********************');
4760: pay_in_utils.set_location(g_debug,'Leaving: '||l_procedure,40);
4761:
4762: RETURN l_exists;
4755: FETCH csr_regular_run INTO l_exists;
4756: CLOSE csr_regular_run;
4757:
4758: pay_in_utils.set_location(g_debug, ' INDIA:l_exists '||l_exists,30);
4759: pay_in_utils.trace('**************************************************','********************');
4760: pay_in_utils.set_location(g_debug,'Leaving: '||l_procedure,40);
4761:
4762: RETURN l_exists;
4763:
4756: CLOSE csr_regular_run;
4757:
4758: pay_in_utils.set_location(g_debug, ' INDIA:l_exists '||l_exists,30);
4759: pay_in_utils.trace('**************************************************','********************');
4760: pay_in_utils.set_location(g_debug,'Leaving: '||l_procedure,40);
4761:
4762: RETURN l_exists;
4763:
4764: END get_regular_run_exists;
4816: BEGIN
4817:
4818: g_debug := hr_utility.debug_enabled;
4819: l_procedure := g_package ||'bon_section_89_relief';
4820: pay_in_utils.set_location(g_debug,'Entering: '||l_procedure,10);
4821:
4822: IF (g_debug)
4823: THEN
4824: pay_in_utils.trace('**************************************************','********************');
4820: pay_in_utils.set_location(g_debug,'Entering: '||l_procedure,10);
4821:
4822: IF (g_debug)
4823: THEN
4824: pay_in_utils.trace('**************************************************','********************');
4825: pay_in_utils.set_location(g_debug,'Input Paramters value is',20);
4826: pay_in_utils.trace('p_business_group_id ',p_business_group_id );
4827: pay_in_utils.trace('p_assignment_id ',p_assignment_id );
4828: pay_in_utils.trace('p_retro_earnings_py ',p_retro_earnings_py );
4821:
4822: IF (g_debug)
4823: THEN
4824: pay_in_utils.trace('**************************************************','********************');
4825: pay_in_utils.set_location(g_debug,'Input Paramters value is',20);
4826: pay_in_utils.trace('p_business_group_id ',p_business_group_id );
4827: pay_in_utils.trace('p_assignment_id ',p_assignment_id );
4828: pay_in_utils.trace('p_retro_earnings_py ',p_retro_earnings_py );
4829: pay_in_utils.trace('p_retro_allw_exempt_py',p_retro_allw_exempt_py);
4822: IF (g_debug)
4823: THEN
4824: pay_in_utils.trace('**************************************************','********************');
4825: pay_in_utils.set_location(g_debug,'Input Paramters value is',20);
4826: pay_in_utils.trace('p_business_group_id ',p_business_group_id );
4827: pay_in_utils.trace('p_assignment_id ',p_assignment_id );
4828: pay_in_utils.trace('p_retro_earnings_py ',p_retro_earnings_py );
4829: pay_in_utils.trace('p_retro_allw_exempt_py',p_retro_allw_exempt_py);
4830: pay_in_utils.trace('p_emplr_class',p_emplr_class);
4823: THEN
4824: pay_in_utils.trace('**************************************************','********************');
4825: pay_in_utils.set_location(g_debug,'Input Paramters value is',20);
4826: pay_in_utils.trace('p_business_group_id ',p_business_group_id );
4827: pay_in_utils.trace('p_assignment_id ',p_assignment_id );
4828: pay_in_utils.trace('p_retro_earnings_py ',p_retro_earnings_py );
4829: pay_in_utils.trace('p_retro_allw_exempt_py',p_retro_allw_exempt_py);
4830: pay_in_utils.trace('p_emplr_class',p_emplr_class);
4831: pay_in_utils.trace('p_retro_ent_allw_py',p_retro_ent_allw_py);
4824: pay_in_utils.trace('**************************************************','********************');
4825: pay_in_utils.set_location(g_debug,'Input Paramters value is',20);
4826: pay_in_utils.trace('p_business_group_id ',p_business_group_id );
4827: pay_in_utils.trace('p_assignment_id ',p_assignment_id );
4828: pay_in_utils.trace('p_retro_earnings_py ',p_retro_earnings_py );
4829: pay_in_utils.trace('p_retro_allw_exempt_py',p_retro_allw_exempt_py);
4830: pay_in_utils.trace('p_emplr_class',p_emplr_class);
4831: pay_in_utils.trace('p_retro_ent_allw_py',p_retro_ent_allw_py);
4832: pay_in_utils.trace('p_pay_end_date',p_pay_end_date);
4825: pay_in_utils.set_location(g_debug,'Input Paramters value is',20);
4826: pay_in_utils.trace('p_business_group_id ',p_business_group_id );
4827: pay_in_utils.trace('p_assignment_id ',p_assignment_id );
4828: pay_in_utils.trace('p_retro_earnings_py ',p_retro_earnings_py );
4829: pay_in_utils.trace('p_retro_allw_exempt_py',p_retro_allw_exempt_py);
4830: pay_in_utils.trace('p_emplr_class',p_emplr_class);
4831: pay_in_utils.trace('p_retro_ent_allw_py',p_retro_ent_allw_py);
4832: pay_in_utils.trace('p_pay_end_date',p_pay_end_date);
4833: pay_in_utils.trace('p_tax_section_89',p_tax_section_89);
4826: pay_in_utils.trace('p_business_group_id ',p_business_group_id );
4827: pay_in_utils.trace('p_assignment_id ',p_assignment_id );
4828: pay_in_utils.trace('p_retro_earnings_py ',p_retro_earnings_py );
4829: pay_in_utils.trace('p_retro_allw_exempt_py',p_retro_allw_exempt_py);
4830: pay_in_utils.trace('p_emplr_class',p_emplr_class);
4831: pay_in_utils.trace('p_retro_ent_allw_py',p_retro_ent_allw_py);
4832: pay_in_utils.trace('p_pay_end_date',p_pay_end_date);
4833: pay_in_utils.trace('p_tax_section_89',p_tax_section_89);
4834: pay_in_utils.trace('p_tax_Pyble_Curr_Yr',p_tax_Pyble_Curr_Yr);
4827: pay_in_utils.trace('p_assignment_id ',p_assignment_id );
4828: pay_in_utils.trace('p_retro_earnings_py ',p_retro_earnings_py );
4829: pay_in_utils.trace('p_retro_allw_exempt_py',p_retro_allw_exempt_py);
4830: pay_in_utils.trace('p_emplr_class',p_emplr_class);
4831: pay_in_utils.trace('p_retro_ent_allw_py',p_retro_ent_allw_py);
4832: pay_in_utils.trace('p_pay_end_date',p_pay_end_date);
4833: pay_in_utils.trace('p_tax_section_89',p_tax_section_89);
4834: pay_in_utils.trace('p_tax_Pyble_Curr_Yr',p_tax_Pyble_Curr_Yr);
4835: pay_in_utils.trace('p_gender',p_gender);
4828: pay_in_utils.trace('p_retro_earnings_py ',p_retro_earnings_py );
4829: pay_in_utils.trace('p_retro_allw_exempt_py',p_retro_allw_exempt_py);
4830: pay_in_utils.trace('p_emplr_class',p_emplr_class);
4831: pay_in_utils.trace('p_retro_ent_allw_py',p_retro_ent_allw_py);
4832: pay_in_utils.trace('p_pay_end_date',p_pay_end_date);
4833: pay_in_utils.trace('p_tax_section_89',p_tax_section_89);
4834: pay_in_utils.trace('p_tax_Pyble_Curr_Yr',p_tax_Pyble_Curr_Yr);
4835: pay_in_utils.trace('p_gender',p_gender);
4836: pay_in_utils.trace('p_age',p_age);
4829: pay_in_utils.trace('p_retro_allw_exempt_py',p_retro_allw_exempt_py);
4830: pay_in_utils.trace('p_emplr_class',p_emplr_class);
4831: pay_in_utils.trace('p_retro_ent_allw_py',p_retro_ent_allw_py);
4832: pay_in_utils.trace('p_pay_end_date',p_pay_end_date);
4833: pay_in_utils.trace('p_tax_section_89',p_tax_section_89);
4834: pay_in_utils.trace('p_tax_Pyble_Curr_Yr',p_tax_Pyble_Curr_Yr);
4835: pay_in_utils.trace('p_gender',p_gender);
4836: pay_in_utils.trace('p_age',p_age);
4837: END IF;
4830: pay_in_utils.trace('p_emplr_class',p_emplr_class);
4831: pay_in_utils.trace('p_retro_ent_allw_py',p_retro_ent_allw_py);
4832: pay_in_utils.trace('p_pay_end_date',p_pay_end_date);
4833: pay_in_utils.trace('p_tax_section_89',p_tax_section_89);
4834: pay_in_utils.trace('p_tax_Pyble_Curr_Yr',p_tax_Pyble_Curr_Yr);
4835: pay_in_utils.trace('p_gender',p_gender);
4836: pay_in_utils.trace('p_age',p_age);
4837: END IF;
4838:
4831: pay_in_utils.trace('p_retro_ent_allw_py',p_retro_ent_allw_py);
4832: pay_in_utils.trace('p_pay_end_date',p_pay_end_date);
4833: pay_in_utils.trace('p_tax_section_89',p_tax_section_89);
4834: pay_in_utils.trace('p_tax_Pyble_Curr_Yr',p_tax_Pyble_Curr_Yr);
4835: pay_in_utils.trace('p_gender',p_gender);
4836: pay_in_utils.trace('p_age',p_age);
4837: END IF;
4838:
4839: Total_Income_wo_arrears := p_total_income
4832: pay_in_utils.trace('p_pay_end_date',p_pay_end_date);
4833: pay_in_utils.trace('p_tax_section_89',p_tax_section_89);
4834: pay_in_utils.trace('p_tax_Pyble_Curr_Yr',p_tax_Pyble_Curr_Yr);
4835: pay_in_utils.trace('p_gender',p_gender);
4836: pay_in_utils.trace('p_age',p_age);
4837: END IF;
4838:
4839: Total_Income_wo_arrears := p_total_income
4840: - p_retro_earnings_py
4844: Total_Income_wo_arrears := Total_Income_wo_arrears
4845: + p_retro_allw_exempt_py;
4846: END IF;
4847:
4848: pay_in_utils.set_location(g_debug, ' INDIA:Total_Income_wo_arrears '||Total_Income_wo_arrears,30);
4849:
4850: tax_payable_wo_arrears := get_income_tax( p_business_group_id
4851: ,p_assignment_id
4852: ,Total_Income_wo_arrears
4873: Tax_Difference_Prev_Year := p_tax_section_89;
4874:
4875: IF (g_debug)
4876: THEN
4877: pay_in_utils.trace('Tax_Difference_Curr_Year ',Tax_Difference_Curr_Year );
4878: pay_in_utils.trace('Tax_Difference_Prev_Year ',Tax_Difference_Prev_Year );
4879: END IF;
4880:
4881: l_sec89_relief_bon := ROUND(GREATEST(Tax_Difference_Curr_Year - Tax_Difference_Prev_Year,0),0);
4874:
4875: IF (g_debug)
4876: THEN
4877: pay_in_utils.trace('Tax_Difference_Curr_Year ',Tax_Difference_Curr_Year );
4878: pay_in_utils.trace('Tax_Difference_Prev_Year ',Tax_Difference_Prev_Year );
4879: END IF;
4880:
4881: l_sec89_relief_bon := ROUND(GREATEST(Tax_Difference_Curr_Year - Tax_Difference_Prev_Year,0),0);
4882:
4879: END IF;
4880:
4881: l_sec89_relief_bon := ROUND(GREATEST(Tax_Difference_Curr_Year - Tax_Difference_Prev_Year,0),0);
4882:
4883: pay_in_utils.set_location(g_debug, ' INDIA:l_sec89_relief_bon '||l_sec89_relief_bon,40);
4884: pay_in_utils.trace('**************************************************','********************');
4885: pay_in_utils.set_location(g_debug,'Leaving: '||l_procedure,50);
4886:
4887:
4880:
4881: l_sec89_relief_bon := ROUND(GREATEST(Tax_Difference_Curr_Year - Tax_Difference_Prev_Year,0),0);
4882:
4883: pay_in_utils.set_location(g_debug, ' INDIA:l_sec89_relief_bon '||l_sec89_relief_bon,40);
4884: pay_in_utils.trace('**************************************************','********************');
4885: pay_in_utils.set_location(g_debug,'Leaving: '||l_procedure,50);
4886:
4887:
4888: RETURN l_sec89_relief_bon;
4881: l_sec89_relief_bon := ROUND(GREATEST(Tax_Difference_Curr_Year - Tax_Difference_Prev_Year,0),0);
4882:
4883: pay_in_utils.set_location(g_debug, ' INDIA:l_sec89_relief_bon '||l_sec89_relief_bon,40);
4884: pay_in_utils.trace('**************************************************','********************');
4885: pay_in_utils.set_location(g_debug,'Leaving: '||l_procedure,50);
4886:
4887:
4888: RETURN l_sec89_relief_bon;
4889:
4968:
4969: /* 80gg Starts without bonus */
4970: g_debug := hr_utility.debug_enabled;
4971: l_procedure := g_package ||'bon_calculate_80g_gg';
4972: pay_in_utils.set_location(g_debug,'Entering: '||l_procedure,10);
4973:
4974:
4975: IF (g_debug)
4976: THEN
4973:
4974:
4975: IF (g_debug)
4976: THEN
4977: pay_in_utils.trace('**************************************************','********************');
4978: pay_in_utils.set_location(g_debug,'Input Paramters value is',20);
4979: pay_in_utils.trace('p_assact_id ',p_assact_id );
4980: pay_in_utils.trace('p_assignment_id ',p_assignment_id );
4981: pay_in_utils.trace('p_payroll_id ',p_payroll_id);
4974:
4975: IF (g_debug)
4976: THEN
4977: pay_in_utils.trace('**************************************************','********************');
4978: pay_in_utils.set_location(g_debug,'Input Paramters value is',20);
4979: pay_in_utils.trace('p_assact_id ',p_assact_id );
4980: pay_in_utils.trace('p_assignment_id ',p_assignment_id );
4981: pay_in_utils.trace('p_payroll_id ',p_payroll_id);
4982: pay_in_utils.trace('p_effective_date ',p_effective_date);
4975: IF (g_debug)
4976: THEN
4977: pay_in_utils.trace('**************************************************','********************');
4978: pay_in_utils.set_location(g_debug,'Input Paramters value is',20);
4979: pay_in_utils.trace('p_assact_id ',p_assact_id );
4980: pay_in_utils.trace('p_assignment_id ',p_assignment_id );
4981: pay_in_utils.trace('p_payroll_id ',p_payroll_id);
4982: pay_in_utils.trace('p_effective_date ',p_effective_date);
4983: pay_in_utils.trace('p_gross_Total_Income',p_gross_Total_Income);
4976: THEN
4977: pay_in_utils.trace('**************************************************','********************');
4978: pay_in_utils.set_location(g_debug,'Input Paramters value is',20);
4979: pay_in_utils.trace('p_assact_id ',p_assact_id );
4980: pay_in_utils.trace('p_assignment_id ',p_assignment_id );
4981: pay_in_utils.trace('p_payroll_id ',p_payroll_id);
4982: pay_in_utils.trace('p_effective_date ',p_effective_date);
4983: pay_in_utils.trace('p_gross_Total_Income',p_gross_Total_Income);
4984: pay_in_utils.trace('p_tot_via_exc_80gg_g',p_tot_via_exc_80gg_g);
4977: pay_in_utils.trace('**************************************************','********************');
4978: pay_in_utils.set_location(g_debug,'Input Paramters value is',20);
4979: pay_in_utils.trace('p_assact_id ',p_assact_id );
4980: pay_in_utils.trace('p_assignment_id ',p_assignment_id );
4981: pay_in_utils.trace('p_payroll_id ',p_payroll_id);
4982: pay_in_utils.trace('p_effective_date ',p_effective_date);
4983: pay_in_utils.trace('p_gross_Total_Income',p_gross_Total_Income);
4984: pay_in_utils.trace('p_tot_via_exc_80gg_g',p_tot_via_exc_80gg_g);
4985: pay_in_utils.trace('p_oth_inc ',p_oth_inc);
4978: pay_in_utils.set_location(g_debug,'Input Paramters value is',20);
4979: pay_in_utils.trace('p_assact_id ',p_assact_id );
4980: pay_in_utils.trace('p_assignment_id ',p_assignment_id );
4981: pay_in_utils.trace('p_payroll_id ',p_payroll_id);
4982: pay_in_utils.trace('p_effective_date ',p_effective_date);
4983: pay_in_utils.trace('p_gross_Total_Income',p_gross_Total_Income);
4984: pay_in_utils.trace('p_tot_via_exc_80gg_g',p_tot_via_exc_80gg_g);
4985: pay_in_utils.trace('p_oth_inc ',p_oth_inc);
4986: pay_in_utils.trace('p_80gg_periods ',p_80gg_periods);
4979: pay_in_utils.trace('p_assact_id ',p_assact_id );
4980: pay_in_utils.trace('p_assignment_id ',p_assignment_id );
4981: pay_in_utils.trace('p_payroll_id ',p_payroll_id);
4982: pay_in_utils.trace('p_effective_date ',p_effective_date);
4983: pay_in_utils.trace('p_gross_Total_Income',p_gross_Total_Income);
4984: pay_in_utils.trace('p_tot_via_exc_80gg_g',p_tot_via_exc_80gg_g);
4985: pay_in_utils.trace('p_oth_inc ',p_oth_inc);
4986: pay_in_utils.trace('p_80gg_periods ',p_80gg_periods);
4987: pay_in_utils.trace('p_start_period ',p_start_period);
4980: pay_in_utils.trace('p_assignment_id ',p_assignment_id );
4981: pay_in_utils.trace('p_payroll_id ',p_payroll_id);
4982: pay_in_utils.trace('p_effective_date ',p_effective_date);
4983: pay_in_utils.trace('p_gross_Total_Income',p_gross_Total_Income);
4984: pay_in_utils.trace('p_tot_via_exc_80gg_g',p_tot_via_exc_80gg_g);
4985: pay_in_utils.trace('p_oth_inc ',p_oth_inc);
4986: pay_in_utils.trace('p_80gg_periods ',p_80gg_periods);
4987: pay_in_utils.trace('p_start_period ',p_start_period);
4988: pay_in_utils.trace('p_end_period ',p_end_period);
4981: pay_in_utils.trace('p_payroll_id ',p_payroll_id);
4982: pay_in_utils.trace('p_effective_date ',p_effective_date);
4983: pay_in_utils.trace('p_gross_Total_Income',p_gross_Total_Income);
4984: pay_in_utils.trace('p_tot_via_exc_80gg_g',p_tot_via_exc_80gg_g);
4985: pay_in_utils.trace('p_oth_inc ',p_oth_inc);
4986: pay_in_utils.trace('p_80gg_periods ',p_80gg_periods);
4987: pay_in_utils.trace('p_start_period ',p_start_period);
4988: pay_in_utils.trace('p_end_period ',p_end_period);
4989: pay_in_utils.trace('p_flag ',p_flag);
4982: pay_in_utils.trace('p_effective_date ',p_effective_date);
4983: pay_in_utils.trace('p_gross_Total_Income',p_gross_Total_Income);
4984: pay_in_utils.trace('p_tot_via_exc_80gg_g',p_tot_via_exc_80gg_g);
4985: pay_in_utils.trace('p_oth_inc ',p_oth_inc);
4986: pay_in_utils.trace('p_80gg_periods ',p_80gg_periods);
4987: pay_in_utils.trace('p_start_period ',p_start_period);
4988: pay_in_utils.trace('p_end_period ',p_end_period);
4989: pay_in_utils.trace('p_flag ',p_flag);
4990: pay_in_utils.trace('p_exemptions_80g_ue ',p_exemptions_80g_ue);
4983: pay_in_utils.trace('p_gross_Total_Income',p_gross_Total_Income);
4984: pay_in_utils.trace('p_tot_via_exc_80gg_g',p_tot_via_exc_80gg_g);
4985: pay_in_utils.trace('p_oth_inc ',p_oth_inc);
4986: pay_in_utils.trace('p_80gg_periods ',p_80gg_periods);
4987: pay_in_utils.trace('p_start_period ',p_start_period);
4988: pay_in_utils.trace('p_end_period ',p_end_period);
4989: pay_in_utils.trace('p_flag ',p_flag);
4990: pay_in_utils.trace('p_exemptions_80g_ue ',p_exemptions_80g_ue);
4991: pay_in_utils.trace('p_exemptions_80g_le ',p_exemptions_80g_le);
4984: pay_in_utils.trace('p_tot_via_exc_80gg_g',p_tot_via_exc_80gg_g);
4985: pay_in_utils.trace('p_oth_inc ',p_oth_inc);
4986: pay_in_utils.trace('p_80gg_periods ',p_80gg_periods);
4987: pay_in_utils.trace('p_start_period ',p_start_period);
4988: pay_in_utils.trace('p_end_period ',p_end_period);
4989: pay_in_utils.trace('p_flag ',p_flag);
4990: pay_in_utils.trace('p_exemptions_80g_ue ',p_exemptions_80g_ue);
4991: pay_in_utils.trace('p_exemptions_80g_le ',p_exemptions_80g_le);
4992: pay_in_utils.trace('p_exemptions_80g_fp ',p_exemptions_80g_fp);
4985: pay_in_utils.trace('p_oth_inc ',p_oth_inc);
4986: pay_in_utils.trace('p_80gg_periods ',p_80gg_periods);
4987: pay_in_utils.trace('p_start_period ',p_start_period);
4988: pay_in_utils.trace('p_end_period ',p_end_period);
4989: pay_in_utils.trace('p_flag ',p_flag);
4990: pay_in_utils.trace('p_exemptions_80g_ue ',p_exemptions_80g_ue);
4991: pay_in_utils.trace('p_exemptions_80g_le ',p_exemptions_80g_le);
4992: pay_in_utils.trace('p_exemptions_80g_fp ',p_exemptions_80g_fp);
4993:
4986: pay_in_utils.trace('p_80gg_periods ',p_80gg_periods);
4987: pay_in_utils.trace('p_start_period ',p_start_period);
4988: pay_in_utils.trace('p_end_period ',p_end_period);
4989: pay_in_utils.trace('p_flag ',p_flag);
4990: pay_in_utils.trace('p_exemptions_80g_ue ',p_exemptions_80g_ue);
4991: pay_in_utils.trace('p_exemptions_80g_le ',p_exemptions_80g_le);
4992: pay_in_utils.trace('p_exemptions_80g_fp ',p_exemptions_80g_fp);
4993:
4994: END IF;
4987: pay_in_utils.trace('p_start_period ',p_start_period);
4988: pay_in_utils.trace('p_end_period ',p_end_period);
4989: pay_in_utils.trace('p_flag ',p_flag);
4990: pay_in_utils.trace('p_exemptions_80g_ue ',p_exemptions_80g_ue);
4991: pay_in_utils.trace('p_exemptions_80g_le ',p_exemptions_80g_le);
4992: pay_in_utils.trace('p_exemptions_80g_fp ',p_exemptions_80g_fp);
4993:
4994: END IF;
4995:
4988: pay_in_utils.trace('p_end_period ',p_end_period);
4989: pay_in_utils.trace('p_flag ',p_flag);
4990: pay_in_utils.trace('p_exemptions_80g_ue ',p_exemptions_80g_ue);
4991: pay_in_utils.trace('p_exemptions_80g_le ',p_exemptions_80g_le);
4992: pay_in_utils.trace('p_exemptions_80g_fp ',p_exemptions_80g_fp);
4993:
4994: END IF;
4995:
4996: p_dedn_Sec_80GG := 0;
5025: ,l_std_exem_percent
5026: ,p_start_period
5027: ,p_end_period
5028: ,p_flag);
5029: pay_in_utils.set_location(g_debug, ' INDIA:p_dedn_Sec_80GG '||p_dedn_Sec_80GG,30);
5030:
5031: /* Sec 80GG Ends */
5032:
5033: /* Sec 80G Starts with bonus */
5054: IF p_exemptions_80g_le <> 0 THEN
5055:
5056: adj_tot_income := GREATEST(l_total_income - p_oth_inc,0) ;
5057:
5058: pay_in_utils.set_location(g_debug, ' INDIA:adj_tot_income '||adj_tot_income,40);
5059:
5060: elig_amt := LEAST((p_exemptions_80g_le + p_exemptions_80g_fp),
5061: l_don_charity_80g * adj_tot_income) ;
5062:
5059:
5060: elig_amt := LEAST((p_exemptions_80g_le + p_exemptions_80g_fp),
5061: l_don_charity_80g * adj_tot_income) ;
5062:
5063: pay_in_utils.set_location(g_debug, ' INDIA:elig_amt '||elig_amt,40);
5064:
5065: IF elig_amt < p_exemptions_80g_fp THEN
5066: p_dedn_Sec_80G_LE := elig_amt;
5067: ELSE
5083: + p_dedn_Sec_80G_FP;
5084:
5085: IF (g_debug)
5086: THEN
5087: pay_in_utils.trace('p_dedn_Sec_80GG ',p_dedn_Sec_80GG);
5088: pay_in_utils.trace('p_dedn_Sec_80G ',p_dedn_Sec_80G);
5089: pay_in_utils.trace('p_dedn_Sec_80G_UE ',p_dedn_Sec_80G_UE);
5090: pay_in_utils.trace('p_dedn_Sec_80G_LE ',p_dedn_Sec_80G_LE);
5091: pay_in_utils.trace('p_Dedn_Sec_80G_FP ',p_Dedn_Sec_80G_FP);
5084:
5085: IF (g_debug)
5086: THEN
5087: pay_in_utils.trace('p_dedn_Sec_80GG ',p_dedn_Sec_80GG);
5088: pay_in_utils.trace('p_dedn_Sec_80G ',p_dedn_Sec_80G);
5089: pay_in_utils.trace('p_dedn_Sec_80G_UE ',p_dedn_Sec_80G_UE);
5090: pay_in_utils.trace('p_dedn_Sec_80G_LE ',p_dedn_Sec_80G_LE);
5091: pay_in_utils.trace('p_Dedn_Sec_80G_FP ',p_Dedn_Sec_80G_FP);
5092: pay_in_utils.trace('p_adj_total_income ',p_adj_total_income);
5085: IF (g_debug)
5086: THEN
5087: pay_in_utils.trace('p_dedn_Sec_80GG ',p_dedn_Sec_80GG);
5088: pay_in_utils.trace('p_dedn_Sec_80G ',p_dedn_Sec_80G);
5089: pay_in_utils.trace('p_dedn_Sec_80G_UE ',p_dedn_Sec_80G_UE);
5090: pay_in_utils.trace('p_dedn_Sec_80G_LE ',p_dedn_Sec_80G_LE);
5091: pay_in_utils.trace('p_Dedn_Sec_80G_FP ',p_Dedn_Sec_80G_FP);
5092: pay_in_utils.trace('p_adj_total_income ',p_adj_total_income);
5093: pay_in_utils.trace('**************************************************','********************');
5086: THEN
5087: pay_in_utils.trace('p_dedn_Sec_80GG ',p_dedn_Sec_80GG);
5088: pay_in_utils.trace('p_dedn_Sec_80G ',p_dedn_Sec_80G);
5089: pay_in_utils.trace('p_dedn_Sec_80G_UE ',p_dedn_Sec_80G_UE);
5090: pay_in_utils.trace('p_dedn_Sec_80G_LE ',p_dedn_Sec_80G_LE);
5091: pay_in_utils.trace('p_Dedn_Sec_80G_FP ',p_Dedn_Sec_80G_FP);
5092: pay_in_utils.trace('p_adj_total_income ',p_adj_total_income);
5093: pay_in_utils.trace('**************************************************','********************');
5094: END IF;
5087: pay_in_utils.trace('p_dedn_Sec_80GG ',p_dedn_Sec_80GG);
5088: pay_in_utils.trace('p_dedn_Sec_80G ',p_dedn_Sec_80G);
5089: pay_in_utils.trace('p_dedn_Sec_80G_UE ',p_dedn_Sec_80G_UE);
5090: pay_in_utils.trace('p_dedn_Sec_80G_LE ',p_dedn_Sec_80G_LE);
5091: pay_in_utils.trace('p_Dedn_Sec_80G_FP ',p_Dedn_Sec_80G_FP);
5092: pay_in_utils.trace('p_adj_total_income ',p_adj_total_income);
5093: pay_in_utils.trace('**************************************************','********************');
5094: END IF;
5095: pay_in_utils.set_location(g_debug,'Leaving: '||l_procedure,50);
5088: pay_in_utils.trace('p_dedn_Sec_80G ',p_dedn_Sec_80G);
5089: pay_in_utils.trace('p_dedn_Sec_80G_UE ',p_dedn_Sec_80G_UE);
5090: pay_in_utils.trace('p_dedn_Sec_80G_LE ',p_dedn_Sec_80G_LE);
5091: pay_in_utils.trace('p_Dedn_Sec_80G_FP ',p_Dedn_Sec_80G_FP);
5092: pay_in_utils.trace('p_adj_total_income ',p_adj_total_income);
5093: pay_in_utils.trace('**************************************************','********************');
5094: END IF;
5095: pay_in_utils.set_location(g_debug,'Leaving: '||l_procedure,50);
5096:
5089: pay_in_utils.trace('p_dedn_Sec_80G_UE ',p_dedn_Sec_80G_UE);
5090: pay_in_utils.trace('p_dedn_Sec_80G_LE ',p_dedn_Sec_80G_LE);
5091: pay_in_utils.trace('p_Dedn_Sec_80G_FP ',p_Dedn_Sec_80G_FP);
5092: pay_in_utils.trace('p_adj_total_income ',p_adj_total_income);
5093: pay_in_utils.trace('**************************************************','********************');
5094: END IF;
5095: pay_in_utils.set_location(g_debug,'Leaving: '||l_procedure,50);
5096:
5097: RETURN 0;
5091: pay_in_utils.trace('p_Dedn_Sec_80G_FP ',p_Dedn_Sec_80G_FP);
5092: pay_in_utils.trace('p_adj_total_income ',p_adj_total_income);
5093: pay_in_utils.trace('**************************************************','********************');
5094: END IF;
5095: pay_in_utils.set_location(g_debug,'Leaving: '||l_procedure,50);
5096:
5097: RETURN 0;
5098:
5099: END bon_calculate_80g_gg;