1: package body PAYUSUNB_PKG as
2: /* $Header: payusunb.pkb 120.0.12010000.5 2008/08/06 06:41:49 ubhat ship $ */
3: /*
4: ******************************************************************
5: * *
16: * 500 Oracle Parkway, Redwood City, CA, 94065. *
17: * *
18: ******************************************************************
19:
20: Name : PAYUSUNB_PKG
21:
22: Description: This package defines the cursors needed to run
23: Unacceptable Tax Balance
24:
245: where payroll_action_id = IN_pactid;
246:
247: END;
248:
249: lv_tax_unit_id := payusunb_pkg.fnc_get_parameter('GRE',lv_leg_param);
250: lv_organization_id := payusunb_pkg.fnc_get_parameter('Org',lv_leg_param);
251: lv_location_id := payusunb_pkg.fnc_get_parameter('Loc',lv_leg_param);
252: lv_b_dim := payusunb_pkg.fnc_get_parameter('B_Dim',lv_leg_param);
253:
246:
247: END;
248:
249: lv_tax_unit_id := payusunb_pkg.fnc_get_parameter('GRE',lv_leg_param);
250: lv_organization_id := payusunb_pkg.fnc_get_parameter('Org',lv_leg_param);
251: lv_location_id := payusunb_pkg.fnc_get_parameter('Loc',lv_leg_param);
252: lv_b_dim := payusunb_pkg.fnc_get_parameter('B_Dim',lv_leg_param);
253:
254: if lv_b_dim ='QTD' then
247: END;
248:
249: lv_tax_unit_id := payusunb_pkg.fnc_get_parameter('GRE',lv_leg_param);
250: lv_organization_id := payusunb_pkg.fnc_get_parameter('Org',lv_leg_param);
251: lv_location_id := payusunb_pkg.fnc_get_parameter('Loc',lv_leg_param);
252: lv_b_dim := payusunb_pkg.fnc_get_parameter('B_Dim',lv_leg_param);
253:
254: if lv_b_dim ='QTD' then
255: ld_cur_date := TRUNC(ld_effective_date,'Q');
248:
249: lv_tax_unit_id := payusunb_pkg.fnc_get_parameter('GRE',lv_leg_param);
250: lv_organization_id := payusunb_pkg.fnc_get_parameter('Org',lv_leg_param);
251: lv_location_id := payusunb_pkg.fnc_get_parameter('Loc',lv_leg_param);
252: lv_b_dim := payusunb_pkg.fnc_get_parameter('B_Dim',lv_leg_param);
253:
254: if lv_b_dim ='QTD' then
255: ld_cur_date := TRUNC(ld_effective_date,'Q');
256: elsif lv_b_dim ='YTD' then
601: FROM per_assignments_f paf1
602: WHERE paf1.assignment_id = paf.assignment_id
603: AND paf1.effective_start_date <= ppa1.effective_date
604: AND paf1.effective_end_date >=
605: DECODE(payusunb_pkg.fnc_get_parameter(''B_Dim'',
606: ppa1.legislative_parameters),
607: ''QTD'',
608: TRUNC(ppa1.effective_date,''Q''),
609: ''YTD'',
616: AND ppa1.effective_date BETWEEN ppf.effective_start_date
617: AND ppf.effective_END_date
618: ORDER BY
619: hou1.name, /* GRE */
620: DECODE(payusunb_pkg.fnc_get_parameter(
621: ''SO1'',ppa1.legislative_parameters),
622: ''Employee'',ppf.full_name,
623: ''Social'',ppf.national_identifier,
624: ''Organization'',hou.name,
622: ''Employee'',ppf.full_name,
623: ''Social'',ppf.national_identifier,
624: ''Organization'',hou.name,
625: ''Location'',loc.location_code,null),
626: DECODE(payusunb_pkg.fnc_get_parameter(
627: ''SO2'',ppa1.legislative_parameters),
628: ''Employee'',ppf.full_name,
629: ''Social'',ppf.national_identifier,
630: ''Organization'',hou.name,
628: ''Employee'',ppf.full_name,
629: ''Social'',ppf.national_identifier,
630: ''Organization'',hou.name,
631: ''Location'',loc.location_code,null),
632: DECODE(payusunb_pkg.fnc_get_parameter(
633: ''SO3'',ppa1.legislative_parameters),
634: ''Employee'',ppf.full_name,
635: ''Social'',ppf.national_identifier,
636: ''Organization'',hou.name,
683: RETURN L_par_value;
684:
685: EXCEPTION
686: WHEN OTHERS THEN
687: --hr_utility.trace('Error: PAYUSUNB_PKG.fnc_get_parameter failed - ORA'||TO_CHAR(SQLCODE));
688: RAISE;
689: END fnc_get_parameter;
690:
691: /*************************************************************************
781: -- If date = as_of_date populate the sui_sdi_tax_info1 table
782: -- else populate sui_sdi_tax_info2 table
783:
784: IF IN_tab_flag = 'FULL' THEN
785: IF payusunb_pkg.sui_sdi_tax_info1.count < 1 THEN
786: OPEN c_sui_sdi_info ;
787: LOOP
788: FETCH c_sui_sdi_info into lv_state_code,l_sui_ee,l_sui_er,l_sdi_ee,l_sdi_er;
789: EXIT WHEN c_sui_sdi_info%NOTFOUND;
786: OPEN c_sui_sdi_info ;
787: LOOP
788: FETCH c_sui_sdi_info into lv_state_code,l_sui_ee,l_sui_er,l_sdi_ee,l_sdi_er;
789: EXIT WHEN c_sui_sdi_info%NOTFOUND;
790: payusunb_pkg.sui_sdi_tax_info1(lv_state_code).sui_ee_limit := l_sui_ee;
791: payusunb_pkg.sui_sdi_tax_info1(lv_state_code).sui_er_limit := l_sui_er;
792: payusunb_pkg.sui_sdi_tax_info1(lv_state_code).sdi_ee_limit := l_sdi_ee;
793: payusunb_pkg.sui_sdi_tax_info1(lv_state_code).sdi_er_limit := l_sdi_er;
794: END LOOP;
787: LOOP
788: FETCH c_sui_sdi_info into lv_state_code,l_sui_ee,l_sui_er,l_sdi_ee,l_sdi_er;
789: EXIT WHEN c_sui_sdi_info%NOTFOUND;
790: payusunb_pkg.sui_sdi_tax_info1(lv_state_code).sui_ee_limit := l_sui_ee;
791: payusunb_pkg.sui_sdi_tax_info1(lv_state_code).sui_er_limit := l_sui_er;
792: payusunb_pkg.sui_sdi_tax_info1(lv_state_code).sdi_ee_limit := l_sdi_ee;
793: payusunb_pkg.sui_sdi_tax_info1(lv_state_code).sdi_er_limit := l_sdi_er;
794: END LOOP;
795: CLOSE c_sui_sdi_info ;
788: FETCH c_sui_sdi_info into lv_state_code,l_sui_ee,l_sui_er,l_sdi_ee,l_sdi_er;
789: EXIT WHEN c_sui_sdi_info%NOTFOUND;
790: payusunb_pkg.sui_sdi_tax_info1(lv_state_code).sui_ee_limit := l_sui_ee;
791: payusunb_pkg.sui_sdi_tax_info1(lv_state_code).sui_er_limit := l_sui_er;
792: payusunb_pkg.sui_sdi_tax_info1(lv_state_code).sdi_ee_limit := l_sdi_ee;
793: payusunb_pkg.sui_sdi_tax_info1(lv_state_code).sdi_er_limit := l_sdi_er;
794: END LOOP;
795: CLOSE c_sui_sdi_info ;
796: END IF;
789: EXIT WHEN c_sui_sdi_info%NOTFOUND;
790: payusunb_pkg.sui_sdi_tax_info1(lv_state_code).sui_ee_limit := l_sui_ee;
791: payusunb_pkg.sui_sdi_tax_info1(lv_state_code).sui_er_limit := l_sui_er;
792: payusunb_pkg.sui_sdi_tax_info1(lv_state_code).sdi_ee_limit := l_sdi_ee;
793: payusunb_pkg.sui_sdi_tax_info1(lv_state_code).sdi_er_limit := l_sdi_er;
794: END LOOP;
795: CLOSE c_sui_sdi_info ;
796: END IF;
797:
794: END LOOP;
795: CLOSE c_sui_sdi_info ;
796: END IF;
797:
798: IF payusunb_pkg.sui_sdi_tax_info1.exists(IN_state_code) THEN
799:
800: IF IN_tax_type = 'SUI' AND IN_ee_or_er = 'EE' THEN
801: L_return_val := payusunb_pkg.sui_sdi_tax_info1(IN_state_code).sui_ee_limit;
802: ELSIF IN_tax_type = 'SUI' AND IN_ee_or_er = 'ER' THEN
797:
798: IF payusunb_pkg.sui_sdi_tax_info1.exists(IN_state_code) THEN
799:
800: IF IN_tax_type = 'SUI' AND IN_ee_or_er = 'EE' THEN
801: L_return_val := payusunb_pkg.sui_sdi_tax_info1(IN_state_code).sui_ee_limit;
802: ELSIF IN_tax_type = 'SUI' AND IN_ee_or_er = 'ER' THEN
803: L_return_val := payusunb_pkg.sui_sdi_tax_info1(IN_state_code).sui_er_limit;
804: ELSIF IN_tax_type = 'SDI' AND IN_ee_or_er = 'EE' THEN
805: L_return_val := payusunb_pkg.sui_sdi_tax_info1(IN_state_code).sdi_ee_limit;
799:
800: IF IN_tax_type = 'SUI' AND IN_ee_or_er = 'EE' THEN
801: L_return_val := payusunb_pkg.sui_sdi_tax_info1(IN_state_code).sui_ee_limit;
802: ELSIF IN_tax_type = 'SUI' AND IN_ee_or_er = 'ER' THEN
803: L_return_val := payusunb_pkg.sui_sdi_tax_info1(IN_state_code).sui_er_limit;
804: ELSIF IN_tax_type = 'SDI' AND IN_ee_or_er = 'EE' THEN
805: L_return_val := payusunb_pkg.sui_sdi_tax_info1(IN_state_code).sdi_ee_limit;
806: ELSIF IN_tax_type = 'SDI' AND IN_ee_or_er = 'ER' THEN
807: L_return_val := payusunb_pkg.sui_sdi_tax_info1(IN_state_code).sdi_er_limit;
801: L_return_val := payusunb_pkg.sui_sdi_tax_info1(IN_state_code).sui_ee_limit;
802: ELSIF IN_tax_type = 'SUI' AND IN_ee_or_er = 'ER' THEN
803: L_return_val := payusunb_pkg.sui_sdi_tax_info1(IN_state_code).sui_er_limit;
804: ELSIF IN_tax_type = 'SDI' AND IN_ee_or_er = 'EE' THEN
805: L_return_val := payusunb_pkg.sui_sdi_tax_info1(IN_state_code).sdi_ee_limit;
806: ELSIF IN_tax_type = 'SDI' AND IN_ee_or_er = 'ER' THEN
807: L_return_val := payusunb_pkg.sui_sdi_tax_info1(IN_state_code).sdi_er_limit;
808: END IF;
809:
803: L_return_val := payusunb_pkg.sui_sdi_tax_info1(IN_state_code).sui_er_limit;
804: ELSIF IN_tax_type = 'SDI' AND IN_ee_or_er = 'EE' THEN
805: L_return_val := payusunb_pkg.sui_sdi_tax_info1(IN_state_code).sdi_ee_limit;
806: ELSIF IN_tax_type = 'SDI' AND IN_ee_or_er = 'ER' THEN
807: L_return_val := payusunb_pkg.sui_sdi_tax_info1(IN_state_code).sdi_er_limit;
808: END IF;
809:
810: END IF;
811:
810: END IF;
811:
812: ELSIF IN_tab_flag = 'FIRST' THEN
813:
814: IF payusunb_pkg.sui_sdi_tax_info2.count < 1 THEN
815: OPEN c_sui_sdi_info ;
816: LOOP
817: FETCH c_sui_sdi_info into lv_state_code,l_sui_ee,l_sui_er,l_sdi_ee,l_sdi_er;
818: EXIT WHEN c_sui_sdi_info%NOTFOUND;
815: OPEN c_sui_sdi_info ;
816: LOOP
817: FETCH c_sui_sdi_info into lv_state_code,l_sui_ee,l_sui_er,l_sdi_ee,l_sdi_er;
818: EXIT WHEN c_sui_sdi_info%NOTFOUND;
819: payusunb_pkg.sui_sdi_tax_info2(lv_state_code).sui_ee_limit := l_sui_ee;
820: payusunb_pkg.sui_sdi_tax_info2(lv_state_code).sui_er_limit := l_sui_er;
821: payusunb_pkg.sui_sdi_tax_info2(lv_state_code).sdi_ee_limit := l_sdi_ee;
822: payusunb_pkg.sui_sdi_tax_info2(lv_state_code).sdi_er_limit := l_sdi_er;
823: END LOOP;
816: LOOP
817: FETCH c_sui_sdi_info into lv_state_code,l_sui_ee,l_sui_er,l_sdi_ee,l_sdi_er;
818: EXIT WHEN c_sui_sdi_info%NOTFOUND;
819: payusunb_pkg.sui_sdi_tax_info2(lv_state_code).sui_ee_limit := l_sui_ee;
820: payusunb_pkg.sui_sdi_tax_info2(lv_state_code).sui_er_limit := l_sui_er;
821: payusunb_pkg.sui_sdi_tax_info2(lv_state_code).sdi_ee_limit := l_sdi_ee;
822: payusunb_pkg.sui_sdi_tax_info2(lv_state_code).sdi_er_limit := l_sdi_er;
823: END LOOP;
824: CLOSE c_sui_sdi_info ;
817: FETCH c_sui_sdi_info into lv_state_code,l_sui_ee,l_sui_er,l_sdi_ee,l_sdi_er;
818: EXIT WHEN c_sui_sdi_info%NOTFOUND;
819: payusunb_pkg.sui_sdi_tax_info2(lv_state_code).sui_ee_limit := l_sui_ee;
820: payusunb_pkg.sui_sdi_tax_info2(lv_state_code).sui_er_limit := l_sui_er;
821: payusunb_pkg.sui_sdi_tax_info2(lv_state_code).sdi_ee_limit := l_sdi_ee;
822: payusunb_pkg.sui_sdi_tax_info2(lv_state_code).sdi_er_limit := l_sdi_er;
823: END LOOP;
824: CLOSE c_sui_sdi_info ;
825: END IF;
818: EXIT WHEN c_sui_sdi_info%NOTFOUND;
819: payusunb_pkg.sui_sdi_tax_info2(lv_state_code).sui_ee_limit := l_sui_ee;
820: payusunb_pkg.sui_sdi_tax_info2(lv_state_code).sui_er_limit := l_sui_er;
821: payusunb_pkg.sui_sdi_tax_info2(lv_state_code).sdi_ee_limit := l_sdi_ee;
822: payusunb_pkg.sui_sdi_tax_info2(lv_state_code).sdi_er_limit := l_sdi_er;
823: END LOOP;
824: CLOSE c_sui_sdi_info ;
825: END IF;
826:
823: END LOOP;
824: CLOSE c_sui_sdi_info ;
825: END IF;
826:
827: IF payusunb_pkg.sui_sdi_tax_info2.exists(IN_state_code) THEN
828:
829: IF IN_tax_type = 'SUI' AND IN_ee_or_er = 'EE' THEN
830: L_return_val := payusunb_pkg.sui_sdi_tax_info2(IN_state_code).sui_ee_limit;
831: ELSIF IN_tax_type = 'SUI' AND IN_ee_or_er = 'ER' THEN
826:
827: IF payusunb_pkg.sui_sdi_tax_info2.exists(IN_state_code) THEN
828:
829: IF IN_tax_type = 'SUI' AND IN_ee_or_er = 'EE' THEN
830: L_return_val := payusunb_pkg.sui_sdi_tax_info2(IN_state_code).sui_ee_limit;
831: ELSIF IN_tax_type = 'SUI' AND IN_ee_or_er = 'ER' THEN
832: L_return_val := payusunb_pkg.sui_sdi_tax_info2(IN_state_code).sui_er_limit;
833: ELSIF IN_tax_type = 'SDI' AND IN_ee_or_er = 'EE' THEN
834: L_return_val := payusunb_pkg.sui_sdi_tax_info2(IN_state_code).sdi_ee_limit;
828:
829: IF IN_tax_type = 'SUI' AND IN_ee_or_er = 'EE' THEN
830: L_return_val := payusunb_pkg.sui_sdi_tax_info2(IN_state_code).sui_ee_limit;
831: ELSIF IN_tax_type = 'SUI' AND IN_ee_or_er = 'ER' THEN
832: L_return_val := payusunb_pkg.sui_sdi_tax_info2(IN_state_code).sui_er_limit;
833: ELSIF IN_tax_type = 'SDI' AND IN_ee_or_er = 'EE' THEN
834: L_return_val := payusunb_pkg.sui_sdi_tax_info2(IN_state_code).sdi_ee_limit;
835: ELSIF IN_tax_type = 'SDI' AND IN_ee_or_er = 'ER' THEN
836: L_return_val := payusunb_pkg.sui_sdi_tax_info2(IN_state_code).sdi_er_limit;
830: L_return_val := payusunb_pkg.sui_sdi_tax_info2(IN_state_code).sui_ee_limit;
831: ELSIF IN_tax_type = 'SUI' AND IN_ee_or_er = 'ER' THEN
832: L_return_val := payusunb_pkg.sui_sdi_tax_info2(IN_state_code).sui_er_limit;
833: ELSIF IN_tax_type = 'SDI' AND IN_ee_or_er = 'EE' THEN
834: L_return_val := payusunb_pkg.sui_sdi_tax_info2(IN_state_code).sdi_ee_limit;
835: ELSIF IN_tax_type = 'SDI' AND IN_ee_or_er = 'ER' THEN
836: L_return_val := payusunb_pkg.sui_sdi_tax_info2(IN_state_code).sdi_er_limit;
837: END IF;
838:
832: L_return_val := payusunb_pkg.sui_sdi_tax_info2(IN_state_code).sui_er_limit;
833: ELSIF IN_tax_type = 'SDI' AND IN_ee_or_er = 'EE' THEN
834: L_return_val := payusunb_pkg.sui_sdi_tax_info2(IN_state_code).sdi_ee_limit;
835: ELSIF IN_tax_type = 'SDI' AND IN_ee_or_er = 'ER' THEN
836: L_return_val := payusunb_pkg.sui_sdi_tax_info2(IN_state_code).sdi_er_limit;
837: END IF;
838:
839: END IF;
840:
839: END IF;
840:
841: ELSIF IN_tab_flag = 'LAST' THEN
842:
843: IF payusunb_pkg.sui_sdi_tax_info3.count < 1 THEN
844: OPEN c_sui_sdi_info ;
845: LOOP
846: FETCH c_sui_sdi_info into lv_state_code,l_sui_ee,l_sui_er,l_sdi_ee,l_sdi_er;
847: EXIT WHEN c_sui_sdi_info%NOTFOUND;
844: OPEN c_sui_sdi_info ;
845: LOOP
846: FETCH c_sui_sdi_info into lv_state_code,l_sui_ee,l_sui_er,l_sdi_ee,l_sdi_er;
847: EXIT WHEN c_sui_sdi_info%NOTFOUND;
848: payusunb_pkg.sui_sdi_tax_info3(lv_state_code).sui_ee_limit := l_sui_ee;
849: payusunb_pkg.sui_sdi_tax_info3(lv_state_code).sui_er_limit := l_sui_er;
850: payusunb_pkg.sui_sdi_tax_info3(lv_state_code).sdi_ee_limit := l_sdi_ee;
851: payusunb_pkg.sui_sdi_tax_info3(lv_state_code).sdi_er_limit := l_sdi_er;
852: END LOOP;
845: LOOP
846: FETCH c_sui_sdi_info into lv_state_code,l_sui_ee,l_sui_er,l_sdi_ee,l_sdi_er;
847: EXIT WHEN c_sui_sdi_info%NOTFOUND;
848: payusunb_pkg.sui_sdi_tax_info3(lv_state_code).sui_ee_limit := l_sui_ee;
849: payusunb_pkg.sui_sdi_tax_info3(lv_state_code).sui_er_limit := l_sui_er;
850: payusunb_pkg.sui_sdi_tax_info3(lv_state_code).sdi_ee_limit := l_sdi_ee;
851: payusunb_pkg.sui_sdi_tax_info3(lv_state_code).sdi_er_limit := l_sdi_er;
852: END LOOP;
853: CLOSE c_sui_sdi_info ;
846: FETCH c_sui_sdi_info into lv_state_code,l_sui_ee,l_sui_er,l_sdi_ee,l_sdi_er;
847: EXIT WHEN c_sui_sdi_info%NOTFOUND;
848: payusunb_pkg.sui_sdi_tax_info3(lv_state_code).sui_ee_limit := l_sui_ee;
849: payusunb_pkg.sui_sdi_tax_info3(lv_state_code).sui_er_limit := l_sui_er;
850: payusunb_pkg.sui_sdi_tax_info3(lv_state_code).sdi_ee_limit := l_sdi_ee;
851: payusunb_pkg.sui_sdi_tax_info3(lv_state_code).sdi_er_limit := l_sdi_er;
852: END LOOP;
853: CLOSE c_sui_sdi_info ;
854: END IF;
847: EXIT WHEN c_sui_sdi_info%NOTFOUND;
848: payusunb_pkg.sui_sdi_tax_info3(lv_state_code).sui_ee_limit := l_sui_ee;
849: payusunb_pkg.sui_sdi_tax_info3(lv_state_code).sui_er_limit := l_sui_er;
850: payusunb_pkg.sui_sdi_tax_info3(lv_state_code).sdi_ee_limit := l_sdi_ee;
851: payusunb_pkg.sui_sdi_tax_info3(lv_state_code).sdi_er_limit := l_sdi_er;
852: END LOOP;
853: CLOSE c_sui_sdi_info ;
854: END IF;
855:
852: END LOOP;
853: CLOSE c_sui_sdi_info ;
854: END IF;
855:
856: IF payusunb_pkg.sui_sdi_tax_info3.exists(IN_state_code) THEN
857:
858: IF IN_tax_type = 'SUI' AND IN_ee_or_er = 'EE' THEN
859: L_return_val := payusunb_pkg.sui_sdi_tax_info3(IN_state_code).sui_ee_limit;
860: ELSIF IN_tax_type = 'SUI' AND IN_ee_or_er = 'ER' THEN
855:
856: IF payusunb_pkg.sui_sdi_tax_info3.exists(IN_state_code) THEN
857:
858: IF IN_tax_type = 'SUI' AND IN_ee_or_er = 'EE' THEN
859: L_return_val := payusunb_pkg.sui_sdi_tax_info3(IN_state_code).sui_ee_limit;
860: ELSIF IN_tax_type = 'SUI' AND IN_ee_or_er = 'ER' THEN
861: L_return_val := payusunb_pkg.sui_sdi_tax_info3(IN_state_code).sui_er_limit;
862: ELSIF IN_tax_type = 'SDI' AND IN_ee_or_er = 'EE' THEN
863: L_return_val := payusunb_pkg.sui_sdi_tax_info3(IN_state_code).sdi_ee_limit;
857:
858: IF IN_tax_type = 'SUI' AND IN_ee_or_er = 'EE' THEN
859: L_return_val := payusunb_pkg.sui_sdi_tax_info3(IN_state_code).sui_ee_limit;
860: ELSIF IN_tax_type = 'SUI' AND IN_ee_or_er = 'ER' THEN
861: L_return_val := payusunb_pkg.sui_sdi_tax_info3(IN_state_code).sui_er_limit;
862: ELSIF IN_tax_type = 'SDI' AND IN_ee_or_er = 'EE' THEN
863: L_return_val := payusunb_pkg.sui_sdi_tax_info3(IN_state_code).sdi_ee_limit;
864: ELSIF IN_tax_type = 'SDI' AND IN_ee_or_er = 'ER' THEN
865: L_return_val := payusunb_pkg.sui_sdi_tax_info3(IN_state_code).sdi_er_limit;
859: L_return_val := payusunb_pkg.sui_sdi_tax_info3(IN_state_code).sui_ee_limit;
860: ELSIF IN_tax_type = 'SUI' AND IN_ee_or_er = 'ER' THEN
861: L_return_val := payusunb_pkg.sui_sdi_tax_info3(IN_state_code).sui_er_limit;
862: ELSIF IN_tax_type = 'SDI' AND IN_ee_or_er = 'EE' THEN
863: L_return_val := payusunb_pkg.sui_sdi_tax_info3(IN_state_code).sdi_ee_limit;
864: ELSIF IN_tax_type = 'SDI' AND IN_ee_or_er = 'ER' THEN
865: L_return_val := payusunb_pkg.sui_sdi_tax_info3(IN_state_code).sdi_er_limit;
866: END IF;
867:
861: L_return_val := payusunb_pkg.sui_sdi_tax_info3(IN_state_code).sui_er_limit;
862: ELSIF IN_tax_type = 'SDI' AND IN_ee_or_er = 'EE' THEN
863: L_return_val := payusunb_pkg.sui_sdi_tax_info3(IN_state_code).sdi_ee_limit;
864: ELSIF IN_tax_type = 'SDI' AND IN_ee_or_er = 'ER' THEN
865: L_return_val := payusunb_pkg.sui_sdi_tax_info3(IN_state_code).sdi_er_limit;
866: END IF;
867:
868: END IF;
869:
907: l_futa_credit_rate NUMBER;
908:
909: BEGIN
910:
911: l_count := payusunb_pkg.futa_credit_info.count;
912:
913: OPEN c_get_state_code(IN_sui_state_code);
914: FETCH c_get_state_code into l_sui_state_code;
915: CLOSE c_get_state_code;
919: IF l_count > 0 THEN
920: For i in 1..l_count
921: LOOP
922: hr_utility.trace('IN_sui_state_code : ' || IN_sui_state_code);
923: IF payusunb_pkg.futa_credit_info.exists(i) THEN
924: IF payusunb_pkg.futa_credit_info(i).organization_id = IN_organization_id THEN
925: l_flag := 'T' ;
926: IF (payusunb_pkg.futa_credit_info(i).sui_state_code = l_sui_state_code) THEN
927: L_return_val := payusunb_pkg.futa_credit_info(i).futa_credit_rate;
920: For i in 1..l_count
921: LOOP
922: hr_utility.trace('IN_sui_state_code : ' || IN_sui_state_code);
923: IF payusunb_pkg.futa_credit_info.exists(i) THEN
924: IF payusunb_pkg.futa_credit_info(i).organization_id = IN_organization_id THEN
925: l_flag := 'T' ;
926: IF (payusunb_pkg.futa_credit_info(i).sui_state_code = l_sui_state_code) THEN
927: L_return_val := payusunb_pkg.futa_credit_info(i).futa_credit_rate;
928: RETURN nvl(L_return_val,0);
922: hr_utility.trace('IN_sui_state_code : ' || IN_sui_state_code);
923: IF payusunb_pkg.futa_credit_info.exists(i) THEN
924: IF payusunb_pkg.futa_credit_info(i).organization_id = IN_organization_id THEN
925: l_flag := 'T' ;
926: IF (payusunb_pkg.futa_credit_info(i).sui_state_code = l_sui_state_code) THEN
927: L_return_val := payusunb_pkg.futa_credit_info(i).futa_credit_rate;
928: RETURN nvl(L_return_val,0);
929: END IF;
930: END IF;
923: IF payusunb_pkg.futa_credit_info.exists(i) THEN
924: IF payusunb_pkg.futa_credit_info(i).organization_id = IN_organization_id THEN
925: l_flag := 'T' ;
926: IF (payusunb_pkg.futa_credit_info(i).sui_state_code = l_sui_state_code) THEN
927: L_return_val := payusunb_pkg.futa_credit_info(i).futa_credit_rate;
928: RETURN nvl(L_return_val,0);
929: END IF;
930: END IF;
931: END IF; -- exists
937: l_count := l_count + 1;
938: FETCH c_get_futa_credit_rt INTO l_futa_state_code,l_futa_credit_rate ;
939: EXIT WHEN c_get_futa_credit_rt%NOTFOUND;
940: hr_utility.trace('State_code pupulated : ' || l_futa_state_code);
941: payusunb_pkg.futa_credit_info(l_count).organization_id := IN_organization_id;
942: payusunb_pkg.futa_credit_info(l_count).sui_state_code := l_futa_state_code;
943: payusunb_pkg.futa_credit_info(l_count).futa_credit_rate := NVL(l_futa_credit_rate,0);
944: IF l_futa_state_code = IN_sui_state_code THEN
945: L_return_val := nvl(l_futa_credit_rate,0);
938: FETCH c_get_futa_credit_rt INTO l_futa_state_code,l_futa_credit_rate ;
939: EXIT WHEN c_get_futa_credit_rt%NOTFOUND;
940: hr_utility.trace('State_code pupulated : ' || l_futa_state_code);
941: payusunb_pkg.futa_credit_info(l_count).organization_id := IN_organization_id;
942: payusunb_pkg.futa_credit_info(l_count).sui_state_code := l_futa_state_code;
943: payusunb_pkg.futa_credit_info(l_count).futa_credit_rate := NVL(l_futa_credit_rate,0);
944: IF l_futa_state_code = IN_sui_state_code THEN
945: L_return_val := nvl(l_futa_credit_rate,0);
946: END IF;
939: EXIT WHEN c_get_futa_credit_rt%NOTFOUND;
940: hr_utility.trace('State_code pupulated : ' || l_futa_state_code);
941: payusunb_pkg.futa_credit_info(l_count).organization_id := IN_organization_id;
942: payusunb_pkg.futa_credit_info(l_count).sui_state_code := l_futa_state_code;
943: payusunb_pkg.futa_credit_info(l_count).futa_credit_rate := NVL(l_futa_credit_rate,0);
944: IF l_futa_state_code = IN_sui_state_code THEN
945: L_return_val := nvl(l_futa_credit_rate,0);
946: END IF;
947:
979: lv_state_code VARCHAR2(2);
980: ln_count NUMBER;
981:
982: BEGIN
983: IF payusunb_pkg.sui_sdi_override_info.count < 1 THEN
984: hr_utility.trace('Inside the sui_override');
985: OPEN c_get_sui_sdi_overide_rt ( IN_tax_unit_id );
986: LOOP
987: FETCH c_get_sui_sdi_overide_rt INTO lv_state_code,ln_sui_override_rt,ln_sui_dummy_rt,ln_sdi_override_rt ;
985: OPEN c_get_sui_sdi_overide_rt ( IN_tax_unit_id );
986: LOOP
987: FETCH c_get_sui_sdi_overide_rt INTO lv_state_code,ln_sui_override_rt,ln_sui_dummy_rt,ln_sdi_override_rt ;
988: EXIT WHEN c_get_sui_sdi_overide_rt%NOTFOUND;
989: payusunb_pkg.sui_sdi_override_info(lv_state_code).sui_override_rate := ln_sui_override_rt;
990: payusunb_pkg.sui_sdi_override_info(lv_state_code).sui_dummy_rate := ln_sui_dummy_rt;
991: payusunb_pkg.sui_sdi_override_info(lv_state_code).sdi_override_rate := ln_sdi_override_rt;
992: END LOOP;
993: CLOSE c_get_sui_sdi_overide_rt ;
986: LOOP
987: FETCH c_get_sui_sdi_overide_rt INTO lv_state_code,ln_sui_override_rt,ln_sui_dummy_rt,ln_sdi_override_rt ;
988: EXIT WHEN c_get_sui_sdi_overide_rt%NOTFOUND;
989: payusunb_pkg.sui_sdi_override_info(lv_state_code).sui_override_rate := ln_sui_override_rt;
990: payusunb_pkg.sui_sdi_override_info(lv_state_code).sui_dummy_rate := ln_sui_dummy_rt;
991: payusunb_pkg.sui_sdi_override_info(lv_state_code).sdi_override_rate := ln_sdi_override_rt;
992: END LOOP;
993: CLOSE c_get_sui_sdi_overide_rt ;
994: END IF;
987: FETCH c_get_sui_sdi_overide_rt INTO lv_state_code,ln_sui_override_rt,ln_sui_dummy_rt,ln_sdi_override_rt ;
988: EXIT WHEN c_get_sui_sdi_overide_rt%NOTFOUND;
989: payusunb_pkg.sui_sdi_override_info(lv_state_code).sui_override_rate := ln_sui_override_rt;
990: payusunb_pkg.sui_sdi_override_info(lv_state_code).sui_dummy_rate := ln_sui_dummy_rt;
991: payusunb_pkg.sui_sdi_override_info(lv_state_code).sdi_override_rate := ln_sdi_override_rt;
992: END LOOP;
993: CLOSE c_get_sui_sdi_overide_rt ;
994: END IF;
995:
992: END LOOP;
993: CLOSE c_get_sui_sdi_overide_rt ;
994: END IF;
995:
996: IF payusunb_pkg.sui_sdi_override_info.exists(IN_state_code) THEN
997: IF IN_ret_flag = 'C' THEN -- calculated value
998: L_return_val := payusunb_pkg.sui_sdi_override_info(IN_state_code).sui_override_rate ;
999: ELSIF IN_ret_flag = 'D' THEN -- Dummy value
1000: L_return_val := payusunb_pkg.sui_sdi_override_info(IN_state_code).sui_dummy_rate ;
994: END IF;
995:
996: IF payusunb_pkg.sui_sdi_override_info.exists(IN_state_code) THEN
997: IF IN_ret_flag = 'C' THEN -- calculated value
998: L_return_val := payusunb_pkg.sui_sdi_override_info(IN_state_code).sui_override_rate ;
999: ELSIF IN_ret_flag = 'D' THEN -- Dummy value
1000: L_return_val := payusunb_pkg.sui_sdi_override_info(IN_state_code).sui_dummy_rate ;
1001: ELSIF IN_ret_flag = 'SDI' THEN -- SDI value
1002: L_return_val := payusunb_pkg.sui_sdi_override_info(IN_state_code).sdi_override_rate ;
996: IF payusunb_pkg.sui_sdi_override_info.exists(IN_state_code) THEN
997: IF IN_ret_flag = 'C' THEN -- calculated value
998: L_return_val := payusunb_pkg.sui_sdi_override_info(IN_state_code).sui_override_rate ;
999: ELSIF IN_ret_flag = 'D' THEN -- Dummy value
1000: L_return_val := payusunb_pkg.sui_sdi_override_info(IN_state_code).sui_dummy_rate ;
1001: ELSIF IN_ret_flag = 'SDI' THEN -- SDI value
1002: L_return_val := payusunb_pkg.sui_sdi_override_info(IN_state_code).sdi_override_rate ;
1003: END IF;
1004: END IF;
998: L_return_val := payusunb_pkg.sui_sdi_override_info(IN_state_code).sui_override_rate ;
999: ELSIF IN_ret_flag = 'D' THEN -- Dummy value
1000: L_return_val := payusunb_pkg.sui_sdi_override_info(IN_state_code).sui_dummy_rate ;
1001: ELSIF IN_ret_flag = 'SDI' THEN -- SDI value
1002: L_return_val := payusunb_pkg.sui_sdi_override_info(IN_state_code).sdi_override_rate ;
1003: END IF;
1004: END IF;
1005: RETURN L_return_val;
1006:
1271: ln_index_code := to_number(lv_temp_code);
1272:
1273:
1274: IF IN_lit = 'CITY' THEN
1275: IF payusunb_pkg.city_tax_info.exists(ln_index_code) THEN
1276: L_tax_flag := payusunb_pkg.city_tax_info(ln_index_code).city_tax_exists;
1277: ELSE
1278: OPEN c_check_city ;
1279: FETCH c_check_city INTO L_city_tax,L_school_tax;
1272:
1273:
1274: IF IN_lit = 'CITY' THEN
1275: IF payusunb_pkg.city_tax_info.exists(ln_index_code) THEN
1276: L_tax_flag := payusunb_pkg.city_tax_info(ln_index_code).city_tax_exists;
1277: ELSE
1278: OPEN c_check_city ;
1279: FETCH c_check_city INTO L_city_tax,L_school_tax;
1280: payusunb_pkg.city_tax_info(ln_index_code).jurisdiction_code := IN_jurisdiction;
1276: L_tax_flag := payusunb_pkg.city_tax_info(ln_index_code).city_tax_exists;
1277: ELSE
1278: OPEN c_check_city ;
1279: FETCH c_check_city INTO L_city_tax,L_school_tax;
1280: payusunb_pkg.city_tax_info(ln_index_code).jurisdiction_code := IN_jurisdiction;
1281: payusunb_pkg.city_tax_info(ln_index_code).city_tax_exists := L_city_tax;
1282: payusunb_pkg.city_tax_info(ln_index_code).city_sd_tax_exists := L_school_tax;
1283: CLOSE c_check_city;
1284: L_tax_flag := payusunb_pkg.city_tax_info(ln_index_code).city_tax_exists;
1277: ELSE
1278: OPEN c_check_city ;
1279: FETCH c_check_city INTO L_city_tax,L_school_tax;
1280: payusunb_pkg.city_tax_info(ln_index_code).jurisdiction_code := IN_jurisdiction;
1281: payusunb_pkg.city_tax_info(ln_index_code).city_tax_exists := L_city_tax;
1282: payusunb_pkg.city_tax_info(ln_index_code).city_sd_tax_exists := L_school_tax;
1283: CLOSE c_check_city;
1284: L_tax_flag := payusunb_pkg.city_tax_info(ln_index_code).city_tax_exists;
1285: END IF;
1278: OPEN c_check_city ;
1279: FETCH c_check_city INTO L_city_tax,L_school_tax;
1280: payusunb_pkg.city_tax_info(ln_index_code).jurisdiction_code := IN_jurisdiction;
1281: payusunb_pkg.city_tax_info(ln_index_code).city_tax_exists := L_city_tax;
1282: payusunb_pkg.city_tax_info(ln_index_code).city_sd_tax_exists := L_school_tax;
1283: CLOSE c_check_city;
1284: L_tax_flag := payusunb_pkg.city_tax_info(ln_index_code).city_tax_exists;
1285: END IF;
1286:
1280: payusunb_pkg.city_tax_info(ln_index_code).jurisdiction_code := IN_jurisdiction;
1281: payusunb_pkg.city_tax_info(ln_index_code).city_tax_exists := L_city_tax;
1282: payusunb_pkg.city_tax_info(ln_index_code).city_sd_tax_exists := L_school_tax;
1283: CLOSE c_check_city;
1284: L_tax_flag := payusunb_pkg.city_tax_info(ln_index_code).city_tax_exists;
1285: END IF;
1286:
1287: ELSIF IN_lit = 'SCHOOL' THEN
1288: IF payusunb_pkg.city_tax_info.exists(ln_index_code) THEN
1284: L_tax_flag := payusunb_pkg.city_tax_info(ln_index_code).city_tax_exists;
1285: END IF;
1286:
1287: ELSIF IN_lit = 'SCHOOL' THEN
1288: IF payusunb_pkg.city_tax_info.exists(ln_index_code) THEN
1289: L_tax_flag := payusunb_pkg.city_tax_info(ln_index_code).city_sd_tax_exists;
1290: ELSE
1291: OPEN c_check_city ;
1292: FETCH c_check_city INTO L_city_tax,L_school_tax;
1285: END IF;
1286:
1287: ELSIF IN_lit = 'SCHOOL' THEN
1288: IF payusunb_pkg.city_tax_info.exists(ln_index_code) THEN
1289: L_tax_flag := payusunb_pkg.city_tax_info(ln_index_code).city_sd_tax_exists;
1290: ELSE
1291: OPEN c_check_city ;
1292: FETCH c_check_city INTO L_city_tax,L_school_tax;
1293: payusunb_pkg.city_tax_info(ln_index_code).jurisdiction_code := IN_jurisdiction;
1289: L_tax_flag := payusunb_pkg.city_tax_info(ln_index_code).city_sd_tax_exists;
1290: ELSE
1291: OPEN c_check_city ;
1292: FETCH c_check_city INTO L_city_tax,L_school_tax;
1293: payusunb_pkg.city_tax_info(ln_index_code).jurisdiction_code := IN_jurisdiction;
1294: payusunb_pkg.city_tax_info(ln_index_code).city_tax_exists := L_city_tax;
1295: payusunb_pkg.city_tax_info(ln_index_code).city_sd_tax_exists := L_school_tax;
1296: CLOSE c_check_city;
1297: L_tax_flag := payusunb_pkg.city_tax_info(ln_index_code).city_sd_tax_exists;
1290: ELSE
1291: OPEN c_check_city ;
1292: FETCH c_check_city INTO L_city_tax,L_school_tax;
1293: payusunb_pkg.city_tax_info(ln_index_code).jurisdiction_code := IN_jurisdiction;
1294: payusunb_pkg.city_tax_info(ln_index_code).city_tax_exists := L_city_tax;
1295: payusunb_pkg.city_tax_info(ln_index_code).city_sd_tax_exists := L_school_tax;
1296: CLOSE c_check_city;
1297: L_tax_flag := payusunb_pkg.city_tax_info(ln_index_code).city_sd_tax_exists;
1298: END IF;
1291: OPEN c_check_city ;
1292: FETCH c_check_city INTO L_city_tax,L_school_tax;
1293: payusunb_pkg.city_tax_info(ln_index_code).jurisdiction_code := IN_jurisdiction;
1294: payusunb_pkg.city_tax_info(ln_index_code).city_tax_exists := L_city_tax;
1295: payusunb_pkg.city_tax_info(ln_index_code).city_sd_tax_exists := L_school_tax;
1296: CLOSE c_check_city;
1297: L_tax_flag := payusunb_pkg.city_tax_info(ln_index_code).city_sd_tax_exists;
1298: END IF;
1299:
1293: payusunb_pkg.city_tax_info(ln_index_code).jurisdiction_code := IN_jurisdiction;
1294: payusunb_pkg.city_tax_info(ln_index_code).city_tax_exists := L_city_tax;
1295: payusunb_pkg.city_tax_info(ln_index_code).city_sd_tax_exists := L_school_tax;
1296: CLOSE c_check_city;
1297: L_tax_flag := payusunb_pkg.city_tax_info(ln_index_code).city_sd_tax_exists;
1298: END IF;
1299:
1300: ELSIF IN_lit = 'COUNTY' THEN
1301: IF payusunb_pkg.county_tax_info.exists(ln_index_code) THEN
1297: L_tax_flag := payusunb_pkg.city_tax_info(ln_index_code).city_sd_tax_exists;
1298: END IF;
1299:
1300: ELSIF IN_lit = 'COUNTY' THEN
1301: IF payusunb_pkg.county_tax_info.exists(ln_index_code) THEN
1302: L_tax_flag := payusunb_pkg.county_tax_info(ln_index_code).cnty_tax_exists;
1303: ELSE
1304: OPEN c_check_county;
1305: FETCH c_check_county INTO L_county_tax,L_school_tax;
1298: END IF;
1299:
1300: ELSIF IN_lit = 'COUNTY' THEN
1301: IF payusunb_pkg.county_tax_info.exists(ln_index_code) THEN
1302: L_tax_flag := payusunb_pkg.county_tax_info(ln_index_code).cnty_tax_exists;
1303: ELSE
1304: OPEN c_check_county;
1305: FETCH c_check_county INTO L_county_tax,L_school_tax;
1306: payusunb_pkg.county_tax_info(ln_index_code).jurisdiction_code := IN_jurisdiction;
1302: L_tax_flag := payusunb_pkg.county_tax_info(ln_index_code).cnty_tax_exists;
1303: ELSE
1304: OPEN c_check_county;
1305: FETCH c_check_county INTO L_county_tax,L_school_tax;
1306: payusunb_pkg.county_tax_info(ln_index_code).jurisdiction_code := IN_jurisdiction;
1307: payusunb_pkg.county_tax_info(ln_index_code).cnty_tax_exists := L_county_tax;
1308: payusunb_pkg.county_tax_info(ln_index_code).cnty_sd_tax_exists := L_school_tax;
1309: CLOSE c_check_county;
1310: L_tax_flag := payusunb_pkg.county_tax_info(ln_index_code).cnty_tax_exists;
1303: ELSE
1304: OPEN c_check_county;
1305: FETCH c_check_county INTO L_county_tax,L_school_tax;
1306: payusunb_pkg.county_tax_info(ln_index_code).jurisdiction_code := IN_jurisdiction;
1307: payusunb_pkg.county_tax_info(ln_index_code).cnty_tax_exists := L_county_tax;
1308: payusunb_pkg.county_tax_info(ln_index_code).cnty_sd_tax_exists := L_school_tax;
1309: CLOSE c_check_county;
1310: L_tax_flag := payusunb_pkg.county_tax_info(ln_index_code).cnty_tax_exists;
1311: END IF;
1304: OPEN c_check_county;
1305: FETCH c_check_county INTO L_county_tax,L_school_tax;
1306: payusunb_pkg.county_tax_info(ln_index_code).jurisdiction_code := IN_jurisdiction;
1307: payusunb_pkg.county_tax_info(ln_index_code).cnty_tax_exists := L_county_tax;
1308: payusunb_pkg.county_tax_info(ln_index_code).cnty_sd_tax_exists := L_school_tax;
1309: CLOSE c_check_county;
1310: L_tax_flag := payusunb_pkg.county_tax_info(ln_index_code).cnty_tax_exists;
1311: END IF;
1312:
1306: payusunb_pkg.county_tax_info(ln_index_code).jurisdiction_code := IN_jurisdiction;
1307: payusunb_pkg.county_tax_info(ln_index_code).cnty_tax_exists := L_county_tax;
1308: payusunb_pkg.county_tax_info(ln_index_code).cnty_sd_tax_exists := L_school_tax;
1309: CLOSE c_check_county;
1310: L_tax_flag := payusunb_pkg.county_tax_info(ln_index_code).cnty_tax_exists;
1311: END IF;
1312:
1313: END IF;
1314:
3885: RAISE;
3886: END prc_process_data;
3887:
3888:
3889: END PAYUSUNB_PKG;