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