DBA Data[Home] [Help]

PACKAGE BODY: APPS.PER_PER_UPD

Source


1 Package Body per_per_upd as
2 /* $Header: peperrhi.pkb 120.14.12010000.3 2008/10/01 06:47:05 pvelugul ship $ */
3 --
4 -- ----------------------------------------------------------------------------
5 -- |                     Private Global Definitions                           |
6 -- ----------------------------------------------------------------------------
7 --
8 g_package  varchar2(33) := '  per_per_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 -- Pre Conditions:
31 --   This is an internal private procedure which must be called from the
32 --   update_dml procedure.
33 --
34 -- In Arguments:
35 --   A Pl/Sql record structre.
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 Table Handler Use Only.
54 --
55 -- {End Of Comments}
56 -- ----------------------------------------------------------------------------
57 Procedure dt_update_dml
58    (p_rec          in out nocopy per_per_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) is
63 --
64   l_proc varchar2(72) := g_package||'dt_update_dml';
65   cursor c_person is
66     select *
67     from   per_all_people_f
68     where  person_id = p_rec.person_id
69     and    p_effective_date
70            between effective_start_date
71            and     effective_end_date;
72   --
73   l_person per_all_people_f%rowtype;
74   --
75 --
76 Begin
77   hr_utility.set_location('Entering:'||l_proc, 5);
78   --
79   If (p_datetrack_mode = 'CORRECTION') then
80     hr_utility.set_location(l_proc, 10);
81     --
82     -- Because we are updating a row we must get the next object
83     -- version number.
84     --
85     p_rec.object_version_number :=
86       dt_api.get_object_version_number
87      (p_base_table_name => 'per_all_people_f',
88       p_base_key_column => 'person_id',
89       p_base_key_value  => p_rec.person_id);
90     --
91     per_per_shd.g_api_dml := true;  -- Set the api dml status
92 
93 /*    --bug#1942531 change starts
94     if not FND_FLEX_DESCVAL.validate_desccols
95       (appl_short_name  => 'PER'
96       ,desc_flex_name   => 'Person Developer DF'
97       ,VALUES_OR_IDS => 'I'
98       ) then
99       p_rec.per_information_category := null;
100     End if;
101     --bug#1942531 change ends */
102     --
103     -- Update the per_all_people_f Row
104     --
105     update  per_all_people_f
106     set
107         person_id                       = p_rec.person_id,
108     person_type_id                  = p_rec.person_type_id,
109     last_name                       = p_rec.last_name,
110     start_date                      = p_rec.start_date,
111     applicant_number                = p_rec.applicant_number,
112     comment_id                      = p_rec.comment_id,
113     current_applicant_flag          = p_rec.current_applicant_flag,
114     current_emp_or_apl_flag         = p_rec.current_emp_or_apl_flag,
115     current_employee_flag           = p_rec.current_employee_flag,
116     date_employee_data_verified     = p_rec.date_employee_data_verified,
117     date_of_birth                   = p_rec.date_of_birth,
118     email_address                   = p_rec.email_address,
119     employee_number                 = p_rec.employee_number,
120     expense_check_send_to_address   = p_rec.expense_check_send_to_address,
121     first_name                      = p_rec.first_name,
122     full_name                       = p_rec.full_name,
123     known_as                        = p_rec.known_as,
124     marital_status                  = p_rec.marital_status,
125     middle_names                    = p_rec.middle_names,
126     nationality                     = p_rec.nationality,
127     national_identifier             = p_rec.national_identifier,
128     previous_last_name              = p_rec.previous_last_name,
129     registered_disabled_flag        = p_rec.registered_disabled_flag,
130     sex                             = p_rec.sex,
131     title                           = p_rec.title,
132     vendor_id                       = p_rec.vendor_id,
133 --    work_telephone                  = p_rec.work_telephone,
134     request_id                      = p_rec.request_id,
135     program_application_id          = p_rec.program_application_id,
136     program_id                      = p_rec.program_id,
137     program_update_date             = p_rec.program_update_date,
138     attribute_category              = p_rec.attribute_category,
139     attribute1                      = p_rec.attribute1,
140     attribute2                      = p_rec.attribute2,
141     attribute3                      = p_rec.attribute3,
142     attribute4                      = p_rec.attribute4,
143     attribute5                      = p_rec.attribute5,
144     attribute6                      = p_rec.attribute6,
145     attribute7                      = p_rec.attribute7,
146     attribute8                      = p_rec.attribute8,
147     attribute9                      = p_rec.attribute9,
148     attribute10                     = p_rec.attribute10,
149     attribute11                     = p_rec.attribute11,
150     attribute12                     = p_rec.attribute12,
151     attribute13                     = p_rec.attribute13,
152     attribute14                     = p_rec.attribute14,
153     attribute15                     = p_rec.attribute15,
154     attribute16                     = p_rec.attribute16,
155     attribute17                     = p_rec.attribute17,
156     attribute18                     = p_rec.attribute18,
157     attribute19                     = p_rec.attribute19,
158     attribute20                     = p_rec.attribute20,
159     attribute21                     = p_rec.attribute21,
160     attribute22                     = p_rec.attribute22,
161     attribute23                     = p_rec.attribute23,
162     attribute24                     = p_rec.attribute24,
163     attribute25                     = p_rec.attribute25,
164     attribute26                     = p_rec.attribute26,
165     attribute27                     = p_rec.attribute27,
166     attribute28                     = p_rec.attribute28,
167     attribute29                     = p_rec.attribute29,
168     attribute30                     = p_rec.attribute30,
169     per_information_category        = p_rec.per_information_category,
170     per_information1                = p_rec.per_information1,
171     per_information2                = p_rec.per_information2,
172     per_information3                = p_rec.per_information3,
173     per_information4                = p_rec.per_information4,
174     per_information5                = p_rec.per_information5,
175     per_information6                = p_rec.per_information6,
176     per_information7                = p_rec.per_information7,
177     per_information8                = p_rec.per_information8,
178     per_information9                = p_rec.per_information9,
179     per_information10               = p_rec.per_information10,
180     per_information11               = p_rec.per_information11,
181     per_information12               = p_rec.per_information12,
182     per_information13               = p_rec.per_information13,
183     per_information14               = p_rec.per_information14,
184     per_information15               = p_rec.per_information15,
185     per_information16               = p_rec.per_information16,
186     per_information17               = p_rec.per_information17,
187     per_information18               = p_rec.per_information18,
188     per_information19               = p_rec.per_information19,
189     per_information20               = p_rec.per_information20,
190     object_version_number           = p_rec.object_version_number,
191     suffix                          = p_rec.suffix,
192     DATE_OF_DEATH                   = p_rec.DATE_OF_DEATH,
193     BACKGROUND_CHECK_STATUS         = p_rec.BACKGROUND_CHECK_STATUS        ,
194     BACKGROUND_DATE_CHECK           = p_rec.BACKGROUND_DATE_CHECK          ,
195     BLOOD_TYPE                      = p_rec.BLOOD_TYPE                     ,
196     CORRESPONDENCE_LANGUAGE         = p_rec.CORRESPONDENCE_LANGUAGE        ,
197     FAST_PATH_EMPLOYEE              = p_rec.FAST_PATH_EMPLOYEE             ,
198     FTE_CAPACITY                    = p_rec.FTE_CAPACITY                   ,
199     HOLD_APPLICANT_DATE_UNTIL       = p_rec.HOLD_APPLICANT_DATE_UNTIL      ,
200     HONORS                          = p_rec.HONORS                         ,
201     INTERNAL_LOCATION               = p_rec.INTERNAL_LOCATION              ,
202     LAST_MEDICAL_TEST_BY            = p_rec.LAST_MEDICAL_TEST_BY           ,
203     LAST_MEDICAL_TEST_DATE          = p_rec.LAST_MEDICAL_TEST_DATE         ,
204     MAILSTOP                        = p_rec.MAILSTOP                       ,
205     OFFICE_NUMBER                   = p_rec.OFFICE_NUMBER                  ,
206     ON_MILITARY_SERVICE             = p_rec.ON_MILITARY_SERVICE            ,
207     ORDER_NAME                      = p_rec.ORDER_NAME                     ,
208     PRE_NAME_ADJUNCT                = p_rec.PRE_NAME_ADJUNCT               ,
209     PROJECTED_START_DATE            = p_rec.PROJECTED_START_DATE           ,
210     REHIRE_AUTHORIZOR               = p_rec.REHIRE_AUTHORIZOR              ,
211     REHIRE_RECOMMENDATION           = p_rec.REHIRE_RECOMMENDATION          ,
212     RESUME_EXISTS                   = p_rec.RESUME_EXISTS                  ,
213     RESUME_LAST_UPDATED             = p_rec.RESUME_LAST_UPDATED            ,
214     SECOND_PASSPORT_EXISTS          = p_rec.SECOND_PASSPORT_EXISTS         ,
215     STUDENT_STATUS                  = p_rec.STUDENT_STATUS                 ,
216     WORK_SCHEDULE                   = p_rec.WORK_SCHEDULE                  ,
217     PER_INFORMATION21               = p_rec.PER_INFORMATION21              ,
218     PER_INFORMATION22               = p_rec.PER_INFORMATION22              ,
219     PER_INFORMATION23               = p_rec.PER_INFORMATION23              ,
220     PER_INFORMATION24               = p_rec.PER_INFORMATION24              ,
221     PER_INFORMATION25               = p_rec.PER_INFORMATION25              ,
222     PER_INFORMATION26               = p_rec.PER_INFORMATION26              ,
223     PER_INFORMATION27               = p_rec.PER_INFORMATION27              ,
224     PER_INFORMATION28               = p_rec.PER_INFORMATION28              ,
225     PER_INFORMATION29               = p_rec.PER_INFORMATION29              ,
226     PER_INFORMATION30               = p_rec.PER_INFORMATION30              ,
227     REHIRE_REASON                   = p_rec.REHIRE_REASON                  ,
228     BENEFIT_GROUP_ID                = p_rec.BENEFIT_GROUP_ID               ,
229     RECEIPT_OF_DEATH_CERT_DATE      = p_rec.RECEIPT_OF_DEATH_CERT_DATE     ,
230     COORD_BEN_MED_PLN_NO            = p_rec.COORD_BEN_MED_PLN_NO           ,
231     COORD_BEN_NO_CVG_FLAG           = p_rec.COORD_BEN_NO_CVG_FLAG          ,
232     COORD_BEN_MED_EXT_ER            = p_rec.COORD_BEN_MED_ext_er,
233     COORD_BEN_MED_PL_NAME           = p_rec.COORD_BEN_MED_pl_name,
234     COORD_BEN_MED_INSR_CRR_NAME     = p_rec.COORD_BEN_MED_insr_crr_name,
235     COORD_BEN_MED_INSR_CRR_IDENT    = p_rec.COORD_BEN_MED_insr_crr_ident,
236     COORD_BEN_MED_CVG_STRT_DT       = p_rec.COORD_BEN_MED_cvg_strt_dt,
237     COORD_BEN_MED_CVG_END_DT        = p_rec.COORD_BEN_MED_cvg_end_dt,
238     USES_TOBACCO_FLAG               = p_rec.USES_TOBACCO_FLAG              ,
239     DPDNT_ADOPTION_DATE             = p_rec.DPDNT_ADOPTION_DATE            ,
240     DPDNT_VLNTRY_SVCE_FLAG          = p_rec.DPDNT_VLNTRY_SVCE_FLAG         ,
241     ORIGINAL_DATE_OF_HIRE           = p_rec.ORIGINAL_DATE_OF_HIRE          ,
242     town_of_birth                   = p_rec.town_of_birth                  ,
243     region_of_birth                 = p_rec.region_of_birth                ,
244     country_of_birth                = p_rec.country_of_birth               ,
245     global_person_id                = p_rec.global_person_id               ,
246     party_id                        = p_rec.party_id,
247     npw_number                      = p_rec.npw_number,
248     current_npw_flag                = p_rec.current_npw_flag,
249     global_name                     = p_rec.global_name,    -- #3889584
250     local_name                      = p_rec.local_name
251 
252     where   person_id = p_rec.person_id
253     and     effective_start_date = p_validation_start_date
254     and     effective_end_date   = p_validation_end_date;
255     --
256     -- For any corrections we need to call the TCA routine to update the
257     -- person record TCA.
258     --
259     open c_person;
260       --
261       fetch c_person into l_person;
262       --
263     close c_person;
264     --
265     per_hrtca_merge.update_tca_person(p_rec => l_person);
266     --
267     per_per_shd.g_api_dml := false;   -- Unset the api dml status
268     --
269     -- Set the effective start and end dates
270     --
271     p_rec.effective_start_date := p_validation_start_date;
272     p_rec.effective_end_date   := p_validation_end_date;
273   End If;
274 --
275 hr_utility.set_location(' Leaving:'||l_proc, 15);
276 Exception
277   When hr_api.check_integrity_violated Then
278     -- A check constraint has been violated
279     per_per_shd.g_api_dml := false;   -- Unset the api dml status
280     per_per_shd.constraint_error
281       (p_constraint_name => hr_api.strip_constraint_name(SQLERRM));
282   When hr_api.unique_integrity_violated Then
283     -- Unique integrity has been violated
284     per_per_shd.g_api_dml := false;   -- Unset the api dml status
285     per_per_shd.constraint_error
286       (p_constraint_name => hr_api.strip_constraint_name(SQLERRM));
287   When Others Then
288     per_per_shd.g_api_dml := false;   -- Unset the api dml status
289     Raise;
290 End dt_update_dml;
291 --
292 -- ----------------------------------------------------------------------------
293 -- |------------------------------< update_dml >------------------------------|
294 -- ----------------------------------------------------------------------------
295 -- {Start Of Comments}
296 --
297 -- Description:
298 --   This procedure calls the dt_update_dml control logic which handles
299 --   the actual datetrack dml.
300 --
301 -- Pre Conditions:
302 --   This is an internal private procedure which must be called from the upd
303 --   procedure.
304 --
305 -- In Arguments:
306 --   A Pl/Sql record structre.
307 --
308 -- Post Success:
309 --   Processing contines.
310 --
311 -- Post Failure:
312 --   No specific error handling is required within this procedure.
313 --
314 -- Developer Implementation Notes:
315 --   The update 'set' arguments list should be modified if any of your
316 --   attributes are not updateable.
317 --
318 -- Access Status:
319 --   Internal Table Handler Use Only.
320 --
321 -- {End Of Comments}
322 -- ----------------------------------------------------------------------------
323 Procedure update_dml
324    (p_rec          in out nocopy per_per_shd.g_rec_type,
325     p_effective_date  in   date,
326     p_datetrack_mode  in   varchar2,
327     p_validation_start_date in   date,
328     p_validation_end_date   in   date) is
329 --
330   l_proc varchar2(72) := g_package||'update_dml';
331 --
332 Begin
333   hr_utility.set_location('Entering:'||l_proc, 5);
334   --
335   dt_update_dml(p_rec         => p_rec,
336       p_effective_date  => p_effective_date,
337       p_datetrack_mode  => p_datetrack_mode,
338             p_validation_start_date => p_validation_start_date,
339       p_validation_end_date   => p_validation_end_date);
340   --
341   hr_utility.set_location(' Leaving:'||l_proc, 10);
342 End update_dml;
343 --
344 -- ----------------------------------------------------------------------------
345 -- |----------------------------< dt_pre_update >-----------------------------|
346 -- ----------------------------------------------------------------------------
347 -- {Start Of Comments}
348 --
349 -- Description:
350 --   The dt_pre_update procedure controls the execution
351 --   of dml for the datetrack modes of: UPDATE, UPDATE_OVERRIDE
352 --   and UPDATE_CHANGE_INSERT only. The execution required is as
353 --   follows:
354 --
355 --   1) Providing the datetrack update mode is not 'CORRECTION'
356 --      then set the effective end date of the current row (this
357 --      will be the validation_start_date - 1).
358 --   2) If the datetrack mode is 'UPDATE_OVERRIDE' then call the
359 --      corresponding delete_dml process to delete any future rows
360 --      where the effective_start_date is greater than or equal to
361 -- the validation_start_date.
362 --   3) Call the insert_dml process to insert the new updated row
363 --      details..
364 --
365 -- Pre Conditions:
366 --   This is an internal procedure which is called from the
367 --   pre_update procedure.
368 --
369 -- In Arguments:
370 --
371 -- Post Success:
372 --   Processing continues.
373 --
374 -- Post Failure:
375 --   If an error has occurred, an error message and exception will be raised
376 --   but not handled.
377 --
378 -- Developer Implementation Notes:
379 --   This is an internal procedure which is required by Datetrack. Don't
380 --   remove or modify.
381 --
382 -- Access Status:
383 --   Internal Table Handler Use Only.
384 --
385 -- {End Of Comments}
386 -- ----------------------------------------------------------------------------
387 Procedure dt_pre_update
388    (p_rec          in out nocopy per_per_shd.g_rec_type,
389     p_effective_date  in   date,
390     p_datetrack_mode  in   varchar2,
391     p_validation_start_date in   date,
392     p_validation_end_date   in   date) is
393 --
394   l_proc           varchar2(72) := g_package||'dt_pre_update';
395   l_dummy_version_number  number;
396 --
397 Begin
398   hr_utility.set_location('Entering:'||l_proc, 5);
399   If (p_datetrack_mode <> 'CORRECTION') then
400     hr_utility.set_location(l_proc, 10);
401     --
402     -- Update the current effective end date
403     --
404     per_per_shd.upd_effective_end_date
405      (p_effective_date         => p_effective_date,
406       p_base_key_value         => p_rec.person_id,
407       p_new_effective_end_date => (p_validation_start_date - 1),
408       p_validation_start_date  => p_validation_start_date,
409       p_validation_end_date    => p_validation_end_date,
410       p_object_version_number  => l_dummy_version_number);
411     --
412     If (p_datetrack_mode = 'UPDATE_OVERRIDE') then
413       hr_utility.set_location(l_proc, 15);
414       --
415       -- As the datetrack mode is 'UPDATE_OVERRIDE' then we must
416       -- delete any future rows
417       --
418       per_per_del.delete_dml
419         (p_rec        => p_rec,
420     p_effective_date  => p_effective_date,
421     p_datetrack_mode  => p_datetrack_mode,
422     p_validation_start_date => p_validation_start_date,
423     p_validation_end_date   => p_validation_end_date);
424     End If;
425     hr_utility.set_location(l_proc, 20);
426     --
427     -- We must now insert the updated row
428     --
429     per_per_ins.insert_dml
430       (p_rec         => p_rec,
431        p_effective_date    => p_effective_date,
432        p_datetrack_mode    => p_datetrack_mode,
433        p_validation_start_date   => p_validation_start_date,
434        p_validation_end_date  => p_validation_end_date);
435   End If;
436   hr_utility.set_location(' Leaving:'||l_proc, 20);
437 End dt_pre_update;
438 --
439 -- ----------------------------------------------------------------------------
440 -- |------------------------------< pre_update >------------------------------|
441 -- ----------------------------------------------------------------------------
442 -- {Start Of Comments}
443 --
444 -- Description:
445 --   This private procedure contains any processing which is required before
446 --   the update dml.
447 --
448 -- Pre Conditions:
449 --   This is an internal procedure which is called from the upd procedure.
450 --
451 -- In Arguments:
452 --   A Pl/Sql record structre.
453 --
454 -- Post Success:
455 --   Processing continues.
456 --
457 -- Post Failure:
458 --   If an error has occurred, an error message and exception will be raised
459 --   but not handled.
460 --
461 -- Developer Implementation Notes:
462 --   Any pre-processing required before the update dml is issued should be
463 --   coded within this procedure. It is important to note that any 3rd party
464 --   maintenance should be reviewed before placing in this procedure. The call
465 --   to the dt_update_dml procedure should NOT be removed.
466 --
467 -- Access Status:
468 --   Internal Table Handler Use Only.
469 --
470 -- {End Of Comments}
471 -- ----------------------------------------------------------------------------
472 Procedure pre_update
473    (p_rec          in out nocopy per_per_shd.g_rec_type,
474     p_effective_date  in   date,
475     p_datetrack_mode  in   varchar2,
476     p_validation_start_date in   date,
477     p_validation_end_date   in   date) is
478 --
479   l_proc varchar2(72) := g_package||'pre_update';
480   l_rowid       varchar2(72);
481   l_esd         date;
482   l_eed         date;
483 --
484   cursor csr_rowid is
485      select rowid, effective_start_date, effective_end_date
486      from per_all_people_f
487      where person_id = p_rec.person_id
488      and p_effective_date between
489          effective_start_date and effective_end_date;
490 --
491   cursor csr_rowid_u is
492      select rowid
493      from per_all_people_f
494      where person_id = p_rec.person_id
495      and p_effective_date -1 between
496          effective_start_date and effective_end_date;
497 --
498 Begin
499   hr_utility.set_location('Entering:'||l_proc, 5);
500   --
501   --
502   -- Insert the comment text if comments exist
503   --
504   If (p_rec.comments is not null and p_rec.comment_id is null) then
505     hr_comm_api.ins(p_comment_id        => p_rec.comment_id,
506                     p_source_table_name => 'per_all_people_f',
507                     p_comment_text      => p_rec.comments);
508   -- Update the comments if they have changed
509   ElsIf (p_rec.comment_id is not null and p_rec.comments <>
510          per_per_shd.g_old_rec.comments) then
511     hr_comm_api.upd(p_comment_id        => p_rec.comment_id,
512                     p_source_table_name => 'per_all_people_f',
513                     p_comment_text      => p_rec.comments);
514   End If;
515   --
516   dt_pre_update
517     (p_rec          => p_rec,
518      p_effective_date        => p_effective_date,
519      p_datetrack_mode        => p_datetrack_mode,
520      p_validation_start_date => p_validation_start_date,
521      p_validation_end_date   => p_validation_end_date);
522 -- Bug 3717072 Starts
523 -- Desc: Call the BEN proc for change log event.
524   if p_datetrack_mode <> 'CORRECTION' then
525     ben_ext_chlg.log_per_chg
526     (p_event => 'UPDATE',
527      p_old_rec => per_per_shd.g_old_rec,
528      p_new_rec => p_rec
529      );
530   end if;
531 -- Bug 3717072 Ends
532   --
533   -- Check for DT mode, if correction use current values
534   -- else use values from currently existing record.
535   --
536   if p_datetrack_mode <> 'CORRECTION' then
537      open csr_rowid_u;
538      fetch csr_rowid_u into l_rowid;
539      close csr_rowid_u;
540      l_esd := p_rec.effective_start_date;
541      l_eed := p_rec.effective_end_date;
542   else
543      open csr_rowid;
544      fetch csr_rowid into l_rowid, l_esd, l_eed;
545      close csr_rowid;
546   end if;
547   --
548   ben_dt_trgr_handle.person
549     (p_rowid                 => l_rowid
550     ,p_business_group_id          => p_rec.business_group_id
551     ,p_person_id                  => p_rec.person_id
552     ,p_effective_start_date       => l_esd
553     ,p_effective_end_date         => l_eed
554     ,p_date_of_birth              => p_rec.date_of_birth
555     ,p_date_of_death              => p_rec.date_of_death
556     ,p_marital_status             => p_rec.marital_status
557     ,p_on_military_service        => p_rec.on_military_service
558     ,p_registered_disabled_flag   => p_rec.registered_disabled_flag
559     ,p_sex                        => p_rec.sex
560     ,p_student_status             => p_rec.student_status
561     ,p_coord_ben_med_pln_no       => p_rec.coord_ben_med_pln_no
562     ,p_coord_ben_no_cvg_flag      => p_rec.coord_ben_no_cvg_flag
563     ,p_uses_tobacco_flag          => p_rec.uses_tobacco_flag
564     ,p_benefit_group_id           => p_rec.benefit_group_id
565     ,p_per_information10          => p_rec.per_information10
566     ,p_original_date_of_hire      => p_rec.original_date_of_hire
567     ,p_dpdnt_vlntry_svce_flag     => p_rec.dpdnt_vlntry_svce_flag
568     ,p_receipt_of_death_cert_date => p_rec.receipt_of_death_cert_date
569     ,p_attribute1                 => p_rec.attribute1
570     ,p_attribute2                 => p_rec.attribute2
571     ,p_attribute3                 => p_rec.attribute3
572     ,p_attribute4                 => p_rec.attribute4
573     ,p_attribute5                 => p_rec.attribute5
574     ,p_attribute6                 => p_rec.attribute6
575     ,p_attribute7                 => p_rec.attribute7
576     ,p_attribute8                 => p_rec.attribute8
577     ,p_attribute9                 => p_rec.attribute9
578     ,p_attribute10                => p_rec.attribute10
579     ,p_attribute11                => p_rec.attribute11
580     ,p_attribute12                => p_rec.attribute12
581     ,p_attribute13                => p_rec.attribute13
582     ,p_attribute14                => p_rec.attribute14
583     ,p_attribute15                => p_rec.attribute15
584     ,p_attribute16                => p_rec.attribute16
585     ,p_attribute17                => p_rec.attribute17
586     ,p_attribute18                => p_rec.attribute18
587     ,p_attribute19                => p_rec.attribute19
588     ,p_attribute20                => p_rec.attribute20
589     ,p_attribute21                => p_rec.attribute21
590     ,p_attribute22                => p_rec.attribute22
591     ,p_attribute23                => p_rec.attribute23
592     ,p_attribute24                => p_rec.attribute24
593     ,p_attribute25                => p_rec.attribute25
594     ,p_attribute26                => p_rec.attribute26
595     ,p_attribute27                => p_rec.attribute27
596     ,p_attribute28                => p_rec.attribute28
597     ,p_attribute29                => p_rec.attribute29
598     ,p_attribute30                => p_rec.attribute30
599 );
600   --
601   hr_utility.set_location(' Leaving:'||l_proc, 10);
602   --
603 End pre_update;
604 --
605 -- ----------------------------------------------------------------------------
606 -- |-----------------------------< post_update >------------------------------|
607 -- ----------------------------------------------------------------------------
608 -- {Start Of Comments}
609 --
610 -- Description:
611 --   This private procedure contains any processing which is required after the
612 --   update dml.
613 --
614 -- Pre Conditions:
615 --   This is an internal procedure which is called from the upd procedure.
616 --
617 -- In Arguments:
618 --   A Pl/Sql record structre.
619 --
620 -- Post Success:
621 --   Processing continues.
622 --
623 -- Post Failure:
624 --   If an error has occurred, an error message and exception will be raised
625 --   but not handled.
626 --
627 -- Developer Implementation Notes:
628 --   Any post-processing required after the update dml is issued should be
629 --   coded within this procedure. It is important to note that any 3rd party
630 --   maintenance should be reviewed before placing in this procedure.
631 --
632 -- Access Status:
633 --   Internal Table Handler Use Only.
634 --
635 -- {End Of Comments}
636 -- ----------------------------------------------------------------------------
637 Procedure post_update
638    (p_rec          in per_per_shd.g_rec_type,
639     p_effective_date  in date,
640     p_datetrack_mode  in varchar2,
641     p_validation_start_date in date,
642     p_validation_end_date   in date,
643          p_name_combination_warning  in boolean,
644          p_dob_null_warning          in boolean,
645          p_orig_hire_warning         in boolean) is
646 --
647   l_proc varchar2(72) := g_package||'post_update';
648 --
649   cursor l_per_cur is
650     select *
651     from  per_all_people_f
652     where person_id            = p_rec.person_id
653     and   effective_start_date = p_rec.effective_start_date
654     and   effective_end_date   = p_rec.effective_end_date;
655   l_per_rec per_all_people_f%rowtype;
656   --
657 Begin
658   hr_utility.set_location('Entering:'||l_proc, 5);
659   --
660   -- Start of API User Hook for post_update.
661   begin
662     per_per_rku.after_update
663       (p_person_id                    => p_rec.person_id
664       ,p_effective_start_date         => p_rec.effective_start_date
665       ,p_effective_end_date           => p_rec.effective_end_date
666       ,p_person_type_id               => p_rec.person_type_id
667       ,p_last_name                    => p_rec.last_name
668       ,p_start_date                   => p_rec.start_date
669       ,p_applicant_number             => p_rec.applicant_number
670       ,p_comment_id                   => p_rec.comment_id
671       ,p_comments                     => p_rec.comments
672       ,p_current_applicant_flag       => p_rec.current_applicant_flag
673       ,p_current_emp_or_apl_flag      => p_rec.current_emp_or_apl_flag
674       ,p_current_employee_flag        => p_rec.current_employee_flag
675       ,p_date_employee_data_verified  => p_rec.date_employee_data_verified
676       ,p_date_of_birth                => p_rec.date_of_birth
677       ,p_email_address                => p_rec.email_address
678       ,p_employee_number              => p_rec.employee_number
679       ,p_expense_check_send_to_addres => p_rec.expense_check_send_to_address
680       ,p_first_name                   => p_rec.first_name
681       ,p_full_name                    => p_rec.full_name
682       ,p_known_as                     => p_rec.known_as
683       ,p_marital_status               => p_rec.marital_status
684       ,p_middle_names                 => p_rec.middle_names
685       ,p_nationality                  => p_rec.nationality
686       ,p_national_identifier          => p_rec.national_identifier
687       ,p_previous_last_name           => p_rec.previous_last_name
688       ,p_registered_disabled_flag     => p_rec.registered_disabled_flag
689       ,p_sex                          => p_rec.sex
690       ,p_title                        => p_rec.title
691       ,p_vendor_id                    => p_rec.vendor_id
692       ,p_work_telephone               => p_rec.work_telephone
693       ,p_request_id                   => p_rec.request_id
694       ,p_program_application_id       => p_rec.program_application_id
695       ,p_program_id                   => p_rec.program_id
696       ,p_program_update_date          => p_rec.program_update_date
697       ,p_attribute_category           => p_rec.attribute_category
698       ,p_attribute1                   => p_rec.attribute1
699       ,p_attribute2                   => p_rec.attribute2
700       ,p_attribute3                   => p_rec.attribute3
701       ,p_attribute4                   => p_rec.attribute4
702       ,p_attribute5                   => p_rec.attribute5
703       ,p_attribute6                   => p_rec.attribute6
704       ,p_attribute7                   => p_rec.attribute7
705       ,p_attribute8                   => p_rec.attribute8
706       ,p_attribute9                   => p_rec.attribute9
707       ,p_attribute10                  => p_rec.attribute10
708       ,p_attribute11                  => p_rec.attribute11
709       ,p_attribute12                  => p_rec.attribute12
710       ,p_attribute13                  => p_rec.attribute13
711       ,p_attribute14                  => p_rec.attribute14
712       ,p_attribute15                  => p_rec.attribute15
713       ,p_attribute16                  => p_rec.attribute16
714       ,p_attribute17                  => p_rec.attribute17
715       ,p_attribute18                  => p_rec.attribute18
716       ,p_attribute19                  => p_rec.attribute19
717       ,p_attribute20                  => p_rec.attribute20
718       ,p_attribute21                  => p_rec.attribute21
719       ,p_attribute22                  => p_rec.attribute22
720       ,p_attribute23                  => p_rec.attribute23
721       ,p_attribute24                  => p_rec.attribute24
722       ,p_attribute25                  => p_rec.attribute25
723       ,p_attribute26                  => p_rec.attribute26
724       ,p_attribute27                  => p_rec.attribute27
725       ,p_attribute28                  => p_rec.attribute28
726       ,p_attribute29                  => p_rec.attribute29
727       ,p_attribute30                  => p_rec.attribute30
728       ,p_per_information_category     => p_rec.per_information_category
729       ,p_per_information1             => p_rec.per_information1
730       ,p_per_information2             => p_rec.per_information2
731       ,p_per_information3             => p_rec.per_information3
732       ,p_per_information4             => p_rec.per_information4
733       ,p_per_information5             => p_rec.per_information5
734       ,p_per_information6             => p_rec.per_information6
735       ,p_per_information7             => p_rec.per_information7
736       ,p_per_information8             => p_rec.per_information8
737       ,p_per_information9             => p_rec.per_information9
738       ,p_per_information10            => p_rec.per_information10
739       ,p_per_information11            => p_rec.per_information11
740       ,p_per_information12            => p_rec.per_information12
741       ,p_per_information13            => p_rec.per_information13
742       ,p_per_information14            => p_rec.per_information14
743       ,p_per_information15            => p_rec.per_information15
744       ,p_per_information16            => p_rec.per_information16
745       ,p_per_information17            => p_rec.per_information17
746       ,p_per_information18            => p_rec.per_information18
747       ,p_per_information19            => p_rec.per_information19
748       ,p_per_information20            => p_rec.per_information20
749       ,p_suffix                       => p_rec.suffix
750       ,p_DATE_OF_DEATH                => p_rec.DATE_OF_DEATH
751       ,p_BACKGROUND_CHECK_STATUS      => p_rec.BACKGROUND_CHECK_STATUS
752       ,p_BACKGROUND_DATE_CHECK        => p_rec.BACKGROUND_DATE_CHECK
753       ,p_BLOOD_TYPE                   => p_rec.BLOOD_TYPE
754       ,p_CORRESPONDENCE_LANGUAGE      => p_rec.CORRESPONDENCE_LANGUAGE
755       ,p_FAST_PATH_EMPLOYEE           => p_rec.FAST_PATH_EMPLOYEE
756       ,p_FTE_CAPACITY                 => p_rec.FTE_CAPACITY
757       ,p_HOLD_APPLICANT_DATE_UNTIL    => p_rec.HOLD_APPLICANT_DATE_UNTIL
758       ,p_HONORS                       => p_rec.HONORS
759       ,p_INTERNAL_LOCATION            => p_rec.INTERNAL_LOCATION
760       ,p_LAST_MEDICAL_TEST_BY         => p_rec.LAST_MEDICAL_TEST_BY
761       ,p_LAST_MEDICAL_TEST_DATE       => p_rec.LAST_MEDICAL_TEST_DATE
762       ,p_MAILSTOP                     => p_rec.MAILSTOP
763       ,p_OFFICE_NUMBER                => p_rec.OFFICE_NUMBER
764       ,p_ON_MILITARY_SERVICE          => p_rec.ON_MILITARY_SERVICE
765       ,p_ORDER_NAME                   => p_rec.ORDER_NAME
766       ,p_PRE_NAME_ADJUNCT             => p_rec.PRE_NAME_ADJUNCT
767       ,p_PROJECTED_START_DATE         => p_rec.PROJECTED_START_DATE
768       ,p_REHIRE_AUTHORIZOR            => p_rec.REHIRE_AUTHORIZOR
769       ,p_REHIRE_RECOMMENDATION        => p_rec.REHIRE_RECOMMENDATION
770       ,p_RESUME_EXISTS                => p_rec.RESUME_EXISTS
771       ,p_RESUME_LAST_UPDATED          => p_rec.RESUME_LAST_UPDATED
772       ,p_SECOND_PASSPORT_EXISTS       => p_rec.SECOND_PASSPORT_EXISTS
773       ,p_STUDENT_STATUS               => p_rec.STUDENT_STATUS
774       ,p_WORK_SCHEDULE                => p_rec.WORK_SCHEDULE
775       ,p_PER_INFORMATION21            => p_rec.PER_INFORMATION21
776       ,p_PER_INFORMATION22            => p_rec.PER_INFORMATION22
777       ,p_PER_INFORMATION23            => p_rec.PER_INFORMATION23
778       ,p_PER_INFORMATION24            => p_rec.PER_INFORMATION24
779       ,p_PER_INFORMATION25            => p_rec.PER_INFORMATION25
780       ,p_PER_INFORMATION26            => p_rec.PER_INFORMATION26
781       ,p_PER_INFORMATION27            => p_rec.PER_INFORMATION27
782       ,p_PER_INFORMATION28            => p_rec.PER_INFORMATION28
783       ,p_PER_INFORMATION29            => p_rec.PER_INFORMATION29
784       ,p_PER_INFORMATION30            => p_rec.PER_INFORMATION30
785       ,p_REHIRE_REASON                => p_rec.REHIRE_REASON
786       ,p_BENEFIT_GROUP_ID               => p_rec.BENEFIT_GROUP_ID
787       ,p_RECEIPT_OF_DEATH_CERT_DATE     => p_rec.RECEIPT_OF_DEATH_CERT_DATE
788       ,p_COORD_BEN_MED_PLN_NO           => p_rec.COORD_BEN_MED_PLN_NO
789       ,p_COORD_BEN_NO_CVG_FLAG          => p_rec.COORD_BEN_NO_CVG_FLAG
790       ,p_coord_ben_med_ext_er          => p_rec.coord_ben_med_ext_er
791       ,p_coord_ben_med_pl_name         => p_rec.coord_ben_med_pl_name
792       ,p_coord_ben_med_insr_crr_name   => p_rec.coord_ben_med_insr_crr_name
793       ,p_coord_ben_med_insr_crr_ident  => p_rec.coord_ben_med_insr_crr_ident
794       ,p_coord_ben_med_cvg_strt_dt     => p_rec.coord_ben_med_cvg_strt_dt
795       ,p_coord_ben_med_cvg_end_dt      => p_rec.coord_ben_med_cvg_end_dt
796       ,p_USES_TOBACCO_FLAG              => p_rec.USES_TOBACCO_FLAG
797       ,p_DPDNT_ADOPTION_DATE            => p_rec.DPDNT_ADOPTION_DATE
798       ,p_DPDNT_VLNTRY_SVCE_FLAG         => p_rec.DPDNT_VLNTRY_SVCE_FLAG
799       ,p_ORIGINAL_DATE_OF_HIRE          => p_rec.ORIGINAL_DATE_OF_HIRE
800     ,p_town_of_birth                => p_rec.town_of_birth
801     ,p_region_of_birth              => p_rec.region_of_birth
802     ,p_country_of_birth             => p_rec.country_of_birth
803     ,p_global_person_id             => p_rec.global_person_id
804     ,p_party_id                     => p_rec.party_id
805       ,p_npw_number                   => p_rec.npw_number
806       ,p_current_npw_flag             => p_rec.current_npw_flag
807       ,p_global_name                  => p_rec.global_name
808       ,p_local_name                   => p_rec.local_name
809       ,p_object_version_number        => p_rec.object_version_number
810       ,p_effective_date               => p_effective_date
811       ,p_datetrack_mode               => p_datetrack_mode
812       ,p_validation_start_date        => p_validation_start_date
813       ,p_validation_end_date          => p_validation_end_date
814       ,p_name_combination_warning     => p_name_combination_warning
815       ,p_dob_null_warning             => p_dob_null_warning
816       ,p_orig_hire_warning            => p_orig_hire_warning
817       ,p_effective_start_date_o
818           => per_per_shd.g_old_rec.effective_start_date
819       ,p_effective_end_date_o
820           => per_per_shd.g_old_rec.effective_end_date
821       ,p_business_group_id_o
822           => per_per_shd.g_old_rec.business_group_id
823       ,p_person_type_id_o
824           => per_per_shd.g_old_rec.person_type_id
825       ,p_last_name_o
826           => per_per_shd.g_old_rec.last_name
827       ,p_start_date_o
828           => per_per_shd.g_old_rec.start_date
829       ,p_applicant_number_o
830           => per_per_shd.g_old_rec.applicant_number
831       ,p_comment_id_o
832           => per_per_shd.g_old_rec.comment_id
833       ,p_current_applicant_flag_o
834           => per_per_shd.g_old_rec.current_applicant_flag
835       ,p_current_emp_or_apl_flag_o
836           => per_per_shd.g_old_rec.current_emp_or_apl_flag
837       ,p_current_employee_flag_o
838           => per_per_shd.g_old_rec.current_employee_flag
839       ,p_date_employee_data_verifie_o
840           => per_per_shd.g_old_rec.date_employee_data_verified
841       ,p_date_of_birth_o
842           => per_per_shd.g_old_rec.date_of_birth
843       ,p_email_address_o
844           => per_per_shd.g_old_rec.email_address
845       ,p_employee_number_o
846           => per_per_shd.g_old_rec.employee_number
847       ,p_expense_check_send_to_addr_o
848           => per_per_shd.g_old_rec.expense_check_send_to_address
849       ,p_first_name_o
850           => per_per_shd.g_old_rec.first_name
851       ,p_full_name_o
852           => per_per_shd.g_old_rec.full_name
853       ,p_known_as_o
854           => per_per_shd.g_old_rec.known_as
855       ,p_marital_status_o
856           => per_per_shd.g_old_rec.marital_status
857       ,p_middle_names_o
858           => per_per_shd.g_old_rec.middle_names
859       ,p_nationality_o
860           => per_per_shd.g_old_rec.nationality
861       ,p_national_identifier_o
862           => per_per_shd.g_old_rec.national_identifier
863       ,p_previous_last_name_o
864           => per_per_shd.g_old_rec.previous_last_name
865       ,p_registered_disabled_flag_o
866           => per_per_shd.g_old_rec.registered_disabled_flag
867       ,p_sex_o
868           => per_per_shd.g_old_rec.sex
869       ,p_title_o
870           => per_per_shd.g_old_rec.title
871       ,p_vendor_id_o
872           => per_per_shd.g_old_rec.vendor_id
873       ,p_work_telephone_o
874           => per_per_shd.g_old_rec.work_telephone
875       ,p_request_id_o
876           => per_per_shd.g_old_rec.request_id
877       ,p_program_application_id_o
878           => per_per_shd.g_old_rec.program_application_id
879       ,p_program_id_o
880           => per_per_shd.g_old_rec.program_id
881       ,p_program_update_date_o
882           => per_per_shd.g_old_rec.program_update_date
883       ,p_attribute_category_o
884           => per_per_shd.g_old_rec.attribute_category
885       ,p_attribute1_o
886           => per_per_shd.g_old_rec.attribute1
887       ,p_attribute2_o
888           => per_per_shd.g_old_rec.attribute2
889       ,p_attribute3_o
890           => per_per_shd.g_old_rec.attribute3
891       ,p_attribute4_o
892           => per_per_shd.g_old_rec.attribute4
893       ,p_attribute5_o
894           => per_per_shd.g_old_rec.attribute5
895       ,p_attribute6_o
896           => per_per_shd.g_old_rec.attribute6
897       ,p_attribute7_o
898           => per_per_shd.g_old_rec.attribute7
899       ,p_attribute8_o
900           => per_per_shd.g_old_rec.attribute8
901       ,p_attribute9_o
902           => per_per_shd.g_old_rec.attribute9
903       ,p_attribute10_o
904           => per_per_shd.g_old_rec.attribute10
905       ,p_attribute11_o
906           => per_per_shd.g_old_rec.attribute11
907       ,p_attribute12_o
908           => per_per_shd.g_old_rec.attribute12
909       ,p_attribute13_o
910           => per_per_shd.g_old_rec.attribute13
911       ,p_attribute14_o
912           => per_per_shd.g_old_rec.attribute14
913       ,p_attribute15_o
914           => per_per_shd.g_old_rec.attribute15
915       ,p_attribute16_o
916           => per_per_shd.g_old_rec.attribute16
917       ,p_attribute17_o
918           => per_per_shd.g_old_rec.attribute17
919       ,p_attribute18_o
920           => per_per_shd.g_old_rec.attribute18
921       ,p_attribute19_o
922           => per_per_shd.g_old_rec.attribute19
923       ,p_attribute20_o
924           => per_per_shd.g_old_rec.attribute20
925       ,p_attribute21_o
926           => per_per_shd.g_old_rec.attribute21
927       ,p_attribute22_o
928           => per_per_shd.g_old_rec.attribute22
929       ,p_attribute23_o
930           => per_per_shd.g_old_rec.attribute23
931       ,p_attribute24_o
932           => per_per_shd.g_old_rec.attribute24
933       ,p_attribute25_o
934           => per_per_shd.g_old_rec.attribute25
935       ,p_attribute26_o
936           => per_per_shd.g_old_rec.attribute26
937       ,p_attribute27_o
938           => per_per_shd.g_old_rec.attribute27
939       ,p_attribute28_o
940           => per_per_shd.g_old_rec.attribute28
941       ,p_attribute29_o
942           => per_per_shd.g_old_rec.attribute29
943       ,p_attribute30_o
944           => per_per_shd.g_old_rec.attribute30
945       ,p_per_information_category_o
946           => per_per_shd.g_old_rec.per_information_category
947       ,p_per_information1_o
948           => per_per_shd.g_old_rec.per_information1
949       ,p_per_information2_o
950           => per_per_shd.g_old_rec.per_information2
951       ,p_per_information3_o
952           => per_per_shd.g_old_rec.per_information3
953       ,p_per_information4_o
954           => per_per_shd.g_old_rec.per_information4
955       ,p_per_information5_o
956           => per_per_shd.g_old_rec.per_information5
957       ,p_per_information6_o
958           => per_per_shd.g_old_rec.per_information6
959       ,p_per_information7_o
960           => per_per_shd.g_old_rec.per_information7
961       ,p_per_information8_o
962           => per_per_shd.g_old_rec.per_information8
963       ,p_per_information9_o
964           => per_per_shd.g_old_rec.per_information9
965       ,p_per_information10_o
966           => per_per_shd.g_old_rec.per_information10
967       ,p_per_information11_o
968           => per_per_shd.g_old_rec.per_information11
969       ,p_per_information12_o
970           => per_per_shd.g_old_rec.per_information12
971       ,p_per_information13_o
972           => per_per_shd.g_old_rec.per_information13
973       ,p_per_information14_o
974           => per_per_shd.g_old_rec.per_information14
975       ,p_per_information15_o
976           => per_per_shd.g_old_rec.per_information15
977       ,p_per_information16_o
978           => per_per_shd.g_old_rec.per_information16
979       ,p_per_information17_o
980           => per_per_shd.g_old_rec.per_information17
981       ,p_per_information18_o
982           => per_per_shd.g_old_rec.per_information18
983       ,p_per_information19_o
984           => per_per_shd.g_old_rec.per_information19
985       ,p_per_information20_o
986           => per_per_shd.g_old_rec.per_information20
987       ,p_suffix_o
988           => per_per_shd.g_old_rec.suffix
989       ,p_DATE_OF_DEATH_o
990           => per_per_shd.g_old_rec.DATE_OF_DEATH
991       ,p_BACKGROUND_CHECK_STATUS_o
992           => per_per_shd.g_old_rec.BACKGROUND_CHECK_STATUS
993       ,p_BACKGROUND_DATE_CHECK_o
994           => per_per_shd.g_old_rec.BACKGROUND_DATE_CHECK
995       ,p_BLOOD_TYPE_o
996           => per_per_shd.g_old_rec.BLOOD_TYPE
997       ,p_CORRESPONDENCE_LANGUAGE_o
998           => per_per_shd.g_old_rec.CORRESPONDENCE_LANGUAGE
999       ,p_FAST_PATH_EMPLOYEE_o
1000           => per_per_shd.g_old_rec.FAST_PATH_EMPLOYEE
1001       ,p_FTE_CAPACITY_o
1002           => per_per_shd.g_old_rec.FTE_CAPACITY
1003       ,p_HOLD_APPLICANT_DATE_UNTIL_o
1004           => per_per_shd.g_old_rec.HOLD_APPLICANT_DATE_UNTIL
1005       ,p_HONORS_o
1006           => per_per_shd.g_old_rec.HONORS
1007       ,p_INTERNAL_LOCATION_o
1008           => per_per_shd.g_old_rec.INTERNAL_LOCATION
1009       ,p_LAST_MEDICAL_TEST_BY_o
1010           => per_per_shd.g_old_rec.LAST_MEDICAL_TEST_BY
1011       ,p_LAST_MEDICAL_TEST_DATE_o
1012           => per_per_shd.g_old_rec.LAST_MEDICAL_TEST_DATE
1013       ,p_MAILSTOP_o
1014           => per_per_shd.g_old_rec.MAILSTOP
1015       ,p_OFFICE_NUMBER_o
1016           => per_per_shd.g_old_rec.OFFICE_NUMBER
1017       ,p_ON_MILITARY_SERVICE_o
1018           => per_per_shd.g_old_rec.ON_MILITARY_SERVICE
1019       ,p_ORDER_NAME_o
1020           => per_per_shd.g_old_rec.ORDER_NAME
1021       ,p_PRE_NAME_ADJUNCT_o
1022           => per_per_shd.g_old_rec.PRE_NAME_ADJUNCT
1023       ,p_PROJECTED_START_DATE_o
1024           => per_per_shd.g_old_rec.PROJECTED_START_DATE
1025       ,p_REHIRE_AUTHORIZOR_o
1026           => per_per_shd.g_old_rec.REHIRE_AUTHORIZOR
1027       ,p_REHIRE_RECOMMENDATION_o
1028           => per_per_shd.g_old_rec.REHIRE_RECOMMENDATION
1029       ,p_RESUME_EXISTS_o
1030           => per_per_shd.g_old_rec.RESUME_EXISTS
1031       ,p_RESUME_LAST_UPDATED_o
1032           => per_per_shd.g_old_rec.RESUME_LAST_UPDATED
1033       ,p_SECOND_PASSPORT_EXISTS_o
1034           => per_per_shd.g_old_rec.SECOND_PASSPORT_EXISTS
1035       ,p_STUDENT_STATUS_o
1036           => per_per_shd.g_old_rec.STUDENT_STATUS
1037       ,p_WORK_SCHEDULE_o
1038           => per_per_shd.g_old_rec.WORK_SCHEDULE
1039       ,p_PER_INFORMATION21_o
1040           => per_per_shd.g_old_rec.PER_INFORMATION21
1041       ,p_PER_INFORMATION22_o
1042           => per_per_shd.g_old_rec.PER_INFORMATION22
1043       ,p_PER_INFORMATION23_o
1044           => per_per_shd.g_old_rec.PER_INFORMATION23
1045       ,p_PER_INFORMATION24_o
1046           => per_per_shd.g_old_rec.PER_INFORMATION24
1047       ,p_PER_INFORMATION25_o
1048           => per_per_shd.g_old_rec.PER_INFORMATION25
1049       ,p_PER_INFORMATION26_o
1050           => per_per_shd.g_old_rec.PER_INFORMATION26
1051       ,p_PER_INFORMATION27_o
1052           => per_per_shd.g_old_rec.PER_INFORMATION27
1053       ,p_PER_INFORMATION28_o
1054           => per_per_shd.g_old_rec.PER_INFORMATION28
1055       ,p_PER_INFORMATION29_o
1056           => per_per_shd.g_old_rec.PER_INFORMATION29
1057       ,p_PER_INFORMATION30_o
1058           => per_per_shd.g_old_rec.PER_INFORMATION30
1059       ,p_REHIRE_REASON_o
1060           => per_per_shd.g_old_rec.REHIRE_REASON
1061       ,p_BENEFIT_GROUP_ID_o
1062          => per_per_shd.g_old_rec.BENEFIT_GROUP_ID
1063       ,p_RECEIPT_OF_DEATH_CERT_DATE_o
1064          => per_per_shd.g_old_rec.RECEIPT_OF_DEATH_CERT_DATE
1065       ,p_COORD_BEN_MED_PLN_NO_o
1066          => per_per_shd.g_old_rec.COORD_BEN_MED_PLN_NO
1067       ,p_COORD_BEN_NO_CVG_FLAG_o
1068          => per_per_shd.g_old_rec.COORD_BEN_NO_CVG_FLAG
1069       ,p_coord_ben_med_ext_er_o
1070          => per_per_shd.g_old_rec.coord_ben_med_ext_er
1071       ,p_coord_ben_med_pl_name_o
1072          => per_per_shd.g_old_rec.coord_ben_med_pl_name
1073       ,p_coord_ben_med_insr_crr_nam_o
1074          => per_per_shd.g_old_rec.coord_ben_med_insr_crr_name
1075       ,p_coord_ben_med_insr_crr_ide_o
1076          => per_per_shd.g_old_rec.coord_ben_med_insr_crr_ident
1077       ,p_coord_ben_med_cvg_strt_dt_o
1078          => per_per_shd.g_old_rec.coord_ben_med_cvg_strt_dt
1079       ,p_coord_ben_med_cvg_end_dt_o
1080          => per_per_shd.g_old_rec.coord_ben_med_cvg_end_dt
1081       ,p_USES_TOBACCO_FLAG_o
1082          => per_per_shd.g_old_rec.USES_TOBACCO_FLAG
1083       ,p_DPDNT_ADOPTION_DATE_o
1084          => per_per_shd.g_old_rec.DPDNT_ADOPTION_DATE
1085       ,p_DPDNT_VLNTRY_SVCE_FLAG_o
1086          => per_per_shd.g_old_rec.DPDNT_VLNTRY_SVCE_FLAG
1087       ,p_ORIGINAL_DATE_OF_HIRE_o
1088          => per_per_shd.g_old_rec.ORIGINAL_DATE_OF_HIRE
1089       ,p_town_of_birth_o
1090       => per_per_shd.g_old_rec.town_of_birth
1091       ,p_region_of_birth_o
1092       => per_per_shd.g_old_rec.region_of_birth
1093     ,p_country_of_birth_o
1094       => per_per_shd.g_old_rec.country_of_birth
1095     ,p_global_person_id_o
1096       => per_per_shd.g_old_rec.global_person_id
1097     ,p_party_id_o
1098       => per_per_shd.g_old_rec.party_id
1099       ,p_npw_number_o
1100           => per_per_shd.g_old_rec.npw_number
1101       ,p_current_npw_flag_o
1102           => per_per_shd.g_old_rec.current_npw_flag
1103       ,p_global_name_o
1104          => per_per_shd.g_old_rec.global_name
1105       ,p_local_name_o
1106          => per_per_shd.g_old_rec.local_name
1107       ,p_object_version_number_o
1108           => per_per_shd.g_old_rec.object_version_number
1109       );
1110   exception
1111     when hr_api.cannot_find_prog_unit then
1112       hr_api.cannot_find_prog_unit_error
1113         (p_module_name => 'per_all_people_f'
1114         ,p_hook_type   => 'AU'
1115         );
1116   end;
1117   -- End of API User Hook for post_update.
1118   --
1119   hr_utility.set_location(' Leaving:'||l_proc, 10);
1120   --
1121   -- Start of HR/WF Synchronization
1122   --
1123   open l_per_cur;
1124   fetch l_per_cur into l_per_rec;
1125   close l_per_cur;
1126   --
1127     per_hrwf_synch.per_per_wf(
1128                    p_rec       => l_per_rec,
1129                    p_action    => 'UPDATE');
1130   -- End HR/WF Synchronization
1131   --
1132 End post_update;
1133 --
1134 -- ----------------------------------------------------------------------------
1135 -- |-----------------------------< convert_defs >-----------------------------|
1136 -- ----------------------------------------------------------------------------
1137 -- {Start Of Comments}
1138 --
1139 -- Description:
1140 --   The Convert_Defs procedure has one very important function:
1141 --   It must return the record structure for the row with all system defaulted
1142 --   values converted into its corresponding argument value for update. When
1143 --   we attempt to update a row through the Upd business process , certain
1144 --   arguments can be defaulted which enables flexibility in the calling of
1145 --   the upd process (e.g. only attributes which need to be updated need to be
1146 --   specified). For the upd business process to determine which attributes
1147 --   have NOT been specified we need to check if the argument has a reserved
1148 --   system default value. Therefore, for all attributes which have a
1149 --   corresponding reserved system default mechanism specified we need to
1150 --   check if a system default is being used. If a system default is being
1151 --   used then we convert the defaulted value into its corresponding attribute
1152 --   value held in the g_old_rec data structure.
1153 --
1154 -- Pre Conditions:
1155 --   This private procedure can only be called from the upd process.
1156 --
1157 -- In Arguments:
1158 --   A Pl/Sql record structre.
1159 --
1160 -- Post Success:
1161 --   The record structure will be returned with all system defaulted argument
1162 --   values converted into its current row attribute value.
1163 --
1164 -- Post Failure:
1165 --   No direct error handling is required within this function. Any possible
1166 --   errors within this function will be a PL/SQL value error due to conversion
1167 --   of datatypes or data lengths.
1168 --
1169 -- Developer Implementation Notes:
1170 --   None.
1171 --
1172 -- Access Status:
1173 --   Internal Table Handler Use Only.
1174 --
1175 -- {End Of Comments}
1176 -- ----------------------------------------------------------------------------
1177    Procedure convert_defs(p_rec in out nocopy per_per_shd.g_rec_type) is
1178 --
1179   l_proc  varchar2(72) := g_package||'convert_defs';
1180 --
1181 Begin
1182   --
1183   hr_utility.set_location('Entering:'||l_proc, 5);
1184   --
1185   -- We must now examine each argument value in the
1186   -- p_rec plsql record structure
1187   -- to see if a system default is being used. If a system default
1188   -- is being used then we must set to the 'current' argument value.
1189   --
1190   If (p_rec.business_group_id = hr_api.g_number) then
1191     p_rec.business_group_id :=
1192     per_per_shd.g_old_rec.business_group_id;
1193   End If;
1194   If (p_rec.person_type_id = hr_api.g_number) then
1195     p_rec.person_type_id :=
1196     per_per_shd.g_old_rec.person_type_id;
1197   End If;
1198   If (p_rec.last_name = hr_api.g_varchar2) then
1199     p_rec.last_name :=
1200     per_per_shd.g_old_rec.last_name;
1201   End If;
1202   If (p_rec.start_date = hr_api.g_date) then
1203     p_rec.start_date :=
1204     per_per_shd.g_old_rec.start_date;
1205   End If;
1206   If (p_rec.applicant_number = hr_api.g_varchar2) then
1207     p_rec.applicant_number :=
1208     per_per_shd.g_old_rec.applicant_number;
1209   End If;
1210   If (p_rec.comment_id = hr_api.g_number) then
1211     p_rec.comment_id :=
1212     per_per_shd.g_old_rec.comment_id;
1213   End If;
1214   If (p_rec.comments = hr_api.g_varchar2) then
1215     p_rec.comments := per_per_shd.g_old_rec.comments;
1216   End If;
1217   If (p_rec.current_applicant_flag = hr_api.g_varchar2) then
1218     p_rec.current_applicant_flag :=
1219     per_per_shd.g_old_rec.current_applicant_flag;
1220   End If;
1221   If (p_rec.current_emp_or_apl_flag = hr_api.g_varchar2) then
1222     p_rec.current_emp_or_apl_flag :=
1223     per_per_shd.g_old_rec.current_emp_or_apl_flag;
1224   End If;
1225   If (p_rec.current_employee_flag = hr_api.g_varchar2) then
1226     p_rec.current_employee_flag :=
1227     per_per_shd.g_old_rec.current_employee_flag;
1228   End If;
1229   If (p_rec.date_employee_data_verified = hr_api.g_date) then
1230     p_rec.date_employee_data_verified :=
1231     per_per_shd.g_old_rec.date_employee_data_verified;
1232   End If;
1233   If (p_rec.date_of_birth = hr_api.g_date) then
1234     p_rec.date_of_birth :=
1235     per_per_shd.g_old_rec.date_of_birth;
1236   End If;
1237   If (p_rec.email_address = hr_api.g_varchar2) then
1238     p_rec.email_address :=
1239     per_per_shd.g_old_rec.email_address;
1240   End If;
1241   If (p_rec.employee_number = hr_api.g_varchar2) then
1242     p_rec.employee_number :=
1243     per_per_shd.g_old_rec.employee_number;
1244   End If;
1245   If (p_rec.expense_check_send_to_address = hr_api.g_varchar2) then
1246     p_rec.expense_check_send_to_address :=
1247     per_per_shd.g_old_rec.expense_check_send_to_address;
1248   End If;
1249   If (p_rec.first_name = hr_api.g_varchar2) then
1250     p_rec.first_name :=
1251     per_per_shd.g_old_rec.first_name;
1252   End If;
1253   If (p_rec.full_name = hr_api.g_varchar2) then
1254     p_rec.full_name :=
1255     per_per_shd.g_old_rec.full_name;
1256   End If;
1257   If (p_rec.known_as = hr_api.g_varchar2) then
1258     p_rec.known_as :=
1259     per_per_shd.g_old_rec.known_as;
1260   End If;
1261   If (p_rec.marital_status = hr_api.g_varchar2) then
1262     p_rec.marital_status :=
1263     per_per_shd.g_old_rec.marital_status;
1264   End If;
1265   If (p_rec.middle_names = hr_api.g_varchar2) then
1266     p_rec.middle_names :=
1267     per_per_shd.g_old_rec.middle_names;
1268   End If;
1269   If (p_rec.nationality = hr_api.g_varchar2) then
1270     p_rec.nationality :=
1271     per_per_shd.g_old_rec.nationality;
1272   End If;
1273   If (p_rec.national_identifier = hr_api.g_varchar2) then
1274     p_rec.national_identifier :=
1275     per_per_shd.g_old_rec.national_identifier;
1276   End If;
1277   If (p_rec.previous_last_name = hr_api.g_varchar2) then
1278     p_rec.previous_last_name :=
1279     per_per_shd.g_old_rec.previous_last_name;
1280   End If;
1281   If (p_rec.registered_disabled_flag = hr_api.g_varchar2) then
1282     p_rec.registered_disabled_flag :=
1283     per_per_shd.g_old_rec.registered_disabled_flag;
1284   End If;
1285   If (p_rec.sex = hr_api.g_varchar2) then
1286     p_rec.sex :=
1287     per_per_shd.g_old_rec.sex;
1288   End If;
1289   If (p_rec.title = hr_api.g_varchar2) then
1290     p_rec.title :=
1291     per_per_shd.g_old_rec.title;
1292   End If;
1293   If (p_rec.vendor_id = hr_api.g_number) then
1294     p_rec.vendor_id :=
1295     per_per_shd.g_old_rec.vendor_id;
1296   End If;
1297   If (p_rec.work_telephone = hr_api.g_varchar2) then
1298     p_rec.work_telephone :=
1299     per_per_shd.g_old_rec.work_telephone;
1300   End If;
1301   If (p_rec.request_id = hr_api.g_number) then
1302     p_rec.request_id :=
1303     per_per_shd.g_old_rec.request_id;
1304   End If;
1305   If (p_rec.program_application_id = hr_api.g_number) then
1306     p_rec.program_application_id :=
1307     per_per_shd.g_old_rec.program_application_id;
1308   End If;
1309   If (p_rec.program_id = hr_api.g_number) then
1310     p_rec.program_id :=
1311     per_per_shd.g_old_rec.program_id;
1312   End If;
1313   If (p_rec.program_update_date = hr_api.g_date) then
1314     p_rec.program_update_date :=
1315     per_per_shd.g_old_rec.program_update_date;
1316   End If;
1317   If (p_rec.attribute_category = hr_api.g_varchar2) then
1318     p_rec.attribute_category :=
1319     per_per_shd.g_old_rec.attribute_category;
1320   End If;
1321   If (p_rec.attribute1 = hr_api.g_varchar2) then
1322     p_rec.attribute1 :=
1323     per_per_shd.g_old_rec.attribute1;
1324   End If;
1325   If (p_rec.attribute2 = hr_api.g_varchar2) then
1326     p_rec.attribute2 :=
1327     per_per_shd.g_old_rec.attribute2;
1328   End If;
1329   If (p_rec.attribute3 = hr_api.g_varchar2) then
1330     p_rec.attribute3 :=
1331     per_per_shd.g_old_rec.attribute3;
1332   End If;
1333   If (p_rec.attribute4 = hr_api.g_varchar2) then
1334     p_rec.attribute4 :=
1335     per_per_shd.g_old_rec.attribute4;
1336   End If;
1337   If (p_rec.attribute5 = hr_api.g_varchar2) then
1338     p_rec.attribute5 :=
1339     per_per_shd.g_old_rec.attribute5;
1340   End If;
1341   If (p_rec.attribute6 = hr_api.g_varchar2) then
1342     p_rec.attribute6 :=
1343     per_per_shd.g_old_rec.attribute6;
1344   End If;
1345   If (p_rec.attribute7 = hr_api.g_varchar2) then
1346     p_rec.attribute7 :=
1347     per_per_shd.g_old_rec.attribute7;
1348   End If;
1349   If (p_rec.attribute8 = hr_api.g_varchar2) then
1350     p_rec.attribute8 :=
1351     per_per_shd.g_old_rec.attribute8;
1352   End If;
1353   If (p_rec.attribute9 = hr_api.g_varchar2) then
1354     p_rec.attribute9 :=
1355     per_per_shd.g_old_rec.attribute9;
1356   End If;
1357   If (p_rec.attribute10 = hr_api.g_varchar2) then
1358     p_rec.attribute10 :=
1359     per_per_shd.g_old_rec.attribute10;
1360   End If;
1361   If (p_rec.attribute11 = hr_api.g_varchar2) then
1362     p_rec.attribute11 :=
1363     per_per_shd.g_old_rec.attribute11;
1364   End If;
1365   If (p_rec.attribute12 = hr_api.g_varchar2) then
1366     p_rec.attribute12 :=
1367     per_per_shd.g_old_rec.attribute12;
1368   End If;
1369   If (p_rec.attribute13 = hr_api.g_varchar2) then
1370     p_rec.attribute13 :=
1371     per_per_shd.g_old_rec.attribute13;
1372   End If;
1373   If (p_rec.attribute14 = hr_api.g_varchar2) then
1374     p_rec.attribute14 :=
1375     per_per_shd.g_old_rec.attribute14;
1376   End If;
1377   If (p_rec.attribute15 = hr_api.g_varchar2) then
1378     p_rec.attribute15 :=
1379     per_per_shd.g_old_rec.attribute15;
1380   End If;
1381   If (p_rec.attribute16 = hr_api.g_varchar2) then
1382     p_rec.attribute16 :=
1383     per_per_shd.g_old_rec.attribute16;
1384   End If;
1385   If (p_rec.attribute17 = hr_api.g_varchar2) then
1386     p_rec.attribute17 :=
1387     per_per_shd.g_old_rec.attribute17;
1388   End If;
1389   If (p_rec.attribute18 = hr_api.g_varchar2) then
1390     p_rec.attribute18 :=
1391     per_per_shd.g_old_rec.attribute18;
1392   End If;
1393   If (p_rec.attribute19 = hr_api.g_varchar2) then
1394     p_rec.attribute19 :=
1395     per_per_shd.g_old_rec.attribute19;
1396   End If;
1397   If (p_rec.attribute20 = hr_api.g_varchar2) then
1398     p_rec.attribute20 :=
1399     per_per_shd.g_old_rec.attribute20;
1400   End If;
1401   If (p_rec.attribute21 = hr_api.g_varchar2) then
1402     p_rec.attribute21 :=
1403     per_per_shd.g_old_rec.attribute21;
1404   End If;
1405   If (p_rec.attribute22 = hr_api.g_varchar2) then
1406     p_rec.attribute22 :=
1407     per_per_shd.g_old_rec.attribute22;
1408   End If;
1409   If (p_rec.attribute23 = hr_api.g_varchar2) then
1410     p_rec.attribute23 :=
1411     per_per_shd.g_old_rec.attribute23;
1412   End If;
1413   If (p_rec.attribute24 = hr_api.g_varchar2) then
1414     p_rec.attribute24 :=
1415     per_per_shd.g_old_rec.attribute24;
1416   End If;
1417   If (p_rec.attribute25 = hr_api.g_varchar2) then
1418     p_rec.attribute25 :=
1419     per_per_shd.g_old_rec.attribute25;
1420   End If;
1421   If (p_rec.attribute26 = hr_api.g_varchar2) then
1422     p_rec.attribute26 :=
1423     per_per_shd.g_old_rec.attribute26;
1424   End If;
1425   If (p_rec.attribute27 = hr_api.g_varchar2) then
1426     p_rec.attribute27 :=
1427     per_per_shd.g_old_rec.attribute27;
1428   End If;
1429   If (p_rec.attribute28 = hr_api.g_varchar2) then
1430     p_rec.attribute28 :=
1431     per_per_shd.g_old_rec.attribute28;
1432   End If;
1433   If (p_rec.attribute29 = hr_api.g_varchar2) then
1434     p_rec.attribute29 :=
1435     per_per_shd.g_old_rec.attribute29;
1436   End If;
1437   If (p_rec.attribute30 = hr_api.g_varchar2) then
1438     p_rec.attribute30 :=
1439     per_per_shd.g_old_rec.attribute30;
1440   End If;
1441   If (p_rec.per_information_category = hr_api.g_varchar2) then
1442     p_rec.per_information_category :=
1443     per_per_shd.g_old_rec.per_information_category;
1444   End If;
1445   If (p_rec.per_information1 = hr_api.g_varchar2) then
1446     p_rec.per_information1 :=
1447     per_per_shd.g_old_rec.per_information1;
1448   End If;
1449   If (p_rec.per_information2 = hr_api.g_varchar2) then
1450     p_rec.per_information2 :=
1451     per_per_shd.g_old_rec.per_information2;
1452   End If;
1453   If (p_rec.per_information3 = hr_api.g_varchar2) then
1454     p_rec.per_information3 :=
1455     per_per_shd.g_old_rec.per_information3;
1456   End If;
1457   If (p_rec.per_information4 = hr_api.g_varchar2) then
1458     p_rec.per_information4 :=
1459     per_per_shd.g_old_rec.per_information4;
1460   End If;
1461   If (p_rec.per_information5 = hr_api.g_varchar2) then
1462     p_rec.per_information5 :=
1463     per_per_shd.g_old_rec.per_information5;
1464   End If;
1465   If (p_rec.per_information6 = hr_api.g_varchar2) then
1466     p_rec.per_information6 :=
1467     per_per_shd.g_old_rec.per_information6;
1468   End If;
1469   If (p_rec.per_information7 = hr_api.g_varchar2) then
1470     p_rec.per_information7 :=
1471     per_per_shd.g_old_rec.per_information7;
1472   End If;
1473   If (p_rec.per_information8 = hr_api.g_varchar2) then
1474     p_rec.per_information8 :=
1475     per_per_shd.g_old_rec.per_information8;
1476   End If;
1477   If (p_rec.per_information9 = hr_api.g_varchar2) then
1478     p_rec.per_information9 :=
1479     per_per_shd.g_old_rec.per_information9;
1480   End If;
1481   If (p_rec.per_information10 = hr_api.g_varchar2) then
1482     p_rec.per_information10 :=
1483     per_per_shd.g_old_rec.per_information10;
1484   End If;
1485   If (p_rec.per_information11 = hr_api.g_varchar2) then
1486     p_rec.per_information11 :=
1487     per_per_shd.g_old_rec.per_information11;
1488   End If;
1489   If (p_rec.per_information12 = hr_api.g_varchar2) then
1490     p_rec.per_information12 :=
1491     per_per_shd.g_old_rec.per_information12;
1492   End If;
1493   If (p_rec.per_information13 = hr_api.g_varchar2) then
1494     p_rec.per_information13 :=
1495     per_per_shd.g_old_rec.per_information13;
1496   End If;
1497   If (p_rec.per_information14 = hr_api.g_varchar2) then
1498     p_rec.per_information14 :=
1499     per_per_shd.g_old_rec.per_information14;
1500   End If;
1501   If (p_rec.per_information15 = hr_api.g_varchar2) then
1502     p_rec.per_information15 :=
1503     per_per_shd.g_old_rec.per_information15;
1504   End If;
1505   If (p_rec.per_information16 = hr_api.g_varchar2) then
1506     p_rec.per_information16 :=
1507     per_per_shd.g_old_rec.per_information16;
1508   End If;
1509   If (p_rec.per_information17 = hr_api.g_varchar2) then
1510     p_rec.per_information17 :=
1511     per_per_shd.g_old_rec.per_information17;
1512   End If;
1513   If (p_rec.per_information18 = hr_api.g_varchar2) then
1514     p_rec.per_information18 :=
1515     per_per_shd.g_old_rec.per_information18;
1516   End If;
1517   If (p_rec.per_information19 = hr_api.g_varchar2) then
1518     p_rec.per_information19 :=
1519     per_per_shd.g_old_rec.per_information19;
1520   End If;
1521   If (p_rec.per_information20 = hr_api.g_varchar2) then
1522     p_rec.per_information20 :=
1523     per_per_shd.g_old_rec.per_information20;
1524   End If;
1525   If (p_rec.suffix = hr_api.g_varchar2) then
1526     p_rec.suffix := per_per_shd.g_old_rec.suffix;
1527   End If;
1528   If (p_rec.DATE_OF_DEATH           = hr_api.g_date) then
1529     p_rec.DATE_OF_DEATH           := per_per_shd.g_old_rec.DATE_OF_DEATH           ;
1530   End If;
1531   If (p_rec.BACKGROUND_CHECK_STATUS = hr_api.g_varchar2) then
1532     p_rec.BACKGROUND_CHECK_STATUS := per_per_shd.g_old_rec.BACKGROUND_CHECK_STATUS ;
1533   End If;
1534   If (p_rec.BACKGROUND_DATE_CHECK   = hr_api.g_date) then
1535     p_rec.BACKGROUND_DATE_CHECK   := per_per_shd.g_old_rec.BACKGROUND_DATE_CHECK   ;
1536   End If;
1537   If (p_rec.BLOOD_TYPE              = hr_api.g_varchar2) then
1538     p_rec.BLOOD_TYPE              := per_per_shd.g_old_rec.BLOOD_TYPE              ;
1539   End If;
1540   If (p_rec.CORRESPONDENCE_LANGUAGE = hr_api.g_varchar2) then
1541     p_rec.CORRESPONDENCE_LANGUAGE := per_per_shd.g_old_rec.CORRESPONDENCE_LANGUAGE ;
1542   End If;
1543   If (p_rec.FAST_PATH_EMPLOYEE      = hr_api.g_varchar2) then
1544     p_rec.FAST_PATH_EMPLOYEE      := per_per_shd.g_old_rec.FAST_PATH_EMPLOYEE      ;
1545   End If;
1546   If (p_rec.FTE_CAPACITY            = hr_api.g_number) then
1547     p_rec.FTE_CAPACITY            := per_per_shd.g_old_rec.FTE_CAPACITY            ;
1548   End If;
1549   If (p_rec.HOLD_APPLICANT_DATE_UNTIL = hr_api.g_date) then
1550     p_rec.HOLD_APPLICANT_DATE_UNTIL := per_per_shd.g_old_rec.HOLD_APPLICANT_DATE_UNTIL;
1551   End If;
1552   If (p_rec.HONORS                  = hr_api.g_varchar2) then
1553     p_rec.HONORS                  := per_per_shd.g_old_rec.HONORS                  ;
1554   End If;
1555   If (p_rec.INTERNAL_LOCATION       = hr_api.g_varchar2) then
1556     p_rec.INTERNAL_LOCATION       := per_per_shd.g_old_rec.INTERNAL_LOCATION       ;
1557   End If;
1558   If (p_rec.LAST_MEDICAL_TEST_BY    = hr_api.g_varchar2) then
1559     p_rec.LAST_MEDICAL_TEST_BY    := per_per_shd.g_old_rec.LAST_MEDICAL_TEST_BY    ;
1560   End If;
1561   If (p_rec.LAST_MEDICAL_TEST_DATE  = hr_api.g_date) then
1562     p_rec.LAST_MEDICAL_TEST_DATE  := per_per_shd.g_old_rec.LAST_MEDICAL_TEST_DATE  ;
1563   End If;
1564   If (p_rec.MAILSTOP                = hr_api.g_varchar2) then
1565     p_rec.MAILSTOP                := per_per_shd.g_old_rec.MAILSTOP                ;
1566   End If;
1567   If (p_rec.OFFICE_NUMBER           = hr_api.g_varchar2) then
1568     p_rec.OFFICE_NUMBER           := per_per_shd.g_old_rec.OFFICE_NUMBER           ;
1569   End If;
1570   If (p_rec.ON_MILITARY_SERVICE     = hr_api.g_varchar2) then
1571     p_rec.ON_MILITARY_SERVICE     := per_per_shd.g_old_rec.ON_MILITARY_SERVICE     ;
1572   End If;
1573   If (p_rec.ORDER_NAME              = hr_api.g_varchar2) then
1574     p_rec.ORDER_NAME              := per_per_shd.g_old_rec.ORDER_NAME              ;
1575   End If;
1576   If (p_rec.PRE_NAME_ADJUNCT        = hr_api.g_varchar2) then
1577     p_rec.PRE_NAME_ADJUNCT        := per_per_shd.g_old_rec.PRE_NAME_ADJUNCT        ;
1578   End If;
1579   If (p_rec.PROJECTED_START_DATE    = hr_api.g_date) then
1580     p_rec.PROJECTED_START_DATE    := per_per_shd.g_old_rec.PROJECTED_START_DATE    ;
1581   End If;
1582   If (p_rec.REHIRE_AUTHORIZOR       = hr_api.g_varchar2) then
1583     p_rec.REHIRE_AUTHORIZOR       := per_per_shd.g_old_rec.REHIRE_AUTHORIZOR       ;
1584   End If;
1585   If (p_rec.REHIRE_RECOMMENDATION   = hr_api.g_varchar2) then
1586     p_rec.REHIRE_RECOMMENDATION   := per_per_shd.g_old_rec.REHIRE_RECOMMENDATION   ;
1587   End If;
1588   If (p_rec.RESUME_EXISTS           = hr_api.g_varchar2) then
1589     p_rec.RESUME_EXISTS           := per_per_shd.g_old_rec.RESUME_EXISTS           ;
1590   End If;
1591   If (p_rec.RESUME_LAST_UPDATED     = hr_api.g_date) then
1592     p_rec.RESUME_LAST_UPDATED     := per_per_shd.g_old_rec.RESUME_LAST_UPDATED     ;
1593   End If;
1594   If (p_rec.SECOND_PASSPORT_EXISTS  = hr_api.g_varchar2) then
1595     p_rec.SECOND_PASSPORT_EXISTS  := per_per_shd.g_old_rec.SECOND_PASSPORT_EXISTS  ;
1596   End If;
1597   If (p_rec.STUDENT_STATUS          = hr_api.g_varchar2) then
1598     p_rec.STUDENT_STATUS          := per_per_shd.g_old_rec.STUDENT_STATUS          ;
1599   End If;
1600   If (p_rec.WORK_SCHEDULE           = hr_api.g_varchar2) then
1601     p_rec.WORK_SCHEDULE           := per_per_shd.g_old_rec.WORK_SCHEDULE           ;
1602   End If;
1603   If (p_rec.PER_INFORMATION21       = hr_api.g_varchar2) then
1604     p_rec.PER_INFORMATION21       := per_per_shd.g_old_rec.PER_INFORMATION21       ;
1605   End If;
1606   If (p_rec.PER_INFORMATION22       = hr_api.g_varchar2) then
1607     p_rec.PER_INFORMATION22       := per_per_shd.g_old_rec.PER_INFORMATION22       ;
1608   End If;
1609   If (p_rec.PER_INFORMATION23       = hr_api.g_varchar2) then
1610     p_rec.PER_INFORMATION23       := per_per_shd.g_old_rec.PER_INFORMATION23       ;
1611   End If;
1612   If (p_rec.PER_INFORMATION24       = hr_api.g_varchar2) then
1613     p_rec.PER_INFORMATION24       := per_per_shd.g_old_rec.PER_INFORMATION24       ;
1614   End If;
1615   If (p_rec.PER_INFORMATION25       = hr_api.g_varchar2) then
1616     p_rec.PER_INFORMATION25       := per_per_shd.g_old_rec.PER_INFORMATION25       ;
1617   End If;
1618   If (p_rec.PER_INFORMATION26       = hr_api.g_varchar2) then
1619     p_rec.PER_INFORMATION26       := per_per_shd.g_old_rec.PER_INFORMATION26       ;
1620   End If;
1621   If (p_rec.PER_INFORMATION27       = hr_api.g_varchar2) then
1622     p_rec.PER_INFORMATION27       := per_per_shd.g_old_rec.PER_INFORMATION27       ;
1623   End If;
1624   If (p_rec.PER_INFORMATION28       = hr_api.g_varchar2) then
1625     p_rec.PER_INFORMATION28       := per_per_shd.g_old_rec.PER_INFORMATION28       ;
1626   End If;
1627   If (p_rec.PER_INFORMATION29       = hr_api.g_varchar2) then
1628     p_rec.PER_INFORMATION29       := per_per_shd.g_old_rec.PER_INFORMATION29       ;
1629   End If;
1630   If (p_rec.PER_INFORMATION30       = hr_api.g_varchar2) then
1631     p_rec.PER_INFORMATION30       := per_per_shd.g_old_rec.PER_INFORMATION30       ;
1632   End If;
1633   If (p_rec.REHIRE_REASON           = hr_api.g_varchar2) then
1634     p_rec.REHIRE_REASON           := per_per_shd.g_old_rec.REHIRE_REASON           ;
1635   End If;
1636   If (p_rec.BENEFIT_GROUP_ID       = hr_api.g_number) then
1637     p_rec.BENEFIT_GROUP_ID        := per_per_shd.g_old_rec.BENEFIT_GROUP_ID        ;
1638   End If;
1639   If (p_rec.RECEIPT_OF_DEATH_CERT_DATE = hr_api.g_date) then
1640     p_rec.RECEIPT_OF_DEATH_CERT_DATE := per_per_shd.g_old_rec.RECEIPT_OF_DEATH_CERT_DATE ;
1641   End If;
1642   If (p_rec.COORD_BEN_MED_PLN_NO   = hr_api.g_varchar2) then
1643     p_rec.COORD_BEN_MED_PLN_NO    := per_per_shd.g_old_rec.COORD_BEN_MED_PLN_NO    ;
1644   End If;
1645   If (p_rec.COORD_BEN_NO_CVG_FLAG  = hr_api.g_varchar2) then
1646     p_rec.COORD_BEN_NO_CVG_FLAG   := per_per_shd.g_old_rec.COORD_BEN_NO_CVG_FLAG   ;
1647   End If;
1648   if (p_rec.COORD_BEN_MED_EXT_ER = hr_api.g_varchar2) then
1649     p_rec.COORD_BEN_MED_EXT_ER:= per_per_shd.g_old_rec.COORD_BEN_MED_EXT_ER;
1650   end if;
1651   if (p_rec.COORD_BEN_MED_PL_NAME = hr_api.g_varchar2) then
1652     p_rec.COORD_BEN_MED_PL_NAME:= per_per_shd.g_old_rec.COORD_BEN_MED_PL_NAME;
1653   end if;
1654   if (p_rec.COORD_BEN_MED_INSR_CRR_NAME = hr_api.g_varchar2) then
1655     p_rec.COORD_BEN_MED_INSR_CRR_NAME:= per_per_shd.g_old_rec.COORD_BEN_MED_INSR_CRR_NAME;
1656   end if;
1657   if (p_rec.COORD_BEN_MED_INSR_CRR_IDENT = hr_api.g_varchar2) then
1658     p_rec.COORD_BEN_MED_INSR_CRR_IDENT:= per_per_shd.g_old_rec.COORD_BEN_MED_INSR_CRR_IDENT;
1659   end if;
1660   if (p_rec.COORD_BEN_MED_CVG_STRT_DT = hr_api.g_date) then
1661     p_rec.COORD_BEN_MED_CVG_STRT_DT:= per_per_shd.g_old_rec.COORD_BEN_MED_CVG_STRT_DT;
1662   end if;
1663   if (p_rec.COORD_BEN_MED_CVG_END_DT  = hr_api.g_date) then
1664     p_rec.COORD_BEN_MED_CVG_END_DT  := per_per_shd.g_old_rec.COORD_BEN_MED_CVG_END_DT;
1665   end if;
1666   If (p_rec.USES_TOBACCO_FLAG      = hr_api.g_varchar2) then
1667     p_rec.USES_TOBACCO_FLAG       := per_per_shd.g_old_rec.USES_TOBACCO_FLAG       ;
1668   End If;
1669   If (p_rec.DPDNT_ADOPTION_DATE    = hr_api.g_date) then
1670     p_rec.DPDNT_ADOPTION_DATE     := per_per_shd.g_old_rec.DPDNT_ADOPTION_DATE     ;
1671   End If;
1672   If (p_rec.DPDNT_VLNTRY_SVCE_FLAG = hr_api.g_varchar2) then
1673     p_rec.DPDNT_VLNTRY_SVCE_FLAG  := per_per_shd.g_old_rec.DPDNT_VLNTRY_SVCE_FLAG  ;
1674   End If;
1675   If (p_rec.ORIGINAL_DATE_OF_HIRE = hr_api.g_date) then
1676     p_rec.ORIGINAL_DATE_OF_HIRE   := per_per_shd.g_old_rec.ORIGINAL_DATE_OF_HIRE   ;
1677   End If;
1678   If (p_rec.town_of_birth = hr_api.g_varchar2) then
1679     p_rec.town_of_birth   := per_per_shd.g_old_rec.town_of_birth   ;
1680   End If;
1681   If (p_rec.region_of_birth = hr_api.g_varchar2) then
1682     p_rec.region_of_birth   := per_per_shd.g_old_rec.region_of_birth   ;
1683   End If;
1684   If (p_rec.country_of_birth = hr_api.g_varchar2) then
1685     p_rec.country_of_birth   := per_per_shd.g_old_rec.country_of_birth   ;
1686   End If;
1687   If (p_rec.global_person_id = hr_api.g_varchar2) then
1688     p_rec.global_person_id   := per_per_shd.g_old_rec.global_person_id   ;
1689   End If;
1690   If (p_rec.party_id = hr_api.g_number) then
1691     p_rec.party_id   := per_per_shd.g_old_rec.party_id   ;
1692   End If;
1693   If (p_rec.npw_number = hr_api.g_varchar2) then
1694     p_rec.npw_number   := per_per_shd.g_old_rec.npw_number   ;
1695   End If;
1696   If (p_rec.current_npw_flag = hr_api.g_varchar2) then
1697     p_rec.current_npw_flag   := per_per_shd.g_old_rec.current_npw_flag   ;
1698   End If;
1699   --
1700   -- Return the plsql record structure.
1701   --
1702   hr_utility.set_location(' Leaving:'||l_proc, 10);
1703 --
1704 End convert_defs;
1705 --
1706 -- ----------------------------------------------------------------------------
1707 -- |---------------------------------< upd >----------------------------------|
1708 -- ----------------------------------------------------------------------------
1709 Procedure upd
1710   (
1711   p_rec        in out nocopy  per_per_shd.g_rec_type,
1712   p_effective_date   in    date,
1713   p_datetrack_mode   in    varchar2,
1714   p_validate      in    boolean default false,
1715   p_name_combination_warning out nocopy boolean,
1716   p_dob_null_warning out nocopy boolean,
1717   p_orig_hire_warning  out nocopy boolean
1718   ) is
1719 --
1720   l_proc       varchar2(72) := g_package||'upd';
1721   l_validation_start_date  date;
1722   l_validation_end_date    date;
1723   l_name_combination_warning    boolean;
1724   l_dob_null_warning            boolean;
1725   l_orig_hire_warning           boolean;
1726 --
1727 Begin
1728   hr_utility.set_location('Entering:'||l_proc, 5);
1729   --
1730   -- Ensure that the DateTrack update mode is valid
1731   --
1732   dt_api.validate_dt_upd_mode(p_datetrack_mode => p_datetrack_mode);
1733   --
1734   -- Determine if the business process is to be validated.
1735   --
1736   If p_validate then
1737     --
1738     -- Issue the savepoint.
1739     --
1740     SAVEPOINT upd_per_per;
1741   End If;
1742   --
1743   -- We must lock the row which we need to update.
1744   --
1745   per_per_shd.lck
1746    (p_effective_date  => p_effective_date,
1747           p_datetrack_mode  => p_datetrack_mode,
1748           p_person_id    => p_rec.person_id,
1749           p_object_version_number => p_rec.object_version_number,
1750           p_validation_start_date => l_validation_start_date,
1751           p_validation_end_date   => l_validation_end_date);
1752   --
1753   -- 1. During an update system defaults are used to determine if
1754   --    arguments have been defaulted or not. We must therefore
1755   --    derive the full record structure values to be updated.
1756   --
1757   -- 2. Call the supporting update validate operations.
1758   --
1759   convert_defs(p_rec);
1760   --
1761   per_per_bus.update_validate
1762 -- (p_rec          => p_rec,
1763    (p_rec          => p_rec,
1764     p_effective_date  => p_effective_date,
1765     p_datetrack_mode     => p_datetrack_mode,
1766     p_validation_start_date => l_validation_start_date,
1767 
1768     p_validation_end_date   => l_validation_end_date,
1769          p_name_combination_warning => l_name_combination_warning,
1770          p_dob_null_warning         => l_dob_null_warning,
1771          p_orig_hire_warning        => l_orig_hire_warning);
1772   --
1773   -- Call the supporting pre-update operation
1774   hr_multi_message.end_validation_set;
1775   --
1776   pre_update
1777    (p_rec          => p_rec,
1778     p_effective_date  => p_effective_date,
1779     p_datetrack_mode  => p_datetrack_mode,
1780     p_validation_start_date => l_validation_start_date,
1781     p_validation_end_date   => l_validation_end_date);
1782   --
1783   -- Update the row.
1784   --
1785   update_dml
1786    (p_rec          => p_rec,
1787     p_effective_date  => p_effective_date,
1788     p_datetrack_mode  => p_datetrack_mode,
1789     p_validation_start_date => l_validation_start_date,
1790     p_validation_end_date   => l_validation_end_date);
1791   --
1792   -- Call the supporting post-update operation
1793   --
1794   post_update
1795    (p_rec          => p_rec,
1796     p_effective_date  => p_effective_date,
1797     p_datetrack_mode  => p_datetrack_mode,
1798     p_validation_start_date => l_validation_start_date,
1799     p_validation_end_date   => l_validation_end_date,
1800          p_name_combination_warning => l_name_combination_warning,
1801          p_dob_null_warning         => l_dob_null_warning,
1802          p_orig_hire_warning        => l_orig_hire_warning);
1803   --
1804   hr_multi_message.end_validation_set;
1805   -- If we are validating then raise the Validate_Enabled exception
1806   --
1807   If p_validate then
1808     Raise HR_Api.Validate_Enabled;
1809   End If;
1810   --
1811   -- Set output arguments
1812   --
1813   p_name_combination_warning  := l_name_combination_warning;
1814   p_dob_null_warning          := l_dob_null_warning;
1815   p_orig_hire_warning         := l_orig_hire_warning;
1816 --
1817 if l_name_combination_warning = FALSE then
1818   hr_utility.set_location(l_proc,990);
1819 elsif l_name_combination_warning = TRUE then
1820   hr_utility.set_location(l_proc,991);
1821 else
1822   hr_utility.set_location(l_proc,992);
1823 end if;
1824   --
1825 if l_orig_hire_warning = FALSE then
1826   hr_utility.set_location(l_proc,993);
1827 elsif l_orig_hire_warning = TRUE then
1828   hr_utility.set_location(l_proc,994);
1829 else hr_utility.set_location(l_proc,995);
1830 end if;
1831 --
1832   hr_utility.set_location(' Leaving:'||l_proc, 10);
1833 Exception
1834   When HR_Api.Validate_Enabled Then
1835     --
1836     -- As the Validate_Enabled exception has been raised
1837     -- we must rollback to the savepoint
1838     --
1839     ROLLBACK TO upd_per_per;
1840 End upd;
1841 --
1842 -- ----------------------------------------------------------------------------
1843 -- |---------------------------------< upd >----------------------------------|
1844 -- ----------------------------------------------------------------------------
1845 Procedure upd
1846   (
1847   p_person_id                    in number,
1848   p_effective_start_date         out nocopy date,
1849   p_effective_end_date           out nocopy date,
1850   p_person_type_id               in number           default hr_api.g_number,
1851   p_last_name                    in varchar2         default hr_api.g_varchar2,
1852   p_start_date                   in date             default hr_api.g_date,
1853   p_applicant_number             in out nocopy varchar2,
1854   p_comment_id                   out nocopy number,
1855   p_comments                     in varchar2         default hr_api.g_varchar2,
1856   p_current_applicant_flag       out nocopy varchar2,
1857   p_current_emp_or_apl_flag      out nocopy varchar2,
1858   p_current_employee_flag        out nocopy varchar2,
1859   p_date_employee_data_verified  in date             default hr_api.g_date,
1860   p_date_of_birth                in date             default hr_api.g_date,
1861   p_email_address                in varchar2         default hr_api.g_varchar2,
1862   p_employee_number              in out nocopy varchar2,
1863   p_expense_check_send_to_addres in varchar2         default hr_api.g_varchar2,
1864   p_first_name                   in varchar2         default hr_api.g_varchar2,
1865   p_full_name                    out nocopy varchar2,
1866   p_known_as                     in varchar2         default hr_api.g_varchar2,
1867   p_marital_status               in varchar2         default hr_api.g_varchar2,
1868   p_middle_names                 in varchar2         default hr_api.g_varchar2,
1869   p_nationality                  in varchar2         default hr_api.g_varchar2,
1870   p_national_identifier          in varchar2         default hr_api.g_varchar2,
1871   p_previous_last_name           in varchar2         default hr_api.g_varchar2,
1872   p_registered_disabled_flag     in varchar2         default hr_api.g_varchar2,
1873   p_sex                          in varchar2         default hr_api.g_varchar2,
1874   p_title                        in varchar2         default hr_api.g_varchar2,
1875   p_vendor_id                    in number           default hr_api.g_number,
1876   p_work_telephone               in varchar2         default hr_api.g_varchar2,
1877   p_request_id                   in number           default hr_api.g_number,
1878   p_program_application_id       in number           default hr_api.g_number,
1879   p_program_id                   in number           default hr_api.g_number,
1880   p_program_update_date          in date             default hr_api.g_date,
1881   p_attribute_category           in varchar2         default hr_api.g_varchar2,
1882   p_attribute1                   in varchar2         default hr_api.g_varchar2,
1883   p_attribute2                   in varchar2         default hr_api.g_varchar2,
1884   p_attribute3                   in varchar2         default hr_api.g_varchar2,
1885   p_attribute4                   in varchar2         default hr_api.g_varchar2,
1886   p_attribute5                   in varchar2         default hr_api.g_varchar2,
1887   p_attribute6                   in varchar2         default hr_api.g_varchar2,
1888   p_attribute7                   in varchar2         default hr_api.g_varchar2,
1889   p_attribute8                   in varchar2         default hr_api.g_varchar2,
1890   p_attribute9                   in varchar2         default hr_api.g_varchar2,
1891   p_attribute10                  in varchar2         default hr_api.g_varchar2,
1892   p_attribute11                  in varchar2         default hr_api.g_varchar2,
1893   p_attribute12                  in varchar2         default hr_api.g_varchar2,
1894   p_attribute13                  in varchar2         default hr_api.g_varchar2,
1895   p_attribute14                  in varchar2         default hr_api.g_varchar2,
1896   p_attribute15                  in varchar2         default hr_api.g_varchar2,
1897   p_attribute16                  in varchar2         default hr_api.g_varchar2,
1898   p_attribute17                  in varchar2         default hr_api.g_varchar2,
1899   p_attribute18                  in varchar2         default hr_api.g_varchar2,
1900   p_attribute19                  in varchar2         default hr_api.g_varchar2,
1901   p_attribute20                  in varchar2         default hr_api.g_varchar2,
1902   p_attribute21                  in varchar2         default hr_api.g_varchar2,
1903   p_attribute22                  in varchar2         default hr_api.g_varchar2,
1904   p_attribute23                  in varchar2         default hr_api.g_varchar2,
1905   p_attribute24                  in varchar2         default hr_api.g_varchar2,
1906   p_attribute25                  in varchar2         default hr_api.g_varchar2,
1907   p_attribute26                  in varchar2         default hr_api.g_varchar2,
1908   p_attribute27                  in varchar2         default hr_api.g_varchar2,
1909   p_attribute28                  in varchar2         default hr_api.g_varchar2,
1910   p_attribute29                  in varchar2         default hr_api.g_varchar2,
1911   p_attribute30                  in varchar2         default hr_api.g_varchar2,
1912   p_per_information_category     in varchar2         default hr_api.g_varchar2,
1913   p_per_information1             in varchar2         default hr_api.g_varchar2,
1914   p_per_information2             in varchar2         default hr_api.g_varchar2,
1915   p_per_information3             in varchar2         default hr_api.g_varchar2,
1916   p_per_information4             in varchar2         default hr_api.g_varchar2,
1917   p_per_information5             in varchar2         default hr_api.g_varchar2,
1918   p_per_information6             in varchar2         default hr_api.g_varchar2,
1919   p_per_information7             in varchar2         default hr_api.g_varchar2,
1920   p_per_information8             in varchar2         default hr_api.g_varchar2,
1921   p_per_information9             in varchar2         default hr_api.g_varchar2,
1922   p_per_information10            in varchar2         default hr_api.g_varchar2,
1923   p_per_information11            in varchar2         default hr_api.g_varchar2,
1924   p_per_information12            in varchar2         default hr_api.g_varchar2,
1925   p_per_information13            in varchar2         default hr_api.g_varchar2,
1926   p_per_information14            in varchar2         default hr_api.g_varchar2,
1927   p_per_information15            in varchar2         default hr_api.g_varchar2,
1928   p_per_information16            in varchar2         default hr_api.g_varchar2,
1929   p_per_information17            in varchar2         default hr_api.g_varchar2,
1930   p_per_information18            in varchar2         default hr_api.g_varchar2,
1931   p_per_information19            in varchar2         default hr_api.g_varchar2,
1932   p_per_information20            in varchar2         default hr_api.g_varchar2,
1933   p_suffix                       in varchar2         default hr_api.g_varchar2,
1934   p_DATE_OF_DEATH                in date             default hr_api.g_date,
1935   p_BACKGROUND_CHECK_STATUS      in varchar2         default hr_api.g_varchar2,
1936   p_BACKGROUND_DATE_CHECK        in date             default hr_api.g_date,
1937   p_BLOOD_TYPE                   in varchar2         default hr_api.g_varchar2,
1938   p_CORRESPONDENCE_LANGUAGE      in varchar2         default hr_api.g_varchar2,
1939   p_FAST_PATH_EMPLOYEE           in varchar2         default hr_api.g_varchar2,
1940   p_FTE_CAPACITY                 in number           default hr_api.g_number,
1941   p_HOLD_APPLICANT_DATE_UNTIL    in date             default hr_api.g_date,
1942   p_HONORS                       in varchar2         default hr_api.g_varchar2,
1943   p_INTERNAL_LOCATION            in varchar2         default hr_api.g_varchar2,
1944   p_LAST_MEDICAL_TEST_BY         in varchar2         default hr_api.g_varchar2,
1945   p_LAST_MEDICAL_TEST_DATE       in date             default hr_api.g_date,
1946   p_MAILSTOP                     in varchar2         default hr_api.g_varchar2,
1947   p_OFFICE_NUMBER                in varchar2         default hr_api.g_varchar2,
1948   p_ON_MILITARY_SERVICE          in varchar2         default hr_api.g_varchar2,
1949   p_ORDER_NAME                   in varchar2         default hr_api.g_varchar2,
1950   p_PRE_NAME_ADJUNCT             in varchar2         default hr_api.g_varchar2,
1951   p_PROJECTED_START_DATE         in date             default hr_api.g_date,
1952   p_REHIRE_AUTHORIZOR            in varchar2         default hr_api.g_varchar2,
1953   p_REHIRE_RECOMMENDATION        in varchar2         default hr_api.g_varchar2,
1954   p_RESUME_EXISTS                in varchar2         default hr_api.g_varchar2,
1955   p_RESUME_LAST_UPDATED          in date             default hr_api.g_date,
1956   p_SECOND_PASSPORT_EXISTS       in varchar2         default hr_api.g_varchar2,
1957   p_STUDENT_STATUS               in varchar2         default hr_api.g_varchar2,
1958   p_WORK_SCHEDULE                in varchar2         default hr_api.g_varchar2,
1959   p_PER_INFORMATION21            in varchar2         default hr_api.g_varchar2,
1960   p_PER_INFORMATION22            in varchar2         default hr_api.g_varchar2,
1961   p_PER_INFORMATION23            in varchar2         default hr_api.g_varchar2,
1962   p_PER_INFORMATION24            in varchar2         default hr_api.g_varchar2,
1963   p_PER_INFORMATION25            in varchar2         default hr_api.g_varchar2,
1964   p_PER_INFORMATION26            in varchar2         default hr_api.g_varchar2,
1965   p_PER_INFORMATION27            in varchar2         default hr_api.g_varchar2,
1966   p_PER_INFORMATION28            in varchar2         default hr_api.g_varchar2,
1967   p_PER_INFORMATION29            in varchar2         default hr_api.g_varchar2,
1968   p_PER_INFORMATION30            in varchar2         default hr_api.g_varchar2,
1969   p_REHIRE_REASON                in varchar2         default hr_api.g_varchar2,
1970   p_BENEFIT_GROUP_ID             in number           default hr_api.g_number,
1971   p_RECEIPT_OF_DEATH_CERT_DATE   in date             default hr_api.g_date,
1972   p_COORD_BEN_MED_PLN_NO         in varchar2         default hr_api.g_varchar2,
1973   p_COORD_BEN_NO_CVG_FLAG        in varchar2         default hr_api.g_varchar2,
1974   p_coord_ben_med_ext_er         in varchar2         default hr_api.g_varchar2,
1975   p_coord_ben_med_pl_name        in varchar2         default hr_api.g_varchar2,
1976   p_coord_ben_med_insr_crr_name  in varchar2         default hr_api.g_varchar2,
1977   p_coord_ben_med_insr_crr_ident in varchar2         default hr_api.g_varchar2,
1978   p_coord_ben_med_cvg_strt_dt    in date             default hr_api.g_date,
1979   p_coord_ben_med_cvg_end_dt     in date             default hr_api.g_date,
1980   p_USES_TOBACCO_FLAG            in varchar2         default hr_api.g_varchar2,
1981   p_DPDNT_ADOPTION_DATE          in date             default hr_api.g_date,
1982   p_DPDNT_VLNTRY_SVCE_FLAG       in varchar2         default hr_api.g_varchar2,
1983   p_ORIGINAL_DATE_OF_HIRE        in date             default hr_api.g_date,
1984   p_town_of_birth                in varchar2         default hr_api.g_varchar2,
1985   p_region_of_birth              in varchar2         default hr_api.g_varchar2,
1986   p_country_of_birth             in varchar2         default hr_api.g_varchar2,
1987   p_global_person_id             in varchar2         default hr_api.g_varchar2,
1988   p_party_id                     in number           default hr_api.g_number,
1989   p_npw_number                   in out nocopy varchar2,
1990   p_current_npw_flag             in varchar2         default hr_api.g_varchar2,
1991   p_object_version_number        in out nocopy number,
1992   p_effective_date       in date,
1993   p_datetrack_mode       in varchar2,
1994   p_validate          in boolean          default false,
1995   p_name_combination_warning     out nocopy boolean,
1996   p_dob_null_warning             out nocopy boolean,
1997   p_orig_hire_warning            out nocopy boolean
1998   ) is
1999 --
2000   l_rec     per_per_shd.g_rec_type;
2001   l_proc varchar2(72) := g_package||'upd';
2002 --
2003 Begin
2004   hr_utility.set_location('Entering:'||l_proc, 5);
2005   --
2006   -- Call conversion function to turn arguments into the
2007   -- l_rec structure.
2008   --
2009   l_rec :=
2010   per_per_shd.convert_args
2011   (
2012   p_person_id,
2013   null,
2014   null,
2015   hr_api.g_number,
2016   p_person_type_id,
2017   p_last_name,
2018   p_start_date,
2019   p_applicant_number,
2020   hr_api.g_number,
2021   p_comments,
2022   hr_api.g_varchar2,
2023   hr_api.g_varchar2,
2024   hr_api.g_varchar2,
2025   p_date_employee_data_verified,
2026   p_date_of_birth,
2027   p_email_address,
2028   p_employee_number,
2029   p_expense_check_send_to_addres,
2030   p_first_name,
2031   null,
2032   p_known_as,
2033   p_marital_status,
2034   p_middle_names,
2035   p_nationality,
2036   p_national_identifier,
2037   p_previous_last_name,
2038   p_registered_disabled_flag,
2039   p_sex,
2040   p_title,
2041   p_vendor_id,
2042   p_work_telephone,
2043   p_request_id,
2044   p_program_application_id,
2045   p_program_id,
2046   p_program_update_date,
2047   p_attribute_category,
2048   p_attribute1,
2049   p_attribute2,
2050   p_attribute3,
2051   p_attribute4,
2052   p_attribute5,
2053   p_attribute6,
2054   p_attribute7,
2055   p_attribute8,
2056   p_attribute9,
2057   p_attribute10,
2058   p_attribute11,
2059   p_attribute12,
2060   p_attribute13,
2061   p_attribute14,
2062   p_attribute15,
2063   p_attribute16,
2064   p_attribute17,
2065   p_attribute18,
2066   p_attribute19,
2067   p_attribute20,
2068   p_attribute21,
2069   p_attribute22,
2070   p_attribute23,
2071   p_attribute24,
2072   p_attribute25,
2073   p_attribute26,
2074   p_attribute27,
2075   p_attribute28,
2076   p_attribute29,
2077   p_attribute30,
2078   p_per_information_category,
2079   p_per_information1,
2080   p_per_information2,
2081   p_per_information3,
2082   p_per_information4,
2083   p_per_information5,
2084   p_per_information6,
2085   p_per_information7,
2086   p_per_information8,
2087   p_per_information9,
2088   p_per_information10,
2089   p_per_information11,
2090   p_per_information12,
2091   p_per_information13,
2092   p_per_information14,
2093   p_per_information15,
2094   p_per_information16,
2095   p_per_information17,
2096   p_per_information18,
2097   p_per_information19,
2098   p_per_information20,
2099   p_object_version_number,
2100   p_suffix,
2101   p_DATE_OF_DEATH                   ,
2102   p_BACKGROUND_CHECK_STATUS         ,
2103   p_BACKGROUND_DATE_CHECK           ,
2104   p_BLOOD_TYPE                      ,
2105   p_CORRESPONDENCE_LANGUAGE         ,
2106   p_FAST_PATH_EMPLOYEE              ,
2107   p_FTE_CAPACITY                    ,
2108   p_HOLD_APPLICANT_DATE_UNTIL       ,
2109   p_HONORS                          ,
2110   p_INTERNAL_LOCATION               ,
2111   p_LAST_MEDICAL_TEST_BY            ,
2112   p_LAST_MEDICAL_TEST_DATE          ,
2113   p_MAILSTOP                        ,
2114   p_OFFICE_NUMBER                   ,
2115   p_ON_MILITARY_SERVICE             ,
2116   p_ORDER_NAME                      ,
2117   p_PRE_NAME_ADJUNCT                ,
2118   p_PROJECTED_START_DATE            ,
2119   p_REHIRE_AUTHORIZOR               ,
2120   p_REHIRE_RECOMMENDATION           ,
2121   p_RESUME_EXISTS                   ,
2122   p_RESUME_LAST_UPDATED             ,
2123   p_SECOND_PASSPORT_EXISTS          ,
2124   p_STUDENT_STATUS                  ,
2125   p_WORK_SCHEDULE                   ,
2126   p_PER_INFORMATION21               ,
2127   p_PER_INFORMATION22               ,
2128   p_PER_INFORMATION23               ,
2129   p_PER_INFORMATION24               ,
2130   p_PER_INFORMATION25               ,
2131   p_PER_INFORMATION26               ,
2132   p_PER_INFORMATION27               ,
2133   p_PER_INFORMATION28               ,
2134   p_PER_INFORMATION29               ,
2135   p_PER_INFORMATION30               ,
2136   p_REHIRE_REASON                   ,
2137   p_BENEFIT_GROUP_ID                ,
2138   p_RECEIPT_OF_DEATH_CERT_DATE      ,
2139   p_COORD_BEN_MED_PLN_NO            ,
2140   p_COORD_BEN_NO_CVG_FLAG           ,
2141   p_coord_ben_med_ext_er            ,
2142   p_coord_ben_med_pl_name           ,
2143   p_coord_ben_med_insr_crr_name     ,
2144   p_coord_ben_med_insr_crr_ident    ,
2145   p_coord_ben_med_cvg_strt_dt       ,
2146   p_coord_ben_med_cvg_end_dt        ,
2147   p_USES_TOBACCO_FLAG               ,
2148   p_DPDNT_ADOPTION_DATE             ,
2149   p_DPDNT_VLNTRY_SVCE_FLAG          ,
2150   p_ORIGINAL_DATE_OF_HIRE           ,
2151   p_town_of_birth                   ,
2152   p_region_of_birth                 ,
2153   p_country_of_birth                ,
2154   p_global_person_id                ,
2155   p_party_id                        ,
2156   p_npw_number                      ,
2157   p_current_npw_flag                ,
2158   null                              ,  -- global_name
2159   null                                 -- local_name
2160   );
2161   --
2162   -- Having converted the arguments into the
2163   -- plsql record structure we call the corresponding record
2164   -- business process.
2165   --
2166   upd(l_rec, p_effective_date, p_datetrack_mode, p_validate,
2167       p_name_combination_warning,p_dob_null_warning, p_orig_hire_warning);
2168   p_object_version_number       := l_rec.object_version_number;
2169   p_effective_start_date        := l_rec.effective_start_date;
2170   p_effective_end_date          := l_rec.effective_end_date;
2171   p_employee_number             := l_rec.employee_number;
2172   p_applicant_number            := l_rec.applicant_number;
2173   p_comment_id                  := l_rec.comment_id;
2174   p_current_applicant_flag      := l_rec.current_applicant_flag;
2175   p_current_emp_or_apl_flag     := l_rec.current_emp_or_apl_flag;
2176   p_current_employee_flag       := l_rec.current_employee_flag;
2177   p_full_name                   := l_rec.full_name;
2178   p_npw_number                  := l_rec.npw_number;
2179   --
2180   hr_utility.set_location(' Leaving:'||l_proc, 10);
2181 End upd;
2182 --
2183 end per_per_upd;