DBA Data[Home] [Help]

PACKAGE BODY: APPS.PER_DIS_UPD

Source


1 Package Body per_dis_upd as
2 /* $Header: pedisrhi.pkb 115.8 2002/12/04 18:57:24 pkakar noship $ */
3 --
4 -- ----------------------------------------------------------------------------
5 -- |                     Private Global Definitions                           |
6 -- ----------------------------------------------------------------------------
7 --
8 g_package  varchar2(33)	:= '  per_dis_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 this
21 --   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_dis_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_disabilities_f'
79         ,p_base_key_column => 'disability_id'
80         ,p_base_key_value  => p_rec.disability_id
81         );
82     --
83     --
84     --
85     -- Update the per_disabilities_f Row
86     --
87     update  per_disabilities_f
88     set
89      disability_id                        = p_rec.disability_id
90     ,person_id                            = p_rec.person_id
91     ,incident_id                          = p_rec.incident_id
92     ,organization_id                      = p_rec.organization_id
93     ,registration_id                      = p_rec.registration_id
94     ,registration_date                    = p_rec.registration_date
95     ,registration_exp_date                = p_rec.registration_exp_date
96     ,category                             = p_rec.category
97     ,status                               = p_rec.status
98     ,description                          = p_rec.description
99     ,degree                               = p_rec.degree
100     ,quota_fte                            = p_rec.quota_fte
101     ,reason                               = p_rec.reason
102     ,pre_registration_job                 = p_rec.pre_registration_job
103     ,work_restriction                     = p_rec.work_restriction
104     ,attribute_category                   = p_rec.attribute_category
105     ,attribute1                           = p_rec.attribute1
106     ,attribute2                           = p_rec.attribute2
107     ,attribute3                           = p_rec.attribute3
108     ,attribute4                           = p_rec.attribute4
109     ,attribute5                           = p_rec.attribute5
110     ,attribute6                           = p_rec.attribute6
111     ,attribute7                           = p_rec.attribute7
112     ,attribute8                           = p_rec.attribute8
113     ,attribute9                           = p_rec.attribute9
114     ,attribute10                          = p_rec.attribute10
115     ,attribute11                          = p_rec.attribute11
116     ,attribute12                          = p_rec.attribute12
117     ,attribute13                          = p_rec.attribute13
118     ,attribute14                          = p_rec.attribute14
119     ,attribute15                          = p_rec.attribute15
120     ,attribute16                          = p_rec.attribute16
121     ,attribute17                          = p_rec.attribute17
122     ,attribute18                          = p_rec.attribute18
123     ,attribute19                          = p_rec.attribute19
124     ,attribute20                          = p_rec.attribute20
125     ,attribute21                          = p_rec.attribute21
126     ,attribute22                          = p_rec.attribute22
127     ,attribute23                          = p_rec.attribute23
128     ,attribute24                          = p_rec.attribute24
129     ,attribute25                          = p_rec.attribute25
130     ,attribute26                          = p_rec.attribute26
131     ,attribute27                          = p_rec.attribute27
132     ,attribute28                          = p_rec.attribute28
133     ,attribute29                          = p_rec.attribute29
134     ,attribute30                          = p_rec.attribute30
135     ,dis_information_category             = p_rec.dis_information_category
136     ,dis_information1                     = p_rec.dis_information1
137     ,dis_information2                     = p_rec.dis_information2
138     ,dis_information3                     = p_rec.dis_information3
139     ,dis_information4                     = p_rec.dis_information4
140     ,dis_information5                     = p_rec.dis_information5
141     ,dis_information6                     = p_rec.dis_information6
142     ,dis_information7                     = p_rec.dis_information7
143     ,dis_information8                     = p_rec.dis_information8
144     ,dis_information9                     = p_rec.dis_information9
145     ,dis_information10                    = p_rec.dis_information10
146     ,dis_information11                    = p_rec.dis_information11
147     ,dis_information12                    = p_rec.dis_information12
148     ,dis_information13                    = p_rec.dis_information13
149     ,dis_information14                    = p_rec.dis_information14
150     ,dis_information15                    = p_rec.dis_information15
151     ,dis_information16                    = p_rec.dis_information16
152     ,dis_information17                    = p_rec.dis_information17
153     ,dis_information18                    = p_rec.dis_information18
154     ,dis_information19                    = p_rec.dis_information19
155     ,dis_information20                    = p_rec.dis_information20
156     ,dis_information21                    = p_rec.dis_information21
157     ,dis_information22                    = p_rec.dis_information22
158     ,dis_information23                    = p_rec.dis_information23
159     ,dis_information24                    = p_rec.dis_information24
160     ,dis_information25                    = p_rec.dis_information25
161     ,dis_information26                    = p_rec.dis_information26
162     ,dis_information27                    = p_rec.dis_information27
163     ,dis_information28                    = p_rec.dis_information28
164     ,dis_information29                    = p_rec.dis_information29
165     ,dis_information30                    = p_rec.dis_information30
166     ,object_version_number                = p_rec.object_version_number
167     where   disability_id = p_rec.disability_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     per_dis_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     per_dis_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 per_dis_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   per_dis_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 per_dis_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     per_dis_shd.upd_effective_end_date
312       (p_effective_date         => p_effective_date
313       ,p_base_key_value	        => p_rec.disability_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       per_dis_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     per_dis_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 --
369 -- Developer Implementation Notes:
370 --   Any pre-processing required before the update dml is issued should be
371 --   coded within this procedure. It is important to note that any 3rd party
372 --   maintenance should be reviewed before placing in this procedure. The call
373 --   to the dt_update_dml procedure should NOT be removed.
374 --
375 -- Access Status:
376 --   Internal Row Handler Use Only.
377 --
378 -- {End Of Comments}
379 -- ----------------------------------------------------------------------------
380 Procedure pre_update
381   (p_rec                   in out nocopy per_dis_shd.g_rec_type
382   ,p_effective_date        in date
383   ,p_datetrack_mode        in varchar2
384   ,p_validation_start_date in date
385   ,p_validation_end_date   in date
386   ) is
387 --
388   l_proc	varchar2(72) := g_package||'pre_update';
389 --
390 Begin
391   hr_utility.set_location('Entering:'||l_proc, 5);
392   --
393   --
394   --
395   dt_pre_update
396     (p_rec                   => p_rec
397     ,p_effective_date	     => p_effective_date
398     ,p_datetrack_mode	     => p_datetrack_mode
399     ,p_validation_start_date => p_validation_start_date
400     ,p_validation_end_date   => p_validation_end_date
401     );
402   --
403   hr_utility.set_location(' Leaving:'||l_proc, 10);
404 End pre_update;
405 --
406 -- ----------------------------------------------------------------------------
407 -- |----------------------------< post_update >-------------------------------|
408 -- ----------------------------------------------------------------------------
409 -- {Start Of Comments}
410 --
411 -- Description:
412 --   This private procedure contains any processing which is required after the
413 --   update dml.
414 --
415 -- Prerequisites:
416 --   This is an internal procedure which is called from the upd procedure.
417 --
418 -- In Parameters:
419 --   A Pl/Sql record structure.
420 --
421 -- Post Success:
422 --   Processing continues.
423 --
424 -- Post Failure:
425 --   If an error has occurred, an error message and exception will be raised
426 --   but not handled.
427 --
428 -- Developer Implementation Notes:
429 --   Any post-processing required after the update dml is issued should be
430 --   coded within this procedure. It is important to note that any 3rd party
431 --   maintenance should be reviewed before placing in this procedure.
432 --
433 -- Access Status:
434 --   Internal Row Handler Use Only.
435 --
436 -- {End Of Comments}
437 -- ----------------------------------------------------------------------------
438 Procedure post_update
439   (p_rec                   in per_dis_shd.g_rec_type
440   ,p_effective_date        in date
441   ,p_datetrack_mode        in varchar2
442   ,p_validation_start_date in date
443   ,p_validation_end_date   in date
444   ) is
445 --
446   l_proc	varchar2(72) := g_package||'post_update';
447 --
448 Begin
449   hr_utility.set_location('Entering:'||l_proc, 5);
450   begin
451     --
452     per_dis_rku.after_update
453       (p_effective_date
454       => p_effective_date
455       ,p_datetrack_mode
456       => p_datetrack_mode
457       ,p_validation_start_date
458       => p_validation_start_date
459       ,p_validation_end_date
460       => p_validation_end_date
461       ,p_disability_id
462       => p_rec.disability_id
463       ,p_effective_start_date
464       => p_rec.effective_start_date
465       ,p_effective_end_date
466       => p_rec.effective_end_date
467       ,p_incident_id
468       => p_rec.incident_id
469       ,p_organization_id
470       => p_rec.organization_id
471       ,p_registration_id
472       => p_rec.registration_id
473       ,p_registration_date
474       => p_rec.registration_date
475       ,p_registration_exp_date
476       => p_rec.registration_exp_date
477       ,p_category
478       => p_rec.category
479       ,p_status
480       => p_rec.status
481       ,p_description
482       => p_rec.description
483       ,p_degree
484       => p_rec.degree
485       ,p_quota_fte
486       => p_rec.quota_fte
487       ,p_reason
488       => p_rec.reason
489       ,p_pre_registration_job
490       => p_rec.pre_registration_job
491       ,p_work_restriction
492       => p_rec.work_restriction
493       ,p_attribute_category
494       => p_rec.attribute_category
495       ,p_attribute1
496       => p_rec.attribute1
497       ,p_attribute2
498       => p_rec.attribute2
499       ,p_attribute3
500       => p_rec.attribute3
501       ,p_attribute4
502       => p_rec.attribute4
503       ,p_attribute5
504       => p_rec.attribute5
505       ,p_attribute6
506       => p_rec.attribute6
507       ,p_attribute7
508       => p_rec.attribute7
509       ,p_attribute8
510       => p_rec.attribute8
511       ,p_attribute9
512       => p_rec.attribute9
513       ,p_attribute10
514       => p_rec.attribute10
515       ,p_attribute11
516       => p_rec.attribute11
517       ,p_attribute12
518       => p_rec.attribute12
519       ,p_attribute13
520       => p_rec.attribute13
521       ,p_attribute14
522       => p_rec.attribute14
523       ,p_attribute15
524       => p_rec.attribute15
525       ,p_attribute16
526       => p_rec.attribute16
527       ,p_attribute17
528       => p_rec.attribute17
529       ,p_attribute18
530       => p_rec.attribute18
531       ,p_attribute19
532       => p_rec.attribute19
533       ,p_attribute20
534       => p_rec.attribute20
535       ,p_attribute21
536       => p_rec.attribute21
537       ,p_attribute22
538       => p_rec.attribute22
539       ,p_attribute23
540       => p_rec.attribute23
541       ,p_attribute24
542       => p_rec.attribute24
543       ,p_attribute25
544       => p_rec.attribute25
545       ,p_attribute26
546       => p_rec.attribute26
547       ,p_attribute27
548       => p_rec.attribute27
549       ,p_attribute28
550       => p_rec.attribute28
551       ,p_attribute29
552       => p_rec.attribute29
553       ,p_attribute30
554       => p_rec.attribute30
555       ,p_dis_information_category
556       => p_rec.dis_information_category
557       ,p_dis_information1
558       => p_rec.dis_information1
559       ,p_dis_information2
560       => p_rec.dis_information2
561       ,p_dis_information3
562       => p_rec.dis_information3
563       ,p_dis_information4
564       => p_rec.dis_information4
565       ,p_dis_information5
566       => p_rec.dis_information5
567       ,p_dis_information6
568       => p_rec.dis_information6
569       ,p_dis_information7
570       => p_rec.dis_information7
571       ,p_dis_information8
572       => p_rec.dis_information8
573       ,p_dis_information9
574       => p_rec.dis_information9
575       ,p_dis_information10
576       => p_rec.dis_information10
577       ,p_dis_information11
578       => p_rec.dis_information11
579       ,p_dis_information12
580       => p_rec.dis_information12
581       ,p_dis_information13
582       => p_rec.dis_information13
583       ,p_dis_information14
584       => p_rec.dis_information14
585       ,p_dis_information15
586       => p_rec.dis_information15
587       ,p_dis_information16
588       => p_rec.dis_information16
589       ,p_dis_information17
590       => p_rec.dis_information17
591       ,p_dis_information18
592       => p_rec.dis_information18
593       ,p_dis_information19
594       => p_rec.dis_information19
595       ,p_dis_information20
596       => p_rec.dis_information20
597       ,p_dis_information21
598       => p_rec.dis_information21
599       ,p_dis_information22
600       => p_rec.dis_information22
601       ,p_dis_information23
602       => p_rec.dis_information23
603       ,p_dis_information24
604       => p_rec.dis_information24
605       ,p_dis_information25
606       => p_rec.dis_information25
607       ,p_dis_information26
608       => p_rec.dis_information26
609       ,p_dis_information27
610       => p_rec.dis_information27
611       ,p_dis_information28
612       => p_rec.dis_information28
613       ,p_dis_information29
614       => p_rec.dis_information29
615       ,p_dis_information30
616       => p_rec.dis_information30
617       ,p_object_version_number
618       => p_rec.object_version_number
619       ,p_effective_start_date_o
620       => per_dis_shd.g_old_rec.effective_start_date
621       ,p_effective_end_date_o
622       => per_dis_shd.g_old_rec.effective_end_date
623       ,p_person_id_o
624       => per_dis_shd.g_old_rec.person_id
625       ,p_incident_id_o
626       => per_dis_shd.g_old_rec.incident_id
627       ,p_organization_id_o
628       => per_dis_shd.g_old_rec.organization_id
629       ,p_registration_id_o
630       => per_dis_shd.g_old_rec.registration_id
631       ,p_registration_date_o
632       => per_dis_shd.g_old_rec.registration_date
633       ,p_registration_exp_date_o
634       => per_dis_shd.g_old_rec.registration_exp_date
635       ,p_category_o
636       => per_dis_shd.g_old_rec.category
637       ,p_status_o
638       => per_dis_shd.g_old_rec.status
639       ,p_description_o
640       => per_dis_shd.g_old_rec.description
641       ,p_degree_o
642       => per_dis_shd.g_old_rec.degree
643       ,p_quota_fte_o
644       => per_dis_shd.g_old_rec.quota_fte
645       ,p_reason_o
646       => per_dis_shd.g_old_rec.reason
647       ,p_pre_registration_job_o
648       => per_dis_shd.g_old_rec.pre_registration_job
649       ,p_work_restriction_o
650       => per_dis_shd.g_old_rec.work_restriction
651       ,p_attribute_category_o
652       => per_dis_shd.g_old_rec.attribute_category
653       ,p_attribute1_o
654       => per_dis_shd.g_old_rec.attribute1
655       ,p_attribute2_o
656       => per_dis_shd.g_old_rec.attribute2
657       ,p_attribute3_o
658       => per_dis_shd.g_old_rec.attribute3
659       ,p_attribute4_o
660       => per_dis_shd.g_old_rec.attribute4
661       ,p_attribute5_o
662       => per_dis_shd.g_old_rec.attribute5
663       ,p_attribute6_o
664       => per_dis_shd.g_old_rec.attribute6
665       ,p_attribute7_o
666       => per_dis_shd.g_old_rec.attribute7
667       ,p_attribute8_o
668       => per_dis_shd.g_old_rec.attribute8
669       ,p_attribute9_o
670       => per_dis_shd.g_old_rec.attribute9
671       ,p_attribute10_o
672       => per_dis_shd.g_old_rec.attribute10
673       ,p_attribute11_o
674       => per_dis_shd.g_old_rec.attribute11
675       ,p_attribute12_o
676       => per_dis_shd.g_old_rec.attribute12
677       ,p_attribute13_o
678       => per_dis_shd.g_old_rec.attribute13
679       ,p_attribute14_o
680       => per_dis_shd.g_old_rec.attribute14
681       ,p_attribute15_o
682       => per_dis_shd.g_old_rec.attribute15
683       ,p_attribute16_o
684       => per_dis_shd.g_old_rec.attribute16
685       ,p_attribute17_o
686       => per_dis_shd.g_old_rec.attribute17
687       ,p_attribute18_o
688       => per_dis_shd.g_old_rec.attribute18
689       ,p_attribute19_o
690       => per_dis_shd.g_old_rec.attribute19
691       ,p_attribute20_o
692       => per_dis_shd.g_old_rec.attribute20
693       ,p_attribute21_o
694       => per_dis_shd.g_old_rec.attribute21
695       ,p_attribute22_o
696       => per_dis_shd.g_old_rec.attribute22
697       ,p_attribute23_o
698       => per_dis_shd.g_old_rec.attribute23
699       ,p_attribute24_o
700       => per_dis_shd.g_old_rec.attribute24
701       ,p_attribute25_o
702       => per_dis_shd.g_old_rec.attribute25
703       ,p_attribute26_o
704       => per_dis_shd.g_old_rec.attribute26
705       ,p_attribute27_o
706       => per_dis_shd.g_old_rec.attribute27
707       ,p_attribute28_o
708       => per_dis_shd.g_old_rec.attribute28
709       ,p_attribute29_o
710       => per_dis_shd.g_old_rec.attribute29
711       ,p_attribute30_o
712       => per_dis_shd.g_old_rec.attribute30
713       ,p_dis_information_category_o
714       => per_dis_shd.g_old_rec.dis_information_category
715       ,p_dis_information1_o
716       => per_dis_shd.g_old_rec.dis_information1
717       ,p_dis_information2_o
718       => per_dis_shd.g_old_rec.dis_information2
719       ,p_dis_information3_o
720       => per_dis_shd.g_old_rec.dis_information3
721       ,p_dis_information4_o
722       => per_dis_shd.g_old_rec.dis_information4
723       ,p_dis_information5_o
724       => per_dis_shd.g_old_rec.dis_information5
725       ,p_dis_information6_o
726       => per_dis_shd.g_old_rec.dis_information6
727       ,p_dis_information7_o
728       => per_dis_shd.g_old_rec.dis_information7
729       ,p_dis_information8_o
730       => per_dis_shd.g_old_rec.dis_information8
731       ,p_dis_information9_o
732       => per_dis_shd.g_old_rec.dis_information9
733       ,p_dis_information10_o
734       => per_dis_shd.g_old_rec.dis_information10
735       ,p_dis_information11_o
736       => per_dis_shd.g_old_rec.dis_information11
737       ,p_dis_information12_o
738       => per_dis_shd.g_old_rec.dis_information12
739       ,p_dis_information13_o
740       => per_dis_shd.g_old_rec.dis_information13
741       ,p_dis_information14_o
742       => per_dis_shd.g_old_rec.dis_information14
743       ,p_dis_information15_o
744       => per_dis_shd.g_old_rec.dis_information15
745       ,p_dis_information16_o
746       => per_dis_shd.g_old_rec.dis_information16
747       ,p_dis_information17_o
748       => per_dis_shd.g_old_rec.dis_information17
749       ,p_dis_information18_o
750       => per_dis_shd.g_old_rec.dis_information18
751       ,p_dis_information19_o
752       => per_dis_shd.g_old_rec.dis_information19
753       ,p_dis_information20_o
754       => per_dis_shd.g_old_rec.dis_information20
755       ,p_dis_information21_o
756       => per_dis_shd.g_old_rec.dis_information21
757       ,p_dis_information22_o
758       => per_dis_shd.g_old_rec.dis_information22
759       ,p_dis_information23_o
760       => per_dis_shd.g_old_rec.dis_information23
761       ,p_dis_information24_o
762       => per_dis_shd.g_old_rec.dis_information24
763       ,p_dis_information25_o
764       => per_dis_shd.g_old_rec.dis_information25
765       ,p_dis_information26_o
766       => per_dis_shd.g_old_rec.dis_information26
767       ,p_dis_information27_o
768       => per_dis_shd.g_old_rec.dis_information27
769       ,p_dis_information28_o
770       => per_dis_shd.g_old_rec.dis_information28
771       ,p_dis_information29_o
772       => per_dis_shd.g_old_rec.dis_information29
773       ,p_dis_information30_o
774       => per_dis_shd.g_old_rec.dis_information30
775       ,p_object_version_number_o
776       => per_dis_shd.g_old_rec.object_version_number
777       );
778     --
779   exception
780     --
781     when hr_api.cannot_find_prog_unit then
782       --
783       hr_api.cannot_find_prog_unit_error
784         (p_module_name => 'PER_DISABILITIES_F'
785         ,p_hook_type   => 'AU');
786       --
787   end;
788   --
789   hr_utility.set_location(' Leaving:'||l_proc, 10);
790 End post_update;
791 --
792 -- ----------------------------------------------------------------------------
793 -- |-----------------------------< convert_defs >-----------------------------|
794 -- ----------------------------------------------------------------------------
795 -- {Start Of Comments}
796 --
797 -- Description:
798 --   The Convert_Defs procedure has one very important function:
799 --   It must return the record structure for the row with all system defaulted
800 --   values converted into its corresponding parameter value for update. When
801 --   we attempt to update a row through the Upd process , certain
802 --   parameters can be defaulted which enables flexibility in the calling of
803 --   the upd process (e.g. only attributes which need to be updated need to be
804 --   specified). For the upd process to determine which attributes
805 --   have NOT been specified we need to check if the parameter has a reserved
806 --   system default value. Therefore, for all parameters which have a
807 --   corresponding reserved system default mechanism specified we need to
808 --   check if a system default is being used. If a system default is being
809 --   used then we convert the defaulted value into its corresponding attribute
810 --   value held in the g_old_rec data structure.
811 --
812 -- Prerequisites:
813 --   This private function can only be called from the upd process.
814 --
815 -- In Parameters:
816 --   A Pl/Sql record structure.
817 --
818 -- Post Success:
819 --   The record structure will be returned with all system defaulted parameter
820 --   values converted into its current row attribute value.
821 --
822 -- Post Failure:
823 --   No direct error handling is required within this function. Any possible
824 --   errors within this procedure will be a PL/SQL value error due to
825 --   conversion of datatypes or data lengths.
826 --
827 -- Developer Implementation Notes:
828 --   None.
829 --
830 -- Access Status:
831 --   Internal Row Handler Use Only.
832 --
833 -- {End Of Comments}
834 -- ----------------------------------------------------------------------------
835 Procedure convert_defs
836   (p_rec in out nocopy per_dis_shd.g_rec_type
837   ) is
838 --
839 Begin
840   --
841   -- We must now examine each argument value in the
842   -- p_rec plsql record structure
843   -- to see if a system default is being used. If a system default
844   -- is being used then we must set to the 'current' argument value.
845   --
846   If (p_rec.person_id = hr_api.g_number) then
847     p_rec.person_id :=
848     per_dis_shd.g_old_rec.person_id;
849   End If;
850   If (p_rec.incident_id = hr_api.g_number) then
851     p_rec.incident_id :=
852     per_dis_shd.g_old_rec.incident_id;
853   End If;
854   If (p_rec.organization_id = hr_api.g_number) then
855     p_rec.organization_id :=
856     per_dis_shd.g_old_rec.organization_id;
857   End If;
858   If (p_rec.registration_id = hr_api.g_varchar2) then
859     p_rec.registration_id :=
860     per_dis_shd.g_old_rec.registration_id;
861   End If;
862   If (p_rec.registration_date = hr_api.g_date) then
863     p_rec.registration_date :=
864     per_dis_shd.g_old_rec.registration_date;
865   End If;
866   If (p_rec.registration_exp_date = hr_api.g_date) then
867     p_rec.registration_exp_date :=
868     per_dis_shd.g_old_rec.registration_exp_date;
869   End If;
870   If (p_rec.category = hr_api.g_varchar2) then
871     p_rec.category :=
872     per_dis_shd.g_old_rec.category;
873   End If;
874   If (p_rec.status = hr_api.g_varchar2) then
875     p_rec.status :=
876     per_dis_shd.g_old_rec.status;
877   End If;
878   If (p_rec.description = hr_api.g_varchar2) then
879     p_rec.description :=
880     per_dis_shd.g_old_rec.description;
881   End If;
882   If (p_rec.degree = hr_api.g_number) then
883     p_rec.degree :=
884     per_dis_shd.g_old_rec.degree;
885   End If;
886   If (p_rec.quota_fte = hr_api.g_number) then
887     p_rec.quota_fte :=
888     per_dis_shd.g_old_rec.quota_fte;
889   End If;
890   If (p_rec.reason = hr_api.g_varchar2) then
891     p_rec.reason :=
892     per_dis_shd.g_old_rec.reason;
893   End If;
894   If (p_rec.pre_registration_job = hr_api.g_varchar2) then
895     p_rec.pre_registration_job :=
896     per_dis_shd.g_old_rec.pre_registration_job;
897   End If;
898   If (p_rec.work_restriction = hr_api.g_varchar2) then
899     p_rec.work_restriction :=
900     per_dis_shd.g_old_rec.work_restriction;
901   End If;
902   If (p_rec.attribute_category = hr_api.g_varchar2) then
903     p_rec.attribute_category :=
904     per_dis_shd.g_old_rec.attribute_category;
905   End If;
906   If (p_rec.attribute1 = hr_api.g_varchar2) then
907     p_rec.attribute1 :=
908     per_dis_shd.g_old_rec.attribute1;
909   End If;
910   If (p_rec.attribute2 = hr_api.g_varchar2) then
911     p_rec.attribute2 :=
912     per_dis_shd.g_old_rec.attribute2;
913   End If;
914   If (p_rec.attribute3 = hr_api.g_varchar2) then
915     p_rec.attribute3 :=
916     per_dis_shd.g_old_rec.attribute3;
917   End If;
918   If (p_rec.attribute4 = hr_api.g_varchar2) then
919     p_rec.attribute4 :=
920     per_dis_shd.g_old_rec.attribute4;
921   End If;
922   If (p_rec.attribute5 = hr_api.g_varchar2) then
923     p_rec.attribute5 :=
924     per_dis_shd.g_old_rec.attribute5;
925   End If;
926   If (p_rec.attribute6 = hr_api.g_varchar2) then
927     p_rec.attribute6 :=
928     per_dis_shd.g_old_rec.attribute6;
929   End If;
930   If (p_rec.attribute7 = hr_api.g_varchar2) then
931     p_rec.attribute7 :=
932     per_dis_shd.g_old_rec.attribute7;
933   End If;
934   If (p_rec.attribute8 = hr_api.g_varchar2) then
935     p_rec.attribute8 :=
936     per_dis_shd.g_old_rec.attribute8;
937   End If;
938   If (p_rec.attribute9 = hr_api.g_varchar2) then
939     p_rec.attribute9 :=
940     per_dis_shd.g_old_rec.attribute9;
941   End If;
942   If (p_rec.attribute10 = hr_api.g_varchar2) then
943     p_rec.attribute10 :=
944     per_dis_shd.g_old_rec.attribute10;
945   End If;
946   If (p_rec.attribute11 = hr_api.g_varchar2) then
947     p_rec.attribute11 :=
948     per_dis_shd.g_old_rec.attribute11;
949   End If;
950   If (p_rec.attribute12 = hr_api.g_varchar2) then
951     p_rec.attribute12 :=
952     per_dis_shd.g_old_rec.attribute12;
953   End If;
954   If (p_rec.attribute13 = hr_api.g_varchar2) then
955     p_rec.attribute13 :=
956     per_dis_shd.g_old_rec.attribute13;
957   End If;
958   If (p_rec.attribute14 = hr_api.g_varchar2) then
959     p_rec.attribute14 :=
960     per_dis_shd.g_old_rec.attribute14;
961   End If;
962   If (p_rec.attribute15 = hr_api.g_varchar2) then
963     p_rec.attribute15 :=
964     per_dis_shd.g_old_rec.attribute15;
965   End If;
966   If (p_rec.attribute16 = hr_api.g_varchar2) then
967     p_rec.attribute16 :=
968     per_dis_shd.g_old_rec.attribute16;
969   End If;
970   If (p_rec.attribute17 = hr_api.g_varchar2) then
971     p_rec.attribute17 :=
972     per_dis_shd.g_old_rec.attribute17;
973   End If;
974   If (p_rec.attribute18 = hr_api.g_varchar2) then
975     p_rec.attribute18 :=
976     per_dis_shd.g_old_rec.attribute18;
977   End If;
978   If (p_rec.attribute19 = hr_api.g_varchar2) then
979     p_rec.attribute19 :=
980     per_dis_shd.g_old_rec.attribute19;
981   End If;
982   If (p_rec.attribute20 = hr_api.g_varchar2) then
983     p_rec.attribute20 :=
984     per_dis_shd.g_old_rec.attribute20;
985   End If;
986   If (p_rec.attribute21 = hr_api.g_varchar2) then
987     p_rec.attribute21 :=
988     per_dis_shd.g_old_rec.attribute21;
989   End If;
990   If (p_rec.attribute22 = hr_api.g_varchar2) then
991     p_rec.attribute22 :=
992     per_dis_shd.g_old_rec.attribute22;
993   End If;
994   If (p_rec.attribute23 = hr_api.g_varchar2) then
995     p_rec.attribute23 :=
996     per_dis_shd.g_old_rec.attribute23;
997   End If;
998   If (p_rec.attribute24 = hr_api.g_varchar2) then
999     p_rec.attribute24 :=
1000     per_dis_shd.g_old_rec.attribute24;
1001   End If;
1002   If (p_rec.attribute25 = hr_api.g_varchar2) then
1003     p_rec.attribute25 :=
1004     per_dis_shd.g_old_rec.attribute25;
1005   End If;
1006   If (p_rec.attribute26 = hr_api.g_varchar2) then
1007     p_rec.attribute26 :=
1008     per_dis_shd.g_old_rec.attribute26;
1009   End If;
1010   If (p_rec.attribute27 = hr_api.g_varchar2) then
1011     p_rec.attribute27 :=
1012     per_dis_shd.g_old_rec.attribute27;
1013   End If;
1014   If (p_rec.attribute28 = hr_api.g_varchar2) then
1015     p_rec.attribute28 :=
1016     per_dis_shd.g_old_rec.attribute28;
1017   End If;
1018   If (p_rec.attribute29 = hr_api.g_varchar2) then
1019     p_rec.attribute29 :=
1020     per_dis_shd.g_old_rec.attribute29;
1021   End If;
1022   If (p_rec.attribute30 = hr_api.g_varchar2) then
1023     p_rec.attribute30 :=
1024     per_dis_shd.g_old_rec.attribute30;
1025   End If;
1026   If (p_rec.dis_information_category = hr_api.g_varchar2) then
1027     p_rec.dis_information_category :=
1028     per_dis_shd.g_old_rec.dis_information_category;
1029   End If;
1030   If (p_rec.dis_information1 = hr_api.g_varchar2) then
1031     p_rec.dis_information1 :=
1032     per_dis_shd.g_old_rec.dis_information1;
1033   End If;
1034   If (p_rec.dis_information2 = hr_api.g_varchar2) then
1035     p_rec.dis_information2 :=
1036     per_dis_shd.g_old_rec.dis_information2;
1037   End If;
1038   If (p_rec.dis_information3 = hr_api.g_varchar2) then
1039     p_rec.dis_information3 :=
1040     per_dis_shd.g_old_rec.dis_information3;
1041   End If;
1042   If (p_rec.dis_information4 = hr_api.g_varchar2) then
1043     p_rec.dis_information4 :=
1044     per_dis_shd.g_old_rec.dis_information4;
1045   End If;
1046   If (p_rec.dis_information5 = hr_api.g_varchar2) then
1047     p_rec.dis_information5 :=
1048     per_dis_shd.g_old_rec.dis_information5;
1049   End If;
1050   If (p_rec.dis_information6 = hr_api.g_varchar2) then
1051     p_rec.dis_information6 :=
1052     per_dis_shd.g_old_rec.dis_information6;
1053   End If;
1054   If (p_rec.dis_information7 = hr_api.g_varchar2) then
1055     p_rec.dis_information7 :=
1056     per_dis_shd.g_old_rec.dis_information7;
1057   End If;
1058   If (p_rec.dis_information8 = hr_api.g_varchar2) then
1059     p_rec.dis_information8 :=
1060     per_dis_shd.g_old_rec.dis_information8;
1061   End If;
1062   If (p_rec.dis_information9 = hr_api.g_varchar2) then
1063     p_rec.dis_information9 :=
1064     per_dis_shd.g_old_rec.dis_information9;
1065   End If;
1066   If (p_rec.dis_information10 = hr_api.g_varchar2) then
1067     p_rec.dis_information10 :=
1068     per_dis_shd.g_old_rec.dis_information10;
1069   End If;
1070   If (p_rec.dis_information11 = hr_api.g_varchar2) then
1071     p_rec.dis_information11 :=
1072     per_dis_shd.g_old_rec.dis_information11;
1073   End If;
1074   If (p_rec.dis_information12 = hr_api.g_varchar2) then
1075     p_rec.dis_information12 :=
1076     per_dis_shd.g_old_rec.dis_information12;
1077   End If;
1078   If (p_rec.dis_information13 = hr_api.g_varchar2) then
1079     p_rec.dis_information13 :=
1080     per_dis_shd.g_old_rec.dis_information13;
1081   End If;
1082   If (p_rec.dis_information14 = hr_api.g_varchar2) then
1083     p_rec.dis_information14 :=
1084     per_dis_shd.g_old_rec.dis_information14;
1085   End If;
1086   If (p_rec.dis_information15 = hr_api.g_varchar2) then
1087     p_rec.dis_information15 :=
1088     per_dis_shd.g_old_rec.dis_information15;
1089   End If;
1090   If (p_rec.dis_information16 = hr_api.g_varchar2) then
1091     p_rec.dis_information16 :=
1092     per_dis_shd.g_old_rec.dis_information16;
1093   End If;
1094   If (p_rec.dis_information17 = hr_api.g_varchar2) then
1095     p_rec.dis_information17 :=
1096     per_dis_shd.g_old_rec.dis_information17;
1097   End If;
1098   If (p_rec.dis_information18 = hr_api.g_varchar2) then
1099     p_rec.dis_information18 :=
1100     per_dis_shd.g_old_rec.dis_information18;
1101   End If;
1102   If (p_rec.dis_information19 = hr_api.g_varchar2) then
1103     p_rec.dis_information19 :=
1104     per_dis_shd.g_old_rec.dis_information19;
1105   End If;
1106   If (p_rec.dis_information20 = hr_api.g_varchar2) then
1107     p_rec.dis_information20 :=
1108     per_dis_shd.g_old_rec.dis_information20;
1109   End If;
1110   If (p_rec.dis_information21 = hr_api.g_varchar2) then
1111     p_rec.dis_information21 :=
1112     per_dis_shd.g_old_rec.dis_information21;
1113   End If;
1114   If (p_rec.dis_information22 = hr_api.g_varchar2) then
1115     p_rec.dis_information22 :=
1116     per_dis_shd.g_old_rec.dis_information22;
1117   End If;
1118   If (p_rec.dis_information23 = hr_api.g_varchar2) then
1119     p_rec.dis_information23 :=
1120     per_dis_shd.g_old_rec.dis_information23;
1121   End If;
1122   If (p_rec.dis_information24 = hr_api.g_varchar2) then
1123     p_rec.dis_information24 :=
1124     per_dis_shd.g_old_rec.dis_information24;
1125   End If;
1126   If (p_rec.dis_information25 = hr_api.g_varchar2) then
1127     p_rec.dis_information25 :=
1128     per_dis_shd.g_old_rec.dis_information25;
1129   End If;
1130   If (p_rec.dis_information26 = hr_api.g_varchar2) then
1131     p_rec.dis_information26 :=
1132     per_dis_shd.g_old_rec.dis_information26;
1133   End If;
1134   If (p_rec.dis_information27 = hr_api.g_varchar2) then
1135     p_rec.dis_information27 :=
1136     per_dis_shd.g_old_rec.dis_information27;
1137   End If;
1138   If (p_rec.dis_information28 = hr_api.g_varchar2) then
1139     p_rec.dis_information28 :=
1140     per_dis_shd.g_old_rec.dis_information28;
1141   End If;
1142   If (p_rec.dis_information29 = hr_api.g_varchar2) then
1143     p_rec.dis_information29 :=
1144     per_dis_shd.g_old_rec.dis_information29;
1145   End If;
1146   If (p_rec.dis_information30 = hr_api.g_varchar2) then
1147     p_rec.dis_information30 :=
1148     per_dis_shd.g_old_rec.dis_information30;
1149   End If;
1150   --
1151 End convert_defs;
1152 --
1153 -- ----------------------------------------------------------------------------
1154 -- |---------------------------------< upd >----------------------------------|
1155 -- ----------------------------------------------------------------------------
1156 Procedure upd
1157   (p_effective_date in     date
1158   ,p_datetrack_mode in     varchar2
1159   ,p_rec            in out nocopy per_dis_shd.g_rec_type
1160   ) is
1161 --
1162   l_proc			varchar2(72) := g_package||'upd';
1163   l_validation_start_date	date;
1164   l_validation_end_date		date;
1165 --
1166 Begin
1167   hr_utility.set_location('Entering:'||l_proc, 5);
1168   --
1169   -- Ensure that the DateTrack update mode is valid
1170   --
1171   dt_api.validate_dt_upd_mode(p_datetrack_mode => p_datetrack_mode);
1172   --
1173   -- We must lock the row which we need to update.
1174   --
1175   per_dis_shd.lck
1176     (p_effective_date                   => p_effective_date
1177     ,p_datetrack_mode                   => p_datetrack_mode
1178     ,p_disability_id                    => p_rec.disability_id
1179     ,p_object_version_number            => p_rec.object_version_number
1180     ,p_validation_start_date            => l_validation_start_date
1181     ,p_validation_end_date              => l_validation_end_date
1182     );
1183   --
1184   -- 1. During an update system defaults are used to determine if
1185   --    arguments have been defaulted or not. We must therefore
1186   --    derive the full record structure values to be updated.
1187   --
1188   -- 2. Call the supporting update validate operations.
1189   --
1190   per_dis_upd.convert_defs(p_rec);
1191   --
1192   per_dis_bus.update_validate
1193     (p_rec                              => p_rec
1194     ,p_effective_date                   => p_effective_date
1195     ,p_datetrack_mode                   => p_datetrack_mode
1196     ,p_validation_start_date            => l_validation_start_date
1197     ,p_validation_end_date              => l_validation_end_date
1198     );
1199   --
1200   -- Call the supporting pre-update operation
1201   --
1202   pre_update
1203     (p_rec                              => p_rec
1204     ,p_effective_date                   => p_effective_date
1205     ,p_datetrack_mode                   => p_datetrack_mode
1206     ,p_validation_start_date            => l_validation_start_date
1207     ,p_validation_end_date              => l_validation_end_date
1208     );
1209   --
1210   -- Update the row.
1211   --
1212   update_dml
1213     (p_rec                              => p_rec
1214     ,p_effective_date                   => p_effective_date
1215     ,p_datetrack_mode                   => p_datetrack_mode
1216     ,p_validation_start_date            => l_validation_start_date
1217     ,p_validation_end_date	            => l_validation_end_date
1218     );
1219   --
1220   -- Call the supporting post-update operation
1221   --
1222   post_update
1223     (p_rec                              => p_rec
1224     ,p_effective_date                   => p_effective_date
1225     ,p_datetrack_mode                   => p_datetrack_mode
1226     ,p_validation_start_date            => l_validation_start_date
1227     ,p_validation_end_date              => l_validation_end_date
1228     );
1229 End upd;
1230 --
1231 -- ----------------------------------------------------------------------------
1232 -- |------------------------------< upd >-------------------------------------|
1233 -- ----------------------------------------------------------------------------
1234 Procedure upd
1235   (p_effective_date               in     date
1236   ,p_datetrack_mode               in     varchar2
1237   ,p_disability_id                in     number
1238   ,p_object_version_number        in out nocopy number
1239   ,p_category                     in     varchar2  default hr_api.g_varchar2
1240   ,p_status                       in     varchar2  default hr_api.g_varchar2
1241   ,p_quota_fte                    in     number    default hr_api.g_number
1242   ,p_incident_id                  in     number    default hr_api.g_number
1243   ,p_organization_id              in     number    default hr_api.g_number
1244   ,p_registration_id              in     varchar2  default hr_api.g_varchar2
1245   ,p_registration_date            in     date      default hr_api.g_date
1246   ,p_registration_exp_date        in     date      default hr_api.g_date
1247   ,p_description                  in     varchar2  default hr_api.g_varchar2
1248   ,p_degree                       in     number    default hr_api.g_number
1249   ,p_reason                       in     varchar2  default hr_api.g_varchar2
1250   ,p_pre_registration_job         in     varchar2  default hr_api.g_varchar2
1251   ,p_work_restriction             in     varchar2  default hr_api.g_varchar2
1252   ,p_attribute_category           in     varchar2  default hr_api.g_varchar2
1253   ,p_attribute1                   in     varchar2  default hr_api.g_varchar2
1254   ,p_attribute2                   in     varchar2  default hr_api.g_varchar2
1255   ,p_attribute3                   in     varchar2  default hr_api.g_varchar2
1256   ,p_attribute4                   in     varchar2  default hr_api.g_varchar2
1257   ,p_attribute5                   in     varchar2  default hr_api.g_varchar2
1258   ,p_attribute6                   in     varchar2  default hr_api.g_varchar2
1259   ,p_attribute7                   in     varchar2  default hr_api.g_varchar2
1260   ,p_attribute8                   in     varchar2  default hr_api.g_varchar2
1261   ,p_attribute9                   in     varchar2  default hr_api.g_varchar2
1262   ,p_attribute10                  in     varchar2  default hr_api.g_varchar2
1263   ,p_attribute11                  in     varchar2  default hr_api.g_varchar2
1264   ,p_attribute12                  in     varchar2  default hr_api.g_varchar2
1265   ,p_attribute13                  in     varchar2  default hr_api.g_varchar2
1266   ,p_attribute14                  in     varchar2  default hr_api.g_varchar2
1267   ,p_attribute15                  in     varchar2  default hr_api.g_varchar2
1268   ,p_attribute16                  in     varchar2  default hr_api.g_varchar2
1269   ,p_attribute17                  in     varchar2  default hr_api.g_varchar2
1270   ,p_attribute18                  in     varchar2  default hr_api.g_varchar2
1271   ,p_attribute19                  in     varchar2  default hr_api.g_varchar2
1272   ,p_attribute20                  in     varchar2  default hr_api.g_varchar2
1273   ,p_attribute21                  in     varchar2  default hr_api.g_varchar2
1274   ,p_attribute22                  in     varchar2  default hr_api.g_varchar2
1275   ,p_attribute23                  in     varchar2  default hr_api.g_varchar2
1276   ,p_attribute24                  in     varchar2  default hr_api.g_varchar2
1277   ,p_attribute25                  in     varchar2  default hr_api.g_varchar2
1278   ,p_attribute26                  in     varchar2  default hr_api.g_varchar2
1279   ,p_attribute27                  in     varchar2  default hr_api.g_varchar2
1280   ,p_attribute28                  in     varchar2  default hr_api.g_varchar2
1281   ,p_attribute29                  in     varchar2  default hr_api.g_varchar2
1282   ,p_attribute30                  in     varchar2  default hr_api.g_varchar2
1283   ,p_dis_information_category     in     varchar2  default hr_api.g_varchar2
1284   ,p_dis_information1             in     varchar2  default hr_api.g_varchar2
1285   ,p_dis_information2             in     varchar2  default hr_api.g_varchar2
1286   ,p_dis_information3             in     varchar2  default hr_api.g_varchar2
1287   ,p_dis_information4             in     varchar2  default hr_api.g_varchar2
1288   ,p_dis_information5             in     varchar2  default hr_api.g_varchar2
1289   ,p_dis_information6             in     varchar2  default hr_api.g_varchar2
1290   ,p_dis_information7             in     varchar2  default hr_api.g_varchar2
1291   ,p_dis_information8             in     varchar2  default hr_api.g_varchar2
1292   ,p_dis_information9             in     varchar2  default hr_api.g_varchar2
1293   ,p_dis_information10            in     varchar2  default hr_api.g_varchar2
1294   ,p_dis_information11            in     varchar2  default hr_api.g_varchar2
1295   ,p_dis_information12            in     varchar2  default hr_api.g_varchar2
1296   ,p_dis_information13            in     varchar2  default hr_api.g_varchar2
1297   ,p_dis_information14            in     varchar2  default hr_api.g_varchar2
1298   ,p_dis_information15            in     varchar2  default hr_api.g_varchar2
1299   ,p_dis_information16            in     varchar2  default hr_api.g_varchar2
1300   ,p_dis_information17            in     varchar2  default hr_api.g_varchar2
1301   ,p_dis_information18            in     varchar2  default hr_api.g_varchar2
1302   ,p_dis_information19            in     varchar2  default hr_api.g_varchar2
1303   ,p_dis_information20            in     varchar2  default hr_api.g_varchar2
1304   ,p_dis_information21            in     varchar2  default hr_api.g_varchar2
1305   ,p_dis_information22            in     varchar2  default hr_api.g_varchar2
1306   ,p_dis_information23            in     varchar2  default hr_api.g_varchar2
1307   ,p_dis_information24            in     varchar2  default hr_api.g_varchar2
1308   ,p_dis_information25            in     varchar2  default hr_api.g_varchar2
1309   ,p_dis_information26            in     varchar2  default hr_api.g_varchar2
1310   ,p_dis_information27            in     varchar2  default hr_api.g_varchar2
1311   ,p_dis_information28            in     varchar2  default hr_api.g_varchar2
1312   ,p_dis_information29            in     varchar2  default hr_api.g_varchar2
1313   ,p_dis_information30            in     varchar2  default hr_api.g_varchar2
1314   ,p_effective_start_date            out nocopy date
1315   ,p_effective_end_date              out nocopy date
1316   ) is
1317 --
1318   l_rec		per_dis_shd.g_rec_type;
1319   l_proc	varchar2(72) := g_package||'upd';
1320 --
1321 Begin
1322   hr_utility.set_location('Entering:'||l_proc, 5);
1323   --
1324   -- Call conversion function to turn arguments into the
1325   -- l_rec structure.
1326   --
1327   l_rec :=
1328   per_dis_shd.convert_args
1329     (p_disability_id
1330     ,null
1331     ,null
1332     ,hr_api.g_number
1333     ,p_incident_id
1334     ,p_organization_id
1335     ,p_registration_id
1336     ,p_registration_date
1337     ,p_registration_exp_date
1338     ,p_category
1339     ,p_status
1340     ,p_description
1341     ,p_degree
1342     ,p_quota_fte
1343     ,p_reason
1344     ,p_pre_registration_job
1345     ,p_work_restriction
1346     ,p_attribute_category
1347     ,p_attribute1
1348     ,p_attribute2
1349     ,p_attribute3
1350     ,p_attribute4
1351     ,p_attribute5
1352     ,p_attribute6
1353     ,p_attribute7
1354     ,p_attribute8
1355     ,p_attribute9
1356     ,p_attribute10
1357     ,p_attribute11
1358     ,p_attribute12
1359     ,p_attribute13
1360     ,p_attribute14
1361     ,p_attribute15
1362     ,p_attribute16
1363     ,p_attribute17
1364     ,p_attribute18
1365     ,p_attribute19
1366     ,p_attribute20
1367     ,p_attribute21
1368     ,p_attribute22
1369     ,p_attribute23
1370     ,p_attribute24
1371     ,p_attribute25
1372     ,p_attribute26
1373     ,p_attribute27
1374     ,p_attribute28
1375     ,p_attribute29
1376     ,p_attribute30
1377     ,p_dis_information_category
1378     ,p_dis_information1
1379     ,p_dis_information2
1380     ,p_dis_information3
1381     ,p_dis_information4
1382     ,p_dis_information5
1383     ,p_dis_information6
1384     ,p_dis_information7
1385     ,p_dis_information8
1386     ,p_dis_information9
1387     ,p_dis_information10
1388     ,p_dis_information11
1389     ,p_dis_information12
1390     ,p_dis_information13
1391     ,p_dis_information14
1392     ,p_dis_information15
1393     ,p_dis_information16
1394     ,p_dis_information17
1395     ,p_dis_information18
1396     ,p_dis_information19
1397     ,p_dis_information20
1398     ,p_dis_information21
1399     ,p_dis_information22
1400     ,p_dis_information23
1401     ,p_dis_information24
1402     ,p_dis_information25
1403     ,p_dis_information26
1404     ,p_dis_information27
1405     ,p_dis_information28
1406     ,p_dis_information29
1407     ,p_dis_information30
1408     ,p_object_version_number
1409     );
1410   --
1411   -- Having converted the arguments into the
1412   -- plsql record structure we call the corresponding record
1413   -- business process.
1414   --
1415   per_dis_upd.upd
1416     (p_effective_date
1417     ,p_datetrack_mode
1418     ,l_rec
1419     );
1420   --
1421   -- Set the out parameters
1422   --
1423   p_object_version_number            := l_rec.object_version_number;
1424   p_effective_start_date             := l_rec.effective_start_date;
1425   p_effective_end_date               := l_rec.effective_end_date;
1426   --
1427   --
1428   hr_utility.set_location(' Leaving:'||l_proc, 10);
1429 End upd;
1430 --
1431 end per_dis_upd;