DBA Data[Home] [Help]

PACKAGE BODY: APPS.PAY_CTY_SHD

Source


1 PACKAGE BODY pay_cty_shd AS
2 /* $Header: pyctyrhi.pkb 120.0.12000000.2 2007/05/01 22:44:28 ahanda noship $ */
3 --
4 -- ----------------------------------------------------------------------------
5 -- |                     Private Global Definitions                           |
6 -- ----------------------------------------------------------------------------
7 --
8 g_package  varchar2(33) := '  pay_cty_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_USCTY_HT_EXEMPT_CHK') Then
37     hr_utility.set_message(801, 'PAY_72743_CTY_HT_Y_OR_N');
38     hr_utility.raise_error;
39   ElsIf (p_constraint_name = 'PAY_USCTY_LIT_EXEMPT_CHK') Then
40     hr_utility.set_message(801, 'PAY_72745_CTY_LIT_Y_OR_N');
41     hr_utility.raise_error;
42   ElsIf (p_constraint_name = 'PAY_USCTY_SD_EXEMPT_CHK') Then
43     hr_utility.set_message(801, 'PAY_72751_CTY_SD_Y_OR_N');
44     hr_utility.raise_error;
45   ElsIf (p_constraint_name = 'PAY_US_EMP_CITY_TAX_RULES_FK1') Then
46     hr_utility.set_message(801, 'HR_7952_ADDR_NO_STATE_CODE');  /* 26 SEP 97 */
47     hr_utility.raise_error;
48   ElsIf (p_constraint_name = 'PAY_US_EMP_CITY_TAX_RULES_FK2') Then
49     hr_utility.set_message(801, 'PAY_52969_TAX_BG_MATCH_ASG');
50     hr_utility.raise_error;
51   ElsIf (p_constraint_name = 'PAY_US_EMP_CITY_TAX_RULES_FK3') Then
52     hr_utility.set_message(801, 'HR_51279_ADD_INV_CTY_CO_ST_CMB');
53     hr_utility.raise_error;
54   Else
55     hr_utility.set_message(801, 'HR_7877_API_INVALID_CONSTRAINT');
56     hr_utility.set_message_token('PROCEDURE', l_proc);
57     hr_utility.set_message_token('CONSTRAINT_NAME', p_constraint_name);
58     hr_utility.raise_error;
59   End If;
60   --
61   hr_utility.set_location(' Leaving:'||l_proc, 10);
62 End constraint_error;
63 --
64 -- ----------------------------------------------------------------------------
65 -- |-----------------------------< api_updating >-----------------------------|
66 -- ----------------------------------------------------------------------------
67 Function api_updating
68   (p_effective_date            in date,
69    p_emp_city_tax_rule_id      in number,
70    p_object_version_number     in number
71   ) Return Boolean Is
72 --
73   --
74   -- Cursor selects the 'current' row from the HR Schema
75   --
76   Cursor C_Sel1 is
77     select
78       emp_city_tax_rule_id,
79       effective_start_date,
80       effective_end_date,
81       assignment_id,
82       state_code,
83       county_code,
84       city_code,
85       business_group_id,
86       additional_wa_rate,
87       filing_status_code,
88       jurisdiction_code,
89       lit_additional_tax,
90       lit_override_amount,
91       lit_override_rate,
92       withholding_allowances,
93       lit_exempt,
94       sd_exempt,
95       ht_exempt,
96       wage_exempt,
97       school_district_code,
98       object_version_number,
99       attribute_category,
100       attribute1,
101       attribute2,
102       attribute3,
103       attribute4,
104       attribute5,
105       attribute6,
106       attribute7,
107       attribute8,
108       attribute9,
109       attribute10,
110       attribute11,
111       attribute12,
112       attribute13,
113       attribute14,
114       attribute15,
115       attribute16,
116       attribute17,
117       attribute18,
118       attribute19,
119       attribute20,
120       attribute21,
121       attribute22,
122       attribute23,
123       attribute24,
124       attribute25,
125       attribute26,
126       attribute27,
127       attribute28,
128       attribute29,
129       attribute30,
130       cty_information_category,
131       cty_information1,
132       cty_information2,
133       cty_information3,
134       cty_information4,
135       cty_information5,
136       cty_information6,
137       cty_information7,
138       cty_information8,
139       cty_information9,
140       cty_information10,
141       cty_information11,
142       cty_information12,
143       cty_information13,
144       cty_information14,
145       cty_information15,
146       cty_information16,
147       cty_information17,
148       cty_information18,
149       cty_information19,
150       cty_information20,
151       cty_information21,
152       cty_information22,
153       cty_information23,
154       cty_information24,
155       cty_information25,
156       cty_information26,
157       cty_information27,
158       cty_information28,
159       cty_information29,
160       cty_information30
161     from   pay_us_emp_city_tax_rules_f
162     where  emp_city_tax_rule_id = p_emp_city_tax_rule_id
163     and    p_effective_date
164     between effective_start_date and effective_end_date;
165 --
166   l_proc      varchar2(72)  := g_package||'api_updating';
167   l_fct_ret   boolean;
168 --
169 Begin
170   hr_utility.set_location('Entering:'||l_proc, 5);
171   --
172   If (p_effective_date is null or
173       p_emp_city_tax_rule_id is null or
174       p_object_version_number is null) Then
175     --
176     -- One of the primary key arguments is null therefore we must
177     -- set the returning function value to false
178     --
179     l_fct_ret := false;
180   Else
181     If (p_emp_city_tax_rule_id = g_old_rec.emp_city_tax_rule_id and
182         p_object_version_number = g_old_rec.object_version_number) Then
183       hr_utility.set_location(l_proc, 10);
184       --
185       -- The g_old_rec is current therefore we must
186       -- set the returning function to true
187       --
188       l_fct_ret := true;
189     Else
190       --
191       -- Select the current row
192       --
193       Open C_Sel1;
194       Fetch C_Sel1 Into g_old_rec;
195       If C_Sel1%notfound Then
196         Close C_Sel1;
197         --
198         -- The primary key is invalid therefore we must error
199         --
200         hr_utility.set_message(801, 'HR_7220_INVALID_PRIMARY_KEY');
201         hr_utility.raise_error;
202       End If;
203       Close C_Sel1;
204       If (p_object_version_number <> g_old_rec.object_version_number) Then
205         hr_utility.set_message(801, 'HR_7155_OBJECT_INVALID');
206         hr_utility.raise_error;
207       End If;
208       hr_utility.set_location(l_proc, 15);
209       l_fct_ret := true;
210     End If;
211   End If;
212   hr_utility.set_location(' Leaving:'||l_proc, 20);
213   Return (l_fct_ret);
214 --
215 End api_updating;
216 --
217 -- ----------------------------------------------------------------------------
218 -- |--------------------------< find_dt_del_modes >---------------------------|
219 -- ----------------------------------------------------------------------------
220 Procedure find_dt_del_modes
221       (p_effective_date      in  date,
222        p_base_key_value      in  number,
223        p_zap                 out nocopy boolean,
224        p_delete              out nocopy boolean,
225        p_future_change       out nocopy boolean,
226        p_delete_next_change  out nocopy boolean) is
227 --
228   l_proc       varchar2(72)  := g_package||'find_dt_del_modes';
229 --
230   --
231   --
232 --
233 Begin
234   hr_utility.set_location('Entering:'||l_proc, 5);
235     --
236   --
237   -- Call the corresponding datetrack api
238   --
239   dt_api.find_dt_del_modes
240       (p_effective_date       => p_effective_date,
241        p_base_table_name      => 'pay_us_emp_city_tax_rules_f',
242        p_base_key_column      => 'emp_city_tax_rule_id',
243        p_base_key_value       => p_base_key_value,
244        p_zap                  => p_zap,
245        p_delete               => p_delete,
246        p_future_change        => p_future_change,
247        p_delete_next_change   => p_delete_next_change);
248   --
249   hr_utility.set_location(' Leaving:'||l_proc, 10);
250 End find_dt_del_modes;
251 --
252 -- ----------------------------------------------------------------------------
253 -- |--------------------------< find_dt_upd_modes >---------------------------|
254 -- ----------------------------------------------------------------------------
255 Procedure find_dt_upd_modes
256       (p_effective_date      in  date,
257        p_base_key_value      in  number,
258        p_correction          out nocopy boolean,
259        p_update              out nocopy boolean,
260        p_update_override     out nocopy boolean,
261        p_update_change_insert out nocopy boolean) is
262 --
263   l_proc       varchar2(72) := g_package||'find_dt_upd_modes';
264 --
265 Begin
266   hr_utility.set_location('Entering:'||l_proc, 5);
267   --
268   -- Call the corresponding datetrack api
269   --
270   dt_api.find_dt_upd_modes
271       (p_effective_date       => p_effective_date,
272        p_base_table_name      => 'pay_us_emp_city_tax_rules_f',
273        p_base_key_column      => 'emp_city_tax_rule_id',
274        p_base_key_value       => p_base_key_value,
275        p_correction           => p_correction,
276        p_update               => p_update,
277        p_update_override      => p_update_override,
278        p_update_change_insert => p_update_change_insert);
279   --
280   hr_utility.set_location(' Leaving:'||l_proc, 10);
281 End find_dt_upd_modes;
282 --
283 -- ----------------------------------------------------------------------------
284 -- |------------------------< upd_effective_end_date >------------------------|
285 -- ----------------------------------------------------------------------------
286 Procedure upd_effective_end_date
287       (p_effective_date            in date,
288        p_base_key_value            in number,
289        p_new_effective_end_date    in date,
290        p_validation_start_date     in date,
291        p_validation_end_date       in date,
292          p_object_version_number       out nocopy number) is
293 --
294   l_proc          varchar2(72) := g_package||'upd_effective_end_date';
295   l_object_version_number number;
296 --
297 Begin
298   hr_utility.set_location('Entering:'||l_proc, 5);
299   --
300   -- Because we are updating a row we must get the next object
301   -- version number.
302   --
303   l_object_version_number :=
304     dt_api.get_object_version_number
305       (p_base_table_name      => 'pay_us_emp_city_tax_rules_f',
306        p_base_key_column      => 'emp_city_tax_rule_id',
307        p_base_key_value       => p_base_key_value);
308   --
309   hr_utility.set_location(l_proc, 10);
310   g_api_dml := true;  -- Set the api dml status
311   --
312   -- Update the specified datetrack row setting the effective
313   -- end date to the specified new effective end date.
314   --
315   update  pay_us_emp_city_tax_rules_f t
316   set   t.effective_end_date    = p_new_effective_end_date,
317         t.object_version_number = l_object_version_number
318   where   t.emp_city_tax_rule_id   = p_base_key_value
319   and   p_effective_date
320   between t.effective_start_date and t.effective_end_date;
321   --
322   g_api_dml := false;   -- Unset the api dml status
323   p_object_version_number := l_object_version_number;
324   hr_utility.set_location(' Leaving:'||l_proc, 15);
325 --
326 Exception
327   When Others Then
328     g_api_dml := false;   -- Unset the api dml status
329     Raise;
330 End upd_effective_end_date;
331 --
332 -- ----------------------------------------------------------------------------
333 -- |---------------------------------< lck >----------------------------------|
334 -- ----------------------------------------------------------------------------
335 Procedure lck
336       (p_effective_date        in  date,
337        p_datetrack_mode        in  varchar2,
338        p_emp_city_tax_rule_id  in  number,
339        p_object_version_number in  number,
340        p_validation_start_date out nocopy date,
341        p_validation_end_date   out nocopy date) is
342 --
343   l_proc        varchar2(72) := g_package||'lck';
344   l_validation_start_date date;
345   l_validation_end_date   date;
346   l_object_invalid        exception;
347   l_argument              varchar2(30);
348   --
349   -- Cursor C_Sel1 selects the current locked row as of session date
350   -- ensuring that the object version numbers match.
351   --
352   Cursor C_Sel1 is
353     select
354       emp_city_tax_rule_id,
355       effective_start_date,
356       effective_end_date,
357       assignment_id,
358       state_code,
359       county_code,
360       city_code,
361       business_group_id,
362       additional_wa_rate,
363       filing_status_code,
364       jurisdiction_code,
365       lit_additional_tax,
366       lit_override_amount,
367       lit_override_rate,
368       withholding_allowances,
369       lit_exempt,
370       sd_exempt,
371       ht_exempt,
372       wage_exempt,
373       school_district_code,
374       object_version_number,
375       attribute_category,
376       attribute1,
377       attribute2,
378       attribute3,
379       attribute4,
380       attribute5,
381       attribute6,
382       attribute7,
383       attribute8,
384       attribute9,
385       attribute10,
386       attribute11,
387       attribute12,
388       attribute13,
389       attribute14,
390       attribute15,
391       attribute16,
392       attribute17,
393       attribute18,
394       attribute19,
395       attribute20,
396       attribute21,
397       attribute22,
398       attribute23,
399       attribute24,
400       attribute25,
401       attribute26,
402       attribute27,
403       attribute28,
404       attribute29,
405       attribute30,
406       cty_information_category,
407       cty_information1,
408       cty_information2,
409       cty_information3,
410       cty_information4,
411       cty_information5,
412       cty_information6,
413       cty_information7,
414       cty_information8,
415       cty_information9,
416       cty_information10,
417       cty_information11,
418       cty_information12,
419       cty_information13,
420       cty_information14,
421       cty_information15,
422       cty_information16,
423       cty_information17,
424       cty_information18,
425       cty_information19,
426       cty_information20,
427       cty_information21,
428       cty_information22,
429       cty_information23,
430       cty_information24,
431       cty_information25,
432       cty_information26,
433       cty_information27,
434       cty_information28,
435       cty_information29,
436       cty_information30
437     from    pay_us_emp_city_tax_rules_f
438     where   emp_city_tax_rule_id         = p_emp_city_tax_rule_id
439     and     p_effective_date
443   --
440     between effective_start_date and effective_end_date
441     for update nowait;
442   --
444   --
445 Begin
446   hr_utility.set_location('Entering:'||l_proc, 5);
447   --
448   -- Ensure that all the mandatory arguments are not null
449   --
450   hr_api.mandatory_arg_error(p_api_name       => l_proc,
451                              p_argument       => 'effective_date',
452                              p_argument_value => p_effective_date);
453   --
454   hr_api.mandatory_arg_error(p_api_name       => l_proc,
455                              p_argument       => 'datetrack_mode',
456                              p_argument_value => p_datetrack_mode);
457   --
458   hr_api.mandatory_arg_error(p_api_name       => l_proc,
459                              p_argument       => 'emp_city_tax_rule_id',
460                              p_argument_value => p_emp_city_tax_rule_id);
461   --
462   hr_api.mandatory_arg_error(p_api_name       => l_proc,
463                              p_argument       => 'object_version_number',
464                              p_argument_value => p_object_version_number);
465   --
466   -- Check to ensure the datetrack mode is not INSERT.
467   --
468   If (p_datetrack_mode <> 'INSERT') then
469     --
470     -- We must select and lock the current row.
471     --
472     Open  C_Sel1;
473     Fetch C_Sel1 Into g_old_rec;
474     If C_Sel1%notfound then
475       Close C_Sel1;
476       --
477       -- The primary key is invalid therefore we must error
478       --
479       hr_utility.set_message(801, 'HR_7220_INVALID_PRIMARY_KEY');
480       hr_utility.raise_error;
481     End If;
482     Close C_Sel1;
483     If (p_object_version_number <> g_old_rec.object_version_number) Then
484         hr_utility.set_message(801, 'HR_7155_OBJECT_INVALID');
485         hr_utility.raise_error;
486       End If;
487     hr_utility.set_location(l_proc, 15);
488     --
489     --
490     -- Validate the datetrack mode mode getting the validation start
491     -- and end dates for the specified datetrack operation.
492     --
493     dt_api.validate_dt_mode
494       (p_effective_date          => p_effective_date,
495        p_datetrack_mode          => p_datetrack_mode,
496        p_base_table_name         => 'pay_us_emp_city_tax_rules_f',
497        p_base_key_column         => 'emp_city_tax_rule_id',
498        p_base_key_value          => p_emp_city_tax_rule_id,
499 
500          p_enforce_foreign_locking => true,
501        p_validation_start_date     => l_validation_start_date,
502        p_validation_end_date       => l_validation_end_date);
503   Else
504     --
505     -- We are doing a datetrack 'INSERT' which is illegal within this
506     -- procedure therefore we must error (note: to lck on insert the
507     -- private procedure ins_lck should be called).
508     --
509     hr_utility.set_message(801, 'HR_6153_ALL_PROCEDURE_FAIL');
510     hr_utility.set_message_token('PROCEDURE', l_proc);
511     hr_utility.set_message_token('STEP','20');
512     hr_utility.raise_error;
513   End If;
514   --
515   -- Set the validation start and end date OUT arguments
516   --
517   p_validation_start_date := l_validation_start_date;
518   p_validation_end_date   := l_validation_end_date;
519   --
520   hr_utility.set_location(' Leaving:'||l_proc, 30);
521 --
522 -- We need to trap the ORA LOCK exception
523 --
524 Exception
525   When HR_Api.Object_Locked then
526     --
527     -- The object is locked therefore we need to supply a meaningful
528     -- error message.
529     --
530     hr_utility.set_message(801, 'HR_7165_OBJECT_LOCKED');
531     hr_utility.set_message_token('TABLE_NAME', 'pay_us_emp_city_tax_rules_f');
532     hr_utility.raise_error;
533   When l_object_invalid then
534     --
535     -- The object doesn't exist or is invalid
536     --
537     hr_utility.set_message(801, 'HR_7155_OBJECT_INVALID');
538     hr_utility.set_message_token('TABLE_NAME', 'pay_us_emp_city_tax_rules_f');
539     hr_utility.raise_error;
540 End lck;
541 --
542 -- ----------------------------------------------------------------------------
543 -- |-----------------------------< convert_args >-----------------------------|
544 -- ----------------------------------------------------------------------------
545 Function convert_args
546       (
547       p_emp_city_tax_rule_id          in number,
548       p_effective_start_date          in date,
549       p_effective_end_date            in date,
550       p_assignment_id                 in number,
551       p_state_code                    in varchar2,
552       p_county_code                   in varchar2,
553       p_city_code                     in varchar2,
554       p_business_group_id             in number,
555       p_additional_wa_rate            in number,
556       p_filing_status_code            in varchar2,
557       p_jurisdiction_code             in varchar2,
558       p_lit_additional_tax            in number,
559       p_lit_override_amount           in number,
560       p_lit_override_rate             in number,
561       p_withholding_allowances        in number,
562       p_lit_exempt                    in varchar2,
563       p_sd_exempt                     in varchar2,
564       p_ht_exempt                     in varchar2,
568       p_attribute_category              in varchar2,
565       p_wage_exempt                   in varchar2,
566       p_school_district_code          in varchar2,
567       p_object_version_number         in number,
569       p_attribute1                      in varchar2,
570       p_attribute2                      in varchar2,
571       p_attribute3                      in varchar2,
572       p_attribute4                      in varchar2,
573       p_attribute5                      in varchar2,
574       p_attribute6                      in varchar2,
575       p_attribute7                      in varchar2,
576       p_attribute8                      in varchar2,
577       p_attribute9                      in varchar2,
578       p_attribute10                     in varchar2,
579       p_attribute11                     in varchar2,
580       p_attribute12                     in varchar2,
581       p_attribute13                     in varchar2,
582       p_attribute14                     in varchar2,
583       p_attribute15                     in varchar2,
584       p_attribute16                     in varchar2,
585       p_attribute17                     in varchar2,
586       p_attribute18                     in varchar2,
587       p_attribute19                     in varchar2,
588       p_attribute20                     in varchar2,
589       p_attribute21                     in varchar2,
590       p_attribute22                     in varchar2,
591       p_attribute23                     in varchar2,
592       p_attribute24                     in varchar2,
593       p_attribute25                     in varchar2,
594       p_attribute26                     in varchar2,
595       p_attribute27                     in varchar2,
596       p_attribute28                     in varchar2,
597       p_attribute29                     in varchar2,
598       p_attribute30                     in varchar2,
599       p_cty_information_category        in varchar2,
600       p_cty_information1                in varchar2,
601       p_cty_information2                in varchar2,
602       p_cty_information3                in varchar2,
603       p_cty_information4                in varchar2,
604       p_cty_information5                in varchar2,
605       p_cty_information6                in varchar2,
606       p_cty_information7                in varchar2,
607       p_cty_information8                in varchar2,
608       p_cty_information9                in varchar2,
609       p_cty_information10               in varchar2,
610       p_cty_information11               in varchar2,
611       p_cty_information12               in varchar2,
612       p_cty_information13               in varchar2,
613       p_cty_information14               in varchar2,
614       p_cty_information15               in varchar2,
615       p_cty_information16               in varchar2,
616       p_cty_information17               in varchar2,
617       p_cty_information18               in varchar2,
618       p_cty_information19               in varchar2,
619       p_cty_information20               in varchar2,
620       p_cty_information21               in varchar2,
621       p_cty_information22               in varchar2,
622       p_cty_information23               in varchar2,
623       p_cty_information24               in varchar2,
624       p_cty_information25               in varchar2,
625       p_cty_information26               in varchar2,
626       p_cty_information27               in varchar2,
627       p_cty_information28               in varchar2,
628       p_cty_information29               in varchar2,
629       p_cty_information30               in varchar2
630       )
631       Return g_rec_type is
632 --
633   l_rec        g_rec_type;
634   l_proc  varchar2(72) := g_package||'convert_args';
635 --
636 Begin
637   --
638   hr_utility.set_location('Entering:'||l_proc, 5);
639   --
640   -- Convert arguments into local l_rec structure.
641   --
642   l_rec.emp_city_tax_rule_id             := p_emp_city_tax_rule_id;
643   l_rec.effective_start_date             := p_effective_start_date;
644   l_rec.effective_end_date               := p_effective_end_date;
645   l_rec.assignment_id                    := p_assignment_id;
646   l_rec.state_code                       := p_state_code;
647   l_rec.county_code                      := p_county_code;
648   l_rec.city_code                        := p_city_code;
649   l_rec.business_group_id                := p_business_group_id;
650   l_rec.additional_wa_rate               := p_additional_wa_rate;
651   l_rec.filing_status_code               := p_filing_status_code;
652   l_rec.jurisdiction_code                := p_jurisdiction_code;
653   l_rec.lit_additional_tax               := p_lit_additional_tax;
654   l_rec.lit_override_amount              := p_lit_override_amount;
655   l_rec.lit_override_rate                := p_lit_override_rate;
656   l_rec.withholding_allowances           := p_withholding_allowances;
657   l_rec.lit_exempt                       := p_lit_exempt;
658   l_rec.sd_exempt                        := p_sd_exempt;
659   l_rec.ht_exempt                        := p_ht_exempt;
660   l_rec.wage_exempt                      := p_wage_exempt;
661   l_rec.school_district_code             := p_school_district_code;
662   l_rec.object_version_number            := p_object_version_number;
663   l_rec.attribute_category               := p_attribute_category;
664   l_rec.attribute1                       := p_attribute1;
668   l_rec.attribute5                       := p_attribute5;
665   l_rec.attribute2                       := p_attribute2;
666   l_rec.attribute3                       := p_attribute3;
667   l_rec.attribute4                       := p_attribute4;
669   l_rec.attribute6                       := p_attribute6;
670   l_rec.attribute7                       := p_attribute7;
671   l_rec.attribute8                       := p_attribute8;
672   l_rec.attribute9                       := p_attribute9;
673   l_rec.attribute10                      := p_attribute10;
674   l_rec.attribute11                      := p_attribute11;
675   l_rec.attribute12                      := p_attribute12;
676   l_rec.attribute13                      := p_attribute13;
677   l_rec.attribute14                      := p_attribute14;
678   l_rec.attribute15                      := p_attribute15;
679   l_rec.attribute16                      := p_attribute16;
680   l_rec.attribute17                      := p_attribute17;
681   l_rec.attribute18                      := p_attribute18;
682   l_rec.attribute19                      := p_attribute19;
683   l_rec.attribute20                      := p_attribute20;
684   l_rec.attribute21                      := p_attribute21;
685   l_rec.attribute22                      := p_attribute22;
686   l_rec.attribute23                      := p_attribute23;
687   l_rec.attribute24                      := p_attribute24;
688   l_rec.attribute25                      := p_attribute25;
689   l_rec.attribute26                      := p_attribute26;
690   l_rec.attribute27                      := p_attribute27;
691   l_rec.attribute28                      := p_attribute28;
692   l_rec.attribute29                      := p_attribute29;
693   l_rec.attribute30                      := p_attribute30;
694   l_rec.cty_information_category         := p_cty_information_category;
695   l_rec.cty_information1                 := p_cty_information1;
696   l_rec.cty_information2                 := p_cty_information2;
697   l_rec.cty_information3                 := p_cty_information3;
698   l_rec.cty_information4                 := p_cty_information4;
699   l_rec.cty_information5                 := p_cty_information5;
700   l_rec.cty_information6                 := p_cty_information6;
701   l_rec.cty_information7                 := p_cty_information7;
702   l_rec.cty_information8                 := p_cty_information8;
703   l_rec.cty_information9                 := p_cty_information9;
704   l_rec.cty_information10                := p_cty_information10;
705   l_rec.cty_information11                := p_cty_information11;
706   l_rec.cty_information12                := p_cty_information12;
707   l_rec.cty_information13                := p_cty_information13;
708   l_rec.cty_information14                := p_cty_information14;
709   l_rec.cty_information15                := p_cty_information15;
710   l_rec.cty_information16                := p_cty_information16;
711   l_rec.cty_information17                := p_cty_information17;
712   l_rec.cty_information18                := p_cty_information18;
713   l_rec.cty_information19                := p_cty_information19;
714   l_rec.cty_information20                := p_cty_information20;
715   l_rec.cty_information21                := p_cty_information21;
716   l_rec.cty_information22                := p_cty_information22;
717   l_rec.cty_information23                := p_cty_information23;
718   l_rec.cty_information24                := p_cty_information24;
719   l_rec.cty_information25                := p_cty_information25;
720   l_rec.cty_information26                := p_cty_information26;
721   l_rec.cty_information27                := p_cty_information27;
722   l_rec.cty_information28                := p_cty_information28;
723   l_rec.cty_information29                := p_cty_information29;
724   l_rec.cty_information30                      := p_cty_information30;
725   --
726   -- Return the plsql record structure.
727   --
728   hr_utility.set_location(' Leaving:'||l_proc, 10);
729   Return(l_rec);
730 --
731 End convert_args;
732 --
733 end pay_cty_shd;