DBA Data[Home] [Help]

PACKAGE BODY: APPS.PAY_CTY_INS

Source


4 -- ----------------------------------------------------------------------------
1 Package Body pay_cty_ins as
2 /* $Header: pyctyrhi.pkb 120.0.12000000.2 2007/05/01 22:44:28 ahanda noship $ */
3 --
5 -- |                     Private Global Definitions                           |
6 -- ----------------------------------------------------------------------------
7 --
8 g_package  varchar2(33) := '  pay_cty_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_cty_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_city_tax_rules_f t
70     where  t.emp_city_tax_rule_id       = p_rec.emp_city_tax_rule_id
71     and    t.effective_start_date =
72              pay_cty_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_city_tax_rules_f.created_by%TYPE;
77   l_creation_date       pay_us_emp_city_tax_rules_f.creation_date%TYPE;
78   l_last_update_date    pay_us_emp_city_tax_rules_f.last_update_date%TYPE;
79   l_last_updated_by     pay_us_emp_city_tax_rules_f.last_updated_by%TYPE;
80   l_last_update_login   pay_us_emp_city_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_city_tax_rules_f',
90        p_base_key_column => 'emp_city_tax_rule_id',
91        p_base_key_value  => p_rec.emp_city_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     --
127   End If;
124     l_last_update_date   := sysdate;
125     l_last_updated_by    := fnd_global.user_id;
126     l_last_update_login  := fnd_global.login_id;
128   --
129   pay_cty_shd.g_api_dml := true;  -- Set the api dml status
130   --
131   -- Insert the row into: pay_us_emp_city_tax_rules_f
132   --
133   insert into pay_us_emp_city_tax_rules_f
134   (   emp_city_tax_rule_id,
135       effective_start_date,
136       effective_end_date,
137       assignment_id,
138       state_code,
139       county_code,
140       city_code,
141       business_group_id,
142       additional_wa_rate,
143       filing_status_code,
144       jurisdiction_code,
145       lit_additional_tax,
146       lit_override_amount,
147       lit_override_rate,
148       withholding_allowances,
149       lit_exempt,
150       sd_exempt,
151       ht_exempt,
152       wage_exempt,
153       school_district_code,
154       object_version_number,
155       created_by,
156       creation_date,
157       last_update_date,
158       last_updated_by,
159       last_update_login,
160       attribute_category,
161       attribute1,
162       attribute2,
163       attribute3,
164       attribute4,
165       attribute5,
166       attribute6,
167       attribute7,
168       attribute8,
169       attribute9,
170       attribute10,
171       attribute11,
172       attribute12,
173       attribute13,
174       attribute14,
175       attribute15,
176       attribute16,
177       attribute17,
178       attribute18,
179       attribute19,
180       attribute20,
181       attribute21,
182       attribute22,
183       attribute23,
184       attribute24,
185       attribute25,
186       attribute26,
187       attribute27,
188       attribute28,
189       attribute29,
190       attribute30,
191       cty_information_category,
192       cty_information1,
193       cty_information2,
194       cty_information3,
195       cty_information4,
196       cty_information5,
197       cty_information6,
198       cty_information7,
199       cty_information8,
200       cty_information9,
201       cty_information10,
202       cty_information11,
203       cty_information12,
204       cty_information13,
205       cty_information14,
206       cty_information15,
207       cty_information16,
208       cty_information17,
209       cty_information18,
210       cty_information19,
211       cty_information20,
212       cty_information21,
213       cty_information22,
214       cty_information23,
215       cty_information24,
216       cty_information25,
217       cty_information26,
218       cty_information27,
219       cty_information28,
220       cty_information29,
221       cty_information30
222   )
223   Values
224   (   p_rec.emp_city_tax_rule_id,
225       p_rec.effective_start_date,
226       p_rec.effective_end_date,
227       p_rec.assignment_id,
228       p_rec.state_code,
229       p_rec.county_code,
230       p_rec.city_code,
231       p_rec.business_group_id,
232       p_rec.additional_wa_rate,
233       p_rec.filing_status_code,
234       p_rec.jurisdiction_code,
235       p_rec.lit_additional_tax,
236       p_rec.lit_override_amount,
237       p_rec.lit_override_rate,
238       p_rec.withholding_allowances,
239       p_rec.lit_exempt,
240       p_rec.sd_exempt,
241       p_rec.ht_exempt,
242       p_rec.wage_exempt,
243       p_rec.school_district_code,
244       p_rec.object_version_number
245       , l_created_by,
246       l_creation_date,
247       l_last_update_date,
248       l_last_updated_by,
249       l_last_update_login,
250       p_rec.attribute_category,
251       p_rec.attribute1,
252       p_rec.attribute2,
253       p_rec.attribute3,
254       p_rec.attribute4,
255       p_rec.attribute5,
256       p_rec.attribute6,
257       p_rec.attribute7,
258       p_rec.attribute8,
259       p_rec.attribute9,
260       p_rec.attribute10,
261       p_rec.attribute11,
262       p_rec.attribute12,
263       p_rec.attribute13,
264       p_rec.attribute14,
265       p_rec.attribute15,
266       p_rec.attribute16,
267       p_rec.attribute17,
268       p_rec.attribute18,
269       p_rec.attribute19,
270       p_rec.attribute20,
271       p_rec.attribute21,
272       p_rec.attribute22,
273       p_rec.attribute23,
274       p_rec.attribute24,
275       p_rec.attribute25,
276       p_rec.attribute26,
277       p_rec.attribute27,
278       p_rec.attribute28,
279       p_rec.attribute29,
280       p_rec.attribute30,
281       p_rec.cty_information_category,
282       p_rec.cty_information1,
283       p_rec.cty_information2,
284       p_rec.cty_information3,
285       p_rec.cty_information4,
286       p_rec.cty_information5,
287       p_rec.cty_information6,
288       p_rec.cty_information7,
289       p_rec.cty_information8,
290       p_rec.cty_information9,
291       p_rec.cty_information10,
292       p_rec.cty_information11,
293       p_rec.cty_information12,
294       p_rec.cty_information13,
295       p_rec.cty_information14,
296       p_rec.cty_information15,
297       p_rec.cty_information16,
298       p_rec.cty_information17,
299       p_rec.cty_information18,
300       p_rec.cty_information19,
301       p_rec.cty_information20,
302       p_rec.cty_information21,
303       p_rec.cty_information22,
304       p_rec.cty_information23,
305       p_rec.cty_information24,
306       p_rec.cty_information25,
307       p_rec.cty_information26,
308       p_rec.cty_information27,
309       p_rec.cty_information28,
310       p_rec.cty_information29,
311       p_rec.cty_information30
312   );
313   --
314   pay_cty_shd.g_api_dml := false;   -- Unset the api dml status
315   hr_utility.set_location(' Leaving:'||l_proc, 15);
316 --
317 Exception
318   When hr_api.check_integrity_violated Then
319     -- A check constraint has been violated
320     pay_cty_shd.g_api_dml := false;   -- Unset the api dml status
321     pay_cty_shd.constraint_error
322       (p_constraint_name => hr_api.strip_constraint_name(SQLERRM));
323   When hr_api.unique_integrity_violated Then
324     -- Unique integrity has been violated
325     pay_cty_shd.g_api_dml := false;   -- Unset the api dml status
326     pay_cty_shd.constraint_error
327       (p_constraint_name => hr_api.strip_constraint_name(SQLERRM));
328   When Others Then
329     pay_cty_shd.g_api_dml := false;   -- Unset the api dml status
330     Raise;
331 End dt_insert_dml;
332 --
333 -- ----------------------------------------------------------------------------
334 -- |------------------------------< insert_dml >------------------------------|
335 -- ----------------------------------------------------------------------------
336 Procedure insert_dml
337       (p_rec                   in out nocopy pay_cty_shd.g_rec_type,
338        p_effective_date        in      date,
339        p_datetrack_mode        in      varchar2,
340        p_validation_start_date in      date,
341        p_validation_end_date   in      date) is
342 --
343   l_proc      varchar2(72) := g_package||'insert_dml';
344 --
345 Begin
346   hr_utility.set_location('Entering:'||l_proc, 5);
347   --
348   dt_insert_dml(p_rec               => p_rec,
349             p_effective_date        => p_effective_date,
350             p_datetrack_mode        => p_datetrack_mode,
351             p_validation_start_date => p_validation_start_date,
352             p_validation_end_date   => p_validation_end_date);
353   --
354   hr_utility.set_location(' Leaving:'||l_proc, 10);
355 End insert_dml;
356 --
357 -- ----------------------------------------------------------------------------
358 -- |------------------------------< pre_insert >------------------------------|
359 -- ----------------------------------------------------------------------------
360 -- {Start Of Comments}
361 --
362 -- Description:
363 --   This private procedure contains any processing which is required before
364 --   the insert dml. Presently, if the entity has a corresponding primary
365 --   key which is maintained by an associating sequence, the primary key for
366 --   the entity will be populated with the next sequence value in
367 --   preparation for the insert dml.
368 --   Also, if comments are defined for this entity, the comments insert
369 --   logic will also be called, generating a comment_id if required.
370 --
371 -- Prerequisites:
372 --   This is an internal procedure which is called from the ins procedure.
373 --
374 -- In Parameters:
375 --   A Pl/Sql record structre.
376 --
377 -- Post Success:
378 --   Processing continues.
379 --
380 -- Post Failure:
381 --   If an error has occurred, an error message and exception will be raised
382 --   but not handled.
383 --
384 -- Developer Implementation Notes:
385 --   Any pre-processing required before the insert dml is issued should be
386 --   coded within this procedure. As stated above, a good example is the
387 --   generation of a primary key number via a corresponding sequence.
388 --   It is important to note that any 3rd party maintenance should be reviewed
389 --   before placing in this procedure.
390 --
391 -- Access Status:
392 --   Internal Row Handler Use Only.
393 --
394 -- {End Of Comments}
395 -- ----------------------------------------------------------------------------
396 Procedure pre_insert
397       (p_rec                    in out nocopy pay_cty_shd.g_rec_type,
398        p_effective_date        in date,
399        p_datetrack_mode        in varchar2,
400        p_validation_start_date in date,
401        p_validation_end_date   in date) is
402 --
403   l_proc      varchar2(72) := g_package||'pre_insert';
404 --
405   Cursor C_Sel1 is select pay_us_emp_city_tax_rules_s.nextval from sys.dual;
406 --
407 Begin
408   hr_utility.set_location('Entering:'||l_proc, 5);
409   --
410   --
411   -- Select the next sequence number
412   --
413   Open C_Sel1;
414   Fetch C_Sel1 Into p_rec.emp_city_tax_rule_id;
415   Close C_Sel1;
416   --
417   --
418   --
419   --
420   hr_utility.set_location(' Leaving:'||l_proc, 10);
421 End pre_insert;
422 --
423 -- ----------------------------------------------------------------------------
424 -- |-----------------------------< post_insert >------------------------------|
425 -- ----------------------------------------------------------------------------
426 -- {Start Of Comments}
427 --
428 -- Description:
429 --   This private procedure contains any processing which is required after the
430 --   insert dml.
431 --
432 -- Prerequisites:
433 --   This is an internal procedure which is called from the ins procedure.
434 --
435 -- In Parameters:
436 --   A Pl/Sql record structre.
437 --
438 -- Post Success:
439 --   Processing continues.
440 --
441 -- Post Failure:
442 --   If an error has occurred, an error message and exception will be raised
443 --   but not handled.
444 --
445 -- Developer Implementation Notes:
446 --   Any post-processing required after the insert dml is issued should be
447 --   coded within this procedure. It is important to note that any 3rd party
448 --   maintenance should be reviewed before placing in this procedure.
449 --
450 -- Access Status:
451 --   Internal Row Handler Use Only.
452 --
453 -- {End Of Comments}
454 -- ----------------------------------------------------------------------------
455 Procedure post_insert
456       (p_rec                   in pay_cty_shd.g_rec_type,
457        p_effective_date        in date,
458        p_datetrack_mode        in varchar2,
459        p_validation_start_date in date,
460        p_validation_end_date   in date) is
461 --
462   l_proc      varchar2(72) := g_package||'post_insert';
463 --
464 Begin
465   hr_utility.set_location('Entering:'||l_proc, 5);
466 --
467   --
468   -- Start of API User Hook for post_insert.
469   --
470   begin
471     --
472   null;
473 /*
474     pay_cty_rki.after_insert
475       (
476   p_emp_city_tax_rule_id          =>p_rec.emp_city_tax_rule_id
477  ,p_effective_start_date          =>p_rec.effective_start_date
478  ,p_effective_end_date            =>p_rec.effective_end_date
479  ,p_assignment_id                 =>p_rec.assignment_id
480  ,p_state_code                    =>p_rec.state_code
481  ,p_county_code                   =>p_rec.county_code
482  ,p_city_code                     =>p_rec.city_code
483  ,p_business_group_id             =>p_rec.business_group_id
484  ,p_additional_wa_rate            =>p_rec.additional_wa_rate
485  ,p_filing_status_code            =>p_rec.filing_status_code
486  ,p_jurisdiction_code             =>p_rec.jurisdiction_code
487  ,p_lit_additional_tax            =>p_rec.lit_additional_tax
488  ,p_lit_override_amount           =>p_rec.lit_override_amount
489  ,p_lit_override_rate             =>p_rec.lit_override_rate
490  ,p_withholding_allowances        =>p_rec.withholding_allowances
491  ,p_lit_exempt                    =>p_rec.lit_exempt
492  ,p_sd_exempt                     =>p_rec.sd_exempt
493  ,p_ht_exempt                     =>p_rec.ht_exempt
494  ,p_wage_exempt                   =>p_rec.ht_exempt
495  ,p_school_district_code          =>p_rec.school_district_code
496  ,p_object_version_number         =>p_rec.object_version_number
497  ,p_effective_date                =>p_effective_date
498  ,p_validation_start_date         =>p_validation_start_date
499  ,p_validation_end_date           =>p_validation_end_date
500       );
501     --
502   exception
503     --
504     when hr_api.cannot_find_prog_unit then
505       --
506       hr_api.cannot_find_prog_unit_error
507         (p_module_name => 'PAY_US_EMP_CITY_TAX_RULES_F
508         ,p_hook_type   => 'AI');
509       --
510 */
511   end;
512   --
513   -- End of API User Hook for post_insert.
514   --
515   --
516   hr_utility.set_location(' Leaving:'||l_proc, 10);
517 End post_insert;
518 --
519 -- ----------------------------------------------------------------------------
520 -- |-------------------------------< ins_lck >--------------------------------|
521 -- ----------------------------------------------------------------------------
522 -- {Start Of Comments}
523 --
524 -- Description:
525 --   The ins_lck process has one main function to perform. When inserting
526 --   a datetracked row, we must validate the DT mode.
527 --   be manipulated.
528 --
529 -- Prerequisites:
530 --   This procedure can only be called for the datetrack mode of INSERT.
531 --
532 -- In Parameters:
533 --
534 -- Post Success:
535 --   On successful completion of the ins_lck process the parental
536 --   datetracked rows will be locked providing the p_enforce_foreign_locking
537 --   argument value is TRUE.
538 --   If the p_enforce_foreign_locking argument value is FALSE then the
539 --   parential rows are not locked.
540 --
541 -- Post Failure:
542 --   The Lck process can fail for:
543 --   1) When attempting to lock the row the row could already be locked by
544 --      another user. This will raise the HR_Api.Object_Locked exception.
545 --   2) When attempting to the lock the parent which doesn't exist.
546 --      For the entity to be locked the parent must exist!
547 --
548 -- Developer Implementation Notes:
549 --   None.
550 --
551 -- Access Status:
552 --   Internal Row Handler Use Only.
553 --
554 -- {End Of Comments}
555 -- ----------------------------------------------------------------------------
556 Procedure ins_lck
557       (p_effective_date       in  date,
558        p_datetrack_mode       in  varchar2,
559        p_rec                  in  pay_cty_shd.g_rec_type,
560        p_validation_start_date out nocopy date,
561        p_validation_end_date   out nocopy date) is
562 --
563   l_proc              varchar2(72) := g_package||'ins_lck';
564   l_validation_start_date date;
565   l_validation_end_date   date;
566 --
567 Begin
568   hr_utility.set_location('Entering:'||l_proc, 5);
569   --
570   -- Validate the datetrack mode mode getting the validation start
571   -- and end dates for the specified datetrack operation.
572   --
573   dt_api.validate_dt_mode
574       (p_effective_date            => p_effective_date,
575        p_datetrack_mode            => p_datetrack_mode,
576        p_base_table_name           => 'pay_us_emp_city_tax_rules_f',
577        p_base_key_column           => 'emp_city_tax_rule_id',
578        p_base_key_value            => p_rec.emp_city_tax_rule_id,
579          p_parent_table_name1      => 'per_assignments_f',
580          p_parent_key_column1      => 'assignment_id',
581          p_parent_key_value1       => p_rec.assignment_id,
582          p_enforce_foreign_locking => true,
583        p_validation_start_date     => l_validation_start_date,
584        p_validation_end_date       => l_validation_end_date);
585   --
586   -- Set the validation start and end date OUT arguments
587   --
588   p_validation_start_date := l_validation_start_date;
589   p_validation_end_date   := l_validation_end_date;
590   --
591   hr_utility.set_location(' Leaving:'||l_proc, 10);
592 --
593 End ins_lck;
594 --
595 -- ----------------------------------------------------------------------------
599   (
596 -- |---------------------------------< ins >----------------------------------|
597 -- ----------------------------------------------------------------------------
598 Procedure ins
600   p_rec               in out nocopy pay_cty_shd.g_rec_type,
601   p_effective_date in     date
602   ) is
603 --
604   l_proc                  varchar2(72) := g_package||'ins';
605   l_datetrack_mode        varchar2(30) := 'INSERT';
606   l_validation_start_date date;
607   l_validation_end_date   date;
608 --
609 Begin
610   hr_utility.set_location('Entering:'||l_proc, 5);
611   --
612   -- Call the lock operation
613   --
614   ins_lck
615       (p_effective_date        => p_effective_date,
616        p_datetrack_mode        => l_datetrack_mode,
617        p_rec                   => p_rec,
618        p_validation_start_date => l_validation_start_date,
619        p_validation_end_date   => l_validation_end_date);
620   --
621   -- Call the supporting insert validate operations
622   --
623   pay_cty_bus.insert_validate
624       (p_rec                   => p_rec,
625        p_effective_date        => p_effective_date,
626        p_datetrack_mode        => l_datetrack_mode,
627        p_validation_start_date => l_validation_start_date,
628        p_validation_end_date   => l_validation_end_date);
629   --
630   -- Call the supporting pre-insert operation
631   --
632   pre_insert
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   -- Insert the row
640   --
641   insert_dml
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   -- Call the supporting post-insert operation
649   --
650   post_insert
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 end ins;
657 --
658 -- ----------------------------------------------------------------------------
659 -- |---------------------------------< ins >----------------------------------|
660 -- ----------------------------------------------------------------------------
661 Procedure ins
662   (
663   p_emp_city_tax_rule_id         out nocopy number,
664   p_effective_start_date         out nocopy date,
665   p_effective_end_date           out nocopy date,
666   p_assignment_id                in number,
667   p_state_code                   in varchar2,
668   p_county_code                  in varchar2,
669   p_city_code                    in varchar2,
670   p_business_group_id            in number,
671   p_additional_wa_rate           in number,
672   p_filing_status_code           in varchar2,
673   p_jurisdiction_code            in varchar2,
674   p_lit_additional_tax           in number,
675   p_lit_override_amount          in number,
676   p_lit_override_rate            in number,
677   p_withholding_allowances       in number,
681   p_wage_exempt                  in varchar2         ,
678   p_lit_exempt                   in varchar2         ,
679   p_sd_exempt                    in varchar2         ,
680   p_ht_exempt                    in varchar2         ,
682   p_school_district_code         in varchar2         ,
683   p_object_version_number        out nocopy number,
684   p_effective_date             in date,
685   p_attribute_category          in varchar2         default null,
686   p_attribute1                  in varchar2         default null,
687   p_attribute2                  in varchar2         default null,
688   p_attribute3                  in varchar2         default null,
689   p_attribute4                  in varchar2         default null,
690   p_attribute5                  in varchar2         default null,
691   p_attribute6                  in varchar2         default null,
692   p_attribute7                  in varchar2         default null,
693   p_attribute8                  in varchar2         default null,
694   p_attribute9                  in varchar2         default null,
695   p_attribute10                 in varchar2         default null,
696   p_attribute11                 in varchar2         default null,
697   p_attribute12                 in varchar2         default null,
698   p_attribute13                 in varchar2         default null,
699   p_attribute14                 in varchar2         default null,
700   p_attribute15                 in varchar2         default null,
701   p_attribute16                 in varchar2         default null,
702   p_attribute17                 in varchar2         default null,
703   p_attribute18                 in varchar2         default null,
704   p_attribute19                 in varchar2         default null,
705   p_attribute20                 in varchar2         default null,
706   p_attribute21                 in varchar2         default null,
707   p_attribute22                 in varchar2         default null,
708   p_attribute23                 in varchar2         default null,
709   p_attribute24                 in varchar2         default null,
710   p_attribute25                 in varchar2         default null,
711   p_attribute26                 in varchar2         default null,
712   p_attribute27                 in varchar2         default null,
713   p_attribute28                 in varchar2         default null,
714   p_attribute29                 in varchar2         default null,
715   p_attribute30                 in varchar2         default null,
716   p_cty_information_category    in varchar2         default null,
717   p_cty_information1            in varchar2         default null,
718   p_cty_information2            in varchar2         default null,
719   p_cty_information3            in varchar2         default null,
720   p_cty_information4            in varchar2         default null,
721   p_cty_information5            in varchar2         default null,
722   p_cty_information6            in varchar2         default null,
723   p_cty_information7            in varchar2         default null,
724   p_cty_information8            in varchar2         default null,
725   p_cty_information9            in varchar2         default null,
726   p_cty_information10           in varchar2         default null,
727   p_cty_information11           in varchar2         default null,
728   p_cty_information12           in varchar2         default null,
729   p_cty_information13           in varchar2         default null,
730   p_cty_information14           in varchar2         default null,
731   p_cty_information15           in varchar2         default null,
732   p_cty_information16           in varchar2         default null,
733   p_cty_information17           in varchar2         default null,
734   p_cty_information18           in varchar2         default null,
735   p_cty_information19           in varchar2         default null,
736   p_cty_information20           in varchar2         default null,
737   p_cty_information21           in varchar2         default null,
738   p_cty_information22           in varchar2         default null,
739   p_cty_information23           in varchar2         default null,
740   p_cty_information24           in varchar2         default null,
741   p_cty_information25           in varchar2         default null,
742   p_cty_information26           in varchar2         default null,
743   p_cty_information27           in varchar2         default null,
744   p_cty_information28           in varchar2         default null,
745   p_cty_information29           in varchar2         default null,
746   p_cty_information30           in varchar2         default null
747   ) is
748 --
749   l_rec            pay_cty_shd.g_rec_type;
750   l_proc      varchar2(72) := g_package||'ins';
751 --
752 Begin
753   hr_utility.set_location('Entering:'||l_proc, 5);
754   --
755   -- Call conversion function to turn arguments into the
756   -- p_rec structure.
757   --
758   l_rec :=
759   pay_cty_shd.convert_args
760   (
761   null,
762   null,
763   null,
764   p_assignment_id,
765   p_state_code,
766   p_county_code,
767   p_city_code,
768   p_business_group_id,
769   p_additional_wa_rate,
770   p_filing_status_code,
771   p_jurisdiction_code,
772   p_lit_additional_tax,
773   p_lit_override_amount,
774   p_lit_override_rate,
775   p_withholding_allowances,
776   p_lit_exempt,
777   p_sd_exempt,
778   p_ht_exempt,
779   p_wage_exempt,
780   p_school_district_code,
781   null ,
782   p_attribute_category,
783   p_attribute1 ,
784   p_attribute2 ,
785   p_attribute3 ,
786   p_attribute4 ,
787   p_attribute5 ,
788   p_attribute6 ,
789   p_attribute7 ,
790   p_attribute8 ,
791   p_attribute9 ,
792   p_attribute10,
793   p_attribute11,
794   p_attribute12,
795   p_attribute13,
796   p_attribute14,
797   p_attribute15,
798   p_attribute16,
799   p_attribute17,
800   p_attribute18,
801   p_attribute19,
802   p_attribute20,
803   p_attribute21,
804   p_attribute22,
805   p_attribute23,
806   p_attribute24,
807   p_attribute25,
808   p_attribute26,
809   p_attribute27,
810   p_attribute28,
811   p_attribute29,
812   p_attribute30,
813   p_cty_information_category,
814   p_cty_information1 ,
815   p_cty_information2 ,
816   p_cty_information3 ,
817   p_cty_information4 ,
818   p_cty_information5 ,
819   p_cty_information6 ,
820   p_cty_information7 ,
821   p_cty_information8 ,
822   p_cty_information9 ,
823   p_cty_information10,
824   p_cty_information11,
825   p_cty_information12,
826   p_cty_information13,
827   p_cty_information14,
828   p_cty_information15,
829   p_cty_information16,
830   p_cty_information17,
831   p_cty_information18,
832   p_cty_information19,
833   p_cty_information20,
834   p_cty_information21,
835   p_cty_information22,
836   p_cty_information23,
837   p_cty_information24,
838   p_cty_information25,
839   p_cty_information26,
840   p_cty_information27,
841   p_cty_information28,
842   p_cty_information29,
843   p_cty_information30
844   );
845   --
846   -- Having converted the arguments into the pay_cty_rec
847   -- plsql record structure we call the corresponding record
848   -- business process.
849   --
850   ins(l_rec, p_effective_date);
851   --
852   -- Set the OUT arguments.
853   --
854   p_emp_city_tax_rule_id        := l_rec.emp_city_tax_rule_id;
855   p_effective_start_date        := l_rec.effective_start_date;
856   p_effective_end_date          := l_rec.effective_end_date;
857   p_object_version_number       := l_rec.object_version_number;
858   --
859   --
860   hr_utility.set_location(' Leaving:'||l_proc, 10);
861 End ins;
862 --
863 
864 --
865 end pay_cty_ins;