[Home] [Help]
PACKAGE BODY: APPS.PAY_US_ISETUP_EARN_DEDN
Source
1 PACKAGE BODY pay_us_iSetup_earn_dedn AS
2 /* $Header: pyusisetup.pkb 120.4 2005/08/25 19:29:56 ndorai noship $ */
3 -----------------------------------------------------------------------------
4 -- CREATE_ISETUP_EARN_ELEMENT
5 -----------------------------------------------------------------------------
6 FUNCTION create_isetup_earn_element
7 (p_ele_name in varchar2
8 ,p_ele_reporting_name in varchar2
9 ,p_ele_description in varchar2
10 ,p_ele_classification in varchar2
11 ,p_ele_category in varchar2
12 ,p_ele_ot_base in varchar2
13 ,p_flsa_hours in varchar2
14 ,p_ele_processing_type in varchar2
15 ,p_ele_priority in number
16 ,p_ele_standard_link in varchar2
17 ,p_ele_calc_ff_id in number
18 ,p_ele_calc_ff_name in varchar2
19 ,p_sep_check_option in varchar2
20 ,p_dedn_proc in varchar2
21 ,p_mix_flag in varchar2
22 ,p_reduce_regular in varchar2
23 ,p_ele_eff_start_date in date
24 ,p_ele_eff_end_date in date
25 ,p_alien_supp_category in varchar2
26 ,p_bg_id in number
27 ,p_termination_rule in varchar2 default 'F'
28 ,p_grossup_chk in varchar2
29 ,p_legislation_code in varchar2
30 )
31 RETURN NUMBER is
32 --
33 l_ele_type_id number;
34 l_proc varchar2(50) := 'pay_iSetup_earn_dedn';
35
36 BEGIN
37 --
38 IF p_grossup_chk = 'N' THEN
39 IF p_ele_classification = 'Alien/Expat Earnings' THEN
40 --
41 l_ele_type_id := pqp_earnings_template.create_ele_template_objects
42 (p_ele_name => p_ele_name
43 ,p_ele_reporting_name => p_ele_reporting_name
44 ,p_ele_description => p_ele_description
45 ,p_ele_classification => p_ele_classification
46 ,p_ele_category => p_ele_category
47 ,p_ele_processing_type => p_ele_processing_type
48 ,p_ele_priority => p_ele_priority
49 ,p_ele_standard_link => p_ele_standard_link
50 ,p_ele_ot_base => p_ele_ot_base
51 ,p_flsa_hours => p_flsa_hours
52 ,p_ele_calc_ff_name => p_ele_calc_ff_name
53 ,p_sep_check_option => p_sep_check_option
54 ,p_dedn_proc => p_dedn_proc
55 ,p_reduce_regular => p_reduce_regular
56 ,p_ele_eff_start_date => p_ele_eff_start_date
57 ,p_ele_eff_end_date => p_ele_eff_end_date
58 ,p_supp_category => p_alien_supp_category
59 ,p_legislation_code => 'US'
60 ,p_bg_id => p_bg_id
61 ,p_termination_rule => p_termination_rule
62 );
63 hr_utility.set_location(l_proc, 10);
64 --
65 ELSE
66 l_ele_type_id := hr_user_init_earn.do_insertions
67 (p_ele_name => p_ele_name
68 ,p_ele_reporting_name => p_ele_reporting_name
69 ,p_ele_description => p_ele_description
70 ,p_ele_classification => p_ele_classification
71 ,p_ele_category => p_ele_category
72 ,p_ele_ot_base => p_ele_ot_base
73 ,p_flsa_hours => p_flsa_hours
74 ,p_ele_processing_type => p_ele_processing_type
75 ,p_ele_priority => p_ele_priority
76 ,p_ele_standard_link => p_ele_standard_link
77 ,p_ele_calc_ff_id => p_ele_calc_ff_id
78 ,p_ele_calc_ff_name => p_ele_calc_ff_name
79 ,p_sep_check_option => p_sep_check_option
80 ,p_dedn_proc => p_dedn_proc
81 ,p_mix_flag => p_mix_flag
82 ,p_reduce_regular => p_reduce_regular
83 ,p_ele_eff_start_date => p_ele_eff_start_date
84 ,p_ele_eff_end_date => p_ele_eff_end_date
85 ,p_bg_id => p_bg_id
86 ,p_termination_rule => p_termination_rule
87 );
88 hr_utility.set_location(l_proc, 30);
89 --
90 END IF;
91 ELSE
92 IF p_grossup_chk = 'Y' THEN
93 l_ele_type_id := ntg_earnings_template.create_ele_ntg_objects
94 ( p_ele_name => p_ele_name
95 ,p_ele_reporting_name => p_ele_reporting_name
96 ,p_ele_description => p_ele_description
97 ,p_ele_classification => p_ele_classification
98 ,p_ele_processing_type => p_ele_processing_type
99 ,p_sep_check_option => p_sep_check_option
100 ,p_ele_eff_start_date => p_ele_eff_start_date
101 ,p_ele_eff_end_date => p_ele_eff_end_date
102 ,p_supp_category => p_ele_category
103 ,p_legislation_code => p_legislation_code
104 ,p_bg_id => p_bg_id
105 ,p_termination_rule => p_termination_rule
106 );
107 END IF;
108 END IF;
109 --
110 compile_formula(l_ele_type_id);
111 RETURN (l_ele_type_id);
112 --
113 hr_utility.set_location('Leaving '||l_proc, 50);
114 --
115 END create_isetup_earn_element;
116 ------------------------------------------------------------------------------
117 -- CREATE_ISETUP_DEDN_ELEMENT
118 ------------------------------------------------------------------------------
119
120 FUNCTION create_isetup_dedn_element
121 (p_element_name in varchar2
122 ,p_reporting_name in varchar2
123 ,p_description in varchar2 default NULL
124 ,p_classification_name in varchar2
125 ,p_ben_class_id in number default NULL
126 ,p_category in varchar2
127 ,p_processing_type in varchar2
128 ,p_processing_priority in number default NULL
129 ,p_standard_link_flag in varchar2 default 'N'
130 ,p_processing_runtype in varchar2
131 ,p_start_rule in varchar2
132 ,p_stop_rule in varchar2
133 ,p_amount_rule in varchar2
134 ,p_series_ee_bond in varchar2
135 ,p_payroll_table in varchar2
136 ,p_paytab_column in varchar2
137 ,p_rowtype_meaning in varchar2
138 ,p_arrearage in varchar2
139 ,p_deduct_partial in varchar2
140 ,p_employer_match in varchar2 default 'N'
141 ,p_aftertax_component in varchar2 default 'N'
142 ,p_ele_eff_start_date in date default NULL
143 ,p_ele_eff_end_date in date default NULL
144 ,p_business_group_id in number
145 ,p_srs_plan_type in varchar2 default 'N'
146 ,p_srs_buy_back in varchar2 default 'N'
147 ,p_catchup_processing in varchar2 default 'NONE'
148 ,p_termination_rule in varchar2 default 'F'
149 )
150 RETURN NUMBER is
151 --
152 l_ele_type_id number;
153
154 BEGIN
155
156 l_ele_type_id :=
157 pay_us_dedn_template_wrapper.create_deduction_element (
158 p_element_name => p_element_name
159 ,p_reporting_name => p_reporting_name
160 ,p_description => p_description
161 ,p_classification_name => p_classification_name
162 ,p_ben_class_id => p_ben_class_id
163 ,p_category => p_category
164 ,p_processing_type => p_processing_type
165 ,p_processing_priority => p_processing_priority
166 ,p_standard_link_flag => p_standard_link_flag
167 ,p_processing_runtype => p_processing_runtype
168 ,p_start_rule => p_start_rule
169 ,p_stop_rule => p_stop_rule
170 ,p_amount_rule => p_amount_rule
171 ,p_series_ee_bond => p_series_ee_bond
172 ,p_payroll_table => p_payroll_table
173 ,p_paytab_column => p_paytab_column
174 ,p_rowtype_meaning => p_rowtype_meaning
175 ,p_arrearage => p_arrearage
176 ,p_deduct_partial => p_deduct_partial
177 ,p_employer_match => p_employer_match
178 ,p_aftertax_component => p_aftertax_component
179 ,p_ele_eff_start_date => p_ele_eff_start_date
180 ,p_ele_eff_end_date => p_ele_eff_end_date
181 ,p_business_group_id => p_business_group_id
182 ,p_catchup_processing => p_catchup_processing
183 ,p_termination_rule => p_termination_rule
184 ,p_srs_plan_type => p_srs_plan_type
185 ,p_srs_buy_back => p_srs_buy_back
186 );
187 --
188 compile_formula(l_ele_type_id);
189 RETURN (l_ele_type_id);
190 --
191 END create_isetup_dedn_element;
192 --
193 --
194 PROCEDURE compile_formula
195 (p_element_type_id IN NUMBER) IS
196 CURSOR csr_formula_name IS
197 SELECT ff.formula_name,
198 ft.formula_type_name
199 FROM pay_status_processing_rules_f spr,
200 ff_formulas_f ff,
201 ff_formula_types ft,
202 pay_element_types_f et
203 WHERE et.element_type_id = p_element_type_id
204 AND spr.formula_id = ff.formula_id
205 AND ff.formula_type_id = ft.formula_type_id
206 AND spr.element_type_id = et.element_type_id;
207 --
208 CURSOR csr_bg_name IS
209 SELECT name || ' GRP KF' grp_name
210 FROM per_business_groups bg,
211 pay_element_types_f et
212 WHERE et.business_group_id = p_element_type_id;
213 --
214 l_req_id NUMBER(10);
215 BEGIN
216 FOR csr_formula_name_rec IN csr_formula_name
217 LOOP
218 l_req_id := fnd_request.submit_request(
219 application => 'FF',
220 program => 'SINGLECOMPILE',
221 argument1 => csr_formula_name_rec.formula_type_name,
222 argument2 => csr_formula_name_rec.formula_name);
223 END LOOP;
224 /* update fnd_id_flex_structures
225 set freeze_flex_definition_flag = 'Y'
226 WHERE application_id = 801
227 AND id_flex_structure_code = csr_bg_name_rec.grp_name;
228
229 l_req_id := fnd_request.submit_request(
230 application => 'FND',
231 program => 'Compile Key Flexfields',
232 argument1 => 'Oracle Payroll'
233 argument2 => 'People Group Flexfield',
234 arguement3 => csr_bg_name_rec.grp_name); */
235 END compile_formula;
236 --
237 --
238 PROCEDURE compile_mig_formula
239 (p_formula_id IN NUMBER) IS
240 CURSOR csr_formula_name IS
241 SELECT ff.formula_name,
242 ft.formula_type_name
243 FROM ff_formulas_f ff,
244 ff_formula_types ft
245 WHERE ff.formula_type_id = ft.formula_type_id
246 AND ff.formula_id = p_formula_id;
247 --
248 l_req_id NUMBER(10);
249 BEGIN
250 FOR csr_formula_name_rec IN csr_formula_name
251 LOOP
252 l_req_id := fnd_request.submit_request(
253 application => 'FF',
254 program => 'SINGLECOMPILE',
255 argument1 => csr_formula_name_rec.formula_type_name,
256 argument2 => csr_formula_name_rec.formula_name);
257 END LOOP;
258 END compile_mig_formula;
259 --
260 --
261 PROCEDURE bulk_compile_formula IS
262 --
263 l_req_id NUMBER(10);
264 BEGIN
265 l_req_id := fnd_request.submit_request(
266 application => 'FF',
267 program => 'BULKCOMPILE',
268 argument1 => '-W',
269 argument2 => '%',
270 argument3 => '%');
271 END bulk_compile_formula;
272 --
273 --
274 FUNCTION uncompiled_formula return number IS
275 --PROCEDURE uncompiled_formula IS
276 --
277 l_req_id NUMBER(10);
278 l_resp_id fnd_responsibility.responsibility_id%type;
279 BEGIN
280 SELECT responsibility_id
281 INTO l_resp_id
282 FROM fnd_responsibility
283 WHERE responsibility_key = 'US_HRMS_MANAGER';
284 --
285 --FND_GLOBAL.APPS_INITIALIZE(0,l_resp_id,800);
286 l_req_id := fnd_request.submit_request(
287 application => 'FF',
288 program => 'FF_UNCOMP',
289 argument1 => '-U',
290 argument2 => '%',
291 argument3 => '%');
292 commit;
293 return l_req_id;
294 END uncompiled_formula;
295 --
296 --
297 END pay_us_iSetup_earn_dedn;