1 PACKAGE pay_in_tax_utils AUTHID CURRENT_USER AS
2 /* $Header: pyintxut.pkh 120.15.12020000.3 2013/04/09 10:59:34 pthummal ship $ */
3
4 function get_financial_year_start (p_date in date ) return date;
5 function get_financial_year_end (p_date in date ) return date;
6 function get_tax_year_start (p_payroll_id in number, p_date in date ) return date;
7 function get_tax_year_end (p_payroll_id in number, p_date in date ) return date;
8 function get_period_number ( p_payroll_id in pay_all_payrolls_f.payroll_id%type,
9 p_date in date ) return number ;
10 function taxable_hra( p_assact_id in number
11 ,p_element_entry_id in number
12 ,p_effective_date in date
13 ,p_pay_period_num in number
14 ,p_hra_salary in number
15 ,p_std_hra_salary in number
16 ,p_hra_allowance_asg_run in number
17 ,p_hra_allowance_asg_ytd in number
18 ,p_std_hra_allow_asg_run in number
19 ,p_std_hra_allow_asg_ytd in number
20 ,p_hra_taxable_mth out NOCOPY number
21 ,p_hra_taxable_annual out NOCOPY number
22 ,p_message out nocopy varchar2) return number;
23
24 /* Bug:3901883 Added two more output parameters for pf and superannuation */
25 /* Bug:3919215 Added p_prev_govt_ent_alw */
26 function prev_emplr_details
27 (p_assignment_id in number
28 ,p_date_earned in date
29 ,p_prev_sal out nocopy number
30 ,p_prev_tds out nocopy number
31 ,p_prev_pt out nocopy number
32 ,p_prev_ent_alw out NOCOPY number
33 ,p_prev_pf OUT NOCOPY number
34 ,p_prev_super OUT NOCOPY number
35 ,p_prev_govt_ent_alw out nocopy number
36 ,p_prev_grat OUT NOCOPY NUMBER
37 ,p_prev_leave_encash OUT NOCOPY NUMBER
38 ,p_prev_retr_amt OUT NOCOPY NUMBER
39 ,p_designation OUT NOCOPY VARCHAR2
40 ,p_annual_sal OUT NOCOPY NUMBER
41 ,p_pf_number OUT NOCOPY VARCHAR2
42 ,p_pf_estab_code OUT NOCOPY VARCHAR2
43 ,p_epf_number OUT NOCOPY VARCHAR2
44 ,p_emplr_class OUT NOCOPY VARCHAR2
45 ,p_ltc_curr_block OUT NOCOPY NUMBER
46 ,p_vrs_amount OUT NOCOPY NUMBER
47 ,p_prev_sc OUT NOCOPY NUMBER
48 ,p_prev_cess OUT NOCOPY NUMBER
49 ,p_prev_exemp_80gg OUT NOCOPY NUMBER
50 ,p_prev_med_reimburse_amt OUT NOCOPY NUMBER
51 ,p_prev_sec_and_he_cess OUT NOCOPY NUMBER
52 ,p_prev_exemp_80ccd OUT NOCOPY NUMBER
53 ,p_prev_cghs_exemp_80d OUT NOCOPY NUMBER) Return Number;
54
55 function other_allowance_details
56 ( p_element_type_id in number
57 ,p_date_earned in date
58 ,p_allowance_name out NOCOPY varchar2
59 ,p_allowance_category out NOCOPY varchar2
60 ,p_max_exemption_amount out NOCOPY number
61 ,p_nature_of_expense OUT NOCOPY VARCHAR2 ) Return Number;
62
63
64 function get_disability_details
65 ( p_assignment_id in number
66 ,p_date_earned in date
67 ,p_disable_catg out NOCOPY varchar2
68 ,p_disable_degree out NOCOPY number
69 ,p_disable_proof out NOCOPY varchar2) Return Number;
70
71 FUNCTION get_residential_status (p_assignment_id in number,
72 p_effective_date in date )
73 return Varchar2;
74
75
76 function get_age( p_assignment_id in number
77 ,p_date_earned in date) Return Number;
78
79 function act_rent_paid( p_assignment_action_id in number
80 ,p_date_earned in date) Return Number;
81
82
83 FUNCTION check_ee_exists(p_element_name IN VARCHAR2
84 ,p_assignment_id IN NUMBER
85 ,p_effective_date IN DATE
86 ,p_element_entry_id OUT NOCOPY NUMBER
87 ,p_start_date OUT NOCOPY DATE
88 ,p_ee_ovn OUT NOCOPY NUMBER
89 )
90 RETURN BOOLEAN;
91
92
93 FUNCTION get_entry_earliest_start_date(p_element_entry_id IN NUMBER
94 ,p_element_type_id IN NUMBER
95 ,p_assignment_id IN NUMBER
96 )
97 RETURN DATE;
98
99
100 FUNCTION get_projected_loan_perquisite(p_outstanding_balance IN NUMBER
101 ,p_remaining_period IN NUMBER
102 ,p_employee_contribution IN NUMBER
103 ,p_interest IN NUMBER
104 ,p_concessional_interest IN NUMBER
105 )
106 RETURN NUMBER;
107
108 FUNCTION get_perquisite_details
109 (p_element_type_id IN NUMBER
110 ,p_date_earned IN DATE
111 ,p_assignment_action_id IN NUMBER
112 ,p_assignment_id IN NUMBER
113 ,p_business_group_id IN NUMBER
114 ,p_element_entry_id IN NUMBER
115 ,p_emp_status IN VARCHAR2
116 ,p_taxable_flag OUT NOCOPY VARCHAR2
117 ,p_exemption_amount OUT NOCOPY NUMBER)
118 RETURN NUMBER;
119
120 FUNCTION calculate_80gg_exemption
121 (p_assact_id IN NUMBER
122 ,p_assignment_id IN NUMBER
123 ,p_payroll_id IN NUMBER
124 ,p_effective_date IN DATE
125 ,p_std_exemption IN NUMBER
126 ,p_adj_tot_income IN NUMBER
127 ,p_std_exem_percent IN NUMBER
128 ,p_start_period_num IN NUMBER
129 ,p_last_period_number IN NUMBER
130 ,p_flag IN VARCHAR2)
131 RETURN NUMBER;
132
133 FUNCTION check_ltc_exemption
134 (p_element_type_id IN NUMBER
135 ,p_date_earned IN DATE
136 ,p_assignment_action_id IN NUMBER
137 ,p_assignment_id IN NUMBER
138 ,p_element_entry_id IN NUMBER
139 ,p_carry_over_flag IN OUT NOCOPY VARCHAR2
140 ,p_exempted_flag IN OUT NOCOPY VARCHAR2
141 ) RETURN NUMBER;
142
143 FUNCTION get_defined_balance
144 (p_balance_type in pay_balance_types.balance_name%type
145 ,p_dimension_name in pay_balance_dimensions.dimension_name%type )
146 RETURN NUMBER;
147
148
149 FUNCTION get_balance_value
150 (p_assignment_action_id IN NUMBER
151 ,p_balance_name IN pay_balance_types.balance_name%TYPE
152 ,p_dimension_name IN pay_balance_dimensions.dimension_name%TYPE
153 ,p_context_name IN ff_contexts.context_name%TYPE
154 ,p_context_value IN VARCHAR2
155 ) RETURN NUMBER ;
156
157
158 FUNCTION get_org_id
159 (p_assignment_id IN NUMBER
160 ,p_business_group_id IN NUMBER
161 ,p_date IN DATE
162 ,p_org_type IN VARCHAR2)
163 RETURN NUMBER ;
164
165 FUNCTION get_pay_periods (p_payroll_id IN NUMBER
166 ,p_tax_unit_id IN NUMBER
167 ,p_assignment_id IN NUMBER
168 ,p_date_earned IN DATE
169 ,p_period_end_date IN DATE
170 ,p_termination_date IN DATE
171 ,p_period_number IN NUMBER
172 ,p_condition IN VARCHAR2
173 )
174 RETURN NUMBER;
175
176 FUNCTION get_income_tax(p_business_group_id IN NUMBER
177 ,p_assignment_id IN NUMBER
178 ,p_total_income IN NUMBER
179 ,p_gender IN VARCHAR2
180 ,p_age IN NUMBER
181 ,p_pay_end_date IN DATE
182 ,p_marginal_relief OUT NOCOPY NUMBER
183 ,p_surcharge OUT NOCOPY NUMBER
184 ,p_education_cess OUT NOCOPY NUMBER
185 ,p_message OUT NOCOPY VARCHAR2
186 ,p_sec_and_he_cess OUT NOCOPY NUMBER
187 ,p_pay_date_paid IN DATE)
188 RETURN NUMBER ;
189
190 FUNCTION get_income_tax(p_business_group_id IN NUMBER
191 ,p_assignment_id IN NUMBER
192 ,p_total_income IN NUMBER
193 ,p_gender IN VARCHAR2
194 ,p_age IN NUMBER
195 ,p_pay_end_date IN DATE
196 ,p_marginal_relief OUT NOCOPY NUMBER
197 ,p_surcharge OUT NOCOPY NUMBER
198 ,p_education_cess OUT NOCOPY NUMBER
199 ,p_message OUT NOCOPY VARCHAR2
200 ,p_sec_and_he_cess OUT NOCOPY NUMBER
201 ,p_pay_date_paid IN DATE
202 ,p_sec87_rebate OUT NOCOPY NUMBER )
203 RETURN NUMBER ;
204
205 FUNCTION le_start_date(p_tax_unit_id IN NUMBER
206 ,p_assignment_id IN NUMBER
207 ,p_effective_date IN DATE
208 )
209 RETURN DATE;
210
211 FUNCTION le_end_date(p_tax_unit_id IN NUMBER
212 ,p_assignment_id IN NUMBER
213 ,p_effective_date IN DATE
214 )
215 RETURN DATE;
216
217 FUNCTION get_value_on_le_start
218 (p_assignment_id IN NUMBER
219 ,p_tax_unit_id IN NUMBER
220 ,p_effective_date IN DATE
221 ,p_balance_name IN pay_balance_types.balance_name%TYPE
222 ,p_dimension_name IN pay_balance_dimensions.dimension_name%TYPE
223 ,p_context_name IN ff_contexts.context_name%TYPE
224 ,p_context_value IN VARCHAR2
225 ,p_success OUT NOCOPY VARCHAR2
226 )
227 RETURN NUMBER;
228
229 FUNCTION prev_med_reimbursement(p_assignment_id in number
230 ,p_date_earned in date
231 )
232 RETURN NUMBER;
233
234 FUNCTION get_value_prev_period
235 (p_assignment_id IN NUMBER
236 ,p_assignment_action_id IN NUMBER
237 ,p_payroll_action_id IN NUMBER
238 ,p_tax_unit_id IN NUMBER
239 ,p_balance_name IN pay_balance_types.balance_name%TYPE
240 ,p_le_start_date IN DATE
241 )
242 RETURN NUMBER;
243
244 FUNCTION get_regular_run_exists
245 (p_assignment_action_id NUMBER)
246 RETURN VARCHAR2 ;
247
248 FUNCTION bon_section_89_relief
249 (p_business_group_id IN NUMBER
250 ,p_assignment_id IN NUMBER
251 ,p_total_income IN NUMBER
252 ,p_retro_earnings_py IN NUMBER
253 ,p_retro_allw_exempt_py IN NUMBER
254 ,p_emplr_class IN VARCHAR2
255 ,p_retro_ent_allw_py IN NUMBER
256 ,p_pay_end_date IN DATE
257 ,p_tax_section_89 IN NUMBER
258 ,p_tax_Pyble_Curr_Yr IN NUMBER
259 ,p_gender IN VARCHAR2
260 ,p_age IN NUMBER
261 ,p_pay_date_paid IN DATE)
262 RETURN NUMBER ;
263
264 FUNCTION bon_calculate_80g_gg
265 (p_assact_id IN NUMBER,
266 p_assignment_id IN NUMBER,
267 p_payroll_id IN NUMBER,
268 p_effective_date IN DATE,
269 p_gross_Total_Income IN NUMBER,
270 p_tot_via_exc_80gg_g IN NUMBER,
271 p_oth_inc IN NUMBER,
272 p_80gg_periods IN NUMBER,
273 p_start_period IN NUMBER,
274 p_end_period IN NUMBER,
275 p_flag IN VARCHAR2,
276 p_exemptions_80g_ue IN NUMBER,
277 p_exemptions_80g_le IN NUMBER,
278 p_exemptions_80g_fp IN NUMBER,
279 p_dedn_Sec_80GG OUT NOCOPY NUMBER,
283 p_Dedn_Sec_80G_FP OUT NOCOPY NUMBER,
280 p_dedn_Sec_80G OUT NOCOPY NUMBER,
281 p_dedn_Sec_80G_UE OUT NOCOPY NUMBER,
282 p_dedn_Sec_80G_LE OUT NOCOPY NUMBER,
284 p_adj_total_income OUT NOCOPY NUMBER)
285 RETURN NUMBER;
286
287 END pay_in_tax_utils ;
288