1: package body PAYUSUNB_PKG as
2: /* $Header: payusunb.pkb 120.19.12020000.3 2012/11/22 09:12:11 nvelaga 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:
322: where payroll_action_id = IN_pactid;
323:
324: END;
325:
326: lv_tax_unit_id := payusunb_pkg.fnc_get_parameter('GRE',lv_leg_param);
327: lv_organization_id := payusunb_pkg.fnc_get_parameter('Org',lv_leg_param);
328: lv_location_id := payusunb_pkg.fnc_get_parameter('Loc',lv_leg_param);
329: lv_b_dim := payusunb_pkg.fnc_get_parameter('B_Dim',lv_leg_param);
330:
323:
324: END;
325:
326: lv_tax_unit_id := payusunb_pkg.fnc_get_parameter('GRE',lv_leg_param);
327: lv_organization_id := payusunb_pkg.fnc_get_parameter('Org',lv_leg_param);
328: lv_location_id := payusunb_pkg.fnc_get_parameter('Loc',lv_leg_param);
329: lv_b_dim := payusunb_pkg.fnc_get_parameter('B_Dim',lv_leg_param);
330:
331: if lv_b_dim ='QTD' then
324: END;
325:
326: lv_tax_unit_id := payusunb_pkg.fnc_get_parameter('GRE',lv_leg_param);
327: lv_organization_id := payusunb_pkg.fnc_get_parameter('Org',lv_leg_param);
328: lv_location_id := payusunb_pkg.fnc_get_parameter('Loc',lv_leg_param);
329: lv_b_dim := payusunb_pkg.fnc_get_parameter('B_Dim',lv_leg_param);
330:
331: if lv_b_dim ='QTD' then
332: ld_cur_date := TRUNC(ld_effective_date,'Q');
325:
326: lv_tax_unit_id := payusunb_pkg.fnc_get_parameter('GRE',lv_leg_param);
327: lv_organization_id := payusunb_pkg.fnc_get_parameter('Org',lv_leg_param);
328: lv_location_id := payusunb_pkg.fnc_get_parameter('Loc',lv_leg_param);
329: lv_b_dim := payusunb_pkg.fnc_get_parameter('B_Dim',lv_leg_param);
330:
331: if lv_b_dim ='QTD' then
332: ld_cur_date := TRUNC(ld_effective_date,'Q');
333: elsif lv_b_dim ='YTD' then
832: FROM per_assignments_f paf1
833: WHERE paf1.assignment_id = paf.assignment_id
834: AND paf1.effective_start_date <= ppa1.effective_date
835: AND paf1.effective_end_date >=
836: DECODE(payusunb_pkg.fnc_get_parameter(''B_Dim'',
837: ppa1.legislative_parameters),
838: ''QTD'',
839: TRUNC(ppa1.effective_date,''Q''),
840: ''YTD'',
847: AND ppa1.effective_date BETWEEN ppf.effective_start_date
848: AND ppf.effective_END_date
849: ORDER BY
850: hou1.name, /* GRE */
851: DECODE(payusunb_pkg.fnc_get_parameter(
852: ''SO1'',ppa1.legislative_parameters),
853: ''Employee'',ppf.full_name,
854: ''Social'',ppf.national_identifier,
855: ''Organization'',hou.name,
853: ''Employee'',ppf.full_name,
854: ''Social'',ppf.national_identifier,
855: ''Organization'',hou.name,
856: ''Location'',loc.location_code,null),
857: DECODE(payusunb_pkg.fnc_get_parameter(
858: ''SO2'',ppa1.legislative_parameters),
859: ''Employee'',ppf.full_name,
860: ''Social'',ppf.national_identifier,
861: ''Organization'',hou.name,
859: ''Employee'',ppf.full_name,
860: ''Social'',ppf.national_identifier,
861: ''Organization'',hou.name,
862: ''Location'',loc.location_code,null),
863: DECODE(payusunb_pkg.fnc_get_parameter(
864: ''SO3'',ppa1.legislative_parameters),
865: ''Employee'',ppf.full_name,
866: ''Social'',ppf.national_identifier,
867: ''Organization'',hou.name,
914: RETURN L_par_value;
915:
916: EXCEPTION
917: WHEN OTHERS THEN
918: --hr_utility.trace('Error: PAYUSUNB_PKG.fnc_get_parameter failed - ORA'||TO_CHAR(SQLCODE));
919: RAISE;
920: END fnc_get_parameter;
921:
922: /*************************************************************************
1266: -- If date = as_of_date populate the sui_sdi_tax_info1 table
1267: -- else populate sui_sdi_tax_info2 table
1268:
1269: IF IN_tab_flag = 'FULL' THEN
1270: IF payusunb_pkg.sui_sdi_tax_info1.count < 1 THEN
1271: OPEN c_sui_sdi_info ;
1272: LOOP
1273: FETCH c_sui_sdi_info into lv_state_code,l_sui_ee,l_sui_er,l_sdi_ee,l_sdi_er;
1274: EXIT WHEN c_sui_sdi_info%NOTFOUND;
1271: OPEN c_sui_sdi_info ;
1272: LOOP
1273: FETCH c_sui_sdi_info into lv_state_code,l_sui_ee,l_sui_er,l_sdi_ee,l_sdi_er;
1274: EXIT WHEN c_sui_sdi_info%NOTFOUND;
1275: payusunb_pkg.sui_sdi_tax_info1(lv_state_code).sui_ee_limit := l_sui_ee;
1276: payusunb_pkg.sui_sdi_tax_info1(lv_state_code).sui_er_limit := l_sui_er;
1277: payusunb_pkg.sui_sdi_tax_info1(lv_state_code).sdi_ee_limit := l_sdi_ee;
1278: payusunb_pkg.sui_sdi_tax_info1(lv_state_code).sdi_er_limit := l_sdi_er;
1279: END LOOP;
1272: LOOP
1273: FETCH c_sui_sdi_info into lv_state_code,l_sui_ee,l_sui_er,l_sdi_ee,l_sdi_er;
1274: EXIT WHEN c_sui_sdi_info%NOTFOUND;
1275: payusunb_pkg.sui_sdi_tax_info1(lv_state_code).sui_ee_limit := l_sui_ee;
1276: payusunb_pkg.sui_sdi_tax_info1(lv_state_code).sui_er_limit := l_sui_er;
1277: payusunb_pkg.sui_sdi_tax_info1(lv_state_code).sdi_ee_limit := l_sdi_ee;
1278: payusunb_pkg.sui_sdi_tax_info1(lv_state_code).sdi_er_limit := l_sdi_er;
1279: END LOOP;
1280: CLOSE c_sui_sdi_info ;
1273: FETCH c_sui_sdi_info into lv_state_code,l_sui_ee,l_sui_er,l_sdi_ee,l_sdi_er;
1274: EXIT WHEN c_sui_sdi_info%NOTFOUND;
1275: payusunb_pkg.sui_sdi_tax_info1(lv_state_code).sui_ee_limit := l_sui_ee;
1276: payusunb_pkg.sui_sdi_tax_info1(lv_state_code).sui_er_limit := l_sui_er;
1277: payusunb_pkg.sui_sdi_tax_info1(lv_state_code).sdi_ee_limit := l_sdi_ee;
1278: payusunb_pkg.sui_sdi_tax_info1(lv_state_code).sdi_er_limit := l_sdi_er;
1279: END LOOP;
1280: CLOSE c_sui_sdi_info ;
1281: END IF;
1274: EXIT WHEN c_sui_sdi_info%NOTFOUND;
1275: payusunb_pkg.sui_sdi_tax_info1(lv_state_code).sui_ee_limit := l_sui_ee;
1276: payusunb_pkg.sui_sdi_tax_info1(lv_state_code).sui_er_limit := l_sui_er;
1277: payusunb_pkg.sui_sdi_tax_info1(lv_state_code).sdi_ee_limit := l_sdi_ee;
1278: payusunb_pkg.sui_sdi_tax_info1(lv_state_code).sdi_er_limit := l_sdi_er;
1279: END LOOP;
1280: CLOSE c_sui_sdi_info ;
1281: END IF;
1282:
1279: END LOOP;
1280: CLOSE c_sui_sdi_info ;
1281: END IF;
1282:
1283: IF payusunb_pkg.sui_sdi_tax_info1.exists(IN_state_code) THEN
1284:
1285: IF IN_tax_type = 'SUI' AND IN_ee_or_er = 'EE' THEN
1286: L_return_val := payusunb_pkg.sui_sdi_tax_info1(IN_state_code).sui_ee_limit;
1287: ELSIF IN_tax_type = 'SUI' AND IN_ee_or_er = 'ER' THEN
1282:
1283: IF payusunb_pkg.sui_sdi_tax_info1.exists(IN_state_code) THEN
1284:
1285: IF IN_tax_type = 'SUI' AND IN_ee_or_er = 'EE' THEN
1286: L_return_val := payusunb_pkg.sui_sdi_tax_info1(IN_state_code).sui_ee_limit;
1287: ELSIF IN_tax_type = 'SUI' AND IN_ee_or_er = 'ER' THEN
1288: L_return_val := payusunb_pkg.sui_sdi_tax_info1(IN_state_code).sui_er_limit;
1289: ELSIF IN_tax_type = 'SDI' AND IN_ee_or_er = 'EE' THEN
1290: L_return_val := payusunb_pkg.sui_sdi_tax_info1(IN_state_code).sdi_ee_limit;
1284:
1285: IF IN_tax_type = 'SUI' AND IN_ee_or_er = 'EE' THEN
1286: L_return_val := payusunb_pkg.sui_sdi_tax_info1(IN_state_code).sui_ee_limit;
1287: ELSIF IN_tax_type = 'SUI' AND IN_ee_or_er = 'ER' THEN
1288: L_return_val := payusunb_pkg.sui_sdi_tax_info1(IN_state_code).sui_er_limit;
1289: ELSIF IN_tax_type = 'SDI' AND IN_ee_or_er = 'EE' THEN
1290: L_return_val := payusunb_pkg.sui_sdi_tax_info1(IN_state_code).sdi_ee_limit;
1291: ELSIF IN_tax_type = 'SDI' AND IN_ee_or_er = 'ER' THEN
1292: L_return_val := payusunb_pkg.sui_sdi_tax_info1(IN_state_code).sdi_er_limit;
1286: L_return_val := payusunb_pkg.sui_sdi_tax_info1(IN_state_code).sui_ee_limit;
1287: ELSIF IN_tax_type = 'SUI' AND IN_ee_or_er = 'ER' THEN
1288: L_return_val := payusunb_pkg.sui_sdi_tax_info1(IN_state_code).sui_er_limit;
1289: ELSIF IN_tax_type = 'SDI' AND IN_ee_or_er = 'EE' THEN
1290: L_return_val := payusunb_pkg.sui_sdi_tax_info1(IN_state_code).sdi_ee_limit;
1291: ELSIF IN_tax_type = 'SDI' AND IN_ee_or_er = 'ER' THEN
1292: L_return_val := payusunb_pkg.sui_sdi_tax_info1(IN_state_code).sdi_er_limit;
1293: END IF;
1294:
1288: L_return_val := payusunb_pkg.sui_sdi_tax_info1(IN_state_code).sui_er_limit;
1289: ELSIF IN_tax_type = 'SDI' AND IN_ee_or_er = 'EE' THEN
1290: L_return_val := payusunb_pkg.sui_sdi_tax_info1(IN_state_code).sdi_ee_limit;
1291: ELSIF IN_tax_type = 'SDI' AND IN_ee_or_er = 'ER' THEN
1292: L_return_val := payusunb_pkg.sui_sdi_tax_info1(IN_state_code).sdi_er_limit;
1293: END IF;
1294:
1295: END IF;
1296:
1295: END IF;
1296:
1297: ELSIF IN_tab_flag = 'FIRST' THEN
1298:
1299: IF payusunb_pkg.sui_sdi_tax_info2.count < 1 THEN
1300: OPEN c_sui_sdi_info ;
1301: LOOP
1302: FETCH c_sui_sdi_info into lv_state_code,l_sui_ee,l_sui_er,l_sdi_ee,l_sdi_er;
1303: EXIT WHEN c_sui_sdi_info%NOTFOUND;
1300: OPEN c_sui_sdi_info ;
1301: LOOP
1302: FETCH c_sui_sdi_info into lv_state_code,l_sui_ee,l_sui_er,l_sdi_ee,l_sdi_er;
1303: EXIT WHEN c_sui_sdi_info%NOTFOUND;
1304: payusunb_pkg.sui_sdi_tax_info2(lv_state_code).sui_ee_limit := l_sui_ee;
1305: payusunb_pkg.sui_sdi_tax_info2(lv_state_code).sui_er_limit := l_sui_er;
1306: payusunb_pkg.sui_sdi_tax_info2(lv_state_code).sdi_ee_limit := l_sdi_ee;
1307: payusunb_pkg.sui_sdi_tax_info2(lv_state_code).sdi_er_limit := l_sdi_er;
1308: END LOOP;
1301: LOOP
1302: FETCH c_sui_sdi_info into lv_state_code,l_sui_ee,l_sui_er,l_sdi_ee,l_sdi_er;
1303: EXIT WHEN c_sui_sdi_info%NOTFOUND;
1304: payusunb_pkg.sui_sdi_tax_info2(lv_state_code).sui_ee_limit := l_sui_ee;
1305: payusunb_pkg.sui_sdi_tax_info2(lv_state_code).sui_er_limit := l_sui_er;
1306: payusunb_pkg.sui_sdi_tax_info2(lv_state_code).sdi_ee_limit := l_sdi_ee;
1307: payusunb_pkg.sui_sdi_tax_info2(lv_state_code).sdi_er_limit := l_sdi_er;
1308: END LOOP;
1309: CLOSE c_sui_sdi_info ;
1302: FETCH c_sui_sdi_info into lv_state_code,l_sui_ee,l_sui_er,l_sdi_ee,l_sdi_er;
1303: EXIT WHEN c_sui_sdi_info%NOTFOUND;
1304: payusunb_pkg.sui_sdi_tax_info2(lv_state_code).sui_ee_limit := l_sui_ee;
1305: payusunb_pkg.sui_sdi_tax_info2(lv_state_code).sui_er_limit := l_sui_er;
1306: payusunb_pkg.sui_sdi_tax_info2(lv_state_code).sdi_ee_limit := l_sdi_ee;
1307: payusunb_pkg.sui_sdi_tax_info2(lv_state_code).sdi_er_limit := l_sdi_er;
1308: END LOOP;
1309: CLOSE c_sui_sdi_info ;
1310: END IF;
1303: EXIT WHEN c_sui_sdi_info%NOTFOUND;
1304: payusunb_pkg.sui_sdi_tax_info2(lv_state_code).sui_ee_limit := l_sui_ee;
1305: payusunb_pkg.sui_sdi_tax_info2(lv_state_code).sui_er_limit := l_sui_er;
1306: payusunb_pkg.sui_sdi_tax_info2(lv_state_code).sdi_ee_limit := l_sdi_ee;
1307: payusunb_pkg.sui_sdi_tax_info2(lv_state_code).sdi_er_limit := l_sdi_er;
1308: END LOOP;
1309: CLOSE c_sui_sdi_info ;
1310: END IF;
1311:
1308: END LOOP;
1309: CLOSE c_sui_sdi_info ;
1310: END IF;
1311:
1312: IF payusunb_pkg.sui_sdi_tax_info2.exists(IN_state_code) THEN
1313:
1314: IF IN_tax_type = 'SUI' AND IN_ee_or_er = 'EE' THEN
1315: L_return_val := payusunb_pkg.sui_sdi_tax_info2(IN_state_code).sui_ee_limit;
1316: ELSIF IN_tax_type = 'SUI' AND IN_ee_or_er = 'ER' THEN
1311:
1312: IF payusunb_pkg.sui_sdi_tax_info2.exists(IN_state_code) THEN
1313:
1314: IF IN_tax_type = 'SUI' AND IN_ee_or_er = 'EE' THEN
1315: L_return_val := payusunb_pkg.sui_sdi_tax_info2(IN_state_code).sui_ee_limit;
1316: ELSIF IN_tax_type = 'SUI' AND IN_ee_or_er = 'ER' THEN
1317: L_return_val := payusunb_pkg.sui_sdi_tax_info2(IN_state_code).sui_er_limit;
1318: ELSIF IN_tax_type = 'SDI' AND IN_ee_or_er = 'EE' THEN
1319: L_return_val := payusunb_pkg.sui_sdi_tax_info2(IN_state_code).sdi_ee_limit;
1313:
1314: IF IN_tax_type = 'SUI' AND IN_ee_or_er = 'EE' THEN
1315: L_return_val := payusunb_pkg.sui_sdi_tax_info2(IN_state_code).sui_ee_limit;
1316: ELSIF IN_tax_type = 'SUI' AND IN_ee_or_er = 'ER' THEN
1317: L_return_val := payusunb_pkg.sui_sdi_tax_info2(IN_state_code).sui_er_limit;
1318: ELSIF IN_tax_type = 'SDI' AND IN_ee_or_er = 'EE' THEN
1319: L_return_val := payusunb_pkg.sui_sdi_tax_info2(IN_state_code).sdi_ee_limit;
1320: ELSIF IN_tax_type = 'SDI' AND IN_ee_or_er = 'ER' THEN
1321: L_return_val := payusunb_pkg.sui_sdi_tax_info2(IN_state_code).sdi_er_limit;
1315: L_return_val := payusunb_pkg.sui_sdi_tax_info2(IN_state_code).sui_ee_limit;
1316: ELSIF IN_tax_type = 'SUI' AND IN_ee_or_er = 'ER' THEN
1317: L_return_val := payusunb_pkg.sui_sdi_tax_info2(IN_state_code).sui_er_limit;
1318: ELSIF IN_tax_type = 'SDI' AND IN_ee_or_er = 'EE' THEN
1319: L_return_val := payusunb_pkg.sui_sdi_tax_info2(IN_state_code).sdi_ee_limit;
1320: ELSIF IN_tax_type = 'SDI' AND IN_ee_or_er = 'ER' THEN
1321: L_return_val := payusunb_pkg.sui_sdi_tax_info2(IN_state_code).sdi_er_limit;
1322: END IF;
1323:
1317: L_return_val := payusunb_pkg.sui_sdi_tax_info2(IN_state_code).sui_er_limit;
1318: ELSIF IN_tax_type = 'SDI' AND IN_ee_or_er = 'EE' THEN
1319: L_return_val := payusunb_pkg.sui_sdi_tax_info2(IN_state_code).sdi_ee_limit;
1320: ELSIF IN_tax_type = 'SDI' AND IN_ee_or_er = 'ER' THEN
1321: L_return_val := payusunb_pkg.sui_sdi_tax_info2(IN_state_code).sdi_er_limit;
1322: END IF;
1323:
1324: END IF;
1325:
1324: END IF;
1325:
1326: ELSIF IN_tab_flag = 'LAST' THEN
1327:
1328: IF payusunb_pkg.sui_sdi_tax_info3.count < 1 THEN
1329: OPEN c_sui_sdi_info ;
1330: LOOP
1331: FETCH c_sui_sdi_info into lv_state_code,l_sui_ee,l_sui_er,l_sdi_ee,l_sdi_er;
1332: EXIT WHEN c_sui_sdi_info%NOTFOUND;
1329: OPEN c_sui_sdi_info ;
1330: LOOP
1331: FETCH c_sui_sdi_info into lv_state_code,l_sui_ee,l_sui_er,l_sdi_ee,l_sdi_er;
1332: EXIT WHEN c_sui_sdi_info%NOTFOUND;
1333: payusunb_pkg.sui_sdi_tax_info3(lv_state_code).sui_ee_limit := l_sui_ee;
1334: payusunb_pkg.sui_sdi_tax_info3(lv_state_code).sui_er_limit := l_sui_er;
1335: payusunb_pkg.sui_sdi_tax_info3(lv_state_code).sdi_ee_limit := l_sdi_ee;
1336: payusunb_pkg.sui_sdi_tax_info3(lv_state_code).sdi_er_limit := l_sdi_er;
1337: END LOOP;
1330: LOOP
1331: FETCH c_sui_sdi_info into lv_state_code,l_sui_ee,l_sui_er,l_sdi_ee,l_sdi_er;
1332: EXIT WHEN c_sui_sdi_info%NOTFOUND;
1333: payusunb_pkg.sui_sdi_tax_info3(lv_state_code).sui_ee_limit := l_sui_ee;
1334: payusunb_pkg.sui_sdi_tax_info3(lv_state_code).sui_er_limit := l_sui_er;
1335: payusunb_pkg.sui_sdi_tax_info3(lv_state_code).sdi_ee_limit := l_sdi_ee;
1336: payusunb_pkg.sui_sdi_tax_info3(lv_state_code).sdi_er_limit := l_sdi_er;
1337: END LOOP;
1338: CLOSE c_sui_sdi_info ;
1331: FETCH c_sui_sdi_info into lv_state_code,l_sui_ee,l_sui_er,l_sdi_ee,l_sdi_er;
1332: EXIT WHEN c_sui_sdi_info%NOTFOUND;
1333: payusunb_pkg.sui_sdi_tax_info3(lv_state_code).sui_ee_limit := l_sui_ee;
1334: payusunb_pkg.sui_sdi_tax_info3(lv_state_code).sui_er_limit := l_sui_er;
1335: payusunb_pkg.sui_sdi_tax_info3(lv_state_code).sdi_ee_limit := l_sdi_ee;
1336: payusunb_pkg.sui_sdi_tax_info3(lv_state_code).sdi_er_limit := l_sdi_er;
1337: END LOOP;
1338: CLOSE c_sui_sdi_info ;
1339: END IF;
1332: EXIT WHEN c_sui_sdi_info%NOTFOUND;
1333: payusunb_pkg.sui_sdi_tax_info3(lv_state_code).sui_ee_limit := l_sui_ee;
1334: payusunb_pkg.sui_sdi_tax_info3(lv_state_code).sui_er_limit := l_sui_er;
1335: payusunb_pkg.sui_sdi_tax_info3(lv_state_code).sdi_ee_limit := l_sdi_ee;
1336: payusunb_pkg.sui_sdi_tax_info3(lv_state_code).sdi_er_limit := l_sdi_er;
1337: END LOOP;
1338: CLOSE c_sui_sdi_info ;
1339: END IF;
1340:
1337: END LOOP;
1338: CLOSE c_sui_sdi_info ;
1339: END IF;
1340:
1341: IF payusunb_pkg.sui_sdi_tax_info3.exists(IN_state_code) THEN
1342:
1343: IF IN_tax_type = 'SUI' AND IN_ee_or_er = 'EE' THEN
1344: L_return_val := payusunb_pkg.sui_sdi_tax_info3(IN_state_code).sui_ee_limit;
1345: ELSIF IN_tax_type = 'SUI' AND IN_ee_or_er = 'ER' THEN
1340:
1341: IF payusunb_pkg.sui_sdi_tax_info3.exists(IN_state_code) THEN
1342:
1343: IF IN_tax_type = 'SUI' AND IN_ee_or_er = 'EE' THEN
1344: L_return_val := payusunb_pkg.sui_sdi_tax_info3(IN_state_code).sui_ee_limit;
1345: ELSIF IN_tax_type = 'SUI' AND IN_ee_or_er = 'ER' THEN
1346: L_return_val := payusunb_pkg.sui_sdi_tax_info3(IN_state_code).sui_er_limit;
1347: ELSIF IN_tax_type = 'SDI' AND IN_ee_or_er = 'EE' THEN
1348: L_return_val := payusunb_pkg.sui_sdi_tax_info3(IN_state_code).sdi_ee_limit;
1342:
1343: IF IN_tax_type = 'SUI' AND IN_ee_or_er = 'EE' THEN
1344: L_return_val := payusunb_pkg.sui_sdi_tax_info3(IN_state_code).sui_ee_limit;
1345: ELSIF IN_tax_type = 'SUI' AND IN_ee_or_er = 'ER' THEN
1346: L_return_val := payusunb_pkg.sui_sdi_tax_info3(IN_state_code).sui_er_limit;
1347: ELSIF IN_tax_type = 'SDI' AND IN_ee_or_er = 'EE' THEN
1348: L_return_val := payusunb_pkg.sui_sdi_tax_info3(IN_state_code).sdi_ee_limit;
1349: ELSIF IN_tax_type = 'SDI' AND IN_ee_or_er = 'ER' THEN
1350: L_return_val := payusunb_pkg.sui_sdi_tax_info3(IN_state_code).sdi_er_limit;
1344: L_return_val := payusunb_pkg.sui_sdi_tax_info3(IN_state_code).sui_ee_limit;
1345: ELSIF IN_tax_type = 'SUI' AND IN_ee_or_er = 'ER' THEN
1346: L_return_val := payusunb_pkg.sui_sdi_tax_info3(IN_state_code).sui_er_limit;
1347: ELSIF IN_tax_type = 'SDI' AND IN_ee_or_er = 'EE' THEN
1348: L_return_val := payusunb_pkg.sui_sdi_tax_info3(IN_state_code).sdi_ee_limit;
1349: ELSIF IN_tax_type = 'SDI' AND IN_ee_or_er = 'ER' THEN
1350: L_return_val := payusunb_pkg.sui_sdi_tax_info3(IN_state_code).sdi_er_limit;
1351: END IF;
1352:
1346: L_return_val := payusunb_pkg.sui_sdi_tax_info3(IN_state_code).sui_er_limit;
1347: ELSIF IN_tax_type = 'SDI' AND IN_ee_or_er = 'EE' THEN
1348: L_return_val := payusunb_pkg.sui_sdi_tax_info3(IN_state_code).sdi_ee_limit;
1349: ELSIF IN_tax_type = 'SDI' AND IN_ee_or_er = 'ER' THEN
1350: L_return_val := payusunb_pkg.sui_sdi_tax_info3(IN_state_code).sdi_er_limit;
1351: END IF;
1352:
1353: END IF;
1354:
1392: l_futa_credit_rate NUMBER;
1393:
1394: BEGIN
1395:
1396: l_count := payusunb_pkg.futa_credit_info.count;
1397:
1398: OPEN c_get_state_code(IN_sui_state_code);
1399: FETCH c_get_state_code into l_sui_state_code;
1400: CLOSE c_get_state_code;
1404: IF l_count > 0 THEN
1405: For i in 1..l_count
1406: LOOP
1407: hr_utility.trace('IN_sui_state_code : ' || IN_sui_state_code);
1408: IF payusunb_pkg.futa_credit_info.exists(i) THEN
1409: IF payusunb_pkg.futa_credit_info(i).organization_id = IN_organization_id THEN
1410: l_flag := 'T' ;
1411: IF (payusunb_pkg.futa_credit_info(i).sui_state_code = l_sui_state_code) THEN
1412: L_return_val := payusunb_pkg.futa_credit_info(i).futa_credit_rate;
1405: For i in 1..l_count
1406: LOOP
1407: hr_utility.trace('IN_sui_state_code : ' || IN_sui_state_code);
1408: IF payusunb_pkg.futa_credit_info.exists(i) THEN
1409: IF payusunb_pkg.futa_credit_info(i).organization_id = IN_organization_id THEN
1410: l_flag := 'T' ;
1411: IF (payusunb_pkg.futa_credit_info(i).sui_state_code = l_sui_state_code) THEN
1412: L_return_val := payusunb_pkg.futa_credit_info(i).futa_credit_rate;
1413: RETURN nvl(L_return_val,-1);
1407: hr_utility.trace('IN_sui_state_code : ' || IN_sui_state_code);
1408: IF payusunb_pkg.futa_credit_info.exists(i) THEN
1409: IF payusunb_pkg.futa_credit_info(i).organization_id = IN_organization_id THEN
1410: l_flag := 'T' ;
1411: IF (payusunb_pkg.futa_credit_info(i).sui_state_code = l_sui_state_code) THEN
1412: L_return_val := payusunb_pkg.futa_credit_info(i).futa_credit_rate;
1413: RETURN nvl(L_return_val,-1);
1414: END IF;
1415: END IF;
1408: IF payusunb_pkg.futa_credit_info.exists(i) THEN
1409: IF payusunb_pkg.futa_credit_info(i).organization_id = IN_organization_id THEN
1410: l_flag := 'T' ;
1411: IF (payusunb_pkg.futa_credit_info(i).sui_state_code = l_sui_state_code) THEN
1412: L_return_val := payusunb_pkg.futa_credit_info(i).futa_credit_rate;
1413: RETURN nvl(L_return_val,-1);
1414: END IF;
1415: END IF;
1416: END IF; -- exists
1422: l_count := l_count + 1;
1423: FETCH c_get_futa_credit_rt INTO l_futa_state_code,l_futa_credit_rate ;
1424: EXIT WHEN c_get_futa_credit_rt%NOTFOUND;
1425: hr_utility.trace('State_code pupulated : ' || l_futa_state_code);
1426: payusunb_pkg.futa_credit_info(l_count).organization_id := IN_organization_id;
1427: payusunb_pkg.futa_credit_info(l_count).sui_state_code := l_futa_state_code;
1428: payusunb_pkg.futa_credit_info(l_count).futa_credit_rate := NVL(l_futa_credit_rate,-1);
1429: IF l_futa_state_code = l_sui_state_code THEN
1430: L_return_val := nvl(l_futa_credit_rate,-1); -- -1 to check if no override rate is there
1423: FETCH c_get_futa_credit_rt INTO l_futa_state_code,l_futa_credit_rate ;
1424: EXIT WHEN c_get_futa_credit_rt%NOTFOUND;
1425: hr_utility.trace('State_code pupulated : ' || l_futa_state_code);
1426: payusunb_pkg.futa_credit_info(l_count).organization_id := IN_organization_id;
1427: payusunb_pkg.futa_credit_info(l_count).sui_state_code := l_futa_state_code;
1428: payusunb_pkg.futa_credit_info(l_count).futa_credit_rate := NVL(l_futa_credit_rate,-1);
1429: IF l_futa_state_code = l_sui_state_code THEN
1430: L_return_val := nvl(l_futa_credit_rate,-1); -- -1 to check if no override rate is there
1431: END IF;
1424: EXIT WHEN c_get_futa_credit_rt%NOTFOUND;
1425: hr_utility.trace('State_code pupulated : ' || l_futa_state_code);
1426: payusunb_pkg.futa_credit_info(l_count).organization_id := IN_organization_id;
1427: payusunb_pkg.futa_credit_info(l_count).sui_state_code := l_futa_state_code;
1428: payusunb_pkg.futa_credit_info(l_count).futa_credit_rate := NVL(l_futa_credit_rate,-1);
1429: IF l_futa_state_code = l_sui_state_code THEN
1430: L_return_val := nvl(l_futa_credit_rate,-1); -- -1 to check if no override rate is there
1431: END IF;
1432:
1464: lv_state_code VARCHAR2(2);
1465: ln_count NUMBER;
1466:
1467: BEGIN
1468: IF payusunb_pkg.sui_sdi_override_info.count < 1 THEN
1469: hr_utility.trace('Inside the sui_override');
1470: OPEN c_get_sui_sdi_overide_rt ( IN_tax_unit_id );
1471: LOOP
1472: FETCH c_get_sui_sdi_overide_rt INTO lv_state_code,ln_sui_override_rt,ln_sui_dummy_rt,ln_sdi_override_rt ;
1470: OPEN c_get_sui_sdi_overide_rt ( IN_tax_unit_id );
1471: LOOP
1472: FETCH c_get_sui_sdi_overide_rt INTO lv_state_code,ln_sui_override_rt,ln_sui_dummy_rt,ln_sdi_override_rt ;
1473: EXIT WHEN c_get_sui_sdi_overide_rt%NOTFOUND;
1474: payusunb_pkg.sui_sdi_override_info(lv_state_code).sui_override_rate := ln_sui_override_rt;
1475: payusunb_pkg.sui_sdi_override_info(lv_state_code).sui_dummy_rate := ln_sui_dummy_rt;
1476: payusunb_pkg.sui_sdi_override_info(lv_state_code).sdi_override_rate := ln_sdi_override_rt;
1477: END LOOP;
1478: CLOSE c_get_sui_sdi_overide_rt ;
1471: LOOP
1472: FETCH c_get_sui_sdi_overide_rt INTO lv_state_code,ln_sui_override_rt,ln_sui_dummy_rt,ln_sdi_override_rt ;
1473: EXIT WHEN c_get_sui_sdi_overide_rt%NOTFOUND;
1474: payusunb_pkg.sui_sdi_override_info(lv_state_code).sui_override_rate := ln_sui_override_rt;
1475: payusunb_pkg.sui_sdi_override_info(lv_state_code).sui_dummy_rate := ln_sui_dummy_rt;
1476: payusunb_pkg.sui_sdi_override_info(lv_state_code).sdi_override_rate := ln_sdi_override_rt;
1477: END LOOP;
1478: CLOSE c_get_sui_sdi_overide_rt ;
1479: END IF;
1472: FETCH c_get_sui_sdi_overide_rt INTO lv_state_code,ln_sui_override_rt,ln_sui_dummy_rt,ln_sdi_override_rt ;
1473: EXIT WHEN c_get_sui_sdi_overide_rt%NOTFOUND;
1474: payusunb_pkg.sui_sdi_override_info(lv_state_code).sui_override_rate := ln_sui_override_rt;
1475: payusunb_pkg.sui_sdi_override_info(lv_state_code).sui_dummy_rate := ln_sui_dummy_rt;
1476: payusunb_pkg.sui_sdi_override_info(lv_state_code).sdi_override_rate := ln_sdi_override_rt;
1477: END LOOP;
1478: CLOSE c_get_sui_sdi_overide_rt ;
1479: END IF;
1480:
1477: END LOOP;
1478: CLOSE c_get_sui_sdi_overide_rt ;
1479: END IF;
1480:
1481: IF payusunb_pkg.sui_sdi_override_info.exists(IN_state_code) THEN
1482: IF IN_ret_flag = 'C' THEN -- calculated value
1483: L_return_val := payusunb_pkg.sui_sdi_override_info(IN_state_code).sui_override_rate ;
1484: ELSIF IN_ret_flag = 'D' THEN -- Dummy value
1485: L_return_val := payusunb_pkg.sui_sdi_override_info(IN_state_code).sui_dummy_rate ;
1479: END IF;
1480:
1481: IF payusunb_pkg.sui_sdi_override_info.exists(IN_state_code) THEN
1482: IF IN_ret_flag = 'C' THEN -- calculated value
1483: L_return_val := payusunb_pkg.sui_sdi_override_info(IN_state_code).sui_override_rate ;
1484: ELSIF IN_ret_flag = 'D' THEN -- Dummy value
1485: L_return_val := payusunb_pkg.sui_sdi_override_info(IN_state_code).sui_dummy_rate ;
1486: ELSIF IN_ret_flag = 'SDI' THEN -- SDI value
1487: L_return_val := payusunb_pkg.sui_sdi_override_info(IN_state_code).sdi_override_rate ;
1481: IF payusunb_pkg.sui_sdi_override_info.exists(IN_state_code) THEN
1482: IF IN_ret_flag = 'C' THEN -- calculated value
1483: L_return_val := payusunb_pkg.sui_sdi_override_info(IN_state_code).sui_override_rate ;
1484: ELSIF IN_ret_flag = 'D' THEN -- Dummy value
1485: L_return_val := payusunb_pkg.sui_sdi_override_info(IN_state_code).sui_dummy_rate ;
1486: ELSIF IN_ret_flag = 'SDI' THEN -- SDI value
1487: L_return_val := payusunb_pkg.sui_sdi_override_info(IN_state_code).sdi_override_rate ;
1488: END IF;
1489: END IF;
1483: L_return_val := payusunb_pkg.sui_sdi_override_info(IN_state_code).sui_override_rate ;
1484: ELSIF IN_ret_flag = 'D' THEN -- Dummy value
1485: L_return_val := payusunb_pkg.sui_sdi_override_info(IN_state_code).sui_dummy_rate ;
1486: ELSIF IN_ret_flag = 'SDI' THEN -- SDI value
1487: L_return_val := payusunb_pkg.sui_sdi_override_info(IN_state_code).sdi_override_rate ;
1488: END IF;
1489: END IF;
1490: RETURN L_return_val;
1491:
1756: ln_index_code := to_number(lv_temp_code);
1757:
1758:
1759: IF IN_lit = 'CITY' THEN
1760: IF payusunb_pkg.city_tax_info.exists(ln_index_code) THEN
1761: L_tax_flag := payusunb_pkg.city_tax_info(ln_index_code).city_tax_exists;
1762: ELSE
1763: OPEN c_check_city ;
1764: FETCH c_check_city INTO L_city_tax,L_school_tax;
1757:
1758:
1759: IF IN_lit = 'CITY' THEN
1760: IF payusunb_pkg.city_tax_info.exists(ln_index_code) THEN
1761: L_tax_flag := payusunb_pkg.city_tax_info(ln_index_code).city_tax_exists;
1762: ELSE
1763: OPEN c_check_city ;
1764: FETCH c_check_city INTO L_city_tax,L_school_tax;
1765: payusunb_pkg.city_tax_info(ln_index_code).jurisdiction_code := IN_jurisdiction;
1761: L_tax_flag := payusunb_pkg.city_tax_info(ln_index_code).city_tax_exists;
1762: ELSE
1763: OPEN c_check_city ;
1764: FETCH c_check_city INTO L_city_tax,L_school_tax;
1765: payusunb_pkg.city_tax_info(ln_index_code).jurisdiction_code := IN_jurisdiction;
1766: payusunb_pkg.city_tax_info(ln_index_code).city_tax_exists := L_city_tax;
1767: payusunb_pkg.city_tax_info(ln_index_code).city_sd_tax_exists := L_school_tax;
1768: CLOSE c_check_city;
1769: L_tax_flag := payusunb_pkg.city_tax_info(ln_index_code).city_tax_exists;
1762: ELSE
1763: OPEN c_check_city ;
1764: FETCH c_check_city INTO L_city_tax,L_school_tax;
1765: payusunb_pkg.city_tax_info(ln_index_code).jurisdiction_code := IN_jurisdiction;
1766: payusunb_pkg.city_tax_info(ln_index_code).city_tax_exists := L_city_tax;
1767: payusunb_pkg.city_tax_info(ln_index_code).city_sd_tax_exists := L_school_tax;
1768: CLOSE c_check_city;
1769: L_tax_flag := payusunb_pkg.city_tax_info(ln_index_code).city_tax_exists;
1770: END IF;
1763: OPEN c_check_city ;
1764: FETCH c_check_city INTO L_city_tax,L_school_tax;
1765: payusunb_pkg.city_tax_info(ln_index_code).jurisdiction_code := IN_jurisdiction;
1766: payusunb_pkg.city_tax_info(ln_index_code).city_tax_exists := L_city_tax;
1767: payusunb_pkg.city_tax_info(ln_index_code).city_sd_tax_exists := L_school_tax;
1768: CLOSE c_check_city;
1769: L_tax_flag := payusunb_pkg.city_tax_info(ln_index_code).city_tax_exists;
1770: END IF;
1771:
1765: payusunb_pkg.city_tax_info(ln_index_code).jurisdiction_code := IN_jurisdiction;
1766: payusunb_pkg.city_tax_info(ln_index_code).city_tax_exists := L_city_tax;
1767: payusunb_pkg.city_tax_info(ln_index_code).city_sd_tax_exists := L_school_tax;
1768: CLOSE c_check_city;
1769: L_tax_flag := payusunb_pkg.city_tax_info(ln_index_code).city_tax_exists;
1770: END IF;
1771:
1772: ELSIF IN_lit = 'SCHOOL' THEN
1773: IF payusunb_pkg.city_tax_info.exists(ln_index_code) THEN
1769: L_tax_flag := payusunb_pkg.city_tax_info(ln_index_code).city_tax_exists;
1770: END IF;
1771:
1772: ELSIF IN_lit = 'SCHOOL' THEN
1773: IF payusunb_pkg.city_tax_info.exists(ln_index_code) THEN
1774: L_tax_flag := payusunb_pkg.city_tax_info(ln_index_code).city_sd_tax_exists;
1775: ELSE
1776: OPEN c_check_city ;
1777: FETCH c_check_city INTO L_city_tax,L_school_tax;
1770: END IF;
1771:
1772: ELSIF IN_lit = 'SCHOOL' THEN
1773: IF payusunb_pkg.city_tax_info.exists(ln_index_code) THEN
1774: L_tax_flag := payusunb_pkg.city_tax_info(ln_index_code).city_sd_tax_exists;
1775: ELSE
1776: OPEN c_check_city ;
1777: FETCH c_check_city INTO L_city_tax,L_school_tax;
1778: payusunb_pkg.city_tax_info(ln_index_code).jurisdiction_code := IN_jurisdiction;
1774: L_tax_flag := payusunb_pkg.city_tax_info(ln_index_code).city_sd_tax_exists;
1775: ELSE
1776: OPEN c_check_city ;
1777: FETCH c_check_city INTO L_city_tax,L_school_tax;
1778: payusunb_pkg.city_tax_info(ln_index_code).jurisdiction_code := IN_jurisdiction;
1779: payusunb_pkg.city_tax_info(ln_index_code).city_tax_exists := L_city_tax;
1780: payusunb_pkg.city_tax_info(ln_index_code).city_sd_tax_exists := L_school_tax;
1781: CLOSE c_check_city;
1782: L_tax_flag := payusunb_pkg.city_tax_info(ln_index_code).city_sd_tax_exists;
1775: ELSE
1776: OPEN c_check_city ;
1777: FETCH c_check_city INTO L_city_tax,L_school_tax;
1778: payusunb_pkg.city_tax_info(ln_index_code).jurisdiction_code := IN_jurisdiction;
1779: payusunb_pkg.city_tax_info(ln_index_code).city_tax_exists := L_city_tax;
1780: payusunb_pkg.city_tax_info(ln_index_code).city_sd_tax_exists := L_school_tax;
1781: CLOSE c_check_city;
1782: L_tax_flag := payusunb_pkg.city_tax_info(ln_index_code).city_sd_tax_exists;
1783: END IF;
1776: OPEN c_check_city ;
1777: FETCH c_check_city INTO L_city_tax,L_school_tax;
1778: payusunb_pkg.city_tax_info(ln_index_code).jurisdiction_code := IN_jurisdiction;
1779: payusunb_pkg.city_tax_info(ln_index_code).city_tax_exists := L_city_tax;
1780: payusunb_pkg.city_tax_info(ln_index_code).city_sd_tax_exists := L_school_tax;
1781: CLOSE c_check_city;
1782: L_tax_flag := payusunb_pkg.city_tax_info(ln_index_code).city_sd_tax_exists;
1783: END IF;
1784:
1778: payusunb_pkg.city_tax_info(ln_index_code).jurisdiction_code := IN_jurisdiction;
1779: payusunb_pkg.city_tax_info(ln_index_code).city_tax_exists := L_city_tax;
1780: payusunb_pkg.city_tax_info(ln_index_code).city_sd_tax_exists := L_school_tax;
1781: CLOSE c_check_city;
1782: L_tax_flag := payusunb_pkg.city_tax_info(ln_index_code).city_sd_tax_exists;
1783: END IF;
1784:
1785: ELSIF IN_lit = 'COUNTY' THEN
1786: IF payusunb_pkg.county_tax_info.exists(ln_index_code) THEN
1782: L_tax_flag := payusunb_pkg.city_tax_info(ln_index_code).city_sd_tax_exists;
1783: END IF;
1784:
1785: ELSIF IN_lit = 'COUNTY' THEN
1786: IF payusunb_pkg.county_tax_info.exists(ln_index_code) THEN
1787: L_tax_flag := payusunb_pkg.county_tax_info(ln_index_code).cnty_tax_exists;
1788: ELSE
1789: OPEN c_check_county;
1790: FETCH c_check_county INTO L_county_tax,L_school_tax;
1783: END IF;
1784:
1785: ELSIF IN_lit = 'COUNTY' THEN
1786: IF payusunb_pkg.county_tax_info.exists(ln_index_code) THEN
1787: L_tax_flag := payusunb_pkg.county_tax_info(ln_index_code).cnty_tax_exists;
1788: ELSE
1789: OPEN c_check_county;
1790: FETCH c_check_county INTO L_county_tax,L_school_tax;
1791: payusunb_pkg.county_tax_info(ln_index_code).jurisdiction_code := IN_jurisdiction;
1787: L_tax_flag := payusunb_pkg.county_tax_info(ln_index_code).cnty_tax_exists;
1788: ELSE
1789: OPEN c_check_county;
1790: FETCH c_check_county INTO L_county_tax,L_school_tax;
1791: payusunb_pkg.county_tax_info(ln_index_code).jurisdiction_code := IN_jurisdiction;
1792: payusunb_pkg.county_tax_info(ln_index_code).cnty_tax_exists := L_county_tax;
1793: payusunb_pkg.county_tax_info(ln_index_code).cnty_sd_tax_exists := L_school_tax;
1794: CLOSE c_check_county;
1795: L_tax_flag := payusunb_pkg.county_tax_info(ln_index_code).cnty_tax_exists;
1788: ELSE
1789: OPEN c_check_county;
1790: FETCH c_check_county INTO L_county_tax,L_school_tax;
1791: payusunb_pkg.county_tax_info(ln_index_code).jurisdiction_code := IN_jurisdiction;
1792: payusunb_pkg.county_tax_info(ln_index_code).cnty_tax_exists := L_county_tax;
1793: payusunb_pkg.county_tax_info(ln_index_code).cnty_sd_tax_exists := L_school_tax;
1794: CLOSE c_check_county;
1795: L_tax_flag := payusunb_pkg.county_tax_info(ln_index_code).cnty_tax_exists;
1796: END IF;
1789: OPEN c_check_county;
1790: FETCH c_check_county INTO L_county_tax,L_school_tax;
1791: payusunb_pkg.county_tax_info(ln_index_code).jurisdiction_code := IN_jurisdiction;
1792: payusunb_pkg.county_tax_info(ln_index_code).cnty_tax_exists := L_county_tax;
1793: payusunb_pkg.county_tax_info(ln_index_code).cnty_sd_tax_exists := L_school_tax;
1794: CLOSE c_check_county;
1795: L_tax_flag := payusunb_pkg.county_tax_info(ln_index_code).cnty_tax_exists;
1796: END IF;
1797:
1791: payusunb_pkg.county_tax_info(ln_index_code).jurisdiction_code := IN_jurisdiction;
1792: payusunb_pkg.county_tax_info(ln_index_code).cnty_tax_exists := L_county_tax;
1793: payusunb_pkg.county_tax_info(ln_index_code).cnty_sd_tax_exists := L_school_tax;
1794: CLOSE c_check_county;
1795: L_tax_flag := payusunb_pkg.county_tax_info(ln_index_code).cnty_tax_exists;
1796: END IF;
1797:
1798: END IF;
1799:
4618: RAISE;
4619: END prc_process_data;
4620:
4621:
4622: END PAYUSUNB_PKG;