DBA Data[Home] [Help]

PACKAGE BODY: APPS.PAY_KR_NONSTAT_SPAY_EFILE_FUN

Source


1 package body pay_kr_nonstat_spay_efile_fun as
2 /*$Header: pykrnspen.pkb 120.4.12020000.3 2013/02/13 13:33:21 mdubasi ship $ */
3 
4 /*************************************************************************
5  * Function that count the Previous Employers.
6  *
7  *************************************************************************/
8 	function get_prev_emp_count (p_assignment_action_id IN Number) return Number
9 	is
10 		l_prev_emp_count NUMBER(4);
11 		cursor csr_get_prev_emp_count
12 		is
13 		select
14 			nvl(count(fue.user_entity_id),0) prev_emp_count
15 		from ff_Archive_items fai
16 			,ff_user_entities fue
17 		where fue.user_entity_id                   = fai.user_entity_id
18 			and fue.user_entity_name               = 'X_KR_PREV_BP_NUMBER'
19 			and fai.context1                       = p_assignment_action_id
20 		group by fai.context1;
21 	begin
22 		open  csr_get_prev_emp_count;
23 		fetch csr_get_prev_emp_count into l_prev_emp_count;
24 		close csr_get_prev_emp_count;
25 		return nvl(l_prev_emp_count, 0);
26 	end get_prev_emp_count;
27 
28 /*************************************************************************
29  * Bug 7712932: Function to return the Statutory/Non-Statutory Separation
30  * Pay Overseas Tax Break values.
31  *************************************************************************/
32  FUNCTION get_sep_pay_ovr_tax_brk(
33 		p_assignment_action_id 	in number,
34 		p_assignment_id		in number,
35 		p_type 			in varchar2) return number
36  IS
37  --
38  l_stat_sp_ovr_tax_brk number:= 0;
39  l_non_stat_sp_ovr_tax_brk number:= 0;
40  --
41  CURSOR csr_sep_pay_ovr_tax_brk is
42  select nvl(sep_pay_overseas_tax_break,0),
43         nvl(non_stat_sep_overseas_tax_brk,0)
44  from   pay_kr_sep_tax_v
45  where  xassignment_action_id = p_assignment_action_id
46    and  assignment_id 	      = p_assignment_id;
47  --
48  BEGIN
49  	open csr_sep_pay_ovr_tax_brk;
50  	fetch csr_sep_pay_ovr_tax_brk into l_stat_sp_ovr_tax_brk,l_non_stat_sp_ovr_tax_brk;
51 	close csr_sep_pay_ovr_tax_brk;
52 
53      	if (p_type = 'SEP') then
54    	   return nvl(l_stat_sp_ovr_tax_brk,0);
55 	elsif (p_type = 'NSEP') then
56    	   return nvl(l_non_stat_sp_ovr_tax_brk,0);
57   	end if;
58 
59  END get_sep_pay_ovr_tax_brk;
60 
61 
62  FUNCTION get_assignment_action_id(
63 		p_assignment_action_id 	in number,
64 		p_assignment_id		in number) return number
65  IS
66 l_assignment_action_id number := 0;
67 
68 CURSOR csr_get_assgn_act_id is
69  select assignment_action_id
70  from   pay_kr_sep_tax_v
71  where  xassignment_action_id = p_assignment_action_id
72    and  assignment_id 	      = p_assignment_id;
73 
74 begin
75 
76 open csr_get_assgn_act_id;
77 fetch csr_get_assgn_act_id into l_assignment_action_id;
78 close csr_get_assgn_act_id;
79 
80 return nvl(to_number(l_assignment_action_id),0);
81 
82 end get_assignment_action_id;
83 
84 FUNCTION get_element_rr_date_value(
85 		p_assignment_action_id 	in 	number
86 	       ,p_input_value_name	in	varchar2
87 	       ,p_element_name          in      varchar2
88 		) RETURN varchar2
89 IS
90 --
91       l_dummy pay_run_result_values.result_value%type;
92       CURSOR csr(l_assignment_action_id number, l_input_value_name varchar2, l_element_name varchar2) is
93       SELECT   	nvl(to_char(fnd_date.canonical_to_date(prrv.result_value),'YYYY/MM/DD'), '0')
94 	FROM    pay_input_values_f       piv
95 	       ,pay_run_result_values    prrv
96 	       ,pay_run_results          prr
97 	       ,pay_payroll_actions      ppa
98 	       ,pay_assignment_actions   paa
99 	       ,pay_element_types_f      pet
100 	WHERE   paa.assignment_action_id = l_assignment_action_id
101 	and     ppa.payroll_action_id 	= paa.payroll_action_id
102 	and     prr.assignment_action_id = paa.assignment_action_id
103 	and     prr.status 		in ('P', 'PA')
104 	and     prr.element_type_id 	= pet.element_type_id
105 	and     pet.element_name 	= l_element_name
106         and     piv.legislation_code 	= 'KR'
107         and     pet.legislation_code 	= 'KR'
108 	and     prrv.run_result_id 	= prr.run_result_id
109 	and     piv.input_value_id 	= prrv.input_value_id
110 	and	piv.name 		= l_input_value_name
111 	and     ppa.effective_date
112 		between piv.effective_start_date and piv.effective_end_date;
113 --
114 BEGIN
115 --
116       l_dummy := '0';
117 
118       OPEN csr(p_assignment_action_id,p_input_value_name,p_element_name);
119       FETCH csr into l_dummy;
120 
121       IF csr%NOTFOUND THEN
122 	l_dummy := '0';
123       END IF;
124 
125       CLOSE csr;
126 
127 RETURN l_dummy;
128 --
129 END;
130 
131 FUNCTION get_bus_reg_fin_num(
132 		p_fin_inst_code 	in varchar2,
133     p_fin_inst_name  out NOCOPY varchar2,
134     p_bus_reg_number out NOCOPY varchar2
135 		) return number
136  IS
137 l_bus_reg_number varchar2(20);
138 
139 begin
140 
141 select meaning,description into p_fin_inst_name,p_bus_reg_number from
142 hr_lookups where lookup_type = 'PAY_KR_PENSION_FINANCIAL_INST' and
143 lookup_code = p_fin_inst_code;
144 
145 return 1;
146 
147 end get_bus_reg_fin_num;
148 
149 end pay_kr_nonstat_spay_efile_fun;