DBA Data[Home] [Help]

PACKAGE BODY: APPS.PQH_ACC_SHD

Source


1 Package Body pqh_acc_shd as
2 /* $Header: pqaccrhi.pkb 115.4 2004/03/15 23:54:54 svorugan noship $ */
3 --
4 -- ----------------------------------------------------------------------------
5 -- |                     Private Global Definitions                           |
6 -- ----------------------------------------------------------------------------
7 --
8 g_package  varchar2(33) := '  pqh_acc_shd.';  -- Global package name
9 --
10 -- ----------------------------------------------------------------------------
11 -- |---------------------------< constraint_error >---------------------------|
12 -- ----------------------------------------------------------------------------
13 Procedure constraint_error
14   (p_constraint_name in all_constraints.constraint_name%TYPE
15   ) Is
16 --
17   l_proc        varchar2(72) := g_package||'constraint_error';
18 --
19 Begin
20   --
21   If (p_constraint_name = 'PQH_ACCOMMODATIONS_F_PK') Then
22     fnd_message.set_name('PAY', 'HR_6153_ALL_PROCEDURE_FAIL');
23     fnd_message.set_token('PROCEDURE', l_proc);
24     fnd_message.set_token('STEP','5');
25     fnd_message.raise_error;
26   Else
27     fnd_message.set_name('PAY', 'HR_7877_API_INVALID_CONSTRAINT');
28     fnd_message.set_token('PROCEDURE', l_proc);
29     fnd_message.set_token('CONSTRAINT_NAME', p_constraint_name);
30     fnd_message.raise_error;
31   End If;
32   --
33 End constraint_error;
34 --
35 -- ----------------------------------------------------------------------------
36 -- |-----------------------------< api_updating >-----------------------------|
37 -- ----------------------------------------------------------------------------
38 Function api_updating
39   (p_effective_date                   in date
40   ,p_accommodation_id                 in number
41   ,p_object_version_number            in number
42   ) Return Boolean Is
43   --
44   -- Cursor selects the 'current' row from the HR Schema
45   --
46   Cursor C_Sel1 is
47     select
48      accommodation_id
49     ,accommodation_name
50     ,effective_start_date
51     ,effective_end_date
52     ,business_group_id
53     ,location_id
54     ,accommodation_desc
55     ,accommodation_type
56     ,style
57     ,address_line_1
58     ,address_line_2
59     ,address_line_3
60     ,town_or_city
61     ,country
62     ,postal_code
63     ,region_1
64     ,region_2
65     ,region_3
66     ,telephone_number_1
67     ,telephone_number_2
68     ,telephone_number_3
69     ,floor_number
70     ,floor_area
71     ,floor_area_measure_unit
72     ,main_rooms
73     ,family_size
74     ,suitability_disabled
75     ,rental_value
76     ,rental_value_currency
77     ,owner
78     ,comments
79     ,information_category
80     ,information1
81     ,information2
82     ,information3
83     ,information4
84     ,information5
85     ,information6
86     ,information7
87     ,information8
88     ,information9
89     ,information10
90     ,information11
91     ,information12
92     ,information13
93     ,information14
94     ,information15
95     ,information16
96     ,information17
97     ,information18
98     ,information19
99     ,information20
100     ,information21
101     ,information22
102     ,information23
103     ,information24
104     ,information25
105     ,information26
106     ,information27
107     ,information28
108     ,information29
109     ,information30
110     ,attribute_category
111     ,attribute1
112     ,attribute2
113     ,attribute3
114     ,attribute4
115     ,attribute5
116     ,attribute6
117     ,attribute7
118     ,attribute8
119     ,attribute9
120     ,attribute10
121     ,attribute11
122     ,attribute12
123     ,attribute13
124     ,attribute14
125     ,attribute15
126     ,attribute16
127     ,attribute17
128     ,attribute18
129     ,attribute19
130     ,attribute20
131     ,attribute21
132     ,attribute22
133     ,attribute23
134     ,attribute24
135     ,attribute25
136     ,attribute26
137     ,attribute27
138     ,attribute28
139     ,attribute29
140     ,attribute30
141     ,object_version_number
142     from        pqh_accommodations_f
143     where       accommodation_id = p_accommodation_id
144     and         p_effective_date
145     between     effective_start_date and effective_end_date;
146 --
147   l_fct_ret     boolean;
148 --
149 Begin
150   --
151   If (p_effective_date is null or
152       p_accommodation_id is null or
153       p_object_version_number is null) Then
154     --
155     -- One of the primary key arguments is null therefore we must
156     -- set the returning function value to false
157     --
158     l_fct_ret := false;
159   Else
160     If (p_accommodation_id =
161         pqh_acc_shd.g_old_rec.accommodation_id and
162         p_object_version_number =
163         pqh_acc_shd.g_old_rec.object_version_number
164 ) Then
165       --
166       -- The g_old_rec is current therefore we must
167       -- set the returning function to true
168       --
169       l_fct_ret := true;
170     Else
171       --
172       -- Select the current row
173       --
174       Open C_Sel1;
175       Fetch C_Sel1 Into pqh_acc_shd.g_old_rec;
176       If C_Sel1%notfound Then
177         Close C_Sel1;
178         --
179         -- The primary key is invalid therefore we must error
180         --
181         fnd_message.set_name('PAY', 'HR_7220_INVALID_PRIMARY_KEY');
182         fnd_message.raise_error;
183       End If;
184       Close C_Sel1;
185       If (p_object_version_number
186           <> pqh_acc_shd.g_old_rec.object_version_number) Then
187         fnd_message.set_name('PAY', 'HR_7155_OBJECT_INVALID');
188         fnd_message.raise_error;
189       End If;
190       l_fct_ret := true;
191     End If;
192   End If;
193   Return (l_fct_ret);
194 --
195 End api_updating;
196 --
197 -- ----------------------------------------------------------------------------
198 -- |---------------------------< find_dt_upd_modes >--------------------------|
199 -- ----------------------------------------------------------------------------
200 Procedure find_dt_upd_modes
201   (p_effective_date         in date
202   ,p_base_key_value         in number
203   ,p_correction             out nocopy boolean
204   ,p_update                 out nocopy boolean
205   ,p_update_override        out nocopy boolean
206   ,p_update_change_insert   out nocopy boolean
207   ) is
208 --
209   l_proc        varchar2(72) := g_package||'find_dt_upd_modes';
210 --
211 Begin
212   hr_utility.set_location('Entering:'||l_proc, 5);
213   --
214   -- Call the corresponding datetrack api
215   --
216   dt_api.find_dt_upd_modes
217     (p_effective_date        => p_effective_date
218     ,p_base_table_name       => 'pqh_accommodations_f'
219     ,p_base_key_column       => 'accommodation_id'
220     ,p_base_key_value        => p_base_key_value
221     ,p_correction            => p_correction
222     ,p_update                => p_update
223     ,p_update_override       => p_update_override
224     ,p_update_change_insert  => p_update_change_insert
225     );
226   --
227   hr_utility.set_location(' Leaving:'||l_proc, 10);
228 End find_dt_upd_modes;
229 --
230 -- ----------------------------------------------------------------------------
231 -- |---------------------------< find_dt_del_modes >--------------------------|
232 -- ----------------------------------------------------------------------------
233 Procedure find_dt_del_modes
234   (p_effective_date        in date
235   ,p_base_key_value        in number
236   ,p_zap                   out nocopy boolean
237   ,p_delete                out nocopy boolean
238   ,p_future_change         out nocopy boolean
239   ,p_delete_next_change    out nocopy boolean
240   ) is
241   --
242   l_proc                varchar2(72)    := g_package||'find_dt_del_modes';
243   --
244   --
245 Begin
246   hr_utility.set_location('Entering:'||l_proc, 5);
247   --
248   -- Call the corresponding datetrack api
249   --
250   dt_api.find_dt_del_modes
251    (p_effective_date                => p_effective_date
252    ,p_base_table_name               => 'pqh_accommodations_f'
253    ,p_base_key_column               => 'accommodation_id'
254    ,p_base_key_value                => p_base_key_value
255    ,p_zap                           => p_zap
256    ,p_delete                        => p_delete
257    ,p_future_change                 => p_future_change
258    ,p_delete_next_change            => p_delete_next_change
259    );
260   --
261   hr_utility.set_location(' Leaving:'||l_proc, 10);
262 End find_dt_del_modes;
263 --
264 -- ----------------------------------------------------------------------------
265 -- |-----------------------< upd_effective_end_date >-------------------------|
266 -- ----------------------------------------------------------------------------
267 Procedure upd_effective_end_date
268   (p_effective_date                   in date
269   ,p_base_key_value                   in number
270   ,p_new_effective_end_date           in date
271   ,p_validation_start_date            in date
272   ,p_validation_end_date              in date
273   ,p_object_version_number  out nocopy number
274   ) is
275 --
276   l_proc                  varchar2(72) := g_package||'upd_effective_end_date';
277   l_object_version_number number;
278 --
279 Begin
280   hr_utility.set_location('Entering:'||l_proc, 5);
281   --
282   -- Because we are updating a row we must get the next object
283   -- version number.
284   --
285   l_object_version_number :=
286     dt_api.get_object_version_number
287       (p_base_table_name    => 'pqh_accommodations_f'
288       ,p_base_key_column    => 'accommodation_id'
289       ,p_base_key_value     => p_base_key_value
290       );
291   --
292   hr_utility.set_location(l_proc, 10);
293   --
294 --
295   -- Update the specified datetrack row setting the effective
296   -- end date to the specified new effective end date.
297   --
298   update  pqh_accommodations_f t
299   set     t.effective_end_date    = p_new_effective_end_date
300     ,     t.object_version_number = l_object_version_number
301   where   t.accommodation_id        = p_base_key_value
302   and     p_effective_date
303   between t.effective_start_date and t.effective_end_date;
304   --
305   --
306   p_object_version_number := l_object_version_number;
307   hr_utility.set_location(' Leaving:'||l_proc, 15);
308 --
309 End upd_effective_end_date;
310 --
311 -- ----------------------------------------------------------------------------
312 -- |---------------------------------< lck >----------------------------------|
313 -- ----------------------------------------------------------------------------
314 Procedure lck
315   (p_effective_date                   in date
316   ,p_datetrack_mode                   in varchar2
317   ,p_accommodation_id                 in number
318   ,p_object_version_number            in number
319   ,p_validation_start_date            out nocopy date
320   ,p_validation_end_date              out nocopy date
321   ) is
322 --
323   l_proc                  varchar2(72) := g_package||'lck';
324   l_validation_start_date date;
325   l_validation_end_date   date;
326   l_argument              varchar2(30);
327   --
328   -- Cursor C_Sel1 selects the current locked row as of session date
329   -- ensuring that the object version numbers match.
330   --
331   Cursor C_Sel1 is
332     select
333      accommodation_id
334     ,accommodation_name
335     ,effective_start_date
336     ,effective_end_date
337     ,business_group_id
338     ,location_id
339     ,accommodation_desc
340     ,accommodation_type
341     ,style
342     ,address_line_1
343     ,address_line_2
344     ,address_line_3
345     ,town_or_city
346     ,country
347     ,postal_code
348     ,region_1
349     ,region_2
350     ,region_3
351     ,telephone_number_1
352     ,telephone_number_2
353     ,telephone_number_3
354     ,floor_number
355     ,floor_area
356     ,floor_area_measure_unit
357     ,main_rooms
358     ,family_size
359     ,suitability_disabled
360     ,rental_value
361     ,rental_value_currency
362     ,owner
363     ,comments
364     ,information_category
365     ,information1
366     ,information2
367     ,information3
368     ,information4
369     ,information5
370     ,information6
371     ,information7
372     ,information8
373     ,information9
374     ,information10
375     ,information11
376     ,information12
377     ,information13
378     ,information14
379     ,information15
380     ,information16
381     ,information17
382     ,information18
383     ,information19
384     ,information20
385     ,information21
386     ,information22
387     ,information23
388     ,information24
389     ,information25
390     ,information26
391     ,information27
392     ,information28
393     ,information29
394     ,information30
395     ,attribute_category
396     ,attribute1
397     ,attribute2
398     ,attribute3
399     ,attribute4
400     ,attribute5
401     ,attribute6
402     ,attribute7
403     ,attribute8
404     ,attribute9
405     ,attribute10
406     ,attribute11
407     ,attribute12
408     ,attribute13
409     ,attribute14
410     ,attribute15
411     ,attribute16
412     ,attribute17
413     ,attribute18
414     ,attribute19
415     ,attribute20
416     ,attribute21
417     ,attribute22
418     ,attribute23
419     ,attribute24
420     ,attribute25
421     ,attribute26
422     ,attribute27
423     ,attribute28
424     ,attribute29
425     ,attribute30
426     ,object_version_number
427     from    pqh_accommodations_f
428     where   accommodation_id = p_accommodation_id
429     and     p_effective_date
430     between effective_start_date and effective_end_date
431     for update nowait;
432   --
433   --
434   --
435 Begin
436   hr_utility.set_location('Entering:'||l_proc, 5);
437   --
438   -- Ensure that all the mandatory arguments are not null
439   --
440   hr_api.mandatory_arg_error(p_api_name       => l_proc
441                             ,p_argument       => 'effective_date'
442                             ,p_argument_value => p_effective_date
443                             );
444   --
445   hr_api.mandatory_arg_error(p_api_name       => l_proc
446                             ,p_argument       => 'datetrack_mode'
447                             ,p_argument_value => p_datetrack_mode
448                             );
449   --
450   hr_api.mandatory_arg_error(p_api_name       => l_proc
451                             ,p_argument       => 'accommodation_id'
452                             ,p_argument_value => p_accommodation_id
453                             );
454   --
455     hr_api.mandatory_arg_error(p_api_name       => l_proc
456                             ,p_argument       => 'object_version_number'
457                             ,p_argument_value => p_object_version_number
458                             );
459   --
460   -- Check to ensure the datetrack mode is not INSERT.
461   --
462   If (p_datetrack_mode <> hr_api.g_insert) then
463     --
464     -- We must select and lock the current row.
465     --
469       Close C_Sel1;
466     Open  C_Sel1;
467     Fetch C_Sel1 Into pqh_acc_shd.g_old_rec;
468     If C_Sel1%notfound then
470       --
471       -- The primary key is invalid therefore we must error
472       --
473       fnd_message.set_name('PAY', 'HR_7220_INVALID_PRIMARY_KEY');
474       fnd_message.raise_error;
475     End If;
476     Close C_Sel1;
477     If (p_object_version_number
478           <> pqh_acc_shd.g_old_rec.object_version_number) Then
479         fnd_message.set_name('PAY', 'HR_7155_OBJECT_INVALID');
480         fnd_message.raise_error;
481     End If;
482     --
483     --
484     -- Validate the datetrack mode mode getting the validation start
485     -- and end dates for the specified datetrack operation.
486     --
487     dt_api.validate_dt_mode
488       (p_effective_date          => p_effective_date
489       ,p_datetrack_mode          => p_datetrack_mode
490       ,p_base_table_name         => 'pqh_accommodations_f'
491       ,p_base_key_column         => 'accommodation_id'
492       ,p_base_key_value          => p_accommodation_id
493       ,p_child_table_name1       => 'pqh_assign_accommodations_f'
494       ,p_child_key_column1       => 'assignment_acco_id'
495       ,p_child_alt_base_key_column1       => 'accommodation_id'
496       ,p_enforce_foreign_locking => true
497       ,p_validation_start_date   => l_validation_start_date
498       ,p_validation_end_date     => l_validation_end_date
499       );
500   Else
501     --
502     -- We are doing a datetrack 'INSERT' which is illegal within this
503     -- procedure therefore we must error (note: to lck on insert the
504     -- private procedure ins_lck should be called).
505     --
506     fnd_message.set_name('PAY', 'HR_6153_ALL_PROCEDURE_FAIL');
507     fnd_message.set_token('PROCEDURE', l_proc);
508     fnd_message.set_token('STEP','20');
509     fnd_message.raise_error;
510   End If;
511   --
512   -- Set the validation start and end date OUT arguments
513   --
514   p_validation_start_date := l_validation_start_date;
515   p_validation_end_date   := l_validation_end_date;
516   --
517   hr_utility.set_location(' Leaving:'||l_proc, 30);
518 --
519 -- We need to trap the ORA LOCK exception
520 --
521 Exception
522   When HR_Api.Object_Locked then
523     --
524     -- The object is locked therefore we need to supply a meaningful
525     -- error message.
526     --
527     fnd_message.set_name('PAY', 'HR_7165_OBJECT_LOCKED');
528     fnd_message.set_token('TABLE_NAME', 'pqh_accommodations_f');
529     fnd_message.raise_error;
530 End lck;
531 --
532 -- ----------------------------------------------------------------------------
533 -- |-----------------------------< convert_args >-----------------------------|
534 -- ----------------------------------------------------------------------------
535 Function convert_args
536   (p_accommodation_id               in number
537   ,p_accommodation_name             in varchar2
538   ,p_effective_start_date           in date
539   ,p_effective_end_date             in date
540   ,p_business_group_id              in number
541   ,p_location_id                    in number
542   ,p_accommodation_desc             in varchar2
543   ,p_accommodation_type             in varchar2
544   ,p_style                          in varchar2
545   ,p_address_line_1                 in varchar2
546   ,p_address_line_2                 in varchar2
547   ,p_address_line_3                 in varchar2
548   ,p_town_or_city                   in varchar2
549   ,p_country                        in varchar2
550   ,p_postal_code                    in varchar2
551   ,p_region_1                       in varchar2
552   ,p_region_2                       in varchar2
553   ,p_region_3                       in varchar2
554   ,p_telephone_number_1             in varchar2
555   ,p_telephone_number_2             in varchar2
556   ,p_telephone_number_3             in varchar2
557   ,p_floor_number                   in varchar2
558   ,p_floor_area                     in number
559   ,p_floor_area_measure_unit        in varchar2
560   ,p_main_rooms                     in number
561   ,p_family_size                    in number
562   ,p_suitability_disabled           in varchar2
563   ,p_rental_value                   in number
564   ,p_rental_value_currency          in varchar2
565   ,p_owner                          in varchar2
566   ,p_comments                       in varchar2
567   ,p_information_category           in varchar2
568   ,p_information1                   in varchar2
569   ,p_information2                   in varchar2
570   ,p_information3                   in varchar2
571   ,p_information4                   in varchar2
572   ,p_information5                   in varchar2
573   ,p_information6                   in varchar2
574   ,p_information7                   in varchar2
575   ,p_information8                   in varchar2
576   ,p_information9                   in varchar2
577   ,p_information10                  in varchar2
578   ,p_information11                  in varchar2
579   ,p_information12                  in varchar2
580   ,p_information13                  in varchar2
581   ,p_information14                  in varchar2
582   ,p_information15                  in varchar2
583   ,p_information16                  in varchar2
584   ,p_information17                  in varchar2
588   ,p_information21                  in varchar2
585   ,p_information18                  in varchar2
586   ,p_information19                  in varchar2
587   ,p_information20                  in varchar2
589   ,p_information22                  in varchar2
590   ,p_information23                  in varchar2
591   ,p_information24                  in varchar2
592   ,p_information25                  in varchar2
593   ,p_information26                  in varchar2
594   ,p_information27                  in varchar2
595   ,p_information28                  in varchar2
596   ,p_information29                  in varchar2
597   ,p_information30                  in varchar2
598   ,p_attribute_category             in varchar2
599   ,p_attribute1                     in varchar2
600   ,p_attribute2                     in varchar2
601   ,p_attribute3                     in varchar2
602   ,p_attribute4                     in varchar2
603   ,p_attribute5                     in varchar2
604   ,p_attribute6                     in varchar2
605   ,p_attribute7                     in varchar2
606   ,p_attribute8                     in varchar2
607   ,p_attribute9                     in varchar2
608   ,p_attribute10                    in varchar2
609   ,p_attribute11                    in varchar2
610   ,p_attribute12                    in varchar2
611   ,p_attribute13                    in varchar2
612   ,p_attribute14                    in varchar2
613   ,p_attribute15                    in varchar2
614   ,p_attribute16                    in varchar2
615   ,p_attribute17                    in varchar2
616   ,p_attribute18                    in varchar2
617   ,p_attribute19                    in varchar2
618   ,p_attribute20                    in varchar2
619   ,p_attribute21                    in varchar2
620   ,p_attribute22                    in varchar2
621   ,p_attribute23                    in varchar2
622   ,p_attribute24                    in varchar2
623   ,p_attribute25                    in varchar2
624   ,p_attribute26                    in varchar2
625   ,p_attribute27                    in varchar2
626   ,p_attribute28                    in varchar2
627   ,p_attribute29                    in varchar2
628   ,p_attribute30                    in varchar2
629   ,p_object_version_number          in number
630   )
631   Return g_rec_type is
632 --
633   l_rec   g_rec_type;
634 --
635 Begin
636   --
637   -- Convert arguments into local l_rec structure.
638   --
639   l_rec.accommodation_id                 := p_accommodation_id;
640   l_rec.accommodation_name               := p_accommodation_name;
641   l_rec.effective_start_date             := p_effective_start_date;
642   l_rec.effective_end_date               := p_effective_end_date;
643   l_rec.business_group_id                := p_business_group_id;
644   l_rec.location_id                      := p_location_id;
645   l_rec.accommodation_desc               := p_accommodation_desc;
646   l_rec.accommodation_type               := p_accommodation_type;
647   l_rec.style                            := p_style;
648   l_rec.address_line_1                   := p_address_line_1;
649   l_rec.address_line_2                   := p_address_line_2;
650   l_rec.address_line_3                   := p_address_line_3;
651   l_rec.town_or_city                     := p_town_or_city;
652   l_rec.country                          := p_country;
653   l_rec.postal_code                      := p_postal_code;
654   l_rec.region_1                         := p_region_1;
655   l_rec.region_2                         := p_region_2;
656   l_rec.region_3                         := p_region_3;
657   l_rec.telephone_number_1               := p_telephone_number_1;
658   l_rec.telephone_number_2               := p_telephone_number_2;
659   l_rec.telephone_number_3               := p_telephone_number_3;
660   l_rec.floor_number                     := p_floor_number;
661   l_rec.floor_area                       := p_floor_area;
662   l_rec.floor_area_measure_unit          := p_floor_area_measure_unit;
663   l_rec.main_rooms                       := p_main_rooms;
664   l_rec.family_size                      := p_family_size;
665   l_rec.suitability_disabled             := p_suitability_disabled;
666   l_rec.rental_value                     := p_rental_value;
667   l_rec.rental_value_currency            := p_rental_value_currency;
668   l_rec.owner                            := p_owner;
669   l_rec.comments                         := p_comments;
670   l_rec.information_category             := p_information_category;
671   l_rec.information1                     := p_information1;
672   l_rec.information2                     := p_information2;
673   l_rec.information3                     := p_information3;
674   l_rec.information4                     := p_information4;
675   l_rec.information5                     := p_information5;
676   l_rec.information6                     := p_information6;
677   l_rec.information7                     := p_information7;
678   l_rec.information8                     := p_information8;
679   l_rec.information9                     := p_information9;
680   l_rec.information10                    := p_information10;
681   l_rec.information11                    := p_information11;
682   l_rec.information12                    := p_information12;
683   l_rec.information13                    := p_information13;
684   l_rec.information14                    := p_information14;
685   l_rec.information15                    := p_information15;
686   l_rec.information16                    := p_information16;
687   l_rec.information17                    := p_information17;
688   l_rec.information18                    := p_information18;
689   l_rec.information19                    := p_information19;
690   l_rec.information20                    := p_information20;
691   l_rec.information21                    := p_information21;
692   l_rec.information22                    := p_information22;
693   l_rec.information23                    := p_information23;
694   l_rec.information24                    := p_information24;
695   l_rec.information25                    := p_information25;
696   l_rec.information26                    := p_information26;
697   l_rec.information27                    := p_information27;
698   l_rec.information28                    := p_information28;
699   l_rec.information29                    := p_information29;
700   l_rec.information30                    := p_information30;
701   l_rec.attribute_category               := p_attribute_category;
702   l_rec.attribute1                       := p_attribute1;
703   l_rec.attribute2                       := p_attribute2;
704   l_rec.attribute3                       := p_attribute3;
705   l_rec.attribute4                       := p_attribute4;
706   l_rec.attribute5                       := p_attribute5;
707   l_rec.attribute6                       := p_attribute6;
708   l_rec.attribute7                       := p_attribute7;
709   l_rec.attribute8                       := p_attribute8;
710   l_rec.attribute9                       := p_attribute9;
711   l_rec.attribute10                      := p_attribute10;
712   l_rec.attribute11                      := p_attribute11;
713   l_rec.attribute12                      := p_attribute12;
714   l_rec.attribute13                      := p_attribute13;
715   l_rec.attribute14                      := p_attribute14;
716   l_rec.attribute15                      := p_attribute15;
717   l_rec.attribute16                      := p_attribute16;
718   l_rec.attribute17                      := p_attribute17;
719   l_rec.attribute18                      := p_attribute18;
720   l_rec.attribute19                      := p_attribute19;
721   l_rec.attribute20                      := p_attribute20;
722   l_rec.attribute21                      := p_attribute21;
723   l_rec.attribute22                      := p_attribute22;
724   l_rec.attribute23                      := p_attribute23;
725   l_rec.attribute24                      := p_attribute24;
726   l_rec.attribute25                      := p_attribute25;
727   l_rec.attribute26                      := p_attribute26;
728   l_rec.attribute27                      := p_attribute27;
729   l_rec.attribute28                      := p_attribute28;
730   l_rec.attribute29                      := p_attribute29;
731   l_rec.attribute30                      := p_attribute30;
732   l_rec.object_version_number            := p_object_version_number;
733   --
734   -- Return the plsql record structure.
735   --
736   Return(l_rec);
737 --
738 End convert_args;
739 --
740 end pqh_acc_shd;