DBA Data[Home] [Help]

PACKAGE BODY: APPS.HR_PROCESS_PERSON_SS

Source


1 PACKAGE body hr_process_person_ss AS
2 /* $Header: hrperwrs.pkb 120.11.12010000.10 2009/01/23 14:17:50 ppentapa ship $*/
3 
4 -- Global variables
5   g_package               constant varchar2(75):='HR_PROCESS_PERSON_SS.';
6   g_wf_review_regn_itm_attr_name  constant varchar2(2000)
7                                   := 'HR_REVIEW_REGION_ITEM';
8 
9   g_data_error                   exception;
10   --g_no_changes                   exception;
11   g_date_prior_to_cur_start_date exception;
12   g_validate_basic_details_error exception;
13   g_applicant_hire boolean := false;
14 
15   g_debug boolean := hr_utility.debug_enabled;
16 
17   --global cursor for getting system_person_type
18   CURSOR gc_get_sys_person_type (p_person_type_id in number) IS
19   SELECT ppt.system_person_type
20     FROM per_person_types ppt
21    WHERE ppt.person_type_id = p_person_type_id;
22 
23 
24 -- Global cursor
25   CURSOR gc_get_cur_person_data
26          (p_person_id      in number
27          ,p_eff_date       in date default trunc(sysdate))
28   IS
29   SELECT   per.effective_start_date
30           ,per.effective_end_date
31           ,per.object_version_number
32           ,per.person_type_id
33           ,per.employee_number
34           ,per.npw_number
35           ,per.last_name
36           ,per.applicant_number
37           ,per.date_employee_data_verified
38           ,per.original_date_of_hire
39           ,per.date_of_birth
40           ,per.town_of_birth
41           ,per.region_of_birth
42           ,per.country_of_birth
43           ,per.global_person_id
44           ,per.email_address
45           ,per.expense_check_send_to_address
46           ,per.first_name
47           ,per.known_as
48           ,per.marital_status
49           ,per.middle_names
50           ,per.nationality
51           ,per.national_identifier
52           ,per.previous_last_name
53           ,per.registered_disabled_flag
54           ,per.sex
55           ,per.title
56           ,per.vendor_id
57           ,per.work_telephone
58           ,per.suffix
59           ,per.attribute_category
60           ,per.attribute1
61           ,per.attribute2
62           ,per.attribute3
63           ,per.attribute4
64           ,per.attribute5
65           ,per.attribute6
66           ,per.attribute7
67           ,per.attribute8
68           ,per.attribute9
69           ,per.attribute10
70           ,per.attribute11
71           ,per.attribute12
72           ,per.attribute13
73           ,per.attribute14
74           ,per.attribute15
75           ,per.attribute16
76           ,per.attribute17
77           ,per.attribute18
78           ,per.attribute19
79           ,per.attribute20
80           ,per.attribute21
81           ,per.attribute22
82           ,per.attribute23
83           ,per.attribute24
84           ,per.attribute25
85           ,per.attribute26
86           ,per.attribute27
87           ,per.attribute28
88           ,per.attribute29
89           ,per.attribute30
90           ,per.per_information_category
91           ,per.per_information1
92           ,per.per_information2
93           ,per.per_information3
94           ,per.per_information4
95           ,per.per_information5
96           ,per.per_information6
97           ,per.per_information7
98           ,per.per_information8
99           ,per.per_information9
100           ,per.per_information10
101           ,per.per_information11
102           ,per.per_information12
103           ,per.per_information13
104           ,per.per_information14
105           ,per.per_information15
106           ,per.per_information16
107           ,per.per_information17
108           ,per.per_information18
109           ,per.per_information19
110           ,per.per_information20
111           ,per.per_information21
112           ,per.per_information22
113           ,per.per_information23
114           ,per.per_information24
115           ,per.per_information25
116           ,per.per_information26
117           ,per.per_information27
118           ,per.per_information28
119           ,per.per_information29
120           ,per.per_information30
121           ,per.date_of_death
122           ,per.background_check_status
123           ,per.background_date_check
124           ,per.blood_type
125           ,per.correspondence_language
126           ,per.fast_path_employee
127           ,per.fte_capacity
128           ,per.hold_applicant_date_until
129           ,per.honors
130           ,per.internal_location
131           ,per.last_medical_test_by
132           ,per.last_medical_test_date
133           ,per.mailstop
134           ,per.office_number
135           ,per.on_military_service
136           ,per.pre_name_adjunct
137           ,per.projected_start_date
138           ,per.rehire_authorizor
139           ,per.rehire_recommendation
140           ,per.resume_exists
141           ,per.resume_last_updated
142           ,per.second_passport_exists
143           ,per.student_status
144           ,per.work_schedule
145           ,per.rehire_reason
146           ,per.benefit_group_id
147           ,per.receipt_of_death_cert_date
148           ,per.coord_ben_med_pln_no
149           ,per.coord_ben_no_cvg_flag
150           ,per.uses_tobacco_flag
151           ,per.dpdnt_adoption_date
152           ,per.dpdnt_vlntry_svce_flag
153           ,per.comment_id
154           ,hc.comment_text
155           ,pos.adjusted_svc_date
156   FROM     per_all_people_f   per
157           ,hr_comments        hc
158           ,per_periods_of_service pos
159   WHERE  per.person_id = p_person_id
160   AND    p_eff_date BETWEEN per.effective_start_date and per.effective_end_date
161   AND    hc.comment_id (+) = per.comment_id
162 -- bug 2747159 : Making an outer join to the per_periods_of_service table.
163   AND    per.person_id = pos.person_id(+)
164   and    per.effective_start_date between pos.date_start(+)
165   and nvl(pos.actual_termination_date(+),per.effective_start_date);
166 -- bug #2679759 :getting the value of
167 -- adj svc date from per_periods_of_service
168 
169 --
170   CURSOR gc_get_current_applicant_flag
171          (p_person_id      in number
172          ,p_eff_date       in date default trunc(sysdate))
173   IS
174   SELECT   per.current_applicant_flag,
175            per.current_employee_flag,
176            per.current_npw_flag
177   FROM     per_all_people_f   per
178   WHERE  per.person_id = p_person_id
179   AND    p_eff_date BETWEEN per.effective_start_date and per.effective_end_date;
180 
181 --
182   CURSOR gc_get_new_appl_person_type
183          (p_person_id    in number
184          ,p_effective_date  in date)
185   IS
186 
187   SELECT ptu.person_type_id
188   FROM   per_person_type_usages_f ptu,
189          per_person_types ppt
190   WHERE  ptu.person_id = p_person_id
191   AND    p_effective_date between ptu.effective_start_date
192          and ptu.effective_end_date
193   AND    ptu.person_type_id = ppt.person_type_id
194   AND    ppt.system_person_type = 'APL'
195   AND    ppt.active_flag = 'Y';
196 
197 --
198 -- ------------------------------------------------------------------------
199 -- -------------------------<get_hr_lookup_meaning>------------------------
200 -- ------------------------------------------------------------------------
201 -- Purpose: This procedure retrieves the lookup meaning from hr_lookups for the
202 --          lookup_type and lookup_code passed in.
203 -- ------------------------------------------------------------------------
204 Function get_hr_lookup_meaning(p_lookup_type in varchar2
205                            ,p_lookup_code in varchar2)
206 return varchar2 is
207   --
208   CURSOR csr_hr_lookup is
209   SELECT meaning
210   FROM   hr_lookups
211   WHERE  lookup_type = upper(p_lookup_type)
212   AND    lookup_code = upper(p_lookup_code);
213   --
214   l_meaning           varchar2(80) default null;
215   l_proc   varchar2(72)  := g_package||'get_hr_lookup_meaning';
216   --
217 Begin
218   --
219   hr_utility.set_location('Entering:'||l_proc, 5);
220   hr_utility.set_location('Entering For Loop:'||l_proc,10);
221   FOR csr1 in csr_hr_lookup LOOP
222       l_meaning := csr1.meaning;
223   END LOOP;
224   hr_utility.set_location('Exiting For Loop:'||l_proc,15);
225 
226   hr_utility.set_location('Exiting:'||l_proc,20);
227   --
228   return l_meaning;
229   --
230   Exception
231     When others THEN
232     hr_utility.set_location('Exception:Others'||l_proc,555);
233       raise;
234     --
235 END get_hr_lookup_meaning;
236 
237 --
238 -- ------------------------------------------------------------------------
239 -- -------------------------<get_max_effective_date>------------------------
240 -- ------------------------------------------------------------------------
241 -- Purpose: This procedure retrieves the max effective start date from
242 -- per_all_people_f for the person_id passed in.
243 -- ------------------------------------------------------------------------
244 Function get_max_effective_date(p_person_id in number)
245 return Date is
246   --
247   l_effective_date           Date default null;
248   l_proc   varchar2(72)  := g_package||'get_max_effective_date';
249   --
250 Begin
251   --
252   hr_utility.set_location('Entering:'||l_proc, 5);
253   select max(EFFECTIVE_START_DATE) into l_effective_date
254                      from per_all_people_f where person_id = p_person_id;
255   hr_utility.set_location('Exiting:'||l_proc,10);
256   --
257   return l_effective_date;
258   --
259   Exception
260     When others THEN
261     hr_utility.set_location('Exception:Others'||l_proc,555);
262       raise;
263     --
264 END get_max_effective_date;
265 
266 --
267 --
268 -- ---------------------------------------------------------------------------
269 -- ---------------------- < get_person_data_from_tt> -------------------------
270 -- ---------------------------------------------------------------------------
271 -- Purpose: This procedure will get transaction data which are saved earlier
272 --          in the current transaction.  This is invoked when a user click BACK
273 --          button to go back from the Review page to Update page to correct
274 --          typos or make further changes.  Hence, we need to use the item_type
275 --          item_key passed in to retrieve the transaction record.
276 --          This is an overloaded version.
277 -- ---------------------------------------------------------------------------
278 PROCEDURE get_person_data_from_tt
279    (p_item_type                       in  varchar2
280    ,p_item_key                        in  varchar2
281    ,p_activity_id                     in  number
282    ,p_trans_rec_count                 out nocopy number
283    ,p_effective_date                  out nocopy date
284    ,p_attribute_update_mode           out nocopy varchar2
285    ,p_person_id                       out nocopy number
286    ,p_object_version_number           out nocopy number
287    ,p_person_type_id                  out nocopy number
288    ,p_last_name                       out nocopy varchar2
289    ,p_applicant_number                out nocopy varchar2
290    ,p_comments                        out nocopy varchar2
291    ,p_date_employee_data_verified     out nocopy date
292    ,p_original_date_of_hire           out nocopy date
293    ,p_date_of_birth                   out nocopy date
294    ,p_town_of_birth                   out nocopy varchar2
295    ,p_region_of_birth                 out nocopy varchar2
296    ,p_country_of_birth                out nocopy varchar2
297    ,p_global_person_id                out nocopy varchar2
298    ,p_email_address                   out nocopy varchar2
299    ,p_employee_number                 out nocopy varchar2
300    ,p_npw_number                      out nocopy varchar2
301    ,p_expense_check_send_to_addres    out nocopy varchar2
302    ,p_first_name                      out nocopy varchar2
303    ,p_known_as                        out nocopy varchar2
304    ,p_marital_status                  out nocopy varchar2
305    ,p_middle_names                    out nocopy varchar2
306    ,p_nationality                     out nocopy varchar2
307    ,p_national_identifier             out nocopy varchar2
308    ,p_previous_last_name              out nocopy varchar2
309    ,p_registered_disabled_flag        out nocopy varchar2
310    ,p_sex                             out nocopy varchar2
311    ,p_title                           out nocopy varchar2
312    ,p_vendor_id                       out nocopy number
313    ,p_work_telephone                  out nocopy varchar2
314    ,p_suffix                          out nocopy varchar2
315    ,p_date_of_death                   out nocopy date
316    ,p_background_check_status         out nocopy varchar2
317    ,p_background_date_check           out nocopy date
318    ,p_blood_type                      out nocopy varchar2
319    ,p_correspondence_language         out nocopy varchar2
320    ,p_fast_path_employee              out nocopy varchar2
321    ,p_fte_capacity                    out nocopy number
322    ,p_hold_applicant_date_until       out nocopy date
323    ,p_honors                          out nocopy varchar2
324    ,p_internal_location               out nocopy varchar2
325    ,p_last_medical_test_by            out nocopy varchar2
326    ,p_last_medical_test_date          out nocopy date
327    ,p_mailstop                        out nocopy varchar2
328    ,p_office_number                   out nocopy varchar2
329    ,p_on_military_service             out nocopy varchar2
330    ,p_pre_name_adjunct                out nocopy varchar2
331    ,p_projected_start_date            out nocopy date
332    ,p_rehire_authorizor               out nocopy varchar2
333    ,p_rehire_recommendation           out nocopy varchar2
334    ,p_resume_exists                   out nocopy varchar2
335    ,p_resume_last_updated             out nocopy date
336    ,p_second_passport_exists          out nocopy varchar2
337    ,p_student_status                  out nocopy varchar2
338    ,p_work_schedule                   out nocopy varchar2
339    ,p_rehire_reason                   out nocopy varchar2
340    ,p_benefit_group_id                out nocopy number
341    ,p_receipt_of_death_cert_date      out nocopy date
342    ,p_coord_ben_med_pln_no            out nocopy varchar2
343    ,p_coord_ben_no_cvg_flag           out nocopy varchar2
344    ,p_uses_tobacco_flag               out nocopy varchar2
345    ,p_dpdnt_adoption_date             out nocopy varchar2
346    ,p_dpdnt_vlntry_svce_flag          out nocopy varchar2
347 --StartRegistration.
348    ,p_adjusted_svc_date               out nocopy date
349    ,p_date_start                      out nocopy date
350 --EndRegistration.
351    ,p_attribute_category              out nocopy varchar2
352    ,p_attribute1                      out nocopy varchar2
353    ,p_attribute2                      out nocopy varchar2
354    ,p_attribute3                      out nocopy varchar2
355    ,p_attribute4                      out nocopy varchar2
356    ,p_attribute5                      out nocopy varchar2
357    ,p_attribute6                      out nocopy varchar2
358    ,p_attribute7                      out nocopy varchar2
359    ,p_attribute8                      out nocopy varchar2
360    ,p_attribute9                      out nocopy varchar2
361    ,p_attribute10                     out nocopy varchar2
362    ,p_attribute11                     out nocopy varchar2
363    ,p_attribute12                     out nocopy varchar2
364    ,p_attribute13                     out nocopy varchar2
365    ,p_attribute14                     out nocopy varchar2
366    ,p_attribute15                     out nocopy varchar2
367    ,p_attribute16                     out nocopy varchar2
368    ,p_attribute17                     out nocopy varchar2
369    ,p_attribute18                     out nocopy varchar2
370    ,p_attribute19                     out nocopy varchar2
371    ,p_attribute20                     out nocopy varchar2
372    ,p_attribute21                     out nocopy varchar2
373    ,p_attribute22                     out nocopy varchar2
374    ,p_attribute23                     out nocopy varchar2
375    ,p_attribute24                     out nocopy varchar2
376    ,p_attribute25                     out nocopy varchar2
377    ,p_attribute26                     out nocopy varchar2
378    ,p_attribute27                     out nocopy varchar2
379    ,p_attribute28                     out nocopy varchar2
380    ,p_attribute29                     out nocopy varchar2
381    ,p_attribute30                     out nocopy varchar2
382    ,p_per_information_category        out nocopy varchar2
383    ,p_per_information1                out nocopy varchar2
384    ,p_per_information2                out nocopy varchar2
385    ,p_per_information3                out nocopy varchar2
386    ,p_per_information4                out nocopy varchar2
387    ,p_per_information5                out nocopy varchar2
388    ,p_per_information6                out nocopy varchar2
389    ,p_per_information7                out nocopy varchar2
390    ,p_per_information8                out nocopy varchar2
391    ,p_per_information9                out nocopy varchar2
392    ,p_per_information10               out nocopy varchar2
393    ,p_per_information11               out nocopy varchar2
394    ,p_per_information12               out nocopy varchar2
395    ,p_per_information13               out nocopy varchar2
396    ,p_per_information14               out nocopy varchar2
397    ,p_per_information15               out nocopy varchar2
398    ,p_per_information16               out nocopy varchar2
399    ,p_per_information17               out nocopy varchar2
400    ,p_per_information18               out nocopy varchar2
401    ,p_per_information19               out nocopy varchar2
402    ,p_per_information20               out nocopy varchar2
403    ,p_per_information21               out nocopy varchar2
404    ,p_per_information22               out nocopy varchar2
405    ,p_per_information23               out nocopy varchar2
406    ,p_per_information24               out nocopy varchar2
407    ,p_per_information25               out nocopy varchar2
408    ,p_per_information26               out nocopy varchar2
409    ,p_per_information27               out nocopy varchar2
410    ,p_per_information28               out nocopy varchar2
411    ,p_per_information29               out nocopy varchar2
412    ,p_per_information30               out nocopy varchar2
413    ,p_title_meaning                   out nocopy varchar2
414    ,p_marital_status_meaning          out nocopy varchar2
415    ,p_full_name                       out nocopy varchar2
416    ,p_business_group_id               out nocopy number
417    ,p_review_proc_call                out nocopy varchar2
418    ,p_action_type                     out nocopy varchar2
419 )is
420 
421   l_trans_step_ids       hr_util_web.g_varchar2_tab_type;
422   l_api_names            hr_util_web.g_varchar2_tab_type;
423   l_trans_step_rows                  NUMBER  ;
424 
425   l_transaction_rec_count      integer default 0;
426   l_proc   varchar2(72)  := g_package||'get_person_data_from_tt';
427 
428 begin
429 
430   -- ------------------------------------------------------------------
431   -- Check if there are any transaction rec already saved for the current
432   -- transaction. This is used for re-display the Update page when a user
433   -- clicks the Back button on the Review page to go back to the Update page
434   -- to make further changes or to correct errors.
435   -----------------------------------------------------------------------------
436   hr_utility.set_location('Entering:'||l_proc, 5);
437   hr_transaction_api.get_transaction_step_info
438      (p_item_type              => p_item_type
439      ,p_item_key               => p_item_key
440      ,p_activity_id            => p_activity_id
441      ,p_transaction_step_id    => l_trans_step_ids
442      ,p_api_name               => l_api_names
443      ,p_rows                   => l_trans_step_rows);
444 
445 
446   IF l_trans_step_rows IS NOT NULL OR
447      l_trans_step_rows > 0
448   THEN
449      hr_utility.set_location('IF step_rows!=NULL OR step_rows > 0:'||l_proc,10);
450      l_transaction_rec_count := l_trans_step_rows;
451   ELSE
452      hr_utility.set_location('IF step_rows=NULL AND step_rows <= 0:'||l_proc,15);
453      l_transaction_rec_count := 0;
454      hr_utility.set_location('Exiting: in the  else part'||l_proc, 15);
455      return;
456   END IF;
457   --
458   -- -------------------------------------------------------------------
459   -- There are some changes made earlier in the transaction.
460   -- Retrieve the data and return to caller.
461   -- -------------------------------------------------------------------
462   --
463   -- Now get the transaction data for the given step
464  -- Need to loop through l_trans_rec_count -1 as the index starts from 0
465 
466   hr_utility.set_location('Entering 0..l_transaction_rec_count-1:'||l_proc,20);
467   FOR i in 0..l_transaction_rec_count-1 LOOP
468    IF(l_api_names(i) = 'HR_PROCESS_PERSON_SS.PROCESS_API') THEN
469     get_person_data_from_tt(
470     p_transaction_step_id            => l_trans_step_ids(i)
471    ,p_effective_date                 => p_effective_date
472    ,p_attribute_update_mode          => p_attribute_update_mode
473    ,p_person_id                      => p_person_id
474    ,p_object_version_number          => p_object_version_number
475    ,p_person_type_id                 => p_person_type_id
476    ,p_last_name                      => p_last_name
477    ,p_applicant_number               => p_applicant_number
478    ,p_comments                       => p_comments
479    ,p_date_employee_data_verified    => p_date_employee_data_verified
480    ,p_original_date_of_hire          => p_original_date_of_hire
481    ,p_date_of_birth                  => p_date_of_birth
482    ,p_town_of_birth                  => p_town_of_birth
483    ,p_region_of_birth                => p_region_of_birth
484    ,p_country_of_birth               => p_country_of_birth
485    ,p_global_person_id               => p_global_person_id
486    ,p_email_address                  => p_email_address
487    ,p_employee_number                => p_employee_number
488    ,p_npw_number                     => p_npw_number
489    ,p_expense_check_send_to_addres   => p_expense_check_send_to_addres
490    ,p_first_name                     => p_first_name
491    ,p_known_as                       => p_known_as
492    ,p_marital_status                 => p_marital_status
493    ,p_middle_names                   => p_middle_names
494    ,p_nationality                    => p_nationality
495    ,p_national_identifier            => p_national_identifier
496    ,p_previous_last_name             => p_previous_last_name
497    ,p_registered_disabled_flag       => p_registered_disabled_flag
498    ,p_sex                            => p_sex
499    ,p_title                          => p_title
500    ,p_vendor_id                      => p_vendor_id
501    ,p_work_telephone                 => p_work_telephone
502    ,p_suffix                         => p_suffix
503    ,p_attribute_category             => p_attribute_category
504    ,p_date_of_death                  => p_date_of_death
505    ,p_background_check_status        => p_background_check_status
506    ,p_background_date_check          => p_background_date_check
507    ,p_blood_type                     => p_blood_type
508    ,p_correspondence_language        => p_correspondence_language
509    ,p_fast_path_employee             => p_fast_path_employee
510    ,p_fte_capacity                   => p_fte_capacity
511    ,p_hold_applicant_date_until      => p_hold_applicant_date_until
512    ,p_honors                         => p_honors
513    ,p_internal_location              => p_internal_location
514    ,p_last_medical_test_by           => p_last_medical_test_by
515    ,p_last_medical_test_date         => p_last_medical_test_date
516    ,p_mailstop                       => p_mailstop
517    ,p_office_number                  => p_office_number
518    ,p_on_military_service            => p_on_military_service
519    ,p_pre_name_adjunct               => p_pre_name_adjunct
520    ,p_projected_start_date           => p_projected_start_date
521    ,p_rehire_authorizor              => p_rehire_authorizor
522    ,p_rehire_recommendation          => p_rehire_recommendation
523    ,p_resume_exists                  => p_resume_exists
524    ,p_resume_last_updated            => p_resume_last_updated
525    ,p_second_passport_exists         => p_second_passport_exists
526    ,p_student_status                 => p_student_status
527    ,p_work_schedule                  => p_work_schedule
528    ,p_rehire_reason                  => p_rehire_reason
529    ,p_benefit_group_id               => p_benefit_group_id
530    ,p_receipt_of_death_cert_date     => p_receipt_of_death_cert_date
531    ,p_coord_ben_med_pln_no           => p_coord_ben_med_pln_no
532    ,p_coord_ben_no_cvg_flag          => p_coord_ben_no_cvg_flag
533    ,p_uses_tobacco_flag              => p_uses_tobacco_flag
534    ,p_dpdnt_adoption_date            => p_dpdnt_adoption_date
535    ,p_dpdnt_vlntry_svce_flag         => p_dpdnt_vlntry_svce_flag
536 -- StartRegistration.
537    ,p_adjusted_svc_date              => p_adjusted_svc_date
538    ,p_date_start                     => p_date_start
539 -- EndRegistration.
540    ,p_attribute1                     => p_attribute1
541    ,p_attribute2                     => p_attribute2
542    ,p_attribute3                     => p_attribute3
543    ,p_attribute4                     => p_attribute4
544    ,p_attribute5                     => p_attribute5
545    ,p_attribute6                     => p_attribute6
546    ,p_attribute7                     => p_attribute7
547    ,p_attribute8                     => p_attribute8
548    ,p_attribute9                     => p_attribute9
549    ,p_attribute10                    => p_attribute10
550    ,p_attribute11                    => p_attribute11
551    ,p_attribute12                    => p_attribute12
552    ,p_attribute13                    => p_attribute13
553    ,p_attribute14                    => p_attribute14
554    ,p_attribute15                    => p_attribute15
555    ,p_attribute16                    => p_attribute16
556    ,p_attribute17                    => p_attribute17
557    ,p_attribute18                    => p_attribute18
558    ,p_attribute19                    => p_attribute19
559    ,p_attribute20                    => p_attribute20
560    ,p_attribute21                    => p_attribute21
561    ,p_attribute22                    => p_attribute22
562    ,p_attribute23                    => p_attribute23
563    ,p_attribute24                    => p_attribute24
564    ,p_attribute25                    => p_attribute25
565    ,p_attribute26                    => p_attribute26
566    ,p_attribute27                    => p_attribute27
567    ,p_attribute28                    => p_attribute28
568    ,p_attribute29                    => p_attribute29
569    ,p_attribute30                    => p_attribute30
570    ,p_per_information_category       => p_per_information_category
571    ,p_per_information1               => p_per_information1
572    ,p_per_information2               => p_per_information2
573    ,p_per_information3               => p_per_information3
574    ,p_per_information4               => p_per_information4
575    ,p_per_information5               => p_per_information5
576    ,p_per_information6               => p_per_information6
577    ,p_per_information7               => p_per_information7
578    ,p_per_information8               => p_per_information8
579    ,p_per_information9               => p_per_information9
580    ,p_per_information10              => p_per_information10
581    ,p_per_information11              => p_per_information11
582    ,p_per_information12              => p_per_information12
583    ,p_per_information13              => p_per_information13
584    ,p_per_information14              => p_per_information14
585    ,p_per_information15              => p_per_information15
586    ,p_per_information16              => p_per_information16
587    ,p_per_information17              => p_per_information17
588    ,p_per_information18              => p_per_information18
589    ,p_per_information19              => p_per_information19
590    ,p_per_information20              => p_per_information20
591    ,p_per_information21              => p_per_information21
592    ,p_per_information22              => p_per_information22
593    ,p_per_information23              => p_per_information23
594    ,p_per_information24              => p_per_information24
595    ,p_per_information25              => p_per_information25
596    ,p_per_information26              => p_per_information26
597    ,p_per_information27              => p_per_information27
598    ,p_per_information28              => p_per_information28
599    ,p_per_information29              => p_per_information29
600    ,p_per_information30              => p_per_information30
601    ,p_title_meaning                  => p_title_meaning
602    ,p_marital_status_meaning         => p_marital_status_meaning
603    ,p_full_name                      => p_full_name
604    ,p_business_group_id              => p_business_group_id
605    ,p_review_proc_call               => p_review_proc_call
606    ,p_action_type                    => p_action_type
607    );
608   END IF;
609  END LOOP;
610  hr_utility.set_location('Exiting For Loop:'||l_proc,30);
611 
612  p_trans_rec_count := l_transaction_rec_count;
613  hr_utility.set_location('Exiting:'||l_proc,35);
614 
615 EXCEPTION
616    WHEN g_data_error THEN
617    hr_utility.set_location('Exception:g_data_error'||l_proc,555);
618       RAISE;
619 
620 END get_person_data_from_tt;
621 --
622 -- ---------------------------------------------------------------------------
623 -- ---------------------- < get_person_data_from_tt> -------------------------
624 -- ---------------------------------------------------------------------------
625 -- Purpose: This procedure will get transaction data which are pending for
626 --          approval in workflow for a transaction step id.
627 --          This is the procedure which does the actual work.
628 -- ---------------------------------------------------------------------------
629 procedure get_person_data_from_tt
630    (p_transaction_step_id             in  number
631    ,p_effective_date                  out nocopy date
632    ,p_attribute_update_mode           out nocopy varchar2
633    ,p_person_id                       out nocopy number
634    ,p_object_version_number           out nocopy number
635    ,p_person_type_id                  out nocopy number
636    ,p_last_name                       out nocopy varchar2
637    ,p_applicant_number                out nocopy varchar2
638    ,p_comments                        out nocopy varchar2
639    ,p_date_employee_data_verified     out nocopy date
640    ,p_original_date_of_hire           out nocopy date
641    ,p_date_of_birth                   out nocopy date
642    ,p_town_of_birth                   out nocopy varchar2
643    ,p_region_of_birth                 out nocopy varchar2
644    ,p_country_of_birth                out nocopy varchar2
645    ,p_global_person_id                out nocopy varchar2
646    ,p_email_address                   out nocopy varchar2
647    ,p_employee_number                 out nocopy varchar2
648    ,p_npw_number                      out nocopy varchar2
649    ,p_expense_check_send_to_addres    out nocopy varchar2
650    ,p_first_name                      out nocopy varchar2
651    ,p_known_as                        out nocopy varchar2
652    ,p_marital_status                  out nocopy varchar2
653    ,p_middle_names                    out nocopy varchar2
654    ,p_nationality                     out nocopy varchar2
655    ,p_national_identifier             out nocopy varchar2
656    ,p_previous_last_name              out nocopy varchar2
657    ,p_registered_disabled_flag        out nocopy varchar2
658    ,p_sex                             out nocopy varchar2
659    ,p_title                           out nocopy varchar2
660    ,p_vendor_id                       out nocopy number
661    ,p_work_telephone                  out nocopy varchar2
662    ,p_suffix                          out nocopy varchar2
663    ,p_date_of_death                   out nocopy date
664    ,p_background_check_status         out nocopy varchar2
665    ,p_background_date_check           out nocopy date
666    ,p_blood_type                      out nocopy varchar2
667    ,p_correspondence_language         out nocopy varchar2
668    ,p_fast_path_employee              out nocopy varchar2
669    ,p_fte_capacity                    out nocopy number
670    ,p_hold_applicant_date_until       out nocopy date
671    ,p_honors                          out nocopy varchar2
672    ,p_internal_location               out nocopy varchar2
673    ,p_last_medical_test_by            out nocopy varchar2
674    ,p_last_medical_test_date          out nocopy date
675    ,p_mailstop                        out nocopy varchar2
676    ,p_office_number                   out nocopy varchar2
677    ,p_on_military_service             out nocopy varchar2
678    ,p_pre_name_adjunct                out nocopy varchar2
679    ,p_projected_start_date            out nocopy date
680    ,p_rehire_authorizor               out nocopy varchar2
681    ,p_rehire_recommendation           out nocopy varchar2
682    ,p_resume_exists                   out nocopy varchar2
683    ,p_resume_last_updated             out nocopy date
684    ,p_second_passport_exists          out nocopy varchar2
685    ,p_student_status                  out nocopy varchar2
686    ,p_work_schedule                   out nocopy varchar2
687    ,p_rehire_reason                   out nocopy varchar2
688    ,p_benefit_group_id                out nocopy number
689    ,p_receipt_of_death_cert_date      out nocopy date
690    ,p_coord_ben_med_pln_no            out nocopy varchar2
691    ,p_coord_ben_no_cvg_flag           out nocopy varchar2
692    ,p_uses_tobacco_flag               out nocopy varchar2
693    ,p_dpdnt_adoption_date             out nocopy date
694    ,p_dpdnt_vlntry_svce_flag          out nocopy varchar2
695 -- StartRegistration.
696    ,p_adjusted_svc_date               out nocopy date
697    ,p_date_start                      out nocopy date
698 -- EndRegistration.
699    ,p_attribute_category              out nocopy varchar2
700    ,p_attribute1                      out nocopy varchar2
701    ,p_attribute2                      out nocopy varchar2
702    ,p_attribute3                      out nocopy varchar2
703    ,p_attribute4                      out nocopy varchar2
704    ,p_attribute5                      out nocopy varchar2
705    ,p_attribute6                      out nocopy varchar2
706    ,p_attribute7                      out nocopy varchar2
707    ,p_attribute8                      out nocopy varchar2
708    ,p_attribute9                      out nocopy varchar2
709    ,p_attribute10                     out nocopy varchar2
710    ,p_attribute11                     out nocopy varchar2
711    ,p_attribute12                     out nocopy varchar2
712    ,p_attribute13                     out nocopy varchar2
713    ,p_attribute14                     out nocopy varchar2
714    ,p_attribute15                     out nocopy varchar2
715    ,p_attribute16                     out nocopy varchar2
716    ,p_attribute17                     out nocopy varchar2
717    ,p_attribute18                     out nocopy varchar2
718    ,p_attribute19                     out nocopy varchar2
719    ,p_attribute20                     out nocopy varchar2
720    ,p_attribute21                     out nocopy varchar2
721    ,p_attribute22                     out nocopy varchar2
722    ,p_attribute23                     out nocopy varchar2
723    ,p_attribute24                     out nocopy varchar2
724    ,p_attribute25                     out nocopy varchar2
725    ,p_attribute26                     out nocopy varchar2
726    ,p_attribute27                     out nocopy varchar2
727    ,p_attribute28                     out nocopy varchar2
728    ,p_attribute29                     out nocopy varchar2
729    ,p_attribute30                     out nocopy varchar2
730    ,p_per_information_category        out nocopy varchar2
731    ,p_per_information1                out nocopy varchar2
732    ,p_per_information2                out nocopy varchar2
733    ,p_per_information3                out nocopy varchar2
734    ,p_per_information4                out nocopy varchar2
735    ,p_per_information5                out nocopy varchar2
736    ,p_per_information6                out nocopy varchar2
737    ,p_per_information7                out nocopy varchar2
738    ,p_per_information8                out nocopy varchar2
739    ,p_per_information9                out nocopy varchar2
740    ,p_per_information10               out nocopy varchar2
741    ,p_per_information11               out nocopy varchar2
742    ,p_per_information12               out nocopy varchar2
743    ,p_per_information13               out nocopy varchar2
744    ,p_per_information14               out nocopy varchar2
745    ,p_per_information15               out nocopy varchar2
746    ,p_per_information16               out nocopy varchar2
747    ,p_per_information17               out nocopy varchar2
748    ,p_per_information18               out nocopy varchar2
749    ,p_per_information19               out nocopy varchar2
750    ,p_per_information20               out nocopy varchar2
751    ,p_per_information21               out nocopy varchar2
752    ,p_per_information22               out nocopy varchar2
753    ,p_per_information23               out nocopy varchar2
754    ,p_per_information24               out nocopy varchar2
755    ,p_per_information25               out nocopy varchar2
756    ,p_per_information26               out nocopy varchar2
757    ,p_per_information27               out nocopy varchar2
758    ,p_per_information28               out nocopy varchar2
759    ,p_per_information29               out nocopy varchar2
760    ,p_per_information30               out nocopy varchar2
761    ,p_title_meaning                   out nocopy varchar2
762    ,p_marital_status_meaning          out nocopy varchar2
763    ,p_full_name                       out nocopy varchar2
764    ,p_business_group_id               out nocopy number
765    ,p_review_proc_call                out nocopy varchar2
766    ,p_action_type                     out nocopy varchar2
767 )is
768 
769    l_title                            per_all_people_f.title%type default null;
770    l_marital_status                   per_all_people_f.marital_status%type
771                                       default null;
772    l_title_meaning                    hr_lookups.meaning%type default null;
773    l_marital_status_meaning           hr_lookups.meaning%type default null;
774    l_proc   varchar2(72)  := g_package||'get_person_data_from_tt';
775 
776 BEGIN
777 --
778    hr_utility.set_location('Entering:'||l_proc, 5);
779    p_effective_date:= to_date(
780       hr_transaction_ss.get_wf_effective_date
781         (p_transaction_step_id => p_transaction_step_id),g_date_format);
782 --
783   hr_utility.set_location('Start Calling hr_transaction_api methods:'||l_proc,10);
784   p_attribute_update_mode :=
785     hr_transaction_api.get_varchar2_value
786     (p_transaction_step_id => p_transaction_step_id
787     ,p_name                => 'P_ATTRIBUTE_UPDATE_MODE');
788 --
789   p_person_id :=
790     hr_transaction_api.get_number_value
791     (p_transaction_step_id => p_transaction_step_id
792     ,p_name                => 'P_PERSON_ID');
793 --
794   p_object_version_number :=
795     hr_transaction_api.get_number_value
796     (p_transaction_step_id =>  p_transaction_step_id
797     ,p_name                => 'P_OBJECT_VERSION_NUMBER');
798 --
799   p_person_type_id :=
800     hr_transaction_api.get_number_value
801     (p_transaction_step_id => p_transaction_step_id
802     ,p_name                => 'P_PERSON_TYPE_ID');
803 --
804   p_last_name :=
805     hr_transaction_api.get_varchar2_value
806     (p_transaction_step_id => p_transaction_step_id
807     ,p_name                => 'P_LAST_NAME');
808 --
809   p_applicant_number :=
810     hr_transaction_api.get_varchar2_value
811     (p_transaction_step_id => p_transaction_step_id
812     ,p_name                => 'P_APPLICANT_NUMBER');
813 --
814   p_comments :=
815     hr_transaction_api.get_varchar2_value
816     (p_transaction_step_id => p_transaction_step_id
817     ,p_name                => 'P_COMMENTS');
818 --
819   p_date_employee_data_verified :=
820     hr_transaction_api.get_date_value
821        (p_transaction_step_id => p_transaction_step_id
822        ,p_name                => 'P_DATE_EMPLOYEE_DATA_VERIFIED');
823 --
824   p_original_date_of_hire :=
825     hr_transaction_api.get_date_value
826        (p_transaction_step_id => p_transaction_step_id
827        ,p_name                => 'P_ORIGINAL_DATE_OF_HIRE');
828 --
829   p_date_of_birth :=
830     hr_transaction_api.get_date_value
831        (p_transaction_step_id => p_transaction_step_id
832        ,p_name                => 'P_DATE_OF_BIRTH');
833 --
834   p_town_of_birth :=
835     hr_transaction_api.get_varchar2_value
836     (p_transaction_step_id => p_transaction_step_id
837     ,p_name                => 'P_TOWN_OF_BIRTH');
838 --
839   p_region_of_birth :=
840     hr_transaction_api.get_varchar2_value
841     (p_transaction_step_id => p_transaction_step_id
842     ,p_name                => 'P_REGION_OF_BIRTH');
843 --
844   p_country_of_birth :=
845     hr_transaction_api.get_varchar2_value
846     (p_transaction_step_id => p_transaction_step_id
847     ,p_name                => 'P_COUNTRY_OF_BIRTH');
848 --
849   p_global_person_id :=
850     hr_transaction_api.get_varchar2_value
851       (p_transaction_step_id => p_transaction_step_id
852       ,p_name                => 'P_GLOBAL_PERSON_ID');
853 --
854   p_email_address :=
855     hr_transaction_api.get_varchar2_value
856     (p_transaction_step_id => p_transaction_step_id
857     ,p_name                => 'P_EMAIL_ADDRESS');
858 --
859   p_employee_number :=
860     hr_transaction_api.get_varchar2_value
861     (p_transaction_step_id => p_transaction_step_id
862     ,p_name                => 'P_EMPLOYEE_NUMBER');
863 --
864   p_npw_number :=
865     hr_transaction_api.get_varchar2_value
866     (p_transaction_step_id => p_transaction_step_id
867     ,p_name                => 'P_NPW_NUMBER');
868 --
869   p_expense_check_send_to_addres :=
870     hr_transaction_api.get_varchar2_value
871     (p_transaction_step_id => p_transaction_step_id
872     ,p_name                => 'P_EXPENSE_CHECK_SEND_TO_ADDRES');
873 --
874   p_first_name :=
875     hr_transaction_api.get_varchar2_value
876     (p_transaction_step_id => p_transaction_step_id
877     ,p_name                => 'P_FIRST_NAME');
878 --
879   p_known_as :=
880     hr_transaction_api.get_varchar2_value
881     (p_transaction_step_id => p_transaction_step_id
882     ,p_name                => 'P_KNOWN_AS');
883 --
884   l_marital_status :=
885     hr_transaction_api.get_varchar2_value
886     (p_transaction_step_id => p_transaction_step_id
887     ,p_name                => 'P_MARITAL_STATUS');
888 --
889   p_middle_names :=
890     hr_transaction_api.get_varchar2_value
891     (p_transaction_step_id => p_transaction_step_id
892     ,p_name                => 'P_MIDDLE_NAMES');
893 --
894   p_nationality :=
895     hr_transaction_api.get_varchar2_value
896     (p_transaction_step_id => p_transaction_step_id
897     ,p_name                => 'P_NATIONALITY');
898 --
899   p_national_identifier :=
900     hr_transaction_api.get_varchar2_value
901     (p_transaction_step_id => p_transaction_step_id
902     ,p_name                => 'P_NATIONAL_IDENTIFIER');
903 --
904   p_previous_last_name :=
905     hr_transaction_api.get_varchar2_value
906     (p_transaction_step_id => p_transaction_step_id
907     ,p_name                => 'P_PREVIOUS_LAST_NAME');
908 --
909   p_registered_disabled_flag :=
910     hr_transaction_api.get_varchar2_value
911     (p_transaction_step_id => p_transaction_step_id
912     ,p_name                => 'P_REGISTERED_DISABLED_FLAG');
913 --
914   p_sex :=
915     hr_transaction_api.get_varchar2_value
916     (p_transaction_step_id => p_transaction_step_id
917     ,p_name                => 'P_SEX');
918 --
919   l_title :=
920     hr_transaction_api.get_varchar2_value
921     (p_transaction_step_id => p_transaction_step_id
922     ,p_name                => 'P_TITLE');
923 --
924   p_vendor_id :=
925     hr_transaction_api.get_number_value
926     (p_transaction_step_id => p_transaction_step_id
927     ,p_name                => 'P_VENDOR_ID');
928 --
929   p_work_telephone :=
930     hr_transaction_api.get_varchar2_value
931     (p_transaction_step_id => p_transaction_step_id
932     ,p_name                => 'P_WORK_TELEPHONE');
933 --
934   p_suffix :=
935     hr_transaction_api.get_varchar2_value
936     (p_transaction_step_id => p_transaction_step_id
937     ,p_name                => 'P_SUFFIX');
938 --
939   p_date_of_death :=
940     hr_transaction_api.get_date_value
941     (p_transaction_step_id => p_transaction_step_id
942     ,p_name                => 'P_DATE_OF_DEATH');
943 --
944   p_background_check_status :=
945     hr_transaction_api.get_varchar2_value
946     (p_transaction_step_id => p_transaction_step_id
947     ,p_name                => 'P_BACKGROUND_CHECK_STATUS');
948 --
949   p_background_date_check :=
950     hr_transaction_api.get_date_value
951     (p_transaction_step_id => p_transaction_step_id
952     ,p_name                => 'P_BACKGROUND_DATE_CHECK');
953 --
954   p_blood_type :=
955     hr_transaction_api.get_varchar2_value
956     (p_transaction_step_id => p_transaction_step_id
957     ,p_name                => 'P_BLOOD_TYPE');
958 --
959   p_correspondence_language :=
960     hr_transaction_api.get_varchar2_value
961     (p_transaction_step_id => p_transaction_step_id
962     ,p_name                => 'P_CORRESPONDENCE_LANGUAGE');
963 --
964   p_fast_path_employee :=
965     hr_transaction_api.get_varchar2_value
966     (p_transaction_step_id => p_transaction_step_id
967     ,p_name                => 'P_FAST_PATH_EMPLOYEE');
968 --
969   p_fte_capacity :=
970     hr_transaction_api.get_number_value
971        (p_transaction_step_id => p_transaction_step_id
972        ,p_name                => 'P_FTE_CAPACITY');
973 --
974   p_hold_applicant_date_until :=
975       hr_transaction_api.get_date_value
976          (p_transaction_step_id => p_transaction_step_id
977          ,p_name                => 'P_HOLD_APPLICANT_DATE_UNTIL');
978 --
979   p_honors :=
980     hr_transaction_api.get_varchar2_value
981     (p_transaction_step_id => p_transaction_step_id
982     ,p_name                => 'P_HONORS');
983 --
984   p_internal_location :=
985     hr_transaction_api.get_varchar2_value
986     (p_transaction_step_id => p_transaction_step_id
987     ,p_name                => 'P_INTERNAL_LOCATION');
988 --
989   p_last_medical_test_by :=
990     hr_transaction_api.get_varchar2_value
991     (p_transaction_step_id => p_transaction_step_id
992     ,p_name                => 'P_LAST_MEDICAL_TEST_BY');
993 --
994   p_last_medical_test_date :=
995        hr_transaction_api.get_date_value
996            (p_transaction_step_id => p_transaction_step_id
997            ,p_name                => 'P_LAST_MEDICAL_TEST_DATE');
998 --
999   p_mailstop :=
1000     hr_transaction_api.get_varchar2_value
1001     (p_transaction_step_id => p_transaction_step_id
1002     ,p_name                => 'P_MAILSTOP');
1003 --
1004   p_office_number :=
1005     hr_transaction_api.get_varchar2_value
1006     (p_transaction_step_id => p_transaction_step_id
1007     ,p_name                => 'P_OFFICE_NUMBER');
1008 --
1009   p_on_military_service :=
1010     hr_transaction_api.get_varchar2_value
1011     (p_transaction_step_id => p_transaction_step_id
1012     ,p_name                => 'P_ON_MILITARY_SERVICE');
1013 --
1014   p_pre_name_adjunct :=
1015     hr_transaction_api.get_varchar2_value
1016     (p_transaction_step_id => p_transaction_step_id
1017     ,p_name                => 'P_PRE_NAME_ADJUNCT');
1018 --
1019   p_projected_start_date :=
1020       hr_transaction_api.get_date_value
1021       (p_transaction_step_id => p_transaction_step_id
1022       ,p_name                => 'P_PROJECTED_START_DATE');
1023 --
1024   p_rehire_authorizor :=
1025      hr_transaction_api.get_varchar2_value
1026     (p_transaction_step_id => p_transaction_step_id
1027     ,p_name                => 'P_REHIRE_AUTHORIZOR');
1028 --
1029   p_rehire_recommendation :=
1030      hr_transaction_api.get_varchar2_value
1031     (p_transaction_step_id => p_transaction_step_id
1032     ,p_name                => 'P_REHIRE_RECOMMENDATION');
1033 --
1034   p_resume_exists :=
1035     hr_transaction_api.get_varchar2_value
1036     (p_transaction_step_id => p_transaction_step_id
1037     ,p_name                => 'P_RESUME_EXISTS');
1038 --
1039   p_resume_last_updated :=
1040     hr_transaction_api.get_date_value
1041          (p_transaction_step_id => p_transaction_step_id
1042          ,p_name                => 'P_RESUME_LAST_UPDATED');
1043 --
1044   p_second_passport_exists :=
1045       hr_transaction_api.get_varchar2_value
1046       (p_transaction_step_id => p_transaction_step_id
1047       ,p_name                => 'P_SECOND_PASSPORT_EXISTS');
1048 --
1049   p_student_status :=
1050       hr_transaction_api.get_varchar2_value
1051       (p_transaction_step_id => p_transaction_step_id
1052       ,p_name                => 'P_STUDENT_STATUS');
1053 --
1054   p_work_schedule :=
1055       hr_transaction_api.get_varchar2_value
1056       (p_transaction_step_id => p_transaction_step_id
1057       ,p_name                => 'P_WORK_SCHEDULE');
1058 --
1059   p_rehire_reason :=
1060       hr_transaction_api.get_varchar2_value
1061       (p_transaction_step_id => p_transaction_step_id
1062       ,p_name                => 'P_REHIRE_REASON');
1063 --
1064   p_benefit_group_id :=
1065      hr_transaction_api.get_number_value
1066          (p_transaction_step_id => p_transaction_step_id
1067          ,p_name                => 'P_BENEFIT_GROUP_ID');
1068 --
1069   p_receipt_of_death_cert_date :=
1070      hr_transaction_api.get_date_value
1071          (p_transaction_step_id => p_transaction_step_id
1072          ,p_name                => 'P_RECEIPT_OF_DEATH_CERT_DATE');
1073 --
1074   p_coord_ben_med_pln_no :=
1075       hr_transaction_api.get_varchar2_value
1076       (p_transaction_step_id => p_transaction_step_id
1077       ,p_name                => 'P_COORD_BEN_MED_PLN_NO');
1078 --
1079   p_coord_ben_no_cvg_flag :=
1080       hr_transaction_api.get_varchar2_value
1081       (p_transaction_step_id => p_transaction_step_id
1082       ,p_name                => 'P_COORD_BEN_NO_CVG_FLAG');
1083 --
1084   p_uses_tobacco_flag :=
1085       hr_transaction_api.get_varchar2_value
1086       (p_transaction_step_id => p_transaction_step_id
1087       ,p_name                => 'P_USES_TOBACCO_FLAG');
1088 --
1089   p_dpdnt_adoption_date :=
1090      hr_transaction_api.get_date_value
1091          (p_transaction_step_id => p_transaction_step_id
1092          ,p_name                => 'P_DPDNT_ADOPTION_DATE');
1093 --
1094   p_dpdnt_vlntry_svce_flag :=
1095       hr_transaction_api.get_varchar2_value
1096       (p_transaction_step_id => p_transaction_step_id
1097       ,p_name                => 'P_DPDNT_VLNTRY_SVCE_FLAG');
1098 --
1099 
1100   --
1101   -- StartRegistration.
1102   --
1103   begin
1104      --
1105      p_adjusted_svc_date :=
1106         hr_transaction_api.get_date_value
1107          (p_transaction_step_id => p_transaction_step_id
1108          ,p_name                => 'P_ADJUSTED_SVC_DATE');
1109      --
1110      p_date_start:= to_date(
1111        hr_transaction_ss.get_wf_effective_date
1112         (p_transaction_step_id => p_transaction_step_id),g_date_format);
1113      --
1114   exception
1115      when others then
1116         hr_utility.set_location('Exception:Others'||l_proc,555);
1117         P_ADJUSTED_SVC_DATE := null;
1118         P_DATE_START        := null;
1119   end;
1120 
1121 -- EndRegistration.
1122 --
1123   p_attribute_category :=
1124     hr_transaction_api.get_varchar2_value
1125     (p_transaction_step_id => p_transaction_step_id
1126     ,p_name                => 'P_ATTRIBUTE_CATEGORY');
1127 --
1128   p_attribute1 :=
1129     hr_transaction_api.get_varchar2_value
1130     (p_transaction_step_id => p_transaction_step_id
1131     ,p_name                => 'P_ATTRIBUTE1');
1132 --
1133   p_attribute2 :=
1134     hr_transaction_api.get_varchar2_value
1135     (p_transaction_step_id => p_transaction_step_id
1136     ,p_name                => 'P_ATTRIBUTE2');
1137 --
1138   p_attribute3 :=
1139     hr_transaction_api.get_varchar2_value
1140     (p_transaction_step_id => p_transaction_step_id
1141     ,p_name                => 'P_ATTRIBUTE3');
1142 --
1143   p_attribute4 :=
1144     hr_transaction_api.get_varchar2_value
1145     (p_transaction_step_id => p_transaction_step_id
1146     ,p_name                => 'P_ATTRIBUTE4');
1147 --
1148   p_attribute5 :=
1149     hr_transaction_api.get_varchar2_value
1150     (p_transaction_step_id => p_transaction_step_id
1151     ,p_name                => 'P_ATTRIBUTE5');
1152 --
1153   P_ATTRIBUTE6 :=
1154     hr_transaction_api.get_varchar2_value
1155     (p_transaction_step_id => p_transaction_step_id
1156     ,p_name                => 'P_ATTRIBUTE6');
1157 --
1158   p_attribute7 :=
1159     hr_transaction_api.get_varchar2_value
1160     (p_transaction_step_id => p_transaction_step_id
1161     ,p_name                => 'P_ATTRIBUTE7');
1162 --
1163   p_attribute8 :=
1164     hr_transaction_api.get_varchar2_value
1165     (p_transaction_step_id => p_transaction_step_id
1166     ,p_name                => 'P_ATTRIBUTE8');
1167 --
1168   p_attribute9 :=
1169     hr_transaction_api.get_varchar2_value
1170     (p_transaction_step_id => p_transaction_step_id
1171     ,p_name                => 'P_ATTRIBUTE9');
1172 --
1173   p_attribute10 :=
1174     hr_transaction_api.get_varchar2_value
1175     (p_transaction_step_id => p_transaction_step_id
1176     ,p_name                => 'P_ATTRIBUTE10');
1177 --
1178   p_attribute11 :=
1179     hr_transaction_api.get_varchar2_value
1180     (p_transaction_step_id => p_transaction_step_id
1181     ,p_name                => 'P_ATTRIBUTE11');
1182 --
1183   p_attribute12 :=
1184     hr_transaction_api.get_varchar2_value
1185     (p_transaction_step_id => p_transaction_step_id
1186     ,p_name                => 'P_ATTRIBUTE12');
1187 --
1188   p_attribute13 :=
1189     hr_transaction_api.get_varchar2_value
1190     (p_transaction_step_id => p_transaction_step_id
1191     ,p_name                => 'P_ATTRIBUTE13');
1192 --
1193   p_attribute14 :=
1194     hr_transaction_api.get_varchar2_value
1195     (p_transaction_step_id => p_transaction_step_id
1196     ,p_name                => 'P_ATTRIBUTE14');
1197 --
1198   p_attribute15 :=
1199     hr_transaction_api.get_varchar2_value
1200     (p_transaction_step_id => p_transaction_step_id
1201     ,p_name                => 'P_ATTRIBUTE15');
1202 --
1203   p_attribute16 :=
1204     hr_transaction_api.get_varchar2_value
1205     (p_transaction_step_id => p_transaction_step_id
1206     ,p_name                => 'P_ATTRIBUTE16');
1207 --
1208   p_attribute17 :=
1209     hr_transaction_api.get_varchar2_value
1210     (p_transaction_step_id => p_transaction_step_id
1211     ,p_name                => 'P_ATTRIBUTE17');
1212 --
1213   p_attribute18 :=
1214     hr_transaction_api.get_varchar2_value
1215     (p_transaction_step_id => p_transaction_step_id
1216     ,p_name                => 'P_ATTRIBUTE18');
1217 --
1218   p_attribute19 :=
1219     hr_transaction_api.get_varchar2_value
1220     (p_transaction_step_id => p_transaction_step_id
1221     ,p_name                => 'P_ATTRIBUTE19');
1222 --
1223   p_attribute20 :=
1224     hr_transaction_api.get_varchar2_value
1225     (p_transaction_step_id => p_transaction_step_id
1226     ,p_name                => 'P_ATTRIBUTE20');
1227 --
1228   p_attribute21 :=
1229     hr_transaction_api.get_varchar2_value
1230     (p_transaction_step_id => p_transaction_step_id
1231     ,p_name                => 'P_ATTRIBUTE21');
1232 --
1233   p_attribute22 :=
1234     hr_transaction_api.get_varchar2_value
1235     (p_transaction_step_id => p_transaction_step_id
1236     ,p_name                => 'P_ATTRIBUTE22');
1237 --
1238   p_attribute23 :=
1239     hr_transaction_api.get_varchar2_value
1240     (p_transaction_step_id => p_transaction_step_id
1241     ,p_name                => 'P_ATTRIBUTE23');
1242 --
1243   p_attribute24 :=
1244     hr_transaction_api.get_varchar2_value
1245     (p_transaction_step_id => p_transaction_step_id
1246     ,p_name                => 'P_ATTRIBUTE24');
1247 --
1248   p_attribute25 :=
1249     hr_transaction_api.get_varchar2_value
1250     (p_transaction_step_id => p_transaction_step_id
1251     ,p_name                => 'P_ATTRIBUTE25');
1252 --
1253   p_attribute26 :=
1254     hr_transaction_api.get_varchar2_value
1255     (p_transaction_step_id => p_transaction_step_id
1256     ,p_name                => 'P_ATTRIBUTE26');
1257 --
1258   p_attribute27 :=
1259     hr_transaction_api.get_varchar2_value
1260     (p_transaction_step_id => p_transaction_step_id
1261     ,p_name                => 'P_ATTRIBUTE27');
1262 --
1263   p_attribute28 :=
1264     hr_transaction_api.get_varchar2_value
1265     (p_transaction_step_id => p_transaction_step_id
1266     ,p_name                => 'P_ATTRIBUTE28');
1267 --
1268   p_attribute29 :=
1269     hr_transaction_api.get_varchar2_value
1270     (p_transaction_step_id => p_transaction_step_id
1271     ,p_name                => 'P_ATTRIBUTE29');
1272 --
1273   p_attribute30 :=
1274     hr_transaction_api.get_varchar2_value
1275     (p_transaction_step_id => p_transaction_step_id
1276     ,p_name                => 'P_ATTRIBUTE30');
1277 --
1278   p_per_information_category :=
1279     hr_transaction_api.get_varchar2_value
1280     (p_transaction_step_id => p_transaction_step_id
1281     ,p_name                => 'P_PER_INFORMATION_CATEGORY');
1282 --
1283   p_per_information1 :=
1284     hr_transaction_api.get_varchar2_value
1285     (p_transaction_step_id => p_transaction_step_id
1286     ,p_name                => 'P_PER_INFORMATION1');
1287 --
1288   p_per_information2 :=
1289     hr_transaction_api.get_varchar2_value
1290     (p_transaction_step_id => p_transaction_step_id
1291     ,p_name                => 'P_PER_INFORMATION2');
1292 --
1293   p_per_information3 :=
1294     hr_transaction_api.get_varchar2_value
1295     (p_transaction_step_id => p_transaction_step_id
1296     ,p_name                => 'P_PER_INFORMATION3');
1297 --
1298   p_per_information4 :=
1299     hr_transaction_api.get_varchar2_value
1300     (p_transaction_step_id => p_transaction_step_id
1301     ,p_name                => 'P_PER_INFORMATION4');
1302 --
1303   p_per_information5 :=
1304     hr_transaction_api.get_varchar2_value
1305     (p_transaction_step_id => p_transaction_step_id
1306     ,p_name                => 'P_PER_INFORMATION5');
1307 --
1308   p_per_information6 :=
1309     hr_transaction_api.get_varchar2_value
1310     (p_transaction_step_id => p_transaction_step_id
1311     ,p_name                => 'P_PER_INFORMATION6');
1312 --
1313   p_per_information7 :=
1314     hr_transaction_api.get_varchar2_value
1315     (p_transaction_step_id => p_transaction_step_id
1316     ,p_name                => 'P_PER_INFORMATION7');
1317 --
1318   p_per_information8 :=
1319     hr_transaction_api.get_varchar2_value
1320     (p_transaction_step_id => p_transaction_step_id
1321     ,p_name                => 'P_PER_INFORMATION8');
1322 --
1323   p_per_information9 :=
1324     hr_transaction_api.get_varchar2_value
1325     (p_transaction_step_id => p_transaction_step_id
1326     ,p_name                => 'P_PER_INFORMATION9');
1327 --
1328   p_per_information10 :=
1329     hr_transaction_api.get_varchar2_value
1330     (p_transaction_step_id => p_transaction_step_id
1331     ,p_name                => 'P_PER_INFORMATION10');
1332 --
1333   p_per_information11 :=
1334     hr_transaction_api.get_varchar2_value
1335     (p_transaction_step_id => p_transaction_step_id
1336     ,p_name                => 'P_PER_INFORMATION11');
1337 --
1338   p_per_information12 :=
1339     hr_transaction_api.get_varchar2_value
1340     (p_transaction_step_id => p_transaction_step_id
1341     ,p_name                => 'P_PER_INFORMATION12');
1342 --
1343   p_per_information13 :=
1344     hr_transaction_api.get_varchar2_value
1345     (p_transaction_step_id => p_transaction_step_id
1346     ,p_name                => 'P_PER_INFORMATION13');
1347 --
1348   p_per_information14 :=
1349     hr_transaction_api.get_varchar2_value
1350     (p_transaction_step_id => p_transaction_step_id
1351     ,p_name                => 'P_PER_INFORMATION14');
1352 --
1353   p_per_information15 :=
1354     hr_transaction_api.get_varchar2_value
1355     (p_transaction_step_id => p_transaction_step_id
1356     ,p_name                => 'P_PER_INFORMATION15');
1357 --
1358   p_per_information16 :=
1359     hr_transaction_api.get_varchar2_value
1360     (p_transaction_step_id => p_transaction_step_id
1361     ,p_name                => 'P_PER_INFORMATION16');
1362 --
1363   p_per_information17 :=
1364     hr_transaction_api.get_varchar2_value
1365     (p_transaction_step_id => p_transaction_step_id
1366     ,p_name                => 'P_PER_INFORMATION17');
1367 --
1368   p_per_information18 :=
1369     hr_transaction_api.get_varchar2_value
1370     (p_transaction_step_id => p_transaction_step_id
1371     ,p_name                => 'P_PER_INFORMATION18');
1372 --
1373   p_per_information19 :=
1374     hr_transaction_api.get_varchar2_value
1375     (p_transaction_step_id => p_transaction_step_id
1376     ,p_name                => 'P_PER_INFORMATION19');
1377 --
1378   p_per_information20 :=
1379     hr_transaction_api.get_varchar2_value
1380     (p_transaction_step_id => p_transaction_step_id
1381     ,p_name                => 'P_PER_INFORMATION20');
1382 --
1383   p_per_information21 :=
1384     hr_transaction_api.get_varchar2_value
1385     (p_transaction_step_id => p_transaction_step_id
1386     ,p_name                => 'P_PER_INFORMATION21');
1387 --
1388   p_per_information22 :=
1389     hr_transaction_api.get_varchar2_value
1390     (p_transaction_step_id => p_transaction_step_id
1391     ,p_name                => 'P_PER_INFORMATION22');
1392 --
1393   p_per_information23 :=
1394     hr_transaction_api.get_varchar2_value
1395     (p_transaction_step_id => p_transaction_step_id
1396     ,p_name                => 'P_PER_INFORMATION23');
1397 --
1398   p_per_information24 :=
1399     hr_transaction_api.get_varchar2_value
1400     (p_transaction_step_id => p_transaction_step_id
1401     ,p_name                => 'P_PER_INFORMATION24');
1402 --
1403   p_per_information25 :=
1404     hr_transaction_api.get_varchar2_value
1405     (p_transaction_step_id => p_transaction_step_id
1406     ,p_name                => 'P_PER_INFORMATION25');
1407 --
1408   p_per_information26 :=
1409     hr_transaction_api.get_varchar2_value
1410     (p_transaction_step_id => p_transaction_step_id
1411     ,p_name                => 'P_PER_INFORMATION26');
1412 --
1413   p_per_information27 :=
1414     hr_transaction_api.get_varchar2_value
1415     (p_transaction_step_id => p_transaction_step_id
1416     ,p_name                => 'P_PER_INFORMATION27');
1417 --
1418   p_per_information28 :=
1419     hr_transaction_api.get_varchar2_value
1420     (p_transaction_step_id => p_transaction_step_id
1421     ,p_name                => 'P_PER_INFORMATION28');
1422 --
1423   p_per_information29 :=
1424     hr_transaction_api.get_varchar2_value
1425     (p_transaction_step_id => p_transaction_step_id
1426     ,p_name                => 'P_PER_INFORMATION29');
1427 --
1428   p_per_information30 :=
1429     hr_transaction_api.get_varchar2_value
1430     (p_transaction_step_id => p_transaction_step_id
1431     ,p_name                => 'P_PER_INFORMATION30');
1432 --
1433   l_title_meaning := get_hr_lookup_meaning (p_lookup_type => 'TITLE'
1434                                            ,p_lookup_code => l_title);
1435 --
1436   l_marital_status_meaning := get_hr_lookup_meaning
1437                                 (p_lookup_type => 'MAR_STATUS'
1438                                 ,p_lookup_code => l_marital_status);
1439 --
1440   p_full_name :=
1441     hr_transaction_api.get_varchar2_value
1442     (p_transaction_step_id => p_transaction_step_id
1443     ,p_name                => 'P_FULL_NAME');
1444 --
1445   p_business_group_id :=
1446     hr_transaction_api.get_number_value
1447     (p_transaction_step_id => p_transaction_step_id
1448     ,p_name                => 'P_BUSINESS_GROUP_ID');
1449 --
1450   p_review_proc_call :=
1451     hr_transaction_api.get_varchar2_value
1452     (p_transaction_step_id => p_transaction_step_id
1453     ,p_name                => 'P_REVIEW_PROC_CALL');
1454 --
1455   p_action_type  :=
1456     hr_transaction_api.get_varchar2_value
1457     (p_transaction_step_id => p_transaction_step_id
1458     ,p_name                => 'P_ACTION_TYPE');
1459 --
1460   p_title := l_title;
1461   p_title_meaning := l_title_meaning;
1462   p_marital_status := l_marital_status;
1463   p_marital_status_meaning := l_marital_status_meaning;
1464 --
1465 --
1466 hr_utility.set_location('End of  Calling hr_transaction_api methods:'||l_proc,15);
1467 hr_utility.set_location('Exiting:'||l_proc, 20);
1468 EXCEPTION
1469    WHEN OTHERS THEN
1470        hr_utility.set_location('Exception:Others'||l_proc,555);
1471        RAISE;
1472 
1473 END get_person_data_from_tt;
1474 
1475 
1476 -- ---------------------------------------------------------------------------
1477 -- ---------------------------- < update_person> ------------------------------
1478 -- ---------------------------------------------------------------------------
1479 -- Purpose: This procedure will perform validations when a user presses Next
1480 --          on Update Basic Details entry page or on the Review page.
1481 --          Either case, the data will be saved to the transaction table.
1482 --          If this procedure is invoked from Review page, it will first check
1483 --          that if a transaction already exists.  If it does, it will update
1484 --          the current transaction record.
1485 --          NOTE: The p_validate_mode cannot be in boolean because this
1486 --                procedure will be called from Java which has a different
1487 --                boolean value from pl/sql.
1488 -- ---------------------------------------------------------------------------
1489 procedure update_person
1490   (p_item_type                    in varchar2
1491   ,p_item_key                     in varchar2
1492   ,p_actid                        in number
1493   ,p_login_person_id              in number
1494   ,p_process_section_name         in varchar2
1495   ,p_action_type                  in varchar2
1496   ,p_validate_mode                in varchar2 default 'Y'
1497   ,p_review_page_region_code      in varchar2 default hr_api.g_varchar2
1498   ,p_effective_date               in      date
1499   ,p_business_group_id            in number
1500   ,p_person_id                    in      number
1501   ,p_object_version_number        in out nocopy  number
1502   ,p_person_type_id               in      number   default hr_api.g_number
1503   ,p_last_name                    in      varchar2 default hr_api.g_varchar2
1504   ,p_applicant_number             in      varchar2 default hr_api.g_varchar2
1505   ,p_comments                     in      varchar2 default hr_api.g_varchar2
1506   ,p_date_employee_data_verified  in      date     default hr_api.g_date
1507   ,p_original_date_of_hire        in      date     default hr_api.g_date
1508   ,p_date_of_birth                in      date     default hr_api.g_date
1509   ,p_town_of_birth                in      varchar2 default hr_api.g_varchar2
1510   ,p_region_of_birth              in      varchar2 default hr_api.g_varchar2
1511   ,p_country_of_birth             in      varchar2 default hr_api.g_varchar2
1512   ,p_global_person_id             in      varchar2 default hr_api.g_varchar2
1513   ,p_email_address                in      varchar2 default hr_api.g_varchar2
1514   ,p_employee_number              in out nocopy  varchar2
1515   ,p_npw_number                   in      varchar2 default hr_api.g_varchar2
1516   ,p_expense_check_send_to_addres in      varchar2 default hr_api.g_varchar2
1517   ,p_first_name                   in      varchar2 default hr_api.g_varchar2
1518   ,p_known_as                     in      varchar2 default hr_api.g_varchar2
1519   ,p_marital_status               in      varchar2 default hr_api.g_varchar2
1520   ,p_middle_names                 in      varchar2 default hr_api.g_varchar2
1521   ,p_nationality                  in      varchar2 default hr_api.g_varchar2
1522   ,p_national_identifier          in      varchar2 default hr_api.g_varchar2
1523   ,p_previous_last_name           in      varchar2 default hr_api.g_varchar2
1524   ,p_registered_disabled_flag     in      varchar2 default hr_api.g_varchar2
1525   ,p_sex                          in      varchar2 default hr_api.g_varchar2
1526   ,p_title                        in      varchar2 default hr_api.g_varchar2
1527   ,p_vendor_id                    in      number   default hr_api.g_number
1528   ,p_work_telephone               in      varchar2 default hr_api.g_varchar2
1529   ,p_suffix                       in      varchar2 default hr_api.g_varchar2
1530   ,p_date_of_death                in      date     default hr_api.g_date
1531   ,p_background_check_status      in      varchar2 default hr_api.g_varchar2
1532   ,p_background_date_check        in      date     default hr_api.g_date
1533   ,p_blood_type                   in      varchar2 default hr_api.g_varchar2
1534   ,p_correspondence_language      in      varchar2 default hr_api.g_varchar2
1535   ,p_fast_path_employee           in      varchar2 default hr_api.g_varchar2
1536   ,p_fte_capacity                 in      number   default hr_api.g_number
1537   ,p_hold_applicant_date_until    in      date     default hr_api.g_date
1538   ,p_honors                       in      varchar2 default hr_api.g_varchar2
1539   ,p_internal_location            in      varchar2 default hr_api.g_varchar2
1540   ,p_last_medical_test_by         in      varchar2 default hr_api.g_varchar2
1541   ,p_last_medical_test_date       in      date     default hr_api.g_date
1542   ,p_mailstop                     in      varchar2 default hr_api.g_varchar2
1543   ,p_office_number                in      varchar2 default hr_api.g_varchar2
1544   ,p_on_military_service          in      varchar2 default hr_api.g_varchar2
1545   ,p_pre_name_adjunct             in      varchar2 default hr_api.g_varchar2
1546   ,p_projected_start_date         in      date     default hr_api.g_date
1547   ,p_rehire_authorizor            in      varchar2 default hr_api.g_varchar2
1548   ,p_rehire_recommendation        in      varchar2 default hr_api.g_varchar2
1549   ,p_resume_exists                in      varchar2 default hr_api.g_varchar2
1550   ,p_resume_last_updated          in      date     default hr_api.g_date
1551   ,p_second_passport_exists       in      varchar2 default hr_api.g_varchar2
1552   ,p_student_status               in      varchar2 default hr_api.g_varchar2
1553   ,p_work_schedule                in      varchar2 default hr_api.g_varchar2
1554   ,p_rehire_reason                in      varchar2 default hr_api.g_varchar2
1555   ,p_benefit_group_id             in      number   default hr_api.g_number
1556   ,p_receipt_of_death_cert_date   in      date     default hr_api.g_date
1557   ,p_coord_ben_med_pln_no         in      varchar2 default hr_api.g_varchar2
1558   ,p_coord_ben_no_cvg_flag        in      varchar2 default hr_api.g_varchar2
1559   ,p_uses_tobacco_flag            in      varchar2 default hr_api.g_varchar2
1560   ,p_dpdnt_adoption_date          in      date     default hr_api.g_date
1561   ,p_dpdnt_vlntry_svce_flag       in      varchar2 default hr_api.g_varchar2
1562   ,p_adjusted_svc_date            in      date     default hr_api.g_date
1563   ,p_attribute_category           in      varchar2 default hr_api.g_varchar2
1564   ,p_attribute1                   in      varchar2 default hr_api.g_varchar2
1565   ,p_attribute2                   in      varchar2 default hr_api.g_varchar2
1566   ,p_attribute3                   in      varchar2 default hr_api.g_varchar2
1567   ,p_attribute4                   in      varchar2 default hr_api.g_varchar2
1568   ,p_attribute5                   in      varchar2 default hr_api.g_varchar2
1569   ,p_attribute6                   in      varchar2 default hr_api.g_varchar2
1570   ,p_attribute7                   in      varchar2 default hr_api.g_varchar2
1571   ,p_attribute8                   in      varchar2 default hr_api.g_varchar2
1572   ,p_attribute9                   in      varchar2 default hr_api.g_varchar2
1573   ,p_attribute10                  in      varchar2 default hr_api.g_varchar2
1574   ,p_attribute11                  in      varchar2 default hr_api.g_varchar2
1575   ,p_attribute12                  in      varchar2 default hr_api.g_varchar2
1576   ,p_attribute13                  in      varchar2 default hr_api.g_varchar2
1577   ,p_attribute14                  in      varchar2 default hr_api.g_varchar2
1578   ,p_attribute15                  in      varchar2 default hr_api.g_varchar2
1579   ,p_attribute16                  in      varchar2 default hr_api.g_varchar2
1580   ,p_attribute17                  in      varchar2 default hr_api.g_varchar2
1581   ,p_attribute18                  in      varchar2 default hr_api.g_varchar2
1582   ,p_attribute19                  in      varchar2 default hr_api.g_varchar2
1583   ,p_attribute20                  in      varchar2 default hr_api.g_varchar2
1584   ,p_attribute21                  in      varchar2 default hr_api.g_varchar2
1585   ,p_attribute22                  in      varchar2 default hr_api.g_varchar2
1586   ,p_attribute23                  in      varchar2 default hr_api.g_varchar2
1587   ,p_attribute24                  in      varchar2 default hr_api.g_varchar2
1588   ,p_attribute25                  in      varchar2 default hr_api.g_varchar2
1589   ,p_attribute26                  in      varchar2 default hr_api.g_varchar2
1590   ,p_attribute27                  in      varchar2 default hr_api.g_varchar2
1591   ,p_attribute28                  in      varchar2 default hr_api.g_varchar2
1592   ,p_attribute29                  in      varchar2 default hr_api.g_varchar2
1593   ,p_attribute30                  in      varchar2 default hr_api.g_varchar2
1594   ,p_per_information_category     in      varchar2 default hr_api.g_varchar2
1595   ,p_per_information1             in      varchar2 default hr_api.g_varchar2
1596   ,p_per_information2             in      varchar2 default hr_api.g_varchar2
1597   ,p_per_information3             in      varchar2 default hr_api.g_varchar2
1598   ,p_per_information4             in      varchar2 default hr_api.g_varchar2
1599   ,p_per_information5             in      varchar2 default hr_api.g_varchar2
1600   ,p_per_information6             in      varchar2 default hr_api.g_varchar2
1601   ,p_per_information7             in      varchar2 default hr_api.g_varchar2
1602   ,p_per_information8             in      varchar2 default hr_api.g_varchar2
1603   ,p_per_information9             in      varchar2 default hr_api.g_varchar2
1604   ,p_per_information10            in      varchar2 default hr_api.g_varchar2
1605   ,p_per_information11            in      varchar2 default hr_api.g_varchar2
1606   ,p_per_information12            in      varchar2 default hr_api.g_varchar2
1607   ,p_per_information13            in      varchar2 default hr_api.g_varchar2
1608   ,p_per_information14            in      varchar2 default hr_api.g_varchar2
1609   ,p_per_information15            in      varchar2 default hr_api.g_varchar2
1610   ,p_per_information16            in      varchar2 default hr_api.g_varchar2
1611   ,p_per_information17            in      varchar2 default hr_api.g_varchar2
1612   ,p_per_information18            in      varchar2 default hr_api.g_varchar2
1613   ,p_per_information19            in      varchar2 default hr_api.g_varchar2
1614   ,p_per_information20            in      varchar2 default hr_api.g_varchar2
1615   ,p_per_information21            in      varchar2 default hr_api.g_varchar2
1616   ,p_per_information22            in      varchar2 default hr_api.g_varchar2
1617   ,p_per_information23            in      varchar2 default hr_api.g_varchar2
1618   ,p_per_information24            in      varchar2 default hr_api.g_varchar2
1619   ,p_per_information25            in      varchar2 default hr_api.g_varchar2
1620   ,p_per_information26            in      varchar2 default hr_api.g_varchar2
1621   ,p_per_information27            in      varchar2 default hr_api.g_varchar2
1622   ,p_per_information28            in      varchar2 default hr_api.g_varchar2
1623   ,p_per_information29            in      varchar2 default hr_api.g_varchar2
1624   ,p_per_information30            in      varchar2 default hr_api.g_varchar2
1625   ,p_effective_start_date         out nocopy     date
1626   ,p_effective_end_date           out nocopy     date
1627   ,p_full_name                    in out nocopy  varchar2
1628   ,p_comment_id                   out nocopy     number
1629   ,p_name_combination_warning     out nocopy     varchar2
1630   ,p_assign_payroll_warning       in out nocopy     varchar2
1631   ,p_orig_hire_warning            out nocopy     varchar2
1632   ,p_save_mode                    in      varchar2 default null
1633   ,p_error_message                out nocopy     long
1634   ,p_ni_duplicate_warn_or_err     in out nocopy varchar2
1635   ,p_validate_ni                  in out nocopy varchar2
1636  ) IS
1637 
1638   CURSOR  get_wf_actid (c_activity_name  in varchar2) IS
1639 --BUG 3636429
1640     SELECT distinct process_activity activity_id
1641      FROM
1642      (
1643      SELECT
1644           ws.process_activity
1645      FROM wf_item_activity_statuses ws
1646        ,wf_process_activities wp
1647      WHERE ws.item_type = p_item_type
1648        AND ws.item_key = p_item_key
1649        AND ws.process_activity = wp.instance_id
1650        AND wp.activity_name = c_activity_name
1651      UNION ALL
1652      SELECT
1653           ws.process_activity
1654      FROM wf_item_activity_statuses_h ws
1655          ,wf_process_activities wp
1656      WHERE ws.item_type = p_item_type
1657        AND ws.item_key = p_item_key
1658        AND ws.process_activity = wp.instance_id
1659        AND wp.activity_name = c_activity_name
1660      );
1661 
1662   cursor check_payroll is
1663   select payroll_id from per_all_assignments_f where
1664   person_id = p_person_id and p_effective_date between
1665   effective_start_date and effective_end_date;
1666 
1667   dummy                           number;
1668   l_is_payroll_upd                    boolean;
1669   l_attribute_update_mode         varchar2(100) default  null;
1670   l_validate_mode                 boolean  default false;
1671   l_basic_details_update_mode     varchar2(100) default  null;
1672   l_form_changed                  boolean default false;
1673   l_count                         number default 0;
1674   l_transaction_table             hr_transaction_ss.transaction_table;
1675   l_trs_object_version_number
1676          hr_api_transaction_steps.object_version_number%type default null;
1677   l_transaction_step_id
1678          hr_api_transaction_steps.transaction_step_id%type default null;
1679   l_transaction_id             number default null;
1680   l_ovn                           number default null;
1681 
1682   l_name_combination_warning      boolean default false;
1683   l_assign_payroll_warning        boolean default false;
1684   l_orig_hire_warning             boolean default false;
1685   l_employee_number               per_all_people_f.employee_number%type
1686                                   default null;
1687   l_effective_start_date          date default null;
1688   l_effective_end_date            date default null;
1689   l_full_name                     per_all_people_f.full_name%type default null;
1690   l_comment_id                    per_all_people_f.comment_id%type default null;
1691   l_basic_details_changed         boolean default null;
1692   l_full_name_duplicate_flag      varchar2(1) default null;
1693   l_vendor_id                     number default null;
1694   l_benefit_group_id              number default null;
1695   l_fte_capacity                  number default null;
1696   l_error_message                 long default null;
1697   l_result                     varchar2(100) default null;
1698   l_review_item_name           varchar2(250);
1699 
1700 -- variables and cursor for applicant_hire
1701   l_per_object_version_number number;
1702   l_per_effective_start_date date;
1703   l_per_effective_end_date date;
1704   l_appl_assignment_id number;
1705   l_unaccepted_asg_del_warning boolean;
1706   l_per_assign_payroll_warning boolean;
1707   l_current_applicant_flag  per_all_people_f.current_applicant_flag%type;
1708   l_current_employee_flag  per_all_people_f.current_employee_flag%type;
1709   l_current_npw_flag per_all_people_f.current_npw_flag%type;
1710   l_person_type_id per_all_people_f.person_type_id%type;
1711   l_proc   varchar2(72)  := g_package||'update_person';
1712   l_comments varchar2(100) := hr_api.g_varchar2;
1713 
1714 BEGIN
1715 
1716 
1717 hr_utility.set_location('Entering:'||l_proc, 5);
1718 IF g_debug THEN
1719   hr_utility.set_location('IF g_debug THEN', 10);
1720 END IF;
1721 
1722 
1723   IF upper(p_action_type) = g_change
1724   THEN
1725      hr_utility.set_location('IF Action Type=g_change', 15);
1726      l_attribute_update_mode := g_attribute_update;
1727   ELSE
1728      IF upper(p_action_type) = g_correct
1729      THEN
1730         hr_utility.set_location('IF Action Type=g_correct', 20);
1731         l_attribute_update_mode := g_attribute_correct;
1732      END IF;
1733   END IF;
1734 
1735 
1736 IF g_debug THEN
1737     hr_utility.set_location('l_attribute_update_mode=' || l_attribute_update_mode, 20);
1738 END IF;
1739 
1740 
1741 
1742   l_ovn := p_object_version_number;
1743   l_employee_number := p_employee_number;
1744   l_person_type_id := p_person_type_id;
1745 
1746 -- Java caller will set p_vendor_id, p_benefit_group_id and p_fte_capacity to
1747 -- hr_api.g_number value.  We need to set these back to null before saving to
1748 -- transaction table.
1749 
1750    IF p_vendor_id = 0
1751    THEN
1752       hr_utility.set_location('p_vendor_id = 0:'||l_proc,25);
1753       l_vendor_id := null;
1754    ELSE
1755       hr_utility.set_location('p_vendor_id != 0:'||l_proc,30);
1756       l_vendor_id := p_vendor_id;
1757    END IF;
1758 --
1759    IF p_benefit_group_id = 0
1760    THEN
1761       l_benefit_group_id := null;
1762    ELSE
1763       l_benefit_group_id := p_benefit_group_id;
1764    END IF;
1765 --
1766    IF p_fte_capacity = 0
1767    THEN
1768       l_fte_capacity := null;
1769    ELSE
1770       l_fte_capacity := p_fte_capacity;
1771    END IF;
1772 
1773 -- This procedure can be called by Update Basic Details entry page only.
1774 --
1775 -- The field "p_process_section_name" will be set to 'BASIC_DETAILS' if called
1776 -- from Update Basic Details page to transition to the Review page.
1777 --
1778 -- We will always save to transaction table regardless of whether the update is
1779 -- for approval or not.  Therefore, the validate_mode for calling the person
1780 -- api should always be set to true.
1781 --
1782    IF p_validate_mode = 'N' OR p_validate_mode IS NULL
1783    THEN
1784       l_validate_mode := false;
1785    ELSE
1786       l_validate_mode := true;
1787    END IF;
1788 
1789 -- Save for later changes.
1790    IF (p_save_mode = 'SAVE_FOR_LATER') THEN
1791        hr_utility.set_location('save mode is SFL'||l_proc,35);
1792        GOTO only_transaction;
1793    END IF;
1794 
1795 --
1796 
1797   -- In case of hiring an applicant, we need to call the hr_applicant_api to
1798   -- make the applicant an employee and then update the BD record and made
1799   -- this call before is_basic_details_changed, so that the person_type_id
1800   -- is always changed and we write to transaction tables
1801 
1802    hr_utility.set_location('Open:gc_get_current_applicant_flag'||l_proc,40);
1803    open gc_get_current_applicant_flag(p_person_id, p_effective_date);
1804    fetch gc_get_current_applicant_flag into l_current_applicant_flag, l_current_employee_flag, l_current_npw_flag;
1805    close gc_get_current_applicant_flag;
1806 
1807   -- get the assignment_id from workflow
1808    l_appl_assignment_id := wf_engine.getItemAttrText(
1809     itemtype  => p_item_type,
1810     itemkey   => p_item_key,
1811     aname     => 'CURRENT_ASSIGNMENT_ID');
1812 
1813    l_per_object_version_number := l_ovn;
1814 
1815    --call the hr_applicant_api.hire_applicant in commit mode
1816    -- and get the person type and store it in transaction tables
1817 
1818    if (l_current_applicant_flag = 'Y' AND
1819       nvl(l_current_employee_flag, 'N') <>  'Y' AND
1820       nvl(l_current_npw_flag, 'N') <> 'Y') then
1821      g_applicant_hire := true;
1822 
1823      hr_utility.set_location(' SAVEPOINT applicant_hire:'||l_proc,45);
1824      SAVEPOINT applicant_hire;
1825 
1826      open check_payroll;
1827      fetch check_payroll into dummy;
1828      if dummy is not null then
1829        process_applicant(
1830         p_effective_date  =>    p_effective_date
1831        ,p_person_id     =>  p_person_id
1832        ,p_assignment_id     =>  l_appl_assignment_id
1833        ,p_business_group_id =>  p_business_group_id
1834        ,p_is_payroll_upd => l_is_payroll_upd);
1835      end if;
1836      close check_payroll;
1837 
1838      hr_applicant_api.hire_applicant(
1839       p_validate => false
1840      ,p_hire_date => p_effective_date
1841      ,p_person_id => p_person_id
1842      ,p_per_object_version_number => l_per_object_version_number
1843      ,p_assignment_id =>  l_appl_assignment_id
1844      ,p_employee_number => l_employee_number
1845      ,p_per_effective_start_date => l_per_effective_start_date
1846      ,p_per_effective_end_date => l_per_effective_end_date
1847      ,p_unaccepted_asg_del_warning  => l_unaccepted_asg_del_warning
1848      ,p_assign_payroll_warning => l_assign_payroll_warning
1849      ,p_source => true);
1850 
1851 
1852      ROLLBACK TO applicant_hire;
1853      g_applicant_hire := false;
1854 
1855    end if;
1856 
1857   ---------------------------------------------------------------------------
1858     -- Bug 1937643 Fix Begins - 08/04/2002
1859     -- With the PTU model, the per_all_people_f.person_type_id stores only the
1860     -- default user flavor of the system_person_type.  The true user flavor
1861     -- for the system_person_type is stored in per_person_type_usages_f table.
1862     -- Since the current Personal Information Basic Details region and the
1863     -- New Hire page does not allow a user to choose any user flavor, so we'll
1864     -- zap the p_person_type_id to hr_api.g_number value when it is not an
1865     -- applicant when calling the hr_person_api.update_person. That way, the api
1866     -- will understand that the person_type is not changed and will not update
1867     -- the person_type_id in per_person_type_usages_f table as is.  If we pass
1868     -- the per_all_people_f.person_type_id to the api, the person_type_id in
1869     -- per_person_type_usages_f table will be updated with that value which will
1870     -- overwrite the true user flavor of the system person type with the
1871     -- default user flavor person type.  This may not be desirable.
1872     -- When we allow a user to select user flavors of person type in New Hire
1873     -- or Basic Details page, the code to pass hr_api.g_number in
1874     -- p_person_type_id for non-applicant needs to change.
1875     ---------------------------------------------------------------------------
1876 
1877 
1878 
1879    IF (l_current_applicant_flag = 'Y' AND
1880       nvl(l_current_employee_flag, 'N') <>  'Y' AND
1881       nvl(l_current_npw_flag, 'N') <> 'Y')
1882    THEN
1883     -- get the person_type_id for the applicant from database
1884       hr_utility.set_location('Fetching gc_get_new_appl_person_type into l_person_type_id:'||l_proc,50);
1885       open gc_get_new_appl_person_type(p_person_id, p_effective_date);
1886       fetch gc_get_new_appl_person_type into l_person_type_id;
1887       close gc_get_new_appl_person_type;
1888    ELSE
1889        l_person_type_id := hr_api.g_number;
1890    END IF;
1891 
1892 -- Bug 1937643 Fix END
1893 
1894 
1895 
1896 IF g_debug THEN
1897   hr_utility.set_location('Before calling is_rec_changed', 55);
1898 END IF;
1899 
1900 
1901   -- Check if the record has changed
1902   l_basic_details_changed := hr_process_person_ss.is_rec_changed
1903     (p_effective_date              => p_effective_date
1904     ,p_person_id                   => p_person_id
1905     ,p_object_version_number       => p_object_version_number
1906     ,p_person_type_id              => p_person_type_id
1907     ,p_last_name                   => p_last_name
1908     ,p_applicant_number            => p_applicant_number
1909     ,p_comments                    => l_comments
1910     ,p_date_employee_data_verified => p_date_employee_data_verified
1911     ,p_original_date_of_hire       => p_original_date_of_hire
1912     ,p_date_of_birth               => p_date_of_birth
1913     ,p_town_of_birth               => p_town_of_birth
1914     ,p_region_of_birth             => p_region_of_birth
1915     ,p_country_of_birth            => p_country_of_birth
1916     ,p_global_person_id            => p_global_person_id
1917     ,p_email_address               => p_email_address
1918     ,p_employee_number             => p_employee_number
1919     ,p_npw_number                  => p_npw_number
1920     ,p_expense_check_send_to_addres => p_expense_check_send_to_addres
1921     ,p_first_name                  => p_first_name
1922     ,p_known_as                    => p_known_as
1923     ,p_marital_status              => p_marital_status
1924     ,p_middle_names                => p_middle_names
1925     ,p_nationality                 => p_nationality
1926     ,p_national_identifier         => p_national_identifier
1927     ,p_previous_last_name          => p_previous_last_name
1928     ,p_registered_disabled_flag    => p_registered_disabled_flag
1929     ,p_sex                         => p_sex
1930     ,p_title                       => p_title
1931     ,p_vendor_id                   => l_vendor_id
1932     ,p_work_telephone              => p_work_telephone
1933     ,p_suffix                      => p_suffix
1934     ,p_date_of_death               => p_date_of_death
1935     ,p_background_check_status     => p_background_check_status
1936     ,p_background_date_check       => p_background_date_check
1937     ,p_blood_type                  => p_blood_type
1938     ,p_correspondence_language     => p_correspondence_language
1939     ,p_fast_path_employee          => p_fast_path_employee
1940     ,p_fte_capacity                => l_fte_capacity
1941     ,p_hold_applicant_date_until   => p_hold_applicant_date_until
1942     ,p_honors                      => p_honors
1943     ,p_internal_location           => p_internal_location
1944     ,p_last_medical_test_by        => p_last_medical_test_by
1945     ,p_last_medical_test_date      => p_last_medical_test_date
1946     ,p_mailstop                    => p_mailstop
1947     ,p_office_number               => p_office_number
1948     ,p_on_military_service         => p_on_military_service
1949     ,p_pre_name_adjunct            => p_pre_name_adjunct
1950     ,p_projected_start_date        => p_projected_start_date
1951     ,p_rehire_authorizor           => p_rehire_authorizor
1952     ,p_rehire_recommendation       => p_rehire_recommendation
1953     ,p_resume_exists               => p_resume_exists
1954     ,p_resume_last_updated         => p_resume_last_updated
1955     ,p_second_passport_exists      => p_second_passport_exists
1956     ,p_student_status              => p_student_status
1957     ,p_work_schedule               => p_work_schedule
1958     ,p_rehire_reason               => p_rehire_reason
1959     ,p_benefit_group_id            => l_benefit_group_id
1960     ,p_receipt_of_death_cert_date  => p_receipt_of_death_cert_date
1961     ,p_coord_ben_med_pln_no        => p_coord_ben_med_pln_no
1962     ,p_coord_ben_no_cvg_flag       => p_coord_ben_no_cvg_flag
1963     ,p_uses_tobacco_flag           => p_uses_tobacco_flag
1964     ,p_dpdnt_adoption_date         => p_dpdnt_adoption_date
1965     ,p_dpdnt_vlntry_svce_flag      => p_dpdnt_vlntry_svce_flag
1966     ,p_adjusted_svc_date           => p_adjusted_svc_date
1967     ,p_attribute_category          => p_attribute_category
1968     ,p_attribute1                  => p_attribute1
1969     ,p_attribute2                  => p_attribute2
1970     ,p_attribute3                  => p_attribute3
1971     ,p_attribute4                  => p_attribute4
1972     ,p_attribute5                  => p_attribute5
1973     ,p_attribute6                  => p_attribute6
1974     ,p_attribute7                  => p_attribute7
1975     ,p_attribute8                  => p_attribute8
1976     ,p_attribute9                  => p_attribute9
1977     ,p_attribute10                 => p_attribute10
1978     ,p_attribute11                 => p_attribute11
1979     ,p_attribute12                 => p_attribute12
1980     ,p_attribute13                 => p_attribute13
1981     ,p_attribute14                 => p_attribute14
1982     ,p_attribute15                 => p_attribute15
1983     ,p_attribute16                 => p_attribute16
1984     ,p_attribute17                 => p_attribute17
1985     ,p_attribute18                 => p_attribute18
1986     ,p_attribute19                 => p_attribute19
1987     ,p_attribute20                 => p_attribute20
1988     ,p_attribute21                 => p_attribute21
1989     ,p_attribute22                 => p_attribute22
1990     ,p_attribute23                 => p_attribute23
1991     ,p_attribute24                 => p_attribute24
1992     ,p_attribute25                 => p_attribute25
1993     ,p_attribute26                 => p_attribute26
1994     ,p_attribute27                 => p_attribute27
1995     ,p_attribute28                 => p_attribute28
1996     ,p_attribute29                 => p_attribute29
1997     ,p_attribute30                 => p_attribute30
1998     ,p_per_information_category    => p_per_information_category
1999     ,p_per_information1            => p_per_information1
2000     ,p_per_information2            => p_per_information2
2001     ,p_per_information3            => p_per_information3
2002     ,p_per_information4            => p_per_information4
2003     ,p_per_information5            => p_per_information5
2004     ,p_per_information6            => p_per_information6
2005     ,p_per_information7            => p_per_information7
2006     ,p_per_information8            => p_per_information8
2007     ,p_per_information9            => p_per_information9
2008     ,p_per_information10           => p_per_information10
2009     ,p_per_information11           => p_per_information11
2010     ,p_per_information12           => p_per_information12
2011     ,p_per_information13           => p_per_information13
2012     ,p_per_information14           => p_per_information14
2013     ,p_per_information15           => p_per_information15
2014     ,p_per_information16           => p_per_information16
2015     ,p_per_information17           => p_per_information17
2016     ,p_per_information18           => p_per_information18
2017     ,p_per_information19           => p_per_information19
2018     ,p_per_information20           => p_per_information20
2019     ,p_per_information21           => p_per_information21
2020     ,p_per_information22           => p_per_information22
2021     ,p_per_information23           => p_per_information23
2022     ,p_per_information24           => p_per_information24
2023     ,p_per_information25           => p_per_information25
2024     ,p_per_information26           => p_per_information26
2025     ,p_per_information27           => p_per_information27
2026     ,p_per_information28           => p_per_information28
2027     ,p_per_information29           => p_per_information29
2028     ,p_per_information30           => p_per_information30
2029     );
2030   --
2031   IF l_basic_details_changed
2032   THEN
2033      null;
2034   ELSE
2035      hr_utility.set_location('raise hr_perinfo_util_web.g_no_changes:'||l_proc,60);
2036      raise hr_perinfo_util_web.g_no_changes;
2037      GOTO no_transaction;
2038   END IF;
2039 
2040 
2041   if(p_assign_payroll_warning = 'Y') then
2042     hr_utility.set_location('p_assign_payroll_warning = Y:'||l_proc,65);
2043     l_assign_payroll_warning := true;
2044   end if;
2045 
2046   --
2047 
2048   -- For National Identifier validations
2049    if (l_current_applicant_flag = 'Y' AND
2050      nvl(l_current_employee_flag, 'N') <>  'Y' AND
2051      nvl(l_current_npw_flag, 'N') <> 'Y')
2052    then
2053      if(p_ni_duplicate_warn_or_err <> 'IGNORE') then
2054         hr_person_info_util_ss.check_ni_unique(
2055         p_national_identifier => p_national_identifier
2056        ,p_business_group_id => p_business_group_id
2057        ,p_person_id => p_person_id
2058        ,p_ni_duplicate_warn_or_err => p_ni_duplicate_warn_or_err);
2059      end if;
2060 
2061      if(p_validate_ni <> 'IGNORE') then
2062 	hr_utility.set_location('p_validate_ni <> IGNORE:'||l_proc,70);
2063     hr_person_info_util_ss.validate_national_identifier(
2064 	p_national_identifier => p_national_identifier
2065        ,p_birth_date => p_date_of_birth
2066        ,p_gender => p_sex
2067        ,p_person_id => p_person_id
2068        ,p_business_group_id => p_business_group_id
2069        ,p_legislation_code => p_per_information_category
2070        ,p_effective_date => p_effective_date
2071        ,p_warning => p_validate_ni);
2072      end if;
2073   end if;
2074 
2075   validate_basic_details
2076     (p_validate_mode               => l_validate_mode
2077     ,p_attribute_update_mode       => l_attribute_update_mode
2078     ,p_effective_date              => p_effective_date
2079     ,p_person_id                   => p_person_id
2080     ,p_object_version_number       => l_ovn
2081     ,p_person_type_id              => l_person_type_id
2082     ,p_last_name                   => p_last_name
2083     ,p_applicant_number            => p_applicant_number
2084     ,p_comments                    => l_comments
2085     ,p_date_employee_data_verified => p_date_employee_data_verified
2086     ,p_original_date_of_hire       => p_original_date_of_hire
2087     ,p_date_of_birth               => p_date_of_birth
2088     ,p_town_of_birth               => p_town_of_birth
2089     ,p_region_of_birth             => p_region_of_birth
2090     ,p_country_of_birth            => p_country_of_birth
2091     ,p_global_person_id            => p_global_person_id
2092     ,p_email_address               => p_email_address
2093     ,p_employee_number             => l_employee_number
2094     ,p_npw_number                  => p_npw_number
2095     ,p_expense_check_send_to_addres => p_expense_check_send_to_addres
2096     ,p_first_name                  => p_first_name
2097     ,p_known_as                    => p_known_as
2098     ,p_marital_status              => p_marital_status
2099     ,p_middle_names                => p_middle_names
2100     ,p_nationality                 => p_nationality
2101     ,p_national_identifier         => p_national_identifier
2102     ,p_previous_last_name          => p_previous_last_name
2103     ,p_registered_disabled_flag    => p_registered_disabled_flag
2104     ,p_sex                         => p_sex
2105     ,p_title                       => p_title
2106     ,p_vendor_id                   => l_vendor_id
2107     ,p_work_telephone              => p_work_telephone
2108     ,p_suffix                      => p_suffix
2109     ,p_date_of_death               => p_date_of_death
2110     ,p_background_check_status     => p_background_check_status
2111     ,p_background_date_check       => p_background_date_check
2112     ,p_blood_type                  => p_blood_type
2113     ,p_correspondence_language     => p_correspondence_language
2114     ,p_fast_path_employee          => p_fast_path_employee
2115     ,p_fte_capacity                => l_fte_capacity
2116     ,p_hold_applicant_date_until   => p_hold_applicant_date_until
2117     ,p_honors                      => p_honors
2118     ,p_internal_location           => p_internal_location
2119     ,p_last_medical_test_by        => p_last_medical_test_by
2120     ,p_last_medical_test_date      => p_last_medical_test_date
2121     ,p_mailstop                    => p_mailstop
2122     ,p_office_number               => p_office_number
2123     ,p_on_military_service         => p_on_military_service
2124     ,p_pre_name_adjunct            => p_pre_name_adjunct
2125     ,p_projected_start_date        => p_projected_start_date
2126     ,p_rehire_authorizor           => p_rehire_authorizor
2127     ,p_rehire_recommendation       => p_rehire_recommendation
2128     ,p_resume_exists               => p_resume_exists
2129     ,p_resume_last_updated         => p_resume_last_updated
2130     ,p_second_passport_exists      => p_second_passport_exists
2131     ,p_student_status              => p_student_status
2132     ,p_work_schedule               => p_work_schedule
2133     ,p_rehire_reason               => p_rehire_reason
2134     ,p_benefit_group_id            => l_benefit_group_id
2135     ,p_receipt_of_death_cert_date  => p_receipt_of_death_cert_date
2136     ,p_coord_ben_med_pln_no        => p_coord_ben_med_pln_no
2137     ,p_coord_ben_no_cvg_flag       => p_coord_ben_no_cvg_flag
2138     ,p_uses_tobacco_flag           => p_uses_tobacco_flag
2139     ,p_dpdnt_adoption_date         => p_dpdnt_adoption_date
2140     ,p_dpdnt_vlntry_svce_flag      => p_dpdnt_vlntry_svce_flag
2141     ,p_adjusted_svc_date           => p_adjusted_svc_date
2142     ,p_attribute_category          => p_attribute_category
2143     ,p_attribute1                  => p_attribute1
2144     ,p_attribute2                  => p_attribute2
2145     ,p_attribute3                  => p_attribute3
2146     ,p_attribute4                  => p_attribute4
2147     ,p_attribute5                  => p_attribute5
2148     ,p_attribute6                  => p_attribute6
2149     ,p_attribute7                  => p_attribute7
2150     ,p_attribute8                  => p_attribute8
2151     ,p_attribute9                  => p_attribute9
2152     ,p_attribute10                 => p_attribute10
2153     ,p_attribute11                 => p_attribute11
2154     ,p_attribute12                 => p_attribute12
2155     ,p_attribute13                 => p_attribute13
2156     ,p_attribute14                 => p_attribute14
2157     ,p_attribute15                 => p_attribute15
2158     ,p_attribute16                 => p_attribute16
2159     ,p_attribute17                 => p_attribute17
2160     ,p_attribute18                 => p_attribute18
2161     ,p_attribute19                 => p_attribute19
2162     ,p_attribute20                 => p_attribute20
2163     ,p_attribute21                 => p_attribute21
2164     ,p_attribute22                 => p_attribute22
2165     ,p_attribute23                 => p_attribute23
2166     ,p_attribute24                 => p_attribute24
2167     ,p_attribute25                 => p_attribute25
2168     ,p_attribute26                 => p_attribute26
2169     ,p_attribute27                 => p_attribute27
2170     ,p_attribute28                 => p_attribute28
2171     ,p_attribute29                 => p_attribute29
2172     ,p_attribute30                 => p_attribute30
2173     ,p_per_information_category    => p_per_information_category
2174     ,p_per_information1            => p_per_information1
2175     ,p_per_information2            => p_per_information2
2176     ,p_per_information3            => p_per_information3
2177     ,p_per_information4            => p_per_information4
2178     ,p_per_information5            => p_per_information5
2179     ,p_per_information6            => p_per_information6
2180     ,p_per_information7            => p_per_information7
2181     ,p_per_information8            => p_per_information8
2182     ,p_per_information9            => p_per_information9
2183     ,p_per_information10           => p_per_information10
2184     ,p_per_information11           => p_per_information11
2185     ,p_per_information12           => p_per_information12
2186     ,p_per_information13           => p_per_information13
2187     ,p_per_information14           => p_per_information14
2188     ,p_per_information15           => p_per_information15
2189     ,p_per_information16           => p_per_information16
2190     ,p_per_information17           => p_per_information17
2191     ,p_per_information18           => p_per_information18
2192     ,p_per_information19           => p_per_information19
2193     ,p_per_information20           => p_per_information20
2194     ,p_per_information21           => p_per_information21
2195     ,p_per_information22           => p_per_information22
2196     ,p_per_information23           => p_per_information23
2197     ,p_per_information24           => p_per_information24
2198     ,p_per_information25           => p_per_information25
2199     ,p_per_information26           => p_per_information26
2200     ,p_per_information27           => p_per_information27
2201     ,p_per_information28           => p_per_information28
2202     ,p_per_information29           => p_per_information29
2203     ,p_per_information30           => p_per_information30
2204     ,p_effective_start_date        => l_effective_start_date
2205     ,p_effective_end_date          => l_effective_end_date
2206     ,p_full_name                   => l_full_name
2207     ,p_comment_id                  => l_comment_id
2208     ,p_name_combination_warning    => l_name_combination_warning
2209     ,p_assign_payroll_warning      => l_assign_payroll_warning
2210     ,p_orig_hire_warning           => l_orig_hire_warning
2211     ,p_error_message               => l_error_message
2212    );
2213 
2214 
2215 IF g_debug THEN
2216   hr_utility.set_location('After calling validate_basic_details', 75);
2217 END IF;
2218 
2219 
2220 --
2221   IF (l_error_message IS NOT NULL) THEN
2222      hr_utility.set_location('l_error_message IS NOT NULL:'||l_proc,80);
2223      raise hr_process_person_ss.g_validate_basic_details_error;
2224   END IF;
2225 
2226 --
2227   IF hr_errors_api.errorExists
2228   THEN
2229 
2230 IF g_debug THEN
2231      hr_utility.set_location('api error exists', 85);
2232 END IF;
2233 
2234      raise g_data_error;
2235   END IF;
2236 --
2237 
2238 --
2239 -------------------------------------------------------------------------------
2240 -- We use the p_actid passed in because only in the Update page will it call
2241 -- this update_person procedure.
2242 --
2243 -- Now save the data to transaction table.  When coming from Update Basic
2244 -- Details first time, a transaction step won't exit.  We'll save to
2245 -- transaction table.  Then displays the Review page.  A user can press back to
2246 -- go back to Update Basic Details and enters some more changes or correct typo
2247 -- errors. At this point, a transaction step already exists.
2248 -- Before saving to the transaction table, we need to see if a transaction step
2249 -- already exists or not.  This could happen when a user enters data to Update
2250 -- Basic Details --> Next --> Review Page --> Back to Update Basic Details to
2251 -- correct wrong entry or to make further changes --> Next --> Review Page.
2252 -- Use the activity_id to check if a transaction step already
2253 -- exists.
2254 -------------------------------------------------------------------------------
2255 
2256   <<only_transaction>> -- label for GOTO
2257 
2258 -- Set the P_EFFECTIVE_DATE and CURRENT_EFFECTIVE_DATE in wf item attributes to be retreived
2259 -- in review page
2260 
2261        wf_engine.setItemAttrText (itemtype => p_item_type,
2262                            itemkey  => p_item_key,
2263                            aname    => 'P_EFFECTIVE_DATE',
2264                            avalue   =>  to_char(p_effective_date,
2265                                         g_date_format));
2266 
2267        wf_engine.setItemAttrDate (itemtype => p_item_type,
2268                            itemkey  => p_item_key,
2269                            aname    => 'CURRENT_EFFECTIVE_DATE',
2270                            avalue   =>  p_effective_date);
2271 
2272   --
2273   -- First, check if transaction id exists or not
2274   --
2275   l_transaction_id := hr_transaction_ss.get_transaction_id
2276                      (p_item_type   => p_item_type
2277                      ,p_item_key    => p_item_key);
2278        --
2279   IF l_transaction_id is null THEN
2280 
2281         -- Start a Transaction
2282 
2283      hr_transaction_ss.start_transaction
2284            (itemtype   => p_item_type
2285            ,itemkey    => p_item_key
2286            ,actid      => p_actid
2287            ,funmode    => 'RUN'
2288            ,p_login_person_id => p_login_person_id
2289            ,result     => l_result);
2290 
2291      l_transaction_id := hr_transaction_ss.get_transaction_id
2292                         (p_item_type   => p_item_type
2293                         ,p_item_key    => p_item_key);
2294   END IF;
2295   --
2296   -- Create a transaction step
2297   --
2298      hr_transaction_api.create_transaction_step
2299            (p_validate              => false
2300            ,p_creator_person_id     => p_login_person_id
2301            ,p_transaction_id        => l_transaction_id
2302            ,p_api_name              => g_package || 'PROCESS_API'
2303            ,p_item_type             => p_item_type
2304            ,p_item_key              => p_item_key
2305            ,p_activity_id           => p_actid
2306            ,p_transaction_step_id   => l_transaction_step_id
2307            ,p_object_version_number => l_trs_object_version_number);
2308  --
2309 
2310 --
2311 --
2312   l_count := 1;
2313   l_transaction_table(l_count).param_name := 'P_ITEM_TYPE';
2314   l_transaction_table(l_count).param_value := p_item_type;
2315   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
2316 --
2317   l_count := l_count + 1;
2318   l_transaction_table(l_count).param_name := 'P_ITEM_KEY';
2319   l_transaction_table(l_count).param_value := p_item_key;
2320   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
2321 --
2322   l_count := l_count + 1;
2323   l_transaction_table(l_count).param_name := 'P_ACTIVITY_ID';
2324   l_transaction_table(l_count).param_value := p_actid;
2325   l_transaction_table(l_count).param_data_type := 'NUMBER';
2326 --
2327   l_count := l_count + 1;
2328   l_transaction_table(l_count).param_name := 'P_PROCESS_SECTION_NAME';
2329   l_transaction_table(l_count).param_value := p_process_section_name;
2330   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
2331 --
2332   l_count := l_count + 1;
2333   l_transaction_table(l_count).param_name := 'P_ACTION_TYPE';
2334   l_transaction_table(l_count).param_value := p_action_type;
2335   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
2336 --
2337   l_count := l_count + 1;
2338   l_transaction_table(l_count).param_name := 'P_EFFECTIVE_DATE';
2339   l_transaction_table(l_count).param_value := to_char(p_effective_date,
2340                                               hr_transaction_ss.g_date_format);
2341   l_transaction_table(l_count).param_data_type := 'DATE';
2342 --
2343 -- Store the hire date in p_date_start to be shown as HireDate
2344 -- in review page for applicant hire.
2345   l_count := l_count + 1;
2346   l_transaction_table(l_count).param_name := 'P_DATE_START';
2347   l_transaction_table(l_count).param_value := to_char(p_effective_date,
2348                                               hr_transaction_ss.g_date_format);
2349   l_transaction_table(l_count).param_data_type := 'DATE';
2350 --
2351   l_count := l_count + 1;
2352   l_transaction_table(l_count).param_name := 'P_ATTRIBUTE_UPDATE_MODE';
2353   l_transaction_table(l_count).param_value := l_attribute_update_mode;
2354   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
2355 --
2356 -- We don't want to derive the business_group_id because we want to save a
2357 -- db sql statement call to improve the performance.
2358   l_count := l_count + 1;
2359   l_transaction_table(l_count).param_name := 'P_BUSINESS_GROUP_ID';
2360   l_transaction_table(l_count).param_value := p_business_group_id;
2361   l_transaction_table(l_count).param_data_type := 'NUMBER';
2362 --
2363   l_count := l_count + 1;
2364   l_transaction_table(l_count).param_name := 'P_PERSON_ID';
2365   l_transaction_table(l_count).param_value := p_person_id;
2366   l_transaction_table(l_count).param_data_type := 'NUMBER';
2367 --
2368   l_count := l_count + 1;
2369   l_transaction_table(l_count).param_name := 'P_OBJECT_VERSION_NUMBER';
2370   l_transaction_table(l_count).param_value := p_object_version_number;
2371   l_transaction_table(l_count).param_data_type := 'NUMBER';
2372 --
2373   l_count := l_count + 1;
2374   l_transaction_table(l_count).param_name := 'P_PERSON_TYPE_ID';
2375   l_transaction_table(l_count).param_value := p_person_type_id;
2376   l_transaction_table(l_count).param_data_type := 'NUMBER';
2377 --
2378   l_count := l_count + 1;
2379   l_transaction_table(l_count).param_name := 'P_LAST_NAME';
2380   l_transaction_table(l_count).param_value := p_last_name;
2381   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
2382 --
2383 --
2384 ------------------------------------------------------------------------------
2385 --NOTE: When we save to transaction table, we need to convert all number and
2386 --      date data type to varchar2 because the transaction table is defined as
2387 --      varchar2 for the param_value.  Otherwise, we will get ORA 06502:PL/SQL
2388 --      numeric or value error, character conversion to number because in
2389 --      hr_transaction_ss.save_transaction_step, it uses a to_number function
2390 --      to convert the param_value from char to num for param_type = 'NUMBER'.
2391 ------------------------------------------------------------------------------
2392   l_count := l_count + 1;
2393   l_transaction_table(l_count).param_name := 'P_FULL_NAME';
2394   l_transaction_table(l_count).param_value := l_full_name;
2395   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
2396 --
2397   l_count := l_count + 1;
2398   l_transaction_table(l_count).param_name := 'P_APPLICANT_NUMBER';
2399   l_transaction_table(l_count).param_value := p_applicant_number;
2400   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
2401 --
2402   l_count := l_count + 1;
2403   l_transaction_table(l_count).param_name := 'P_COMMENTS';
2404   l_transaction_table(l_count).param_value := l_comments;
2405   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
2406 --
2407   l_count := l_count + 1;
2408   l_transaction_table(l_count).param_name := 'P_DATE_EMPLOYEE_DATA_VERIFIED';
2409   l_transaction_table(l_count).param_value := to_char
2410                                               (p_date_employee_data_verified
2411                                               ,hr_transaction_ss.g_date_format);
2412   l_transaction_table(l_count).param_data_type := 'DATE';
2413 --
2414   l_count := l_count + 1;
2415   l_transaction_table(l_count).param_name := 'P_ORIGINAL_DATE_OF_HIRE';
2416   l_transaction_table(l_count).param_value := to_char
2417                                              (p_original_date_of_hire
2418                                              ,hr_transaction_ss.g_date_format);
2419   l_transaction_table(l_count).param_data_type := 'DATE';
2420 --
2421   l_count := l_count + 1;
2422   l_transaction_table(l_count).param_name := 'P_DATE_OF_BIRTH';
2423   l_transaction_table(l_count).param_value := to_char
2424                                               (p_date_of_birth
2425                                               ,hr_transaction_ss.g_date_format);
2426   l_transaction_table(l_count).param_data_type := 'DATE';
2427 --
2428   l_count := l_count + 1;
2429   l_transaction_table(l_count).param_name := 'P_TOWN_OF_BIRTH';
2430   l_transaction_table(l_count).param_value := p_town_of_birth;
2431   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
2432 --
2433   l_count := l_count + 1;
2434   l_transaction_table(l_count).param_name := 'P_REGION_OF_BIRTH';
2435   l_transaction_table(l_count).param_value := p_region_of_birth;
2436   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
2437 --
2438   l_count := l_count + 1;
2439   l_transaction_table(l_count).param_name := 'P_COUNTRY_OF_BIRTH';
2440   l_transaction_table(l_count).param_value := p_country_of_birth;
2441   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
2442 --
2443   l_count := l_count + 1;
2444   l_transaction_table(l_count).param_name := 'P_GLOBAL_PERSON_ID';
2445   l_transaction_table(l_count).param_value := p_global_person_id;
2446   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
2447 --
2448   l_count := l_count + 1;
2449   l_transaction_table(l_count).param_name := 'P_EMAIL_ADDRESS';
2450   l_transaction_table(l_count).param_value := p_email_address;
2451   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
2452 --
2453   l_count := l_count + 1;
2454   l_transaction_table(l_count).param_name := 'P_EMPLOYEE_NUMBER';
2455   l_transaction_table(l_count).param_value := p_employee_number;
2456   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
2457 --
2458   l_count := l_count + 1;
2459   l_transaction_table(l_count).param_name := 'P_NPW_NUMBER';
2460   l_transaction_table(l_count).param_value := p_npw_number;
2461   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
2462 --
2463   l_count := l_count + 1;
2464   l_transaction_table(l_count).param_name := 'P_EXPENSE_CHECK_SEND_TO_ADDRES';
2465   l_transaction_table(l_count).param_value := p_expense_check_send_to_addres;
2466   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
2467 --
2468   l_count := l_count + 1;
2469   l_transaction_table(l_count).param_name := 'P_FIRST_NAME';
2470   l_transaction_table(l_count).param_value := p_first_name;
2471   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
2472 --
2473   l_count := l_count + 1;
2474   l_transaction_table(l_count).param_name := 'P_KNOWN_AS';
2475   l_transaction_table(l_count).param_value := p_known_as;
2476   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
2477 --
2478   l_count := l_count + 1;
2479   l_transaction_table(l_count).param_name := 'P_MARITAL_STATUS';
2480   l_transaction_table(l_count).param_value := p_marital_status;
2481   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
2482 --
2483   l_count := l_count + 1;
2484   l_transaction_table(l_count).param_name := 'P_MIDDLE_NAMES';
2485   l_transaction_table(l_count).param_value := p_middle_names;
2486   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
2487 --
2488   l_count := l_count + 1;
2489   l_transaction_table(l_count).param_name := 'P_NATIONALITY';
2490   l_transaction_table(l_count).param_value := p_nationality;
2491   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
2492 --
2493   l_count := l_count + 1;
2494   l_transaction_table(l_count).param_name := 'P_NATIONAL_IDENTIFIER';
2495   l_transaction_table(l_count).param_value := p_national_identifier;
2496   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
2497 --
2498   l_count := l_count + 1;
2499   l_transaction_table(l_count).param_name := 'P_PREVIOUS_LAST_NAME';
2500   l_transaction_table(l_count).param_value := p_previous_last_name;
2501   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
2502 --
2503   l_count := l_count + 1;
2504   l_transaction_table(l_count).param_name := 'P_REGISTERED_DISABLED_FLAG';
2505   l_transaction_table(l_count).param_value := p_registered_disabled_flag;
2506   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
2507 --
2508   l_count := l_count + 1;
2509   l_transaction_table(l_count).param_name := 'P_SEX';
2510   l_transaction_table(l_count).param_value := p_sex;
2511   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
2512 --
2513   l_count := l_count + 1;
2514   l_transaction_table(l_count).param_name := 'P_TITLE';
2515   l_transaction_table(l_count).param_value := p_title;
2516   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
2517 --
2518   l_count := l_count + 1;
2519   l_transaction_table(l_count).param_name := 'P_VENDOR_ID';
2520   l_transaction_table(l_count).param_value := to_char(l_vendor_id);
2521   l_transaction_table(l_count).param_data_type := 'NUMBER';
2522 --
2523   l_count := l_count + 1;
2524   l_transaction_table(l_count).param_name := 'P_WORK_TELEPHONE';
2525   l_transaction_table(l_count).param_value := p_work_telephone;
2526   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
2527 --
2528   l_count := l_count + 1;
2529   l_transaction_table(l_count).param_name := 'P_SUFFIX';
2530   l_transaction_table(l_count).param_value := p_suffix;
2531   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
2532 --
2533   l_count := l_count + 1;
2534   l_transaction_table(l_count).param_name := 'P_DATE_OF_DEATH';
2535   l_transaction_table(l_count).param_value := to_char
2536                                               (p_date_of_death
2537                                               ,hr_transaction_ss.g_date_format);
2538   l_transaction_table(l_count).param_data_type := 'DATE';
2539 --
2540   l_count := l_count + 1;
2541   l_transaction_table(l_count).param_name := 'P_BACKGROUND_CHECK_STATUS';
2542   l_transaction_table(l_count).param_value := p_background_check_status;
2543   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
2544 --
2545   l_count := l_count + 1;
2546   l_transaction_table(l_count).param_name := 'P_BACKGROUND_DATE_CHECK';
2547   l_transaction_table(l_count).param_value := to_char
2548                                               (p_background_date_check
2549                                               ,hr_transaction_ss.g_date_format);
2550   l_transaction_table(l_count).param_data_type := 'DATE';
2551 --
2552   l_count := l_count + 1;
2553   l_transaction_table(l_count).param_name := 'P_BLOOD_TYPE';
2554   l_transaction_table(l_count).param_value := p_blood_type;
2555   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
2556 --
2557   l_count := l_count + 1;
2558   l_transaction_table(l_count).param_name := 'P_CORRESPONDENCE_LANGUAGE';
2559   l_transaction_table(l_count).param_value := p_correspondence_language;
2560   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
2561 --
2562   l_count := l_count + 1;
2563   l_transaction_table(l_count).param_name := 'P_FAST_PATH_EMPLOYEE';
2564   l_transaction_table(l_count).param_value := p_fast_path_employee;
2565   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
2566 --
2567   l_count := l_count + 1;
2568   l_transaction_table(l_count).param_name := 'P_FTE_CAPACITY';
2569   l_transaction_table(l_count).param_value := to_char(l_fte_capacity);
2570   l_transaction_table(l_count).param_data_type := 'NUMBER';
2571 --
2572   l_count := l_count + 1;
2573   l_transaction_table(l_count).param_name := 'P_HOLD_APPLICANT_DATE_UNTIL';
2574   l_transaction_table(l_count).param_value := to_char
2575                                               (p_hold_applicant_date_until
2576                                               ,hr_transaction_ss.g_date_format);
2577   l_transaction_table(l_count).param_data_type := 'DATE';
2578 --
2579   l_count := l_count + 1;
2580   l_transaction_table(l_count).param_name := 'P_HONORS';
2581   l_transaction_table(l_count).param_value := p_honors;
2582   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
2583 --
2584   l_count := l_count + 1;
2585   l_transaction_table(l_count).param_name := 'P_INTERNAL_LOCATION';
2586   l_transaction_table(l_count).param_value := p_internal_location;
2587   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
2588 --
2589   l_count := l_count + 1;
2590   l_transaction_table(l_count).param_name := 'P_LAST_MEDICAL_TEST_BY';
2591   l_transaction_table(l_count).param_value := p_last_medical_test_by;
2592   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
2593 --
2594   l_count := l_count + 1;
2595   l_transaction_table(l_count).param_name := 'P_LAST_MEDICAL_TEST_DATE';
2596   l_transaction_table(l_count).param_value := to_char
2597                                               (p_last_medical_test_date
2598                                               ,hr_transaction_ss.g_date_format);
2599   l_transaction_table(l_count).param_data_type := 'DATE';
2600 --
2601   l_count := l_count + 1;
2602   l_transaction_table(l_count).param_name := 'P_MAILSTOP';
2603   l_transaction_table(l_count).param_value := p_mailstop;
2604   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
2605 --
2606   l_count := l_count + 1;
2607   l_transaction_table(l_count).param_name := 'P_OFFICE_NUMBER';
2608   l_transaction_table(l_count).param_value := p_office_number;
2609   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
2610 --
2611   l_count := l_count + 1;
2612   l_transaction_table(l_count).param_name := 'P_ON_MILITARY_SERVICE';
2613   l_transaction_table(l_count).param_value := p_on_military_service;
2614   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
2615 --
2616   l_count := l_count + 1;
2617   l_transaction_table(l_count).param_name := 'P_PRE_NAME_ADJUNCT';
2618   l_transaction_table(l_count).param_value := p_pre_name_adjunct;
2619   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
2620 --
2621   l_count := l_count + 1;
2622   l_transaction_table(l_count).param_name := 'P_PROJECTED_START_DATE';
2623   l_transaction_table(l_count).param_value := to_char
2624                                               (p_projected_start_date
2625                                               ,hr_transaction_ss.g_date_format);
2626   l_transaction_table(l_count).param_data_type := 'DATE';
2627 --
2628   l_count := l_count + 1;
2629   l_transaction_table(l_count).param_name := 'P_REHIRE_AUTHORIZOR';
2630   l_transaction_table(l_count).param_value := p_rehire_authorizor;
2631   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
2632 --
2633   l_count := l_count + 1;
2634   l_transaction_table(l_count).param_name := 'P_REHIRE_RECOMMENDATION';
2635   l_transaction_table(l_count).param_value := p_rehire_recommendation;
2636   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
2637 --
2638   l_count := l_count + 1;
2639   l_transaction_table(l_count).param_name := 'P_RESUME_EXISTS';
2640   l_transaction_table(l_count).param_value := p_resume_exists;
2641   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
2642 --
2643   l_count := l_count + 1;
2644   l_transaction_table(l_count).param_name := 'P_RESUME_LAST_UPDATED';
2645   l_transaction_table(l_count).param_value := to_char
2646                                               (p_resume_last_updated
2647                                               ,hr_transaction_ss.g_date_format);
2648   l_transaction_table(l_count).param_data_type := 'DATE';
2649 --
2650   l_count := l_count + 1;
2651   l_transaction_table(l_count).param_name := 'P_SECOND_PASSPORT_EXISTS';
2652   l_transaction_table(l_count).param_value := p_second_passport_exists;
2653   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
2654 --
2655   l_count := l_count + 1;
2656   l_transaction_table(l_count).param_name := 'P_STUDENT_STATUS';
2657   l_transaction_table(l_count).param_value := p_student_status;
2658   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
2659 --
2660   l_count := l_count + 1;
2661   l_transaction_table(l_count).param_name := 'P_WORK_SCHEDULE';
2662   l_transaction_table(l_count).param_value := p_work_schedule;
2663   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
2664 --
2665   l_count := l_count + 1;
2666   l_transaction_table(l_count).param_name := 'P_REHIRE_REASON';
2667   l_transaction_table(l_count).param_value := p_rehire_reason;
2668   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
2669 --
2670   l_count := l_count + 1;
2671   l_transaction_table(l_count).param_name := 'P_BENEFIT_GROUP_ID';
2672   l_transaction_table(l_count).param_value := to_char(l_benefit_group_id);
2673   l_transaction_table(l_count).param_data_type := 'NUMBER';
2674 --
2675   l_count := l_count + 1;
2676   l_transaction_table(l_count).param_name := 'P_RECEIPT_OF_DEATH_CERT_DATE';
2677   l_transaction_table(l_count).param_value := to_char
2678                                               (p_receipt_of_death_cert_date
2679                                               ,hr_transaction_ss.g_date_format);
2680   l_transaction_table(l_count).param_data_type := 'DATE';
2681 --
2682   l_count := l_count + 1;
2683   l_transaction_table(l_count).param_name := 'P_COORD_BEN_MED_PLN_NO';
2684   l_transaction_table(l_count).param_value := p_coord_ben_med_pln_no;
2685   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
2686 --
2687   l_count := l_count + 1;
2688   l_transaction_table(l_count).param_name := 'P_COORD_BEN_NO_CVG_FLAG';
2689   l_transaction_table(l_count).param_value := p_coord_ben_no_cvg_flag;
2690   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
2691 --
2692   l_count := l_count + 1;
2693   l_transaction_table(l_count).param_name := 'P_USES_TOBACCO_FLAG';
2694   l_transaction_table(l_count).param_value := p_uses_tobacco_flag;
2695   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
2696 --
2697   l_count := l_count + 1;
2698   l_transaction_table(l_count).param_name := 'P_DPDNT_ADOPTION_DATE';
2699   l_transaction_table(l_count).param_value := to_char
2700                                               (p_dpdnt_adoption_date
2701                                               ,hr_transaction_ss.g_date_format);
2702   l_transaction_table(l_count).param_data_type := 'DATE';
2703 --
2704   l_count := l_count + 1;
2705   l_transaction_table(l_count).param_name := 'P_DPDNT_VLNTRY_SVCE_FLAG';
2706   l_transaction_table(l_count).param_value := p_dpdnt_vlntry_svce_flag;
2707   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
2708 --
2709 
2710   l_count := l_count + 1;
2711   l_transaction_table(l_count).param_name := 'P_ADJUSTED_SVC_DATE';
2712   l_transaction_table(l_count).param_value := to_char
2713                                               (p_adjusted_svc_date
2714                                               ,hr_transaction_ss.g_date_format);
2715   l_transaction_table(l_count).param_data_type := 'DATE';
2716 
2717 --
2718   l_count := l_count + 1;
2719   l_transaction_table(l_count).param_name := 'P_ATTRIBUTE_CATEGORY';
2720   l_transaction_table(l_count).param_value := p_attribute_category;
2721   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
2722 --
2723   l_count := l_count + 1;
2724   l_transaction_table(l_count).param_name := 'P_ATTRIBUTE1';
2725   l_transaction_table(l_count).param_value := p_attribute1;
2726   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
2727 --
2728   l_count := l_count + 1;
2729   l_transaction_table(l_count).param_name := 'P_ATTRIBUTE2';
2730   l_transaction_table(l_count).param_value := p_attribute2;
2731   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
2732 --
2733   l_count := l_count + 1;
2734   l_transaction_table(l_count).param_name := 'P_ATTRIBUTE3';
2735   l_transaction_table(l_count).param_value := p_attribute3;
2736   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
2737 --
2738   l_count := l_count + 1;
2739   l_transaction_table(l_count).param_name := 'P_ATTRIBUTE4';
2740   l_transaction_table(l_count).param_value := p_attribute4;
2741   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
2742 --
2743   l_count := l_count + 1;
2744   l_transaction_table(l_count).param_name := 'P_ATTRIBUTE5';
2745   l_transaction_table(l_count).param_value := p_attribute5;
2746   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
2747 --
2748   l_count := l_count + 1;
2749   l_transaction_table(l_count).param_name := 'P_ATTRIBUTE6';
2750   l_transaction_table(l_count).param_value := p_attribute6;
2751   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
2752 --
2753   l_count := l_count + 1;
2754   l_transaction_table(l_count).param_name := 'P_ATTRIBUTE7';
2755   l_transaction_table(l_count).param_value := p_attribute7;
2756   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
2757 --
2758   l_count := l_count + 1;
2759   l_transaction_table(l_count).param_name := 'P_ATTRIBUTE8';
2760   l_transaction_table(l_count).param_value := p_attribute8;
2761   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
2762 --
2763   l_count := l_count + 1;
2764   l_transaction_table(l_count).param_name := 'P_ATTRIBUTE9';
2765   l_transaction_table(l_count).param_value := p_attribute9;
2766   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
2767 --
2768   l_count := l_count + 1;
2769   l_transaction_table(l_count).param_name := 'P_ATTRIBUTE10';
2770   l_transaction_table(l_count).param_value := p_attribute10;
2771   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
2772 --
2773   l_count := l_count + 1;
2774   l_transaction_table(l_count).param_name := 'P_ATTRIBUTE11';
2775   l_transaction_table(l_count).param_value := p_attribute11;
2776   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
2777 --
2778   l_count := l_count + 1;
2779   l_transaction_table(l_count).param_name := 'P_ATTRIBUTE12';
2780   l_transaction_table(l_count).param_value := p_attribute12;
2781   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
2782 --
2783   l_count := l_count + 1;
2784   l_transaction_table(l_count).param_name := 'P_ATTRIBUTE13';
2785   l_transaction_table(l_count).param_value := p_attribute13;
2786   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
2787 --
2788   l_count := l_count + 1;
2789   l_transaction_table(l_count).param_name := 'P_ATTRIBUTE14';
2790   l_transaction_table(l_count).param_value := p_attribute14;
2791   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
2792 --
2793   l_count := l_count + 1;
2794   l_transaction_table(l_count).param_name := 'P_ATTRIBUTE15';
2795   l_transaction_table(l_count).param_value := p_attribute15;
2796   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
2797 --
2798   l_count := l_count + 1;
2799   l_transaction_table(l_count).param_name := 'P_ATTRIBUTE16';
2800   l_transaction_table(l_count).param_value := p_attribute16;
2801   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
2802 --
2803   l_count := l_count + 1;
2804   l_transaction_table(l_count).param_name := 'P_ATTRIBUTE17';
2805   l_transaction_table(l_count).param_value := p_attribute17;
2806   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
2807 --
2808   l_count := l_count + 1;
2809   l_transaction_table(l_count).param_name := 'P_ATTRIBUTE18';
2810   l_transaction_table(l_count).param_value := p_attribute18;
2811   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
2812 --
2813   l_count := l_count + 1;
2814   l_transaction_table(l_count).param_name := 'P_ATTRIBUTE19';
2815   l_transaction_table(l_count).param_value := p_attribute19;
2816   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
2817 --
2818   l_count := l_count + 1;
2819   l_transaction_table(l_count).param_name := 'P_ATTRIBUTE20';
2820   l_transaction_table(l_count).param_value := p_attribute20;
2821   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
2822 --
2823   l_count := l_count + 1;
2824   l_transaction_table(l_count).param_name := 'P_ATTRIBUTE21';
2825   l_transaction_table(l_count).param_value := p_attribute21;
2826   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
2827 --
2828   l_count := l_count + 1;
2829   l_transaction_table(l_count).param_name := 'P_ATTRIBUTE22';
2830   l_transaction_table(l_count).param_value := p_attribute22;
2831   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
2832 --
2833   l_count := l_count + 1;
2834   l_transaction_table(l_count).param_name := 'P_ATTRIBUTE23';
2835   l_transaction_table(l_count).param_value := p_attribute23;
2836   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
2837 --
2838   l_count := l_count + 1;
2839   l_transaction_table(l_count).param_name := 'P_ATTRIBUTE24';
2840   l_transaction_table(l_count).param_value := p_attribute24;
2841   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
2842 --
2843   l_count := l_count + 1;
2844   l_transaction_table(l_count).param_name := 'P_ATTRIBUTE25';
2845   l_transaction_table(l_count).param_value := p_attribute25;
2846   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
2847 --
2848   l_count := l_count + 1;
2849   l_transaction_table(l_count).param_name := 'P_ATTRIBUTE26';
2850   l_transaction_table(l_count).param_value := p_attribute26;
2851   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
2852 --
2853   l_count := l_count + 1;
2854   l_transaction_table(l_count).param_name := 'P_ATTRIBUTE27';
2855   l_transaction_table(l_count).param_value := p_attribute27;
2856   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
2857 --
2858   l_count := l_count + 1;
2859   l_transaction_table(l_count).param_name := 'P_ATTRIBUTE28';
2860   l_transaction_table(l_count).param_value := p_attribute28;
2861   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
2862 --
2863   l_count := l_count + 1;
2864   l_transaction_table(l_count).param_name := 'P_ATTRIBUTE29';
2865   l_transaction_table(l_count).param_value := p_attribute29;
2866   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
2867 --
2868   l_count := l_count + 1;
2869   l_transaction_table(l_count).param_name := 'P_ATTRIBUTE30';
2870   l_transaction_table(l_count).param_value := p_attribute30;
2871   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
2872 --
2873   l_count := l_count + 1;
2874   l_transaction_table(l_count).param_name := 'P_PER_INFORMATION_CATEGORY';
2875   l_transaction_table(l_count).param_value := p_per_information_category;
2876   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
2877 --
2878   l_count := l_count + 1;
2879   l_transaction_table(l_count).param_name := 'P_PER_INFORMATION1';
2880   l_transaction_table(l_count).param_value := p_per_information1;
2881   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
2882 --
2883   l_count := l_count + 1;
2884   l_transaction_table(l_count).param_name := 'P_PER_INFORMATION2';
2885   l_transaction_table(l_count).param_value := p_per_information2;
2886   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
2887 --
2888   l_count := l_count + 1;
2889   l_transaction_table(l_count).param_name := 'P_PER_INFORMATION3';
2890   l_transaction_table(l_count).param_value := p_per_information3;
2891   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
2892 --
2893   l_count := l_count + 1;
2894   l_transaction_table(l_count).param_name := 'P_PER_INFORMATION4';
2895   l_transaction_table(l_count).param_value := p_per_information4;
2896   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
2897 --
2898   l_count := l_count + 1;
2899   l_transaction_table(l_count).param_name := 'P_PER_INFORMATION5';
2900   l_transaction_table(l_count).param_value := p_per_information5;
2901   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
2902 --
2903   l_count := l_count + 1;
2904   l_transaction_table(l_count).param_name := 'P_PER_INFORMATION6';
2905   l_transaction_table(l_count).param_value := p_per_information6;
2906   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
2907 --
2908   l_count := l_count + 1;
2909   l_transaction_table(l_count).param_name := 'P_PER_INFORMATION7';
2910   l_transaction_table(l_count).param_value := p_per_information7;
2911   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
2912 --
2913   l_count := l_count + 1;
2914   l_transaction_table(l_count).param_name := 'P_PER_INFORMATION8';
2915   l_transaction_table(l_count).param_value := p_per_information8;
2916   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
2917 --
2918   l_count := l_count + 1;
2919   l_transaction_table(l_count).param_name := 'P_PER_INFORMATION9';
2920   l_transaction_table(l_count).param_value := p_per_information9;
2921   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
2922 --
2923   l_count := l_count + 1;
2924   l_transaction_table(l_count).param_name := 'P_PER_INFORMATION10';
2925   l_transaction_table(l_count).param_value := p_per_information10;
2926   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
2927 --
2928   l_count := l_count + 1;
2929   l_transaction_table(l_count).param_name := 'P_PER_INFORMATION11';
2930   l_transaction_table(l_count).param_value := p_per_information11;
2931   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
2932 --
2933   l_count := l_count + 1;
2934   l_transaction_table(l_count).param_name := 'P_PER_INFORMATION12';
2935   l_transaction_table(l_count).param_value := p_per_information12;
2936   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
2937 --
2938   l_count := l_count + 1;
2939   l_transaction_table(l_count).param_name := 'P_PER_INFORMATION13';
2940   l_transaction_table(l_count).param_value := p_per_information13;
2941   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
2942 --
2943   l_count := l_count + 1;
2944   l_transaction_table(l_count).param_name := 'P_PER_INFORMATION14';
2945   l_transaction_table(l_count).param_value := p_per_information14;
2946   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
2947 --
2948   l_count := l_count + 1;
2949   l_transaction_table(l_count).param_name := 'P_PER_INFORMATION15';
2950   l_transaction_table(l_count).param_value := p_per_information15;
2951   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
2952 --
2953   l_count := l_count + 1;
2954   l_transaction_table(l_count).param_name := 'P_PER_INFORMATION16';
2955   l_transaction_table(l_count).param_value := p_per_information16;
2956   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
2957 --
2958   l_count := l_count + 1;
2959   l_transaction_table(l_count).param_name := 'P_PER_INFORMATION17';
2960   l_transaction_table(l_count).param_value := p_per_information17;
2961   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
2962 --
2963   l_count := l_count + 1;
2964   l_transaction_table(l_count).param_name := 'P_PER_INFORMATION18';
2965   l_transaction_table(l_count).param_value := p_per_information18;
2966   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
2967 --
2968   l_count := l_count + 1;
2969   l_transaction_table(l_count).param_name := 'P_PER_INFORMATION19';
2970   l_transaction_table(l_count).param_value := p_per_information19;
2971   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
2972 --
2973   l_count := l_count + 1;
2974   l_transaction_table(l_count).param_name := 'P_PER_INFORMATION20';
2975   l_transaction_table(l_count).param_value := p_per_information20;
2976   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
2977 --
2978   l_count := l_count + 1;
2979   l_transaction_table(l_count).param_name := 'P_PER_INFORMATION21';
2980   l_transaction_table(l_count).param_value := p_per_information21;
2981   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
2982 --
2983   l_count := l_count + 1;
2984   l_transaction_table(l_count).param_name := 'P_PER_INFORMATION22';
2985   l_transaction_table(l_count).param_value := p_per_information22;
2986   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
2987 --
2988   l_count := l_count + 1;
2989   l_transaction_table(l_count).param_name := 'P_PER_INFORMATION23';
2990   l_transaction_table(l_count).param_value := p_per_information23;
2991   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
2992 --
2993   l_count := l_count + 1;
2994   l_transaction_table(l_count).param_name := 'P_PER_INFORMATION24';
2995   l_transaction_table(l_count).param_value := p_per_information24;
2996   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
2997 --
2998   l_count := l_count + 1;
2999   l_transaction_table(l_count).param_name := 'P_PER_INFORMATION25';
3000   l_transaction_table(l_count).param_value := p_per_information25;
3001   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
3002 --
3003   l_count := l_count + 1;
3004   l_transaction_table(l_count).param_name := 'P_PER_INFORMATION26';
3005   l_transaction_table(l_count).param_value := p_per_information26;
3006   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
3007 --
3008   l_count := l_count + 1;
3009   l_transaction_table(l_count).param_name := 'P_PER_INFORMATION27';
3010   l_transaction_table(l_count).param_value := p_per_information27;
3011   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
3012 --
3013   l_count := l_count + 1;
3014   l_transaction_table(l_count).param_name := 'P_PER_INFORMATION28';
3015   l_transaction_table(l_count).param_value := p_per_information28;
3016   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
3017 --
3018   l_count := l_count + 1;
3019   l_transaction_table(l_count).param_name := 'P_PER_INFORMATION29';
3020   l_transaction_table(l_count).param_value := p_per_information29;
3021   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
3022 --
3023   l_count := l_count + 1;
3024   l_transaction_table(l_count).param_name := 'P_PER_INFORMATION30';
3025   l_transaction_table(l_count).param_value := p_per_information30;
3026   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
3027 
3028 --
3029   l_review_item_name := p_review_page_region_code;
3030   if (p_review_page_region_code IS NULL) then
3031     BEGIN
3032       l_review_item_name :=
3033         wf_engine.GetActivityAttrText(itemtype  => p_item_type,
3034                                itemkey   => p_item_key,
3035                                actid     => p_actid,
3036                                aname     => g_wf_review_regn_itm_attr_name);
3037     EXCEPTION
3038     WHEN OTHERS THEN
3039        hr_utility.set_location('Exception:Others'||l_proc,555);
3040        l_review_item_name := 'HrBasicDetailsReview';
3041     END;
3042   end if;
3043 
3044   l_count := l_count + 1;
3045   l_transaction_table(l_count).param_name := 'P_REVIEW_PROC_CALL';
3046   l_transaction_table(l_count).param_value := l_review_item_name;
3047   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
3048 --
3049   l_count := l_count + 1;
3050   l_transaction_table(l_count).param_name := 'P_REVIEW_ACTID';
3051   l_transaction_table(l_count).param_value := p_actid;
3052   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
3053 --
3054 --
3055   l_count := l_count + 1;
3056   l_transaction_table(l_count).param_name := 'P_APPL_ASSIGNMENT_ID';
3057   l_transaction_table(l_count).param_value := l_appl_assignment_id;
3058   l_transaction_table(l_count).param_data_type := 'NUMBER';
3059 --
3060 
3061 --------------------------------------------------------------------------------
3062 -- NOTE: If l_transaction_step_id is null, when we call
3063 --       hr_transaction_ss.save_transaction_step will create a transaction and
3064 --       create a transaction_step_id.
3065 --       If it is not null, it will use the existing step id to update the
3066 --       database.
3067 --------------------------------------------------------------------------------
3068 --
3069 
3070 IF g_debug THEN
3071   hr_utility.set_location('Before save_transaction_step', 95);
3072 END IF;
3073 
3074 
3075   hr_transaction_ss.save_transaction_step
3076                 (p_item_type => p_item_type
3077                 ,p_item_key => p_item_key
3078                 ,p_actid => p_actid
3079                 ,p_login_person_id     => p_login_person_id
3080                 ,p_transaction_step_id => l_transaction_step_id
3081                 ,p_api_name => g_package || 'PROCESS_API'
3082                 ,p_transaction_data => l_transaction_table);
3083 --
3084 
3085 IF g_debug THEN
3086   hr_utility.set_location('After save_transaction_step', 100);
3087 END IF;
3088 
3089 --
3090 -- Not sure if we need to set the generic approval url here ????
3091 --
3092 --
3093 
3094 IF g_debug THEN
3095   hr_utility.set_location('After saving transaction steps', 105);
3096 END IF;
3097 
3098 
3099 --
3100   p_effective_start_date := l_effective_start_date;
3101   p_effective_end_date := l_effective_end_date;
3102   p_full_name := l_full_name;
3103   p_comment_id := l_comment_id;
3104 --
3105 -- Need to convert the boolean true/false value to varchar2 value because on
3106 -- return back to Java program which won't recognize the value.
3107   IF l_name_combination_warning
3108   THEN
3109      p_name_combination_warning := 'Y';
3110   ELSE
3111      p_name_combination_warning := 'N';
3112   END IF;
3113 --
3114   IF l_assign_payroll_warning
3115   THEN
3116      p_assign_payroll_warning := 'Y';
3117   ELSE
3118      p_assign_payroll_warning := 'N';
3119   END IF;
3120 --
3121   IF l_orig_hire_warning
3122   THEN
3123      p_orig_hire_warning := 'Y';
3124   ELSE
3125      p_orig_hire_warning := 'N';
3126   END IF;
3127 --
3128   p_object_version_number := l_ovn;
3129   p_employee_number := l_employee_number;
3130   hr_utility.set_location('Exiting:'||l_proc, 115);
3131   <<no_transaction>> -- label for GOTO
3132   null;
3133 
3134 
3135 EXCEPTION
3136    WHEN g_data_error THEN
3137    hr_utility.set_location('Exception:g_data_error'||l_proc,560);
3138    p_error_message := hr_java_conv_util_ss.get_formatted_error_message(
3139                       p_error_message => l_error_message);
3140 -- applicant_hire
3141     if (g_applicant_hire) then
3142        rollback to applicant_hire;
3143        g_applicant_hire := false;
3144     end if;
3145 --
3146    WHEN hr_process_person_ss.g_validate_basic_details_error THEN
3147    hr_utility.set_location('Exception:g_validate_basic_details_error'||l_proc,565);
3148    -- No need to call formatted_error_message, as the messages is already
3149    -- formatted.
3150    p_error_message := l_error_message;
3151 -- applicant_hire
3152     if (g_applicant_hire) then
3153        rollback to applicant_hire;
3154        g_applicant_hire := false;
3155     end if;
3156 --
3157    WHEN hr_perinfo_util_web.g_no_changes THEN
3158    hr_utility.set_location('Exception:g_no_changes'||l_proc,570);
3159    p_error_message := hr_java_conv_util_ss.get_formatted_error_message(
3160                       p_error_message => l_error_message,
3161                       p_attr_name => 'Page',
3162                       p_app_short_name => 'PER',
3163                       p_message_name => 'HR_PERINFO_NO_CHANGES');
3164 -- applicant_hire
3165     if (g_applicant_hire) then
3166        rollback to applicant_hire;
3167        g_applicant_hire := false;
3168     end if;
3169 --
3170 -- Bug Fix : 3048836
3171    WHEN hr_perinfo_util_web.g_past_effective_date THEN
3172    hr_utility.set_location('Exception:g_past_effective_date'||l_proc,575);
3173    p_error_message := hr_java_conv_util_ss.get_formatted_error_message(
3174                       p_error_message => l_error_message);
3175 
3176    WHEN hr_perinfo_util_web.g_past_current_start_date THEN
3177    hr_utility.set_location('Exception:g_past_current_start_date'||l_proc,580);
3178    p_error_message := hr_java_conv_util_ss.get_formatted_error_message(
3179                       p_error_message => l_error_message);
3180 
3181    WHEN OTHERS THEN
3182    hr_utility.set_location('Exception:Others'||l_proc,585);
3183    p_error_message := hr_java_conv_util_ss.get_formatted_error_message(
3184                       p_error_message => l_error_message);
3185 -- applicant_hire
3186     if (g_applicant_hire) then
3187        rollback to applicant_hire;
3188        g_applicant_hire := false;
3189     end if;
3190 END update_person;
3191 
3192 -- ---------------------------------------------------------------------------
3193 -- ---------------------- < validate_basic_details> -------------------------
3194 -- ---------------------------------------------------------------------------
3195 -- Purpose: This procedure will perform field validation and then call the api.
3196 --          This procedure is invoked from Update Basic Details page.
3197 -- ---------------------------------------------------------------------------
3198 PROCEDURE validate_basic_details
3199     (p_validate_mode               in boolean default false
3200     ,p_attribute_update_mode       in varchar2
3201     ,p_effective_date              in date
3202     ,p_person_id                   in number
3203     ,p_object_version_number       in out nocopy number
3204     ,p_person_type_id              in number   default hr_api.g_number
3205     ,p_last_name                   in varchar2 default hr_api.g_varchar2
3206     ,p_applicant_number            in varchar2 default hr_api.g_varchar2
3207     ,p_comments                    in varchar2 default hr_api.g_varchar2
3208     ,p_date_employee_data_verified in date     default hr_api.g_date
3209     ,p_original_date_of_hire       in date     default hr_api.g_date
3210     ,p_date_of_birth               in date     default hr_api.g_date
3211     ,p_town_of_birth               in varchar2 default hr_api.g_varchar2
3212     ,p_region_of_birth             in varchar2 default hr_api.g_varchar2
3213     ,p_country_of_birth            in varchar2 default hr_api.g_varchar2
3214     ,p_global_person_id            in varchar2 default hr_api.g_varchar2
3215     ,p_email_address               in varchar2 default hr_api.g_varchar2
3216     ,p_employee_number             in out nocopy varchar2
3217     ,p_npw_number                  in varchar2 default hr_api.g_varchar2
3218     ,p_expense_check_send_to_addres in varchar2 default hr_api.g_varchar2
3219     ,p_first_name                  in varchar2 default hr_api.g_varchar2
3220     ,p_known_as                    in varchar2 default hr_api.g_varchar2
3221     ,p_marital_status              in varchar2 default hr_api.g_varchar2
3222     ,p_middle_names                in varchar2 default hr_api.g_varchar2
3223     ,p_nationality                 in varchar2 default hr_api.g_varchar2
3224     ,p_national_identifier         in varchar2 default hr_api.g_varchar2
3225     ,p_previous_last_name          in varchar2 default hr_api.g_varchar2
3226     ,p_registered_disabled_flag    in varchar2 default hr_api.g_varchar2
3227     ,p_sex                         in varchar2 default hr_api.g_varchar2
3228     ,p_title                       in varchar2 default hr_api.g_varchar2
3229     ,p_vendor_id                   in number   default hr_api.g_number
3230     ,p_work_telephone              in varchar2 default hr_api.g_varchar2
3231     ,p_suffix                      in varchar2 default hr_api.g_varchar2
3232     ,p_date_of_death               in date     default hr_api.g_date
3233     ,p_background_check_status     in varchar2 default hr_api.g_varchar2
3234     ,p_background_date_check       in date     default hr_api.g_date
3235     ,p_blood_type                  in varchar2 default hr_api.g_varchar2
3236     ,p_correspondence_language     in varchar2 default hr_api.g_varchar2
3237     ,p_fast_path_employee          in varchar2 default hr_api.g_varchar2
3238     ,p_fte_capacity                in number   default hr_api.g_number
3239     ,p_hold_applicant_date_until   in date     default hr_api.g_date
3240     ,p_honors                      in varchar2 default hr_api.g_varchar2
3241     ,p_internal_location           in varchar2 default hr_api.g_varchar2
3242     ,p_last_medical_test_by        in varchar2 default hr_api.g_varchar2
3243     ,p_last_medical_test_date      in date     default hr_api.g_date
3244     ,p_mailstop                    in varchar2 default hr_api.g_varchar2
3245     ,p_office_number               in varchar2 default hr_api.g_varchar2
3246     ,p_on_military_service         in varchar2 default hr_api.g_varchar2
3247     ,p_pre_name_adjunct            in varchar2 default hr_api.g_varchar2
3248     ,p_projected_start_date        in date     default hr_api.g_date
3249     ,p_rehire_authorizor           in varchar2 default hr_api.g_varchar2
3250     ,p_rehire_recommendation       in varchar2 default hr_api.g_varchar2
3251     ,p_resume_exists               in varchar2 default hr_api.g_varchar2
3252     ,p_resume_last_updated         in date     default hr_api.g_date
3253     ,p_second_passport_exists      in varchar2 default hr_api.g_varchar2
3254     ,p_student_status              in varchar2 default hr_api.g_varchar2
3255     ,p_work_schedule               in varchar2 default hr_api.g_varchar2
3256     ,p_rehire_reason               in varchar2 default hr_api.g_varchar2
3257     ,p_benefit_group_id            in number   default hr_api.g_number
3258     ,p_receipt_of_death_cert_date  in date     default hr_api.g_date
3259     ,p_coord_ben_med_pln_no        in varchar2 default hr_api.g_varchar2
3260     ,p_coord_ben_no_cvg_flag       in varchar2 default hr_api.g_varchar2
3261     ,p_uses_tobacco_flag           in varchar2 default hr_api.g_varchar2
3262     ,p_dpdnt_adoption_date         in date     default hr_api.g_date
3263     ,p_dpdnt_vlntry_svce_flag      in varchar2 default hr_api.g_varchar2
3264     ,p_adjusted_svc_date           in date     default hr_api.g_date
3265     ,p_attribute_category          in varchar2 default hr_api.g_varchar2
3266     ,p_attribute1                  in varchar2 default hr_api.g_varchar2
3267     ,p_attribute2                  in varchar2 default hr_api.g_varchar2
3268     ,p_attribute3                  in varchar2 default hr_api.g_varchar2
3269     ,p_attribute4                  in varchar2 default hr_api.g_varchar2
3270     ,p_attribute5                  in varchar2 default hr_api.g_varchar2
3271     ,p_attribute6                  in varchar2 default hr_api.g_varchar2
3272     ,p_attribute7                  in varchar2 default hr_api.g_varchar2
3273     ,p_attribute8                  in varchar2 default hr_api.g_varchar2
3274     ,p_attribute9                  in varchar2 default hr_api.g_varchar2
3275     ,p_attribute10                 in varchar2 default hr_api.g_varchar2
3276     ,p_attribute11                 in varchar2 default hr_api.g_varchar2
3277     ,p_attribute12                 in varchar2 default hr_api.g_varchar2
3278     ,p_attribute13                 in varchar2 default hr_api.g_varchar2
3279     ,p_attribute14                 in varchar2 default hr_api.g_varchar2
3280     ,p_attribute15                 in varchar2 default hr_api.g_varchar2
3281     ,p_attribute16                 in varchar2 default hr_api.g_varchar2
3282     ,p_attribute17                 in varchar2 default hr_api.g_varchar2
3283     ,p_attribute18                 in varchar2 default hr_api.g_varchar2
3284     ,p_attribute19                 in varchar2 default hr_api.g_varchar2
3285     ,p_attribute20                 in varchar2 default hr_api.g_varchar2
3286     ,p_attribute21                 in varchar2 default hr_api.g_varchar2
3287     ,p_attribute22                 in varchar2 default hr_api.g_varchar2
3288     ,p_attribute23                 in varchar2 default hr_api.g_varchar2
3289     ,p_attribute24                 in varchar2 default hr_api.g_varchar2
3290     ,p_attribute25                 in varchar2 default hr_api.g_varchar2
3291     ,p_attribute26                 in varchar2 default hr_api.g_varchar2
3292     ,p_attribute27                 in varchar2 default hr_api.g_varchar2
3293     ,p_attribute28                 in varchar2 default hr_api.g_varchar2
3294     ,p_attribute29                 in varchar2 default hr_api.g_varchar2
3295     ,p_attribute30                 in varchar2 default hr_api.g_varchar2
3296     ,p_per_information_category    in varchar2 default hr_api.g_varchar2
3297     ,p_per_information1            in varchar2 default hr_api.g_varchar2
3298     ,p_per_information2            in varchar2 default hr_api.g_varchar2
3299     ,p_per_information3            in varchar2 default hr_api.g_varchar2
3300     ,p_per_information4            in varchar2 default hr_api.g_varchar2
3301     ,p_per_information5            in varchar2 default hr_api.g_varchar2
3302     ,p_per_information6            in varchar2 default hr_api.g_varchar2
3303     ,p_per_information7            in varchar2 default hr_api.g_varchar2
3304     ,p_per_information8            in varchar2 default hr_api.g_varchar2
3305     ,p_per_information9            in varchar2 default hr_api.g_varchar2
3306     ,p_per_information10           in varchar2 default hr_api.g_varchar2
3307     ,p_per_information11           in varchar2 default hr_api.g_varchar2
3308     ,p_per_information12           in varchar2 default hr_api.g_varchar2
3309     ,p_per_information13           in varchar2 default hr_api.g_varchar2
3310     ,p_per_information14           in varchar2 default hr_api.g_varchar2
3311     ,p_per_information15           in varchar2 default hr_api.g_varchar2
3312     ,p_per_information16           in varchar2 default hr_api.g_varchar2
3313     ,p_per_information17           in varchar2 default hr_api.g_varchar2
3314     ,p_per_information18           in varchar2 default hr_api.g_varchar2
3315     ,p_per_information19           in varchar2 default hr_api.g_varchar2
3316     ,p_per_information20           in varchar2 default hr_api.g_varchar2
3317     ,p_per_information21           in varchar2 default hr_api.g_varchar2
3318     ,p_per_information22           in varchar2 default hr_api.g_varchar2
3319     ,p_per_information23           in varchar2 default hr_api.g_varchar2
3320     ,p_per_information24           in varchar2 default hr_api.g_varchar2
3321     ,p_per_information25           in varchar2 default hr_api.g_varchar2
3322     ,p_per_information26           in varchar2 default hr_api.g_varchar2
3323     ,p_per_information27           in varchar2 default hr_api.g_varchar2
3324     ,p_per_information28           in varchar2 default hr_api.g_varchar2
3325     ,p_per_information29           in varchar2 default hr_api.g_varchar2
3326     ,p_per_information30           in varchar2 default hr_api.g_varchar2
3327     ,p_effective_start_date        out nocopy     date
3328     ,p_effective_end_date          out nocopy     date
3329     ,p_full_name                   out nocopy     varchar2
3330     ,p_comment_id                  out nocopy     number
3331     ,p_name_combination_warning    out nocopy     boolean
3332     ,p_assign_payroll_warning      in out nocopy     boolean
3333     ,p_orig_hire_warning           out nocopy     boolean
3334     ,p_error_message               out nocopy     long
3335    )
3336 IS
3337 
3338   CURSOR get_current_rec(
3339   p_eff_date  in date default trunc(sysdate)) is
3340   SELECT effective_start_date, object_version_number
3341   FROM   per_all_people_f
3342   WHERE  person_id = p_person_id
3343   AND    p_eff_date between effective_start_date
3344                       and     effective_end_date;
3345 
3346   l_current_rec          get_current_rec%rowtype;
3347   l_name_combination_warning      boolean default false;
3348   l_assign_payroll_warning        boolean default false;
3349   l_orig_hire_warning             boolean default false;
3350   l_ovn                           number default null;
3351   l_employee_number               per_all_people_f.employee_number%type
3352                                   default hr_api.g_varchar2;
3353   l_effective_start_date          date default null;
3354   l_effective_end_date            date default null;
3355   l_full_name                     per_all_people_f.full_name%type default null;
3356   l_comment_id                    per_all_people_f.comment_id%type default null;
3357   l_message_number VARCHAR2(10);
3358   l_proc   varchar2(72)  := g_package||'validate_basic_details';
3359 --
3360 --
3361 BEGIN
3362 
3363   -- Validate that the effective_date entered is not less than the
3364   -- effective_start_date of the most current record.
3365   --
3366   hr_utility.set_location('Entering:& creating a Savepoint'||l_proc, 5);
3367   SAVEPOINT process_basic_details;
3368   --
3369   hr_utility.set_location('Opening & Fetching:get_current_rec'||l_proc,10);
3370   OPEN get_current_rec(p_eff_date=> p_effective_date);
3371   FETCH get_current_rec into l_current_rec;
3372   IF get_current_rec%NOTFOUND
3373   THEN
3374      CLOSE get_current_rec;
3375      raise g_data_error;
3376   ELSE
3377      CLOSE get_current_rec;
3378   END IF;
3379 
3380   l_ovn := p_object_version_number;
3381 
3382   IF p_effective_date < l_current_rec.effective_start_date
3383   THEN
3384      -- the error message should be like HR_PERINFO_INVALID_ED_01:
3385      -- "The effective date you have entered is invalid. You have either:<br>
3386      -- - entered an effective date before the hire date<br>
3387      -- entered an effective date before the date of the last person
3388      -- details change<br>
3389      -- <br>To correct the invalid entry either:<br>
3390      -- - enter an address after the hire date<br>
3391      -- - contact your HR department for a correction of the person
3392      --   details change.
3393      hr_utility.set_location('p_effective_date < l_current_rec.effective_start_date:'||l_proc,15);
3394      raise hr_process_person_ss.g_date_prior_to_cur_start_date;
3395   END IF;
3396   --
3397 --
3398 
3399 
3400 -- Fix 2091186
3401 /*
3402 	 hr_person_att.update_person gives error
3403 	 THE MANDATORY COLUMN ATTRIBUTE<x> HAS NOT BEEN ASSIGNED A VALUE
3404 	 when a segment in descriptive flex field is made as required.
3405 	 The solution suggested is to add the descriptive flex is to
3406 	 ignore validation using hr_dflex_utility.create_ignore_df_validation
3407 	 please refer to bug for further details.
3408 	 */
3409 
3410 hr_person_info_util_ss.create_ignore_df_validation('PER_PERIODS_OF_SERVICE');
3411 
3412 
3413   hr_person_api.update_person (
3414      p_validate                    => false
3415     ,p_datetrack_update_mode       => p_attribute_update_mode
3416     ,p_effective_date              => p_effective_date
3417     ,p_person_id                   => p_person_id
3418     ,p_object_version_number       => l_ovn
3419     ,p_person_type_id              => p_person_type_id
3420     ,p_last_name                   => p_last_name
3421     ,p_applicant_number            => p_applicant_number
3422     ,p_comments                    => p_comments
3423     ,p_date_employee_data_verified => p_date_employee_data_verified
3424     ,p_original_date_of_hire       => p_original_date_of_hire
3425     ,p_date_of_birth               => p_date_of_birth
3426     ,p_town_of_birth               => p_town_of_birth
3427     ,p_region_of_birth             => p_region_of_birth
3428     ,p_country_of_birth            => p_country_of_birth
3429     ,p_global_person_id            => p_global_person_id
3430     ,p_email_address               => p_email_address
3431     ,p_employee_number             => l_employee_number
3432     ,p_npw_number                  => p_npw_number
3433     ,p_expense_check_send_to_addres => p_expense_check_send_to_addres
3434     ,p_first_name                  => p_first_name
3435     ,p_known_as                    => p_known_as
3436     ,p_marital_status              => p_marital_status
3437     ,p_middle_names                => p_middle_names
3438     ,p_nationality                 => p_nationality
3439     ,p_national_identifier         => p_national_identifier
3440     ,p_previous_last_name          => p_previous_last_name
3441     ,p_registered_disabled_flag    => p_registered_disabled_flag
3442     ,p_sex                         => p_sex
3443     ,p_title                       => p_title
3444     ,p_vendor_id                   => p_vendor_id
3445     ,p_work_telephone              => p_work_telephone
3446     ,p_suffix                      => p_suffix
3447     ,p_date_of_death               => p_date_of_death
3448     ,p_background_check_status     => p_background_check_status
3449     ,p_background_date_check       => p_background_date_check
3450     ,p_blood_type                  => p_blood_type
3451     ,p_correspondence_language     => p_correspondence_language
3452     ,p_fast_path_employee          => p_fast_path_employee
3453     ,p_fte_capacity                => p_fte_capacity
3454     ,p_hold_applicant_date_until   => p_hold_applicant_date_until
3455     ,p_honors                      => p_honors
3456     ,p_internal_location           => p_internal_location
3457     ,p_last_medical_test_by        => p_last_medical_test_by
3458     ,p_last_medical_test_date      => p_last_medical_test_date
3459     ,p_mailstop                    => p_mailstop
3460     ,p_office_number               => p_office_number
3461     ,p_on_military_service         => p_on_military_service
3462     ,p_pre_name_adjunct            => p_pre_name_adjunct
3463     ,p_projected_start_date        => p_projected_start_date
3464     ,p_rehire_authorizor           => p_rehire_authorizor
3465     ,p_rehire_recommendation       => p_rehire_recommendation
3466     ,p_resume_exists               => p_resume_exists
3467     ,p_resume_last_updated         => p_resume_last_updated
3468     ,p_second_passport_exists      => p_second_passport_exists
3469     ,p_student_status              => p_student_status
3470     ,p_work_schedule               => p_work_schedule
3471     ,p_rehire_reason               => p_rehire_reason
3472     ,p_benefit_group_id            => p_benefit_group_id
3473     ,p_receipt_of_death_cert_date  => p_receipt_of_death_cert_date
3474     ,p_coord_ben_med_pln_no        => p_coord_ben_med_pln_no
3475     ,p_coord_ben_no_cvg_flag       => p_coord_ben_no_cvg_flag
3476     ,p_uses_tobacco_flag           => p_uses_tobacco_flag
3477     ,p_dpdnt_adoption_date         => p_dpdnt_adoption_date
3478     ,p_dpdnt_vlntry_svce_flag      => p_dpdnt_vlntry_svce_flag
3479     ,p_adjusted_svc_date           => p_adjusted_svc_date
3480     ,p_attribute_category          => p_attribute_category
3481     ,p_attribute1                  => p_attribute1
3482     ,p_attribute2                  => p_attribute2
3483     ,p_attribute3                  => p_attribute3
3484     ,p_attribute4                  => p_attribute4
3485     ,p_attribute5                  => p_attribute5
3486     ,p_attribute6                  => p_attribute6
3487     ,p_attribute7                  => p_attribute7
3488     ,p_attribute8                  => p_attribute8
3489     ,p_attribute9                  => p_attribute9
3490     ,p_attribute10                 => p_attribute10
3491     ,p_attribute11                 => p_attribute11
3492     ,p_attribute12                 => p_attribute12
3493     ,p_attribute13                 => p_attribute13
3494     ,p_attribute14                 => p_attribute14
3495     ,p_attribute15                 => p_attribute15
3496     ,p_attribute16                 => p_attribute16
3497     ,p_attribute17                 => p_attribute17
3498     ,p_attribute18                 => p_attribute18
3499     ,p_attribute19                 => p_attribute19
3500     ,p_attribute20                 => p_attribute20
3501     ,p_attribute21                 => p_attribute21
3502     ,p_attribute22                 => p_attribute22
3503     ,p_attribute23                 => p_attribute23
3504     ,p_attribute24                 => p_attribute24
3505     ,p_attribute25                 => p_attribute25
3506     ,p_attribute26                 => p_attribute26
3507     ,p_attribute27                 => p_attribute27
3508     ,p_attribute28                 => p_attribute28
3509     ,p_attribute29                 => p_attribute29
3510     ,p_attribute30                 => p_attribute30
3511     ,p_per_information_category    => p_per_information_category
3512     ,p_per_information1            => p_per_information1
3513     ,p_per_information2            => p_per_information2
3514     ,p_per_information3            => p_per_information3
3515     ,p_per_information4            => p_per_information4
3516     ,p_per_information5            => p_per_information5
3517     ,p_per_information6            => p_per_information6
3518     ,p_per_information7            => p_per_information7
3519     ,p_per_information8            => p_per_information8
3520     ,p_per_information9            => p_per_information9
3521     ,p_per_information10           => p_per_information10
3522     ,p_per_information11           => p_per_information11
3523     ,p_per_information12           => p_per_information12
3524     ,p_per_information13           => p_per_information13
3525     ,p_per_information14           => p_per_information14
3526     ,p_per_information15           => p_per_information15
3527     ,p_per_information16           => p_per_information16
3528     ,p_per_information17           => p_per_information17
3529     ,p_per_information18           => p_per_information18
3530     ,p_per_information19           => p_per_information19
3531     ,p_per_information20           => p_per_information20
3532     ,p_per_information21           => p_per_information21
3533     ,p_per_information22           => p_per_information22
3534     ,p_per_information23           => p_per_information23
3535     ,p_per_information24           => p_per_information24
3536     ,p_per_information25           => p_per_information25
3537     ,p_per_information26           => p_per_information26
3538     ,p_per_information27           => p_per_information27
3539     ,p_per_information28           => p_per_information28
3540     ,p_per_information29           => p_per_information29
3541     ,p_per_information30           => p_per_information30
3542     ,p_effective_start_date        => l_effective_start_date
3543     ,p_effective_end_date          => l_effective_end_date
3544     ,p_full_name                   => l_full_name
3545     ,p_comment_id                  => l_comment_id
3546     ,p_name_combination_warning    => l_name_combination_warning
3547     ,p_assign_payroll_warning      => l_assign_payroll_warning
3548     ,p_orig_hire_warning           => l_orig_hire_warning);
3549 
3550 --
3551 hr_person_info_util_ss.remove_ignore_df_validation;
3552 -- Fix 2091186 End.
3553 
3554 
3555   IF p_validate_mode
3556   THEN
3557      hr_utility.set_location('IF p_validate_mode:'||l_proc,20);
3558      p_full_name := l_full_name; -- Bug fix 2116170
3559      p_effective_start_date := l_effective_start_date;
3560      p_effective_end_date := l_effective_end_date;
3561      p_comment_id := l_comment_id;
3562 -- Bug fix 2247108, always populate the warnings
3563      p_name_combination_warning := l_name_combination_warning;
3564 -- if already issued assign payroll warning, then eat the warning
3565 -- this time
3566      if(p_assign_payroll_warning) then
3567        p_assign_payroll_warning := false;
3568      else
3569        p_assign_payroll_warning := l_assign_payroll_warning;
3570      end if;
3571      p_orig_hire_warning := l_orig_hire_warning;
3572      ROLLBACK TO process_basic_details;
3573   ELSE
3574      hr_utility.set_location('!p_validate_mode:'||l_proc,25);
3575      p_effective_start_date := l_effective_start_date;
3576      p_effective_end_date := l_effective_end_date;
3577      p_full_name := l_full_name;
3578      p_comment_id := l_comment_id;
3579      p_name_combination_warning := l_name_combination_warning;
3580      p_assign_payroll_warning := l_assign_payroll_warning;
3581      p_orig_hire_warning := l_orig_hire_warning;
3582      p_object_version_number := l_ovn;
3583      p_employee_number := l_employee_number;
3584   END IF;
3585 --
3586 
3587 hr_utility.set_location('Exiting:'||l_proc, 30);
3588 EXCEPTION
3589 
3590    WHEN hr_process_person_ss.g_date_prior_to_cur_start_date THEN
3591    hr_utility.set_location('Exception:g_date_prior_to_cur_start_date'||l_proc,555);
3592    ROLLBACK TO process_basic_details;
3593    p_error_message := hr_java_conv_util_ss.get_formatted_error_message(
3594                       p_error_message => p_error_message,
3595                       p_attr_name => 'EffectiveStartDate',
3596                       p_app_short_name => 'PER',
3597                       p_message_name => 'HR_EARLIER_THAN_CUR_START_DT');
3598 --
3599    WHEN g_data_error THEN
3600    hr_utility.set_location('Exception:g_data_error'||l_proc,560);
3601    ROLLBACK TO process_basic_details;
3602    p_error_message := hr_java_conv_util_ss.get_formatted_error_message(
3603                       p_error_message => p_error_message);
3604 --
3605    WHEN hr_utility.hr_error THEN
3606   	-- -------------------------------------------
3607    	-- an application error has been raised so we must
3608   	-- redisplay the web form to display the error
3609    	-- --------------------------------------------
3610    hr_utility.set_location('Exception:hr_utility.hr_error'||l_proc,565);
3611    ROLLBACK TO process_basic_details;
3612    hr_message.provide_error;
3613    l_message_number := hr_message.last_message_number;
3614    IF l_message_number = 'APP-7165' OR l_message_number = 'APP-7155' THEN
3615   --populate the p_error_message out variable
3616       p_error_message := hr_java_conv_util_ss.get_formatted_error_message(
3617                          p_error_message => p_error_message,
3618                          p_attr_name => 'Page',
3619                          p_app_short_name => 'PER',
3620                          p_message_name => 'HR_UPDATE_NOT_ALLOWED');
3621 -- Bug Fix : 3048836
3622    ELSIF l_message_number = 'APP-7179' THEN
3623      hr_utility.set_message(800,'HR_PERINFO_PAST_EFFECTIVE_DATE');
3624      hr_utility.set_message_token('EFFECTIVE_DATE',
3625                                   get_max_effective_date(p_person_id));
3626      hr_utility.raise_error;
3627 
3628    ELSE
3629    p_error_message := hr_java_conv_util_ss.get_formatted_error_message(
3630                       p_error_message => p_error_message);
3631    END IF;
3632 --
3633    WHEN hr_perinfo_util_web.g_past_current_Start_date THEN
3634    hr_utility.set_location('Exception:g_past_current_Start_date'||l_proc,570);
3635    ROLLBACK TO process_basic_details;
3636    p_error_message := hr_java_conv_util_ss.get_formatted_error_message(
3637                       p_error_message => p_error_message,
3638                       p_attr_name => 'EffectiveStartDate',
3639                       p_app_short_name => 'PER',
3640                       p_message_name => 'HR_PERINFO_INVALID_ED_01');
3641 --
3642    WHEN hr_perinfo_util_web.g_past_effective_date THEN
3643    hr_utility.set_location('Exception:g_past_effective_date'||l_proc,575);
3644    ROLLBACK TO process_basic_details;
3645      hr_utility.set_message(800,'HR_PERINFO_PAST_EFFECTIVE_DATE');
3646      hr_utility.set_message_token('EFFECTIVE_DATE',
3647                                   get_max_effective_date(p_person_id));
3648      hr_utility.raise_error;
3649 --
3650    WHEN hr_perinfo_util_web.g_no_changes THEN
3651    hr_utility.set_location('Exception:g_no_changes'||l_proc,580);
3652    ROLLBACK TO process_basic_details;
3653    p_error_message := hr_java_conv_util_ss.get_formatted_error_message(
3654                       p_error_message => p_error_message,
3655                       p_attr_name => 'Page',
3656                       p_app_short_name => 'PER',
3657                       p_message_name => 'HR_PERINFO_NO_CHANGES');
3658 --
3659    WHEN OTHERS THEN
3660    hr_utility.set_location('Exception:Others'||l_proc,585);
3661    ROLLBACK TO process_basic_details;
3662    p_error_message := hr_java_conv_util_ss.get_formatted_error_message(
3663                       p_error_message => p_error_message);
3664 
3665 END validate_basic_details;
3666 
3667 --
3668 --
3669 -- ---------------------------------------------------------------------------
3670 -- ---------------------------- < is_rec_changed > ---------------------------
3671 -- ---------------------------------------------------------------------------
3672 -- Purpose: This function will check field by field to determine if there
3673 --          are any changes made to the record.
3674 -- ---------------------------------------------------------------------------
3675 FUNCTION  is_rec_changed
3676     (p_effective_date              in date
3677     ,p_person_id                   in number
3678     ,p_object_version_number       in number
3679     ,p_person_type_id              in number   default hr_api.g_number
3680     ,p_last_name                   in varchar2 default hr_api.g_varchar2
3681     ,p_applicant_number            in varchar2 default hr_api.g_varchar2
3682     ,p_comments                    in varchar2 default hr_api.g_varchar2
3683     ,p_date_employee_data_verified in date     default hr_api.g_date
3684     ,p_original_date_of_hire       in date     default hr_api.g_date
3685     ,p_date_of_birth               in date     default hr_api.g_date
3686     ,p_town_of_birth               in varchar2 default hr_api.g_varchar2
3687     ,p_region_of_birth             in varchar2 default hr_api.g_varchar2
3688     ,p_country_of_birth            in varchar2 default hr_api.g_varchar2
3689     ,p_global_person_id            in varchar2 default hr_api.g_varchar2
3690     ,p_email_address               in varchar2 default hr_api.g_varchar2
3691     ,p_employee_number             in varchar2 default hr_api.g_varchar2
3692     ,p_npw_number                  in varchar2 default hr_api.g_varchar2
3693     ,p_expense_check_send_to_addres in varchar2 default hr_api.g_varchar2
3694     ,p_first_name                  in varchar2 default hr_api.g_varchar2
3695     ,p_known_as                    in varchar2 default hr_api.g_varchar2
3696     ,p_marital_status              in varchar2 default hr_api.g_varchar2
3697     ,p_middle_names                in varchar2 default hr_api.g_varchar2
3698     ,p_nationality                 in varchar2 default hr_api.g_varchar2
3699     ,p_national_identifier         in varchar2 default hr_api.g_varchar2
3700     ,p_previous_last_name          in varchar2 default hr_api.g_varchar2
3701     ,p_registered_disabled_flag    in varchar2 default hr_api.g_varchar2
3702     ,p_sex                         in varchar2 default hr_api.g_varchar2
3703     ,p_title                       in varchar2 default hr_api.g_varchar2
3704     ,p_vendor_id                   in number   default hr_api.g_number
3705     ,p_work_telephone              in varchar2 default hr_api.g_varchar2
3706     ,p_suffix                      in varchar2 default hr_api.g_varchar2
3707     ,p_date_of_death               in date     default hr_api.g_date
3708     ,p_background_check_status     in varchar2 default hr_api.g_varchar2
3709     ,p_background_date_check       in date     default hr_api.g_date
3710     ,p_blood_type                  in varchar2 default hr_api.g_varchar2
3711     ,p_correspondence_language     in varchar2 default hr_api.g_varchar2
3712     ,p_fast_path_employee          in varchar2 default hr_api.g_varchar2
3713     ,p_fte_capacity                in number   default hr_api.g_number
3714     ,p_hold_applicant_date_until   in date     default hr_api.g_date
3715     ,p_honors                      in varchar2 default hr_api.g_varchar2
3716     ,p_internal_location           in varchar2 default hr_api.g_varchar2
3717     ,p_last_medical_test_by        in varchar2 default hr_api.g_varchar2
3718     ,p_last_medical_test_date      in date     default hr_api.g_date
3719     ,p_mailstop                    in varchar2 default hr_api.g_varchar2
3720     ,p_office_number               in varchar2 default hr_api.g_varchar2
3721     ,p_on_military_service         in varchar2 default hr_api.g_varchar2
3722     ,p_pre_name_adjunct            in varchar2 default hr_api.g_varchar2
3723     ,p_projected_start_date        in date     default hr_api.g_date
3724     ,p_rehire_authorizor           in varchar2 default hr_api.g_varchar2
3725     ,p_rehire_recommendation       in varchar2 default hr_api.g_varchar2
3726     ,p_resume_exists               in varchar2 default hr_api.g_varchar2
3727     ,p_resume_last_updated         in date     default hr_api.g_date
3728     ,p_second_passport_exists      in varchar2 default hr_api.g_varchar2
3729     ,p_student_status              in varchar2 default hr_api.g_varchar2
3730     ,p_work_schedule               in varchar2 default hr_api.g_varchar2
3731     ,p_rehire_reason               in varchar2 default hr_api.g_varchar2
3732     ,p_benefit_group_id            in number   default hr_api.g_number
3733     ,p_receipt_of_death_cert_date  in date     default hr_api.g_date
3734     ,p_coord_ben_med_pln_no        in varchar2 default hr_api.g_varchar2
3735     ,p_coord_ben_no_cvg_flag       in varchar2 default hr_api.g_varchar2
3736     ,p_uses_tobacco_flag           in varchar2 default hr_api.g_varchar2
3737     ,p_dpdnt_adoption_date         in date     default hr_api.g_date
3738     ,p_dpdnt_vlntry_svce_flag      in varchar2 default hr_api.g_varchar2
3739     ,p_adjusted_svc_date           in date     default hr_api.g_date
3740     ,p_attribute_category          in varchar2 default hr_api.g_varchar2
3741     ,p_attribute1                  in varchar2 default hr_api.g_varchar2
3742     ,p_attribute2                  in varchar2 default hr_api.g_varchar2
3743     ,p_attribute3                  in varchar2 default hr_api.g_varchar2
3744     ,p_attribute4                  in varchar2 default hr_api.g_varchar2
3745     ,p_attribute5                  in varchar2 default hr_api.g_varchar2
3746     ,p_attribute6                  in varchar2 default hr_api.g_varchar2
3747     ,p_attribute7                  in varchar2 default hr_api.g_varchar2
3748     ,p_attribute8                  in varchar2 default hr_api.g_varchar2
3749     ,p_attribute9                  in varchar2 default hr_api.g_varchar2
3750     ,p_attribute10                 in varchar2 default hr_api.g_varchar2
3751     ,p_attribute11                 in varchar2 default hr_api.g_varchar2
3752     ,p_attribute12                 in varchar2 default hr_api.g_varchar2
3753     ,p_attribute13                 in varchar2 default hr_api.g_varchar2
3754     ,p_attribute14                 in varchar2 default hr_api.g_varchar2
3755     ,p_attribute15                 in varchar2 default hr_api.g_varchar2
3756     ,p_attribute16                 in varchar2 default hr_api.g_varchar2
3757     ,p_attribute17                 in varchar2 default hr_api.g_varchar2
3758     ,p_attribute18                 in varchar2 default hr_api.g_varchar2
3759     ,p_attribute19                 in varchar2 default hr_api.g_varchar2
3760     ,p_attribute20                 in varchar2 default hr_api.g_varchar2
3761     ,p_attribute21                 in varchar2 default hr_api.g_varchar2
3762     ,p_attribute22                 in varchar2 default hr_api.g_varchar2
3763     ,p_attribute23                 in varchar2 default hr_api.g_varchar2
3764     ,p_attribute24                 in varchar2 default hr_api.g_varchar2
3765     ,p_attribute25                 in varchar2 default hr_api.g_varchar2
3766     ,p_attribute26                 in varchar2 default hr_api.g_varchar2
3767     ,p_attribute27                 in varchar2 default hr_api.g_varchar2
3768     ,p_attribute28                 in varchar2 default hr_api.g_varchar2
3769     ,p_attribute29                 in varchar2 default hr_api.g_varchar2
3770     ,p_attribute30                 in varchar2 default hr_api.g_varchar2
3771     ,p_per_information_category    in varchar2 default hr_api.g_varchar2
3772     ,p_per_information1            in varchar2 default hr_api.g_varchar2
3773     ,p_per_information2            in varchar2 default hr_api.g_varchar2
3774     ,p_per_information3            in varchar2 default hr_api.g_varchar2
3775     ,p_per_information4            in varchar2 default hr_api.g_varchar2
3776     ,p_per_information5            in varchar2 default hr_api.g_varchar2
3777     ,p_per_information6            in varchar2 default hr_api.g_varchar2
3778     ,p_per_information7            in varchar2 default hr_api.g_varchar2
3779     ,p_per_information8            in varchar2 default hr_api.g_varchar2
3780     ,p_per_information9            in varchar2 default hr_api.g_varchar2
3781     ,p_per_information10           in varchar2 default hr_api.g_varchar2
3782     ,p_per_information11           in varchar2 default hr_api.g_varchar2
3783     ,p_per_information12           in varchar2 default hr_api.g_varchar2
3784     ,p_per_information13           in varchar2 default hr_api.g_varchar2
3785     ,p_per_information14           in varchar2 default hr_api.g_varchar2
3786     ,p_per_information15           in varchar2 default hr_api.g_varchar2
3787     ,p_per_information16           in varchar2 default hr_api.g_varchar2
3788     ,p_per_information17           in varchar2 default hr_api.g_varchar2
3789     ,p_per_information18           in varchar2 default hr_api.g_varchar2
3790     ,p_per_information19           in varchar2 default hr_api.g_varchar2
3791     ,p_per_information20           in varchar2 default hr_api.g_varchar2
3792     ,p_per_information21           in varchar2 default hr_api.g_varchar2
3793     ,p_per_information22           in varchar2 default hr_api.g_varchar2
3794     ,p_per_information23           in varchar2 default hr_api.g_varchar2
3795     ,p_per_information24           in varchar2 default hr_api.g_varchar2
3796     ,p_per_information25           in varchar2 default hr_api.g_varchar2
3797     ,p_per_information26           in varchar2 default hr_api.g_varchar2
3798     ,p_per_information27           in varchar2 default hr_api.g_varchar2
3799     ,p_per_information28           in varchar2 default hr_api.g_varchar2
3800     ,p_per_information29           in varchar2 default hr_api.g_varchar2
3801     ,p_per_information30           in varchar2 default hr_api.g_varchar2
3802    )
3803    return boolean
3804    IS
3805 
3806 
3807   l_rec_changed                    boolean default null;
3808   l_cur_person_data                gc_get_cur_person_data%rowtype;
3809   l_proc   varchar2(72)  := g_package||'is_rec_changed';
3810 --
3811 BEGIN
3812   --
3813 -- Bug Fix 3048836 : checking if the effective date entered by user <
3814 -- hire date or the current record's start date.
3815 
3816         hr_utility.set_location('Entering:'||l_proc, 5);
3817         IF hr_perinfo_util_web.isDateLessThanCreationDate
3818 			(p_date => p_effective_date
3819 			,p_person_id => p_person_id) THEN
3820 		-- The effective Date is less than the creation date of the
3821 		-- Person.
3822 		hr_utility.set_location('The EffDate<CreationDate of person :'||l_proc,10);
3823            RAISE hr_perinfo_util_web.g_past_effective_date;
3824 	END IF;
3825 	IF hr_perinfo_util_web.isLessThanCurrentStartDate
3826 		(p_effective_date => p_effective_date
3827 		,p_person_id => p_person_id
3828 		,p_ovn => p_object_version_number) THEN
3829 		hr_utility.set_location('The EffDate<StartDate of person :'||l_proc,15);
3830          RAISE hr_perinfo_util_web.g_past_current_start_date;
3831 	END IF;
3832 
3833 
3834   hr_utility.set_location('Opening and Fetching gc_get_cur_person_data :'||l_proc,20);
3835   OPEN gc_get_cur_person_data(p_person_id => p_person_id,
3836                               p_eff_date=> p_effective_date);
3837   FETCH gc_get_cur_person_data into l_cur_person_data;
3838   IF gc_get_cur_person_data%NOTFOUND
3839   THEN
3840      CLOSE gc_get_cur_person_data;
3841      raise g_data_error;
3842   ELSE
3843      CLOSE gc_get_cur_person_data;
3844   END IF;
3845 --
3846 ------------------------------------------------------------------------------
3847 -- NOTE: We need to use nvl(xxx attribute name, hr_api.g_xxxx) because the
3848 --       parameter coming in can be null.  If we do not use nvl, then it will
3849 --       never be equal to the database null value if the parameter value is
3850 --       also null.
3851 ------------------------------------------------------------------------------
3852   IF p_person_type_id <> hr_api.g_number OR p_person_type_id IS NULL
3853   THEN
3854      IF nvl(p_person_type_id, hr_api.g_number) <>
3855         nvl(l_cur_person_data.person_type_id, hr_api.g_number)
3856      THEN
3857         hr_utility.set_location('nvl(p_person_type_id, hr_api.g_number) <> nvl(l_cur_person_data.person_type_id, hr_api.g_number)'||l_proc,25);
3858         l_rec_changed := TRUE;
3859         hr_utility.set_location('GOing to <FINISH>'||l_proc,30);
3860         goto finish;
3861      END IF;
3862   END IF;
3863 --
3864   IF p_last_name <> hr_api.g_varchar2 OR p_last_name IS NULL
3865   THEN
3866      IF nvl(p_last_name, hr_api.g_varchar2) <>
3867         nvl (l_cur_person_data.last_name, hr_api.g_varchar2)
3868      THEN
3869         hr_utility.set_location('nvl(p_last_name, hr_api.g_varchar2) <>nvl (l_cur_person_data.last_name, hr_api.g_varchar2)'||l_proc,35);
3870         hr_utility.set_location('GOing to <FINISH>'||l_proc,40);
3871         l_rec_changed := TRUE;
3872         goto finish;
3873      END IF;
3874   END IF;
3875 --
3876   IF p_applicant_number <> hr_api.g_varchar2 OR p_applicant_number IS NULL
3877   THEN
3878      IF nvl(p_applicant_number, hr_api.g_varchar2) <>
3879         nvl(l_cur_person_data.applicant_number, hr_api.g_varchar2)
3880      THEN
3881         l_rec_changed := TRUE;
3882         hr_utility.set_location('nvl(p_applicant_number, hr_api.g_varchar2)<>nvl(l_cur_person_data.applicant_number, hr_api.g_varchar2)'||l_proc,45);
3883         hr_utility.set_location('GOing to <FINISH>'||l_proc,50);
3884 
3885         goto finish;
3886      END IF;
3887   END IF;
3888 --
3889   IF p_comments <> hr_api.g_varchar2 OR p_comments IS NULL
3890   THEN
3891      IF nvl(p_comments, hr_api.g_varchar2) <>
3892         nvl(l_cur_person_data.comment_text, hr_api.g_varchar2)
3893      THEN
3894         l_rec_changed := TRUE;
3895         hr_utility.set_location('nvl(p_comments, hr_api.g_varchar2) <>nvl(l_cur_person_data.comment_text, hr_api.g_varchar2)'||l_proc,55);
3896         hr_utility.set_location('GOing to <FINISH>'||l_proc,60);
3897 
3898         goto finish;
3899      END IF;
3900   END IF;
3901 --
3902   IF p_date_employee_data_verified <> hr_api.g_date OR p_date_employee_data_verified IS NULL
3903   THEN
3904      IF nvl(p_date_employee_data_verified, hr_api.g_date) <>
3905         nvl(l_cur_person_data.date_employee_data_verified, hr_api.g_date)
3906      THEN
3907 
3908         hr_utility.set_location('GOing to <FINISH>'||l_proc,65);
3909 
3910         l_rec_changed := TRUE;
3911         goto finish;
3912      END IF;
3913   END IF;
3914 --
3915   IF p_original_date_of_hire <> hr_api.g_date OR p_original_date_of_hire IS NULL
3916   THEN
3917      IF nvl(p_original_date_of_hire, hr_api.g_date) <>
3918         nvl(l_cur_person_data.original_date_of_hire, hr_api.g_date)
3919      THEN
3920         hr_utility.set_location('GOing to <FINISH>'||l_proc,70);
3921         l_rec_changed := TRUE;
3922         goto finish;
3923      END IF;
3924   END IF;
3925 --
3926   IF p_date_of_birth <> hr_api.g_date OR p_date_of_birth IS NULL
3927   THEN
3928      IF nvl(p_date_of_birth, hr_api.g_date) <>
3929         nvl(l_cur_person_data.date_of_birth, hr_api.g_date)
3930      THEN
3931         l_rec_changed := TRUE;
3932                 hr_utility.set_location('Check DOB & , GOing to <FINISH>'||l_proc,65);
3933         goto finish;
3934      END IF;
3935   END IF;
3936 --
3937   IF p_town_of_birth <> hr_api.g_varchar2 OR p_town_of_birth IS NULL
3938   THEN
3939      IF nvl(p_town_of_birth, hr_api.g_varchar2) <>
3940         nvl(l_cur_person_data.town_of_birth, hr_api.g_varchar2)
3941      THEN
3942         l_rec_changed := TRUE;
3943         hr_utility.set_location('Check on Town of birth & GOing to <FINISH>'||l_proc,70);
3944         goto finish;
3945      END IF;
3946   END IF;
3947 --
3948   IF p_region_of_birth <> hr_api.g_varchar2 OR p_region_of_birth IS NULL
3949   THEN
3950      IF nvl(p_region_of_birth, hr_api.g_varchar2) <>
3951         nvl(l_cur_person_data.region_of_birth, hr_api.g_varchar2)
3952      THEN
3953         l_rec_changed := TRUE;
3954                 hr_utility.set_location('Check on Region  of birth & GOing to <FINISH>'||l_proc,75);
3955         goto finish;
3956      END IF;
3957   END IF;
3958 --
3959   IF p_country_of_birth <> hr_api.g_varchar2 OR p_country_of_birth IS NULL
3960   THEN
3961      IF nvl(p_country_of_birth, hr_api.g_varchar2) <>
3962         nvl(l_cur_person_data.country_of_birth, hr_api.g_varchar2)
3963      THEN
3964         l_rec_changed := TRUE;
3965         hr_utility.set_location('Check on Country  of birth & GOing to <FINISH>'||l_proc,80);
3966         goto finish;
3967      END IF;
3968   END IF;
3969 --
3970 -- Global_Person_ID is defined as varchar2 data type on the database.
3971   IF p_global_person_id <> hr_api.g_varchar2 OR p_global_person_id IS NULL
3972   THEN
3973      IF nvl(p_global_person_id, hr_api.g_varchar2) <>
3974         nvl(l_cur_person_data.global_person_id, hr_api.g_varchar2)
3975      THEN
3976         hr_utility.set_location('Check on Global person id & GOing to <FINISH>'||l_proc,80);
3977         l_rec_changed := TRUE;
3978         goto finish;
3979      END IF;
3980   END IF;
3981 --
3982   IF p_email_address <> hr_api.g_varchar2 OR p_email_address IS NULL
3983   THEN
3984      IF nvl(p_email_address, hr_api.g_varchar2) <>
3985         nvl(l_cur_person_data.email_address, hr_api.g_varchar2)
3986      THEN
3987         l_rec_changed := TRUE;
3988                 hr_utility.set_location('Check on Email id id & GOing to <FINISH>'||l_proc,85);
3989         goto finish;
3990      END IF;
3991   END IF;
3992 --
3993   IF p_employee_number <> hr_api.g_varchar2 OR p_employee_number IS NULL
3994   THEN
3995      IF nvl(p_employee_number, hr_api.g_varchar2) <>
3996         nvl(l_cur_person_data.employee_number, hr_api.g_varchar2)
3997      THEN
3998         l_rec_changed := TRUE;
3999         hr_utility.set_location('Check on empno & GOing to <FINISH>'||l_proc,90);
4000         goto finish;
4001      END IF;
4002   END IF;
4003 --
4004   IF p_npw_number <> hr_api.g_varchar2 OR p_npw_number IS NULL
4005   THEN
4006      IF nvl(p_npw_number, hr_api.g_varchar2) <>
4007         nvl(l_cur_person_data.npw_number, hr_api.g_varchar2)
4008      THEN
4009           hr_utility.set_location('Check on npwno & GOing to <FINISH>'||l_proc,95);
4010          l_rec_changed := TRUE;
4011         goto finish;
4012      END IF;
4013   END IF;
4014 --
4015   IF p_expense_check_send_to_addres <> hr_api.g_varchar2 OR p_expense_check_send_to_addres IS NULL
4016   THEN
4017      IF nvl(p_expense_check_send_to_addres, hr_api.g_varchar2) <>
4018         nvl(l_cur_person_data.expense_check_send_to_address, hr_api.g_varchar2)
4019      THEN
4020         hr_utility.set_location('Check on to address & GOing to <FINISH>'||l_proc,100);
4021         l_rec_changed := TRUE;
4022         goto finish;
4023      END IF;
4024   END IF;
4025 --
4026   IF p_first_name <> hr_api.g_varchar2 OR p_first_name IS NULL
4027   THEN
4028      IF nvl(p_first_name, hr_api.g_varchar2) <>
4029         nvl(l_cur_person_data.first_name, hr_api.g_varchar2)
4030      THEN
4031         hr_utility.set_location('Check on firstname & GOing to <FINISH>'||l_proc,105);
4032         l_rec_changed := TRUE;
4033         goto finish;
4034      END IF;
4035   END IF;
4036 --
4037   IF p_known_as <> hr_api.g_varchar2 OR p_known_as IS NULL
4038   THEN
4039      IF nvl(p_known_as, hr_api.g_varchar2) <>
4040         nvl(l_cur_person_data.known_as, hr_api.g_varchar2)
4041      THEN
4042         l_rec_changed := TRUE;
4043         goto finish;
4044      END IF;
4045   END IF;
4046 --
4047   IF p_marital_status <> hr_api.g_varchar2 OR p_marital_status IS NULL
4048   THEN
4049      IF nvl(p_marital_status, hr_api.g_varchar2) <>
4050         nvl(l_cur_person_data.marital_status, hr_api.g_varchar2)
4051      THEN
4052         l_rec_changed := TRUE;
4053         goto finish;
4054      END IF;
4055   END IF;
4056 --
4057   IF p_middle_names <> hr_api.g_varchar2 OR p_middle_names IS NULL
4058   THEN
4059      IF nvl(p_middle_names, hr_api.g_varchar2) <>
4060         nvl(l_cur_person_data.middle_names, hr_api.g_varchar2)
4061      THEN
4062          hr_utility.set_location('Check on middlename & GOing to <FINISH>'||l_proc,110);
4063                l_rec_changed := TRUE;
4064         goto finish;
4065      END IF;
4066   END IF;
4067 --
4068   IF p_nationality <> hr_api.g_varchar2 OR p_nationality IS NULL
4069   THEN
4070      IF nvl(p_nationality, hr_api.g_varchar2) <>
4071         nvl(l_cur_person_data.nationality, hr_api.g_varchar2)
4072      THEN
4073         l_rec_changed := TRUE;
4074         goto finish;
4075      END IF;
4076   END IF;
4077 --
4078   IF p_national_identifier <> hr_api.g_varchar2 OR p_national_identifier IS NULL
4079   THEN
4080      IF nvl(p_national_identifier, hr_api.g_varchar2) <>
4081         nvl(l_cur_person_data.national_identifier, hr_api.g_varchar2)
4082      THEN
4083         l_rec_changed := TRUE;
4084         goto finish;
4085      END IF;
4086   END IF;
4087 --
4088   IF p_previous_last_name <> hr_api.g_varchar2 OR p_previous_last_name IS NULL
4089   THEN
4090      IF nvl(p_previous_last_name, hr_api.g_varchar2) <>
4091         nvl(l_cur_person_data.previous_last_name, hr_api.g_varchar2)
4092      THEN
4093         l_rec_changed := TRUE;
4094         goto finish;
4095      END IF;
4096   END IF;
4097 --
4098   IF p_registered_disabled_flag <> hr_api.g_varchar2 OR p_registered_disabled_flag IS NULL
4099   THEN
4100      IF nvl(p_registered_disabled_flag, hr_api.g_varchar2) <>
4101         nvl(l_cur_person_data.registered_disabled_flag, hr_api.g_varchar2)
4102      THEN
4103         l_rec_changed := TRUE;
4104         goto finish;
4105      END IF;
4106   END IF;
4107 --
4108   IF p_sex <> hr_api.g_varchar2 OR p_sex IS NULL
4109   THEN
4110      IF nvl(p_sex, hr_api.g_varchar2) <>
4111         nvl(l_cur_person_data.sex, hr_api.g_varchar2)
4112      THEN
4113         l_rec_changed := TRUE;
4114         goto finish;
4115      END IF;
4116   END IF;
4117 --
4118   IF p_title <> hr_api.g_varchar2 OR p_title IS NULL
4119   THEN
4120      IF nvl(p_title, hr_api.g_varchar2) <>
4121         nvl(l_cur_person_data.title, hr_api.g_varchar2)
4122      THEN
4123         l_rec_changed := TRUE;
4124         goto finish;
4125      END IF;
4126   END IF;
4127 --
4128   IF p_vendor_id <> hr_api.g_number OR p_vendor_id IS NULL
4129   THEN
4130      IF nvl(p_vendor_id, hr_api.g_number) <>
4131         nvl(l_cur_person_data.vendor_id, hr_api.g_number)
4132      THEN
4133         l_rec_changed := TRUE;
4134         goto finish;
4135      END IF;
4136   END IF;
4137 --
4138   IF p_work_telephone <> hr_api.g_varchar2 OR p_work_telephone IS NULL
4139   THEN
4140      IF nvl(p_work_telephone, hr_api.g_varchar2) <>
4141         nvl(l_cur_person_data.work_telephone, hr_api.g_varchar2)
4142      THEN
4143         l_rec_changed := TRUE;
4144         goto finish;
4145      END IF;
4146   END IF;
4147 --
4148   IF p_suffix <> hr_api.g_varchar2 OR p_suffix IS NULL
4149   THEN
4150      IF nvl(p_suffix, hr_api.g_varchar2) <>
4151         nvl(l_cur_person_data.suffix, hr_api.g_varchar2)
4152      THEN
4153         l_rec_changed := TRUE;
4154         goto finish;
4155      END IF;
4156   END IF;
4157 --
4158   IF p_date_of_death <> hr_api.g_date OR p_date_of_death IS NULL
4159   THEN
4160      IF nvl(p_date_of_death, hr_api.g_date) <>
4161         nvl(l_cur_person_data.date_of_death, hr_api.g_date)
4162      THEN
4163         l_rec_changed := TRUE;
4164         goto finish;
4165      END IF;
4166   END IF;
4167 --
4168   IF p_background_check_status <> hr_api.g_varchar2 OR p_background_check_status IS NULL
4169   THEN
4170      IF nvl(p_background_check_status, hr_api.g_varchar2) <>
4171         nvl(l_cur_person_data.background_check_status, hr_api.g_varchar2)
4172      THEN
4173         l_rec_changed := TRUE;
4174         goto finish;
4175      END IF;
4176   END IF;
4177 --
4178   IF p_background_date_check <> hr_api.g_date OR p_background_date_check IS NULL
4179   THEN
4180      IF nvl(p_background_date_check, hr_api.g_date) <>
4181         nvl(l_cur_person_data.background_date_check, hr_api.g_date)
4182      THEN
4183         l_rec_changed := TRUE;
4184         goto finish;
4185      END IF;
4186   END IF;
4187 --
4188   IF p_blood_type <> hr_api.g_varchar2 OR p_blood_type IS NULL
4189   THEN
4190      IF nvl(p_blood_type, hr_api.g_varchar2) <>
4191         nvl(l_cur_person_data.blood_type, hr_api.g_varchar2)
4192      THEN
4193         l_rec_changed := TRUE;
4194         goto finish;
4195      END IF;
4196   END IF;
4197 --
4198   IF p_correspondence_language <> hr_api.g_varchar2 OR p_correspondence_language IS NULL
4199   THEN
4200      IF nvl(p_correspondence_language, hr_api.g_varchar2) <>
4201         nvl(l_cur_person_data.correspondence_language, hr_api.g_varchar2)
4202      THEN
4203         l_rec_changed := TRUE;
4204         goto finish;
4205      END IF;
4206   END IF;
4207 --
4208   IF p_fast_path_employee <> hr_api.g_varchar2 OR p_fast_path_employee IS NULL
4209   THEN
4210      IF nvl(p_fast_path_employee, hr_api.g_varchar2) <>
4211         nvl(l_cur_person_data.fast_path_employee, hr_api.g_varchar2)
4212      THEN
4213         l_rec_changed := TRUE;
4214         goto finish;
4215      END IF;
4216   END IF;
4217 --
4218   IF p_fte_capacity <> hr_api.g_number OR p_fte_capacity IS NULL
4219   THEN
4220      IF nvl(p_fte_capacity, hr_api.g_number) <>
4221         nvl(l_cur_person_data.fte_capacity, hr_api.g_number)
4222      THEN
4223         l_rec_changed := TRUE;
4224         goto finish;
4225      END IF;
4226   END IF;
4227 --
4228   IF p_hold_applicant_date_until <> hr_api.g_date OR p_hold_applicant_date_until IS NULL
4229   THEN
4230      IF nvl(p_hold_applicant_date_until, hr_api.g_date) <>
4231         nvl(l_cur_person_data.hold_applicant_date_until, hr_api.g_date)
4232      THEN
4233         l_rec_changed := TRUE;
4234         goto finish;
4235      END IF;
4236   END IF;
4237 --
4238   IF p_honors <> hr_api.g_varchar2 OR p_honors IS NULL
4239   THEN
4240      IF nvl(p_honors, hr_api.g_varchar2) <>
4241         nvl(l_cur_person_data.honors, hr_api.g_varchar2)
4242      THEN
4243         l_rec_changed := TRUE;
4244         goto finish;
4245      END IF;
4246   END IF;
4247 --
4248   IF p_internal_location <> hr_api.g_varchar2 OR p_internal_location IS NULL
4249   THEN
4250      IF nvl(p_internal_location, hr_api.g_varchar2) <>
4251         nvl(l_cur_person_data.internal_location, hr_api.g_varchar2)
4252      THEN
4253         l_rec_changed := TRUE;
4254         goto finish;
4255      END IF;
4256   END IF;
4257 --
4258   IF p_last_medical_test_by <> hr_api.g_varchar2 OR p_last_medical_test_by IS NULL
4259   THEN
4260      IF nvl(p_last_medical_test_by, hr_api.g_varchar2) <>
4261         nvl(l_cur_person_data.last_medical_test_by, hr_api.g_varchar2)
4262      THEN
4263         l_rec_changed := TRUE;
4264         goto finish;
4265      END IF;
4266   END IF;
4267 --
4268   IF p_last_medical_test_date <> hr_api.g_date OR p_last_medical_test_date IS NULL
4269   THEN
4270      IF nvl(p_last_medical_test_date, hr_api.g_date) <>
4271         nvl(l_cur_person_data.last_medical_test_date, hr_api.g_date)
4272      THEN
4273         l_rec_changed := TRUE;
4274         goto finish;
4275      END IF;
4276   END IF;
4277 --
4278   IF p_mailstop <> hr_api.g_varchar2 OR p_mailstop IS NULL
4279   THEN
4280      IF nvl(p_mailstop, hr_api.g_varchar2) <>
4281         nvl(l_cur_person_data.mailstop, hr_api.g_varchar2)
4282      THEN
4283         l_rec_changed := TRUE;
4284         goto finish;
4285      END IF;
4286   END IF;
4287 --
4288   IF p_office_number <> hr_api.g_varchar2 OR p_office_number IS NULL
4289   THEN
4290      IF nvl(p_office_number, hr_api.g_varchar2) <>
4291         nvl(l_cur_person_data.office_number, hr_api.g_varchar2)
4292      THEN
4293         l_rec_changed := TRUE;
4294         goto finish;
4295      END IF;
4296   END IF;
4297 --
4298   IF p_on_military_service <> hr_api.g_varchar2 OR p_on_military_service IS NULL
4299   THEN
4300      IF nvl(p_on_military_service, hr_api.g_varchar2) <>
4301         nvl(l_cur_person_data.on_military_service, hr_api.g_varchar2)
4302      THEN
4303         l_rec_changed := TRUE;
4304         goto finish;
4305      END IF;
4306   END IF;
4307 --
4308   IF p_pre_name_adjunct <> hr_api.g_varchar2 OR p_pre_name_adjunct IS NULL
4309   THEN
4310      IF nvl(p_pre_name_adjunct, hr_api.g_varchar2) <>
4311         nvl(l_cur_person_data.pre_name_adjunct, hr_api.g_varchar2)
4312      THEN
4313         l_rec_changed := TRUE;
4314         goto finish;
4315      END IF;
4316   END IF;
4317 --
4318   IF p_projected_start_date <> hr_api.g_date OR p_projected_start_date IS NULL
4319   THEN
4320      IF nvl(p_projected_start_date, hr_api.g_date) <>
4321         nvl(l_cur_person_data.projected_start_date, hr_api.g_date)
4322      THEN
4323         l_rec_changed := TRUE;
4324         goto finish;
4325      END IF;
4326   END IF;
4327 --_
4328 --
4329   IF p_rehire_authorizor <> hr_api.g_varchar2 OR p_rehire_authorizor IS NULL
4330   THEN
4331      IF nvl(p_rehire_authorizor, hr_api.g_varchar2) <>
4332         nvl(l_cur_person_data.rehire_authorizor, hr_api.g_varchar2)
4333      THEN
4334         l_rec_changed := TRUE;
4335         goto finish;
4336      END IF;
4337   END IF;
4338 --
4339   IF p_rehire_recommendation <> hr_api.g_varchar2 OR p_rehire_recommendation IS NULL
4340   THEN
4341      IF nvl(p_rehire_recommendation, hr_api.g_varchar2) <>
4342         nvl(l_cur_person_data.rehire_recommendation, hr_api.g_varchar2)
4343      THEN
4344         l_rec_changed := TRUE;
4345         goto finish;
4346      END IF;
4347   END IF;
4348 --
4349   IF p_rehire_reason <> hr_api.g_varchar2 OR p_rehire_reason IS NULL
4350   THEN
4351      IF nvl(p_rehire_reason, hr_api.g_varchar2) <>
4352         nvl(l_cur_person_data.rehire_reason, hr_api.g_varchar2)
4353      THEN
4354         l_rec_changed := TRUE;
4355         goto finish;
4356      END IF;
4357   END IF;
4358 --
4359   IF p_benefit_group_id <> hr_api.g_number OR p_benefit_group_id IS NULL
4360   THEN
4361      IF nvl(p_benefit_group_id, hr_api.g_number) <>
4362         nvl(l_cur_person_data.benefit_group_id, hr_api.g_number)
4363      THEN
4364         l_rec_changed := TRUE;
4365         goto finish;
4366      END IF;
4367   END IF;
4368 --
4369   IF p_receipt_of_death_cert_date <> hr_api.g_date OR p_receipt_of_death_cert_date IS NULL
4370   THEN
4371      IF nvl(p_receipt_of_death_cert_date, hr_api.g_date) <>
4372         nvl(l_cur_person_data.receipt_of_death_cert_date, hr_api.g_date)
4373      THEN
4374         l_rec_changed := TRUE;
4375         goto finish;
4376      END IF;
4377   END IF;
4378 --
4379   IF p_coord_ben_med_pln_no <> hr_api.g_varchar2 OR p_coord_ben_med_pln_no IS NULL
4380   THEN
4381      IF nvl(p_coord_ben_med_pln_no, hr_api.g_varchar2) <>
4382         nvl(l_cur_person_data.coord_ben_med_pln_no, hr_api.g_varchar2)
4383      THEN
4384         l_rec_changed := TRUE;
4385         goto finish;
4386      END IF;
4387   END IF;
4388 --
4389   IF p_coord_ben_no_cvg_flag <> hr_api.g_varchar2 OR p_coord_ben_no_cvg_flag IS NULL
4390   THEN
4391      IF nvl(p_coord_ben_no_cvg_flag, hr_api.g_varchar2) <>
4392         nvl(l_cur_person_data.coord_ben_no_cvg_flag, hr_api.g_varchar2)
4393      THEN
4394         l_rec_changed := TRUE;
4395         goto finish;
4396      END IF;
4397   END IF;
4398 --
4399   IF p_uses_tobacco_flag <> hr_api.g_varchar2 OR p_uses_tobacco_flag IS NULL
4400   THEN
4401      IF nvl(p_uses_tobacco_flag, hr_api.g_varchar2) <>
4402         nvl(l_cur_person_data.uses_tobacco_flag, hr_api.g_varchar2)
4403      THEN
4404         l_rec_changed := TRUE;
4405         goto finish;
4406      END IF;
4407   END IF;
4408 --
4409   IF p_dpdnt_adoption_date <> hr_api.g_date OR p_dpdnt_adoption_date IS NULL
4410   THEN
4411      IF nvl(p_dpdnt_adoption_date, hr_api.g_date) <>
4412         nvl(l_cur_person_data.dpdnt_adoption_date, hr_api.g_date)
4413      THEN
4414         l_rec_changed := TRUE;
4415         goto finish;
4416      END IF;
4417   END IF;
4418 --
4419   IF p_dpdnt_vlntry_svce_flag <> hr_api.g_varchar2 OR p_dpdnt_vlntry_svce_flag IS NULL
4420   THEN
4421      IF nvl(p_dpdnt_vlntry_svce_flag, hr_api.g_varchar2) <>
4422         nvl(l_cur_person_data.dpdnt_vlntry_svce_flag, hr_api.g_varchar2)
4423      THEN
4424         l_rec_changed := TRUE;
4425         goto finish;
4426      END IF;
4427   END IF;
4428 --
4429 
4430   IF p_adjusted_svc_date <> hr_api.g_date
4431   THEN
4432      IF nvl(p_adjusted_svc_date, hr_api.g_date) <>
4433         nvl(l_cur_person_data.adjusted_svc_date, hr_api.g_date)
4434      THEN
4435         l_rec_changed := TRUE;
4436         goto finish;
4437      END IF;
4438   END IF;
4439 
4440 
4441 --
4442   IF p_resume_exists <> hr_api.g_varchar2 OR p_resume_exists IS NULL
4443   THEN
4444      IF nvl(p_resume_exists, hr_api.g_varchar2) <>
4445         nvl(l_cur_person_data.resume_exists, hr_api.g_varchar2)
4446      THEN
4447         l_rec_changed := TRUE;
4448         goto finish;
4449      END IF;
4450   END IF;
4451 --
4452   IF p_resume_last_updated <> hr_api.g_date OR p_resume_last_updated IS NULL
4453   THEN
4454      IF nvl(p_resume_last_updated, hr_api.g_date) <>
4455         nvl(l_cur_person_data.resume_last_updated, hr_api.g_date)
4456      THEN
4457         l_rec_changed := TRUE;
4458         goto finish;
4459      END IF;
4460   END IF;
4461 --
4462   IF p_second_passport_exists <> hr_api.g_varchar2 OR p_second_passport_exists IS NULL
4463   THEN
4464      IF nvl(p_second_passport_exists, hr_api.g_varchar2) <>
4465         nvl(l_cur_person_data.second_passport_exists, hr_api.g_varchar2)
4466      THEN
4467         l_rec_changed := TRUE;
4468         goto finish;
4469      END IF;
4470   END IF;
4471 --
4472   IF p_student_status <> hr_api.g_varchar2 OR p_student_status IS NULL
4473   THEN
4474      IF nvl(p_student_status, hr_api.g_varchar2) <>
4475         nvl(l_cur_person_data.student_status, hr_api.g_varchar2)
4476      THEN
4477         l_rec_changed := TRUE;
4478         goto finish;
4479      END IF;
4480   END IF;
4481 --
4482   IF p_work_schedule <> hr_api.g_varchar2 OR p_work_schedule IS NULL
4483   THEN
4484      IF nvl(p_work_schedule, hr_api.g_varchar2) <>
4485         nvl(l_cur_person_data.work_schedule, hr_api.g_varchar2)
4486      THEN
4487         l_rec_changed := TRUE;
4488         goto finish;
4489      END IF;
4490   END IF;
4491 --
4492   IF p_attribute_category <> hr_api.g_varchar2 OR p_attribute_category IS NULL
4493   THEN
4494      IF nvl(p_attribute_category, hr_api.g_varchar2) <>
4495         nvl(l_cur_person_data.attribute_category, hr_api.g_varchar2)
4496      THEN
4497         l_rec_changed := TRUE;
4498         goto finish;
4499      END IF;
4500   END IF;
4501 --
4502   IF p_attribute1 <> hr_api.g_varchar2 OR p_attribute1 IS NULL
4503   THEN
4504      IF nvl(p_attribute1, hr_api.g_varchar2) <>
4505         nvl(l_cur_person_data.attribute1, hr_api.g_varchar2)
4506      THEN
4507         l_rec_changed := TRUE;
4508         goto finish;
4509      END IF;
4510   END IF;
4511 --
4512   IF p_attribute2 <> hr_api.g_varchar2 OR p_attribute2 IS NULL
4513   THEN
4514      IF nvl(p_attribute2, hr_api.g_varchar2) <>
4515         nvl(l_cur_person_data.attribute2, hr_api.g_varchar2)
4516      THEN
4517         l_rec_changed := TRUE;
4518         goto finish;
4519      END IF;
4520   END IF;
4521 --
4522   IF p_attribute3 <> hr_api.g_varchar2 OR p_attribute3 IS NULL
4523   THEN
4524      IF nvl(p_attribute3, hr_api.g_varchar2) <>
4525         nvl(l_cur_person_data.attribute3, hr_api.g_varchar2)
4526      THEN
4527         l_rec_changed := TRUE;
4528         goto finish;
4529      END IF;
4530   END IF;
4531 --
4532   IF p_attribute4 <> hr_api.g_varchar2 OR p_attribute4 IS NULL
4533   THEN
4534      IF nvl(p_attribute4, hr_api.g_varchar2) <>
4535         nvl(l_cur_person_data.attribute4, hr_api.g_varchar2)
4536      THEN
4537         l_rec_changed := TRUE;
4538         goto finish;
4539      END IF;
4540   END IF;
4541 --
4542   IF p_attribute5 <> hr_api.g_varchar2 OR p_attribute5 IS NULL
4543   THEN
4544      IF nvl(p_attribute5, hr_api.g_varchar2) <>
4545         nvl(l_cur_person_data.attribute5, hr_api.g_varchar2)
4546      THEN
4547         l_rec_changed := TRUE;
4548         goto finish;
4549      END IF;
4550   END IF;
4551 --
4552   IF p_attribute6 <> hr_api.g_varchar2 OR p_attribute6 IS NULL
4553   THEN
4554      IF nvl(p_attribute6, hr_api.g_varchar2) <>
4555         nvl(l_cur_person_data.attribute6, hr_api.g_varchar2)
4556      THEN
4557         l_rec_changed := TRUE;
4558         goto finish;
4559      END IF;
4560   END IF;
4561 --
4562   IF p_attribute7 <> hr_api.g_varchar2 OR p_attribute7 IS NULL
4563   THEN
4564      IF nvl(p_attribute7, hr_api.g_varchar2) <>
4565         nvl(l_cur_person_data.attribute7, hr_api.g_varchar2)
4566      THEN
4567         l_rec_changed := TRUE;
4568         goto finish;
4569      END IF;
4570   END IF;
4571 --
4572   IF p_attribute8 <> hr_api.g_varchar2 OR p_attribute8 IS NULL
4573   THEN
4574      IF nvl(p_attribute8, hr_api.g_varchar2) <>
4575         nvl(l_cur_person_data.attribute8, hr_api.g_varchar2)
4576      THEN
4577         l_rec_changed := TRUE;
4578         goto finish;
4579      END IF;
4580   END IF;
4581 --
4582   IF p_attribute9 <> hr_api.g_varchar2 OR p_attribute9 IS NULL
4583   THEN
4584      IF nvl(p_attribute9, hr_api.g_varchar2) <>
4585         nvl(l_cur_person_data.attribute9, hr_api.g_varchar2)
4586      THEN
4587         l_rec_changed := TRUE;
4588         goto finish;
4589      END IF;
4590   END IF;
4591 --
4592   IF p_attribute10 <> hr_api.g_varchar2 OR p_attribute10 IS NULL
4593   THEN
4594      IF nvl(p_attribute10, hr_api.g_varchar2) <>
4595         nvl(l_cur_person_data.attribute10, hr_api.g_varchar2)
4596      THEN
4597         l_rec_changed := TRUE;
4598         goto finish;
4599      END IF;
4600   END IF;
4601 --
4602   IF p_attribute11 <> hr_api.g_varchar2 OR p_attribute11 IS NULL
4603   THEN
4604      IF nvl(p_attribute11, hr_api.g_varchar2) <>
4605         nvl(l_cur_person_data.attribute11, hr_api.g_varchar2)
4606      THEN
4607         l_rec_changed := TRUE;
4608         goto finish;
4609      END IF;
4610   END IF;
4611 --
4612   IF p_attribute12 <> hr_api.g_varchar2 OR p_attribute12 IS NULL
4613   THEN
4614      IF nvl(p_attribute12, hr_api.g_varchar2) <>
4615         nvl(l_cur_person_data.attribute12, hr_api.g_varchar2)
4616      THEN
4617         l_rec_changed := TRUE;
4618         goto finish;
4619      END IF;
4620   END IF;
4621 --
4622   IF p_attribute13 <> hr_api.g_varchar2 OR p_attribute13 IS NULL
4623   THEN
4624      IF nvl(p_attribute13, hr_api.g_varchar2) <>
4625         nvl(l_cur_person_data.attribute13, hr_api.g_varchar2)
4626      THEN
4627         l_rec_changed := TRUE;
4628         goto finish;
4629      END IF;
4630   END IF;
4631 --
4632   IF p_attribute14 <> hr_api.g_varchar2 OR p_attribute14 IS NULL
4633   THEN
4634      IF nvl(p_attribute14, hr_api.g_varchar2) <>
4635         nvl(l_cur_person_data.attribute14, hr_api.g_varchar2)
4636      THEN
4637         l_rec_changed := TRUE;
4638         goto finish;
4639      END IF;
4640   END IF;
4641 --
4642   IF p_attribute15 <> hr_api.g_varchar2 OR p_attribute15 IS NULL
4643   THEN
4644      IF nvl(p_attribute15, hr_api.g_varchar2) <>
4645         nvl(l_cur_person_data.attribute15, hr_api.g_varchar2)
4646      THEN
4647         l_rec_changed := TRUE;
4648         goto finish;
4649      END IF;
4650   END IF;
4651 --
4652   IF p_attribute16 <> hr_api.g_varchar2 OR p_attribute16 IS NULL
4653   THEN
4654      IF nvl(p_attribute16, hr_api.g_varchar2) <>
4655         nvl(l_cur_person_data.attribute16, hr_api.g_varchar2)
4656      THEN
4657         l_rec_changed := TRUE;
4658         goto finish;
4659      END IF;
4660   END IF;
4661 --
4662   IF p_attribute17 <> hr_api.g_varchar2 OR p_attribute17 IS NULL
4663   THEN
4664      IF nvl(p_attribute17, hr_api.g_varchar2) <>
4665         nvl(l_cur_person_data.attribute17, hr_api.g_varchar2)
4666      THEN
4667         l_rec_changed := TRUE;
4668         goto finish;
4669      END IF;
4670   END IF;
4671 --
4672   IF p_attribute18 <> hr_api.g_varchar2 OR p_attribute18 IS NULL
4673   THEN
4674      IF nvl(p_attribute18, hr_api.g_varchar2) <>
4675         nvl(l_cur_person_data.attribute18, hr_api.g_varchar2)
4676      THEN
4677         l_rec_changed := TRUE;
4678         goto finish;
4679      END IF;
4680   END IF;
4681 --
4682   IF p_attribute19 <> hr_api.g_varchar2 OR p_attribute19 IS NULL
4683   THEN
4684      IF nvl(p_attribute19, hr_api.g_varchar2) <>
4685         nvl(l_cur_person_data.attribute19, hr_api.g_varchar2)
4686      THEN
4687         l_rec_changed := TRUE;
4688         goto finish;
4689      END IF;
4690   END IF;
4691 --
4692   IF p_attribute20 <> hr_api.g_varchar2 OR p_attribute20 IS NULL
4693   THEN
4694      IF nvl(p_attribute20, hr_api.g_varchar2) <>
4695         nvl(l_cur_person_data.attribute20, hr_api.g_varchar2)
4696      THEN
4697         l_rec_changed := TRUE;
4698         goto finish;
4699      END IF;
4700   END IF;
4701 --
4702   IF p_attribute21 <> hr_api.g_varchar2 OR p_attribute21 IS NULL
4703   THEN
4704      IF nvl(p_attribute21, hr_api.g_varchar2) <>
4705         nvl(l_cur_person_data.attribute21, hr_api.g_varchar2)
4706      THEN
4707         l_rec_changed := TRUE;
4708         goto finish;
4709      END IF;
4710   END IF;
4711 --
4712   IF p_attribute22 <> hr_api.g_varchar2 OR p_attribute22 IS NULL
4713   THEN
4714      IF nvl(p_attribute22, hr_api.g_varchar2) <>
4715         nvl(l_cur_person_data.attribute22, hr_api.g_varchar2)
4716      THEN
4717         l_rec_changed := TRUE;
4718         goto finish;
4719      END IF;
4720   END IF;
4721 --
4722   IF p_attribute23 <> hr_api.g_varchar2 OR p_attribute23 IS NULL
4723   THEN
4724      IF nvl(p_attribute23, hr_api.g_varchar2) <>
4725         nvl(l_cur_person_data.attribute23, hr_api.g_varchar2)
4726      THEN
4727         l_rec_changed := TRUE;
4728         goto finish;
4729      END IF;
4730   END IF;
4731 --
4732   IF p_attribute24 <> hr_api.g_varchar2 OR p_attribute24 IS NULL
4733   THEN
4734      IF nvl(p_attribute24, hr_api.g_varchar2) <>
4735         nvl(l_cur_person_data.attribute24, hr_api.g_varchar2)
4736      THEN
4737         l_rec_changed := TRUE;
4738         goto finish;
4739      END IF;
4740   END IF;
4741 --
4742   IF p_attribute25 <> hr_api.g_varchar2 OR p_attribute25 IS NULL
4743   THEN
4744      IF nvl(p_attribute25, hr_api.g_varchar2) <>
4745         nvl(l_cur_person_data.attribute25, hr_api.g_varchar2)
4746      THEN
4747         l_rec_changed := TRUE;
4748         goto finish;
4749      END IF;
4750   END IF;
4751 --
4752   IF p_attribute26 <> hr_api.g_varchar2 OR p_attribute26 IS NULL
4753   THEN
4754      IF nvl(p_attribute26, hr_api.g_varchar2) <>
4755         nvl(l_cur_person_data.attribute26, hr_api.g_varchar2)
4756      THEN
4757         l_rec_changed := TRUE;
4758         goto finish;
4759      END IF;
4760   END IF;
4761 --
4762   IF p_attribute27 <> hr_api.g_varchar2 OR p_attribute27 IS NULL
4763   THEN
4764      IF nvl(p_attribute27, hr_api.g_varchar2) <>
4765         nvl(l_cur_person_data.attribute27, hr_api.g_varchar2)
4766      THEN
4767         l_rec_changed := TRUE;
4768         goto finish;
4769      END IF;
4770   END IF;
4771 --
4772   IF p_attribute28 <> hr_api.g_varchar2 OR p_attribute28 IS NULL
4773   THEN
4774      IF nvl(p_attribute28, hr_api.g_varchar2) <>
4775         nvl(l_cur_person_data.attribute28, hr_api.g_varchar2)
4776      THEN
4777         l_rec_changed := TRUE;
4778         goto finish;
4779      END IF;
4780   END IF;
4781 --
4782   IF p_attribute29 <> hr_api.g_varchar2 OR p_attribute29 IS NULL
4783   THEN
4784      IF nvl(p_attribute29, hr_api.g_varchar2) <>
4785         nvl(l_cur_person_data.attribute29, hr_api.g_varchar2)
4786      THEN
4787         l_rec_changed := TRUE;
4788         goto finish;
4789      END IF;
4790   END IF;
4791 --
4792   IF p_attribute30 <> hr_api.g_varchar2 OR p_attribute30 IS NULL
4793   THEN
4794      IF nvl(p_attribute30, hr_api.g_varchar2) <>
4795         nvl(l_cur_person_data.attribute30, hr_api.g_varchar2)
4796      THEN
4797         l_rec_changed := TRUE;
4798         goto finish;
4799      END IF;
4800   END IF;
4801 --
4802   IF p_per_information_category <> hr_api.g_varchar2 OR p_per_information_category IS NULL
4803   THEN
4804      IF nvl(p_per_information_category, hr_api.g_varchar2) <>
4805         nvl(l_cur_person_data.per_information_category, hr_api.g_varchar2)
4806      THEN
4807         l_rec_changed := TRUE;
4808         goto finish;
4809      END IF;
4810   END IF;
4811 --
4812   IF p_per_information1 <> hr_api.g_varchar2 OR p_per_information1 IS NULL
4813   THEN
4814      IF nvl(p_per_information1, hr_api.g_varchar2) <>
4815         nvl(l_cur_person_data.per_information1, hr_api.g_varchar2)
4816      THEN
4817         l_rec_changed := TRUE;
4818         goto finish;
4819      END IF;
4820   END IF;
4821 --
4822   IF p_per_information2 <> hr_api.g_varchar2 OR p_per_information2 IS NULL
4823   THEN
4824      IF nvl(p_per_information2, hr_api.g_varchar2) <>
4825         nvl(l_cur_person_data.per_information2, hr_api.g_varchar2)
4826      THEN
4827         l_rec_changed := TRUE;
4828         goto finish;
4829      END IF;
4830   END IF;
4831 --
4832   IF p_per_information3 <> hr_api.g_varchar2 OR p_per_information3 IS NULL
4833   THEN
4834      IF nvl(p_per_information3, hr_api.g_varchar2) <>
4835         nvl(l_cur_person_data.per_information3, hr_api.g_varchar2)
4836      THEN
4837         l_rec_changed := TRUE;
4838         goto finish;
4839      END IF;
4840   END IF;
4841 --
4842   IF p_per_information4 <> hr_api.g_varchar2 OR p_per_information4 IS NULL
4843   THEN
4844      IF nvl(p_per_information4, hr_api.g_varchar2) <>
4845         nvl(l_cur_person_data.per_information4, hr_api.g_varchar2)
4846      THEN
4847         l_rec_changed := TRUE;
4848         goto finish;
4849      END IF;
4850   END IF;
4851 --
4852   IF p_per_information5 <> hr_api.g_varchar2 OR p_per_information5 IS NULL
4853   THEN
4854      IF nvl(p_per_information5, hr_api.g_varchar2) <>
4855         nvl(l_cur_person_data.per_information5, hr_api.g_varchar2)
4856      THEN
4857         l_rec_changed := TRUE;
4858         goto finish;
4859      END IF;
4860   END IF;
4861 --
4862   IF p_per_information6 <> hr_api.g_varchar2 OR p_per_information6 IS NULL
4863   THEN
4864      IF nvl(p_per_information6, hr_api.g_varchar2) <>
4865         nvl(l_cur_person_data.per_information6, hr_api.g_varchar2)
4866      THEN
4867         l_rec_changed := TRUE;
4868         goto finish;
4869      END IF;
4870   END IF;
4871 --
4872   IF p_per_information7 <> hr_api.g_varchar2 OR p_per_information7 IS NULL
4873   THEN
4874      IF nvl(p_per_information7, hr_api.g_varchar2) <>
4875         nvl(l_cur_person_data.per_information7, hr_api.g_varchar2)
4876      THEN
4877         l_rec_changed := TRUE;
4878         goto finish;
4879      END IF;
4880   END IF;
4881 --
4882   IF p_per_information8 <> hr_api.g_varchar2 OR p_per_information8 IS NULL
4883   THEN
4884      IF nvl(p_per_information8, hr_api.g_varchar2) <>
4885         nvl(l_cur_person_data.per_information8, hr_api.g_varchar2)
4886      THEN
4887         l_rec_changed := TRUE;
4888         goto finish;
4889      END IF;
4890   END IF;
4891 --
4892   IF p_per_information9 <> hr_api.g_varchar2 OR p_per_information9 IS NULL
4893   THEN
4894      IF nvl(p_per_information9, hr_api.g_varchar2) <>
4895         nvl(l_cur_person_data.per_information9, hr_api.g_varchar2)
4896      THEN
4897         l_rec_changed := TRUE;
4898         goto finish;
4899      END IF;
4900   END IF;
4901 --
4902   IF p_per_information10 <> hr_api.g_varchar2 OR p_per_information10 IS NULL
4903   THEN
4904      IF nvl(p_per_information10, hr_api.g_varchar2) <>
4905         nvl(l_cur_person_data.per_information10, hr_api.g_varchar2)
4906      THEN
4907         l_rec_changed := TRUE;
4908         goto finish;
4909      END IF;
4910   END IF;
4911 --
4912   IF p_per_information11 <> hr_api.g_varchar2 OR p_per_information11 IS NULL
4913   THEN
4914      IF nvl(p_per_information11, hr_api.g_varchar2) <>
4915      nvl(l_cur_person_data.per_information11, hr_api.g_varchar2)
4916      THEN
4917         l_rec_changed := TRUE;
4918         goto finish;
4919      END IF;
4920   END IF;
4921 --
4922   IF p_per_information12 <> hr_api.g_varchar2 OR p_per_information12 IS NULL
4923   THEN
4924      IF nvl(p_per_information12, hr_api.g_varchar2) <>
4925         nvl(l_cur_person_data.per_information12, hr_api.g_varchar2)
4926      THEN
4927         l_rec_changed := TRUE;
4928         goto finish;
4929      END IF;
4930   END IF;
4931 --
4932   IF p_per_information13 <> hr_api.g_varchar2 OR p_per_information13 IS NULL
4933   THEN
4934      IF nvl(p_per_information13, hr_api.g_varchar2) <>
4935         nvl(l_cur_person_data.per_information13, hr_api.g_varchar2)
4936      THEN
4937         l_rec_changed := TRUE;
4938         goto finish;
4939      END IF;
4940   END IF;
4941 --
4942   IF p_per_information14 <> hr_api.g_varchar2 OR p_per_information14 IS NULL
4943   THEN
4944      IF nvl(p_per_information14, hr_api.g_varchar2) <>
4945         nvl(l_cur_person_data.per_information14, hr_api.g_varchar2)
4946      THEN
4947         l_rec_changed := TRUE;
4948         goto finish;
4949      END IF;
4950   END IF;
4951 --
4952   IF p_per_information15 <> hr_api.g_varchar2 OR p_per_information15 IS NULL
4953   THEN
4954      IF nvl(p_per_information15, hr_api.g_varchar2) <>
4955         nvl(l_cur_person_data.per_information15, hr_api.g_varchar2)
4956      THEN
4957         l_rec_changed := TRUE;
4958         goto finish;
4959      END IF;
4960   END IF;
4961 --
4962   IF p_per_information16 <> hr_api.g_varchar2 OR p_per_information16 IS NULL
4963   THEN
4964      IF nvl(p_per_information16, hr_api.g_varchar2) <>
4965         nvl(l_cur_person_data.per_information16, hr_api.g_varchar2)
4966      THEN
4967         l_rec_changed := TRUE;
4968         goto finish;
4969      END IF;
4970   END IF;
4971 --
4972   IF p_per_information17 <> hr_api.g_varchar2 OR p_per_information17 IS NULL
4973   THEN
4974      IF nvl(p_per_information17, hr_api.g_varchar2) <>
4975         nvl(l_cur_person_data.per_information17, hr_api.g_varchar2)
4976      THEN
4977         l_rec_changed := TRUE;
4978         goto finish;
4979      END IF;
4980   END IF;
4981 --
4982   IF p_per_information18 <> hr_api.g_varchar2 OR p_per_information18 IS NULL
4983   THEN
4984      IF nvl(p_per_information18, hr_api.g_varchar2) <>
4985         nvl(l_cur_person_data.per_information18, hr_api.g_varchar2)
4986      THEN
4987         l_rec_changed := TRUE;
4988         goto finish;
4989      END IF;
4990   END IF;
4991 --
4992   IF p_per_information19 <> hr_api.g_varchar2 OR p_per_information19 IS NULL
4993   THEN
4994      IF nvl(p_per_information19, hr_api.g_varchar2) <>
4995         nvl(l_cur_person_data.per_information19, hr_api.g_varchar2)
4996      THEN
4997         l_rec_changed := TRUE;
4998         goto finish;
4999      END IF;
5000   END IF;
5001 --
5002   IF p_per_information20 <> hr_api.g_varchar2 OR p_per_information20 IS NULL
5003   THEN
5004      IF nvl(p_per_information20, hr_api.g_varchar2) <>
5005         nvl(l_cur_person_data.per_information20, hr_api.g_varchar2)
5006      THEN
5007         l_rec_changed := TRUE;
5008         goto finish;
5009      END IF;
5010   END IF;
5011 --
5012   IF p_per_information21 <> hr_api.g_varchar2 OR p_per_information21 IS NULL
5013   THEN
5014      IF nvl(p_per_information21, hr_api.g_varchar2) <>
5015         nvl(l_cur_person_data.per_information21, hr_api.g_varchar2)
5016      THEN
5017         l_rec_changed := TRUE;
5018         goto finish;
5019      END IF;
5020   END IF;
5021 --
5022   IF p_per_information22 <> hr_api.g_varchar2 OR p_per_information22 IS NULL
5023   THEN
5024      IF nvl(p_per_information22, hr_api.g_varchar2) <>
5025         nvl(l_cur_person_data.per_information22, hr_api.g_varchar2)
5026      THEN
5027         l_rec_changed := TRUE;
5028         goto finish;
5029      END IF;
5030   END IF;
5031 --
5032   IF p_per_information23 <> hr_api.g_varchar2 OR p_per_information23 IS NULL
5033   THEN
5034      IF nvl(p_per_information23, hr_api.g_varchar2) <>
5035         nvl(l_cur_person_data.per_information23, hr_api.g_varchar2)
5036      THEN
5037         l_rec_changed := TRUE;
5038         goto finish;
5039      END IF;
5040   END IF;
5041 --
5042   IF p_per_information24 <> hr_api.g_varchar2 OR p_per_information24 IS NULL
5043   THEN
5044      IF nvl(p_per_information24, hr_api.g_varchar2) <>
5045         nvl(l_cur_person_data.per_information24, hr_api.g_varchar2)
5046      THEN
5047         l_rec_changed := TRUE;
5048         goto finish;
5049      END IF;
5050   END IF;
5051 --
5052   IF p_per_information25 <> hr_api.g_varchar2 OR p_per_information25 IS NULL
5053   THEN
5054      IF nvl(p_per_information25, hr_api.g_varchar2) <>
5055         nvl(l_cur_person_data.per_information25, hr_api.g_varchar2)
5056      THEN
5057         l_rec_changed := TRUE;
5058         goto finish;
5059      END IF;
5060   END IF;
5061 --
5062   IF p_per_information26 <> hr_api.g_varchar2 OR p_per_information26 IS NULL
5063   THEN
5064      IF nvl(p_per_information26, hr_api.g_varchar2) <>
5065         nvl(l_cur_person_data.per_information26, hr_api.g_varchar2)
5066      THEN
5067         l_rec_changed := TRUE;
5068         goto finish;
5069      END IF;
5070   END IF;
5071 --
5072   IF p_per_information27 <> hr_api.g_varchar2 OR p_per_information27 IS NULL
5073   THEN
5074      IF nvl(p_per_information27, hr_api.g_varchar2) <>
5075         nvl(l_cur_person_data.per_information27, hr_api.g_varchar2)
5076      THEN
5077         l_rec_changed := TRUE;
5078         goto finish;
5079      END IF;
5080   END IF;
5081 --
5082   IF p_per_information28 <> hr_api.g_varchar2 OR p_per_information28 IS NULL
5083   THEN
5084      IF nvl(p_per_information28, hr_api.g_varchar2) <>
5085         nvl(l_cur_person_data.per_information28, hr_api.g_varchar2)
5086      THEN
5087         l_rec_changed := TRUE;
5088         goto finish;
5089      END IF;
5090   END IF;
5091 --
5092   IF p_per_information29 <> hr_api.g_varchar2 OR p_per_information29 IS NULL
5093   THEN
5094      IF nvl(p_per_information29, hr_api.g_varchar2) <>
5095         nvl(l_cur_person_data.per_information29, hr_api.g_varchar2)
5096      THEN
5097         l_rec_changed := TRUE;
5098         goto finish;
5099      END IF;
5100   END IF;
5101 --
5102   IF p_per_information30 <> hr_api.g_varchar2 OR p_per_information30 IS NULL
5103   THEN
5104      IF nvl(p_per_information30, hr_api.g_varchar2) <>
5105         nvl(l_cur_person_data.per_information30, hr_api.g_varchar2)
5106      THEN
5107         l_rec_changed := TRUE;
5108         goto finish;
5109      END IF;
5110   END IF;
5111 
5112   hr_utility.set_location('Exiting:'||l_proc, 200);
5113 --
5114 --
5115 <<finish>>
5116   RETURN l_rec_changed;
5117 
5118 
5119 EXCEPTION
5120   When hr_perinfo_util_web.g_past_effective_date then
5121   hr_utility.set_location('Exception:past_effective_date'||l_proc,555);
5122   hr_utility.set_message(applid=> 800,l_message_name=>'HR_PERINFO_PAST_EFFECTIVE_DATE');
5123   hr_utility.set_message_token('EFFECTIVE_DATE',
5124                                   get_max_effective_date(p_person_id));
5125   raise hr_perinfo_util_web.g_past_effective_date;
5126 
5127     When hr_perinfo_util_web.g_past_current_start_date then
5128   hr_utility.set_location('Exception:past_current_start_date'||l_proc,565);
5129   hr_utility.set_message(applid=> 800,l_message_name=>'HR_PERINFO_PAST_EFFECTIVE_DATE');
5130   hr_utility.set_message_token('EFFECTIVE_DATE',
5131                                   get_max_effective_date(p_person_id));
5132    raise hr_perinfo_util_web.g_past_current_start_date;
5133 
5134 
5135   When g_data_error THEN
5136 
5137   hr_utility.set_location('Exception:g_data_error'||l_proc,575);
5138        raise;
5139 
5140   When others THEN
5141   hr_utility.set_location('Exception:Others'||l_proc,585);
5142        raise;
5143 
5144 END is_rec_changed;
5145 
5146 --
5147 --
5148 -- ---------------------------------------------------------------------------
5149 -- ----------------------------- < process_api > -----------------------------
5150 -- ---------------------------------------------------------------------------
5151 -- Purpose: This procedure will be invoked in workflow notification
5152 --          when an approver approves all the changes.  This procedure
5153 --          will call the api to update to the database with p_validate
5154 --          equal to false.
5155 -- ---------------------------------------------------------------------------
5156 PROCEDURE process_api
5157 (p_validate                 in     boolean default false
5158 ,p_transaction_step_id      in     number
5159 ,p_effective_date           in     varchar2 default null
5160 )
5161 IS
5162 --
5163   l_effective_start_date             date default null;
5164   l_effective_end_date               date default null;
5165   l_full_name                        per_all_people_f.full_name%type;
5166   l_comment_id                       per_all_people_f.comment_id%type;
5167   l_name_combination_warning         boolean default null;
5168   l_assign_payroll_warning           boolean default null;
5169   l_orig_hire_warning                boolean default null;
5170   l_employee_number                  per_all_people_f.employee_number%type
5171                                      := hr_api.g_varchar2;
5172   l_npw_number                       per_all_people_f.npw_number%type
5173                                      := hr_api.g_varchar2;
5174   l_ovn                              number default null;
5175   l_person_id                        per_all_people_f.person_id%type
5176                                      default null;
5177 
5178 --Start Registration
5179 
5180   l_assignment_id                    number default null;
5181   l_povn                             number default null;
5182   l_aovn                             number default null;
5183   l_dovn                             number default null;
5184   l_assignment_sequence              number default null;
5185   -- Bug# 2693580 : changing the l_assignment_number from number to per_assignments_f.assignment_number%type
5186   l_assignment_number                per_assignments_f.assignment_number%type default null;
5187   l_assignment_extra_info_id         number;
5188   l_aei_object_version_number        number;
5189   l_flow_name                        varchar2(30) default null;
5190   l_asg_effective_end_date           date;
5191   l_asg_effective_start_date         date;
5192   prflvalue                          varchar2(2000) default null;
5193   l_item_type                        wf_items.item_type%type default null;
5194   l_item_key                         wf_items.item_key%type default null;
5195   l_transaction_step                 number default null;
5196   l_user_id               number;
5197   l_user_name             fnd_user.user_name%TYPE;
5198   l_user_pswd             fnd_user.encrypted_user_password%TYPE;
5199   l_pswd_hint             fnd_user.description%TYPE;
5200   l_api_error             boolean;
5201   l_respons_id            number ;
5202   l_respons_appl_id       number ;
5203   l_owner                 number ;
5204   l_session_number        number ;
5205   l_start_date            date;
5206   l_end_date              date;
5207   l_last_logon_date       date;
5208   l_password_date         date;
5209   l_password_accesses_left                 number ;
5210   l_password_lifespan_accesses             number ;
5211   l_password_lifespan_days                 number ;
5212   l_employee_id                            number ;
5213   l_customer_id                            number ;
5214   l_supplier_id                            number ;
5215   l_business_group_id                      number ;
5216   l_email_address                          varchar2(240);
5217   l_fax                                    varchar2(80);
5218 
5219 --End Registration
5220 
5221 -- variables and cursor for applicant_hire
5222  -- l_original_date_of_hire date default null;  --bug 4416684
5223   l_per_information7 varchar2(30) default null;
5224   l_per_object_version_number number;
5225   l_per_effective_start_date date;
5226   l_per_effective_end_date date;
5227   l_unaccepted_asg_del_warning boolean;
5228   l_per_assign_payroll_warning boolean;
5229   l_current_applicant_flag  per_all_people_f.current_applicant_flag%type;
5230   l_current_employee_flag  per_all_people_f.current_employee_flag%type;
5231   l_current_npw_flag per_all_people_f.current_npw_flag%type;
5232   l_effective_date      date;
5233   l_appl_assignment_id number;
5234   l_person_type_id per_all_people_f.person_type_id%type;
5235   l_sys_person_type  per_person_types.system_person_type%type;
5236   l_proc   varchar2(72)  := g_package||'process_api';
5237   l_business_grp_Id number;
5238   login_person_id number;
5239 
5240   CURSOR csr_leg_code(l_organization_id in number) is
5241     SELECT  oi.org_information9 legislation_code
5242     FROM hr_organization_information oi
5243     WHERE oi.organization_id = l_organization_id
5244     AND oi.org_information_context = 'Business Group Information';
5245 
5246   cursor check_payroll is
5247   select payroll_id from per_all_assignments_f where
5248   person_id = l_person_id and l_effective_date between
5249   effective_start_date and effective_end_date;
5250 
5251   dummy_payroll_id                           number;
5252   l_is_payroll_upd                    boolean;
5253   l_leg_code_row   csr_leg_code%rowtype;
5254 
5255   l_orgid number;
5256 BEGIN
5257 --
5258   hr_utility.set_location('Entering:'||l_proc, 5);
5259   if (p_effective_date is not null) then
5260     l_effective_date:= to_date(p_effective_date,g_date_format);
5261     hr_utility.set_location('p_effective_date is not null:'||l_proc,10);
5262   else
5263    hr_utility.set_location('p_effective_date is  null:'||l_proc,15);
5264    l_effective_date:= to_date(
5265       hr_transaction_ss.get_wf_effective_date
5266         (p_transaction_step_id => p_transaction_step_id),g_date_format);
5267   end if;
5268 
5269 --
5270   SAVEPOINT process_basic_details;
5271 
5272 --
5273 -- Get the person_id first.  If it is null, that means we'll create a new
5274 -- employee.  If it is not null, we will do an update to the person record.
5275 
5276   hr_utility.set_location('Calls to hr_transation_api:'||l_proc,20);
5277   l_person_id := hr_transaction_api.get_number_value
5278                                 (p_transaction_step_id => p_transaction_step_id
5279                                 ,p_name => 'P_PERSON_ID');
5280 --
5281   l_employee_number := hr_transaction_api.get_varchar2_value
5282                           (p_transaction_step_id => p_transaction_step_id
5283                           ,p_name => 'P_EMPLOYEE_NUMBER');
5284 --
5285   l_ovn := hr_transaction_api.get_number_value
5286              (p_transaction_step_id => p_transaction_step_id
5287              ,p_name => 'P_OBJECT_VERSION_NUMBER');
5288 --
5289 
5290   l_appl_assignment_id := hr_transaction_api.get_number_value
5291                           (p_transaction_step_id => p_transaction_step_id
5292                           ,p_name => 'P_APPL_ASSIGNMENT_ID');
5293 --
5294   l_person_type_id := hr_transaction_api.get_number_value
5295                        (p_transaction_step_id => p_transaction_step_id
5296                        ,p_name => 'P_PERSON_TYPE_ID');
5297 --
5298   l_business_grp_Id :=hr_transaction_api.get_number_value
5299                                 (p_transaction_step_id => p_transaction_step_id
5300                                 ,p_name => 'P_BUSINESS_GROUP_ID');
5301 --
5302   l_per_information7    :=  hr_transaction_api.get_varchar2_value
5303                                 (p_transaction_step_id => p_transaction_step_id
5304                                 ,p_name => 'P_PER_INFORMATION7');
5305 
5306  if l_business_grp_Id is not null  then
5307        open csr_leg_code(l_business_grp_Id);
5308        fetch csr_leg_code into l_leg_code_row;
5309        close csr_leg_code;
5310        l_orgid := l_business_grp_Id;
5311        if hr_multi_tenancy_pkg.is_multi_tenant_system then
5312           hr_utility.set_location('Multi tenancy changes '||l_proc,21);
5313 
5314           if l_person_id is not null
5315             and l_person_id <> -1 then
5316              hr_utility.set_location('Person Id: '|| l_person_id,22);
5317 
5318              l_orgid := hr_multi_tenancy_pkg.get_org_id_for_person(l_person_id);
5319           else
5320              hr_utility.set_location('Business group Id: '|| l_business_grp_Id,23);
5321 
5322              select CREATOR_PERSON_ID into login_person_id
5323                from HR_API_TRANSACTION_STEPS
5324               where TRANSACTION_STEP_ID = p_transaction_step_id;
5325 
5326              hr_utility.set_location('Creator Person Id: '|| login_person_id,24);
5327              l_orgid := hr_multi_tenancy_pkg.get_org_id_for_person(login_person_id, l_business_grp_Id);
5328           end if;
5329        end if;
5330        hr_util_misc_ss.set_sys_ctx(l_leg_code_row.legislation_code, l_orgid);
5331  end if;
5332 
5333   IF l_person_id IS NOT NULL
5334   THEN
5335 
5336   -- In case of hiring an applicant, we need to call the hr_applicant_api to
5337   -- make the applicant an employee and then update the BD record
5338 
5339    hr_utility.set_location('Opening & Fetching gc_get_current_applicant_flag:'||l_proc,25);
5340    open gc_get_current_applicant_flag(l_person_id, l_effective_date);
5341    fetch gc_get_current_applicant_flag into
5342    l_current_applicant_flag, l_current_employee_flag, l_current_npw_flag;
5343    close gc_get_current_applicant_flag;
5344 
5345 
5346    --call the hr_applicant_api.hire_applicant in validate mode
5347    if (l_current_applicant_flag = 'Y'
5348      AND nvl(l_current_employee_flag, 'N') <>  'Y'
5349      AND nvl(l_current_npw_flag,'N')       <>  'Y') then
5350 
5351    -- set the global variable to true which will be used by
5352    -- assignment steps
5353      g_is_applicant := true;
5354      g_session_id := ICX_SEC.G_SESSION_ID;
5355 
5356      if hr_new_user_reg_ss.g_ignore_emp_generation = 'YES' then
5357    --
5358    -- Special case for SSHR if the profile is set
5359    -- as we need to make sure that the generation controls table is not
5360    -- locked.
5361    --
5362 
5363        hr_utility.set_location('hr_new_user_reg_ss.g_ignore_emp_generation =YES:'||l_proc,35);
5364        fnd_profile.put('PER_SSHR_NO_EMPNUM_GENERATION','Y');
5365 
5366      end if;
5367 
5368     -- l_original_date_of_hire := hr_transaction_api.get_date_value        --bug 4416684
5369 	--		(p_transaction_step_id => p_transaction_step_id
5370 	--		 ,p_name => 'P_ORIGINAL_DATE_OF_HIRE');
5371 
5372     l_per_information7  :=  nvl(hr_transaction_api.get_varchar2_value
5373                                 (p_transaction_step_id => p_transaction_step_id
5374                                 ,p_name => 'P_PER_INFORMATION7'),hr_api.g_varchar2);
5375 
5376     open check_payroll;
5377      fetch check_payroll into dummy_payroll_id;
5378      if dummy_payroll_id is not null then
5379        process_applicant(
5380          p_effective_date  =>    l_effective_date
5381         ,p_person_id     =>  l_person_id
5382          ,p_business_group_Id     => l_business_grp_Id
5383         ,p_assignment_id     =>  l_appl_assignment_id
5384         ,p_is_payroll_upd   =>     l_is_payroll_upd  );
5385      end if;
5386      close check_payroll;
5387 
5388      hr_applicant_api.hire_applicant(
5389       p_validate => p_validate
5390      ,p_hire_date => l_effective_date
5391      ,p_person_id => l_person_id
5392      ,p_per_object_version_number => l_ovn
5393      ,p_assignment_id => l_appl_assignment_id
5394      ,p_employee_number => l_employee_number
5395      ,p_per_effective_start_date => l_per_effective_start_date
5396      ,p_per_effective_end_date => l_per_effective_end_date
5397      ,p_unaccepted_asg_del_warning  => l_unaccepted_asg_del_warning
5398      ,p_assign_payroll_warning => l_assign_payroll_warning
5399      ,p_source => true);
5400     -- ,p_original_date_of_hire => l_original_date_of_hire); --bug 4416684, pass original_date_of_hire
5401 
5402     if l_is_payroll_upd then
5403         update per_all_assignments_f set payroll_id=dummy_payroll_id where assignment_id = l_appl_assignment_id and
5404         l_effective_date - 1  between effective_start_date and effective_end_date;
5405     end if;
5406 
5407   -- get the person_type_id in the rollback segment
5408      open gc_get_new_appl_person_type(l_person_id, l_effective_date);
5409      fetch gc_get_new_appl_person_type into l_person_type_id;
5410      close gc_get_new_appl_person_type;
5411 
5412     if hr_new_user_reg_ss.g_ignore_emp_generation = 'YES' then
5413        hr_utility.set_location('hr_new_user_reg_ss.g_ignore_emp_generation = YES:'||l_proc,40);
5414        hr_new_user_reg_ss.g_ignore_emp_generation := 'NO';
5415 
5416        fnd_profile.put('PER_SSHR_NO_EMPNUM_GENERATION','N');
5417     end if;
5418 
5419    end if;
5420 
5421 -- Fix bug :2091186
5422 
5423     hr_person_info_util_ss.create_ignore_df_validation('PER_PERIODS_OF_SERVICE');
5424 
5425     ---------------------------------------------------------------------------
5426     -- Bug 1937643 Fix Begins - 08/04/2002
5427     -- With the PTU model, the per_all_people_f.person_type_id stores only the
5428     -- default user flavor of the system_person_type.  The true user flavor
5429     -- for the system_person_type is stored in per_person_type_usages_f table.
5430     -- Since the current Personal Information Basic Details region and the
5431     -- New Hire page does not allow a user to choose any user flavor, so we'll
5432     -- zap the p_person_type_id to hr_api.g_number value when it is not an
5433     -- applicant when calling the hr_person_api.update_person. That way, the api
5434     -- will understand that the person_type is not changed and will not update
5435     -- the person_type_id in per_person_type_usages_f table as is.  If we pass
5436     -- the per_all_people_f.person_type_id to the api, the person_type_id in
5437     -- per_person_type_usages_f table will be updated with that value which will
5438     -- overwrite the true user flavor of the system person type with the
5439     -- default user flavor person type.  This may not be desirable.
5440     -- When we allow a user to select user flavors of person type in New Hire
5441     -- or Basic Details page, the code to pass hr_api.g_number in
5442     -- p_person_type_id for non-applicant needs to change.
5443     ---------------------------------------------------------------------------
5444 
5445     IF (l_current_applicant_flag = 'Y'
5446         AND nvl(l_current_employee_flag, 'N') <>  'Y')
5447     THEN
5448        hr_utility.set_location('l_current_applicant_flag=Y:'||l_proc,45);
5449        NULL;
5450     ELSE
5451        l_person_type_id := hr_api.g_number;
5452     END IF;
5453 
5454     -- Bug 1937643 Fix Ends - 08/04/2002
5455 
5456 
5457     hr_person_api.update_person(
5458      p_validate                => p_validate
5459     ,p_effective_date          => l_effective_date
5460     ,p_datetrack_update_mode   => hr_transaction_api.get_varchar2_value
5461                                 (p_transaction_step_id => p_transaction_step_id
5462                                 ,p_name => 'P_ATTRIBUTE_UPDATE_MODE')
5463     ,p_person_id               => l_person_id
5464     ,p_object_version_number   => l_ovn
5465     ,p_person_type_id          => l_person_type_id
5466     ,p_last_name               => hr_transaction_api.get_varchar2_value
5467                                 (p_transaction_step_id => p_transaction_step_id
5468                                 ,p_name => 'P_LAST_NAME')
5469     ,p_applicant_number        => hr_transaction_api.get_varchar2_value
5470                                 (p_transaction_step_id => p_transaction_step_id
5471                                 ,p_name => 'P_APPLICANT_NUMBER')
5472     ,p_comments                => hr_transaction_api.get_varchar2_value
5473                                 (p_transaction_step_id => p_transaction_step_id
5474                                 ,p_name => 'P_COMMENTS')
5475     ,p_date_employee_data_verified => hr_transaction_api.get_date_value
5476                                 (p_transaction_step_id => p_transaction_step_id
5477                                 ,p_name => 'P_DATE_EMPLOYEE_DATA_VERIFIED')
5478    -- bug 4416684 pass original_date_of_hire only if it is not null
5479     ,p_original_date_of_hire   => nvl(hr_transaction_api.get_date_value
5480                                 (p_transaction_step_id => p_transaction_step_id
5481                                 ,p_name => 'P_ORIGINAL_DATE_OF_HIRE'),hr_api.g_date)
5482     ,p_date_of_birth           => hr_transaction_api.get_date_value
5483                                 (p_transaction_step_id => p_transaction_step_id
5484                                 ,p_name => 'P_DATE_OF_BIRTH')
5485     ,p_town_of_birth           => hr_transaction_api.get_varchar2_value
5486                                 (p_transaction_step_id => p_transaction_step_id
5487                                 ,p_name => 'P_TOWN_OF_BIRTH')
5488     ,p_region_of_birth         => hr_transaction_api.get_varchar2_value
5489                                 (p_transaction_step_id => p_transaction_step_id
5490                                 ,p_name => 'P_REGION_OF_BIRTH')
5491     ,p_country_of_birth        => hr_transaction_api.get_varchar2_value
5492                                 (p_transaction_step_id => p_transaction_step_id
5493                                 ,p_name => 'P_COUNTRY_OF_BIRTH')
5494     ,p_global_person_id        => hr_transaction_api.get_varchar2_value
5495                                 (p_transaction_step_id => p_transaction_step_id
5496                                 ,p_name => 'P_GLOBAL_PERSON_ID')
5497     ,p_employee_number         => l_employee_number
5498     ,p_npw_number              => hr_transaction_api.get_varchar2_value
5499                                 (p_transaction_step_id => p_transaction_step_id
5500                                 ,p_name => 'P_NPW_NUMBER')
5501     ,p_email_address           => hr_transaction_api.get_varchar2_value
5502                                 (p_transaction_step_id => p_transaction_step_id
5503                                 ,p_name => 'P_EMAIL_ADDRESS')
5504     ,p_expense_check_send_to_addres => hr_transaction_api.get_varchar2_value
5505                                 (p_transaction_step_id => p_transaction_step_id
5506                                 ,p_name => 'P_EXPENSE_CHECK_SEND_TO_ADDRES')
5507     ,p_first_name              => hr_transaction_api.get_varchar2_value
5508                                 (p_transaction_step_id => p_transaction_step_id
5509                                 ,p_name => 'P_FIRST_NAME')
5510     ,p_known_as                => hr_transaction_api.get_varchar2_value
5511                                 (p_transaction_step_id => p_transaction_step_id
5512                                 ,p_name => 'P_KNOWN_AS')
5513     ,p_marital_status          => hr_transaction_api.get_varchar2_value
5514                                 (p_transaction_step_id => p_transaction_step_id
5515                                 ,p_name => 'P_MARITAL_STATUS')
5516     ,p_middle_names             => hr_transaction_api.get_varchar2_value
5517                                 (p_transaction_step_id => p_transaction_step_id
5518                                 ,p_name => 'P_MIDDLE_NAMES')
5519     ,p_nationality              => hr_transaction_api.get_varchar2_value
5520                                 (p_transaction_step_id => p_transaction_step_id
5521                                 ,p_name => 'P_NATIONALITY')
5522     ,p_national_identifier      => hr_transaction_api.get_varchar2_value
5523                                 (p_transaction_step_id => p_transaction_step_id
5524                                 ,p_name => 'P_NATIONAL_IDENTIFIER')
5525     ,p_previous_last_name       => hr_transaction_api.get_varchar2_value
5526                                 (p_transaction_step_id => p_transaction_step_id
5527                                 ,p_name => 'P_PREVIOUS_LAST_NAME')
5528     ,p_registered_disabled_flag => hr_transaction_api.get_varchar2_value
5529                                 (p_transaction_step_id => p_transaction_step_id
5530                                 ,p_name => 'P_REGISTERED_DISABLED_FLAG')
5531     ,p_sex                      => hr_transaction_api.get_varchar2_value
5532                                 (p_transaction_step_id => p_transaction_step_id
5533                                 ,p_name => 'P_SEX')
5534     ,p_title                    => hr_transaction_api.get_varchar2_value
5535                                 (p_transaction_step_id => p_transaction_step_id
5536                                 ,p_name => 'P_TITLE')
5537     ,p_vendor_id                => hr_transaction_api.get_number_value
5538                                 (p_transaction_step_id => p_transaction_step_id
5539                                 ,p_name => 'P_VENDOR_ID')
5540     ,p_work_telephone           => hr_transaction_api.get_varchar2_value
5541                                 (p_transaction_step_id => p_transaction_step_id
5542                                 ,p_name => 'P_WORK_TELEPHONE')
5543     ,p_suffix                   => hr_transaction_api.get_varchar2_value
5544                                 (p_transaction_step_id => p_transaction_step_id
5545                                 ,p_name => 'P_SUFFIX')
5546     ,p_date_of_death            => hr_transaction_api.get_date_value
5547                                 (p_transaction_step_id => p_transaction_step_id
5548                                 ,p_name => 'P_DATE_OF_DEATH')
5549     ,p_background_check_status  => hr_transaction_api.get_varchar2_value
5550                                 (p_transaction_step_id => p_transaction_step_id
5551                                 ,p_name => 'P_BACKGROUND_CHECK_STATUS')
5552     ,p_background_date_check    => hr_transaction_api.get_date_value
5553                                 (p_transaction_step_id => p_transaction_step_id
5554                                 ,p_name => 'P_BACKGROUND_DATE_CHECK')
5555     ,p_blood_type               => hr_transaction_api.get_varchar2_value
5556                                 (p_transaction_step_id => p_transaction_step_id
5557                                 ,p_name => 'P_BLOOD_TYPE')
5558     ,p_correspondence_language  => hr_transaction_api.get_varchar2_value
5559                                 (p_transaction_step_id => p_transaction_step_id
5560                                 ,p_name => 'P_CORRESPONDENCE_LANGUAGE')
5561     ,p_fast_path_employee       => hr_transaction_api.get_varchar2_value
5562                                 (p_transaction_step_id => p_transaction_step_id
5563                                 ,p_name => 'P_FAST_PATH_EMPLOYEE')
5564     ,p_fte_capacity             => hr_transaction_api.get_number_value
5565                                 (p_transaction_step_id => p_transaction_step_id
5566                                 ,p_name => 'P_FTE_CAPACITY')
5567     ,p_hold_applicant_date_until => hr_transaction_api.get_date_value
5568                                 (p_transaction_step_id => p_transaction_step_id
5569                                 ,p_name => 'P_HOLD_APPLICANT_DATE_UNTIL')
5570     ,p_honors                   => hr_transaction_api.get_varchar2_value
5571                                 (p_transaction_step_id => p_transaction_step_id
5572                                 ,p_name => 'P_HONORS')
5573     ,p_internal_location        => hr_transaction_api.get_varchar2_value
5574                                 (p_transaction_step_id => p_transaction_step_id
5575                                 ,p_name => 'P_INTERNAL_LOCATION')
5576     ,p_last_medical_test_by     => hr_transaction_api.get_varchar2_value
5577                                 (p_transaction_step_id => p_transaction_step_id
5578                                 ,p_name => 'P_LAST_MEDICAL_TEST_BY')
5579     ,p_last_medical_test_date   => hr_transaction_api.get_date_value
5580                                 (p_transaction_step_id => p_transaction_step_id
5581                                 ,p_name => 'P_LAST_MEDICAL_TEST_DATE')
5582     ,p_mailstop                 => hr_transaction_api.get_varchar2_value
5583                                 (p_transaction_step_id => p_transaction_step_id
5584                                 ,p_name => 'P_MAILSTOP')
5585     ,p_office_number            => hr_transaction_api.get_varchar2_value
5586                                 (p_transaction_step_id => p_transaction_step_id
5587                                 ,p_name => 'P_OFFICE_NUMBER')
5588     ,p_on_military_service      => hr_transaction_api.get_varchar2_value
5589                                 (p_transaction_step_id => p_transaction_step_id
5590                                 ,p_name => 'P_ON_MILITARY_SERVICE')
5591     ,p_pre_name_adjunct         => hr_transaction_api.get_varchar2_value
5592                                 (p_transaction_step_id => p_transaction_step_id
5593                                 ,p_name => 'P_PRE_NAME_ADJUNCT')
5594     ,p_projected_start_date     => hr_transaction_api.get_date_value
5595                                 (p_transaction_step_id => p_transaction_step_id
5596                                 ,p_name => 'P_PROJECTED_START_DATE')
5597     ,p_rehire_authorizor        => hr_transaction_api.get_varchar2_value
5598                                 (p_transaction_step_id => p_transaction_step_id
5599                                 ,p_name => 'P_REHIRE_AUTHORIZOR')
5600     ,p_rehire_recommendation    => hr_transaction_api.get_varchar2_value
5601                                 (p_transaction_step_id => p_transaction_step_id
5602                                 ,p_name => 'P_REHIRE_RECOMMENDATION')
5603     ,p_resume_exists            => hr_transaction_api.get_varchar2_value
5604                                 (p_transaction_step_id => p_transaction_step_id
5605                                 ,p_name => 'P_RESUME_EXISTS')
5606     ,p_resume_last_updated      => hr_transaction_api.get_date_value
5607                                 (p_transaction_step_id => p_transaction_step_id
5608                                 ,p_name => 'P_RESUME_LAST_UPDATED')
5609     ,p_second_passport_exists   => hr_transaction_api.get_varchar2_value
5610                                 (p_transaction_step_id => p_transaction_step_id
5611                                 ,p_name => 'P_SECOND_PASSPORT_EXISTS')
5612     ,p_student_status           => hr_transaction_api.get_varchar2_value
5613                                 (p_transaction_step_id => p_transaction_step_id
5614                                 ,p_name => 'P_STUDENT_STATUS')
5615     ,p_work_schedule            => hr_transaction_api.get_varchar2_value
5616                                 (p_transaction_step_id => p_transaction_step_id
5617                                 ,p_name => 'P_WORK_SCHEDULE')
5618     ,p_rehire_reason            => hr_transaction_api.get_varchar2_value
5619                                 (p_transaction_step_id => p_transaction_step_id
5620                                 ,p_name => 'P_REHIRE_REASON')
5621     ,p_benefit_group_id         => hr_transaction_api.get_number_value
5622                                 (p_transaction_step_id => p_transaction_step_id
5623                                 ,p_name => 'P_BENEFIT_GROUP_ID')
5624     ,p_receipt_of_death_cert_date => hr_transaction_api.get_date_value
5625                                 (p_transaction_step_id => p_transaction_step_id
5626                                 ,p_name => 'P_RECEIPT_OF_DEATH_CERT_DATE')
5627     ,p_coord_ben_med_pln_no     => hr_transaction_api.get_varchar2_value
5628                                 (p_transaction_step_id => p_transaction_step_id
5629                                 ,p_name => 'P_COORD_BEN_MED_PLN_NO')
5630     ,p_coord_ben_no_cvg_flag    => hr_transaction_api.get_varchar2_value
5631                                 (p_transaction_step_id => p_transaction_step_id
5632                                 ,p_name => 'P_COORD_BEN_NO_CVG_FLAG')
5633     ,p_uses_tobacco_flag        => hr_transaction_api.get_varchar2_value
5634                                 (p_transaction_step_id => p_transaction_step_id
5635                                 ,p_name => 'P_USES_TOBACCO_FLAG')
5636     ,p_dpdnt_adoption_date      => hr_transaction_api.get_date_value
5637                                 (p_transaction_step_id => p_transaction_step_id
5638                                 ,p_name => 'P_DPDNT_ADOPTION_DATE')
5639     ,p_dpdnt_vlntry_svce_flag   => hr_transaction_api.get_varchar2_value
5640                                 (p_transaction_step_id => p_transaction_step_id
5641                                 ,p_name => 'P_DPDNT_VLNTRY_SVCE_FLAG')
5642 
5643     ,p_adjusted_svc_date        => hr_transaction_api.get_date_value
5644                                 (p_transaction_step_id => p_transaction_step_id
5645                                 ,p_name => 'P_ADJUSTED_SVC_DATE')
5646     ,p_attribute_category       => hr_transaction_api.get_varchar2_value
5647                                 (p_transaction_step_id => p_transaction_step_id
5648                                 ,p_name => 'P_ATTRIBUTE_CATEGORY')
5649     ,p_attribute1               => hr_transaction_api.get_varchar2_value
5650                                 (p_transaction_step_id => p_transaction_step_id
5651                                 ,p_name => 'P_ATTRIBUTE1')
5652     ,p_attribute2               => hr_transaction_api.get_varchar2_value
5653                                 (p_transaction_step_id => p_transaction_step_id
5654                                 ,p_name => 'P_ATTRIBUTE2')
5655     ,p_attribute3               => hr_transaction_api.get_varchar2_value
5656                                 (p_transaction_step_id => p_transaction_step_id
5657                                 ,p_name => 'P_ATTRIBUTE3')
5658     ,p_attribute4               => hr_transaction_api.get_varchar2_value
5659                                 (p_transaction_step_id => p_transaction_step_id
5660                                 ,p_name => 'P_ATTRIBUTE4')
5661     ,p_attribute5               => hr_transaction_api.get_varchar2_value
5662                                 (p_transaction_step_id => p_transaction_step_id
5663                                 ,p_name => 'P_ATTRIBUTE5')
5664     ,p_attribute6               => hr_transaction_api.get_varchar2_value
5665                                 (p_transaction_step_id => p_transaction_step_id
5666                                 ,p_name => 'P_ATTRIBUTE6')
5667     ,p_attribute7               => hr_transaction_api.get_varchar2_value
5668                                 (p_transaction_step_id => p_transaction_step_id
5669                                 ,p_name => 'P_ATTRIBUTE7')
5670     ,p_attribute8               => hr_transaction_api.get_varchar2_value
5671                                 (p_transaction_step_id => p_transaction_step_id
5672                                 ,p_name => 'P_ATTRIBUTE8')
5673     ,p_attribute9               => hr_transaction_api.get_varchar2_value
5674                                 (p_transaction_step_id => p_transaction_step_id
5675                                 ,p_name => 'P_ATTRIBUTE9')
5676     ,p_attribute10              => hr_transaction_api.get_varchar2_value
5677                                 (p_transaction_step_id => p_transaction_step_id
5678                                 ,p_name => 'P_ATTRIBUTE10')
5679     ,p_attribute11              => hr_transaction_api.get_varchar2_value
5680                                 (p_transaction_step_id => p_transaction_step_id
5681                                 ,p_name => 'P_ATTRIBUTE11')
5682     ,p_attribute12              => hr_transaction_api.get_varchar2_value
5683                                 (p_transaction_step_id => p_transaction_step_id
5684                                 ,p_name => 'P_ATTRIBUTE12')
5685     ,p_attribute13              => hr_transaction_api.get_varchar2_value
5686                                 (p_transaction_step_id => p_transaction_step_id
5687                                 ,p_name => 'P_ATTRIBUTE13')
5688     ,p_attribute14              => hr_transaction_api.get_varchar2_value
5689                                 (p_transaction_step_id => p_transaction_step_id
5690                                 ,p_name => 'P_ATTRIBUTE14')
5691     ,p_attribute15              => hr_transaction_api.get_varchar2_value
5692                                 (p_transaction_step_id => p_transaction_step_id
5693                                 ,p_name => 'P_ATTRIBUTE15')
5694     ,p_attribute16              => hr_transaction_api.get_varchar2_value
5695                                 (p_transaction_step_id => p_transaction_step_id
5696                                 ,p_name => 'P_ATTRIBUTE16')
5697     ,p_attribute17              => hr_transaction_api.get_varchar2_value
5698                                 (p_transaction_step_id => p_transaction_step_id
5699                                 ,p_name => 'P_ATTRIBUTE17')
5700     ,p_attribute18              => hr_transaction_api.get_varchar2_value
5701                                 (p_transaction_step_id => p_transaction_step_id
5702                                 ,p_name => 'P_ATTRIBUTE18')
5703     ,p_attribute19              => hr_transaction_api.get_varchar2_value
5704                                 (p_transaction_step_id => p_transaction_step_id
5705                                 ,p_name => 'P_ATTRIBUTE19')
5706     ,p_attribute20              => hr_transaction_api.get_varchar2_value
5707                                 (p_transaction_step_id => p_transaction_step_id
5708                                 ,p_name => 'P_ATTRIBUTE20')
5709     ,p_attribute21              => hr_transaction_api.get_varchar2_value
5710                                 (p_transaction_step_id => p_transaction_step_id
5711                                 ,p_name => 'P_ATTRIBUTE21')
5712     ,p_attribute22              => hr_transaction_api.get_varchar2_value
5713                                 (p_transaction_step_id => p_transaction_step_id
5714                                 ,p_name => 'P_ATTRIBUTE22')
5715     ,p_attribute23              => hr_transaction_api.get_varchar2_value
5716                                 (p_transaction_step_id => p_transaction_step_id
5717                                 ,p_name => 'P_ATTRIBUTE23')
5718     ,p_attribute24              => hr_transaction_api.get_varchar2_value
5719                                 (p_transaction_step_id => p_transaction_step_id
5720                                 ,p_name => 'P_ATTRIBUTE24')
5721     ,p_attribute25              => hr_transaction_api.get_varchar2_value
5722                                 (p_transaction_step_id => p_transaction_step_id
5723                                 ,p_name => 'P_ATTRIBUTE25')
5724     ,p_attribute26              => hr_transaction_api.get_varchar2_value
5725                                 (p_transaction_step_id => p_transaction_step_id
5726                                 ,p_name => 'P_ATTRIBUTE26')
5727     ,p_attribute27              => hr_transaction_api.get_varchar2_value
5728                                 (p_transaction_step_id => p_transaction_step_id
5729                                 ,p_name => 'P_ATTRIBUTE27')
5730     ,p_attribute28              => hr_transaction_api.get_varchar2_value
5731                                 (p_transaction_step_id => p_transaction_step_id
5732                                 ,p_name => 'P_ATTRIBUTE28')
5733     ,p_attribute29              => hr_transaction_api.get_varchar2_value
5734                                 (p_transaction_step_id => p_transaction_step_id
5735                                 ,p_name => 'P_ATTRIBUTE29')
5736     ,p_attribute30              => hr_transaction_api.get_varchar2_value
5737                                 (p_transaction_step_id => p_transaction_step_id
5738                                 ,p_name => 'P_ATTRIBUTE30')
5739     ,p_per_information_category => hr_transaction_api.get_varchar2_value
5740                                 (p_transaction_step_id => p_transaction_step_id
5741                                 ,p_name => 'P_PER_INFORMATION_CATEGORY')
5742     ,p_per_information1         => hr_transaction_api.get_varchar2_value
5743                                 (p_transaction_step_id => p_transaction_step_id
5744                                 ,p_name => 'P_PER_INFORMATION1')
5745     ,p_per_information2         => hr_transaction_api.get_varchar2_value
5746                                 (p_transaction_step_id => p_transaction_step_id
5747                                 ,p_name => 'P_PER_INFORMATION2')
5748     ,p_per_information3         => hr_transaction_api.get_varchar2_value
5749                                 (p_transaction_step_id => p_transaction_step_id
5750                                 ,p_name => 'P_PER_INFORMATION3')
5751     ,p_per_information4         => hr_transaction_api.get_varchar2_value
5752                                 (p_transaction_step_id => p_transaction_step_id
5753                                 ,p_name => 'P_PER_INFORMATION4')
5754     ,p_per_information5         => hr_transaction_api.get_varchar2_value
5755                                 (p_transaction_step_id => p_transaction_step_id
5756                                 ,p_name => 'P_PER_INFORMATION5')
5757     ,p_per_information6         => hr_transaction_api.get_varchar2_value
5758                                 (p_transaction_step_id => p_transaction_step_id
5759                                 ,p_name => 'P_PER_INFORMATION6')
5760     ,p_per_information7         => l_per_information7
5761     ,p_per_information8         => hr_transaction_api.get_varchar2_value
5762                                 (p_transaction_step_id => p_transaction_step_id
5763                                 ,p_name => 'P_PER_INFORMATION8')
5764     ,p_per_information9         => hr_transaction_api.get_varchar2_value
5765                                 (p_transaction_step_id => p_transaction_step_id
5766                                 ,p_name => 'P_PER_INFORMATION9')
5767     ,p_per_information10        => hr_transaction_api.get_varchar2_value
5768                                 (p_transaction_step_id => p_transaction_step_id
5769                                 ,p_name => 'P_PER_INFORMATION10')
5770     ,p_per_information11        => hr_transaction_api.get_varchar2_value
5771                                 (p_transaction_step_id => p_transaction_step_id
5772                                 ,p_name => 'P_PER_INFORMATION11')
5773     ,p_per_information12        => hr_transaction_api.get_varchar2_value
5774                                 (p_transaction_step_id => p_transaction_step_id
5775                                 ,p_name => 'P_PER_INFORMATION12')
5776     ,p_per_information13        => hr_transaction_api.get_varchar2_value
5777                                 (p_transaction_step_id => p_transaction_step_id
5778                                 ,p_name => 'P_PER_INFORMATION13')
5779     ,p_per_information14        => hr_transaction_api.get_varchar2_value
5780                                 (p_transaction_step_id => p_transaction_step_id
5781                                 ,p_name => 'P_PER_INFORMATION14')
5782     ,p_per_information15        => hr_transaction_api.get_varchar2_value
5783                                 (p_transaction_step_id => p_transaction_step_id
5784                                 ,p_name => 'P_PER_INFORMATION15')
5785     ,p_per_information16        => hr_transaction_api.get_varchar2_value
5786                                 (p_transaction_step_id => p_transaction_step_id
5787                                 ,p_name => 'P_PER_INFORMATION16')
5788     ,p_per_information17        => hr_transaction_api.get_varchar2_value
5789                                 (p_transaction_step_id => p_transaction_step_id
5790                                 ,p_name => 'P_PER_INFORMATION17')
5791     ,p_per_information18        => hr_transaction_api.get_varchar2_value
5792                                 (p_transaction_step_id => p_transaction_step_id
5793                                 ,p_name => 'P_PER_INFORMATION18')
5794     ,p_per_information19        => hr_transaction_api.get_varchar2_value
5795                                 (p_transaction_step_id => p_transaction_step_id
5796                                 ,p_name => 'P_PER_INFORMATION19')
5797     ,p_per_information20        => hr_transaction_api.get_varchar2_value
5798                                 (p_transaction_step_id => p_transaction_step_id
5799                                 ,p_name => 'P_PER_INFORMATION20')
5800     ,p_per_information21        => hr_transaction_api.get_varchar2_value
5801                                 (p_transaction_step_id => p_transaction_step_id
5802                                 ,p_name => 'P_PER_INFORMATION21')
5803     ,p_per_information22        => hr_transaction_api.get_varchar2_value
5804                                 (p_transaction_step_id => p_transaction_step_id
5805                                 ,p_name => 'P_PER_INFORMATION22')
5806     ,p_per_information23        => hr_transaction_api.get_varchar2_value
5807                                 (p_transaction_step_id => p_transaction_step_id
5808                                 ,p_name => 'P_PER_INFORMATION23')
5809     ,p_per_information24        => hr_transaction_api.get_varchar2_value
5810                                 (p_transaction_step_id => p_transaction_step_id
5811                                 ,p_name => 'P_PER_INFORMATION24')
5812     ,p_per_information25        => hr_transaction_api.get_varchar2_value
5813                                 (p_transaction_step_id => p_transaction_step_id
5814                                 ,p_name => 'P_PER_INFORMATION25')
5815     ,p_per_information26        => hr_transaction_api.get_varchar2_value
5816                                 (p_transaction_step_id => p_transaction_step_id
5817                                 ,p_name => 'P_PER_INFORMATION26')
5818     ,p_per_information27        => hr_transaction_api.get_varchar2_value
5819                                 (p_transaction_step_id => p_transaction_step_id
5820                                 ,p_name => 'P_PER_INFORMATION27')
5821     ,p_per_information28        => hr_transaction_api.get_varchar2_value
5822                                 (p_transaction_step_id => p_transaction_step_id
5823                                 ,p_name => 'P_PER_INFORMATION28')
5824     ,p_per_information29        => hr_transaction_api.get_varchar2_value
5825                                 (p_transaction_step_id => p_transaction_step_id
5826                                 ,p_name => 'P_PER_INFORMATION29')
5827     ,p_per_information30        => hr_transaction_api.get_varchar2_value
5828                                 (p_transaction_step_id => p_transaction_step_id
5829                                 ,p_name => 'P_PER_INFORMATION30')
5830     ,p_effective_start_date      => l_effective_start_Date
5831     ,p_effective_end_date        => l_effective_end_Date
5832     ,p_full_name                 => l_full_name
5833     ,p_comment_id                => l_comment_id
5834     ,p_name_combination_warning  => l_name_combination_warning
5835     ,p_assign_payroll_warning    => l_assign_payroll_warning
5836     ,p_orig_hire_warning         => l_orig_hire_warning
5837     );
5838 hr_person_info_util_ss.remove_ignore_df_validation;
5839 
5840 -- Fix bug 2091186 ends.
5841   ELSE
5842      -- for future use, put in code for creating an employee
5843   ---Start Registration
5844 
5845 --code for insert begin   -- for future use, put in code for creating an employee
5846   --Added Insert By VVK
5847 --
5848 --start cobra codes
5849   l_flow_name := hr_transaction_api.get_varchar2_value
5850                           (p_transaction_step_id => p_transaction_step_id
5851                           ,p_name => 'P_FLOW_NAME');
5852 
5853   l_item_type := hr_transaction_api.get_varchar2_value
5854                           (p_transaction_step_id => p_transaction_step_id
5855                           ,p_name => 'P_ITEM_TYPE');
5856 
5857   l_item_key := hr_transaction_api.get_varchar2_value
5858                           (p_transaction_step_id => p_transaction_step_id
5859                           ,p_name => 'P_ITEM_KEY');
5860 --
5861   if l_flow_name = 'Insert' then
5862 --end cobra codes
5863 
5864   if hr_new_user_reg_ss.g_ignore_emp_generation = 'YES' then
5865    --
5866    -- Special case for SSHR if the profile is set
5867    -- as we need to make sure that the generation controls table is not
5868    -- locked.
5869    --
5870 
5871    hr_utility.set_location('l_flow_name = Insert:'||l_proc,100);
5872    fnd_profile.put('PER_SSHR_NO_EMPNUM_GENERATION','Y');
5873 
5874   end if;
5875 
5876    open gc_get_sys_person_type(l_person_type_id);
5877    fetch gc_get_sys_person_type into l_sys_person_type;
5878    close gc_get_sys_person_type;
5879 
5880    if (l_sys_person_type = 'CWK') then
5881      l_npw_number := hr_transaction_api.get_varchar2_value
5882                        (p_transaction_step_id => p_transaction_step_id
5883                        ,p_name => 'P_NPW_NUMBER');
5884      hr_contingent_worker_api.create_cwk
5885        (p_validate                => p_validate
5886        ,p_start_date              => l_effective_date
5887        ,p_business_group_id       => hr_transaction_api.get_number_value
5888                                 (p_transaction_step_id => p_transaction_step_id
5889                                 ,p_name => 'P_BUSINESS_GROUP_ID')
5890        ,p_last_name               => hr_transaction_api.get_varchar2_value
5891                                 (p_transaction_step_id => p_transaction_step_id
5892                                 ,p_name => 'P_LAST_NAME')
5893        ,p_person_type_id          => hr_transaction_api.get_number_value
5894                                 (p_transaction_step_id => p_transaction_step_id
5895                                 ,p_name => 'P_PERSON_TYPE_ID')
5896        ,p_npw_number              => l_npw_number
5897        ,p_background_check_status => hr_transaction_api.get_varchar2_value
5898                                 (p_transaction_step_id => p_transaction_step_id
5899                                 ,p_name => 'P_BACKGROUND_CHECK_STATUS')
5900        ,p_background_date_check   => hr_transaction_api.get_date_value
5901                                 (p_transaction_step_id => p_transaction_step_id
5902                                 ,p_name => 'P_BACKGROUND_DATE_CHECK')
5903        ,p_blood_type              => hr_transaction_api.get_varchar2_value
5904                                 (p_transaction_step_id => p_transaction_step_id
5905                                 ,p_name => 'P_BLOOD_TYPE')
5906        ,p_comments                => hr_transaction_api.get_varchar2_value
5907                                 (p_transaction_step_id => p_transaction_step_id
5908                                 ,p_name => 'P_PER_COMMENTS')
5909        ,p_correspondence_language => hr_transaction_api.get_varchar2_value
5910                                 (p_transaction_step_id => p_transaction_step_id
5911                                 ,p_name => 'P_CORRESPONDENCE_LANGUAGE')
5912        ,p_country_of_birth        => hr_transaction_api.get_varchar2_value
5913                                 (p_transaction_step_id => p_transaction_step_id
5914                                 ,p_name => 'P_COUNTRY_OF_BIRTH')
5915        ,p_date_of_birth           => hr_transaction_api.get_date_value
5916                                 (p_transaction_step_id => p_transaction_step_id
5917                                 ,p_name => 'P_DATE_OF_BIRTH')
5918        ,p_date_of_death           => hr_transaction_api.get_date_value
5919                                 (p_transaction_step_id => p_transaction_step_id
5920                                 ,p_name => 'P_DATE_OF_DEATH')
5921        ,p_dpdnt_adoption_date     => hr_transaction_api.get_date_value
5922                                 (p_transaction_step_id => p_transaction_step_id
5923                                 ,p_name => 'P_DPDNT_ADOPTION_DATE')
5924        ,p_dpdnt_vlntry_svce_flag  => hr_transaction_api.get_varchar2_value
5925                                 (p_transaction_step_id => p_transaction_step_id
5926                                 ,p_name => 'P_DPDNT_VLNTRY_SVCE_FLAG')
5927        ,p_email_address           => hr_transaction_api.get_varchar2_value
5928                                 (p_transaction_step_id => p_transaction_step_id
5929                                 ,p_name => 'P_EMAIL_ADDRESS')
5930        ,p_first_name              => hr_transaction_api.get_varchar2_value
5931                                 (p_transaction_step_id => p_transaction_step_id
5932                                 ,p_name => 'P_FIRST_NAME')
5933        ,p_fte_capacity            => hr_transaction_api.get_number_value
5934                                 (p_transaction_step_id => p_transaction_step_id
5935                                 ,p_name => 'P_FTE_CAPACITY')
5936        ,p_honors                  => hr_transaction_api.get_varchar2_value
5937                                 (p_transaction_step_id => p_transaction_step_id
5938                                 ,p_name => 'P_HONORS')
5939        ,p_internal_location       => hr_transaction_api.get_varchar2_value
5940                                 (p_transaction_step_id => p_transaction_step_id
5941                                 ,p_name => 'P_INTERNAL_LOCATION')
5942        ,p_known_as                => hr_transaction_api.get_varchar2_value
5943                               (p_transaction_step_id => p_transaction_step_id
5944                                     ,p_name => 'P_KNOWN_AS')
5945        ,p_last_medical_test_by    => hr_transaction_api.get_varchar2_value
5946                                 (p_transaction_step_id => p_transaction_step_id
5947                                 ,p_name => 'P_LAST_MEDICAL_TEST_BY')
5948        ,p_last_medical_test_date  => hr_transaction_api.get_date_value
5949                                 (p_transaction_step_id => p_transaction_step_id
5950                                 ,p_name => 'P_LAST_MEDICAL_TEST_DATE')
5951        ,p_mailstop                => hr_transaction_api.get_varchar2_value
5952                                 (p_transaction_step_id => p_transaction_step_id
5953                                 ,p_name => 'P_MAILSTOP')
5954        ,p_marital_status          => hr_transaction_api.get_varchar2_value
5955                               (p_transaction_step_id => p_transaction_step_id
5956                                    ,p_name => 'P_MARITAL_STATUS')
5957        ,p_middle_names            => hr_transaction_api.get_varchar2_value
5958                               (p_transaction_step_id => p_transaction_step_id
5959                                    ,p_name => 'P_MIDDLE_NAMES')
5960        ,p_national_identifier     => hr_transaction_api.get_varchar2_value
5961                                 (p_transaction_step_id => p_transaction_step_id
5962                                 ,p_name => 'P_NATIONAL_IDENTIFIER')
5963        ,p_nationality             => hr_transaction_api.get_varchar2_value
5964                                 (p_transaction_step_id => p_transaction_step_id
5965                                 ,p_name => 'P_NATIONALITY')
5966        ,p_office_number           => hr_transaction_api.get_varchar2_value
5967                                 (p_transaction_step_id => p_transaction_step_id
5968                                 ,p_name => 'P_OFFICE_NUMBER')
5969        ,p_on_military_service     => hr_transaction_api.get_varchar2_value
5970                                 (p_transaction_step_id => p_transaction_step_id
5971                                 ,p_name => 'P_ON_MILITARY_SERVICE')
5972        ,p_party_id                => hr_transaction_api.get_number_value
5973                                 (p_transaction_step_id => p_transaction_step_id
5974                                 ,p_name => 'P_PARTY_ID')
5975        ,p_pre_name_adjunct        => hr_transaction_api.get_varchar2_value
5976                                 (p_transaction_step_id => p_transaction_step_id
5977                                 ,p_name => 'P_PRE_NAME_ADJUNCT')
5978        ,p_previous_last_name      => hr_transaction_api.get_varchar2_value
5979                                 (p_transaction_step_id => p_transaction_step_id
5980                                 ,p_name => 'P_PREVIOUS_LAST_NAME')
5981        --,p_projected_placement_end =>
5982        ,p_receipt_of_death_cert_date => hr_transaction_api.get_date_value
5983                                 (p_transaction_step_id => p_transaction_step_id
5984                                 ,p_name => 'P_RECEIPT_OF_DEATH_CERT_DATE')
5985        ,p_region_of_birth         => hr_transaction_api.get_varchar2_value
5986                                 (p_transaction_step_id => p_transaction_step_id
5987                                 ,p_name => 'P_REGION_OF_BIRTH')
5988        ,p_registered_disabled_flag => hr_transaction_api.get_varchar2_value
5989                                 (p_transaction_step_id => p_transaction_step_id
5990                                 ,p_name => 'P_REGISTERED_DISABLED_FLAG')
5991        ,p_resume_exists            => hr_transaction_api.get_varchar2_value
5992                                 (p_transaction_step_id => p_transaction_step_id
5993                                 ,p_name => 'P_RESUME_EXISTS')
5994        ,p_resume_last_updated      => hr_transaction_api.get_date_value
5995                                 (p_transaction_step_id => p_transaction_step_id
5996                                 ,p_name => 'P_RESUME_LAST_UPDATED')
5997        ,p_second_passport_exists   => hr_transaction_api.get_varchar2_value
5998                                 (p_transaction_step_id => p_transaction_step_id
5999                                 ,p_name => 'P_SECOND_PASSPORT_EXISTS')
6000        ,p_sex                      => hr_transaction_api.get_varchar2_value
6001                                 (p_transaction_step_id => p_transaction_step_id
6002                                 ,p_name => 'P_SEX')
6003        ,p_student_status           => hr_transaction_api.get_varchar2_value
6004                                 (p_transaction_step_id => p_transaction_step_id
6005                                 ,p_name => 'P_STUDENT_STATUS')
6006        ,p_suffix                   => hr_transaction_api.get_varchar2_value
6007                                 (p_transaction_step_id => p_transaction_step_id
6008                                 ,p_name => 'P_SUFFIX')
6009        ,p_title                    => hr_transaction_api.get_varchar2_value
6010                                 (p_transaction_step_id => p_transaction_step_id
6011                                 ,p_name => 'P_TITLE')
6012        ,p_town_of_birth            => hr_transaction_api.get_varchar2_value
6013                                 (p_transaction_step_id => p_transaction_step_id
6014                                 ,p_name => 'P_TOWN_OF_BIRTH')
6015        ,p_uses_tobacco_flag        => hr_transaction_api.get_varchar2_value
6016                                 (p_transaction_step_id => p_transaction_step_id
6017                                 ,p_name => 'P_USES_TOBACCO_FLAG')
6018        ,p_vendor_id                => hr_transaction_api.get_number_value
6019                                 (p_transaction_step_id => p_transaction_step_id
6020                                 ,p_name => 'P_VENDOR_ID')
6021        ,p_work_schedule            => hr_transaction_api.get_varchar2_value
6022                                 (p_transaction_step_id => p_transaction_step_id
6023                                 ,p_name => 'P_WORK_SCHEDULE')
6024        ,p_work_telephone           => hr_transaction_api.get_varchar2_value
6025                                 (p_transaction_step_id => p_transaction_step_id
6026                                 ,p_name => 'P_WORK_TELEPHONE')
6027        --,p_exp_check_send_to_address =>
6028        --,p_hold_applicant_date_until =>
6029        ,p_date_employee_data_verified => hr_transaction_api.get_date_value
6030                                 (p_transaction_step_id => p_transaction_step_id
6031                                 ,p_name => 'P_DATE_EMPLOYEE_DATA_VERIFIED')
6032        ,p_benefit_group_id          => hr_transaction_api.get_number_value
6033                                 (p_transaction_step_id => p_transaction_step_id
6034                                 ,p_name => 'P_BENEFIT_GROUP_ID')
6035        ,p_coord_ben_med_pln_no      => hr_transaction_api.get_varchar2_value
6036                                 (p_transaction_step_id => p_transaction_step_id
6037                                 ,p_name => 'P_COORD_BEN_MED_PLN_NO')
6038        ,p_coord_ben_no_cvg_flag     => hr_transaction_api.get_varchar2_value
6039                                 (p_transaction_step_id => p_transaction_step_id
6040                                 ,p_name => 'P_COORD_BEN_NO_CVG_FLAG')
6041        ,p_original_date_of_hire     => hr_transaction_api.get_date_value
6042                                 (p_transaction_step_id => p_transaction_step_id
6043                                 ,p_name => 'P_ORIGINAL_DATE_OF_HIRE')
6044        ,p_attribute_category        => hr_transaction_api.get_varchar2_value
6045                                 (p_transaction_step_id => p_transaction_step_id
6046                                 ,p_name => 'P_ATTRIBUTE_CATEGORY')
6047        ,p_attribute1                => hr_transaction_api.get_varchar2_value
6048                                 (p_transaction_step_id => p_transaction_step_id
6049                                 ,p_name => 'P_ATTRIBUTE1')
6050        ,p_attribute2                => hr_transaction_api.get_varchar2_value
6051                                 (p_transaction_step_id => p_transaction_step_id
6052                                 ,p_name => 'P_ATTRIBUTE2')
6053        ,p_attribute3                => hr_transaction_api.get_varchar2_value
6054                                 (p_transaction_step_id => p_transaction_step_id
6055                                 ,p_name => 'P_ATTRIBUTE3')
6056        ,p_attribute4                => hr_transaction_api.get_varchar2_value
6057                                 (p_transaction_step_id => p_transaction_step_id
6058                                 ,p_name => 'P_ATTRIBUTE4')
6059        ,p_attribute5                => hr_transaction_api.get_varchar2_value
6060                                 (p_transaction_step_id => p_transaction_step_id
6061                                 ,p_name => 'P_ATTRIBUTE5')
6062        ,p_attribute6                => hr_transaction_api.get_varchar2_value
6063                                 (p_transaction_step_id => p_transaction_step_id
6064                                 ,p_name => 'P_ATTRIBUTE6')
6065        ,p_attribute7                => hr_transaction_api.get_varchar2_value
6066                                 (p_transaction_step_id => p_transaction_step_id
6067                                 ,p_name => 'P_ATTRIBUTE7')
6068        ,p_attribute8                => hr_transaction_api.get_varchar2_value
6069                                 (p_transaction_step_id => p_transaction_step_id
6070                                 ,p_name => 'P_ATTRIBUTE8')
6071        ,p_attribute9                => hr_transaction_api.get_varchar2_value
6072                                 (p_transaction_step_id => p_transaction_step_id
6073                                 ,p_name => 'P_ATTRIBUTE9')
6074        ,p_attribute10               => hr_transaction_api.get_varchar2_value
6075                                 (p_transaction_step_id => p_transaction_step_id
6076                                 ,p_name => 'P_ATTRIBUTE10')
6077        ,p_attribute11               => hr_transaction_api.get_varchar2_value
6078                                 (p_transaction_step_id => p_transaction_step_id
6079                                 ,p_name => 'P_ATTRIBUTE11')
6080        ,p_attribute12               => hr_transaction_api.get_varchar2_value
6081                                 (p_transaction_step_id => p_transaction_step_id
6082                                 ,p_name => 'P_ATTRIBUTE12')
6083        ,p_attribute13               => hr_transaction_api.get_varchar2_value
6084                                 (p_transaction_step_id => p_transaction_step_id
6085                                 ,p_name => 'P_ATTRIBUTE13')
6086        ,p_attribute14               => hr_transaction_api.get_varchar2_value
6087                                 (p_transaction_step_id => p_transaction_step_id
6088                                 ,p_name => 'P_ATTRIBUTE14')
6089        ,p_attribute15               => hr_transaction_api.get_varchar2_value
6090                                 (p_transaction_step_id => p_transaction_step_id
6091                                 ,p_name => 'P_ATTRIBUTE15')
6092        ,p_attribute16               => hr_transaction_api.get_varchar2_value
6093                                 (p_transaction_step_id => p_transaction_step_id
6094                                 ,p_name => 'P_ATTRIBUTE16')
6095        ,p_attribute17               => hr_transaction_api.get_varchar2_value
6096                                 (p_transaction_step_id => p_transaction_step_id
6097                                 ,p_name => 'P_ATTRIBUTE17')
6098        ,p_attribute18               => hr_transaction_api.get_varchar2_value
6099                                 (p_transaction_step_id => p_transaction_step_id
6100                                 ,p_name => 'P_ATTRIBUTE18')
6101        ,p_attribute19               => hr_transaction_api.get_varchar2_value
6102                                 (p_transaction_step_id => p_transaction_step_id
6103                                 ,p_name => 'P_ATTRIBUTE19')
6104        ,p_attribute20               => hr_transaction_api.get_varchar2_value
6105                                 (p_transaction_step_id => p_transaction_step_id
6106                                 ,p_name => 'P_ATTRIBUTE20')
6107        ,p_attribute21               => hr_transaction_api.get_varchar2_value
6108                                 (p_transaction_step_id => p_transaction_step_id
6109                                 ,p_name => 'P_ATTRIBUTE21')
6110        ,p_attribute22               => hr_transaction_api.get_varchar2_value
6111                                 (p_transaction_step_id => p_transaction_step_id
6112                                 ,p_name => 'P_ATTRIBUTE22')
6113        ,p_attribute23               => hr_transaction_api.get_varchar2_value
6114                                 (p_transaction_step_id => p_transaction_step_id
6115                                 ,p_name => 'P_ATTRIBUTE23')
6116        ,p_attribute24               => hr_transaction_api.get_varchar2_value
6117                                 (p_transaction_step_id => p_transaction_step_id
6118                                 ,p_name => 'P_ATTRIBUTE24')
6119        ,p_attribute25               => hr_transaction_api.get_varchar2_value
6120                                 (p_transaction_step_id => p_transaction_step_id
6121                                 ,p_name => 'P_ATTRIBUTE25')
6122        ,p_attribute26               => hr_transaction_api.get_varchar2_value
6123                                 (p_transaction_step_id => p_transaction_step_id
6124                                 ,p_name => 'P_ATTRIBUTE26')
6125        ,p_attribute27               => hr_transaction_api.get_varchar2_value
6126                                 (p_transaction_step_id => p_transaction_step_id
6127                                 ,p_name => 'P_ATTRIBUTE27')
6128        ,p_attribute28               => hr_transaction_api.get_varchar2_value
6129                                 (p_transaction_step_id => p_transaction_step_id
6130                                 ,p_name => 'P_ATTRIBUTE28')
6131        ,p_attribute29               => hr_transaction_api.get_varchar2_value
6132                                 (p_transaction_step_id => p_transaction_step_id
6133                                 ,p_name => 'P_ATTRIBUTE29')
6134        ,p_attribute30               => hr_transaction_api.get_varchar2_value
6135                                 (p_transaction_step_id => p_transaction_step_id
6136                                 ,p_name => 'P_ATTRIBUTE30')
6137        ,p_per_information_category => hr_transaction_api.get_varchar2_value
6138                                 (p_transaction_step_id => p_transaction_step_id
6139                                 ,p_name => 'P_PER_INFORMATION_CATEGORY')
6140        ,p_per_information1         => hr_transaction_api.get_varchar2_value
6141                                 (p_transaction_step_id => p_transaction_step_id
6142                                 ,p_name => 'P_PER_INFORMATION1')
6143        ,p_per_information2         => hr_transaction_api.get_varchar2_value
6144                                 (p_transaction_step_id => p_transaction_step_id
6145                                 ,p_name => 'P_PER_INFORMATION2')
6146        ,p_per_information3         => hr_transaction_api.get_varchar2_value
6147                                 (p_transaction_step_id => p_transaction_step_id
6148                                 ,p_name => 'P_PER_INFORMATION3')
6149        ,p_per_information4         => hr_transaction_api.get_varchar2_value
6150                                 (p_transaction_step_id => p_transaction_step_id
6151                                 ,p_name => 'P_PER_INFORMATION4')
6152        ,p_per_information5         => hr_transaction_api.get_varchar2_value
6153                                 (p_transaction_step_id => p_transaction_step_id
6154                                 ,p_name => 'P_PER_INFORMATION5')
6155        ,p_per_information6         => hr_transaction_api.get_varchar2_value
6156                                 (p_transaction_step_id => p_transaction_step_id
6157                                 ,p_name => 'P_PER_INFORMATION6')
6158        ,p_per_information7         => hr_transaction_api.get_varchar2_value
6159                                 (p_transaction_step_id => p_transaction_step_id
6160                                 ,p_name => 'P_PER_INFORMATION7')
6161        ,p_per_information8         => hr_transaction_api.get_varchar2_value
6162                                 (p_transaction_step_id => p_transaction_step_id
6163                                 ,p_name => 'P_PER_INFORMATION8')
6164        ,p_per_information9         => hr_transaction_api.get_varchar2_value
6165                                 (p_transaction_step_id => p_transaction_step_id
6166                                 ,p_name => 'P_PER_INFORMATION9')
6167        ,p_per_information10        => hr_transaction_api.get_varchar2_value
6168                                 (p_transaction_step_id => p_transaction_step_id
6169                                 ,p_name => 'P_PER_INFORMATION10')
6170        ,p_per_information11        => hr_transaction_api.get_varchar2_value
6171                                 (p_transaction_step_id => p_transaction_step_id
6172                                 ,p_name => 'P_PER_INFORMATION11')
6173        ,p_per_information12        => hr_transaction_api.get_varchar2_value
6174                                 (p_transaction_step_id => p_transaction_step_id
6175                                 ,p_name => 'P_PER_INFORMATION12')
6176        ,p_per_information13        => hr_transaction_api.get_varchar2_value
6177                                 (p_transaction_step_id => p_transaction_step_id
6178                                 ,p_name => 'P_PER_INFORMATION13')
6179        ,p_per_information14        => hr_transaction_api.get_varchar2_value
6180                                 (p_transaction_step_id => p_transaction_step_id
6181                                 ,p_name => 'P_PER_INFORMATION14')
6182        ,p_per_information15        => hr_transaction_api.get_varchar2_value
6183                                 (p_transaction_step_id => p_transaction_step_id
6184                                 ,p_name => 'P_PER_INFORMATION15')
6185        ,p_per_information16        => hr_transaction_api.get_varchar2_value
6186                                 (p_transaction_step_id => p_transaction_step_id
6187                                 ,p_name => 'P_PER_INFORMATION16')
6188        ,p_per_information17        => hr_transaction_api.get_varchar2_value
6189                                 (p_transaction_step_id => p_transaction_step_id
6190                                 ,p_name => 'P_PER_INFORMATION17')
6191        ,p_per_information18        => hr_transaction_api.get_varchar2_value
6192                                 (p_transaction_step_id => p_transaction_step_id
6193                                 ,p_name => 'P_PER_INFORMATION18')
6194        ,p_per_information19        => hr_transaction_api.get_varchar2_value
6195                                 (p_transaction_step_id => p_transaction_step_id
6196                                 ,p_name => 'P_PER_INFORMATION19')
6197        ,p_per_information20        => hr_transaction_api.get_varchar2_value
6198                                 (p_transaction_step_id => p_transaction_step_id
6199                                 ,p_name => 'P_PER_INFORMATION20')
6200        ,p_per_information21        => hr_transaction_api.get_varchar2_value
6201                                 (p_transaction_step_id => p_transaction_step_id
6202                                 ,p_name => 'P_PER_INFORMATION21')
6203        ,p_per_information22        => hr_transaction_api.get_varchar2_value
6204                                 (p_transaction_step_id => p_transaction_step_id
6205                                 ,p_name => 'P_PER_INFORMATION22')
6206        ,p_per_information23        => hr_transaction_api.get_varchar2_value
6207                                 (p_transaction_step_id => p_transaction_step_id
6208                                 ,p_name => 'P_PER_INFORMATION23')
6209        ,p_per_information24        => hr_transaction_api.get_varchar2_value
6210                                 (p_transaction_step_id => p_transaction_step_id
6211                                 ,p_name => 'P_PER_INFORMATION24')
6212        ,p_per_information25        => hr_transaction_api.get_varchar2_value
6213                                 (p_transaction_step_id => p_transaction_step_id
6214                                 ,p_name => 'P_PER_INFORMATION25')
6215        ,p_per_information26        => hr_transaction_api.get_varchar2_value
6216                                 (p_transaction_step_id => p_transaction_step_id
6217                                 ,p_name => 'P_PER_INFORMATION26')
6218        ,p_per_information27        => hr_transaction_api.get_varchar2_value
6219                                 (p_transaction_step_id => p_transaction_step_id
6220                                 ,p_name => 'P_PER_INFORMATION27')
6221        ,p_per_information28        => hr_transaction_api.get_varchar2_value
6222                                 (p_transaction_step_id => p_transaction_step_id
6223                                 ,p_name => 'P_PER_INFORMATION28')
6224        ,p_per_information29        => hr_transaction_api.get_varchar2_value
6225                                 (p_transaction_step_id => p_transaction_step_id
6226                                 ,p_name => 'P_PER_INFORMATION29')
6227        ,p_per_information30        => hr_transaction_api.get_varchar2_value
6228                                 (p_transaction_step_id => p_transaction_step_id
6229                                 ,p_name => 'P_PER_INFORMATION30')
6230        ,p_person_id                => l_person_id
6231        ,p_per_object_version_number => l_povn
6232        ,p_per_effective_start_date  => l_effective_start_Date
6233        ,p_per_effective_end_date    => l_effective_end_Date
6234        ,p_pdp_object_version_number => l_dovn
6235        ,p_full_name                 => l_full_name
6236        ,p_comment_id                => l_comment_id
6237        ,p_assignment_id             => l_assignment_id
6238        ,p_asg_object_version_number => l_aovn
6239        ,p_assignment_sequence       => l_assignment_sequence
6240        ,p_assignment_number         => l_assignment_number
6241        ,p_name_combination_warning  => l_name_combination_warning
6242        );
6243    else
6244     hr_employee_api.create_employee(
6245      p_validate                => p_validate
6246     ,p_hire_date               => l_effective_date
6247     ,p_business_group_id       => hr_transaction_api.get_number_value
6248                                 (p_transaction_step_id => p_transaction_step_id
6249                                 ,p_name => 'P_BUSINESS_GROUP_ID')
6250     ,p_last_name               => hr_transaction_api.get_varchar2_value
6251                                 (p_transaction_step_id => p_transaction_step_id
6252                                 ,p_name => 'P_LAST_NAME')
6253     ,p_sex                      => hr_transaction_api.get_varchar2_value
6254                                 (p_transaction_step_id => p_transaction_step_id
6255                                 ,p_name => 'P_SEX')
6256     ,p_person_type_id          => hr_transaction_api.get_number_value
6257                                 (p_transaction_step_id => p_transaction_step_id
6258                                 ,p_name => 'P_PERSON_TYPE_ID')
6259     ,p_per_comments                => hr_transaction_api.get_varchar2_value
6260                                 (p_transaction_step_id => p_transaction_step_id
6261                                 ,p_name => 'P_PER_COMMENTS')
6262     ,p_date_employee_data_verified => hr_transaction_api.get_date_value
6263                                 (p_transaction_step_id => p_transaction_step_id
6264                                 ,p_name => 'P_DATE_EMPLOYEE_DATA_VERIFIED')
6265     ,p_date_of_birth           => hr_transaction_api.get_date_value
6266                                 (p_transaction_step_id => p_transaction_step_id
6267                                 ,p_name => 'P_DATE_OF_BIRTH')
6268     ,p_email_address           => hr_transaction_api.get_varchar2_value
6269                                 (p_transaction_step_id => p_transaction_step_id
6270                                 ,p_name => 'P_EMAIL_ADDRESS')
6271     ,p_employee_number         => l_employee_number
6272     ,p_expense_check_send_to_addres => hr_transaction_api.get_varchar2_value
6273                                 (p_transaction_step_id => p_transaction_step_id
6274                                 ,p_name => 'P_EXPENSE_CHECK_SEND_TO_ADDRES')
6275     ,p_first_name              => hr_transaction_api.get_varchar2_value
6276                                 (p_transaction_step_id => p_transaction_step_id
6277                                 ,p_name => 'P_FIRST_NAME')
6278     ,p_known_as                => hr_transaction_api.get_varchar2_value
6279                                 (p_transaction_step_id => p_transaction_step_id
6280                                 ,p_name => 'P_KNOWN_AS')
6281     ,p_marital_status          => hr_transaction_api.get_varchar2_value
6282                                 (p_transaction_step_id => p_transaction_step_id
6283                                 ,p_name => 'P_MARITAL_STATUS')
6284     ,p_middle_names             => hr_transaction_api.get_varchar2_value
6285                                 (p_transaction_step_id => p_transaction_step_id
6286                                 ,p_name => 'P_MIDDLE_NAMES')
6287     ,p_nationality              => hr_transaction_api.get_varchar2_value
6288                                 (p_transaction_step_id => p_transaction_step_id
6289                                 ,p_name => 'P_NATIONALITY')
6290     ,p_national_identifier      => hr_transaction_api.get_varchar2_value
6291                                 (p_transaction_step_id => p_transaction_step_id
6292                                 ,p_name => 'P_NATIONAL_IDENTIFIER')
6293     ,p_previous_last_name       => hr_transaction_api.get_varchar2_value
6294                                 (p_transaction_step_id => p_transaction_step_id
6295                                 ,p_name => 'P_PREVIOUS_LAST_NAME')
6296     ,p_registered_disabled_flag => hr_transaction_api.get_varchar2_value
6297                                 (p_transaction_step_id => p_transaction_step_id
6298                                 ,p_name => 'P_REGISTERED_DISABLED_FLAG')
6299     ,p_title                    => hr_transaction_api.get_varchar2_value
6300                                 (p_transaction_step_id => p_transaction_step_id
6301                                 ,p_name => 'P_TITLE')
6302     ,p_vendor_id                => hr_transaction_api.get_number_value
6303                                 (p_transaction_step_id => p_transaction_step_id
6304                                 ,p_name => 'P_VENDOR_ID')
6305     ,p_work_telephone           => hr_transaction_api.get_varchar2_value
6306                                 (p_transaction_step_id => p_transaction_step_id
6307                                 ,p_name => 'P_WORK_TELEPHONE')
6308     ,p_attribute_category       => hr_transaction_api.get_varchar2_value
6309                                 (p_transaction_step_id => p_transaction_step_id
6310                                 ,p_name => 'P_ATTRIBUTE_CATEGORY')
6311     ,p_attribute1               => hr_transaction_api.get_varchar2_value
6312                                 (p_transaction_step_id => p_transaction_step_id
6313                                 ,p_name => 'P_ATTRIBUTE1')
6314     ,p_attribute2               => hr_transaction_api.get_varchar2_value
6315                                 (p_transaction_step_id => p_transaction_step_id
6316                                 ,p_name => 'P_ATTRIBUTE2')
6317     ,p_attribute3               => hr_transaction_api.get_varchar2_value
6318                                 (p_transaction_step_id => p_transaction_step_id
6319                                 ,p_name => 'P_ATTRIBUTE3')
6320     ,p_attribute4               => hr_transaction_api.get_varchar2_value
6321                                 (p_transaction_step_id => p_transaction_step_id
6322                                 ,p_name => 'P_ATTRIBUTE4')
6323     ,p_attribute5               => hr_transaction_api.get_varchar2_value
6324                                 (p_transaction_step_id => p_transaction_step_id
6325                                 ,p_name => 'P_ATTRIBUTE5')
6326     ,p_attribute6               => hr_transaction_api.get_varchar2_value
6327                                 (p_transaction_step_id => p_transaction_step_id
6328                                 ,p_name => 'P_ATTRIBUTE6')
6329     ,p_attribute7               => hr_transaction_api.get_varchar2_value
6330                                 (p_transaction_step_id => p_transaction_step_id
6331                                 ,p_name => 'P_ATTRIBUTE7')
6332     ,p_attribute8               => hr_transaction_api.get_varchar2_value
6333                                 (p_transaction_step_id => p_transaction_step_id
6334                                 ,p_name => 'P_ATTRIBUTE8')
6335     ,p_attribute9               => hr_transaction_api.get_varchar2_value
6336                                 (p_transaction_step_id => p_transaction_step_id
6337                                 ,p_name => 'P_ATTRIBUTE9')
6338     ,p_attribute10              => hr_transaction_api.get_varchar2_value
6339                                 (p_transaction_step_id => p_transaction_step_id
6340                                 ,p_name => 'P_ATTRIBUTE10')
6341     ,p_attribute11              => hr_transaction_api.get_varchar2_value
6342                                 (p_transaction_step_id => p_transaction_step_id
6343                                 ,p_name => 'P_ATTRIBUTE11')
6344     ,p_attribute12              => hr_transaction_api.get_varchar2_value
6345                                 (p_transaction_step_id => p_transaction_step_id
6346                                 ,p_name => 'P_ATTRIBUTE12')
6347     ,p_attribute13              => hr_transaction_api.get_varchar2_value
6348                                 (p_transaction_step_id => p_transaction_step_id
6349                                 ,p_name => 'P_ATTRIBUTE13')
6350     ,p_attribute14              => hr_transaction_api.get_varchar2_value
6351                                 (p_transaction_step_id => p_transaction_step_id
6352                                 ,p_name => 'P_ATTRIBUTE14')
6353     ,p_attribute15              => hr_transaction_api.get_varchar2_value
6354                                 (p_transaction_step_id => p_transaction_step_id
6355                                 ,p_name => 'P_ATTRIBUTE15')
6356     ,p_attribute16              => hr_transaction_api.get_varchar2_value
6357                                 (p_transaction_step_id => p_transaction_step_id
6358                                 ,p_name => 'P_ATTRIBUTE16')
6359     ,p_attribute17              => hr_transaction_api.get_varchar2_value
6360                                 (p_transaction_step_id => p_transaction_step_id
6361                                 ,p_name => 'P_ATTRIBUTE17')
6362     ,p_attribute18              => hr_transaction_api.get_varchar2_value
6363                                 (p_transaction_step_id => p_transaction_step_id
6364                                 ,p_name => 'P_ATTRIBUTE18')
6365     ,p_attribute19              => hr_transaction_api.get_varchar2_value
6366                                 (p_transaction_step_id => p_transaction_step_id
6367                                 ,p_name => 'P_ATTRIBUTE19')
6368     ,p_attribute20              => hr_transaction_api.get_varchar2_value
6369                                 (p_transaction_step_id => p_transaction_step_id
6370                                 ,p_name => 'P_ATTRIBUTE20')
6371     ,p_attribute21              => hr_transaction_api.get_varchar2_value
6372                                 (p_transaction_step_id => p_transaction_step_id
6373                                 ,p_name => 'P_ATTRIBUTE21')
6374     ,p_attribute22              => hr_transaction_api.get_varchar2_value
6375                                 (p_transaction_step_id => p_transaction_step_id
6376                                 ,p_name => 'P_ATTRIBUTE22')
6377     ,p_attribute23              => hr_transaction_api.get_varchar2_value
6378                                 (p_transaction_step_id => p_transaction_step_id
6379                                 ,p_name => 'P_ATTRIBUTE23')
6380     ,p_attribute24              => hr_transaction_api.get_varchar2_value
6381                                 (p_transaction_step_id => p_transaction_step_id
6382                                 ,p_name => 'P_ATTRIBUTE24')
6383     ,p_attribute25              => hr_transaction_api.get_varchar2_value
6384                                 (p_transaction_step_id => p_transaction_step_id
6385                                 ,p_name => 'P_ATTRIBUTE25')
6386     ,p_attribute26              => hr_transaction_api.get_varchar2_value
6387                                 (p_transaction_step_id => p_transaction_step_id
6388                                 ,p_name => 'P_ATTRIBUTE26')
6389     ,p_attribute27              => hr_transaction_api.get_varchar2_value
6390                                 (p_transaction_step_id => p_transaction_step_id
6391                                 ,p_name => 'P_ATTRIBUTE27')
6392     ,p_attribute28              => hr_transaction_api.get_varchar2_value
6393                                 (p_transaction_step_id => p_transaction_step_id
6394                                 ,p_name => 'P_ATTRIBUTE28')
6395     ,p_attribute29              => hr_transaction_api.get_varchar2_value
6396                                 (p_transaction_step_id => p_transaction_step_id
6397                                 ,p_name => 'P_ATTRIBUTE29')
6398     ,p_attribute30              => hr_transaction_api.get_varchar2_value
6399                                 (p_transaction_step_id => p_transaction_step_id
6400                                 ,p_name => 'P_ATTRIBUTE30')
6401     ,p_per_information_category => hr_transaction_api.get_varchar2_value
6402                                 (p_transaction_step_id => p_transaction_step_id
6403                                 ,p_name => 'P_PER_INFORMATION_CATEGORY')
6404     ,p_per_information1         => hr_transaction_api.get_varchar2_value
6405                                 (p_transaction_step_id => p_transaction_step_id
6406                                 ,p_name => 'P_PER_INFORMATION1')
6407     ,p_per_information2         => hr_transaction_api.get_varchar2_value
6408                                 (p_transaction_step_id => p_transaction_step_id
6409                                 ,p_name => 'P_PER_INFORMATION2')
6410     ,p_per_information3         => hr_transaction_api.get_varchar2_value
6411                                 (p_transaction_step_id => p_transaction_step_id
6412                                 ,p_name => 'P_PER_INFORMATION3')
6413     ,p_per_information4         => hr_transaction_api.get_varchar2_value
6414                                 (p_transaction_step_id => p_transaction_step_id
6415                                 ,p_name => 'P_PER_INFORMATION4')
6416     ,p_per_information5         => hr_transaction_api.get_varchar2_value
6417                                 (p_transaction_step_id => p_transaction_step_id
6418                                 ,p_name => 'P_PER_INFORMATION5')
6419     ,p_per_information6         => hr_transaction_api.get_varchar2_value
6420                                 (p_transaction_step_id => p_transaction_step_id
6421                                 ,p_name => 'P_PER_INFORMATION6')
6422     ,p_per_information7         => hr_transaction_api.get_varchar2_value
6423                                 (p_transaction_step_id => p_transaction_step_id
6424                                 ,p_name => 'P_PER_INFORMATION7')
6425     ,p_per_information8         => hr_transaction_api.get_varchar2_value
6426                                 (p_transaction_step_id => p_transaction_step_id
6427                                 ,p_name => 'P_PER_INFORMATION8')
6428     ,p_per_information9         => hr_transaction_api.get_varchar2_value
6429                                 (p_transaction_step_id => p_transaction_step_id
6430                                 ,p_name => 'P_PER_INFORMATION9')
6431     ,p_per_information10        => hr_transaction_api.get_varchar2_value
6432                                 (p_transaction_step_id => p_transaction_step_id
6433                                 ,p_name => 'P_PER_INFORMATION10')
6434     ,p_per_information11        => hr_transaction_api.get_varchar2_value
6435                                 (p_transaction_step_id => p_transaction_step_id
6436                                 ,p_name => 'P_PER_INFORMATION11')
6437     ,p_per_information12        => hr_transaction_api.get_varchar2_value
6438                                 (p_transaction_step_id => p_transaction_step_id
6439                                 ,p_name => 'P_PER_INFORMATION12')
6440     ,p_per_information13        => hr_transaction_api.get_varchar2_value
6441                                 (p_transaction_step_id => p_transaction_step_id
6442                                 ,p_name => 'P_PER_INFORMATION13')
6443     ,p_per_information14        => hr_transaction_api.get_varchar2_value
6444                                 (p_transaction_step_id => p_transaction_step_id
6445                                 ,p_name => 'P_PER_INFORMATION14')
6446     ,p_per_information15        => hr_transaction_api.get_varchar2_value
6447                                 (p_transaction_step_id => p_transaction_step_id
6448                                 ,p_name => 'P_PER_INFORMATION15')
6449     ,p_per_information16        => hr_transaction_api.get_varchar2_value
6450                                 (p_transaction_step_id => p_transaction_step_id
6451                                 ,p_name => 'P_PER_INFORMATION16')
6452     ,p_per_information17        => hr_transaction_api.get_varchar2_value
6453                                 (p_transaction_step_id => p_transaction_step_id
6454                                 ,p_name => 'P_PER_INFORMATION17')
6455     ,p_per_information18        => hr_transaction_api.get_varchar2_value
6456                                 (p_transaction_step_id => p_transaction_step_id
6457                                 ,p_name => 'P_PER_INFORMATION18')
6458     ,p_per_information19        => hr_transaction_api.get_varchar2_value
6459                                 (p_transaction_step_id => p_transaction_step_id
6460                                 ,p_name => 'P_PER_INFORMATION19')
6461     ,p_per_information20        => hr_transaction_api.get_varchar2_value
6462                                 (p_transaction_step_id => p_transaction_step_id
6463                                 ,p_name => 'P_PER_INFORMATION20')
6464     ,p_per_information21        => hr_transaction_api.get_varchar2_value
6465                                 (p_transaction_step_id => p_transaction_step_id
6466                                 ,p_name => 'P_PER_INFORMATION21')
6467     ,p_per_information22        => hr_transaction_api.get_varchar2_value
6468                                 (p_transaction_step_id => p_transaction_step_id
6469                                 ,p_name => 'P_PER_INFORMATION22')
6470     ,p_per_information23        => hr_transaction_api.get_varchar2_value
6471                                 (p_transaction_step_id => p_transaction_step_id
6472                                 ,p_name => 'P_PER_INFORMATION23')
6473     ,p_per_information24        => hr_transaction_api.get_varchar2_value
6474                                 (p_transaction_step_id => p_transaction_step_id
6475                                 ,p_name => 'P_PER_INFORMATION24')
6476     ,p_per_information25        => hr_transaction_api.get_varchar2_value
6477                                 (p_transaction_step_id => p_transaction_step_id
6478                                 ,p_name => 'P_PER_INFORMATION25')
6479     ,p_per_information26        => hr_transaction_api.get_varchar2_value
6480                                 (p_transaction_step_id => p_transaction_step_id
6481                                 ,p_name => 'P_PER_INFORMATION26')
6482     ,p_per_information27        => hr_transaction_api.get_varchar2_value
6483                                 (p_transaction_step_id => p_transaction_step_id
6484                                 ,p_name => 'P_PER_INFORMATION27')
6485     ,p_per_information28        => hr_transaction_api.get_varchar2_value
6486                                 (p_transaction_step_id => p_transaction_step_id
6487                                 ,p_name => 'P_PER_INFORMATION28')
6488     ,p_per_information29        => hr_transaction_api.get_varchar2_value
6489                                 (p_transaction_step_id => p_transaction_step_id
6490                                 ,p_name => 'P_PER_INFORMATION29')
6491     ,p_per_information30        => hr_transaction_api.get_varchar2_value
6492                                 (p_transaction_step_id => p_transaction_step_id
6493                                 ,p_name => 'P_PER_INFORMATION30')
6494     ,p_date_of_death            => hr_transaction_api.get_date_value
6495                                 (p_transaction_step_id => p_transaction_step_id
6496                                 ,p_name => 'P_DATE_OF_DEATH')
6497     ,p_background_check_status  => hr_transaction_api.get_varchar2_value
6498                                 (p_transaction_step_id => p_transaction_step_id
6499                                 ,p_name => 'P_BACKGROUND_CHECK_STATUS')
6500     ,p_background_date_check    => hr_transaction_api.get_date_value
6501                                 (p_transaction_step_id => p_transaction_step_id
6502                                 ,p_name => 'P_BACKGROUND_DATE_CHECK')
6503     ,p_blood_type               => hr_transaction_api.get_varchar2_value
6504                                 (p_transaction_step_id => p_transaction_step_id
6505                                 ,p_name => 'P_BLOOD_TYPE')
6506     ,p_correspondence_language  => hr_transaction_api.get_varchar2_value
6507                                 (p_transaction_step_id => p_transaction_step_id
6508                                 ,p_name => 'P_CORRESPONDENCE_LANGUAGE')
6509     ,p_fast_path_employee       => hr_transaction_api.get_varchar2_value
6510                                 (p_transaction_step_id => p_transaction_step_id
6511                                 ,p_name => 'P_FAST_PATH_EMPLOYEE')
6512     ,p_fte_capacity             => hr_transaction_api.get_number_value
6513                                 (p_transaction_step_id => p_transaction_step_id
6514                                 ,p_name => 'P_FTE_CAPACITY')
6515     ,p_honors                   => hr_transaction_api.get_varchar2_value
6516                                 (p_transaction_step_id => p_transaction_step_id
6517                                 ,p_name => 'P_HONORS')
6518     ,p_internal_location        => hr_transaction_api.get_varchar2_value
6519                                 (p_transaction_step_id => p_transaction_step_id
6520                                 ,p_name => 'P_INTERNAL_LOCATION')
6521     ,p_last_medical_test_by     => hr_transaction_api.get_varchar2_value
6522                                 (p_transaction_step_id => p_transaction_step_id
6523                                 ,p_name => 'P_LAST_MEDICAL_TEST_BY')
6524     ,p_last_medical_test_date   => hr_transaction_api.get_date_value
6525                                 (p_transaction_step_id => p_transaction_step_id
6526                                 ,p_name => 'P_LAST_MEDICAL_TEST_DATE')
6527     ,p_mailstop                 => hr_transaction_api.get_varchar2_value
6528                                 (p_transaction_step_id => p_transaction_step_id
6529                                 ,p_name => 'P_MAILSTOP')
6530     ,p_office_number            => hr_transaction_api.get_varchar2_value
6531                                 (p_transaction_step_id => p_transaction_step_id
6532                                 ,p_name => 'P_OFFICE_NUMBER')
6533     ,p_on_military_service      => hr_transaction_api.get_varchar2_value
6534                                 (p_transaction_step_id => p_transaction_step_id
6535                                 ,p_name => 'P_ON_MILITARY_SERVICE')
6536     ,p_pre_name_adjunct         => hr_transaction_api.get_varchar2_value
6537                                 (p_transaction_step_id => p_transaction_step_id
6538                                 ,p_name => 'P_PRE_NAME_ADJUNCT')
6539     ,p_projected_start_date     => hr_transaction_api.get_date_value
6540                                 (p_transaction_step_id => p_transaction_step_id
6541                                 ,p_name => 'P_PROJECTED_START_DATE')
6542     ,p_resume_exists            => hr_transaction_api.get_varchar2_value
6543                                 (p_transaction_step_id => p_transaction_step_id
6544                                 ,p_name => 'P_RESUME_EXISTS')
6545     ,p_resume_last_updated      => hr_transaction_api.get_date_value
6546                                 (p_transaction_step_id => p_transaction_step_id
6547                                 ,p_name => 'P_RESUME_LAST_UPDATED')
6548     ,p_second_passport_exists   => hr_transaction_api.get_varchar2_value
6549                                 (p_transaction_step_id => p_transaction_step_id
6550                                 ,p_name => 'P_SECOND_PASSPORT_EXISTS')
6551     ,p_student_status           => hr_transaction_api.get_varchar2_value
6552                                 (p_transaction_step_id => p_transaction_step_id
6553                                 ,p_name => 'P_STUDENT_STATUS')
6554     ,p_work_schedule            => hr_transaction_api.get_varchar2_value
6555                                 (p_transaction_step_id => p_transaction_step_id
6556                                 ,p_name => 'P_WORK_SCHEDULE')
6557     ,p_suffix                   => hr_transaction_api.get_varchar2_value
6558                                 (p_transaction_step_id => p_transaction_step_id
6559                                 ,p_name => 'P_SUFFIX')
6560     ,p_benefit_group_id         => hr_transaction_api.get_number_value
6561                                 (p_transaction_step_id => p_transaction_step_id
6562                                 ,p_name => 'P_BENEFIT_GROUP_ID')
6563     ,p_receipt_of_death_cert_date => hr_transaction_api.get_date_value
6564                                 (p_transaction_step_id => p_transaction_step_id
6565                                 ,p_name => 'P_RECEIPT_OF_DEATH_CERT_DATE')
6566     ,p_coord_ben_med_pln_no     => hr_transaction_api.get_varchar2_value
6567                                 (p_transaction_step_id => p_transaction_step_id
6568                                 ,p_name => 'P_COORD_BEN_MED_PLN_NO')
6569     ,p_coord_ben_no_cvg_flag    => hr_transaction_api.get_varchar2_value
6570                                 (p_transaction_step_id => p_transaction_step_id
6571                                 ,p_name => 'P_COORD_BEN_NO_CVG_FLAG')
6572     ,p_uses_tobacco_flag        => hr_transaction_api.get_varchar2_value
6573                                 (p_transaction_step_id => p_transaction_step_id
6574                                 ,p_name => 'P_USES_TOBACCO_FLAG')
6575     ,p_dpdnt_adoption_date      => hr_transaction_api.get_date_value
6576                                 (p_transaction_step_id => p_transaction_step_id
6577                                 ,p_name => 'P_DPDNT_ADOPTION_DATE')
6578     ,p_dpdnt_vlntry_svce_flag   => hr_transaction_api.get_varchar2_value
6579                                 (p_transaction_step_id => p_transaction_step_id
6580                                 ,p_name => 'P_DPDNT_VLNTRY_SVCE_FLAG')
6581     ,p_original_date_of_hire   => hr_transaction_api.get_date_value
6582                                 (p_transaction_step_id => p_transaction_step_id
6583                                 ,p_name => 'P_ORIGINAL_DATE_OF_HIRE')
6584     ,p_adjusted_svc_date       => hr_transaction_api.get_date_value
6585                                 (p_transaction_step_id => p_transaction_step_id
6586                                 ,p_name => 'P_ADJUSTED_SVC_DATE')
6587     ,p_town_of_birth           => hr_transaction_api.get_varchar2_value
6588                                 (p_transaction_step_id => p_transaction_step_id
6589                                 ,p_name => 'P_TOWN_OF_BIRTH')
6590     ,p_region_of_birth         => hr_transaction_api.get_varchar2_value
6591                                 (p_transaction_step_id => p_transaction_step_id
6592                                 ,p_name => 'P_REGION_OF_BIRTH')
6593     ,p_country_of_birth        => hr_transaction_api.get_varchar2_value
6594                                 (p_transaction_step_id => p_transaction_step_id
6595                                 ,p_name => 'P_COUNTRY_OF_BIRTH')
6596     ,p_global_person_id        => hr_transaction_api.get_varchar2_value
6597                                 (p_transaction_step_id => p_transaction_step_id
6598                                 ,p_name => 'P_GLOBAL_PERSON_ID')
6599     ,p_party_id                => hr_transaction_api.get_number_value
6600                                 (p_transaction_step_id => p_transaction_step_id
6601                                 ,p_name => 'P_PARTY_ID')
6602     ,p_person_id                   => l_person_id
6603     ,p_assignment_id               => l_assignment_id
6604     ,p_per_object_version_number   => l_povn
6605     ,p_asg_object_version_number   => l_aovn
6606     ,p_per_effective_start_date    => l_effective_start_Date
6607     ,p_per_effective_end_date      => l_effective_end_Date
6608     ,p_full_name                   => l_full_name
6609     ,p_per_comment_id              => l_comment_id
6610     ,p_assignment_sequence         => l_assignment_sequence
6611     ,p_assignment_number           => l_assignment_number
6612     ,p_name_combination_warning    => l_name_combination_warning
6613     ,p_assign_payroll_warning      => l_assign_payroll_warning
6614     ,p_orig_hire_warning           => l_orig_hire_warning
6615     );
6616   end if;
6617 --
6618 --Added by VVK
6619 
6620     if hr_new_user_reg_ss.g_ignore_emp_generation = 'YES' then
6621        hr_new_user_reg_ss.g_ignore_emp_generation := 'NO';
6622 
6623        fnd_profile.put('PER_SSHR_NO_EMPNUM_GENERATION','N');
6624     end if;
6625 
6626 ELSIF l_flow_name = 'Cobra' THEN
6627    hr_utility.set_location('l_flow_name = Cobra:'||l_proc,100);
6628    hr_contact_api.create_person
6629     (p_validate                => p_validate
6630     ,p_start_date              => sysdate
6631     ,p_business_group_id       => hr_transaction_api.get_number_value
6632                               (p_transaction_step_id => p_transaction_step_id
6633                                    ,p_name => 'P_BUSINESS_GROUP_ID')
6634     ,p_last_name               => hr_transaction_api.get_varchar2_value
6635                               (p_transaction_step_id => p_transaction_step_id
6636                                   ,p_name => 'P_LAST_NAME')
6637     ,p_sex                     => hr_transaction_api.get_varchar2_value
6638                               (p_transaction_step_id => p_transaction_step_id
6639                                    ,p_name => 'P_SEX')
6640     ,p_person_type_id          => null
6641     ,p_comments                => hr_transaction_api.get_varchar2_value
6642                               (p_transaction_step_id => p_transaction_step_id
6643                                    ,p_name => 'P_PER_COMMENTS')
6644     ,p_date_employee_data_verified => hr_transaction_api.get_date_value
6645                                 (p_transaction_step_id => p_transaction_step_id
6646                                 ,p_name => 'P_DATE_EMPLOYEE_DATA_VERIFIED')
6647     ,p_date_of_birth            => hr_transaction_api.get_date_value
6648                               (p_transaction_step_id => p_transaction_step_id
6649                                    ,p_name => 'P_DATE_OF_BIRTH')
6650     ,p_email_address            => hr_transaction_api.get_varchar2_value
6651                               (p_transaction_step_id => p_transaction_step_id
6652                                    ,p_name => 'P_EMAIL_ADDRESS')
6653     ,p_expense_check_send_to_addres => hr_transaction_api.get_varchar2_value
6654                               (p_transaction_step_id => p_transaction_step_id
6655                                    ,p_name => 'P_EXPENSE_CHECK_SEND_TO_ADDRES')
6656     ,p_first_name               => hr_transaction_api.get_varchar2_value
6657                               (p_transaction_step_id => p_transaction_step_id
6658                                    ,p_name => 'P_FIRST_NAME')
6659     ,p_known_as                 => hr_transaction_api.get_varchar2_value
6660                               (p_transaction_step_id => p_transaction_step_id
6661                                     ,p_name => 'P_KNOWN_AS')
6662     ,p_marital_status           => hr_transaction_api.get_varchar2_value
6663                               (p_transaction_step_id => p_transaction_step_id
6664                                    ,p_name => 'P_MARITAL_STATUS')
6665     ,p_middle_names             => hr_transaction_api.get_varchar2_value
6666                               (p_transaction_step_id => p_transaction_step_id
6667                                    ,p_name => 'P_MIDDLE_NAMES')
6668     ,p_nationality              => hr_transaction_api.get_varchar2_value
6669                                 (p_transaction_step_id => p_transaction_step_id
6670                                 ,p_name => 'P_NATIONALITY')
6671     ,p_national_identifier      => hr_transaction_api.get_varchar2_value
6672                                 (p_transaction_step_id => p_transaction_step_id
6673                                 ,p_name => 'P_NATIONAL_IDENTIFIER')
6674     ,p_previous_last_name       => hr_transaction_api.get_varchar2_value
6675                                 (p_transaction_step_id => p_transaction_step_id
6676                                 ,p_name => 'P_PREVIOUS_LAST_NAME')
6677     ,p_registered_disabled_flag => hr_transaction_api.get_varchar2_value
6678                                 (p_transaction_step_id => p_transaction_step_id
6679                                 ,p_name => 'P_REGISTERED_DISABLED_FLAG')
6680     ,p_title                    => hr_transaction_api.get_varchar2_value
6681                                 (p_transaction_step_id => p_transaction_step_id
6682                                 ,p_name => 'P_TITLE')
6683     ,p_vendor_id                => hr_transaction_api.get_number_value
6684                                 (p_transaction_step_id => p_transaction_step_id
6685                                 ,p_name => 'P_VENDOR_ID')
6686     ,p_work_telephone           => hr_transaction_api.get_varchar2_value
6687                                 (p_transaction_step_id => p_transaction_step_id
6688                                 ,p_name => 'P_WORK_TELEPHONE')
6689     ,p_attribute_category       => hr_transaction_api.get_varchar2_value
6690                                 (p_transaction_step_id => p_transaction_step_id
6691                                 ,p_name => 'P_ATTRIBUTE_CATEGORY')
6692     ,p_attribute1               => hr_transaction_api.get_varchar2_value
6693                                 (p_transaction_step_id => p_transaction_step_id
6694                                 ,p_name => 'P_ATTRIBUTE1')
6695     ,p_attribute2               => hr_transaction_api.get_varchar2_value
6696                                 (p_transaction_step_id => p_transaction_step_id
6697                                 ,p_name => 'P_ATTRIBUTE2')
6698     ,p_attribute3               => hr_transaction_api.get_varchar2_value
6699                                 (p_transaction_step_id => p_transaction_step_id
6700                                 ,p_name => 'P_ATTRIBUTE3')
6701     ,p_attribute4               => hr_transaction_api.get_varchar2_value
6702                                 (p_transaction_step_id => p_transaction_step_id
6703                                 ,p_name => 'P_ATTRIBUTE4')
6704     ,p_attribute5               => hr_transaction_api.get_varchar2_value
6705                                 (p_transaction_step_id => p_transaction_step_id
6706                                 ,p_name => 'P_ATTRIBUTE5')
6707     ,p_attribute6               => hr_transaction_api.get_varchar2_value
6708                                 (p_transaction_step_id => p_transaction_step_id
6709                                 ,p_name => 'P_ATTRIBUTE6')
6710     ,p_attribute7               => hr_transaction_api.get_varchar2_value
6711                                 (p_transaction_step_id => p_transaction_step_id
6712                                 ,p_name => 'P_ATTRIBUTE7')
6713     ,p_attribute8               => hr_transaction_api.get_varchar2_value
6714                                 (p_transaction_step_id => p_transaction_step_id
6715                                 ,p_name => 'P_ATTRIBUTE8')
6716     ,p_attribute9               => hr_transaction_api.get_varchar2_value
6717                                 (p_transaction_step_id => p_transaction_step_id
6718                                 ,p_name => 'P_ATTRIBUTE9')
6719     ,p_attribute10              => hr_transaction_api.get_varchar2_value
6720                                 (p_transaction_step_id => p_transaction_step_id
6721                                 ,p_name => 'P_ATTRIBUTE10')
6722     ,p_attribute11              => hr_transaction_api.get_varchar2_value
6723                                 (p_transaction_step_id => p_transaction_step_id
6724                                 ,p_name => 'P_ATTRIBUTE11')
6725     ,p_attribute12              => hr_transaction_api.get_varchar2_value
6726                                 (p_transaction_step_id => p_transaction_step_id
6727                                 ,p_name => 'P_ATTRIBUTE12')
6728     ,p_attribute13              => hr_transaction_api.get_varchar2_value
6729                                 (p_transaction_step_id => p_transaction_step_id
6730                                 ,p_name => 'P_ATTRIBUTE13')
6731     ,p_attribute14              => hr_transaction_api.get_varchar2_value
6732                                 (p_transaction_step_id => p_transaction_step_id
6733                                 ,p_name => 'P_ATTRIBUTE14')
6734     ,p_attribute15              => hr_transaction_api.get_varchar2_value
6735                                 (p_transaction_step_id => p_transaction_step_id
6736                                 ,p_name => 'P_ATTRIBUTE15')
6737     ,p_attribute16              => hr_transaction_api.get_varchar2_value
6738                                 (p_transaction_step_id => p_transaction_step_id
6739                                 ,p_name => 'P_ATTRIBUTE16')
6740     ,p_attribute17              => hr_transaction_api.get_varchar2_value
6741                                 (p_transaction_step_id => p_transaction_step_id
6742                                 ,p_name => 'P_ATTRIBUTE17')
6743     ,p_attribute18              => hr_transaction_api.get_varchar2_value
6744                                 (p_transaction_step_id => p_transaction_step_id
6745                                 ,p_name => 'P_ATTRIBUTE18')
6746     ,p_attribute19              => hr_transaction_api.get_varchar2_value
6747                                 (p_transaction_step_id => p_transaction_step_id
6748                                 ,p_name => 'P_ATTRIBUTE19')
6749     ,p_attribute20              => hr_transaction_api.get_varchar2_value
6750                                 (p_transaction_step_id => p_transaction_step_id
6751                                 ,p_name => 'P_ATTRIBUTE20')
6752     ,p_attribute21              => hr_transaction_api.get_varchar2_value
6753                                 (p_transaction_step_id => p_transaction_step_id
6754                                 ,p_name => 'P_ATTRIBUTE21')
6755     ,p_attribute22              => hr_transaction_api.get_varchar2_value
6756                                 (p_transaction_step_id => p_transaction_step_id
6757                                 ,p_name => 'P_ATTRIBUTE22')
6758     ,p_attribute23              => hr_transaction_api.get_varchar2_value
6759                                 (p_transaction_step_id => p_transaction_step_id
6760                                 ,p_name => 'P_ATTRIBUTE23')
6761     ,p_attribute24              => hr_transaction_api.get_varchar2_value
6762                                 (p_transaction_step_id => p_transaction_step_id
6763                                 ,p_name => 'P_ATTRIBUTE24')
6764     ,p_attribute25              => hr_transaction_api.get_varchar2_value
6765                                 (p_transaction_step_id => p_transaction_step_id
6766                                 ,p_name => 'P_ATTRIBUTE25')
6767     ,p_attribute26              => hr_transaction_api.get_varchar2_value
6768                                 (p_transaction_step_id => p_transaction_step_id
6769                                 ,p_name => 'P_ATTRIBUTE26')
6770     ,p_attribute27              => hr_transaction_api.get_varchar2_value
6771                                 (p_transaction_step_id => p_transaction_step_id
6772                                 ,p_name => 'P_ATTRIBUTE27')
6773     ,p_attribute28              => hr_transaction_api.get_varchar2_value
6774                                 (p_transaction_step_id => p_transaction_step_id
6775                                 ,p_name => 'P_ATTRIBUTE28')
6776     ,p_attribute29              => hr_transaction_api.get_varchar2_value
6777                                 (p_transaction_step_id => p_transaction_step_id
6778                                 ,p_name => 'P_ATTRIBUTE29')
6779     ,p_attribute30              => hr_transaction_api.get_varchar2_value
6780                                 (p_transaction_step_id => p_transaction_step_id
6781                                 ,p_name => 'P_ATTRIBUTE30')
6782     ,p_per_information_category => hr_transaction_api.get_varchar2_value
6783                                 (p_transaction_step_id => p_transaction_step_id
6784                                 ,p_name => 'P_PER_INFORMATION_CATEGORY')
6785     ,p_per_information1         => hr_transaction_api.get_varchar2_value
6786                                 (p_transaction_step_id => p_transaction_step_id
6787                                 ,p_name => 'P_PER_INFORMATION1')
6788     ,p_per_information2         => hr_transaction_api.get_varchar2_value
6789                                 (p_transaction_step_id => p_transaction_step_id
6790                                 ,p_name => 'P_PER_INFORMATION2')
6791     ,p_per_information3         => hr_transaction_api.get_varchar2_value
6792                                 (p_transaction_step_id => p_transaction_step_id
6793                                 ,p_name => 'P_PER_INFORMATION3')
6794     ,p_per_information4         => hr_transaction_api.get_varchar2_value
6795                                 (p_transaction_step_id => p_transaction_step_id
6796                                 ,p_name => 'P_PER_INFORMATION4')
6797     ,p_per_information5         => hr_transaction_api.get_varchar2_value
6798                                 (p_transaction_step_id => p_transaction_step_id
6799                                 ,p_name => 'P_PER_INFORMATION5')
6800     ,p_per_information6         => hr_transaction_api.get_varchar2_value
6801                                 (p_transaction_step_id => p_transaction_step_id
6802                                 ,p_name => 'P_PER_INFORMATION6')
6803     ,p_per_information7         => hr_transaction_api.get_varchar2_value
6804                                 (p_transaction_step_id => p_transaction_step_id
6805                                 ,p_name => 'P_PER_INFORMATION7')
6806     ,p_per_information8         => hr_transaction_api.get_varchar2_value
6807                                 (p_transaction_step_id => p_transaction_step_id
6808                                 ,p_name => 'P_PER_INFORMATION8')
6809     ,p_per_information9         => hr_transaction_api.get_varchar2_value
6810                                 (p_transaction_step_id => p_transaction_step_id
6811                                 ,p_name => 'P_PER_INFORMATION9')
6812     ,p_per_information10        => hr_transaction_api.get_varchar2_value
6813                                 (p_transaction_step_id => p_transaction_step_id
6814                                 ,p_name => 'P_PER_INFORMATION10')
6815     ,p_per_information11        => hr_transaction_api.get_varchar2_value
6816                                 (p_transaction_step_id => p_transaction_step_id
6817                                 ,p_name => 'P_PER_INFORMATION11')
6818 
6819     ,p_per_information12        => hr_transaction_api.get_varchar2_value
6820                                 (p_transaction_step_id => p_transaction_step_id
6821                                 ,p_name => 'P_PER_INFORMATION12')
6822     ,p_per_information13        => hr_transaction_api.get_varchar2_value
6823                                 (p_transaction_step_id => p_transaction_step_id
6824                                 ,p_name => 'P_PER_INFORMATION13')
6825     ,p_per_information14        => hr_transaction_api.get_varchar2_value
6826                                 (p_transaction_step_id => p_transaction_step_id
6827                                 ,p_name => 'P_PER_INFORMATION14')
6828     ,p_per_information15        => hr_transaction_api.get_varchar2_value
6829                                 (p_transaction_step_id => p_transaction_step_id
6830                                 ,p_name => 'P_PER_INFORMATION15')
6831     ,p_per_information16        => hr_transaction_api.get_varchar2_value
6832                                 (p_transaction_step_id => p_transaction_step_id
6833                                 ,p_name => 'P_PER_INFORMATION16')
6834     ,p_per_information17        => hr_transaction_api.get_varchar2_value
6835                                 (p_transaction_step_id => p_transaction_step_id
6836                                 ,p_name => 'P_PER_INFORMATION17')
6837     ,p_per_information18        => hr_transaction_api.get_varchar2_value
6838                                 (p_transaction_step_id => p_transaction_step_id
6839                                 ,p_name => 'P_PER_INFORMATION18')
6840     ,p_per_information19        => hr_transaction_api.get_varchar2_value
6841                                 (p_transaction_step_id => p_transaction_step_id
6842                                 ,p_name => 'P_PER_INFORMATION19')
6843     ,p_per_information20        => hr_transaction_api.get_varchar2_value
6844                                 (p_transaction_step_id => p_transaction_step_id
6845                                 ,p_name => 'P_PER_INFORMATION20')
6846     ,p_per_information21        => hr_transaction_api.get_varchar2_value
6847                                 (p_transaction_step_id => p_transaction_step_id
6848                                 ,p_name => 'P_PER_INFORMATION21')
6849     ,p_per_information22        => hr_transaction_api.get_varchar2_value
6850                                 (p_transaction_step_id => p_transaction_step_id
6851                                 ,p_name => 'P_PER_INFORMATION22')
6852     ,p_per_information23        => hr_transaction_api.get_varchar2_value
6853                                 (p_transaction_step_id => p_transaction_step_id
6854                                 ,p_name => 'P_PER_INFORMATION23')
6855     ,p_per_information24        => hr_transaction_api.get_varchar2_value
6856                                 (p_transaction_step_id => p_transaction_step_id
6857                                 ,p_name => 'P_PER_INFORMATION24')
6858     ,p_per_information25        => hr_transaction_api.get_varchar2_value
6859                                 (p_transaction_step_id => p_transaction_step_id
6860                                 ,p_name => 'P_PER_INFORMATION25')
6861     ,p_per_information26        => hr_transaction_api.get_varchar2_value
6862                                 (p_transaction_step_id => p_transaction_step_id
6863                                 ,p_name => 'P_PER_INFORMATION26')
6864     ,p_per_information27        => hr_transaction_api.get_varchar2_value
6865                                 (p_transaction_step_id => p_transaction_step_id
6866                                 ,p_name => 'P_PER_INFORMATION27')
6867     ,p_per_information28        => hr_transaction_api.get_varchar2_value
6868                                 (p_transaction_step_id => p_transaction_step_id
6869                                 ,p_name => 'P_PER_INFORMATION28')
6870     ,p_per_information29        => hr_transaction_api.get_varchar2_value
6871                                 (p_transaction_step_id => p_transaction_step_id
6872                                 ,p_name => 'P_PER_INFORMATION29')
6873     ,p_per_information30        => hr_transaction_api.get_varchar2_value
6874                                 (p_transaction_step_id => p_transaction_step_id
6875                                 ,p_name => 'P_PER_INFORMATION30')
6876     ,p_correspondence_language  => hr_transaction_api.get_varchar2_value
6877                                 (p_transaction_step_id => p_transaction_step_id
6878                                 ,p_name => 'P_CORRESPONDENCE_LANGUAGE')
6879     ,p_honors                   => hr_transaction_api.get_varchar2_value
6880                                 (p_transaction_step_id => p_transaction_step_id
6881                                 ,p_name => 'P_HONORS')
6882     ,p_pre_name_adjunct         => hr_transaction_api.get_varchar2_value
6883                                 (p_transaction_step_id => p_transaction_step_id
6884                                 ,p_name => 'P_PRE_NAME_ADJUNCT')
6885     ,p_suffix                   => hr_transaction_api.get_varchar2_value
6886                                 (p_transaction_step_id => p_transaction_step_id
6887                                 ,p_name => 'P_SUFFIX')
6888     ,p_town_of_birth           => hr_transaction_api.get_varchar2_value
6889                                 (p_transaction_step_id => p_transaction_step_id
6890                                 ,p_name => 'P_TOWN_OF_BIRTH')
6891     ,p_region_of_birth         => hr_transaction_api.get_varchar2_value
6892                                 (p_transaction_step_id => p_transaction_step_id
6893                                 ,p_name => 'P_REGION_OF_BIRTH')
6894     ,p_country_of_birth        => hr_transaction_api.get_varchar2_value
6895                                 (p_transaction_step_id => p_transaction_step_id
6896                                 ,p_name => 'P_COUNTRY_OF_BIRTH')
6897     ,p_global_person_id        => hr_transaction_api.get_varchar2_value
6898                                 (p_transaction_step_id => p_transaction_step_id
6899                                 ,p_name => 'P_GLOBAL_PERSON_ID')
6900     ,p_person_id               => l_person_id
6901     ,p_object_version_number   => l_povn
6902     ,p_effective_start_date    => l_effective_start_Date
6903     ,p_effective_end_date      => l_effective_end_Date
6904     ,p_full_name               => l_full_name
6905     ,p_comment_id              => l_comment_id
6906     ,p_name_combination_warning=> l_name_combination_warning
6907     ,p_orig_hire_warning       => l_orig_hire_warning
6908     );
6909 
6910    /*prflvalue := fnd_profile.value('BEN_USER_TO_ORG_LINK');
6911 
6912    ben_assignment_api.create_ben_asg
6913         (p_validate                      => p_validate
6914                                      --in boolean  default false
6915          ,p_event_mode                   => false
6916          ,p_effective_date               => trunc(sysdate)
6917          ,p_person_id                    => l_person_id
6918          ,p_organization_id              =>
6919                nvl(prflvalue,hr_transaction_api.get_number_value
6920                                (p_transaction_step_id => p_transaction_step_id
6921                                ,p_name => 'P_BUSINESS_GROUP_ID'))
6922          ,p_assignment_status_type_id    => 1
6923          ,p_assignment_id                => l_assignment_id  --   out number
6924          ,p_object_version_number        => l_aovn ---   out nocopy number
6925          ,p_effective_start_date         =>
6926                                l_asg_effective_start_date   --   out date
6927          ,p_effective_end_date           => l_asg_effective_end_date  --out date
6928          ,p_assignment_extra_info_id     => l_assignment_extra_info_id
6929          ,p_aei_object_version_number    => l_aei_object_version_number
6930          );*/
6931  END IF;
6932 -- end cobra codes
6933 --
6934    l_transaction_step := to_number(wf_engine.GetItemAttrText
6935                     (itemtype   => l_item_type,
6936                      itemkey    => l_item_key,
6937                      aname      =>'USER_TRANSACTION_STEP'));
6938    if l_transaction_step is not null then
6939    hr_utility.set_location('l_transaction_step is not null then'||l_proc,105);
6940       ben_process_user_ss_api.get_user_data_from_tt(
6941            p_transaction_step_id          => l_transaction_step
6942           ,p_user_name                    => l_user_name
6943           ,p_user_pswd                    => l_user_pswd
6944           ,p_pswd_hint                    => l_pswd_hint
6945           ,p_owner                        => l_owner
6946           ,p_session_number               => l_session_number
6947           ,p_start_date                   => l_start_date
6948           ,p_end_date                     => l_end_date
6949           ,p_last_logon_date              => l_last_logon_date
6950           ,p_password_date                => l_password_date
6951           ,p_password_accesses_left       => l_password_accesses_left
6952           ,p_password_lifespan_accesses   => l_password_lifespan_accesses
6953           ,p_password_lifespan_days       => l_password_lifespan_days
6954           ,p_employee_id                  => l_employee_id
6955           ,p_email_address                => l_email_address
6956           ,p_fax                          => l_fax
6957           ,p_customer_id                  => l_customer_id
6958           ,p_supplier_id                  => l_supplier_id
6959           ,p_business_group_id            => l_business_group_id
6960           ,p_respons_id                   => l_respons_id
6961           ,p_respons_appl_id              => l_respons_appl_id
6962           );
6963 
6964       l_user_pswd := wf_engine.GetItemAttrText
6965                     (itemtype   => l_item_type,
6966                      itemkey    => l_item_key,
6967                      aname      =>'USER_ACCOUNT_INFO');
6968 
6969       wf_engine.SetItemAttrText (itemtype => l_item_type,
6970                            itemkey  => l_item_key,
6971                            aname    => 'USER_ACCOUNT_INFO',
6972                            avalue   => null);
6973       ben_process_user_ss_api.create_user_details(
6974            p_validate                     => false
6975           ,p_user_name                    => l_user_name
6976           ,p_owner                        => l_owner
6977           ,p_unencrypted_password         => trim(l_user_pswd)
6978           ,p_session_number               => l_session_number
6979           ,p_start_date                   => l_start_date
6980           ,p_end_date                     => l_end_date
6981           ,p_last_logon_date              => l_last_logon_date
6982           ,p_description                  => l_pswd_hint
6983           ,p_password_date                => l_password_date
6984           ,p_password_accesses_left       => l_password_accesses_left
6985           ,p_password_lifespan_accesses   => l_password_lifespan_accesses
6986           ,p_password_lifespan_days       => l_password_lifespan_days
6987           ,p_employee_id                  => l_person_id
6988           ,p_email_address                => l_email_address
6989           ,p_fax                          => l_fax
6990           ,p_customer_id                  => l_customer_id
6991           ,p_supplier_id                  => l_supplier_id
6992           ,p_business_group_id            => l_business_group_id
6993           ,p_responsibility_id            => l_respons_id
6994           ,p_respons_application_id       => l_respons_appl_id
6995           ,p_api_error                    => l_api_error
6996           ,p_user_id                      => l_user_id
6997           );
6998    end if;
6999 --ADDED BY VVK
7000    --code for insert end  null;
7001    g_session_id := ICX_SEC.G_SESSION_ID;
7002    g_person_id := l_person_id;
7003    g_assignment_id := l_assignment_id;
7004    g_asg_object_version_number := l_aovn;
7005 --   hr_utility.set_location('Venkat g_person_id =' || g_person_id, 8888);
7006 ---End Registration
7007   END IF;
7008 
7009   fnd_profile.put('PER_PERSON_ID', l_person_id);
7010   fnd_profile.put('PER_BUSINESS_GROUP_ID', l_business_grp_Id);
7011 
7012 --
7013 --
7014   IF l_assign_payroll_warning THEN
7015      -- ------------------------------------------------------------
7016      -- The assign payroll warning has been set so we must set the
7017      -- error so we can retrieve the text using fnd_message.get
7018      -- -------------------------------------------------------------
7019      -- as of now, 09/07/00, we don't know how to handle warnings yet. So, we
7020      -- just don't do anything.
7021      null;
7022   END IF;
7023 --
7024 --
7025   IF p_validate = true THEN
7026    hr_utility.set_location('p_validate = true THEN'||l_proc,115);
7027      ROLLBACK TO process_basic_details;
7028   END IF;
7029 --
7030 --
7031 EXCEPTION
7032   WHEN hr_utility.hr_error THEN
7033     -- -----------------------------------------------------------------
7034     -- An application error has been raised by the API so we must set
7035     -- the error.
7036     -- -----------------------------------------------------------------
7037         hr_utility.set_location('Exception:hr_utility.hr_error THEN'||l_proc,555);
7038         ROLLBACK TO process_basic_details;
7039         RAISE;
7040 
7041 END process_api;
7042 --
7043 ---Start Registration
7044 ----------------------------------------------------********************-
7045 ---Create Person Added by VVK
7046 ------------------------------------------------------------------------------
7047 procedure create_person
7048   (p_item_type                     in varchar2
7049   ,p_item_key                      in varchar2
7050   ,p_actid                         in number
7051   ,p_login_person_id               in number
7052   ,p_process_section_name          in varchar2
7053   ,p_action_type                   in varchar2
7054   ,p_validate                      in varchar2 default 'Y'  --boolean default  false
7055   ,p_hire_date                     in     date
7056   ,p_business_group_id             in     number
7057   ,p_last_name                     in     varchar2
7058   ,p_sex                           in     varchar2
7059   ,p_review_page_region_code       in varchar2 default hr_api.g_varchar2
7060   ,p_person_type_id                in     number   default null
7061   ,p_per_comments                  in     varchar2 default null
7062   ,p_date_employee_data_verified   in     date     default null
7063   ,p_date_of_birth                 in     date     default null
7064   ,p_email_address                 in     varchar2 default null
7065   ,p_employee_number               in out nocopy varchar2
7066   ,p_npw_number                    in out nocopy varchar2
7067   ,p_expense_check_send_to_addres  in     varchar2 default null
7068   ,p_first_name                    in     varchar2 default null
7069   ,p_known_as                      in     varchar2 default null
7070   ,p_marital_status                in     varchar2 default null
7071   ,p_middle_names                  in     varchar2 default null
7072   ,p_nationality                   in     varchar2 default null
7073   ,p_national_identifier           in     varchar2 default null
7074   ,p_previous_last_name            in     varchar2 default null
7075   ,p_registered_disabled_flag      in     varchar2 default null
7076   ,p_title                         in     varchar2 default null
7077   ,p_vendor_id                     in     number   default null
7078   ,p_work_telephone                in     varchar2 default null
7079   ,p_attribute_category            in     varchar2 default null
7080   ,p_attribute1                    in     varchar2 default null
7081   ,p_attribute2                    in     varchar2 default null
7082   ,p_attribute3                    in     varchar2 default null
7083   ,p_attribute4                    in     varchar2 default null
7084   ,p_attribute5                    in     varchar2 default null
7085   ,p_attribute6                    in     varchar2 default null
7086   ,p_attribute7                    in     varchar2 default null
7087   ,p_attribute8                    in     varchar2 default null
7088   ,p_attribute9                    in     varchar2 default null
7089   ,p_attribute10                   in     varchar2 default null
7090   ,p_attribute11                   in     varchar2 default null
7091   ,p_attribute12                   in     varchar2 default null
7092   ,p_attribute13                   in     varchar2 default null
7093   ,p_attribute14                   in     varchar2 default null
7094   ,p_attribute15                   in     varchar2 default null
7095   ,p_attribute16                   in     varchar2 default null
7096   ,p_attribute17                   in     varchar2 default null
7097   ,p_attribute18                   in     varchar2 default null
7098   ,p_attribute19                   in     varchar2 default null
7099   ,p_attribute20                   in     varchar2 default null
7100   ,p_attribute21                   in     varchar2 default null
7101   ,p_attribute22                   in     varchar2 default null
7102   ,p_attribute23                   in     varchar2 default null
7103   ,p_attribute24                   in     varchar2 default null
7104   ,p_attribute25                   in     varchar2 default null
7105   ,p_attribute26                   in     varchar2 default null
7106   ,p_attribute27                   in     varchar2 default null
7107   ,p_attribute28                   in     varchar2 default null
7108   ,p_attribute29                   in     varchar2 default null
7109   ,p_attribute30                   in     varchar2 default null
7110   ,p_per_information_category      in     varchar2 default null
7111   ,p_per_information1              in     varchar2 default null
7112   ,p_per_information2              in     varchar2 default null
7113   ,p_per_information3              in     varchar2 default null
7114   ,p_per_information4              in     varchar2 default null
7115   ,p_per_information5              in     varchar2 default null
7116   ,p_per_information6              in     varchar2 default null
7117   ,p_per_information7              in     varchar2 default null
7118   ,p_per_information8              in     varchar2 default null
7119   ,p_per_information9              in     varchar2 default null
7120   ,p_per_information10             in     varchar2 default null
7121   ,p_per_information11             in     varchar2 default null
7122   ,p_per_information12             in     varchar2 default null
7123   ,p_per_information13             in     varchar2 default null
7124   ,p_per_information14             in     varchar2 default null
7125   ,p_per_information15             in     varchar2 default null
7126   ,p_per_information16             in     varchar2 default null
7127   ,p_per_information17             in     varchar2 default null
7128   ,p_per_information18             in     varchar2 default null
7129   ,p_per_information19             in     varchar2 default null
7130   ,p_per_information20             in     varchar2 default null
7131   ,p_per_information21             in     varchar2 default null
7132   ,p_per_information22             in     varchar2 default null
7133   ,p_per_information23             in     varchar2 default null
7134   ,p_per_information24             in     varchar2 default null
7135   ,p_per_information25             in     varchar2 default null
7136   ,p_per_information26             in     varchar2 default null
7137   ,p_per_information27             in     varchar2 default null
7138   ,p_per_information28             in     varchar2 default null
7139   ,p_per_information29             in     varchar2 default null
7140   ,p_per_information30             in     varchar2 default null
7141   ,p_date_of_death                 in     date     default null
7142   ,p_background_check_status       in     varchar2 default null
7143   ,p_background_date_check         in     date     default null
7144   ,p_blood_type                    in     varchar2 default null
7145   ,p_correspondence_language       in     varchar2 default null
7146   ,p_fast_path_employee            in     varchar2 default null
7147   ,p_fte_capacity                  in     number   default null
7148   ,p_honors                        in     varchar2 default null
7149   ,p_internal_location             in     varchar2 default null
7150   ,p_last_medical_test_by          in     varchar2 default null
7151   ,p_last_medical_test_date        in     date     default null
7152   ,p_mailstop                      in     varchar2 default null
7153   ,p_office_number                 in     varchar2 default null
7154   ,p_on_military_service           in     varchar2 default null
7155   ,p_pre_name_adjunct              in     varchar2 default null
7156   ,p_projected_start_date          in     date     default null
7157   ,p_resume_exists                 in     varchar2 default null
7158   ,p_resume_last_updated           in     date     default null
7159   ,p_second_passport_exists        in     varchar2 default null
7160   ,p_student_status                in     varchar2 default null
7161   ,p_work_schedule                 in     varchar2 default null
7162   ,p_suffix                        in     varchar2 default null
7163   ,p_benefit_group_id              in     number   default null
7164   ,p_receipt_of_death_cert_date    in     date     default null
7165   ,p_coord_ben_med_pln_no          in     varchar2 default null
7166   ,p_coord_ben_no_cvg_flag         in     varchar2 default 'N'
7167   ,p_uses_tobacco_flag             in     varchar2 default null
7168   ,p_dpdnt_adoption_date           in     date     default null
7169   ,p_dpdnt_vlntry_svce_flag        in     varchar2 default 'N'
7170   ,p_original_date_of_hire         in     date     default null
7171   ,p_adjusted_svc_date             in     date     default null
7172   ,p_town_of_birth                in      varchar2 default null
7173   ,p_region_of_birth              in      varchar2 default null
7174   ,p_country_of_birth             in      varchar2 default null
7175   ,p_global_person_id             in      varchar2 default null
7176   ,p_effective_date               in      date default sysdate
7177   ,p_attribute_update_mode        in      varchar2 default null
7178   ,p_object_version_number        in      number default null
7179   ,p_applicant_number             in      varchar2 default null
7180   ,p_comments                     in      varchar2 default null
7181   ,p_rehire_authorizor            in      varchar2 default null
7182   ,p_rehire_recommendation        in      varchar2 default null
7183   ,p_hold_applicant_date_until    in      date     default null
7184   ,p_rehire_reason                in      varchar2 default null
7185   -- start cobra codes
7186   ,p_flow_name                    in      varchar2 default null
7187   -- end cobra codes
7188   ,p_person_id                        out nocopy number
7189   ,p_assignment_id                    out nocopy number
7190   ,p_per_object_version_number        out nocopy number
7191   ,p_asg_object_version_number        out nocopy number
7192   ,p_per_effective_start_date         out nocopy date
7193   ,p_per_effective_end_date           out nocopy date
7194   ,p_full_name                        out nocopy varchar2
7195   ,p_per_comment_id                   out nocopy number
7196   ,p_assignment_sequence              out nocopy number
7197   ,p_assignment_number                out nocopy varchar2
7198   ,p_name_combination_warning         out nocopy varchar2    ---boolean
7199   ,p_assign_payroll_warning           out nocopy varchar2    ---boolean
7200   ,p_orig_hire_warning                out nocopy varchar2    ---boolean
7201   ,p_party_id                     in      number default null
7202   ,p_save_mode                    in      varchar2 default null
7203   ,p_error_message                out nocopy     long
7204   ,p_ni_duplicate_warn_or_err     in out nocopy varchar2
7205   ,p_validate_ni                  in out nocopy varchar2
7206   ) IS
7207 
7208   CURSOR  get_wf_actid (c_activity_name  in varchar2) IS
7209   SELECT  distinct wfias.activity_id
7210   FROM    wf_item_activity_statuses_v  wfias
7211   WHERE   wfias.item_type = p_item_type
7212   and     wfias.item_key  = p_item_key
7213   and     wfias.activity_name = c_activity_name;
7214 
7215 ------
7216   l_transaction_id             number default null;
7217   l_transaction_step_id        number default null;
7218   l_trans_obj_vers_num         number default null;
7219   l_count                      integer default 0;
7220   l_transaction_table hr_transaction_ss.transaction_table;
7221   l_review_item_name  varchar2(250);
7222   --
7223   l_full_name_duplicate_flag      varchar2(1) default null;
7224   l_result                  varchar2(50);
7225   l_per_ovn                           number default null;
7226   l_pdp_ovn                           number default null;
7227   -- bug# 2693580 : changing l_employee_number from number to varchar2
7228   l_employee_number         per_all_people_f.employee_number%type default null;
7229   l_npw_number              per_all_people_f.npw_number%type default null;
7230   l_asg_ovn                           number default null;
7231   l_full_name                     per_all_people_f.full_name%type default null;
7232   l_person_id                    number;
7233   l_assignment_id                number;
7234   l_per_effective_start_date    date;
7235   l_asg_effective_end_date      date;
7236   l_asg_effective_start_date    date;
7237   l_per_effective_end_date      date;
7238   l_per_comment_id                number;
7239   l_assignment_sequence           number;
7240   l_assignment_number             varchar2(50);
7241   l_name_combination_warning      boolean;
7242   l_assign_payroll_warning        boolean;
7243   l_orig_hire_warning             boolean;
7244   l_parent_id         number;
7245   l_dummy_num  number;
7246   l_dummy_date date;
7247   l_dummy_char varchar2(1000);
7248   l_dummy_bool boolean;
7249   l_validate boolean;
7250   l_vendor_id                     number default null;
7251   l_benefit_group_id              number default null;
7252   l_fte_capacity                  number default null;
7253   l_person_type_id                number default null;
7254   l_sys_person_type  per_person_types.system_person_type%type;
7255   -- start cobra codes
7256   l_assignment_extra_info_id      number;
7257   l_aei_object_version_number     number;
7258   prflvalue                          varchar2(2000) default null;
7259   l_dup_name          VARCHAR2(1);
7260  -- end cobra codes
7261 ----
7262   l_appl_assignment_id number;
7263   l_trans_step_ids       hr_util_web.g_varchar2_tab_type;
7264   l_api_names            hr_util_web.g_varchar2_tab_type;
7265   l_trans_step_rows                  NUMBER  ;
7266   l_proc   varchar2(72)  := g_package||'create_person';
7267   l_comments varchar2(100) := hr_api.g_varchar2;
7268 
7269 Begin
7270 
7271      hr_multi_message.enable_message_list;
7272 
7273     SAVEPOINT create_person_ben_ss;
7274     --
7275 
7276    hr_utility.set_location('Entering:'||l_proc, 5);
7277    IF p_validate = 'N' OR p_validate IS NULL
7278    THEN
7279 
7280       hr_utility.set_location('p_validate=N OR p_validate IS NULL:'||l_proc,10);
7281       l_validate := false;
7282    ELSE
7283       hr_utility.set_location('p_validate=Y AND p_validate!= NULL:'||l_proc,15);
7284       l_validate := true;
7285    END IF;
7286 ---------
7287 -- Java caller will set p_vendor_id, p_benefit_group_id and p_fte_capacity to
7288 -- hr_api.g_number value.  We need to set these back to null before saving to
7289 -- transaction table.
7290 
7291    IF p_vendor_id = 0
7292    THEN
7293       hr_utility.set_location('p_vendor_id = 0:'||l_proc,20);
7294       l_vendor_id := null;
7295    ELSE
7296       hr_utility.set_location('p_vendor_id != 0:'||l_proc,25);
7297       l_vendor_id := p_vendor_id;
7298    END IF;
7299 --
7300    IF p_benefit_group_id = 0
7301    THEN
7302       hr_utility.set_location('p_benefit_group_id = 0:'||l_proc,30);
7303       l_benefit_group_id := null;
7304    ELSE
7305       hr_utility.set_location('p_benefit_group_id != 0:'||l_proc,35);
7306       l_benefit_group_id := p_benefit_group_id;
7307    END IF;
7308 --
7309    IF p_fte_capacity = 0
7310    THEN
7311       hr_utility.set_location('p_fte_capacity = 0:'||l_proc,40);
7312       l_fte_capacity := null;
7313    ELSE
7314       hr_utility.set_location('p_fte_capacity != 0:'||l_proc,45);
7315       l_fte_capacity := p_fte_capacity;
7316    END IF;
7317 ----
7318    IF p_person_type_id = 0
7319    THEN
7320       hr_utility.set_location('p_person_type_id = 0:'||l_proc,50);
7321       l_person_type_id := null;
7322    ELSE
7323       hr_utility.set_location('p_person_type_id != 0:'||l_proc,55);
7324       l_person_type_id := p_person_type_id;
7325    END IF;
7326 
7327    l_employee_number := p_employee_number;
7328    l_npw_number := p_npw_number;
7329 
7330 -- Save for later changes.
7331    IF (p_save_mode = 'SAVE_FOR_LATER') THEN
7332        hr_utility.set_location('if SFL,GOTO to create only Txn '||l_proc,60);
7333        GOTO create_only_transaction;
7334    END IF;
7335 
7336 
7337 -- get the assignment_id from workflow for the applicant
7338    l_appl_assignment_id := wf_engine.getItemAttrText(
7339     itemtype  => p_item_type,
7340     itemkey   => p_item_key,
7341     aname     => 'CURRENT_ASSIGNMENT_ID');
7342 
7343 -----------
7344  -- start cobra codes
7345 --bug# 2174876
7346 --  IF p_flow_name is null THEN
7347  IF p_flow_name = 'Insert' THEN
7348 -- end cobra codes
7349 
7350  if(p_ni_duplicate_warn_or_err <> 'IGNORE') then
7351   hr_person_info_util_ss.check_ni_unique(
7352      p_national_identifier => p_national_identifier
7353     ,p_business_group_id => p_business_group_id
7354     ,p_person_id => p_person_id
7355     ,p_ni_duplicate_warn_or_err => p_ni_duplicate_warn_or_err);
7356     hr_utility.set_location('p_ni_duplicate_warn_or_err!=IGNORE'||l_proc,65);
7357  end if;
7358 
7359  if(p_validate_ni <> 'IGNORE') then
7360   hr_person_info_util_ss.validate_national_identifier(
7361      p_national_identifier => p_national_identifier
7362     ,p_birth_date => p_date_of_birth
7363     ,p_gender => p_sex
7364     ,p_person_id => p_person_id
7365     ,p_business_group_id => p_business_group_id
7366     ,p_legislation_code => p_per_information_category
7367     ,p_effective_date => p_effective_date
7368     ,p_warning => p_validate_ni);
7369     hr_utility.set_location('p_validate_ni!=IGNORE'||l_proc,70);
7370  end if;
7371 
7372    open gc_get_sys_person_type(l_person_type_id);
7373    fetch gc_get_sys_person_type into l_sys_person_type;
7374    close gc_get_sys_person_type;
7375 
7376    if (l_sys_person_type = 'CWK') then
7377      hr_utility.set_location('l_sys_person_type=CWK'||l_proc,75);
7378      hr_contingent_worker_api.create_cwk
7379        (p_validate                => l_validate
7380        ,p_start_date              => p_hire_date
7381        ,p_business_group_id       => p_business_group_id
7382        ,p_last_name               => p_last_name
7383        ,p_person_type_id          => l_person_type_id
7384        ,p_npw_number              => l_npw_number
7385        ,p_background_check_status => p_background_check_status
7386        ,p_background_date_check   => p_background_date_check
7387        ,p_blood_type              => p_blood_type
7388        ,p_comments                => p_per_comments
7389        ,p_correspondence_language => p_correspondence_language
7390        ,p_country_of_birth        => p_country_of_birth
7391        ,p_date_of_birth           => p_date_of_birth
7392        ,p_date_of_death           => p_date_of_death
7393        ,p_dpdnt_adoption_date     => p_dpdnt_adoption_date
7394        ,p_dpdnt_vlntry_svce_flag  => p_dpdnt_vlntry_svce_flag
7395        ,p_email_address           => p_email_address
7396        ,p_first_name              => p_first_name
7397        ,p_fte_capacity            => l_fte_capacity
7398        ,p_honors                  => p_honors
7399        ,p_internal_location       => p_internal_location
7400        ,p_known_as                => p_known_as
7401        ,p_last_medical_test_by    => p_last_medical_test_by
7402        ,p_last_medical_test_date  => p_last_medical_test_date
7403        ,p_mailstop                => p_mailstop
7404        ,p_marital_status          => p_marital_status
7405        ,p_middle_names            => p_middle_names
7406        ,p_national_identifier     => p_national_identifier
7407        ,p_nationality             => p_nationality
7408        ,p_office_number           => p_office_number
7409        ,p_on_military_service     => p_on_military_service
7410        ,p_party_id                => p_party_id
7411        ,p_pre_name_adjunct        => p_pre_name_adjunct
7412        ,p_previous_last_name      => p_previous_last_name
7413        --,p_projected_placement_end =>
7414        ,p_receipt_of_death_cert_date => p_receipt_of_death_cert_date
7415        ,p_region_of_birth         => p_region_of_birth
7416        ,p_registered_disabled_flag => p_registered_disabled_flag
7417        ,p_resume_exists            => p_resume_exists
7418        ,p_resume_last_updated      => p_resume_last_updated
7419        ,p_second_passport_exists   => p_second_passport_exists
7420        ,p_sex                      => p_sex
7421        ,p_student_status           => p_student_status
7422        ,p_suffix                   => p_suffix
7423        ,p_title                    => p_title
7424        ,p_town_of_birth            => p_town_of_birth
7425        ,p_uses_tobacco_flag        => p_uses_tobacco_flag
7426        ,p_vendor_id                => l_vendor_id
7427        ,p_work_schedule            => p_work_schedule
7428        ,p_work_telephone           => p_work_telephone
7429        --,p_exp_check_send_to_address =>
7430        --,p_hold_applicant_date_until =>
7431        ,p_date_employee_data_verified => p_date_employee_data_verified
7432        ,p_benefit_group_id          => l_benefit_group_id
7433        ,p_coord_ben_med_pln_no      => p_coord_ben_med_pln_no
7434        ,p_coord_ben_no_cvg_flag     => p_coord_ben_no_cvg_flag
7435        ,p_original_date_of_hire     => p_original_date_of_hire
7436        ,p_attribute_category        => p_attribute_category
7437        ,p_attribute1                => p_attribute1
7438        ,p_attribute2                => p_attribute2
7439        ,p_attribute3                => p_attribute3
7440        ,p_attribute4                => p_attribute4
7441        ,p_attribute5                => p_attribute5
7442        ,p_attribute6                => p_attribute6
7443        ,p_attribute7                => p_attribute7
7444        ,p_attribute8                => p_attribute8
7445        ,p_attribute9                => p_attribute9
7446        ,p_attribute10               => p_attribute10
7447        ,p_attribute11               => p_attribute11
7448        ,p_attribute12               => p_attribute12
7449        ,p_attribute13               => p_attribute13
7450        ,p_attribute14               => p_attribute14
7451        ,p_attribute15               => p_attribute15
7452        ,p_attribute16               => p_attribute16
7453        ,p_attribute17               => p_attribute17
7454        ,p_attribute18               => p_attribute18
7455        ,p_attribute19               => p_attribute19
7456        ,p_attribute20               => p_attribute20
7457        ,p_attribute21               => p_attribute21
7458        ,p_attribute22               => p_attribute22
7459        ,p_attribute23               => p_attribute23
7460        ,p_attribute24               => p_attribute24
7461        ,p_attribute25               => p_attribute25
7462        ,p_attribute26               => p_attribute26
7463        ,p_attribute27               => p_attribute27
7464        ,p_attribute28               => p_attribute28
7465        ,p_attribute29               => p_attribute29
7466        ,p_attribute30               => p_attribute30
7467        ,p_per_information_category => p_per_information_category
7468        ,p_per_information1         => p_per_information1
7469        ,p_per_information2         => p_per_information2
7470        ,p_per_information3         => p_per_information3
7471        ,p_per_information4         => p_per_information4
7472        ,p_per_information5         => p_per_information5
7473        ,p_per_information6         => p_per_information6
7474        ,p_per_information7         => p_per_information7
7475        ,p_per_information8         => p_per_information8
7476        ,p_per_information9         => p_per_information9
7477        ,p_per_information10        => p_per_information10
7478        ,p_per_information11        => p_per_information11
7479        ,p_per_information12        => p_per_information12
7480        ,p_per_information13        => p_per_information13
7481        ,p_per_information14        => p_per_information14
7482        ,p_per_information15        => p_per_information15
7483        ,p_per_information16        => p_per_information16
7484        ,p_per_information17        => p_per_information17
7485        ,p_per_information18        => p_per_information18
7486        ,p_per_information19        => p_per_information19
7487        ,p_per_information20        => p_per_information20
7488        ,p_per_information21        => p_per_information21
7489        ,p_per_information22        => p_per_information22
7490        ,p_per_information23        => p_per_information23
7491        ,p_per_information24        => p_per_information24
7492        ,p_per_information25        => p_per_information25
7493        ,p_per_information26        => p_per_information26
7494        ,p_per_information27        => p_per_information27
7495        ,p_per_information28        => p_per_information28
7496        ,p_per_information29        => p_per_information29
7497        ,p_per_information30        => p_per_information30
7498        ,p_person_id                => l_person_id
7499        ,p_per_object_version_number => l_per_ovn
7500        ,p_per_effective_start_date  => l_per_effective_start_date
7501        ,p_per_effective_end_date    => l_per_effective_end_date
7502        ,p_pdp_object_version_number => l_pdp_ovn
7503        ,p_full_name                 => l_full_name
7504        ,p_comment_id                => l_per_comment_id
7505        ,p_assignment_id             => l_assignment_id
7506        ,p_asg_object_version_number => l_asg_ovn
7507        ,p_assignment_sequence       => l_assignment_sequence
7508        ,p_assignment_number         => l_assignment_number
7509        ,p_name_combination_warning  => l_name_combination_warning
7510        );
7511    else
7512      hr_utility.set_location('l_sys_person_type!=CWK'||l_proc,80);
7513      hr_employee_api.create_employee
7514        (p_validate                      => l_validate
7515                         --in     boolean  default false
7516         ,p_hire_date                     => p_hire_date
7517         ,p_business_group_id             => p_business_group_id
7518         ,p_last_name                     => p_last_name
7519         ,p_sex                           => p_sex
7520         ,p_person_type_id                => l_person_type_id
7521         ,p_per_comments                  => p_per_comments
7522         ,p_date_employee_data_verified   => p_date_employee_data_verified
7523         ,p_date_of_birth                 => p_date_of_birth
7524         ,p_email_address                 => p_email_address
7525         ,p_employee_number               => l_employee_number
7526                         --in out nocopy varchar2
7527         ,p_expense_check_send_to_addres  => p_expense_check_send_to_addres
7528         ,p_first_name                    => p_first_name
7529         ,p_known_as                      => p_known_as
7530         ,p_marital_status                => p_marital_status
7531         ,p_middle_names                  => p_middle_names
7532         ,p_nationality                   => p_nationality
7533         ,p_national_identifier           => p_national_identifier
7534         ,p_previous_last_name            => p_previous_last_name
7535         ,p_registered_disabled_flag      => p_registered_disabled_flag
7536         ,p_title                         => p_title
7537         ,p_vendor_id                     => l_vendor_id
7538         ,p_work_telephone                => p_work_telephone
7539         ,p_attribute_category            => p_attribute_category
7540         ,p_attribute1                   => p_attribute1
7541         ,p_attribute2                   => p_attribute2
7542         ,p_attribute3                   => p_attribute3
7543         ,p_attribute4                   => p_attribute4
7544         ,p_attribute5                   => p_attribute5
7545         ,p_attribute6                   => p_attribute6
7546         ,p_attribute7                   => p_attribute7
7547         ,p_attribute8                   => p_attribute8
7548         ,p_attribute9                   => p_attribute9
7549         ,p_attribute10                  => p_attribute10
7550         ,p_attribute11                  => p_attribute11
7551         ,p_attribute12                  => p_attribute12
7552         ,p_attribute13                  => p_attribute13
7553         ,p_attribute14                  => p_attribute14
7554         ,p_attribute15                  => p_attribute15
7555         ,p_attribute16                  => p_attribute16
7556         ,p_attribute17                  => p_attribute17
7557         ,p_attribute18                  => p_attribute18
7558         ,p_attribute19                  => p_attribute19
7559         ,p_attribute20                  => p_attribute20
7560         ,p_attribute21                  => p_attribute21
7561         ,p_attribute22                  => p_attribute22
7562         ,p_attribute23                  => p_attribute23
7563         ,p_attribute24                  => p_attribute24
7564         ,p_attribute25                  => p_attribute25
7565         ,p_attribute26                  => p_attribute26
7566         ,p_attribute27                  => p_attribute27
7567         ,p_attribute28                  => p_attribute28
7568         ,p_attribute29                  => p_attribute29
7569         ,p_attribute30                  => p_attribute30
7570         ,p_per_information_category      => p_per_information_category
7571         ,p_per_information1              => p_per_information1
7572         ,p_per_information2              => p_per_information2
7573         ,p_per_information3              => p_per_information3
7574         ,p_per_information4              => p_per_information4
7575         ,p_per_information5              => p_per_information5
7576         ,p_per_information6              => p_per_information6
7577         ,p_per_information7              => p_per_information7
7578         ,p_per_information8              => p_per_information8
7579         ,p_per_information9              => p_per_information9
7580         ,p_per_information10             => p_per_information10
7581         ,p_per_information11             => p_per_information11
7582         ,p_per_information12             => p_per_information12
7583         ,p_per_information13             => p_per_information13
7584         ,p_per_information14             => p_per_information14
7585         ,p_per_information15             => p_per_information15
7586         ,p_per_information16             => p_per_information16
7587         ,p_per_information17             => p_per_information17
7588         ,p_per_information18             => p_per_information18
7589         ,p_per_information19             => p_per_information19
7590         ,p_per_information20             => p_per_information20
7591         ,p_per_information21             => p_per_information21
7592         ,p_per_information22             => p_per_information22
7593         ,p_per_information23             => p_per_information23
7594         ,p_per_information24             => p_per_information24
7595         ,p_per_information25             => p_per_information25
7596         ,p_per_information26             => p_per_information26
7597         ,p_per_information27             => p_per_information27
7598         ,p_per_information28             => p_per_information28
7599         ,p_per_information29             => p_per_information29
7600         ,p_per_information30             => p_per_information30
7601         ,p_date_of_death                 => p_date_of_death
7602         ,p_background_check_status       => p_background_check_status
7603         ,p_background_date_check         => p_background_date_check
7604         ,p_blood_type                    => p_blood_type
7605         ,p_correspondence_language       => p_correspondence_language
7606         ,p_fast_path_employee            => p_fast_path_employee
7607         ,p_fte_capacity                  => l_fte_capacity
7608        ,p_honors                        => p_honors
7609        ,p_internal_location             => p_internal_location
7610        ,p_last_medical_test_by          => p_last_medical_test_by
7611        ,p_last_medical_test_date        => p_last_medical_test_date
7612        ,p_mailstop                      => p_mailstop
7613        ,p_office_number                 => p_office_number
7614        ,p_on_military_service           => p_on_military_service
7615        ,p_pre_name_adjunct              => p_pre_name_adjunct
7616        ,p_projected_start_date          => p_projected_start_date
7617        ,p_resume_exists                 => p_resume_exists
7618        ,p_resume_last_updated           => p_resume_last_updated
7619        ,p_second_passport_exists        => p_second_passport_exists
7620        ,p_student_status                => p_student_status
7621        ,p_work_schedule                 => p_work_schedule
7622        ,p_suffix                        => p_suffix
7623        ,p_benefit_group_id              => l_benefit_group_id
7624        ,p_receipt_of_death_cert_date    => p_receipt_of_death_cert_date
7625        ,p_coord_ben_med_pln_no          => p_coord_ben_med_pln_no
7626        ,p_coord_ben_no_cvg_flag         => p_coord_ben_no_cvg_flag
7627        ,p_uses_tobacco_flag             => p_uses_tobacco_flag
7628        ,p_dpdnt_adoption_date           => p_dpdnt_adoption_date
7629        ,p_dpdnt_vlntry_svce_flag        => p_dpdnt_vlntry_svce_flag
7630        ,p_original_date_of_hire         => p_original_date_of_hire
7631        ,p_adjusted_svc_date             => p_adjusted_svc_date
7632        ,p_town_of_birth                 => p_town_of_birth
7633        ,p_region_of_birth               => p_region_of_birth
7634        ,p_country_of_birth              => p_country_of_birth
7635        ,p_global_person_id              => p_global_person_id
7636        ,p_party_id                      => p_party_id
7637        ,p_person_id                     => l_person_id  --   out number
7638        ,p_assignment_id                 => l_assignment_id  --   out number
7639        ,p_per_object_version_number     => l_per_ovn ---   out nocopy number
7640        ,p_asg_object_version_number     => l_asg_ovn  ---   out nocopy number
7641        ,p_per_effective_start_date      => l_per_effective_start_date --out date
7642        ,p_per_effective_end_date        => l_per_effective_end_date --out date
7643        ,p_full_name                     => l_full_name   ---out nocopy varchar2
7644        ,p_per_comment_id                => l_per_comment_id ---out nocopy number
7645        ,p_assignment_sequence           => l_assignment_sequence --out number
7646        ,p_assignment_number             => l_assignment_number --out varchar2
7647        ,p_name_combination_warning      => l_name_combination_warning
7648                                            --out boolean
7649        ,p_assign_payroll_warning        => l_assign_payroll_warning
7650                                            --   out boolean
7651        ,p_orig_hire_warning             => l_orig_hire_warning  --  out boolean
7652    );
7653    end if;
7654   --
7655    --
7656  -- start cobra codes
7657  ELSIF p_flow_name = 'Cobra' THEN
7658      hr_utility.set_location('p_flow_name=Cobra'||l_proc,85);
7659    hr_contact_api.create_person
7660         (p_validate                      => false  --in boolean  default false
7661         ,p_start_date                    => sysdate
7662         ,p_business_group_id             => p_business_group_id
7663         ,p_last_name                     => p_last_name
7664         ,p_sex                           => p_sex
7665         ,p_person_type_id                => null
7666         ,p_comments                      => p_per_comments
7667         ,p_date_employee_data_verified   => p_date_employee_data_verified
7668         ,p_date_of_birth                 => p_date_of_birth
7669         ,p_email_address                 => p_email_address
7670         ,p_expense_check_send_to_addres  => p_expense_check_send_to_addres
7671         ,p_first_name                    => p_first_name
7672         ,p_known_as                      => p_known_as
7673         ,p_marital_status                => p_marital_status
7674         ,p_middle_names                  => p_middle_names
7675         ,p_nationality                   => p_nationality
7676         ,p_national_identifier           => p_national_identifier
7677         ,p_previous_last_name            => p_previous_last_name
7678         ,p_registered_disabled_flag      => p_registered_disabled_flag
7679         ,p_title                         => p_title
7680         ,p_vendor_id                     => l_vendor_id
7681         ,p_work_telephone                => p_work_telephone
7682         ,p_attribute_category            => p_attribute_category
7683         ,p_attribute1                   => p_attribute1
7684         ,p_attribute2                   => p_attribute2
7685         ,p_attribute3                   => p_attribute3
7686         ,p_attribute4                   => p_attribute4
7687         ,p_attribute5                   => p_attribute5
7688         ,p_attribute6                   => p_attribute6
7689         ,p_attribute7                   => p_attribute7
7690         ,p_attribute8                   => p_attribute8
7691         ,p_attribute9                   => p_attribute9
7692         ,p_attribute10                  => p_attribute10
7693         ,p_attribute11                  => p_attribute11
7694         ,p_attribute12                  => p_attribute12
7695         ,p_attribute13                  => p_attribute13
7696         ,p_attribute14                  => p_attribute14
7697         ,p_attribute15                  => p_attribute15
7698         ,p_attribute16                  => p_attribute16
7699         ,p_attribute17                  => p_attribute17
7700         ,p_attribute18                  => p_attribute18
7701         ,p_attribute19                  => p_attribute19
7702         ,p_attribute20                  => p_attribute20
7703         ,p_attribute21                  => p_attribute21
7704         ,p_attribute22                  => p_attribute22
7705         ,p_attribute23                  => p_attribute23
7706         ,p_attribute24                  => p_attribute24
7707         ,p_attribute25                  => p_attribute25
7708         ,p_attribute26                  => p_attribute26
7709         ,p_attribute27                  => p_attribute27
7710         ,p_attribute28                  => p_attribute28
7711         ,p_attribute29                  => p_attribute29
7712         ,p_attribute30                  => p_attribute30
7713         ,p_per_information_category      => p_per_information_category
7714         ,p_per_information1              => p_per_information1
7715         ,p_per_information2              => p_per_information2
7716         ,p_per_information3              => p_per_information3
7717         ,p_per_information4              => p_per_information4
7718         ,p_per_information5              => p_per_information5
7719         ,p_per_information6              => p_per_information6
7720         ,p_per_information7              => p_per_information7
7721         ,p_per_information8              => p_per_information8
7722         ,p_per_information9              => p_per_information9
7723         ,p_per_information10             => p_per_information10
7724         ,p_per_information11             => p_per_information11
7725         ,p_per_information12             => p_per_information12
7726         ,p_per_information13             => p_per_information13
7727         ,p_per_information14             => p_per_information14
7728         ,p_per_information15             => p_per_information15
7729         ,p_per_information16             => p_per_information16
7730         ,p_per_information17             => p_per_information17
7731         ,p_per_information18             => p_per_information18
7732         ,p_per_information19             => p_per_information19
7733         ,p_per_information20             => p_per_information20
7734         ,p_per_information21             => p_per_information21
7735         ,p_per_information22             => p_per_information22
7736         ,p_per_information23             => p_per_information23
7737         ,p_per_information24             => p_per_information24
7738         ,p_per_information25             => p_per_information25
7739         ,p_per_information26             => p_per_information26
7740         ,p_per_information27             => p_per_information27
7741         ,p_per_information28             => p_per_information28
7742         ,p_per_information29             => p_per_information29
7743         ,p_per_information30             => p_per_information30
7744         ,p_correspondence_language       => p_correspondence_language
7745         ,p_honors                        => p_honors
7746         ,p_pre_name_adjunct              => p_pre_name_adjunct
7747         ,p_suffix                        => p_suffix
7748         ,p_town_of_birth                 => p_town_of_birth
7749         ,p_region_of_birth               => p_region_of_birth
7750         ,p_country_of_birth              => p_country_of_birth
7751         ,p_global_person_id              => p_global_person_id
7752         ,p_person_id                     => l_person_id  --   out number
7753         ,p_object_version_number         => l_per_ovn ---   out nocopy number
7754         ,p_effective_start_date          => l_per_effective_start_date
7755                                             --out date
7756         ,p_effective_end_date            => l_per_effective_end_date
7757                                            --   out date
7758         ,p_full_name                     => l_full_name -- out nocopy varchar2
7759         ,p_comment_id                   => l_per_comment_id -- out nocopy number
7760         ,p_name_combination_warning      => l_name_combination_warning
7761                                            --   out boolean
7762         ,p_orig_hire_warning             => l_orig_hire_warning  --  out boolean
7763    );
7764   --
7765 
7766 IF g_debug THEN
7767     hr_utility.set_location('Leaving  hr_process_person_ss.create_personnnnnnnnnn ' || l_person_id, 2006);
7768 END IF;
7769 
7770     /*prflvalue := fnd_profile.value('BEN_USER_TO_ORG_LINK');
7771     ben_assignment_api.create_ben_asg
7772         (p_validate                     => l_validate --in boolean default false
7773          ,p_event_mode                   => false
7774          ,p_effective_date               => trunc(sysdate)
7775          ,p_person_id                    => l_person_id
7776          ,p_organization_id            => nvl(prflvalue,p_business_group_id) --new profile??
7777          ,p_assignment_status_type_id    => 1
7778          ,p_assignment_id                => l_assignment_id  --   out number
7779          ,p_object_version_number        => l_asg_ovn ---   out nocopy number
7780          ,p_effective_start_date         => l_asg_effective_start_date   --   out date
7781          ,p_effective_end_date           => l_asg_effective_end_date    --   out date
7782          ,p_assignment_extra_info_id     => l_assignment_extra_info_id
7783          ,p_aei_object_version_number    => l_aei_object_version_number
7784          );*/
7785 
7786   END IF;
7787 
7788  -- end cobra codes
7789 
7790 
7791   -- set back the full name
7792     p_full_name := l_full_name;
7793 
7794   hr_utility.set_location('Rolling back to create_person_ben_ss'||l_proc,90);
7795   rollback to create_person_ben_ss;
7796 
7797    hr_multi_message.disable_message_list;
7798 
7799  <<create_only_transaction>> -- label for GOTO
7800 
7801    hr_utility.set_location('create_only_transaction:'||l_proc,95);
7802   --Store the full_name in workflow item attribute HR_SECTION_DISPLAY_NAME
7803   -- to be used by the actions page.
7804   -- if l_full_name is null, derive it
7805      if (l_full_name is null) then
7806      hr_utility.set_location('l_full_name is null:'||l_proc,100);
7807       hr_person.derive_full_name(p_first_name,
7808                                p_middle_names, p_last_name, p_known_as,
7809                                p_title, p_date_of_birth,
7810                                p_person_id, p_business_group_id
7811                                ,l_full_name,l_dup_name,
7812                                p_per_information1, p_per_information2,
7813                                p_per_information3, p_per_information4,
7814                                p_per_information5, p_per_information6,
7815                                p_per_information7, p_per_information8,
7816                                p_per_information9, p_per_information10,
7817                                p_per_information11, p_per_information12,
7818                                p_per_information13, p_per_information14,
7819                                p_per_information15, p_per_information16,
7820                                p_per_information17, p_per_information18,
7821                                p_per_information19, p_per_information20,
7822                                p_per_information21, p_per_information22,
7823                                p_per_information23, p_per_information24,
7824                                p_per_information25, p_per_information26,
7825                                p_per_information27, p_per_information28,
7826                                p_per_information29, p_per_information30);
7827      end if;
7828 
7829      wf_engine.setItemAttrText (itemtype => p_item_type,
7830                            itemkey  => p_item_key,
7831                            aname    => 'HR_SECTION_DISPLAY_NAME',
7832                            avalue   => l_full_name);
7833 
7834 -- Set the P_EFFECTIVE_DATE and CURRENT_EFFECTIVE_DATE in wf item attributes to be retreived
7835 -- in review page
7836 
7837        wf_engine.setItemAttrText (itemtype => p_item_type,
7838                            itemkey  => p_item_key,
7839                            aname    => 'P_EFFECTIVE_DATE',
7840                            avalue   =>  to_char(p_effective_date,
7841                                         g_date_format));
7842 
7843        wf_engine.setItemAttrDate (itemtype => p_item_type,
7844                            itemkey  => p_item_key,
7845                            aname    => 'CURRENT_EFFECTIVE_DATE',
7846                            avalue   =>  p_effective_date);
7847   --
7848   -- First, check if transaction id exists or not
7849   --
7850   l_transaction_id := hr_transaction_ss.get_transaction_id
7851                      (p_item_type   => p_item_type
7852                      ,p_item_key    => p_item_key);
7853   --
7854   IF l_transaction_id is null THEN
7855      -- Start a Transaction
7856         hr_utility.set_location('l_transaction_id is null THEN:'||l_proc,105);
7857         hr_transaction_ss.start_transaction
7858            (itemtype   => p_item_type
7859            ,itemkey    => p_item_key
7860            ,actid      => p_actid
7861            ,funmode    => 'RUN'
7862            ,p_login_person_id => p_login_person_id  --nvl(p_login_person_id, p_parent_id)
7863            ,result     => l_result);
7864 
7865         l_transaction_id := hr_transaction_ss.get_transaction_id
7866                         (p_item_type   => p_item_type
7867                         ,p_item_key    => p_item_key);
7868   END IF;
7869 ------------------
7870   --
7871   -- First check step id already exists, which happens when user navigates
7872   -- back from review or page after this page.
7873   --
7874  hr_transaction_api.get_transaction_step_info
7875      (p_item_type              => p_item_type
7876      ,p_item_key               => p_item_key
7877      ,p_activity_id            => p_actid
7878      ,p_transaction_step_id    => l_trans_step_ids
7879      ,p_api_name               => l_api_names
7880      ,p_rows                   => l_trans_step_rows);
7881   --
7882 
7883  hr_utility.set_location('Entering For Loop 0..l_trans_step_rows-1:'||l_proc,110);
7884  FOR i in 0..l_trans_step_rows-1 LOOP
7885    IF(l_api_names(i) = 'HR_PROCESS_PERSON_SS.PROCESS_API') THEN
7886       l_transaction_step_id := l_trans_step_ids(i);
7887    END IF;
7888  END LOOP;
7889  hr_utility.set_location('Exiting For Loop 0..l_trans_step_rows-1:'||l_proc,115);
7890 
7891   if l_transaction_step_id is null then
7892      --
7893      -- Create a transaction step
7894      --
7895      hr_utility.set_location('l_transaction_step_id is null then:'||l_proc,120);
7896      hr_transaction_api.create_transaction_step
7897      (p_validate              => false
7898      ,p_creator_person_id     => p_login_person_id
7899                --nvl(p_login_person_id, p_parent_id)
7900      ,p_transaction_id        => l_transaction_id
7901      ,p_api_name              => g_package || 'PROCESS_API'
7902      ,p_item_type             => p_item_type
7903      ,p_item_key              => p_item_key
7904      ,p_activity_id           => p_actid
7905      ,p_transaction_step_id   => l_transaction_step_id
7906      ,p_object_version_number => l_trans_obj_vers_num);
7907      --
7908   end if;
7909   --
7910 
7911   --
7912   -- Create a transaction step
7913   --
7914 /*  hr_transaction_api.create_transaction_step
7915      (p_validate              => false
7916      ,p_creator_person_id     => p_login_person_id  --nvl(p_login_person_id, p_parent_id)
7917      ,p_transaction_id        => l_transaction_id
7918      ,p_api_name              => g_package || 'PROCESS_API'
7919      ,p_item_type             => p_item_type
7920      ,p_item_key              => p_item_key
7921      ,p_activity_id           => p_actid
7922      ,p_transaction_step_id   => l_transaction_step_id
7923      ,p_object_version_number => l_trans_obj_vers_num); */
7924 
7925   --
7926   l_count := 1;
7927   l_transaction_table(l_count).param_name := 'P_ITEM_TYPE';
7928   l_transaction_table(l_count).param_value := p_item_type;
7929   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
7930   --
7931   l_count := l_count + 1;
7932   l_transaction_table(l_count).param_name := 'P_ITEM_KEY';
7933   l_transaction_table(l_count).param_value := p_item_key;
7934   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
7935   --
7936   l_count := l_count + 1;
7937   l_transaction_table(l_count).param_name := 'P_ACTIVITY_ID';
7938   l_transaction_table(l_count).param_value := p_actid;
7939   l_transaction_table(l_count).param_data_type := 'NUMBER';
7940 --
7941   l_count := l_count + 1;
7942   l_transaction_table(l_count).param_name := 'P_PROCESS_SECTION_NAME';
7943   l_transaction_table(l_count).param_value := p_process_section_name;
7944   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
7945 --
7946   l_count := l_count + 1;
7947   l_transaction_table(l_count).param_name := 'P_ACTION_TYPE';
7948   l_transaction_table(l_count).param_value := p_action_type;
7949   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
7950 --
7951   l_count := l_count + 1;
7952   l_transaction_table(l_count).param_name := 'P_DATE_START';
7953   l_transaction_table(l_count).param_value := to_char(p_hire_date,
7954                                               hr_transaction_ss.g_date_format);
7955   l_transaction_table(l_count).param_data_type := 'DATE';
7956 --
7957 -- We don't want to derive the business_group_id because we want to save a
7958 -- db sql statement call to improve the performance.
7959   l_count := l_count + 1;
7960   l_transaction_table(l_count).param_name := 'P_BUSINESS_GROUP_ID';
7961   l_transaction_table(l_count).param_value := p_business_group_id;
7962   l_transaction_table(l_count).param_data_type := 'NUMBER';
7963 --
7964   l_count := l_count + 1;
7965   l_transaction_table(l_count).param_name := 'P_LAST_NAME';
7966   l_transaction_table(l_count).param_value := p_last_name;
7967   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
7968 --
7969   l_count := l_count + 1;
7970   l_transaction_table(l_count).param_name := 'P_SEX';
7971   l_transaction_table(l_count).param_value := p_sex;
7972   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
7973 --
7974   l_count := l_count + 1;
7975   l_transaction_table(l_count).param_name := 'P_PERSON_TYPE_ID';
7976   l_transaction_table(l_count).param_value := l_person_type_id;
7977   l_transaction_table(l_count).param_data_type := 'NUMBER';
7978 --
7979   l_count := l_count + 1;
7980   l_transaction_table(l_count).param_name := 'P_PER_COMMENTS';
7981   l_transaction_table(l_count).param_value := p_per_comments;
7982   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
7983 --
7984   l_count := l_count + 1;
7985   l_transaction_table(l_count).param_name := 'P_DATE_EMPLOYEE_DATA_VERIFIED';
7986   l_transaction_table(l_count).param_value := to_char(p_date_employee_data_verified,
7987                                               hr_transaction_ss.g_date_format);
7988   l_transaction_table(l_count).param_data_type := 'DATE';
7989 --
7990   l_count := l_count + 1;
7991   l_transaction_table(l_count).param_name := 'P_DATE_OF_BIRTH';
7992   l_transaction_table(l_count).param_value := to_char(p_date_of_birth,
7993                                               hr_transaction_ss.g_date_format);
7994   l_transaction_table(l_count).param_data_type := 'DATE';
7995 --
7996   l_count := l_count + 1;
7997   l_transaction_table(l_count).param_name := 'P_EMAIL_ADDRESS';
7998   l_transaction_table(l_count).param_value := p_email_address;
7999   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
8000 --
8001   l_count := l_count + 1;
8002   l_transaction_table(l_count).param_name := 'P_EXPENSE_CHECK_SEND_TO_ADDRES';
8003   l_transaction_table(l_count).param_value := p_expense_check_send_to_addres;
8004   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
8005 --
8006   l_count := l_count + 1;
8007   l_transaction_table(l_count).param_name := 'P_FIRST_NAME';
8008   l_transaction_table(l_count).param_value := p_first_name;
8009   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
8010 --
8011   l_count := l_count + 1;
8012   l_transaction_table(l_count).param_name := 'P_KNOWN_AS';
8013   l_transaction_table(l_count).param_value := p_known_as;
8014   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
8015 --
8016   l_count := l_count + 1;
8017   l_transaction_table(l_count).param_name := 'P_MARITAL_STATUS';
8018   l_transaction_table(l_count).param_value := p_marital_status;
8019   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
8020 --
8021   l_count := l_count + 1;
8022   l_transaction_table(l_count).param_name := 'P_MIDDLE_NAMES';
8023   l_transaction_table(l_count).param_value := p_middle_names;
8024   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
8025 --
8026   l_count := l_count + 1;
8027   l_transaction_table(l_count).param_name := 'P_NATIONALITY';
8028   l_transaction_table(l_count).param_value := p_nationality;
8029   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
8030 --
8031 --
8032   l_count := l_count + 1;
8033   l_transaction_table(l_count).param_name := 'P_NATIONAL_IDENTIFIER';
8034   l_transaction_table(l_count).param_value := p_national_identifier;
8035   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
8036 --
8037   l_count := l_count + 1;
8038   l_transaction_table(l_count).param_name := 'P_PREVIOUS_LAST_NAME';
8039   l_transaction_table(l_count).param_value := p_previous_last_name;
8040   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
8041 --
8042   l_count := l_count + 1;
8043   l_transaction_table(l_count).param_name := 'P_REGISTERED_DISABLED_FLAG';
8044   l_transaction_table(l_count).param_value := p_registered_disabled_flag;
8045   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
8046 --
8047   l_count := l_count + 1;
8048   l_transaction_table(l_count).param_name := 'P_TITLE';
8049   l_transaction_table(l_count).param_value := p_title;
8050   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
8051 --
8052   l_count := l_count + 1;
8053   l_transaction_table(l_count).param_name := 'P_VENDOR_ID';
8054   l_transaction_table(l_count).param_value := to_char(l_vendor_id);
8055   l_transaction_table(l_count).param_data_type := 'NUMBER';
8056 --
8057   l_count := l_count + 1;
8058   l_transaction_table(l_count).param_name := 'P_WORK_TELEPHONE';
8059   l_transaction_table(l_count).param_value := p_work_telephone;
8060   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
8061 --
8062   l_count := l_count + 1;
8063   l_transaction_table(l_count).param_name := 'P_ATTRIBUTE_CATEGORY';
8064   l_transaction_table(l_count).param_value := p_attribute_category;
8065   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
8066 --
8067   l_count := l_count + 1;
8068   l_transaction_table(l_count).param_name := 'P_ATTRIBUTE1';
8069   l_transaction_table(l_count).param_value := p_attribute1;
8070   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
8071 --
8072   l_count := l_count + 1;
8073   l_transaction_table(l_count).param_name := 'P_ATTRIBUTE2';
8074   l_transaction_table(l_count).param_value := p_attribute2;
8075   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
8076 --
8077   l_count := l_count + 1;
8078   l_transaction_table(l_count).param_name := 'P_ATTRIBUTE3';
8079   l_transaction_table(l_count).param_value := p_attribute3;
8080   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
8081 --
8082   l_count := l_count + 1;
8083   l_transaction_table(l_count).param_name := 'P_ATTRIBUTE4';
8084   l_transaction_table(l_count).param_value := p_attribute4;
8085   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
8086 --
8087   l_count := l_count + 1;
8088   l_transaction_table(l_count).param_name := 'P_ATTRIBUTE5';
8089   l_transaction_table(l_count).param_value := p_attribute5;
8090   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
8091 --
8092   l_count := l_count + 1;
8093   l_transaction_table(l_count).param_name := 'P_ATTRIBUTE6';
8094   l_transaction_table(l_count).param_value := p_attribute6;
8095   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
8096 --
8097   l_count := l_count + 1;
8098   l_transaction_table(l_count).param_name := 'P_ATTRIBUTE7';
8099   l_transaction_table(l_count).param_value := p_attribute7;
8100   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
8101 --
8102   l_count := l_count + 1;
8103   l_transaction_table(l_count).param_name := 'P_ATTRIBUTE8';
8104   l_transaction_table(l_count).param_value := p_attribute8;
8105   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
8106 --
8107   l_count := l_count + 1;
8108   l_transaction_table(l_count).param_name := 'P_ATTRIBUTE9';
8109   l_transaction_table(l_count).param_value := p_attribute9;
8110   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
8111 --
8112   l_count := l_count + 1;
8113   l_transaction_table(l_count).param_name := 'P_ATTRIBUTE10';
8114   l_transaction_table(l_count).param_value := p_attribute10;
8115   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
8116 --
8117   l_count := l_count + 1;
8118   l_transaction_table(l_count).param_name := 'P_ATTRIBUTE11';
8119   l_transaction_table(l_count).param_value := p_attribute11;
8120   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
8121 --
8122   l_count := l_count + 1;
8123   l_transaction_table(l_count).param_name := 'P_ATTRIBUTE12';
8124   l_transaction_table(l_count).param_value := p_attribute12;
8125   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
8126 --
8127   l_count := l_count + 1;
8128   l_transaction_table(l_count).param_name := 'P_ATTRIBUTE13';
8129   l_transaction_table(l_count).param_value := p_attribute13;
8130   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
8131 --
8132   l_count := l_count + 1;
8133   l_transaction_table(l_count).param_name := 'P_ATTRIBUTE14';
8134   l_transaction_table(l_count).param_value := p_attribute14;
8135   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
8136 --
8137   l_count := l_count + 1;
8138   l_transaction_table(l_count).param_name := 'P_ATTRIBUTE15';
8139   l_transaction_table(l_count).param_value := p_attribute15;
8140   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
8141 --
8142   l_count := l_count + 1;
8143   l_transaction_table(l_count).param_name := 'P_ATTRIBUTE16';
8144   l_transaction_table(l_count).param_value := p_attribute16;
8145   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
8146 --
8147   l_count := l_count + 1;
8148   l_transaction_table(l_count).param_name := 'P_ATTRIBUTE17';
8149   l_transaction_table(l_count).param_value := p_attribute17;
8150   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
8151 --
8152   l_count := l_count + 1;
8153   l_transaction_table(l_count).param_name := 'P_ATTRIBUTE18';
8154   l_transaction_table(l_count).param_value := p_attribute18;
8155   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
8156 --
8157   l_count := l_count + 1;
8158   l_transaction_table(l_count).param_name := 'P_ATTRIBUTE19';
8159   l_transaction_table(l_count).param_value := p_attribute19;
8160   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
8161 --
8162   l_count := l_count + 1;
8163   l_transaction_table(l_count).param_name := 'P_ATTRIBUTE20';
8164   l_transaction_table(l_count).param_value := p_attribute20;
8165   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
8166 --
8167   l_count := l_count + 1;
8168   l_transaction_table(l_count).param_name := 'P_ATTRIBUTE21';
8169   l_transaction_table(l_count).param_value := p_attribute21;
8170   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
8171 --
8172   l_count := l_count + 1;
8173   l_transaction_table(l_count).param_name := 'P_ATTRIBUTE22';
8174   l_transaction_table(l_count).param_value := p_attribute22;
8175   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
8176 --
8177   l_count := l_count + 1;
8178   l_transaction_table(l_count).param_name := 'P_ATTRIBUTE23';
8179   l_transaction_table(l_count).param_value := p_attribute23;
8180   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
8181 --
8182   l_count := l_count + 1;
8183   l_transaction_table(l_count).param_name := 'P_ATTRIBUTE24';
8184   l_transaction_table(l_count).param_value := p_attribute24;
8185   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
8186 --
8187   l_count := l_count + 1;
8188   l_transaction_table(l_count).param_name := 'P_ATTRIBUTE25';
8189   l_transaction_table(l_count).param_value := p_attribute25;
8190   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
8191 --
8192   l_count := l_count + 1;
8193   l_transaction_table(l_count).param_name := 'P_ATTRIBUTE26';
8194   l_transaction_table(l_count).param_value := p_attribute26;
8195   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
8196 --
8197   l_count := l_count + 1;
8198   l_transaction_table(l_count).param_name := 'P_ATTRIBUTE27';
8199   l_transaction_table(l_count).param_value := p_attribute27;
8200   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
8201 --
8202   l_count := l_count + 1;
8203   l_transaction_table(l_count).param_name := 'P_ATTRIBUTE28';
8204   l_transaction_table(l_count).param_value := p_attribute28;
8205   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
8206 --
8207   l_count := l_count + 1;
8208   l_transaction_table(l_count).param_name := 'P_ATTRIBUTE29';
8209   l_transaction_table(l_count).param_value := p_attribute29;
8210   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
8211 --
8212   l_count := l_count + 1;
8213   l_transaction_table(l_count).param_name := 'P_ATTRIBUTE30';
8214   l_transaction_table(l_count).param_value := p_attribute30;
8215   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
8216 --
8217   l_count := l_count + 1;
8218   l_transaction_table(l_count).param_name := 'P_PER_INFORMATION_CATEGORY';
8219   l_transaction_table(l_count).param_value := p_per_information_category;
8220   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
8221 --
8222   l_count := l_count + 1;
8223   l_transaction_table(l_count).param_name := 'P_PER_INFORMATION1';
8224   l_transaction_table(l_count).param_value := p_per_information1;
8225   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
8226 --
8227   l_count := l_count + 1;
8228   l_transaction_table(l_count).param_name := 'P_PER_INFORMATION2';
8229   l_transaction_table(l_count).param_value := p_per_information2;
8230   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
8231 --
8232   l_count := l_count + 1;
8233   l_transaction_table(l_count).param_name := 'P_PER_INFORMATION3';
8234   l_transaction_table(l_count).param_value := p_per_information3;
8235   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
8236 --
8237   l_count := l_count + 1;
8238   l_transaction_table(l_count).param_name := 'P_PER_INFORMATION4';
8239   l_transaction_table(l_count).param_value := p_per_information4;
8240   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
8241 --
8242   l_count := l_count + 1;
8243   l_transaction_table(l_count).param_name := 'P_PER_INFORMATION5';
8244   l_transaction_table(l_count).param_value := p_per_information5;
8245   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
8246 --
8247   l_count := l_count + 1;
8248   l_transaction_table(l_count).param_name := 'P_PER_INFORMATION6';
8249   l_transaction_table(l_count).param_value := p_per_information6;
8250   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
8251 --
8252   l_count := l_count + 1;
8253   l_transaction_table(l_count).param_name := 'P_PER_INFORMATION7';
8254   l_transaction_table(l_count).param_value := p_per_information7;
8255   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
8256 --
8257   l_count := l_count + 1;
8258   l_transaction_table(l_count).param_name := 'P_PER_INFORMATION8';
8259   l_transaction_table(l_count).param_value := p_per_information8;
8260   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
8261 --
8262   l_count := l_count + 1;
8263   l_transaction_table(l_count).param_name := 'P_PER_INFORMATION9';
8264   l_transaction_table(l_count).param_value := p_per_information9;
8265   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
8266 --
8267   l_count := l_count + 1;
8268   l_transaction_table(l_count).param_name := 'P_PER_INFORMATION10';
8269   l_transaction_table(l_count).param_value := p_per_information10;
8270   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
8271 --
8272   l_count := l_count + 1;
8273   l_transaction_table(l_count).param_name := 'P_PER_INFORMATION11';
8274   l_transaction_table(l_count).param_value := p_per_information11;
8275   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
8276 --
8277   l_count := l_count + 1;
8278   l_transaction_table(l_count).param_name := 'P_PER_INFORMATION12';
8279   l_transaction_table(l_count).param_value := p_per_information12;
8280   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
8281 --
8282   l_count := l_count + 1;
8283   l_transaction_table(l_count).param_name := 'P_PER_INFORMATION13';
8284   l_transaction_table(l_count).param_value := p_per_information13;
8285   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
8286 --
8287   l_count := l_count + 1;
8288   l_transaction_table(l_count).param_name := 'P_PER_INFORMATION14';
8289   l_transaction_table(l_count).param_value := p_per_information14;
8290   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
8291 --
8292   l_count := l_count + 1;
8293   l_transaction_table(l_count).param_name := 'P_PER_INFORMATION15';
8294   l_transaction_table(l_count).param_value := p_per_information15;
8295   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
8296 --
8297   l_count := l_count + 1;
8298   l_transaction_table(l_count).param_name := 'P_PER_INFORMATION16';
8299   l_transaction_table(l_count).param_value := p_per_information16;
8300   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
8301 --
8302   l_count := l_count + 1;
8303   l_transaction_table(l_count).param_name := 'P_PER_INFORMATION17';
8304   l_transaction_table(l_count).param_value := p_per_information17;
8305   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
8306 --
8307   l_count := l_count + 1;
8308   l_transaction_table(l_count).param_name := 'P_PER_INFORMATION18';
8309   l_transaction_table(l_count).param_value := p_per_information18;
8310   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
8311 --
8312   l_count := l_count + 1;
8313   l_transaction_table(l_count).param_name := 'P_PER_INFORMATION19';
8314   l_transaction_table(l_count).param_value := p_per_information19;
8315   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
8316 --
8317   l_count := l_count + 1;
8318   l_transaction_table(l_count).param_name := 'P_PER_INFORMATION20';
8319   l_transaction_table(l_count).param_value := p_per_information20;
8320   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
8321 --
8322   l_count := l_count + 1;
8323   l_transaction_table(l_count).param_name := 'P_PER_INFORMATION21';
8324   l_transaction_table(l_count).param_value := p_per_information21;
8325   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
8326 --
8327   l_count := l_count + 1;
8328   l_transaction_table(l_count).param_name := 'P_PER_INFORMATION22';
8329   l_transaction_table(l_count).param_value := p_per_information22;
8330   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
8331 --
8332   l_count := l_count + 1;
8333   l_transaction_table(l_count).param_name := 'P_PER_INFORMATION23';
8334   l_transaction_table(l_count).param_value := p_per_information23;
8335   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
8336 --
8337   l_count := l_count + 1;
8338   l_transaction_table(l_count).param_name := 'P_PER_INFORMATION24';
8339   l_transaction_table(l_count).param_value := p_per_information24;
8340   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
8341 --
8342   l_count := l_count + 1;
8343   l_transaction_table(l_count).param_name := 'P_PER_INFORMATION25';
8344   l_transaction_table(l_count).param_value := p_per_information25;
8345   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
8346 --
8347   l_count := l_count + 1;
8348   l_transaction_table(l_count).param_name := 'P_PER_INFORMATION26';
8349   l_transaction_table(l_count).param_value := p_per_information26;
8350   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
8351 --
8352   l_count := l_count + 1;
8353   l_transaction_table(l_count).param_name := 'P_PER_INFORMATION27';
8354   l_transaction_table(l_count).param_value := p_per_information27;
8355   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
8356 --
8357   l_count := l_count + 1;
8358   l_transaction_table(l_count).param_name := 'P_PER_INFORMATION28';
8359   l_transaction_table(l_count).param_value := p_per_information28;
8360   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
8361 --
8362   l_count := l_count + 1;
8363   l_transaction_table(l_count).param_name := 'P_PER_INFORMATION29';
8364   l_transaction_table(l_count).param_value := p_per_information29;
8365   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
8366 --
8367   l_count := l_count + 1;
8368   l_transaction_table(l_count).param_name := 'P_PER_INFORMATION30';
8369   l_transaction_table(l_count).param_value := p_per_information30;
8370   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
8371 --
8372   l_count := l_count + 1;
8373   l_transaction_table(l_count).param_name := 'P_DATE_OF_DEATH';
8374   l_transaction_table(l_count).param_value := to_char
8375                                               (p_date_of_death
8376                                               ,hr_transaction_ss.g_date_format);
8377   l_transaction_table(l_count).param_data_type := 'DATE';
8378 --
8379   l_count := l_count + 1;
8380   l_transaction_table(l_count).param_name := 'P_BACKGROUND_CHECK_STATUS';
8381   l_transaction_table(l_count).param_value := p_background_check_status;
8382   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
8383 --
8384   l_count := l_count + 1;
8385   l_transaction_table(l_count).param_name := 'P_BACKGROUND_DATE_CHECK';
8386   l_transaction_table(l_count).param_value := to_char
8387                                               (p_background_date_check
8388                                               ,hr_transaction_ss.g_date_format);
8389   l_transaction_table(l_count).param_data_type := 'DATE';
8390 --
8391   l_count := l_count + 1;
8392   l_transaction_table(l_count).param_name := 'P_BLOOD_TYPE';
8393   l_transaction_table(l_count).param_value := p_blood_type;
8394   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
8395 --
8396   l_count := l_count + 1;
8397   l_transaction_table(l_count).param_name := 'P_CORRESPONDENCE_LANGUAGE';
8398   l_transaction_table(l_count).param_value := p_correspondence_language;
8399   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
8400 --
8401   l_count := l_count + 1;
8402   l_transaction_table(l_count).param_name := 'P_FAST_PATH_EMPLOYEE';
8403   l_transaction_table(l_count).param_value := p_fast_path_employee;
8404   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
8405 --
8406   l_count := l_count + 1;
8407   l_transaction_table(l_count).param_name := 'P_FTE_CAPACITY';
8408   l_transaction_table(l_count).param_value := to_char(l_fte_capacity);
8409   l_transaction_table(l_count).param_data_type := 'NUMBER';
8410 --
8411   l_count := l_count + 1;
8412   l_transaction_table(l_count).param_name := 'P_HONORS';
8413   l_transaction_table(l_count).param_value := p_honors;
8414   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
8415 --
8416   l_count := l_count + 1;
8417   l_transaction_table(l_count).param_name := 'P_INTERNAL_LOCATION';
8418   l_transaction_table(l_count).param_value := p_internal_location;
8419   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
8420 --
8421   l_count := l_count + 1;
8422   l_transaction_table(l_count).param_name := 'P_LAST_MEDICAL_TEST_BY';
8423   l_transaction_table(l_count).param_value := p_last_medical_test_by;
8424   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
8425 --
8426   l_count := l_count + 1;
8427   l_transaction_table(l_count).param_name := 'P_LAST_MEDICAL_TEST_DATE';
8428   l_transaction_table(l_count).param_value := to_char
8429                                               (p_last_medical_test_date
8430                                               ,hr_transaction_ss.g_date_format);
8431   l_transaction_table(l_count).param_data_type := 'DATE';
8432 --
8433   l_count := l_count + 1;
8434   l_transaction_table(l_count).param_name := 'P_MAILSTOP';
8435   l_transaction_table(l_count).param_value := p_mailstop;
8436   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
8437 --
8438   l_count := l_count + 1;
8439   l_transaction_table(l_count).param_name := 'P_OFFICE_NUMBER';
8440   l_transaction_table(l_count).param_value := p_office_number;
8441   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
8442 --
8443   l_count := l_count + 1;
8444   l_transaction_table(l_count).param_name := 'P_ON_MILITARY_SERVICE';
8445   l_transaction_table(l_count).param_value := p_on_military_service;
8446   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
8447 --
8448   l_count := l_count + 1;
8449   l_transaction_table(l_count).param_name := 'P_PRE_NAME_ADJUNCT';
8450   l_transaction_table(l_count).param_value := p_pre_name_adjunct;
8451   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
8452 --
8453   l_count := l_count + 1;
8454   l_transaction_table(l_count).param_name := 'P_PROJECTED_START_DATE';
8455   l_transaction_table(l_count).param_value := to_char
8456                                               (p_projected_start_date
8457                                               ,hr_transaction_ss.g_date_format);
8458   l_transaction_table(l_count).param_data_type := 'DATE';
8459 --
8460   l_count := l_count + 1;
8461   l_transaction_table(l_count).param_name := 'P_RESUME_EXISTS';
8462   l_transaction_table(l_count).param_value := p_resume_exists;
8463   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
8464 --
8465   l_count := l_count + 1;
8466   l_transaction_table(l_count).param_name := 'P_RESUME_LAST_UPDATED';
8467   l_transaction_table(l_count).param_value := to_char
8468                                               (p_resume_last_updated
8469                                               ,hr_transaction_ss.g_date_format);
8470   l_transaction_table(l_count).param_data_type := 'DATE';
8471 --
8472   l_count := l_count + 1;
8473   l_transaction_table(l_count).param_name := 'P_SECOND_PASSPORT_EXISTS';
8474   l_transaction_table(l_count).param_value := p_second_passport_exists;
8475   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
8476 --
8477   l_count := l_count + 1;
8478   l_transaction_table(l_count).param_name := 'P_STUDENT_STATUS';
8479   l_transaction_table(l_count).param_value := p_student_status;
8480   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
8481 --
8482   l_count := l_count + 1;
8483   l_transaction_table(l_count).param_name := 'P_WORK_SCHEDULE';
8484   l_transaction_table(l_count).param_value := p_work_schedule;
8485   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
8486 --
8487   l_count := l_count + 1;
8488   l_transaction_table(l_count).param_name := 'P_SUFFIX';
8489   l_transaction_table(l_count).param_value := p_suffix;
8490   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
8491 --
8492   l_count := l_count + 1;
8493   l_transaction_table(l_count).param_name := 'P_BENEFIT_GROUP_ID';
8494   l_transaction_table(l_count).param_value := to_char(l_benefit_group_id);
8495   l_transaction_table(l_count).param_data_type := 'NUMBER';
8496 --
8497   l_count := l_count + 1;
8498   l_transaction_table(l_count).param_name := 'P_RECEIPT_OF_DEATH_CERT_DATE';
8499   l_transaction_table(l_count).param_value := to_char
8500                                               (p_receipt_of_death_cert_date
8501                                               ,hr_transaction_ss.g_date_format);
8502   l_transaction_table(l_count).param_data_type := 'DATE';
8503 --
8504   l_count := l_count + 1;
8505   l_transaction_table(l_count).param_name := 'P_COORD_BEN_MED_PLN_NO';
8506   l_transaction_table(l_count).param_value := p_coord_ben_med_pln_no;
8507   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
8508 --
8509   l_count := l_count + 1;
8510   l_transaction_table(l_count).param_name := 'P_COORD_BEN_NO_CVG_FLAG';
8511   l_transaction_table(l_count).param_value := p_coord_ben_no_cvg_flag;
8512   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
8513 --
8514   l_count := l_count + 1;
8515   l_transaction_table(l_count).param_name := 'P_USES_TOBACCO_FLAG';
8516   l_transaction_table(l_count).param_value := p_uses_tobacco_flag;
8517   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
8518 --
8519   l_count := l_count + 1;
8520   l_transaction_table(l_count).param_name := 'P_DPDNT_ADOPTION_DATE';
8521   l_transaction_table(l_count).param_value := to_char
8522                                               (p_dpdnt_adoption_date
8523                                               ,hr_transaction_ss.g_date_format);
8524   l_transaction_table(l_count).param_data_type := 'DATE';
8525 --
8526   l_count := l_count + 1;
8527   l_transaction_table(l_count).param_name := 'P_DPDNT_VLNTRY_SVCE_FLAG';
8528   l_transaction_table(l_count).param_value := p_dpdnt_vlntry_svce_flag;
8529   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
8530 --
8531   l_count := l_count + 1;
8532   l_transaction_table(l_count).param_name := 'P_ORIGINAL_DATE_OF_HIRE';
8533   l_transaction_table(l_count).param_value := to_char
8534                                              (p_original_date_of_hire
8535                                              ,hr_transaction_ss.g_date_format);
8536   l_transaction_table(l_count).param_data_type := 'DATE';
8537 --
8538   l_count := l_count + 1;
8539   l_transaction_table(l_count).param_name := 'P_ADJUSTED_SVC_DATE';
8540   l_transaction_table(l_count).param_value := to_char
8541                                               (p_adjusted_svc_date
8542                                               ,hr_transaction_ss.g_date_format);
8543   l_transaction_table(l_count).param_data_type := 'DATE';
8544 --
8545   l_count := l_count + 1;
8546   l_transaction_table(l_count).param_name := 'P_TOWN_OF_BIRTH';
8547   l_transaction_table(l_count).param_value := p_town_of_birth;
8548   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
8549 --
8550   l_count := l_count + 1;
8551   l_transaction_table(l_count).param_name := 'P_REGION_OF_BIRTH';
8552   l_transaction_table(l_count).param_value := p_region_of_birth;
8553   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
8554 --
8555   l_count := l_count + 1;
8556   l_transaction_table(l_count).param_name := 'P_COUNTRY_OF_BIRTH';
8557   l_transaction_table(l_count).param_value := p_country_of_birth;
8558   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
8559 --
8560   l_count := l_count + 1;
8561   l_transaction_table(l_count).param_name := 'P_GLOBAL_PERSON_ID';
8562   l_transaction_table(l_count).param_value := p_global_person_id;
8563   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
8564 --
8565   l_count := l_count + 1;
8566   l_transaction_table(l_count).param_name := 'P_PERSON_ID';
8567   l_transaction_table(l_count).param_value := p_person_id;
8568   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
8569 --
8570   l_count := l_count + 1;
8571   l_transaction_table(l_count).param_name := 'P_ASSIGNMENT_ID';
8572   l_transaction_table(l_count).param_value := p_assignment_id;
8573   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
8574 --
8575   l_count := l_count + 1;
8576   l_transaction_table(l_count).param_name := 'P_PER_OBJECT_VERSION_NUMBER';
8577   l_transaction_table(l_count).param_value := p_per_object_version_number;
8578   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
8579 --
8580   l_count := l_count + 1;
8581   l_transaction_table(l_count).param_name := 'P_ASG_OBJECT_VERSION_NUMBER';
8582   l_transaction_table(l_count).param_value := p_asg_object_version_number;
8583   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
8584 --
8585   l_count := l_count + 1;
8586   l_transaction_table(l_count).param_name := 'P_PER_EFFECTIVE_START_DATE';
8587   l_transaction_table(l_count).param_value := to_char
8588                                               (p_per_effective_start_date
8589                                               ,hr_transaction_ss.g_date_format);
8590   l_transaction_table(l_count).param_data_type := 'DATE';
8591 --
8592   l_count := l_count + 1;
8593   l_transaction_table(l_count).param_name := 'P_PER_EFFECTIVE_END_DATE';
8594   l_transaction_table(l_count).param_value := to_char
8595                                               (p_per_effective_end_date
8596                                               ,hr_transaction_ss.g_date_format);
8597   l_transaction_table(l_count).param_data_type := 'DATE';
8598 --
8599   l_review_item_name := p_review_page_region_code;
8600   if (p_review_page_region_code IS NULL) then
8601     BEGIN
8602      hr_utility.set_location('p_review_page_region_code IS NULL'||l_proc,125);
8603       l_review_item_name :=
8604         wf_engine.GetActivityAttrText(itemtype  => p_item_type,
8605                              itemkey   => p_item_key,
8606                              actid     => p_actid,
8607                              aname     => g_wf_review_regn_itm_attr_name);
8608     EXCEPTION
8609     WHEN OTHERS THEN
8610       hr_utility.set_location('Exception:Others'||l_proc,555);
8611       l_review_item_name := 'HrBasicDetailsReview';
8612     END;
8613   end if;
8614 
8615   l_count := l_count + 1;
8616   l_transaction_table(l_count).param_name := 'P_REVIEW_PROC_CALL';
8617   l_transaction_table(l_count).param_value := l_review_item_name;
8618   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
8619 --
8620   l_count := l_count + 1;
8621   l_transaction_table(l_count).param_name := 'P_REVIEW_ACTID';
8622   l_transaction_table(l_count).param_value := p_actid;
8623   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
8624 --
8625   l_count := l_count + 1;
8626   l_transaction_table(l_count).param_name := 'P_EFFECTIVE_DATE';
8627   l_transaction_table(l_count).param_value := to_char(p_effective_date,
8628                                               hr_transaction_ss.g_date_format);
8629   l_transaction_table(l_count).param_data_type := 'DATE';
8630 --
8631   l_count := l_count + 1;
8632   l_transaction_table(l_count).param_name := 'P_ATTRIBUTE_UPDATE_MODE';
8633   l_transaction_table(l_count).param_value := p_attribute_update_mode;
8634   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
8635 --
8636   l_count := l_count + 1;
8637   l_transaction_table(l_count).param_name := 'P_OBJECT_VERSION_NUMBER';
8638   l_transaction_table(l_count).param_value := p_object_version_number;
8639   l_transaction_table(l_count).param_data_type := 'NUMBER';
8640 --
8641  l_count := l_count + 1;
8642   l_transaction_table(l_count).param_name := 'P_APPLICANT_NUMBER';
8643   l_transaction_table(l_count).param_value := p_applicant_number;
8644   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
8645 --
8646   l_count := l_count + 1;
8647   l_transaction_table(l_count).param_name := 'P_COMMENTS';
8648   l_transaction_table(l_count).param_value := l_comments;
8649   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
8650 --
8651   l_count := l_count + 1;
8652   l_transaction_table(l_count).param_name := 'P_EMPLOYEE_NUMBER';
8653   l_transaction_table(l_count).param_value := p_employee_number;
8654   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
8655 --
8656   l_count := l_count + 1;
8657   l_transaction_table(l_count).param_name := 'P_NPW_NUMBER';
8658   l_transaction_table(l_count).param_value := p_npw_number;
8659   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
8660 --
8661   l_count := l_count + 1;
8662   l_transaction_table(l_count).param_name := 'P_HOLD_APPLICANT_DATE_UNTIL';
8663   l_transaction_table(l_count).param_value := to_char
8664                                               (p_hold_applicant_date_until
8665                                               ,hr_transaction_ss.g_date_format);
8666   l_transaction_table(l_count).param_data_type := 'DATE';
8667 --
8668   l_count := l_count + 1;
8669   l_transaction_table(l_count).param_name := 'P_REHIRE_AUTHORIZOR';
8670   l_transaction_table(l_count).param_value := p_rehire_authorizor;
8671   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
8672 --
8673   l_count := l_count + 1;
8674   l_transaction_table(l_count).param_name := 'P_REHIRE_RECOMMENDATION';
8675   l_transaction_table(l_count).param_value := p_rehire_recommendation;
8676   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
8677 --
8678   l_count := l_count + 1;
8679   l_transaction_table(l_count).param_name := 'P_REHIRE_REASON';
8680   l_transaction_table(l_count).param_value := p_rehire_reason;
8681   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
8682 --
8683   l_count := l_count + 1;
8684   l_transaction_table(l_count).param_name := 'P_FULL_NAME';
8685   l_transaction_table(l_count).param_value := l_full_name;
8686   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
8687  --
8688 -- start cobra codes
8689   l_count := l_count + 1;
8690   l_transaction_table(l_count).param_name := 'P_FLOW_NAME';
8691   l_transaction_table(l_count).param_value := p_flow_name;
8692   l_transaction_table(l_count).param_data_type := 'VARCHAR2';
8693  --
8694  -- end cobra codes
8695 --
8696   l_count := l_count + 1;
8697   l_transaction_table(l_count).param_name := 'P_APPL_ASSIGNMENT_ID';
8698   l_transaction_table(l_count).param_value := l_appl_assignment_id;
8699   l_transaction_table(l_count).param_data_type := 'NUMBER';
8700 --
8701 
8702 --
8703   l_count := l_count + 1;
8704   l_transaction_table(l_count).param_name := 'P_PARTY_ID';
8705   l_transaction_table(l_count).param_value := p_party_id;
8706   l_transaction_table(l_count).param_data_type := 'NUMBER';
8707 --
8708 
8709 
8710 
8711  hr_transaction_ss.save_transaction_step
8712                 (p_item_type => p_item_type
8713                 ,p_item_key => p_item_key
8714                 ,p_actid => p_actid
8715                 ,p_login_person_id     => p_login_person_id
8716                 ,p_transaction_step_id => l_transaction_step_id
8717                 ,p_api_name => g_package || 'PROCESS_API'
8718                 ,p_transaction_data => l_transaction_table);
8719 
8720   p_person_id := l_person_id;
8721   p_assignment_id := l_assignment_id;
8722   p_per_object_version_number := l_per_ovn;
8723   p_asg_object_version_number := l_asg_ovn;
8724   p_per_effective_start_date := l_per_effective_start_date;
8725   p_per_effective_end_date := l_per_effective_end_date;
8726   p_full_name := l_full_name;
8727   p_per_comment_id := l_per_comment_id;
8728   p_assignment_sequence := l_assignment_sequence;
8729   p_assignment_number := l_assignment_number;
8730 --
8731 -- Need to convert the boolean true/false value to varchar2 value because on
8732 -- return back to Java program which won't recognize the value.
8733   IF l_name_combination_warning
8734   THEN
8735      p_name_combination_warning := 'Y';
8736   ELSE
8737      p_name_combination_warning := 'N';
8738   END IF;
8739 --
8740   IF l_assign_payroll_warning
8741   THEN
8742      p_assign_payroll_warning := 'Y';
8743   ELSE
8744      p_assign_payroll_warning := 'N';
8745   END IF;
8746 --
8747   IF l_orig_hire_warning
8748   THEN
8749      p_orig_hire_warning := 'Y';
8750   ELSE
8751      p_orig_hire_warning := 'N';
8752   END IF;
8753 --
8754   p_employee_number := l_employee_number;
8755 
8756 
8757 IF g_debug THEN
8758   hr_utility.set_location('Leaving  hr_process_person_ss.create_person ' || g_person_id, 200);
8759 END IF;
8760 
8761 
8762 EXCEPTION
8763   WHEN g_data_error THEN
8764     hr_utility.set_location('Exception:g_data_error THEN'||l_proc,560);
8765     rollback to create_person_ben_ss;
8766     p_error_message := hr_java_conv_util_ss.get_formatted_error_message(
8767                       p_error_message => p_error_message);
8768   WHEN others THEN
8769   hr_utility.set_location('Exception:Others'||l_proc,555);
8770 --  This should be included as an out param for the procedure "create_person".
8771 --  Along with this change include also the appropriate changes in the java that calls this api.
8772 --
8773     p_error_message := hr_java_conv_util_ss.get_formatted_error_message(
8774                           p_error_message => p_error_message);
8775     rollback to create_person_ben_ss;
8776 
8777 END create_person;
8778 --
8779 --   End Registration
8780 --
8781 
8782 /* see header for comments */
8783 
8784 procedure process_applicant(
8785     p_effective_date   in date
8786    ,p_person_id        in number
8787     ,p_business_group_id    in number
8788    ,p_assignment_id        in number
8789    ,p_is_payroll_upd out nocopy boolean
8790    ) is
8791 
8792   l_address_line1 per_addresses.address_line1%type;
8793   l_date_of_birth per_all_people_f.date_of_birth%type;
8794   l_legislation_code             per_business_groups.legislation_code%TYPE;
8795 
8796   cursor csr_get_person_dob is
8797      select   date_of_birth   from     per_people_f
8798      where    person_id    = p_person_id
8799      and      p_effective_date between effective_start_date
8800                                    and effective_end_date;
8801 
8802   cursor csr_pradd_exists is
8803     select   address_line1   from     per_addresses
8804     where    person_id = p_person_id    and      primary_flag='Y'
8805     and      ( (style='US' and region_1 is not null)
8806              or style<>'US');
8807 
8808   cursor csr_get_legc_code is
8809   select legislation_code  from per_business_groups_perf
8810   where business_group_id = p_business_group_id;
8811 
8812 begin
8813 p_is_payroll_upd := false;
8814 
8815   open csr_pradd_exists;
8816   fetch csr_pradd_exists into l_address_line1;
8817   close csr_pradd_exists;
8818 
8819   open csr_get_person_dob;
8820   fetch csr_get_person_dob into l_date_of_birth;
8821   close csr_get_person_dob;
8822 
8823   open csr_get_legc_code;
8824   fetch csr_get_legc_code into l_legislation_code;
8825   close csr_get_legc_code;
8826 
8827 if (hr_general.chk_geocodes_installed = 'Y'
8828       and ( ( l_legislation_code = 'CA'
8829               and hr_utility.chk_product_install(p_product => 'Oracle Payroll',
8830                                                  p_legislation => 'CA'))
8831             OR ( l_legislation_code = 'US'
8832               and hr_utility.chk_product_install(p_product => 'Oracle Payroll',
8833                                                  p_legislation => 'US')))
8834         and l_address_line1 is null) OR (l_date_of_birth is null) then
8835 
8836         update per_all_assignments_f set payroll_id=null where assignment_id = p_assignment_id and
8837         p_effective_date between effective_start_date and effective_end_date;
8838 
8839         p_is_payroll_upd := true;
8840 end if;
8841 
8842 end;
8843 
8844 END hr_process_person_ss;
8845 --
8846 --