DBA Data[Home] [Help]

PACKAGE BODY: APPS.PAY_FED_UPD

Source


1 Package Body pay_fed_upd as
2 /* $Header: pyfedrhi.pkb 120.1.12000000.4 2007/07/26 11:08:20 vaprakas noship $ */
3 --
4 -- ----------------------------------------------------------------------------
5 -- |                     Private Global Definitions                           |
6 -- ----------------------------------------------------------------------------
7 --
8 g_package  varchar2(33) := '  pay_fed_upd.';  -- Global package name
9 --
10 -- ----------------------------------------------------------------------------
11 -- |----------------------------< dt_update_dml >-----------------------------|
12 -- ----------------------------------------------------------------------------
13 -- {Start Of Comments}
14 --
15 -- Description:
16 --   This procedure controls the execution of dml from the datetrack mode
17 --   of CORRECTION only. It is important to note that the object version
18 --   number is only increment by 1 because the datetrack correction is
19 --   soley for one datetracked row.
20 --   This procedure controls the actual dml update logic. The functions of this
21 --   procedure are as follows:
22 --   1) Get the next object_version_number.
23 --   2) To set and unset the g_api_dml status as required (as we are about to
24 --      perform dml).
25 --   3) To update the specified row in the schema using the primary key in
26 --      the predicates.
27 --   4) To trap any constraint violations that may have occurred.
28 --   5) To raise any other errors.
29 --
30 -- Prerequisites:
31 --   This is an internal private procedure which must be called from the
32 --   update_dml procedure.
33 --
34 -- In Parameters:
35 --   A Pl/Sql record structre.
36 --
37 -- Post Success:
38 --   The specified row will be updated in the schema.
39 --
40 -- Post Failure:
41 --   On the insert dml failure it is important to note that we always reset the
42 --   g_api_dml status to false.
43 --   If a check or unique integrity constraint violation is raised the
44 --   constraint_error procedure will be called.
45 --   If any other error is reported, the error will be raised after the
46 --   g_api_dml status is reset.
47 --
48 -- Developer Implementation Notes:
49 --   The update 'set' arguments list should be modified if any of your
50 --   attributes are not updateable.
51 --
52 -- Access Status:
53 --   Internal Row Handler Use Only.
54 --
55 -- {End Of Comments}
56 -- ----------------------------------------------------------------------------
57 Procedure dt_update_dml
58       (p_rec                   in out nocopy pay_fed_shd.g_rec_type,
59        p_effective_date        in      date,
60        p_datetrack_mode        in      varchar2,
61        p_validation_start_date in      date,
62        p_validation_end_date   in      date) is
63 --
64   l_proc      varchar2(72) := g_package||'dt_update_dml';
65 --
66 Begin
67   hr_utility.set_location('Entering:'||l_proc, 5);
68   --
69   If (p_datetrack_mode = 'CORRECTION') then
70     hr_utility.set_location(l_proc, 10);
71     --
72     -- Because we are updating a row we must get the next object
73     -- version number.
74     --
75     p_rec.object_version_number :=
76       dt_api.get_object_version_number
77         (p_base_table_name      => 'pay_us_emp_fed_tax_rules_f',
78          p_base_key_column      => 'emp_fed_tax_rule_id',
79          p_base_key_value      => p_rec.emp_fed_tax_rule_id);
80     --
81     pay_fed_shd.g_api_dml := true;  -- Set the api dml status
82     --
83     -- Update the pay_us_emp_fed_tax_rules_f Row
84     --
85     update  pay_us_emp_fed_tax_rules_f
86     set
87         emp_fed_tax_rule_id             = p_rec.emp_fed_tax_rule_id,
88     assignment_id                   = p_rec.assignment_id,
89     sui_state_code                  = p_rec.sui_state_code,
90     sui_jurisdiction_code           = p_rec.sui_jurisdiction_code,
91     business_group_id               = p_rec.business_group_id,
92     additional_wa_amount            = p_rec.additional_wa_amount,
93     filing_status_code              = p_rec.filing_status_code,
94     fit_override_amount             = p_rec.fit_override_amount,
95     fit_override_rate               = p_rec.fit_override_rate,
96     withholding_allowances          = p_rec.withholding_allowances,
97     cumulative_taxation             = p_rec.cumulative_taxation,
98     eic_filing_status_code          = p_rec.eic_filing_status_code,
99     fit_additional_tax              = p_rec.fit_additional_tax,
100     fit_exempt                      = p_rec.fit_exempt,
101     futa_tax_exempt                 = p_rec.futa_tax_exempt,
102     medicare_tax_exempt             = p_rec.medicare_tax_exempt,
103     ss_tax_exempt                   = p_rec.ss_tax_exempt,
104     wage_exempt                     = p_rec.wage_exempt,
105     statutory_employee              = p_rec.statutory_employee,
106     w2_filed_year                   = p_rec.w2_filed_year,
107     supp_tax_override_rate          = p_rec.supp_tax_override_rate,
108     excessive_wa_reject_date        = p_rec.excessive_wa_reject_date,
109     object_version_number           = p_rec.object_version_number,
110     attribute_category              = p_rec.attribute_category,
111     attribute1                      = p_rec.attribute1,
112     attribute2                      = p_rec.attribute2,
113     attribute3                      = p_rec.attribute3,
114     attribute4                      = p_rec.attribute4,
115     attribute5                      = p_rec.attribute5,
116     attribute6                      = p_rec.attribute6,
117     attribute7                      = p_rec.attribute7,
118     attribute8                      = p_rec.attribute8,
119     attribute9                      = p_rec.attribute9,
120     attribute10                     = p_rec.attribute10,
121     attribute11                     = p_rec.attribute11,
122     attribute12                     = p_rec.attribute12,
123     attribute13                     = p_rec.attribute13,
124     attribute14                     = p_rec.attribute14,
125     attribute15                     = p_rec.attribute15,
126     attribute16                     = p_rec.attribute16,
127     attribute17                     = p_rec.attribute17,
128     attribute18                     = p_rec.attribute18,
129     attribute19                     = p_rec.attribute19,
130     attribute20                     = p_rec.attribute20,
131     attribute21                     = p_rec.attribute21,
132     attribute22                     = p_rec.attribute22,
133     attribute23                     = p_rec.attribute23,
134     attribute24                     = p_rec.attribute24,
135     attribute25                     = p_rec.attribute25,
136     attribute26                     = p_rec.attribute26,
137     attribute27                     = p_rec.attribute27,
138     attribute28                     = p_rec.attribute28,
139     attribute29                     = p_rec.attribute29,
140     attribute30                     = p_rec.attribute30,
141     fed_information_category        = p_rec.fed_information_category,
142     fed_information1                      = p_rec.fed_information1,
143     fed_information2                      = p_rec.fed_information2,
144     fed_information3                      = p_rec.fed_information3,
145     fed_information4                      = p_rec.fed_information4,
146     fed_information5                      = p_rec.fed_information5,
147     fed_information6                      = p_rec.fed_information6,
148     fed_information7                      = p_rec.fed_information7,
149     fed_information8                      = p_rec.fed_information8,
150     fed_information9                      = p_rec.fed_information9,
151     fed_information10                     = p_rec.fed_information10,
152     fed_information11                     = p_rec.fed_information11,
153     fed_information12                     = p_rec.fed_information12,
154     fed_information13                     = p_rec.fed_information13,
155     fed_information14                     = p_rec.fed_information14,
156     fed_information15                     = p_rec.fed_information15,
157     fed_information16                     = p_rec.fed_information16,
158     fed_information17                     = p_rec.fed_information17,
159     fed_information18                     = p_rec.fed_information18,
160     fed_information19                     = p_rec.fed_information19,
161     fed_information20                     = p_rec.fed_information20,
162     fed_information21                     = p_rec.fed_information21,
163     fed_information22                     = p_rec.fed_information22,
164     fed_information23                     = p_rec.fed_information23,
165     fed_information24                     = p_rec.fed_information24,
166     fed_information25                     = p_rec.fed_information25,
167     fed_information26                     = p_rec.fed_information26,
168     fed_information27                     = p_rec.fed_information27,
169     fed_information28                     = p_rec.fed_information28,
170     fed_information29                     = p_rec.fed_information29,
171     fed_information30                     = p_rec.fed_information30
172     where   emp_fed_tax_rule_id = p_rec.emp_fed_tax_rule_id
173     and     effective_start_date = p_validation_start_date
174     and     effective_end_date   = p_validation_end_date;
175     --
176     pay_fed_shd.g_api_dml := false;   -- Unset the api dml status
177     --
178     -- Set the effective start and end dates
179     --
180     p_rec.effective_start_date := p_validation_start_date;
181     p_rec.effective_end_date   := p_validation_end_date;
182   End If;
183 --
184 hr_utility.set_location(' Leaving:'||l_proc, 15);
185 Exception
186   When hr_api.check_integrity_violated Then
187     -- A check constraint has been violated
188     pay_fed_shd.g_api_dml := false;   -- Unset the api dml status
189     pay_fed_shd.constraint_error
190       (p_constraint_name => hr_api.strip_constraint_name(SQLERRM));
191   When hr_api.unique_integrity_violated Then
192     -- Unique integrity has been violated
193     pay_fed_shd.g_api_dml := false;   -- Unset the api dml status
194     pay_fed_shd.constraint_error
195       (p_constraint_name => hr_api.strip_constraint_name(SQLERRM));
196   When Others Then
197     pay_fed_shd.g_api_dml := false;   -- Unset the api dml status
198     Raise;
199 End dt_update_dml;
200 --
201 -- ----------------------------------------------------------------------------
202 -- |------------------------------< update_dml >------------------------------|
203 -- ----------------------------------------------------------------------------
204 -- {Start Of Comments}
205 --
206 -- Description:
207 --   This procedure calls the dt_update_dml control logic which handles
208 --   the actual datetrack dml.
209 --
210 -- Prerequisites:
211 --   This is an internal private procedure which must be called from the upd
212 --   procedure.
213 --
214 -- In Parameters:
215 --   A Pl/Sql record structre.
216 --
217 -- Post Success:
218 --   Processing contines.
219 --
220 -- Post Failure:
221 --   No specific error handling is required within this procedure.
222 --
223 -- Developer Implementation Notes:
224 --   The update 'set' arguments list should be modified if any of your
225 --   attributes are not updateable.
226 --
227 -- Access Status:
228 --   Internal Row Handler Use Only.
229 --
230 -- {End Of Comments}
231 -- ----------------------------------------------------------------------------
232 Procedure update_dml
233       (p_rec                   in out nocopy pay_fed_shd.g_rec_type,
234        p_effective_date        in      date,
235        p_datetrack_mode        in      varchar2,
236        p_validation_start_date in      date,
237        p_validation_end_date   in      date) is
238 --
239   l_proc      varchar2(72) := g_package||'update_dml';
240 --
241 Begin
242   hr_utility.set_location('Entering:'||l_proc, 5);
243   --
244   dt_update_dml(p_rec               => p_rec,
245             p_effective_date        => p_effective_date,
246             p_datetrack_mode        => p_datetrack_mode,
247             p_validation_start_date => p_validation_start_date,
248             p_validation_end_date   => p_validation_end_date);
249   --
250   hr_utility.set_location(' Leaving:'||l_proc, 10);
251 End update_dml;
252 --
253 -- ----------------------------------------------------------------------------
254 -- |----------------------------< dt_pre_update >-----------------------------|
255 -- ----------------------------------------------------------------------------
256 -- {Start Of Comments}
257 --
258 -- Description:
259 --   The dt_pre_update procedure controls the execution
260 --   of dml for the datetrack modes of: UPDATE, UPDATE_OVERRIDE
261 --   and UPDATE_CHANGE_INSERT only. The execution required is as
262 --   follows:
263 --
264 --   1) Providing the datetrack update mode is not 'CORRECTION'
265 --      then set the effective end date of the current row (this
266 --      will be the validation_start_date - 1).
267 --   2) If the datetrack mode is 'UPDATE_OVERRIDE' then call the
268 --      corresponding delete_dml process to delete any future rows
269 --      where the effective_start_date is greater than or equal to
270 --      the validation_start_date.
271 --   3) Call the insert_dml process to insert the new updated row
272 --      details..
273 --
274 -- Prerequisites:
275 --   This is an internal procedure which is called from the
276 --   pre_update procedure.
277 --
278 -- In Parameters:
279 --
280 -- Post Success:
281 --   Processing continues.
282 --
283 -- Post Failure:
284 --   If an error has occurred, an error message and exception will be raised
285 --   but not handled.
286 --
287 -- Developer Implementation Notes:
288 --   This is an internal procedure which is required by Datetrack. Don't
289 --   remove or modify.
290 --
291 -- Access Status:
292 --   Internal Row Handler Use Only.
293 --
294 -- {End Of Comments}
295 -- ----------------------------------------------------------------------------
296 Procedure dt_pre_update
297       (p_rec                   in out nocopy      pay_fed_shd.g_rec_type,
298        p_effective_date        in      date,
299        p_datetrack_mode        in      varchar2,
300        p_validation_start_date in      date,
301        p_validation_end_date   in      date) is
302 --
303   l_proc         varchar2(72) := g_package||'dt_pre_update';
304   l_dummy_version_number number;
305 --
306 Begin
307   hr_utility.set_location('Entering:'||l_proc, 5);
308   If (p_datetrack_mode <> 'CORRECTION') then
309     hr_utility.set_location(l_proc, 10);
310     --
311     -- Update the current effective end date
312     --
313     pay_fed_shd.upd_effective_end_date
314      (p_effective_date         => p_effective_date,
315       p_base_key_value         => p_rec.emp_fed_tax_rule_id,
316       p_new_effective_end_date => (p_validation_start_date - 1),
317       p_validation_start_date  => p_validation_start_date,
318       p_validation_end_date    => p_validation_end_date,
319       p_object_version_number  => l_dummy_version_number);
320     --
321     If (p_datetrack_mode = 'UPDATE_OVERRIDE') then
322       hr_utility.set_location(l_proc, 15);
323       --
324       -- As the datetrack mode is 'UPDATE_OVERRIDE' then we must
325       -- delete any future rows
326       --
327       pay_fed_del.delete_dml
328       (p_rec                   => p_rec,
329        p_effective_date        => p_effective_date,
330        p_datetrack_mode        => p_datetrack_mode,
331        p_validation_start_date => p_validation_start_date,
332        p_validation_end_date   => p_validation_end_date);
333     End If;
334     hr_utility.set_location(l_proc, 20);
335     --
336     -- We must now insert the updated row
337     --
338     pay_fed_ins.insert_dml
339       (p_rec                  => p_rec,
340        p_effective_date       => p_effective_date,
341        p_datetrack_mode       => p_datetrack_mode,
342        p_validation_start_date => p_validation_start_date,
343        p_validation_end_date  => p_validation_end_date);
344   End If;
345   hr_utility.set_location(' Leaving:'||l_proc, 20);
346 End dt_pre_update;
347 --
348 -- ----------------------------------------------------------------------------
349 -- |------------------------------< pre_update >------------------------------|
350 -- ----------------------------------------------------------------------------
351 -- {Start Of Comments}
352 --
353 -- Description:
354 --   This private procedure contains any processing which is required before
355 --   the update dml.
356 --
357 -- Prerequisites:
358 --   This is an internal procedure which is called from the upd procedure.
359 --
360 -- In Parameters:
361 --   A Pl/Sql record structre.
362 --
363 -- Post Success:
364 --   Processing continues.
365 --
366 -- Post Failure:
367 --   If an error has occurred, an error message and exception will be raised
368 --   but not handled.
369 --
370 -- Developer Implementation Notes:
371 --   Any pre-processing required before the update dml is issued should be
372 --   coded within this procedure. It is important to note that any 3rd party
373 --   maintenance should be reviewed before placing in this procedure. The call
374 --   to the dt_update_dml procedure should NOT be removed.
375 --
376 -- Access Status:
377 --   Internal Row Handler Use Only.
378 --
379 -- {End Of Comments}
380 -- ----------------------------------------------------------------------------
381 Procedure pre_update
382       (p_rec                   in out nocopy      pay_fed_shd.g_rec_type,
383        p_effective_date        in      date,
384        p_datetrack_mode        in      varchar2,
385        p_validation_start_date in      date,
386        p_validation_end_date   in      date) is
387 --
388   l_proc      varchar2(72) := g_package||'pre_update';
389 --
390 Begin
391   hr_utility.set_location('Entering:'||l_proc, 5);
392   --
393   --
394   --
395   dt_pre_update
396     (p_rec                  => p_rec,
397      p_effective_date           => p_effective_date,
398      p_datetrack_mode           => p_datetrack_mode,
399      p_validation_start_date => p_validation_start_date,
400      p_validation_end_date   => p_validation_end_date);
401   --
402   hr_utility.set_location(' Leaving:'||l_proc, 10);
403 End pre_update;
404 --
405 -- ----------------------------------------------------------------------------
406 -- |-----------------------------< post_update >------------------------------|
407 -- ----------------------------------------------------------------------------
408 -- {Start Of Comments}
409 --
410 -- Description:
411 --   This private procedure contains any processing which is required after the
412 --   update dml.
413 --
414 -- Prerequisites:
415 --   This is an internal procedure which is called from the upd procedure.
416 --
417 -- In Parameters:
418 --   A Pl/Sql record structre.
419 --
420 -- Post Success:
421 --   Processing continues.
422 --
423 -- Post Failure:
424 --   If an error has occurred, an error message and exception will be raised
425 --   but not handled.
426 --
427 -- Developer Implementation Notes:
428 --   Any post-processing required after the update dml is issued should be
429 --   coded within this procedure. It is important to note that any 3rd party
430 --   maintenance should be reviewed before placing in this procedure.
431 --
432 -- Access Status:
433 --   Internal Row Handler Use Only.
434 --
435 -- {End Of Comments}
436 -- ----------------------------------------------------------------------------
437 Procedure post_update
438       (p_rec                   in pay_fed_shd.g_rec_type,
439        p_effective_date        in date,
440        p_datetrack_mode        in varchar2,
441        p_validation_start_date in date,
442        p_validation_end_date   in date) is
443 --
444   l_proc      varchar2(72) := g_package||'post_update';
445 --
446 Begin
447   hr_utility.set_location('Entering:'||l_proc, 5);
448 --
449   --
450   -- Start of API User Hook for post_update.
451   --
452   begin
453     --
454 /*    pay_fed_rku.after_update
455       (
456   p_emp_fed_tax_rule_id        =>p_rec.emp_fed_tax_rule_id
457  ,p_effective_start_date       =>p_rec.effective_start_date
458  ,p_effective_end_date         =>p_rec.effective_end_date
459  ,p_sui_state_code             =>p_rec.sui_state_code
460  ,p_sui_jurisdiction_code      =>p_rec.sui_jurisdiction_code
461  ,p_additional_wa_amount       =>p_rec.additional_wa_amount
462  ,p_filing_status_code         =>p_rec.filing_status_code
463  ,p_fit_override_amount        =>p_rec.fit_override_amount
464  ,p_fit_override_rate          =>p_rec.fit_override_rate
465  ,p_withholding_allowances     =>p_rec.withholding_allowances
466  ,p_cumulative_taxation        =>p_rec.cumulative_taxation
467  ,p_eic_filing_status_code     =>p_rec.eic_filing_status_code
468  ,p_fit_additional_tax         =>p_rec.fit_additional_tax
469  ,p_fit_exempt                 =>p_rec.fit_exempt
470  ,p_futa_tax_exempt            =>p_rec.futa_tax_exempt
471  ,p_medicare_tax_exempt        =>p_rec.medicare_tax_exempt
472  ,p_ss_tax_exempt              =>p_rec.ss_tax_exempt
473  ,p_wage_exempt                =>p_rec.wage_exempt
474  ,p_statutory_employee         =>p_rec.statutory_employee
475  ,p_w2_filed_year              =>p_rec.w2_filed_year
476  ,p_supp_tax_override_rate     =>p_rec.supp_tax_override_rate
477  ,p_excessive_wa_reject_date   =>p_rec.excessive_wa_reject_date
478  ,p_object_version_number      =>p_rec.object_version_number
479  ,p_effective_date             =>p_effective_date
480  ,p_datetrack_mode             =>p_datetrack_mode
481  ,p_validation_start_date      =>p_validation_start_date
482  ,p_validation_end_date        =>p_validation_end_date
483  ,p_effective_start_date_o     =>pay_fed_shd.g_old_rec.effective_start_date
484  ,p_effective_end_date_o       =>pay_fed_shd.g_old_rec.effective_end_date
485  ,p_assignment_id_o            =>pay_fed_shd.g_old_rec.assignment_id
486  ,p_sui_state_code_o           =>pay_fed_shd.g_old_rec.sui_state_code
487  ,p_sui_jurisdiction_code_o    =>pay_fed_shd.g_old_rec.sui_jurisdiction_code
488  ,p_business_group_id_o        =>pay_fed_shd.g_old_rec.business_group_id
489  ,p_additional_wa_amount_o     =>pay_fed_shd.g_old_rec.additional_wa_amount
490  ,p_filing_status_code_o       =>pay_fed_shd.g_old_rec.filing_status_code
491  ,p_fit_override_amount_o      =>pay_fed_shd.g_old_rec.fit_override_amount
492  ,p_fit_override_rate_o        =>pay_fed_shd.g_old_rec.fit_override_rate
493  ,p_withholding_allowances_o   =>pay_fed_shd.g_old_rec.withholding_allowances
494  ,p_cumulative_taxation_o      =>pay_fed_shd.g_old_rec.cumulative_taxation
495  ,p_eic_filing_status_code_o   =>pay_fed_shd.g_old_rec.eic_filing_status_code
496  ,p_fit_additional_tax_o       =>pay_fed_shd.g_old_rec.fit_additional_tax
497  ,p_fit_exempt_o               =>pay_fed_shd.g_old_rec.fit_exempt
498  ,p_futa_tax_exempt_o          =>pay_fed_shd.g_old_rec.futa_tax_exempt
499  ,p_medicare_tax_exempt_o      =>pay_fed_shd.g_old_rec.medicare_tax_exempt
500  ,p_ss_tax_exempt_o            =>pay_fed_shd.g_old_rec.ss_tax_exempt
501  ,p_wage_exempt_o              =>pay_fed_shd.g_old_rec.wage_exempt
502  ,p_statutory_employee_o       =>pay_fed_shd.g_old_rec.statutory_employee
503  ,p_w2_filed_year_o            =>pay_fed_shd.g_old_rec.w2_filed_year
504  ,p_supp_tax_override_rate_o   =>pay_fed_shd.g_old_rec.supp_tax_override_rate
505  ,p_excessive_wa_reject_date_o =>pay_fed_shd.g_old_rec.excessive_wa_reject_date
506  ,p_object_version_number_o    =>pay_fed_shd.g_old_rec.object_version_number
507       );
508     --
509   exception
510     --
511     when hr_api.cannot_find_prog_unit then
512       --
513       hr_api.cannot_find_prog_unit_error
514         (p_module_name => 'PAY_US_EMP_FED_TAX_RULES_F
515         ,p_hook_type   => 'AU');
516       --
517  */
518     null;
519     --
520   end;
521   --
522   -- End of API User Hook for post_update.
523   --
524   --
525   hr_utility.set_location(' Leaving:'||l_proc, 10);
526 End post_update;
527 --
528 -- ----------------------------------------------------------------------------
529 -- |-----------------------------< convert_defs >-----------------------------|
530 -- ----------------------------------------------------------------------------
531 -- {Start Of Comments}
532 --
533 -- Description:
534 --   The Convert_Defs procedure has one very important function:
535 --   It must return the record structure for the row with all system defaulted
536 --   values converted into its corresponding parameter value for update. When
537 --   we attempt to update a row through the Upd process , certain
538 --   parameters can be defaulted which enables flexibility in the calling of
539 --   the upd process (e.g. only attributes which need to be updated need to be
540 --   specified). For the upd process to determine which attributes
541 --   have NOT been specified we need to check if the parameter has a reserved
542 --   system default value. Therefore, for all parameters which have a
543 --   corresponding reserved system default mechanism specified we need to
544 --   check if a system default is being used. If a system default is being
545 --   used then we convert the defaulted value into its corresponding attribute
546 --   value held in the g_old_rec data structure.
547 --
548 -- Prerequisites:
549 --   This private function can only be called from the upd process.
550 --
551 -- In Parameters:
552 --   A Pl/Sql record structre.
553 --
554 -- Post Success:
555 --   The record structure will be returned with all system defaulted parameter
556 --   values converted into its current row attribute value.
557 --
558 -- Post Failure:
559 --   No direct error handling is required within this function. Any possible
560 --   errors within this procedure will be a PL/SQL value error due to
561 --   conversion of datatypes or data lengths.
562 --
563 -- Developer Implementation Notes:
564 --   None.
565 --
566 -- Access Status:
567 --   Internal Row Handler Use Only.
568 --
569 -- {End Of Comments}
570 -- ----------------------------------------------------------------------------
571 Procedure convert_defs(p_rec in out nocopy pay_fed_shd.g_rec_type) is
572 --
573   l_proc  varchar2(72) := g_package||'convert_defs';
574 --
575 Begin
576   --
577   hr_utility.set_location('Entering:'||l_proc, 5);
578   --
579   -- We must now examine each argument value in the
580   -- p_rec plsql record structure
581   -- to see if a system default is being used. If a system default
582   -- is being used then we must set to the 'current' argument value.
583   --
584   If (p_rec.assignment_id = hr_api.g_number) then
585     p_rec.assignment_id :=
586     pay_fed_shd.g_old_rec.assignment_id;
587   End If;
588   If (p_rec.sui_state_code = hr_api.g_varchar2) then
589     p_rec.sui_state_code :=
590     pay_fed_shd.g_old_rec.sui_state_code;
591   End If;
592   If (p_rec.sui_jurisdiction_code = hr_api.g_varchar2) then
593     p_rec.sui_jurisdiction_code :=
594     pay_fed_shd.g_old_rec.sui_jurisdiction_code;
595   End If;
596   If (p_rec.business_group_id = hr_api.g_number) then
597     p_rec.business_group_id :=
598     pay_fed_shd.g_old_rec.business_group_id;
599   End If;
600   If (p_rec.additional_wa_amount = hr_api.g_number) then
601     p_rec.additional_wa_amount :=
602     pay_fed_shd.g_old_rec.additional_wa_amount;
603   End If;
604   If (p_rec.filing_status_code = hr_api.g_varchar2) then
605     p_rec.filing_status_code :=
606     pay_fed_shd.g_old_rec.filing_status_code;
607   End If;
608   If (p_rec.fit_override_amount = hr_api.g_number) then
609     p_rec.fit_override_amount :=
610     pay_fed_shd.g_old_rec.fit_override_amount;
611   End If;
612   If (p_rec.fit_override_rate = hr_api.g_number) then
613     p_rec.fit_override_rate :=
614     pay_fed_shd.g_old_rec.fit_override_rate;
615   End If;
616   If (p_rec.withholding_allowances = hr_api.g_number) then
617     p_rec.withholding_allowances :=
618     pay_fed_shd.g_old_rec.withholding_allowances;
619   End If;
620   If (p_rec.cumulative_taxation = hr_api.g_varchar2) then
621     p_rec.cumulative_taxation :=
622     pay_fed_shd.g_old_rec.cumulative_taxation;
623   End If;
624   If (p_rec.eic_filing_status_code = hr_api.g_varchar2) then
625     p_rec.eic_filing_status_code :=
626     pay_fed_shd.g_old_rec.eic_filing_status_code;
627   End If;
628   If (p_rec.fit_additional_tax = hr_api.g_number) then
629     p_rec.fit_additional_tax :=
630     pay_fed_shd.g_old_rec.fit_additional_tax;
631   End If;
632   If (p_rec.fit_exempt = hr_api.g_varchar2) then
633     p_rec.fit_exempt :=
634     pay_fed_shd.g_old_rec.fit_exempt;
635   End If;
636   If (p_rec.futa_tax_exempt = hr_api.g_varchar2) then
637     p_rec.futa_tax_exempt :=
638     pay_fed_shd.g_old_rec.futa_tax_exempt;
639   End If;
640   If (p_rec.medicare_tax_exempt = hr_api.g_varchar2) then
641     p_rec.medicare_tax_exempt :=
642     pay_fed_shd.g_old_rec.medicare_tax_exempt;
643   End If;
644   If (p_rec.ss_tax_exempt = hr_api.g_varchar2) then
645     p_rec.ss_tax_exempt :=
646     pay_fed_shd.g_old_rec.ss_tax_exempt;
647   End If;
648   If (p_rec.wage_exempt = hr_api.g_varchar2) then
649     p_rec.wage_exempt :=
650     pay_fed_shd.g_old_rec.wage_exempt;
651   End If;
652   If (p_rec.statutory_employee = hr_api.g_varchar2) then
653     p_rec.statutory_employee :=
654     pay_fed_shd.g_old_rec.statutory_employee;
655   End If;
656   If (p_rec.w2_filed_year = hr_api.g_number) then
657     p_rec.w2_filed_year :=
658     pay_fed_shd.g_old_rec.w2_filed_year;
659   End If;
660   If (p_rec.supp_tax_override_rate = hr_api.g_number) then
661     p_rec.supp_tax_override_rate :=
662     pay_fed_shd.g_old_rec.supp_tax_override_rate;
663   End If;
664   If (p_rec.excessive_wa_reject_date = hr_api.g_date) then
665     p_rec.excessive_wa_reject_date :=
666     pay_fed_shd.g_old_rec.excessive_wa_reject_date;
667   End If;
668   If (p_rec.attribute_category = hr_api.g_varchar2) then
669     p_rec.attribute_category :=
670     pay_fed_shd.g_old_rec.attribute_category;
671   End If;
672   If (p_rec.attribute1 = hr_api.g_varchar2) then
673     p_rec.attribute1 :=
674     pay_fed_shd.g_old_rec.attribute1;
675   End If;
676   If (p_rec.attribute2 = hr_api.g_varchar2) then
677     p_rec.attribute2 :=
678     pay_fed_shd.g_old_rec.attribute2;
679   End If;
680   If (p_rec.attribute3 = hr_api.g_varchar2) then
681     p_rec.attribute3 :=
682     pay_fed_shd.g_old_rec.attribute3;
683   End If;
684   If (p_rec.attribute4 = hr_api.g_varchar2) then
685     p_rec.attribute4 :=
686     pay_fed_shd.g_old_rec.attribute4;
687   End If;
688   If (p_rec.attribute5 = hr_api.g_varchar2) then
689     p_rec.attribute5 :=
690     pay_fed_shd.g_old_rec.attribute5;
691   End If;
692   If (p_rec.attribute6 = hr_api.g_varchar2) then
693     p_rec.attribute6 :=
694     pay_fed_shd.g_old_rec.attribute6;
695   End If;
696   If (p_rec.attribute7 = hr_api.g_varchar2) then
697     p_rec.attribute7 :=
698     pay_fed_shd.g_old_rec.attribute7;
699   End If;
700   If (p_rec.attribute8 = hr_api.g_varchar2) then
701     p_rec.attribute8 :=
702     pay_fed_shd.g_old_rec.attribute8;
703   End If;
704   If (p_rec.attribute9 = hr_api.g_varchar2) then
705     p_rec.attribute9 :=
706     pay_fed_shd.g_old_rec.attribute9;
707   End If;
708   If (p_rec.attribute10 = hr_api.g_varchar2) then
709     p_rec.attribute10 :=
710     pay_fed_shd.g_old_rec.attribute10;
711   End If;
712   If (p_rec.attribute11 = hr_api.g_varchar2) then
713     p_rec.attribute11 :=
714     pay_fed_shd.g_old_rec.attribute11;
715   End If;
716   If (p_rec.attribute12 = hr_api.g_varchar2) then
717     p_rec.attribute12 :=
718     pay_fed_shd.g_old_rec.attribute12;
719   End If;
720   If (p_rec.attribute13 = hr_api.g_varchar2) then
721     p_rec.attribute13 :=
722     pay_fed_shd.g_old_rec.attribute13;
723   End If;
724   If (p_rec.attribute14 = hr_api.g_varchar2) then
725     p_rec.attribute14 :=
726     pay_fed_shd.g_old_rec.attribute14;
727   End If;
728   If (p_rec.attribute15 = hr_api.g_varchar2) then
729     p_rec.attribute15 :=
730     pay_fed_shd.g_old_rec.attribute15;
731   End If;
732   If (p_rec.attribute16 = hr_api.g_varchar2) then
733     p_rec.attribute16 :=
734     pay_fed_shd.g_old_rec.attribute16;
735   End If;
736   If (p_rec.attribute17 = hr_api.g_varchar2) then
737     p_rec.attribute17 :=
738     pay_fed_shd.g_old_rec.attribute17;
739   End If;
740   If (p_rec.attribute18 = hr_api.g_varchar2) then
741     p_rec.attribute18 :=
742     pay_fed_shd.g_old_rec.attribute18;
743   End If;
744   If (p_rec.attribute19 = hr_api.g_varchar2) then
745     p_rec.attribute19 :=
746     pay_fed_shd.g_old_rec.attribute19;
747   End If;
748   If (p_rec.attribute20 = hr_api.g_varchar2) then
749     p_rec.attribute20 :=
750     pay_fed_shd.g_old_rec.attribute20;
751   End If;
752   If (p_rec.attribute21 = hr_api.g_varchar2) then
753     p_rec.attribute21 :=
754     pay_fed_shd.g_old_rec.attribute21;
755   End If;
756   If (p_rec.attribute22 = hr_api.g_varchar2) then
757     p_rec.attribute22 :=
758     pay_fed_shd.g_old_rec.attribute22;
759   End If;
760   If (p_rec.attribute23 = hr_api.g_varchar2) then
761     p_rec.attribute23 :=
762     pay_fed_shd.g_old_rec.attribute23;
763   End If;
764   If (p_rec.attribute24 = hr_api.g_varchar2) then
765     p_rec.attribute24 :=
766     pay_fed_shd.g_old_rec.attribute24;
767   End If;
768   If (p_rec.attribute25 = hr_api.g_varchar2) then
769     p_rec.attribute25 :=
770     pay_fed_shd.g_old_rec.attribute25;
771   End If;
772   If (p_rec.attribute26 = hr_api.g_varchar2) then
773     p_rec.attribute26 :=
774     pay_fed_shd.g_old_rec.attribute26;
775   End If;
776   If (p_rec.attribute27 = hr_api.g_varchar2) then
777     p_rec.attribute27 :=
778     pay_fed_shd.g_old_rec.attribute27;
779   End If;
780   If (p_rec.attribute28 = hr_api.g_varchar2) then
781     p_rec.attribute28 :=
782     pay_fed_shd.g_old_rec.attribute28;
783   End If;
784   If (p_rec.attribute29 = hr_api.g_varchar2) then
785     p_rec.attribute29 :=
786     pay_fed_shd.g_old_rec.attribute29;
787   End If;
788   If (p_rec.attribute30 = hr_api.g_varchar2) then
789     p_rec.attribute30 :=
790     pay_fed_shd.g_old_rec.attribute30;
791   End If;
792   If (p_rec.fed_information_category = hr_api.g_varchar2) then
793     p_rec.fed_information_category :=
794     pay_fed_shd.g_old_rec.fed_information_category;
795   End If;
796   If (p_rec.fed_information1 = hr_api.g_varchar2) then
797     p_rec.fed_information1 :=
798     pay_fed_shd.g_old_rec.fed_information1;
799   End If;
800   If (p_rec.fed_information2 = hr_api.g_varchar2) then
801     p_rec.fed_information2 :=
802     pay_fed_shd.g_old_rec.fed_information2;
803   End If;
804   If (p_rec.fed_information3 = hr_api.g_varchar2) then
805     p_rec.fed_information3 :=
806     pay_fed_shd.g_old_rec.fed_information3;
807   End If;
808   If (p_rec.fed_information4 = hr_api.g_varchar2) then
809     p_rec.fed_information4 :=
810     pay_fed_shd.g_old_rec.fed_information4;
811   End If;
812   If (p_rec.fed_information5 = hr_api.g_varchar2) then
813     p_rec.fed_information5 :=
814     pay_fed_shd.g_old_rec.fed_information5;
815   End If;
816   If (p_rec.fed_information6 = hr_api.g_varchar2) then
817     p_rec.fed_information6 :=
818     pay_fed_shd.g_old_rec.fed_information6;
819   End If;
820   If (p_rec.fed_information7 = hr_api.g_varchar2) then
821     p_rec.fed_information7 :=
822     pay_fed_shd.g_old_rec.fed_information7;
823   End If;
824   If (p_rec.fed_information8 = hr_api.g_varchar2) then
825     p_rec.fed_information8 :=
826     pay_fed_shd.g_old_rec.fed_information8;
827   End If;
828   If (p_rec.fed_information9 = hr_api.g_varchar2) then
829     p_rec.fed_information9 :=
830     pay_fed_shd.g_old_rec.fed_information9;
831   End If;
832   If (p_rec.fed_information10 = hr_api.g_varchar2) then
833     p_rec.fed_information10 :=
834     pay_fed_shd.g_old_rec.fed_information10;
835   End If;
836   If (p_rec.fed_information11 = hr_api.g_varchar2) then
837     p_rec.fed_information11 :=
838     pay_fed_shd.g_old_rec.fed_information11;
839   End If;
840   If (p_rec.fed_information12 = hr_api.g_varchar2) then
841     p_rec.fed_information12 :=
842     pay_fed_shd.g_old_rec.fed_information12;
843   End If;
844   If (p_rec.fed_information13 = hr_api.g_varchar2) then
845     p_rec.fed_information13 :=
846     pay_fed_shd.g_old_rec.fed_information13;
847   End If;
848   If (p_rec.fed_information14 = hr_api.g_varchar2) then
849     p_rec.fed_information14 :=
850     pay_fed_shd.g_old_rec.fed_information14;
851   End If;
852   If (p_rec.fed_information15 = hr_api.g_varchar2) then
853     p_rec.fed_information15 :=
854     pay_fed_shd.g_old_rec.fed_information15;
855   End If;
856   If (p_rec.fed_information16 = hr_api.g_varchar2) then
857     p_rec.fed_information16 :=
858     pay_fed_shd.g_old_rec.fed_information16;
859   End If;
860   If (p_rec.fed_information17 = hr_api.g_varchar2) then
861     p_rec.fed_information17 :=
862     pay_fed_shd.g_old_rec.fed_information17;
863   End If;
864   If (p_rec.fed_information18 = hr_api.g_varchar2) then
865     p_rec.fed_information18 :=
866     pay_fed_shd.g_old_rec.fed_information18;
867   End If;
868   If (p_rec.fed_information19 = hr_api.g_varchar2) then
869     p_rec.fed_information19 :=
870     pay_fed_shd.g_old_rec.fed_information19;
871   End If;
872   If (p_rec.fed_information20 = hr_api.g_varchar2) then
873     p_rec.fed_information20 :=
874     pay_fed_shd.g_old_rec.fed_information20;
875   End If;
876   If (p_rec.fed_information21 = hr_api.g_varchar2) then
877     p_rec.fed_information21 :=
878     pay_fed_shd.g_old_rec.fed_information21;
879   End If;
880   If (p_rec.fed_information22 = hr_api.g_varchar2) then
881     p_rec.fed_information22 :=
882     pay_fed_shd.g_old_rec.fed_information22;
883   End If;
884   If (p_rec.fed_information23 = hr_api.g_varchar2) then
885     p_rec.fed_information23 :=
886     pay_fed_shd.g_old_rec.fed_information23;
887   End If;
888   If (p_rec.fed_information24 = hr_api.g_varchar2) then
889     p_rec.fed_information24 :=
890     pay_fed_shd.g_old_rec.fed_information24;
891   End If;
892   If (p_rec.fed_information25 = hr_api.g_varchar2) then
893     p_rec.fed_information25 :=
894     pay_fed_shd.g_old_rec.fed_information25;
895   End If;
896   If (p_rec.fed_information26 = hr_api.g_varchar2) then
897     p_rec.fed_information26 :=
898     pay_fed_shd.g_old_rec.fed_information26;
899   End If;
900   If (p_rec.fed_information27 = hr_api.g_varchar2) then
901     p_rec.fed_information27 :=
902     pay_fed_shd.g_old_rec.fed_information27;
903   End If;
904   If (p_rec.fed_information28 = hr_api.g_varchar2) then
905     p_rec.fed_information28 :=
906     pay_fed_shd.g_old_rec.fed_information28;
907   End If;
908   If (p_rec.fed_information29 = hr_api.g_varchar2) then
909     p_rec.fed_information29 :=
910     pay_fed_shd.g_old_rec.fed_information29;
911   End If;
912   If (p_rec.fed_information30 = hr_api.g_varchar2) then
913     p_rec.fed_information30 :=
914     pay_fed_shd.g_old_rec.fed_information30;
915   End If;
916 
917   --
918   hr_utility.set_location(' Leaving:'||l_proc, 10);
919 --
920 End convert_defs;
921 --
922 -- ----------------------------------------------------------------------------
923 -- |---------------------------------< upd >----------------------------------|
924 -- ----------------------------------------------------------------------------
925 Procedure upd
926   (
927   p_rec                 in out nocopy       pay_fed_shd.g_rec_type,
928   p_effective_date      in       date,
929   p_datetrack_mode      in       varchar2
930   ) is
931 --
932   l_proc      varchar2(72) := g_package||'upd';
933   l_validation_start_date      date;
934   l_validation_end_date        date;
935 --
936 Begin
937   hr_utility.set_location('Entering:'||l_proc, 5);
938   --
939   -- Ensure that the DateTrack update mode is valid
940   --
941   dt_api.validate_dt_upd_mode(p_datetrack_mode => p_datetrack_mode);
942   --
943   -- We must lock the row which we need to update.
944   --
945   pay_fed_shd.lck
946       (p_effective_date        => p_effective_date,
947        p_datetrack_mode        => p_datetrack_mode,
948        p_emp_fed_tax_rule_id   => p_rec.emp_fed_tax_rule_id,
949        p_object_version_number => p_rec.object_version_number,
950        p_validation_start_date => l_validation_start_date,
951        p_validation_end_date   => l_validation_end_date);
952   --
953   -- 1. During an update system defaults are used to determine if
954   --    arguments have been defaulted or not. We must therefore
955   --    derive the full record structure values to be updated.
956   --
957   -- 2. Call the supporting update validate operations.
958   --
959   convert_defs(p_rec);
960   pay_fed_bus.update_validate
961       (p_rec                   => p_rec,
962        p_effective_date        => p_effective_date,
963        p_datetrack_mode        => p_datetrack_mode,
964        p_validation_start_date => l_validation_start_date,
965        p_validation_end_date   => l_validation_end_date);
966   --
967   -- Call the supporting pre-update operation
968   --
969   pre_update
970       (p_rec                   => p_rec,
971        p_effective_date        => p_effective_date,
972        p_datetrack_mode        => p_datetrack_mode,
973        p_validation_start_date => l_validation_start_date,
974        p_validation_end_date   => l_validation_end_date);
975   --
976   -- Update the row.
977   --
978   update_dml
979       (p_rec                   => p_rec,
980        p_effective_date        => p_effective_date,
981        p_datetrack_mode        => p_datetrack_mode,
982        p_validation_start_date => l_validation_start_date,
983        p_validation_end_date   => l_validation_end_date);
984   --
985   -- Call the supporting post-update operation
986   --
987   post_update
988       (p_rec                   => p_rec,
989        p_effective_date        => p_effective_date,
990        p_datetrack_mode        => p_datetrack_mode,
991        p_validation_start_date => l_validation_start_date,
992        p_validation_end_date   => l_validation_end_date);
993 End upd;
994 --
995 -- ----------------------------------------------------------------------------
996 -- |---------------------------------< upd >----------------------------------|
997 -- ----------------------------------------------------------------------------
998 Procedure upd
999   (
1000   p_emp_fed_tax_rule_id          in number,
1001   p_effective_start_date         out nocopy date,
1002   p_effective_end_date           out nocopy date,
1003   p_sui_state_code               in varchar2         default hr_api.g_varchar2,
1004   p_sui_jurisdiction_code        in varchar2         default hr_api.g_varchar2,
1005   p_additional_wa_amount         in number           default hr_api.g_number,
1006   p_filing_status_code           in varchar2         default hr_api.g_varchar2,
1007   p_fit_override_amount          in number           default hr_api.g_number,
1008   p_fit_override_rate            in number           default hr_api.g_number,
1009   p_withholding_allowances       in number           default hr_api.g_number,
1010   p_cumulative_taxation          in varchar2         default hr_api.g_varchar2,
1011   p_eic_filing_status_code       in varchar2         default hr_api.g_varchar2,
1012   p_fit_additional_tax           in number           default hr_api.g_number,
1013   p_fit_exempt                   in varchar2         default hr_api.g_varchar2,
1014   p_futa_tax_exempt              in varchar2         default hr_api.g_varchar2,
1015   p_medicare_tax_exempt          in varchar2         default hr_api.g_varchar2,
1016   p_ss_tax_exempt                in varchar2         default hr_api.g_varchar2,
1017   p_wage_exempt                  in varchar2         default hr_api.g_varchar2,
1018   p_statutory_employee           in varchar2         default hr_api.g_varchar2,
1019   p_w2_filed_year                in number           default hr_api.g_number,
1020   p_supp_tax_override_rate       in number           default hr_api.g_number,
1021   p_excessive_wa_reject_date     in date             default hr_api.g_date,
1022   p_object_version_number        in out nocopy number,
1023   p_effective_date              in date,
1024   p_attribute_category          in varchar2         default hr_api.g_varchar2,
1025   p_attribute1                  in varchar2         default hr_api.g_varchar2,
1026   p_attribute2                  in varchar2         default hr_api.g_varchar2,
1027   p_attribute3                  in varchar2         default hr_api.g_varchar2,
1028   p_attribute4                  in varchar2         default hr_api.g_varchar2,
1029   p_attribute5                  in varchar2         default hr_api.g_varchar2,
1030   p_attribute6                  in varchar2         default hr_api.g_varchar2,
1031   p_attribute7                  in varchar2         default hr_api.g_varchar2,
1032   p_attribute8                  in varchar2         default hr_api.g_varchar2,
1033   p_attribute9                  in varchar2         default hr_api.g_varchar2,
1034   p_attribute10                 in varchar2         default hr_api.g_varchar2,
1035   p_attribute11                 in varchar2         default hr_api.g_varchar2,
1036   p_attribute12                 in varchar2         default hr_api.g_varchar2,
1037   p_attribute13                 in varchar2         default hr_api.g_varchar2,
1038   p_attribute14                 in varchar2         default hr_api.g_varchar2,
1039   p_attribute15                 in varchar2         default hr_api.g_varchar2,
1040   p_attribute16                 in varchar2         default hr_api.g_varchar2,
1041   p_attribute17                 in varchar2         default hr_api.g_varchar2,
1042   p_attribute18                 in varchar2         default hr_api.g_varchar2,
1043   p_attribute19                 in varchar2         default hr_api.g_varchar2,
1044   p_attribute20                 in varchar2         default hr_api.g_varchar2,
1045   p_attribute21                 in varchar2         default hr_api.g_varchar2,
1046   p_attribute22                 in varchar2         default hr_api.g_varchar2,
1047   p_attribute23                 in varchar2         default hr_api.g_varchar2,
1048   p_attribute24                 in varchar2         default hr_api.g_varchar2,
1049   p_attribute25                 in varchar2         default hr_api.g_varchar2,
1050   p_attribute26                 in varchar2         default hr_api.g_varchar2,
1051   p_attribute27                 in varchar2         default hr_api.g_varchar2,
1052   p_attribute28                 in varchar2         default hr_api.g_varchar2,
1053   p_attribute29                 in varchar2         default hr_api.g_varchar2,
1054   p_attribute30                 in varchar2         default hr_api.g_varchar2,
1055   p_fed_information_category    in varchar2         default hr_api.g_varchar2,
1056   p_fed_information1            in varchar2         default hr_api.g_varchar2,
1057   p_fed_information2            in varchar2         default hr_api.g_varchar2,
1058   p_fed_information3            in varchar2         default hr_api.g_varchar2,
1059   p_fed_information4            in varchar2         default hr_api.g_varchar2,
1060   p_fed_information5            in varchar2         default hr_api.g_varchar2,
1061   p_fed_information6            in varchar2         default hr_api.g_varchar2,
1062   p_fed_information7            in varchar2         default hr_api.g_varchar2,
1063   p_fed_information8            in varchar2         default hr_api.g_varchar2,
1064   p_fed_information9            in varchar2         default hr_api.g_varchar2,
1065   p_fed_information10           in varchar2         default hr_api.g_varchar2,
1066   p_fed_information11           in varchar2         default hr_api.g_varchar2,
1067   p_fed_information12           in varchar2         default hr_api.g_varchar2,
1068   p_fed_information13           in varchar2         default hr_api.g_varchar2,
1069   p_fed_information14           in varchar2         default hr_api.g_varchar2,
1070   p_fed_information15           in varchar2         default hr_api.g_varchar2,
1071   p_fed_information16           in varchar2         default hr_api.g_varchar2,
1072   p_fed_information17           in varchar2         default hr_api.g_varchar2,
1073   p_fed_information18           in varchar2         default hr_api.g_varchar2,
1074   p_fed_information19           in varchar2         default hr_api.g_varchar2,
1075   p_fed_information20           in varchar2         default hr_api.g_varchar2,
1076   p_fed_information21           in varchar2         default hr_api.g_varchar2,
1077   p_fed_information22           in varchar2         default hr_api.g_varchar2,
1078   p_fed_information23           in varchar2         default hr_api.g_varchar2,
1079   p_fed_information24           in varchar2         default hr_api.g_varchar2,
1080   p_fed_information25           in varchar2         default hr_api.g_varchar2,
1081   p_fed_information26           in varchar2         default hr_api.g_varchar2,
1082   p_fed_information27           in varchar2         default hr_api.g_varchar2,
1083   p_fed_information28           in varchar2         default hr_api.g_varchar2,
1084   p_fed_information29           in varchar2         default hr_api.g_varchar2,
1085   p_fed_information30           in varchar2         default hr_api.g_varchar2,
1086   p_datetrack_mode              in varchar2
1087   ) is
1088 --
1089   l_rec            pay_fed_shd.g_rec_type;
1090   l_proc      varchar2(72) := g_package||'upd';
1091 --
1092 Begin
1093   hr_utility.set_location('Entering:'||l_proc, 5);
1094   --
1095   -- Call conversion function to turn arguments into the
1096   -- l_rec structure.
1097   --
1098   l_rec :=
1099   pay_fed_shd.convert_args
1100   (
1101   p_emp_fed_tax_rule_id,
1102   null,
1103   null,
1104   hr_api.g_number,
1105   p_sui_state_code,
1106   p_sui_jurisdiction_code,
1107   hr_api.g_number,
1108   p_additional_wa_amount,
1109   p_filing_status_code,
1110   p_fit_override_amount,
1111   p_fit_override_rate,
1112   p_withholding_allowances,
1113   p_cumulative_taxation,
1114   p_eic_filing_status_code,
1115   p_fit_additional_tax,
1116   p_fit_exempt,
1117   p_futa_tax_exempt,
1118   p_medicare_tax_exempt,
1119   p_ss_tax_exempt,
1120   p_wage_exempt,
1121   p_statutory_employee,
1122   p_w2_filed_year,
1123   p_supp_tax_override_rate,
1124   p_excessive_wa_reject_date,
1125   p_object_version_number,
1126   p_attribute_category,
1127   p_attribute1,
1128   p_attribute2,
1129   p_attribute3,
1130   p_attribute4,
1131   p_attribute5,
1132   p_attribute6,
1133   p_attribute7,
1134   p_attribute8,
1135   p_attribute9,
1136   p_attribute10,
1137   p_attribute11,
1138   p_attribute12,
1139   p_attribute13,
1140   p_attribute14,
1141   p_attribute15,
1142   p_attribute16,
1143   p_attribute17,
1144   p_attribute18,
1145   p_attribute19,
1146   p_attribute20,
1147   p_attribute21,
1148   p_attribute22,
1149   p_attribute23,
1150   p_attribute24,
1151   p_attribute25,
1152   p_attribute26,
1153   p_attribute27,
1154   p_attribute28,
1155   p_attribute29,
1156   p_attribute30,
1157   p_fed_information_category,
1158   p_fed_information1,
1159   p_fed_information2,
1160   p_fed_information3,
1161   p_fed_information4,
1162   p_fed_information5,
1163   p_fed_information6,
1164   p_fed_information7,
1165   p_fed_information8,
1166   p_fed_information9,
1167   p_fed_information10,
1168   p_fed_information11,
1169   p_fed_information12,
1170   p_fed_information13,
1171   p_fed_information14,
1172   p_fed_information15,
1173   p_fed_information16,
1174   p_fed_information17,
1175   p_fed_information18,
1176   p_fed_information19,
1177   p_fed_information20,
1178   p_fed_information21,
1179   p_fed_information22,
1180   p_fed_information23,
1181   p_fed_information24,
1182   p_fed_information25,
1183   p_fed_information26,
1184   p_fed_information27,
1185   p_fed_information28,
1186   p_fed_information29,
1187   p_fed_information30
1188   );
1189   --
1190   -- Having converted the arguments into the
1191   -- plsql record structure we call the corresponding record
1192   -- business process.
1193   --
1194   upd(l_rec, p_effective_date, p_datetrack_mode);
1195   p_object_version_number       := l_rec.object_version_number;
1196   p_effective_start_date        := l_rec.effective_start_date;
1197   p_effective_end_date          := l_rec.effective_end_date;
1198   --
1199   --
1200   hr_utility.set_location(' Leaving:'||l_proc, 10);
1201 End upd;
1202 --
1203 end pay_fed_upd;