DBA Data[Home] [Help]

PACKAGE BODY: APPS.PQP_AAT_SHD

Source


1 Package Body pqp_aat_shd as
2 /* $Header: pqaatrhi.pkb 120.2.12010000.3 2009/07/01 10:58:37 dchindar ship $ */
3 --
4 -- ---------------------------------------------------------------------------+
5 -- |                     Private Global Definitions                           |
6 -- ---------------------------------------------------------------------------+
7 --
8 g_package  varchar2(33) := '  pqp_aat_shd.';  -- Global package name
9 --
10 -- ---------------------------------------------------------------------------+
11 -- |------------------------< return_api_dml_status >-------------------------|
12 -- ---------------------------------------------------------------------------+
13 Function return_api_dml_status Return Boolean Is
14 --
15 Begin
16   --
17   Return (nvl(g_api_dml, false));
18   --
19 End return_api_dml_status;
20 --
21 -- ---------------------------------------------------------------------------+
25   (p_constraint_name in all_constraints.constraint_name%TYPE
22 -- |---------------------------< constraint_error >---------------------------|
23 -- ---------------------------------------------------------------------------+
24 Procedure constraint_error
26   ) Is
27 --
28   l_proc        varchar2(72) := g_package||'constraint_error';
29 --
30 Begin
31   --
32   If (p_constraint_name = 'PQP_ASSIGNMENT_ATTRIBUTES_F_PK') Then
33     fnd_message.set_name('PAY', 'HR_6153_ALL_PROCEDURE_FAIL');
34     fnd_message.set_token('PROCEDURE', l_proc);
35     fnd_message.set_token('STEP','5');
36     fnd_message.raise_error;
37   Elsif (p_constraint_name = 'PQP_INVALID_JOB_STATUS') Then
38     fnd_message.set_name('PQP', 'PQP_230561_JOB_STATUS_INVALID');
39     fnd_message.raise_error;
40   Else
41     fnd_message.set_name('PAY', 'HR_7877_API_INVALID_CONSTRAINT');
42     fnd_message.set_token('PROCEDURE', l_proc);
43     fnd_message.set_token('CONSTRAINT_NAME', p_constraint_name);
44     fnd_message.raise_error;
45   End If;
46   --
47 End constraint_error;
48 --
49 -- ---------------------------------------------------------------------------+
50 -- |-----------------------------< api_updating >-----------------------------|
51 -- ---------------------------------------------------------------------------+
52 Function api_updating
53   (p_effective_date                   in date
54   ,p_assignment_attribute_id          in number
55   ,p_object_version_number            in number
56   ) Return Boolean Is
57   --
58   -- Cursor selects the 'current' row from the HR Schema
59   --
60   Cursor C_Sel1 is
61     select
62      assignment_attribute_id
63     ,effective_start_date
64     ,effective_end_date
65     ,business_group_id
66     ,assignment_id
67     ,contract_type
68     ,work_pattern
69     ,start_day
70     ,object_version_number
71     ,primary_company_car
72     ,primary_car_fuel_benefit
73     ,primary_class_1a
74     ,primary_capital_contribution
75     ,primary_private_contribution
76     ,secondary_company_car
77     ,secondary_car_fuel_benefit
78     ,secondary_class_1a
79     ,secondary_capital_contribution
80     ,secondary_private_contribution
81     ,company_car_calc_method
82     ,company_car_rates_table_id
83     ,company_car_secondary_table_id
84     ,private_car
85     ,private_car_calc_method
86     ,private_car_rates_table_id
87     ,private_car_essential_table_id
88     ,tp_is_teacher
89     ,tp_headteacher_grp_code --added for head Teacher seconded location for salary scale calculation
90     ,tp_safeguarded_grade
91     ,tp_safeguarded_grade_id
92     ,tp_safeguarded_rate_type
93     ,tp_safeguarded_rate_id
94     ,tp_safeguarded_spinal_point_id
95     ,tp_elected_pension
96     ,tp_fast_track
97     ,aat_attribute_category
98     ,aat_attribute1
99     ,aat_attribute2
100     ,aat_attribute3
101     ,aat_attribute4
102     ,aat_attribute5
103     ,aat_attribute6
104     ,aat_attribute7
105     ,aat_attribute8
106     ,aat_attribute9
107     ,aat_attribute10
108     ,aat_attribute11
109     ,aat_attribute12
110     ,aat_attribute13
111     ,aat_attribute14
112     ,aat_attribute15
113     ,aat_attribute16
114     ,aat_attribute17
115     ,aat_attribute18
116     ,aat_attribute19
117     ,aat_attribute20
118     ,aat_information_category
119     ,aat_information1
120     ,aat_information2
121     ,aat_information3
122     ,aat_information4
123     ,aat_information5
124     ,aat_information6
125     ,aat_information7
126     ,aat_information8
127     ,aat_information9
128     ,aat_information10
129     ,aat_information11
130     ,aat_information12
131     ,aat_information13
132     ,aat_information14
133     ,aat_information15
134     ,aat_information16
135     ,aat_information17
136     ,aat_information18
137     ,aat_information19
138     ,aat_information20
139     ,lgps_process_flag
140     ,lgps_exclusion_type
141     ,lgps_pensionable_pay
142     ,lgps_trans_arrang_flag
143     ,lgps_membership_number
144     from        pqp_assignment_attributes_f
145     where       assignment_attribute_id = p_assignment_attribute_id
146     and         p_effective_date
147     between     effective_start_date and effective_end_date;
148 --
149   l_fct_ret     boolean;
150 --
151 Begin
152   --
153   If (p_effective_date is null or
154       p_assignment_attribute_id is null or
155       p_object_version_number is null) Then
156     --
157     -- One of the primary key arguments is null therefore we must
158     -- set the returning function value to false
159     --
160     l_fct_ret := false;
161   Else
162     If (p_assignment_attribute_id =
163         pqp_aat_shd.g_old_rec.assignment_attribute_id and
164         p_object_version_number =
165         pqp_aat_shd.g_old_rec.object_version_number) Then
166       --
167       -- The g_old_rec is current therefore we must
168       -- set the returning function to true
169       --
170       l_fct_ret := true;
171     Else
172       --
173       -- Select the current row
174       --
175       Open C_Sel1;
176       Fetch C_Sel1 Into pqp_aat_shd.g_old_rec;
177       If C_Sel1%notfound Then
178         Close C_Sel1;
182         fnd_message.set_name('PAY', 'HR_7220_INVALID_PRIMARY_KEY');
179         --
180         -- The primary key is invalid therefore we must error
181         --
183         fnd_message.raise_error;
184       End If;
185       Close C_Sel1;
186       If (p_object_version_number
187           <> pqp_aat_shd.g_old_rec.object_version_number) Then
188         fnd_message.set_name('PAY', 'HR_7155_OBJECT_INVALID');
189         fnd_message.raise_error;
190       End If;
191       l_fct_ret := true;
192     End If;
193   End If;
194   Return (l_fct_ret);
195 --
196 End api_updating;
197 --
198 -- ---------------------------------------------------------------------------+
199 -- |---------------------------< find_dt_upd_modes >--------------------------|
200 -- ---------------------------------------------------------------------------+
201 Procedure find_dt_upd_modes
202   (p_effective_date         in date
203   ,p_base_key_value         in number
204   ,p_correction             out nocopy boolean
205   ,p_update                 out nocopy boolean
206   ,p_update_override        out nocopy boolean
207   ,p_update_change_insert   out nocopy boolean
208   ) is
209 --
210   l_proc        varchar2(72) := g_package||'find_dt_upd_modes';
211 --
212 Begin
213   hr_utility.set_location('Entering:'||l_proc, 5);
214   --
215   -- Call the corresponding datetrack api
216   --
217   dt_api.find_dt_upd_modes
218     (p_effective_date        => p_effective_date
219     ,p_base_table_name       => 'pqp_assignment_attributes_f'
220     ,p_base_key_column       => 'assignment_attribute_id'
221     ,p_base_key_value        => p_base_key_value
222     ,p_correction            => p_correction
223     ,p_update                => p_update
224     ,p_update_override       => p_update_override
225     ,p_update_change_insert  => p_update_change_insert
226     );
227   --
228   hr_utility.set_location(' Leaving:'||l_proc, 10);
229 End find_dt_upd_modes;
230 --
231 -- ---------------------------------------------------------------------------+
232 -- |---------------------------< find_dt_del_modes >--------------------------|
233 -- ---------------------------------------------------------------------------+
234 Procedure find_dt_del_modes
235   (p_effective_date        in date
236   ,p_base_key_value        in number
237   ,p_zap                   out nocopy boolean
238   ,p_delete                out nocopy boolean
239   ,p_future_change         out nocopy boolean
240   ,p_delete_next_change    out nocopy boolean
241   ) is
242   --
243   l_proc                varchar2(72)    := g_package||'find_dt_del_modes';
244   --
245   --
246 Begin
247   hr_utility.set_location('Entering:'||l_proc, 5);
248   --
249   -- Call the corresponding datetrack api
250   --
251   dt_api.find_dt_del_modes
252    (p_effective_date                => p_effective_date
253    ,p_base_table_name               => 'pqp_assignment_attributes_f'
254    ,p_base_key_column               => 'assignment_attribute_id'
255    ,p_base_key_value                => p_base_key_value
256    ,p_zap                           => p_zap
257    ,p_delete                        => p_delete
258    ,p_future_change                 => p_future_change
259    ,p_delete_next_change            => p_delete_next_change
260    );
261   --
262   hr_utility.set_location(' Leaving:'||l_proc, 10);
263 End find_dt_del_modes;
264 --
265 -- ---------------------------------------------------------------------------+
266 -- |-----------------------< upd_effective_end_date >-------------------------|
267 -- ---------------------------------------------------------------------------+
268 Procedure upd_effective_end_date
269   (p_effective_date                   in date
270   ,p_base_key_value                   in number
271   ,p_new_effective_end_date           in date
272   ,p_validation_start_date            in date
273   ,p_validation_end_date              in date
274   ,p_object_version_number  out nocopy number
275   ) is
276 --
277   l_proc                  varchar2(72) := g_package||'upd_effective_end_date';
278   l_object_version_number number;
279 --
280 Begin
281   hr_utility.set_location('Entering:'||l_proc, 5);
282   --
283   -- Because we are updating a row we must get the next object
284   -- version number.
285   --
286   l_object_version_number :=
287     dt_api.get_object_version_number
288       (p_base_table_name    => 'pqp_assignment_attributes_f'
289       ,p_base_key_column    => 'assignment_attribute_id'
290       ,p_base_key_value     => p_base_key_value
291       );
292   --
293   hr_utility.set_location(l_proc, 10);
294   pqp_aat_shd.g_api_dml := true;  -- Set the api dml status
295   --
296   -- Update the specified datetrack row setting the effective
297   -- end date to the specified new effective end date.
298   --
299   update  pqp_assignment_attributes_f t
300   set     t.effective_end_date    = p_new_effective_end_date
301     ,     t.object_version_number = l_object_version_number
302   where   t.assignment_attribute_id        = p_base_key_value
303   and     p_effective_date
304   between t.effective_start_date and t.effective_end_date;
305   --
306   pqp_aat_shd.g_api_dml := false;   -- Unset the api dml status
307   p_object_version_number := l_object_version_number;
308   hr_utility.set_location(' Leaving:'||l_proc, 15);
309 --
310 Exception
311   When Others Then
312     pqp_aat_shd.g_api_dml := false;   -- Unset the api dml status
313     Raise;
314 --
315 End upd_effective_end_date;
316 --
317 -- ---------------------------------------------------------------------------+
321   (p_effective_date                   in date
318 -- |---------------------------------< lck >----------------------------------|
319 -- ---------------------------------------------------------------------------+
320 Procedure lck
322   ,p_datetrack_mode                   in varchar2
323   ,p_assignment_attribute_id          in number
324   ,p_object_version_number            in number
325   ,p_validation_start_date            out nocopy date
326   ,p_validation_end_date              out nocopy date
327   ) is
328 --
329   l_proc                  varchar2(72) := g_package||'lck';
330   l_validation_start_date date;
331   l_validation_end_date   date;
332   l_argument              varchar2(30);
333   --
334   -- Cursor C_Sel1 selects the current locked row as of session date
335   -- ensuring that the object version numbers match.
336   --
337   Cursor C_Sel1 is
338     select
339      assignment_attribute_id
340     ,effective_start_date
341     ,effective_end_date
342     ,business_group_id
343     ,assignment_id
344     ,contract_type
345     ,work_pattern
346     ,start_day
347     ,object_version_number
348     ,primary_company_car
349     ,primary_car_fuel_benefit
350     ,primary_class_1a
351     ,primary_capital_contribution
352     ,primary_private_contribution
353     ,secondary_company_car
354     ,secondary_car_fuel_benefit
355     ,secondary_class_1a
356     ,secondary_capital_contribution
357     ,secondary_private_contribution
358     ,company_car_calc_method
359     ,company_car_rates_table_id
360     ,company_car_secondary_table_id
361     ,private_car
362     ,private_car_calc_method
363     ,private_car_rates_table_id
364     ,private_car_essential_table_id
365     ,tp_is_teacher
366     ,tp_headteacher_grp_code --added for head Teacher seconded location for salary scale calculation
367     ,tp_safeguarded_grade
368     ,tp_safeguarded_grade_id
369     ,tp_safeguarded_rate_type
370     ,tp_safeguarded_rate_id
371     ,tp_safeguarded_spinal_point_id
372     ,tp_elected_pension
373     ,tp_fast_track
374     ,aat_attribute_category
375     ,aat_attribute1
376     ,aat_attribute2
377     ,aat_attribute3
378     ,aat_attribute4
379     ,aat_attribute5
380     ,aat_attribute6
381     ,aat_attribute7
382     ,aat_attribute8
383     ,aat_attribute9
384     ,aat_attribute10
385     ,aat_attribute11
386     ,aat_attribute12
387     ,aat_attribute13
388     ,aat_attribute14
389     ,aat_attribute15
390     ,aat_attribute16
391     ,aat_attribute17
392     ,aat_attribute18
393     ,aat_attribute19
394     ,aat_attribute20
395     ,aat_information_category
396     ,aat_information1
397     ,aat_information2
398     ,aat_information3
399     ,aat_information4
400     ,aat_information5
401     ,aat_information6
402     ,aat_information7
403     ,aat_information8
404     ,aat_information9
405     ,aat_information10
406     ,aat_information11
407     ,aat_information12
408     ,aat_information13
409     ,aat_information14
410     ,aat_information15
411     ,aat_information16
412     ,aat_information17
413     ,aat_information18
414     ,aat_information19
415     ,aat_information20
416     ,lgps_process_flag
417     ,lgps_exclusion_type
418     ,lgps_pensionable_pay
419     ,lgps_trans_arrang_flag
420     ,lgps_membership_number
421     from    pqp_assignment_attributes_f
422     where   assignment_attribute_id = p_assignment_attribute_id
423     and     p_effective_date
424     between effective_start_date and effective_end_date
425     for update nowait;
426   --
427   --
428   --
429 Begin
430   hr_utility.set_location('Entering:'||l_proc, 5);
431   --
432   -- Ensure that all the mandatory arguments are not null
433   --
434   hr_api.mandatory_arg_error(p_api_name       => l_proc
435                             ,p_argument       => 'effective_date'
436                             ,p_argument_value => p_effective_date
437                             );
438   --
439   hr_api.mandatory_arg_error(p_api_name       => l_proc
440                             ,p_argument       => 'datetrack_mode'
441                             ,p_argument_value => p_datetrack_mode
442                             );
443   --
444   hr_api.mandatory_arg_error(p_api_name       => l_proc
445                             ,p_argument       => 'assignment_attribute_id'
446                             ,p_argument_value => p_assignment_attribute_id
447                             );
448   --
449   hr_api.mandatory_arg_error(p_api_name       => l_proc
450                             ,p_argument       => 'object_version_number'
451                             ,p_argument_value => p_object_version_number
452                             );
453   --
454   -- Check to ensure the datetrack mode is not INSERT.
455   --
456   If (p_datetrack_mode <> hr_api.g_insert) then
457     --
458     -- We must select and lock the current row.
459     --
460     Open  C_Sel1;
461     Fetch C_Sel1 Into pqp_aat_shd.g_old_rec;
462     If C_Sel1%notfound then
463       Close C_Sel1;
464       --
465       -- The primary key is invalid therefore we must error
466       --
467       fnd_message.set_name('PAY', 'HR_7220_INVALID_PRIMARY_KEY');
468       fnd_message.raise_error;
469     End If;
470     Close C_Sel1;
471     If (p_object_version_number
472           <> pqp_aat_shd.g_old_rec.object_version_number) Then
476     --
473         fnd_message.set_name('PAY', 'HR_7155_OBJECT_INVALID');
474         fnd_message.raise_error;
475     End If;
477     --
478     -- Validate the datetrack mode mode getting the validation start
479     -- and end dates for the specified datetrack operation.
480     --
481     dt_api.validate_dt_mode
482       (p_effective_date          => p_effective_date
483       ,p_datetrack_mode          => p_datetrack_mode
484       ,p_base_table_name         => 'pqp_assignment_attributes_f'
485       ,p_base_key_column         => 'assignment_attribute_id'
486       ,p_base_key_value          => p_assignment_attribute_id
487       ,p_enforce_foreign_locking => true
488       ,p_validation_start_date   => l_validation_start_date
489       ,p_validation_end_date     => l_validation_end_date
490       );
491   Else
492     --
493     -- We are doing a datetrack 'INSERT' which is illegal within this
494     -- procedure therefore we must error (note: to lck on insert the
495     -- private procedure ins_lck should be called).
496     --
497     fnd_message.set_name('PAY', 'HR_6153_ALL_PROCEDURE_FAIL');
498     fnd_message.set_token('PROCEDURE', l_proc);
499     fnd_message.set_token('STEP','20');
500     fnd_message.raise_error;
501   End If;
502   --
503   -- Set the validation start and end date OUT arguments
504   --
505   p_validation_start_date := l_validation_start_date;
506   p_validation_end_date   := l_validation_end_date;
507   --
508   hr_utility.set_location(' Leaving:'||l_proc, 30);
509 --
510 -- We need to trap the ORA LOCK exception
511 --
512 Exception
513   When HR_Api.Object_Locked then
514     --
515     -- The object is locked therefore we need to supply a meaningful
516     -- error message.
517     --
518     fnd_message.set_name('PAY', 'HR_7165_OBJECT_LOCKED');
519     fnd_message.set_token('TABLE_NAME', 'pqp_assignment_attributes_f');
520     fnd_message.raise_error;
521 End lck;
522 --
523 -- ---------------------------------------------------------------------------+
524 -- |-----------------------------< convert_args >-----------------------------|
525 -- ---------------------------------------------------------------------------+
526 Function convert_args
527   (p_assignment_attribute_id        in number
528   ,p_effective_start_date           in date
529   ,p_effective_end_date             in date
530   ,p_business_group_id              in number
531   ,p_assignment_id                  in number
532   ,p_contract_type                  in varchar2
533   ,p_work_pattern                   in varchar2
534   ,p_start_day                      in varchar2
535   ,p_object_version_number          in number
536   ,p_primary_company_car            in number
537   ,p_primary_car_fuel_benefit       in varchar2
538   ,p_primary_class_1a               in varchar2
539   ,p_primary_capital_contribution   in number
540   ,p_primary_private_contribution   in number
541   ,p_secondary_company_car          in number
542   ,p_secondary_car_fuel_benefit     in varchar2
543   ,p_secondary_class_1a             in varchar2
544   ,p_secondary_capital_contributi   in number
545   ,p_secondary_private_contributi   in number
546   ,p_company_car_calc_method        in varchar2
547   ,p_company_car_rates_table_id     in number
548   ,p_company_car_secondary_table    in number
549   ,p_private_car                    in number
550   ,p_private_car_calc_method        in varchar2
551   ,p_private_car_rates_table_id     in number
552   ,p_private_car_essential_table    in number
553   ,p_tp_is_teacher                  in varchar2
554   ,p_tp_headteacher_grp_code        in number  --added for head Teacher seconded location for salary scale calculation
555   ,p_tp_safeguarded_grade           in varchar2
556   ,p_tp_safeguarded_grade_id        in number
557   ,p_tp_safeguarded_rate_type       in varchar2
558   ,p_tp_safeguarded_rate_id         in number
559   ,p_tp_spinal_point_id             in number
560   ,p_tp_elected_pension             in varchar2
561   ,p_tp_fast_track                  in varchar2
562   ,p_aat_attribute_category         in varchar2
563   ,p_aat_attribute1                 in varchar2
564   ,p_aat_attribute2                 in varchar2
565   ,p_aat_attribute3                 in varchar2
566   ,p_aat_attribute4                 in varchar2
567   ,p_aat_attribute5                 in varchar2
568   ,p_aat_attribute6                 in varchar2
569   ,p_aat_attribute7                 in varchar2
570   ,p_aat_attribute8                 in varchar2
571   ,p_aat_attribute9                 in varchar2
572   ,p_aat_attribute10                in varchar2
573   ,p_aat_attribute11                in varchar2
574   ,p_aat_attribute12                in varchar2
575   ,p_aat_attribute13                in varchar2
576   ,p_aat_attribute14                in varchar2
577   ,p_aat_attribute15                in varchar2
578   ,p_aat_attribute16                in varchar2
579   ,p_aat_attribute17                in varchar2
580   ,p_aat_attribute18                in varchar2
581   ,p_aat_attribute19                in varchar2
582   ,p_aat_attribute20                in varchar2
583   ,p_aat_information_category       in varchar2
584   ,p_aat_information1               in varchar2
585   ,p_aat_information2               in varchar2
586   ,p_aat_information3               in varchar2
587   ,p_aat_information4               in varchar2
588   ,p_aat_information5               in varchar2
589   ,p_aat_information6               in varchar2
590   ,p_aat_information7               in varchar2
591   ,p_aat_information8               in varchar2
592   ,p_aat_information9               in varchar2
593   ,p_aat_information10              in varchar2
594   ,p_aat_information11              in varchar2
598   ,p_aat_information15              in varchar2
595   ,p_aat_information12              in varchar2
596   ,p_aat_information13              in varchar2
597   ,p_aat_information14              in varchar2
599   ,p_aat_information16              in varchar2
600   ,p_aat_information17              in varchar2
601   ,p_aat_information18              in varchar2
602   ,p_aat_information19              in varchar2
603   ,p_aat_information20              in varchar2
604   ,p_lgps_process_flag              in varchar2
605   ,p_lgps_exclusion_type            in varchar2
606   ,p_lgps_pensionable_pay           in varchar2
607   ,p_lgps_trans_arrang_flag         in varchar2
608   ,p_lgps_membership_number         in varchar2
609   )
610   Return g_rec_type is
611 --
612   l_rec   g_rec_type;
613 --
614 Begin
615   --
616   -- Convert arguments into local l_rec structure.
617   --
618   l_rec.assignment_attribute_id          := p_assignment_attribute_id;
619   l_rec.effective_start_date             := p_effective_start_date;
620   l_rec.effective_end_date               := p_effective_end_date;
621   l_rec.business_group_id                := p_business_group_id;
622   l_rec.assignment_id                    := p_assignment_id;
623   l_rec.contract_type                    := p_contract_type;
624   l_rec.work_pattern                     := p_work_pattern;
625   l_rec.start_day                        := p_start_day;
626   l_rec.object_version_number            := p_object_version_number;
627   l_rec.primary_company_car              := p_primary_company_car;
628   l_rec.primary_car_fuel_benefit         := p_primary_car_fuel_benefit;
629   l_rec.primary_class_1a                 := p_primary_class_1a;
630   l_rec.primary_capital_contribution     := p_primary_capital_contribution;
631   l_rec.primary_private_contribution     := p_primary_private_contribution;
632   l_rec.secondary_company_car            := p_secondary_company_car;
633   l_rec.secondary_car_fuel_benefit       := p_secondary_car_fuel_benefit;
634   l_rec.secondary_class_1a               := p_secondary_class_1a;
635   l_rec.secondary_capital_contribution   := p_secondary_capital_contributi;
636   l_rec.secondary_private_contribution   := p_secondary_private_contributi;
637   l_rec.company_car_calc_method          := p_company_car_calc_method;
638   l_rec.company_car_rates_table_id       := p_company_car_rates_table_id;
639   l_rec.company_car_secondary_table_id   := p_company_car_secondary_table;
640   l_rec.private_car                      := p_private_car;
641   l_rec.private_car_calc_method          := p_private_car_calc_method;
642   l_rec.private_car_rates_table_id       := p_private_car_rates_table_id;
643   l_rec.private_car_essential_table_id   := p_private_car_essential_table;
644   l_rec.tp_is_teacher                    := p_tp_is_teacher;
645   l_rec.tp_headteacher_grp_code          := p_tp_headteacher_grp_code; --added for head Teacher seconded location for salary scale calculation
646   l_rec.tp_safeguarded_grade             := p_tp_safeguarded_grade;
647   l_rec.tp_safeguarded_grade_id          := p_tp_safeguarded_grade_id;
648   l_rec.tp_safeguarded_rate_type         := p_tp_safeguarded_rate_type;
649   l_rec.tp_safeguarded_rate_id           := p_tp_safeguarded_rate_id;
650   l_rec.tp_safeguarded_spinal_point_id   := p_tp_spinal_point_id;
651   l_rec.tp_elected_pension               := p_tp_elected_pension;
652   l_rec.tp_fast_track                    := p_tp_fast_track;
653   l_rec.aat_attribute_category           := p_aat_attribute_category;
654   l_rec.aat_attribute1                   := p_aat_attribute1;
655   l_rec.aat_attribute2                   := p_aat_attribute2;
656   l_rec.aat_attribute3                   := p_aat_attribute3;
657   l_rec.aat_attribute4                   := p_aat_attribute4;
658   l_rec.aat_attribute5                   := p_aat_attribute5;
659   l_rec.aat_attribute6                   := p_aat_attribute6;
660   l_rec.aat_attribute7                   := p_aat_attribute7;
661   l_rec.aat_attribute8                   := p_aat_attribute8;
662   l_rec.aat_attribute9                   := p_aat_attribute9;
663   l_rec.aat_attribute10                  := p_aat_attribute10;
664   l_rec.aat_attribute11                  := p_aat_attribute11;
665   l_rec.aat_attribute12                  := p_aat_attribute12;
666   l_rec.aat_attribute13                  := p_aat_attribute13;
667   l_rec.aat_attribute14                  := p_aat_attribute14;
668   l_rec.aat_attribute15                  := p_aat_attribute15;
669   l_rec.aat_attribute16                  := p_aat_attribute16;
670   l_rec.aat_attribute17                  := p_aat_attribute17;
671   l_rec.aat_attribute18                  := p_aat_attribute18;
672   l_rec.aat_attribute19                  := p_aat_attribute19;
673   l_rec.aat_attribute20                  := p_aat_attribute20;
674   l_rec.aat_information_category         := p_aat_information_category;
675   l_rec.aat_information1                 := p_aat_information1;
676   l_rec.aat_information2                 := p_aat_information2;
677   l_rec.aat_information3                 := p_aat_information3;
678   l_rec.aat_information4                 := p_aat_information4;
679   l_rec.aat_information5                 := p_aat_information5;
680   l_rec.aat_information6                 := p_aat_information6;
681   l_rec.aat_information7                 := p_aat_information7;
682   l_rec.aat_information8                 := p_aat_information8;
683   l_rec.aat_information9                 := p_aat_information9;
684   l_rec.aat_information10                := p_aat_information10;
685   l_rec.aat_information11                := p_aat_information11;
686   l_rec.aat_information12                := p_aat_information12;
687   l_rec.aat_information13                := p_aat_information13;
688   l_rec.aat_information14                := p_aat_information14;
689   l_rec.aat_information15                := p_aat_information15;
690   l_rec.aat_information16                := p_aat_information16;
691   l_rec.aat_information17                := p_aat_information17;
692   l_rec.aat_information18                := p_aat_information18;
693   l_rec.aat_information19                := p_aat_information19;
694   l_rec.aat_information20                := p_aat_information20;
695   l_rec.lgps_process_flag                := p_lgps_process_flag;
696   l_rec.lgps_exclusion_type              := p_lgps_exclusion_type;
697   l_rec.lgps_pensionable_pay             := p_lgps_pensionable_pay;
698   l_rec.lgps_trans_arrang_flag           := p_lgps_trans_arrang_flag;
699   l_rec.lgps_membership_number           := p_lgps_membership_number;
700 
701   --
702   -- Return the plsql record structure.
703   --
704   Return(l_rec);
705 --
706 End convert_args;
707 --
708 end pqp_aat_shd;