DBA Data[Home] [Help]

PACKAGE BODY: APPS.PAY_STA_INS

Source


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