[Home] [Help]
PACKAGE BODY: APPS.PAY_US_MULTI_MMRF
Source
1 PACKAGE BODY pay_us_multi_mmrf AS
2 /* $Header: payusmultimmrf.pkb 120.0.12000000.1 2007/02/23 10:16:48 sackumar noship $ */
3 FUNCTION get_w2_er_arch_bal(
4 w2_balance_name in varchar2,
5 w2_tax_unit_id in varchar2,
6 w2_jurisdiction_code in varchar2,
7 w2_jurisdiction_level in varchar2,
8 w2_year in varchar2,
9 a1 OUT NOCOPY varchar2,
10 a2 OUT NOCOPY varchar2,
11 a3 OUT NOCOPY varchar2,
12 a4 OUT NOCOPY varchar2,
13 a5 OUT NOCOPY varchar2,
14 a6 OUT NOCOPY varchar2,
15 a7 OUT NOCOPY varchar2,
16 a8 OUT NOCOPY varchar2,
17 a9 OUT NOCOPY varchar2,
18 a10 OUT NOCOPY varchar2,
19 a11 OUT NOCOPY varchar2,
20 a12 OUT NOCOPY varchar2,
21 a13 OUT NOCOPY varchar2,
22 a14 OUT NOCOPY varchar2,
23 a15 OUT NOCOPY varchar2,
24 a16 OUT NOCOPY varchar2,
25 a17 OUT NOCOPY varchar2,
26 a18 OUT NOCOPY varchar2,
27 a19 OUT NOCOPY varchar2,
28 a20 OUT NOCOPY varchar2,
29 a21 OUT NOCOPY varchar2,
30 a22 OUT NOCOPY varchar2,
31 a23 OUT NOCOPY varchar2,
32 a24 OUT NOCOPY varchar2,
33 a25 OUT NOCOPY varchar2,
34 a26 OUT NOCOPY varchar2,
35 a27 OUT NOCOPY varchar2,
36 a28 OUT NOCOPY varchar2,
37 a29 OUT NOCOPY varchar2,
38 a30 OUT NOCOPY varchar2,
39 a31 OUT NOCOPY varchar2,
40 a32 OUT NOCOPY varchar2,
41 a33 OUT NOCOPY varchar2,
42 a34 OUT NOCOPY varchar2,
43 a35 OUT NOCOPY varchar2,
44 a36 OUT NOCOPY varchar2,
45 a37 OUT NOCOPY varchar2,
46 a38 OUT NOCOPY varchar2,
47 a39 OUT NOCOPY varchar2,
48 a40 OUT NOCOPY varchar2,
49 a41 OUT NOCOPY varchar2,
50 a42 OUT NOCOPY varchar2,
51 a43 OUT NOCOPY varchar2,
52 a44 OUT NOCOPY varchar2,
53 a45 OUT NOCOPY varchar2,
54 a46 OUT NOCOPY varchar2,
55 a47 OUT NOCOPY varchar2
56 )
57 RETURN varchar2 IS
58
59 CURSOR C_EMP_count(cp_tax_unit_id number) IS
60 select count(*)
61 from pay_payroll_actions ppa,
62 pay_assignment_actions paa
63 where ppa.report_type = 'W2'
64 and report_qualifier = 'FED'
65 and effective_date = to_date('31/12/'||w2_year,'dd/mm/yyyy')
66 and ppa.payroll_action_id = paa.payroll_action_id
67 and paa.action_status = 'C'
68 and paa.tax_unit_id = cp_tax_unit_id;
69
70 CURSOR C_ER_SUM ( P_TAX_UNIT_ID number) IS
71 SELECT user_entity_name,
72 DECODE(fue.user_entity_name,
73 'A_REGULAR_EARNINGS_PER_GRE_YTD' ,nvl(sum(value),0) * 100,
74 'A_SUPPLEMENTAL_EARNINGS_FOR_FIT_SUBJECT_TO_TAX_PER_GRE_YTD' ,nvl(sum(value),0) * 100,
75 'A_SUPPLEMENTAL_EARNINGS_FOR_NWFIT_SUBJECT_TO_TAX_PER_GRE_YTD' ,nvl(sum(value),0) * 100,
76 'A_PRE_TAX_DEDUCTIONS_FOR_FIT_SUBJECT_TO_TAX_PER_GRE_YTD' ,nvl(sum(value),0) * 100,
77 'A_FIT_NON_W2_PRE_TAX_DEDNS_PER_GRE_YTD' ,nvl(sum(value),0) * 100,
78 'A_PRE_TAX_DEDUCTIONS_PER_GRE_YTD' ,nvl(sum(value),0) * 100,
79 'A_FIT_WITHHELD_PER_GRE_YTD',nvl(sum(value),0) * 100,
80 'A_SS_EE_TAXABLE_PER_GRE_YTD', nvl(sum(value),0) * 100 ,
81 'A_SS_EE_WITHHELD_PER_GRE_YTD', nvl(sum(value),0) * 100 ,
82 'A_MEDICARE_EE_TAXABLE_PER_GRE_YTD', nvl(sum(value),0) * 100 ,
83 'A_MEDICARE_EE_WITHHELD_PER_GRE_YTD', nvl(sum(value),0) * 100 ,
84 'A_W2_BOX_7_PER_GRE_YTD', nvl(sum(value),0) * 100 ,
85 'A_EIC_ADVANCE_PER_GRE_YTD',nvl(sum(value),0) * 100,
86 'A_W2_DEPENDENT_CARE_PER_GRE_YTD',nvl(sum(value),0) * 100 ,
87 'A_W2_401K_PER_GRE_YTD',nvl(sum(value),0) * 100,
88 'A_W2_403B_PER_GRE_YTD',nvl(sum(value),0) * 100,
89 'A_W2_408K_PER_GRE_YTD', nvl(sum(value),0) * 100,
90 'A_W2_457_PER_GRE_YTD', nvl(sum(value),0) * 100,
91 'A_W2_501C_PER_GRE_YTD', nvl(sum(value),0) * 100,
92 'A_W2_MILITARY_HOUSING_PER_GRE_YTD', nvl(sum(value),0) * 100,
93 'A_W2_NONQUAL_PLAN_PER_GRE_YTD', nvl(sum(value),0) * 100,
94 'A_W2_NONQUAL_457_PER_GRE_YTD',nvl(sum(value),0) * 100,
95 'A_W2_BOX_11_PER_GRE_YTD', nvl(sum(value),0) * 100,
96 'A_W2_GROUP_TERM_LIFE_PER_GRE_YTD', nvl(sum(value),0) * 100,
97 'A_FIT_3RD_PARTY_PER_GRE_YTD', nvl(sum(value),0) * 100,
98 'A_W2_NONQUAL_STOCK_PER_GRE_YTD', nvl(sum(value),0) * 100,
99 'A_W2_HSA_PER_GRE_YTD', nvl(sum(value),0) * 100,
100 'A_W2_NONTAX_COMBAT_PER_GRE_YTD', nvl(sum(value),0) * 100,
101 'A_W2_NONQUAL_DEF_COMP_PER_GRE_YTD',nvl(sum(value),0) * 100,
102 'A_W2_BOX_8_PER_GRE_YTD', nvl(sum(value),0) * 100,
103 'A_W2_UNCOLL_SS_TAX_TIPS_PER_GRE_YTD', nvl(sum(value),0) * 100,
104 'A_W2_UNCOLL_MED_TIPS_PER_GRE_YTD', nvl(sum(value),0) * 100,
105 'A_W2_MSA_PER_GRE_YTD', nvl(sum(value),0) * 100,
106 'A_W2_408P_PER_GRE_YTD', nvl(sum(value),0) * 100,
107 'A_W2_ADOPTION_PER_GRE_YTD', nvl(sum(value),0) * 100,
108 'A_W2_UNCOLL_SS_GTL_PER_GRE_YTD', nvl(sum(value),0) * 100,
109 'A_W2_UNCOLL_MED_GTL_PER_GRE_YTD', nvl(sum(value),0) * 100,
110 'A_W2_409A_NONQUAL_INCOME_PER_GRE_YTD', nvl(sum(value),0) * 100,
111 'A_TERRITORY_RETIRE_CONTRIB_PER_GRE_YTD', nvl(sum(value),0) * 100,
112 'A_TERRITORY_TAXABLE_ALLOW_PER_GRE_YTD', nvl(sum(value),0) * 100,
113 'A_TERRITORY_TAXABLE_COMM_PER_GRE_YTD', nvl(sum(value),0) * 100,
114 'A_TERRITORY_TAXABLE_TIPS_PER_GRE_YTD', nvl(sum(value),0) * 100
115 , 'A_W2_ROTH_401K_PER_GRE_YTD', nvl(sum(value),0) * 100
116 , 'A_W2_ROTH_403B_PER_GRE_YTD', nvl(sum(value),0) * 100
117 ) val
118 FROM ff_archive_items fai,
119 pay_action_interlocks pai,
120 pay_payroll_actions ppa,
121 pay_assignment_actions paa,
122 ff_user_entities fue
123 where ppa.report_type = 'W2'
124 and ppa.report_qualifier = 'FED'
125 and effective_date = to_date('31/12/'||w2_year,'dd/mm/yyyy')
126 and ppa.payroll_action_id = paa.payroll_action_id
127 and paa.tax_unit_id = p_tax_unit_id
128 and paa.action_status = 'C'
129 and paa.assignment_action_id = pai.locking_action_id
130 and fai.context1 = pai.locked_action_id
131 and fai.user_entity_id = fue.user_entity_id
132 and fue.user_entity_name IN
133 (
134 'A_REGULAR_EARNINGS_PER_GRE_YTD' ,
135 'A_SUPPLEMENTAL_EARNINGS_FOR_FIT_SUBJECT_TO_TAX_PER_GRE_YTD' ,
136 'A_SUPPLEMENTAL_EARNINGS_FOR_NWFIT_SUBJECT_TO_TAX_PER_GRE_YTD' ,
137 'A_PRE_TAX_DEDUCTIONS_FOR_FIT_SUBJECT_TO_TAX_PER_GRE_YTD' ,
138 'A_FIT_NON_W2_PRE_TAX_DEDNS_PER_GRE_YTD' ,
139 'A_PRE_TAX_DEDUCTIONS_PER_GRE_YTD' ,
140 'A_FIT_WITHHELD_PER_GRE_YTD',
141 'A_SS_EE_TAXABLE_PER_GRE_YTD',
142 'A_SS_EE_WITHHELD_PER_GRE_YTD',
143 'A_MEDICARE_EE_TAXABLE_PER_GRE_YTD',
144 'A_MEDICARE_EE_WITHHELD_PER_GRE_YTD',
145 'A_W2_BOX_7_PER_GRE_YTD',
146 'A_EIC_ADVANCE_PER_GRE_YTD',
147 'A_W2_DEPENDENT_CARE_PER_GRE_YTD',
148 'A_W2_401K_PER_GRE_YTD',
149 'A_W2_403B_PER_GRE_YTD',
150 'A_W2_408K_PER_GRE_YTD',
151 'A_W2_457_PER_GRE_YTD',
152 'A_W2_501C_PER_GRE_YTD',
153 'A_W2_MILITARY_HOUSING_PER_GRE_YTD',
154 'A_W2_NONQUAL_PLAN_PER_GRE_YTD',
155 'A_W2_NONQUAL_457_PER_GRE_YTD',
156 'A_W2_BOX_11_PER_GRE_YTD',
157 'A_W2_GROUP_TERM_LIFE_PER_GRE_YTD',
158 'A_FIT_3RD_PARTY_PER_GRE_YTD',
159 'A_W2_NONQUAL_STOCK_PER_GRE_YTD',
160 'A_W2_HSA_PER_GRE_YTD',
161 'A_W2_NONTAX_COMBAT_PER_GRE_YTD',
162 'A_W2_NONQUAL_DEF_COMP_PER_GRE_YTD',
163 'A_W2_BOX_8_PER_GRE_YTD',
164 /* Sum of */
165 'A_W2_UNCOLL_SS_TAX_TIPS_PER_GRE_YTD',
166 'A_W2_UNCOLL_MED_TIPS_PER_GRE_YTD',
167 'A_W2_MSA_PER_GRE_YTD',
168 'A_W2_408P_PER_GRE_YTD',
169 'A_W2_ADOPTION_PER_GRE_YTD',
170 'A_W2_UNCOLL_SS_GTL_PER_GRE_YTD',
171 'A_W2_UNCOLL_MED_GTL_PER_GRE_YTD',
172 'A_W2_409A_NONQUAL_INCOME_PER_GRE_YTD',
173 'A_TERRITORY_RETIRE_CONTRIB_PER_GRE_YTD',
174 'A_TERRITORY_TAXABLE_ALLOW_PER_GRE_YTD',
175 'A_TERRITORY_TAXABLE_COMM_PER_GRE_YTD',
176 'A_TERRITORY_TAXABLE_TIPS_PER_GRE_YTD'
177 , 'A_W2_ROTH_401K_PER_GRE_YTD'
178 , 'A_W2_ROTH_403B_PER_GRE_YTD'
179 )
180 group by fue.user_entity_name;
181
182 CURSOR c_ter(cp_tax_unit_id number) IS
183 SELECT
184 fue.user_entity_name,decode(fue.user_entity_name,
185 'A_SIT_WITHHELD_PER_JD_GRE_YTD',nvl(sum(value),0) * 100,
186 'A_SIT_SUBJ_WHABLE_PER_JD_GRE_YTD',nvl(sum(value),0) * 100,
187 'A_SIT_SUBJ_NWHABLE_PER_JD_GRE_YTD',nvl(sum(value),0) * 100,
188 'A_SIT_PRE_TAX_REDNS_PER_JD_GRE_YTD',nvl(sum(value),0) * 100
189 ) val
190 FROM ff_archive_item_contexts faic
191 ,ff_archive_items fai
192 ,pay_assignment_actions paa
193 ,pay_payroll_actions ppa
194 ,pay_action_interlocks pai
195 ,ff_user_entities fue
196 WHERE
197 ppa.report_type = 'W2'
198 and ppa.report_qualifier = 'FED'
199 and ppa.effective_date = to_date('31/12/'||w2_year,'dd/mm/yyyy')
200 and paa.payroll_action_id = ppa.payroll_action_id
201 and paa.assignment_action_id = pai.locking_action_id
202 and fai.context1 = pai.locked_action_id
203 and context = '72-000-0000'
204 and fai.archive_item_id = faic.archive_item_id
205 and fai.user_entity_id = fue.user_entity_id
206 and paa.tax_unit_id = cp_tax_unit_id
207 and fue.user_entity_name in ( 'A_SIT_WITHHELD_PER_JD_GRE_YTD',
208 'A_SIT_SUBJ_WHABLE_PER_JD_GRE_YTD',
209 'A_SIT_SUBJ_NWHABLE_PER_JD_GRE_YTD',
210 'A_SIT_PRE_TAX_REDNS_PER_JD_GRE_YTD')
211 and paa.action_status = 'C'
212 group by fue.user_entity_name;
213
214
215 CURSOR c_ro_count ( cp_tax_unit_id number) IS
216 select count(*)
217 from pay_payroll_actions ppa
218 ,pay_assignment_actions paa
219 ,ff_archive_items fai
220 where ppa.report_type = 'W2'
221 and ppa.report_qualifier = 'FED'
222 and effective_date = to_date('31/12/'||w2_year,'dd/mm/yyyy')
223 and ppa.payroll_action_id = paa.payroll_action_id
224 and paa.assignment_action_id = fai.context1
225 and name is not null
226 and name like 'TRANSFER_RO_TOTAL'
227 and paa.tax_unit_id = cp_tax_unit_id
228 group by tax_unit_id;
229
230 l_date date;
231 l_tax_unit_id varchar2(10);
232 l_total_emp number;
233 l_er_sum er_sum_table;
234 l_fit_with varchar2(20);
235 l_ss_ee_taxable varchar2(20);
236 l_ro_count number;
237
238 BEGIN
239
240 a1 := '0';
241 a2 := '0';
242 a3 := '0';
243 a4 := '0';
244 a5 := '0';
245 a6 := '0';
246 a7 := '0';
247 a8 := '0';
248 a9 := '0';
249 a10:= '0';
250 a11 := '0';
251 a12 := '0';
252 a13 := '0';
253 a14 := '0';
254 a15 := '0';
255 a16 := '0';
256 a17 := '0';
257 a18 := '0';
258 a19 := '0';
259 a20 := '0';
260 a21 := '0';
261 a22 := '0';
262 a23 := '0';
263 a24 := '0';
264 a25 := '0';
265 a26 := '0';
266 a27 := '0';
267 a28 := '0';
268 a29 := '0';
269 a30 := '0';
270 a31 := '0';
271 a32 := '0';
272 a33 := '0';
273 a34 := '0';
274 a35 := '0';
275 a36 := '0';
276 a37 := '0';
277 a38 := '0';
278 a39 := '0';
279 a40 := '0';
280 a41 := '0';
281 a42 := '0';
282 a43 := '0';
283 a44 := '0';
284 a45 := '0';
285 a46 := '0';
286 a47 := '0';
287
288
289 OPEN C_EMP_COUNT(to_number(W2_tax_unit_id));
290 FETCH C_EMP_COUNT INTO a1;
291 IF C_EMP_COUNT%NOTFOUND THEN
292 a1 := 0;
293 END IF;
294 CLOSE C_EMP_COUNT;
295
296
297
298 FOR I IN C_ER_SUM(to_number(W2_TAX_UNIT_ID)) LOOP
299
300 if I.user_entity_name = 'A_REGULAR_EARNINGS_PER_GRE_YTD' THEN
301 a2 := a2 + i.val;
302 ELSIF I.user_entity_name = 'A_SUPPLEMENTAL_EARNINGS_FOR_FIT_SUBJECT_TO_TAX_PER_GRE_YTD' THEN
303 a2 := a2 + i.val;
304 ELSIF I.user_entity_name = 'A_SUPPLEMENTAL_EARNINGS_FOR_NWFIT_SUBJECT_TO_TAX_PER_GRE_YTD' THEN
305 a2 := a2 + i.val;
306 ELSIF I.user_entity_name = 'A_PRE_TAX_DEDUCTIONS_FOR_FIT_SUBJECT_TO_TAX_PER_GRE_YTD' THEN
307 a2 := a2 + i.val;
308 ELSIF I.user_entity_name = 'A_FIT_NON_W2_PRE_TAX_DEDNS_PER_GRE_YTD' THEN
309 a2 := a2 + i.val;
310 ELSIF I.user_entity_name = 'A_PRE_TAX_DEDUCTIONS_PER_GRE_YTD' THEN
311 a2 := a2 - i.val;
312 ELSIF I.user_entity_name = 'A_FIT_WITHHELD_PER_GRE_YTD'THEN
313 a3 := i.val;
314 ELSIF i.user_entity_name = 'A_SS_EE_TAXABLE_PER_GRE_YTD'THEN
315 a4 := i.val;
316 ELSIF i.user_entity_name ='A_SS_EE_WITHHELD_PER_GRE_YTD' THEN
317 a5 := i.val;
318 ELSIF i.user_entity_name = 'A_MEDICARE_EE_TAXABLE_PER_GRE_YTD' THEN
319 a6 := i.val;
320 ELSIF i.user_entity_name = 'A_MEDICARE_EE_WITHHELD_PER_GRE_YTD' THEN
321 a7 := i.val;
322 ELSIF i.user_entity_name = 'A_W2_BOX_7_PER_GRE_YTD' THEN
323 a8 := i.val;
324 ELSIF i.user_entity_name = 'A_EIC_ADVANCE_PER_GRE_YTD' THEN
325 a9 := i.val;
326 ELSIF i.user_entity_name = 'A_W2_DEPENDENT_CARE_PER_GRE_YTD' THEN
327 a10 := i.val;
328 ELSIF i.user_entity_name = 'A_W2_401K_PER_GRE_YTD' THEN
329 a11 := i.val;
330 ELSIF i.user_entity_name = 'A_W2_403B_PER_GRE_YTD' THEN
331 a12 := i.val;
332 ELSIF i.user_entity_name = 'A_W2_408K_PER_GRE_YTD' THEN
333 a13 := i.val;
334 ELSIF i.user_entity_name = 'A_W2_457_PER_GRE_YTD' THEN
335 a14 := i.val;
336 ELSIF i.user_entity_name = 'A_W2_501C_PER_GRE_YTD' THEN
337 a15 := i.val;
338 ELSIF i.user_entity_name = 'A_W2_MILITARY_HOUSING_PER_GRE_YTD' THEN
339 a16 := i.val;
340 ELSIF i.user_entity_name = 'A_W2_NONQUAL_457_PER_GRE_YTD' THEN
341 a17:= i.val;
342 ELSIF i.user_entity_name = 'A_W2_BOX_11_PER_GRE_YTD' THEN
343 a18 := i.val;
344 ELSIF i.user_entity_name = 'A_W2_HSA_PER_GRE_YTD' THEN
345 a19 := i.val;
346 ELSIF i.user_entity_name = 'A_W2_NONQUAL_PLAN_PER_GRE_YTD' THEN
347 a20 := i.val;
348 ELSIF i.user_entity_name = 'A_W2_NONTAX_COMBAT_PER_GRE_YTD' THEN
349 a21 := i.val;
350 ELSIF i.user_entity_name = 'A_W2_GROUP_TERM_LIFE_PER_GRE_YTD' THEN
351 a22:= i.val;
352 ELSIF i.user_entity_name = 'A_FIT_3RD_PARTY_PER_GRE_YTD' THEN
353 a23 := i.val;
354 ELSIF i.user_entity_name = 'A_W2_NONQUAL_STOCK_PER_GRE_YTD' THEN
355 a24 := i.val;
356 ELSIF i.user_entity_name = 'A_W2_NONQUAL_DEF_COMP_PER_GRE_YTD' THEN
357 a25 := i.val;
358 ELSIF i.user_entity_name ='A_W2_BOX_8_PER_GRE_YTD' THEN
359 a26 := i.val;
360 ELSIF i.user_entity_name = 'A_W2_UNCOLL_SS_TAX_TIPS_PER_GRE_YTD' THEN
361 a27 := a27 + i.val;
362 ELSIF i.user_entity_name ='A_W2_UNCOLL_MED_TIPS_PER_GRE_YTD' THEN
363 a27 := a27 + i.val;
364 ELSIF i.user_entity_name ='A_W2_MSA_PER_GRE_YTD' THEN
365 a28 := i.val;
366 ELSIF i.user_entity_name ='A_W2_408P_PER_GRE_YTD' THEN
367 a29 := i.val;
368 ELSIF i.user_entity_name ='A_W2_ADOPTION_PER_GRE_YTD' THEN
369 a30 := i.val;
370 ELSIF i.user_entity_name ='A_W2_UNCOLL_SS_GTL_PER_GRE_YTD' THEN
371 a31 := i.val;
372 ELSIF i.user_entity_name ='A_W2_UNCOLL_MED_GTL_PER_GRE_YTD' THEN
373 a32 := i.val;
374 ELSIF i.user_entity_name ='A_W2_409A_NONQUAL_INCOME_PER_GRE_YTD' THEN
375 a33 := i.val;
376 ELSIF i.user_entity_name ='A_TERRITORY_RETIRE_CONTRIB_PER_GRE_YTD' THEN
377 a34 := i.val;
378 ELSIF i.user_entity_name ='A_TERRITORY_TAXABLE_ALLOW_PER_GRE_YTD' THEN
379 a35 := i.val;
380 ELSIF i.user_entity_name ='A_TERRITORY_TAXABLE_COMM_PER_GRE_YTD' THEN
381 a36 := i.val;
382 ELSIF i.user_entity_name ='A_TERRITORY_TAXABLE_TIPS_PER_GRE_YTD' THEN
383 a37 := i.val;
384 ELSIF i.user_entity_name ='A_W2_ROTH_401K_PER_GRE_YTD' THEN
385 a46 := i.val;
386 ELSIF i.user_entity_name ='A_W2_ROTH_403B_PER_GRE_YTD' THEN
387 a47 := i.val;
388 END IF;
389
390 IF i.user_entity_name = 'A_W2_NONQUAL_457_PER_GRE_YTD' THEN
391 a20 := a20 - i.val;
392 END IF;
393 END LOOP;
394
395 OPEN c_ro_count(to_number(W2_TAX_UNIT_ID));
396 FETCH c_ro_count INTO l_ro_count;
397 CLOSE c_ro_count;
398 a38 := to_char(nvl(l_ro_count,0));
399
400 IF l_ro_count > 0 THEN
401
402 FOR J IN c_ter(to_number(W2_TAX_UNIT_ID)) LOOP
403 if J.user_entity_name = 'A_SIT_SUBJ_WHABLE_PER_JD_GRE_YTD' THEN
404 a39 := a39 + J.val;
405 ELSIF J.user_entity_name = 'A_SIT_SUBJ_NWHABLE_PER_JD_GRE_YTD' THEN
406 a39 := a39 + J.val;
407 ELSIF J.user_entity_name = 'A_SIT_PRE_TAX_REDNS_PER_GRE_YTD' THEN
408 a39 := a39 - J.val;
409 ELSIF J.user_entity_name = 'A_SIT_WITHHELD_PER_JD_GRE_YTD' THEN
410 a40 := J.val;
411 END IF;
412 END LOOP;
413 END IF ;
414
415 a41 := to_number(a39) - to_number(a37) - to_number(a35) - to_number(a36);
416
417 return '0' ;
418 END get_w2_er_arch_bal;
419 end pay_us_multi_mmrf;