52: l_procedure := g_package || 'range_code';
53: -- Call core package to return SQL string to SELECT a range
54: -- of assignments eligible for archival
55: --
56: pay_in_utils.set_location(g_debug,'Entering: '||l_procedure,10);
57: pay_core_payslip_utils.range_cursor(p_payroll_action_id
58: ,p_sql);
59: pay_in_utils.set_location(g_debug,'Leaving : '||l_procedure, 20);
60: --
55: --
56: pay_in_utils.set_location(g_debug,'Entering: '||l_procedure,10);
57: pay_core_payslip_utils.range_cursor(p_payroll_action_id
58: ,p_sql);
59: pay_in_utils.set_location(g_debug,'Leaving : '||l_procedure, 20);
60: --
61: EXCEPTION
62: WHEN OTHERS THEN
63: l_message := pay_in_utils.get_pay_message('PER_IN_ORACLE_GENERIC_ERROR', 'FUNCTION:'||l_procedure, 'SQLERRMC:'||sqlerrm);
59: pay_in_utils.set_location(g_debug,'Leaving : '||l_procedure, 20);
60: --
61: EXCEPTION
62: WHEN OTHERS THEN
63: l_message := pay_in_utils.get_pay_message('PER_IN_ORACLE_GENERIC_ERROR', 'FUNCTION:'||l_procedure, 'SQLERRMC:'||sqlerrm);
64: pay_in_utils.set_location(g_debug,'Leaving : '||l_procedure, 30);
65: pay_in_utils.trace(l_message,l_procedure);
66: RAISE;
67: --
60: --
61: EXCEPTION
62: WHEN OTHERS THEN
63: l_message := pay_in_utils.get_pay_message('PER_IN_ORACLE_GENERIC_ERROR', 'FUNCTION:'||l_procedure, 'SQLERRMC:'||sqlerrm);
64: pay_in_utils.set_location(g_debug,'Leaving : '||l_procedure, 30);
65: pay_in_utils.trace(l_message,l_procedure);
66: RAISE;
67: --
68: END range_code;
61: EXCEPTION
62: WHEN OTHERS THEN
63: l_message := pay_in_utils.get_pay_message('PER_IN_ORACLE_GENERIC_ERROR', 'FUNCTION:'||l_procedure, 'SQLERRMC:'||sqlerrm);
64: pay_in_utils.set_location(g_debug,'Leaving : '||l_procedure, 30);
65: pay_in_utils.trace(l_message,l_procedure);
66: RAISE;
67: --
68: END range_code;
69:
109: BEGIN
110:
111:
112: l_procedure := g_package ||'get_parameters';
113: pay_in_utils.set_location(g_debug,'Entering: '||l_procedure,10);
114:
115:
116: IF g_debug THEN
117: pay_in_utils.trace('Payroll Action id ',p_payroll_action_id);
113: pay_in_utils.set_location(g_debug,'Entering: '||l_procedure,10);
114:
115:
116: IF g_debug THEN
117: pay_in_utils.trace('Payroll Action id ',p_payroll_action_id);
118: pay_in_utils.trace('Token Name ',p_token_name);
119: END IF;
120:
121:
114:
115:
116: IF g_debug THEN
117: pay_in_utils.trace('Payroll Action id ',p_payroll_action_id);
118: pay_in_utils.trace('Token Name ',p_token_name);
119: END IF;
120:
121:
122: OPEN csr_parameter_info(p_payroll_action_id,
136: p_token_value := '%';
137: END IF;
138:
139: IF g_debug THEN
140: pay_in_utils.trace('Token Value ',p_token_value);
141: END IF;
142:
143: pay_in_utils.set_location(g_debug,'Leaving : '||l_procedure, 20);
144:
139: IF g_debug THEN
140: pay_in_utils.trace('Token Value ',p_token_value);
141: END IF;
142:
143: pay_in_utils.set_location(g_debug,'Leaving : '||l_procedure, 20);
144:
145:
146: END get_parameters;
147: --------------------------------------------------------------------------
176: --
177: g_debug := hr_utility.debug_enabled;
178: l_procedure := g_package || 'initialization_code';
179:
180: pay_in_utils.set_location(g_debug,'Entering: '||l_procedure,10);
181:
182: g_archive_pact := p_payroll_action_id;
183:
184: IF g_debug THEN
181:
182: g_archive_pact := p_payroll_action_id;
183:
184: IF g_debug THEN
185: pay_in_utils.trace('Payroll Action id ',p_payroll_action_id);
186: END IF;
187:
188: get_parameters(p_payroll_action_id,'YEAR',g_year);
189: get_parameters(p_payroll_action_id,'GRE',g_gre_id);
194: INTO g_system_date
195: FROM fnd_sessions
196: WHERE session_id = USERENV('sessionid');
197:
198: pay_in_utils.set_location(g_debug,l_procedure, 20);
199:
200: g_start_date := fnd_date.string_to_date(('01/04/'|| SUBSTR(g_year,1,4)),'DD/MM/YYYY');
201: g_end_date := fnd_date.string_to_date(('31/03/'|| SUBSTR(g_year,6)),'DD/MM/YYYY');
202:
206: SELECT FND_PROFILE.VALUE('PER_BUSINESS_GROUP_ID')
207: INTO g_bg_id
208: FROM dual;
209:
210: pay_in_utils.set_location(g_debug,'Leaving : '||l_procedure, 30);
211: --
212: EXCEPTION
213: WHEN OTHERS THEN
214: l_message := pay_in_utils.get_pay_message('PER_IN_ORACLE_GENERIC_ERROR', 'FUNCTION:'||l_procedure, 'SQLERRMC:'||sqlerrm);
210: pay_in_utils.set_location(g_debug,'Leaving : '||l_procedure, 30);
211: --
212: EXCEPTION
213: WHEN OTHERS THEN
214: l_message := pay_in_utils.get_pay_message('PER_IN_ORACLE_GENERIC_ERROR', 'FUNCTION:'||l_procedure, 'SQLERRMC:'||sqlerrm);
215: pay_in_utils.set_location(g_debug,'Leaving : '||l_procedure, 40);
216: pay_in_utils.trace(l_message,l_procedure);
217: RAISE;
218: END initialization_code;
211: --
212: EXCEPTION
213: WHEN OTHERS THEN
214: l_message := pay_in_utils.get_pay_message('PER_IN_ORACLE_GENERIC_ERROR', 'FUNCTION:'||l_procedure, 'SQLERRMC:'||sqlerrm);
215: pay_in_utils.set_location(g_debug,'Leaving : '||l_procedure, 40);
216: pay_in_utils.trace(l_message,l_procedure);
217: RAISE;
218: END initialization_code;
219:
212: EXCEPTION
213: WHEN OTHERS THEN
214: l_message := pay_in_utils.get_pay_message('PER_IN_ORACLE_GENERIC_ERROR', 'FUNCTION:'||l_procedure, 'SQLERRMC:'||sqlerrm);
215: pay_in_utils.set_location(g_debug,'Leaving : '||l_procedure, 40);
216: pay_in_utils.trace(l_message,l_procedure);
217: RAISE;
218: END initialization_code;
219:
220:
307: --
308: BEGIN
309:
310: l_procedure := g_package ||'process_employee_type';
311: pay_in_utils.set_location(g_debug,'Entering: '||l_procedure,10);
312:
313: -- Determine the presence of an asg in a GRE, if GRE was specified.
314: IF (g_gre_id <> '%')
315: THEN
312:
313: -- Determine the presence of an asg in a GRE, if GRE was specified.
314: IF (g_gre_id <> '%')
315: THEN
316: pay_in_utils.set_location(g_debug,l_procedure, 20);
317: OPEN c_gre_employee;
318: FETCH c_gre_employee INTO l_flag;
319: CLOSE c_gre_employee;
320: -- Added NVL for bug 4964645
318: FETCH c_gre_employee INTO l_flag;
319: CLOSE c_gre_employee;
320: -- Added NVL for bug 4964645
321: IF (NVL(l_flag,-1) <> 1) THEN
322: pay_in_utils.set_location(g_debug,l_procedure, 30);
323: RETURN FALSE;
324: END IF;
325:
326: END IF;
331: CLOSE c_termination_check;
332: --
333: l_flag := NULL;
334: --
335: pay_in_utils.set_location(g_debug,l_procedure, 20);
336: IF (g_employee_type NOT IN('ALL','CURRENT'))
337: THEN
338: pay_in_utils.set_location(g_debug,l_procedure, 30);
339: --Checking for terminated and transferred cases.
334: --
335: pay_in_utils.set_location(g_debug,l_procedure, 20);
336: IF (g_employee_type NOT IN('ALL','CURRENT'))
337: THEN
338: pay_in_utils.set_location(g_debug,l_procedure, 30);
339: --Checking for terminated and transferred cases.
340: IF (g_term_date BETWEEN g_start_date AND g_end_date-1)
341: THEN
342: RETURN TRUE;
345: l_flag := NULL;
346: OPEN c_gre_count;
347: FETCH c_gre_count INTO l_flag;
348: CLOSE c_gre_count;
349: pay_in_utils.set_location(g_debug,l_procedure, 40);
350: IF (l_flag < 2)
351: THEN
352: pay_in_utils.set_location(g_debug,l_procedure, 50);
353: RETURN FALSE; /* This assignment did not go any change in GRE/Legal entity and hence
348: CLOSE c_gre_count;
349: pay_in_utils.set_location(g_debug,l_procedure, 40);
350: IF (l_flag < 2)
351: THEN
352: pay_in_utils.set_location(g_debug,l_procedure, 50);
353: RETURN FALSE; /* This assignment did not go any change in GRE/Legal entity and hence
354: returning false */
355: ELSIF(g_gre_id = '%') THEN
356: pay_in_utils.set_location(g_debug,l_procedure, 60);
352: pay_in_utils.set_location(g_debug,l_procedure, 50);
353: RETURN FALSE; /* This assignment did not go any change in GRE/Legal entity and hence
354: returning false */
355: ELSIF(g_gre_id = '%') THEN
356: pay_in_utils.set_location(g_debug,l_procedure, 60);
357: RETURN TRUE; /* Returning true as this asg had changes in GRE/Legal Entity. */
358: ELSE
359: pay_in_utils.set_location(g_debug,l_procedure, 70);
360: l_flag := NULL; -- This assignment was attached to the specified GRE.
355: ELSIF(g_gre_id = '%') THEN
356: pay_in_utils.set_location(g_debug,l_procedure, 60);
357: RETURN TRUE; /* Returning true as this asg had changes in GRE/Legal Entity. */
358: ELSE
359: pay_in_utils.set_location(g_debug,l_procedure, 70);
360: l_flag := NULL; -- This assignment was attached to the specified GRE.
361: OPEN c_gre_id; -- Now check for transfer. For this check the GRE as on the
362: FETCH c_gre_id INTO l_flag; -- last day of financial year. If its same, then there was
363: CLOSE c_gre_id; -- no transfer and return false, else return true.
370: END IF;
371: ELSE
372: --Start Checking for Regular Employee, i.e the employees who are attached to the specified GRE
373: --as on the last day of the financial year.
374: pay_in_utils.set_location(g_debug,l_procedure, 80);
375: IF (g_term_date >= g_end_date)
376: THEN -- Employee is a regular one.
377: pay_in_utils.set_location(g_debug,l_procedure, 90);
378: IF(g_gre_id = '%')
373: --as on the last day of the financial year.
374: pay_in_utils.set_location(g_debug,l_procedure, 80);
375: IF (g_term_date >= g_end_date)
376: THEN -- Employee is a regular one.
377: pay_in_utils.set_location(g_debug,l_procedure, 90);
378: IF(g_gre_id = '%')
379: THEN
380: RETURN TRUE;
381: ELSE
389: RETURN FALSE;
390: END IF;
391: END IF;
392: ELSE
393: pay_in_utils.set_location(g_debug,l_procedure, 100);
394: IF (g_employee_type ='ALL')
395: THEN
396: RETURN TRUE;
397: ELSE
463: BEGIN
464: --
465: l_procedure := g_package || 'assignment_action_code';
466: g_debug := hr_utility.debug_enabled;
467: pay_in_utils.set_location(g_debug,'Entering: '||l_procedure,10);
468:
469: get_parameters(p_payroll_action_id,'BG_ID',l_bg_id);
470: get_parameters(p_payroll_action_id,'YEAR',g_year);
471: get_parameters(p_payroll_action_id,'GRE',g_gre_id);
470: get_parameters(p_payroll_action_id,'YEAR',g_year);
471: get_parameters(p_payroll_action_id,'GRE',g_gre_id);
472: get_parameters(p_payroll_action_id,'EMPLOYEE_TYPE',g_employee_type);
473:
474: pay_in_utils.set_location(g_debug,l_procedure, 20);
475: SELECT TRUNC(effective_date)
476: INTO g_system_date
477: FROM fnd_sessions
478: WHERE session_id = USERENV('sessionid');
486:
487: g_start_date := ADD_MONTHS(g_start_date,-12);
488: g_end_date := ADD_MONTHS(g_end_date,-12);
489:
490: pay_in_utils.set_location(g_debug,l_procedure, 30);
491:
492:
493: FOR csr_rec IN c_process_assignments
494: LOOP
491:
492:
493: FOR csr_rec IN c_process_assignments
494: LOOP
495: pay_in_utils.set_location(g_debug,l_procedure, 40);
496: l_flag := FALSE;
497:
498: IF g_debug THEN
499: pay_in_utils.trace('Assignment id ',csr_rec.assignment_id);
495: pay_in_utils.set_location(g_debug,l_procedure, 40);
496: l_flag := FALSE;
497:
498: IF g_debug THEN
499: pay_in_utils.trace('Assignment id ',csr_rec.assignment_id);
500: END IF;
501:
502:
503: l_flag := process_employee_type(p_employee_type => g_employee_type
503: l_flag := process_employee_type(p_employee_type => g_employee_type
504: ,p_assignment_id => csr_rec.assignment_id
505: ,p_gre_id => g_gre_id);
506: IF (l_flag = TRUE) THEN
507: pay_in_utils.set_location(g_debug,l_procedure, 50);
508: SELECT pay_assignment_actions_s.NEXTVAL
509: INTO l_action_id
510: FROM dual;
511:
516: );
517: END IF;
518:
519: END LOOP;
520: pay_in_utils.set_location(g_debug,'Leaving : '||l_procedure, 60);
521: --
522: EXCEPTION
523: WHEN OTHERS THEN
524: l_message := pay_in_utils.get_pay_message('PER_IN_ORACLE_GENERIC_ERROR', 'FUNCTION:'||l_procedure, 'SQLERRMC:'||sqlerrm);
520: pay_in_utils.set_location(g_debug,'Leaving : '||l_procedure, 60);
521: --
522: EXCEPTION
523: WHEN OTHERS THEN
524: l_message := pay_in_utils.get_pay_message('PER_IN_ORACLE_GENERIC_ERROR', 'FUNCTION:'||l_procedure, 'SQLERRMC:'||sqlerrm);
525: pay_in_utils.set_location(g_debug,'Leaving : '||l_procedure, 70);
526: pay_in_utils.trace(l_message,l_procedure);
527: RAISE;
528: END assignment_action_code;
521: --
522: EXCEPTION
523: WHEN OTHERS THEN
524: l_message := pay_in_utils.get_pay_message('PER_IN_ORACLE_GENERIC_ERROR', 'FUNCTION:'||l_procedure, 'SQLERRMC:'||sqlerrm);
525: pay_in_utils.set_location(g_debug,'Leaving : '||l_procedure, 70);
526: pay_in_utils.trace(l_message,l_procedure);
527: RAISE;
528: END assignment_action_code;
529:
522: EXCEPTION
523: WHEN OTHERS THEN
524: l_message := pay_in_utils.get_pay_message('PER_IN_ORACLE_GENERIC_ERROR', 'FUNCTION:'||l_procedure, 'SQLERRMC:'||sqlerrm);
525: pay_in_utils.set_location(g_debug,'Leaving : '||l_procedure, 70);
526: pay_in_utils.trace(l_message,l_procedure);
527: RAISE;
528: END assignment_action_code;
529:
530: --------------------------------------------------------------------------
669:
670: BEGIN
671:
672: l_procedure := g_package ||'archive_person_data';
673: pay_in_utils.set_location(g_debug,'Entering: '||l_procedure,10);
674:
675: IF g_debug THEN
676: pay_in_utils.trace('Run Assignment Action id ',p_run_asg_action_id);
677: pay_in_utils.trace('Archive Assignment Action id ',p_arc_asg_action_id);
672: l_procedure := g_package ||'archive_person_data';
673: pay_in_utils.set_location(g_debug,'Entering: '||l_procedure,10);
674:
675: IF g_debug THEN
676: pay_in_utils.trace('Run Assignment Action id ',p_run_asg_action_id);
677: pay_in_utils.trace('Archive Assignment Action id ',p_arc_asg_action_id);
678: pay_in_utils.trace('Archive payroll Action id ',p_arc_payroll_act_id);
679: pay_in_utils.trace('Prepayment Date ',p_prepayment_date);
680: pay_in_utils.trace('Assignment id ',p_assignment_id);
673: pay_in_utils.set_location(g_debug,'Entering: '||l_procedure,10);
674:
675: IF g_debug THEN
676: pay_in_utils.trace('Run Assignment Action id ',p_run_asg_action_id);
677: pay_in_utils.trace('Archive Assignment Action id ',p_arc_asg_action_id);
678: pay_in_utils.trace('Archive payroll Action id ',p_arc_payroll_act_id);
679: pay_in_utils.trace('Prepayment Date ',p_prepayment_date);
680: pay_in_utils.trace('Assignment id ',p_assignment_id);
681: pay_in_utils.trace('GRE id ',p_gre_id);
674:
675: IF g_debug THEN
676: pay_in_utils.trace('Run Assignment Action id ',p_run_asg_action_id);
677: pay_in_utils.trace('Archive Assignment Action id ',p_arc_asg_action_id);
678: pay_in_utils.trace('Archive payroll Action id ',p_arc_payroll_act_id);
679: pay_in_utils.trace('Prepayment Date ',p_prepayment_date);
680: pay_in_utils.trace('Assignment id ',p_assignment_id);
681: pay_in_utils.trace('GRE id ',p_gre_id);
682: pay_in_utils.trace('Payroll Run Date ',p_payroll_run_date);
675: IF g_debug THEN
676: pay_in_utils.trace('Run Assignment Action id ',p_run_asg_action_id);
677: pay_in_utils.trace('Archive Assignment Action id ',p_arc_asg_action_id);
678: pay_in_utils.trace('Archive payroll Action id ',p_arc_payroll_act_id);
679: pay_in_utils.trace('Prepayment Date ',p_prepayment_date);
680: pay_in_utils.trace('Assignment id ',p_assignment_id);
681: pay_in_utils.trace('GRE id ',p_gre_id);
682: pay_in_utils.trace('Payroll Run Date ',p_payroll_run_date);
683: pay_in_utils.trace('Effective Start Date ',p_effective_start_date);
676: pay_in_utils.trace('Run Assignment Action id ',p_run_asg_action_id);
677: pay_in_utils.trace('Archive Assignment Action id ',p_arc_asg_action_id);
678: pay_in_utils.trace('Archive payroll Action id ',p_arc_payroll_act_id);
679: pay_in_utils.trace('Prepayment Date ',p_prepayment_date);
680: pay_in_utils.trace('Assignment id ',p_assignment_id);
681: pay_in_utils.trace('GRE id ',p_gre_id);
682: pay_in_utils.trace('Payroll Run Date ',p_payroll_run_date);
683: pay_in_utils.trace('Effective Start Date ',p_effective_start_date);
684: pay_in_utils.trace('Effective End Date ',p_effective_end_date);
677: pay_in_utils.trace('Archive Assignment Action id ',p_arc_asg_action_id);
678: pay_in_utils.trace('Archive payroll Action id ',p_arc_payroll_act_id);
679: pay_in_utils.trace('Prepayment Date ',p_prepayment_date);
680: pay_in_utils.trace('Assignment id ',p_assignment_id);
681: pay_in_utils.trace('GRE id ',p_gre_id);
682: pay_in_utils.trace('Payroll Run Date ',p_payroll_run_date);
683: pay_in_utils.trace('Effective Start Date ',p_effective_start_date);
684: pay_in_utils.trace('Effective End Date ',p_effective_end_date);
685: END IF;
678: pay_in_utils.trace('Archive payroll Action id ',p_arc_payroll_act_id);
679: pay_in_utils.trace('Prepayment Date ',p_prepayment_date);
680: pay_in_utils.trace('Assignment id ',p_assignment_id);
681: pay_in_utils.trace('GRE id ',p_gre_id);
682: pay_in_utils.trace('Payroll Run Date ',p_payroll_run_date);
683: pay_in_utils.trace('Effective Start Date ',p_effective_start_date);
684: pay_in_utils.trace('Effective End Date ',p_effective_end_date);
685: END IF;
686:
679: pay_in_utils.trace('Prepayment Date ',p_prepayment_date);
680: pay_in_utils.trace('Assignment id ',p_assignment_id);
681: pay_in_utils.trace('GRE id ',p_gre_id);
682: pay_in_utils.trace('Payroll Run Date ',p_payroll_run_date);
683: pay_in_utils.trace('Effective Start Date ',p_effective_start_date);
684: pay_in_utils.trace('Effective End Date ',p_effective_end_date);
685: END IF;
686:
687: OPEN c_emp_no;
680: pay_in_utils.trace('Assignment id ',p_assignment_id);
681: pay_in_utils.trace('GRE id ',p_gre_id);
682: pay_in_utils.trace('Payroll Run Date ',p_payroll_run_date);
683: pay_in_utils.trace('Effective Start Date ',p_effective_start_date);
684: pay_in_utils.trace('Effective End Date ',p_effective_end_date);
685: END IF;
686:
687: OPEN c_emp_no;
688: FETCH c_emp_no INTO l_emp_no,l_person_id,l_interest,l_pan,l_name,l_emp_title,l_dob,l_gender,l_residential_status;
697: OPEN c_pos;
698: FETCH c_pos INTO l_pos;
699: CLOSE c_pos;
700:
701: pay_in_utils.set_location(g_debug,l_procedure, 20);
702:
703: OPEN c_father_name(l_person_id);
704: FETCH c_father_name INTO l_father_name,l_emp_fath_title;
705: CLOSE c_father_name;
710:
711: OPEN c_phone(l_person_id);
712: FETCH c_phone INTO l_phone_no,l_phone_type;
713: CLOSE c_phone;
714: pay_in_utils.set_location(g_debug,l_procedure, 30);
715: --
716: -- Bug 4621622 : Added this code to handle termination case
717: --
718: IF p_effective_start_date > p_effective_end_date THEN
722: END IF;
723: --
724: -- Bug 4621622 changes end
725: --
726: pay_in_utils.set_location(g_debug,l_procedure, 40);
727:
728: pay_action_information_api.create_action_information
729: (p_action_context_id => p_arc_asg_action_id
730: ,p_action_context_type => 'AAP'
757: ,p_object_version_number => l_ovn
758: );
759:
760: IF g_debug THEN
761: pay_in_utils.trace('Employee Name ',l_name);
762: pay_in_utils.trace('Employee Number ',l_emp_no);
763: pay_in_utils.trace('Start Date ',p_effective_start_date);
764: pay_in_utils.trace('End Date ',l_effective_end_date);
765: END IF;
758: );
759:
760: IF g_debug THEN
761: pay_in_utils.trace('Employee Name ',l_name);
762: pay_in_utils.trace('Employee Number ',l_emp_no);
763: pay_in_utils.trace('Start Date ',p_effective_start_date);
764: pay_in_utils.trace('End Date ',l_effective_end_date);
765: END IF;
766:
759:
760: IF g_debug THEN
761: pay_in_utils.trace('Employee Name ',l_name);
762: pay_in_utils.trace('Employee Number ',l_emp_no);
763: pay_in_utils.trace('Start Date ',p_effective_start_date);
764: pay_in_utils.trace('End Date ',l_effective_end_date);
765: END IF;
766:
767: pay_in_utils.set_location(g_debug,'Leaving : '||l_procedure, 50);
760: IF g_debug THEN
761: pay_in_utils.trace('Employee Name ',l_name);
762: pay_in_utils.trace('Employee Number ',l_emp_no);
763: pay_in_utils.trace('Start Date ',p_effective_start_date);
764: pay_in_utils.trace('End Date ',l_effective_end_date);
765: END IF;
766:
767: pay_in_utils.set_location(g_debug,'Leaving : '||l_procedure, 50);
768:
763: pay_in_utils.trace('Start Date ',p_effective_start_date);
764: pay_in_utils.trace('End Date ',l_effective_end_date);
765: END IF;
766:
767: pay_in_utils.set_location(g_debug,'Leaving : '||l_procedure, 50);
768:
769: END archive_person_data;
770:
771: --------------------------------------------------------------------------
796:
797: BEGIN
798:
799: l_procedure := g_package ||'balance_difference';
800: pay_in_utils.set_location(g_debug,'Entering: '||l_procedure,10);
801:
802: FOR i IN 1..GREATEST(g_result_table1.COUNT,g_result_table2.COUNT)
803: LOOP
804: g_result_table(i).balance_value :=
804: g_result_table(i).balance_value :=
805: NVL(g_result_table1(i).balance_value,0)
806: - NVL(g_result_table2(i).balance_value,0);
807: END LOOP;
808: pay_in_utils.set_location(g_debug,'Leaving : '||l_procedure, 20);
809:
810: END;
811: --------------------------------------------------------------------------
812: -- --
860:
861: BEGIN
862:
863: l_procedure := g_package ||'archive_balances';
864: pay_in_utils.set_location(g_debug,'Entering: '||l_procedure,10);
865:
866:
867: IF g_debug THEN
868: pay_in_utils.trace('Run Asg Action id ',p_run_asg_action_id);
864: pay_in_utils.set_location(g_debug,'Entering: '||l_procedure,10);
865:
866:
867: IF g_debug THEN
868: pay_in_utils.trace('Run Asg Action id ',p_run_asg_action_id);
869: pay_in_utils.trace('Prev GRE Asg action id ',pre_gre_asg_act_id);
870: pay_in_utils.trace('Archive Asg Action id ',p_arc_asg_action_id);
871: pay_in_utils.trace('GRE id ',p_gre_id);
872: pay_in_utils.trace('Action Info Category ',p_action_inf_category);
865:
866:
867: IF g_debug THEN
868: pay_in_utils.trace('Run Asg Action id ',p_run_asg_action_id);
869: pay_in_utils.trace('Prev GRE Asg action id ',pre_gre_asg_act_id);
870: pay_in_utils.trace('Archive Asg Action id ',p_arc_asg_action_id);
871: pay_in_utils.trace('GRE id ',p_gre_id);
872: pay_in_utils.trace('Action Info Category ',p_action_inf_category);
873: pay_in_utils.trace('Balance name ',p_balance_name);
866:
867: IF g_debug THEN
868: pay_in_utils.trace('Run Asg Action id ',p_run_asg_action_id);
869: pay_in_utils.trace('Prev GRE Asg action id ',pre_gre_asg_act_id);
870: pay_in_utils.trace('Archive Asg Action id ',p_arc_asg_action_id);
871: pay_in_utils.trace('GRE id ',p_gre_id);
872: pay_in_utils.trace('Action Info Category ',p_action_inf_category);
873: pay_in_utils.trace('Balance name ',p_balance_name);
874: pay_in_utils.trace('Balance name1 ',p_balance_name1);
867: IF g_debug THEN
868: pay_in_utils.trace('Run Asg Action id ',p_run_asg_action_id);
869: pay_in_utils.trace('Prev GRE Asg action id ',pre_gre_asg_act_id);
870: pay_in_utils.trace('Archive Asg Action id ',p_arc_asg_action_id);
871: pay_in_utils.trace('GRE id ',p_gre_id);
872: pay_in_utils.trace('Action Info Category ',p_action_inf_category);
873: pay_in_utils.trace('Balance name ',p_balance_name);
874: pay_in_utils.trace('Balance name1 ',p_balance_name1);
875: pay_in_utils.trace('Balance name2 ',p_balance_name2);
868: pay_in_utils.trace('Run Asg Action id ',p_run_asg_action_id);
869: pay_in_utils.trace('Prev GRE Asg action id ',pre_gre_asg_act_id);
870: pay_in_utils.trace('Archive Asg Action id ',p_arc_asg_action_id);
871: pay_in_utils.trace('GRE id ',p_gre_id);
872: pay_in_utils.trace('Action Info Category ',p_action_inf_category);
873: pay_in_utils.trace('Balance name ',p_balance_name);
874: pay_in_utils.trace('Balance name1 ',p_balance_name1);
875: pay_in_utils.trace('Balance name2 ',p_balance_name2);
876: pay_in_utils.trace('Balance name31 ',p_balance_name3);
869: pay_in_utils.trace('Prev GRE Asg action id ',pre_gre_asg_act_id);
870: pay_in_utils.trace('Archive Asg Action id ',p_arc_asg_action_id);
871: pay_in_utils.trace('GRE id ',p_gre_id);
872: pay_in_utils.trace('Action Info Category ',p_action_inf_category);
873: pay_in_utils.trace('Balance name ',p_balance_name);
874: pay_in_utils.trace('Balance name1 ',p_balance_name1);
875: pay_in_utils.trace('Balance name2 ',p_balance_name2);
876: pay_in_utils.trace('Balance name31 ',p_balance_name3);
877: pay_in_utils.trace('Dimension Name ',p_balance_dimension);
870: pay_in_utils.trace('Archive Asg Action id ',p_arc_asg_action_id);
871: pay_in_utils.trace('GRE id ',p_gre_id);
872: pay_in_utils.trace('Action Info Category ',p_action_inf_category);
873: pay_in_utils.trace('Balance name ',p_balance_name);
874: pay_in_utils.trace('Balance name1 ',p_balance_name1);
875: pay_in_utils.trace('Balance name2 ',p_balance_name2);
876: pay_in_utils.trace('Balance name31 ',p_balance_name3);
877: pay_in_utils.trace('Dimension Name ',p_balance_dimension);
878: pay_in_utils.trace('Dimension Name1 ',p_balance_dimension1);
871: pay_in_utils.trace('GRE id ',p_gre_id);
872: pay_in_utils.trace('Action Info Category ',p_action_inf_category);
873: pay_in_utils.trace('Balance name ',p_balance_name);
874: pay_in_utils.trace('Balance name1 ',p_balance_name1);
875: pay_in_utils.trace('Balance name2 ',p_balance_name2);
876: pay_in_utils.trace('Balance name31 ',p_balance_name3);
877: pay_in_utils.trace('Dimension Name ',p_balance_dimension);
878: pay_in_utils.trace('Dimension Name1 ',p_balance_dimension1);
879: pay_in_utils.trace('Dimension Name2 ',p_balance_dimension2);
872: pay_in_utils.trace('Action Info Category ',p_action_inf_category);
873: pay_in_utils.trace('Balance name ',p_balance_name);
874: pay_in_utils.trace('Balance name1 ',p_balance_name1);
875: pay_in_utils.trace('Balance name2 ',p_balance_name2);
876: pay_in_utils.trace('Balance name31 ',p_balance_name3);
877: pay_in_utils.trace('Dimension Name ',p_balance_dimension);
878: pay_in_utils.trace('Dimension Name1 ',p_balance_dimension1);
879: pay_in_utils.trace('Dimension Name2 ',p_balance_dimension2);
880: pay_in_utils.trace('Dimension Name3 ',p_balance_dimension3);
873: pay_in_utils.trace('Balance name ',p_balance_name);
874: pay_in_utils.trace('Balance name1 ',p_balance_name1);
875: pay_in_utils.trace('Balance name2 ',p_balance_name2);
876: pay_in_utils.trace('Balance name31 ',p_balance_name3);
877: pay_in_utils.trace('Dimension Name ',p_balance_dimension);
878: pay_in_utils.trace('Dimension Name1 ',p_balance_dimension1);
879: pay_in_utils.trace('Dimension Name2 ',p_balance_dimension2);
880: pay_in_utils.trace('Dimension Name3 ',p_balance_dimension3);
881:
874: pay_in_utils.trace('Balance name1 ',p_balance_name1);
875: pay_in_utils.trace('Balance name2 ',p_balance_name2);
876: pay_in_utils.trace('Balance name31 ',p_balance_name3);
877: pay_in_utils.trace('Dimension Name ',p_balance_dimension);
878: pay_in_utils.trace('Dimension Name1 ',p_balance_dimension1);
879: pay_in_utils.trace('Dimension Name2 ',p_balance_dimension2);
880: pay_in_utils.trace('Dimension Name3 ',p_balance_dimension3);
881:
882: END IF;
875: pay_in_utils.trace('Balance name2 ',p_balance_name2);
876: pay_in_utils.trace('Balance name31 ',p_balance_name3);
877: pay_in_utils.trace('Dimension Name ',p_balance_dimension);
878: pay_in_utils.trace('Dimension Name1 ',p_balance_dimension1);
879: pay_in_utils.trace('Dimension Name2 ',p_balance_dimension2);
880: pay_in_utils.trace('Dimension Name3 ',p_balance_dimension3);
881:
882: END IF;
883:
876: pay_in_utils.trace('Balance name31 ',p_balance_name3);
877: pay_in_utils.trace('Dimension Name ',p_balance_dimension);
878: pay_in_utils.trace('Dimension Name1 ',p_balance_dimension1);
879: pay_in_utils.trace('Dimension Name2 ',p_balance_dimension2);
880: pay_in_utils.trace('Dimension Name3 ',p_balance_dimension3);
881:
882: END IF;
883:
884: /* Allowance Advance functionality Start */
882: END IF;
883:
884: /* Allowance Advance functionality Start */
885: IF (p_action_inf_category ='IN_EOY_ALLOW') THEN
886: pay_in_utils.set_location(g_debug,l_procedure, 21);
887:
888: g_balance_value_tab(1).defined_balance_id :=
889: pay_in_tax_utils.get_defined_balance('Adjusted Advance for Allowances','_ASG_COMP_YTD');
890:
892: ,p_defined_balance_lst => g_balance_value_tab
893: ,p_context_lst => g_context_table
894: ,p_output_table => l_result_table1
895: );
896: pay_in_utils.set_location(g_debug,l_procedure, 22);
897:
898: IF pre_gre_asg_act_id IS NOT NULL
899: THEN
900: pay_in_utils.set_location(g_debug,l_procedure, 30);
896: pay_in_utils.set_location(g_debug,l_procedure, 22);
897:
898: IF pre_gre_asg_act_id IS NOT NULL
899: THEN
900: pay_in_utils.set_location(g_debug,l_procedure, 30);
901: pay_balance_pkg.get_value(p_assignment_action_id => pre_gre_asg_act_id
902: ,p_defined_balance_lst => g_balance_value_tab
903: ,p_context_lst => g_context_table
904: ,p_output_table => l_result_table2
906: balance_difference(l_result_table1,l_result_table2,l_result_table4);
907: ELSE
908: l_result_table4 := l_result_table1;
909: END IF;
910: pay_in_utils.set_location(g_debug,l_procedure, 23);
911:
912: l_result_table1.DELETE;
913: l_result_table2.DELETE;
914:
913: l_result_table2.DELETE;
914:
915:
916: END IF;
917: pay_in_utils.set_location(g_debug,l_procedure, 25);
918: /* Allowance Advance functionality End*/
919:
920: g_balance_value_tab(1).defined_balance_id :=
921: pay_in_tax_utils.get_defined_balance(p_balance_name,p_balance_dimension);
925: ,p_context_lst => g_context_table
926: ,p_output_table => l_result_table1--g_result_table
927: );
928:
929: pay_in_utils.set_location(g_debug,l_procedure, 20);
930:
931: IF pre_gre_asg_act_id IS NOT NULL
932: THEN
933: pay_in_utils.set_location(g_debug,l_procedure, 30);
929: pay_in_utils.set_location(g_debug,l_procedure, 20);
930:
931: IF pre_gre_asg_act_id IS NOT NULL
932: THEN
933: pay_in_utils.set_location(g_debug,l_procedure, 30);
934: pay_balance_pkg.get_value(p_assignment_action_id => pre_gre_asg_act_id
935: ,p_defined_balance_lst => g_balance_value_tab
936: ,p_context_lst => g_context_table
937: ,p_output_table => l_result_table2
940: ELSE
941: g_result_table := l_result_table1;
942: END IF;
943:
944: pay_in_utils.set_location(g_debug,l_procedure, 40);
945:
946: IF (p_balance_name1 IS NOT NULL)
947: THEN
948: pay_in_utils.set_location(g_debug,l_procedure, 50);
944: pay_in_utils.set_location(g_debug,l_procedure, 40);
945:
946: IF (p_balance_name1 IS NOT NULL)
947: THEN
948: pay_in_utils.set_location(g_debug,l_procedure, 50);
949: g_balance_value_tab(1).defined_balance_id :=
950: pay_in_tax_utils.get_defined_balance(p_balance_name1,p_balance_dimension1);
951:
952: pay_balance_pkg.get_value(p_assignment_action_id => p_run_asg_action_id
955: ,p_output_table => l_result_table1--g_result_table1
956: );
957: IF pre_gre_asg_act_id IS NOT NULL AND p_action_inf_category = 'IN_EOY_PERQ'
958: THEN
959: pay_in_utils.set_location(g_debug,l_procedure, 60);
960: pay_balance_pkg.get_value(p_assignment_action_id => pre_gre_asg_act_id
961: ,p_defined_balance_lst => g_balance_value_tab
962: ,p_context_lst => g_context_table
963: ,p_output_table => l_result_table2
963: ,p_output_table => l_result_table2
964: );
965: balance_difference(l_result_table1,l_result_table2,g_result_table1);
966: ELSE
967: pay_in_utils.set_location(g_debug,l_procedure, 70);
968: g_result_table1 := l_result_table1;
969: END IF;
970: END IF;
971: pay_in_utils.set_location(g_debug,l_procedure, 80);
967: pay_in_utils.set_location(g_debug,l_procedure, 70);
968: g_result_table1 := l_result_table1;
969: END IF;
970: END IF;
971: pay_in_utils.set_location(g_debug,l_procedure, 80);
972:
973: IF (p_balance_name2 IS NOT NULL)
974: THEN
975: pay_in_utils.set_location(g_debug,l_procedure, 90);
971: pay_in_utils.set_location(g_debug,l_procedure, 80);
972:
973: IF (p_balance_name2 IS NOT NULL)
974: THEN
975: pay_in_utils.set_location(g_debug,l_procedure, 90);
976: g_balance_value_tab(1).defined_balance_id :=
977: pay_in_tax_utils.get_defined_balance(p_balance_name2,p_balance_dimension2);
978:
979: pay_balance_pkg.get_value(p_assignment_action_id => p_run_asg_action_id
982: ,p_output_table => l_result_table1--g_result_table2
983: );
984: IF pre_gre_asg_act_id IS NOT NULL
985: THEN
986: pay_in_utils.set_location(g_debug,l_procedure, 100);
987: pay_balance_pkg.get_value(p_assignment_action_id => pre_gre_asg_act_id
988: ,p_defined_balance_lst => g_balance_value_tab
989: ,p_context_lst => g_context_table
990: ,p_output_table => l_result_table2
993: ELSE
994: g_result_table2 := l_result_table1;
995: END IF;
996: END IF;
997: pay_in_utils.set_location(g_debug,l_procedure, 110);
998:
999: IF (p_balance_name3 IS NOT NULL)
1000: THEN
1001: pay_in_utils.set_location(g_debug,l_procedure, 120);
997: pay_in_utils.set_location(g_debug,l_procedure, 110);
998:
999: IF (p_balance_name3 IS NOT NULL)
1000: THEN
1001: pay_in_utils.set_location(g_debug,l_procedure, 120);
1002: g_balance_value_tab(1).defined_balance_id :=
1003: pay_in_tax_utils.get_defined_balance(p_balance_name3,p_balance_dimension3);
1004:
1005: pay_balance_pkg.get_value(p_assignment_action_id => p_run_asg_action_id
1008: ,p_output_table => g_result_table3
1009: );
1010: END IF;
1011:
1012: pay_in_utils.set_location(g_debug,l_procedure, 130);
1013: pay_in_utils.trace('**************************************************','********************');
1014: IF (p_action_inf_category = 'IN_EOY_ALLOW')
1015: THEN
1016: pay_in_utils.set_location(g_debug,l_procedure, 140);
1009: );
1010: END IF;
1011:
1012: pay_in_utils.set_location(g_debug,l_procedure, 130);
1013: pay_in_utils.trace('**************************************************','********************');
1014: IF (p_action_inf_category = 'IN_EOY_ALLOW')
1015: THEN
1016: pay_in_utils.set_location(g_debug,l_procedure, 140);
1017: FOR i IN 1..g_context_table.COUNT
1012: pay_in_utils.set_location(g_debug,l_procedure, 130);
1013: pay_in_utils.trace('**************************************************','********************');
1014: IF (p_action_inf_category = 'IN_EOY_ALLOW')
1015: THEN
1016: pay_in_utils.set_location(g_debug,l_procedure, 140);
1017: FOR i IN 1..g_context_table.COUNT
1018: LOOP
1019: IF ((g_result_table(i).balance_value <> 0)
1020: OR(NVL(g_result_table1(i).balance_value,0) <> 0)
1036: ,p_action_information_id => l_action_info_id
1037: ,p_object_version_number => l_ovn
1038: );
1039: IF g_debug THEN
1040: pay_in_utils.trace('ALLOWANCE Name ',g_context_table(i).source_text2);
1041: pay_in_utils.trace('ALLOWANCE Amt ',NVL(g_result_table(i).balance_value,0));
1042: pay_in_utils.trace('ALLOWANCE Taxable Amt ',NVL(g_result_table1(i).balance_value,0));
1043: pay_in_utils.trace('ALLOWANCE Std Amt ',NVL(g_result_table2(i).balance_value,0));
1044: pay_in_utils.trace('ALLOWANCE Std Taxable Amt ',NVL(g_result_table3(i).balance_value,0));
1037: ,p_object_version_number => l_ovn
1038: );
1039: IF g_debug THEN
1040: pay_in_utils.trace('ALLOWANCE Name ',g_context_table(i).source_text2);
1041: pay_in_utils.trace('ALLOWANCE Amt ',NVL(g_result_table(i).balance_value,0));
1042: pay_in_utils.trace('ALLOWANCE Taxable Amt ',NVL(g_result_table1(i).balance_value,0));
1043: pay_in_utils.trace('ALLOWANCE Std Amt ',NVL(g_result_table2(i).balance_value,0));
1044: pay_in_utils.trace('ALLOWANCE Std Taxable Amt ',NVL(g_result_table3(i).balance_value,0));
1045: END IF;
1038: );
1039: IF g_debug THEN
1040: pay_in_utils.trace('ALLOWANCE Name ',g_context_table(i).source_text2);
1041: pay_in_utils.trace('ALLOWANCE Amt ',NVL(g_result_table(i).balance_value,0));
1042: pay_in_utils.trace('ALLOWANCE Taxable Amt ',NVL(g_result_table1(i).balance_value,0));
1043: pay_in_utils.trace('ALLOWANCE Std Amt ',NVL(g_result_table2(i).balance_value,0));
1044: pay_in_utils.trace('ALLOWANCE Std Taxable Amt ',NVL(g_result_table3(i).balance_value,0));
1045: END IF;
1046:
1039: IF g_debug THEN
1040: pay_in_utils.trace('ALLOWANCE Name ',g_context_table(i).source_text2);
1041: pay_in_utils.trace('ALLOWANCE Amt ',NVL(g_result_table(i).balance_value,0));
1042: pay_in_utils.trace('ALLOWANCE Taxable Amt ',NVL(g_result_table1(i).balance_value,0));
1043: pay_in_utils.trace('ALLOWANCE Std Amt ',NVL(g_result_table2(i).balance_value,0));
1044: pay_in_utils.trace('ALLOWANCE Std Taxable Amt ',NVL(g_result_table3(i).balance_value,0));
1045: END IF;
1046:
1047: END IF;
1040: pay_in_utils.trace('ALLOWANCE Name ',g_context_table(i).source_text2);
1041: pay_in_utils.trace('ALLOWANCE Amt ',NVL(g_result_table(i).balance_value,0));
1042: pay_in_utils.trace('ALLOWANCE Taxable Amt ',NVL(g_result_table1(i).balance_value,0));
1043: pay_in_utils.trace('ALLOWANCE Std Amt ',NVL(g_result_table2(i).balance_value,0));
1044: pay_in_utils.trace('ALLOWANCE Std Taxable Amt ',NVL(g_result_table3(i).balance_value,0));
1045: END IF;
1046:
1047: END IF;
1048: END LOOP;
1047: END IF;
1048: END LOOP;
1049: ELSIF (p_action_inf_category = 'IN_EOY_PERQ')
1050: THEN
1051: pay_in_utils.set_location(g_debug,l_procedure, 150);
1052: FOR i IN 1..g_context_table.COUNT
1053: LOOP
1054: IF ((g_result_table(i).balance_value <> 0)
1055: OR(NVL(g_result_table1(i).balance_value,0) <> 0)
1067: ,p_object_version_number => l_ovn
1068: );
1069:
1070: IF g_debug THEN
1071: pay_in_utils.trace('PERQ Name ',g_context_table(i).source_text2);
1072: pay_in_utils.trace('PERQ Taxable Amt ',NVL(g_result_table(i).balance_value,0));
1073: pay_in_utils.trace('PERQ Employee Contribution ',NVL(g_result_table1(i).balance_value,0));
1074: END IF;
1075:
1068: );
1069:
1070: IF g_debug THEN
1071: pay_in_utils.trace('PERQ Name ',g_context_table(i).source_text2);
1072: pay_in_utils.trace('PERQ Taxable Amt ',NVL(g_result_table(i).balance_value,0));
1073: pay_in_utils.trace('PERQ Employee Contribution ',NVL(g_result_table1(i).balance_value,0));
1074: END IF;
1075:
1076: END IF;
1069:
1070: IF g_debug THEN
1071: pay_in_utils.trace('PERQ Name ',g_context_table(i).source_text2);
1072: pay_in_utils.trace('PERQ Taxable Amt ',NVL(g_result_table(i).balance_value,0));
1073: pay_in_utils.trace('PERQ Employee Contribution ',NVL(g_result_table1(i).balance_value,0));
1074: END IF;
1075:
1076: END IF;
1077: END LOOP;
1075:
1076: END IF;
1077: END LOOP;
1078: ELSE
1079: pay_in_utils.set_location(g_debug,l_procedure, 160);
1080: FOR i IN 1..g_context_table.COUNT
1081: LOOP
1082: IF (g_result_table(i).balance_value <> 0)
1083: THEN
1092: ,p_object_version_number => l_ovn
1093: );
1094:
1095: IF g_debug THEN
1096: pay_in_utils.trace('Oth Balance name ',g_context_table(i).source_text2);
1097: pay_in_utils.trace('Oth Balance Value ',g_result_table(i).balance_value);
1098: END IF;
1099:
1100:
1093: );
1094:
1095: IF g_debug THEN
1096: pay_in_utils.trace('Oth Balance name ',g_context_table(i).source_text2);
1097: pay_in_utils.trace('Oth Balance Value ',g_result_table(i).balance_value);
1098: END IF;
1099:
1100:
1101: END IF;
1100:
1101: END IF;
1102: END LOOP;
1103: END IF;
1104: pay_in_utils.trace('**************************************************','********************');
1105: pay_in_utils.set_location(g_debug,'Leaving : '||l_procedure, 170);
1106:
1107: END archive_balances;
1108: --------------------------------------------------------------------------
1101: END IF;
1102: END LOOP;
1103: END IF;
1104: pay_in_utils.trace('**************************************************','********************');
1105: pay_in_utils.set_location(g_debug,'Leaving : '||l_procedure, 170);
1106:
1107: END archive_balances;
1108: --------------------------------------------------------------------------
1109: -- --
1208: BEGIN
1209: --Qualifying Amount determination and archival for 80E,80GG and 80U
1210:
1211: l_procedure := g_package ||'archive_via_details';
1212: pay_in_utils.set_location(g_debug,'Entering: '||l_procedure,10);
1213:
1214:
1215: i := 1;
1216: g_bal_name_tab.DELETE;
1222: g_bal_name_tab(i).balance_name := c_rec.balance_name;
1223: i := i + 1;
1224: END LOOP;
1225:
1226: pay_in_utils.set_location(g_debug,l_procedure, 20);
1227:
1228: g_context_table(1).tax_unit_id := p_gre_id;
1229:
1230: pay_balance_pkg.get_value(p_assignment_action_id => p_run_asg_action_id
1232: ,p_context_lst => g_context_table
1233: ,p_output_table => g_result_table
1234: );
1235:
1236: pay_in_utils.set_location(g_debug,l_procedure, 30);
1237: pay_in_utils.trace('**************************************************','********************');
1238: FOR i IN 1..g_balance_value_tab.COUNT
1239: LOOP
1240: IF (g_result_table(i).balance_value <> 0)
1233: ,p_output_table => g_result_table
1234: );
1235:
1236: pay_in_utils.set_location(g_debug,l_procedure, 30);
1237: pay_in_utils.trace('**************************************************','********************');
1238: FOR i IN 1..g_balance_value_tab.COUNT
1239: LOOP
1240: IF (g_result_table(i).balance_value <> 0)
1241: THEN
1238: FOR i IN 1..g_balance_value_tab.COUNT
1239: LOOP
1240: IF (g_result_table(i).balance_value <> 0)
1241: THEN
1242: pay_in_utils.set_location(g_debug,l_procedure, 40);
1243: pay_action_information_api.create_action_information
1244: (p_action_context_id => p_arc_asg_action_id
1245: ,p_action_context_type => 'AAP'
1246: ,p_action_information_category => 'IN_EOY_VIA'
1250: ,p_action_information_id => l_action_info_id
1251: ,p_object_version_number => l_ovn
1252: );
1253: IF g_debug THEN
1254: pay_in_utils.trace('VIA Balance name ',g_bal_name_tab(i).balance_name);
1255: pay_in_utils.trace('VIA Balance Value ',g_result_table(i).balance_value);
1256: END IF;
1257:
1258: END IF;
1251: ,p_object_version_number => l_ovn
1252: );
1253: IF g_debug THEN
1254: pay_in_utils.trace('VIA Balance name ',g_bal_name_tab(i).balance_name);
1255: pay_in_utils.trace('VIA Balance Value ',g_result_table(i).balance_value);
1256: END IF;
1257:
1258: END IF;
1259: END LOOP;
1263: g_bal_name_tab.DELETE;
1264: g_balance_value_tab.DELETE;
1265: g_result_table.DELETE;
1266:
1267: pay_in_utils.set_location(g_debug,l_procedure, 50);
1268:
1269: FOR c_rec IN c_defined_balance_id
1270: LOOP
1271: g_balance_value_tab(i).defined_balance_id := c_rec.balance_id;
1279: ,p_defined_balance_lst => g_balance_value_tab
1280: ,p_context_lst => g_context_table
1281: ,p_output_table => g_result_table
1282: );
1283: pay_in_utils.set_location(g_debug,l_procedure, 60);
1284:
1285: --Gross Amount determination for 80D,80DD,80DDB,80G,80GGA
1286:
1287: g_result_table1.DELETE;
1307: ,p_context_lst => g_context_table
1308: ,p_output_table => g_result_table1
1309: );
1310:
1311: pay_in_utils.set_location(g_debug,l_procedure, 70);
1312:
1313: --Archiving the QA and Gross Amount in the same record for 80D,80DD,80DDB,80G,80GGA
1314: FOR i IN 1..g_balance_value_tab.COUNT
1315: LOOP
1314: FOR i IN 1..g_balance_value_tab.COUNT
1315: LOOP
1316: IF ((g_result_table(i).balance_value <> 0)OR(g_result_table1(i).balance_value <> 0))
1317: THEN
1318: pay_in_utils.set_location(g_debug,l_procedure, 80);
1319: pay_action_information_api.create_action_information
1320: (p_action_context_id => p_arc_asg_action_id
1321: ,p_action_context_type => 'AAP'
1322: ,p_action_information_category => 'IN_EOY_VIA'
1328: ,p_object_version_number => l_ovn
1329: );
1330:
1331: IF g_debug THEN
1332: pay_in_utils.trace('VIA Balance name ',g_bal_name_tab(i).balance_name);
1333: pay_in_utils.trace('VIA Qualifying Amt ',g_result_table(i).balance_value);
1334: pay_in_utils.trace('VIA Gross Amt ',g_result_table1(i).balance_value);
1335: END IF;
1336:
1329: );
1330:
1331: IF g_debug THEN
1332: pay_in_utils.trace('VIA Balance name ',g_bal_name_tab(i).balance_name);
1333: pay_in_utils.trace('VIA Qualifying Amt ',g_result_table(i).balance_value);
1334: pay_in_utils.trace('VIA Gross Amt ',g_result_table1(i).balance_value);
1335: END IF;
1336:
1337:
1330:
1331: IF g_debug THEN
1332: pay_in_utils.trace('VIA Balance name ',g_bal_name_tab(i).balance_name);
1333: pay_in_utils.trace('VIA Qualifying Amt ',g_result_table(i).balance_value);
1334: pay_in_utils.trace('VIA Gross Amt ',g_result_table1(i).balance_value);
1335: END IF;
1336:
1337:
1338: END IF;
1385: ,g_result_table3 => g_result_table3
1386: ,g_balance_value_tab => g_balance_value_tab
1387: );
1388:
1389: pay_in_utils.set_location(g_debug,l_procedure, 90);
1390:
1391: --Archive record for Deferred Anuity and Life Insurance Premium
1392: g_context_table.DELETE;
1393: g_result_table1.DELETE;
1425:
1426: --Gross Amount for Life Insurance
1427: g_context_table.DELETE;
1428:
1429: pay_in_utils.set_location(g_debug,l_procedure, 100);
1430: g_context_table(1).source_text2 := 'Life Insurance Premium';
1431: g_context_table(1).tax_unit_id := p_gre_id;
1432: g_balance_value_tab1(1).defined_balance_id :=
1433: pay_in_tax_utils.get_defined_balance('Gross Chapter VIA Deductions','_ASG_LE_COMP_PTD');
1442:
1443: g_balance_value_tab1.DELETE;
1444: g_result_table1.DELETE;
1445:
1446: pay_in_utils.set_location(g_debug,l_procedure, 120);
1447: --Gross Amount for Deferred Annuity
1448: g_context_table.DELETE;
1449: g_context_table(1).tax_unit_id := p_gre_id;
1450:
1476:
1477: l_scss_gross := NVL(g_result_table1(3).balance_value,0);
1478:
1479:
1480: pay_in_utils.set_location(g_debug,l_procedure, 140);
1481:
1482: g_balance_value_tab1.DELETE;
1483: g_result_table1.DELETE;
1484: g_context_table.DELETE;
1517: ,p_action_information_id => l_action_info_id
1518: ,p_object_version_number => l_ovn
1519: );
1520: IF g_debug THEN
1521: pay_in_utils.trace('VIA LIC Qualifying Amt ',l_li_qa_amt);
1522: pay_in_utils.trace('VIA LIC Gross Amt ',l_li_gross);
1523: END IF;
1524: END IF;
1525:
1518: ,p_object_version_number => l_ovn
1519: );
1520: IF g_debug THEN
1521: pay_in_utils.trace('VIA LIC Qualifying Amt ',l_li_qa_amt);
1522: pay_in_utils.trace('VIA LIC Gross Amt ',l_li_gross);
1523: END IF;
1524: END IF;
1525:
1526: IF (l_da_gross <> 0 OR l_da_qa_amt <> 0)
1536: ,p_action_information_id => l_action_info_id
1537: ,p_object_version_number => l_ovn
1538: );
1539: IF g_debug THEN
1540: pay_in_utils.trace('VIA Deferred Annuity Qualifying Amt ',l_da_qa_amt);
1541: pay_in_utils.trace('VIA Deferred Annuity Gross Amt ',l_da_gross);
1542: END IF;
1543:
1544: END IF;
1537: ,p_object_version_number => l_ovn
1538: );
1539: IF g_debug THEN
1540: pay_in_utils.trace('VIA Deferred Annuity Qualifying Amt ',l_da_qa_amt);
1541: pay_in_utils.trace('VIA Deferred Annuity Gross Amt ',l_da_gross);
1542: END IF;
1543:
1544: END IF;
1545:
1557: ,p_object_version_number => l_ovn
1558: );
1559:
1560: IF g_debug THEN
1561: pay_in_utils.trace('VIA 80CCC Qualifying Amt ',l_li_qa_amt);
1562: pay_in_utils.trace('VIA 80CCC Gross Amt ',l_li_gross);
1563: END IF;
1564:
1565: END IF;
1558: );
1559:
1560: IF g_debug THEN
1561: pay_in_utils.trace('VIA 80CCC Qualifying Amt ',l_li_qa_amt);
1562: pay_in_utils.trace('VIA 80CCC Gross Amt ',l_li_gross);
1563: END IF;
1564:
1565: END IF;
1566:
1578: ,p_object_version_number => l_ovn
1579: );
1580:
1581: IF g_debug THEN
1582: pay_in_utils.trace('Senior Citizens Savings Scheme Qualifying Amt ',l_scss_qa_amt);
1583: pay_in_utils.trace('Senior Citizens Savings Scheme Gross Amt ',l_scss_gross);
1584: END IF;
1585:
1586: END IF;
1579: );
1580:
1581: IF g_debug THEN
1582: pay_in_utils.trace('Senior Citizens Savings Scheme Qualifying Amt ',l_scss_qa_amt);
1583: pay_in_utils.trace('Senior Citizens Savings Scheme Gross Amt ',l_scss_gross);
1584: END IF;
1585:
1586: END IF;
1587:
1599: ,p_action_information_id => l_action_info_id
1600: ,p_object_version_number => l_ovn
1601: );
1602: IF g_debug THEN
1603: pay_in_utils.trace('VIA Deduction under Section 80CCD Qualifying Amt ',l_80ccd_qa_amt);
1604: pay_in_utils.trace('VIA Deduction under Section 80CCD Gross Amt ',l_80ccd_gross);
1605: END IF;
1606: END IF;
1607: pay_in_utils.trace('**************************************************','********************');
1600: ,p_object_version_number => l_ovn
1601: );
1602: IF g_debug THEN
1603: pay_in_utils.trace('VIA Deduction under Section 80CCD Qualifying Amt ',l_80ccd_qa_amt);
1604: pay_in_utils.trace('VIA Deduction under Section 80CCD Gross Amt ',l_80ccd_gross);
1605: END IF;
1606: END IF;
1607: pay_in_utils.trace('**************************************************','********************');
1608: pay_in_utils.set_location(g_debug,l_procedure, 150);
1603: pay_in_utils.trace('VIA Deduction under Section 80CCD Qualifying Amt ',l_80ccd_qa_amt);
1604: pay_in_utils.trace('VIA Deduction under Section 80CCD Gross Amt ',l_80ccd_gross);
1605: END IF;
1606: END IF;
1607: pay_in_utils.trace('**************************************************','********************');
1608: pay_in_utils.set_location(g_debug,l_procedure, 150);
1609:
1610: END archive_via_details;
1611: --------------------------------------------------------------------------
1604: pay_in_utils.trace('VIA Deduction under Section 80CCD Gross Amt ',l_80ccd_gross);
1605: END IF;
1606: END IF;
1607: pay_in_utils.trace('**************************************************','********************');
1608: pay_in_utils.set_location(g_debug,l_procedure, 150);
1609:
1610: END archive_via_details;
1611: --------------------------------------------------------------------------
1612: -- --
1672:
1673: BEGIN
1674:
1675: l_procedure := g_package ||'archive_allowances';
1676: pay_in_utils.set_location(g_debug,'Entering: '||l_procedure,10);
1677:
1678:
1679: FOR c_rec IN c_comp_name
1680: LOOP
1682: g_context_table(i).source_text2 := c_rec.name;
1683: END LOOP;
1684:
1685: IF g_debug THEN
1686: pay_in_utils.trace('Assignment Action id ',p_run_asg_action_id);
1687: pay_in_utils.trace('Archive Asg Action id ',p_arc_asg_action_id);
1688: pay_in_utils.trace('GRE id ',p_gre_id);
1689: pay_in_utils.trace('Previous GRE Asg Action id ',pre_gre_asg_act_id);
1690: END IF;
1683: END LOOP;
1684:
1685: IF g_debug THEN
1686: pay_in_utils.trace('Assignment Action id ',p_run_asg_action_id);
1687: pay_in_utils.trace('Archive Asg Action id ',p_arc_asg_action_id);
1688: pay_in_utils.trace('GRE id ',p_gre_id);
1689: pay_in_utils.trace('Previous GRE Asg Action id ',pre_gre_asg_act_id);
1690: END IF;
1691:
1684:
1685: IF g_debug THEN
1686: pay_in_utils.trace('Assignment Action id ',p_run_asg_action_id);
1687: pay_in_utils.trace('Archive Asg Action id ',p_arc_asg_action_id);
1688: pay_in_utils.trace('GRE id ',p_gre_id);
1689: pay_in_utils.trace('Previous GRE Asg Action id ',pre_gre_asg_act_id);
1690: END IF;
1691:
1692:
1685: IF g_debug THEN
1686: pay_in_utils.trace('Assignment Action id ',p_run_asg_action_id);
1687: pay_in_utils.trace('Archive Asg Action id ',p_arc_asg_action_id);
1688: pay_in_utils.trace('GRE id ',p_gre_id);
1689: pay_in_utils.trace('Previous GRE Asg Action id ',pre_gre_asg_act_id);
1690: END IF;
1691:
1692:
1693: archive_balances(p_run_asg_action_id => p_run_asg_action_id
1709: ,g_result_table2 => g_result_table2
1710: ,g_result_table3 => g_result_table3
1711: ,g_balance_value_tab => g_balance_value_tab
1712: );
1713: pay_in_utils.set_location(g_debug,l_procedure, 20);
1714:
1715: OPEN c_hra;
1716: FETCH c_hra INTO l_action_info_id,l_ovn;
1717: CLOSE c_hra;
1717: CLOSE c_hra;
1718:
1719: IF l_action_info_id IS NOT NULL
1720: THEN
1721: pay_in_utils.set_location(g_debug,l_procedure, 30);
1722: IF (pre_gre_asg_act_id IS NOT NULL)--Not the first record
1723: THEN
1724: IF p_flag -- Neither the first nor the last record. Hence diff of THRA _ASG_YTD at 2 diff act ids.
1725: THEN
1743: );
1744: END IF;
1745: ELSIF p_flag -- First Record in a multi tan scenario, hence take the THRA_ASG_YTD
1746: THEN
1747: pay_in_utils.set_location(g_debug,l_procedure, 40);
1748: l_defined_balance_id := pay_in_tax_utils.get_defined_balance('Taxable House Rent Allowance','_ASG_YTD');
1749: l_value := pay_balance_pkg.get_value(p_defined_balance_id => l_defined_balance_id
1750: ,p_assignment_action_id => p_run_asg_action_id
1751: );
1749: l_value := pay_balance_pkg.get_value(p_defined_balance_id => l_defined_balance_id
1750: ,p_assignment_action_id => p_run_asg_action_id
1751: );
1752: ELSE -- Only a single record exists, hence take the Projetced value
1753: pay_in_utils.set_location(g_debug,l_procedure, 50);
1754: l_defined_balance_id := pay_in_tax_utils.get_defined_balance('Taxable House Rent Allowance for Projection','_ASG_PTD');
1755: l_value := pay_balance_pkg.get_value(p_defined_balance_id => l_defined_balance_id
1756: ,p_assignment_action_id => p_run_asg_action_id
1757: );
1757: );
1758: END IF;
1759:
1760: IF g_debug THEN
1761: pay_in_utils.trace('Balance value ',l_value);
1762: END IF;
1763:
1764: pay_action_information_api.update_action_information
1765: (
1766: p_action_information_id => l_action_info_id
1767: ,p_object_version_number => l_ovn
1768: ,p_action_information5 => l_value
1769: );
1770: pay_in_utils.set_location(g_debug,l_procedure, 60);
1771: END IF;
1772: pay_in_utils.set_location(g_debug,'Leaving : '||l_procedure, 70);
1773:
1774:
1768: ,p_action_information5 => l_value
1769: );
1770: pay_in_utils.set_location(g_debug,l_procedure, 60);
1771: END IF;
1772: pay_in_utils.set_location(g_debug,'Leaving : '||l_procedure, 70);
1773:
1774:
1775: END archive_allowances;
1776:
1810: l_procedure VARCHAR2(100);
1811:
1812: BEGIN
1813: l_procedure := g_package ||'archive_perquisites';
1814: pay_in_utils.set_location(g_debug,'Entering: '||l_procedure,10);
1815:
1816: IF g_debug THEN
1817: pay_in_utils.trace('Assignment Action id ',p_run_asg_action_id);
1818: pay_in_utils.trace('Archive Asg Action id ',p_arc_asg_action_id);
1813: l_procedure := g_package ||'archive_perquisites';
1814: pay_in_utils.set_location(g_debug,'Entering: '||l_procedure,10);
1815:
1816: IF g_debug THEN
1817: pay_in_utils.trace('Assignment Action id ',p_run_asg_action_id);
1818: pay_in_utils.trace('Archive Asg Action id ',p_arc_asg_action_id);
1819: pay_in_utils.trace('GRE id ',p_gre_id);
1820: pay_in_utils.trace('Previous GRE Asg Action id ',pre_gre_asg_act_id);
1821: END IF;
1814: pay_in_utils.set_location(g_debug,'Entering: '||l_procedure,10);
1815:
1816: IF g_debug THEN
1817: pay_in_utils.trace('Assignment Action id ',p_run_asg_action_id);
1818: pay_in_utils.trace('Archive Asg Action id ',p_arc_asg_action_id);
1819: pay_in_utils.trace('GRE id ',p_gre_id);
1820: pay_in_utils.trace('Previous GRE Asg Action id ',pre_gre_asg_act_id);
1821: END IF;
1822:
1815:
1816: IF g_debug THEN
1817: pay_in_utils.trace('Assignment Action id ',p_run_asg_action_id);
1818: pay_in_utils.trace('Archive Asg Action id ',p_arc_asg_action_id);
1819: pay_in_utils.trace('GRE id ',p_gre_id);
1820: pay_in_utils.trace('Previous GRE Asg Action id ',pre_gre_asg_act_id);
1821: END IF;
1822:
1823: g_context_table.DELETE;
1816: IF g_debug THEN
1817: pay_in_utils.trace('Assignment Action id ',p_run_asg_action_id);
1818: pay_in_utils.trace('Archive Asg Action id ',p_arc_asg_action_id);
1819: pay_in_utils.trace('GRE id ',p_gre_id);
1820: pay_in_utils.trace('Previous GRE Asg Action id ',pre_gre_asg_act_id);
1821: END IF;
1822:
1823: g_context_table.DELETE;
1824: g_result_table.DELETE;
1846: g_context_table(16).source_text2 := 'Club Expenditure';
1847: g_context_table(17).source_text2 := 'Motor Car Perquisite';
1848: g_context_table(18).source_text2 := 'Lunch Perquisite';
1849:
1850: pay_in_utils.set_location(g_debug,l_procedure, 20);
1851:
1852: archive_balances(p_run_asg_action_id => p_run_asg_action_id
1853: ,pre_gre_asg_act_id => pre_gre_asg_act_id
1854: ,p_arc_asg_action_id => p_arc_asg_action_id
1864: ,g_result_table2 => g_result_table2
1865: ,g_result_table3 => g_result_table3
1866: ,g_balance_value_tab => g_balance_value_tab
1867: );
1868: pay_in_utils.set_location(g_debug,'Leaving : '||l_procedure, 30);
1869:
1870: END archive_perquisites;
1871: --------------------------------------------------------------------------
1872: -- --
1996: l_cess_td_ov_id NUMBER;
1997:
1998: BEGIN
1999: l_procedure := g_package ||'archive_eoy_salary';
2000: pay_in_utils.set_location(g_debug,'Entering: '||l_procedure,10);
2001:
2002: IF g_debug THEN
2003: pay_in_utils.trace('Assignment Action id ',p_run_asg_action_id);
2004: pay_in_utils.trace('Archive Asg Action id ',p_arc_asg_action_id);
1999: l_procedure := g_package ||'archive_eoy_salary';
2000: pay_in_utils.set_location(g_debug,'Entering: '||l_procedure,10);
2001:
2002: IF g_debug THEN
2003: pay_in_utils.trace('Assignment Action id ',p_run_asg_action_id);
2004: pay_in_utils.trace('Archive Asg Action id ',p_arc_asg_action_id);
2005: pay_in_utils.trace('GRE id ',p_gre_id);
2006: END IF;
2007:
2000: pay_in_utils.set_location(g_debug,'Entering: '||l_procedure,10);
2001:
2002: IF g_debug THEN
2003: pay_in_utils.trace('Assignment Action id ',p_run_asg_action_id);
2004: pay_in_utils.trace('Archive Asg Action id ',p_arc_asg_action_id);
2005: pay_in_utils.trace('GRE id ',p_gre_id);
2006: END IF;
2007:
2008: i := 1;
2001:
2002: IF g_debug THEN
2003: pay_in_utils.trace('Assignment Action id ',p_run_asg_action_id);
2004: pay_in_utils.trace('Archive Asg Action id ',p_arc_asg_action_id);
2005: pay_in_utils.trace('GRE id ',p_gre_id);
2006: END IF;
2007:
2008: i := 1;
2009: g_bal_name_tab.DELETE;
2019: END LOOP;
2020:
2021: pay_balance_pkg.get_value(p_run_asg_action_id,g_balance_value_tab);
2022:
2023: pay_in_utils.set_location(g_debug,l_procedure, 20);
2024:
2025:
2026:
2027: pay_in_utils.trace('**************************************************','********************');
2023: pay_in_utils.set_location(g_debug,l_procedure, 20);
2024:
2025:
2026:
2027: pay_in_utils.trace('**************************************************','********************');
2028: FOR i IN 1..g_balance_value_tab.COUNT
2029: LOOP
2030: IF (g_balance_value_tab(i).balance_value <> 0)
2031: THEN
2040: ,p_object_version_number => l_ovn
2041: );
2042:
2043: IF g_debug THEN
2044: pay_in_utils.trace('SALARY Balance Name ',g_bal_name_tab(i).balance_name);
2045: pay_in_utils.trace('SALARY Balance Value ',g_balance_value_tab(i).balance_value);
2046: END IF;
2047:
2048: END IF;
2041: );
2042:
2043: IF g_debug THEN
2044: pay_in_utils.trace('SALARY Balance Name ',g_bal_name_tab(i).balance_name);
2045: pay_in_utils.trace('SALARY Balance Value ',g_balance_value_tab(i).balance_value);
2046: END IF;
2047:
2048: END IF;
2049: END LOOP;
2047:
2048: END IF;
2049: END LOOP;
2050:
2051: pay_in_utils.set_location(g_debug,l_procedure, 20);
2052:
2053: --Archiving balances having YTD Dimensions
2054: i := 1;
2055: FOR c_rec IN c_defined_bal_id
2060: END LOOP;
2061:
2062: pay_balance_pkg.get_value(p_run_asg_action_id,g_balance_value_tab1);
2063:
2064: pay_in_utils.set_location(g_debug,l_procedure, 30);
2065:
2066: FOR i IN 1..g_balance_value_tab1.COUNT
2067: LOOP
2068:
2080: ,p_action_information_id => l_action_info_id
2081: ,p_object_version_number => l_ovn
2082: );
2083: IF g_debug THEN
2084: pay_in_utils.trace('SALARY Balance Name ',g_bal_name_tab1(i).balance_name);
2085: pay_in_utils.trace('SALARY Balance Value ',g_balance_value_tab1(i).balance_value);
2086: END IF;
2087:
2088: END IF;
2081: ,p_object_version_number => l_ovn
2082: );
2083: IF g_debug THEN
2084: pay_in_utils.trace('SALARY Balance Name ',g_bal_name_tab1(i).balance_name);
2085: pay_in_utils.trace('SALARY Balance Value ',g_balance_value_tab1(i).balance_value);
2086: END IF;
2087:
2088: END IF;
2089: END LOOP;
2088: END IF;
2089: END LOOP;
2090:
2091:
2092: pay_in_utils.set_location(g_debug,l_procedure, 40);
2093: --Archiving balances having LE_PTD Dimensions
2094: i := 1;
2095: g_bal_name_tab1.DELETE;
2096: g_balance_value_tab1.DELETE;
2105: i := i + 1;
2106:
2107: END LOOP;
2108:
2109: pay_in_utils.set_location(g_debug,l_procedure, 50);
2110:
2111: pay_balance_pkg.get_value(p_assignment_action_id => p_run_asg_action_id
2112: ,p_defined_balance_lst => g_balance_value_tab1
2113: ,p_context_lst => g_context_table
2132: l_total_cess := l_total_cess + g_result_table(i).balance_value;
2133: END IF ;
2134:
2135: END LOOP;
2136: pay_in_utils.set_location(g_debug,l_procedure, 60);
2137:
2138: g_bal_name_tab1(g_result_table.COUNT + 1).balance_name := 'Income Tax Deduction';
2139: g_result_table(g_result_table.COUNT + 1).balance_value := l_in_tax_ded;
2140:
2162: l_cess_td_ov_id:=l_ovn;
2163: END IF ;
2164:
2165: IF g_debug THEN
2166: pay_in_utils.trace('SALARY Balance Name ',g_bal_name_tab1(i).balance_name);
2167: pay_in_utils.trace('SALARY Balance Value ',g_result_table(i).balance_value);
2168: END IF;
2169:
2170: END IF;
2163: END IF ;
2164:
2165: IF g_debug THEN
2166: pay_in_utils.trace('SALARY Balance Name ',g_bal_name_tab1(i).balance_name);
2167: pay_in_utils.trace('SALARY Balance Value ',g_result_table(i).balance_value);
2168: END IF;
2169:
2170: END IF;
2171: END LOOP;
2188: l_cess_action_info_id:=0;
2189: l_cess_ov_id:=0;
2190: l_cess_td_action_info_id:=0;
2191: l_cess_td_ov_id:=0;
2192: pay_in_utils.trace('**************************************************','********************');
2193: pay_in_utils.set_location(g_debug,'Leaving : '||l_procedure, 70);
2194:
2195:
2196: END archive_eoy_salary;
2189: l_cess_ov_id:=0;
2190: l_cess_td_action_info_id:=0;
2191: l_cess_td_ov_id:=0;
2192: pay_in_utils.trace('**************************************************','********************');
2193: pay_in_utils.set_location(g_debug,'Leaving : '||l_procedure, 70);
2194:
2195:
2196: END archive_eoy_salary;
2197: --------------------------------------------------------------------------
2264:
2265: BEGIN
2266:
2267: l_procedure := g_package ||'archive_other_balances';
2268: pay_in_utils.set_location(g_debug,'Entering: '||l_procedure,10);
2269:
2270: IF g_debug THEN
2271: pay_in_utils.trace('**************************************************','********************');
2272: pay_in_utils.trace('Assignment Action id ',p_run_asg_action_id);
2267: l_procedure := g_package ||'archive_other_balances';
2268: pay_in_utils.set_location(g_debug,'Entering: '||l_procedure,10);
2269:
2270: IF g_debug THEN
2271: pay_in_utils.trace('**************************************************','********************');
2272: pay_in_utils.trace('Assignment Action id ',p_run_asg_action_id);
2273: pay_in_utils.trace('Archive Asg Action id ',p_arc_asg_action_id);
2274: pay_in_utils.trace('GRE id ',p_gre_id);
2275: pay_in_utils.trace('Previous GRE Asg Action id ',pre_gre_asg_act_id);
2268: pay_in_utils.set_location(g_debug,'Entering: '||l_procedure,10);
2269:
2270: IF g_debug THEN
2271: pay_in_utils.trace('**************************************************','********************');
2272: pay_in_utils.trace('Assignment Action id ',p_run_asg_action_id);
2273: pay_in_utils.trace('Archive Asg Action id ',p_arc_asg_action_id);
2274: pay_in_utils.trace('GRE id ',p_gre_id);
2275: pay_in_utils.trace('Previous GRE Asg Action id ',pre_gre_asg_act_id);
2276: pay_in_utils.trace('Start Date ',p_start_date);
2269:
2270: IF g_debug THEN
2271: pay_in_utils.trace('**************************************************','********************');
2272: pay_in_utils.trace('Assignment Action id ',p_run_asg_action_id);
2273: pay_in_utils.trace('Archive Asg Action id ',p_arc_asg_action_id);
2274: pay_in_utils.trace('GRE id ',p_gre_id);
2275: pay_in_utils.trace('Previous GRE Asg Action id ',pre_gre_asg_act_id);
2276: pay_in_utils.trace('Start Date ',p_start_date);
2277: pay_in_utils.trace('End Date ',p_end_date);
2270: IF g_debug THEN
2271: pay_in_utils.trace('**************************************************','********************');
2272: pay_in_utils.trace('Assignment Action id ',p_run_asg_action_id);
2273: pay_in_utils.trace('Archive Asg Action id ',p_arc_asg_action_id);
2274: pay_in_utils.trace('GRE id ',p_gre_id);
2275: pay_in_utils.trace('Previous GRE Asg Action id ',pre_gre_asg_act_id);
2276: pay_in_utils.trace('Start Date ',p_start_date);
2277: pay_in_utils.trace('End Date ',p_end_date);
2278: pay_in_utils.trace('**************************************************','********************');
2271: pay_in_utils.trace('**************************************************','********************');
2272: pay_in_utils.trace('Assignment Action id ',p_run_asg_action_id);
2273: pay_in_utils.trace('Archive Asg Action id ',p_arc_asg_action_id);
2274: pay_in_utils.trace('GRE id ',p_gre_id);
2275: pay_in_utils.trace('Previous GRE Asg Action id ',pre_gre_asg_act_id);
2276: pay_in_utils.trace('Start Date ',p_start_date);
2277: pay_in_utils.trace('End Date ',p_end_date);
2278: pay_in_utils.trace('**************************************************','********************');
2279: END IF;
2272: pay_in_utils.trace('Assignment Action id ',p_run_asg_action_id);
2273: pay_in_utils.trace('Archive Asg Action id ',p_arc_asg_action_id);
2274: pay_in_utils.trace('GRE id ',p_gre_id);
2275: pay_in_utils.trace('Previous GRE Asg Action id ',pre_gre_asg_act_id);
2276: pay_in_utils.trace('Start Date ',p_start_date);
2277: pay_in_utils.trace('End Date ',p_end_date);
2278: pay_in_utils.trace('**************************************************','********************');
2279: END IF;
2280:
2273: pay_in_utils.trace('Archive Asg Action id ',p_arc_asg_action_id);
2274: pay_in_utils.trace('GRE id ',p_gre_id);
2275: pay_in_utils.trace('Previous GRE Asg Action id ',pre_gre_asg_act_id);
2276: pay_in_utils.trace('Start Date ',p_start_date);
2277: pay_in_utils.trace('End Date ',p_end_date);
2278: pay_in_utils.trace('**************************************************','********************');
2279: END IF;
2280:
2281: --Archiving the various Perquisite and Allowance records
2274: pay_in_utils.trace('GRE id ',p_gre_id);
2275: pay_in_utils.trace('Previous GRE Asg Action id ',pre_gre_asg_act_id);
2276: pay_in_utils.trace('Start Date ',p_start_date);
2277: pay_in_utils.trace('End Date ',p_end_date);
2278: pay_in_utils.trace('**************************************************','********************');
2279: END IF;
2280:
2281: --Archiving the various Perquisite and Allowance records
2282:
2291: g_bal_name_tab(i).balance_name := c_rec.balance_name;
2292: i := i + 1;
2293: END LOOP;
2294:
2295: pay_in_utils.set_location(g_debug,l_procedure, 20);
2296:
2297: l_balance_value_tab1 := g_balance_value_tab;
2298: l_balance_value_tab2 := g_balance_value_tab;
2299:
2303: THEN
2304: pay_balance_pkg.get_value(pre_gre_asg_act_id,l_balance_value_tab2);
2305: END IF;
2306:
2307: pay_in_utils.set_location(g_debug,l_procedure, 30);
2308: FOR i IN 1..g_balance_value_tab.COUNT
2309: LOOP
2310:
2311: IF (g_bal_name_tab(i).balance_name <> 'Monthly Furniture Cost')
2323: l_context := 'IN_EOY_ALLOW';
2324: ELSE
2325: l_context := 'IN_EOY_PERQ';
2326: END IF;
2327: pay_in_utils.set_location(g_debug,l_procedure, 40);
2328:
2329: pay_action_information_api.create_action_information
2330: (p_action_context_id => p_arc_asg_action_id
2331: ,p_action_context_type => 'AAP'
2337: ,p_object_version_number => l_ovn
2338: );
2339:
2340: IF g_debug THEN
2341: pay_in_utils.trace('**************************************************','********************');
2342: pay_in_utils.trace('OTHER Balance Name ', g_bal_name_tab(i).balance_name);
2343: pay_in_utils.trace('OTHER Balance Value ',g_balance_value_tab(i).balance_value);
2344: pay_in_utils.trace('**************************************************','********************');
2345: END IF;
2338: );
2339:
2340: IF g_debug THEN
2341: pay_in_utils.trace('**************************************************','********************');
2342: pay_in_utils.trace('OTHER Balance Name ', g_bal_name_tab(i).balance_name);
2343: pay_in_utils.trace('OTHER Balance Value ',g_balance_value_tab(i).balance_value);
2344: pay_in_utils.trace('**************************************************','********************');
2345: END IF;
2346:
2339:
2340: IF g_debug THEN
2341: pay_in_utils.trace('**************************************************','********************');
2342: pay_in_utils.trace('OTHER Balance Name ', g_bal_name_tab(i).balance_name);
2343: pay_in_utils.trace('OTHER Balance Value ',g_balance_value_tab(i).balance_value);
2344: pay_in_utils.trace('**************************************************','********************');
2345: END IF;
2346:
2347: END IF;
2340: IF g_debug THEN
2341: pay_in_utils.trace('**************************************************','********************');
2342: pay_in_utils.trace('OTHER Balance Name ', g_bal_name_tab(i).balance_name);
2343: pay_in_utils.trace('OTHER Balance Value ',g_balance_value_tab(i).balance_value);
2344: pay_in_utils.trace('**************************************************','********************');
2345: END IF;
2346:
2347: END IF;
2348: END LOOP;
2345: END IF;
2346:
2347: END IF;
2348: END LOOP;
2349: pay_in_utils.set_location(g_debug,'Leaving : '||l_procedure, 50);
2350:
2351:
2352: END archive_other_balances;
2353:
2517:
2518:
2519: BEGIN
2520: l_procedure := g_package ||'archive_org_data';
2521: pay_in_utils.set_location(g_debug,'Entering: '||l_procedure,10);
2522:
2523: IF g_debug THEN
2524: pay_in_utils.trace('Payroll Action id ',p_arc_pay_action_id);
2525: pay_in_utils.trace('GRE id ',p_gre_id);
2520: l_procedure := g_package ||'archive_org_data';
2521: pay_in_utils.set_location(g_debug,'Entering: '||l_procedure,10);
2522:
2523: IF g_debug THEN
2524: pay_in_utils.trace('Payroll Action id ',p_arc_pay_action_id);
2525: pay_in_utils.trace('GRE id ',p_gre_id);
2526: pay_in_utils.trace('End Date ',p_effective_end_date);
2527: END IF;
2528:
2521: pay_in_utils.set_location(g_debug,'Entering: '||l_procedure,10);
2522:
2523: IF g_debug THEN
2524: pay_in_utils.trace('Payroll Action id ',p_arc_pay_action_id);
2525: pay_in_utils.trace('GRE id ',p_gre_id);
2526: pay_in_utils.trace('End Date ',p_effective_end_date);
2527: END IF;
2528:
2529:
2522:
2523: IF g_debug THEN
2524: pay_in_utils.trace('Payroll Action id ',p_arc_pay_action_id);
2525: pay_in_utils.trace('GRE id ',p_gre_id);
2526: pay_in_utils.trace('End Date ',p_effective_end_date);
2527: END IF;
2528:
2529:
2530: OPEN c_org_inc_tax_df_details;
2530: OPEN c_org_inc_tax_df_details;
2531: FETCH c_org_inc_tax_df_details INTO l_tan,l_ward,l_reg_org_id,l_tan_ack_no,l_org_name,l_location_id;
2532: CLOSE c_org_inc_tax_df_details;
2533:
2534: pay_in_utils.set_location(g_debug,l_procedure, 20);
2535:
2536: OPEN c_reg_org_details(l_reg_org_id);
2537: FETCH c_reg_org_details INTO l_pan,l_legal_name;
2538: CLOSE c_reg_org_details;
2536: OPEN c_reg_org_details(l_reg_org_id);
2537: FETCH c_reg_org_details INTO l_pan,l_legal_name;
2538: CLOSE c_reg_org_details;
2539:
2540: pay_in_utils.set_location(g_debug,l_procedure, 30);
2541: OPEN c_representative_id;
2542: FETCH c_representative_id INTO l_rep_person_id,l_rep_name,l_rep_title;
2543: CLOSE c_representative_id;
2544:
2541: OPEN c_representative_id;
2542: FETCH c_representative_id INTO l_rep_person_id,l_rep_name,l_rep_title;
2543: CLOSE c_representative_id;
2544:
2545: pay_in_utils.set_location(g_debug,l_procedure, 40);
2546: OPEN c_pos(l_rep_person_id);
2547: FETCH c_pos INTO l_position;
2548: CLOSE c_pos;
2549:
2546: OPEN c_pos(l_rep_person_id);
2547: FETCH c_pos INTO l_position;
2548: CLOSE c_pos;
2549:
2550: pay_in_utils.set_location(g_debug,l_procedure, 50);
2551: OPEN c_father_name(l_rep_person_id);
2552: FETCH c_father_name INTO l_rep_father,l_rep_father_title;
2553: CLOSE c_father_name;
2554:
2551: OPEN c_father_name(l_rep_person_id);
2552: FETCH c_father_name INTO l_rep_father,l_rep_father_title;
2553: CLOSE c_father_name;
2554:
2555: pay_in_utils.set_location(g_debug,l_procedure, 60);
2556: OPEN c_rep_address(l_rep_person_id);
2557: FETCH c_rep_address INTO l_rep_location;
2558: CLOSE c_rep_address;
2559:
2556: OPEN c_rep_address(l_rep_person_id);
2557: FETCH c_rep_address INTO l_rep_location;
2558: CLOSE c_rep_address;
2559:
2560: pay_in_utils.set_location(g_debug,l_procedure, 70);
2561: OPEN c_rep_phone(l_rep_person_id);
2562: FETCH c_rep_phone INTO l_rep_phone_no,l_phone_type;
2563: CLOSE c_rep_phone;
2564:
2561: OPEN c_rep_phone(l_rep_person_id);
2562: FETCH c_rep_phone INTO l_rep_phone_no,l_phone_type;
2563: CLOSE c_rep_phone;
2564:
2565: pay_in_utils.set_location(g_debug,l_procedure, 80);
2566: OPEN c_rep_work_fax(l_rep_person_id);
2567: FETCH c_rep_work_fax INTO l_rep_work_fax;
2568: CLOSE c_rep_work_fax;
2569:
2566: OPEN c_rep_work_fax(l_rep_person_id);
2567: FETCH c_rep_work_fax INTO l_rep_work_fax;
2568: CLOSE c_rep_work_fax;
2569:
2570: pay_in_utils.set_location(g_debug,l_procedure, 90);
2571: pay_action_information_api.create_action_information
2572: (p_action_context_id => p_arc_pay_action_id
2573: ,p_action_context_type => 'PA'
2574: ,p_action_information_category => 'IN_EOY_ORG'
2592: ,p_action_information18 => l_rep_work_fax
2593: ,p_action_information_id => l_action_info_id
2594: ,p_object_version_number => l_ovn
2595: );
2596: pay_in_utils.set_location(g_debug,'Leaving : '||l_procedure, 100);
2597:
2598:
2599: END archive_org_data;
2600: --------------------------------------------------------------------------
2752: --
2753:
2754: g_debug := hr_utility.debug_enabled;
2755: l_procedure := g_package || 'archive_code';
2756: pay_in_utils.set_location(g_debug,'Entering: '||l_procedure,10);
2757: --
2758: g_count := 1;
2759: g_asg_tab.DELETE;
2760:
2762:
2763: OPEN get_assignment_pact_id;
2764: FETCH get_assignment_pact_id INTO l_assignment_id ,l_arc_pay_action_id;
2765: CLOSE get_assignment_pact_id;
2766: pay_in_utils.set_location(g_debug,l_procedure, 20);
2767: --
2768: FOR c_rec IN c_gre_records
2769: LOOP
2770:
2788: g_count := g_count -1;
2789: END IF;
2790:
2791: IF g_debug THEN
2792: pay_in_utils.trace('GRE Count No ',g_count);
2793: pay_in_utils.trace('GRE id ',g_asg_tab(g_count).gre_id);
2794: pay_in_utils.trace('Start Date ',g_asg_tab(g_count).start_date);
2795: pay_in_utils.trace('End Date ',g_asg_tab(g_count).end_date );
2796: END IF;
2789: END IF;
2790:
2791: IF g_debug THEN
2792: pay_in_utils.trace('GRE Count No ',g_count);
2793: pay_in_utils.trace('GRE id ',g_asg_tab(g_count).gre_id);
2794: pay_in_utils.trace('Start Date ',g_asg_tab(g_count).start_date);
2795: pay_in_utils.trace('End Date ',g_asg_tab(g_count).end_date );
2796: END IF;
2797:
2790:
2791: IF g_debug THEN
2792: pay_in_utils.trace('GRE Count No ',g_count);
2793: pay_in_utils.trace('GRE id ',g_asg_tab(g_count).gre_id);
2794: pay_in_utils.trace('Start Date ',g_asg_tab(g_count).start_date);
2795: pay_in_utils.trace('End Date ',g_asg_tab(g_count).end_date );
2796: END IF;
2797:
2798: g_count := g_count + 1;
2791: IF g_debug THEN
2792: pay_in_utils.trace('GRE Count No ',g_count);
2793: pay_in_utils.trace('GRE id ',g_asg_tab(g_count).gre_id);
2794: pay_in_utils.trace('Start Date ',g_asg_tab(g_count).start_date);
2795: pay_in_utils.trace('End Date ',g_asg_tab(g_count).end_date );
2796: END IF;
2797:
2798: g_count := g_count + 1;
2799: END LOOP;
2798: g_count := g_count + 1;
2799: END LOOP;
2800: l_record_count := g_count-1;
2801:
2802: pay_in_utils.set_location(g_debug,l_procedure, 30);
2803:
2804: IF (g_employee_type = 'ALL')
2805: THEN
2806: l_end := g_count-1;
2830: l_end := g_count-1;
2831: l_start := 1;
2832: END IF;
2833: END IF;
2834: pay_in_utils.set_location(g_debug,l_procedure, 50);
2835:
2836: IF g_debug THEN
2837: pay_in_utils.trace('Start record ',l_start);
2838: pay_in_utils.trace('End Record ',l_end);
2833: END IF;
2834: pay_in_utils.set_location(g_debug,l_procedure, 50);
2835:
2836: IF g_debug THEN
2837: pay_in_utils.trace('Start record ',l_start);
2838: pay_in_utils.trace('End Record ',l_end);
2839: END IF;
2840:
2841: FOR i IN l_start..l_end
2834: pay_in_utils.set_location(g_debug,l_procedure, 50);
2835:
2836: IF g_debug THEN
2837: pay_in_utils.trace('Start record ',l_start);
2838: pay_in_utils.trace('End Record ',l_end);
2839: END IF;
2840:
2841: FOR i IN l_start..l_end
2842: LOOP
2848: );
2849: FETCH get_eoy_archival_details INTO l_run_asg_action_id;
2850: CLOSE get_eoy_archival_details;
2851:
2852: pay_in_utils.set_location(g_debug,l_procedure, 60);
2853:
2854: IF l_run_asg_action_id IS NOT NULL THEN
2855: pay_in_utils.set_location(g_debug,l_procedure, 70);
2856: OPEN c_get_date_earned(l_run_asg_action_id);
2851:
2852: pay_in_utils.set_location(g_debug,l_procedure, 60);
2853:
2854: IF l_run_asg_action_id IS NOT NULL THEN
2855: pay_in_utils.set_location(g_debug,l_procedure, 70);
2856: OPEN c_get_date_earned(l_run_asg_action_id);
2857: FETCH c_get_date_earned INTO l_run_date_earned;
2858: CLOSE c_get_date_earned;
2859:
2862: CLOSE get_prepayment_date;
2863:
2864:
2865:
2866: pay_in_utils.set_location(g_debug,l_procedure, 80);
2867:
2868: l_previous_gre_asg_action_id := NULL;
2869: IF (i > 1 AND i <> l_record_count)-- Neither the first nor the last record. Hence determine the diff
2870: THEN -- Taxable House Rent Allowance_ASG_YTD as on previous and current GRE.
2889: ELSIF (i = 1 AND l_record_count = 1)-- There exists only one record, hence take the Projected value
2890: THEN
2891: l_flag := FALSE;
2892: END IF;
2893: pay_in_utils.set_location(g_debug,l_procedure, 90);
2894:
2895: OPEN c_termination_check(l_assignment_id);
2896: FETCH c_termination_check INTO l_end_date;
2897: CLOSE c_termination_check;
2894:
2895: OPEN c_termination_check(l_assignment_id);
2896: FETCH c_termination_check INTO l_end_date;
2897: CLOSE c_termination_check;
2898: pay_in_utils.set_location(g_debug,l_procedure, 100);
2899:
2900: archive_person_data(p_run_asg_action_id => l_run_asg_action_id
2901: ,p_arc_asg_action_id => p_assignment_action_id
2902: ,p_arc_payroll_act_id => l_arc_pay_action_id
2906: ,p_payroll_run_date => fnd_date.date_to_canonical(l_run_date_earned)
2907: ,p_effective_start_date => g_asg_tab(i).start_date
2908: ,p_effective_end_date => LEAST(g_asg_tab(i).end_date,l_end_date)
2909: );
2910: pay_in_utils.set_location(g_debug,l_procedure, 110);
2911:
2912: archive_via_details(p_run_asg_action_id => l_run_asg_action_id
2913: ,p_arc_asg_action_id => p_assignment_action_id
2914: ,p_gre_id => g_asg_tab(i).gre_id
2914: ,p_gre_id => g_asg_tab(i).gre_id
2915: ,p_assignment_id => l_assignment_id
2916: ,p_payroll_date => l_run_date_earned
2917: );
2918: pay_in_utils.set_location(g_debug,l_procedure, 120);
2919:
2920: archive_allowances(p_run_asg_action_id => l_run_asg_action_id
2921: ,p_arc_asg_action_id => p_assignment_action_id
2922: ,p_gre_id => g_asg_tab(i).gre_id
2922: ,p_gre_id => g_asg_tab(i).gre_id
2923: ,pre_gre_asg_act_id => l_previous_gre_asg_action_id
2924: ,p_flag => l_flag
2925: );
2926: pay_in_utils.set_location(g_debug,l_procedure, 130);
2927:
2928: archive_perquisites(p_run_asg_action_id => l_run_asg_action_id
2929: ,p_arc_asg_action_id => p_assignment_action_id
2930: ,p_gre_id => g_asg_tab(i).gre_id
2929: ,p_arc_asg_action_id => p_assignment_action_id
2930: ,p_gre_id => g_asg_tab(i).gre_id
2931: ,pre_gre_asg_act_id => l_previous_gre_asg_action_id
2932: );
2933: pay_in_utils.set_location(g_debug,l_procedure, 140);
2934:
2935: archive_eoy_salary(p_run_asg_action_id => l_run_asg_action_id
2936: ,p_arc_asg_action_id => p_assignment_action_id
2937: ,p_gre_id => g_asg_tab(i).gre_id
2935: archive_eoy_salary(p_run_asg_action_id => l_run_asg_action_id
2936: ,p_arc_asg_action_id => p_assignment_action_id
2937: ,p_gre_id => g_asg_tab(i).gre_id
2938: );
2939: pay_in_utils.set_location(g_debug,l_procedure, 150);
2940:
2941: archive_other_balances(p_run_asg_action_id => l_run_asg_action_id
2942: ,p_arc_asg_action_id => p_assignment_action_id
2943: ,pre_gre_asg_act_id => l_previous_gre_asg_action_id
2944: ,p_gre_id => g_asg_tab(i).gre_id
2945: ,p_start_date => g_asg_tab(i).start_date
2946: ,p_end_date => g_asg_tab(i).end_date
2947: );
2948: pay_in_utils.set_location(g_debug,l_procedure, 160);
2949:
2950: OPEN c_pay_action_level_check(l_arc_pay_action_id,g_asg_tab(i).gre_id);
2951: FETCH c_pay_action_level_check INTO l_check;
2952: CLOSE c_pay_action_level_check;
2949:
2950: OPEN c_pay_action_level_check(l_arc_pay_action_id,g_asg_tab(i).gre_id);
2951: FETCH c_pay_action_level_check INTO l_check;
2952: CLOSE c_pay_action_level_check;
2953: pay_in_utils.set_location(g_debug,l_procedure, 170);
2954:
2955: IF l_check IS NULL
2956: THEN
2957: pay_in_utils.set_location(g_debug,l_procedure, 180);
2953: pay_in_utils.set_location(g_debug,l_procedure, 170);
2954:
2955: IF l_check IS NULL
2956: THEN
2957: pay_in_utils.set_location(g_debug,l_procedure, 180);
2958: archive_org_data(p_arc_pay_action_id => l_arc_pay_action_id
2959: ,p_gre_id => g_asg_tab(i).gre_id
2960: ,p_effective_end_date => g_system_date
2961: );
2962: END IF;
2963: END IF;
2964:
2965: END LOOP;
2966: pay_in_utils.set_location(g_debug,'Leaving : '||l_procedure, 20);
2967: --
2968: EXCEPTION
2969: WHEN OTHERS THEN
2970: IF get_eoy_archival_details%ISOPEN THEN
2969: WHEN OTHERS THEN
2970: IF get_eoy_archival_details%ISOPEN THEN
2971: CLOSE get_eoy_archival_details;
2972: END IF;
2973: l_message := pay_in_utils.get_pay_message('PER_IN_ORACLE_GENERIC_ERROR', 'FUNCTION:'||l_procedure, 'SQLERRMC:'||sqlerrm);
2974: pay_in_utils.set_location(g_debug,'Leaving : '||l_procedure, 30);
2975: pay_in_utils.trace(l_message,l_procedure);
2976: RAISE;
2977: END archive_code;
2970: IF get_eoy_archival_details%ISOPEN THEN
2971: CLOSE get_eoy_archival_details;
2972: END IF;
2973: l_message := pay_in_utils.get_pay_message('PER_IN_ORACLE_GENERIC_ERROR', 'FUNCTION:'||l_procedure, 'SQLERRMC:'||sqlerrm);
2974: pay_in_utils.set_location(g_debug,'Leaving : '||l_procedure, 30);
2975: pay_in_utils.trace(l_message,l_procedure);
2976: RAISE;
2977: END archive_code;
2978:
2971: CLOSE get_eoy_archival_details;
2972: END IF;
2973: l_message := pay_in_utils.get_pay_message('PER_IN_ORACLE_GENERIC_ERROR', 'FUNCTION:'||l_procedure, 'SQLERRMC:'||sqlerrm);
2974: pay_in_utils.set_location(g_debug,'Leaving : '||l_procedure, 30);
2975: pay_in_utils.trace(l_message,l_procedure);
2976: RAISE;
2977: END archive_code;
2978:
2979: END PAY_IN_EOY_ARCHIVE;