[Home] [Help]
1: PACKAGE BODY pay_gb_eoy_magtape AS
2: /* $Header: pygbemag.pkb 120.37.12020000.5 2013/01/18 09:51:59 sampmand ship $ */
3: /*
4: Change List
5: -----------
1104: l_tax_dist_ref NUMBER :=0; --Bug Fix 9414865
1105: -- 4011263: l_econ_required VARCHAR2(1) := '0';
1106: BEGIN
1107: -- Now start validating the record type 1
1108: hr_utility.set_location('pay_gb_eoy_magtape.eoy_control',600);
1109: -- Initialise the record type 1 parameters
1110: hr_utility.trace('Writing record type 1');
1111: IF g_eoy_mode in ('F - P14 EDI', 'P - P14 EDI') THEN
1112: p14_edi_init(1);
1142: EXCEPTION
1143: WHEN VALUE_ERROR THEN
1144: -- Any non-numeric characters will raise an exception
1145: g_tax_district_ref := ' ';
1146: hr_utility.set_location('pay_gb_eoy_magtape.eoy_control',610);
1147: END;
1148: mag_tape_interface('TAX_DISTRICT_REF' ,NVL(g_tax_district_ref,' '));
1149: mag_tape_interface('TAX_REF_NO',nvl(g_tax_ref_no,' '));
1150: --
1206: END create_record_type1;
1207: --
1208: PROCEDURE create_sub_header IS
1209: BEGIN
1210: hr_utility.set_location('pay_gb_eoy_magtape.eoy_control',500);
1211: IF g_eoy_mode in ('F - P14 EDI', 'P - P14 EDI') THEN
1212: -- EDI process does not need sub header therefore call dummy formula to skip this step
1213: p14_edi_init(7);
1214: ELSE
1216: mag_tape_init(3);
1217: mag_tape_interface('EOY_MODE',g_eoy_mode);
1218: mag_tape_interface('SUB_TOTAL','SUBTOTAL');
1219: END IF;
1220: hr_utility.set_location('pay_gb_eoy_magtape.eoy_control',510);
1221: END;
1222: --
1223: PROCEDURE create_record_type3 IS
1224: --
1306: mag_tape_interface('EOY_MODE',g_eoy_mode);
1307: mag_tape_interface('EMPLOYEE_NUMBER',NVL(g_employee_number,' '));
1308: hr_utility.trace('The employee is '||g_employee_number);
1309: --
1310: hr_utility.set_location('pay_gb_eoy_magtape.eoy_control',530);
1311: --
1312: -- Note all name validation performed in formula.
1313: --
1314: mag_tape_interface('LAST_NAME',NVL(g_last_name,' '));
1346: mag_tape_interface('SPP','0'); --P35/P14 EOY 2003/2004
1347: mag_tape_interface('SAP','0'); --P35/P14 EOY 2003/2004
1348: -- 4011263: mag_tape_interface('GROSS_PAY','0');
1349: mag_tape_interface('TAX_PAID','0');
1350: hr_utility.set_location('pay_gb_eoy_magtape.eoy_control',560);
1351: mag_tape_interface('TAX_REFUND',' ');
1352: mag_tape_interface('PREVIOUS_TAXABLE_PAY','0');
1353: --
1354: mag_tape_interface('PREVIOUS_TAX_PAID','0');
1360: END IF;
1361: EXCEPTION
1362: WHEN value_error THEN
1363: g_termination_date := ' ';
1364: hr_utility.set_location('pay_gb_eoy_magtape.eoy_control',570);
1365: END;
1366: mag_tape_interface('TERMINATION_DATE',NVL(g_termination_date,' '));
1367: /* Start 4011263
1368: mag_tape_interface('SUPERANNUATION','0');
1380: /* 4011263
1381: mag_tape_interface('PENSIONER_INDICATOR',' ');
1382: mag_tape_interface('DIRECTOR_INDICATOR',' ');
1383: 4011263 */
1384: hr_utility.set_location('pay_gb_eoy_magtape.eoy_control',580);
1385: --
1386: --
1387: hr_utility.trace('Start is '||to_char(l_tab_index+2));
1388: hr_utility.trace('End is '||to_char(l_no_nis));
1404: ni_able_uel_tab(l_index));
1405: -- l_ers_rebate := l_ers_rebate + employers_rebate_tab(l_index); --P35/P14 EOY 2003/2004
1406: -- l_ees_rebate := l_ees_rebate + employees_rebate_tab(l_index); --P35/P14 EOY 2003/2004
1407: l_param_index := l_param_index + 1;
1408: hr_utility.set_location('pay_gb_eoy_magtape.eoy_control',590);
1409: END LOOP;
1410: p_mag_form_clear(l_param_index);
1411: -- mag_tape_interface('NI_ERS_REBATE',l_ers_rebate); --P35/P14 EOY 2003/2004
1412: -- mag_tape_interface('NIEES_REBATE',l_ees_rebate); --P35/P14 EOY 2003/2004
1417: --
1418: -- Running count of all employee records
1419: --
1420: g_tot_rec2_per := g_tot_rec2_per + 1;
1421: hr_utility.set_location('pay_gb_eoy_magtape.eoy_control',595);
1422: END;
1423: -----------------------------------------------------------------------------
1424: -- PROCEDURE: get_parameters
1425: -- DESCRIPTION: This procedure obtains all parameter values passed into this
1472: -- Default the EOY Mode to 'P'
1473: p_eoy_mode := 'P';
1474: --
1475: BEGIN
1476: hr_utility.set_location('pay_gb_eoy_magtape.eoy_control',400);
1477: -- This loop is used to obtain all parameter values. The prerequisite to
1478: -- this functioning correctly is that rows are populated in the
1479: -- pay_mag_tape tables from position 1 onwards. When a row in the names
1480: -- table is not found, the loop exits by means of an exception.
1479: -- pay_mag_tape tables from position 1 onwards. When a row in the names
1480: -- table is not found, the loop exits by means of an exception.
1481: -- Also note that if a corresponding value is missing, the loop will exit.
1482: LOOP
1483: hr_utility.set_location('pay_gb_eoy_magtape.eoy_control',405);
1484: l_count := l_count + 1;
1485: hr_utility.trace(to_char(l_count));
1486: hr_utility.trace('Name: '||pay_mag_tape.internal_prm_names(l_count));
1487: hr_utility.trace('Value: '||pay_mag_tape.internal_prm_values(l_count));
1514: hr_utility.trace('No data Found from plsql table loop');
1515: NULL;
1516: WHEN value_error THEN
1517: hr_utility.trace(to_char(l_count));
1518: hr_utility.set_location('pay_gb_eoy_magtape.eoy_control',413);
1519: END;
1520: hr_utility.set_location('pay_gb_eoy_magtape.eoy_control',415);
1521: p_payroll_action_id := to_number(l_payroll_action_id);
1522: --
1516: WHEN value_error THEN
1517: hr_utility.trace(to_char(l_count));
1518: hr_utility.set_location('pay_gb_eoy_magtape.eoy_control',413);
1519: END;
1520: hr_utility.set_location('pay_gb_eoy_magtape.eoy_control',415);
1521: p_payroll_action_id := to_number(l_payroll_action_id);
1522: --
1523: -- Obtain EOY Mode from the Payroll Action ID.
1524: --
1524: --
1525: OPEN get_action_eoy_mode(p_payroll_action_id);
1526: FETCH get_action_eoy_mode INTO p_eoy_mode;
1527: IF get_action_eoy_mode%notfound THEN
1528: hr_utility.set_location('pay_gb_eoy_magtape.eoy_control',419);
1529: RAISE no_data_found; -- means no payroll action exists.
1530: END IF;
1531: CLOSE get_action_eoy_mode;
1532: --
1529: RAISE no_data_found; -- means no payroll action exists.
1530: END IF;
1531: CLOSE get_action_eoy_mode;
1532: --
1533: hr_utility.set_location('pay_gb_eoy_magtape.eoy_control',420);
1534: --
1535: -- Added for nocopy
1536: EXCEPTION
1537: WHEN OTHERS THEN
1595: l_mar_req_id VARCHAR2(81) := '-1'; -- Chars, as passed into formula.
1596: l_p35_req_id VARCHAR2(81) := '-1';
1597: --
1598: BEGIN
1599: hr_utility.set_location('pay_gb_eoy_magtape.eoy_control',0);
1600: --
1601: -- Start checking for record type 1
1602: --
1603:
1607: fetch C_NI_NEW_TAX_YEAR into l_ni_tax_year;
1608: close C_NI_NEW_TAX_YEAR;
1609:
1610: IF fetch_new_header THEN
1611: hr_utility.set_location('pay_gb_eoy_magtape.eoy_control',10);
1612: -- A Record type 1 is required
1613: IF NOT (header_cur%ISOPEN) THEN
1614: hr_utility.set_location('pay_gb_eoy_magtape.eoy_control',20);
1615: -- Get all necessary parameters. The payroll action ID
1610: IF fetch_new_header THEN
1611: hr_utility.set_location('pay_gb_eoy_magtape.eoy_control',10);
1612: -- A Record type 1 is required
1613: IF NOT (header_cur%ISOPEN) THEN
1614: hr_utility.set_location('pay_gb_eoy_magtape.eoy_control',20);
1615: -- Get all necessary parameters. The payroll action ID
1616: -- is validated.
1617: get_parameters(g_permit_no
1618: ,g_eoy_mode
1636: fnd_Date.date_to_displaydate(g_start_year));
1637: hr_utility.trace('g_end_year='||
1638: fnd_Date.date_to_displaydate(g_end_year));
1639: --
1640: hr_utility.set_location('pay_gb_eoy_magtape.eoy_control',25);
1641: --
1642: -- Check to see if the Payroll Action just retrieved has any
1643: -- errors. If not, check whether any assignment actions within the payroll
1644: -- action have errored. 1st error msg takes precedence.
1659: -- the DBI call in MAG_RECORD7.
1660: --
1661: l_errored := TRUE;
1662: end if;
1663: hr_utility.set_location('pay_gb_eoy_magtape.eoy_control',27);
1664: --
1665: -- First time in so clear the error type counts
1666: --
1667: pay_mag_tape.internal_prm_values(3) := 0;
1689: pay_mag_tape.internal_cxt_names(2) := 'PAYROLL_ACTION_ID';
1690: pay_mag_tape.internal_cxt_values(2) := to_char(g_payroll_action_id);
1691: hr_utility.trace('after cxt calls: '||pay_mag_tape.internal_cxt_values(2));
1692: ELSE
1693: hr_utility.set_location('pay_gb_eoy_magtape.eoy_control',28);
1694: -- No errors so fetch header info.
1695: FETCH header_cur INTO g_new_permit_no
1696: ,g_new_payroll_id
1697: ,g_tax_district_ref
1720: End 4011263 */
1721: --
1722: IF header_cur%NOTFOUND THEN
1723: -- No more records found so end of run
1724: hr_utility.set_location('pay_gb_eoy_magtape.eoy_control',30);
1725: IF g_tot_rec2_per > 0 THEN
1726: -- If at least one record has been found then create
1727: -- a permit total
1728: create_record_type3;
1758: permit_change := TRUE;
1759: -- Close the type 2 cursor so it will be re-opened with
1760: -- the new parameters
1761: CLOSE emps_cur;
1762: hr_utility.set_location('pay_gb_eoy_magtape.eoy_control',40);
1763: ELSE
1764: -- No permit change so add new smp and smp values to totals
1765: /* Start 4011263
1766: g_tot_ssp_rec := g_tot_ssp_rec + g_ssp_recovery;
1795: edi_process_emp_header := FALSE;
1796: edi_process_ni_details := FALSE;
1797: edi_process_emp_trailer := FALSE;
1798: END IF;
1799: hr_utility.set_location('pay_gb_eoy_magtape.eoy_control',45);
1800: ELSE
1801: hr_utility.trace('No payroll or permit change ');
1802: hr_utility.trace('4 Fetched tax dist is '||g_tax_district_ref);
1803: hr_utility.trace('4 Fetched tax ref is '||g_tax_ref_no);
1810: g_payroll_id := g_new_payroll_id;
1811: create_record_type1;
1812: fetch_new_header := FALSE;
1813: sub_header := TRUE;
1814: hr_utility.set_location('pay_gb_eoy_magtape.eoy_control',50);
1815: END IF;
1816: END IF;
1817: END IF; -- End of Errored payroll check.
1818: ELSE
1832: -- g_tot_spp_comp := g_spp_compensation; --P35/P14 EOY 2003/2004
1833: -- g_tot_sap_comp := g_sap_compensation; --P35/P14 EOY 2003/2004
1834: /* End 4011263 */
1835:
1836: hr_utility.set_location('pay_gb_eoy_magtape.eoy_control',60);
1837: END IF;
1838: --
1839: -- Check if sub-header required
1840: --
1839: -- Check if sub-header required
1840: --
1841: ELSIF sub_header THEN
1842: create_sub_header;
1843: hr_utility.set_location('pay_gb_eoy_magtape.eoy_control',70);
1844: sub_header := FALSE;
1845: IF g_eoy_mode IN ( 'F - P14 EDI', 'P - P14 EDI') THEN
1846: process_emps := FALSE;
1847: edi_process_emp_header := TRUE;
1859: --
1860: ELSIF process_dummy THEN
1861: -- A special record type 2
1862: -- More than 4 more NI categories exist for the employee
1863: hr_utility.set_location('pay_gb_eoy_magtape.eoy_control',700);
1864: IF g_ni_total - g_last_ni > 4 THEN
1865: p_create_dummy(g_last_ni,4);
1866: g_last_ni := g_last_ni + 4;
1867: ELSE
1877: -- Check for processing record type 2
1878: --
1879: ELSIF process_emps THEN
1880: -- Record type 2 required
1881: hr_utility.set_location('pay_gb_eoy_magtape.eoy_control',100);
1882: hr_utility.trace('The emp tax dist is '||g_tax_district_ref);
1883: hr_utility.trace('The emp tax ref is '||g_tax_ref_no);
1884: hr_utility.trace('The emp permit_no is '||g_permit_no);
1885: hr_utility.trace('The emp payroll_id is '||to_char(g_payroll_id));
1883: hr_utility.trace('The emp tax ref is '||g_tax_ref_no);
1884: hr_utility.trace('The emp permit_no is '||g_permit_no);
1885: hr_utility.trace('The emp payroll_id is '||to_char(g_payroll_id));
1886: IF NOT (emps_cur%ISOPEN) THEN
1887: hr_utility.set_location('pay_gb_eoy_magtape.eoy_control',110);
1888: OPEN emps_cur(g_payroll_id, g_payroll_action_id);
1889: END IF;
1890: FETCH emps_cur INTO g_employee_number
1891: ,g_assignment_action_id
1941: --
1942: -- End of record type 2
1943: --
1944: -- Set escape from this section
1945: hr_utility.set_location('pay_gb_eoy_magtape.eoy_control',130);
1946: /* Each call of this package must return 1 record even */
1947: /* if its only a dummy formula call to do so */
1948: mag_tape_init(6);
1949: fetch_new_header:= TRUE;
2016: ni_able_auel_tab(l_plsql_index) := 0; -- EOY 07/08
2017: employers_rebate_tab(l_plsql_index) := 0;
2018: employees_rebate_tab(l_plsql_index) := 0;
2019: END LOOP;
2020: hr_utility.set_location('pay_gb_eoy_magtape.eoy_control',150);
2021: END IF;
2022: hr_utility.trace('Total NI Cats index: '||to_char(l_index));
2023: /* Create a type 2 record */
2024: -- IF nvl(g_ssp + g_smp + g_gross_pay + g_tax_paid + g_previous_taxable_pay +
2029: mag_tape_init(2);
2030: /* Now create a record type 2 */
2031: mag_tape_interface('EOY_MODE',g_eoy_mode);
2032: mag_tape_interface('EMPLOYEE_NUMBER',NVL(g_employee_number,' '));
2033: hr_utility.set_location('pay_gb_eoy_magtape.eoy_control',250);
2034: --
2035: -- Note name validation performed in formula.
2036: mag_tape_interface('LAST_NAME',NVL(g_last_name,' '));
2037: mag_tape_interface('FIRST_NAME',NVL(g_first_name,' '));
2034: --
2035: -- Note name validation performed in formula.
2036: mag_tape_interface('LAST_NAME',NVL(g_last_name,' '));
2037: mag_tape_interface('FIRST_NAME',NVL(g_first_name,' '));
2038: hr_utility.set_location('pay_gb_eoy_magtape.eoy_control',275);
2039: mag_tape_interface('MIDDLE_NAME',NVL(g_middle_name,' '));
2040: mag_tape_interface('DATE_OF_BIRTH',g_date_of_birth);
2041: mag_tape_interface('GENDER',g_sex);
2042: /* 4011263
2080: mag_tape_interface('SAP',g_sap); --P35/P14 EOY 2003/2004
2081: -- 4011263: mag_tape_interface('GROSS_PAY',g_gross_pay);
2082: mag_tape_interface('TAX_PAID',ABS(g_tax_paid));
2083: g_tot_tax := g_tot_tax + g_tax_paid;
2084: hr_utility.set_location('pay_gb_eoy_magtape.eoy_control',280);
2085: --
2086: -- Tax Refund must be 'R' or blank. Formula validates this.
2087: --
2088: mag_tape_interface('TAX_REFUND',nvl(g_tax_refund,' '));
2099: END IF;
2100: EXCEPTION
2101: WHEN value_error THEN
2102: g_termination_date := ' ';
2103: hr_utility.set_location('pay_gb_eoy_magtape.eoy_control',300);
2104: END;
2105: mag_tape_interface('TERMINATION_DATE',NVL(g_termination_date,' '));
2106: /* 4011263: Remove superannuation from EOY
2107: --added nvl for bug fix 3614251
2128: /* 4011263
2129: mag_tape_interface('PENSIONER_INDICATOR', nvl(g_pension_indicator,' '));
2130: mag_tape_interface('DIRECTOR_INDICATOR', nvl(g_director_indicator,' '));
2131: 4011263 */
2132: hr_utility.set_location('pay_gb_eoy_magtape.eoy_control',350);
2133: --
2134: -- Now send up to 3 of the remaining contribution records to mag tape
2135: -- If they do not exist they have been defaulted
2136: --
2149: mag_tape_interface('NI_ABLE_UEL'||
2150: TO_CHAR(l_index), ni_able_uel_tab(l_index));
2151: -- l_ers_rebate := l_ers_rebate + employers_rebate_tab(l_index); --P35/P14 EOY 2003/2004
2152: -- l_ees_rebate := l_ees_rebate + employees_rebate_tab(l_index); --P35/P14 EOY 2003/2004
2153: hr_utility.set_location('pay_gb_eoy_magtape.eoy_control',360);
2154: END LOOP;
2155: --mag_tape_interface('NI_ERS_REBATE', l_ers_rebate); --P35/P14 EOY 2003/2004
2156: --mag_tape_interface('NIEES_REBATE', l_ees_rebate); --P35/P14 EOY 2003/2004
2157: mag_tape_interface('ASSIGNMENT_MESSAGE', l_asg_message);
2164: g_tot_rec2_per := g_tot_rec2_per + 1;
2165: -- Now check the number of NI categories found for this employee
2166: IF g_ni_total > 4 THEN
2167: hr_utility.trace('The employee is '||g_employee_number);
2168: hr_utility.set_location('pay_gb_eoy_magtape.eoy_control',365);
2169: -- More than four so set flags for creation of dummy record
2170: process_emps := FALSE;
2171: process_dummy := TRUE;
2172: -- Index in PL/SQL tables set to the last record selected
2171: process_dummy := TRUE;
2172: -- Index in PL/SQL tables set to the last record selected
2173: g_last_ni := 4;
2174: END IF;
2175: hr_utility.set_location('pay_gb_eoy_magtape.eoy_control',370);
2176: --
2177: END IF; /* End of create type 2 record */
2178: --
2179: -- If EOY mode is P14 EDI then write employee header and NI Details and employee
2179: -- If EOY mode is P14 EDI then write employee header and NI Details and employee
2180: -- trailer records instead of above Mag Tape type 2 record.
2181: ELSIF edi_process_emp_header THEN
2182: -- Need to process employee header record for EDI Process
2183: hr_utility.set_location('pay_gb_eoy_magtape.eoy_control',100);
2184: hr_utility.trace('The emp tax dist is '||g_tax_district_ref);
2185: hr_utility.trace('The emp tax ref is '||g_tax_ref_no);
2186: hr_utility.trace('The emp permit_no is '||g_permit_no);
2187: hr_utility.trace('The emp payroll_id is '||to_char(g_payroll_id));
2186: hr_utility.trace('The emp permit_no is '||g_permit_no);
2187: hr_utility.trace('The emp payroll_id is '||to_char(g_payroll_id));
2188: --
2189: IF NOT (emps_cur%ISOPEN) THEN
2190: hr_utility.set_location('pay_gb_eoy_magtape.eoy_control',110);
2191: OPEN emps_cur(g_payroll_id, g_payroll_action_id);
2192: END IF;
2193: --
2194: FETCH emps_cur INTO g_employee_number
2241: --
2242: IF emps_cur%NOTFOUND THEN
2243: -- End of employee details for EDI process
2244: -- Set escape from this section
2245: hr_utility.set_location('pay_gb_eoy_magtape.eoy_control',130);
2246: -- Each call of this package must return 1 record even
2247: -- if its only a dummy formula call to do so
2248: mag_tape_init(6);
2249: fetch_new_header:= TRUE;
2260: -- Now create employee header
2261: mag_tape_interface('EOY_MODE',g_eoy_mode);
2262: mag_tape_interface('EMPLOYEE_COUNT', nvl(g_tot_rec2_per,0));
2263: mag_tape_interface('EMPLOYEE_NUMBER',NVL(g_employee_number,' '));
2264: hr_utility.set_location('pay_gb_eoy_magtape.eoy_control',250);
2265: --
2266: -- Note name validation performed in formula.
2267: mag_tape_interface('LAST_NAME',NVL(g_last_name,' '));
2268: mag_tape_interface('FIRST_NAME',NVL(g_first_name,' '));
2267: mag_tape_interface('LAST_NAME',NVL(g_last_name,' '));
2268: mag_tape_interface('FIRST_NAME',NVL(g_first_name,' '));
2269: mag_tape_interface('MIDDLE_NAME',NVL(g_middle_name,' '));
2270: --4011263: mag_tape_interface('TITLE',NVL(g_title,' '));
2271: hr_utility.set_location('pay_gb_eoy_magtape.eoy_control',275);
2272: mag_tape_interface('GENDER',g_sex);
2273: /* 4011263
2274: -- Order Address lines to push nulls to end, using g_full_address as
2275: -- a temporary variable.
2620: l_type2_errors := to_number(pay_mag_tape.internal_prm_values(4));
2621: l_type1_errors := to_number(pay_mag_tape.internal_prm_values(3));
2622: l_char_errors := to_number(pay_mag_tape.internal_prm_values(5));
2623: l_loc_per := to_number(g_tot_rec2)/200; -- Half percent.
2624: hr_utility.set_location('pay_gb_eoy_magtape.eoy_control',600);
2625: --
2626: -- Check for type 1 and type 2 errors. Similar to MAG_RECORD5 checks.
2627: --
2628: if l_type1_errors > 0 -- Type 1 errors
2633: or (g_eoy_mode in ('F','F - P14 EDI') and l_char_errors > 0) -- Full Mode with
2634: -- Illegal chars.
2635: then
2636: -- error raised, do not submit reports.
2637: hr_utility.set_location('pay_gb_eoy_magtape.eoy_control',602);
2638: NULL;
2639: else
2640: hr_utility.set_location('pay_gb_eoy_magtape.eoy_control',605);
2641: -- No errors, so submit the reports.
2636: -- error raised, do not submit reports.
2637: hr_utility.set_location('pay_gb_eoy_magtape.eoy_control',602);
2638: NULL;
2639: else
2640: hr_utility.set_location('pay_gb_eoy_magtape.eoy_control',605);
2641: -- No errors, so submit the reports.
2642: submit_reports(p_payroll_action_id => g_payroll_action_id,
2643: p_eoy_mode => g_eoy_mode,
2644: p_mar_req_id => l_mar_req_id);
2662: hr_utility.trace('The tot record is '||to_char(g_tot_rec2));
2663: IF g_eoy_mode NOT in ('F - P14 EDI', 'P - P14 EDI') THEN
2664: mag_tape_interface('END_OF_DATA','END OF DATA');
2665: END IF;
2666: hr_utility.set_location('pay_gb_eoy_magtape.eoy_control',610);
2667: IF header_cur%ISOPEN THEN
2668: CLOSE header_cur;
2669: END IF;
2670: IF emps_cur%ISOPEN THEN
2670: IF emps_cur%ISOPEN THEN
2671: CLOSE emps_cur;
2672: END IF;
2673: END IF;
2674: hr_utility.set_location('pay_gb_eoy_magtape.eoy_control',999);
2675: END;
2676: --
2677: --------------------------------------------------------------------------
2678: -- Function: validate_input
3211: l_return_value VARCHAR2(250) := NULL;
3212: BEGIN
3213: --
3214: -- hr_utility.trace_on(null, 'RMEOYVTC');
3215: hr_utility.trace('Entering pay_gb_eoy_magtape.validate_tax_code.');
3216: hr_utility.trace('p_tax_code = '|| p_tax_code);
3217: hr_utility.trace('p_effective_date ='|| fnd_date.date_to_displaydate(p_effective_date));
3218: hr_utility.trace('p_assignment_id = '||p_assignment_id);
3219: l_return_value := hr_gb_utility.tax_code_validate(p_tax_code => p_tax_code,
3280: close csr_get_version;
3281: return l_version;
3282: END get_payroll_version;
3283:
3284: END pay_gb_eoy_magtape;