DBA Data[Home] [Help]

PACKAGE BODY: APPS.PAY_CNT_INS

Source


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