230: p_withholding_tax_info out nocopy t_tax_info)
231: is
232: c_proc constant varchar2(61) := c_package || 'get_withholding_tax_info';
233: begin
234: hr_utility.set_location('Entering: ' || c_proc, 10);
235: --
236: if p_itax_yea_category = '0' then
237: hr_utility.set_location(c_proc, 11);
238: --
233: begin
234: hr_utility.set_location('Entering: ' || c_proc, 10);
235: --
236: if p_itax_yea_category = '0' then
237: hr_utility.set_location(c_proc, 11);
238: --
239: -- Grossup "Taxable Earnings", "Income Tax" etc.
240: -- with the same "SWOT".
241: --
256: and action_sequence <= p_action_sequence
257: and effective_date >= trunc(p_effective_date, 'YYYY')
258: and itax_organization_id = p_itax_organization_id;
259: else
260: hr_utility.set_location(c_proc, 12);
261: --
262: -- Grossup "Taxable Earnings", "Income Tax" etc.
263: -- with the same "Tax Category" and "SWOT".
264: --
285: )
286: and itax_organization_id = p_itax_organization_id;
287: end if;
288: --
289: hr_utility.set_location(c_proc, 20);
290: --
291: -- When current assignment_action_id is "YEA",
292: -- add the adjustment amount processed in YEA process.
293: -- Note if future assacts exist after YEA, it is not regarded as YEA,
294: -- it is just normal payment. In this case, no adjustment amount in YEA
295: -- is included to the total amount(Skip when null or '-1').
296: --
297: if p_itax_yea_category <> '-1' then
298: hr_utility.set_location(c_proc, 21);
299: --
300: p_withholding_tax_info.taxable_income := p_withholding_tax_info.taxable_income
301: + nvl(pay_jp_balance_pkg.get_result_value_number(g_taxable_income_exempt_elm.element_type_id, g_taxable_income_exempt_elm.taxable_income_adj_iv, p_assignment_action_id), 0);
302: p_withholding_tax_info.si_prem := p_withholding_tax_info.si_prem
310: p_withholding_tax_info.mutual_aid_prem := decode_value(p_withholding_tax_info.mutual_aid_prem <> 0, p_withholding_tax_info.mutual_aid_prem);
311: p_withholding_tax_info.disaster_tax_reduction := decode_value(p_withholding_tax_info.disaster_tax_reduction <> 0, p_withholding_tax_info.disaster_tax_reduction);
312: p_withholding_tax_info.withholding_itax := p_withholding_tax_info.itax + p_withholding_tax_info.itax_adjustment;
313: --
314: hr_utility.set_location('Leaving: ' || c_proc, 100);
315: end get_withholding_tax_info;
316: -- |-------------------------------------------------------------------|
317: -- |-------------------------< get_prev_jobs >-------------------------|
318: -- |-------------------------------------------------------------------|
419: between piv.effective_start_date and piv.effective_end_date
420: group by pee.element_entry_id
421: order by termination_date desc;
422: begin
423: hr_utility.set_location('Entering: ' || c_proc, 10);
424: --
425: for l_rec in csr_swot loop
426: --
427: -- If the same itax_organization_id exist, existing information is replaced
482: p_prev_jobs(p_prev_jobs.count + 1) := l_prev_job_info;
483: end if;
484: end loop;
485: --
486: hr_utility.set_location(c_proc, 20);
487: --
488: pay_core_utils.get_upgrade_status(
489: P_BUS_GRP_ID => p_business_group_id,
490: P_SHORT_NAME => 'JP_PREV_JOB',
491: P_STATUS => l_upgrade_status,
492: P_RAISE_ERROR => true);
493: --
494: if l_upgrade_status = 'Y' then
495: hr_utility.set_location(c_proc, 21);
496: --
497: for l_rec in csr_job_pem loop
498: l_prev_job_info := null;
499: --
512: --
513: p_prev_jobs(p_prev_jobs.count + 1) := l_prev_job_info;
514: end loop;
515: else
516: hr_utility.set_location(c_proc, 22);
517: --
518: for l_rec in csr_job_pee loop
519: l_prev_job_info := null;
520: --
534: p_prev_jobs(p_prev_jobs.count + 1) := l_prev_job_info;
535: end loop;
536: end if;
537: --
538: hr_utility.set_location(c_proc, 30);
539: --
540: for i in 1..p_prev_jobs.count loop
541: p_prev_jobs(i).mutual_aid_prem := decode_value(p_prev_jobs(i).mutual_aid_prem <> 0, p_prev_jobs(i).mutual_aid_prem);
542: end loop;
540: for i in 1..p_prev_jobs.count loop
541: p_prev_jobs(i).mutual_aid_prem := decode_value(p_prev_jobs(i).mutual_aid_prem <> 0, p_prev_jobs(i).mutual_aid_prem);
542: end loop;
543: --
544: hr_utility.set_location('Leaving: ' || c_proc, 100);
545: end get_prev_jobs;
546: --
547: function convert_prev_jobs(p_prev_jobs t_prev_jobs) return t_prev_job_info
548: is
707: p_submission_required_flag out nocopy varchar2)
708: is
709: c_proc constant varchar2(61) := c_package || 'get_basic_certificate_info (1)';
710: begin
711: hr_utility.set_location('Entering: ' || c_proc, 10);
712: --
713: if p_itax_yea_category = '0' then
714: hr_utility.set_location(c_proc, 21);
715: --
710: begin
711: hr_utility.set_location('Entering: ' || c_proc, 10);
712: --
713: if p_itax_yea_category = '0' then
714: hr_utility.set_location(c_proc, 21);
715: --
716: p_certificate_info.taxable_income := nvl(pay_jp_balance_pkg.get_result_value_number(g_taxable_income_exempt_elm.element_type_id, g_taxable_income_exempt_elm.taxable_income_iv, p_assignment_action_id), 0);
717: p_certificate_info.mutual_aid_prem := nvl(pay_jp_balance_pkg.get_result_value_number(g_ins_prem_exempt_elm.element_type_id, g_ins_prem_exempt_elm.mutual_aid_prem_iv, p_assignment_action_id), 0);
718: p_certificate_info.mutual_aid_prem := decode_value(p_certificate_info.mutual_aid_prem <> 0, p_certificate_info.mutual_aid_prem);
728: --
729: -- No need to calculate Disaster Tax Reduction in case of YEA because it should be ZERO.
730: --
731: else
732: hr_utility.set_location(c_proc, 22);
733: --
734: -- Derive tax information withheld by current employer.
735: --
736: get_withholding_tax_info(
743: p_itax_yea_category => p_itax_yea_category,
744: p_withholding_tax_info => p_certificate_info);
745: end if;
746: --
747: hr_utility.set_location(c_proc, 30);
748: --
749: -- Check whether this Tax Receipt is required to submit to Tax Office or not.
750: --
751: p_submission_required_flag := 'N';
778: end if;
779: end if;
780: end if;
781: --
782: hr_utility.set_location('Leaving: ' || c_proc, 100);
783: end get_basic_certificate_info;
784: --
785: -- Following is deprecated.
786: --
887: decode(per.sex, 'M', 1, 'F', 2, 3),
888: per.last_name,
889: per.first_name;
890: begin
891: hr_utility.set_location('Entering: ' || c_proc, 10);
892: --
893: if p_itax_category in ('M_KOU', 'M_OTSU', 'D_KOU', 'D_OTSU') then
894: hr_utility.set_location(c_proc, 20);
895: --
890: begin
891: hr_utility.set_location('Entering: ' || c_proc, 10);
892: --
893: if p_itax_category in ('M_KOU', 'M_OTSU', 'D_KOU', 'D_OTSU') then
894: hr_utility.set_location(c_proc, 20);
895: --
896: if p_dpnt_ref_type like 'CEI%' then
897: hr_utility.set_location(c_proc, 21);
898: --
893: if p_itax_category in ('M_KOU', 'M_OTSU', 'D_KOU', 'D_OTSU') then
894: hr_utility.set_location(c_proc, 20);
895: --
896: if p_dpnt_ref_type like 'CEI%' then
897: hr_utility.set_location(c_proc, 21);
898: --
899: -- No need to care for performance issue for multiple calls of the following PL/SQL function.
900: -- The following function caches the output variable result for the same input parameter values.
901: --
916: p_dpnts(l_index).first_name_kana := l_dpnt_rec.first_name_kana_tbl(i);
917: p_dpnts(l_index).junior := l_dpnt_rec.junior_tbl(i);
918: end loop;
919: else
920: hr_utility.set_location(c_proc, 22);
921: --
922: for l_rec in csr_dep loop
923: l_index := l_index + 1;
924: --
939: end loop;
940: end if;
941: end if;
942: --
943: hr_utility.set_location('Leaving: ' || c_proc, 100);
944: end get_dpnts;
945: --
946: -- ----------------------------------------------------------------------------
947: -- get_housing_tbl
1021: l_csr_housing csr_housing%rowtype;
1022: --
1023: begin
1024: --
1025: hr_utility.set_location('Entering: '||c_proc,10);
1026: --
1027: open csr_housing;
1028: loop
1029: --
1038: --
1039: end loop;
1040: close csr_housing;
1041: --
1042: hr_utility.set_location('Leaving: '||c_proc,100);
1043: --
1044: end get_housing_tbl;
1045: --
1046: -- |-------------------------------------------------------------------|
1099: and p_effective_date
1100: between piv.effective_start_date and piv.effective_end_date
1101: group by pee.element_entry_id;
1102: begin
1103: hr_utility.set_location('Entering: ' || c_proc, 10);
1104: --
1105: open csr_eev;
1106: fetch csr_eev into
1107: p_itw_override_flag,
1116: p_wtm_description3,
1117: p_wtm_description4,
1118: p_wtm_description5;
1119: if csr_eev%notfound then
1120: hr_utility.trace('EE not found.');
1121: --
1122: p_itw_override_flag := 'N';
1123: p_itw_description1 := null;
1124: p_itw_description2 := null;
1133: p_wtm_description5 := null;
1134: end if;
1135: close csr_eev;
1136: --
1137: hr_utility.set_location('Leaving: ' || c_proc, 100);
1138: end get_ee_description;
1139: --
1140: -- called from gci_b, gci_itw_arc
1141: --
1957: end proc_disaster;
1958: --
1959: begin
1960: --
1961: hr_utility.set_location('Entering: ' || c_proc, 10);
1962: --
1963: if to_number(to_char(p_effective_date,'YYYY')) >= 2009 then
1964: --
1965: hr_utility.set_location(c_proc, 1009);
1961: hr_utility.set_location('Entering: ' || c_proc, 10);
1962: --
1963: if to_number(to_char(p_effective_date,'YYYY')) >= 2009 then
1964: --
1965: hr_utility.set_location(c_proc, 1009);
1966: --
1967: proc_housing_loan1;
1968: --
1969: hr_utility.set_location(c_proc, 2009);
1965: hr_utility.set_location(c_proc, 1009);
1966: --
1967: proc_housing_loan1;
1968: --
1969: hr_utility.set_location(c_proc, 2009);
1970: --
1971: proc_np_prem;
1972: --
1973: hr_utility.set_location(c_proc, 3009);
1969: hr_utility.set_location(c_proc, 2009);
1970: --
1971: proc_np_prem;
1972: --
1973: hr_utility.set_location(c_proc, 3009);
1974: --
1975: proc_housing_loan2;
1976: --
1977: hr_utility.set_location(c_proc, 4009);
1973: hr_utility.set_location(c_proc, 3009);
1974: --
1975: proc_housing_loan2;
1976: --
1977: hr_utility.set_location(c_proc, 4009);
1978: --
1979: proc_prev_job;
1980: --
1981: hr_utility.set_location(c_proc, 5009);
1977: hr_utility.set_location(c_proc, 4009);
1978: --
1979: proc_prev_job;
1980: --
1981: hr_utility.set_location(c_proc, 5009);
1982: --
1983: proc_dependent;
1984: --
1985: hr_utility.set_location(c_proc, 6009);
1981: hr_utility.set_location(c_proc, 5009);
1982: --
1983: proc_dependent;
1984: --
1985: hr_utility.set_location(c_proc, 6009);
1986: --
1987: proc_disaster;
1988: --
1989: -- basically, pass following routine only before 2009, so not maintain since 2010
1988: --
1989: -- basically, pass following routine only before 2009, so not maintain since 2010
1990: else
1991: --
1992: hr_utility.set_location(c_proc, 1000);
1993: --
1994: -- ************************
1995: -- FIXED_RATE_TAX_REDUCTION
1996: -- NP_PREM
2034: end if;
2035: --
2036: end if;
2037: --
2038: hr_utility.set_location(c_proc, 2000);
2039: --
2040: -- ************************
2041: -- DEPENDENT
2042: -- ************************
2081: p_descriptions);
2082: --
2083: end loop;
2084: --
2085: hr_utility.set_location(c_proc, 3000);
2086: --
2087: -- The following information is available only for YEAed assact.
2088: --
2089: if p_itax_yea_category = '0' then
2087: -- The following information is available only for YEAed assact.
2088: --
2089: if p_itax_yea_category = '0' then
2090: --
2091: hr_utility.set_location(c_proc, 3100);
2092: --
2093: -- ************************
2094: -- PREV_JOB
2095: -- ************************
2202: p_descriptions);
2203: --
2204: end loop;
2205: --
2206: hr_utility.set_location(c_proc, 3200);
2207: --
2208: -- ************************
2209: -- HOUSING_TAX_REDUCTION
2210: -- ************************
2301: end if;
2302: --
2303: else
2304: --
2305: hr_utility.set_location(c_proc, 3300);
2306: --
2307: -- ************************
2308: -- DISASTER_TAX_REDUCTION
2309: -- ************************
2329: end if;
2330: --
2331: end if;
2332: --
2333: hr_utility.set_location('Leaving: ' || c_proc, 10000);
2334: --
2335: end get_descriptions;
2336: --
2337: -- Wrapper function for existing user program (for previous behavior)
2391: p_withholding_tax_info out nocopy t_tax_info)
2392: is
2393: c_proc constant varchar2(61) := c_package || 'get_certificate_info (ITT)';
2394: begin
2395: hr_utility.set_location('Entering: ' || c_proc, 10);
2396: --
2397: get_basic_certificate_info(
2398: p_assignment_action_id => p_assignment_action_id,
2399: p_assignment_id => p_assignment_id,
2405: p_employment_category => p_employment_category,
2406: p_certificate_info => p_certificate_info,
2407: p_submission_required_flag => p_submission_required_flag);
2408: --
2409: hr_utility.set_location(c_proc, 20);
2410: --
2411: if p_itax_yea_category = '0' then
2412: hr_utility.set_location(c_proc, 21);
2413: --
2408: --
2409: hr_utility.set_location(c_proc, 20);
2410: --
2411: if p_itax_yea_category = '0' then
2412: hr_utility.set_location(c_proc, 21);
2413: --
2414: --
2415: -- Derive withholding tax information by current employer.
2416: --
2423: p_itax_category => p_itax_category,
2424: p_itax_yea_category => p_itax_yea_category,
2425: p_withholding_tax_info => p_withholding_tax_info);
2426: else
2427: hr_utility.set_location(c_proc, 22);
2428: --
2429: --
2430: -- For non-YEAed employees, current employer's payment with same tax category
2431: -- are shown in certificates. So just copy p_certificate_info to p_withholding_tax_info.
2432: --
2433: p_withholding_tax_info := p_certificate_info;
2434: end if;
2435: --
2436: hr_utility.set_location('Leaving: ' || c_proc, 100);
2437: end get_certificate_info;
2438: -- |-------------------------------------------------------------------|
2439: -- |---------------------< get_basic_certificate_info >----------------|
2440: -- |-------------------------------------------------------------------|
2497: between nvl(ctr.date_start, p_effective_date) and nvl(ctr.date_end, p_effective_date);
2498: --
2499: begin
2500: --
2501: hr_utility.set_location('Entering: ' || c_proc, 10);
2502: --
2503: get_basic_certificate_info(
2504: p_assignment_action_id => p_assignment_action_id,
2505: p_assignment_id => p_assignment_id,
2511: p_employment_category => p_employment_category,
2512: p_certificate_info => p_certificate_info.tax_info,
2513: p_submission_required_flag => p_submission_required_flag);
2514: --
2515: hr_utility.set_location(c_proc, 20);
2516: --
2517: --
2518: -- The following information is specific only for YEAed assignments.
2519: --
2518: -- The following information is specific only for YEAed assignments.
2519: --
2520: if p_itax_yea_category = '0' then
2521: --
2522: hr_utility.set_location(c_proc, 21);
2523: --
2524: p_certificate_info.net_taxable_income
2525: := nvl(pay_jp_balance_pkg.get_result_value_number(g_taxable_income_exempt_elm.element_type_id,g_taxable_income_exempt_elm.net_taxable_income_iv,p_assignment_action_id),0);
2526: --
2654: end if;
2655: --
2656: end if;
2657: --
2658: hr_utility.set_location(c_proc, 22);
2659: --
2660: get_prev_jobs(
2661: p_assignment_id => p_assignment_id,
2662: p_action_sequence => p_action_sequence,
2668: p_prev_jobs => p_prev_jobs);
2669: --
2670: end if;
2671: --
2672: hr_utility.set_location(c_proc, 30);
2673: --
2674: -- Dependents Information
2675: --
2676: if p_itax_category in ('M_KOU', 'M_OTSU', 'D_KOU', 'D_OTSU') then
2676: if p_itax_category in ('M_KOU', 'M_OTSU', 'D_KOU', 'D_OTSU') then
2677: --
2678: if p_itax_yea_category = '0' then
2679: --
2680: hr_utility.set_location(c_proc, 31);
2681: --
2682: l_disabled_type := nvl(pay_jp_balance_pkg.get_result_value_char(g_dep_exempt_result_elm.element_type_id,g_dep_exempt_result_elm.disabled_iv,p_assignment_action_id),'0');
2683: --
2684: if to_number(to_char(p_effective_date,'YYYY')) < 2005 then
2702: l_num_svr_disableds_lt := nvl(pay_jp_balance_pkg.get_result_value_number(g_dep_exempt_result_elm.element_type_id,g_dep_exempt_result_elm.num_svr_disableds_lt_iv,p_assignment_action_id),0);
2703: --
2704: else
2705: --
2706: hr_utility.set_location(c_proc, 32);
2707: --
2708: l_disabled_type := nvl(pay_jp_balance_pkg.get_entry_value_char(g_dep_exempt_elm.disabled_iv,p_assignment_id,p_date_earned),'0');
2709: --
2710: if to_number(to_char(p_effective_date,'YYYY')) < 2005 then
2734: -- This dynamic deriving routine is available when YEA is not processed.
2735: --
2736: if p_dpnt_ref_type = 'CEI' then
2737: --
2738: hr_utility.set_location(c_proc, 33);
2739: --
2740: if l_spouse_type is null
2741: or l_spouse_disabled_type is null
2742: or l_num_deps is null
2766: end if;
2767: --
2768: else
2769: --
2770: hr_utility.set_location(c_proc, 34);
2771: --
2772: l_spouse_type := nvl(l_spouse_type,'0');
2773: l_spouse_disabled_type := nvl(l_spouse_disabled_type,'0');
2774: l_num_deps := nvl(l_num_deps,0);
2813: end if;
2814: --
2815: end if;
2816: --
2817: hr_utility.set_location(c_proc, 34);
2818: --
2819: if p_itax_category in ('M_KOU','D_KOU') then
2820: --
2821: hr_utility.set_location(c_proc, 35);
2817: hr_utility.set_location(c_proc, 34);
2818: --
2819: if p_itax_category in ('M_KOU','D_KOU') then
2820: --
2821: hr_utility.set_location(c_proc, 35);
2822: --
2823: if l_spouse_type = '2' then
2824: --
2825: p_certificate_info.dep_spouse_exists_kou := 'Y';
2921: end if;
2922: --
2923: elsif p_itax_category in ('M_OTSU','D_OTSU') then
2924: --
2925: hr_utility.set_location(c_proc, 36);
2926: --
2927: if l_spouse_type = '2' then
2928: --
2929: p_certificate_info.dep_spouse_exists_otsu := 'Y';
2951: p_certificate_info.num_junior_deps := decode_value(nvl(l_num_junior_deps,0) > 0, l_num_junior_deps);
2952: --
2953: end if;
2954: --
2955: hr_utility.set_location(c_proc, 40);
2956: --
2957: --
2958: -- Husband Exists
2959: --
3026: p_certificate_info.foreigner_flag := 'Y';
3027: --
3028: end if;
3029: --
3030: hr_utility.set_location('Leaving: ' || c_proc, 100);
3031: --
3032: end get_basic_certificate_info;
3033: --
3034: -- |-------------------------------------------------------------------|
3100: end concat_description;
3101: --
3102: begin
3103: --
3104: hr_utility.set_location('Entering: ' || c_proc, 10);
3105: --
3106: get_basic_certificate_info(
3107: p_assignment_action_id => p_assignment_action_id,
3108: p_assignment_id => p_assignment_id,
3124: p_submission_required_flag => p_submission_required_flag,
3125: p_prev_jobs => p_prev_jobs,
3126: p_housing_tbl => p_housing_tbl);
3127: --
3128: hr_utility.set_location(c_proc, 20);
3129: --
3130: -- Get Description information
3131: -- When description on element entry is marked as "Override",
3132: -- subsequent description will be replaced by this.
3139: p_itw_description => l_itw_description,
3140: p_wtm_override_flag => l_wtm_override_flag,
3141: p_wtm_description => l_wtm_description);
3142: --
3143: hr_utility.set_location(c_proc, 30);
3144: --
3145: if p_magnetic_media_flag = 'Y' then
3146: --
3147: hr_utility.set_location(c_proc, 31);
3143: hr_utility.set_location(c_proc, 30);
3144: --
3145: if p_magnetic_media_flag = 'Y' then
3146: --
3147: hr_utility.set_location(c_proc, 31);
3148: --
3149: l_override_flag := l_wtm_override_flag;
3150: l_description := l_wtm_description;
3151: l_report_type := WTM;
3151: l_report_type := WTM;
3152: --
3153: else
3154: --
3155: hr_utility.set_location(c_proc, 32);
3156: --
3157: l_override_flag := l_itw_override_flag;
3158: l_description := l_itw_description;
3159: l_report_type := ITW;
3159: l_report_type := ITW;
3160: --
3161: end if;
3162: --
3163: hr_utility.set_location(c_proc, 40);
3164: --
3165: if l_override_flag = 'Y' then
3166: --
3167: hr_utility.set_location(c_proc, 41);
3163: hr_utility.set_location(c_proc, 40);
3164: --
3165: if l_override_flag = 'Y' then
3166: --
3167: hr_utility.set_location(c_proc, 41);
3168: --
3169: p_certificate_info.description_kanji := l_description;
3170: p_certificate_info.description_kana := hr_jp_standard_pkg.to_hankaku(l_description);
3171: --
3170: p_certificate_info.description_kana := hr_jp_standard_pkg.to_hankaku(l_description);
3171: --
3172: else
3173: --
3174: hr_utility.set_location(c_proc, 42);
3175: --
3176: get_dpnts(
3177: p_dpnt_ref_type => p_dpnt_ref_type,
3178: p_assignment_id => p_assignment_id,
3182: p_effective_date => p_effective_date,
3183: p_sex => p_sex,
3184: p_dpnts => l_dpnts);
3185: --
3186: hr_utility.set_location(c_proc, 43);
3187: --
3188: get_descriptions(
3189: p_assignment_id => p_assignment_id,
3190: p_person_id => p_person_id,
3198: p_housing_tbl => p_housing_tbl,
3199: p_report_type => l_report_type,
3200: p_descriptions => l_descriptions);
3201: --
3202: hr_utility.set_location(c_proc, 44);
3203: --
3204: -- Construct Description field.
3205: --
3206: for i in 1..l_descriptions.count loop
3204: -- Construct Description field.
3205: --
3206: for i in 1..l_descriptions.count loop
3207: --
3208: hr_utility.set_location(c_proc, 45);
3209: --
3210: if p_magnetic_media_flag = 'Y' then
3211: --
3212: concat_description(l_descriptions(i).description_kanji, p_certificate_info.description_kanji, ',');
3234: concat_description(hr_jp_standard_pkg.to_hankaku(l_description), p_certificate_info.description_kana, ',');
3235: --
3236: end if;
3237: --
3238: hr_utility.set_location('Leaving: ' || c_proc, 100);
3239: --
3240: end get_certificate_info;
3241: --
3242: -- Wrapper function for WTM (used this in efile PAYJPWTM, PAYJPSPE : gci_wtm)
3409: l_housing_tbl t_housing_tbl;
3410: --
3411: begin
3412: --
3413: hr_utility.set_location('Entering: ' || c_proc, 10);
3414: --
3415: get_certificate_info(
3416: p_assignment_action_id => p_assignment_action_id,
3417: p_assignment_id => p_assignment_id,
3436: p_submission_required_flag => p_submission_required_flag,
3437: p_prev_jobs => p_prev_jobs,
3438: p_housing_tbl => l_housing_tbl);
3439: --
3440: hr_utility.set_location(c_proc, 20);
3441: --
3442: if p_itax_yea_category = '0' then
3443: --
3444: hr_utility.set_location(c_proc, 21);
3440: hr_utility.set_location(c_proc, 20);
3441: --
3442: if p_itax_yea_category = '0' then
3443: --
3444: hr_utility.set_location(c_proc, 21);
3445: --
3446: -- Derive withholding tax information by current employer.
3447: --
3448: get_withholding_tax_info(
3456: p_withholding_tax_info => p_withholding_tax_info);
3457: --
3458: else
3459: --
3460: hr_utility.set_location(c_proc, 22);
3461: --
3462: -- For non-YEAed employees, current employer's payment with same tax category
3463: -- are shown in certificates. So just copy p_certificate_info to p_withholding_tax_info.
3464: --
3465: p_withholding_tax_info := p_certificate_info.tax_info;
3466: --
3467: end if;
3468: --
3469: hr_utility.set_location('Leaving: ' || c_proc, 100);
3470: --
3471: end get_certificate_info;
3472: --
3473: -- |-------------------------------------------------------------------|
3516: l_wtm_override_flag varchar2(1);
3517: --
3518: begin
3519: --
3520: hr_utility.set_location('Entering: ' || c_proc, 10);
3521: --
3522: get_basic_certificate_info(
3523: p_assignment_action_id => p_assignment_action_id,
3524: p_assignment_id => p_assignment_id,
3540: p_submission_required_flag => p_submission_required_flag,
3541: p_prev_jobs => l_prev_jobs,
3542: p_housing_tbl => l_housing_tbl);
3543: --
3544: hr_utility.set_location(c_proc, 20);
3545: --
3546: p_housing_info := convert_housing_tbl(
3547: p_effective_date,
3548: p_itax_yea_category,
3550: l_housing_tbl);
3551: --
3552: p_prev_job_info := convert_prev_jobs(l_prev_jobs);
3553: --
3554: hr_utility.set_location(c_proc, 30);
3555: --
3556: if p_itax_yea_category = '0' then
3557: --
3558: -- Derive withholding tax information by current employer.
3575: p_withholding_tax_info := p_certificate_info.tax_info;
3576: --
3577: end if;
3578: --
3579: hr_utility.set_location(c_proc, 40);
3580: --
3581: -- Get Description information
3582: -- When description on element entry is marked as "Override",
3583: -- subsequent description will be replaced by this.
3590: p_itw_description => p_itw_description,
3591: p_wtm_override_flag => l_wtm_override_flag,
3592: p_wtm_description => p_wtm_description);
3593: --
3594: hr_utility.set_location(c_proc, 50);
3595: --
3596: if l_itw_override_flag = 'N' or l_wtm_override_flag = 'N' then
3597: --
3598: hr_utility.set_location(c_proc, 51);
3594: hr_utility.set_location(c_proc, 50);
3595: --
3596: if l_itw_override_flag = 'N' or l_wtm_override_flag = 'N' then
3597: --
3598: hr_utility.set_location(c_proc, 51);
3599: --
3600: get_dpnts(
3601: p_dpnt_ref_type => p_dpnt_ref_type,
3602: p_assignment_id => p_assignment_id,
3606: p_effective_date => p_effective_date,
3607: p_sex => p_sex,
3608: p_dpnts => l_dpnts);
3609: --
3610: hr_utility.set_location(c_proc, 52);
3611: --
3612: if l_itw_override_flag = 'N' then
3613: --
3614: hr_utility.set_location(c_proc, 53);
3610: hr_utility.set_location(c_proc, 52);
3611: --
3612: if l_itw_override_flag = 'N' then
3613: --
3614: hr_utility.set_location(c_proc, 53);
3615: --
3616: get_descriptions(
3617: p_assignment_id => p_assignment_id,
3618: p_person_id => p_person_id,
3630: end if;
3631: --
3632: if l_wtm_override_flag = 'N' then
3633: --
3634: hr_utility.set_location(c_proc, 54);
3635: --
3636: get_descriptions(
3637: p_assignment_id => p_assignment_id,
3638: p_person_id => p_person_id,
3648: p_descriptions => p_wtm_descriptions);
3649: --
3650: end if;
3651: --
3652: hr_utility.set_location(c_proc, 55);
3653: --
3654: end if;
3655: --
3656: hr_utility.set_location('Leaving: ' || c_proc, 100);
3652: hr_utility.set_location(c_proc, 55);
3653: --
3654: end if;
3655: --
3656: hr_utility.set_location('Leaving: ' || c_proc, 100);
3657: --
3658: end get_certificate_info;
3659: --
3660: -- Wrapper function for wage ledger (used this in PAYJPWL_ARCHIVE : gci_wl_arc)
3762: --
3763: if p_termination_date is not null then
3764: --
3765: if pay_jp_wic_pkg.g_valid_term_taxable_amt is null then
3766: hr_utility.set_message(800,'HR_7914_CHECK_FMT_NUMBER');
3767: hr_utility.set_message_token('ARG_NAME','pay_jp_wic_pkg.g_valid_term_taxable_amt');
3768: hr_utility.set_message_token('ARG_VALUE','pay_jp_wic_pkg.g_valid_term_taxable_amt');
3769: hr_utility.raise_error;
3770: end if;
3763: if p_termination_date is not null then
3764: --
3765: if pay_jp_wic_pkg.g_valid_term_taxable_amt is null then
3766: hr_utility.set_message(800,'HR_7914_CHECK_FMT_NUMBER');
3767: hr_utility.set_message_token('ARG_NAME','pay_jp_wic_pkg.g_valid_term_taxable_amt');
3768: hr_utility.set_message_token('ARG_VALUE','pay_jp_wic_pkg.g_valid_term_taxable_amt');
3769: hr_utility.raise_error;
3770: end if;
3771: --
3764: --
3765: if pay_jp_wic_pkg.g_valid_term_taxable_amt is null then
3766: hr_utility.set_message(800,'HR_7914_CHECK_FMT_NUMBER');
3767: hr_utility.set_message_token('ARG_NAME','pay_jp_wic_pkg.g_valid_term_taxable_amt');
3768: hr_utility.set_message_token('ARG_VALUE','pay_jp_wic_pkg.g_valid_term_taxable_amt');
3769: hr_utility.raise_error;
3770: end if;
3771: --
3772: if p_certificate_info.tax_info.taxable_income is null then
3765: if pay_jp_wic_pkg.g_valid_term_taxable_amt is null then
3766: hr_utility.set_message(800,'HR_7914_CHECK_FMT_NUMBER');
3767: hr_utility.set_message_token('ARG_NAME','pay_jp_wic_pkg.g_valid_term_taxable_amt');
3768: hr_utility.set_message_token('ARG_VALUE','pay_jp_wic_pkg.g_valid_term_taxable_amt');
3769: hr_utility.raise_error;
3770: end if;
3771: --
3772: if p_certificate_info.tax_info.taxable_income is null then
3773: --
4163: g_housing_loan_info_elm.res_date_iv := hr_jp_id_pkg.input_value_id(g_housing_loan_info_elm.element_type_id,'RES_DATE');
4164: g_housing_loan_info_elm.loan_type_iv := hr_jp_id_pkg.input_value_id(g_housing_loan_info_elm.element_type_id,'LOAN_TYPE');
4165: g_housing_loan_info_elm.loan_balance_iv := hr_jp_id_pkg.input_value_id(g_housing_loan_info_elm.element_type_id,'LOAN_BALANCE');
4166: --
4167: -- hr_utility.trace_on('F', 'TTAGAWA');
4168: end pay_jp_wic_pkg;
4169: