[Home] [Help]
PACKAGE BODY: APPS.PAY_US_CONT_CALC
Source
1 package body pay_us_cont_calc as
2 /* $Header: pyuscoc.pkb 120.0 2005/05/29 02:18:43 appldev noship $ */
3
4 /*
5 Copyright (c) Oracle Corporation 1991,1992,1993. All rights reserved
6
7 Description : Package and procedure to build sql for payroll processes.
8
9 Change List
10 -----------
11 Date Name Vers Bug No Description
12 ----------- ---------- ----- ------- -----------------------------------
13 26-MAR-2001 nbristow 115.0 Created.
14
15 */
16 /* Used generator to build this procedure, but removed some of that table values.
17 */
18 /* PAY_US_EMP_FED_TAX_RULES_F */
19 /* name : PAY_US_FED_TAX_RULES_F_aru
20 purpose : This is procedure that records any changes for updates
21 on Federal Tax Rules.
22 */
23 procedure PAY_US_FED_TAX_RULES_F_aru(
24 p_business_group_id in number,
25 p_legislation_code in varchar2,
26 p_effective_date in date ,
27 p_old_ADDITIONAL_WA_AMOUNT in NUMBER,
28 p_new_ADDITIONAL_WA_AMOUNT in NUMBER ,
29 p_old_ASSIGNMENT_ID in NUMBER,
30 p_new_ASSIGNMENT_ID in NUMBER ,
31 p_old_BUSINESS_GROUP_ID in NUMBER,
32 p_new_BUSINESS_GROUP_ID in NUMBER ,
33 p_old_CUMULATIVE_TAXATION in VARCHAR2,
34 p_new_CUMULATIVE_TAXATION in VARCHAR2 ,
35 p_old_EIC_FILING_STATUS_CODE in VARCHAR2,
36 p_new_EIC_FILING_STATUS_CODE in VARCHAR2 ,
37 p_old_EMP_FED_TAX_RULE_ID in NUMBER,
38 p_new_EMP_FED_TAX_RULE_ID in NUMBER ,
39 p_old_EXCESSIVE_WA_REJECT_DATE in DATE,
40 p_new_EXCESSIVE_WA_REJECT_DATE in DATE ,
41 p_old_FILING_STATUS_CODE in VARCHAR2,
42 p_new_FILING_STATUS_CODE in VARCHAR2 ,
43 p_old_FIT_ADDITIONAL_TAX in NUMBER,
44 p_new_FIT_ADDITIONAL_TAX in NUMBER ,
45 p_old_FIT_EXEMPT in VARCHAR2,
46 p_new_FIT_EXEMPT in VARCHAR2 ,
47 p_old_FIT_OVERRIDE_AMOUNT in NUMBER,
48 p_new_FIT_OVERRIDE_AMOUNT in NUMBER ,
49 p_old_FIT_OVERRIDE_RATE in NUMBER,
50 p_new_FIT_OVERRIDE_RATE in NUMBER ,
51 p_old_FUTA_TAX_EXEMPT in VARCHAR2,
52 p_new_FUTA_TAX_EXEMPT in VARCHAR2 ,
53 p_old_MEDICARE_TAX_EXEMPT in VARCHAR2,
54 p_new_MEDICARE_TAX_EXEMPT in VARCHAR2 ,
55 p_old_SS_TAX_EXEMPT in VARCHAR2,
56 p_new_SS_TAX_EXEMPT in VARCHAR2 ,
57 p_old_STATUTORY_EMPLOYEE in VARCHAR2,
58 p_new_STATUTORY_EMPLOYEE in VARCHAR2 ,
59 p_old_SUI_JURISDICTION_CODE in VARCHAR2,
60 p_new_SUI_JURISDICTION_CODE in VARCHAR2 ,
61 p_old_SUI_STATE_CODE in VARCHAR2,
62 p_new_SUI_STATE_CODE in VARCHAR2 ,
63 p_old_SUPP_TAX_OVERRIDE_RATE in NUMBER,
64 p_new_SUPP_TAX_OVERRIDE_RATE in NUMBER ,
65 p_old_W2_FILED_YEAR in NUMBER,
66 p_new_W2_FILED_YEAR in NUMBER ,
67 p_old_WITHHOLDING_ALLOWANCES in NUMBER,
68 p_new_WITHHOLDING_ALLOWANCES in NUMBER ,
69 p_old_EFFECTIVE_END_DATE in DATE,
70 p_new_EFFECTIVE_END_DATE in DATE ,
71 p_old_EFFECTIVE_START_DATE in DATE,
72 p_new_EFFECTIVE_START_DATE in DATE
73 )
74 is
75 --
76 begin
77 /* If the continuous calc is overriden then do nothing */
78 if (pay_continuous_calc.g_override_cc = TRUE) then
79 return;
80 end if;
81 --
82 /* If the dates havent changed it must be a correction */
83 if (p_old_EFFECTIVE_END_DATE = p_new_EFFECTIVE_END_DATE
84 and p_old_EFFECTIVE_START_DATE = p_new_EFFECTIVE_START_DATE) then
85 --
86 pay_continuous_calc.event_update(p_business_group_id,
87 p_legislation_code,
88 'PAY_US_EMP_FED_TAX_RULES_F',
89 'ADDITIONAL_WA_AMOUNT',
90 p_old_ADDITIONAL_WA_AMOUNT,
91 p_new_ADDITIONAL_WA_AMOUNT,
92 p_effective_date
93 );
94 --
95 pay_continuous_calc.event_update(p_business_group_id,
96 p_legislation_code,
97 'PAY_US_EMP_FED_TAX_RULES_F',
98 'ASSIGNMENT_ID',
99 p_old_ASSIGNMENT_ID,
100 p_new_ASSIGNMENT_ID,
101 p_effective_date
102 );
103 --
104 pay_continuous_calc.event_update(p_business_group_id,
105 p_legislation_code,
106 'PAY_US_EMP_FED_TAX_RULES_F',
107 'BUSINESS_GROUP_ID',
108 p_old_BUSINESS_GROUP_ID,
109 p_new_BUSINESS_GROUP_ID,
110 p_effective_date
111 );
112 --
113 pay_continuous_calc.event_update(p_business_group_id,
114 p_legislation_code,
115 'PAY_US_EMP_FED_TAX_RULES_F',
116 'CUMULATIVE_TAXATION',
117 p_old_CUMULATIVE_TAXATION,
118 p_new_CUMULATIVE_TAXATION,
119 p_effective_date
120 );
121 --
122 pay_continuous_calc.event_update(p_business_group_id,
123 p_legislation_code,
124 'PAY_US_EMP_FED_TAX_RULES_F',
125 'EIC_FILING_STATUS_CODE',
126 p_old_EIC_FILING_STATUS_CODE,
127 p_new_EIC_FILING_STATUS_CODE,
128 p_effective_date
129 );
130 --
131 pay_continuous_calc.event_update(p_business_group_id,
132 p_legislation_code,
133 'PAY_US_EMP_FED_TAX_RULES_F',
134 'EMP_FED_TAX_RULE_ID',
135 p_old_EMP_FED_TAX_RULE_ID,
136 p_new_EMP_FED_TAX_RULE_ID,
137 p_effective_date
138 );
139 --
140 pay_continuous_calc.event_update(p_business_group_id,
141 p_legislation_code,
142 'PAY_US_EMP_FED_TAX_RULES_F',
143 'EXCESSIVE_WA_REJECT_DATE',
144 p_old_EXCESSIVE_WA_REJECT_DATE,
145 p_new_EXCESSIVE_WA_REJECT_DATE,
146 p_effective_date
147 );
148 --
149 pay_continuous_calc.event_update(p_business_group_id,
150 p_legislation_code,
151 'PAY_US_EMP_FED_TAX_RULES_F',
152 'FILING_STATUS_CODE',
153 p_old_FILING_STATUS_CODE,
154 p_new_FILING_STATUS_CODE,
155 p_effective_date
156 );
157 --
158 pay_continuous_calc.event_update(p_business_group_id,
159 p_legislation_code,
160 'PAY_US_EMP_FED_TAX_RULES_F',
161 'FIT_ADDITIONAL_TAX',
162 p_old_FIT_ADDITIONAL_TAX,
163 p_new_FIT_ADDITIONAL_TAX,
164 p_effective_date
165 );
166 --
167 pay_continuous_calc.event_update(p_business_group_id,
168 p_legislation_code,
169 'PAY_US_EMP_FED_TAX_RULES_F',
170 'FIT_EXEMPT',
171 p_old_FIT_EXEMPT,
172 p_new_FIT_EXEMPT,
173 p_effective_date
174 );
175 --
176 pay_continuous_calc.event_update(p_business_group_id,
177 p_legislation_code,
178 'PAY_US_EMP_FED_TAX_RULES_F',
179 'FIT_OVERRIDE_AMOUNT',
180 p_old_FIT_OVERRIDE_AMOUNT,
181 p_new_FIT_OVERRIDE_AMOUNT,
182 p_effective_date
183 );
184 --
185 pay_continuous_calc.event_update(p_business_group_id,
186 p_legislation_code,
187 'PAY_US_EMP_FED_TAX_RULES_F',
188 'FIT_OVERRIDE_RATE',
189 p_old_FIT_OVERRIDE_RATE,
190 p_new_FIT_OVERRIDE_RATE,
191 p_effective_date
192 );
193 --
194 pay_continuous_calc.event_update(p_business_group_id,
195 p_legislation_code,
196 'PAY_US_EMP_FED_TAX_RULES_F',
197 'FUTA_TAX_EXEMPT',
198 p_old_FUTA_TAX_EXEMPT,
199 p_new_FUTA_TAX_EXEMPT,
200 p_effective_date
201 );
202 --
203 pay_continuous_calc.event_update(p_business_group_id,
204 p_legislation_code,
205 'PAY_US_EMP_FED_TAX_RULES_F',
206 'MEDICARE_TAX_EXEMPT',
207 p_old_MEDICARE_TAX_EXEMPT,
208 p_new_MEDICARE_TAX_EXEMPT,
209 p_effective_date
210 );
211 --
212 pay_continuous_calc.event_update(p_business_group_id,
213 p_legislation_code,
214 'PAY_US_EMP_FED_TAX_RULES_F',
215 'SS_TAX_EXEMPT',
216 p_old_SS_TAX_EXEMPT,
217 p_new_SS_TAX_EXEMPT,
218 p_effective_date
219 );
220 --
221 pay_continuous_calc.event_update(p_business_group_id,
222 p_legislation_code,
223 'PAY_US_EMP_FED_TAX_RULES_F',
224 'STATUTORY_EMPLOYEE',
225 p_old_STATUTORY_EMPLOYEE,
226 p_new_STATUTORY_EMPLOYEE,
227 p_effective_date
228 );
229 --
230 pay_continuous_calc.event_update(p_business_group_id,
231 p_legislation_code,
232 'PAY_US_EMP_FED_TAX_RULES_F',
233 'SUI_JURISDICTION_CODE',
234 p_old_SUI_JURISDICTION_CODE,
235 p_new_SUI_JURISDICTION_CODE,
236 p_effective_date
237 );
238 --
239 pay_continuous_calc.event_update(p_business_group_id,
240 p_legislation_code,
241 'PAY_US_EMP_FED_TAX_RULES_F',
242 'SUI_STATE_CODE',
243 p_old_SUI_STATE_CODE,
244 p_new_SUI_STATE_CODE,
245 p_effective_date
246 );
247 --
248 pay_continuous_calc.event_update(p_business_group_id,
249 p_legislation_code,
250 'PAY_US_EMP_FED_TAX_RULES_F',
251 'SUPP_TAX_OVERRIDE_RATE',
252 p_old_SUPP_TAX_OVERRIDE_RATE,
253 p_new_SUPP_TAX_OVERRIDE_RATE,
254 p_effective_date
255 );
256 --
257 pay_continuous_calc.event_update(p_business_group_id,
258 p_legislation_code,
259 'PAY_US_EMP_FED_TAX_RULES_F',
260 'W2_FILED_YEAR',
261 p_old_W2_FILED_YEAR,
262 p_new_W2_FILED_YEAR,
263 p_effective_date
264 );
265 --
266 pay_continuous_calc.event_update(p_business_group_id,
267 p_legislation_code,
268 'PAY_US_EMP_FED_TAX_RULES_F',
269 'WITHHOLDING_ALLOWANCES',
270 p_old_WITHHOLDING_ALLOWANCES,
271 p_new_WITHHOLDING_ALLOWANCES,
272 p_effective_date
273 );
274 --
275 pay_continuous_calc.event_update(p_business_group_id,
276 p_legislation_code,
277 'PAY_US_EMP_FED_TAX_RULES_F',
278 'WITHHOLDING_ALLOWANCES',
279 p_old_WITHHOLDING_ALLOWANCES,
280 p_new_WITHHOLDING_ALLOWANCES,
281 p_effective_date
282 );
283 else
284 /* OK it must be a date track change */
285 --
286 pay_continuous_calc.event_update(p_business_group_id,
287 p_legislation_code,
288 'PAY_US_EMP_FED_TAX_RULES_F',
289 'EFFECTIVE_END_DATE',
290 p_old_EFFECTIVE_END_DATE,
291 p_new_EFFECTIVE_END_DATE,
292 p_new_effective_end_date,
293 least(p_old_effective_end_date,
294 p_new_effective_end_date)
295 );
296 --
297 pay_continuous_calc.event_update(p_business_group_id,
298 p_legislation_code,
299 'PAY_US_EMP_FED_TAX_RULES_F',
300 'EFFECTIVE_START_DATE',
301 p_old_EFFECTIVE_START_DATE,
302 p_new_EFFECTIVE_START_DATE,
303 p_new_effective_start_date,
304 least(p_old_effective_start_date,
305 p_new_effective_start_date)
306 );
307
308 end if;
309 --
310 /* Now call the API for the affected assignments */
311 declare
312 l_process_event_id number;
313 l_object_version_number number;
314 cnt number;
315 begin
316 if (pay_continuous_calc.g_event_list.sz <> 0) then
317 for cnt in 1..pay_continuous_calc.g_event_list.sz loop
318 pay_ppe_api.create_process_event(
319 p_assignment_id => p_old_ASSIGNMENT_ID,
320 p_effective_date => pay_continuous_calc.g_event_list.effective_date(cnt),
321 p_change_type => pay_continuous_calc.g_event_list.change_type(cnt),
322 p_status => 'U',
323 p_description => pay_continuous_calc.g_event_list.description(cnt),
324 p_process_event_id => l_process_event_id,
325 p_object_version_number => l_object_version_number,
326 p_event_update_id => pay_continuous_calc.g_event_list.event_update_id(cnt),
327 p_business_group_id => p_business_group_id,
328 p_surrogate_key => p_old_EMP_FED_TAX_RULE_ID
329 );
330 end loop;
331 end if;
332 pay_continuous_calc.g_event_list.sz := 0;
333 end;
334 --
335 end PAY_US_FED_TAX_RULES_F_aru;
336 --
337 /* PAY_US_EMP_STATE_TAX_RULES_F */
338 /* name : PAY_US_STATE_TAX_RULES_F_aru
339 purpose : This is procedure that records any changes for updates
340 on State Tax Rules.
341 */
342 procedure PAY_US_STATE_TAX_RULES_F_aru(
343 p_business_group_id in number,
344 p_legislation_code in varchar2,
345 p_effective_date in date ,
346 p_old_ADDITIONAL_WA_AMOUNT in NUMBER,
347 p_new_ADDITIONAL_WA_AMOUNT in NUMBER ,
348 p_old_ASSIGNMENT_ID in NUMBER,
349 p_new_ASSIGNMENT_ID in NUMBER ,
350 p_old_BUSINESS_GROUP_ID in NUMBER,
351 p_new_BUSINESS_GROUP_ID in NUMBER ,
352 p_old_EMP_STATE_TAX_RULE_ID in NUMBER,
353 p_new_EMP_STATE_TAX_RULE_ID in NUMBER ,
354 p_old_EXCESSIVE_WA_REJECT_DATE in DATE,
355 p_new_EXCESSIVE_WA_REJECT_DATE in DATE ,
356 p_old_FILING_STATUS_CODE in VARCHAR2,
357 p_new_FILING_STATUS_CODE in VARCHAR2 ,
358 p_old_JURISDICTION_CODE in VARCHAR2,
359 p_new_JURISDICTION_CODE in VARCHAR2 ,
360 p_old_REMAINDER_PERCENT in NUMBER,
361 p_new_REMAINDER_PERCENT in NUMBER ,
362 p_old_SDI_EXEMPT in VARCHAR2,
363 p_new_SDI_EXEMPT in VARCHAR2 ,
364 p_old_SECONDARY_WA in NUMBER,
365 p_new_SECONDARY_WA in NUMBER ,
366 p_old_SIT_ADDITIONAL_TAX in NUMBER,
367 p_new_SIT_ADDITIONAL_TAX in NUMBER ,
368 p_old_SIT_EXEMPT in VARCHAR2,
369 p_new_SIT_EXEMPT in VARCHAR2 ,
370 p_old_SIT_OPTIONAL_CALC_IND in VARCHAR2,
371 p_new_SIT_OPTIONAL_CALC_IND in VARCHAR2 ,
372 p_old_SIT_OVERRIDE_AMOUNT in NUMBER,
373 p_new_SIT_OVERRIDE_AMOUNT in NUMBER ,
374 p_old_SIT_OVERRIDE_RATE in NUMBER,
375 p_new_SIT_OVERRIDE_RATE in NUMBER ,
376 p_old_STATE_CODE in VARCHAR2,
377 p_new_STATE_CODE in VARCHAR2 ,
378 p_old_STATE_NON_RESIDENT_CERT in VARCHAR2,
379 p_new_STATE_NON_RESIDENT_CERT in VARCHAR2 ,
380 p_old_SUI_EXEMPT in VARCHAR2,
381 p_new_SUI_EXEMPT in VARCHAR2 ,
382 p_old_SUI_WAGE_BASE_OVERRIDE_A in NUMBER,
383 p_new_SUI_WAGE_BASE_OVERRIDE_A in NUMBER ,
384 p_old_SUPP_TAX_OVERRIDE_RATE in NUMBER,
385 p_new_SUPP_TAX_OVERRIDE_RATE in NUMBER ,
386 p_old_WC_EXEMPT in VARCHAR2,
387 p_new_WC_EXEMPT in VARCHAR2 ,
388 p_old_WITHHOLDING_ALLOWANCES in NUMBER,
389 p_new_WITHHOLDING_ALLOWANCES in NUMBER ,
390 p_old_EFFECTIVE_END_DATE in DATE,
391 p_new_EFFECTIVE_END_DATE in DATE ,
392 p_old_EFFECTIVE_START_DATE in DATE,
393 p_new_EFFECTIVE_START_DATE in DATE
394 )
395 is
396 --
397 begin
398 /* If the continuous calc is overriden then do nothing */
399 if (pay_continuous_calc.g_override_cc = TRUE) then
400 return;
401 end if;
402 --
403 /* If the dates havent changed it must be a correction */
404 if (p_old_EFFECTIVE_END_DATE = p_new_EFFECTIVE_END_DATE
405 and p_old_EFFECTIVE_START_DATE = p_new_EFFECTIVE_START_DATE) then
406 --
407 pay_continuous_calc.event_update(p_business_group_id,
408 p_legislation_code,
409 'PAY_US_EMP_STATE_TAX_RULES_F',
410 'ADDITIONAL_WA_AMOUNT',
411 p_old_ADDITIONAL_WA_AMOUNT,
412 p_new_ADDITIONAL_WA_AMOUNT,
413 p_effective_date
414 );
415 --
416 pay_continuous_calc.event_update(p_business_group_id,
417 p_legislation_code,
418 'PAY_US_EMP_STATE_TAX_RULES_F',
419 'ASSIGNMENT_ID',
420 p_old_ASSIGNMENT_ID,
421 p_new_ASSIGNMENT_ID,
422 p_effective_date
423 );
424 --
425 pay_continuous_calc.event_update(p_business_group_id,
426 p_legislation_code,
427 'PAY_US_EMP_STATE_TAX_RULES_F',
428 'BUSINESS_GROUP_ID',
429 p_old_BUSINESS_GROUP_ID,
430 p_new_BUSINESS_GROUP_ID,
431 p_effective_date
432 );
433 --
434 pay_continuous_calc.event_update(p_business_group_id,
435 p_legislation_code,
436 'PAY_US_EMP_STATE_TAX_RULES_F',
437 'EMP_STATE_TAX_RULE_ID',
438 p_old_EMP_STATE_TAX_RULE_ID,
439 p_new_EMP_STATE_TAX_RULE_ID,
440 p_effective_date
441 );
442 --
443 pay_continuous_calc.event_update(p_business_group_id,
444 p_legislation_code,
445 'PAY_US_EMP_STATE_TAX_RULES_F',
446 'EXCESSIVE_WA_REJECT_DATE',
447 p_old_EXCESSIVE_WA_REJECT_DATE,
448 p_new_EXCESSIVE_WA_REJECT_DATE,
449 p_effective_date
450 );
451 --
452 pay_continuous_calc.event_update(p_business_group_id,
453 p_legislation_code,
454 'PAY_US_EMP_STATE_TAX_RULES_F',
455 'FILING_STATUS_CODE',
456 p_old_FILING_STATUS_CODE,
457 p_new_FILING_STATUS_CODE,
458 p_effective_date
459 );
460 --
461 pay_continuous_calc.event_update(p_business_group_id,
462 p_legislation_code,
463 'PAY_US_EMP_STATE_TAX_RULES_F',
464 'JURISDICTION_CODE',
465 p_old_JURISDICTION_CODE,
466 p_new_JURISDICTION_CODE,
467 p_effective_date
468 );
469 --
470 pay_continuous_calc.event_update(p_business_group_id,
471 p_legislation_code,
472 'PAY_US_EMP_STATE_TAX_RULES_F',
473 'REMAINDER_PERCENT',
474 p_old_REMAINDER_PERCENT,
475 p_new_REMAINDER_PERCENT,
476 p_effective_date
477 );
478 --
479 pay_continuous_calc.event_update(p_business_group_id,
480 p_legislation_code,
481 'PAY_US_EMP_STATE_TAX_RULES_F',
482 'SDI_EXEMPT',
483 p_old_SDI_EXEMPT,
484 p_new_SDI_EXEMPT,
485 p_effective_date
486 );
487 --
488 pay_continuous_calc.event_update(p_business_group_id,
489 p_legislation_code,
490 'PAY_US_EMP_STATE_TAX_RULES_F',
491 'SECONDARY_WA',
492 p_old_SECONDARY_WA,
493 p_new_SECONDARY_WA,
494 p_effective_date
495 );
496 --
497 pay_continuous_calc.event_update(p_business_group_id,
498 p_legislation_code,
499 'PAY_US_EMP_STATE_TAX_RULES_F',
500 'SIT_ADDITIONAL_TAX',
501 p_old_SIT_ADDITIONAL_TAX,
502 p_new_SIT_ADDITIONAL_TAX,
503 p_effective_date
504 );
505 --
506 pay_continuous_calc.event_update(p_business_group_id,
507 p_legislation_code,
508 'PAY_US_EMP_STATE_TAX_RULES_F',
509 'SIT_EXEMPT',
510 p_old_SIT_EXEMPT,
511 p_new_SIT_EXEMPT,
512 p_effective_date
513 );
514 --
515 pay_continuous_calc.event_update(p_business_group_id,
516 p_legislation_code,
517 'PAY_US_EMP_STATE_TAX_RULES_F',
518 'SIT_OPTIONAL_CALC_IND',
519 p_old_SIT_OPTIONAL_CALC_IND,
520 p_new_SIT_OPTIONAL_CALC_IND,
521 p_effective_date
522 );
523 --
524 pay_continuous_calc.event_update(p_business_group_id,
525 p_legislation_code,
526 'PAY_US_EMP_STATE_TAX_RULES_F',
527 'SIT_OVERRIDE_AMOUNT',
528 p_old_SIT_OVERRIDE_AMOUNT,
529 p_new_SIT_OVERRIDE_AMOUNT,
530 p_effective_date
531 );
532 --
533 pay_continuous_calc.event_update(p_business_group_id,
534 p_legislation_code,
535 'PAY_US_EMP_STATE_TAX_RULES_F',
536 'SIT_OVERRIDE_RATE',
537 p_old_SIT_OVERRIDE_RATE,
538 p_new_SIT_OVERRIDE_RATE,
539 p_effective_date
540 );
541 --
542 pay_continuous_calc.event_update(p_business_group_id,
543 p_legislation_code,
544 'PAY_US_EMP_STATE_TAX_RULES_F',
545 'STATE_CODE',
546 p_old_STATE_CODE,
547 p_new_STATE_CODE,
548 p_effective_date
549 );
550 --
551 pay_continuous_calc.event_update(p_business_group_id,
552 p_legislation_code,
553 'PAY_US_EMP_STATE_TAX_RULES_F',
554 'STATE_NON_RESIDENT_CERT',
555 p_old_STATE_NON_RESIDENT_CERT,
556 p_new_STATE_NON_RESIDENT_CERT,
557 p_effective_date
558 );
559 --
560 pay_continuous_calc.event_update(p_business_group_id,
561 p_legislation_code,
562 'PAY_US_EMP_STATE_TAX_RULES_F',
563 'SUI_EXEMPT',
564 p_old_SUI_EXEMPT,
565 p_new_SUI_EXEMPT,
566 p_effective_date
567 );
568 --
569 pay_continuous_calc.event_update(p_business_group_id,
570 p_legislation_code,
571 'PAY_US_EMP_STATE_TAX_RULES_F',
572 'SUI_WAGE_BASE_OVERRIDE_AMOUNT',
573 p_old_SUI_WAGE_BASE_OVERRIDE_A,
574 p_new_SUI_WAGE_BASE_OVERRIDE_A,
575 p_effective_date
576 );
577 --
578 pay_continuous_calc.event_update(p_business_group_id,
579 p_legislation_code,
580 'PAY_US_EMP_STATE_TAX_RULES_F',
581 'SUPP_TAX_OVERRIDE_RATE',
582 p_old_SUPP_TAX_OVERRIDE_RATE,
583 p_new_SUPP_TAX_OVERRIDE_RATE,
584 p_effective_date
585 );
586 --
587 pay_continuous_calc.event_update(p_business_group_id,
588 p_legislation_code,
589 'PAY_US_EMP_STATE_TAX_RULES_F',
590 'WC_EXEMPT',
591 p_old_WC_EXEMPT,
592 p_new_WC_EXEMPT,
593 p_effective_date
594 );
595 --
596 pay_continuous_calc.event_update(p_business_group_id,
597 p_legislation_code,
598 'PAY_US_EMP_STATE_TAX_RULES_F',
599 'WITHHOLDING_ALLOWANCES',
600 p_old_WITHHOLDING_ALLOWANCES,
601 p_new_WITHHOLDING_ALLOWANCES,
602 p_effective_date
603 );
604 --
605 pay_continuous_calc.event_update(p_business_group_id,
606 p_legislation_code,
607 'PAY_US_EMP_STATE_TAX_RULES_F',
608 'WITHHOLDING_ALLOWANCES',
609 p_old_WITHHOLDING_ALLOWANCES,
610 p_new_WITHHOLDING_ALLOWANCES,
611 p_effective_date
612 );
613 else
614 /* OK it must be a date track change */
615 --
616 pay_continuous_calc.event_update(p_business_group_id,
617 p_legislation_code,
618 'PAY_US_EMP_STATE_TAX_RULES_F',
619 'EFFECTIVE_END_DATE',
620 p_old_EFFECTIVE_END_DATE,
621 p_new_EFFECTIVE_END_DATE,
622 p_new_effective_end_date,
623 least(p_old_effective_end_date,
624 p_new_effective_end_date)
625 );
626 --
627 pay_continuous_calc.event_update(p_business_group_id,
628 p_legislation_code,
629 'PAY_US_EMP_STATE_TAX_RULES_F',
630 'EFFECTIVE_START_DATE',
631 p_old_EFFECTIVE_START_DATE,
632 p_new_EFFECTIVE_START_DATE,
633 p_new_effective_start_date,
634 least(p_old_effective_start_date,
635 p_new_effective_start_date)
636 );
637
638 end if;
639 --
640 /* Now call the API for the affected assignments */
641 declare
642 l_process_event_id number;
643 l_object_version_number number;
644 cnt number;
645 begin
646 if (pay_continuous_calc.g_event_list.sz <> 0) then
647 for cnt in 1..pay_continuous_calc.g_event_list.sz loop
648 pay_ppe_api.create_process_event(
649 p_assignment_id => p_old_assignment_id,
650 p_effective_date => pay_continuous_calc.g_event_list.effective_date(cnt),
651 p_change_type => pay_continuous_calc.g_event_list.change_type(cnt),
652 p_status => 'U',
653 p_description => pay_continuous_calc.g_event_list.description(cnt),
654 p_process_event_id => l_process_event_id,
655 p_object_version_number => l_object_version_number,
656 p_event_update_id => pay_continuous_calc.g_event_list.event_update_id(cnt),
657 p_business_group_id => p_business_group_id,
658 p_surrogate_key => p_old_EMP_STATE_TAX_RULE_ID
659 );
660 end loop;
661 end if;
662 pay_continuous_calc.g_event_list.sz := 0;
663 end;
664 --
665 end PAY_US_STATE_TAX_RULES_F_aru;
666 --
667 /* PAY_US_EMP_COUNTY_TAX_RULES_F */
668 /* name : PAY_US_COUNTY_TAX_RULES_F_aru
669 purpose : This is procedure that records any changes for updates
670 on County Tax Rules.
671 */
672 procedure PAY_US_COUNTY_TAX_RULES_F_aru(
673 p_business_group_id in number,
674 p_legislation_code in varchar2,
675 p_effective_date in date ,
676 p_old_ADDITIONAL_WA_RATE in NUMBER,
677 p_new_ADDITIONAL_WA_RATE in NUMBER ,
678 p_old_ASSIGNMENT_ID in NUMBER,
679 p_new_ASSIGNMENT_ID in NUMBER ,
680 p_old_BUSINESS_GROUP_ID in NUMBER,
681 p_new_BUSINESS_GROUP_ID in NUMBER ,
682 p_old_COUNTY_CODE in VARCHAR2,
683 p_new_COUNTY_CODE in VARCHAR2 ,
684 p_old_EMP_COUNTY_TAX_RULE_ID in NUMBER,
685 p_new_EMP_COUNTY_TAX_RULE_ID in NUMBER ,
686 p_old_FILING_STATUS_CODE in VARCHAR2,
687 p_new_FILING_STATUS_CODE in VARCHAR2 ,
688 p_old_HT_EXEMPT in VARCHAR2,
689 p_new_HT_EXEMPT in VARCHAR2 ,
690 p_old_JURISDICTION_CODE in VARCHAR2,
691 p_new_JURISDICTION_CODE in VARCHAR2 ,
692 p_old_LIT_ADDITIONAL_TAX in NUMBER,
693 p_new_LIT_ADDITIONAL_TAX in NUMBER ,
694 p_old_LIT_EXEMPT in VARCHAR2,
695 p_new_LIT_EXEMPT in VARCHAR2 ,
696 p_old_LIT_OVERRIDE_AMOUNT in NUMBER,
697 p_new_LIT_OVERRIDE_AMOUNT in NUMBER ,
698 p_old_LIT_OVERRIDE_RATE in NUMBER,
699 p_new_LIT_OVERRIDE_RATE in NUMBER ,
700 p_old_SCHOOL_DISTRICT_CODE in VARCHAR2,
701 p_new_SCHOOL_DISTRICT_CODE in VARCHAR2 ,
702 p_old_SD_EXEMPT in VARCHAR2,
703 p_new_SD_EXEMPT in VARCHAR2 ,
704 p_old_STATE_CODE in VARCHAR2,
705 p_new_STATE_CODE in VARCHAR2 ,
706 p_old_WITHHOLDING_ALLOWANCES in NUMBER,
707 p_new_WITHHOLDING_ALLOWANCES in NUMBER ,
708 p_old_EFFECTIVE_END_DATE in DATE,
709 p_new_EFFECTIVE_END_DATE in DATE ,
710 p_old_EFFECTIVE_START_DATE in DATE,
711 p_new_EFFECTIVE_START_DATE in DATE
712 )
713 is
714 --
715 begin
716 /* If the continuous calc is overriden then do nothing */
717 if (pay_continuous_calc.g_override_cc = TRUE) then
718 return;
719 end if;
720 --
721 /* If the dates havent changed it must be a correction */
722 if (p_old_EFFECTIVE_END_DATE = p_new_EFFECTIVE_END_DATE
723 and p_old_EFFECTIVE_START_DATE = p_new_EFFECTIVE_START_DATE) then
724 --
725 pay_continuous_calc.event_update(p_business_group_id,
726 p_legislation_code,
727 'PAY_US_EMP_COUNTY_TAX_RULES_F',
728 'ADDITIONAL_WA_RATE',
729 p_old_ADDITIONAL_WA_RATE,
730 p_new_ADDITIONAL_WA_RATE,
731 p_effective_date
732 );
733 --
734 pay_continuous_calc.event_update(p_business_group_id,
735 p_legislation_code,
736 'PAY_US_EMP_COUNTY_TAX_RULES_F',
737 'ASSIGNMENT_ID',
738 p_old_ASSIGNMENT_ID,
739 p_new_ASSIGNMENT_ID,
740 p_effective_date
741 );
742 --
743 pay_continuous_calc.event_update(p_business_group_id,
744 p_legislation_code,
745 'PAY_US_EMP_COUNTY_TAX_RULES_F',
746 'BUSINESS_GROUP_ID',
747 p_old_BUSINESS_GROUP_ID,
748 p_new_BUSINESS_GROUP_ID,
749 p_effective_date
750 );
751 --
752 pay_continuous_calc.event_update(p_business_group_id,
753 p_legislation_code,
754 'PAY_US_EMP_COUNTY_TAX_RULES_F',
755 'COUNTY_CODE',
756 p_old_COUNTY_CODE,
757 p_new_COUNTY_CODE,
758 p_effective_date
759 );
760 --
761 pay_continuous_calc.event_update(p_business_group_id,
762 p_legislation_code,
763 'PAY_US_EMP_COUNTY_TAX_RULES_F',
764 'EMP_COUNTY_TAX_RULE_ID',
765 p_old_EMP_COUNTY_TAX_RULE_ID,
766 p_new_EMP_COUNTY_TAX_RULE_ID,
767 p_effective_date
768 );
769 --
770 pay_continuous_calc.event_update(p_business_group_id,
771 p_legislation_code,
772 'PAY_US_EMP_COUNTY_TAX_RULES_F',
773 'FILING_STATUS_CODE',
774 p_old_FILING_STATUS_CODE,
775 p_new_FILING_STATUS_CODE,
776 p_effective_date
777 );
778 --
779 pay_continuous_calc.event_update(p_business_group_id,
780 p_legislation_code,
781 'PAY_US_EMP_COUNTY_TAX_RULES_F',
782 'HT_EXEMPT',
783 p_old_HT_EXEMPT,
784 p_new_HT_EXEMPT,
785 p_effective_date
786 );
787 --
788 pay_continuous_calc.event_update(p_business_group_id,
789 p_legislation_code,
790 'PAY_US_EMP_COUNTY_TAX_RULES_F',
791 'JURISDICTION_CODE',
792 p_old_JURISDICTION_CODE,
793 p_new_JURISDICTION_CODE,
794 p_effective_date
795 );
796 --
797 pay_continuous_calc.event_update(p_business_group_id,
798 p_legislation_code,
799 'PAY_US_EMP_COUNTY_TAX_RULES_F',
800 'LIT_ADDITIONAL_TAX',
801 p_old_LIT_ADDITIONAL_TAX,
802 p_new_LIT_ADDITIONAL_TAX,
803 p_effective_date
804 );
805 --
806 pay_continuous_calc.event_update(p_business_group_id,
807 p_legislation_code,
808 'PAY_US_EMP_COUNTY_TAX_RULES_F',
809 'LIT_EXEMPT',
810 p_old_LIT_EXEMPT,
811 p_new_LIT_EXEMPT,
812 p_effective_date
813 );
814 --
815 pay_continuous_calc.event_update(p_business_group_id,
816 p_legislation_code,
817 'PAY_US_EMP_COUNTY_TAX_RULES_F',
818 'LIT_OVERRIDE_AMOUNT',
819 p_old_LIT_OVERRIDE_AMOUNT,
820 p_new_LIT_OVERRIDE_AMOUNT,
821 p_effective_date
822 );
823 --
824 pay_continuous_calc.event_update(p_business_group_id,
825 p_legislation_code,
826 'PAY_US_EMP_COUNTY_TAX_RULES_F',
827 'LIT_OVERRIDE_RATE',
828 p_old_LIT_OVERRIDE_RATE,
829 p_new_LIT_OVERRIDE_RATE,
830 p_effective_date
831 );
832 --
833 pay_continuous_calc.event_update(p_business_group_id,
834 p_legislation_code,
835 'PAY_US_EMP_COUNTY_TAX_RULES_F',
836 'SCHOOL_DISTRICT_CODE',
837 p_old_SCHOOL_DISTRICT_CODE,
838 p_new_SCHOOL_DISTRICT_CODE,
839 p_effective_date
840 );
841 --
842 pay_continuous_calc.event_update(p_business_group_id,
843 p_legislation_code,
844 'PAY_US_EMP_COUNTY_TAX_RULES_F',
845 'SD_EXEMPT',
846 p_old_SD_EXEMPT,
847 p_new_SD_EXEMPT,
848 p_effective_date
849 );
850 --
851 pay_continuous_calc.event_update(p_business_group_id,
852 p_legislation_code,
853 'PAY_US_EMP_COUNTY_TAX_RULES_F',
854 'STATE_CODE',
855 p_old_STATE_CODE,
856 p_new_STATE_CODE,
857 p_effective_date
858 );
859 --
860 pay_continuous_calc.event_update(p_business_group_id,
861 p_legislation_code,
862 'PAY_US_EMP_COUNTY_TAX_RULES_F',
863 'WITHHOLDING_ALLOWANCES',
864 p_old_WITHHOLDING_ALLOWANCES,
865 p_new_WITHHOLDING_ALLOWANCES,
866 p_effective_date
867 );
868 --
869 pay_continuous_calc.event_update(p_business_group_id,
870 p_legislation_code,
871 'PAY_US_EMP_COUNTY_TAX_RULES_F',
872 'WITHHOLDING_ALLOWANCES',
873 p_old_WITHHOLDING_ALLOWANCES,
874 p_new_WITHHOLDING_ALLOWANCES,
875 p_effective_date
876 );
877 else
878 /* OK it must be a date track change */
879 --
880 pay_continuous_calc.event_update(p_business_group_id,
881 p_legislation_code,
882 'PAY_US_EMP_COUNTY_TAX_RULES_F',
883 'EFFECTIVE_END_DATE',
884 p_old_EFFECTIVE_END_DATE,
885 p_new_EFFECTIVE_END_DATE,
886 p_new_effective_end_date,
887 least(p_old_effective_end_date,
888 p_new_effective_end_date)
889 );
890 --
891 pay_continuous_calc.event_update(p_business_group_id,
892 p_legislation_code,
893 'PAY_US_EMP_COUNTY_TAX_RULES_F',
894 'EFFECTIVE_START_DATE',
895 p_old_EFFECTIVE_START_DATE,
896 p_new_EFFECTIVE_START_DATE,
897 p_new_effective_start_date,
898 least(p_old_effective_start_date,
899 p_new_effective_start_date)
900 );
901
902 end if;
903 --
904 /* Now call the API for the affected assignments */
905 declare
906 l_process_event_id number;
907 l_object_version_number number;
908 cnt number;
909 begin
910 if (pay_continuous_calc.g_event_list.sz <> 0) then
911 for cnt in 1..pay_continuous_calc.g_event_list.sz loop
912 pay_ppe_api.create_process_event(
913 p_assignment_id => p_old_ASSIGNMENT_ID,
914 p_effective_date => pay_continuous_calc.g_event_list.effective_date(cnt),
915 p_change_type => pay_continuous_calc.g_event_list.change_type(cnt),
916 p_status => 'U',
917 p_description => pay_continuous_calc.g_event_list.description(cnt),
918 p_process_event_id => l_process_event_id,
919 p_object_version_number => l_object_version_number,
920 p_event_update_id => pay_continuous_calc.g_event_list.event_update_id(cnt),
921 p_business_group_id => p_business_group_id,
922 p_surrogate_key => p_old_EMP_COUNTY_TAX_RULE_ID
923 );
924 end loop;
925 end if;
926 pay_continuous_calc.g_event_list.sz := 0;
927 end;
928 --
929 end PAY_US_COUNTY_TAX_RULES_F_aru;
930 --
931 /* PAY_US_EMP_CITY_TAX_RULES_F */
932 /* name : PAY_US_CITY_TAX_RULES_F_aru
933 purpose : This is procedure that records any changes for updates
934 on City Tax Rules.
935 */
936 procedure PAY_US_CITY_TAX_RULES_F_aru(
937 p_business_group_id in number,
938 p_legislation_code in varchar2,
939 p_effective_date in date ,
940 p_old_ADDITIONAL_WA_RATE in NUMBER,
941 p_new_ADDITIONAL_WA_RATE in NUMBER ,
942 p_old_ASSIGNMENT_ID in NUMBER,
943 p_new_ASSIGNMENT_ID in NUMBER ,
944 p_old_BUSINESS_GROUP_ID in NUMBER,
945 p_new_BUSINESS_GROUP_ID in NUMBER ,
946 p_old_CITY_CODE in VARCHAR2,
947 p_new_CITY_CODE in VARCHAR2 ,
948 p_old_COUNTY_CODE in VARCHAR2,
949 p_new_COUNTY_CODE in VARCHAR2 ,
950 p_old_EMP_CITY_TAX_RULE_ID in NUMBER,
951 p_new_EMP_CITY_TAX_RULE_ID in NUMBER ,
952 p_old_FILING_STATUS_CODE in VARCHAR2,
953 p_new_FILING_STATUS_CODE in VARCHAR2 ,
954 p_old_HT_EXEMPT in VARCHAR2,
955 p_new_HT_EXEMPT in VARCHAR2 ,
956 p_old_JURISDICTION_CODE in VARCHAR2,
957 p_new_JURISDICTION_CODE in VARCHAR2 ,
958 p_old_LIT_ADDITIONAL_TAX in NUMBER,
959 p_new_LIT_ADDITIONAL_TAX in NUMBER ,
960 p_old_LIT_EXEMPT in VARCHAR2,
961 p_new_LIT_EXEMPT in VARCHAR2 ,
962 p_old_LIT_OVERRIDE_AMOUNT in NUMBER,
963 p_new_LIT_OVERRIDE_AMOUNT in NUMBER ,
964 p_old_LIT_OVERRIDE_RATE in NUMBER,
965 p_new_LIT_OVERRIDE_RATE in NUMBER ,
966 p_old_SCHOOL_DISTRICT_CODE in VARCHAR2,
967 p_new_SCHOOL_DISTRICT_CODE in VARCHAR2 ,
968 p_old_SD_EXEMPT in VARCHAR2,
969 p_new_SD_EXEMPT in VARCHAR2 ,
970 p_old_STATE_CODE in VARCHAR2,
971 p_new_STATE_CODE in VARCHAR2 ,
972 p_old_WITHHOLDING_ALLOWANCES in NUMBER,
973 p_new_WITHHOLDING_ALLOWANCES in NUMBER ,
974 p_old_EFFECTIVE_END_DATE in DATE,
975 p_new_EFFECTIVE_END_DATE in DATE ,
976 p_old_EFFECTIVE_START_DATE in DATE,
977 p_new_EFFECTIVE_START_DATE in DATE
978 )
979 is
980 --
981 begin
982 /* If the continuous calc is overriden then do nothing */
983 if (pay_continuous_calc.g_override_cc = TRUE) then
984 return;
985 end if;
986 --
987 /* If the dates havent changed it must be a correction */
988 if (p_old_EFFECTIVE_END_DATE = p_new_EFFECTIVE_END_DATE
989 and p_old_EFFECTIVE_START_DATE = p_new_EFFECTIVE_START_DATE) then
990 --
991 pay_continuous_calc.event_update(p_business_group_id,
992 p_legislation_code,
993 'PAY_US_EMP_CITY_TAX_RULES_F',
994 'ADDITIONAL_WA_RATE',
995 p_old_ADDITIONAL_WA_RATE,
996 p_new_ADDITIONAL_WA_RATE,
997 p_effective_date
998 );
999 --
1000 pay_continuous_calc.event_update(p_business_group_id,
1001 p_legislation_code,
1002 'PAY_US_EMP_CITY_TAX_RULES_F',
1003 'ASSIGNMENT_ID',
1004 p_old_ASSIGNMENT_ID,
1005 p_new_ASSIGNMENT_ID,
1006 p_effective_date
1007 );
1008 --
1009 pay_continuous_calc.event_update(p_business_group_id,
1010 p_legislation_code,
1011 'PAY_US_EMP_CITY_TAX_RULES_F',
1012 'BUSINESS_GROUP_ID',
1013 p_old_BUSINESS_GROUP_ID,
1014 p_new_BUSINESS_GROUP_ID,
1015 p_effective_date
1016 );
1017 --
1018 pay_continuous_calc.event_update(p_business_group_id,
1019 p_legislation_code,
1020 'PAY_US_EMP_CITY_TAX_RULES_F',
1021 'CITY_CODE',
1022 p_old_CITY_CODE,
1023 p_new_CITY_CODE,
1024 p_effective_date
1025 );
1026 --
1027 pay_continuous_calc.event_update(p_business_group_id,
1028 p_legislation_code,
1029 'PAY_US_EMP_CITY_TAX_RULES_F',
1030 'COUNTY_CODE',
1031 p_old_COUNTY_CODE,
1032 p_new_COUNTY_CODE,
1033 p_effective_date
1034 );
1035 --
1036 pay_continuous_calc.event_update(p_business_group_id,
1037 p_legislation_code,
1038 'PAY_US_EMP_CITY_TAX_RULES_F',
1039 'EMP_CITY_TAX_RULE_ID',
1040 p_old_EMP_CITY_TAX_RULE_ID,
1041 p_new_EMP_CITY_TAX_RULE_ID,
1042 p_effective_date
1043 );
1044 --
1045 pay_continuous_calc.event_update(p_business_group_id,
1046 p_legislation_code,
1047 'PAY_US_EMP_CITY_TAX_RULES_F',
1048 'FILING_STATUS_CODE',
1049 p_old_FILING_STATUS_CODE,
1050 p_new_FILING_STATUS_CODE,
1051 p_effective_date
1052 );
1053 --
1054 pay_continuous_calc.event_update(p_business_group_id,
1055 p_legislation_code,
1056 'PAY_US_EMP_CITY_TAX_RULES_F',
1057 'HT_EXEMPT',
1058 p_old_HT_EXEMPT,
1059 p_new_HT_EXEMPT,
1060 p_effective_date
1061 );
1062 --
1063 pay_continuous_calc.event_update(p_business_group_id,
1064 p_legislation_code,
1065 'PAY_US_EMP_CITY_TAX_RULES_F',
1066 'JURISDICTION_CODE',
1067 p_old_JURISDICTION_CODE,
1068 p_new_JURISDICTION_CODE,
1069 p_effective_date
1070 );
1071 --
1072 pay_continuous_calc.event_update(p_business_group_id,
1073 p_legislation_code,
1074 'PAY_US_EMP_CITY_TAX_RULES_F',
1075 'LIT_ADDITIONAL_TAX',
1076 p_old_LIT_ADDITIONAL_TAX,
1077 p_new_LIT_ADDITIONAL_TAX,
1078 p_effective_date
1079 );
1080 --
1081 pay_continuous_calc.event_update(p_business_group_id,
1082 p_legislation_code,
1083 'PAY_US_EMP_CITY_TAX_RULES_F',
1084 'LIT_EXEMPT',
1085 p_old_LIT_EXEMPT,
1086 p_new_LIT_EXEMPT,
1087 p_effective_date
1088 );
1089 --
1090 pay_continuous_calc.event_update(p_business_group_id,
1091 p_legislation_code,
1092 'PAY_US_EMP_CITY_TAX_RULES_F',
1093 'LIT_OVERRIDE_AMOUNT',
1094 p_old_LIT_OVERRIDE_AMOUNT,
1095 p_new_LIT_OVERRIDE_AMOUNT,
1096 p_effective_date
1097 );
1098 --
1099 pay_continuous_calc.event_update(p_business_group_id,
1100 p_legislation_code,
1101 'PAY_US_EMP_CITY_TAX_RULES_F',
1102 'LIT_OVERRIDE_RATE',
1103 p_old_LIT_OVERRIDE_RATE,
1104 p_new_LIT_OVERRIDE_RATE,
1105 p_effective_date
1106 );
1107 --
1108 pay_continuous_calc.event_update(p_business_group_id,
1109 p_legislation_code,
1110 'PAY_US_EMP_CITY_TAX_RULES_F',
1111 'SCHOOL_DISTRICT_CODE',
1112 p_old_SCHOOL_DISTRICT_CODE,
1113 p_new_SCHOOL_DISTRICT_CODE,
1114 p_effective_date
1115 );
1116 --
1117 pay_continuous_calc.event_update(p_business_group_id,
1118 p_legislation_code,
1119 'PAY_US_EMP_CITY_TAX_RULES_F',
1120 'SD_EXEMPT',
1121 p_old_SD_EXEMPT,
1122 p_new_SD_EXEMPT,
1123 p_effective_date
1124 );
1125 --
1126 pay_continuous_calc.event_update(p_business_group_id,
1127 p_legislation_code,
1128 'PAY_US_EMP_CITY_TAX_RULES_F',
1129 'STATE_CODE',
1130 p_old_STATE_CODE,
1131 p_new_STATE_CODE,
1132 p_effective_date
1133 );
1134 --
1135 pay_continuous_calc.event_update(p_business_group_id,
1136 p_legislation_code,
1137 'PAY_US_EMP_CITY_TAX_RULES_F',
1138 'WITHHOLDING_ALLOWANCES',
1139 p_old_WITHHOLDING_ALLOWANCES,
1140 p_new_WITHHOLDING_ALLOWANCES,
1141 p_effective_date
1142 );
1143 --
1144 pay_continuous_calc.event_update(p_business_group_id,
1145 p_legislation_code,
1146 'PAY_US_EMP_CITY_TAX_RULES_F',
1147 'WITHHOLDING_ALLOWANCES',
1148 p_old_WITHHOLDING_ALLOWANCES,
1149 p_new_WITHHOLDING_ALLOWANCES,
1150 p_effective_date
1151 );
1152 else
1153 /* OK it must be a date track change */
1154 --
1155 pay_continuous_calc.event_update(p_business_group_id,
1156 p_legislation_code,
1157 'PAY_US_EMP_CITY_TAX_RULES_F',
1158 'EFFECTIVE_END_DATE',
1159 p_old_EFFECTIVE_END_DATE,
1160 p_new_EFFECTIVE_END_DATE,
1161 p_new_effective_end_date,
1162 least(p_old_effective_end_date,
1163 p_new_effective_end_date)
1164 );
1165 --
1166 pay_continuous_calc.event_update(p_business_group_id,
1167 p_legislation_code,
1168 'PAY_US_EMP_CITY_TAX_RULES_F',
1169 'EFFECTIVE_START_DATE',
1170 p_old_EFFECTIVE_START_DATE,
1171 p_new_EFFECTIVE_START_DATE,
1172 p_new_effective_start_date,
1173 least(p_old_effective_start_date,
1174 p_new_effective_start_date)
1175 );
1176
1177 end if;
1178 --
1179 /* Now call the API for the affected assignments */
1180 declare
1181 l_process_event_id number;
1182 l_object_version_number number;
1183 cnt number;
1184 begin
1185 if (pay_continuous_calc.g_event_list.sz <> 0) then
1186 for cnt in 1..pay_continuous_calc.g_event_list.sz loop
1187 pay_ppe_api.create_process_event(
1188 p_assignment_id => p_old_ASSIGNMENT_ID,
1189 p_effective_date => pay_continuous_calc.g_event_list.effective_date(cnt),
1190 p_change_type => pay_continuous_calc.g_event_list.change_type(cnt),
1191 p_status => 'U',
1192 p_description => pay_continuous_calc.g_event_list.description(cnt),
1193 p_process_event_id => l_process_event_id,
1194 p_object_version_number => l_object_version_number,
1195 p_event_update_id => pay_continuous_calc.g_event_list.event_update_id(cnt),
1196 p_business_group_id => p_business_group_id,
1197 p_surrogate_key => p_old_EMP_CITY_TAX_RULE_ID
1198 );
1199 end loop;
1200 end if;
1201 pay_continuous_calc.g_event_list.sz := 0;
1202 end;
1203 --
1204 end PAY_US_CITY_TAX_RULES_F_aru;
1205 --
1206 end pay_us_cont_calc;