DBA Data[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;