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