DBA Data[Home] [Help]

PACKAGE BODY: APPS.PER_REI_UPD

Source


1 Package Body per_rei_upd as
2 /* $Header: pereirhi.pkb 115.6 2003/10/07 19:01:25 ttagawa noship $ */
3 --
4 -- ----------------------------------------------------------------------------
5 -- |                     Private Global Definitions                           |
6 -- ----------------------------------------------------------------------------
7 --
8 g_package  varchar2(33) := '  per_rei_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 per_rei_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 => 'per_contact_extra_info_f'
79         ,p_base_key_column => 'contact_extra_info_id'
80         ,p_base_key_value  => p_rec.contact_extra_info_id
81         );
82     --
83     per_rei_shd.g_api_dml := true;  -- Set the api dml status
84     --
85     -- Update the per_contact_extra_info_f Row
86     --
87     update  per_contact_extra_info_f
88     set
89      contact_extra_info_id                = p_rec.contact_extra_info_id
90     ,contact_relationship_id              = p_rec.contact_relationship_id
91     ,information_type                     = p_rec.information_type
92     ,cei_information_category             = p_rec.cei_information_category
93     ,cei_information1                     = p_rec.cei_information1
94     ,cei_information2                     = p_rec.cei_information2
95     ,cei_information3                     = p_rec.cei_information3
96     ,cei_information4                     = p_rec.cei_information4
97     ,cei_information5                     = p_rec.cei_information5
98     ,cei_information6                     = p_rec.cei_information6
99     ,cei_information7                     = p_rec.cei_information7
100     ,cei_information8                     = p_rec.cei_information8
101     ,cei_information9                     = p_rec.cei_information9
102     ,cei_information10                    = p_rec.cei_information10
103     ,cei_information11                    = p_rec.cei_information11
104     ,cei_information12                    = p_rec.cei_information12
105     ,cei_information13                    = p_rec.cei_information13
106     ,cei_information14                    = p_rec.cei_information14
107     ,cei_information15                    = p_rec.cei_information15
108     ,cei_information16                    = p_rec.cei_information16
109     ,cei_information17                    = p_rec.cei_information17
110     ,cei_information18                    = p_rec.cei_information18
111     ,cei_information19                    = p_rec.cei_information19
112     ,cei_information20                    = p_rec.cei_information20
113     ,cei_information21                    = p_rec.cei_information21
114     ,cei_information22                    = p_rec.cei_information22
115     ,cei_information23                    = p_rec.cei_information23
116     ,cei_information24                    = p_rec.cei_information24
117     ,cei_information25                    = p_rec.cei_information25
118     ,cei_information26                    = p_rec.cei_information26
119     ,cei_information27                    = p_rec.cei_information27
120     ,cei_information28                    = p_rec.cei_information28
121     ,cei_information29                    = p_rec.cei_information29
122     ,cei_information30                    = p_rec.cei_information30
123     ,cei_attribute_category               = p_rec.cei_attribute_category
124     ,cei_attribute1                       = p_rec.cei_attribute1
125     ,cei_attribute2                       = p_rec.cei_attribute2
126     ,cei_attribute3                       = p_rec.cei_attribute3
127     ,cei_attribute4                       = p_rec.cei_attribute4
128     ,cei_attribute5                       = p_rec.cei_attribute5
129     ,cei_attribute6                       = p_rec.cei_attribute6
130     ,cei_attribute7                       = p_rec.cei_attribute7
131     ,cei_attribute8                       = p_rec.cei_attribute8
132     ,cei_attribute9                       = p_rec.cei_attribute9
133     ,cei_attribute10                      = p_rec.cei_attribute10
134     ,cei_attribute11                      = p_rec.cei_attribute11
135     ,cei_attribute12                      = p_rec.cei_attribute12
136     ,cei_attribute13                      = p_rec.cei_attribute13
137     ,cei_attribute14                      = p_rec.cei_attribute14
138     ,cei_attribute15                      = p_rec.cei_attribute15
139     ,cei_attribute16                      = p_rec.cei_attribute16
140     ,cei_attribute17                      = p_rec.cei_attribute17
141     ,cei_attribute18                      = p_rec.cei_attribute18
142     ,cei_attribute19                      = p_rec.cei_attribute19
143     ,cei_attribute20                      = p_rec.cei_attribute20
144     ,object_version_number                = p_rec.object_version_number
145     ,request_id                           = p_rec.request_id
146     ,program_application_id               = p_rec.program_application_id
147     ,program_id                           = p_rec.program_id
148     ,program_update_date                  = p_rec.program_update_date
149     where   contact_extra_info_id = p_rec.contact_extra_info_id
150     and     effective_start_date = p_validation_start_date
151     and     effective_end_date   = p_validation_end_date;
152     --
153     per_rei_shd.g_api_dml := false;   -- Unset the api dml status
154     --
155     -- Set the effective start and end dates
156     --
157     p_rec.effective_start_date := p_validation_start_date;
158     p_rec.effective_end_date   := p_validation_end_date;
159   End If;
160 --
161 hr_utility.set_location(' Leaving:'||l_proc, 15);
162 Exception
163   When hr_api.check_integrity_violated Then
164     -- A check constraint has been violated
165     per_rei_shd.g_api_dml := false;   -- Unset the api dml status
166     per_rei_shd.constraint_error
167       (p_constraint_name => hr_api.strip_constraint_name(SQLERRM));
168   When hr_api.unique_integrity_violated Then
169     -- Unique integrity has been violated
170     per_rei_shd.g_api_dml := false;   -- Unset the api dml status
171     per_rei_shd.constraint_error
172       (p_constraint_name => hr_api.strip_constraint_name(SQLERRM));
173   When Others Then
174     per_rei_shd.g_api_dml := false;   -- Unset the api dml status
175     Raise;
176 End dt_update_dml;
177 --
178 -- ----------------------------------------------------------------------------
179 -- |------------------------------< update_dml >------------------------------|
180 -- ----------------------------------------------------------------------------
181 -- {Start Of Comments}
182 --
183 -- Description:
184 --   This procedure calls the dt_update_dml control logic which handles
185 --   the actual datetrack dml.
186 --
187 -- Prerequisites:
188 --   This is an internal private procedure which must be called from the upd
189 --   procedure.
190 --
191 -- In Parameters:
192 --   A Pl/Sql record structre.
193 --
194 -- Post Success:
195 --   Processing contines.
196 --
197 -- Post Failure:
198 --   No specific error handling is required within this procedure.
199 --
200 -- Developer Implementation Notes:
201 --   The update 'set' arguments list should be modified if any of your
202 --   attributes are not updateable.
203 --
204 -- Access Status:
205 --   Internal Row Handler Use Only.
206 --
207 -- {End Of Comments}
208 -- ----------------------------------------------------------------------------
209 Procedure update_dml
210   (p_rec                      in out nocopy per_rei_shd.g_rec_type
211   ,p_effective_date           in date
212   ,p_datetrack_mode           in varchar2
213   ,p_validation_start_date    in date
214   ,p_validation_end_date      in date
215   ) is
216 --
217   l_proc        varchar2(72) := g_package||'update_dml';
218 --
219 Begin
220   hr_utility.set_location('Entering:'||l_proc, 5);
221   --
222   per_rei_upd.dt_update_dml
223     (p_rec                   => p_rec
224     ,p_effective_date        => p_effective_date
225     ,p_datetrack_mode        => p_datetrack_mode
226     ,p_validation_start_date => p_validation_start_date
227     ,p_validation_end_date   => p_validation_end_date
228     );
229   --
230   hr_utility.set_location(' Leaving:'||l_proc, 10);
231 End update_dml;
232 --
233 -- ----------------------------------------------------------------------------
234 -- |----------------------------< dt_pre_update >-----------------------------|
235 -- ----------------------------------------------------------------------------
236 -- {Start Of Comments}
237 --
238 -- Description:
239 --   The dt_pre_update procedure controls the execution
240 --   of dml for the datetrack modes of: UPDATE, UPDATE_OVERRIDE
241 --   and UPDATE_CHANGE_INSERT only. The execution required is as
242 --   follows:
243 --
244 --   1) Providing the datetrack update mode is not 'CORRECTION'
245 --      then set the effective end date of the current row (this
246 --      will be the validation_start_date - 1).
247 --   2) If the datetrack mode is 'UPDATE_OVERRIDE' then call the
248 --      corresponding delete_dml process to delete any future rows
249 --      where the effective_start_date is greater than or equal to
250 --      the validation_start_date.
251 --   3) Call the insert_dml process to insert the new updated row
252 --      details.
253 --
254 -- Prerequisites:
255 --   This is an internal procedure which is called from the
256 --   pre_update procedure.
257 --
258 -- In Parameters:
259 --
260 -- Post Success:
261 --   Processing continues.
262 --
263 -- Post Failure:
264 --   If an error has occurred, an error message and exception will be raised
265 --   but not handled.
266 --
267 -- Developer Implementation Notes:
268 --   This is an internal procedure which is required by Datetrack. Don't
269 --   remove or modify.
270 --
271 -- Access Status:
272 --   Internal Row Handler Use Only.
273 --
274 -- {End Of Comments}
275 -- ----------------------------------------------------------------------------
276 Procedure dt_pre_update
277   (p_rec                     in out nocopy     per_rei_shd.g_rec_type
278   ,p_effective_date          in date
279   ,p_datetrack_mode          in varchar2
280   ,p_validation_start_date   in date
281   ,p_validation_end_date     in date
282   ) is
283 --
284   l_proc                 varchar2(72) := g_package||'dt_pre_update';
285   l_dummy_version_number number;
286 --
287 Begin
288   hr_utility.set_location('Entering:'||l_proc, 5);
289   If (p_datetrack_mode <> hr_api.g_correction) then
290     --
291     -- Update the current effective end date
292     --
293     per_rei_shd.upd_effective_end_date
294       (p_effective_date         => p_effective_date
295       ,p_base_key_value         => p_rec.contact_extra_info_id
296       ,p_new_effective_end_date => (p_validation_start_date - 1)
297       ,p_validation_start_date  => p_validation_start_date
298       ,p_validation_end_date    => p_validation_end_date
299       ,p_object_version_number  => l_dummy_version_number
300       );
301     --
302     If (p_datetrack_mode = hr_api.g_update_override) then
303       --
304       -- As the datetrack mode is 'UPDATE_OVERRIDE' then we must
305       -- delete any future rows
306       --
307       per_rei_del.delete_dml
308         (p_rec                   => p_rec
309         ,p_effective_date        => p_effective_date
310         ,p_datetrack_mode        => p_datetrack_mode
311         ,p_validation_start_date => p_validation_start_date
312         ,p_validation_end_date   => p_validation_end_date
313         );
314     End If;
315     --
316     -- We must now insert the updated row
317     --
318     per_rei_ins.insert_dml
319       (p_rec                    => p_rec
320       ,p_effective_date         => p_effective_date
321       ,p_datetrack_mode         => p_datetrack_mode
322       ,p_validation_start_date  => p_validation_start_date
323       ,p_validation_end_date    => p_validation_end_date
324       );
325   End If;
326   hr_utility.set_location(' Leaving:'||l_proc, 20);
327 End dt_pre_update;
328 --
329 -- ----------------------------------------------------------------------------
330 -- |------------------------------< pre_update >------------------------------|
331 -- ----------------------------------------------------------------------------
332 -- {Start Of Comments}
333 --
334 -- Description:
335 --   This private procedure contains any processing which is required before
336 --   the update dml.
337 --
338 -- Prerequisites:
339 --   This is an internal procedure which is called from the upd procedure.
340 --
341 -- In Parameters:
342 --   A Pl/Sql record structure.
343 --
344 -- Post Success:
345 --   Processing continues.
346 --
347 -- Post Failure:
348 --   If an error has occurred, an error message and exception will be raised
349 --   but not handled.
350 -- Developer Implementation Notes:
351 --   Any pre-processing required before the update dml is issued should be
352 --   coded within this procedure. It is important to note that any 3rd party
353 --   maintenance should be reviewed before placing in this procedure. The call
354 --   to the dt_update_dml procedure should NOT be removed.
355 --
356 -- Access Status:
357 --   Internal Row Handler Use Only.
358 --
359 -- {End Of Comments}
360 -- ----------------------------------------------------------------------------
361 Procedure pre_update
362   (p_rec                   in out nocopy per_rei_shd.g_rec_type
363   ,p_effective_date        in date
364   ,p_datetrack_mode        in varchar2
365   ,p_validation_start_date in date
366   ,p_validation_end_date   in date
367   ) is
368 --
369   l_proc        varchar2(72) := g_package||'pre_update';
370 --
371 Begin
372   hr_utility.set_location('Entering:'||l_proc, 5);
373   --
374   --
375   --
376   dt_pre_update
377     (p_rec                   => p_rec
378     ,p_effective_date        => p_effective_date
379     ,p_datetrack_mode        => p_datetrack_mode
380     ,p_validation_start_date => p_validation_start_date
381     ,p_validation_end_date   => p_validation_end_date
382     );
383   --
384   hr_utility.set_location(' Leaving:'||l_proc, 10);
385 End pre_update;
386 --
387 -- ----------------------------------------------------------------------------
388 -- |----------------------------< post_update >-------------------------------|
389 -- ----------------------------------------------------------------------------
390 -- {Start Of Comments}
391 --
392 -- Description:
393 --   This private procedure contains any processing which is required after
394 --   the update dml.
395 --
396 -- Prerequisites:
397 --   This is an internal procedure which is called from the upd procedure.
398 --
399 -- In Parameters:
400 --   A Pl/Sql record structure.
401 --
402 -- Post Success:
403 --   Processing continues.
404 --
405 -- Post Failure:
406 --   If an error has occurred, an error message and exception will be raised
407 --   but not handled.
408 --
409 -- Developer Implementation Notes:
410 --   Any post-processing required after the update dml is issued should be
411 --   coded within this procedure. It is important to note that any 3rd party
412 --   maintenance should be reviewed before placing in this procedure.
413 --
414 -- Access Status:
415 --   Internal Row Handler Use Only.
416 --
417 -- {End Of Comments}
418 -- ----------------------------------------------------------------------------
419 Procedure post_update
420   (p_rec                   in per_rei_shd.g_rec_type
421   ,p_effective_date        in date
422   ,p_datetrack_mode        in varchar2
423   ,p_validation_start_date in date
424   ,p_validation_end_date   in date
425   ) is
426 --
427   l_proc        varchar2(72) := g_package||'post_update';
428 --
429 Begin
430   hr_utility.set_location('Entering:'||l_proc, 5);
431   begin
432     --
433     per_rei_rku.after_update
434       (p_effective_date
435       => p_effective_date
436       ,p_datetrack_mode
437       => p_datetrack_mode
438       ,p_validation_start_date
439       => p_validation_start_date
440       ,p_validation_end_date
441       => p_validation_end_date
442       ,p_contact_extra_info_id
443       => p_rec.contact_extra_info_id
444       ,p_effective_start_date
445       => p_rec.effective_start_date
446       ,p_effective_end_date
447       => p_rec.effective_end_date
448       ,p_contact_relationship_id
449       => p_rec.contact_relationship_id
450       ,p_information_type
451       => p_rec.information_type
452       ,p_cei_information_category
453       => p_rec.cei_information_category
454       ,p_cei_information1
455       => p_rec.cei_information1
456       ,p_cei_information2
457       => p_rec.cei_information2
458       ,p_cei_information3
459       => p_rec.cei_information3
460       ,p_cei_information4
461       => p_rec.cei_information4
462       ,p_cei_information5
463       => p_rec.cei_information5
464       ,p_cei_information6
465       => p_rec.cei_information6
466       ,p_cei_information7
467       => p_rec.cei_information7
468       ,p_cei_information8
469       => p_rec.cei_information8
470       ,p_cei_information9
471       => p_rec.cei_information9
472       ,p_cei_information10
473       => p_rec.cei_information10
474       ,p_cei_information11
475       => p_rec.cei_information11
476       ,p_cei_information12
477       => p_rec.cei_information12
478       ,p_cei_information13
479       => p_rec.cei_information13
480       ,p_cei_information14
481       => p_rec.cei_information14
482       ,p_cei_information15
483       => p_rec.cei_information15
484       ,p_cei_information16
485       => p_rec.cei_information16
486       ,p_cei_information17
487       => p_rec.cei_information17
488       ,p_cei_information18
489       => p_rec.cei_information18
490       ,p_cei_information19
491       => p_rec.cei_information19
492       ,p_cei_information20
493       => p_rec.cei_information20
494       ,p_cei_information21
495       => p_rec.cei_information21
496       ,p_cei_information22
497       => p_rec.cei_information22
498       ,p_cei_information23
499       => p_rec.cei_information23
500       ,p_cei_information24
501       => p_rec.cei_information24
502       ,p_cei_information25
503       => p_rec.cei_information25
504       ,p_cei_information26
505       => p_rec.cei_information26
506       ,p_cei_information27
507       => p_rec.cei_information27
508       ,p_cei_information28
509       => p_rec.cei_information28
510       ,p_cei_information29
511       => p_rec.cei_information29
512       ,p_cei_information30
513       => p_rec.cei_information30
514       ,p_cei_attribute_category
515       => p_rec.cei_attribute_category
516       ,p_cei_attribute1
517       => p_rec.cei_attribute1
518       ,p_cei_attribute2
519       => p_rec.cei_attribute2
520       ,p_cei_attribute3
521       => p_rec.cei_attribute3
522       ,p_cei_attribute4
523       => p_rec.cei_attribute4
524       ,p_cei_attribute5
525       => p_rec.cei_attribute5
526       ,p_cei_attribute6
527       => p_rec.cei_attribute6
528       ,p_cei_attribute7
529       => p_rec.cei_attribute7
530       ,p_cei_attribute8
531       => p_rec.cei_attribute8
532       ,p_cei_attribute9
533       => p_rec.cei_attribute9
534       ,p_cei_attribute10
535       => p_rec.cei_attribute10
536       ,p_cei_attribute11
537       => p_rec.cei_attribute11
538       ,p_cei_attribute12
539       => p_rec.cei_attribute12
540       ,p_cei_attribute13
541       => p_rec.cei_attribute13
542       ,p_cei_attribute14
543       => p_rec.cei_attribute14
544       ,p_cei_attribute15
545       => p_rec.cei_attribute15
546       ,p_cei_attribute16
547       => p_rec.cei_attribute16
548       ,p_cei_attribute17
549       => p_rec.cei_attribute17
550       ,p_cei_attribute18
551       => p_rec.cei_attribute18
552       ,p_cei_attribute19
553       => p_rec.cei_attribute19
554       ,p_cei_attribute20
555       => p_rec.cei_attribute20
556       ,p_object_version_number
557       => p_rec.object_version_number
558       ,p_request_id
559       => p_rec.request_id
560       ,p_program_application_id
561       => p_rec.program_application_id
562       ,p_program_id
563       => p_rec.program_id
564       ,p_program_update_date
565       => p_rec.program_update_date
566       ,p_effective_start_date_o
567       => per_rei_shd.g_old_rec.effective_start_date
568       ,p_effective_end_date_o
569       => per_rei_shd.g_old_rec.effective_end_date
570       ,p_contact_relationship_id_o
571       => per_rei_shd.g_old_rec.contact_relationship_id
572       ,p_information_type_o
573       => per_rei_shd.g_old_rec.information_type
574       ,p_cei_information_category_o
575       => per_rei_shd.g_old_rec.cei_information_category
576       ,p_cei_information1_o
577       => per_rei_shd.g_old_rec.cei_information1
578       ,p_cei_information2_o
579       => per_rei_shd.g_old_rec.cei_information2
580       ,p_cei_information3_o
581       => per_rei_shd.g_old_rec.cei_information3
582       ,p_cei_information4_o
583       => per_rei_shd.g_old_rec.cei_information4
584       ,p_cei_information5_o
585       => per_rei_shd.g_old_rec.cei_information5
586       ,p_cei_information6_o
587       => per_rei_shd.g_old_rec.cei_information6
588       ,p_cei_information7_o
589       => per_rei_shd.g_old_rec.cei_information7
590       ,p_cei_information8_o
591       => per_rei_shd.g_old_rec.cei_information8
592       ,p_cei_information9_o
593       => per_rei_shd.g_old_rec.cei_information9
594       ,p_cei_information10_o
595       => per_rei_shd.g_old_rec.cei_information10
596       ,p_cei_information11_o
597       => per_rei_shd.g_old_rec.cei_information11
598       ,p_cei_information12_o
599       => per_rei_shd.g_old_rec.cei_information12
600       ,p_cei_information13_o
601       => per_rei_shd.g_old_rec.cei_information13
602       ,p_cei_information14_o
603       => per_rei_shd.g_old_rec.cei_information14
604       ,p_cei_information15_o
605       => per_rei_shd.g_old_rec.cei_information15
606       ,p_cei_information16_o
607       => per_rei_shd.g_old_rec.cei_information16
608       ,p_cei_information17_o
609       => per_rei_shd.g_old_rec.cei_information17
610       ,p_cei_information18_o
611       => per_rei_shd.g_old_rec.cei_information18
612       ,p_cei_information19_o
613       => per_rei_shd.g_old_rec.cei_information19
614       ,p_cei_information20_o
615       => per_rei_shd.g_old_rec.cei_information20
616       ,p_cei_information21_o
617       => per_rei_shd.g_old_rec.cei_information21
618       ,p_cei_information22_o
619       => per_rei_shd.g_old_rec.cei_information22
620       ,p_cei_information23_o
621       => per_rei_shd.g_old_rec.cei_information23
622       ,p_cei_information24_o
623       => per_rei_shd.g_old_rec.cei_information24
624       ,p_cei_information25_o
625       => per_rei_shd.g_old_rec.cei_information25
626       ,p_cei_information26_o
627       => per_rei_shd.g_old_rec.cei_information26
628       ,p_cei_information27_o
629       => per_rei_shd.g_old_rec.cei_information27
630       ,p_cei_information28_o
631       => per_rei_shd.g_old_rec.cei_information28
632       ,p_cei_information29_o
633       => per_rei_shd.g_old_rec.cei_information29
634       ,p_cei_information30_o
635       => per_rei_shd.g_old_rec.cei_information30
636       ,p_cei_attribute_category_o
637       => per_rei_shd.g_old_rec.cei_attribute_category
638       ,p_cei_attribute1_o
639       => per_rei_shd.g_old_rec.cei_attribute1
640       ,p_cei_attribute2_o
641       => per_rei_shd.g_old_rec.cei_attribute2
642       ,p_cei_attribute3_o
643       => per_rei_shd.g_old_rec.cei_attribute3
644       ,p_cei_attribute4_o
645       => per_rei_shd.g_old_rec.cei_attribute4
646       ,p_cei_attribute5_o
647       => per_rei_shd.g_old_rec.cei_attribute5
648       ,p_cei_attribute6_o
649       => per_rei_shd.g_old_rec.cei_attribute6
650       ,p_cei_attribute7_o
651       => per_rei_shd.g_old_rec.cei_attribute7
652       ,p_cei_attribute8_o
653       => per_rei_shd.g_old_rec.cei_attribute8
654       ,p_cei_attribute9_o
655       => per_rei_shd.g_old_rec.cei_attribute9
656       ,p_cei_attribute10_o
657       => per_rei_shd.g_old_rec.cei_attribute10
658       ,p_cei_attribute11_o
659       => per_rei_shd.g_old_rec.cei_attribute11
660       ,p_cei_attribute12_o
661       => per_rei_shd.g_old_rec.cei_attribute12
662       ,p_cei_attribute13_o
663       => per_rei_shd.g_old_rec.cei_attribute13
664       ,p_cei_attribute14_o
665       => per_rei_shd.g_old_rec.cei_attribute14
666       ,p_cei_attribute15_o
667       => per_rei_shd.g_old_rec.cei_attribute15
668       ,p_cei_attribute16_o
669       => per_rei_shd.g_old_rec.cei_attribute16
670       ,p_cei_attribute17_o
671       => per_rei_shd.g_old_rec.cei_attribute17
672       ,p_cei_attribute18_o
673       => per_rei_shd.g_old_rec.cei_attribute18
674       ,p_cei_attribute19_o
675       => per_rei_shd.g_old_rec.cei_attribute19
676       ,p_cei_attribute20_o
677       => per_rei_shd.g_old_rec.cei_attribute20
678       ,p_object_version_number_o
679       => per_rei_shd.g_old_rec.object_version_number
680       ,p_request_id_o
681       => per_rei_shd.g_old_rec.request_id
682       ,p_program_application_id_o
683       => per_rei_shd.g_old_rec.program_application_id
684       ,p_program_id_o
685       => per_rei_shd.g_old_rec.program_id
686       ,p_program_update_date_o
687       => per_rei_shd.g_old_rec.program_update_date
688       );
689     --
690   exception
691     --
692     when hr_api.cannot_find_prog_unit then
693       --
694       hr_api.cannot_find_prog_unit_error
695         (p_module_name => 'PER_CONTACT_EXTRA_INFO_F'
696         ,p_hook_type   => 'AU');
697       --
698   end;
699   --
700   hr_utility.set_location(' Leaving:'||l_proc, 10);
701 End post_update;
702 --
703 -- ----------------------------------------------------------------------------
704 -- |-----------------------------< convert_defs >-----------------------------|
705 -- ----------------------------------------------------------------------------
706 -- {Start Of Comments}
707 --
708 -- Description:
709 --   The Convert_Defs procedure has one very important function:
710 --   It must return the record structure for the row with all system defaulted
711 --   values converted into its corresponding parameter value for update. When
712 --   we attempt to update a row through the Upd process , certain
713 --   parameters can be defaulted which enables flexibility in the calling of
714 --   the upd process (e.g. only attributes which need to be updated need to be
715 --   specified). For the upd process to determine which attributes
716 --   have NOT been specified we need to check if the parameter has a reserved
717 --   system default value. Therefore, for all parameters which have a
718 --   corresponding reserved system default mechanism specified we need to
719 --   check if a system default is being used. If a system default is being
720 --   used then we convert the defaulted value into its corresponding attribute
721 --   value held in the g_old_rec data structure.
722 --
723 -- Prerequisites:
724 --   This private function can only be called from the upd process.
725 --
726 -- In Parameters:
727 --   A Pl/Sql record structure.
728 --
729 -- Post Success:
730 --   The record structure will be returned with all system defaulted parameter
731 --   values converted into its current row attribute value.
732 --
733 -- Post Failure:
734 --   No direct error handling is required within this function. Any possible
735 --   errors within this procedure will be a PL/SQL value error due to
736 --   conversion of datatypes or data lengths.
737 --
738 -- Developer Implementation Notes:
739 --   None.
740 --
741 -- Access Status:
742 --   Internal Row Handler Use Only.
743 --
744 -- {End Of Comments}
745 -- ----------------------------------------------------------------------------
746 Procedure convert_defs
747   (p_rec in out nocopy per_rei_shd.g_rec_type
748   ) is
749 --
750 Begin
751   --
752   -- We must now examine each argument value in the
753   -- p_rec plsql record structure
754   -- to see if a system default is being used. If a system default
755   -- is being used then we must set to the 'current' argument value.
756   --
757   If (p_rec.contact_relationship_id = hr_api.g_number) then
758     p_rec.contact_relationship_id :=
759     per_rei_shd.g_old_rec.contact_relationship_id;
760   End If;
761   If (p_rec.information_type = hr_api.g_varchar2) then
762     p_rec.information_type :=
763     per_rei_shd.g_old_rec.information_type;
764   End If;
765   If (p_rec.cei_information_category = hr_api.g_varchar2) then
766     p_rec.cei_information_category :=
767     per_rei_shd.g_old_rec.cei_information_category;
768   End If;
769   If (p_rec.cei_information1 = hr_api.g_varchar2) then
770     p_rec.cei_information1 :=
771     per_rei_shd.g_old_rec.cei_information1;
772   End If;
773   If (p_rec.cei_information2 = hr_api.g_varchar2) then
774     p_rec.cei_information2 :=
775     per_rei_shd.g_old_rec.cei_information2;
776   End If;
777   If (p_rec.cei_information3 = hr_api.g_varchar2) then
778     p_rec.cei_information3 :=
779     per_rei_shd.g_old_rec.cei_information3;
780   End If;
781   If (p_rec.cei_information4 = hr_api.g_varchar2) then
782     p_rec.cei_information4 :=
783     per_rei_shd.g_old_rec.cei_information4;
784   End If;
785   If (p_rec.cei_information5 = hr_api.g_varchar2) then
786     p_rec.cei_information5 :=
787     per_rei_shd.g_old_rec.cei_information5;
788   End If;
789   If (p_rec.cei_information6 = hr_api.g_varchar2) then
790     p_rec.cei_information6 :=
791     per_rei_shd.g_old_rec.cei_information6;
792   End If;
793   If (p_rec.cei_information7 = hr_api.g_varchar2) then
794     p_rec.cei_information7 :=
795     per_rei_shd.g_old_rec.cei_information7;
796   End If;
797   If (p_rec.cei_information8 = hr_api.g_varchar2) then
798     p_rec.cei_information8 :=
799     per_rei_shd.g_old_rec.cei_information8;
800   End If;
801   If (p_rec.cei_information9 = hr_api.g_varchar2) then
802     p_rec.cei_information9 :=
803     per_rei_shd.g_old_rec.cei_information9;
804   End If;
805   If (p_rec.cei_information10 = hr_api.g_varchar2) then
806     p_rec.cei_information10 :=
807     per_rei_shd.g_old_rec.cei_information10;
808   End If;
809   If (p_rec.cei_information11 = hr_api.g_varchar2) then
810     p_rec.cei_information11 :=
811     per_rei_shd.g_old_rec.cei_information11;
812   End If;
813   If (p_rec.cei_information12 = hr_api.g_varchar2) then
814     p_rec.cei_information12 :=
815     per_rei_shd.g_old_rec.cei_information12;
816   End If;
817   If (p_rec.cei_information13 = hr_api.g_varchar2) then
818     p_rec.cei_information13 :=
819     per_rei_shd.g_old_rec.cei_information13;
820   End If;
821   If (p_rec.cei_information14 = hr_api.g_varchar2) then
822     p_rec.cei_information14 :=
823     per_rei_shd.g_old_rec.cei_information14;
824   End If;
825   If (p_rec.cei_information15 = hr_api.g_varchar2) then
826     p_rec.cei_information15 :=
827     per_rei_shd.g_old_rec.cei_information15;
828   End If;
829   If (p_rec.cei_information16 = hr_api.g_varchar2) then
830     p_rec.cei_information16 :=
831     per_rei_shd.g_old_rec.cei_information16;
832   End If;
833   If (p_rec.cei_information17 = hr_api.g_varchar2) then
834     p_rec.cei_information17 :=
835     per_rei_shd.g_old_rec.cei_information17;
836   End If;
837   If (p_rec.cei_information18 = hr_api.g_varchar2) then
838     p_rec.cei_information18 :=
839     per_rei_shd.g_old_rec.cei_information18;
840   End If;
841   If (p_rec.cei_information19 = hr_api.g_varchar2) then
842     p_rec.cei_information19 :=
843     per_rei_shd.g_old_rec.cei_information19;
844   End If;
845   If (p_rec.cei_information20 = hr_api.g_varchar2) then
846     p_rec.cei_information20 :=
847     per_rei_shd.g_old_rec.cei_information20;
848   End If;
849   If (p_rec.cei_information21 = hr_api.g_varchar2) then
850     p_rec.cei_information21 :=
851     per_rei_shd.g_old_rec.cei_information21;
852   End If;
853   If (p_rec.cei_information22 = hr_api.g_varchar2) then
854     p_rec.cei_information22 :=
855     per_rei_shd.g_old_rec.cei_information22;
856   End If;
857   If (p_rec.cei_information23 = hr_api.g_varchar2) then
858     p_rec.cei_information23 :=
859     per_rei_shd.g_old_rec.cei_information23;
860   End If;
861   If (p_rec.cei_information24 = hr_api.g_varchar2) then
862     p_rec.cei_information24 :=
863     per_rei_shd.g_old_rec.cei_information24;
864   End If;
865   If (p_rec.cei_information25 = hr_api.g_varchar2) then
866     p_rec.cei_information25 :=
867     per_rei_shd.g_old_rec.cei_information25;
868   End If;
869   If (p_rec.cei_information26 = hr_api.g_varchar2) then
870     p_rec.cei_information26 :=
871     per_rei_shd.g_old_rec.cei_information26;
872   End If;
873   If (p_rec.cei_information27 = hr_api.g_varchar2) then
874     p_rec.cei_information27 :=
875     per_rei_shd.g_old_rec.cei_information27;
876   End If;
877   If (p_rec.cei_information28 = hr_api.g_varchar2) then
878     p_rec.cei_information28 :=
879     per_rei_shd.g_old_rec.cei_information28;
880   End If;
881   If (p_rec.cei_information29 = hr_api.g_varchar2) then
882     p_rec.cei_information29 :=
883     per_rei_shd.g_old_rec.cei_information29;
884   End If;
885   If (p_rec.cei_information30 = hr_api.g_varchar2) then
886     p_rec.cei_information30 :=
887     per_rei_shd.g_old_rec.cei_information30;
888   End If;
889   If (p_rec.cei_attribute_category = hr_api.g_varchar2) then
890     p_rec.cei_attribute_category :=
891     per_rei_shd.g_old_rec.cei_attribute_category;
892   End If;
893   If (p_rec.cei_attribute1 = hr_api.g_varchar2) then
894     p_rec.cei_attribute1 :=
895     per_rei_shd.g_old_rec.cei_attribute1;
896   End If;
897   If (p_rec.cei_attribute2 = hr_api.g_varchar2) then
898     p_rec.cei_attribute2 :=
899     per_rei_shd.g_old_rec.cei_attribute2;
900   End If;
901   If (p_rec.cei_attribute3 = hr_api.g_varchar2) then
902     p_rec.cei_attribute3 :=
903     per_rei_shd.g_old_rec.cei_attribute3;
904   End If;
905   If (p_rec.cei_attribute4 = hr_api.g_varchar2) then
906     p_rec.cei_attribute4 :=
907     per_rei_shd.g_old_rec.cei_attribute4;
908   End If;
909   If (p_rec.cei_attribute5 = hr_api.g_varchar2) then
910     p_rec.cei_attribute5 :=
911     per_rei_shd.g_old_rec.cei_attribute5;
912   End If;
913   If (p_rec.cei_attribute6 = hr_api.g_varchar2) then
914     p_rec.cei_attribute6 :=
915     per_rei_shd.g_old_rec.cei_attribute6;
916   End If;
917   If (p_rec.cei_attribute7 = hr_api.g_varchar2) then
918     p_rec.cei_attribute7 :=
919     per_rei_shd.g_old_rec.cei_attribute7;
920   End If;
921   If (p_rec.cei_attribute8 = hr_api.g_varchar2) then
922     p_rec.cei_attribute8 :=
923     per_rei_shd.g_old_rec.cei_attribute8;
924   End If;
925   If (p_rec.cei_attribute9 = hr_api.g_varchar2) then
926     p_rec.cei_attribute9 :=
927     per_rei_shd.g_old_rec.cei_attribute9;
928   End If;
929   If (p_rec.cei_attribute10 = hr_api.g_varchar2) then
930     p_rec.cei_attribute10 :=
931     per_rei_shd.g_old_rec.cei_attribute10;
932   End If;
933   If (p_rec.cei_attribute11 = hr_api.g_varchar2) then
934     p_rec.cei_attribute11 :=
935     per_rei_shd.g_old_rec.cei_attribute11;
936   End If;
937   If (p_rec.cei_attribute12 = hr_api.g_varchar2) then
938     p_rec.cei_attribute12 :=
939     per_rei_shd.g_old_rec.cei_attribute12;
940   End If;
941   If (p_rec.cei_attribute13 = hr_api.g_varchar2) then
942     p_rec.cei_attribute13 :=
943     per_rei_shd.g_old_rec.cei_attribute13;
944   End If;
945   If (p_rec.cei_attribute14 = hr_api.g_varchar2) then
946     p_rec.cei_attribute14 :=
947     per_rei_shd.g_old_rec.cei_attribute14;
948   End If;
949   If (p_rec.cei_attribute15 = hr_api.g_varchar2) then
950     p_rec.cei_attribute15 :=
951     per_rei_shd.g_old_rec.cei_attribute15;
952   End If;
953   If (p_rec.cei_attribute16 = hr_api.g_varchar2) then
954     p_rec.cei_attribute16 :=
955     per_rei_shd.g_old_rec.cei_attribute16;
956   End If;
957   If (p_rec.cei_attribute17 = hr_api.g_varchar2) then
958     p_rec.cei_attribute17 :=
959     per_rei_shd.g_old_rec.cei_attribute17;
960   End If;
961   If (p_rec.cei_attribute18 = hr_api.g_varchar2) then
962     p_rec.cei_attribute18 :=
963     per_rei_shd.g_old_rec.cei_attribute18;
964   End If;
965   If (p_rec.cei_attribute19 = hr_api.g_varchar2) then
966     p_rec.cei_attribute19 :=
967     per_rei_shd.g_old_rec.cei_attribute19;
968   End If;
969   If (p_rec.cei_attribute20 = hr_api.g_varchar2) then
970     p_rec.cei_attribute20 :=
971     per_rei_shd.g_old_rec.cei_attribute20;
972   End If;
973   If (p_rec.request_id = hr_api.g_number) then
974     p_rec.request_id :=
975     per_rei_shd.g_old_rec.request_id;
976   End If;
977   If (p_rec.program_application_id = hr_api.g_number) then
978     p_rec.program_application_id :=
979     per_rei_shd.g_old_rec.program_application_id;
980   End If;
981   If (p_rec.program_id = hr_api.g_number) then
982     p_rec.program_id :=
983     per_rei_shd.g_old_rec.program_id;
984   End If;
985   If (p_rec.program_update_date = hr_api.g_date) then
986     p_rec.program_update_date :=
987     per_rei_shd.g_old_rec.program_update_date;
988   End If;
989   --
990 End convert_defs;
991 --
992 -- ----------------------------------------------------------------------------
993 -- |---------------------------------< upd >----------------------------------|
994 -- ----------------------------------------------------------------------------
995 Procedure upd
996   (p_effective_date in     date
997   ,p_datetrack_mode in     varchar2
998   ,p_rec            in out nocopy per_rei_shd.g_rec_type
999   ) is
1000 --
1001   l_proc                        varchar2(72) := g_package||'upd';
1002   l_validation_start_date       date;
1003   l_validation_end_date         date;
1004 --
1005 Begin
1006   hr_utility.set_location('Entering:'||l_proc, 5);
1007   --
1008   -- Ensure that the DateTrack update mode is valid
1009   --
1010   dt_api.validate_dt_upd_mode(p_datetrack_mode => p_datetrack_mode);
1011   --
1012   -- We must lock the row which we need to update.
1013   --
1014   per_rei_shd.lck
1015     (p_effective_date                   => p_effective_date
1016     ,p_datetrack_mode                   => p_datetrack_mode
1017     ,p_contact_extra_info_id            => p_rec.contact_extra_info_id
1018     ,p_object_version_number            => p_rec.object_version_number
1019     ,p_validation_start_date            => l_validation_start_date
1020     ,p_validation_end_date              => l_validation_end_date
1021     );
1022   --
1023   -- 1. During an update system defaults are used to determine if
1024   --    arguments have been defaulted or not. We must therefore
1025   --    derive the full record structure values to be updated.
1026   --
1027   -- 2. Call the supporting update validate operations.
1028   --
1029   per_rei_upd.convert_defs(p_rec);
1030   --
1031   per_rei_bus.update_validate
1032     (p_rec                              => p_rec
1033     ,p_effective_date                   => p_effective_date
1034     ,p_datetrack_mode                   => p_datetrack_mode
1035     ,p_validation_start_date            => l_validation_start_date
1036     ,p_validation_end_date              => l_validation_end_date
1037     );
1038   --
1039   -- Call to raise any errors on multi-message list
1040   hr_multi_message.end_validation_set;
1041   --
1042   -- Call the supporting pre-update operation
1043   --
1044   pre_update
1045     (p_rec                              => p_rec
1046     ,p_effective_date                   => p_effective_date
1047     ,p_datetrack_mode                   => p_datetrack_mode
1048     ,p_validation_start_date            => l_validation_start_date
1049     ,p_validation_end_date              => l_validation_end_date
1050     );
1051   --
1052   -- Update the row.
1053   --
1054   update_dml
1055     (p_rec                              => p_rec
1056     ,p_effective_date                   => p_effective_date
1057     ,p_datetrack_mode                   => p_datetrack_mode
1058     ,p_validation_start_date            => l_validation_start_date
1059     ,p_validation_end_date                  => l_validation_end_date
1060     );
1061   --
1062   -- Call the supporting post-update operation
1063   --
1064   post_update
1065     (p_rec                              => p_rec
1066     ,p_effective_date                   => p_effective_date
1067     ,p_datetrack_mode                   => p_datetrack_mode
1068     ,p_validation_start_date            => l_validation_start_date
1069     ,p_validation_end_date              => l_validation_end_date
1070     );
1071   --
1072   -- Call to raise any errors on multi-message list
1073   hr_multi_message.end_validation_set;
1074 End upd;
1075 --
1076 -- ----------------------------------------------------------------------------
1077 -- |------------------------------< upd >-------------------------------------|
1078 -- ----------------------------------------------------------------------------
1079 Procedure upd
1080   (p_effective_date               in     date
1081   ,p_datetrack_mode               in     varchar2
1082   ,p_contact_extra_info_id        in     number
1083   ,p_object_version_number        in out nocopy number
1084   ,p_contact_relationship_id      in     number    default hr_api.g_number
1085   ,p_information_type             in     varchar2  default hr_api.g_varchar2
1086   ,p_cei_information_category     in     varchar2  default hr_api.g_varchar2
1087   ,p_cei_information1             in     varchar2  default hr_api.g_varchar2
1088   ,p_cei_information2             in     varchar2  default hr_api.g_varchar2
1089   ,p_cei_information3             in     varchar2  default hr_api.g_varchar2
1090   ,p_cei_information4             in     varchar2  default hr_api.g_varchar2
1091   ,p_cei_information5             in     varchar2  default hr_api.g_varchar2
1092   ,p_cei_information6             in     varchar2  default hr_api.g_varchar2
1093   ,p_cei_information7             in     varchar2  default hr_api.g_varchar2
1094   ,p_cei_information8             in     varchar2  default hr_api.g_varchar2
1095   ,p_cei_information9             in     varchar2  default hr_api.g_varchar2
1096   ,p_cei_information10            in     varchar2  default hr_api.g_varchar2
1097   ,p_cei_information11            in     varchar2  default hr_api.g_varchar2
1098   ,p_cei_information12            in     varchar2  default hr_api.g_varchar2
1099   ,p_cei_information13            in     varchar2  default hr_api.g_varchar2
1100   ,p_cei_information14            in     varchar2  default hr_api.g_varchar2
1101   ,p_cei_information15            in     varchar2  default hr_api.g_varchar2
1102   ,p_cei_information16            in     varchar2  default hr_api.g_varchar2
1103   ,p_cei_information17            in     varchar2  default hr_api.g_varchar2
1104   ,p_cei_information18            in     varchar2  default hr_api.g_varchar2
1105   ,p_cei_information19            in     varchar2  default hr_api.g_varchar2
1106   ,p_cei_information20            in     varchar2  default hr_api.g_varchar2
1107   ,p_cei_information21            in     varchar2  default hr_api.g_varchar2
1108   ,p_cei_information22            in     varchar2  default hr_api.g_varchar2
1109   ,p_cei_information23            in     varchar2  default hr_api.g_varchar2
1110   ,p_cei_information24            in     varchar2  default hr_api.g_varchar2
1111   ,p_cei_information25            in     varchar2  default hr_api.g_varchar2
1112   ,p_cei_information26            in     varchar2  default hr_api.g_varchar2
1113   ,p_cei_information27            in     varchar2  default hr_api.g_varchar2
1114   ,p_cei_information28            in     varchar2  default hr_api.g_varchar2
1115   ,p_cei_information29            in     varchar2  default hr_api.g_varchar2
1116   ,p_cei_information30            in     varchar2  default hr_api.g_varchar2
1117   ,p_cei_attribute_category       in     varchar2  default hr_api.g_varchar2
1118   ,p_cei_attribute1               in     varchar2  default hr_api.g_varchar2
1119   ,p_cei_attribute2               in     varchar2  default hr_api.g_varchar2
1120   ,p_cei_attribute3               in     varchar2  default hr_api.g_varchar2
1121   ,p_cei_attribute4               in     varchar2  default hr_api.g_varchar2
1122   ,p_cei_attribute5               in     varchar2  default hr_api.g_varchar2
1123   ,p_cei_attribute6               in     varchar2  default hr_api.g_varchar2
1124   ,p_cei_attribute7               in     varchar2  default hr_api.g_varchar2
1125   ,p_cei_attribute8               in     varchar2  default hr_api.g_varchar2
1126   ,p_cei_attribute9               in     varchar2  default hr_api.g_varchar2
1127   ,p_cei_attribute10              in     varchar2  default hr_api.g_varchar2
1128   ,p_cei_attribute11              in     varchar2  default hr_api.g_varchar2
1129   ,p_cei_attribute12              in     varchar2  default hr_api.g_varchar2
1130   ,p_cei_attribute13              in     varchar2  default hr_api.g_varchar2
1131   ,p_cei_attribute14              in     varchar2  default hr_api.g_varchar2
1132   ,p_cei_attribute15              in     varchar2  default hr_api.g_varchar2
1133   ,p_cei_attribute16              in     varchar2  default hr_api.g_varchar2
1134   ,p_cei_attribute17              in     varchar2  default hr_api.g_varchar2
1135   ,p_cei_attribute18              in     varchar2  default hr_api.g_varchar2
1136   ,p_cei_attribute19              in     varchar2  default hr_api.g_varchar2
1137   ,p_cei_attribute20              in     varchar2  default hr_api.g_varchar2
1138   ,p_request_id                   in     number    default hr_api.g_number
1139   ,p_program_application_id       in     number    default hr_api.g_number
1140   ,p_program_id                   in     number    default hr_api.g_number
1141   ,p_program_update_date          in     date      default hr_api.g_date
1142   ,p_effective_start_date            out nocopy date
1143   ,p_effective_end_date              out nocopy date
1144   ) is
1145 --
1146   l_rec         per_rei_shd.g_rec_type;
1147   l_proc        varchar2(72) := g_package||'upd';
1148 --
1149 Begin
1150   hr_utility.set_location('Entering:'||l_proc, 5);
1151   --
1152   -- Call conversion function to turn arguments into the
1153   -- l_rec structure.
1154   --
1155   l_rec :=
1156   per_rei_shd.convert_args
1157     (p_contact_extra_info_id
1158     ,null
1159     ,null
1160     ,p_contact_relationship_id
1161     ,p_information_type
1162     ,p_cei_information_category
1163     ,p_cei_information1
1164     ,p_cei_information2
1165     ,p_cei_information3
1166     ,p_cei_information4
1167     ,p_cei_information5
1168     ,p_cei_information6
1169     ,p_cei_information7
1170     ,p_cei_information8
1171     ,p_cei_information9
1172     ,p_cei_information10
1173     ,p_cei_information11
1174     ,p_cei_information12
1175     ,p_cei_information13
1176     ,p_cei_information14
1177     ,p_cei_information15
1178     ,p_cei_information16
1179     ,p_cei_information17
1180     ,p_cei_information18
1181     ,p_cei_information19
1182     ,p_cei_information20
1183     ,p_cei_information21
1184     ,p_cei_information22
1185     ,p_cei_information23
1186     ,p_cei_information24
1187     ,p_cei_information25
1188     ,p_cei_information26
1189     ,p_cei_information27
1190     ,p_cei_information28
1191     ,p_cei_information29
1192     ,p_cei_information30
1193     ,p_cei_attribute_category
1194     ,p_cei_attribute1
1195     ,p_cei_attribute2
1196     ,p_cei_attribute3
1197     ,p_cei_attribute4
1198     ,p_cei_attribute5
1199     ,p_cei_attribute6
1200     ,p_cei_attribute7
1201     ,p_cei_attribute8
1202     ,p_cei_attribute9
1203     ,p_cei_attribute10
1204     ,p_cei_attribute11
1205     ,p_cei_attribute12
1206     ,p_cei_attribute13
1207     ,p_cei_attribute14
1208     ,p_cei_attribute15
1209     ,p_cei_attribute16
1210     ,p_cei_attribute17
1211     ,p_cei_attribute18
1212     ,p_cei_attribute19
1213     ,p_cei_attribute20
1214     ,p_object_version_number
1215     ,p_request_id
1216     ,p_program_application_id
1217     ,p_program_id
1218     ,p_program_update_date
1219     );
1220   --
1221   -- Having converted the arguments into the
1222   -- plsql record structure we call the corresponding record
1223   -- business process.
1224   --
1225   per_rei_upd.upd
1226     (p_effective_date
1227     ,p_datetrack_mode
1228     ,l_rec
1229     );
1230   --
1231   -- Set the out parameters
1232   --
1233   p_object_version_number            := l_rec.object_version_number;
1234   p_effective_start_date             := l_rec.effective_start_date;
1235   p_effective_end_date               := l_rec.effective_end_date;
1236   --
1237   --
1238   hr_utility.set_location(' Leaving:'||l_proc, 10);
1239 End upd;
1240 --
1241 end per_rei_upd;