DBA Data[Home] [Help]

PACKAGE BODY: APPS.PQH_ASA_UPD

Source


1 Package Body pqh_asa_upd as
2 /* $Header: pqasarhi.pkb 115.3 2002/11/27 00:35:21 rpasapul noship $ */
3 --
4 -- ----------------------------------------------------------------------------
5 -- |                     Private Global Definitions                           |
6 -- ----------------------------------------------------------------------------
7 --
8 g_package  varchar2(33) := '  pqh_asa_upd.';  -- Global package name
9 --
10 -- ----------------------------------------------------------------------------
11 -- |----------------------------< dt_update_dml >-----------------------------|
12 -- ----------------------------------------------------------------------------
13 -- {Start Of Comments}
14 --
15 -- Description:
16 --   This procedure controls the execution of dml from the datetrack mode
17 --   of CORRECTION only. It is important to note that the object version
18 --   number is only increment by 1 because the datetrack correction is
19 --   soley for one datetracked row.
20 --   This procedure controls the actual dml update logic. The functions of
21 --   this procedure are as follows:
22 --   1) Get the next object_version_number.
23 --   2) To set and unset the g_api_dml status as required (as we are about to
24 --      perform dml).
25 --   3) To update the specified row in the schema using the primary key in
26 --      the predicates.
27 --   4) To trap any constraint violations that may have occurred.
28 --   5) To raise any other errors.
29 --
30 -- Prerequisites:
31 --   This is an internal private procedure which must be called from the
32 --   update_dml procedure.
33 --
34 -- In Parameters:
35 --   A Pl/Sql record structure.
36 --
37 -- Post Success:
38 --   The specified row will be updated in the schema.
39 --
40 -- Post Failure:
41 --   On the update dml failure it is important to note that we always reset the
42 --   g_api_dml status to false.
43 --   If a check or unique integrity constraint violation is raised the
44 --   constraint_error procedure will be called.
45 --   If any other error is reported, the error will be raised after the
46 --   g_api_dml status is reset.
47 --
48 -- Developer Implementation Notes:
49 --   The update 'set' arguments list should be modified if any of your
50 --   attributes are not updateable.
51 --
52 -- Access Status:
53 --   Internal Row Handler Use Only.
54 --
55 -- {End Of Comments}
56 -- ----------------------------------------------------------------------------
57 Procedure dt_update_dml
58   (p_rec                   in out nocopy pqh_asa_shd.g_rec_type
59   ,p_effective_date        in date
60   ,p_datetrack_mode        in varchar2
61   ,p_validation_start_date in date
62   ,p_validation_end_date   in date
63   ) is
64 --
65   l_proc        varchar2(72) := g_package||'dt_update_dml';
66 --
67 Begin
68   hr_utility.set_location('Entering:'||l_proc, 5);
69   --
70   If (p_datetrack_mode = hr_api.g_correction) then
71     hr_utility.set_location(l_proc, 10);
72     --
73     -- Because we are updating a row we must get the next object
74     -- version number.
75     --
76     p_rec.object_version_number :=
77       dt_api.get_object_version_number
78         (p_base_table_name => 'pqh_assign_accommodations_f'
79         ,p_base_key_column => 'assignment_acco_id'
80         ,p_base_key_value  => p_rec.assignment_acco_id
81         );
82     --
83     --
84     --
85     -- Update the pqh_assign_accommodations_f Row
86     --
87     update  pqh_assign_accommodations_f
88     set
89      assignment_acco_id                   = p_rec.assignment_acco_id
90     ,business_group_id                    = p_rec.business_group_id
91     ,assignment_id                        = p_rec.assignment_id
92     ,accommodation_given                  = p_rec.accommodation_given
93     ,temporary_assignment                 = p_rec.temporary_assignment
94     ,accommodation_id                     = p_rec.accommodation_id
95     ,acceptance_date                      = p_rec.acceptance_date
96     ,moving_date                          = p_rec.moving_date
97     ,refusal_date                         = p_rec.refusal_date
98     ,comments                             = p_rec.comments
99     ,indemnity_entitlement                = p_rec.indemnity_entitlement
100     ,indemnity_amount                     = p_rec.indemnity_amount
101     ,type_of_payment                      = p_rec.type_of_payment
102     ,information_category                 = p_rec.information_category
103     ,information1                         = p_rec.information1
104     ,information2                         = p_rec.information2
105     ,information3                         = p_rec.information3
106     ,information4                         = p_rec.information4
107     ,information5                         = p_rec.information5
108     ,information6                         = p_rec.information6
109     ,information7                         = p_rec.information7
110     ,information8                         = p_rec.information8
111     ,information9                         = p_rec.information9
112     ,information10                        = p_rec.information10
113     ,information11                        = p_rec.information11
114     ,information12                        = p_rec.information12
115     ,information13                        = p_rec.information13
116     ,information14                        = p_rec.information14
117     ,information15                        = p_rec.information15
118     ,information16                        = p_rec.information16
119     ,information17                        = p_rec.information17
120     ,information18                        = p_rec.information18
121     ,information19                        = p_rec.information19
122     ,information20                        = p_rec.information20
123     ,information21                        = p_rec.information21
124     ,information22                        = p_rec.information22
125     ,information23                        = p_rec.information23
126     ,information24                        = p_rec.information24
127     ,information25                        = p_rec.information25
128     ,information26                        = p_rec.information26
129     ,information27                        = p_rec.information27
130     ,information28                        = p_rec.information28
131     ,information29                        = p_rec.information29
132     ,information30                        = p_rec.information30
133     ,attribute_category                   = p_rec.attribute_category
134     ,attribute1                           = p_rec.attribute1
135     ,attribute2                           = p_rec.attribute2
136     ,attribute3                           = p_rec.attribute3
137     ,attribute4                           = p_rec.attribute4
138     ,attribute5                           = p_rec.attribute5
139     ,attribute6                           = p_rec.attribute6
140     ,attribute7                           = p_rec.attribute7
141     ,attribute8                           = p_rec.attribute8
142     ,attribute9                           = p_rec.attribute9
143     ,attribute10                          = p_rec.attribute10
144     ,attribute11                          = p_rec.attribute11
145     ,attribute12                          = p_rec.attribute12
146     ,attribute13                          = p_rec.attribute13
147     ,attribute14                          = p_rec.attribute14
148     ,attribute15                          = p_rec.attribute15
149     ,attribute16                          = p_rec.attribute16
150     ,attribute17                          = p_rec.attribute17
151     ,attribute18                          = p_rec.attribute18
152     ,attribute19                          = p_rec.attribute19
153     ,attribute20                          = p_rec.attribute20
154     ,attribute21                          = p_rec.attribute21
155     ,attribute22                          = p_rec.attribute22
156     ,attribute23                          = p_rec.attribute23
157     ,attribute24                          = p_rec.attribute24
158     ,attribute25                          = p_rec.attribute25
159     ,attribute26                          = p_rec.attribute26
160     ,attribute27                          = p_rec.attribute27
161     ,attribute28                          = p_rec.attribute28
162     ,attribute29                          = p_rec.attribute29
163     ,attribute30                          = p_rec.attribute30
164     ,object_version_number                = p_rec.object_version_number
165     ,reason_for_no_acco                   = p_rec.reason_for_no_acco
166     ,indemnity_currency                   = p_rec.indemnity_currency
167     where   assignment_acco_id = p_rec.assignment_acco_id
168     and     effective_start_date = p_validation_start_date
169     and     effective_end_date   = p_validation_end_date;
170     --
171     --
172     --
173     -- Set the effective start and end dates
174     --
175     p_rec.effective_start_date := p_validation_start_date;
176     p_rec.effective_end_date   := p_validation_end_date;
177   End If;
178 --
179 hr_utility.set_location(' Leaving:'||l_proc, 15);
180 Exception
181   When hr_api.check_integrity_violated Then
182     -- A check constraint has been violated
183     --
184     pqh_asa_shd.constraint_error
185       (p_constraint_name => hr_api.strip_constraint_name(SQLERRM));
186   When hr_api.unique_integrity_violated Then
187     -- Unique integrity has been violated
188     --
189     pqh_asa_shd.constraint_error
190       (p_constraint_name => hr_api.strip_constraint_name(SQLERRM));
191   When Others Then
192     --
193     Raise;
194 End dt_update_dml;
195 --
196 -- ----------------------------------------------------------------------------
197 -- |------------------------------< update_dml >------------------------------|
198 -- ----------------------------------------------------------------------------
199 -- {Start Of Comments}
200 --
201 -- Description:
202 --   This procedure calls the dt_update_dml control logic which handles
203 --   the actual datetrack dml.
204 --
205 -- Prerequisites:
206 --   This is an internal private procedure which must be called from the upd
207 --   procedure.
208 --
209 -- In Parameters:
210 --   A Pl/Sql record structre.
211 --
212 -- Post Success:
213 --   Processing contines.
214 --
215 -- Post Failure:
216 --   No specific error handling is required within this procedure.
217 --
218 -- Developer Implementation Notes:
219 --   The update 'set' arguments list should be modified if any of your
220 --   attributes are not updateable.
221 --
222 -- Access Status:
223 --   Internal Row Handler Use Only.
224 --
225 -- {End Of Comments}
226 -- ----------------------------------------------------------------------------
227 Procedure update_dml
228   (p_rec                      in out nocopy pqh_asa_shd.g_rec_type
229   ,p_effective_date           in date
230   ,p_datetrack_mode           in varchar2
231   ,p_validation_start_date    in date
232   ,p_validation_end_date      in date
233   ) is
234 --
235   l_proc        varchar2(72) := g_package||'update_dml';
236 --
237 Begin
238   hr_utility.set_location('Entering:'||l_proc, 5);
239   --
240   pqh_asa_upd.dt_update_dml
241     (p_rec                   => p_rec
242     ,p_effective_date        => p_effective_date
243     ,p_datetrack_mode        => p_datetrack_mode
244     ,p_validation_start_date => p_validation_start_date
245     ,p_validation_end_date   => p_validation_end_date
246     );
247   --
248   hr_utility.set_location(' Leaving:'||l_proc, 10);
249 End update_dml;
250 --
251 -- ----------------------------------------------------------------------------
252 -- |----------------------------< dt_pre_update >-----------------------------|
253 -- ----------------------------------------------------------------------------
254 -- {Start Of Comments}
255 --
256 -- Description:
257 --   The dt_pre_update procedure controls the execution
258 --   of dml for the datetrack modes of: UPDATE, UPDATE_OVERRIDE
259 --   and UPDATE_CHANGE_INSERT only. The execution required is as
260 --   follows:
261 --
262 --   1) Providing the datetrack update mode is not 'CORRECTION'
263 --      then set the effective end date of the current row (this
264 --      will be the validation_start_date - 1).
265 --   2) If the datetrack mode is 'UPDATE_OVERRIDE' then call the
266 --      corresponding delete_dml process to delete any future rows
267 --      where the effective_start_date is greater than or equal to
268 --      the validation_start_date.
269 --   3) Call the insert_dml process to insert the new updated row
270 --      details.
271 --
272 -- Prerequisites:
273 --   This is an internal procedure which is called from the
274 --   pre_update procedure.
275 --
276 -- In Parameters:
277 --
278 -- Post Success:
279 --   Processing continues.
280 --
281 -- Post Failure:
282 --   If an error has occurred, an error message and exception will be raised
283 --   but not handled.
284 --
285 -- Developer Implementation Notes:
286 --   This is an internal procedure which is required by Datetrack. Don't
287 --   remove or modify.
288 --
289 -- Access Status:
290 --   Internal Row Handler Use Only.
291 --
292 -- {End Of Comments}
293 -- ----------------------------------------------------------------------------
294 Procedure dt_pre_update
295   (p_rec                     in out nocopy     pqh_asa_shd.g_rec_type
296   ,p_effective_date          in date
297   ,p_datetrack_mode          in varchar2
298   ,p_validation_start_date   in date
299   ,p_validation_end_date     in date
300   ) is
301 --
302   l_proc                 varchar2(72) := g_package||'dt_pre_update';
303   l_dummy_version_number number;
304 --
305 Begin
306   hr_utility.set_location('Entering:'||l_proc, 5);
307   If (p_datetrack_mode <> hr_api.g_correction) then
308     --
309     -- Update the current effective end date
310     --
311     pqh_asa_shd.upd_effective_end_date
312       (p_effective_date         => p_effective_date
313       ,p_base_key_value         => p_rec.assignment_acco_id
314       ,p_new_effective_end_date => (p_validation_start_date - 1)
315       ,p_validation_start_date  => p_validation_start_date
316       ,p_validation_end_date    => p_validation_end_date
317       ,p_object_version_number  => l_dummy_version_number
318       );
319     --
320     If (p_datetrack_mode = hr_api.g_update_override) then
321       --
322       -- As the datetrack mode is 'UPDATE_OVERRIDE' then we must
323       -- delete any future rows
324       --
325       pqh_asa_del.delete_dml
326         (p_rec                   => p_rec
327         ,p_effective_date        => p_effective_date
328         ,p_datetrack_mode        => p_datetrack_mode
329         ,p_validation_start_date => p_validation_start_date
330         ,p_validation_end_date   => p_validation_end_date
331         );
332     End If;
333     --
334     -- We must now insert the updated row
335     --
336     pqh_asa_ins.insert_dml
337       (p_rec                    => p_rec
338       ,p_effective_date         => p_effective_date
339       ,p_datetrack_mode         => p_datetrack_mode
340       ,p_validation_start_date  => p_validation_start_date
341       ,p_validation_end_date    => p_validation_end_date
342       );
343   End If;
344   hr_utility.set_location(' Leaving:'||l_proc, 20);
345 End dt_pre_update;
346 --
347 -- ----------------------------------------------------------------------------
348 -- |------------------------------< pre_update >------------------------------|
349 -- ----------------------------------------------------------------------------
350 -- {Start Of Comments}
351 --
352 -- Description:
353 --   This private procedure contains any processing which is required before
354 --   the update dml.
355 --
356 -- Prerequisites:
357 --   This is an internal procedure which is called from the upd procedure.
358 --
359 -- In Parameters:
360 --   A Pl/Sql record structure.
361 --
362 -- Post Success:
363 --   Processing continues.
364 --
365 -- Post Failure:
366 --   If an error has occurred, an error message and exception will be raised
367 --   but not handled.
368 -- Developer Implementation Notes:
369 --   Any pre-processing required before the update dml is issued should be
370 --   coded within this procedure. It is important to note that any 3rd party
371 --   maintenance should be reviewed before placing in this procedure. The call
372 --   to the dt_update_dml procedure should NOT be removed.
373 --
374 -- Access Status:
375 --   Internal Row Handler Use Only.
376 --
377 -- {End Of Comments}
378 -- ----------------------------------------------------------------------------
379 Procedure pre_update
380   (p_rec                   in out nocopy pqh_asa_shd.g_rec_type
381   ,p_effective_date        in date
382   ,p_datetrack_mode        in varchar2
383   ,p_validation_start_date in date
384   ,p_validation_end_date   in date
385   ) is
386 --
387   l_proc        varchar2(72) := g_package||'pre_update';
388 --
389 Begin
390   hr_utility.set_location('Entering:'||l_proc, 5);
391   --
392   --
393   --
394   dt_pre_update
395     (p_rec                   => p_rec
396     ,p_effective_date        => p_effective_date
397     ,p_datetrack_mode        => p_datetrack_mode
398     ,p_validation_start_date => p_validation_start_date
399     ,p_validation_end_date   => p_validation_end_date
400     );
401   --
402   hr_utility.set_location(' Leaving:'||l_proc, 10);
403 End pre_update;
404 --
405 -- ----------------------------------------------------------------------------
406 -- |----------------------------< post_update >-------------------------------|
407 -- ----------------------------------------------------------------------------
408 -- {Start Of Comments}
409 --
410 -- Description:
411 --   This private procedure contains any processing which is required after
412 --   the update dml.
413 --
414 -- Prerequisites:
415 --   This is an internal procedure which is called from the upd procedure.
416 --
417 -- In Parameters:
418 --   A Pl/Sql record structure.
419 --
420 -- Post Success:
421 --   Processing continues.
422 --
423 -- Post Failure:
424 --   If an error has occurred, an error message and exception will be raised
425 --   but not handled.
426 --
427 -- Developer Implementation Notes:
428 --   Any post-processing required after the update dml is issued should be
429 --   coded within this procedure. It is important to note that any 3rd party
430 --   maintenance should be reviewed before placing in this procedure.
431 --
432 -- Access Status:
433 --   Internal Row Handler Use Only.
434 --
435 -- {End Of Comments}
436 -- ----------------------------------------------------------------------------
437 Procedure post_update
438   (p_rec                   in pqh_asa_shd.g_rec_type
439   ,p_effective_date        in date
440   ,p_datetrack_mode        in varchar2
441   ,p_validation_start_date in date
442   ,p_validation_end_date   in date
443   ) is
444 --
445   l_proc        varchar2(72) := g_package||'post_update';
446 --
447 Begin
448   hr_utility.set_location('Entering:'||l_proc, 5);
449   begin
450     --
451     pqh_asa_rku.after_update
452       (p_effective_date
453       => p_effective_date
454       ,p_datetrack_mode
455       => p_datetrack_mode
456       ,p_validation_start_date
457       => p_validation_start_date
458       ,p_validation_end_date
459       => p_validation_end_date
460       ,p_assignment_acco_id
461       => p_rec.assignment_acco_id
462       ,p_effective_start_date
463       => p_rec.effective_start_date
464       ,p_effective_end_date
465       => p_rec.effective_end_date
466       ,p_business_group_id
467       => p_rec.business_group_id
468       ,p_assignment_id
469       => p_rec.assignment_id
470       ,p_accommodation_given
471       => p_rec.accommodation_given
472       ,p_temporary_assignment
473       => p_rec.temporary_assignment
474       ,p_accommodation_id
475       => p_rec.accommodation_id
476       ,p_acceptance_date
477       => p_rec.acceptance_date
478       ,p_moving_date
479       => p_rec.moving_date
480       ,p_refusal_date
481       => p_rec.refusal_date
482       ,p_comments
483       => p_rec.comments
484       ,p_indemnity_entitlement
485       => p_rec.indemnity_entitlement
486       ,p_indemnity_amount
487       => p_rec.indemnity_amount
488       ,p_type_of_payment
489       => p_rec.type_of_payment
490       ,p_information_category
491       => p_rec.information_category
492       ,p_information1
493       => p_rec.information1
494       ,p_information2
495       => p_rec.information2
496       ,p_information3
497       => p_rec.information3
498       ,p_information4
499       => p_rec.information4
500       ,p_information5
501       => p_rec.information5
502       ,p_information6
503       => p_rec.information6
504       ,p_information7
505       => p_rec.information7
506       ,p_information8
507       => p_rec.information8
508       ,p_information9
509       => p_rec.information9
510       ,p_information10
511       => p_rec.information10
512       ,p_information11
513       => p_rec.information11
514       ,p_information12
515       => p_rec.information12
516       ,p_information13
517       => p_rec.information13
518       ,p_information14
519       => p_rec.information14
520       ,p_information15
521       => p_rec.information15
522       ,p_information16
523       => p_rec.information16
524       ,p_information17
525       => p_rec.information17
526       ,p_information18
527       => p_rec.information18
528       ,p_information19
529       => p_rec.information19
530       ,p_information20
531       => p_rec.information20
532       ,p_information21
533       => p_rec.information21
534       ,p_information22
535       => p_rec.information22
536       ,p_information23
537       => p_rec.information23
538       ,p_information24
539       => p_rec.information24
540       ,p_information25
541       => p_rec.information25
542       ,p_information26
543       => p_rec.information26
544       ,p_information27
545       => p_rec.information27
546       ,p_information28
547       => p_rec.information28
548       ,p_information29
549       => p_rec.information29
550       ,p_information30
551       => p_rec.information30
552       ,p_attribute_category
553       => p_rec.attribute_category
554       ,p_attribute1
555       => p_rec.attribute1
556       ,p_attribute2
557       => p_rec.attribute2
558       ,p_attribute3
559       => p_rec.attribute3
560       ,p_attribute4
561       => p_rec.attribute4
562       ,p_attribute5
563       => p_rec.attribute5
564       ,p_attribute6
565       => p_rec.attribute6
566       ,p_attribute7
567       => p_rec.attribute7
568       ,p_attribute8
569       => p_rec.attribute8
570       ,p_attribute9
571       => p_rec.attribute9
572       ,p_attribute10
573       => p_rec.attribute10
574       ,p_attribute11
575       => p_rec.attribute11
576       ,p_attribute12
577       => p_rec.attribute12
578       ,p_attribute13
579       => p_rec.attribute13
580       ,p_attribute14
581       => p_rec.attribute14
582       ,p_attribute15
583       => p_rec.attribute15
584       ,p_attribute16
585       => p_rec.attribute16
586       ,p_attribute17
587       => p_rec.attribute17
588       ,p_attribute18
589       => p_rec.attribute18
590       ,p_attribute19
591       => p_rec.attribute19
592       ,p_attribute20
593       => p_rec.attribute20
594       ,p_attribute21
595       => p_rec.attribute21
596       ,p_attribute22
597       => p_rec.attribute22
598       ,p_attribute23
599       => p_rec.attribute23
600       ,p_attribute24
601       => p_rec.attribute24
602       ,p_attribute25
603       => p_rec.attribute25
604       ,p_attribute26
605       => p_rec.attribute26
606       ,p_attribute27
607       => p_rec.attribute27
608       ,p_attribute28
609       => p_rec.attribute28
610       ,p_attribute29
611       => p_rec.attribute29
612       ,p_attribute30
613       => p_rec.attribute30
614       ,p_object_version_number
615       => p_rec.object_version_number
616       ,p_reason_for_no_acco
617       => p_rec.reason_for_no_acco
618       ,p_indemnity_currency
619       => p_rec.indemnity_currency
620       ,p_effective_start_date_o
621       => pqh_asa_shd.g_old_rec.effective_start_date
622       ,p_effective_end_date_o
623       => pqh_asa_shd.g_old_rec.effective_end_date
624       ,p_business_group_id_o
625       => pqh_asa_shd.g_old_rec.business_group_id
626       ,p_assignment_id_o
627       => pqh_asa_shd.g_old_rec.assignment_id
628       ,p_accommodation_given_o
629       => pqh_asa_shd.g_old_rec.accommodation_given
630       ,p_temporary_assignment_o
631       => pqh_asa_shd.g_old_rec.temporary_assignment
632       ,p_accommodation_id_o
633       => pqh_asa_shd.g_old_rec.accommodation_id
634       ,p_acceptance_date_o
635       => pqh_asa_shd.g_old_rec.acceptance_date
636       ,p_moving_date_o
637       => pqh_asa_shd.g_old_rec.moving_date
638       ,p_refusal_date_o
639       => pqh_asa_shd.g_old_rec.refusal_date
640       ,p_comments_o
641       => pqh_asa_shd.g_old_rec.comments
642       ,p_indemnity_entitlement_o
643       => pqh_asa_shd.g_old_rec.indemnity_entitlement
644       ,p_indemnity_amount_o
645       => pqh_asa_shd.g_old_rec.indemnity_amount
646       ,p_type_of_payment_o
647       => pqh_asa_shd.g_old_rec.type_of_payment
648       ,p_information_category_o
649       => pqh_asa_shd.g_old_rec.information_category
650       ,p_information1_o
651       => pqh_asa_shd.g_old_rec.information1
652       ,p_information2_o
653       => pqh_asa_shd.g_old_rec.information2
654       ,p_information3_o
655       => pqh_asa_shd.g_old_rec.information3
656       ,p_information4_o
657       => pqh_asa_shd.g_old_rec.information4
658       ,p_information5_o
659       => pqh_asa_shd.g_old_rec.information5
660       ,p_information6_o
661       => pqh_asa_shd.g_old_rec.information6
662       ,p_information7_o
663       => pqh_asa_shd.g_old_rec.information7
664       ,p_information8_o
665       => pqh_asa_shd.g_old_rec.information8
666       ,p_information9_o
667       => pqh_asa_shd.g_old_rec.information9
668       ,p_information10_o
669       => pqh_asa_shd.g_old_rec.information10
670       ,p_information11_o
671       => pqh_asa_shd.g_old_rec.information11
672       ,p_information12_o
673       => pqh_asa_shd.g_old_rec.information12
674       ,p_information13_o
675       => pqh_asa_shd.g_old_rec.information13
676       ,p_information14_o
677       => pqh_asa_shd.g_old_rec.information14
678       ,p_information15_o
679       => pqh_asa_shd.g_old_rec.information15
680       ,p_information16_o
681       => pqh_asa_shd.g_old_rec.information16
682       ,p_information17_o
683       => pqh_asa_shd.g_old_rec.information17
684       ,p_information18_o
685       => pqh_asa_shd.g_old_rec.information18
686       ,p_information19_o
687       => pqh_asa_shd.g_old_rec.information19
688       ,p_information20_o
689       => pqh_asa_shd.g_old_rec.information20
690       ,p_information21_o
691       => pqh_asa_shd.g_old_rec.information21
692       ,p_information22_o
693       => pqh_asa_shd.g_old_rec.information22
694       ,p_information23_o
695       => pqh_asa_shd.g_old_rec.information23
696       ,p_information24_o
697       => pqh_asa_shd.g_old_rec.information24
698       ,p_information25_o
699       => pqh_asa_shd.g_old_rec.information25
700       ,p_information26_o
701       => pqh_asa_shd.g_old_rec.information26
702       ,p_information27_o
703       => pqh_asa_shd.g_old_rec.information27
704       ,p_information28_o
705       => pqh_asa_shd.g_old_rec.information28
706       ,p_information29_o
707       => pqh_asa_shd.g_old_rec.information29
708       ,p_information30_o
709       => pqh_asa_shd.g_old_rec.information30
710       ,p_attribute_category_o
711       => pqh_asa_shd.g_old_rec.attribute_category
712       ,p_attribute1_o
713       => pqh_asa_shd.g_old_rec.attribute1
714       ,p_attribute2_o
715       => pqh_asa_shd.g_old_rec.attribute2
716       ,p_attribute3_o
717       => pqh_asa_shd.g_old_rec.attribute3
718       ,p_attribute4_o
719       => pqh_asa_shd.g_old_rec.attribute4
720       ,p_attribute5_o
721       => pqh_asa_shd.g_old_rec.attribute5
722       ,p_attribute6_o
723       => pqh_asa_shd.g_old_rec.attribute6
724       ,p_attribute7_o
725       => pqh_asa_shd.g_old_rec.attribute7
726       ,p_attribute8_o
727       => pqh_asa_shd.g_old_rec.attribute8
728       ,p_attribute9_o
729       => pqh_asa_shd.g_old_rec.attribute9
730       ,p_attribute10_o
731       => pqh_asa_shd.g_old_rec.attribute10
732       ,p_attribute11_o
733       => pqh_asa_shd.g_old_rec.attribute11
734       ,p_attribute12_o
735       => pqh_asa_shd.g_old_rec.attribute12
736       ,p_attribute13_o
737       => pqh_asa_shd.g_old_rec.attribute13
738       ,p_attribute14_o
739       => pqh_asa_shd.g_old_rec.attribute14
740       ,p_attribute15_o
741       => pqh_asa_shd.g_old_rec.attribute15
742       ,p_attribute16_o
743       => pqh_asa_shd.g_old_rec.attribute16
744       ,p_attribute17_o
745       => pqh_asa_shd.g_old_rec.attribute17
746       ,p_attribute18_o
747       => pqh_asa_shd.g_old_rec.attribute18
748       ,p_attribute19_o
749       => pqh_asa_shd.g_old_rec.attribute19
750       ,p_attribute20_o
751       => pqh_asa_shd.g_old_rec.attribute20
752       ,p_attribute21_o
753       => pqh_asa_shd.g_old_rec.attribute21
754       ,p_attribute22_o
755       => pqh_asa_shd.g_old_rec.attribute22
756       ,p_attribute23_o
757       => pqh_asa_shd.g_old_rec.attribute23
758       ,p_attribute24_o
759       => pqh_asa_shd.g_old_rec.attribute24
760       ,p_attribute25_o
761       => pqh_asa_shd.g_old_rec.attribute25
762       ,p_attribute26_o
763       => pqh_asa_shd.g_old_rec.attribute26
764       ,p_attribute27_o
765       => pqh_asa_shd.g_old_rec.attribute27
766       ,p_attribute28_o
767       => pqh_asa_shd.g_old_rec.attribute28
768       ,p_attribute29_o
769       => pqh_asa_shd.g_old_rec.attribute29
770       ,p_attribute30_o
771       => pqh_asa_shd.g_old_rec.attribute30
772       ,p_object_version_number_o
773       => pqh_asa_shd.g_old_rec.object_version_number
774       ,p_reason_for_no_acco_o
775       => pqh_asa_shd.g_old_rec.reason_for_no_acco
776       ,p_indemnity_currency_o
777       => pqh_asa_shd.g_old_rec.indemnity_currency
778       );
779     --
780   exception
781     --
782     when hr_api.cannot_find_prog_unit then
783       --
784       hr_api.cannot_find_prog_unit_error
785         (p_module_name => 'PQH_ASSIGN_ACCOMMODATIONS_F'
786         ,p_hook_type   => 'AU');
787       --
788   end;
789   --
790   hr_utility.set_location(' Leaving:'||l_proc, 10);
791 End post_update;
792 --
793 -- ----------------------------------------------------------------------------
794 -- |-----------------------------< convert_defs >-----------------------------|
795 -- ----------------------------------------------------------------------------
796 -- {Start Of Comments}
797 --
798 -- Description:
799 --   The Convert_Defs procedure has one very important function:
800 --   It must return the record structure for the row with all system defaulted
801 --   values converted into its corresponding parameter value for update. When
802 --   we attempt to update a row through the Upd process , certain
803 --   parameters can be defaulted which enables flexibility in the calling of
804 --   the upd process (e.g. only attributes which need to be updated need to be
805 --   specified). For the upd process to determine which attributes
806 --   have NOT been specified we need to check if the parameter has a reserved
807 --   system default value. Therefore, for all parameters which have a
808 --   corresponding reserved system default mechanism specified we need to
809 --   check if a system default is being used. If a system default is being
810 --   used then we convert the defaulted value into its corresponding attribute
811 --   value held in the g_old_rec data structure.
812 --
813 -- Prerequisites:
814 --   This private function can only be called from the upd process.
815 --
816 -- In Parameters:
817 --   A Pl/Sql record structure.
818 --
819 -- Post Success:
820 --   The record structure will be returned with all system defaulted parameter
821 --   values converted into its current row attribute value.
822 --
823 -- Post Failure:
824 --   No direct error handling is required within this function. Any possible
825 --   errors within this procedure will be a PL/SQL value error due to
826 --   conversion of datatypes or data lengths.
827 --
828 -- Developer Implementation Notes:
829 --   None.
830 --
831 -- Access Status:
832 --   Internal Row Handler Use Only.
833 --
834 -- {End Of Comments}
835 -- ----------------------------------------------------------------------------
836 Procedure convert_defs
837   (p_rec in out nocopy pqh_asa_shd.g_rec_type
838   ) is
839 --
840 Begin
841   --
842   -- We must now examine each argument value in the
843   -- p_rec plsql record structure
844   -- to see if a system default is being used. If a system default
845   -- is being used then we must set to the 'current' argument value.
846   --
847   If (p_rec.business_group_id = hr_api.g_number) then
848     p_rec.business_group_id :=
849     pqh_asa_shd.g_old_rec.business_group_id;
850   End If;
851   If (p_rec.assignment_id = hr_api.g_number) then
852     p_rec.assignment_id :=
853     pqh_asa_shd.g_old_rec.assignment_id;
854   End If;
855   If (p_rec.accommodation_given = hr_api.g_varchar2) then
856     p_rec.accommodation_given :=
857     pqh_asa_shd.g_old_rec.accommodation_given;
858   End If;
859   If (p_rec.temporary_assignment = hr_api.g_varchar2) then
860     p_rec.temporary_assignment :=
861     pqh_asa_shd.g_old_rec.temporary_assignment;
862   End If;
863   If (p_rec.accommodation_id = hr_api.g_number) then
864     p_rec.accommodation_id :=
865     pqh_asa_shd.g_old_rec.accommodation_id;
866   End If;
867   If (p_rec.acceptance_date = hr_api.g_date) then
868     p_rec.acceptance_date :=
869     pqh_asa_shd.g_old_rec.acceptance_date;
870   End If;
871   If (p_rec.moving_date = hr_api.g_date) then
872     p_rec.moving_date :=
873     pqh_asa_shd.g_old_rec.moving_date;
874   End If;
875   If (p_rec.refusal_date = hr_api.g_date) then
876     p_rec.refusal_date :=
877     pqh_asa_shd.g_old_rec.refusal_date;
878   End If;
879   If (p_rec.comments = hr_api.g_varchar2) then
880     p_rec.comments :=
881     pqh_asa_shd.g_old_rec.comments;
882   End If;
883   If (p_rec.indemnity_entitlement = hr_api.g_varchar2) then
884     p_rec.indemnity_entitlement :=
885     pqh_asa_shd.g_old_rec.indemnity_entitlement;
886   End If;
887   If (p_rec.indemnity_amount = hr_api.g_number) then
888     p_rec.indemnity_amount :=
889     pqh_asa_shd.g_old_rec.indemnity_amount;
890   End If;
891   If (p_rec.type_of_payment = hr_api.g_varchar2) then
892     p_rec.type_of_payment :=
893     pqh_asa_shd.g_old_rec.type_of_payment;
894   End If;
895   If (p_rec.information_category = hr_api.g_varchar2) then
896     p_rec.information_category :=
897     pqh_asa_shd.g_old_rec.information_category;
898   End If;
899   If (p_rec.information1 = hr_api.g_varchar2) then
900     p_rec.information1 :=
901     pqh_asa_shd.g_old_rec.information1;
902   End If;
903   If (p_rec.information2 = hr_api.g_varchar2) then
904     p_rec.information2 :=
905     pqh_asa_shd.g_old_rec.information2;
906   End If;
907   If (p_rec.information3 = hr_api.g_varchar2) then
908     p_rec.information3 :=
909     pqh_asa_shd.g_old_rec.information3;
910   End If;
911   If (p_rec.information4 = hr_api.g_varchar2) then
912     p_rec.information4 :=
913     pqh_asa_shd.g_old_rec.information4;
914   End If;
915   If (p_rec.information5 = hr_api.g_varchar2) then
916     p_rec.information5 :=
917     pqh_asa_shd.g_old_rec.information5;
918   End If;
919   If (p_rec.information6 = hr_api.g_varchar2) then
920     p_rec.information6 :=
921     pqh_asa_shd.g_old_rec.information6;
922   End If;
923   If (p_rec.information7 = hr_api.g_varchar2) then
924     p_rec.information7 :=
925     pqh_asa_shd.g_old_rec.information7;
926   End If;
927   If (p_rec.information8 = hr_api.g_varchar2) then
928     p_rec.information8 :=
929     pqh_asa_shd.g_old_rec.information8;
930   End If;
931   If (p_rec.information9 = hr_api.g_varchar2) then
932     p_rec.information9 :=
933     pqh_asa_shd.g_old_rec.information9;
934   End If;
935   If (p_rec.information10 = hr_api.g_varchar2) then
936     p_rec.information10 :=
937     pqh_asa_shd.g_old_rec.information10;
938   End If;
939   If (p_rec.information11 = hr_api.g_varchar2) then
940     p_rec.information11 :=
941     pqh_asa_shd.g_old_rec.information11;
942   End If;
943   If (p_rec.information12 = hr_api.g_varchar2) then
944     p_rec.information12 :=
945     pqh_asa_shd.g_old_rec.information12;
946   End If;
947   If (p_rec.information13 = hr_api.g_varchar2) then
948     p_rec.information13 :=
949     pqh_asa_shd.g_old_rec.information13;
950   End If;
951   If (p_rec.information14 = hr_api.g_varchar2) then
952     p_rec.information14 :=
953     pqh_asa_shd.g_old_rec.information14;
954   End If;
955   If (p_rec.information15 = hr_api.g_varchar2) then
956     p_rec.information15 :=
957     pqh_asa_shd.g_old_rec.information15;
958   End If;
959   If (p_rec.information16 = hr_api.g_varchar2) then
960     p_rec.information16 :=
961     pqh_asa_shd.g_old_rec.information16;
962   End If;
963   If (p_rec.information17 = hr_api.g_varchar2) then
964     p_rec.information17 :=
965     pqh_asa_shd.g_old_rec.information17;
966   End If;
967   If (p_rec.information18 = hr_api.g_varchar2) then
968     p_rec.information18 :=
969     pqh_asa_shd.g_old_rec.information18;
970   End If;
971   If (p_rec.information19 = hr_api.g_varchar2) then
972     p_rec.information19 :=
973     pqh_asa_shd.g_old_rec.information19;
974   End If;
975   If (p_rec.information20 = hr_api.g_varchar2) then
976     p_rec.information20 :=
977     pqh_asa_shd.g_old_rec.information20;
978   End If;
979   If (p_rec.information21 = hr_api.g_varchar2) then
980     p_rec.information21 :=
981     pqh_asa_shd.g_old_rec.information21;
982   End If;
983   If (p_rec.information22 = hr_api.g_varchar2) then
984     p_rec.information22 :=
985     pqh_asa_shd.g_old_rec.information22;
986   End If;
987   If (p_rec.information23 = hr_api.g_varchar2) then
988     p_rec.information23 :=
989     pqh_asa_shd.g_old_rec.information23;
990   End If;
991   If (p_rec.information24 = hr_api.g_varchar2) then
992     p_rec.information24 :=
993     pqh_asa_shd.g_old_rec.information24;
994   End If;
995   If (p_rec.information25 = hr_api.g_varchar2) then
996     p_rec.information25 :=
997     pqh_asa_shd.g_old_rec.information25;
998   End If;
999   If (p_rec.information26 = hr_api.g_varchar2) then
1000     p_rec.information26 :=
1001     pqh_asa_shd.g_old_rec.information26;
1002   End If;
1003   If (p_rec.information27 = hr_api.g_varchar2) then
1004     p_rec.information27 :=
1005     pqh_asa_shd.g_old_rec.information27;
1006   End If;
1007   If (p_rec.information28 = hr_api.g_varchar2) then
1008     p_rec.information28 :=
1009     pqh_asa_shd.g_old_rec.information28;
1010   End If;
1011   If (p_rec.information29 = hr_api.g_varchar2) then
1012     p_rec.information29 :=
1013     pqh_asa_shd.g_old_rec.information29;
1014   End If;
1015   If (p_rec.information30 = hr_api.g_varchar2) then
1016     p_rec.information30 :=
1017     pqh_asa_shd.g_old_rec.information30;
1018   End If;
1019   If (p_rec.attribute_category = hr_api.g_varchar2) then
1020     p_rec.attribute_category :=
1021     pqh_asa_shd.g_old_rec.attribute_category;
1022   End If;
1023   If (p_rec.attribute1 = hr_api.g_varchar2) then
1024     p_rec.attribute1 :=
1025     pqh_asa_shd.g_old_rec.attribute1;
1026   End If;
1027   If (p_rec.attribute2 = hr_api.g_varchar2) then
1028     p_rec.attribute2 :=
1029     pqh_asa_shd.g_old_rec.attribute2;
1030   End If;
1031   If (p_rec.attribute3 = hr_api.g_varchar2) then
1032     p_rec.attribute3 :=
1033     pqh_asa_shd.g_old_rec.attribute3;
1034   End If;
1035   If (p_rec.attribute4 = hr_api.g_varchar2) then
1036     p_rec.attribute4 :=
1037     pqh_asa_shd.g_old_rec.attribute4;
1038   End If;
1039   If (p_rec.attribute5 = hr_api.g_varchar2) then
1040     p_rec.attribute5 :=
1041     pqh_asa_shd.g_old_rec.attribute5;
1042   End If;
1043   If (p_rec.attribute6 = hr_api.g_varchar2) then
1044     p_rec.attribute6 :=
1045     pqh_asa_shd.g_old_rec.attribute6;
1046   End If;
1047   If (p_rec.attribute7 = hr_api.g_varchar2) then
1048     p_rec.attribute7 :=
1049     pqh_asa_shd.g_old_rec.attribute7;
1050   End If;
1051   If (p_rec.attribute8 = hr_api.g_varchar2) then
1052     p_rec.attribute8 :=
1053     pqh_asa_shd.g_old_rec.attribute8;
1054   End If;
1055   If (p_rec.attribute9 = hr_api.g_varchar2) then
1056     p_rec.attribute9 :=
1057     pqh_asa_shd.g_old_rec.attribute9;
1058   End If;
1059   If (p_rec.attribute10 = hr_api.g_varchar2) then
1060     p_rec.attribute10 :=
1061     pqh_asa_shd.g_old_rec.attribute10;
1062   End If;
1063   If (p_rec.attribute11 = hr_api.g_varchar2) then
1064     p_rec.attribute11 :=
1065     pqh_asa_shd.g_old_rec.attribute11;
1066   End If;
1067   If (p_rec.attribute12 = hr_api.g_varchar2) then
1068     p_rec.attribute12 :=
1069     pqh_asa_shd.g_old_rec.attribute12;
1070   End If;
1071   If (p_rec.attribute13 = hr_api.g_varchar2) then
1072     p_rec.attribute13 :=
1073     pqh_asa_shd.g_old_rec.attribute13;
1074   End If;
1075   If (p_rec.attribute14 = hr_api.g_varchar2) then
1076     p_rec.attribute14 :=
1077     pqh_asa_shd.g_old_rec.attribute14;
1078   End If;
1079   If (p_rec.attribute15 = hr_api.g_varchar2) then
1080     p_rec.attribute15 :=
1081     pqh_asa_shd.g_old_rec.attribute15;
1082   End If;
1083   If (p_rec.attribute16 = hr_api.g_varchar2) then
1084     p_rec.attribute16 :=
1085     pqh_asa_shd.g_old_rec.attribute16;
1086   End If;
1087   If (p_rec.attribute17 = hr_api.g_varchar2) then
1088     p_rec.attribute17 :=
1089     pqh_asa_shd.g_old_rec.attribute17;
1090   End If;
1091   If (p_rec.attribute18 = hr_api.g_varchar2) then
1092     p_rec.attribute18 :=
1093     pqh_asa_shd.g_old_rec.attribute18;
1094   End If;
1095   If (p_rec.attribute19 = hr_api.g_varchar2) then
1096     p_rec.attribute19 :=
1097     pqh_asa_shd.g_old_rec.attribute19;
1098   End If;
1099   If (p_rec.attribute20 = hr_api.g_varchar2) then
1100     p_rec.attribute20 :=
1101     pqh_asa_shd.g_old_rec.attribute20;
1102   End If;
1103   If (p_rec.attribute21 = hr_api.g_varchar2) then
1104     p_rec.attribute21 :=
1105     pqh_asa_shd.g_old_rec.attribute21;
1106   End If;
1107   If (p_rec.attribute22 = hr_api.g_varchar2) then
1108     p_rec.attribute22 :=
1109     pqh_asa_shd.g_old_rec.attribute22;
1110   End If;
1111   If (p_rec.attribute23 = hr_api.g_varchar2) then
1112     p_rec.attribute23 :=
1113     pqh_asa_shd.g_old_rec.attribute23;
1114   End If;
1115   If (p_rec.attribute24 = hr_api.g_varchar2) then
1116     p_rec.attribute24 :=
1117     pqh_asa_shd.g_old_rec.attribute24;
1118   End If;
1119   If (p_rec.attribute25 = hr_api.g_varchar2) then
1120     p_rec.attribute25 :=
1121     pqh_asa_shd.g_old_rec.attribute25;
1122   End If;
1123   If (p_rec.attribute26 = hr_api.g_varchar2) then
1124     p_rec.attribute26 :=
1125     pqh_asa_shd.g_old_rec.attribute26;
1126   End If;
1127   If (p_rec.attribute27 = hr_api.g_varchar2) then
1128     p_rec.attribute27 :=
1129     pqh_asa_shd.g_old_rec.attribute27;
1130   End If;
1131   If (p_rec.attribute28 = hr_api.g_varchar2) then
1132     p_rec.attribute28 :=
1133     pqh_asa_shd.g_old_rec.attribute28;
1134   End If;
1135   If (p_rec.attribute29 = hr_api.g_varchar2) then
1136     p_rec.attribute29 :=
1137     pqh_asa_shd.g_old_rec.attribute29;
1138   End If;
1139   If (p_rec.attribute30 = hr_api.g_varchar2) then
1140     p_rec.attribute30 :=
1141     pqh_asa_shd.g_old_rec.attribute30;
1142   End If;
1143   If (p_rec.reason_for_no_acco = hr_api.g_varchar2) then
1144     p_rec.reason_for_no_acco :=
1145     pqh_asa_shd.g_old_rec.reason_for_no_acco;
1146   End If;
1147   If (p_rec.indemnity_currency = hr_api.g_varchar2) then
1148     p_rec.indemnity_currency :=
1149     pqh_asa_shd.g_old_rec.indemnity_currency;
1150   End If;
1151   --
1152 End convert_defs;
1153 --
1154 -- ----------------------------------------------------------------------------
1155 -- |---------------------------------< upd >----------------------------------|
1156 -- ----------------------------------------------------------------------------
1157 Procedure upd
1158   (p_effective_date in     date
1159   ,p_datetrack_mode in     varchar2
1160   ,p_rec            in out nocopy pqh_asa_shd.g_rec_type
1161   ) is
1162 --
1163   l_proc                        varchar2(72) := g_package||'upd';
1164   l_validation_start_date       date;
1165   l_validation_end_date         date;
1166 --
1167 Begin
1168   hr_utility.set_location('Entering:'||l_proc, 5);
1169   --
1170   -- Ensure that the DateTrack update mode is valid
1171   --
1172   dt_api.validate_dt_upd_mode(p_datetrack_mode => p_datetrack_mode);
1173   --
1174   -- We must lock the row which we need to update.
1175   --
1176   pqh_asa_shd.lck
1177     (p_effective_date                   => p_effective_date
1178     ,p_datetrack_mode                   => p_datetrack_mode
1179     ,p_assignment_acco_id               => p_rec.assignment_acco_id
1180     ,p_object_version_number            => p_rec.object_version_number
1181     ,p_validation_start_date            => l_validation_start_date
1182     ,p_validation_end_date              => l_validation_end_date
1183     );
1184   --
1185   -- 1. During an update system defaults are used to determine if
1186   --    arguments have been defaulted or not. We must therefore
1187   --    derive the full record structure values to be updated.
1188   --
1189   -- 2. Call the supporting update validate operations.
1190   --
1191   pqh_asa_upd.convert_defs(p_rec);
1192   --
1193   pqh_asa_bus.update_validate
1194     (p_rec                              => p_rec
1195     ,p_effective_date                   => p_effective_date
1196     ,p_datetrack_mode                   => p_datetrack_mode
1197     ,p_validation_start_date            => l_validation_start_date
1198     ,p_validation_end_date              => l_validation_end_date
1199     );
1200   --
1201   -- Call to raise any errors on multi-message list
1202   hr_multi_message.end_validation_set;
1203   --
1204   -- Call the supporting pre-update operation
1205   --
1206   pre_update
1207     (p_rec                              => p_rec
1208     ,p_effective_date                   => p_effective_date
1209     ,p_datetrack_mode                   => p_datetrack_mode
1210     ,p_validation_start_date            => l_validation_start_date
1211     ,p_validation_end_date              => l_validation_end_date
1212     );
1213   --
1214   -- Update the row.
1215   --
1216   update_dml
1217     (p_rec                              => p_rec
1218     ,p_effective_date                   => p_effective_date
1219     ,p_datetrack_mode                   => p_datetrack_mode
1220     ,p_validation_start_date            => l_validation_start_date
1221     ,p_validation_end_date                  => l_validation_end_date
1222     );
1223   --
1224   -- Call the supporting post-update operation
1225   --
1226   post_update
1227     (p_rec                              => p_rec
1228     ,p_effective_date                   => p_effective_date
1229     ,p_datetrack_mode                   => p_datetrack_mode
1230     ,p_validation_start_date            => l_validation_start_date
1231     ,p_validation_end_date              => l_validation_end_date
1232     );
1233   --
1234   -- Call to raise any errors on multi-message list
1235   hr_multi_message.end_validation_set;
1236 End upd;
1237 --
1238 -- ----------------------------------------------------------------------------
1239 -- |------------------------------< upd >-------------------------------------|
1240 -- ----------------------------------------------------------------------------
1241 Procedure upd
1242   (p_effective_date               in     date
1243   ,p_datetrack_mode               in     varchar2
1244   ,p_assignment_acco_id           in     number
1245   ,p_object_version_number        in out nocopy number
1246   ,p_business_group_id            in     number    default hr_api.g_number
1247   ,p_assignment_id                in     number    default hr_api.g_number
1248   ,p_accommodation_given          in     varchar2  default hr_api.g_varchar2
1249   ,p_temporary_assignment         in     varchar2  default hr_api.g_varchar2
1250   ,p_accommodation_id             in     number    default hr_api.g_number
1251   ,p_acceptance_date              in     date      default hr_api.g_date
1252   ,p_moving_date                  in     date      default hr_api.g_date
1253   ,p_refusal_date                 in     date      default hr_api.g_date
1254   ,p_comments                     in     varchar2  default hr_api.g_varchar2
1255   ,p_indemnity_entitlement        in     varchar2  default hr_api.g_varchar2
1256   ,p_indemnity_amount             in     number    default hr_api.g_number
1257   ,p_type_of_payment              in     varchar2  default hr_api.g_varchar2
1258   ,p_information_category         in     varchar2  default hr_api.g_varchar2
1259   ,p_information1                 in     varchar2  default hr_api.g_varchar2
1260   ,p_information2                 in     varchar2  default hr_api.g_varchar2
1261   ,p_information3                 in     varchar2  default hr_api.g_varchar2
1262   ,p_information4                 in     varchar2  default hr_api.g_varchar2
1263   ,p_information5                 in     varchar2  default hr_api.g_varchar2
1264   ,p_information6                 in     varchar2  default hr_api.g_varchar2
1265   ,p_information7                 in     varchar2  default hr_api.g_varchar2
1266   ,p_information8                 in     varchar2  default hr_api.g_varchar2
1267   ,p_information9                 in     varchar2  default hr_api.g_varchar2
1268   ,p_information10                in     varchar2  default hr_api.g_varchar2
1269   ,p_information11                in     varchar2  default hr_api.g_varchar2
1270   ,p_information12                in     varchar2  default hr_api.g_varchar2
1271   ,p_information13                in     varchar2  default hr_api.g_varchar2
1272   ,p_information14                in     varchar2  default hr_api.g_varchar2
1273   ,p_information15                in     varchar2  default hr_api.g_varchar2
1274   ,p_information16                in     varchar2  default hr_api.g_varchar2
1275   ,p_information17                in     varchar2  default hr_api.g_varchar2
1276   ,p_information18                in     varchar2  default hr_api.g_varchar2
1277   ,p_information19                in     varchar2  default hr_api.g_varchar2
1278   ,p_information20                in     varchar2  default hr_api.g_varchar2
1279   ,p_information21                in     varchar2  default hr_api.g_varchar2
1280   ,p_information22                in     varchar2  default hr_api.g_varchar2
1281   ,p_information23                in     varchar2  default hr_api.g_varchar2
1282   ,p_information24                in     varchar2  default hr_api.g_varchar2
1283   ,p_information25                in     varchar2  default hr_api.g_varchar2
1284   ,p_information26                in     varchar2  default hr_api.g_varchar2
1285   ,p_information27                in     varchar2  default hr_api.g_varchar2
1286   ,p_information28                in     varchar2  default hr_api.g_varchar2
1287   ,p_information29                in     varchar2  default hr_api.g_varchar2
1288   ,p_information30                in     varchar2  default hr_api.g_varchar2
1289   ,p_attribute_category           in     varchar2  default hr_api.g_varchar2
1290   ,p_attribute1                   in     varchar2  default hr_api.g_varchar2
1291   ,p_attribute2                   in     varchar2  default hr_api.g_varchar2
1292   ,p_attribute3                   in     varchar2  default hr_api.g_varchar2
1293   ,p_attribute4                   in     varchar2  default hr_api.g_varchar2
1294   ,p_attribute5                   in     varchar2  default hr_api.g_varchar2
1295   ,p_attribute6                   in     varchar2  default hr_api.g_varchar2
1296   ,p_attribute7                   in     varchar2  default hr_api.g_varchar2
1297   ,p_attribute8                   in     varchar2  default hr_api.g_varchar2
1298   ,p_attribute9                   in     varchar2  default hr_api.g_varchar2
1299   ,p_attribute10                  in     varchar2  default hr_api.g_varchar2
1300   ,p_attribute11                  in     varchar2  default hr_api.g_varchar2
1301   ,p_attribute12                  in     varchar2  default hr_api.g_varchar2
1302   ,p_attribute13                  in     varchar2  default hr_api.g_varchar2
1303   ,p_attribute14                  in     varchar2  default hr_api.g_varchar2
1304   ,p_attribute15                  in     varchar2  default hr_api.g_varchar2
1305   ,p_attribute16                  in     varchar2  default hr_api.g_varchar2
1306   ,p_attribute17                  in     varchar2  default hr_api.g_varchar2
1307   ,p_attribute18                  in     varchar2  default hr_api.g_varchar2
1308   ,p_attribute19                  in     varchar2  default hr_api.g_varchar2
1309   ,p_attribute20                  in     varchar2  default hr_api.g_varchar2
1310   ,p_attribute21                  in     varchar2  default hr_api.g_varchar2
1311   ,p_attribute22                  in     varchar2  default hr_api.g_varchar2
1312   ,p_attribute23                  in     varchar2  default hr_api.g_varchar2
1313   ,p_attribute24                  in     varchar2  default hr_api.g_varchar2
1314   ,p_attribute25                  in     varchar2  default hr_api.g_varchar2
1315   ,p_attribute26                  in     varchar2  default hr_api.g_varchar2
1316   ,p_attribute27                  in     varchar2  default hr_api.g_varchar2
1317   ,p_attribute28                  in     varchar2  default hr_api.g_varchar2
1318   ,p_attribute29                  in     varchar2  default hr_api.g_varchar2
1319   ,p_attribute30                  in     varchar2  default hr_api.g_varchar2
1320   ,p_reason_for_no_acco           in     varchar2  default hr_api.g_varchar2
1321   ,p_indemnity_currency           in     varchar2  default hr_api.g_varchar2
1322   ,p_effective_start_date            out nocopy date
1323   ,p_effective_end_date              out nocopy date
1324   ) is
1325 --
1326   l_rec         pqh_asa_shd.g_rec_type;
1327   l_proc        varchar2(72) := g_package||'upd';
1328 --
1329 Begin
1330   hr_utility.set_location('Entering:'||l_proc, 5);
1331   --
1332   -- Call conversion function to turn arguments into the
1333   -- l_rec structure.
1334   --
1335   l_rec :=
1336   pqh_asa_shd.convert_args
1337     (p_assignment_acco_id
1338     ,null
1339     ,null
1340     ,p_business_group_id
1341     ,p_assignment_id
1342     ,p_accommodation_given
1343     ,p_temporary_assignment
1344     ,p_accommodation_id
1345     ,p_acceptance_date
1346     ,p_moving_date
1347     ,p_refusal_date
1348     ,p_comments
1349     ,p_indemnity_entitlement
1350     ,p_indemnity_amount
1351     ,p_type_of_payment
1352     ,p_information_category
1353     ,p_information1
1354     ,p_information2
1355     ,p_information3
1356     ,p_information4
1357     ,p_information5
1358     ,p_information6
1359     ,p_information7
1360     ,p_information8
1361     ,p_information9
1362     ,p_information10
1363     ,p_information11
1364     ,p_information12
1365     ,p_information13
1366     ,p_information14
1367     ,p_information15
1368     ,p_information16
1369     ,p_information17
1370     ,p_information18
1371     ,p_information19
1372     ,p_information20
1373     ,p_information21
1374     ,p_information22
1375     ,p_information23
1376     ,p_information24
1377     ,p_information25
1378     ,p_information26
1379     ,p_information27
1380     ,p_information28
1381     ,p_information29
1382     ,p_information30
1383     ,p_attribute_category
1384     ,p_attribute1
1385     ,p_attribute2
1386     ,p_attribute3
1387     ,p_attribute4
1388     ,p_attribute5
1389     ,p_attribute6
1390     ,p_attribute7
1391     ,p_attribute8
1392     ,p_attribute9
1393     ,p_attribute10
1394     ,p_attribute11
1395     ,p_attribute12
1396     ,p_attribute13
1397     ,p_attribute14
1398     ,p_attribute15
1399     ,p_attribute16
1400     ,p_attribute17
1401     ,p_attribute18
1402     ,p_attribute19
1403     ,p_attribute20
1404     ,p_attribute21
1405     ,p_attribute22
1406     ,p_attribute23
1407     ,p_attribute24
1408     ,p_attribute25
1409     ,p_attribute26
1410     ,p_attribute27
1411     ,p_attribute28
1412     ,p_attribute29
1413     ,p_attribute30
1414     ,p_object_version_number
1415     ,p_reason_for_no_acco
1416     ,p_indemnity_currency
1417     );
1418   --
1419   -- Having converted the arguments into the
1420   -- plsql record structure we call the corresponding record
1421   -- business process.
1422   --
1423   pqh_asa_upd.upd
1424     (p_effective_date
1425     ,p_datetrack_mode
1426     ,l_rec
1427     );
1428   --
1429   -- Set the out parameters
1430   --
1431   p_object_version_number            := l_rec.object_version_number;
1432   p_effective_start_date             := l_rec.effective_start_date;
1433   p_effective_end_date               := l_rec.effective_end_date;
1434   --
1435   --
1436   hr_utility.set_location(' Leaving:'||l_proc, 10);
1437 End upd;
1438 --
1439 end pqh_asa_upd;