229: IF ((p_record_name = 'RS') AND
230: (p_input_3 = 'Other State Data')
231: ) THEN
232: l_length := 10;
233: hr_utility.trace('RS. Other State Data.l_length = '||to_char(l_length));
234: ELSIF p_record_name = 'RS' THEN
235: --{
236: IF p_report_qualifier = 'NJ' THEN
237: IF ((p_input_3 = 'SDI Withheld') OR
376: lpad(' ',22));
377: -- Format for Valid Address
378: IF p_valid_address = 'Y' THEN
379: --{
380: hr_utility.trace('Valid Address found ');
381: hr_utility.trace('Location address '||l_location_addr);
382: hr_utility.trace('Delivery address '||l_delivery_addr);
383: hr_utility.trace('town_or_city '||l_city);
384: hr_utility.trace('postal_code '||p_postal_code);
377: -- Format for Valid Address
378: IF p_valid_address = 'Y' THEN
379: --{
380: hr_utility.trace('Valid Address found ');
381: hr_utility.trace('Location address '||l_location_addr);
382: hr_utility.trace('Delivery address '||l_delivery_addr);
383: hr_utility.trace('town_or_city '||l_city);
384: hr_utility.trace('postal_code '||p_postal_code);
385: hr_utility.trace('State '||l_state);
378: IF p_valid_address = 'Y' THEN
379: --{
380: hr_utility.trace('Valid Address found ');
381: hr_utility.trace('Location address '||l_location_addr);
382: hr_utility.trace('Delivery address '||l_delivery_addr);
383: hr_utility.trace('town_or_city '||l_city);
384: hr_utility.trace('postal_code '||p_postal_code);
385: hr_utility.trace('State '||l_state);
386: hr_utility.trace('p_country '||p_country);
379: --{
380: hr_utility.trace('Valid Address found ');
381: hr_utility.trace('Location address '||l_location_addr);
382: hr_utility.trace('Delivery address '||l_delivery_addr);
383: hr_utility.trace('town_or_city '||l_city);
384: hr_utility.trace('postal_code '||p_postal_code);
385: hr_utility.trace('State '||l_state);
386: hr_utility.trace('p_country '||p_country);
387:
380: hr_utility.trace('Valid Address found ');
381: hr_utility.trace('Location address '||l_location_addr);
382: hr_utility.trace('Delivery address '||l_delivery_addr);
383: hr_utility.trace('town_or_city '||l_city);
384: hr_utility.trace('postal_code '||p_postal_code);
385: hr_utility.trace('State '||l_state);
386: hr_utility.trace('p_country '||p_country);
387:
388: IF c_item_name = 'EE_ADDRESS' THEN
381: hr_utility.trace('Location address '||l_location_addr);
382: hr_utility.trace('Delivery address '||l_delivery_addr);
383: hr_utility.trace('town_or_city '||l_city);
384: hr_utility.trace('postal_code '||p_postal_code);
385: hr_utility.trace('State '||l_state);
386: hr_utility.trace('p_country '||p_country);
387:
388: IF c_item_name = 'EE_ADDRESS' THEN
389: l_level := 'A';
382: hr_utility.trace('Delivery address '||l_delivery_addr);
383: hr_utility.trace('town_or_city '||l_city);
384: hr_utility.trace('postal_code '||p_postal_code);
385: hr_utility.trace('State '||l_state);
386: hr_utility.trace('p_country '||p_country);
387:
388: IF c_item_name = 'EE_ADDRESS' THEN
389: l_level := 'A';
390: l_mesg_name := 'PAY_INVALID_EE_FORMAT';
466: --{
467: sp_out_5:= lpad(' ',5); --zip
468: sp_out_8:= lpad(' ',15); -- foreign zip
469: sp_out_6:= lpad(' ', 4); --extension
470: hr_utility.trace('Zip or Postal Code is null');
471: --}
472: END IF;
473: IF ((p_item_name = 'ER_ADDRESS') OR ( p_item_name = 'CR_ADDRESS')) THEN
474: sp_out_10:= p_name;
471: --}
472: END IF;
473: IF ((p_item_name = 'ER_ADDRESS') OR ( p_item_name = 'CR_ADDRESS')) THEN
474: sp_out_10:= p_name;
475: hr_utility.trace('Organization Name = '||p_name);
476: /* Locality_Company_Id */
477: IF ((p_item_name = 'ER_ADDRESS') and (p_local_code = 'PHILA')) THEN
478: sp_out_8:= lpad(NVL(p_locality_company_id,' '),15);
479: END IF;
506: l_err :=TRUE;
507: END IF;
508: --}
509: END IF; --p_valid_address
510: hr_utility.trace('location address '||sp_out_1);
511: hr_utility.trace('delivery address '||sp_out_2);
512: hr_utility.trace('City '||sp_out_3);
513: hr_utility.trace('State '||sp_out_4);
514: hr_utility.trace('Zip '||sp_out_5);
507: END IF;
508: --}
509: END IF; --p_valid_address
510: hr_utility.trace('location address '||sp_out_1);
511: hr_utility.trace('delivery address '||sp_out_2);
512: hr_utility.trace('City '||sp_out_3);
513: hr_utility.trace('State '||sp_out_4);
514: hr_utility.trace('Zip '||sp_out_5);
515: hr_utility.trace('Zip Code Extension '||sp_out_6);
508: --}
509: END IF; --p_valid_address
510: hr_utility.trace('location address '||sp_out_1);
511: hr_utility.trace('delivery address '||sp_out_2);
512: hr_utility.trace('City '||sp_out_3);
513: hr_utility.trace('State '||sp_out_4);
514: hr_utility.trace('Zip '||sp_out_5);
515: hr_utility.trace('Zip Code Extension '||sp_out_6);
516: hr_utility.trace('Foreign State/Province '||sp_out_7);
509: END IF; --p_valid_address
510: hr_utility.trace('location address '||sp_out_1);
511: hr_utility.trace('delivery address '||sp_out_2);
512: hr_utility.trace('City '||sp_out_3);
513: hr_utility.trace('State '||sp_out_4);
514: hr_utility.trace('Zip '||sp_out_5);
515: hr_utility.trace('Zip Code Extension '||sp_out_6);
516: hr_utility.trace('Foreign State/Province '||sp_out_7);
517: hr_utility.trace('Foreign Zip '||sp_out_8);
510: hr_utility.trace('location address '||sp_out_1);
511: hr_utility.trace('delivery address '||sp_out_2);
512: hr_utility.trace('City '||sp_out_3);
513: hr_utility.trace('State '||sp_out_4);
514: hr_utility.trace('Zip '||sp_out_5);
515: hr_utility.trace('Zip Code Extension '||sp_out_6);
516: hr_utility.trace('Foreign State/Province '||sp_out_7);
517: hr_utility.trace('Foreign Zip '||sp_out_8);
518: hr_utility.trace('Country '||sp_out_9);
511: hr_utility.trace('delivery address '||sp_out_2);
512: hr_utility.trace('City '||sp_out_3);
513: hr_utility.trace('State '||sp_out_4);
514: hr_utility.trace('Zip '||sp_out_5);
515: hr_utility.trace('Zip Code Extension '||sp_out_6);
516: hr_utility.trace('Foreign State/Province '||sp_out_7);
517: hr_utility.trace('Foreign Zip '||sp_out_8);
518: hr_utility.trace('Country '||sp_out_9);
519: IF (p_item_name = 'ER_ADDRESS') THEN
512: hr_utility.trace('City '||sp_out_3);
513: hr_utility.trace('State '||sp_out_4);
514: hr_utility.trace('Zip '||sp_out_5);
515: hr_utility.trace('Zip Code Extension '||sp_out_6);
516: hr_utility.trace('Foreign State/Province '||sp_out_7);
517: hr_utility.trace('Foreign Zip '||sp_out_8);
518: hr_utility.trace('Country '||sp_out_9);
519: IF (p_item_name = 'ER_ADDRESS') THEN
520: hr_utility.trace('Organization Name '||sp_out_10);
513: hr_utility.trace('State '||sp_out_4);
514: hr_utility.trace('Zip '||sp_out_5);
515: hr_utility.trace('Zip Code Extension '||sp_out_6);
516: hr_utility.trace('Foreign State/Province '||sp_out_7);
517: hr_utility.trace('Foreign Zip '||sp_out_8);
518: hr_utility.trace('Country '||sp_out_9);
519: IF (p_item_name = 'ER_ADDRESS') THEN
520: hr_utility.trace('Organization Name '||sp_out_10);
521: ELSE
514: hr_utility.trace('Zip '||sp_out_5);
515: hr_utility.trace('Zip Code Extension '||sp_out_6);
516: hr_utility.trace('Foreign State/Province '||sp_out_7);
517: hr_utility.trace('Foreign Zip '||sp_out_8);
518: hr_utility.trace('Country '||sp_out_9);
519: IF (p_item_name = 'ER_ADDRESS') THEN
520: hr_utility.trace('Organization Name '||sp_out_10);
521: ELSE
522: hr_utility.trace('Employee Number '||sp_out_10);
516: hr_utility.trace('Foreign State/Province '||sp_out_7);
517: hr_utility.trace('Foreign Zip '||sp_out_8);
518: hr_utility.trace('Country '||sp_out_9);
519: IF (p_item_name = 'ER_ADDRESS') THEN
520: hr_utility.trace('Organization Name '||sp_out_10);
521: ELSE
522: hr_utility.trace('Employee Number '||sp_out_10);
523: END IF;
524: --
518: hr_utility.trace('Country '||sp_out_9);
519: IF (p_item_name = 'ER_ADDRESS') THEN
520: hr_utility.trace('Organization Name '||sp_out_10);
521: ELSE
522: hr_utility.trace('Employee Number '||sp_out_10);
523: END IF;
524: --
525: -- Check to include or exclude record on the basis of validity of address
526: --
526: --
527: IF p_validate = 'Y' THEN
528: IF l_err THEN
529: p_exclude_from_output := 'Y';
530: hr_utility.trace('p_validate is Y .error '||p_exclude_from_output);
531: END IF;
532: END IF;
533: IF p_exclude_from_output IS NULL THEN
534: p_exclude_from_output := 'N';
689: r_input_38 varchar2(300);
690: r_input_39 varchar2(300);
691:
692: BEGIN
693: hr_utility.trace('RA Record Formatting started ');
694: hr_utility.trace(' Format_W2_RA_Record Begin for Company '|| p_input_7);
695: -- Initializing local variables with parameter value
696: --{
697: r_input_2 := p_input_2;
690: r_input_39 varchar2(300);
691:
692: BEGIN
693: hr_utility.trace('RA Record Formatting started ');
694: hr_utility.trace(' Format_W2_RA_Record Begin for Company '|| p_input_7);
695: -- Initializing local variables with parameter value
696: --{
697: r_input_2 := p_input_2;
698: r_input_3 := p_input_3;
754:
755: IF p_exclude_from_output = 'Y' THEN
756: l_exclude_from_output_chk := TRUE;
757: END IF;
758: hr_utility.trace('Valid EIN '||l_emp_ein);
759: -- Validation Ends
760: --
761: -- Formatiing Starts
762:
810: ELSE
811: --{
812: /* Bug 4391218 Pos: 12 - 19 (8 characters) */
813: l_pin := rpad(substr(nvl(p_input_3,' '),1,8),17);
814: hr_utility.trace(' l_pin = '||l_pin);
815: --}
816: END IF;
817: /*6330489*/
818: IF p_report_qualifier not in ('MO_KNSAS','MO_STLOU','OH_CCAAA','OH_DAYTO','OH_RTCCA','PA_PHILA')
849: IF ((p_input_32 = '1' ) OR
850: (p_input_32 = '2' )
851: )
852: THEN
853: hr_utility.trace('Preferred method of code is correct. it is '||p_input_32);
854: l_pblm_code:= p_input_32;
855: ELSE
856: hr_utility.trace('Preferred method of code is incorrect. it is '||p_input_32);
857: l_pblm_code:= lpad('2',1);
852: THEN
853: hr_utility.trace('Preferred method of code is correct. it is '||p_input_32);
854: l_pblm_code:= p_input_32;
855: ELSE
856: hr_utility.trace('Preferred method of code is incorrect. it is '||p_input_32);
857: l_pblm_code:= lpad('2',1);
858: END IF;
859: -- Bug # 2682428
860: --
873: (p_input_33 = 'L' )OR
874: (p_input_33 = 'P' )OR
875: (p_input_33 = 'O' )) THEN
876: l_preparer_code:= p_input_33;
877: hr_utility.trace('l_preparer_code is correct. it is '||p_input_33);
878: ELSE
879: l_preparer_code:= lpad(' ',1);
880: hr_utility.trace('l_preparer_code is incorrect. it is '||p_input_33);
881: END IF;
876: l_preparer_code:= p_input_33;
877: hr_utility.trace('l_preparer_code is correct. it is '||p_input_33);
878: ELSE
879: l_preparer_code:= lpad(' ',1);
880: hr_utility.trace('l_preparer_code is incorrect. it is '||p_input_33);
881: END IF;
882:
883: /* fix for bug # 2680189 */
884: IF (p_report_qualifier = 'PA_PHILA') THEN
996: ||l_preparer_code
997: ||lpad(' ',12)
998: ||l_end_of_rec ;
999: --
1000: hr_utility.trace('RA Record of FLAT Type -----');
1001: ret_str_len:=length(return_value);
1002:
1003: ELSIF p_input_40 = 'CSV' THEN
1004: hr_utility.trace('RA Record of CSV Type formatting Starts ----');
1000: hr_utility.trace('RA Record of FLAT Type -----');
1001: ret_str_len:=length(return_value);
1002:
1003: ELSIF p_input_40 = 'CSV' THEN
1004: hr_utility.trace('RA Record of CSV Type formatting Starts ----');
1005: return_value:='RA'||','||p_input_2||','||p_input_3||','||lpad(' ',9) -- Bug# 4391218
1006: ||','||rpad(substr(nvl(p_input_4,'0'),1,1),1)
1007: ||','||rpad(substr(nvl(p_input_5,' '),1,6),6)
1008: ||','||rpad(substr(nvl(p_input_6,' '),1,2),2)
1037: ||','||rpad(substr(nvl(p_input_31,' '),1,10),10)
1038: ||','||p_input_32
1039: ||','||p_input_33
1040: ||','||lpad(' ',12);
1041: hr_utility.trace(' RA Record of CSV Type formatting Ends----');
1042: hr_utility.trace(return_value);
1043: END IF;
1044: p_error := l_exclude_from_output_chk;
1045: ret_str_len:=length(return_value);
1038: ||','||p_input_32
1039: ||','||p_input_33
1040: ||','||lpad(' ',12);
1041: hr_utility.trace(' RA Record of CSV Type formatting Ends----');
1042: hr_utility.trace(return_value);
1043: END IF;
1044: p_error := l_exclude_from_output_chk;
1045: ret_str_len:=length(return_value);
1046: return return_value;
1199: return_value varchar2(32767);
1200:
1201:
1202: BEGIN
1203: hr_utility.trace('RV Record Formatting started ');
1204: -- Initializing local variables with parameter value
1205: r_input_2 := p_input_2;
1206: r_input_3 := p_input_3;
1207: r_input_4 := p_input_4;
1513: r_input_38 varchar2(300);
1514: r_input_39 varchar2(300);
1515:
1516: BEGIN
1517: hr_utility.trace('RE Record Formatting started ');
1518: -- Initializing local variables with parameter value
1519: --{
1520: r_input_2 := p_input_2;
1521: r_input_3 := p_input_3;
1560: IF p_record_name = 'RE' THEN -- p_record_name
1561: --{
1562: /* Check for agent indicator code p_input_3 */
1563: IF p_input_3 = 'Y' THEN
1564: hr_utility.trace('agent indicator is Y');
1565: l_agent_indicator := '1';
1566: l_emp_ein := p_input_5;
1567: l_agent_ein := p_input_4;
1568: ELSE
1566: l_emp_ein := p_input_5;
1567: l_agent_ein := p_input_4;
1568: ELSE
1569: l_agent_indicator:=lpad(' ','1');
1570: hr_utility.trace('agent indicator is not 1');
1571: l_emp_ein := p_input_4;
1572: l_agent_ein := lpad(' ',9);
1573: END IF;
1574:
1623: -- not for any of the audit report
1624: --
1625: IF p_input_40 = 'FLAT' THEN
1626: --{
1627: hr_utility.trace('before data_validation of ein');
1628: l_emp_ein :=
1629: pay_us_reporting_utils_pkg.data_validation(p_effective_date,
1630: p_report_type,
1631: p_format,
1665: END IF;
1666: --}
1667: END IF; -- agent_indicator
1668:
1669: hr_utility.trace('after data_validation of EIN');
1670: l_input_8 := replace(r_input_8,' ');
1671:
1672: IF l_input_8 IS NOT NULL THEN --Checking Other EIN for validation
1673: --{
1670: l_input_8 := replace(r_input_8,' ');
1671:
1672: IF l_input_8 IS NOT NULL THEN --Checking Other EIN for validation
1673: --{
1674: hr_utility.trace('before data_validation of other EIN');
1675: l_other_ein:= pay_us_reporting_utils_pkg.data_validation(p_effective_date,
1676: p_report_type,
1677: p_format,
1678: p_report_qualifier,
1685: p_validate,
1686: p_exclude_from_output,
1687: sp_out_1,
1688: sp_out_2);
1689: hr_utility.trace('after data_validation of l_other_ein');
1690: IF p_exclude_from_output = 'Y' THEN
1691: l_exclude_from_output_chk := TRUE;
1692: END IF;
1693: --}
1817: END IF;
1818:
1819: IF p_report_qualifier = 'PA_PHILA' THEN
1820: --{
1821: hr_utility.trace('CHK before Formating Locality Comapny ID ');
1822: l_bus_tax_acct_number := rpad(replace(replace(nvl
1823: (replace(p_input_17,' '),' '),'/'),'-'),7);
1824: hr_utility.trace('CHK Formatted Locality Comapny ID '
1825: ||l_bus_tax_acct_number);
1820: --{
1821: hr_utility.trace('CHK before Formating Locality Comapny ID ');
1822: l_bus_tax_acct_number := rpad(replace(replace(nvl
1823: (replace(p_input_17,' '),' '),'/'),'-'),7);
1824: hr_utility.trace('CHK Formatted Locality Comapny ID '
1825: ||l_bus_tax_acct_number);
1826: r_input_22 := substr(l_bus_tax_acct_number,1,2);
1827: r_input_23 := rpad(substr(l_bus_tax_acct_number,3,7),6);
1828: r_input_24 := lpad(' ',2);
2257: AND EFFECTIVE_END_DATE
2258: AND FED_INFORMATION_CATEGORY = '401K LIMITS';
2259:
2260: BEGIN
2261: hr_utility.trace('Formatting RW record');
2262: hr_utility.trace('Formatting Mode = '||p_input_40);
2263: -- Initializing local variables with parameter value
2264: --{
2265: r_input_2 := p_input_2;
2258: AND FED_INFORMATION_CATEGORY = '401K LIMITS';
2259:
2260: BEGIN
2261: hr_utility.trace('Formatting RW record');
2262: hr_utility.trace('Formatting Mode = '||p_input_40);
2263: -- Initializing local variables with parameter value
2264: --{
2265: r_input_2 := p_input_2;
2266: r_input_3 := p_input_3;
2524: l_emp_number := replace(p_input_39,' ');
2525:
2526: IF l_emp_number IS NULL THEN
2527: l_emp_name_or_number := l_full_name;
2528: hr_utility.trace('l_emp_name_or_number = '||l_emp_name_or_number);
2529: ELSE
2530: l_emp_name_or_number:= l_emp_number;
2531: hr_utility.trace('l_emp_name_or_number = '||l_emp_name_or_number);
2532: END IF;
2527: l_emp_name_or_number := l_full_name;
2528: hr_utility.trace('l_emp_name_or_number = '||l_emp_name_or_number);
2529: ELSE
2530: l_emp_name_or_number:= l_emp_number;
2531: hr_utility.trace('l_emp_name_or_number = '||l_emp_name_or_number);
2532: END IF;
2533: --
2534: -- Validation for RW Record Start
2535: --
2576:
2577: IF p_exclude_from_output = 'Y' THEN
2578: l_exclude_from_output_chk := TRUE;
2579: END IF;
2580: hr_utility.trace(parameter_record(i).p_parameter_name||' = '||
2581: parameter_record(i).p_output_value);
2582: hr_utility.trace('p_exclude_from_output = '||p_exclude_from_output);
2583:
2584: END LOOP;
2578: l_exclude_from_output_chk := TRUE;
2579: END IF;
2580: hr_utility.trace(parameter_record(i).p_parameter_name||' = '||
2581: parameter_record(i).p_output_value);
2582: hr_utility.trace('p_exclude_from_output = '||p_exclude_from_output);
2583:
2584: END LOOP;
2585:
2586: hr_utility.trace('SS Wage and Tax limit Checking begins.' );
2582: hr_utility.trace('p_exclude_from_output = '||p_exclude_from_output);
2583:
2584: END LOOP;
2585:
2586: hr_utility.trace('SS Wage and Tax limit Checking begins.' );
2587: OPEN get_ss_limit(p_effective_date);
2588: LOOP
2589: FETCH get_ss_limit INTO l_ss_wage_limit,
2590: l_ss_tax_limit;
2587: OPEN get_ss_limit(p_effective_date);
2588: LOOP
2589: FETCH get_ss_limit INTO l_ss_wage_limit,
2590: l_ss_tax_limit;
2591: hr_utility.trace('SS Wage Limit '||to_char(l_ss_wage_limit));
2592: l_ss_count:= get_ss_limit%ROWCOUNT;
2593: EXIT WHEN get_ss_limit%NOTFOUND ;
2594: END LOOP;
2595: CLOSE get_ss_limit;
2592: l_ss_count:= get_ss_limit%ROWCOUNT;
2593: EXIT WHEN get_ss_limit%NOTFOUND ;
2594: END LOOP;
2595: CLOSE get_ss_limit;
2596: hr_utility.trace('No. rows exist for limit '||to_char(l_ss_count));
2597:
2598: IF l_ss_count = 0 THEN
2599: hr_utility.trace('No data found on PAY_US_FEDERAL_TAX_INFO_F '||
2600: 'for Social security wage limits.');
2595: CLOSE get_ss_limit;
2596: hr_utility.trace('No. rows exist for limit '||to_char(l_ss_count));
2597:
2598: IF l_ss_count = 0 THEN
2599: hr_utility.trace('No data found on PAY_US_FEDERAL_TAX_INFO_F '||
2600: 'for Social security wage limits.');
2601: ELSIF l_ss_count >1 THEN
2602: hr_utility.trace('Too many rows on PAY_US_FEDERAL_TAX_INFO_F '||
2603: 'for Social security wage limits.');
2598: IF l_ss_count = 0 THEN
2599: hr_utility.trace('No data found on PAY_US_FEDERAL_TAX_INFO_F '||
2600: 'for Social security wage limits.');
2601: ELSIF l_ss_count >1 THEN
2602: hr_utility.trace('Too many rows on PAY_US_FEDERAL_TAX_INFO_F '||
2603: 'for Social security wage limits.');
2604: ELSIF l_ss_count=1 THEN
2605: --{
2606: IF (to_number(parameter_record(3).p_output_value) > 0 OR
2607: to_number(parameter_record(4).p_output_value) > 0 OR
2608: to_number(parameter_record(7).p_output_value) > 0 )
2609: THEN
2610: --{
2611: hr_utility.trace('SS Tax w/h, SS Tips, SS Wages are >0 ');
2612: IF (to_number(parameter_record(3).p_output_value)+
2613: to_number(parameter_record(7).p_output_value))
2614: > l_ss_wage_limit
2615: THEN
2612: IF (to_number(parameter_record(3).p_output_value)+
2613: to_number(parameter_record(7).p_output_value))
2614: > l_ss_wage_limit
2615: THEN
2616: hr_utility.trace('ss_tips+ss_wages is > '||
2617: to_char(l_ss_wage_limit));
2618: l_field_description:='the sum of '||
2619: parameter_record(3).p_parameter_name
2620: ||' and '||
2633:
2634: IF to_number(parameter_record(4).p_output_value)>l_ss_tax_limit
2635: THEN
2636: --{
2637: hr_utility.trace('SS Tax w/h is > '||
2638: to_char(l_ss_tax_limit));
2639: l_err := TRUE;
2640: l_amount:=l_ss_tax_limit/100;
2641: l_description:=' It is greater than '||to_char(l_amount);
2653: END IF; -- negative check
2654: --}
2655: END IF; --l_ss_count
2656:
2657: hr_utility.trace('After SS Wage/ Tax limit checking ');
2658:
2659: IF l_err THEN
2660: IF p_validate = 'Y' THEN
2661: p_exclude_from_output := 'Y';
2737:
2738:
2739: -- End of Fix for Bug# 4391218
2740:
2741: hr_utility.trace('Before formatting and returning RW record for the flat file');
2742:
2743: -- Formatting Wage Record for .mf reporting file
2744: --
2745: IF p_report_qualifier = 'IN' THEN
2842: ||rpad(substr(nvl(r_input_36,'0'),1,1),1)
2843: ||rpad(substr(nvl(r_input_37,'0'),1,1),24);
2844: END IF ;
2845: ret_str_len:=length(return_value);
2846: hr_utility.trace('ret_str_len = '||to_char(ret_str_len));
2847: --}
2848: ELSIF p_input_40 = 'CSV' THEN
2849: --{
2850: hr_utility.trace('CSV');
2846: hr_utility.trace('ret_str_len = '||to_char(ret_str_len));
2847: --}
2848: ELSIF p_input_40 = 'CSV' THEN
2849: --{
2850: hr_utility.trace('CSV');
2851: return_value :=
2852: 'RW'||','||replace(p_input_2,',')
2853: ||','||replace(p_input_3,',',' ')||','||replace(p_input_4,',',' ')
2854: ||','||replace(p_input_5,',',' ')||','||replace(p_input_6,',',' ')
2897: ||','||lpad(' ',23);
2898: --}
2899: ELSIF p_input_40 = 'BLANK' THEN
2900: --{
2901: hr_utility.trace('Formatting BLANK RW Record ');
2902: return_value :=
2903: ' '||','||' '
2904: ||','||' '||','||' '
2905: ||','||' '||','||' '
2944: ||','||lpad(' ',1)
2945: ||','||' '
2946: ||','||' '
2947: ||','||' ';
2948: hr_utility.trace(return_value);
2949: --}
2950: END IF;
2951: p_error := l_exclude_from_output_chk;
2952: ret_str_len:=length(return_value);
3110: r_input_38 varchar2(300);
3111: r_input_39 varchar2(300);
3112:
3113: BEGIN
3114: hr_utility.trace('Formatting RO Record');
3115: hr_utility.trace('Format Mode p_input_40 '||p_input_40);
3116: -- Initializing local variables with parameter value
3117: r_input_2 := p_input_2;
3118: r_input_3 := p_input_3;
3111: r_input_39 varchar2(300);
3112:
3113: BEGIN
3114: hr_utility.trace('Formatting RO Record');
3115: hr_utility.trace('Format Mode p_input_40 '||p_input_40);
3116: -- Initializing local variables with parameter value
3117: r_input_2 := p_input_2;
3118: r_input_3 := p_input_3;
3119: r_input_4 := p_input_4;
3206:
3207: parameter_record(17).p_parameter_name:= 'Income Under Sec 409A on a Non-Qual Def Comp Plan';
3208: parameter_record(17).p_parameter_value := p_input_22;
3209:
3210: hr_utility.trace('Before the data validation loop.');
3211: --
3212: -- This loop used to validation above 17 input values
3213: --
3214: FOR i in 1..17
3213: --
3214: FOR i in 1..17
3215: LOOP
3216: --{
3217: hr_utility.trace('Value of loop counter i is : ' || to_char(i));
3218: hr_utility.trace('Input '||parameter_record(i).p_parameter_name||' = '
3219: ||parameter_record(i).p_parameter_value);
3220:
3221: parameter_record(i).p_output_value :=
3214: FOR i in 1..17
3215: LOOP
3216: --{
3217: hr_utility.trace('Value of loop counter i is : ' || to_char(i));
3218: hr_utility.trace('Input '||parameter_record(i).p_parameter_name||' = '
3219: ||parameter_record(i).p_parameter_value);
3220:
3221: parameter_record(i).p_output_value :=
3222: pay_us_reporting_utils_pkg.data_validation( p_effective_date,
3237: IF p_exclude_from_output = 'Y' THEN
3238: l_exclude_from_output_chk := TRUE;
3239: END IF;
3240:
3241: hr_utility.trace('Value of i is : ' || to_char(i));
3242: hr_utility.trace('Output ' || parameter_record(i).p_parameter_name||' = '
3243: ||parameter_record(i).p_output_value);
3244: hr_utility.trace('p_exclude_from_output = '||p_exclude_from_output);
3245: --}
3238: l_exclude_from_output_chk := TRUE;
3239: END IF;
3240:
3241: hr_utility.trace('Value of i is : ' || to_char(i));
3242: hr_utility.trace('Output ' || parameter_record(i).p_parameter_name||' = '
3243: ||parameter_record(i).p_output_value);
3244: hr_utility.trace('p_exclude_from_output = '||p_exclude_from_output);
3245: --}
3246: END LOOP; -- End of various Amount validation loop
3240:
3241: hr_utility.trace('Value of i is : ' || to_char(i));
3242: hr_utility.trace('Output ' || parameter_record(i).p_parameter_name||' = '
3243: ||parameter_record(i).p_output_value);
3244: hr_utility.trace('p_exclude_from_output = '||p_exclude_from_output);
3245: --}
3246: END LOOP; -- End of various Amount validation loop
3247: hr_utility.trace('After Amount data validation ');
3248: -- Spouse SSN validation
3243: ||parameter_record(i).p_output_value);
3244: hr_utility.trace('p_exclude_from_output = '||p_exclude_from_output);
3245: --}
3246: END LOOP; -- End of various Amount validation loop
3247: hr_utility.trace('After Amount data validation ');
3248: -- Spouse SSN validation
3249: IF p_input_20 = 'PR_M' THEN
3250: l_ssn:= replace(replace(p_input_10,' '),'I');
3251: IF l_ssn IS NULL THEN
3272: END IF;
3273: ELSE
3274: l_ssn:=lpad(' ',9);
3275: END IF;
3276: hr_utility.trace('After Spouse SSN validation. SSN = '||l_ssn);
3277: -- This is added for Philadelphia locality
3278: --
3279: IF (p_report_qualifier = 'PA_PHILA') THEN
3280: IF p_input_21 IS NULL THEN
3295: p_validate,
3296: p_exclude_from_output,
3297: sp_out_1,
3298: sp_out_2);
3299: hr_utility.trace('For Philadelphia SSN after validation. = '||l_emp_ssn);
3300: IF p_exclude_from_output = 'Y' THEN
3301: l_exclude_from_output_chk := TRUE;
3302: END IF;
3303: END IF;
3452: ||rpad(r_input_19,139);
3453: END IF;
3454:
3455: ret_str_len:=length(return_value);
3456: hr_utility.trace('length of return_Value RO = '||to_char(ret_str_len));
3457: --}
3458: ELSIF p_input_40 = 'CSV' THEN
3459: --{
3460: -- Format Mode CSV
3820: r_input_38 varchar2(300);
3821: r_input_39 varchar2(300);
3822:
3823: BEGIN
3824: hr_utility.trace('Formatting RS record for W2 reporting');
3825: hr_utility.trace('p_report_qualifier = '||p_report_qualifier);
3826: -- Initializing local variables with parameter value
3827: --{
3828: r_input_2 := p_input_2;
3821: r_input_39 varchar2(300);
3822:
3823: BEGIN
3824: hr_utility.trace('Formatting RS record for W2 reporting');
3825: hr_utility.trace('p_report_qualifier = '||p_report_qualifier);
3826: -- Initializing local variables with parameter value
3827: --{
3828: r_input_2 := p_input_2;
3829: r_input_3 := p_input_3;
3867: l_state_length := length(replace(p_input_2,' ')); /* Fix for State code.*/
3868: IF l_state_length < 2 THEN
3869: r_input_2 := lpad(replace(p_input_2,' '),2,0);
3870: r_input_26 := lpad(replace(p_input_26,' '),2,0);
3871: hr_utility.trace('l_state_length = '||to_char(l_state_length));
3872: hr_utility.trace('l_state_length < 2.State code r_input_2 = '||r_input_2);
3873: hr_utility.trace('State code r_input_26 = '||r_input_26);
3874: END IF;
3875:
3868: IF l_state_length < 2 THEN
3869: r_input_2 := lpad(replace(p_input_2,' '),2,0);
3870: r_input_26 := lpad(replace(p_input_26,' '),2,0);
3871: hr_utility.trace('l_state_length = '||to_char(l_state_length));
3872: hr_utility.trace('l_state_length < 2.State code r_input_2 = '||r_input_2);
3873: hr_utility.trace('State code r_input_26 = '||r_input_26);
3874: END IF;
3875:
3876: /* Pos:3 - 4 State Code Blank for AL,MA,MD */
3869: r_input_2 := lpad(replace(p_input_2,' '),2,0);
3870: r_input_26 := lpad(replace(p_input_26,' '),2,0);
3871: hr_utility.trace('l_state_length = '||to_char(l_state_length));
3872: hr_utility.trace('l_state_length < 2.State code r_input_2 = '||r_input_2);
3873: hr_utility.trace('State code r_input_26 = '||r_input_26);
3874: END IF;
3875:
3876: /* Pos:3 - 4 State Code Blank for AL,MA,MD */
3877: IF (/*(p_report_qualifier = 'MA') OR 6720319 */
3920: ELSE
3921: l_ssn := replace(replace(r_input_4,'-'),',');
3922: END IF;
3923:
3924: hr_utility.trace('SSN after Validation and Formatting = '||l_ssn);
3925:
3926: /* Pos:19 - 33 First name
3927: Pos:34 - 48 Middle name
3928: Pos:49 - 68 Last name
3935: l_last_name := pay_us_reporting_utils_pkg.Character_check(rpad(
3936: nvl(substr(r_input_7,1,20),' '),20));
3937: l_suffix := pay_us_reporting_utils_pkg.Character_check(rpad(
3938: nvl(substr(r_input_8,1,4),' '),4));
3939: hr_utility.trace('l_suffix = '||l_suffix);
3940:
3941: /* Suffix blank for MD,OH_RC,MD_SQWL,MN_SQWL,OH_SQWL */
3942: IF ((p_report_qualifier = 'MD') OR
3943: (p_report_qualifier = 'OH_CCAAA') OR
3952: (p_report_qualifier = 'MO') OR -- Fix for bug # 2149507
3953: (p_report_qualifier = 'WV') -- Bug # 3186636
3954: ) THEN
3955: --{
3956: hr_utility.trace('Pos:69 - 149 blank for state '||p_report_qualifier);
3957: l_suffix := lpad(' ',4);
3958: r_input_9 := lpad(' ',22);
3959: r_input_10 := lpad(' ',22);
3960: r_input_11 := lpad(' ',22);
4192:
4193: /* SIT withheld for St Louis, MO Local is zero filled */
4194: IF p_report_qualifier = 'MO_STLOU' THEN
4195: r_input_28 := rpad(0,11,0);
4196: hr_utility.trace('SIT Withheld = '||r_input_28);
4197: END IF;
4198:
4199: /* Pos:298 - 307 Other state data AL,MD,OH*/
4200: /* Pos:298-307 State Excess Wages for LA_SQWL. */
4204: (p_report_qualifier = 'MD') OR
4205: (p_report_qualifier = 'MS')) THEN
4206: --{
4207: If p_input_40 = 'FLAT' THEN
4208: hr_utility.trace(' Other state data AL, OH, MD, MS ');
4209: r_input_29 :=
4210: pay_us_reporting_utils_pkg.data_validation(p_effective_date,
4211: p_report_type,
4212: p_format,
4304: sp_out_2);
4305: IF p_exclude_from_output = 'Y' THEN
4306: l_exclude_from_output_chk := TRUE;
4307: END IF;
4308: hr_utility.trace('Local Taxable Wages after validation n Formatting '
4309: ||r_input_31);
4310: hr_utility.trace('Local Tax Withhel after validation n Formatting '
4311: ||r_input_32);
4312: END IF;
4306: l_exclude_from_output_chk := TRUE;
4307: END IF;
4308: hr_utility.trace('Local Taxable Wages after validation n Formatting '
4309: ||r_input_31);
4310: hr_utility.trace('Local Tax Withhel after validation n Formatting '
4311: ||r_input_32);
4312: END IF;
4313: --}
4314: ELSE /* Zero Fill for other States. */
4311: ||r_input_32);
4312: END IF;
4313: --}
4314: ELSE /* Zero Fill for other States. */
4315: hr_utility.trace('Zero fill for SQWLs. p_report_qualifier = '||p_report_qualifier);
4316: r_input_31 := rpad(0,11,0);
4317: r_input_32 := rpad(0,11,0);
4318: hr_utility.trace('r_input_31 '||r_input_31);
4319: hr_utility.trace('r_input_32 '||r_input_32);
4314: ELSE /* Zero Fill for other States. */
4315: hr_utility.trace('Zero fill for SQWLs. p_report_qualifier = '||p_report_qualifier);
4316: r_input_31 := rpad(0,11,0);
4317: r_input_32 := rpad(0,11,0);
4318: hr_utility.trace('r_input_31 '||r_input_31);
4319: hr_utility.trace('r_input_32 '||r_input_32);
4320: END IF;
4321:
4322: /* Pos:309-330 Blank for SC_SQWL. State wages and SIT withheld. */
4315: hr_utility.trace('Zero fill for SQWLs. p_report_qualifier = '||p_report_qualifier);
4316: r_input_31 := rpad(0,11,0);
4317: r_input_32 := rpad(0,11,0);
4318: hr_utility.trace('r_input_31 '||r_input_31);
4319: hr_utility.trace('r_input_32 '||r_input_32);
4320: END IF;
4321:
4322: /* Pos:309-330 Blank for SC_SQWL. State wages and SIT withheld. */
4323: IF (p_report_qualifier = 'AR') -- To fix bug # 2668250
4381: sp_out_2);
4382: IF p_exclude_from_output = 'Y' THEN
4383: l_exclude_from_output_chk := TRUE;
4384: END IF;
4385: hr_utility.trace('Federal Advanced EIC after validation n Formatting '
4386: ||r_input_17);
4387: hr_utility.trace('State Advanced EIC after validation n Formatting '
4388: ||r_input_34);
4389:
4383: l_exclude_from_output_chk := TRUE;
4384: END IF;
4385: hr_utility.trace('Federal Advanced EIC after validation n Formatting '
4386: ||r_input_17);
4387: hr_utility.trace('State Advanced EIC after validation n Formatting '
4388: ||r_input_34);
4389:
4390: r_input_21 := lpad(' ',11);
4391: r_input_22 := lpad(' ',2);
4912: r_input_30 := rpad(' ',1);
4913: END IF;
4914:
4915: IF p_report_qualifier = 'PA_PHILA' THEN
4916: hr_utility.trace('Company Locality Id '||p_input_33);
4917: r_input_33 := lpad(substr(NVL(p_input_33,' '),1,7),7);
4918: END IF;
4919:
4920: IF p_report_qualifier = 'OH_DAYTO' THEN
4930: END IF ; */
4931: END IF ;
4932:
4933: /* Fix for Bug # 2680070 */
4934: hr_utility.trace('Value of Stock Option Amount '||p_input_35);
4935: IF (p_report_qualifier = 'MO_STLOU') THEN
4936: IF (to_number(NVL(p_input_35,'0')) > 0) THEN
4937: r_input_34 := 'STK'||lpad(NVL(p_input_35,'0'),11,'0')||lpad(' ',61);
4938: r_input_35 := lpad(' ',75);
4940: r_input_34 := lpad(' ',3)||rpad('0',11,'0')||lpad(' ',61);
4941: r_input_35 := lpad(' ',75);
4942: END IF;
4943: END IF;
4944: hr_utility.trace('Value of r_input_34 '||r_input_34);
4945:
4946: l_last_field := lpad(' ',25);
4947:
4948: IF p_input_40 = 'FLAT' THEN
5010: ||r_input_35
5011: ||l_last_field
5012: ||l_end_of_rec;
5013:
5014: hr_utility.trace('Length of return value = '||to_char(length(return_value)));
5015: --} End of formatting FLAT Type RS Record
5016: ELSIF p_input_40 = 'CSV' THEN
5017: --{ Start of formatting RS record in CSV format
5018: /* Bug 3180532
5275: r_input_38 varchar2(300);
5276: r_input_39 varchar2(300);
5277:
5278: BEGIN
5279: -- hr_utility.trace_on(null,'RI_W2') ;
5280: hr_utility.trace('Formatting RT record for W2 reporting');
5281: hr_utility.trace('p_report_qualifier = '||p_report_qualifier);
5282: -- Initializing local variables with parameter value
5283: --{
5276: r_input_39 varchar2(300);
5277:
5278: BEGIN
5279: -- hr_utility.trace_on(null,'RI_W2') ;
5280: hr_utility.trace('Formatting RT record for W2 reporting');
5281: hr_utility.trace('p_report_qualifier = '||p_report_qualifier);
5282: -- Initializing local variables with parameter value
5283: --{
5284: r_input_2 := p_input_2;
5277:
5278: BEGIN
5279: -- hr_utility.trace_on(null,'RI_W2') ;
5280: hr_utility.trace('Formatting RT record for W2 reporting');
5281: hr_utility.trace('p_report_qualifier = '||p_report_qualifier);
5282: -- Initializing local variables with parameter value
5283: --{
5284: r_input_2 := p_input_2;
5285: r_input_3 := p_input_3;
5573: sp_out_2);
5574: IF p_exclude_from_output = 'Y' THEN
5575: l_exclude_from_output_chk := TRUE;
5576: END IF;
5577: hr_utility.trace(parameter_record(i).p_parameter_name||' = '
5578: ||parameter_record(i).p_output_value);
5579: hr_utility.trace('p_exclude_from_output = '||p_exclude_from_output);
5580: END LOOP;
5581:
5575: l_exclude_from_output_chk := TRUE;
5576: END IF;
5577: hr_utility.trace(parameter_record(i).p_parameter_name||' = '
5578: ||parameter_record(i).p_output_value);
5579: hr_utility.trace('p_exclude_from_output = '||p_exclude_from_output);
5580: END LOOP;
5581:
5582: -- Validation Ends here
5583: --
5622: ||parameter_record(2).p_output_value;
5623: --}
5624: ELSIF p_report_qualifier = 'RI' THEN
5625: --{
5626: hr_utility.trace('Within RI') ;
5627: return_value := 'RT'||l_input_2
5628: ||parameter_record(1).p_output_value
5629: ||parameter_record(2).p_output_value
5630: ||parameter_record(3).p_output_value
5636: ||rpad(parameter_record(7).p_output_value,30)
5637: ||rpad(parameter_record(8).p_output_value,30)
5638: ||lpad('0',45,'0')
5639: ||rpad(parameter_record(9).p_output_value,158) ;
5640: hr_utility.trace('Exiting RI') ;
5641: --}
5642: ELSIF p_report_qualifier = 'SC_SQWL' THEN /*2274381.*/
5643: return_value := 'RT'||l_input_2
5644: ||lpad(' ',503);
5753: ||rpad(parameter_record(24).p_output_value,128) ;
5754:
5755: --}
5756: END IF;
5757: hr_utility.trace('B4 Calculating length') ;
5758: ret_str_len:=length(return_value);
5759: --}
5760: ELSIF p_input_40 = 'CSV' THEN
5761: --{
5807: --}
5808: END IF; -- p_input_40 (i.e. FLAT, CSV)
5809: p_error := l_exclude_from_output_chk;
5810: ret_str_len:=length(return_value);
5811: hr_utility.trace('Exiting RT') ;
5812: return return_value;
5813: END format_W2_RT_record; -- End of Formatting RT record
5814: --
5815: -- Formatting RW record for W2 reporting
5912: INDEX BY BINARY_INTEGER;
5913: parameter_record input_parameter_record;
5914:
5915: BEGIN
5916: hr_utility.trace('Formatting RU Record');
5917: hr_utility.trace('Format Mode p_input_40 '||p_input_40);
5918: IF p_input_40='FLAT' THEN
5919: --{
5920: IF p_report_qualifier = 'PR' THEN -- Bug # 5668970
5913: parameter_record input_parameter_record;
5914:
5915: BEGIN
5916: hr_utility.trace('Formatting RU Record');
5917: hr_utility.trace('Format Mode p_input_40 '||p_input_40);
5918: IF p_input_40='FLAT' THEN
5919: --{
5920: IF p_report_qualifier = 'PR' THEN -- Bug # 5668970
5921: r_input_6 := rpad('0',15,'0');
5997: IF p_exclude_from_output = 'Y' THEN
5998: l_exclude_from_output_chk := TRUE;
5999: END IF;
6000:
6001: hr_utility.trace(parameter_record(i).p_parameter_name||' = '
6002: ||parameter_record(i).p_output_value);
6003: hr_utility.trace('p_exclude_from_output = '||p_exclude_from_output);
6004: END LOOP;
6005: -- Formatting RU record for format mode FLAT
5999: END IF;
6000:
6001: hr_utility.trace(parameter_record(i).p_parameter_name||' = '
6002: ||parameter_record(i).p_output_value);
6003: hr_utility.trace('p_exclude_from_output = '||p_exclude_from_output);
6004: END LOOP;
6005: -- Formatting RU record for format mode FLAT
6006: -- formatting Total no of record
6007: l_input_2 := lpad(substr(nvl(p_input_2,'0'),1,7),7,0);
6122: l_taxes varchar2(100);
6123: sp_out_1 varchar2(100);
6124: sp_out_2 varchar2(100);
6125: BEGIN
6126: hr_utility.trace('Formatting RF Record');
6127: hr_utility.trace('Format Mode p_input_40 '||p_format_mode);
6128: hr_utility.trace('Report Qualifier before Formatting RF Record '
6129: ||p_report_qualifier);
6130: IF ((p_report_qualifier = 'PA_PHILA') OR -- Bug # 2680189
6123: sp_out_1 varchar2(100);
6124: sp_out_2 varchar2(100);
6125: BEGIN
6126: hr_utility.trace('Formatting RF Record');
6127: hr_utility.trace('Format Mode p_input_40 '||p_format_mode);
6128: hr_utility.trace('Report Qualifier before Formatting RF Record '
6129: ||p_report_qualifier);
6130: IF ((p_report_qualifier = 'PA_PHILA') OR -- Bug # 2680189
6131: (p_report_qualifier = 'CO')) THEN -- Bug # 2813555
6124: sp_out_2 varchar2(100);
6125: BEGIN
6126: hr_utility.trace('Formatting RF Record');
6127: hr_utility.trace('Format Mode p_input_40 '||p_format_mode);
6128: hr_utility.trace('Report Qualifier before Formatting RF Record '
6129: ||p_report_qualifier);
6130: IF ((p_report_qualifier = 'PA_PHILA') OR -- Bug # 2680189
6131: (p_report_qualifier = 'CO')) THEN -- Bug # 2813555
6132: --{