DBA Data[Home] [Help]

PACKAGE BODY: APPS.PAY_STA_SHD

Source


1 PACKAGE BODY pay_sta_shd AS
2 /* $Header: pystarhi.pkb 120.0.12000000.3 2007/05/23 00:34:32 ppanda noship $ */
3 --
4 -- ----------------------------------------------------------------------------
5 -- |                     Private Global Definitions                           |
6 -- ----------------------------------------------------------------------------
7 --
8 g_package  varchar2(33) := '  pay_sta_shd.';  -- Global package name
9 --
10 -- ----------------------------------------------------------------------------
11 -- |------------------------< return_api_dml_status >-------------------------|
12 -- ----------------------------------------------------------------------------
13 Function return_api_dml_status Return Boolean Is
14 --
15   l_proc       varchar2(72) := g_package||'return_api_dml_status';
16 --
17 Begin
18   hr_utility.set_location('Entering:'||l_proc, 5);
19   --
20   Return (nvl(g_api_dml, false));
21   --
22   hr_utility.set_location(' Leaving:'||l_proc, 10);
23 End return_api_dml_status;
24 --
25 -- ----------------------------------------------------------------------------
26 -- |---------------------------< constraint_error >---------------------------|
27 -- ----------------------------------------------------------------------------
28 Procedure constraint_error
29             (p_constraint_name in all_constraints.constraint_name%TYPE) Is
30 --
31   l_proc       varchar2(72) := g_package||'constraint_error';
32 --
33 Begin
34   hr_utility.set_location('Entering:'||l_proc, 5);
35   --
36   If (p_constraint_name = 'PAY_USSTR_SDI_EXEMPT_CHK') Then
37     hr_utility.set_message(801, 'PAY_72819_STA_SDI_Y_OR_N');
38     hr_utility.raise_error;
39   ElsIf (p_constraint_name = 'PAY_USSTR_SIT_EXEMPT_CHK') Then
40     hr_utility.set_message(801, 'PAY_72822_STA_SIT_Y_OR_N');
41     hr_utility.raise_error;
42   ElsIf (p_constraint_name = 'PAY_USSTR_STATE_NON_RESIDE_CHK') Then
43     hr_utility.set_message(801, 'PAY_72812_STA_NON_RES_Y_OR_N');
44     hr_utility.raise_error;
45   ElsIf (p_constraint_name = 'PAY_USSTR_SUI_EXEMPT_CHK') Then
46     hr_utility.set_message(801, 'PAY_72825_STA_SUI_Y_OR_N');
47     hr_utility.raise_error;
48   ElsIf (p_constraint_name = 'PAY_USSTR_WC_EXEMPT_CHK') Then
49     hr_utility.set_message(801, 'PAY_72828_STA_WC_Y_OR_N');
50     hr_utility.raise_error;
51   ElsIf (p_constraint_name = 'PAY_US_EMP_STATE_TAX_RULES_FK1') Then
52     hr_utility.set_message(801, 'HR_7952_ADDR_NO_STATE_CODE');
53     hr_utility.raise_error;
54   ElsIf (p_constraint_name = 'PAY_US_EMP_STATE_TAX_RULES_FK2') Then
55     hr_utility.set_message(801, 'PAY_52969_TAX_BG_MATCH_ASG');
56     hr_utility.raise_error;
57   Else
58     hr_utility.set_message(801, 'HR_7877_API_INVALID_CONSTRAINT');
59     hr_utility.set_message_token('PROCEDURE', l_proc);
60     hr_utility.set_message_token('CONSTRAINT_NAME', p_constraint_name);
61     hr_utility.raise_error;
62   End If;
63   --
64   hr_utility.set_location(' Leaving:'||l_proc, 10);
65 End constraint_error;
66 --
67 -- ----------------------------------------------------------------------------
68 -- |-----------------------------< api_updating >-----------------------------|
69 -- ----------------------------------------------------------------------------
70 Function api_updating
71   (p_effective_date            in date,
72    p_emp_state_tax_rule_id     in number,
73    p_object_version_number     in number
74   ) Return Boolean Is
75 --
76   --
77   -- Cursor selects the 'current' row from the HR Schema
78   --
79   Cursor C_Sel1 is
80     select
81       emp_state_tax_rule_id,
82       effective_start_date,
83       effective_end_date,
84       assignment_id,
85       state_code,
86       jurisdiction_code,
87       business_group_id,
88       additional_wa_amount,
89       filing_status_code,
90       remainder_percent,
91       secondary_wa,
92       sit_additional_tax,
93       sit_override_amount,
94       sit_override_rate,
95       withholding_allowances,
96       excessive_wa_reject_date,
97       sdi_exempt,
98       sit_exempt,
99       sit_optional_calc_ind,
100       state_non_resident_cert,
101       sui_exempt,
102       wc_exempt,
103       wage_exempt,
104       sui_wage_base_override_amount,
105       supp_tax_override_rate,
106       object_version_number,
107       attribute_category,
108       attribute1,
109       attribute2,
110       attribute3,
111       attribute4,
112       attribute5,
113       attribute6,
114       attribute7,
115       attribute8,
116       attribute9,
117       attribute10,
118       attribute11,
119       attribute12,
120       attribute13,
121       attribute14,
122       attribute15,
123       attribute16,
124       attribute17,
125       attribute18,
126       attribute19,
127       attribute20,
128       attribute21,
129       attribute22,
130       attribute23,
131       attribute24,
132       attribute25,
133       attribute26,
134       attribute27,
135       attribute28,
136       attribute29,
137       attribute30,
138       sta_information_category,
139       sta_information1,
140       sta_information2,
141       sta_information3,
142       sta_information4,
143       sta_information5,
144       sta_information6,
145       sta_information7,
146       sta_information8,
147       sta_information9,
148       sta_information10,
149       sta_information11,
150       sta_information12,
151       sta_information13,
152       sta_information14,
153       sta_information15,
154       sta_information16,
155       sta_information17,
156       sta_information18,
157       sta_information19,
158       sta_information20,
159       sta_information21,
160       sta_information22,
161       sta_information23,
162       sta_information24,
163       sta_information25,
164       sta_information26,
165       sta_information27,
166       sta_information28,
167       sta_information29,
168       sta_information30
169     from    pay_us_emp_state_tax_rules_f
170     where   emp_state_tax_rule_id = p_emp_state_tax_rule_id
171     and     p_effective_date
172     between effective_start_date and effective_end_date;
173 --
174   l_proc      varchar2(72)  := g_package||'api_updating';
175   l_fct_ret   boolean;
176 --
177 Begin
178   hr_utility.set_location('Entering:'||l_proc, 5);
179   --
180   If (p_effective_date is null or
181       p_emp_state_tax_rule_id is null or
182       p_object_version_number is null) Then
183     --
184     -- One of the primary key arguments is null therefore we must
185     -- set the returning function value to false
186     --
187     l_fct_ret := false;
188   Else
189     If (p_emp_state_tax_rule_id = g_old_rec.emp_state_tax_rule_id and
190         p_object_version_number = g_old_rec.object_version_number) Then
191       hr_utility.set_location(l_proc, 10);
192       --
193       -- The g_old_rec is current therefore we must
194       -- set the returning function to true
195       --
196       l_fct_ret := true;
197     Else
198       --
199       -- Select the current row
200       --
201       Open C_Sel1;
202       Fetch C_Sel1 Into g_old_rec;
203       If C_Sel1%notfound Then
204         Close C_Sel1;
205         --
206         -- The primary key is invalid therefore we must error
207         --
208         hr_utility.set_message(801, 'HR_7220_INVALID_PRIMARY_KEY');
209         hr_utility.raise_error;
210       End If;
211       Close C_Sel1;
212       If (p_object_version_number <> g_old_rec.object_version_number) Then
213         hr_utility.set_message(801, 'HR_7155_OBJECT_INVALID');
214         hr_utility.raise_error;
215       End If;
216       hr_utility.set_location(l_proc, 15);
217       l_fct_ret := true;
218     End If;
219   End If;
220   hr_utility.set_location(' Leaving:'||l_proc, 20);
221   Return (l_fct_ret);
222 --
223 End api_updating;
224 --
225 -- ----------------------------------------------------------------------------
226 -- |--------------------------< find_dt_del_modes >---------------------------|
227 -- ----------------------------------------------------------------------------
228 Procedure find_dt_del_modes
229       (p_effective_date      in         date,
230        p_base_key_value      in         number,
231        p_zap                 out nocopy boolean,
232        p_delete              out nocopy boolean,
233        p_future_change       out nocopy boolean,
234        p_delete_next_change  out nocopy boolean) is
235 --
236   l_proc    varchar2(72)   := g_package||'find_dt_del_modes';
237 --
238 --
239 Begin
240   hr_utility.set_location('Entering:'||l_proc, 5);
241   --
242   -- Call the corresponding datetrack api
243   --
244   dt_api.find_dt_del_modes
245       (p_effective_date       => p_effective_date,
246        p_base_table_name      => 'pay_us_emp_state_tax_rules_f',
247        p_base_key_column      => 'emp_state_tax_rule_id',
248        p_base_key_value       => p_base_key_value,
249        p_zap                  => p_zap,
250        p_delete               => p_delete,
251        p_future_change        => p_future_change,
252        p_delete_next_change   => p_delete_next_change);
253   --
254        p_delete                  := false;
255        p_future_change           := false;
256        p_delete_next_change      := false;
257   --
258   --
259   hr_utility.set_location(' Leaving:'||l_proc, 10);
260 End find_dt_del_modes;
261 --
262 -- ----------------------------------------------------------------------------
263 -- |--------------------------< find_dt_upd_modes >---------------------------|
264 -- ----------------------------------------------------------------------------
265 Procedure find_dt_upd_modes
266       (p_effective_date        in  	  date,
267        p_base_key_value        in  	  number,
268        p_correction            out nocopy boolean,
269        p_update                out nocopy boolean,
270        p_update_override       out nocopy boolean,
271        p_update_change_insert  out nocopy boolean) is
272 --
273   l_proc       varchar2(72) := g_package||'find_dt_upd_modes';
274 --
275 Begin
276   hr_utility.set_location('Entering:'||l_proc, 5);
277   --
278   -- Call the corresponding datetrack api
279   --
280   dt_api.find_dt_upd_modes
281       (p_effective_date       => p_effective_date,
282        p_base_table_name      => 'pay_us_emp_state_tax_rules_f',
283        p_base_key_column      => 'emp_state_tax_rule_id',
284        p_base_key_value       => p_base_key_value,
285        p_correction           => p_correction,
286        p_update               => p_update,
287        p_update_override      => p_update_override,
288        p_update_change_insert => p_update_change_insert);
289   --
290   hr_utility.set_location(' Leaving:'||l_proc, 10);
291 End find_dt_upd_modes;
292 --
293 -- ----------------------------------------------------------------------------
294 -- |------------------------< upd_effective_end_date >------------------------|
295 -- ----------------------------------------------------------------------------
296 Procedure upd_effective_end_date
297       (p_effective_date            in 	      date,
298        p_base_key_value            in 	      number,
299        p_new_effective_end_date    in 	      date,
300        p_validation_start_date     in 	      date,
301        p_validation_end_date       in 	      date,
302        p_object_version_number     out nocopy number) is
303 --
304   l_proc        varchar2(72) := g_package||'upd_effective_end_date';
305   l_object_version_number number;
306 --
307 Begin
308   hr_utility.set_location('Entering:'||l_proc, 5);
309   --
310   -- Because we are updating a row we must get the next object
311   -- version number.
312   --
313   l_object_version_number :=
314     dt_api.get_object_version_number
315       (p_base_table_name      => 'pay_us_emp_state_tax_rules_f',
316        p_base_key_column      => 'emp_state_tax_rule_id',
317        p_base_key_value       => p_base_key_value);
318   --
319   hr_utility.set_location(l_proc, 10);
320   g_api_dml := true;  -- Set the api dml status
321   --
322   -- Update the specified datetrack row setting the effective
323   -- end date to the specified new effective end date.
324   --
325   update  pay_us_emp_state_tax_rules_f t
326   set   t.effective_end_date    = p_new_effective_end_date,
327         t.object_version_number = l_object_version_number
328   where  t.emp_state_tax_rule_id  = p_base_key_value
329   and    p_effective_date
330   between t.effective_start_date and t.effective_end_date;
331   --
332   g_api_dml := false;   -- Unset the api dml status
333   p_object_version_number := l_object_version_number;
334   hr_utility.set_location(' Leaving:'||l_proc, 15);
335 --
336 Exception
337   When Others Then
338     g_api_dml := false;   -- Unset the api dml status
339     Raise;
340 End upd_effective_end_date;
341 --
342 -- ----------------------------------------------------------------------------
343 -- |---------------------------------< lck >----------------------------------|
344 -- ----------------------------------------------------------------------------
345 Procedure lck
346       (p_effective_date         in  	   date,
347        p_datetrack_mode         in  	   varchar2,
348        p_emp_state_tax_rule_id  in  	   number,
349        p_object_version_number  in  	   number,
350        p_validation_start_date  out nocopy date,
351        p_validation_end_date    out nocopy date) is
352 --
353   l_proc              varchar2(72) := g_package||'lck';
354   l_validation_start_date date;
355   l_validation_end_date   date;
356   l_object_invalid        exception;
357   l_argument              varchar2(30);
358   --
359   -- Cursor C_Sel1 selects the current locked row as of session date
360   -- ensuring that the object version numbers match.
361   --
362   Cursor C_Sel1 is
363     select
364       emp_state_tax_rule_id,
365       effective_start_date,
366       effective_end_date,
367       assignment_id,
368       state_code,
369       jurisdiction_code,
370       business_group_id,
371       additional_wa_amount,
372       filing_status_code,
373       remainder_percent,
374       secondary_wa,
375       sit_additional_tax,
376       sit_override_amount,
377       sit_override_rate,
378       withholding_allowances,
379       excessive_wa_reject_date,
380       sdi_exempt,
381       sit_exempt,
382       sit_optional_calc_ind,
383       state_non_resident_cert,
384       sui_exempt,
385       wc_exempt,
386       wage_exempt,
387       sui_wage_base_override_amount,
388       supp_tax_override_rate,
389       object_version_number,
390       attribute_category,
391       attribute1,
392       attribute2,
393       attribute3,
394       attribute4,
395       attribute5,
396       attribute6,
397       attribute7,
398       attribute8,
399       attribute9,
400       attribute10,
401       attribute11,
402       attribute12,
403       attribute13,
404       attribute14,
405       attribute15,
406       attribute16,
407       attribute17,
408       attribute18,
409       attribute19,
410       attribute20,
411       attribute21,
412       attribute22,
413       attribute23,
414       attribute24,
415       attribute25,
416       attribute26,
417       attribute27,
418       attribute28,
419       attribute29,
420       attribute30,
421       sta_information_category,
422       sta_information1,
423       sta_information2,
424       sta_information3,
425       sta_information4,
426       sta_information5,
427       sta_information6,
428       sta_information7,
429       sta_information8,
430       sta_information9,
431       sta_information10,
432       sta_information11,
436       sta_information15,
433       sta_information12,
434       sta_information13,
435       sta_information14,
437       sta_information16,
438       sta_information17,
439       sta_information18,
440       sta_information19,
441       sta_information20,
442       sta_information21,
443       sta_information22,
444       sta_information23,
445       sta_information24,
446       sta_information25,
447       sta_information26,
448       sta_information27,
449       sta_information28,
450       sta_information29,
451       sta_information30
452     from    pay_us_emp_state_tax_rules_f
453     where   emp_state_tax_rule_id = p_emp_state_tax_rule_id
454     and    p_effective_date
455     between effective_start_date and effective_end_date
456     for update nowait;
457   --
458   --
459   --
460 Begin
461   hr_utility.set_location('Entering:'||l_proc, 5);
462   --
463   -- Ensure that all the mandatory arguments are not null
464   --
465   hr_api.mandatory_arg_error(p_api_name       => l_proc,
466                              p_argument       => 'effective_date',
467                              p_argument_value => p_effective_date);
468   --
469   hr_api.mandatory_arg_error(p_api_name       => l_proc,
470                              p_argument       => 'datetrack_mode',
471                              p_argument_value => p_datetrack_mode);
472   --
473   hr_api.mandatory_arg_error(p_api_name       => l_proc,
474                              p_argument       => 'emp_state_tax_rule_id',
475                              p_argument_value => p_emp_state_tax_rule_id);
476   --
477   hr_api.mandatory_arg_error(p_api_name       => l_proc,
478                              p_argument       => 'object_version_number',
479                              p_argument_value => p_object_version_number);
480   --
481   -- Check to ensure the datetrack mode is not INSERT.
482   --
483   If (p_datetrack_mode <> 'INSERT') then
484     --
485     -- We must select and lock the current row.
486     --
487     Open  C_Sel1;
488     Fetch C_Sel1 Into g_old_rec;
489     If C_Sel1%notfound then
490       Close C_Sel1;
491       --
492       -- The primary key is invalid therefore we must error
493       --
494       hr_utility.set_message(801, 'HR_7220_INVALID_PRIMARY_KEY');
495       hr_utility.raise_error;
496     End If;
497     Close C_Sel1;
498     If (p_object_version_number <> g_old_rec.object_version_number) Then
499         hr_utility.set_message(801, 'HR_7155_OBJECT_INVALID');
500         hr_utility.raise_error;
501       End If;
502     hr_utility.set_location(l_proc, 15);
503     --
504     --
505     -- Validate the datetrack mode mode getting the validation start
506     -- and end dates for the specified datetrack operation.
507     --
508     dt_api.validate_dt_mode
509       (p_effective_date          => p_effective_date,
510        p_datetrack_mode          => p_datetrack_mode,
511        p_base_table_name         => 'pay_us_emp_state_tax_rules_f',
512        p_base_key_column         => 'emp_state_tax_rule_id',
513        p_base_key_value          => p_emp_state_tax_rule_id,
514        p_enforce_foreign_locking => true,
515        p_validation_start_date   => l_validation_start_date,
516        p_validation_end_date     => l_validation_end_date);
517   Else
518     --
519     -- We are doing a datetrack 'INSERT' which is illegal within this
520     -- procedure therefore we must error (note: to lck on insert the
521     -- private procedure ins_lck should be called).
522     --
523     hr_utility.set_message(801, 'HR_6153_ALL_PROCEDURE_FAIL');
524     hr_utility.set_message_token('PROCEDURE', l_proc);
525     hr_utility.set_message_token('STEP','20');
526     hr_utility.raise_error;
527   End If;
528   --
529   -- Set the validation start and end date OUT arguments
530   --
531   p_validation_start_date := l_validation_start_date;
532   p_validation_end_date   := l_validation_end_date;
533   --
534   hr_utility.set_location(' Leaving:'||l_proc, 30);
535 --
536 -- We need to trap the ORA LOCK exception
537 --
538 Exception
539   When HR_Api.Object_Locked then
540     --
541     -- The object is locked therefore we need to supply a meaningful
542     -- error message.
543     --
544     hr_utility.set_message(801, 'HR_7165_OBJECT_LOCKED');
545     hr_utility.set_message_token('TABLE_NAME', 'pay_us_emp_state_tax_rules_f');
546     hr_utility.raise_error;
547   When l_object_invalid then
548     --
549     -- The object doesn't exist or is invalid
550     --
551     hr_utility.set_message(801, 'HR_7155_OBJECT_INVALID');
552     hr_utility.set_message_token('TABLE_NAME', 'pay_us_emp_state_tax_rules_f');
553     hr_utility.raise_error;
554 End lck;
555 --
556 -- ----------------------------------------------------------------------------
557 -- |-----------------------------< convert_args >-----------------------------|
558 -- ----------------------------------------------------------------------------
559 Function convert_args
560       (
561       p_emp_state_tax_rule_id         in number,
562       p_effective_start_date          in date,
563       p_effective_end_date            in date,
564       p_assignment_id                 in number,
565       p_state_code                    in varchar2,
566       p_jurisdiction_code             in varchar2,
567       p_business_group_id             in number,
568       p_additional_wa_amount          in number,
569       p_filing_status_code            in varchar2,
570       p_remainder_percent             in number,
571       p_secondary_wa                  in number,
572       p_sit_additional_tax            in number,
573       p_sit_override_amount           in number,
574       p_sit_override_rate             in number,
575       p_withholding_allowances        in number,
576       p_excessive_wa_reject_date      in date,
577       p_sdi_exempt                    in varchar2,
578       p_sit_exempt                    in varchar2,
579       p_sit_optional_calc_ind         in varchar2,
580       p_state_non_resident_cert       in varchar2,
581       p_sui_exempt                    in varchar2,
582       p_wc_exempt                     in varchar2,
583       p_wage_exempt                   in varchar2,
584       p_sui_wage_base_override_amoun  in number,
585       p_supp_tax_override_rate        in number,
586       p_object_version_number         in number,
587       p_attribute_category              in varchar2,
588       p_attribute1                      in varchar2,
589       p_attribute2                      in varchar2,
590       p_attribute3                      in varchar2,
591       p_attribute4                      in varchar2,
592       p_attribute5                      in varchar2,
593       p_attribute6                      in varchar2,
594       p_attribute7                      in varchar2,
595       p_attribute8                      in varchar2,
596       p_attribute9                      in varchar2,
597       p_attribute10                     in varchar2,
598       p_attribute11                     in varchar2,
599       p_attribute12                     in varchar2,
600       p_attribute13                     in varchar2,
601       p_attribute14                     in varchar2,
602       p_attribute15                     in varchar2,
603       p_attribute16                     in varchar2,
604       p_attribute17                     in varchar2,
605       p_attribute18                     in varchar2,
606       p_attribute19                     in varchar2,
607       p_attribute20                     in varchar2,
608       p_attribute21                     in varchar2,
609       p_attribute22                     in varchar2,
610       p_attribute23                     in varchar2,
611       p_attribute24                     in varchar2,
612       p_attribute25                     in varchar2,
613       p_attribute26                     in varchar2,
614       p_attribute27                     in varchar2,
615       p_attribute28                     in varchar2,
616       p_attribute29                     in varchar2,
617       p_attribute30                     in varchar2,
618       p_sta_information_category        in varchar2,
619       p_sta_information1                in varchar2,
620       p_sta_information2                in varchar2,
621       p_sta_information3                in varchar2,
622       p_sta_information4                in varchar2,
623       p_sta_information5                in varchar2,
624       p_sta_information6                in varchar2,
625       p_sta_information7                in varchar2,
626       p_sta_information8                in varchar2,
627       p_sta_information9                in varchar2,
628       p_sta_information10               in varchar2,
629       p_sta_information11               in varchar2,
630       p_sta_information12               in varchar2,
631       p_sta_information13               in varchar2,
632       p_sta_information14               in varchar2,
633       p_sta_information15               in varchar2,
634       p_sta_information16               in varchar2,
635       p_sta_information17               in varchar2,
636       p_sta_information18               in varchar2,
637       p_sta_information19               in varchar2,
638       p_sta_information20               in varchar2,
639       p_sta_information21               in varchar2,
640       p_sta_information22               in varchar2,
641       p_sta_information23               in varchar2,
642       p_sta_information24               in varchar2,
643       p_sta_information25               in varchar2,
644       p_sta_information26               in varchar2,
645       p_sta_information27               in varchar2,
646       p_sta_information28               in varchar2,
647       p_sta_information29               in varchar2,
648       p_sta_information30               in varchar2
649       )
650       Return g_rec_type is
651 --
652   l_rec        g_rec_type;
653   l_proc  varchar2(72) := g_package||'convert_args';
654 --
655 Begin
656   --
657   hr_utility.set_location('Entering:'||l_proc, 5);
658   --
659   -- Convert arguments into local l_rec structure.
660   --
661   l_rec.emp_state_tax_rule_id            := p_emp_state_tax_rule_id;
662   l_rec.effective_start_date             := p_effective_start_date;
666   l_rec.jurisdiction_code                := p_jurisdiction_code;
663   l_rec.effective_end_date               := p_effective_end_date;
664   l_rec.assignment_id                    := p_assignment_id;
665   l_rec.state_code                       := p_state_code;
667   l_rec.business_group_id                := p_business_group_id;
668   l_rec.additional_wa_amount             := p_additional_wa_amount;
669   l_rec.filing_status_code               := p_filing_status_code;
670   l_rec.remainder_percent                := p_remainder_percent;
671   l_rec.secondary_wa                     := p_secondary_wa;
672   l_rec.sit_additional_tax               := p_sit_additional_tax;
673   l_rec.sit_override_amount              := p_sit_override_amount;
674   l_rec.sit_override_rate                := p_sit_override_rate;
675   l_rec.withholding_allowances           := p_withholding_allowances;
676   l_rec.excessive_wa_reject_date         := p_excessive_wa_reject_date;
677   l_rec.sdi_exempt                       := p_sdi_exempt;
678   l_rec.sit_exempt                       := p_sit_exempt;
679   l_rec.sit_optional_calc_ind            := p_sit_optional_calc_ind;
680   l_rec.state_non_resident_cert          := p_state_non_resident_cert;
681   l_rec.sui_exempt                       := p_sui_exempt;
682   l_rec.wc_exempt                        := p_wc_exempt;
683   l_rec.wage_exempt                      := p_wage_exempt;
684   l_rec.sui_wage_base_override_amount    := p_sui_wage_base_override_amoun;
685   l_rec.supp_tax_override_rate           := p_supp_tax_override_rate;
686   l_rec.object_version_number            := p_object_version_number;
687   l_rec.attribute_category               := p_attribute_category;
688   l_rec.attribute1                       := p_attribute1;
689   l_rec.attribute2                       := p_attribute2;
690   l_rec.attribute3                       := p_attribute3;
691   l_rec.attribute4                       := p_attribute4;
692   l_rec.attribute5                       := p_attribute5;
693   l_rec.attribute6                       := p_attribute6;
694   l_rec.attribute7                       := p_attribute7;
695   l_rec.attribute8                       := p_attribute8;
696   l_rec.attribute9                       := p_attribute9;
697   l_rec.attribute10                      := p_attribute10;
698   l_rec.attribute11                      := p_attribute11;
699   l_rec.attribute12                      := p_attribute12;
700   l_rec.attribute13                      := p_attribute13;
701   l_rec.attribute14                      := p_attribute14;
702   l_rec.attribute15                      := p_attribute15;
703   l_rec.attribute16                      := p_attribute16;
704   l_rec.attribute17                      := p_attribute17;
705   l_rec.attribute18                      := p_attribute18;
706   l_rec.attribute19                      := p_attribute19;
707   l_rec.attribute20                      := p_attribute20;
708   l_rec.attribute21                      := p_attribute21;
709   l_rec.attribute22                      := p_attribute22;
710   l_rec.attribute23                      := p_attribute23;
711   l_rec.attribute24                      := p_attribute24;
712   l_rec.attribute25                      := p_attribute25;
713   l_rec.attribute26                      := p_attribute26;
714   l_rec.attribute27                      := p_attribute27;
715   l_rec.attribute28                      := p_attribute28;
716   l_rec.attribute29                      := p_attribute29;
717   l_rec.attribute30                      := p_attribute30;
718   l_rec.sta_information_category         := p_sta_information_category;
719   l_rec.sta_information1                 := p_sta_information1;
720   l_rec.sta_information2                 := p_sta_information2;
721   l_rec.sta_information3                 := p_sta_information3;
722   l_rec.sta_information4                 := p_sta_information4;
723   l_rec.sta_information5                 := p_sta_information5;
724   l_rec.sta_information6                 := p_sta_information6;
725   l_rec.sta_information7                 := p_sta_information7;
726   l_rec.sta_information8                 := p_sta_information8;
727   l_rec.sta_information9                 := p_sta_information9;
728   l_rec.sta_information10                := p_sta_information10;
729   l_rec.sta_information11                := p_sta_information11;
730   l_rec.sta_information12                := p_sta_information12;
731   l_rec.sta_information13                := p_sta_information13;
732   l_rec.sta_information14                := p_sta_information14;
733   l_rec.sta_information15                := p_sta_information15;
734   l_rec.sta_information16                := p_sta_information16;
735   l_rec.sta_information17                := p_sta_information17;
736   l_rec.sta_information18                := p_sta_information18;
737   l_rec.sta_information19                := p_sta_information19;
738   l_rec.sta_information20                := p_sta_information20;
739   l_rec.sta_information21                := p_sta_information21;
740   l_rec.sta_information22                := p_sta_information22;
741   l_rec.sta_information23                := p_sta_information23;
742   l_rec.sta_information24                := p_sta_information24;
743   l_rec.sta_information25                := p_sta_information25;
744   l_rec.sta_information26                := p_sta_information26;
745   l_rec.sta_information27                := p_sta_information27;
746   l_rec.sta_information28                := p_sta_information28;
747   l_rec.sta_information29                := p_sta_information29;
748   l_rec.sta_information30                      := p_sta_information30;
749 
750   --
751   -- Return the plsql record structure.
752   --
753   hr_utility.set_location(' Leaving:'||l_proc, 10);
754   Return(l_rec);
755 --
756 End convert_args;
757 --
758 end pay_sta_shd;