DBA Data[Home] [Help]

PACKAGE BODY: APPS.PAY_FED_INS

Source


1 Package Body pay_fed_ins 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_ins.';  -- Global package name
9 --
10 -- ----------------------------------------------------------------------------
11 -- |----------------------------< dt_insert_dml >-----------------------------|
12 -- ----------------------------------------------------------------------------
13 -- {Start Of Comments}
14 --
15 -- Description:
16 --   This procedure controls the actual dml insert logic for datetrack. The
17 --   functions of this procedure are as follows:
18 --   1) Get the object_version_number.
19 --   2) To set the effective start and end dates to the corresponding
20 --      validation start and end dates. Also, the object version number
21 --      record attribute is set.
22 --   3) To set and unset the g_api_dml status as required (as we are about to
23 --      perform dml).
24 --   4) To insert the row into the schema with the derived effective start
25 --      and end dates and the object version number.
26 --   5) To trap any constraint violations that may have occurred.
27 --   6) To raise any other errors.
28 --
29 -- Prerequisites:
30 --   This is an internal private procedure which must be called from the
31 --   insert_dml and pre_update (logic permitting) procedure and must have
32 --   all mandatory arguments set.
33 --
34 -- In Parameters:
35 --   A Pl/Sql record structre.
36 --
37 -- Post Success:
38 --   The specified row will be inserted into 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 --   This is an internal datetrack maintenance procedure which should
50 --   not be modified in anyway.
51 --
52 -- Access Status:
53 --   Internal Row Handler Use Only.
54 --
55 -- {End Of Comments}
56 -- ----------------------------------------------------------------------------
57 Procedure dt_insert_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 -- Cursor to select 'old' created AOL who column values
65 --
66   Cursor C_Sel1 Is
67     select t.created_by,
68            t.creation_date
69     from   pay_us_emp_fed_tax_rules_f t
70     where  t.emp_fed_tax_rule_id       = p_rec.emp_fed_tax_rule_id
71     and    t.effective_start_date =
72              pay_fed_shd.g_old_rec.effective_start_date
73     and    t.effective_end_date   = (p_validation_start_date - 1);
74 --
75   l_proc            varchar2(72) := g_package||'dt_insert_dml';
76   l_created_by          pay_us_emp_fed_tax_rules_f.created_by%TYPE;
77   l_creation_date       pay_us_emp_fed_tax_rules_f.creation_date%TYPE;
78   l_last_update_date    pay_us_emp_fed_tax_rules_f.last_update_date%TYPE;
79   l_last_updated_by     pay_us_emp_fed_tax_rules_f.last_updated_by%TYPE;
80   l_last_update_login   pay_us_emp_fed_tax_rules_f.last_update_login%TYPE;
81 --
82 Begin
83   hr_utility.set_location('Entering:'||l_proc, 5);
84   --
85   -- Get the object version number for the insert
86   --
87   p_rec.object_version_number :=
88     dt_api.get_object_version_number
89       (p_base_table_name => 'pay_us_emp_fed_tax_rules_f',
90        p_base_key_column => 'emp_fed_tax_rule_id',
91        p_base_key_value  => p_rec.emp_fed_tax_rule_id);
92   --
93   -- Set the effective start and end dates to the corresponding
94   -- validation start and end dates
95   --
96   p_rec.effective_start_date := p_validation_start_date;
97   p_rec.effective_end_date   := p_validation_end_date;
98   --
99   -- If the datetrack_mode is not INSERT then we must populate the WHO
100   -- columns with the 'old' creation values and 'new' updated values.
101   --
102   If (p_datetrack_mode <> 'INSERT') then
103     hr_utility.set_location(l_proc, 10);
104     --
105     -- Select the 'old' created values
106     --
107     Open C_Sel1;
108     Fetch C_Sel1 Into l_created_by, l_creation_date;
109     If C_Sel1%notfound Then
110       --
111       -- The previous 'old' created row has not been found. We need
112       -- to error as an internal datetrack problem exists.
113       --
114       Close C_Sel1;
115       hr_utility.set_message(801, 'HR_6153_ALL_PROCEDURE_FAIL');
116       hr_utility.set_message_token('PROCEDURE', l_proc);
117       hr_utility.set_message_token('STEP','10');
118       hr_utility.raise_error;
119     End If;
120     Close C_Sel1;
121     --
122     -- Set the AOL updated WHO values
123     --
124     l_last_update_date   := sysdate;
125     l_last_updated_by    := fnd_global.user_id;
126     l_last_update_login  := fnd_global.login_id;
127   End If;
128   --
132   --
129   pay_fed_shd.g_api_dml := true;  -- Set the api dml status
130   --
131   -- Insert the row into: pay_us_emp_fed_tax_rules_f
133   insert into pay_us_emp_fed_tax_rules_f
134   (   emp_fed_tax_rule_id,
135       effective_start_date,
136       effective_end_date,
137       assignment_id,
138       sui_state_code,
139       sui_jurisdiction_code,
140       business_group_id,
141       additional_wa_amount,
142       filing_status_code,
143       fit_override_amount,
144       fit_override_rate,
145       withholding_allowances,
146       cumulative_taxation,
147       eic_filing_status_code,
148       fit_additional_tax,
149       fit_exempt,
150       futa_tax_exempt,
151       medicare_tax_exempt,
152       ss_tax_exempt,
153       wage_exempt,
154       statutory_employee,
155       w2_filed_year,
156       supp_tax_override_rate,
157       excessive_wa_reject_date,
158       object_version_number
159       , created_by,
160       creation_date,
161       last_update_date,
162       last_updated_by,
163       last_update_login,
164       attribute_category,
165       attribute1,
166       attribute2,
167       attribute3,
168       attribute4,
169       attribute5,
170       attribute6,
171       attribute7,
172       attribute8,
173       attribute9,
174       attribute10,
175       attribute11,
176       attribute12,
177       attribute13,
178       attribute14,
179       attribute15,
180       attribute16,
181       attribute17,
182       attribute18,
183       attribute19,
184       attribute20,
185       attribute21,
186       attribute22,
187       attribute23,
188       attribute24,
189       attribute25,
190       attribute26,
191       attribute27,
192       attribute28,
193       attribute29,
194       attribute30,
195       fed_information_category,
196       fed_information1,
197       fed_information2,
198       fed_information3,
199       fed_information4,
200       fed_information5,
201       fed_information6,
202       fed_information7,
203       fed_information8,
204       fed_information9,
205       fed_information10,
206       fed_information11,
207       fed_information12,
208       fed_information13,
209       fed_information14,
210       fed_information15,
211       fed_information16,
212       fed_information17,
213       fed_information18,
214       fed_information19,
215       fed_information20,
216       fed_information21,
217       fed_information22,
218       fed_information23,
219       fed_information24,
220       fed_information25,
221       fed_information26,
222       fed_information27,
223       fed_information28,
224       fed_information29,
225       fed_information30
226        )
227   Values
228   (   p_rec.emp_fed_tax_rule_id,
229       p_rec.effective_start_date,
230       p_rec.effective_end_date,
231       p_rec.assignment_id,
232       p_rec.sui_state_code,
233       p_rec.sui_jurisdiction_code,
234       p_rec.business_group_id,
235       p_rec.additional_wa_amount,
236       p_rec.filing_status_code,
237       p_rec.fit_override_amount,
238       p_rec.fit_override_rate,
239       p_rec.withholding_allowances,
240       p_rec.cumulative_taxation,
241       p_rec.eic_filing_status_code,
242       p_rec.fit_additional_tax,
243       nvl(p_rec.fit_exempt, 'N'),
244       nvl(p_rec.futa_tax_exempt, 'N'),
245       nvl(p_rec.medicare_tax_exempt, 'N'),
246       nvl(p_rec.ss_tax_exempt, 'N'),
247       nvl(p_rec.wage_exempt, 'N'),
248       nvl(p_rec.statutory_employee, 'N'),
249       p_rec.w2_filed_year,
250       p_rec.supp_tax_override_rate,
251       p_rec.excessive_wa_reject_date,
252       p_rec.object_version_number
253       , l_created_by,
254       l_creation_date,
255       l_last_update_date,
256       l_last_updated_by,
257       l_last_update_login,
258       p_rec.attribute_category,
259       p_rec.attribute1,
260       p_rec.attribute2,
261       p_rec.attribute3,
262       p_rec.attribute4,
263       p_rec.attribute5,
264       p_rec.attribute6,
265       p_rec.attribute7,
266       p_rec.attribute8,
267       p_rec.attribute9,
268       p_rec.attribute10,
269       p_rec.attribute11,
270       p_rec.attribute12,
271       p_rec.attribute13,
272       p_rec.attribute14,
273       p_rec.attribute15,
274       p_rec.attribute16,
275       p_rec.attribute17,
276       p_rec.attribute18,
277       p_rec.attribute19,
278       p_rec.attribute20,
279       p_rec.attribute21,
280       p_rec.attribute22,
281       p_rec.attribute23,
282       p_rec.attribute24,
283       p_rec.attribute25,
284       p_rec.attribute26,
285       p_rec.attribute27,
286       p_rec.attribute28,
287       p_rec.attribute29,
288       p_rec.attribute30,
289       p_rec.fed_information_category,
290       p_rec.fed_information1,
291       p_rec.fed_information2,
292       p_rec.fed_information3,
293       p_rec.fed_information4,
294       p_rec.fed_information5,
295       p_rec.fed_information6,
296       p_rec.fed_information7,
297       p_rec.fed_information8,
298       p_rec.fed_information9,
299       p_rec.fed_information10,
300       p_rec.fed_information11,
301       p_rec.fed_information12,
302       p_rec.fed_information13,
306       p_rec.fed_information17,
303       p_rec.fed_information14,
304       p_rec.fed_information15,
305       p_rec.fed_information16,
307       p_rec.fed_information18,
308       p_rec.fed_information19,
309       p_rec.fed_information20,
310       p_rec.fed_information21,
311       p_rec.fed_information22,
312       p_rec.fed_information23,
313       p_rec.fed_information24,
314       p_rec.fed_information25,
315       p_rec.fed_information26,
316       p_rec.fed_information27,
317       p_rec.fed_information28,
318       p_rec.fed_information29,
319       p_rec.fed_information30   );
320   --
321   pay_fed_shd.g_api_dml := false;   -- Unset the api dml status
322   hr_utility.set_location(' Leaving:'||l_proc, 15);
323 --
324 Exception
325   When hr_api.check_integrity_violated Then
326     -- A check constraint has been violated
327     pay_fed_shd.g_api_dml := false;   -- Unset the api dml status
328     pay_fed_shd.constraint_error
329       (p_constraint_name => hr_api.strip_constraint_name(SQLERRM));
330   When hr_api.unique_integrity_violated Then
331     -- Unique integrity has been violated
332     pay_fed_shd.g_api_dml := false;   -- Unset the api dml status
333     pay_fed_shd.constraint_error
334       (p_constraint_name => hr_api.strip_constraint_name(SQLERRM));
335   When Others Then
336     pay_fed_shd.g_api_dml := false;   -- Unset the api dml status
337     Raise;
338 End dt_insert_dml;
339 --
340 -- ----------------------------------------------------------------------------
341 -- |------------------------------< insert_dml >------------------------------|
342 -- ----------------------------------------------------------------------------
343 Procedure insert_dml
344       (p_rec                   in out nocopy pay_fed_shd.g_rec_type,
345        p_effective_date        in      date,
346        p_datetrack_mode        in      varchar2,
347        p_validation_start_date in      date,
348        p_validation_end_date   in      date) is
349 --
350   l_proc      varchar2(72) := g_package||'insert_dml';
351 --
352 Begin
353   hr_utility.set_location('Entering:'||l_proc, 5);
354   --
355   dt_insert_dml(p_rec               => p_rec,
356             p_effective_date        => p_effective_date,
357             p_datetrack_mode        => p_datetrack_mode,
358             p_validation_start_date => p_validation_start_date,
359             p_validation_end_date   => p_validation_end_date);
360   --
361   hr_utility.set_location(' Leaving:'||l_proc, 10);
362 End insert_dml;
363 --
364 -- ----------------------------------------------------------------------------
365 -- |------------------------------< pre_insert >------------------------------|
366 -- ----------------------------------------------------------------------------
367 -- {Start Of Comments}
368 --
369 -- Description:
370 --   This private procedure contains any processing which is required before
371 --   the insert dml. Presently, if the entity has a corresponding primary
372 --   key which is maintained by an associating sequence, the primary key for
373 --   the entity will be populated with the next sequence value in
374 --   preparation for the insert dml.
375 --   Also, if comments are defined for this entity, the comments insert
376 --   logic will also be called, generating a comment_id if required.
377 --
378 -- Prerequisites:
379 --   This is an internal procedure which is called from the ins procedure.
380 --
381 -- In Parameters:
382 --   A Pl/Sql record structre.
383 --
384 -- Post Success:
385 --   Processing continues.
386 --
387 -- Post Failure:
388 --   If an error has occurred, an error message and exception will be raised
389 --   but not handled.
390 --
391 -- Developer Implementation Notes:
392 --   Any pre-processing required before the insert dml is issued should be
393 --   coded within this procedure. As stated above, a good example is the
394 --   generation of a primary key number via a corresponding sequence.
395 --   It is important to note that any 3rd party maintenance should be reviewed
396 --   before placing in this procedure.
397 --
398 -- Access Status:
399 --   Internal Row Handler Use Only.
400 --
401 -- {End Of Comments}
402 -- ----------------------------------------------------------------------------
403 Procedure pre_insert
404       (p_rec                       in out nocopy pay_fed_shd.g_rec_type,
405        p_effective_date            in date,
406        p_datetrack_mode            in varchar2,
407        p_validation_start_date     in date,
408        p_validation_end_date       in date) is
409 --
410   l_proc      varchar2(72) := g_package||'pre_insert';
411 --
412   Cursor C_Sel1 is select pay_us_emp_fed_tax_rules_s.nextval from sys.dual;
413 --
414 Begin
415   hr_utility.set_location('Entering:'||l_proc, 5);
416   --
417   --
418   -- Select the next sequence number
419   --
420   Open C_Sel1;
421   Fetch C_Sel1 Into p_rec.emp_fed_tax_rule_id;
422   Close C_Sel1;
423   --
424   --
425   hr_utility.set_location(' Leaving:'||l_proc, 10);
426 End pre_insert;
427 --
428 -- ----------------------------------------------------------------------------
429 -- |-----------------------------< post_insert >------------------------------|
430 -- ----------------------------------------------------------------------------
431 -- {Start Of Comments}
432 --
433 -- Description:
434 --   This private procedure contains any processing which is required after the
435 --   insert dml.
436 --
437 -- Prerequisites:
438 --   This is an internal procedure which is called from the ins procedure.
439 --
440 -- In Parameters:
441 --   A Pl/Sql record structre.
442 --
443 -- Post Success:
444 --   Processing continues.
445 --
446 -- Post Failure:
447 --   If an error has occurred, an error message and exception will be raised
448 --   but not handled.
449 --
450 -- Developer Implementation Notes:
451 --   Any post-processing required after the insert dml is issued should be
452 --   coded within this procedure. It is important to note that any 3rd party
453 --   maintenance should be reviewed before placing in this procedure.
454 --
455 -- Access Status:
456 --   Internal Row Handler Use Only.
457 --
458 -- {End Of Comments}
459 -- ----------------------------------------------------------------------------
460 Procedure post_insert
461       (p_rec                   in pay_fed_shd.g_rec_type,
462        p_effective_date        in date,
463        p_datetrack_mode        in varchar2,
464        p_validation_start_date in date,
465        p_validation_end_date   in date) is
466 --
467   l_proc      varchar2(72) := g_package||'post_insert';
468 --
469 Begin
470   hr_utility.set_location('Entering:'||l_proc, 5);
471 --
472   --
473   -- Start of API User Hook for post_insert.
474   --
475   begin
476     --
477 /*    pay_fed_rki.after_insert
478       (
479   p_emp_fed_tax_rule_id           =>p_rec.emp_fed_tax_rule_id
480  ,p_effective_start_date          =>p_rec.effective_start_date
481  ,p_effective_end_date            =>p_rec.effective_end_date
482  ,p_assignment_id                 =>p_rec.assignment_id
483  ,p_sui_state_code                =>p_rec.sui_state_code
484  ,p_sui_jurisdiction_code         =>p_rec.sui_jurisdiction_code
485  ,p_business_group_id             =>p_rec.business_group_id
486  ,p_additional_wa_amount          =>p_rec.additional_wa_amount
487  ,p_filing_status_code            =>p_rec.filing_status_code
488  ,p_fit_override_amount           =>p_rec.fit_override_amount
489  ,p_fit_override_rate             =>p_rec.fit_override_rate
490  ,p_withholding_allowances        =>p_rec.withholding_allowances
491  ,p_cumulative_taxation           =>p_rec.cumulative_taxation
492  ,p_eic_filing_status_code        =>p_rec.eic_filing_status_code
493  ,p_fit_additional_tax            =>p_rec.fit_additional_tax
494  ,p_fit_exempt                    =>p_rec.fit_exempt
495  ,p_futa_tax_exempt               =>p_rec.futa_tax_exempt
496  ,p_medicare_tax_exempt           =>p_rec.medicare_tax_exempt
497  ,p_ss_tax_exempt                 =>p_rec.ss_tax_exempt
498  ,p_wage_exempt                   =>p_rec.wage_exempt
499  ,p_statutory_employee            =>p_rec.statutory_employee
500  ,p_w2_filed_year                 =>p_rec.w2_filed_year
501  ,p_supp_tax_override_rate        =>p_rec.supp_tax_override_rate
502  ,p_excessive_wa_reject_date      =>p_rec.excessive_wa_reject_date
503  ,p_object_version_number         =>p_rec.object_version_number
504  ,p_effective_date                =>p_effective_date
505  ,p_validation_start_date         =>p_validation_start_date
506  ,p_validation_end_date           =>p_validation_end_date
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   => 'AI');
516       --
517  */
518     null;
519     --
520   end;
521   --
522   -- End of API User Hook for post_insert.
523   --
524   --
525   hr_utility.set_location(' Leaving:'||l_proc, 10);
526 End post_insert;
527 --
528 -- ----------------------------------------------------------------------------
529 -- |-------------------------------< ins_lck >--------------------------------|
530 -- ----------------------------------------------------------------------------
531 -- {Start Of Comments}
532 --
533 -- Description:
534 --   The ins_lck process has one main function to perform. When inserting
535 --   a datetracked row, we must validate the DT mode.
536 --   be manipulated.
537 --
538 -- Prerequisites:
539 --   This procedure can only be called for the datetrack mode of INSERT.
540 --
541 -- In Parameters:
542 --
543 -- Post Success:
544 --   On successful completion of the ins_lck process the parental
545 --   datetracked rows will be locked providing the p_enforce_foreign_locking
546 --   argument value is TRUE.
547 --   If the p_enforce_foreign_locking argument value is FALSE then the
548 --   parential rows are not locked.
549 --
550 -- Post Failure:
551 --   The Lck process can fail for:
552 --   1) When attempting to lock the row the row could already be locked by
553 --      another user. This will raise the HR_Api.Object_Locked exception.
554 --   2) When attempting to the lock the parent which doesn't exist.
555 --      For the entity to be locked the parent must exist!
556 --
557 -- Developer Implementation Notes:
558 --   None.
559 --
560 -- Access Status:
561 --   Internal Row Handler Use Only.
562 --
563 -- {End Of Comments}
564 -- ----------------------------------------------------------------------------
565 Procedure ins_lck
566       (p_effective_date        in  date,
567        p_datetrack_mode        in  varchar2,
568        p_rec                   in  pay_fed_shd.g_rec_type,
569        p_validation_start_date out nocopy date,
570        p_validation_end_date   out nocopy date) is
571 --
572   l_proc    varchar2(72) := g_package||'ins_lck';
573   l_validation_start_date date;
574   l_validation_end_date   date;
575 --
576 Begin
577   hr_utility.set_location('Entering:'||l_proc, 5);
578   --
579   -- Validate the datetrack mode mode getting the validation start
580   -- and end dates for the specified datetrack operation.
581   --
582   dt_api.validate_dt_mode
583       (p_effective_date         => p_effective_date,
584        p_datetrack_mode         => p_datetrack_mode,
585        p_base_table_name         => 'pay_us_emp_fed_tax_rules_f',
586        p_base_key_column         => 'emp_fed_tax_rule_id',
587        p_base_key_value          => p_rec.emp_fed_tax_rule_id,
588        p_parent_table_name1      => 'per_assignments_f',
589        p_parent_key_column1      => 'assignment_id',
590        p_parent_key_value1       => p_rec.assignment_id,
591        p_enforce_foreign_locking => true,
592        p_validation_start_date   => l_validation_start_date,
593        p_validation_end_date     => l_validation_end_date);
594   --
595   -- Set the validation start and end date OUT arguments
596   --
597   p_validation_start_date := l_validation_start_date;
598   p_validation_end_date   := l_validation_end_date;
599   --
600   hr_utility.set_location(' Leaving:'||l_proc, 10);
601 --
602 End ins_lck;
603 --
604 -- ----------------------------------------------------------------------------
605 -- |---------------------------------< ins >----------------------------------|
606 -- ----------------------------------------------------------------------------
607 Procedure ins
608   (
609   p_rec               in out nocopy pay_fed_shd.g_rec_type,
610   p_effective_date in     date
611   ) is
612 --
613   l_proc                       varchar2(72) := g_package||'ins';
614   l_datetrack_mode             varchar2(30) := 'INSERT';
615   l_validation_start_date      date;
616   l_validation_end_date        date;
617 --
618 Begin
619   hr_utility.set_location('Entering:'||l_proc, 5);
620   --
621   -- Call the lock operation
622   --
623   ins_lck
624       (p_effective_date        => p_effective_date,
625        p_datetrack_mode        => l_datetrack_mode,
626        p_rec                   => p_rec,
627        p_validation_start_date => l_validation_start_date,
628        p_validation_end_date   => l_validation_end_date);
629   --
630   -- Call the supporting insert validate operations
631   --
632   pay_fed_bus.insert_validate
633       (p_rec                   => p_rec,
634        p_effective_date        => p_effective_date,
635        p_datetrack_mode        => l_datetrack_mode,
636        p_validation_start_date => l_validation_start_date,
637        p_validation_end_date   => l_validation_end_date);
638   --
639   -- Call the supporting pre-insert operation
640   --
641   pre_insert
642       (p_rec                   => p_rec,
643        p_effective_date        => p_effective_date,
644        p_datetrack_mode        => l_datetrack_mode,
645        p_validation_start_date => l_validation_start_date,
646        p_validation_end_date   => l_validation_end_date);
647   --
648   -- Insert the row
649   --
650   insert_dml
651       (p_rec                   => p_rec,
652        p_effective_date        => p_effective_date,
653        p_datetrack_mode        => l_datetrack_mode,
654        p_validation_start_date => l_validation_start_date,
655        p_validation_end_date   => l_validation_end_date);
656   --
657   -- Call the supporting post-insert operation
658   --
659   post_insert
660       (p_rec                   => p_rec,
661        p_effective_date        => p_effective_date,
662        p_datetrack_mode        => l_datetrack_mode,
663        p_validation_start_date => l_validation_start_date,
664        p_validation_end_date   => l_validation_end_date);
665 end ins;
666 --
667 -- ----------------------------------------------------------------------------
668 -- |---------------------------------< ins >----------------------------------|
669 -- ----------------------------------------------------------------------------
670 Procedure ins
671   (
672   p_emp_fed_tax_rule_id          out nocopy number,
673   p_effective_start_date         out nocopy date,
674   p_effective_end_date           out nocopy date,
675   p_assignment_id                in number,
676   p_sui_state_code               in varchar2,
677   p_sui_jurisdiction_code        in varchar2,
678   p_business_group_id            in number,
679   p_additional_wa_amount         in number           default 0,
680   p_filing_status_code           in varchar2,
681   p_fit_override_amount          in number,
682   p_fit_override_rate            in number,
683   p_withholding_allowances       in number,
684   p_cumulative_taxation          in varchar2         default null,
685   p_eic_filing_status_code       in varchar2         default null,
686   p_fit_additional_tax           in number           default null,
687   p_fit_exempt                   in varchar2         default null,
688   p_futa_tax_exempt              in varchar2         default null,
689   p_medicare_tax_exempt          in varchar2         default null,
690   p_ss_tax_exempt                in varchar2         default null,
691   p_wage_exempt                  in varchar2         default null,
692   p_statutory_employee           in varchar2         default null,
693   p_w2_filed_year                in number           default null,
694   p_supp_tax_override_rate       in number           default null,
695   p_excessive_wa_reject_date     in date             default null,
696   p_object_version_number        out nocopy number,
697   p_effective_date               in date,
698   p_attribute_category          in varchar2         default null,
699   p_attribute1                  in varchar2         default null,
700   p_attribute2                  in varchar2         default null,
701   p_attribute3                  in varchar2         default null,
702   p_attribute4                  in varchar2         default null,
703   p_attribute5                  in varchar2         default null,
704   p_attribute6                  in varchar2         default null,
705   p_attribute7                  in varchar2         default null,
706   p_attribute8                  in varchar2         default null,
707   p_attribute9                  in varchar2         default null,
708   p_attribute10                 in varchar2         default null,
709   p_attribute11                 in varchar2         default null,
710   p_attribute12                 in varchar2         default null,
711   p_attribute13                 in varchar2         default null,
712   p_attribute14                 in varchar2         default null,
713   p_attribute15                 in varchar2         default null,
714   p_attribute16                 in varchar2         default null,
715   p_attribute17                 in varchar2         default null,
716   p_attribute18                 in varchar2         default null,
717   p_attribute19                 in varchar2         default null,
718   p_attribute20                 in varchar2         default null,
719   p_attribute21                 in varchar2         default null,
720   p_attribute22                 in varchar2         default null,
721   p_attribute23                 in varchar2         default null,
722   p_attribute24                 in varchar2         default null,
723   p_attribute25                 in varchar2         default null,
724   p_attribute26                 in varchar2         default null,
725   p_attribute27                 in varchar2         default null,
726   p_attribute28                 in varchar2         default null,
727   p_attribute29                 in varchar2         default null,
728   p_attribute30                 in varchar2         default null,
729   p_fed_information_category    in varchar2         default null,
730   p_fed_information1            in varchar2         default null,
731   p_fed_information2            in varchar2         default null,
732   p_fed_information3            in varchar2         default null,
733   p_fed_information4            in varchar2         default null,
734   p_fed_information5            in varchar2         default null,
735   p_fed_information6            in varchar2         default null,
736   p_fed_information7            in varchar2         default null,
737   p_fed_information8            in varchar2         default null,
738   p_fed_information9            in varchar2         default null,
739   p_fed_information10           in varchar2         default null,
740   p_fed_information11           in varchar2         default null,
741   p_fed_information12           in varchar2         default null,
742   p_fed_information13           in varchar2         default null,
743   p_fed_information14           in varchar2         default null,
744   p_fed_information15           in varchar2         default null,
745   p_fed_information16           in varchar2         default null,
746   p_fed_information17           in varchar2         default null,
747   p_fed_information18           in varchar2         default null,
748   p_fed_information19           in varchar2         default null,
749   p_fed_information20           in varchar2         default null,
750   p_fed_information21           in varchar2         default null,
751   p_fed_information22           in varchar2         default null,
752   p_fed_information23           in varchar2         default null,
753   p_fed_information24           in varchar2         default null,
754   p_fed_information25           in varchar2         default null,
755   p_fed_information26           in varchar2         default null,
756   p_fed_information27           in varchar2         default null,
757   p_fed_information28           in varchar2         default null,
758   p_fed_information29           in varchar2         default null,
759   p_fed_information30           in varchar2         default null
760   ) is
761 --
762   l_rec            pay_fed_shd.g_rec_type;
763   l_proc      varchar2(72) := g_package||'ins';
764 --
765 Begin
766   hr_utility.set_location('Entering:'||l_proc, 5);
767   --
768   -- Call conversion function to turn arguments into the
769   -- p_rec structure.
770   --
771   l_rec :=
772   pay_fed_shd.convert_args
773   (
774   null,
775   null,
776   null,
777   p_assignment_id,
778   p_sui_state_code,
779   p_sui_jurisdiction_code,
780   p_business_group_id,
781   p_additional_wa_amount,
782   p_filing_status_code,
783   p_fit_override_amount,
784   p_fit_override_rate,
785   p_withholding_allowances,
786   p_cumulative_taxation,
787   p_eic_filing_status_code,
788   p_fit_additional_tax,
789   p_fit_exempt,
790   p_futa_tax_exempt,
791   p_medicare_tax_exempt,
792   p_ss_tax_exempt,
793   p_wage_exempt,
794   p_statutory_employee,
795   p_w2_filed_year,
796   p_supp_tax_override_rate,
797   p_excessive_wa_reject_date,
798   null,
799   p_attribute_category,
800   p_attribute1 ,
801   p_attribute2 ,
802   p_attribute3 ,
803   p_attribute4 ,
804   p_attribute5 ,
805   p_attribute6 ,
806   p_attribute7 ,
807   p_attribute8 ,
808   p_attribute9 ,
809   p_attribute10,
810   p_attribute11,
811   p_attribute12,
812   p_attribute13,
813   p_attribute14,
814   p_attribute15,
815   p_attribute16,
816   p_attribute17,
817   p_attribute18,
818   p_attribute19,
819   p_attribute20,
820   p_attribute21,
821   p_attribute22,
822   p_attribute23,
823   p_attribute24,
824   p_attribute25,
825   p_attribute26,
826   p_attribute27,
827   p_attribute28,
828   p_attribute29,
829   p_attribute30,
830   p_fed_information_category,
831   p_fed_information1 ,
832   p_fed_information2 ,
833   p_fed_information3 ,
834   p_fed_information4 ,
835   p_fed_information5 ,
836   p_fed_information6 ,
837   p_fed_information7 ,
838   p_fed_information8 ,
839   p_fed_information9 ,
840   p_fed_information10,
841   p_fed_information11,
842   p_fed_information12,
843   p_fed_information13,
844   p_fed_information14,
845   p_fed_information15,
846   p_fed_information16,
847   p_fed_information17,
848   p_fed_information18,
849   p_fed_information19,
850   p_fed_information20,
851   p_fed_information21,
852   p_fed_information22,
853   p_fed_information23,
854   p_fed_information24,
855   p_fed_information25,
856   p_fed_information26,
857   p_fed_information27,
858   p_fed_information28,
859   p_fed_information29,
860   p_fed_information30
861   );
862   --
863   -- Having converted the arguments into the pay_fed_rec
864   -- plsql record structure we call the corresponding record
865   -- business process.
866   --
867   ins(l_rec, p_effective_date);
868   --
869   -- Set the OUT arguments.
870   --
871   p_emp_fed_tax_rule_id         := l_rec.emp_fed_tax_rule_id;
872   p_effective_start_date        := l_rec.effective_start_date;
873   p_effective_end_date          := l_rec.effective_end_date;
874   p_object_version_number       := l_rec.object_version_number;
875   --
876   --
877   hr_utility.set_location(' Leaving:'||l_proc, 10);
878 End ins;
879 --
880 end pay_fed_ins;