[Home] [Help]
PACKAGE BODY: APPS.HR_PERSON_ATT
Source
1 Package Body hr_person_att as
2 /* $Header: peperati.pkb 120.1 2005/06/15 05:39:23 bshukla noship $ */
3 --
4 -- Package Variables
5 --
6 g_package varchar2(33) := 'hr_person_att.';
7 -- ----------------------------------------------------------------------------
8 -- |---------------------------< update_person >------------------------------|
9 -- ----------------------------------------------------------------------------
10 procedure update_person
11 (p_validate in boolean default false
12 ,p_effective_date in date
13 ,p_attribute_update_mode in varchar2
14 ,p_person_id in number
15 ,p_object_version_number in out nocopy number
16 ,p_person_type_id in number default hr_api.g_number
17 ,p_last_name in varchar2 default hr_api.g_varchar2
18 ,p_applicant_number in varchar2 default hr_api.g_varchar2
19 ,p_comments in varchar2 default hr_api.g_varchar2
20 ,p_date_employee_data_verified in date default hr_api.g_date
21 ,p_date_of_birth in date default hr_api.g_date
22 ,p_email_address in varchar2 default hr_api.g_varchar2
23 ,p_employee_number in out nocopy varchar2
24 ,p_expense_check_send_to_addres in varchar2 default hr_api.g_varchar2
25 ,p_first_name in varchar2 default hr_api.g_varchar2
26 ,p_known_as in varchar2 default hr_api.g_varchar2
27 ,p_marital_status in varchar2 default hr_api.g_varchar2
28 ,p_middle_names in varchar2 default hr_api.g_varchar2
29 ,p_nationality in varchar2 default hr_api.g_varchar2
30 ,p_national_identifier in varchar2 default hr_api.g_varchar2
31 ,p_previous_last_name in varchar2 default hr_api.g_varchar2
32 ,p_registered_disabled_flag in varchar2 default hr_api.g_varchar2
33 ,p_sex in varchar2 default hr_api.g_varchar2
34 ,p_title in varchar2 default hr_api.g_varchar2
35 ,p_vendor_id in number default hr_api.g_number
36 ,p_work_telephone in varchar2 default hr_api.g_varchar2
37 ,p_suffix in varchar2 default hr_api.g_varchar2
38 ,p_attribute_category in varchar2 default hr_api.g_varchar2
39 ,p_attribute1 in varchar2 default hr_api.g_varchar2
40 ,p_attribute2 in varchar2 default hr_api.g_varchar2
41 ,p_attribute3 in varchar2 default hr_api.g_varchar2
42 ,p_attribute4 in varchar2 default hr_api.g_varchar2
43 ,p_attribute5 in varchar2 default hr_api.g_varchar2
44 ,p_attribute6 in varchar2 default hr_api.g_varchar2
45 ,p_attribute7 in varchar2 default hr_api.g_varchar2
46 ,p_attribute8 in varchar2 default hr_api.g_varchar2
47 ,p_attribute9 in varchar2 default hr_api.g_varchar2
48 ,p_attribute10 in varchar2 default hr_api.g_varchar2
49 ,p_attribute11 in varchar2 default hr_api.g_varchar2
50 ,p_attribute12 in varchar2 default hr_api.g_varchar2
51 ,p_attribute13 in varchar2 default hr_api.g_varchar2
52 ,p_attribute14 in varchar2 default hr_api.g_varchar2
53 ,p_attribute15 in varchar2 default hr_api.g_varchar2
54 ,p_attribute16 in varchar2 default hr_api.g_varchar2
55 ,p_attribute17 in varchar2 default hr_api.g_varchar2
56 ,p_attribute18 in varchar2 default hr_api.g_varchar2
57 ,p_attribute19 in varchar2 default hr_api.g_varchar2
58 ,p_attribute20 in varchar2 default hr_api.g_varchar2
59 ,p_attribute21 in varchar2 default hr_api.g_varchar2
60 ,p_attribute22 in varchar2 default hr_api.g_varchar2
61 ,p_attribute23 in varchar2 default hr_api.g_varchar2
62 ,p_attribute24 in varchar2 default hr_api.g_varchar2
63 ,p_attribute25 in varchar2 default hr_api.g_varchar2
64 ,p_attribute26 in varchar2 default hr_api.g_varchar2
65 ,p_attribute27 in varchar2 default hr_api.g_varchar2
66 ,p_attribute28 in varchar2 default hr_api.g_varchar2
67 ,p_attribute29 in varchar2 default hr_api.g_varchar2
68 ,p_attribute30 in varchar2 default hr_api.g_varchar2
69 ,p_per_information_category in varchar2 default hr_api.g_varchar2
70 ,p_per_information1 in varchar2 default hr_api.g_varchar2
71 ,p_per_information2 in varchar2 default hr_api.g_varchar2
72 ,p_per_information3 in varchar2 default hr_api.g_varchar2
73 ,p_per_information4 in varchar2 default hr_api.g_varchar2
74 ,p_per_information5 in varchar2 default hr_api.g_varchar2
75 ,p_per_information6 in varchar2 default hr_api.g_varchar2
76 ,p_per_information7 in varchar2 default hr_api.g_varchar2
77 ,p_per_information8 in varchar2 default hr_api.g_varchar2
78 ,p_per_information9 in varchar2 default hr_api.g_varchar2
79 ,p_per_information10 in varchar2 default hr_api.g_varchar2
80 ,p_per_information11 in varchar2 default hr_api.g_varchar2
81 ,p_per_information12 in varchar2 default hr_api.g_varchar2
82 ,p_per_information13 in varchar2 default hr_api.g_varchar2
83 ,p_per_information14 in varchar2 default hr_api.g_varchar2
84 ,p_per_information15 in varchar2 default hr_api.g_varchar2
85 ,p_per_information16 in varchar2 default hr_api.g_varchar2
86 ,p_per_information17 in varchar2 default hr_api.g_varchar2
87 ,p_per_information18 in varchar2 default hr_api.g_varchar2
88 ,p_per_information19 in varchar2 default hr_api.g_varchar2
89 ,p_per_information20 in varchar2 default hr_api.g_varchar2
90 ,p_per_information21 in varchar2 default hr_api.g_varchar2
91 ,p_per_information22 in varchar2 default hr_api.g_varchar2
92 ,p_per_information23 in varchar2 default hr_api.g_varchar2
93 ,p_per_information24 in varchar2 default hr_api.g_varchar2
94 ,p_per_information25 in varchar2 default hr_api.g_varchar2
95 ,p_per_information26 in varchar2 default hr_api.g_varchar2
96 ,p_per_information27 in varchar2 default hr_api.g_varchar2
97 ,p_per_information28 in varchar2 default hr_api.g_varchar2
98 ,p_per_information29 in varchar2 default hr_api.g_varchar2
99 ,p_per_information30 in varchar2 default hr_api.g_varchar2
100 ,p_date_of_death in date default hr_api.g_date
101 ,p_background_check_status in varchar2 default hr_api.g_varchar2
102 ,p_background_date_check in date default hr_api.g_date
103 ,p_blood_type in varchar2 default hr_api.g_varchar2
104 ,p_correspondence_language in varchar2 default hr_api.g_varchar2
105 ,p_fast_path_employee in varchar2 default hr_api.g_varchar2
106 ,p_fte_capacity in number default hr_api.g_number
107 ,p_hold_applicant_date_until in date default hr_api.g_date
108 ,p_honors in varchar2 default hr_api.g_varchar2
109 ,p_internal_location in varchar2 default hr_api.g_varchar2
110 ,p_last_medical_test_by in varchar2 default hr_api.g_varchar2
111 ,p_last_medical_test_date in date default hr_api.g_date
112 ,p_mailstop in varchar2 default hr_api.g_varchar2
113 ,p_office_number in varchar2 default hr_api.g_varchar2
114 ,p_on_military_service in varchar2 default hr_api.g_varchar2
115 ,p_pre_name_adjunct in varchar2 default hr_api.g_varchar2
116 ,p_projected_start_date in date default hr_api.g_date
117 ,p_rehire_authorizor in varchar2 default hr_api.g_varchar2
118 ,p_rehire_recommendation in varchar2 default hr_api.g_varchar2
119 ,p_resume_exists in varchar2 default hr_api.g_varchar2
120 ,p_resume_last_updated in date default hr_api.g_date
121 ,p_second_passport_exists in varchar2 default hr_api.g_varchar2
122 ,p_student_status in varchar2 default hr_api.g_varchar2
123 ,p_work_schedule in varchar2 default hr_api.g_varchar2
124 ,p_rehire_reason in varchar2 default hr_api.g_varchar2
125 ,p_benefit_group_id in number default hr_api.g_number
126 ,p_receipt_of_death_cert_date in date default hr_api.g_date
127 ,p_coord_ben_med_pln_no in varchar2 default hr_api.g_varchar2
128 ,p_coord_ben_no_cvg_flag in varchar2 default hr_api.g_varchar2
129 ,p_uses_tobacco_flag in varchar2 default hr_api.g_varchar2
130 ,p_dpdnt_adoption_date in date default hr_api.g_date
131 ,p_dpdnt_vlntry_svce_flag in varchar2 default hr_api.g_varchar2
132 ,p_original_date_of_hire in date default hr_api.g_date
133 ,p_town_of_birth in varchar2 default hr_api.g_varchar2
134 ,p_region_of_birth in varchar2 default hr_api.g_varchar2
135 ,p_country_of_birth in varchar2 default hr_api.g_varchar2
136 ,p_global_person_id in varchar2 default hr_api.g_varchar2
137 ,p_effective_start_date out nocopy date
138 ,p_effective_end_date out nocopy date
139 ,p_full_name out nocopy varchar2
140 ,p_comment_id out nocopy number
141 ,p_name_combination_warning out nocopy boolean
142 ,p_assign_payroll_warning out nocopy boolean
143 ,p_orig_hire_warning out nocopy boolean) is
144 -- --------------------------------------------------------------------------
145 -- declare local variables
146 -- --------------------------------------------------------------------------
147 l_proc varchar2(72) := g_package||'update_person';
148 l_effective_date date := trunc(p_effective_date);
149 l_constant_effective_date constant date := l_effective_date;
150 l_effective_date_row boolean := true;
151 l_validation_start_date date;
152 l_validation_end_date date;
153 l_datetrack_update_mode varchar2(30);
154 l_correction boolean;
155 l_update boolean;
156 l_update_override boolean;
157 l_update_change_insert boolean;
158 l_lck_start_date date;
159 -- --------------------------------------------------------------------------
160 -- local cursor definitions
161 -- --------------------------------------------------------------------------
162 -- csr_per_lck -> locks all the datetracked rows for the specified person
163 -- from the specified lock date. this enforces integrity.
164 -- if the datetrack operation is for an ATTRIBUTE_UPDATE
165 -- then only the current and future rows will be locked. if
166 -- the datetrack operation is a ATTRIBUTE_CORRECTION then
167 -- all person rows are locked as we cannot guarantee how
168 -- many rows will be changed.
169 -- csr_per1 -> selects person details for the current and future rows
170 -- csr_per2 -> selects person details in the past in a descending order
171 -- not including the current row as of the effective date.
172 --
173 -- note: the cursors csr_per1 nd csr_per2 are specifically not merged
174 -- because of the of the order by clause
175 --
176 -- cursor to lock all rows for which the datetrack operation could
177 -- operate over
178 cursor csr_per_lck(c_lck_start_date date) is
179 select 1
180 from per_people_f per
181 where per.person_id = p_person_id
182 and per.effective_end_date >= c_lck_start_date
183 for update nowait;
184 -- select current and future rows
185 cursor csr_per1 is
186 select per.object_version_number
187 ,per.person_type_id
188 ,per.employee_number
189 ,per.last_name
190 ,per.applicant_number
191 ,per.date_employee_data_verified
192 ,per.date_of_birth
193 ,per.email_address
194 ,per.expense_check_send_to_address
195 ,per.first_name
196 ,per.known_as
197 ,per.marital_status
198 ,per.middle_names
199 ,per.nationality
200 ,per.national_identifier
201 ,per.previous_last_name
202 ,per.registered_disabled_flag
203 ,per.sex
204 ,per.title
205 ,per.vendor_id
206 ,per.work_telephone
207 ,per.suffix
208 ,per.attribute_category
209 ,per.attribute1
210 ,per.attribute2
211 ,per.attribute3
212 ,per.attribute4
213 ,per.attribute5
214 ,per.attribute6
215 ,per.attribute7
216 ,per.attribute8
217 ,per.attribute9
218 ,per.attribute10
219 ,per.attribute11
220 ,per.attribute12
221 ,per.attribute13
222 ,per.attribute14
223 ,per.attribute15
224 ,per.attribute16
225 ,per.attribute17
226 ,per.attribute18
227 ,per.attribute19
228 ,per.attribute20
229 ,per.attribute21
230 ,per.attribute22
231 ,per.attribute23
232 ,per.attribute24
233 ,per.attribute25
234 ,per.attribute26
235 ,per.attribute27
236 ,per.attribute28
237 ,per.attribute29
238 ,per.attribute30
239 ,per.per_information_category
240 ,per.per_information1
241 ,per.per_information2
242 ,per.per_information3
243 ,per.per_information4
244 ,per.per_information5
245 ,per.per_information6
246 ,per.per_information7
247 ,per.per_information8
248 ,per.per_information9
249 ,per.per_information10
250 ,per.per_information11
251 ,per.per_information12
252 ,per.per_information13
253 ,per.per_information14
254 ,per.per_information15
255 ,per.per_information16
256 ,per.per_information17
257 ,per.per_information18
258 ,per.per_information19
259 ,per.per_information20
260 ,per.per_information21
261 ,per.per_information22
262 ,per.per_information23
263 ,per.per_information24
264 ,per.per_information25
265 ,per.per_information26
266 ,per.per_information27
267 ,per.per_information28
268 ,per.per_information29
269 ,per.per_information30
270 ,per.date_of_death
271 ,per.background_check_status
272 ,per.background_date_check
273 ,per.blood_type
274 ,per.correspondence_language
275 ,per.fast_path_employee
276 ,per.fte_capacity
277 ,per.hold_applicant_date_until
278 ,per.honors
279 ,per.internal_location
280 ,per.last_medical_test_by
281 ,per.last_medical_test_date
282 ,per.mailstop
283 ,per.office_number
284 ,per.on_military_service
285 ,per.pre_name_adjunct
286 ,per.projected_start_date
287 ,per.rehire_authorizor
288 ,per.rehire_recommendation
289 ,per.resume_exists
290 ,per.resume_last_updated
291 ,per.second_passport_exists
292 ,per.student_status
293 ,per.work_schedule
294 ,per.rehire_reason
295 ,per.benefit_group_id
296 ,per.receipt_of_death_cert_date
297 ,per.coord_ben_med_pln_no
298 ,per.coord_ben_no_cvg_flag
299 ,per.uses_tobacco_flag
300 ,per.dpdnt_adoption_date
301 ,per.dpdnt_vlntry_svce_flag
302 ,per.original_date_of_hire
303 ,per.town_of_birth
304 ,per.region_of_birth
305 ,per.country_of_birth
306 ,per.global_person_id
307 ,per.effective_start_date
308 ,per.effective_end_date
309 ,hc.comment_text
310 from hr_comments hc
311 ,per_all_people_f per
312 where per.person_id = p_person_id
313 and per.effective_end_date >= l_constant_effective_date
314 and hc.comment_id (+) = per.comment_id
315 order by per.effective_end_date asc;
316 -- select past rows not including the current rows
317 cursor csr_per2 is
318 select per.object_version_number
319 ,per.person_type_id
320 ,per.employee_number
321 ,per.last_name
322 ,per.applicant_number
323 ,per.date_employee_data_verified
324 ,per.date_of_birth
325 ,per.email_address
326 ,per.expense_check_send_to_address
327 ,per.first_name
328 ,per.known_as
329 ,per.marital_status
330 ,per.middle_names
331 ,per.nationality
332 ,per.national_identifier
333 ,per.previous_last_name
334 ,per.registered_disabled_flag
335 ,per.sex
336 ,per.title
337 ,per.vendor_id
338 ,per.work_telephone
339 ,per.suffix
340 ,per.attribute_category
341 ,per.attribute1
342 ,per.attribute2
343 ,per.attribute3
344 ,per.attribute4
345 ,per.attribute5
346 ,per.attribute6
347 ,per.attribute7
348 ,per.attribute8
349 ,per.attribute9
350 ,per.attribute10
351 ,per.attribute11
352 ,per.attribute12
353 ,per.attribute13
354 ,per.attribute14
355 ,per.attribute15
356 ,per.attribute16
357 ,per.attribute17
358 ,per.attribute18
359 ,per.attribute19
360 ,per.attribute20
361 ,per.attribute21
362 ,per.attribute22
363 ,per.attribute23
364 ,per.attribute24
365 ,per.attribute25
366 ,per.attribute26
367 ,per.attribute27
368 ,per.attribute28
369 ,per.attribute29
370 ,per.attribute30
371 ,per.per_information_category
372 ,per.per_information1
373 ,per.per_information2
374 ,per.per_information3
375 ,per.per_information4
376 ,per.per_information5
377 ,per.per_information6
378 ,per.per_information7
379 ,per.per_information8
380 ,per.per_information9
381 ,per.per_information10
382 ,per.per_information11
383 ,per.per_information12
384 ,per.per_information13
385 ,per.per_information14
386 ,per.per_information15
387 ,per.per_information16
388 ,per.per_information17
389 ,per.per_information18
390 ,per.per_information19
391 ,per.per_information20
392 ,per.per_information21
393 ,per.per_information22
394 ,per.per_information23
395 ,per.per_information24
396 ,per.per_information25
397 ,per.per_information26
398 ,per.per_information27
399 ,per.per_information28
400 ,per.per_information29
401 ,per.per_information30
402 ,per.date_of_death
403 ,per.background_check_status
404 ,per.background_date_check
405 ,per.blood_type
406 ,per.correspondence_language
407 ,per.fast_path_employee
408 ,per.fte_capacity
409 ,per.hold_applicant_date_until
410 ,per.honors
411 ,per.internal_location
412 ,per.last_medical_test_by
413 ,per.last_medical_test_date
414 ,per.mailstop
415 ,per.office_number
416 ,per.on_military_service
417 ,per.pre_name_adjunct
418 ,per.projected_start_date
419 ,per.rehire_authorizor
420 ,per.rehire_recommendation
421 ,per.resume_exists
422 ,per.resume_last_updated
423 ,per.second_passport_exists
424 ,per.student_status
425 ,per.work_schedule
426 ,per.rehire_reason
427 ,per.benefit_group_id
428 ,per.receipt_of_death_cert_date
429 ,per.coord_ben_med_pln_no
430 ,per.coord_ben_no_cvg_flag
431 ,per.uses_tobacco_flag
432 ,per.dpdnt_adoption_date
433 ,per.dpdnt_vlntry_svce_flag
434 ,per.original_date_of_hire
435 ,per.town_of_birth
436 ,per.region_of_birth
437 ,per.country_of_birth
438 ,per.global_person_id
439 ,per.effective_start_date
440 ,per.effective_end_date
441 ,hc.comment_text
442 from hr_comments hc
443 ,per_all_people_f per
444 where per.person_id = p_person_id
445 and per.effective_end_date < l_constant_effective_date
446 and hc.comment_id (+) = per.comment_id
447 order by per.effective_end_date desc;
448 -- IN parameters for BP API
449 l_last_name per_people_f.last_name%type;
450 l_date_of_birth per_people_f.date_of_birth%type;
451 l_email_address per_people_f.email_address%type;
452 l_first_name per_people_f.first_name%type;
453 l_known_as per_people_f.known_as%type;
454 l_marital_status per_people_f.marital_status%type;
455 l_middle_names per_people_f.middle_names%type;
456 l_nationality per_people_f.nationality%type;
457 l_previous_last_name per_people_f.previous_last_name%type;
458 l_sex per_people_f.sex%type;
459 l_title per_people_f.title%type;
460 l_work_telephone per_people_f.work_telephone%type;
461 l_suffix per_people_f.suffix%type;
462 l_person_type_id per_people_f.person_type_id%type;
463 l_applicant_number per_people_f.applicant_number%type;
464 l_comments hr_comments.comment_text%type;
465 l_date_employee_data_verified per_people_f.date_employee_data_verified%type;
466 l_expense_check_send_to_addres per_people_f.expense_check_send_to_address%type;
467 l_national_identifier per_people_f.national_identifier%type;
468 l_registered_disabled_flag per_people_f.registered_disabled_flag%type;
469 l_vendor_id per_people_f.vendor_id%type;
470 l_attribute_category per_people_f.attribute_category%type;
471 l_attribute1 per_people_f.attribute1%type;
472 l_attribute2 per_people_f.attribute2%type;
473 l_attribute3 per_people_f.attribute3%type;
474 l_attribute4 per_people_f.attribute4%type;
475 l_attribute5 per_people_f.attribute5%type;
476 l_attribute6 per_people_f.attribute6%type;
477 l_attribute7 per_people_f.attribute7%type;
478 l_attribute8 per_people_f.attribute8%type;
479 l_attribute9 per_people_f.attribute9%type;
480 l_attribute10 per_people_f.attribute10%type;
481 l_attribute11 per_people_f.attribute11%type;
482 l_attribute12 per_people_f.attribute12%type;
483 l_attribute13 per_people_f.attribute13%type;
484 l_attribute14 per_people_f.attribute14%type;
485 l_attribute15 per_people_f.attribute15%type;
486 l_attribute16 per_people_f.attribute16%type;
487 l_attribute17 per_people_f.attribute17%type;
488 l_attribute18 per_people_f.attribute18%type;
489 l_attribute19 per_people_f.attribute19%type;
490 l_attribute20 per_people_f.attribute20%type;
491 l_attribute21 per_people_f.attribute21%type;
492 l_attribute22 per_people_f.attribute22%type;
493 l_attribute23 per_people_f.attribute23%type;
494 l_attribute24 per_people_f.attribute24%type;
495 l_attribute25 per_people_f.attribute25%type;
496 l_attribute26 per_people_f.attribute26%type;
497 l_attribute27 per_people_f.attribute27%type;
498 l_attribute28 per_people_f.attribute28%type;
499 l_attribute29 per_people_f.attribute29%type;
500 l_attribute30 per_people_f.attribute30%type;
501 l_per_information_category per_people_f.per_information_category%type;
502 l_per_information1 per_people_f.per_information1%type;
503 l_per_information2 per_people_f.per_information2%type;
504 l_per_information3 per_people_f.per_information3%type;
505 l_per_information4 per_people_f.per_information4%type;
506 l_per_information5 per_people_f.per_information5%type;
507 l_per_information6 per_people_f.per_information6%type;
508 l_per_information7 per_people_f.per_information7%type;
509 l_per_information8 per_people_f.per_information8%type;
510 l_per_information9 per_people_f.per_information9%type;
511 l_per_information10 per_people_f.per_information10%type;
512 l_per_information11 per_people_f.per_information11%type;
513 l_per_information12 per_people_f.per_information12%type;
514 l_per_information13 per_people_f.per_information13%type;
515 l_per_information14 per_people_f.per_information14%type;
516 l_per_information15 per_people_f.per_information15%type;
517 l_per_information16 per_people_f.per_information16%type;
518 l_per_information17 per_people_f.per_information17%type;
519 l_per_information18 per_people_f.per_information18%type;
520 l_per_information19 per_people_f.per_information19%type;
521 l_per_information20 per_people_f.per_information20%type;
522
523 l_per_information21 per_people_f.per_information21%type;
524 l_per_information22 per_people_f.per_information22%type;
525 l_per_information23 per_people_f.per_information23%type;
526 l_per_information24 per_people_f.per_information24%type;
527 l_per_information25 per_people_f.per_information25%type;
528 l_per_information26 per_people_f.per_information26%type;
529 l_per_information27 per_people_f.per_information27%type;
530 l_per_information28 per_people_f.per_information28%type;
531 l_per_information29 per_people_f.per_information29%type;
532 l_per_information30 per_people_f.per_information30%type;
533 l_date_of_death per_people_f.date_of_death%type;
534 l_background_check_status per_people_f.background_check_status%type;
535 l_background_date_check per_people_f.background_date_check%type;
536 l_blood_type per_people_f.blood_type%type;
537 l_correspondence_language per_people_f.correspondence_language%type;
538 l_fast_path_employee per_people_f.fast_path_employee%type;
539 l_fte_capacity per_people_f.fte_capacity%type;
540 l_hold_applicant_date_until per_people_f.hold_applicant_date_until%type;
541 l_honors per_people_f.honors%type;
542 l_internal_location per_people_f.internal_location%type;
543 l_last_medical_test_by per_people_f.last_medical_test_by%type;
544 l_last_medical_test_date per_people_f.last_medical_test_date%type;
545 l_mailstop per_people_f.mailstop%type;
546 l_office_number per_people_f.office_number%type;
547 l_on_military_service per_people_f.on_military_service%type;
548 l_pre_name_adjunct per_people_f.pre_name_adjunct%type;
549 l_projected_start_date per_people_f.projected_start_date%type;
550 l_rehire_authorizor per_people_f.rehire_authorizor%type;
551 l_rehire_recommendation per_people_f.rehire_recommendation%type;
552 l_resume_exists per_people_f.resume_exists%type;
553 l_resume_last_updated per_people_f.resume_last_updated%type;
554 l_second_passport_exists per_people_f.second_passport_exists%type;
555 l_student_status per_people_f.student_status%type;
556 l_work_schedule per_people_f.work_schedule%type;
557 l_rehire_reason per_people_f.rehire_reason%type;
558 l_benefit_group_id per_people_f.benefit_group_id%type;
559 l_receipt_of_death_cert_date per_people_f.receipt_of_death_cert_date%type;
560 l_coord_ben_med_pln_no per_people_f.coord_ben_med_pln_no%type;
561 l_coord_ben_no_cvg_flag per_people_f.coord_ben_no_cvg_flag%type;
562 l_uses_tobacco_flag per_people_f.uses_tobacco_flag%type;
563 l_dpdnt_adoption_date per_people_f.dpdnt_adoption_date%type;
564 l_dpdnt_vlntry_svce_flag per_people_f.dpdnt_vlntry_svce_flag%type;
565 l_original_date_of_hire per_people_f.original_date_of_hire%type;
566 l_town_of_birth per_people_f.town_of_birth%type;
567 l_region_of_birth per_people_f.region_of_birth%type;
568 l_country_of_birth per_people_f.country_of_birth%type;
569 l_global_person_id per_people_f.global_person_id%type;
570 -- IN/OUT parameters for BP API and API
571 l_employee_number per_people_f.employee_number%type;
572 l_object_version_number per_people_f.object_version_number%type;
573 -- OUT parameters for BP API
574 l_full_name per_people_f.full_name%type;
575 l_comment_id per_people_f.comment_id%type;
576 l_name_combination_warning boolean;
577 l_assign_payroll_warning boolean;
578 l_orig_hire_warning boolean;
579 l_effective_start_date per_people_f.effective_start_date%type;
580 l_effective_end_date per_people_f.effective_end_date%type;
581 -- OUT parameters for API
582 l_api_name_combination_warning boolean := false;
583 l_api_assign_payroll_warning boolean := false;
584 l_api_orig_hire_warning boolean := false;
585 -- --------------------------------------------------------------------------
586 -- |---------------------------< process_row >------------------------------|
587 -- --------------------------------------------------------------------------
588 -- {Start Of Comments}
589 --
590 -- Description:
591 -- This private function is used to determine the correct attribute values
592 -- to pass to the BP API.
593 --
594 -- 1. Determine the parameter value to be passed to the BP API
595 -- 2. If at least one parameter value is changing then call the BP API
596 -- else exit function
597 -- 3. Set any parameters which have been supplied by the resulting call
598 -- to the BP API
599 --
600 -- Pre Conditions:
601 -- A row must be active from the cursor csr_per1 or csr_per2
602 --
603 -- In Arguments:
604 -- All the IN arguments hold the current selected cursor row values.
605 --
606 -- Post Success:
607 -- Ths function will return either TRUE or FALSE.
608 -- If TRUE is returned, the row has been processed succesfully and
609 -- attributes could possibly still be processed.
610 -- If FALSE is returned, the row has been processed succesfully
611 -- and all the attributes have been updated as far as possible.
612 --
613 -- Post Failure:
614 -- Exceptions are not handled, just raised.
615 --
616 -- Developer Implementation Notes:
617 -- None
618 --
619 -- Access Status:
620 -- Internal to owning procedure.
621 --
622 -- {End Of Comments}
623 -- --------------------------------------------------------------------------
624 function process_row
625 (c_effective_start_date in date
626 ,c_object_version_number in number
627 ,c_person_type_id in number default hr_api.g_number
628 ,c_last_name in varchar2 default hr_api.g_varchar2
629 ,c_applicant_number in varchar2 default hr_api.g_varchar2
630 ,c_comments in varchar2 default hr_api.g_varchar2
631 ,c_date_employee_data_verified in date default hr_api.g_date
632 ,c_date_of_birth in date default hr_api.g_date
633 ,c_email_address in varchar2 default hr_api.g_varchar2
634 ,c_employee_number in varchar2
635 ,c_expense_check_send_to_addres in varchar2 default hr_api.g_varchar2
636 ,c_first_name in varchar2 default hr_api.g_varchar2
637 ,c_known_as in varchar2 default hr_api.g_varchar2
638 ,c_marital_status in varchar2 default hr_api.g_varchar2
639 ,c_middle_names in varchar2 default hr_api.g_varchar2
640 ,c_nationality in varchar2 default hr_api.g_varchar2
641 ,c_national_identifier in varchar2 default hr_api.g_varchar2
642 ,c_previous_last_name in varchar2 default hr_api.g_varchar2
643 ,c_registered_disabled_flag in varchar2 default hr_api.g_varchar2
644 ,c_sex in varchar2 default hr_api.g_varchar2
645 ,c_title in varchar2 default hr_api.g_varchar2
646 ,c_vendor_id in number default hr_api.g_number
647 ,c_work_telephone in varchar2 default hr_api.g_varchar2
648 ,c_suffix in varchar2 default hr_api.g_varchar2
649 ,c_attribute_category in varchar2 default hr_api.g_varchar2
650 ,c_attribute1 in varchar2 default hr_api.g_varchar2
651 ,c_attribute2 in varchar2 default hr_api.g_varchar2
652 ,c_attribute3 in varchar2 default hr_api.g_varchar2
653 ,c_attribute4 in varchar2 default hr_api.g_varchar2
654 ,c_attribute5 in varchar2 default hr_api.g_varchar2
655 ,c_attribute6 in varchar2 default hr_api.g_varchar2
656 ,c_attribute7 in varchar2 default hr_api.g_varchar2
657 ,c_attribute8 in varchar2 default hr_api.g_varchar2
658 ,c_attribute9 in varchar2 default hr_api.g_varchar2
659 ,c_attribute10 in varchar2 default hr_api.g_varchar2
660 ,c_attribute11 in varchar2 default hr_api.g_varchar2
661 ,c_attribute12 in varchar2 default hr_api.g_varchar2
662 ,c_attribute13 in varchar2 default hr_api.g_varchar2
663 ,c_attribute14 in varchar2 default hr_api.g_varchar2
664 ,c_attribute15 in varchar2 default hr_api.g_varchar2
665 ,c_attribute16 in varchar2 default hr_api.g_varchar2
666 ,c_attribute17 in varchar2 default hr_api.g_varchar2
667 ,c_attribute18 in varchar2 default hr_api.g_varchar2
668 ,c_attribute19 in varchar2 default hr_api.g_varchar2
669 ,c_attribute20 in varchar2 default hr_api.g_varchar2
670 ,c_attribute21 in varchar2 default hr_api.g_varchar2
671 ,c_attribute22 in varchar2 default hr_api.g_varchar2
672 ,c_attribute23 in varchar2 default hr_api.g_varchar2
673 ,c_attribute24 in varchar2 default hr_api.g_varchar2
674 ,c_attribute25 in varchar2 default hr_api.g_varchar2
675 ,c_attribute26 in varchar2 default hr_api.g_varchar2
676 ,c_attribute27 in varchar2 default hr_api.g_varchar2
677 ,c_attribute28 in varchar2 default hr_api.g_varchar2
678 ,c_attribute29 in varchar2 default hr_api.g_varchar2
679 ,c_attribute30 in varchar2 default hr_api.g_varchar2
680 ,c_per_information_category in varchar2 default hr_api.g_varchar2
681 ,c_per_information1 in varchar2 default hr_api.g_varchar2
682 ,c_per_information2 in varchar2 default hr_api.g_varchar2
683 ,c_per_information3 in varchar2 default hr_api.g_varchar2
684 ,c_per_information4 in varchar2 default hr_api.g_varchar2
685 ,c_per_information5 in varchar2 default hr_api.g_varchar2
686 ,c_per_information6 in varchar2 default hr_api.g_varchar2
687 ,c_per_information7 in varchar2 default hr_api.g_varchar2
688 ,c_per_information8 in varchar2 default hr_api.g_varchar2
689 ,c_per_information9 in varchar2 default hr_api.g_varchar2
690 ,c_per_information10 in varchar2 default hr_api.g_varchar2
691 ,c_per_information11 in varchar2 default hr_api.g_varchar2
692 ,c_per_information12 in varchar2 default hr_api.g_varchar2
693 ,c_per_information13 in varchar2 default hr_api.g_varchar2
694 ,c_per_information14 in varchar2 default hr_api.g_varchar2
695 ,c_per_information15 in varchar2 default hr_api.g_varchar2
696 ,c_per_information16 in varchar2 default hr_api.g_varchar2
697 ,c_per_information17 in varchar2 default hr_api.g_varchar2
698 ,c_per_information18 in varchar2 default hr_api.g_varchar2
699 ,c_per_information19 in varchar2 default hr_api.g_varchar2
700 ,c_per_information20 in varchar2 default hr_api.g_varchar2
701 ,c_per_information21 in varchar2 default hr_api.g_varchar2
702 ,c_per_information22 in varchar2 default hr_api.g_varchar2
703 ,c_per_information23 in varchar2 default hr_api.g_varchar2
704 ,c_per_information24 in varchar2 default hr_api.g_varchar2
705 ,c_per_information25 in varchar2 default hr_api.g_varchar2
706 ,c_per_information26 in varchar2 default hr_api.g_varchar2
707 ,c_per_information27 in varchar2 default hr_api.g_varchar2
708 ,c_per_information28 in varchar2 default hr_api.g_varchar2
709 ,c_per_information29 in varchar2 default hr_api.g_varchar2
710 ,c_per_information30 in varchar2 default hr_api.g_varchar2
711 ,c_date_of_death in date default hr_api.g_date
712 ,c_background_check_status in varchar2 default hr_api.g_varchar2
713 ,c_background_date_check in date default hr_api.g_date
714 ,c_blood_type in varchar2 default hr_api.g_varchar2
715 ,c_correspondence_language in varchar2 default hr_api.g_varchar2
716 ,c_fast_path_employee in varchar2 default hr_api.g_varchar2
717 ,c_fte_capacity in number default hr_api.g_number
718 ,c_hold_applicant_date_until in date default hr_api.g_date
719 ,c_honors in varchar2 default hr_api.g_varchar2
720 ,c_internal_location in varchar2 default hr_api.g_varchar2
721 ,c_last_medical_test_by in varchar2 default hr_api.g_varchar2
722 ,c_last_medical_test_date in date default hr_api.g_date
723 ,c_mailstop in varchar2 default hr_api.g_varchar2
724 ,c_office_number in varchar2 default hr_api.g_varchar2
725 ,c_on_military_service in varchar2 default hr_api.g_varchar2
726 ,c_pre_name_adjunct in varchar2 default hr_api.g_varchar2
727 ,c_projected_start_date in date default hr_api.g_date
728 ,c_rehire_authorizor in varchar2 default hr_api.g_varchar2
729 ,c_rehire_recommendation in varchar2 default hr_api.g_varchar2
730 ,c_resume_exists in varchar2 default hr_api.g_varchar2
731 ,c_resume_last_updated in date default hr_api.g_date
732 ,c_second_passport_exists in varchar2 default hr_api.g_varchar2
733 ,c_student_status in varchar2 default hr_api.g_varchar2
734 ,c_work_schedule in varchar2 default hr_api.g_varchar2
735 ,c_rehire_reason in varchar2 default hr_api.g_varchar2
736 ,c_benefit_group_id in number default hr_api.g_number
737 ,c_receipt_of_death_cert_date in date default hr_api.g_date
738 ,c_coord_ben_med_pln_no in varchar2 default hr_api.g_varchar2
739 ,c_coord_ben_no_cvg_flag in varchar2 default hr_api.g_varchar2
740 ,c_uses_tobacco_flag in varchar2 default hr_api.g_varchar2
741 ,c_dpdnt_adoption_date in date default hr_api.g_date
742 ,c_dpdnt_vlntry_svce_flag in varchar2 default hr_api.g_varchar2
743 ,c_original_date_of_hire in date default hr_api.g_date
744 ,c_town_of_birth in varchar2 default hr_api.g_varchar2
745 ,c_region_of_birth in varchar2 default hr_api.g_varchar2
746 ,c_country_of_birth in varchar2 default hr_api.g_varchar2
747 ,c_global_person_id in varchar2 default hr_api.g_varchar2 )
748 return boolean is
749 l_proc varchar2(72) := g_package||'process_row';
750 begin
751 hr_utility.set_location('Entering:'|| l_proc, 5);
752 -- get the parameter values to pass to the BP API
753 l_title := hr_dt_attribute_support.get_parameter_char
754 (p_effective_date_row => l_effective_date_row
755 ,p_parameter_name => 'P_TITLE'
756 ,p_new_value => p_title
757 ,p_current_value => c_title);
758 l_marital_status := hr_dt_attribute_support.get_parameter_char
759 (p_effective_date_row => l_effective_date_row
760 ,p_parameter_name => 'P_MARITAL_STATUS'
761 ,p_new_value => p_marital_status
762 ,p_current_value => c_marital_status);
763 l_first_name := hr_dt_attribute_support.get_parameter_char
764 (p_effective_date_row => l_effective_date_row
765 ,p_parameter_name => 'P_FIRST_NAME'
766 ,p_new_value => p_first_name
767 ,p_current_value => c_first_name);
768 l_middle_names := hr_dt_attribute_support.get_parameter_char
769 (p_effective_date_row => l_effective_date_row
770 ,p_parameter_name => 'P_MIDDLE_NAMES'
771 ,p_new_value => p_middle_names
772 ,p_current_value => c_middle_names);
773 l_last_name := hr_dt_attribute_support.get_parameter_char
774 (p_effective_date_row => l_effective_date_row
775 ,p_parameter_name => 'P_LAST_NAME'
776 ,p_new_value => p_last_name
777 ,p_current_value => c_last_name);
778 l_known_as := hr_dt_attribute_support.get_parameter_char
779 (p_effective_date_row => l_effective_date_row
780 ,p_parameter_name => 'P_KNOWN_AS'
781 ,p_new_value => p_known_as
782 ,p_current_value => c_known_as);
783 l_previous_last_name := hr_dt_attribute_support.get_parameter_char
784 (p_effective_date_row => l_effective_date_row
785 ,p_parameter_name => 'P_PREVIOUS_LAST_NAME'
786 ,p_new_value => p_previous_last_name
787 ,p_current_value => c_previous_last_name);
788 l_date_of_birth := hr_dt_attribute_support.get_parameter_date
789 (p_effective_date_row => l_effective_date_row
790 ,p_parameter_name => 'P_DATE_OF_BIRTH'
791 ,p_new_value => p_date_of_birth
792 ,p_current_value => c_date_of_birth);
793 l_email_address := hr_dt_attribute_support.get_parameter_char
794 (p_effective_date_row => l_effective_date_row
795 ,p_parameter_name => 'P_EMAIL_ADDRESS'
796 ,p_new_value => p_email_address
797 ,p_current_value => c_email_address);
798 l_nationality := hr_dt_attribute_support.get_parameter_char
799 (p_effective_date_row => l_effective_date_row
800 ,p_parameter_name => 'P_NATIONALITY'
801 ,p_new_value => p_nationality
802 ,p_current_value => c_nationality);
803 l_sex := hr_dt_attribute_support.get_parameter_char
804 (p_effective_date_row => l_effective_date_row
805 ,p_parameter_name => 'P_SEX'
806 ,p_new_value => p_sex
807 ,p_current_value => c_sex);
808 l_work_telephone := hr_dt_attribute_support.get_parameter_char
809 (p_effective_date_row => l_effective_date_row
810 ,p_parameter_name => 'P_WORK_TELEPHONE'
811 ,p_new_value => p_work_telephone
812 ,p_current_value => c_work_telephone);
813 l_suffix := hr_dt_attribute_support.get_parameter_char
814 (p_effective_date_row => l_effective_date_row
815 ,p_parameter_name => 'P_SUFFIX'
816 ,p_new_value => p_suffix
817 ,p_current_value => c_suffix);
818 l_person_type_id := hr_dt_attribute_support.get_parameter_number
819 (p_effective_date_row => l_effective_date_row
820 ,p_parameter_name => 'P_PERSON_TYPE_ID'
821 ,p_new_value => p_person_type_id
822 ,p_current_value => c_person_type_id);
823 l_applicant_number := hr_dt_attribute_support.get_parameter_char
824 (p_effective_date_row => l_effective_date_row
825 ,p_parameter_name => 'P_APPLICANT_NUMBER'
826 ,p_new_value => p_applicant_number
827 ,p_current_value => c_applicant_number);
828 l_comments := hr_dt_attribute_support.get_parameter_char
829 (p_effective_date_row => l_effective_date_row
830 ,p_parameter_name => 'P_COMMENTS'
831 ,p_new_value => p_comments
832 ,p_current_value => c_comments);
833 l_date_employee_data_verified
834 := hr_dt_attribute_support.get_parameter_date
835 (p_effective_date_row => l_effective_date_row
836 ,p_parameter_name => 'P_DATE_EMPLOYEE_DATA_VERIFIED'
837 ,p_new_value => p_date_employee_data_verified
838 ,p_current_value => c_date_employee_data_verified);
839 l_employee_number := hr_dt_attribute_support.get_parameter_char
840 (p_effective_date_row => l_effective_date_row
841 ,p_parameter_name => 'P_EMPLOYEE_NUMBER'
842 ,p_new_value => p_employee_number
843 ,p_current_value => c_employee_number);
844 l_expense_check_send_to_addres :=
845 hr_dt_attribute_support.get_parameter_char
846 (p_effective_date_row => l_effective_date_row
847 ,p_parameter_name => 'P_EXPENSE_CHECK_SEND_TO_ADDRES'
848 ,p_new_value => p_expense_check_send_to_addres
849 ,p_current_value => c_expense_check_send_to_addres);
850 l_national_identifier := hr_dt_attribute_support.get_parameter_char
851 (p_effective_date_row => l_effective_date_row
852 ,p_parameter_name => 'P_NATIONAL_IDENTIFIER'
853 ,p_new_value => p_national_identifier
854 ,p_current_value => c_national_identifier);
855 l_registered_disabled_flag := hr_dt_attribute_support.get_parameter_char
856 (p_effective_date_row => l_effective_date_row
857 ,p_parameter_name => 'P_REGISTERED_DISABLED_FLAG'
858 ,p_new_value => p_registered_disabled_flag
859 ,p_current_value => c_registered_disabled_flag);
860 l_vendor_id := hr_dt_attribute_support.get_parameter_number
861 (p_effective_date_row => l_effective_date_row
862 ,p_parameter_name => 'P_VENDOR_ID'
863 ,p_new_value => p_vendor_id
864 ,p_current_value => c_vendor_id);
865 l_attribute_category := hr_dt_attribute_support.get_parameter_char
866 (p_effective_date_row => l_effective_date_row
867 ,p_parameter_name => 'P_ATTRIBUTE_CATEGORY'
868 ,p_new_value => p_attribute_category
869 ,p_current_value => c_attribute_category);
870 l_attribute1 := hr_dt_attribute_support.get_parameter_char
871 (p_effective_date_row => l_effective_date_row
872 ,p_parameter_name => 'P_ATTRIBUTE1'
873 ,p_new_value => p_attribute1
874 ,p_current_value => c_attribute1);
875 l_attribute2 := hr_dt_attribute_support.get_parameter_char
876 (p_effective_date_row => l_effective_date_row
877 ,p_parameter_name => 'P_ATTRIBUTE2'
878 ,p_new_value => p_attribute2
879 ,p_current_value => c_attribute2);
880 l_attribute3 := hr_dt_attribute_support.get_parameter_char
881 (p_effective_date_row => l_effective_date_row
882 ,p_parameter_name => 'P_ATTRIBUTE3'
883 ,p_new_value => p_attribute3
884 ,p_current_value => c_attribute3);
885 l_attribute4 := hr_dt_attribute_support.get_parameter_char
886 (p_effective_date_row => l_effective_date_row
887 ,p_parameter_name => 'P_ATTRIBUTE4'
888 ,p_new_value => p_attribute4
889 ,p_current_value => c_attribute4);
890 l_attribute5 := hr_dt_attribute_support.get_parameter_char
891 (p_effective_date_row => l_effective_date_row
892 ,p_parameter_name => 'P_ATTRIBUTE5'
893 ,p_new_value => p_attribute5
894 ,p_current_value => c_attribute5);
895 l_attribute6 := hr_dt_attribute_support.get_parameter_char
896 (p_effective_date_row => l_effective_date_row
897 ,p_parameter_name => 'P_ATTRIBUTE6'
898 ,p_new_value => p_attribute6
899 ,p_current_value => c_attribute6);
900 l_attribute7 := hr_dt_attribute_support.get_parameter_char
901 (p_effective_date_row => l_effective_date_row
902 ,p_parameter_name => 'P_ATTRIBUTE7'
903 ,p_new_value => p_attribute7
904 ,p_current_value => c_attribute7);
905 l_attribute8 := hr_dt_attribute_support.get_parameter_char
906 (p_effective_date_row => l_effective_date_row
907 ,p_parameter_name => 'P_ATTRIBUTE8'
908 ,p_new_value => p_attribute8
909 ,p_current_value => c_attribute8);
910 l_attribute9 := hr_dt_attribute_support.get_parameter_char
911 (p_effective_date_row => l_effective_date_row
912 ,p_parameter_name => 'P_ATTRIBUTE9'
913 ,p_new_value => p_attribute9
914 ,p_current_value => c_attribute9);
915 l_attribute10 := hr_dt_attribute_support.get_parameter_char
916 (p_effective_date_row => l_effective_date_row
917 ,p_parameter_name => 'P_ATTRIBUTE10'
918 ,p_new_value => p_attribute10
919 ,p_current_value => c_attribute10);
920 l_attribute11 := hr_dt_attribute_support.get_parameter_char
921 (p_effective_date_row => l_effective_date_row
922 ,p_parameter_name => 'P_ATTRIBUTE11'
923 ,p_new_value => p_attribute11
924 ,p_current_value => c_attribute11);
925 l_attribute12 := hr_dt_attribute_support.get_parameter_char
926 (p_effective_date_row => l_effective_date_row
927 ,p_parameter_name => 'P_ATTRIBUTE12'
928 ,p_new_value => p_attribute12
929 ,p_current_value => c_attribute12);
930 l_attribute13 := hr_dt_attribute_support.get_parameter_char
931 (p_effective_date_row => l_effective_date_row
932 ,p_parameter_name => 'P_ATTRIBUTE13'
933 ,p_new_value => p_attribute13
934 ,p_current_value => c_attribute13);
935 l_attribute14 := hr_dt_attribute_support.get_parameter_char
936 (p_effective_date_row => l_effective_date_row
937 ,p_parameter_name => 'P_ATTRIBUTE14'
938 ,p_new_value => p_attribute14
939 ,p_current_value => c_attribute14);
940 l_attribute15 := hr_dt_attribute_support.get_parameter_char
941 (p_effective_date_row => l_effective_date_row
942 ,p_parameter_name => 'P_ATTRIBUTE15'
943 ,p_new_value => p_attribute15
944 ,p_current_value => c_attribute15);
945 l_attribute16 := hr_dt_attribute_support.get_parameter_char
946 (p_effective_date_row => l_effective_date_row
947 ,p_parameter_name => 'P_ATTRIBUTE16'
948 ,p_new_value => p_attribute16
949 ,p_current_value => c_attribute16);
950 l_attribute17 := hr_dt_attribute_support.get_parameter_char
951 (p_effective_date_row => l_effective_date_row
952 ,p_parameter_name => 'P_ATTRIBUTE17'
953 ,p_new_value => p_attribute17
954 ,p_current_value => c_attribute17);
955 l_attribute18 := hr_dt_attribute_support.get_parameter_char
956 (p_effective_date_row => l_effective_date_row
957 ,p_parameter_name => 'P_ATTRIBUTE18'
958 ,p_new_value => p_attribute18
959 ,p_current_value => c_attribute18);
960 l_attribute19 := hr_dt_attribute_support.get_parameter_char
961 (p_effective_date_row => l_effective_date_row
962 ,p_parameter_name => 'P_ATTRIBUTE19'
963 ,p_new_value => p_attribute19
964 ,p_current_value => c_attribute19);
965 l_attribute20 := hr_dt_attribute_support.get_parameter_char
966 (p_effective_date_row => l_effective_date_row
967 ,p_parameter_name => 'P_ATTRIBUTE20'
968 ,p_new_value => p_attribute20
969 ,p_current_value => c_attribute20);
970 l_attribute21 := hr_dt_attribute_support.get_parameter_char
971 (p_effective_date_row => l_effective_date_row
972 ,p_parameter_name => 'P_ATTRIBUTE21'
973 ,p_new_value => p_attribute21
974 ,p_current_value => c_attribute21);
975 l_attribute22 := hr_dt_attribute_support.get_parameter_char
976 (p_effective_date_row => l_effective_date_row
977 ,p_parameter_name => 'P_ATTRIBUTE22'
978 ,p_new_value => p_attribute22
979 ,p_current_value => c_attribute22);
980 l_attribute23 := hr_dt_attribute_support.get_parameter_char
981 (p_effective_date_row => l_effective_date_row
982 ,p_parameter_name => 'P_ATTRIBUTE23'
983 ,p_new_value => p_attribute23
984 ,p_current_value => c_attribute23);
985 l_attribute24 := hr_dt_attribute_support.get_parameter_char
986 (p_effective_date_row => l_effective_date_row
987 ,p_parameter_name => 'P_ATTRIBUTE24'
988 ,p_new_value => p_attribute24
989 ,p_current_value => c_attribute24);
990 l_attribute25 := hr_dt_attribute_support.get_parameter_char
991 (p_effective_date_row => l_effective_date_row
992 ,p_parameter_name => 'P_ATTRIBUTE5'
993 ,p_new_value => p_attribute25
994 ,p_current_value => c_attribute25);
995 l_attribute26 := hr_dt_attribute_support.get_parameter_char
996 (p_effective_date_row => l_effective_date_row
997 ,p_parameter_name => 'P_ATTRIBUTE26'
998 ,p_new_value => p_attribute26
999 ,p_current_value => c_attribute26);
1000 l_attribute27 := hr_dt_attribute_support.get_parameter_char
1001 (p_effective_date_row => l_effective_date_row
1002 ,p_parameter_name => 'P_ATTRIBUTE27'
1003 ,p_new_value => p_attribute27
1004 ,p_current_value => c_attribute27);
1005 l_attribute28 := hr_dt_attribute_support.get_parameter_char
1006 (p_effective_date_row => l_effective_date_row
1007 ,p_parameter_name => 'P_ATTRIBUTE28'
1008 ,p_new_value => p_attribute28
1009 ,p_current_value => c_attribute28);
1010 l_attribute29 := hr_dt_attribute_support.get_parameter_char
1011 (p_effective_date_row => l_effective_date_row
1012 ,p_parameter_name => 'P_ATTRIBUTE29'
1013 ,p_new_value => p_attribute29
1014 ,p_current_value => c_attribute29);
1015 l_attribute30 := hr_dt_attribute_support.get_parameter_char
1016 (p_effective_date_row => l_effective_date_row
1017 ,p_parameter_name => 'P_ATTRIBUTE30'
1018 ,p_new_value => p_attribute30
1019 ,p_current_value => c_attribute30);
1020 l_per_information_category := hr_dt_attribute_support.get_parameter_char
1021 (p_effective_date_row => l_effective_date_row
1022 ,p_parameter_name => 'P_PER_INFORMATION_CATEGORY'
1023 ,p_new_value => p_per_information_category
1024 ,p_current_value => c_per_information_category);
1025 l_per_information1 := hr_dt_attribute_support.get_parameter_char
1026 (p_effective_date_row => l_effective_date_row
1027 ,p_parameter_name => 'P_PER_INFORMATION1'
1028 ,p_new_value => p_per_information1
1029 ,p_current_value => c_per_information1);
1030 l_per_information2 := hr_dt_attribute_support.get_parameter_char
1031 (p_effective_date_row => l_effective_date_row
1032 ,p_parameter_name => 'P_PER_INFORMATION2'
1033 ,p_new_value => p_per_information2
1034 ,p_current_value => c_per_information2);
1035 l_per_information3 := hr_dt_attribute_support.get_parameter_char
1036 (p_effective_date_row => l_effective_date_row
1037 ,p_parameter_name => 'P_PER_INFORMATION3'
1038 ,p_new_value => p_per_information3
1039 ,p_current_value => c_per_information3);
1040 l_per_information4 := hr_dt_attribute_support.get_parameter_char
1041 (p_effective_date_row => l_effective_date_row
1042 ,p_parameter_name => 'P_PER_INFORMATION4'
1043 ,p_new_value => p_per_information4
1044 ,p_current_value => c_per_information4);
1045 l_per_information5 := hr_dt_attribute_support.get_parameter_char
1046 (p_effective_date_row => l_effective_date_row
1047 ,p_parameter_name => 'P_PER_INFORMATION5'
1048 ,p_new_value => p_per_information5
1049 ,p_current_value => c_per_information5);
1050 l_per_information6 := hr_dt_attribute_support.get_parameter_char
1051 (p_effective_date_row => l_effective_date_row
1052 ,p_parameter_name => 'P_PER_INFORMATION6'
1053 ,p_new_value => p_per_information6
1054 ,p_current_value => c_per_information6);
1055 l_per_information7 := hr_dt_attribute_support.get_parameter_char
1056 (p_effective_date_row => l_effective_date_row
1057 ,p_parameter_name => 'P_PER_INFORMATION7'
1058 ,p_new_value => p_per_information7
1059 ,p_current_value => c_per_information7);
1060 l_per_information8 := hr_dt_attribute_support.get_parameter_char
1061 (p_effective_date_row => l_effective_date_row
1062 ,p_parameter_name => 'P_PER_INFORMATION8'
1063 ,p_new_value => p_per_information8
1064 ,p_current_value => c_per_information8);
1065 l_per_information9 := hr_dt_attribute_support.get_parameter_char
1066 (p_effective_date_row => l_effective_date_row
1067 ,p_parameter_name => 'P_PER_INFORMATION9'
1068 ,p_new_value => p_per_information9
1069 ,p_current_value => c_per_information9);
1070 l_per_information10 := hr_dt_attribute_support.get_parameter_char
1071 (p_effective_date_row => l_effective_date_row
1072 ,p_parameter_name => 'P_PER_INFORMATION10'
1073 ,p_new_value => p_per_information10
1074 ,p_current_value => c_per_information10);
1075 l_per_information11 := hr_dt_attribute_support.get_parameter_char
1076 (p_effective_date_row => l_effective_date_row
1077 ,p_parameter_name => 'P_PER_INFORMATION11'
1078 ,p_new_value => p_per_information11
1079 ,p_current_value => c_per_information11);
1080 l_per_information12 := hr_dt_attribute_support.get_parameter_char
1081 (p_effective_date_row => l_effective_date_row
1082 ,p_parameter_name => 'P_PER_INFORMATION12'
1083 ,p_new_value => p_per_information12
1084 ,p_current_value => c_per_information12);
1085 l_per_information13 := hr_dt_attribute_support.get_parameter_char
1086 (p_effective_date_row => l_effective_date_row
1087 ,p_parameter_name => 'P_PER_INFORMATION13'
1088 ,p_new_value => p_per_information13
1089 ,p_current_value => c_per_information13);
1090 l_per_information14 := hr_dt_attribute_support.get_parameter_char
1091 (p_effective_date_row => l_effective_date_row
1092 ,p_parameter_name => 'P_PER_INFORMATION14'
1093 ,p_new_value => p_per_information14
1094 ,p_current_value => c_per_information14);
1095 l_per_information15 := hr_dt_attribute_support.get_parameter_char
1096 (p_effective_date_row => l_effective_date_row
1097 ,p_parameter_name => 'P_PER_INFORMATION15'
1098 ,p_new_value => p_per_information15
1099 ,p_current_value => c_per_information15);
1100 l_per_information16 := hr_dt_attribute_support.get_parameter_char
1101 (p_effective_date_row => l_effective_date_row
1102 ,p_parameter_name => 'P_PER_INFORMATION16'
1103 ,p_new_value => p_per_information16
1104 ,p_current_value => c_per_information16);
1105 l_per_information17 := hr_dt_attribute_support.get_parameter_char
1106 (p_effective_date_row => l_effective_date_row
1107 ,p_parameter_name => 'P_PER_INFORMATION17'
1108 ,p_new_value => p_per_information17
1109 ,p_current_value => c_per_information17);
1110 l_per_information18 := hr_dt_attribute_support.get_parameter_char
1111 (p_effective_date_row => l_effective_date_row
1112 ,p_parameter_name => 'P_PER_INFORMATION18'
1113 ,p_new_value => p_per_information18
1114 ,p_current_value => c_per_information18);
1115 l_per_information19 := hr_dt_attribute_support.get_parameter_char
1116 (p_effective_date_row => l_effective_date_row
1117 ,p_parameter_name => 'P_PER_INFORMATION19'
1118 ,p_new_value => p_per_information19
1119 ,p_current_value => c_per_information19);
1120 l_per_information20 := hr_dt_attribute_support.get_parameter_char
1121 (p_effective_date_row => l_effective_date_row
1122 ,p_parameter_name => 'P_PER_INFORMATION20'
1123 ,p_new_value => p_per_information20
1124 ,p_current_value => c_per_information20);
1125 l_per_information21 := hr_dt_attribute_support.get_parameter_char
1126 (p_effective_date_row => l_effective_date_row
1127 ,p_parameter_name => 'P_PER_INFORMATION21'
1128 ,p_new_value => p_per_information21
1129 ,p_current_value => c_per_information21);
1130 l_per_information22 := hr_dt_attribute_support.get_parameter_char
1131 (p_effective_date_row => l_effective_date_row
1132 ,p_parameter_name => 'P_PER_INFORMATION22'
1133 ,p_new_value => p_per_information22
1134 ,p_current_value => c_per_information22);
1135 l_per_information23 := hr_dt_attribute_support.get_parameter_char
1136 (p_effective_date_row => l_effective_date_row
1137 ,p_parameter_name => 'P_PER_INFORMATION23'
1138 ,p_new_value => p_per_information23
1139 ,p_current_value => c_per_information23);
1140 l_per_information24 := hr_dt_attribute_support.get_parameter_char
1141 (p_effective_date_row => l_effective_date_row
1142 ,p_parameter_name => 'P_PER_INFORMATION24'
1143 ,p_new_value => p_per_information24
1144 ,p_current_value => c_per_information24);
1145 l_per_information25 := hr_dt_attribute_support.get_parameter_char
1146 (p_effective_date_row => l_effective_date_row
1147 ,p_parameter_name => 'P_PER_INFORMATION25'
1148 ,p_new_value => p_per_information25
1149 ,p_current_value => c_per_information25);
1150 l_per_information26 := hr_dt_attribute_support.get_parameter_char
1151 (p_effective_date_row => l_effective_date_row
1152 ,p_parameter_name => 'P_PER_INFORMATION26'
1153 ,p_new_value => p_per_information26
1154 ,p_current_value => c_per_information26);
1155 l_per_information27 := hr_dt_attribute_support.get_parameter_char
1156 (p_effective_date_row => l_effective_date_row
1157 ,p_parameter_name => 'P_PER_INFORMATION27'
1158 ,p_new_value => p_per_information27
1159 ,p_current_value => c_per_information27);
1160 l_per_information28 := hr_dt_attribute_support.get_parameter_char
1161 (p_effective_date_row => l_effective_date_row
1162 ,p_parameter_name => 'P_PER_INFORMATION28'
1163 ,p_new_value => p_per_information28
1164 ,p_current_value => c_per_information28);
1165 l_per_information29 := hr_dt_attribute_support.get_parameter_char
1166 (p_effective_date_row => l_effective_date_row
1167 ,p_parameter_name => 'P_PER_INFORMATION29'
1168 ,p_new_value => p_per_information29
1169 ,p_current_value => c_per_information29);
1170 l_per_information30 := hr_dt_attribute_support.get_parameter_char
1171 (p_effective_date_row => l_effective_date_row
1172 ,p_parameter_name => 'P_PER_INFORMATION30'
1173 ,p_new_value => p_per_information30
1174 ,p_current_value => c_per_information30);
1175 l_date_of_death := hr_dt_attribute_support.get_parameter_date
1176 (p_effective_date_row => l_effective_date_row
1177 ,p_parameter_name => 'P_DATE_OF_DEATH'
1178 ,p_new_value => p_date_of_death
1179 ,p_current_value => c_date_of_death);
1180 l_background_check_status := hr_dt_attribute_support.get_parameter_char
1181 (p_effective_date_row => l_effective_date_row
1182 ,p_parameter_name => 'P_BACKGROUND_CHECK_STATUS'
1183 ,p_new_value => p_background_check_status
1184 ,p_current_value => c_background_check_status);
1185 l_background_date_check := hr_dt_attribute_support.get_parameter_date
1186 (p_effective_date_row => l_effective_date_row
1187 ,p_parameter_name => 'P_BACKGROUND_DATE_CHECK'
1188 ,p_new_value => p_background_date_check
1189 ,p_current_value => c_background_date_check);
1190 l_blood_type := hr_dt_attribute_support.get_parameter_char
1191 (p_effective_date_row => l_effective_date_row
1192 ,p_parameter_name => 'P_BLOOD_TYPE'
1193 ,p_new_value => p_blood_type
1194 ,p_current_value => c_blood_type);
1195 l_correspondence_language := hr_dt_attribute_support.get_parameter_char
1196 (p_effective_date_row => l_effective_date_row
1197 ,p_parameter_name => 'P_CORRESPONDENCE_LANGUAGE'
1198 ,p_new_value => p_correspondence_language
1199 ,p_current_value => c_correspondence_language);
1200 l_fast_path_employee := hr_dt_attribute_support.get_parameter_char
1201 (p_effective_date_row => l_effective_date_row
1202 ,p_parameter_name => 'P_FAST_PATH_EMPLOYEE'
1203 ,p_new_value => p_fast_path_employee
1204 ,p_current_value => c_fast_path_employee);
1205 l_fte_capacity := hr_dt_attribute_support.get_parameter_number
1206 (p_effective_date_row => l_effective_date_row
1207 ,p_parameter_name => 'P_FTE_CAPACITY'
1208 ,p_new_value => p_fte_capacity
1209 ,p_current_value => c_fte_capacity);
1210 l_hold_applicant_date_until
1211 := hr_dt_attribute_support.get_parameter_date
1212 (p_effective_date_row => l_effective_date_row
1213 ,p_parameter_name => 'P_HOLD_APPLICANT_DATE_UNTIL'
1214 ,p_new_value => p_hold_applicant_date_until
1215 ,p_current_value => c_hold_applicant_date_until);
1216 l_honors := hr_dt_attribute_support.get_parameter_char
1217 (p_effective_date_row => l_effective_date_row
1218 ,p_parameter_name => 'P_HONORS'
1219 ,p_new_value => p_honors
1220 ,p_current_value => c_honors);
1221 l_internal_location := hr_dt_attribute_support.get_parameter_char
1222 (p_effective_date_row => l_effective_date_row
1223 ,p_parameter_name => 'P_INTERNAL_LOCATION'
1224 ,p_new_value => p_internal_location
1225 ,p_current_value => c_internal_location);
1226 l_last_medical_test_by := hr_dt_attribute_support.get_parameter_char
1227 (p_effective_date_row => l_effective_date_row
1228 ,p_parameter_name => 'P_LAST_MEDICAL_TEST_BY'
1229 ,p_new_value => p_last_medical_test_by
1230 ,p_current_value => c_last_medical_test_by);
1231 l_last_medical_test_date := hr_dt_attribute_support.get_parameter_date
1232 (p_effective_date_row => l_effective_date_row
1233 ,p_parameter_name => 'P_LAST_MEDICAL_TEST_DATE'
1234 ,p_new_value => p_last_medical_test_date
1235 ,p_current_value => c_last_medical_test_date);
1236 l_mailstop := hr_dt_attribute_support.get_parameter_char
1237 (p_effective_date_row => l_effective_date_row
1238 ,p_parameter_name => 'P_MAILSTOP'
1239 ,p_new_value => p_mailstop
1240 ,p_current_value => c_mailstop);
1241 l_office_number := hr_dt_attribute_support.get_parameter_char
1242 (p_effective_date_row => l_effective_date_row
1243 ,p_parameter_name => 'P_OFFICE_NUMBER'
1244 ,p_new_value => p_office_number
1245 ,p_current_value => c_office_number);
1246 l_on_military_service := hr_dt_attribute_support.get_parameter_char
1247 (p_effective_date_row => l_effective_date_row
1248 ,p_parameter_name => 'P_ON_MILITARY_SERVICE'
1249 ,p_new_value => p_on_military_service
1250 ,p_current_value => c_on_military_service);
1251 l_pre_name_adjunct := hr_dt_attribute_support.get_parameter_char
1252 (p_effective_date_row => l_effective_date_row
1253 ,p_parameter_name => 'P_PRE_NAME_ADJUNCT'
1254 ,p_new_value => p_pre_name_adjunct
1255 ,p_current_value => c_pre_name_adjunct);
1256 l_projected_start_date := hr_dt_attribute_support.get_parameter_date
1257 (p_effective_date_row => l_effective_date_row
1258 ,p_parameter_name => 'P_PROJECTED_START_DATE'
1259 ,p_new_value => p_projected_start_date
1260 ,p_current_value => c_projected_start_date);
1261 l_rehire_authorizor := hr_dt_attribute_support.get_parameter_char
1262 (p_effective_date_row => l_effective_date_row
1263 ,p_parameter_name => 'P_REHIRE_AUTHORIZOR'
1264 ,p_new_value => p_rehire_authorizor
1265 ,p_current_value => c_rehire_authorizor);
1266 l_rehire_recommendation := hr_dt_attribute_support.get_parameter_char
1267 (p_effective_date_row => l_effective_date_row
1268 ,p_parameter_name => 'P_REHIRE_RECOMMENDATION'
1269 ,p_new_value => p_rehire_recommendation
1270 ,p_current_value => c_rehire_recommendation);
1271 l_resume_exists := hr_dt_attribute_support.get_parameter_char
1272 (p_effective_date_row => l_effective_date_row
1273 ,p_parameter_name => 'P_RESUME_EXISTS'
1274 ,p_new_value => p_resume_exists
1275 ,p_current_value => c_resume_exists);
1276 l_resume_last_updated := hr_dt_attribute_support.get_parameter_date
1277 (p_effective_date_row => l_effective_date_row
1278 ,p_parameter_name => 'P_RESUME_LAST_UPDATED'
1279 ,p_new_value => p_resume_last_updated
1280 ,p_current_value => c_resume_last_updated);
1281 l_second_passport_exists := hr_dt_attribute_support.get_parameter_char
1282 (p_effective_date_row => l_effective_date_row
1283 ,p_parameter_name => 'P_SECOND_PASSPORT_EXISTS'
1284 ,p_new_value => p_second_passport_exists
1285 ,p_current_value => c_second_passport_exists);
1286 l_student_status := hr_dt_attribute_support.get_parameter_char
1287 (p_effective_date_row => l_effective_date_row
1288 ,p_parameter_name => 'P_STUDENT_STATUS'
1289 ,p_new_value => p_student_status
1290 ,p_current_value => c_student_status);
1291 l_work_schedule := hr_dt_attribute_support.get_parameter_char
1292 (p_effective_date_row => l_effective_date_row
1293 ,p_parameter_name => 'P_WORK_SCHEDULE'
1294 ,p_new_value => p_work_schedule
1295 ,p_current_value => c_work_schedule);
1296 l_rehire_reason := hr_dt_attribute_support.get_parameter_char
1297 (p_effective_date_row => l_effective_date_row
1298 ,p_parameter_name => 'P_REHIRE_REASON'
1299 ,p_new_value => p_rehire_reason
1300 ,p_current_value => c_rehire_reason);
1301 l_benefit_group_id := hr_dt_attribute_support.get_parameter_number
1302 (p_effective_date_row => l_effective_date_row
1303 ,p_parameter_name => 'P_BENEFIT_GROUP_ID'
1304 ,p_new_value => p_benefit_group_id
1305 ,p_current_value => c_benefit_group_id);
1306 l_receipt_of_death_cert_date := hr_dt_attribute_support.get_parameter_date
1307 (p_effective_date_row => l_effective_date_row
1308 ,p_parameter_name => 'P_RECEIPT_OF_DEATH_CERT_DATE'
1309 ,p_new_value => p_receipt_of_death_cert_date
1310 ,p_current_value => c_receipt_of_death_cert_date);
1311 l_coord_ben_med_pln_no := hr_dt_attribute_support.get_parameter_char
1312 (p_effective_date_row => l_effective_date_row
1313 ,p_parameter_name => 'P_COORD_BEN_MED_PLN_NO'
1314 ,p_new_value => p_coord_ben_med_pln_no
1315 ,p_current_value => c_coord_ben_med_pln_no);
1316 l_coord_ben_no_cvg_flag := hr_dt_attribute_support.get_parameter_char
1317 (p_effective_date_row => l_effective_date_row
1318 ,p_parameter_name => 'P_COORD_BEN_NO_CVG_FLAG'
1319 ,p_new_value => p_coord_ben_no_cvg_flag
1320 ,p_current_value => c_coord_ben_no_cvg_flag);
1321 l_uses_tobacco_flag := hr_dt_attribute_support.get_parameter_char
1322 (p_effective_date_row => l_effective_date_row
1323 ,p_parameter_name => 'P_USES_TOBACCO_FLAG'
1324 ,p_new_value => p_uses_tobacco_flag
1325 ,p_current_value => c_uses_tobacco_flag);
1326 l_dpdnt_adoption_date := hr_dt_attribute_support.get_parameter_date
1327 (p_effective_date_row => l_effective_date_row
1328 ,p_parameter_name => 'P_DPDNT_ADOPTION_DATE'
1329 ,p_new_value => p_dpdnt_adoption_date
1330 ,p_current_value => c_dpdnt_adoption_date);
1331 l_dpdnt_vlntry_svce_flag := hr_dt_attribute_support.get_parameter_char
1332 (p_effective_date_row => l_effective_date_row
1333 ,p_parameter_name => 'P_DPDNT_VLNTRY_SVCE_FLAG'
1334 ,p_new_value => p_dpdnt_vlntry_svce_flag
1335 ,p_current_value => c_dpdnt_vlntry_svce_flag);
1336 l_original_date_of_hire := hr_dt_attribute_support.get_parameter_date
1337 (p_effective_date_row => l_effective_date_row
1338 ,p_parameter_name => 'P_ORIGINAL_DATE_OF_HIRE'
1339 ,p_new_value => p_original_date_of_hire
1340 ,p_current_value => c_original_date_of_hire);
1341 l_town_of_birth := hr_dt_attribute_support.get_parameter_char
1342 (p_effective_date_row => l_effective_date_row
1343 ,p_parameter_name => 'P_TOWN_OF_BIRTH'
1344 ,p_new_value => p_town_of_birth
1345 ,p_current_value => c_town_of_birth);
1346 l_region_of_birth := hr_dt_attribute_support.get_parameter_char
1347 (p_effective_date_row => l_effective_date_row
1348 ,p_parameter_name => 'P_REGION_OF_BIRTH'
1349 ,p_new_value => p_region_of_birth
1350 ,p_current_value => c_region_of_birth);
1351 l_country_of_birth := hr_dt_attribute_support.get_parameter_char
1352 (p_effective_date_row => l_effective_date_row
1353 ,p_parameter_name => 'P_COUNTRY_OF_BIRTH'
1354 ,p_new_value => p_country_of_birth
1355 ,p_current_value => c_country_of_birth);
1356 l_global_person_id := hr_dt_attribute_support.get_parameter_char
1357 (p_effective_date_row => l_effective_date_row
1358 ,p_parameter_name => 'P_GLOBAL_PERSON_ID'
1359 ,p_new_value => p_global_person_id
1360 ,p_current_value => c_global_person_id);
1361 -- call the business process API if at least one attribute can be changed
1362 if hr_dt_attribute_support.is_current_row_changing then
1363 -- set the object version number and effective date
1364 if l_effective_date_row then
1365 -- as we are on the first row, the ovn and effective date should be
1366 -- set to the parameter specified by the caller
1367 l_object_version_number := p_object_version_number;
1368 l_effective_date := l_constant_effective_date;
1369 else
1370 -- as we are not on the first row, set the ovn and effective date
1371 -- to the ovn and effective date for the row
1372 l_object_version_number := c_object_version_number;
1373 l_effective_date := c_effective_start_date;
1374 end if;
1375 -- call BP API
1376 hr_person_api.update_person
1377 (p_effective_date => l_effective_date
1378 ,p_datetrack_update_mode => l_datetrack_update_mode
1379 ,p_person_id => p_person_id
1380 ,p_object_version_number => l_object_version_number
1381 ,p_person_type_id => l_person_type_id
1382 ,p_applicant_number => l_applicant_number
1383 ,p_comments => l_comments
1384 ,p_date_employee_data_verified => l_date_employee_data_verified
1385 ,p_expense_check_send_to_addres => l_expense_check_send_to_addres
1386 ,p_national_identifier => l_national_identifier
1387 ,p_registered_disabled_flag => l_registered_disabled_flag
1388 ,p_vendor_id => l_vendor_id
1389 ,p_employee_number => l_employee_number
1390 ,p_title => l_title
1391 ,p_marital_status => l_marital_status
1392 ,p_first_name => l_first_name
1393 ,p_middle_names => l_middle_names
1394 ,p_last_name => l_last_name
1395 ,p_known_as => l_known_as
1396 ,p_previous_last_name => l_previous_last_name
1397 ,p_date_of_birth => l_date_of_birth
1398 ,p_email_address => l_email_address
1399 ,p_nationality => l_nationality
1400 ,p_sex => l_sex
1401 ,p_work_telephone => l_work_telephone
1402 ,p_suffix => l_suffix
1403 ,p_attribute_category => l_attribute_category
1404 ,p_attribute1 => l_attribute1
1405 ,p_attribute2 => l_attribute2
1406 ,p_attribute3 => l_attribute3
1407 ,p_attribute4 => l_attribute4
1408 ,p_attribute5 => l_attribute5
1409 ,p_attribute6 => l_attribute6
1410 ,p_attribute7 => l_attribute7
1411 ,p_attribute8 => l_attribute8
1412 ,p_attribute9 => l_attribute9
1413 ,p_attribute10 => l_attribute10
1414 ,p_attribute11 => l_attribute11
1415 ,p_attribute12 => l_attribute12
1416 ,p_attribute13 => l_attribute13
1417 ,p_attribute14 => l_attribute14
1418 ,p_attribute15 => l_attribute15
1419 ,p_attribute16 => l_attribute16
1420 ,p_attribute17 => l_attribute17
1421 ,p_attribute18 => l_attribute18
1422 ,p_attribute19 => l_attribute19
1423 ,p_attribute20 => l_attribute20
1424 ,p_attribute21 => l_attribute21
1425 ,p_attribute22 => l_attribute22
1426 ,p_attribute23 => l_attribute23
1427 ,p_attribute24 => l_attribute24
1428 ,p_attribute25 => l_attribute25
1429 ,p_attribute26 => l_attribute26
1430 ,p_attribute27 => l_attribute27
1431 ,p_attribute28 => l_attribute28
1432 ,p_attribute29 => l_attribute29
1433 ,p_attribute30 => l_attribute30
1434 ,p_per_information_category => l_per_information_category
1435 ,p_per_information1 => l_per_information1
1436 ,p_per_information2 => l_per_information2
1437 ,p_per_information3 => l_per_information3
1438 ,p_per_information4 => l_per_information4
1439 ,p_per_information5 => l_per_information5
1440 ,p_per_information6 => l_per_information6
1441 ,p_per_information7 => l_per_information7
1442 ,p_per_information8 => l_per_information8
1443 ,p_per_information9 => l_per_information9
1444 ,p_per_information10 => l_per_information10
1445 ,p_per_information11 => l_per_information11
1446 ,p_per_information12 => l_per_information12
1447 ,p_per_information13 => l_per_information13
1448 ,p_per_information14 => l_per_information14
1449 ,p_per_information15 => l_per_information15
1450 ,p_per_information16 => l_per_information16
1451 ,p_per_information17 => l_per_information17
1452 ,p_per_information18 => l_per_information18
1453 ,p_per_information19 => l_per_information19
1454 ,p_per_information20 => l_per_information20
1455 ,p_per_information21 => l_per_information21
1456 ,p_per_information22 => l_per_information22
1457 ,p_per_information23 => l_per_information23
1458 ,p_per_information24 => l_per_information24
1459 ,p_per_information25 => l_per_information25
1460 ,p_per_information26 => l_per_information26
1461 ,p_per_information27 => l_per_information27
1462 ,p_per_information28 => l_per_information28
1463 ,p_per_information29 => l_per_information29
1464 ,p_per_information30 => l_per_information30
1465 ,p_date_of_death => l_date_of_death
1466 ,p_background_check_status => l_background_check_status
1467 ,p_background_date_check => l_background_date_check
1468 ,p_blood_type => l_blood_type
1469 ,p_correspondence_language => l_correspondence_language
1470 ,p_fast_path_employee => l_fast_path_employee
1471 ,p_fte_capacity => l_fte_capacity
1472 ,p_hold_applicant_date_until => l_hold_applicant_date_until
1473 ,p_honors => l_honors
1474 ,p_internal_location => l_internal_location
1475 ,p_last_medical_test_by => l_last_medical_test_by
1476 ,p_last_medical_test_date => l_last_medical_test_date
1477 ,p_mailstop => l_mailstop
1478 ,p_office_number => l_office_number
1479 ,p_on_military_service => l_on_military_service
1480 ,p_pre_name_adjunct => l_pre_name_adjunct
1481 ,p_projected_start_date => l_projected_start_date
1482 ,p_rehire_authorizor => l_rehire_authorizor
1483 ,p_rehire_recommendation => l_rehire_recommendation
1484 ,p_resume_exists => l_resume_exists
1485 ,p_resume_last_updated => l_resume_last_updated
1486 ,p_second_passport_exists => l_second_passport_exists
1487 ,p_student_status => l_student_status
1488 ,p_work_schedule => l_work_schedule
1489 ,p_rehire_reason => l_rehire_reason
1490 ,p_benefit_group_id => l_benefit_group_id
1491 ,p_receipt_of_death_cert_date => l_receipt_of_death_cert_date
1492 ,p_coord_ben_med_pln_no => l_coord_ben_med_pln_no
1493 ,p_coord_ben_no_cvg_flag => l_coord_ben_no_cvg_flag
1494 ,p_uses_tobacco_flag => l_uses_tobacco_flag
1495 ,p_dpdnt_adoption_date => l_dpdnt_adoption_date
1496 ,p_dpdnt_vlntry_svce_flag => l_dpdnt_vlntry_svce_flag
1497 ,p_original_date_of_hire => l_original_date_of_hire
1498 ,p_town_of_birth => l_town_of_birth
1499 ,p_region_of_birth => l_region_of_birth
1500 ,p_country_of_birth => l_country_of_birth
1501 ,p_global_person_id => l_global_person_id
1502 ,p_effective_start_date => l_effective_start_date
1503 ,p_effective_end_date => l_effective_end_date
1504 ,p_full_name => l_full_name
1505 ,p_comment_id => l_comment_id
1506 ,p_name_combination_warning => l_name_combination_warning
1507 ,p_assign_payroll_warning => l_assign_payroll_warning
1508 ,p_orig_hire_warning => l_orig_hire_warning);
1509 --
1510 if l_effective_date_row then
1511 -- reset the first row flag
1512 l_effective_date_row := false;
1513 -- set all future row operations to a CORRECTION
1514 l_datetrack_update_mode := hr_api.g_correction;
1515 -- set the API out parameters for the first transaction
1516 p_object_version_number := l_object_version_number;
1517 p_full_name := l_full_name;
1518 p_effective_start_date := l_effective_start_date;
1519 p_effective_end_date := l_effective_end_date;
1520 p_comment_id := l_comment_id;
1521 p_employee_number := l_employee_number;
1522 end if;
1523 -- determine if the warnings have been set at all
1524 if l_name_combination_warning and not l_api_name_combination_warning then
1525 l_api_name_combination_warning := l_name_combination_warning;
1526 end if;
1527 if l_assign_payroll_warning and not l_api_assign_payroll_warning then
1528 l_api_assign_payroll_warning := l_assign_payroll_warning;
1529 end if;
1530 if l_orig_hire_warning and not l_api_orig_hire_warning then
1531 l_api_orig_hire_warning := l_orig_hire_warning;
1532 end if;
1533 hr_utility.set_location(' Leaving:'|| l_proc, 10);
1534 -- we need to process the next row so return true
1535 return(true);
1536 else
1537 hr_utility.set_location(' Leaving:'|| l_proc, 15);
1538 -- processing has finished return false
1539 return(false);
1540 end if;
1541 end process_row;
1542 begin
1543 hr_utility.set_location('Entering:'|| l_proc, 5);
1544 --
1545 -- issue a savepoint if operating in validation only mode.
1546 --
1547 if p_validate then
1548 savepoint update_person;
1549 end if;
1550 -- lock the current row for the following two reasons:
1551 -- a) ensure that the current row exists for the person as of the
1552 -- specified effective date. we only lock the current row so the
1553 -- CORRECTION datetrack mode is used
1554 -- b) to populate the l_validation_start_date which is used
1555 -- in determining the correct datetrack mode on an update operation
1556 per_per_shd.lck
1557 (p_effective_date => l_constant_effective_date
1558 ,p_datetrack_mode => hr_api.g_correction
1559 ,p_person_id => p_person_id
1560 ,p_object_version_number => p_object_version_number
1561 ,p_validation_start_date => l_validation_start_date
1562 ,p_validation_end_date => l_validation_end_date);
1563 -- determine the datetrack mode to use
1564 if p_attribute_update_mode = 'ATTRIBUTE_UPDATE' then
1565 -- ------------------------------------------------------------------------
1566 -- step 1: as we are performing an ATTRIBUTE_UPDATE we must determine
1567 -- the initial datetrack mode to use (UPDATE, CORRECTION or
1568 -- UPDATE_CHANGE_INSERT)
1569 --
1570 -- 1.1 - call the person datetrack find_dt_upd_modes to determine
1571 -- all possible allowed datetrack update modes
1572 -- 1.2 - determine the actual datetrack mode to use
1573 -- the logic is as follows;
1574 -- if update allowed then select UPDATE as mode
1575 -- if change insert allowed then select UPDATE_CHANGE_INSERT as
1576 -- mode
1577 -- otherwise, select CORRECTION as the mode
1578 -- ------------------------------------------------------------------------
1579 -- step 1.1
1580 per_per_shd.find_dt_upd_modes
1581 (p_effective_date => l_constant_effective_date
1582 ,p_base_key_value => p_person_id
1583 ,p_correction => l_correction
1584 ,p_update => l_update
1585 ,p_update_override => l_update_override
1586 ,p_update_change_insert => l_update_change_insert);
1587 -- step 1.2
1588 if l_update then
1589 -- we can do an update
1590 l_datetrack_update_mode := hr_api.g_update;
1591 elsif l_update_change_insert then
1592 -- we can do an update change insert
1593 l_datetrack_update_mode := hr_api.g_update_change_insert;
1594 elsif (l_validation_start_date = l_constant_effective_date) and
1595 l_correction then
1596 -- we can only perform a correction
1597 l_datetrack_update_mode := hr_api.g_correction;
1598 else
1599 -- we cannot perform an update due to a restriction within the APIs
1600 hr_utility.set_message(801, 'HR_6153_ALL_PROCEDURE_FAIL');
1601 hr_utility.set_message_token('PROCEDURE', l_proc);
1602 hr_utility.set_message_token('STEP','10');
1603 hr_utility.raise_error;
1604 end if;
1605 -- set lock start date to the effective date
1606 l_lck_start_date := l_constant_effective_date;
1607 elsif p_attribute_update_mode = 'ATTRIBUTE_CORRECTION' then
1608 -- set lock start date to start of time and the datetrack mode
1609 -- to CORRECTION
1610 l_lck_start_date := hr_api.g_sot;
1611 l_datetrack_update_mode := hr_api.g_correction;
1612 else
1613 -- the datetrack mode is not an ATTRIBUTE_UPDATE or ATTRIBUTE_CORRECTION
1614 -- so raise DT invalid mode error
1615 hr_utility.set_message(801, 'HR_7203_DT_UPD_MODE_INVALID');
1616 hr_utility.raise_error;
1617 end if;
1618 -- lock all person rows to ensure integrity. note: this will never fail.
1619 -- if the person doesn't exist (i.e. the person_id is invalid) then the
1620 -- business process will error with the correct error
1621 open csr_per_lck(l_lck_start_date);
1622 close csr_per_lck;
1623 -- ------------------------------------------------------------------------
1624 -- process the current and future row(s)
1625 -- ------------------------------------------------------------------------
1626 for csr_cur_fut in csr_per1 loop
1627 if not process_row
1628 (c_effective_start_date => csr_cur_fut.effective_start_date
1629 ,c_object_version_number => csr_cur_fut.object_version_number
1630 ,c_person_type_id => csr_cur_fut.person_type_id
1631 ,c_last_name => csr_cur_fut.last_name
1632 ,c_applicant_number => csr_cur_fut.applicant_number
1633 ,c_comments => csr_cur_fut.comment_text
1634 ,c_date_employee_data_verified => csr_cur_fut.date_employee_data_verified
1635 ,c_date_of_birth => csr_cur_fut.date_of_birth
1636 ,c_email_address => csr_cur_fut.email_address
1637 ,c_employee_number => csr_cur_fut.employee_number
1638 ,c_expense_check_send_to_addres => csr_cur_fut.expense_check_send_to_address
1639 ,c_first_name => csr_cur_fut.first_name
1640 ,c_known_as => csr_cur_fut.known_as
1641 ,c_marital_status => csr_cur_fut.marital_status
1642 ,c_middle_names => csr_cur_fut.middle_names
1643 ,c_nationality => csr_cur_fut.nationality
1644 ,c_national_identifier => csr_cur_fut.national_identifier
1645 ,c_previous_last_name => csr_cur_fut.previous_last_name
1646 ,c_registered_disabled_flag => csr_cur_fut.registered_disabled_flag
1647 ,c_sex => csr_cur_fut.sex
1648 ,c_title => csr_cur_fut.title
1649 ,c_vendor_id => csr_cur_fut.vendor_id
1650 ,c_work_telephone => csr_cur_fut.work_telephone
1651 ,c_suffix => csr_cur_fut.suffix
1652 ,c_attribute_category => csr_cur_fut.attribute_category
1653 ,c_attribute1 => csr_cur_fut.attribute1
1654 ,c_attribute2 => csr_cur_fut.attribute2
1655 ,c_attribute3 => csr_cur_fut.attribute3
1656 ,c_attribute4 => csr_cur_fut.attribute4
1657 ,c_attribute5 => csr_cur_fut.attribute5
1658 ,c_attribute6 => csr_cur_fut.attribute6
1659 ,c_attribute7 => csr_cur_fut.attribute7
1660 ,c_attribute8 => csr_cur_fut.attribute8
1661 ,c_attribute9 => csr_cur_fut.attribute9
1662 ,c_attribute10 => csr_cur_fut.attribute10
1663 ,c_attribute11 => csr_cur_fut.attribute11
1664 ,c_attribute12 => csr_cur_fut.attribute12
1665 ,c_attribute13 => csr_cur_fut.attribute13
1666 ,c_attribute14 => csr_cur_fut.attribute14
1667 ,c_attribute15 => csr_cur_fut.attribute15
1668 ,c_attribute16 => csr_cur_fut.attribute16
1669 ,c_attribute17 => csr_cur_fut.attribute17
1670 ,c_attribute18 => csr_cur_fut.attribute18
1671 ,c_attribute19 => csr_cur_fut.attribute19
1672 ,c_attribute20 => csr_cur_fut.attribute20
1673 ,c_attribute21 => csr_cur_fut.attribute21
1674 ,c_attribute22 => csr_cur_fut.attribute22
1675 ,c_attribute23 => csr_cur_fut.attribute23
1676 ,c_attribute24 => csr_cur_fut.attribute24
1677 ,c_attribute25 => csr_cur_fut.attribute25
1678 ,c_attribute26 => csr_cur_fut.attribute26
1679 ,c_attribute27 => csr_cur_fut.attribute27
1680 ,c_attribute28 => csr_cur_fut.attribute28
1681 ,c_attribute29 => csr_cur_fut.attribute29
1682 ,c_attribute30 => csr_cur_fut.attribute30
1683 ,c_per_information_category => csr_cur_fut.per_information_category
1684 ,c_per_information1 => csr_cur_fut.per_information1
1685 ,c_per_information2 => csr_cur_fut.per_information2
1686 ,c_per_information3 => csr_cur_fut.per_information3
1687 ,c_per_information4 => csr_cur_fut.per_information4
1688 ,c_per_information5 => csr_cur_fut.per_information5
1689 ,c_per_information6 => csr_cur_fut.per_information6
1690 ,c_per_information7 => csr_cur_fut.per_information7
1691 ,c_per_information8 => csr_cur_fut.per_information8
1692 ,c_per_information9 => csr_cur_fut.per_information9
1693 ,c_per_information10 => csr_cur_fut.per_information10
1694 ,c_per_information11 => csr_cur_fut.per_information11
1695 ,c_per_information12 => csr_cur_fut.per_information12
1696 ,c_per_information13 => csr_cur_fut.per_information13
1697 ,c_per_information14 => csr_cur_fut.per_information14
1698 ,c_per_information15 => csr_cur_fut.per_information15
1699 ,c_per_information16 => csr_cur_fut.per_information16
1700 ,c_per_information17 => csr_cur_fut.per_information17
1701 ,c_per_information18 => csr_cur_fut.per_information18
1702 ,c_per_information19 => csr_cur_fut.per_information19
1703 ,c_per_information20 => csr_cur_fut.per_information20
1704 ,c_per_information21 => csr_cur_fut.per_information21
1705 ,c_per_information22 => csr_cur_fut.per_information22
1706 ,c_per_information23 => csr_cur_fut.per_information23
1707 ,c_per_information24 => csr_cur_fut.per_information24
1708 ,c_per_information25 => csr_cur_fut.per_information25
1709 ,c_per_information26 => csr_cur_fut.per_information26
1710 ,c_per_information27 => csr_cur_fut.per_information27
1711 ,c_per_information28 => csr_cur_fut.per_information28
1712 ,c_per_information29 => csr_cur_fut.per_information29
1713 ,c_per_information30 => csr_cur_fut.per_information30
1714 ,c_date_of_death => csr_cur_fut.date_of_death
1715 ,c_background_check_status => csr_cur_fut.background_check_status
1716 ,c_background_date_check => csr_cur_fut.background_date_check
1717 ,c_blood_type => csr_cur_fut.blood_type
1718 ,c_correspondence_language => csr_cur_fut.correspondence_language
1719 ,c_fast_path_employee => csr_cur_fut.fast_path_employee
1720 ,c_fte_capacity => csr_cur_fut.fte_capacity
1721 ,c_hold_applicant_date_until => csr_cur_fut.hold_applicant_date_until
1722 ,c_honors => csr_cur_fut.honors
1723 ,c_internal_location => csr_cur_fut.internal_location
1724 ,c_last_medical_test_by => csr_cur_fut.last_medical_test_by
1725 ,c_last_medical_test_date => csr_cur_fut.last_medical_test_date
1726 ,c_mailstop => csr_cur_fut.mailstop
1727 ,c_office_number => csr_cur_fut.office_number
1728 ,c_on_military_service => csr_cur_fut.on_military_service
1729 ,c_pre_name_adjunct => csr_cur_fut.pre_name_adjunct
1730 ,c_projected_start_date => csr_cur_fut.projected_start_date
1731 ,c_rehire_authorizor => csr_cur_fut.rehire_authorizor
1732 ,c_rehire_recommendation => csr_cur_fut.rehire_recommendation
1733 ,c_resume_exists => csr_cur_fut.resume_exists
1734 ,c_resume_last_updated => csr_cur_fut.resume_last_updated
1735 ,c_second_passport_exists => csr_cur_fut.second_passport_exists
1736 ,c_student_status => csr_cur_fut.student_status
1737 ,c_work_schedule => csr_cur_fut.work_schedule
1738 ,c_rehire_reason => csr_cur_fut.rehire_reason
1739 ,c_benefit_group_id => csr_cur_fut.benefit_group_id
1740 ,c_receipt_of_death_cert_date => csr_cur_fut.receipt_of_death_cert_date
1741 ,c_coord_ben_med_pln_no => csr_cur_fut.coord_ben_med_pln_no
1742 ,c_coord_ben_no_cvg_flag => csr_cur_fut.coord_ben_no_cvg_flag
1743 ,c_uses_tobacco_flag => csr_cur_fut.uses_tobacco_flag
1744 ,c_dpdnt_adoption_date => csr_cur_fut.dpdnt_adoption_date
1745 ,c_dpdnt_vlntry_svce_flag => csr_cur_fut.dpdnt_vlntry_svce_flag
1746 ,c_original_date_of_hire => csr_cur_fut.original_date_of_hire
1747 ,c_town_of_birth => csr_cur_fut.town_of_birth
1748 ,c_region_of_birth => csr_cur_fut.region_of_birth
1749 ,c_country_of_birth => csr_cur_fut.country_of_birth
1750 ,c_global_person_id => csr_cur_fut.global_person_id
1751 ) then
1752 -- all the attributes have been processed, exit the loop
1753 exit;
1754 end if;
1755 end loop;
1756 -- ------------------------------------------------------------------------
1757 -- process any past row(s)
1758 if p_attribute_update_mode = 'ATTRIBUTE_CORRECTION' then
1759 -- reset the parameter statuses
1760 hr_dt_attribute_support.reset_parameter_statuses;
1761 for csr_past in csr_per2 loop
1762 if not process_row
1763 (c_effective_start_date => csr_past.effective_start_date
1764 ,c_object_version_number => csr_past.object_version_number
1765 ,c_person_type_id => csr_past.person_type_id
1766 ,c_last_name => csr_past.last_name
1767 ,c_applicant_number => csr_past.applicant_number
1768 ,c_comments => csr_past.comment_text
1769 ,c_date_employee_data_verified => csr_past.date_employee_data_verified
1770 ,c_date_of_birth => csr_past.date_of_birth
1771 ,c_email_address => csr_past.email_address
1772 ,c_employee_number => csr_past.employee_number
1773 ,c_expense_check_send_to_addres => csr_past.expense_check_send_to_address
1774 ,c_first_name => csr_past.first_name
1775 ,c_known_as => csr_past.known_as
1776 ,c_marital_status => csr_past.marital_status
1777 ,c_middle_names => csr_past.middle_names
1778 ,c_nationality => csr_past.nationality
1779 ,c_national_identifier => csr_past.national_identifier
1780 ,c_previous_last_name => csr_past.previous_last_name
1781 ,c_registered_disabled_flag => csr_past.registered_disabled_flag
1782 ,c_sex => csr_past.sex
1783 ,c_title => csr_past.title
1784 ,c_vendor_id => csr_past.vendor_id
1785 ,c_work_telephone => csr_past.work_telephone
1786 ,c_suffix => csr_past.suffix
1787 ,c_attribute_category => csr_past.attribute_category
1788 ,c_attribute1 => csr_past.attribute1
1789 ,c_attribute2 => csr_past.attribute2
1790 ,c_attribute3 => csr_past.attribute3
1791 ,c_attribute4 => csr_past.attribute4
1792 ,c_attribute5 => csr_past.attribute5
1793 ,c_attribute6 => csr_past.attribute6
1794 ,c_attribute7 => csr_past.attribute7
1795 ,c_attribute8 => csr_past.attribute8
1796 ,c_attribute9 => csr_past.attribute9
1797 ,c_attribute10 => csr_past.attribute10
1798 ,c_attribute11 => csr_past.attribute11
1799 ,c_attribute12 => csr_past.attribute12
1800 ,c_attribute13 => csr_past.attribute13
1801 ,c_attribute14 => csr_past.attribute14
1802 ,c_attribute15 => csr_past.attribute15
1803 ,c_attribute16 => csr_past.attribute16
1804 ,c_attribute17 => csr_past.attribute17
1805 ,c_attribute18 => csr_past.attribute18
1806 ,c_attribute19 => csr_past.attribute19
1807 ,c_attribute20 => csr_past.attribute20
1808 ,c_attribute21 => csr_past.attribute21
1809 ,c_attribute22 => csr_past.attribute22
1810 ,c_attribute23 => csr_past.attribute23
1811 ,c_attribute24 => csr_past.attribute24
1812 ,c_attribute25 => csr_past.attribute25
1813 ,c_attribute26 => csr_past.attribute26
1814 ,c_attribute27 => csr_past.attribute27
1815 ,c_attribute28 => csr_past.attribute28
1816 ,c_attribute29 => csr_past.attribute29
1817 ,c_attribute30 => csr_past.attribute30
1818 ,c_per_information_category => csr_past.per_information_category
1819 ,c_per_information1 => csr_past.per_information1
1820 ,c_per_information2 => csr_past.per_information2
1821 ,c_per_information3 => csr_past.per_information3
1822 ,c_per_information4 => csr_past.per_information4
1823 ,c_per_information5 => csr_past.per_information5
1824 ,c_per_information6 => csr_past.per_information6
1825 ,c_per_information7 => csr_past.per_information7
1826 ,c_per_information8 => csr_past.per_information8
1827 ,c_per_information9 => csr_past.per_information9
1828 ,c_per_information10 => csr_past.per_information10
1829 ,c_per_information11 => csr_past.per_information11
1830 ,c_per_information12 => csr_past.per_information12
1831 ,c_per_information13 => csr_past.per_information13
1832 ,c_per_information14 => csr_past.per_information14
1833 ,c_per_information15 => csr_past.per_information15
1834 ,c_per_information16 => csr_past.per_information16
1835 ,c_per_information17 => csr_past.per_information17
1836 ,c_per_information18 => csr_past.per_information18
1837 ,c_per_information19 => csr_past.per_information19
1838 ,c_per_information20 => csr_past.per_information20
1839 ,c_per_information21 => csr_past.per_information21
1840 ,c_per_information22 => csr_past.per_information22
1841 ,c_per_information23 => csr_past.per_information23
1842 ,c_per_information24 => csr_past.per_information24
1843 ,c_per_information25 => csr_past.per_information25
1844 ,c_per_information26 => csr_past.per_information26
1845 ,c_per_information27 => csr_past.per_information27
1846 ,c_per_information28 => csr_past.per_information28
1847 ,c_per_information29 => csr_past.per_information29
1848 ,c_per_information30 => csr_past.per_information30
1849 ,c_date_of_death => csr_past.date_of_death
1850 ,c_background_check_status => csr_past.background_check_status
1851 ,c_background_date_check => csr_past.background_date_check
1852 ,c_blood_type => csr_past.blood_type
1853 ,c_correspondence_language => csr_past.correspondence_language
1854 ,c_fast_path_employee => csr_past.fast_path_employee
1855 ,c_fte_capacity => csr_past.fte_capacity
1856 ,c_hold_applicant_date_until => csr_past.hold_applicant_date_until
1857 ,c_honors => csr_past.honors
1858 ,c_internal_location => csr_past.internal_location
1859 ,c_last_medical_test_by => csr_past.last_medical_test_by
1860 ,c_last_medical_test_date => csr_past.last_medical_test_date
1861 ,c_mailstop => csr_past.mailstop
1862 ,c_office_number => csr_past.office_number
1863 ,c_on_military_service => csr_past.on_military_service
1864 ,c_pre_name_adjunct => csr_past.pre_name_adjunct
1865 ,c_projected_start_date => csr_past.projected_start_date
1866 ,c_rehire_authorizor => csr_past.rehire_authorizor
1867 ,c_rehire_recommendation => csr_past.rehire_recommendation
1868 ,c_resume_exists => csr_past.resume_exists
1869 ,c_resume_last_updated => csr_past.resume_last_updated
1870 ,c_second_passport_exists => csr_past.second_passport_exists
1871 ,c_student_status => csr_past.student_status
1872 ,c_work_schedule => csr_past.work_schedule
1873 ,c_rehire_reason => csr_past.rehire_reason
1874 ,c_benefit_group_id => csr_past.benefit_group_id
1875 ,c_receipt_of_death_cert_date => csr_past.receipt_of_death_cert_date
1876 ,c_coord_ben_med_pln_no => csr_past.coord_ben_med_pln_no
1877 ,c_coord_ben_no_cvg_flag => csr_past.coord_ben_no_cvg_flag
1878 ,c_uses_tobacco_flag => csr_past.uses_tobacco_flag
1879 ,c_dpdnt_adoption_date => csr_past.dpdnt_adoption_date
1880 ,c_dpdnt_vlntry_svce_flag => csr_past.dpdnt_vlntry_svce_flag
1881 ,c_original_date_of_hire => csr_past.original_date_of_hire
1882 ,c_town_of_birth => csr_past.town_of_birth
1883 ,c_region_of_birth => csr_past.region_of_birth
1884 ,c_country_of_birth => csr_past.country_of_birth
1885 ,c_global_person_id => csr_past.global_person_id
1886 ) then
1887 -- all the attributes have been processed, exit the loop
1888 exit;
1889 end if;
1890 end loop;
1891 end if;
1892 --
1893 -- When in validation only mode raise the Validate_Enabled exception
1894 --
1895 if p_validate then
1896 raise hr_api.validate_enabled;
1897 end if;
1898 -- set the warning OUT parameters
1899 p_name_combination_warning := l_api_name_combination_warning;
1900 p_assign_payroll_warning := l_api_assign_payroll_warning;
1901 p_orig_hire_warning := l_api_orig_hire_warning;
1902 --
1903 hr_utility.set_location(' Leaving:'||l_proc, 10);
1904 exception
1905 when hr_api.validate_enabled then
1906 --
1907 -- As the Validate_Enabled exception has been raised
1908 -- we must rollback to the savepoint
1909 --
1910 rollback to update_person;
1911 -- reset IN OUT parameters to original IN value
1912 p_object_version_number := p_object_version_number;
1913 p_employee_number := p_employee_number;
1914 -- reset non-warning OUT parameters to NULL
1915 p_effective_start_date := null;
1916 p_effective_end_date := null;
1917 p_full_name := null;
1918 p_comment_id := null;
1919 -- set warning OUT parameters to REAL value
1920 p_name_combination_warning := l_api_name_combination_warning;
1921 p_assign_payroll_warning := l_api_assign_payroll_warning;
1922 p_orig_hire_warning := l_orig_hire_warning;
1923 end update_person;
1924 --
1925 end hr_person_att;