179: g_pay_mx_legislation_info_f g_leg_table;
180:
181:
182: /****************************************************************************
183: Name : HR_UTILITY_TRACE
184: Description : This function prints debug messages during diagnostics mode.
185: *****************************************************************************/
186:
187: PROCEDURE HR_UTILITY_TRACE(trc_data varchar2) IS
183: Name : HR_UTILITY_TRACE
184: Description : This function prints debug messages during diagnostics mode.
185: *****************************************************************************/
186:
187: PROCEDURE HR_UTILITY_TRACE(trc_data varchar2) IS
188: BEGIN
189: IF g_debug THEN
190: hr_utility.trace(trc_data);
191: END IF;
186:
187: PROCEDURE HR_UTILITY_TRACE(trc_data varchar2) IS
188: BEGIN
189: IF g_debug THEN
190: hr_utility.trace(trc_data);
191: END IF;
192: END HR_UTILITY_TRACE;
193:
194:
188: BEGIN
189: IF g_debug THEN
190: hr_utility.trace(trc_data);
191: END IF;
192: END HR_UTILITY_TRACE;
193:
194:
195: /****************************************************************************
196: Name : GET_DEF_BAL_ID
204: l_defined_balance_id NUMBER;
205: l_proc_name VARCHAR2(100);
206: BEGIN
207: l_proc_name := g_proc_name ||'GET_DEF_BAL_ID';
208: hr_utility_trace('Entering '||l_proc_name);
209: SELECT creator_id
210: INTO l_defined_balance_id
211: FROM ff_user_entities
212: WHERE user_entity_name = p_entity_name
286: l_proc_name VARCHAR2(100);
287:
288: BEGIN
289: l_proc_name := g_proc_name ||'GET_RANGE_BASIS_VALUE';
290: hr_utility_trace('Entering '||l_proc_name);
291:
292: IF p_range_basis = 'SAL' THEN
293:
294: RETURN (p_daily_salary);
314: END IF;
315:
316: l_gre_id := hr_mx_utility.get_gre_from_scl (l_scl_id);
317:
318: hr_utility_trace('GRE obtained from SCL = "'||l_gre_id||'"');
319:
320: IF l_gre_id is null THEN
321: l_gre_id := hr_mx_utility.get_gre_from_location(
322: l_location_id,
323: l_business_group_id, -- Bug 4129001
324: l_effective_date,
325: l_is_ambiguous,
326: l_missing_gre);
327: hr_utility_trace('GRE obtained from location = "'||l_gre_id||'"');
328: END IF;
329: /* Obtain (General) Minimum Wage */
330: OPEN csr_get_min_wage (l_gre_id, l_effective_date);
331: FETCH csr_get_min_wage INTO l_min_wage;
329: /* Obtain (General) Minimum Wage */
330: OPEN csr_get_min_wage (l_gre_id, l_effective_date);
331: FETCH csr_get_min_wage INTO l_min_wage;
332: CLOSE csr_get_min_wage;
333: hr_utility_trace('(General) Minimum wage = '||l_min_wage);
334:
335: hr_utility_trace('Leaving '||l_proc_name);
336: RETURN (l_min_wage);
337:
331: FETCH csr_get_min_wage INTO l_min_wage;
332: CLOSE csr_get_min_wage;
333: hr_utility_trace('(General) Minimum wage = '||l_min_wage);
334:
335: hr_utility_trace('Leaving '||l_proc_name);
336: RETURN (l_min_wage);
337:
338: END GET_RANGE_BASIS_VALUE;
339:
411:
412: BEGIN
413:
414: l_proc_name := g_proc_name ||'GET_PARTIAL_SUBJ_EARNINGS';
415: hr_utility_trace('Entering '||l_proc_name);
416:
417: l_counter := 0;
418: l_return_value := 0;
419:
426: FETCH get_ele_class INTO l_classification_id,
427: l_classification_name;
428: EXIT WHEN get_ele_class%NOTFOUND;
429:
430: hr_utility_trace('Element classification name is '
431: ||l_classification_name);
432:
433: IF l_classification_name LIKE '%:Subject to ISR' THEN
434: RETURN (P_EARNINGS_AMT);
576:
577: BEGIN
578:
579: l_proc_name := g_proc_name ||'GET_PARTIAL_SUBJ_EARNINGS';
580: hr_utility_trace('Entering '||l_proc_name);
581:
582: l_counter := 0;
583: l_return_value := 0;
584:
591: FETCH get_ele_class INTO l_classification_id,
592: l_classification_name;
593: EXIT WHEN get_ele_class%NOTFOUND;
594:
595: hr_utility_trace('Element classification name is '
596: ||l_classification_name);
597:
598: IF l_classification_name LIKE '%:Subject to ISR' THEN
599: RETURN (P_EARNINGS_AMT);
741:
742: BEGIN
743:
744: l_proc_name := g_proc_name ||'GET_PARTIAL_SUBJ_EARNINGS';
745: hr_utility_trace('Entering '||l_proc_name);
746:
747: l_counter := 0;
748: l_return_value := 0;
749:
756: FETCH get_ele_class INTO l_classification_id,
757: l_classification_name;
758: EXIT WHEN get_ele_class%NOTFOUND;
759:
760: hr_utility_trace('Element classification name is '
761: ||l_classification_name);
762:
763: IF l_classification_name LIKE '%:Subject to ISR' THEN
764: RETURN (P_EARNINGS_AMT);
951:
952: BEGIN
953:
954: l_proc_name := g_proc_name ||'GET_PARTIAL_SUBJ_EARNINGS';
955: hr_utility_trace('Entering '||l_proc_name);
956:
957: hr_utility_trace('Parameters ....');
958: hr_utility_trace('P_CTX_EFFECTIVE_DATE = '|| P_CTX_EFFECTIVE_DATE);
959: hr_utility_trace('P_CTX_ASSIGNMENT_ACTION_ID = '|| P_CTX_ASSIGNMENT_ACTION_ID);
953:
954: l_proc_name := g_proc_name ||'GET_PARTIAL_SUBJ_EARNINGS';
955: hr_utility_trace('Entering '||l_proc_name);
956:
957: hr_utility_trace('Parameters ....');
958: hr_utility_trace('P_CTX_EFFECTIVE_DATE = '|| P_CTX_EFFECTIVE_DATE);
959: hr_utility_trace('P_CTX_ASSIGNMENT_ACTION_ID = '|| P_CTX_ASSIGNMENT_ACTION_ID);
960: hr_utility_trace('P_CTX_BUSINESS_GROUP_ID = '|| P_CTX_BUSINESS_GROUP_ID);
961: hr_utility_trace('P_CTX_JURISDICTION_CODE = '|| P_CTX_JURISDICTION_CODE);
954: l_proc_name := g_proc_name ||'GET_PARTIAL_SUBJ_EARNINGS';
955: hr_utility_trace('Entering '||l_proc_name);
956:
957: hr_utility_trace('Parameters ....');
958: hr_utility_trace('P_CTX_EFFECTIVE_DATE = '|| P_CTX_EFFECTIVE_DATE);
959: hr_utility_trace('P_CTX_ASSIGNMENT_ACTION_ID = '|| P_CTX_ASSIGNMENT_ACTION_ID);
960: hr_utility_trace('P_CTX_BUSINESS_GROUP_ID = '|| P_CTX_BUSINESS_GROUP_ID);
961: hr_utility_trace('P_CTX_JURISDICTION_CODE = '|| P_CTX_JURISDICTION_CODE);
962: hr_utility_trace('P_CTX_ELEMENT_TYPE_ID = '|| P_CTX_ELEMENT_TYPE_ID);
955: hr_utility_trace('Entering '||l_proc_name);
956:
957: hr_utility_trace('Parameters ....');
958: hr_utility_trace('P_CTX_EFFECTIVE_DATE = '|| P_CTX_EFFECTIVE_DATE);
959: hr_utility_trace('P_CTX_ASSIGNMENT_ACTION_ID = '|| P_CTX_ASSIGNMENT_ACTION_ID);
960: hr_utility_trace('P_CTX_BUSINESS_GROUP_ID = '|| P_CTX_BUSINESS_GROUP_ID);
961: hr_utility_trace('P_CTX_JURISDICTION_CODE = '|| P_CTX_JURISDICTION_CODE);
962: hr_utility_trace('P_CTX_ELEMENT_TYPE_ID = '|| P_CTX_ELEMENT_TYPE_ID);
963: hr_utility_trace('P_TAX_TYPE = '|| P_TAX_TYPE);
956:
957: hr_utility_trace('Parameters ....');
958: hr_utility_trace('P_CTX_EFFECTIVE_DATE = '|| P_CTX_EFFECTIVE_DATE);
959: hr_utility_trace('P_CTX_ASSIGNMENT_ACTION_ID = '|| P_CTX_ASSIGNMENT_ACTION_ID);
960: hr_utility_trace('P_CTX_BUSINESS_GROUP_ID = '|| P_CTX_BUSINESS_GROUP_ID);
961: hr_utility_trace('P_CTX_JURISDICTION_CODE = '|| P_CTX_JURISDICTION_CODE);
962: hr_utility_trace('P_CTX_ELEMENT_TYPE_ID = '|| P_CTX_ELEMENT_TYPE_ID);
963: hr_utility_trace('P_TAX_TYPE = '|| P_TAX_TYPE);
964: hr_utility_trace('P_EARNINGS_AMT = '|| P_EARNINGS_AMT);
957: hr_utility_trace('Parameters ....');
958: hr_utility_trace('P_CTX_EFFECTIVE_DATE = '|| P_CTX_EFFECTIVE_DATE);
959: hr_utility_trace('P_CTX_ASSIGNMENT_ACTION_ID = '|| P_CTX_ASSIGNMENT_ACTION_ID);
960: hr_utility_trace('P_CTX_BUSINESS_GROUP_ID = '|| P_CTX_BUSINESS_GROUP_ID);
961: hr_utility_trace('P_CTX_JURISDICTION_CODE = '|| P_CTX_JURISDICTION_CODE);
962: hr_utility_trace('P_CTX_ELEMENT_TYPE_ID = '|| P_CTX_ELEMENT_TYPE_ID);
963: hr_utility_trace('P_TAX_TYPE = '|| P_TAX_TYPE);
964: hr_utility_trace('P_EARNINGS_AMT = '|| P_EARNINGS_AMT);
965: hr_utility_trace('P_YTD_EARNINGS_AMT = '|| P_YTD_EARNINGS_AMT);
958: hr_utility_trace('P_CTX_EFFECTIVE_DATE = '|| P_CTX_EFFECTIVE_DATE);
959: hr_utility_trace('P_CTX_ASSIGNMENT_ACTION_ID = '|| P_CTX_ASSIGNMENT_ACTION_ID);
960: hr_utility_trace('P_CTX_BUSINESS_GROUP_ID = '|| P_CTX_BUSINESS_GROUP_ID);
961: hr_utility_trace('P_CTX_JURISDICTION_CODE = '|| P_CTX_JURISDICTION_CODE);
962: hr_utility_trace('P_CTX_ELEMENT_TYPE_ID = '|| P_CTX_ELEMENT_TYPE_ID);
963: hr_utility_trace('P_TAX_TYPE = '|| P_TAX_TYPE);
964: hr_utility_trace('P_EARNINGS_AMT = '|| P_EARNINGS_AMT);
965: hr_utility_trace('P_YTD_EARNINGS_AMT = '|| P_YTD_EARNINGS_AMT);
966: hr_utility_trace('P_PTD_EARNINGS_AMT = '|| P_PTD_EARNINGS_AMT);
959: hr_utility_trace('P_CTX_ASSIGNMENT_ACTION_ID = '|| P_CTX_ASSIGNMENT_ACTION_ID);
960: hr_utility_trace('P_CTX_BUSINESS_GROUP_ID = '|| P_CTX_BUSINESS_GROUP_ID);
961: hr_utility_trace('P_CTX_JURISDICTION_CODE = '|| P_CTX_JURISDICTION_CODE);
962: hr_utility_trace('P_CTX_ELEMENT_TYPE_ID = '|| P_CTX_ELEMENT_TYPE_ID);
963: hr_utility_trace('P_TAX_TYPE = '|| P_TAX_TYPE);
964: hr_utility_trace('P_EARNINGS_AMT = '|| P_EARNINGS_AMT);
965: hr_utility_trace('P_YTD_EARNINGS_AMT = '|| P_YTD_EARNINGS_AMT);
966: hr_utility_trace('P_PTD_EARNINGS_AMT = '|| P_PTD_EARNINGS_AMT);
967: hr_utility_trace('P_GROSS_EARNINGS = '|| P_GROSS_EARNINGS);
960: hr_utility_trace('P_CTX_BUSINESS_GROUP_ID = '|| P_CTX_BUSINESS_GROUP_ID);
961: hr_utility_trace('P_CTX_JURISDICTION_CODE = '|| P_CTX_JURISDICTION_CODE);
962: hr_utility_trace('P_CTX_ELEMENT_TYPE_ID = '|| P_CTX_ELEMENT_TYPE_ID);
963: hr_utility_trace('P_TAX_TYPE = '|| P_TAX_TYPE);
964: hr_utility_trace('P_EARNINGS_AMT = '|| P_EARNINGS_AMT);
965: hr_utility_trace('P_YTD_EARNINGS_AMT = '|| P_YTD_EARNINGS_AMT);
966: hr_utility_trace('P_PTD_EARNINGS_AMT = '|| P_PTD_EARNINGS_AMT);
967: hr_utility_trace('P_GROSS_EARNINGS = '|| P_GROSS_EARNINGS);
968: hr_utility_trace('P_YTD_GROSS_EARNINGS = '|| P_YTD_GROSS_EARNINGS);
961: hr_utility_trace('P_CTX_JURISDICTION_CODE = '|| P_CTX_JURISDICTION_CODE);
962: hr_utility_trace('P_CTX_ELEMENT_TYPE_ID = '|| P_CTX_ELEMENT_TYPE_ID);
963: hr_utility_trace('P_TAX_TYPE = '|| P_TAX_TYPE);
964: hr_utility_trace('P_EARNINGS_AMT = '|| P_EARNINGS_AMT);
965: hr_utility_trace('P_YTD_EARNINGS_AMT = '|| P_YTD_EARNINGS_AMT);
966: hr_utility_trace('P_PTD_EARNINGS_AMT = '|| P_PTD_EARNINGS_AMT);
967: hr_utility_trace('P_GROSS_EARNINGS = '|| P_GROSS_EARNINGS);
968: hr_utility_trace('P_YTD_GROSS_EARNINGS = '|| P_YTD_GROSS_EARNINGS);
969: hr_utility_trace('P_DAILY_SALARY = '|| P_DAILY_SALARY);
962: hr_utility_trace('P_CTX_ELEMENT_TYPE_ID = '|| P_CTX_ELEMENT_TYPE_ID);
963: hr_utility_trace('P_TAX_TYPE = '|| P_TAX_TYPE);
964: hr_utility_trace('P_EARNINGS_AMT = '|| P_EARNINGS_AMT);
965: hr_utility_trace('P_YTD_EARNINGS_AMT = '|| P_YTD_EARNINGS_AMT);
966: hr_utility_trace('P_PTD_EARNINGS_AMT = '|| P_PTD_EARNINGS_AMT);
967: hr_utility_trace('P_GROSS_EARNINGS = '|| P_GROSS_EARNINGS);
968: hr_utility_trace('P_YTD_GROSS_EARNINGS = '|| P_YTD_GROSS_EARNINGS);
969: hr_utility_trace('P_DAILY_SALARY = '|| P_DAILY_SALARY);
970: hr_utility_trace('P_CLASSIFICATION_NAME = '|| P_CLASSIFICATION_NAME);
963: hr_utility_trace('P_TAX_TYPE = '|| P_TAX_TYPE);
964: hr_utility_trace('P_EARNINGS_AMT = '|| P_EARNINGS_AMT);
965: hr_utility_trace('P_YTD_EARNINGS_AMT = '|| P_YTD_EARNINGS_AMT);
966: hr_utility_trace('P_PTD_EARNINGS_AMT = '|| P_PTD_EARNINGS_AMT);
967: hr_utility_trace('P_GROSS_EARNINGS = '|| P_GROSS_EARNINGS);
968: hr_utility_trace('P_YTD_GROSS_EARNINGS = '|| P_YTD_GROSS_EARNINGS);
969: hr_utility_trace('P_DAILY_SALARY = '|| P_DAILY_SALARY);
970: hr_utility_trace('P_CLASSIFICATION_NAME = '|| P_CLASSIFICATION_NAME);
971:
964: hr_utility_trace('P_EARNINGS_AMT = '|| P_EARNINGS_AMT);
965: hr_utility_trace('P_YTD_EARNINGS_AMT = '|| P_YTD_EARNINGS_AMT);
966: hr_utility_trace('P_PTD_EARNINGS_AMT = '|| P_PTD_EARNINGS_AMT);
967: hr_utility_trace('P_GROSS_EARNINGS = '|| P_GROSS_EARNINGS);
968: hr_utility_trace('P_YTD_GROSS_EARNINGS = '|| P_YTD_GROSS_EARNINGS);
969: hr_utility_trace('P_DAILY_SALARY = '|| P_DAILY_SALARY);
970: hr_utility_trace('P_CLASSIFICATION_NAME = '|| P_CLASSIFICATION_NAME);
971:
972:
965: hr_utility_trace('P_YTD_EARNINGS_AMT = '|| P_YTD_EARNINGS_AMT);
966: hr_utility_trace('P_PTD_EARNINGS_AMT = '|| P_PTD_EARNINGS_AMT);
967: hr_utility_trace('P_GROSS_EARNINGS = '|| P_GROSS_EARNINGS);
968: hr_utility_trace('P_YTD_GROSS_EARNINGS = '|| P_YTD_GROSS_EARNINGS);
969: hr_utility_trace('P_DAILY_SALARY = '|| P_DAILY_SALARY);
970: hr_utility_trace('P_CLASSIFICATION_NAME = '|| P_CLASSIFICATION_NAME);
971:
972:
973: l_exempt_amount := 0;
966: hr_utility_trace('P_PTD_EARNINGS_AMT = '|| P_PTD_EARNINGS_AMT);
967: hr_utility_trace('P_GROSS_EARNINGS = '|| P_GROSS_EARNINGS);
968: hr_utility_trace('P_YTD_GROSS_EARNINGS = '|| P_YTD_GROSS_EARNINGS);
969: hr_utility_trace('P_DAILY_SALARY = '|| P_DAILY_SALARY);
970: hr_utility_trace('P_CLASSIFICATION_NAME = '|| P_CLASSIFICATION_NAME);
971:
972:
973: l_exempt_amount := 0;
974: l_counter := 0;
991: l_high_range_basis;
992: EXIT WHEN get_exempt_info%NOTFOUND;
993: l_counter := l_counter + 1;
994: IF l_counter > 1 THEN
995: hr_utility.set_message(801, 'PAY_MX_MULTI_TAX_SEC_CLASS');
996: hr_utility.set_message_token(801,
997: 'ELEMENT_TYPE_ID',
998: p_ctx_element_type_id);
999: hr_utility.raise_error;
992: EXIT WHEN get_exempt_info%NOTFOUND;
993: l_counter := l_counter + 1;
994: IF l_counter > 1 THEN
995: hr_utility.set_message(801, 'PAY_MX_MULTI_TAX_SEC_CLASS');
996: hr_utility.set_message_token(801,
997: 'ELEMENT_TYPE_ID',
998: p_ctx_element_type_id);
999: hr_utility.raise_error;
1000: END IF;
995: hr_utility.set_message(801, 'PAY_MX_MULTI_TAX_SEC_CLASS');
996: hr_utility.set_message_token(801,
997: 'ELEMENT_TYPE_ID',
998: p_ctx_element_type_id);
999: hr_utility.raise_error;
1000: END IF;
1001:
1002: hr_utility_trace('l_calc_rule = '|| l_calc_rule);
1003: hr_utility_trace('l_low_exempt_factor = '|| l_low_exempt_factor);
998: p_ctx_element_type_id);
999: hr_utility.raise_error;
1000: END IF;
1001:
1002: hr_utility_trace('l_calc_rule = '|| l_calc_rule);
1003: hr_utility_trace('l_low_exempt_factor = '|| l_low_exempt_factor);
1004: hr_utility_trace('l_low_range_factor = '|| l_low_range_factor);
1005: hr_utility_trace('l_low_range_basis = '|| l_low_range_basis);
1006: hr_utility_trace('l_high_exempt_factor = '|| l_high_exempt_factor);
999: hr_utility.raise_error;
1000: END IF;
1001:
1002: hr_utility_trace('l_calc_rule = '|| l_calc_rule);
1003: hr_utility_trace('l_low_exempt_factor = '|| l_low_exempt_factor);
1004: hr_utility_trace('l_low_range_factor = '|| l_low_range_factor);
1005: hr_utility_trace('l_low_range_basis = '|| l_low_range_basis);
1006: hr_utility_trace('l_high_exempt_factor = '|| l_high_exempt_factor);
1007: hr_utility_trace('l_high_range_factor = '|| l_high_range_factor);
1000: END IF;
1001:
1002: hr_utility_trace('l_calc_rule = '|| l_calc_rule);
1003: hr_utility_trace('l_low_exempt_factor = '|| l_low_exempt_factor);
1004: hr_utility_trace('l_low_range_factor = '|| l_low_range_factor);
1005: hr_utility_trace('l_low_range_basis = '|| l_low_range_basis);
1006: hr_utility_trace('l_high_exempt_factor = '|| l_high_exempt_factor);
1007: hr_utility_trace('l_high_range_factor = '|| l_high_range_factor);
1008: hr_utility_trace('l_high_range_basis = '|| l_high_range_basis);
1001:
1002: hr_utility_trace('l_calc_rule = '|| l_calc_rule);
1003: hr_utility_trace('l_low_exempt_factor = '|| l_low_exempt_factor);
1004: hr_utility_trace('l_low_range_factor = '|| l_low_range_factor);
1005: hr_utility_trace('l_low_range_basis = '|| l_low_range_basis);
1006: hr_utility_trace('l_high_exempt_factor = '|| l_high_exempt_factor);
1007: hr_utility_trace('l_high_range_factor = '|| l_high_range_factor);
1008: hr_utility_trace('l_high_range_basis = '|| l_high_range_basis);
1009:
1002: hr_utility_trace('l_calc_rule = '|| l_calc_rule);
1003: hr_utility_trace('l_low_exempt_factor = '|| l_low_exempt_factor);
1004: hr_utility_trace('l_low_range_factor = '|| l_low_range_factor);
1005: hr_utility_trace('l_low_range_basis = '|| l_low_range_basis);
1006: hr_utility_trace('l_high_exempt_factor = '|| l_high_exempt_factor);
1007: hr_utility_trace('l_high_range_factor = '|| l_high_range_factor);
1008: hr_utility_trace('l_high_range_basis = '|| l_high_range_basis);
1009:
1010: l_index := l_classification_id;
1003: hr_utility_trace('l_low_exempt_factor = '|| l_low_exempt_factor);
1004: hr_utility_trace('l_low_range_factor = '|| l_low_range_factor);
1005: hr_utility_trace('l_low_range_basis = '|| l_low_range_basis);
1006: hr_utility_trace('l_high_exempt_factor = '|| l_high_exempt_factor);
1007: hr_utility_trace('l_high_range_factor = '|| l_high_range_factor);
1008: hr_utility_trace('l_high_range_basis = '|| l_high_range_basis);
1009:
1010: l_index := l_classification_id;
1011:
1004: hr_utility_trace('l_low_range_factor = '|| l_low_range_factor);
1005: hr_utility_trace('l_low_range_basis = '|| l_low_range_basis);
1006: hr_utility_trace('l_high_exempt_factor = '|| l_high_exempt_factor);
1007: hr_utility_trace('l_high_range_factor = '|| l_high_range_factor);
1008: hr_utility_trace('l_high_range_basis = '|| l_high_range_basis);
1009:
1010: l_index := l_classification_id;
1011:
1012: IF p_classification_name IN
1051: CLOSE get_days_per_period;
1052:
1053: END IF;
1054:
1055: hr_utility_trace('Days per period of payroll = '||l_days);
1056:
1057: l_earnings_amt := g_isr_balances(l_index).earnings_amt;
1058:
1059: OPEN get_person_id( ln_assignment_id, p_ctx_effective_date);
1244:
1245: g_isr_balances(l_index).exempt_amt :=
1246: nvl(g_isr_balances(l_index).exempt_amt, 0) + l_exempt_amount;
1247:
1248: hr_utility_trace('Subject amount for ' ||
1249: p_classification_name || ' = ' ||
1250: to_char(l_sf_earnings - l_exempt_amount)
1251: );
1252:
1249: p_classification_name || ' = ' ||
1250: to_char(l_sf_earnings - l_exempt_amount)
1251: );
1252:
1253: hr_utility_trace('Leaving '||l_proc_name);
1254:
1255: -- Return the subject amount.
1256: RETURN (l_sf_earnings - l_exempt_amount);
1257:
1269: NVL(g_isr_balances(l_index).exempt_amt, 0) + l_exempt_amount;
1270:
1271: END IF;
1272: --
1273: hr_utility_trace('Subject amount for ' ||
1274: p_classification_name || ' = ' ||
1275: TO_CHAR(p_earnings_amt - l_exempt_amount)
1276: );
1277:
1274: p_classification_name || ' = ' ||
1275: TO_CHAR(p_earnings_amt - l_exempt_amount)
1276: );
1277:
1278: hr_utility_trace('Leaving '||l_proc_name);
1279: --
1280: IF p_earnings_amt >= l_exempt_amount THEN
1281:
1282: RETURN (p_earnings_amt - l_exempt_amount);
1340:
1341: BEGIN
1342:
1343: l_proc_name := g_proc_name ||'GET_PREVIOUS_PERIOD_BAL';
1344: hr_utility_trace('Entering '||l_proc_name);
1345:
1346: l_balance_value := 0;
1347: OPEN get_previous_assact;
1348: FETCH get_previous_assact INTO l_prev_assact;
1347: OPEN get_previous_assact;
1348: FETCH get_previous_assact INTO l_prev_assact;
1349: CLOSE get_previous_assact;
1350:
1351: hr_utility_trace('Previous assignment action id = '||l_prev_assact);
1352:
1353: IF l_prev_assact IS NOT NULL THEN /* Bug 4283490 */
1354: l_counter := 1;
1355:
1362: p_get_rb_route => FALSE);
1363: l_balance_value := l_balance_value_tab(1).balance_value;
1364: END IF;
1365:
1366: hr_utility_trace('Return value = '||l_balance_value);
1367: hr_utility_trace('Leaving '||l_proc_name);
1368:
1369: RETURN (l_balance_value);
1370:
1363: l_balance_value := l_balance_value_tab(1).balance_value;
1364: END IF;
1365:
1366: hr_utility_trace('Return value = '||l_balance_value);
1367: hr_utility_trace('Leaving '||l_proc_name);
1368:
1369: RETURN (l_balance_value);
1370:
1371: END GET_PREVIOUS_PERIOD_BAL;
1421: lv_jurisdiction pay_mx_legislation_info_f.jurisdiction_code%type;
1422: lv_legislation_info_type pay_mx_legislation_info_f.legislation_info_type%type;
1423: BEGIN
1424: l_proc_name := g_proc_name ||'GET_MX_TAX_INFO';
1425: hr_utility_trace('Entering '||l_proc_name);
1426: l_exists := FALSE;
1427: cntr := g_pay_mx_legislation_info_f.count();
1428: hr_utility_trace('Number of cached legislative tax info records = '||cntr);
1429:
1424: l_proc_name := g_proc_name ||'GET_MX_TAX_INFO';
1425: hr_utility_trace('Entering '||l_proc_name);
1426: l_exists := FALSE;
1427: cntr := g_pay_mx_legislation_info_f.count();
1428: hr_utility_trace('Number of cached legislative tax info records = '||cntr);
1429:
1430: IF cntr > 0 THEN /* Check if legislation info exists in cache. */
1431: FOR cntr IN g_pay_mx_legislation_info_f.first()..g_pay_mx_legislation_info_f.last()
1432: LOOP
1443:
1444: THEN
1445:
1446: l_exists := TRUE;
1447: hr_utility_trace ('Retrieving legislative tax info from cache.');
1448: /* Copy cache onto out parameters */
1449: p_legislation_info1 := g_pay_mx_legislation_info_f(cntr).legislation_info1;
1450: p_legislation_info2 := g_pay_mx_legislation_info_f(cntr).legislation_info2;
1451: p_legislation_info3 := g_pay_mx_legislation_info_f(cntr).legislation_info3;
1463: cntr := g_pay_mx_legislation_info_f.last() + 1;
1464: ELSE
1465: cntr := 1;
1466: END IF;
1467: hr_utility_trace ('Legislative tax info not found in cache. Hitting database now.');
1468:
1469: OPEN csr_get_ss_info;
1470: FETCH csr_get_ss_info
1471: INTO g_pay_mx_legislation_info_f(cntr).effective_start_date,
1501:
1502: -- Bug 4656174
1503: IF p_legislation_info_type = 'MX Social Security Information' THEN
1504: IF p_legislation_info1 = 'WRI' THEN
1505: hr_utility_trace('Hitting database for WRIP');
1506: OPEN csr_get_ss_info;
1507: FETCH csr_get_ss_info
1508: INTO ld_start_date,
1509: ld_end_date,
1522: p_tax_unit_id => p_ctx_tax_unit_id);
1523: END IF;
1524: END IF;
1525:
1526: hr_utility_trace('p_legislation_info_type = '||p_legislation_info_type);
1527: hr_utility_trace('p_legislation_info1 = ' ||p_legislation_info1);
1528: hr_utility_trace('p_legislation_info2 = ' ||p_legislation_info2);
1529: hr_utility_trace('p_legislation_info3 = ' ||p_legislation_info3);
1530: hr_utility_trace('p_legislation_info4 = ' ||p_legislation_info4);
1523: END IF;
1524: END IF;
1525:
1526: hr_utility_trace('p_legislation_info_type = '||p_legislation_info_type);
1527: hr_utility_trace('p_legislation_info1 = ' ||p_legislation_info1);
1528: hr_utility_trace('p_legislation_info2 = ' ||p_legislation_info2);
1529: hr_utility_trace('p_legislation_info3 = ' ||p_legislation_info3);
1530: hr_utility_trace('p_legislation_info4 = ' ||p_legislation_info4);
1531: hr_utility_trace('p_legislation_info5 = ' ||p_legislation_info5);
1524: END IF;
1525:
1526: hr_utility_trace('p_legislation_info_type = '||p_legislation_info_type);
1527: hr_utility_trace('p_legislation_info1 = ' ||p_legislation_info1);
1528: hr_utility_trace('p_legislation_info2 = ' ||p_legislation_info2);
1529: hr_utility_trace('p_legislation_info3 = ' ||p_legislation_info3);
1530: hr_utility_trace('p_legislation_info4 = ' ||p_legislation_info4);
1531: hr_utility_trace('p_legislation_info5 = ' ||p_legislation_info5);
1532: hr_utility_trace('p_legislation_info6 = ' ||p_legislation_info6);
1525:
1526: hr_utility_trace('p_legislation_info_type = '||p_legislation_info_type);
1527: hr_utility_trace('p_legislation_info1 = ' ||p_legislation_info1);
1528: hr_utility_trace('p_legislation_info2 = ' ||p_legislation_info2);
1529: hr_utility_trace('p_legislation_info3 = ' ||p_legislation_info3);
1530: hr_utility_trace('p_legislation_info4 = ' ||p_legislation_info4);
1531: hr_utility_trace('p_legislation_info5 = ' ||p_legislation_info5);
1532: hr_utility_trace('p_legislation_info6 = ' ||p_legislation_info6);
1533:
1526: hr_utility_trace('p_legislation_info_type = '||p_legislation_info_type);
1527: hr_utility_trace('p_legislation_info1 = ' ||p_legislation_info1);
1528: hr_utility_trace('p_legislation_info2 = ' ||p_legislation_info2);
1529: hr_utility_trace('p_legislation_info3 = ' ||p_legislation_info3);
1530: hr_utility_trace('p_legislation_info4 = ' ||p_legislation_info4);
1531: hr_utility_trace('p_legislation_info5 = ' ||p_legislation_info5);
1532: hr_utility_trace('p_legislation_info6 = ' ||p_legislation_info6);
1533:
1534: hr_utility_trace('Leaving '||l_proc_name);
1527: hr_utility_trace('p_legislation_info1 = ' ||p_legislation_info1);
1528: hr_utility_trace('p_legislation_info2 = ' ||p_legislation_info2);
1529: hr_utility_trace('p_legislation_info3 = ' ||p_legislation_info3);
1530: hr_utility_trace('p_legislation_info4 = ' ||p_legislation_info4);
1531: hr_utility_trace('p_legislation_info5 = ' ||p_legislation_info5);
1532: hr_utility_trace('p_legislation_info6 = ' ||p_legislation_info6);
1533:
1534: hr_utility_trace('Leaving '||l_proc_name);
1535: RETURN(0);
1528: hr_utility_trace('p_legislation_info2 = ' ||p_legislation_info2);
1529: hr_utility_trace('p_legislation_info3 = ' ||p_legislation_info3);
1530: hr_utility_trace('p_legislation_info4 = ' ||p_legislation_info4);
1531: hr_utility_trace('p_legislation_info5 = ' ||p_legislation_info5);
1532: hr_utility_trace('p_legislation_info6 = ' ||p_legislation_info6);
1533:
1534: hr_utility_trace('Leaving '||l_proc_name);
1535: RETURN(0);
1536: EXCEPTION WHEN OTHERS THEN
1530: hr_utility_trace('p_legislation_info4 = ' ||p_legislation_info4);
1531: hr_utility_trace('p_legislation_info5 = ' ||p_legislation_info5);
1532: hr_utility_trace('p_legislation_info6 = ' ||p_legislation_info6);
1533:
1534: hr_utility_trace('Leaving '||l_proc_name);
1535: RETURN(0);
1536: EXCEPTION WHEN OTHERS THEN
1537: g_pay_mx_legislation_info_f.DELETE();
1538: RAISE;
1558: BEGIN
1559:
1560: l_proc_name := g_proc_name || 'GET_MX_EE_HEAD_COUNT';
1561:
1562: hr_utility_trace('Entering ' || l_proc_name);
1563:
1564: l_legal_employer_name := hr_general.decode_organization(
1565: hr_mx_utility.get_legal_employer(
1566: p_ctx_business_group_id,
1566: p_ctx_business_group_id,
1567: p_ctx_tax_unit_id)
1568: );
1569:
1570: hr_utility_trace('Legal Employer Name: ' || l_legal_employer_name);
1571:
1572: l_row_name := l_legal_employer_name || ' (' ||
1573: p_ctx_jurisdiction_code || ')';
1574:
1621: BEGIN
1622:
1623: l_proc_name := g_proc_name || 'GET_MX_STATE_TAX_RULES';
1624:
1625: hr_utility_trace('Entering ' || l_proc_name);
1626:
1627: l_legal_er_id := hr_mx_utility.get_legal_employer(p_ctx_business_group_id,
1628: p_ctx_tax_unit_id);
1629:
1630: OPEN c_get_rate_data(l_legal_er_id);
1631: FETCH c_get_rate_data INTO l_return_value;
1632: CLOSE c_get_rate_data;
1633:
1634: hr_utility_trace('Leaving ' || l_proc_name);
1635:
1636: RETURN (l_return_value);
1637:
1638: END GET_MX_STATE_TAX_RULES;
1681: l_proc_name VARCHAR2(100);
1682: ln_isr NUMBER;
1683: BEGIN
1684: l_proc_name := g_proc_name ||'CALCULATE_ISR_TAX-2';
1685: hr_utility_trace('Entering '||l_proc_name);
1686:
1687: ln_isr := pay_mx_tax_functions.calculate_isr_tax(
1688: p_payroll_action_id => P_PAYROLL_ACTION_ID,
1689: p_assignment_action_id => P_ASSIGNMENT_ACTION_ID,
1701: p_isr_non_creditable_subsidy => p_isr_non_creditable_subsidy,
1702: p_credit_to_salary => p_credit_to_salary,
1703: p_credit_to_salary_paid => p_credit_to_salary_paid);
1704:
1705: hr_utility_trace('ISR = ' || ln_isr);
1706: hr_utility_trace('Leaving '||l_proc_name);
1707: RETURN (ln_isr);
1708: END CALCULATE_ISR_TAX;
1709:
1702: p_credit_to_salary => p_credit_to_salary,
1703: p_credit_to_salary_paid => p_credit_to_salary_paid);
1704:
1705: hr_utility_trace('ISR = ' || ln_isr);
1706: hr_utility_trace('Leaving '||l_proc_name);
1707: RETURN (ln_isr);
1708: END CALCULATE_ISR_TAX;
1709:
1710:
1879:
1880:
1881: BEGIN
1882: l_proc_name := g_proc_name ||'CALCULATE_ISR_TAX';
1883: hr_utility_trace('Entering '||l_proc_name);
1884: hr_utility_trace('p_payroll_action_id: '||p_payroll_action_id);
1885: hr_utility_trace('p_assignment_action_id: '||p_assignment_action_id);
1886: hr_utility_trace('p_business_group_id: '||p_business_group_id);
1887: hr_utility_trace('p_assignment_id: '||p_assignment_id);
1880:
1881: BEGIN
1882: l_proc_name := g_proc_name ||'CALCULATE_ISR_TAX';
1883: hr_utility_trace('Entering '||l_proc_name);
1884: hr_utility_trace('p_payroll_action_id: '||p_payroll_action_id);
1885: hr_utility_trace('p_assignment_action_id: '||p_assignment_action_id);
1886: hr_utility_trace('p_business_group_id: '||p_business_group_id);
1887: hr_utility_trace('p_assignment_id: '||p_assignment_id);
1888: hr_utility_trace('p_tax_unit_id: '||p_tax_unit_id);
1881: BEGIN
1882: l_proc_name := g_proc_name ||'CALCULATE_ISR_TAX';
1883: hr_utility_trace('Entering '||l_proc_name);
1884: hr_utility_trace('p_payroll_action_id: '||p_payroll_action_id);
1885: hr_utility_trace('p_assignment_action_id: '||p_assignment_action_id);
1886: hr_utility_trace('p_business_group_id: '||p_business_group_id);
1887: hr_utility_trace('p_assignment_id: '||p_assignment_id);
1888: hr_utility_trace('p_tax_unit_id: '||p_tax_unit_id);
1889: hr_utility_trace('p_date_earned: '||
1882: l_proc_name := g_proc_name ||'CALCULATE_ISR_TAX';
1883: hr_utility_trace('Entering '||l_proc_name);
1884: hr_utility_trace('p_payroll_action_id: '||p_payroll_action_id);
1885: hr_utility_trace('p_assignment_action_id: '||p_assignment_action_id);
1886: hr_utility_trace('p_business_group_id: '||p_business_group_id);
1887: hr_utility_trace('p_assignment_id: '||p_assignment_id);
1888: hr_utility_trace('p_tax_unit_id: '||p_tax_unit_id);
1889: hr_utility_trace('p_date_earned: '||
1890: fnd_date.date_to_canonical(p_date_earned));
1883: hr_utility_trace('Entering '||l_proc_name);
1884: hr_utility_trace('p_payroll_action_id: '||p_payroll_action_id);
1885: hr_utility_trace('p_assignment_action_id: '||p_assignment_action_id);
1886: hr_utility_trace('p_business_group_id: '||p_business_group_id);
1887: hr_utility_trace('p_assignment_id: '||p_assignment_id);
1888: hr_utility_trace('p_tax_unit_id: '||p_tax_unit_id);
1889: hr_utility_trace('p_date_earned: '||
1890: fnd_date.date_to_canonical(p_date_earned));
1891: hr_utility_trace('p_calc_mode: '||p_calc_mode);
1884: hr_utility_trace('p_payroll_action_id: '||p_payroll_action_id);
1885: hr_utility_trace('p_assignment_action_id: '||p_assignment_action_id);
1886: hr_utility_trace('p_business_group_id: '||p_business_group_id);
1887: hr_utility_trace('p_assignment_id: '||p_assignment_id);
1888: hr_utility_trace('p_tax_unit_id: '||p_tax_unit_id);
1889: hr_utility_trace('p_date_earned: '||
1890: fnd_date.date_to_canonical(p_date_earned));
1891: hr_utility_trace('p_calc_mode: '||p_calc_mode);
1892: hr_utility_trace('p_subject_amount: '||p_subject_amount);
1885: hr_utility_trace('p_assignment_action_id: '||p_assignment_action_id);
1886: hr_utility_trace('p_business_group_id: '||p_business_group_id);
1887: hr_utility_trace('p_assignment_id: '||p_assignment_id);
1888: hr_utility_trace('p_tax_unit_id: '||p_tax_unit_id);
1889: hr_utility_trace('p_date_earned: '||
1890: fnd_date.date_to_canonical(p_date_earned));
1891: hr_utility_trace('p_calc_mode: '||p_calc_mode);
1892: hr_utility_trace('p_subject_amount: '||p_subject_amount);
1893: hr_utility_trace('p_isr_rates_table: '||p_isr_rates_table);
1887: hr_utility_trace('p_assignment_id: '||p_assignment_id);
1888: hr_utility_trace('p_tax_unit_id: '||p_tax_unit_id);
1889: hr_utility_trace('p_date_earned: '||
1890: fnd_date.date_to_canonical(p_date_earned));
1891: hr_utility_trace('p_calc_mode: '||p_calc_mode);
1892: hr_utility_trace('p_subject_amount: '||p_subject_amount);
1893: hr_utility_trace('p_isr_rates_table: '||p_isr_rates_table);
1894: hr_utility_trace('p_subsidy_table: '||p_subsidy_table);
1895: hr_utility_trace('p_credit_to_salary_table: '||p_credit_to_salary_table);
1888: hr_utility_trace('p_tax_unit_id: '||p_tax_unit_id);
1889: hr_utility_trace('p_date_earned: '||
1890: fnd_date.date_to_canonical(p_date_earned));
1891: hr_utility_trace('p_calc_mode: '||p_calc_mode);
1892: hr_utility_trace('p_subject_amount: '||p_subject_amount);
1893: hr_utility_trace('p_isr_rates_table: '||p_isr_rates_table);
1894: hr_utility_trace('p_subsidy_table: '||p_subsidy_table);
1895: hr_utility_trace('p_credit_to_salary_table: '||p_credit_to_salary_table);
1896: hr_utility_trace('l_credit_to_salary_table: '||l_credit_to_salary_table);
1889: hr_utility_trace('p_date_earned: '||
1890: fnd_date.date_to_canonical(p_date_earned));
1891: hr_utility_trace('p_calc_mode: '||p_calc_mode);
1892: hr_utility_trace('p_subject_amount: '||p_subject_amount);
1893: hr_utility_trace('p_isr_rates_table: '||p_isr_rates_table);
1894: hr_utility_trace('p_subsidy_table: '||p_subsidy_table);
1895: hr_utility_trace('p_credit_to_salary_table: '||p_credit_to_salary_table);
1896: hr_utility_trace('l_credit_to_salary_table: '||l_credit_to_salary_table);
1897:
1890: fnd_date.date_to_canonical(p_date_earned));
1891: hr_utility_trace('p_calc_mode: '||p_calc_mode);
1892: hr_utility_trace('p_subject_amount: '||p_subject_amount);
1893: hr_utility_trace('p_isr_rates_table: '||p_isr_rates_table);
1894: hr_utility_trace('p_subsidy_table: '||p_subsidy_table);
1895: hr_utility_trace('p_credit_to_salary_table: '||p_credit_to_salary_table);
1896: hr_utility_trace('l_credit_to_salary_table: '||l_credit_to_salary_table);
1897:
1898: ln_ISR_proj_subject := p_subject_amount;
1891: hr_utility_trace('p_calc_mode: '||p_calc_mode);
1892: hr_utility_trace('p_subject_amount: '||p_subject_amount);
1893: hr_utility_trace('p_isr_rates_table: '||p_isr_rates_table);
1894: hr_utility_trace('p_subsidy_table: '||p_subsidy_table);
1895: hr_utility_trace('p_credit_to_salary_table: '||p_credit_to_salary_table);
1896: hr_utility_trace('l_credit_to_salary_table: '||l_credit_to_salary_table);
1897:
1898: ln_ISR_proj_subject := p_subject_amount;
1899:
1892: hr_utility_trace('p_subject_amount: '||p_subject_amount);
1893: hr_utility_trace('p_isr_rates_table: '||p_isr_rates_table);
1894: hr_utility_trace('p_subsidy_table: '||p_subsidy_table);
1895: hr_utility_trace('p_credit_to_salary_table: '||p_credit_to_salary_table);
1896: hr_utility_trace('l_credit_to_salary_table: '||l_credit_to_salary_table);
1897:
1898: ln_ISR_proj_subject := p_subject_amount;
1899:
1900: OPEN csr_date_earned;
1900: OPEN csr_date_earned;
1901: FETCH csr_date_earned INTO l_date_paid, l_date_earned;
1902: CLOSE csr_date_earned;
1903:
1904: hr_utility_trace('l_date_earned: '||l_date_earned);
1905: hr_utility_trace('l_date_paid: '||l_date_paid);
1906:
1907: --Start of Bug Fix 6852627
1908: /*Calculation for Proration*/
1901: FETCH csr_date_earned INTO l_date_paid, l_date_earned;
1902: CLOSE csr_date_earned;
1903:
1904: hr_utility_trace('l_date_earned: '||l_date_earned);
1905: hr_utility_trace('l_date_paid: '||l_date_paid);
1906:
1907: --Start of Bug Fix 6852627
1908: /*Calculation for Proration*/
1909: OPEN csr_get_payroll_id;
1908: /*Calculation for Proration*/
1909: OPEN csr_get_payroll_id;
1910: FETCH csr_get_payroll_id INTO ln_payroll_id,ld_hire_date;
1911: CLOSE csr_get_payroll_id;
1912: hr_utility_trace('payroll_id '||ln_payroll_id);
1913: hr_utility_trace('Getting the actual number of days in pay period ...');
1914:
1915: OPEN csr_get_no_of_days_in_period(ln_payroll_id);
1916: FETCH csr_get_no_of_days_in_period INTO ln_days_in_a_period;
1909: OPEN csr_get_payroll_id;
1910: FETCH csr_get_payroll_id INTO ln_payroll_id,ld_hire_date;
1911: CLOSE csr_get_payroll_id;
1912: hr_utility_trace('payroll_id '||ln_payroll_id);
1913: hr_utility_trace('Getting the actual number of days in pay period ...');
1914:
1915: OPEN csr_get_no_of_days_in_period(ln_payroll_id);
1916: FETCH csr_get_no_of_days_in_period INTO ln_days_in_a_period;
1917: CLOSE csr_get_no_of_days_in_period;
1915: OPEN csr_get_no_of_days_in_period(ln_payroll_id);
1916: FETCH csr_get_no_of_days_in_period INTO ln_days_in_a_period;
1917: CLOSE csr_get_no_of_days_in_period;
1918:
1919: hr_utility_trace('Number of days in the pay period : '||ln_days_in_a_period);
1920:
1921: hr_utility_trace('Getting the total number of days in pay period as deifned in GRE/LE...');
1922:
1923: ln_le_id := hr_mx_utility.get_legal_employer(
1917: CLOSE csr_get_no_of_days_in_period;
1918:
1919: hr_utility_trace('Number of days in the pay period : '||ln_days_in_a_period);
1920:
1921: hr_utility_trace('Getting the total number of days in pay period as deifned in GRE/LE...');
1922:
1923: ln_le_id := hr_mx_utility.get_legal_employer(
1924: p_business_group_id => p_business_group_id
1925: ,p_tax_unit_id => p_tax_unit_id);
1936:
1937: /*ln_pay_period_days := pay_mx_utility.get_days_in_pay_period( p_business_group_id
1938: ,p_tax_unit_id
1939: ,ln_payroll_id);*/
1940: hr_utility_trace('Average days in the month at LE :'||to_char(ln_le_days_month));
1941:
1942: OPEN csr_def_bal_id ('ISR Non Working Days','_ASG_GRE_RUN');
1943: FETCH csr_def_bal_id INTO ln_def_bal_id;
1944: CLOSE csr_def_bal_id;
1942: OPEN csr_def_bal_id ('ISR Non Working Days','_ASG_GRE_RUN');
1943: FETCH csr_def_bal_id INTO ln_def_bal_id;
1944: CLOSE csr_def_bal_id;
1945:
1946: hr_utility_trace('ISR Non Working Days def bal id '||to_char(ln_def_bal_id));
1947: ln_bal_ISR_non_wrkd_days := pay_balance_pkg.get_value(ln_def_bal_id,
1948: p_assignment_action_id,
1949: p_tax_unit_id,
1950: NULL,
1953: NULL,
1954: NULL,
1955: NULL,
1956: 'TRUE');
1957: hr_utility_trace('ISR Non Working Days Bal Val '||to_char(ln_bal_ISR_non_wrkd_days));
1958:
1959: hr_utility_trace('Get the factor for proration ln_le_days_month/ln_days_in_a_period ..');
1960: ln_isr_prop_fact := ln_le_days_month/ln_days_in_a_period;
1961: hr_utility_trace('ln_isr_prop_fact :' || TO_CHAR(ln_isr_prop_fact));
1955: NULL,
1956: 'TRUE');
1957: hr_utility_trace('ISR Non Working Days Bal Val '||to_char(ln_bal_ISR_non_wrkd_days));
1958:
1959: hr_utility_trace('Get the factor for proration ln_le_days_month/ln_days_in_a_period ..');
1960: ln_isr_prop_fact := ln_le_days_month/ln_days_in_a_period;
1961: hr_utility_trace('ln_isr_prop_fact :' || TO_CHAR(ln_isr_prop_fact));
1962:
1963: hr_utility_trace('getting worked days.. ');
1957: hr_utility_trace('ISR Non Working Days Bal Val '||to_char(ln_bal_ISR_non_wrkd_days));
1958:
1959: hr_utility_trace('Get the factor for proration ln_le_days_month/ln_days_in_a_period ..');
1960: ln_isr_prop_fact := ln_le_days_month/ln_days_in_a_period;
1961: hr_utility_trace('ln_isr_prop_fact :' || TO_CHAR(ln_isr_prop_fact));
1962:
1963: hr_utility_trace('getting worked days.. ');
1964: ln_worked_days := ln_days_in_a_period - nvl(ln_bal_ISR_non_wrkd_days,0);
1965:
1959: hr_utility_trace('Get the factor for proration ln_le_days_month/ln_days_in_a_period ..');
1960: ln_isr_prop_fact := ln_le_days_month/ln_days_in_a_period;
1961: hr_utility_trace('ln_isr_prop_fact :' || TO_CHAR(ln_isr_prop_fact));
1962:
1963: hr_utility_trace('getting worked days.. ');
1964: ln_worked_days := ln_days_in_a_period - nvl(ln_bal_ISR_non_wrkd_days,0);
1965:
1966: ln_le_worked_days := (ln_le_days_month - (nvl(ln_bal_ISR_non_wrkd_days,0) * ln_isr_prop_fact)) ;
1967:
1964: ln_worked_days := ln_days_in_a_period - nvl(ln_bal_ISR_non_wrkd_days,0);
1965:
1966: ln_le_worked_days := (ln_le_days_month - (nvl(ln_bal_ISR_non_wrkd_days,0) * ln_isr_prop_fact)) ;
1967:
1968: hr_utility_trace('Actual worked days in the period for ISR Tax '||to_char(ln_worked_days));
1969: hr_utility_trace('worked days for proration in the period for ISR Tax '||to_char(ln_le_worked_days));
1970: --End of Bug Fix 6852627
1971: IF to_char(l_date_paid,'yyyymmdd')
1972: >= to_char(fnd_date.canonical_to_date('2008/01/01'),'yyyymmdd') AND P_CALC_MODE = 'ARTICLE113' THEN
1965:
1966: ln_le_worked_days := (ln_le_days_month - (nvl(ln_bal_ISR_non_wrkd_days,0) * ln_isr_prop_fact)) ;
1967:
1968: hr_utility_trace('Actual worked days in the period for ISR Tax '||to_char(ln_worked_days));
1969: hr_utility_trace('worked days for proration in the period for ISR Tax '||to_char(ln_le_worked_days));
1970: --End of Bug Fix 6852627
1971: IF to_char(l_date_paid,'yyyymmdd')
1972: >= to_char(fnd_date.canonical_to_date('2008/01/01'),'yyyymmdd') AND P_CALC_MODE = 'ARTICLE113' THEN
1973: hr_utility_trace('ISr Proration in 2008');
1969: hr_utility_trace('worked days for proration in the period for ISR Tax '||to_char(ln_le_worked_days));
1970: --End of Bug Fix 6852627
1971: IF to_char(l_date_paid,'yyyymmdd')
1972: >= to_char(fnd_date.canonical_to_date('2008/01/01'),'yyyymmdd') AND P_CALC_MODE = 'ARTICLE113' THEN
1973: hr_utility_trace('ISr Proration in 2008');
1974: IF nvl(ln_bal_ISR_non_wrkd_days,0) > 0 AND nvl(ln_bal_ISR_non_wrkd_days,0) < ln_days_in_a_period THEN
1975:
1976: ln_ISR_proj_subject := ROUND(((ln_ISR_proj_subject * ln_le_days_month) / ln_le_worked_days),2);
1977:
1974: IF nvl(ln_bal_ISR_non_wrkd_days,0) > 0 AND nvl(ln_bal_ISR_non_wrkd_days,0) < ln_days_in_a_period THEN
1975:
1976: ln_ISR_proj_subject := ROUND(((ln_ISR_proj_subject * ln_le_days_month) / ln_le_worked_days),2);
1977:
1978: hr_utility_trace('ISR Projected value in the pay period '||to_char(ln_ISR_proj_subject));
1979: END IF;
1980:
1981: END IF;
1982:
1979: END IF;
1980:
1981: END IF;
1982:
1983: hr_utility_trace('Final Subject amount after proration: '||ln_ISR_proj_subject);
1984: /* Article 113, 114 and 115 */
1985:
1986: ln_fixed_rate := FND_NUMBER.canonical_to_number(hruserdt.get_table_value (
1987: p_business_group_id
1988: ,p_isr_rates_table
1989: ,'Fixed Rate'
1990: ,TO_CHAR(ln_ISR_proj_subject)));
1991:
1992: hr_utility_trace('ln_fixed_rate: '||ln_fixed_rate);
1993:
1994: ln_marginal_rate := FND_NUMBER.canonical_to_number(hruserdt.get_table_value (
1995: p_business_group_id
1996: ,p_isr_rates_table
1996: ,p_isr_rates_table
1997: ,'Marginal Rate'
1998: ,TO_CHAR(ln_ISR_proj_subject)));
1999:
2000: hr_utility_trace('ln_marginal_rate: '||ln_marginal_rate);
2001:
2002: ln_lower_limit := FND_NUMBER.canonical_to_number(hruserdt.get_table_value (
2003: p_business_group_id
2004: ,p_isr_rates_table
2004: ,p_isr_rates_table
2005: ,'Lower Bound'
2006: ,TO_CHAR(ln_ISR_proj_subject)));
2007:
2008: hr_utility_trace('ln_lower_limit: '||ln_lower_limit);
2009:
2010: ln_marginal_tax := (ln_marginal_rate/100) * (ln_ISR_proj_subject -
2011: ln_lower_limit);
2012:
2009:
2010: ln_marginal_tax := (ln_marginal_rate/100) * (ln_ISR_proj_subject -
2011: ln_lower_limit);
2012:
2013: hr_utility_trace('ln_marginal_tax: '||ln_marginal_tax);
2014:
2015: p_isr_calculated := ln_fixed_rate + ln_marginal_tax;
2016:
2017: hr_utility_trace('p_isr_calculated: '||p_isr_calculated);
2013: hr_utility_trace('ln_marginal_tax: '||ln_marginal_tax);
2014:
2015: p_isr_calculated := ln_fixed_rate + ln_marginal_tax;
2016:
2017: hr_utility_trace('p_isr_calculated: '||p_isr_calculated);
2018:
2019: IF TO_CHAR(l_date_paid,'yyyymmdd')
2020: < TO_CHAR(fnd_date.canonical_to_date('2008/01/01'),'yyyymmdd') THEN
2021:
2025: ,p_subsidy_table
2026: ,'Fixed Rate'
2027: ,TO_CHAR(ln_ISR_proj_subject)));
2028:
2029: hr_utility_trace('ln_fixed_subsidy: '||ln_fixed_subsidy);
2030:
2031: ln_marginal_subsidy := FND_NUMBER.canonical_to_number(hruserdt.get_table_value (
2032: p_business_group_id
2033: ,p_subsidy_table
2033: ,p_subsidy_table
2034: ,'Marginal Rate'
2035: ,TO_CHAR(ln_ISR_proj_subject)));
2036:
2037: hr_utility_trace('ln_marginal_subsidy: '||ln_marginal_subsidy);
2038:
2039: ln_subsidy_lower_limit := FND_NUMBER.canonical_to_number(hruserdt.get_table_value (
2040: p_business_group_id
2041: ,p_subsidy_table
2042: ,'Lower Bound'
2043: ,TO_CHAR(ln_ISR_proj_subject)));
2044:
2045:
2046: hr_utility_trace('ln_subsidy_lower_limit: '||ln_subsidy_lower_limit);
2047:
2048: ln_tax_subsidy_percentage := hr_mx_utility.get_tax_subsidy_percent(
2049: p_business_group_id
2050: ,p_tax_unit_id);
2048: ln_tax_subsidy_percentage := hr_mx_utility.get_tax_subsidy_percent(
2049: p_business_group_id
2050: ,p_tax_unit_id);
2051:
2052: hr_utility_trace('ln_tax_subsidy_percentage: '||ln_tax_subsidy_percentage);
2053:
2054: /*OPEN csr_get_process_type;
2055: FETCH csr_get_process_type INTO lv_action_type,
2056: lv_calc_mode,
2058: CLOSE csr_get_process_type;*/
2059:
2060: IF (p_calc_mode = 'BEST' OR p_calc_mode = 'ARTICLE141') THEN
2061: -- Calculate subsidy for Article 141
2062: hr_utility_trace('Calculating subsidy for Article 141 ...');
2063: ln_total_subsidy := ln_fixed_rate * (ln_fixed_subsidy/100) +
2064: (ln_marginal_subsidy/100) *
2065: (ln_marginal_rate/100) *
2066: (ln_ISR_proj_subject - ln_subsidy_lower_limit);
2069: (ln_marginal_subsidy/100) *
2070: (ln_marginal_rate/100) *
2071: (ln_ISR_proj_subject - ln_subsidy_lower_limit);
2072: END IF;
2073: hr_utility_trace('ln_total_subsidy: '||ln_total_subsidy);
2074:
2075: p_isr_creditable_subsidy := (ln_tax_subsidy_percentage/100) *
2076: ln_total_subsidy;
2077:
2074:
2075: p_isr_creditable_subsidy := (ln_tax_subsidy_percentage/100) *
2076: ln_total_subsidy;
2077:
2078: hr_utility_trace('p_isr_creditable_subsidy: '||p_isr_creditable_subsidy);
2079:
2080: p_isr_non_creditable_subsidy := ln_total_subsidy - p_isr_creditable_subsidy;
2081:
2082: hr_utility_trace('p_isr_non_creditable_subsidy: '||
2078: hr_utility_trace('p_isr_creditable_subsidy: '||p_isr_creditable_subsidy);
2079:
2080: p_isr_non_creditable_subsidy := ln_total_subsidy - p_isr_creditable_subsidy;
2081:
2082: hr_utility_trace('p_isr_non_creditable_subsidy: '||
2083: p_isr_non_creditable_subsidy);
2084:
2085: ELSE
2086: p_isr_creditable_subsidy := 0;
2090: /* Credit To Salary Calculation */
2091:
2092: IF ( p_credit_to_salary_table <> 'NONE' and P_CALC_MODE <>'ARTICLE142') THEN /*bug7445486*/
2093:
2094: hr_utility_trace('inside subsidy '||p_credit_to_salary_table|| ' --- '||TO_CHAR(ln_ISR_proj_subject));
2095: p_credit_to_salary := FND_NUMBER.canonical_to_number(hruserdt.get_table_value (
2096: p_business_group_id
2097: ,p_credit_to_salary_table
2098: ,'Amount'
2112: OPEN csr_def_bal_id ('ISR Subject','_ASG_GRE_MTD');
2113: FETCH csr_def_bal_id INTO ln_def_bal_id;
2114: CLOSE csr_def_bal_id;
2115:
2116: hr_utility_trace('ISR Subject def bal id '||ln_def_bal_id);
2117:
2118: ln_bal_amt := pay_balance_pkg.get_value(ln_def_bal_id,
2119: P_ASSIGNMENT_ACTION_ID,
2120: p_tax_unit_id,
2125: NULL,
2126: NULL,
2127: 'TRUE');
2128:
2129: hr_utility_trace('MTD Subject Amt - ln_bal_amt '||to_char(ln_bal_amt));
2130: /*Get the previous ISR Subject adjusted amount due to proration
2131: this will have impact only in semi-monthly and weekely payroll*/
2132: OPEN csr_def_bal_id ('ISR Subject Adjusted','_ASG_GRE_MTD');
2133: FETCH csr_def_bal_id INTO ln_def_bal_id;
2132: OPEN csr_def_bal_id ('ISR Subject Adjusted','_ASG_GRE_MTD');
2133: FETCH csr_def_bal_id INTO ln_def_bal_id;
2134: CLOSE csr_def_bal_id;
2135:
2136: hr_utility_trace('ISR Subject Adjusted def bal id '||ln_def_bal_id);
2137: ln_ISR_subj_adj := pay_balance_pkg.get_value(ln_def_bal_id,
2138: P_ASSIGNMENT_ACTION_ID,
2139: p_tax_unit_id,
2140: null,
2143: null,
2144: null,
2145: null,
2146: 'TRUE');
2147: hr_utility_trace('ISR Subject Adjusted Amount MTD - ln_ISR_subj_adj'||ln_ISR_subj_adj);
2148: -- ln_bal_amt := ln_bal_amt + ln_ISR_subj_adj;
2149: -- hr_utility_trace('Actual subject value is ln_bal_amt + ln_ISR_subj_adj '||ln_bal_amt);
2150: -- get ISR Subsidy for Employement balance for month
2151: ln_ISR_subj_adj := ln_ISR_subj_adj + ln_ISR_proj_subject;
2145: null,
2146: 'TRUE');
2147: hr_utility_trace('ISR Subject Adjusted Amount MTD - ln_ISR_subj_adj'||ln_ISR_subj_adj);
2148: -- ln_bal_amt := ln_bal_amt + ln_ISR_subj_adj;
2149: -- hr_utility_trace('Actual subject value is ln_bal_amt + ln_ISR_subj_adj '||ln_bal_amt);
2150: -- get ISR Subsidy for Employement balance for month
2151: ln_ISR_subj_adj := ln_ISR_subj_adj + ln_ISR_proj_subject;
2152: hr_utility_trace('Actual subject value is ln_ISR_subj_adj + ln_ISR_proj_subject '||ln_ISR_subj_adj);
2153:
2148: -- ln_bal_amt := ln_bal_amt + ln_ISR_subj_adj;
2149: -- hr_utility_trace('Actual subject value is ln_bal_amt + ln_ISR_subj_adj '||ln_bal_amt);
2150: -- get ISR Subsidy for Employement balance for month
2151: ln_ISR_subj_adj := ln_ISR_subj_adj + ln_ISR_proj_subject;
2152: hr_utility_trace('Actual subject value is ln_ISR_subj_adj + ln_ISR_proj_subject '||ln_ISR_subj_adj);
2153:
2154: OPEN csr_def_bal_id ('ISR Subsidy for Employment','_ASG_GRE_MTD');
2155: FETCH csr_def_bal_id INTO ln_def_bal_id;
2156: CLOSE csr_def_bal_id;
2154: OPEN csr_def_bal_id ('ISR Subsidy for Employment','_ASG_GRE_MTD');
2155: FETCH csr_def_bal_id INTO ln_def_bal_id;
2156: CLOSE csr_def_bal_id;
2157:
2158: hr_utility_trace('ISR Sub for Empl def bal id '||to_char(ln_def_bal_id));
2159:
2160: ln_bal_sub := pay_balance_pkg.get_value(ln_def_bal_id,
2161: P_ASSIGNMENT_ACTION_ID,
2162: p_tax_unit_id,
2167: NULL,
2168: NULL,
2169: 'TRUE');
2170:
2171: hr_utility_trace('ISR Sub for Empl Bal Sub '||to_char(ln_bal_sub));
2172:
2173: OPEN csr_def_bal_id ('ISR Subsidy for Employment Paid','_ASG_GRE_MTD');
2174: FETCH csr_def_bal_id INTO ln_def_bal_id;
2175: CLOSE csr_def_bal_id;
2173: OPEN csr_def_bal_id ('ISR Subsidy for Employment Paid','_ASG_GRE_MTD');
2174: FETCH csr_def_bal_id INTO ln_def_bal_id;
2175: CLOSE csr_def_bal_id;
2176:
2177: hr_utility_trace('ISR Sub for Empl def bal id '||to_char(ln_def_bal_id));
2178:
2179: ln_bal_sub_paid := pay_balance_pkg.get_value(ln_def_bal_id,
2180: P_ASSIGNMENT_ACTION_ID,
2181: p_tax_unit_id,
2186: NULL,
2187: NULL,
2188: 'TRUE');
2189:
2190: hr_utility_trace('ISR Sub for Empl Bal Sub Paid '||to_char(ln_bal_sub));
2191:
2192: if ln_payroll_id is not null then
2193: select min(period_type)
2194: into lv_period_type
2209: ,ld_first_pay_date
2210: ,ln_period_number)
2211: + (ln_ISR_subj_adj - ln_ISR_proj_subject);
2212:
2213: hr_utility_trace('ln_isr_subject_mtd : '||ln_isr_subject_mtd);
2214: hr_utility_trace('ln_days_in_a_period : '||ln_days_in_a_period);
2215: hr_utility_trace('ln_period_number : '||ln_period_number);
2216:
2217: open csr_get_period_count_in_month;
2210: ,ln_period_number)
2211: + (ln_ISR_subj_adj - ln_ISR_proj_subject);
2212:
2213: hr_utility_trace('ln_isr_subject_mtd : '||ln_isr_subject_mtd);
2214: hr_utility_trace('ln_days_in_a_period : '||ln_days_in_a_period);
2215: hr_utility_trace('ln_period_number : '||ln_period_number);
2216:
2217: open csr_get_period_count_in_month;
2218: loop
2211: + (ln_ISR_subj_adj - ln_ISR_proj_subject);
2212:
2213: hr_utility_trace('ln_isr_subject_mtd : '||ln_isr_subject_mtd);
2214: hr_utility_trace('ln_days_in_a_period : '||ln_days_in_a_period);
2215: hr_utility_trace('ln_period_number : '||ln_period_number);
2216:
2217: open csr_get_period_count_in_month;
2218: loop
2219: fetch csr_get_period_count_in_month into ln_mult_num,
2233: and to_char(ptp.end_date,'yyyymm') = to_char(l_date_paid,'yyyymm')
2234: and to_char(ppa.effective_date,'yyyymm') < to_char(l_date_paid,'yyyymm')
2235: AND ld_hire_date <= ptp.end_date;
2236:
2237: hr_utility_trace('l_date_paid '||to_char(l_date_paid,'yyyymm'));
2238: hr_utility_trace('ln_pre_date_paid '||to_char(ln_pre_date_paid));
2239:
2240: IF l_date_paid >= ln_period_start_mtd and
2241: l_date_paid <= ln_period_end_mtd then
2234: and to_char(ppa.effective_date,'yyyymm') < to_char(l_date_paid,'yyyymm')
2235: AND ld_hire_date <= ptp.end_date;
2236:
2237: hr_utility_trace('l_date_paid '||to_char(l_date_paid,'yyyymm'));
2238: hr_utility_trace('ln_pre_date_paid '||to_char(ln_pre_date_paid));
2239:
2240: IF l_date_paid >= ln_period_start_mtd and
2241: l_date_paid <= ln_period_end_mtd then
2242: ln_period_number := ln_period_number - ln_pre_date_paid;
2239:
2240: IF l_date_paid >= ln_period_start_mtd and
2241: l_date_paid <= ln_period_end_mtd then
2242: ln_period_number := ln_period_number - ln_pre_date_paid;
2243: hr_utility_trace('Actual ln_period_number '||to_char(ln_period_number));
2244: end if;
2245:
2246: end loop;
2247: close csr_get_period_count_in_month;
2261: ,ln_days_in_a_period
2262: ,ln_period_number
2263: ,lv_period_type));
2264:
2265: hr_utility_trace('Total Subsidy for Empl '||to_char(p_credit_to_salary));
2266:
2267: ln_credit_to_salary_max := p_credit_to_salary;
2268:
2269: P_CREDIT_TO_SALARY := (ln_credit_to_salary_max/30.4) * ln_days_in_period_sub_empl;
2269: P_CREDIT_TO_SALARY := (ln_credit_to_salary_max/30.4) * ln_days_in_period_sub_empl;
2270:
2271: ln_credit_to_salary_curr := P_CREDIT_TO_SALARY;
2272:
2273: hr_utility_trace('Current Period Subsidy for Empl '||to_char(p_credit_to_salary));
2274:
2275: select count(*) max_row
2276: into ln_max_row
2277: from PER_TIME_PERIODS ptp1
2291: to_char(ln_period_end_mtd,'yyyymmdd') >= to_char(last_day(l_date_paid),'yyyymmdd') then
2292:
2293: P_CREDIT_TO_SALARY := least(ln_credit_to_salary_max,
2294: P_CREDIT_TO_SALARY * ln_mult_num );
2295: hr_utility_trace('outside/last day of month '||to_char(p_credit_to_salary));
2296: else
2297: P_CREDIT_TO_SALARY := least(ln_credit_to_salary_max,
2298: P_CREDIT_TO_SALARY * (ln_mult_num - ln_pre_date_paid) );
2299: hr_utility_trace('With in month '||to_char(p_credit_to_salary));
2295: hr_utility_trace('outside/last day of month '||to_char(p_credit_to_salary));
2296: else
2297: P_CREDIT_TO_SALARY := least(ln_credit_to_salary_max,
2298: P_CREDIT_TO_SALARY * (ln_mult_num - ln_pre_date_paid) );
2299: hr_utility_trace('With in month '||to_char(p_credit_to_salary));
2300: end if;
2301:
2302: hr_utility_trace('max allowd Subsidy for Empl '||to_char(p_credit_to_salary));
2303: IF l_date_paid >= ln_period_start_mtd AND
2298: P_CREDIT_TO_SALARY * (ln_mult_num - ln_pre_date_paid) );
2299: hr_utility_trace('With in month '||to_char(p_credit_to_salary));
2300: end if;
2301:
2302: hr_utility_trace('max allowd Subsidy for Empl '||to_char(p_credit_to_salary));
2303: IF l_date_paid >= ln_period_start_mtd AND
2304: l_date_paid <= ln_period_end_mtd AND
2305: (lv_period_type = 'Calendar Month' OR (lv_period_type = 'Semi-Month' AND ln_period_number = 2)
2306: OR (lv_period_type = 'Ten Days' AND ln_period_number = 3))
2305: (lv_period_type = 'Calendar Month' OR (lv_period_type = 'Semi-Month' AND ln_period_number = 2)
2306: OR (lv_period_type = 'Ten Days' AND ln_period_number = 3))
2307: THEN
2308: P_CREDIT_TO_SALARY := ln_credit_to_salary_max;
2309: hr_utility_trace('Final period Subsidy for Empl '||to_char(p_credit_to_salary));
2310: end if;
2311: P_CREDIT_TO_SALARY := P_CREDIT_TO_SALARY - ln_bal_sub;
2312: hr_utility_trace('Subsidy for Empl '||to_char(p_credit_to_salary));
2313: end if;
2308: P_CREDIT_TO_SALARY := ln_credit_to_salary_max;
2309: hr_utility_trace('Final period Subsidy for Empl '||to_char(p_credit_to_salary));
2310: end if;
2311: P_CREDIT_TO_SALARY := P_CREDIT_TO_SALARY - ln_bal_sub;
2312: hr_utility_trace('Subsidy for Empl '||to_char(p_credit_to_salary));
2313: end if;
2314: end loop;
2315: close csr_get_period_count_in_month;
2316: END IF;
2318: p_credit_to_salary := 0;
2319: END IF;
2320:
2321: P_CREDIT_TO_SALARY := nvl(P_CREDIT_TO_SALARY,0);
2322: hr_utility_trace('p_credit_to_salary: '||p_credit_to_salary);
2323:
2324: /* ISR Withheld Calculation */
2325:
2326: ln_isr_withheld := p_isr_calculated -
2327: p_isr_creditable_subsidy -
2328: p_credit_to_salary;
2329:
2330:
2331: hr_utility_trace('ln_isr_withheld B4: '||ln_isr_withheld);
2332:
2333: /*Incuded the proration logic based on balance ISR Non working days*/
2334: --Start of Bug fix 6852627
2335: IF to_char(l_date_paid,'yyyymmdd')
2335: IF to_char(l_date_paid,'yyyymmdd')
2336: >= to_char(fnd_date.canonical_to_date('2008/01/01'),'yyyymmdd') AND P_CALC_MODE = 'ARTICLE113' THEN
2337: IF nvl(ln_bal_ISR_non_wrkd_days,0) > 0 AND nvl(ln_bal_ISR_non_wrkd_days,0) < ln_days_in_a_period THEN
2338:
2339: hr_utility_trace('-- Non workings days are feeded, need to proproate ISR Tax --');
2340:
2341: hr_utility_trace('Getting the table factor value for ISR Tax calculation');
2342: ln_ISR_table_factor := ROUND(((ln_days_in_a_period * 30.4)/ln_le_days_month),2);
2343:
2337: IF nvl(ln_bal_ISR_non_wrkd_days,0) > 0 AND nvl(ln_bal_ISR_non_wrkd_days,0) < ln_days_in_a_period THEN
2338:
2339: hr_utility_trace('-- Non workings days are feeded, need to proproate ISR Tax --');
2340:
2341: hr_utility_trace('Getting the table factor value for ISR Tax calculation');
2342: ln_ISR_table_factor := ROUND(((ln_days_in_a_period * 30.4)/ln_le_days_month),2);
2343:
2344: hr_utility_trace('Factor value for '||lv_period_type||' payroll is '||TO_CHAR(ln_ISR_table_factor));
2345:
2340:
2341: hr_utility_trace('Getting the table factor value for ISR Tax calculation');
2342: ln_ISR_table_factor := ROUND(((ln_days_in_a_period * 30.4)/ln_le_days_month),2);
2343:
2344: hr_utility_trace('Factor value for '||lv_period_type||' payroll is '||TO_CHAR(ln_ISR_table_factor));
2345:
2346: hr_utility_trace('Proration logic on ISR Tax for '||TO_CHAR(ln_worked_days)||' working days');
2347:
2348: ln_isr_withheld := (ln_isr_withheld / ln_ISR_table_factor) * ln_worked_days ;
2342: ln_ISR_table_factor := ROUND(((ln_days_in_a_period * 30.4)/ln_le_days_month),2);
2343:
2344: hr_utility_trace('Factor value for '||lv_period_type||' payroll is '||TO_CHAR(ln_ISR_table_factor));
2345:
2346: hr_utility_trace('Proration logic on ISR Tax for '||TO_CHAR(ln_worked_days)||' working days');
2347:
2348: ln_isr_withheld := (ln_isr_withheld / ln_ISR_table_factor) * ln_worked_days ;
2349:
2350: hr_utility_trace('Prorated ISR with held '||TO_CHAR(ln_isr_withheld));
2346: hr_utility_trace('Proration logic on ISR Tax for '||TO_CHAR(ln_worked_days)||' working days');
2347:
2348: ln_isr_withheld := (ln_isr_withheld / ln_ISR_table_factor) * ln_worked_days ;
2349:
2350: hr_utility_trace('Prorated ISR with held '||TO_CHAR(ln_isr_withheld));
2351: hr_utility_trace('Start of ISR Subject proration ');
2352:
2353: ELSIF nvl(ln_bal_ISR_non_wrkd_days,0) < 0 OR nvl(ln_bal_ISR_non_wrkd_days,0) > ln_days_in_a_period THEN
2354: hr_utility_trace('ISR Non Worked Days value is invalid ');
2347:
2348: ln_isr_withheld := (ln_isr_withheld / ln_ISR_table_factor) * ln_worked_days ;
2349:
2350: hr_utility_trace('Prorated ISR with held '||TO_CHAR(ln_isr_withheld));
2351: hr_utility_trace('Start of ISR Subject proration ');
2352:
2353: ELSIF nvl(ln_bal_ISR_non_wrkd_days,0) < 0 OR nvl(ln_bal_ISR_non_wrkd_days,0) > ln_days_in_a_period THEN
2354: hr_utility_trace('ISR Non Worked Days value is invalid ');
2355: hr_utility.set_message(801, 'PAY_MX_INVALID_ISR_NON_WRK_DAY');
2350: hr_utility_trace('Prorated ISR with held '||TO_CHAR(ln_isr_withheld));
2351: hr_utility_trace('Start of ISR Subject proration ');
2352:
2353: ELSIF nvl(ln_bal_ISR_non_wrkd_days,0) < 0 OR nvl(ln_bal_ISR_non_wrkd_days,0) > ln_days_in_a_period THEN
2354: hr_utility_trace('ISR Non Worked Days value is invalid ');
2355: hr_utility.set_message(801, 'PAY_MX_INVALID_ISR_NON_WRK_DAY');
2356: hr_utility.raise_error;
2357:
2358: ELSIF nvl(ln_bal_ISR_non_wrkd_days,0) = ln_days_in_a_period THEN
2351: hr_utility_trace('Start of ISR Subject proration ');
2352:
2353: ELSIF nvl(ln_bal_ISR_non_wrkd_days,0) < 0 OR nvl(ln_bal_ISR_non_wrkd_days,0) > ln_days_in_a_period THEN
2354: hr_utility_trace('ISR Non Worked Days value is invalid ');
2355: hr_utility.set_message(801, 'PAY_MX_INVALID_ISR_NON_WRK_DAY');
2356: hr_utility.raise_error;
2357:
2358: ELSIF nvl(ln_bal_ISR_non_wrkd_days,0) = ln_days_in_a_period THEN
2359: ln_isr_withheld := 0;
2352:
2353: ELSIF nvl(ln_bal_ISR_non_wrkd_days,0) < 0 OR nvl(ln_bal_ISR_non_wrkd_days,0) > ln_days_in_a_period THEN
2354: hr_utility_trace('ISR Non Worked Days value is invalid ');
2355: hr_utility.set_message(801, 'PAY_MX_INVALID_ISR_NON_WRK_DAY');
2356: hr_utility.raise_error;
2357:
2358: ELSIF nvl(ln_bal_ISR_non_wrkd_days,0) = ln_days_in_a_period THEN
2359: ln_isr_withheld := 0;
2360: p_credit_to_salary_paid := 0;
2374: /*To feed ISR Subject Adjusted Balance*/
2375: IF TO_CHAR(l_date_paid,'yyyymmdd')
2376: >= TO_CHAR(fnd_date.canonical_to_date('2008/01/01'),'yyyymmdd') THEN
2377: p_isr_creditable_subsidy := ln_ISR_proj_subject;
2378: hr_utility_trace(' Feeding ISR Subject Adjusted Balance value in 2008 = p_isr_creditable_subsidy'||p_isr_creditable_subsidy);
2379: END IF;
2380: hr_utility_trace('p_credit_to_salary_paid: '||p_credit_to_salary_paid);
2381: hr_utility_trace('ln_isr_withheld Final: '||ln_isr_withheld);
2382: hr_utility_trace('Leaving '||l_proc_name);
2376: >= TO_CHAR(fnd_date.canonical_to_date('2008/01/01'),'yyyymmdd') THEN
2377: p_isr_creditable_subsidy := ln_ISR_proj_subject;
2378: hr_utility_trace(' Feeding ISR Subject Adjusted Balance value in 2008 = p_isr_creditable_subsidy'||p_isr_creditable_subsidy);
2379: END IF;
2380: hr_utility_trace('p_credit_to_salary_paid: '||p_credit_to_salary_paid);
2381: hr_utility_trace('ln_isr_withheld Final: '||ln_isr_withheld);
2382: hr_utility_trace('Leaving '||l_proc_name);
2383:
2384: RETURN ln_isr_withheld;
2377: p_isr_creditable_subsidy := ln_ISR_proj_subject;
2378: hr_utility_trace(' Feeding ISR Subject Adjusted Balance value in 2008 = p_isr_creditable_subsidy'||p_isr_creditable_subsidy);
2379: END IF;
2380: hr_utility_trace('p_credit_to_salary_paid: '||p_credit_to_salary_paid);
2381: hr_utility_trace('ln_isr_withheld Final: '||ln_isr_withheld);
2382: hr_utility_trace('Leaving '||l_proc_name);
2383:
2384: RETURN ln_isr_withheld;
2385:
2378: hr_utility_trace(' Feeding ISR Subject Adjusted Balance value in 2008 = p_isr_creditable_subsidy'||p_isr_creditable_subsidy);
2379: END IF;
2380: hr_utility_trace('p_credit_to_salary_paid: '||p_credit_to_salary_paid);
2381: hr_utility_trace('ln_isr_withheld Final: '||ln_isr_withheld);
2382: hr_utility_trace('Leaving '||l_proc_name);
2383:
2384: RETURN ln_isr_withheld;
2385:
2386: EXCEPTION
2384: RETURN ln_isr_withheld;
2385:
2386: EXCEPTION
2387: WHEN OTHERS THEN
2388: hr_utility_trace('Exception in '||l_proc_name||': '||SQLERRM);
2389: RAISE;
2390: END CALCULATE_ISR_TAX;
2391:
2392: /****************************************************************************
2417: and to_char(p_date_earned,'yyyymmdd') = to_char(end_date,'yyyymmdd');
2418:
2419: BEGIN
2420:
2421: hr_utility_trace('Entering ..CONVERT_MONTHLY_TO_PERIOD');
2422: hr_utility_trace('p_periodic_value: ' ||p_periodic_value);
2423:
2424: open csr_get_period_count_in_month;
2425: fetch csr_get_period_count_in_month into ln_days_in_a_period;
2418:
2419: BEGIN
2420:
2421: hr_utility_trace('Entering ..CONVERT_MONTHLY_TO_PERIOD');
2422: hr_utility_trace('p_periodic_value: ' ||p_periodic_value);
2423:
2424: open csr_get_period_count_in_month;
2425: fetch csr_get_period_count_in_month into ln_days_in_a_period;
2426: close csr_get_period_count_in_month;
2426: close csr_get_period_count_in_month;
2427:
2428: ln_periodic_value := (p_periodic_value/30.4) * ln_days_in_a_period;
2429:
2430: hr_utility_trace('ln_periodic_value: ' ||ln_periodic_value);
2431: hr_utility_trace('Leaving ..CONVERT_MONTHLY_TO_PERIOD');
2432:
2433: RETURN ln_periodic_value;
2434:
2427:
2428: ln_periodic_value := (p_periodic_value/30.4) * ln_days_in_a_period;
2429:
2430: hr_utility_trace('ln_periodic_value: ' ||ln_periodic_value);
2431: hr_utility_trace('Leaving ..CONVERT_MONTHLY_TO_PERIOD');
2432:
2433: RETURN ln_periodic_value;
2434:
2435: END CONVERT_MONTHLY_TO_PERIOD; /*
2456: lv_period_type pay_all_payrolls_f.period_type%TYPE;
2457:
2458: BEGIN
2459:
2460: hr_utility_trace('Entering ..CONVERT_INTO_MONTHLY_SALARY');
2461: hr_utility_trace('p_periodic_earnings: ' ||p_periodic_earnings);
2462:
2463: SELECT period_type
2464: INTO lv_period_type
2457:
2458: BEGIN
2459:
2460: hr_utility_trace('Entering ..CONVERT_INTO_MONTHLY_SALARY');
2461: hr_utility_trace('p_periodic_earnings: ' ||p_periodic_earnings);
2462:
2463: SELECT period_type
2464: INTO lv_period_type
2465: FROM pay_all_payrolls_f ppf,
2497:
2498:
2499: END IF;
2500:
2501: hr_utility_trace('ln_periodic_earnings: ' ||ln_periodic_earnings);
2502: hr_utility_trace('Leaving ..CONVERT_INTO_MONTHLY_SALARY');
2503:
2504: RETURN ln_periodic_earnings;
2505:
2498:
2499: END IF;
2500:
2501: hr_utility_trace('ln_periodic_earnings: ' ||ln_periodic_earnings);
2502: hr_utility_trace('Leaving ..CONVERT_INTO_MONTHLY_SALARY');
2503:
2504: RETURN ln_periodic_earnings;
2505:
2506: END CONVERT_INTO_MONTHLY_SALARY;
2556: l_gross_earning:=0;
2557: l_capping_value:=0;
2558: l_capping_value:='$Sys_Def$';
2559:
2560: hr_utility_trace('Entering ..CHECK_EE_SAL_CRITERIA');
2561: OPEN c_defined_balance_id('Gross Earnings','_PER_YTD');
2562: FETCH c_defined_balance_id INTO l_bal_defined_id;
2563: CLOSE c_defined_balance_id;
2564:
2566: FETCH c_assignment_action_id INTO l_assignment_action_id;
2567: CLOSE c_assignment_action_id;
2568:
2569: IF(l_assignment_action_id IS NULL) THEN
2570: hr_utility_trace('Leaving ..CHECK_EE_SAL_CRITERIA');
2571: RETURN 'N';
2572: END IF;
2573:
2574: l_pkg_value:=pay_mx_tax_functions.get_mx_tax_info
2598: l_flag :='N';
2599: ELSIF (l_gross_earning <> 0) THEN
2600: l_flag :='Y';
2601: END IF;
2602: hr_utility_trace('l_flag: ' ||l_flag);
2603: hr_utility_trace('Leaving ..CHECK_EE_SAL_CRITERIA');
2604: RETURN l_flag;
2605:
2606: END CHECK_EE_SAL_CRITERIA;
2599: ELSIF (l_gross_earning <> 0) THEN
2600: l_flag :='Y';
2601: END IF;
2602: hr_utility_trace('l_flag: ' ||l_flag);
2603: hr_utility_trace('Leaving ..CHECK_EE_SAL_CRITERIA');
2604: RETURN l_flag;
2605:
2606: END CHECK_EE_SAL_CRITERIA;
2607:
2676: l_prev_term_date DATE;
2677:
2678: BEGIN
2679: l_proc_name := g_proc_name ||'CHECK_EE_EMPLOYMENT_CRITERIA';
2680: hr_utility_trace('Entering '||l_proc_name);
2681: hr_utility_trace('P_CTX_ASSIGNMENT_ID = ' || p_ctx_assignment_id);
2682:
2683: l_flag :='N';
2684: l_start_date := NULL;
2677:
2678: BEGIN
2679: l_proc_name := g_proc_name ||'CHECK_EE_EMPLOYMENT_CRITERIA';
2680: hr_utility_trace('Entering '||l_proc_name);
2681: hr_utility_trace('P_CTX_ASSIGNMENT_ID = ' || p_ctx_assignment_id);
2682:
2683: l_flag :='N';
2684: l_start_date := NULL;
2685:
2689: ln_person_id;
2690: CLOSE csr_get_dates;
2691:
2692:
2693: HR_UTILITY.trace('l_start_date: '||l_start_date);
2694: HR_UTILITY.trace('l_end_date: '||l_end_date);
2695:
2696: OPEN c_get_hire_date(ln_person_id,P_CTX_DATE_EARNED);
2697: FETCH c_get_hire_date INTO l_hire_date, l_termination_date;
2690: CLOSE csr_get_dates;
2691:
2692:
2693: HR_UTILITY.trace('l_start_date: '||l_start_date);
2694: HR_UTILITY.trace('l_end_date: '||l_end_date);
2695:
2696: OPEN c_get_hire_date(ln_person_id,P_CTX_DATE_EARNED);
2697: FETCH c_get_hire_date INTO l_hire_date, l_termination_date;
2698: CLOSE c_get_hire_date;
2696: OPEN c_get_hire_date(ln_person_id,P_CTX_DATE_EARNED);
2697: FETCH c_get_hire_date INTO l_hire_date, l_termination_date;
2698: CLOSE c_get_hire_date;
2699:
2700: HR_UTILITY.trace('l_hire_date: '||l_hire_date);
2701: HR_UTILITY.trace('l_termination_date: '||l_termination_date);
2702:
2703: IF l_hire_date > l_start_date AND l_termination_date >= l_end_date THEN
2704: /*Added for bug 7604298 to pick up the re-hire employee when re-hire happens in next day*/
2697: FETCH c_get_hire_date INTO l_hire_date, l_termination_date;
2698: CLOSE c_get_hire_date;
2699:
2700: HR_UTILITY.trace('l_hire_date: '||l_hire_date);
2701: HR_UTILITY.trace('l_termination_date: '||l_termination_date);
2702:
2703: IF l_hire_date > l_start_date AND l_termination_date >= l_end_date THEN
2704: /*Added for bug 7604298 to pick up the re-hire employee when re-hire happens in next day*/
2705: HR_UTILITY.trace('About to check the re-hire condition ');
2701: HR_UTILITY.trace('l_termination_date: '||l_termination_date);
2702:
2703: IF l_hire_date > l_start_date AND l_termination_date >= l_end_date THEN
2704: /*Added for bug 7604298 to pick up the re-hire employee when re-hire happens in next day*/
2705: HR_UTILITY.trace('About to check the re-hire condition ');
2706: OPEN c_get_prev_term_date(ln_person_id,P_CTX_DATE_EARNED);
2707: FETCH c_get_prev_term_date INTO l_prev_term_date;
2708: CLOSE c_get_prev_term_date;
2709: HR_UTILITY.trace('l_prev_term_date: '||l_prev_term_date);
2705: HR_UTILITY.trace('About to check the re-hire condition ');
2706: OPEN c_get_prev_term_date(ln_person_id,P_CTX_DATE_EARNED);
2707: FETCH c_get_prev_term_date INTO l_prev_term_date;
2708: CLOSE c_get_prev_term_date;
2709: HR_UTILITY.trace('l_prev_term_date: '||l_prev_term_date);
2710: IF (l_prev_term_date IS NOT NULL) AND ((l_prev_term_date +1) = l_hire_date) THEN
2711: hr_utility_trace('Person re-hired in the next day ');
2712: RETURN ('Y');
2713: END IF;
2707: FETCH c_get_prev_term_date INTO l_prev_term_date;
2708: CLOSE c_get_prev_term_date;
2709: HR_UTILITY.trace('l_prev_term_date: '||l_prev_term_date);
2710: IF (l_prev_term_date IS NOT NULL) AND ((l_prev_term_date +1) = l_hire_date) THEN
2711: hr_utility_trace('Person re-hired in the next day ');
2712: RETURN ('Y');
2713: END IF;
2714:
2715: hr_utility_trace('Person hired after ' || l_start_date);
2711: hr_utility_trace('Person re-hired in the next day ');
2712: RETURN ('Y');
2713: END IF;
2714:
2715: hr_utility_trace('Person hired after ' || l_start_date);
2716: hr_utility_trace('Leaving '||l_proc_name);
2717: RETURN ('N');
2718: END IF;
2719:
2712: RETURN ('Y');
2713: END IF;
2714:
2715: hr_utility_trace('Person hired after ' || l_start_date);
2716: hr_utility_trace('Leaving '||l_proc_name);
2717: RETURN ('N');
2718: END IF;
2719:
2720: IF l_termination_date < l_end_date THEN
2717: RETURN ('N');
2718: END IF;
2719:
2720: IF l_termination_date < l_end_date THEN
2721: hr_utility_trace('Person terminated before ' || l_end_date );
2722: hr_utility_trace('Leaving '||l_proc_name);
2723: RETURN ('N');
2724: END IF;
2725:
2718: END IF;
2719:
2720: IF l_termination_date < l_end_date THEN
2721: hr_utility_trace('Person terminated before ' || l_end_date );
2722: hr_utility_trace('Leaving '||l_proc_name);
2723: RETURN ('N');
2724: END IF;
2725:
2726: IF l_start_date IS NOT NULL THEN
2727: OPEN csr_get_form37_status(l_start_date,l_end_date);
2728: FETCH csr_get_form37_status INTO l_flag;
2729: IF csr_get_form37_status%NOTFOUND THEN
2730: CLOSE csr_get_form37_status;
2731: hr_utility_trace('Leaving '||l_proc_name);
2732: RETURN 'Y';
2733: END IF;
2734: CLOSE csr_get_form37_status;
2735: END IF;
2733: END IF;
2734: CLOSE csr_get_form37_status;
2735: END IF;
2736:
2737: hr_utility_trace('l_flag: ' ||l_flag);
2738: hr_utility_trace('Leaving '||l_proc_name);
2739:
2740: RETURN (l_flag);
2741:
2734: CLOSE csr_get_form37_status;
2735: END IF;
2736:
2737: hr_utility_trace('l_flag: ' ||l_flag);
2738: hr_utility_trace('Leaving '||l_proc_name);
2739:
2740: RETURN (l_flag);
2741:
2742: END CHECK_EE_EMPLOYMENT_CRITERIA;
2779:
2780: BEGIN
2781:
2782: l_flag :='N';
2783: hr_utility_trace('Entering ..IS_ASG_EXEMPT_FROM_ISR');
2784: OPEN get_isr_entry;
2785: FETCH get_isr_entry INTO l_flag;
2786: IF get_isr_entry%NOTFOUND THEN
2787: CLOSE get_isr_entry;
2784: OPEN get_isr_entry;
2785: FETCH get_isr_entry INTO l_flag;
2786: IF get_isr_entry%NOTFOUND THEN
2787: CLOSE get_isr_entry;
2788: hr_utility_trace('Leaving ..IS_ASG_EXEMPT_FROM_ISR');
2789: RETURN 'N';
2790: END IF;
2791: CLOSE get_isr_entry;
2792:
2789: RETURN 'N';
2790: END IF;
2791: CLOSE get_isr_entry;
2792:
2793: hr_utility_trace('l_flag: ' ||l_flag);
2794: hr_utility_trace('Leaving ..IS_ASG_EXEMPT_FROM_ISR');
2795:
2796: RETURN (l_flag);
2797:
2790: END IF;
2791: CLOSE get_isr_entry;
2792:
2793: hr_utility_trace('l_flag: ' ||l_flag);
2794: hr_utility_trace('Leaving ..IS_ASG_EXEMPT_FROM_ISR');
2795:
2796: RETURN (l_flag);
2797:
2798: END IS_ASG_EXEMPT_FROM_ISR;
2832:
2833: BEGIN
2834:
2835: l_flag:='N';
2836: hr_utility_trace('Entering ..IS_PER_EXEMPT_FROM_ADJ');
2837: OPEN get_person_id;
2838: FETCH get_person_id INTO l_person_id;
2839: CLOSE get_person_id;
2840:
2841: OPEN get_exempt_adjustment(l_person_id);
2842: FETCH get_exempt_adjustment INTO l_exempt_adj;
2843: IF get_exempt_adjustment%NOTFOUND THEN
2844: CLOSE get_exempt_adjustment;
2845: hr_utility_trace('Leaving ..IS_PER_EXEMPT_FROM_ADJ');
2846: RETURN 'N';
2847: END IF;
2848: CLOSE get_exempt_adjustment;
2849:
2852: ELSE
2853: l_flag:='N';
2854: END IF;
2855:
2856: hr_utility_trace('l_flag: ' ||l_flag);
2857: hr_utility_trace('Leaving ..IS_PER_EXEMPT_FROM_ADJ');
2858:
2859: RETURN (l_flag);
2860:
2853: l_flag:='N';
2854: END IF;
2855:
2856: hr_utility_trace('l_flag: ' ||l_flag);
2857: hr_utility_trace('Leaving ..IS_PER_EXEMPT_FROM_ADJ');
2858:
2859: RETURN (l_flag);
2860:
2861: END IS_PER_EXEMPT_FROM_ADJ;
2919: l_min_wage number;
2920:
2921: BEGIN
2922:
2923: hr_utility_trace('Economy Zone '||P_ECON_ZONE);
2924: OPEN get_min_wage;
2925: FETCH get_min_wage INTO l_min_wage;
2926: CLOSE get_min_wage;
2927:
2976: order by end_date;
2977:
2978: BEGIN
2979:
2980: hr_utility_trace('Entering ..CONVERT_INTO_MONTHLY_AVG_SAL');
2981: hr_utility_trace('p_subject_earnings: ' ||p_subject_earnings);
2982: hr_utility_trace('p_first_pay_date: ' ||to_char(p_first_pay_date));
2983: open csr_get_period_count_in_month;
2984: loop
2977:
2978: BEGIN
2979:
2980: hr_utility_trace('Entering ..CONVERT_INTO_MONTHLY_AVG_SAL');
2981: hr_utility_trace('p_subject_earnings: ' ||p_subject_earnings);
2982: hr_utility_trace('p_first_pay_date: ' ||to_char(p_first_pay_date));
2983: open csr_get_period_count_in_month;
2984: loop
2985: fetch csr_get_period_count_in_month into ln_row_count,
2978: BEGIN
2979:
2980: hr_utility_trace('Entering ..CONVERT_INTO_MONTHLY_AVG_SAL');
2981: hr_utility_trace('p_subject_earnings: ' ||p_subject_earnings);
2982: hr_utility_trace('p_first_pay_date: ' ||to_char(p_first_pay_date));
2983: open csr_get_period_count_in_month;
2984: loop
2985: fetch csr_get_period_count_in_month into ln_row_count,
2986: lv_end_date,
2987: lv_start_date,
2988: ln_time_period_id;
2989: exit when csr_get_period_count_in_month%NOTFOUND;
2990:
2991: hr_utility_trace('ln_row_count: ld_end_date' ||
2992: to_char(ln_row_count) ||' -- '||lv_end_date);
2993:
2994: if to_char(P_DATE_EARNED,'yyyymmdd') <= lv_end_date and
2995: to_char(P_DATE_EARNED,'yyyymmdd') >= lv_start_date then
2999:
3000: end loop;
3001: close csr_get_period_count_in_month;
3002:
3003: hr_utility_trace('ln_subject_earnings: ' ||ln_subject_earnings);
3004: hr_utility_trace('Leaving ..CONVERT_INTO_MONTHLY_AVG_SAL');
3005:
3006: RETURN ln_subject_earnings;
3007:
3000: end loop;
3001: close csr_get_period_count_in_month;
3002:
3003: hr_utility_trace('ln_subject_earnings: ' ||ln_subject_earnings);
3004: hr_utility_trace('Leaving ..CONVERT_INTO_MONTHLY_AVG_SAL');
3005:
3006: RETURN ln_subject_earnings;
3007:
3008: END CONVERT_INTO_MONTHLY_AVG_SAL;
3021: l_table_id pay_user_tables.user_table_id%type;
3022: l_value pay_user_column_instances_f.value%type;
3023: ln_period_days number;
3024: begin
3025: hr_utility_trace('p_bus_group_id: ' ||p_bus_group_id);
3026: hr_utility_trace('p_table_name: ' ||p_table_name);
3027: hr_utility_trace('p_col_name: ' ||p_col_name);
3028: hr_utility_trace('p_row_value: ' ||p_row_value);
3029: hr_utility_trace('p_effective_date: ' ||p_effective_date);
3022: l_value pay_user_column_instances_f.value%type;
3023: ln_period_days number;
3024: begin
3025: hr_utility_trace('p_bus_group_id: ' ||p_bus_group_id);
3026: hr_utility_trace('p_table_name: ' ||p_table_name);
3027: hr_utility_trace('p_col_name: ' ||p_col_name);
3028: hr_utility_trace('p_row_value: ' ||p_row_value);
3029: hr_utility_trace('p_effective_date: ' ||p_effective_date);
3030: hr_utility_trace('p_period_days: ' ||p_period_days);
3023: ln_period_days number;
3024: begin
3025: hr_utility_trace('p_bus_group_id: ' ||p_bus_group_id);
3026: hr_utility_trace('p_table_name: ' ||p_table_name);
3027: hr_utility_trace('p_col_name: ' ||p_col_name);
3028: hr_utility_trace('p_row_value: ' ||p_row_value);
3029: hr_utility_trace('p_effective_date: ' ||p_effective_date);
3030: hr_utility_trace('p_period_days: ' ||p_period_days);
3031: hr_utility_trace('p_period_number: ' ||p_period_number);
3024: begin
3025: hr_utility_trace('p_bus_group_id: ' ||p_bus_group_id);
3026: hr_utility_trace('p_table_name: ' ||p_table_name);
3027: hr_utility_trace('p_col_name: ' ||p_col_name);
3028: hr_utility_trace('p_row_value: ' ||p_row_value);
3029: hr_utility_trace('p_effective_date: ' ||p_effective_date);
3030: hr_utility_trace('p_period_days: ' ||p_period_days);
3031: hr_utility_trace('p_period_number: ' ||p_period_number);
3032: hr_utility_trace('p_period_type: ' ||p_period_type);
3025: hr_utility_trace('p_bus_group_id: ' ||p_bus_group_id);
3026: hr_utility_trace('p_table_name: ' ||p_table_name);
3027: hr_utility_trace('p_col_name: ' ||p_col_name);
3028: hr_utility_trace('p_row_value: ' ||p_row_value);
3029: hr_utility_trace('p_effective_date: ' ||p_effective_date);
3030: hr_utility_trace('p_period_days: ' ||p_period_days);
3031: hr_utility_trace('p_period_number: ' ||p_period_number);
3032: hr_utility_trace('p_period_type: ' ||p_period_type);
3033: --
3026: hr_utility_trace('p_table_name: ' ||p_table_name);
3027: hr_utility_trace('p_col_name: ' ||p_col_name);
3028: hr_utility_trace('p_row_value: ' ||p_row_value);
3029: hr_utility_trace('p_effective_date: ' ||p_effective_date);
3030: hr_utility_trace('p_period_days: ' ||p_period_days);
3031: hr_utility_trace('p_period_number: ' ||p_period_number);
3032: hr_utility_trace('p_period_type: ' ||p_period_type);
3033: --
3034: -- Use either the supplied date, or the date from fnd_sessions
3027: hr_utility_trace('p_col_name: ' ||p_col_name);
3028: hr_utility_trace('p_row_value: ' ||p_row_value);
3029: hr_utility_trace('p_effective_date: ' ||p_effective_date);
3030: hr_utility_trace('p_period_days: ' ||p_period_days);
3031: hr_utility_trace('p_period_number: ' ||p_period_number);
3032: hr_utility_trace('p_period_type: ' ||p_period_type);
3033: --
3034: -- Use either the supplied date, or the date from fnd_sessions
3035: --
3028: hr_utility_trace('p_row_value: ' ||p_row_value);
3029: hr_utility_trace('p_effective_date: ' ||p_effective_date);
3030: hr_utility_trace('p_period_days: ' ||p_period_days);
3031: hr_utility_trace('p_period_number: ' ||p_period_number);
3032: hr_utility_trace('p_period_type: ' ||p_period_type);
3033: --
3034: -- Use either the supplied date, or the date from fnd_sessions
3035: --
3036: if (p_effective_date is not null) then
3046: and nvl (business_group_id,
3047: p_bus_group_id) = p_bus_group_id
3048: and nvl(legislation_code, 'MX') = 'MX';
3049: --
3050: hr_utility_trace('l_range_or_match: ' ||l_range_or_match);
3051: hr_utility_trace('l_table_id: ' ||l_table_id);
3052: --
3053: if p_period_type in ('Calendar Month') or
3054: (p_period_type in ('Semi-Month') and p_period_number = 2) or
3047: p_bus_group_id) = p_bus_group_id
3048: and nvl(legislation_code, 'MX') = 'MX';
3049: --
3050: hr_utility_trace('l_range_or_match: ' ||l_range_or_match);
3051: hr_utility_trace('l_table_id: ' ||l_table_id);
3052: --
3053: if p_period_type in ('Calendar Month') or
3054: (p_period_type in ('Semi-Month') and p_period_number = 2) or
3055: (p_period_type = 'Ten Days' AND p_period_number = 3) then
3094: p_bus_group_id) = p_bus_group_id
3095: and nvl (CINST.legislation_code,
3096: 'MX') = 'MX';
3097: --
3098: hr_utility_trace('l_value: ' ||l_value);
3099: return l_value;
3100:
3101: end if;
3102:
3102:
3103: end get_table_value;
3104:
3105: BEGIN
3106: --hr_utility.trace_on (null, 'MX_IDC');
3107: g_proc_name := 'PAY_MX_TAX_FUNCTIONS.';
3108: g_debug := hr_utility.debug_enabled;
3109:
3110: END PAY_MX_TAX_FUNCTIONS;
3104:
3105: BEGIN
3106: --hr_utility.trace_on (null, 'MX_IDC');
3107: g_proc_name := 'PAY_MX_TAX_FUNCTIONS.';
3108: g_debug := hr_utility.debug_enabled;
3109:
3110: END PAY_MX_TAX_FUNCTIONS;