DBA Data[Home] [Help]

PACKAGE BODY: APPS.IRC_PARTY_SWI

Source


1 Package Body irc_party_swi As
2 /* $Header: irhzpswi.pkb 120.3.12010000.3 2009/06/04 10:16:27 vmummidi ship $ */
3 --
4 -- Package variables
5 --
6 g_package  varchar2(33) := 'irc_party_swi.';
7 --
8 -- ----------------------------------------------------------------------------
9 -- |------------------------< create_candidate_internal >---------------------|
10 -- ----------------------------------------------------------------------------
11 PROCEDURE create_candidate_internal
12   (p_validate                     in     number    default hr_api.g_false_num
13   ,p_person_id                    in     number
14   ,p_business_group_id            in     number
15   ,p_last_name                    in     varchar2
16   ,p_first_name                   in     varchar2  default null
17   ,p_date_of_birth                in     date      default null
18   ,p_email_address                in     varchar2  default null
19   ,p_title                        in     varchar2  default null
20   ,p_gender                       in     varchar2  default null
21   ,p_marital_status               in     varchar2  default null
22   ,p_previous_last_name           in     varchar2  default null
23   ,p_middle_name                  in     varchar2  default null
24   ,p_name_suffix                  in     varchar2  default null
25   ,p_known_as                     in     varchar2  default null
26   ,p_first_name_phonetic          in     varchar2  default null
27   ,p_last_name_phonetic           in     varchar2  default null
28   ,p_attribute_category           in     varchar2  default null
29   ,p_attribute1                   in     varchar2  default null
30   ,p_attribute2                   in     varchar2  default null
31   ,p_attribute3                   in     varchar2  default null
32   ,p_attribute4                   in     varchar2  default null
33   ,p_attribute5                   in     varchar2  default null
34   ,p_attribute6                   in     varchar2  default null
35   ,p_attribute7                   in     varchar2  default null
36   ,p_attribute8                   in     varchar2  default null
37   ,p_attribute9                   in     varchar2  default null
38   ,p_attribute10                  in     varchar2  default null
39   ,p_attribute11                  in     varchar2  default null
40   ,p_attribute12                  in     varchar2  default null
41   ,p_attribute13                  in     varchar2  default null
42   ,p_attribute14                  in     varchar2  default null
43   ,p_attribute15                  in     varchar2  default null
44   ,p_attribute16                  in     varchar2  default null
45   ,p_attribute17                  in     varchar2  default null
46   ,p_attribute18                  in     varchar2  default null
47   ,p_attribute19                  in     varchar2  default null
48   ,p_attribute20                  in     varchar2  default null
49   ,p_attribute21                  in     varchar2  default null
50   ,p_attribute22                  in     varchar2  default null
51   ,p_attribute23                  in     varchar2  default null
52   ,p_attribute24                  in     varchar2  default null
53   ,p_attribute25                  in     varchar2  default null
54   ,p_attribute26                  in     varchar2  default null
55   ,p_attribute27                  in     varchar2  default null
56   ,p_attribute28                  in     varchar2  default null
57   ,p_attribute29                  in     varchar2  default null
58   ,p_attribute30                  in     varchar2  default null
59   ,p_per_information_category     in     varchar2  default null
60   ,p_per_information1             in     varchar2  default null
61   ,p_per_information2             in     varchar2  default null
62   ,p_per_information3             in     varchar2  default null
63   ,p_per_information4             in     varchar2  default null
64   ,p_per_information5             in     varchar2  default null
65   ,p_per_information6             in     varchar2  default null
66   ,p_per_information7             in     varchar2  default null
67   ,p_per_information8             in     varchar2  default null
68   ,p_per_information9             in     varchar2  default null
69   ,p_per_information10            in     varchar2  default null
70   ,p_per_information11            in     varchar2  default null
71   ,p_per_information12            in     varchar2  default null
72   ,p_per_information13            in     varchar2  default null
73   ,p_per_information14            in     varchar2  default null
74   ,p_per_information15            in     varchar2  default null
75   ,p_per_information16            in     varchar2  default null
76   ,p_per_information17            in     varchar2  default null
77   ,p_per_information18            in     varchar2  default null
78   ,p_per_information19            in     varchar2  default null
79   ,p_per_information20            in     varchar2  default null
80   ,p_per_information21            in     varchar2  default null
81   ,p_per_information22            in     varchar2  default null
82   ,p_per_information23            in     varchar2  default null
83   ,p_per_information24            in     varchar2  default null
84   ,p_per_information25            in     varchar2  default null
85   ,p_per_information26            in     varchar2  default null
86   ,p_per_information27            in     varchar2  default null
87   ,p_per_information28            in     varchar2  default null
88   ,p_per_information29            in     varchar2  default null
89   ,p_per_information30            in     varchar2  default null
90   ,p_nationality                  in     varchar2  default null
91   ,p_national_identifier          in     varchar2  default null
92   ,p_town_of_birth                in     varchar2  default null
93   ,p_region_of_birth              in     varchar2  default null
94   ,p_country_of_birth             in     varchar2  default null
95   ,p_effective_start_date         out nocopy date
96   ,p_effective_end_date           out nocopy date
97   ,p_object_version_number        out nocopy number
98   ,p_return_status                out nocopy varchar2
99   ) is
100   --
101   -- Variables for API Boolean parameters
102   l_validate                      boolean;
103   --
104   l_person_id number;
105   l_person_ovn number;
106   --
107   cursor csr_person_ovn(p_person_id number) is
108   select object_version_number
109   from per_all_people_f
110   where person_id = p_person_id;
111   --
112   -- Variables for IN/OUT parameters
113   --
114   -- Other variables
115   l_proc    varchar2(72) := g_package ||'create_candidate_internal';
116 Begin
117   hr_utility.set_location(' Entering:' || l_proc,10);
118   --
119   -- Issue a savepoint
120   --
121   savepoint create_candidate_internal_swi;
122   --
123   -- Initialise Multiple Message Detection
124   --
125   hr_multi_message.enable_message_list;
126   --
127   -- Remember IN OUT parameter IN values
128   --
129   --
130   -- Convert constant values to their corresponding boolean value
131   --
132   l_validate :=
133     hr_api.constant_to_boolean
134       (p_constant_value => p_validate);
135   --
136   -- Register Person ID
137   --
138   per_per_ins.set_base_key_value(p_person_id => p_person_id);
139   --
140   -- Call API
141   --
142   irc_party_api.create_candidate_internal
143     (p_validate                     => l_validate
144     ,p_business_group_id            => p_business_group_id
145     ,p_last_name                    => p_last_name
146     ,p_first_name                   => p_first_name
147     ,p_date_of_birth                => p_date_of_birth
148     ,p_email_address                => p_email_address
149     ,p_title                        => p_title
150     ,p_gender                       => p_gender
151     ,p_marital_status               => p_marital_status
152     ,p_previous_last_name           => p_previous_last_name
153     ,p_middle_name                  => p_middle_name
154     ,p_name_suffix                  => p_name_suffix
155     ,p_known_as                     => p_known_as
156     ,p_first_name_phonetic          => p_first_name_phonetic
157     ,p_last_name_phonetic           => p_last_name_phonetic
158     ,p_attribute_category           => p_attribute_category
159     ,p_attribute1                   => p_attribute1
160     ,p_attribute2                   => p_attribute2
161     ,p_attribute3                   => p_attribute3
162     ,p_attribute4                   => p_attribute4
163     ,p_attribute5                   => p_attribute5
164     ,p_attribute6                   => p_attribute6
165     ,p_attribute7                   => p_attribute7
166     ,p_attribute8                   => p_attribute8
167     ,p_attribute9                   => p_attribute9
168     ,p_attribute10                  => p_attribute10
169     ,p_attribute11                  => p_attribute11
170     ,p_attribute12                  => p_attribute12
171     ,p_attribute13                  => p_attribute13
172     ,p_attribute14                  => p_attribute14
173     ,p_attribute15                  => p_attribute15
174     ,p_attribute16                  => p_attribute16
175     ,p_attribute17                  => p_attribute17
176     ,p_attribute18                  => p_attribute18
177     ,p_attribute19                  => p_attribute19
178     ,p_attribute20                  => p_attribute20
179     ,p_attribute21                  => p_attribute21
180     ,p_attribute22                  => p_attribute22
181     ,p_attribute23                  => p_attribute23
182     ,p_attribute24                  => p_attribute24
183     ,p_attribute25                  => p_attribute25
184     ,p_attribute26                  => p_attribute26
185     ,p_attribute27                  => p_attribute27
186     ,p_attribute28                  => p_attribute28
187     ,p_attribute29                  => p_attribute29
188     ,p_attribute30                  => p_attribute30
189     ,p_per_information_category     => p_per_information_category
190     ,p_per_information1             => p_per_information1
191     ,p_per_information2             => p_per_information2
192     ,p_per_information3             => p_per_information3
193     ,p_per_information4             => p_per_information4
194     ,p_per_information5             => p_per_information5
195     ,p_per_information6             => p_per_information6
196     ,p_per_information7             => p_per_information7
197     ,p_per_information8             => p_per_information8
198     ,p_per_information9             => p_per_information9
199     ,p_per_information10            => p_per_information10
200     ,p_per_information11            => p_per_information11
201     ,p_per_information12            => p_per_information12
202     ,p_per_information13            => p_per_information13
203     ,p_per_information14            => p_per_information14
204     ,p_per_information15            => p_per_information15
205     ,p_per_information16            => p_per_information16
206     ,p_per_information17            => p_per_information17
207     ,p_per_information18            => p_per_information18
208     ,p_per_information19            => p_per_information19
209     ,p_per_information20            => p_per_information20
210     ,p_per_information21            => p_per_information21
211     ,p_per_information22            => p_per_information22
212     ,p_per_information23            => p_per_information23
213     ,p_per_information24            => p_per_information24
214     ,p_per_information25            => p_per_information25
215     ,p_per_information26            => p_per_information26
216     ,p_per_information27            => p_per_information27
217     ,p_per_information28            => p_per_information28
218     ,p_per_information29            => p_per_information29
219     ,p_per_information30            => p_per_information30
220     ,p_nationality                  => p_nationality
221     ,p_national_identifier          => p_national_identifier
222     ,p_town_of_birth                => p_town_of_birth
223     ,p_region_of_birth              => p_region_of_birth
224     ,p_country_of_birth             => p_country_of_birth
225     ,p_person_id                    => l_person_id
226     ,p_effective_start_date         => p_effective_start_date
227     ,p_effective_end_date           => p_effective_end_date
228     );
229   --
230   -- get object version number
231   --
232   open csr_person_ovn(p_person_id);
233   fetch csr_person_ovn into l_person_ovn;
234   close csr_person_ovn;
235   p_object_version_number := l_person_ovn;
236   --
237   -- Convert API warning boolean parameter values to specific
238   -- messages and add them to Multiple Message List
239   --
240   --
241   -- Convert API non-warning boolean parameter values
242   --
243   --
244   -- Derive the API return status value based on whether
245   -- messages of any type exist in the Multiple Message List.
246   -- Also disable Multiple Message Detection.
247   --
248   p_return_status := hr_multi_message.get_return_status_disable;
249   hr_utility.set_location(' Leaving:' || l_proc,20);
250   --
251 exception
252   when hr_multi_message.error_message_exist then
253     --
254     -- Catch the Multiple Message List exception which
255     -- indicates API processing has been aborted because
256     -- at least one message exists in the list.
257     --
258     rollback to create_candidate_internal_swi;
259     --
260     -- Reset IN OUT parameters and set OUT parameters
261     --
262     p_effective_start_date         := null;
263     p_effective_end_date           := null;
264     p_return_status := hr_multi_message.get_return_status_disable;
265     hr_utility.set_location(' Leaving:' || l_proc, 30);
266   when others then
267     --
268     -- When Multiple Message Detection is enabled catch
269     -- any Application specific or other unexpected
270     -- exceptions.  Adding appropriate details to the
271     -- Multiple Message List.  Otherwise re-raise the
272     -- error.
273     --
274     rollback to create_candidate_internal_swi;
275     if hr_multi_message.unexpected_error_add(l_proc) then
276        hr_utility.set_location(' Leaving:' || l_proc,40);
277        raise;
278     end if;
279     --
280     -- Reset IN OUT and set OUT parameters
281     --
282     p_effective_start_date         := null;
283     p_effective_end_date           := null;
284     p_return_status := hr_multi_message.get_return_status_disable;
285     hr_utility.set_location(' Leaving:' || l_proc,50);
286 end create_candidate_internal;
287 --
288 -- ----------------------------------------------------------------------------
289 -- |------------------------< create_registered_user >------------------------|
290 -- ----------------------------------------------------------------------------
291 PROCEDURE create_registered_user
292   (p_validate                     in     number    default hr_api.g_false_num
293   ,p_last_name                    in     varchar2
294   ,p_first_name                   in     varchar2  default null
295   ,p_date_of_birth                in     date      default null
296   ,p_title                        in     varchar2  default null
297   ,p_gender                       in     varchar2  default null
298   ,p_marital_status               in     varchar2  default null
299   ,p_previous_last_name           in     varchar2  default null
300   ,p_middle_name                  in     varchar2  default null
301   ,p_name_suffix                  in     varchar2  default null
302   ,p_known_as                     in     varchar2  default null
303   ,p_first_name_phonetic          in     varchar2  default null
304   ,p_last_name_phonetic           in     varchar2  default null
305   ,p_attribute_category           in     varchar2  default null
306   ,p_attribute1                   in     varchar2  default null
307   ,p_attribute2                   in     varchar2  default null
308   ,p_attribute3                   in     varchar2  default null
309   ,p_attribute4                   in     varchar2  default null
310   ,p_attribute5                   in     varchar2  default null
311   ,p_attribute6                   in     varchar2  default null
312   ,p_attribute7                   in     varchar2  default null
313   ,p_attribute8                   in     varchar2  default null
314   ,p_attribute9                   in     varchar2  default null
315   ,p_attribute10                  in     varchar2  default null
316   ,p_attribute11                  in     varchar2  default null
317   ,p_attribute12                  in     varchar2  default null
318   ,p_attribute13                  in     varchar2  default null
319   ,p_attribute14                  in     varchar2  default null
320   ,p_attribute15                  in     varchar2  default null
321   ,p_attribute16                  in     varchar2  default null
322   ,p_attribute17                  in     varchar2  default null
323   ,p_attribute18                  in     varchar2  default null
324   ,p_attribute19                  in     varchar2  default null
325   ,p_attribute20                  in     varchar2  default null
326   ,p_attribute21                  in     varchar2  default null
327   ,p_attribute22                  in     varchar2  default null
328   ,p_attribute23                  in     varchar2  default null
329   ,p_attribute24                  in     varchar2  default null
330   ,p_attribute25                  in     varchar2  default null
331   ,p_attribute26                  in     varchar2  default null
332   ,p_attribute27                  in     varchar2  default null
333   ,p_attribute28                  in     varchar2  default null
334   ,p_attribute29                  in     varchar2  default null
335   ,p_attribute30                  in     varchar2  default null
336   ,p_per_information_category     in     varchar2  default null
337   ,p_per_information1             in     varchar2  default null
338   ,p_per_information2             in     varchar2  default null
339   ,p_per_information3             in     varchar2  default null
340   ,p_per_information4             in     varchar2  default null
341   ,p_per_information5             in     varchar2  default null
342   ,p_per_information6             in     varchar2  default null
343   ,p_per_information7             in     varchar2  default null
344   ,p_per_information8             in     varchar2  default null
345   ,p_per_information9             in     varchar2  default null
346   ,p_per_information10            in     varchar2  default null
347   ,p_per_information11            in     varchar2  default null
348   ,p_per_information12            in     varchar2  default null
349   ,p_per_information13            in     varchar2  default null
350   ,p_per_information14            in     varchar2  default null
351   ,p_per_information15            in     varchar2  default null
352   ,p_per_information16            in     varchar2  default null
353   ,p_per_information17            in     varchar2  default null
354   ,p_per_information18            in     varchar2  default null
355   ,p_per_information19            in     varchar2  default null
356   ,p_per_information20            in     varchar2  default null
357   ,p_per_information21            in     varchar2  default null
358   ,p_per_information22            in     varchar2  default null
359   ,p_per_information23            in     varchar2  default null
360   ,p_per_information24            in     varchar2  default null
361   ,p_per_information25            in     varchar2  default null
362   ,p_per_information26            in     varchar2  default null
363   ,p_per_information27            in     varchar2  default null
364   ,p_per_information28            in     varchar2  default null
365   ,p_per_information29            in     varchar2  default null
366   ,p_per_information30            in     varchar2  default null
367   ,p_effective_start_date         out nocopy date
368   ,p_effective_end_date           out nocopy date
369   ,p_person_id                    out nocopy number
370   ,p_return_status                out nocopy varchar2
371   ) is
372   --
373   -- Variables for API Boolean parameters
374   l_validate                      boolean;
375   --
376   -- Variables for IN/OUT parameters
377   --
378   -- Other variables
379   l_proc    varchar2(72) := g_package ||'create_registered_user';
380 Begin
381   hr_utility.set_location(' Entering:' || l_proc,10);
382   --
383   -- Issue a savepoint
384   --
385   savepoint create_registered_user_swi;
386   --
387   -- Initialise Multiple Message Detection
388   --
389   hr_multi_message.enable_message_list;
390   --
391   -- Remember IN OUT parameter IN values
392   --
393   --
394   -- Convert constant values to their corresponding boolean value
395   --
396   l_validate :=
397     hr_api.constant_to_boolean
398       (p_constant_value => p_validate);
399   --
400   -- Register Surrogate ID or user key values
401   --
402   --
403   -- Call API
404   --
405   irc_party_api.create_registered_user
406     (p_validate                     => l_validate
407     ,p_last_name                    => p_last_name
408     ,p_first_name                   => p_first_name
409     ,p_date_of_birth                => p_date_of_birth
410     ,p_title                        => p_title
411     ,p_gender                       => p_gender
412     ,p_marital_status               => p_marital_status
413     ,p_previous_last_name           => p_previous_last_name
414     ,p_middle_name                  => p_middle_name
415     ,p_name_suffix                  => p_name_suffix
416     ,p_known_as                     => p_known_as
417     ,p_first_name_phonetic          => p_first_name_phonetic
418     ,p_last_name_phonetic           => p_last_name_phonetic
419     ,p_attribute_category           => p_attribute_category
420     ,p_attribute1                   => p_attribute1
421     ,p_attribute2                   => p_attribute2
422     ,p_attribute3                   => p_attribute3
423     ,p_attribute4                   => p_attribute4
424     ,p_attribute5                   => p_attribute5
425     ,p_attribute6                   => p_attribute6
426     ,p_attribute7                   => p_attribute7
427     ,p_attribute8                   => p_attribute8
428     ,p_attribute9                   => p_attribute9
429     ,p_attribute10                  => p_attribute10
430     ,p_attribute11                  => p_attribute11
431     ,p_attribute12                  => p_attribute12
432     ,p_attribute13                  => p_attribute13
433     ,p_attribute14                  => p_attribute14
434     ,p_attribute15                  => p_attribute15
435     ,p_attribute16                  => p_attribute16
436     ,p_attribute17                  => p_attribute17
437     ,p_attribute18                  => p_attribute18
438     ,p_attribute19                  => p_attribute19
439     ,p_attribute20                  => p_attribute20
440     ,p_attribute21                  => p_attribute21
441     ,p_attribute22                  => p_attribute22
442     ,p_attribute23                  => p_attribute23
443     ,p_attribute24                  => p_attribute24
444     ,p_attribute25                  => p_attribute25
445     ,p_attribute26                  => p_attribute26
446     ,p_attribute27                  => p_attribute27
447     ,p_attribute28                  => p_attribute28
448     ,p_attribute29                  => p_attribute29
449     ,p_attribute30                  => p_attribute30
450     ,p_per_information_category     => p_per_information_category
451     ,p_per_information1             => p_per_information1
452     ,p_per_information2             => p_per_information2
453     ,p_per_information3             => p_per_information3
454     ,p_per_information4             => p_per_information4
455     ,p_per_information5             => p_per_information5
456     ,p_per_information6             => p_per_information6
457     ,p_per_information7             => p_per_information7
458     ,p_per_information8             => p_per_information8
459     ,p_per_information9             => p_per_information9
460     ,p_per_information10            => p_per_information10
461     ,p_per_information11            => p_per_information11
462     ,p_per_information12            => p_per_information12
463     ,p_per_information13            => p_per_information13
464     ,p_per_information14            => p_per_information14
465     ,p_per_information15            => p_per_information15
466     ,p_per_information16            => p_per_information16
467     ,p_per_information17            => p_per_information17
468     ,p_per_information18            => p_per_information18
469     ,p_per_information19            => p_per_information19
470     ,p_per_information20            => p_per_information20
471     ,p_per_information21            => p_per_information21
472     ,p_per_information22            => p_per_information22
473     ,p_per_information23            => p_per_information23
474     ,p_per_information24            => p_per_information24
475     ,p_per_information25            => p_per_information25
476     ,p_per_information26            => p_per_information26
477     ,p_per_information27            => p_per_information27
478     ,p_per_information28            => p_per_information28
479     ,p_per_information29            => p_per_information29
480     ,p_per_information30            => p_per_information30
481     ,p_person_id                    => p_person_id
482     ,p_effective_start_date         => p_effective_start_date
483     ,p_effective_end_date           => p_effective_end_date
484     );
485   --
486   -- Convert API warning boolean parameter values to specific
487   -- messages and add them to Multiple Message List
488   --
489   --
490   -- Convert API non-warning boolean parameter values
491   --
492   --
493   -- Derive the API return status value based on whether
494   -- messages of any type exist in the Multiple Message List.
495   -- Also disable Multiple Message Detection.
496   --
497   p_return_status := hr_multi_message.get_return_status_disable;
498   hr_utility.set_location(' Leaving:' || l_proc,20);
499   --
500 exception
501   when hr_multi_message.error_message_exist then
502     --
503     -- Catch the Multiple Message List exception which
504     -- indicates API processing has been aborted because
505     -- at least one message exists in the list.
506     --
507     rollback to create_registered_user_swi;
508     --
509     -- Reset IN OUT parameters and set OUT parameters
510     --
511     p_effective_start_date         := null;
512     p_effective_end_date           := null;
513     p_person_id                    := null;
514     p_return_status := hr_multi_message.get_return_status_disable;
515     hr_utility.set_location(' Leaving:' || l_proc, 30);
516   when others then
517     --
518     -- When Multiple Message Detection is enabled catch
519     -- any Application specific or other unexpected
520     -- exceptions.  Adding appropriate details to the
521     -- Multiple Message List.  Otherwise re-raise the
522     -- error.
523     --
524     rollback to create_registered_user_swi;
525     if hr_multi_message.unexpected_error_add(l_proc) then
526        hr_utility.set_location(' Leaving:' || l_proc,40);
527        raise;
528     end if;
529     --
530     -- Reset IN OUT and set OUT parameters
531     --
532     p_effective_start_date         := null;
533     p_effective_end_date           := null;
534     p_person_id                    := null;
535     p_return_status := hr_multi_message.get_return_status_disable;
536     hr_utility.set_location(' Leaving:' || l_proc,50);
537 end create_registered_user;
538 -- ----------------------------------------------------------------------------
539 -- |----------------------< registered_user_application >---------------------|
540 -- ----------------------------------------------------------------------------
541 PROCEDURE registered_user_application
542   (p_validate                     in     number    default hr_api.g_false_num
543   ,p_effective_date               in     date
544   ,p_recruitment_person_id        in     number
545   ,p_person_id                    in     number
546   ,p_assignment_id                in     number
547   ,p_application_received_date    in     date      default null
548   ,p_vacancy_id                   in     number    default null
549   ,p_posting_content_id           in     number    default null
550   ,p_per_information4             in     per_all_people_f.per_information4%type   default null
551   ,p_per_object_version_number       out nocopy number
552   ,p_asg_object_version_number       out nocopy number
553   ,p_recruitment_person_ovn          out nocopy number
554   ,p_applicant_number                out nocopy varchar2
555   ,p_return_status                   out nocopy varchar2
556   ) is
557   --
558   -- Variables for API Boolean parameters
559   l_validate                      boolean;
560   -- Added for turn off key flex field validation
561   --
562   -- Variables for IN/OUT parameters
563   --
564   -- Other variables
565   l_recruitment_person_ovn number;
566   l_proc    varchar2(72) := g_package ||'registered_user_application';
567   --
568   cursor csr_person_ovn(p_person_id number
569                        ,p_effective_date date) is
570   select object_version_number
571   from per_all_people_f
572   where person_id = p_person_id
573   and p_effective_date between effective_start_date and effective_end_date;
574   --
575 Begin
576   hr_utility.set_location(' Entering:' || l_proc,10);
577   --
578   -- Issue a savepoint
579   --
580   savepoint registered_user_application;
581   --
582   -- Initialise Multiple Message Detection
583   --
584   hr_multi_message.enable_message_list;
585   --
586   -- Remember IN OUT parameter IN values
587   --
588   --
589   -- Convert constant values to their corresponding boolean value
590   --
591   l_validate :=
592     hr_api.constant_to_boolean
593       (p_constant_value => p_validate);
594   --
595   -- Register Surrogate ID or user key values
596   --
597   --
598   -- Call API
599   --
600 
601   irc_party_api.registered_user_application
602     (p_validate                     => l_validate
603     ,p_effective_date               => p_effective_date
604     ,p_recruitment_person_id        => p_recruitment_person_id
605     ,p_person_id                    => p_person_id
606     ,p_application_received_date    => p_application_received_date
607     ,p_vacancy_id                   => p_vacancy_id
608     ,p_posting_content_id           => p_posting_content_id
609     ,p_assignment_id                => p_assignment_id
610     ,p_per_object_version_number    => p_per_object_version_number
611     ,p_asg_object_version_number    => p_asg_object_version_number
612     ,p_applicant_number             => p_applicant_number
613     ,p_per_information4             => p_per_information4
614     );
615   --
616   open csr_person_ovn(p_recruitment_person_id,p_effective_date);
617   fetch csr_person_ovn into l_recruitment_person_ovn;
618   close csr_person_ovn;
619   p_recruitment_person_ovn := l_recruitment_person_ovn;
620   --
621   -- Convert API warning boolean parameter values to specific
622   -- messages and add them to Multiple Message List
623   --
624   --
625   -- Convert API non-warning boolean parameter values
626   --
627   --
628   -- Derive the API return status value based on whether
629   -- messages of any type exist in the Multiple Message List.
630   -- Also disable Multiple Message Detection.
631   --
632   p_return_status := hr_multi_message.get_return_status_disable;
633   hr_utility.set_location(' Leaving:' || l_proc,20);
634   --
635 exception
636   when hr_multi_message.error_message_exist then
637     --
638     -- Catch the Multiple Message List exception which
639     -- indicates API processing has been aborted because
640     -- at least one message exists in the list.
641     --
642     rollback to registered_user_application;
643     --
644     -- Reset IN OUT parameters and set OUT parameters
645     --
646     p_per_object_version_number    := null;
647     p_asg_object_version_number    := null;
648     p_return_status := hr_multi_message.get_return_status_disable;
649     hr_utility.set_location(' Leaving:' || l_proc, 30);
650   when others then
651     --
652     -- When Multiple Message Detection is enabled catch
653     -- any Application specific or other unexpected
654     -- exceptions.  Adding appropriate details to the
655     -- Multiple Message List.  Otherwise re-raise the
656     -- error.
657     --
658     rollback to registered_user_application;
659     if hr_multi_message.unexpected_error_add(l_proc) then
660        hr_utility.set_location(' Leaving:' || l_proc,40);
661        raise;
662     end if;
663     --
664     -- Reset IN OUT and set OUT parameters
665     --
666     p_per_object_version_number    := null;
667     p_asg_object_version_number    := null;
668     p_return_status := hr_multi_message.get_return_status_disable;
669     hr_utility.set_location(' Leaving:' || l_proc,50);
670 end registered_user_application;
671 -- ----------------------------------------------------------------------------
672 -- |------------------------< update_registered_user >------------------------|
673 -- ----------------------------------------------------------------------------
674 PROCEDURE update_registered_user
675   (p_validate                     in     number    default hr_api.g_false_num
676   ,p_effective_date               in     date
677   ,p_person_id                    in     number
678   ,p_first_name                   in     varchar2  default hr_api.g_varchar2
679   ,p_last_name                    in     varchar2  default hr_api.g_varchar2
680   ,p_date_of_birth                in     date      default hr_api.g_date
681   ,p_title                        in     varchar2  default hr_api.g_varchar2
682   ,p_gender                       in     varchar2  default hr_api.g_varchar2
683   ,p_marital_status               in     varchar2  default hr_api.g_varchar2
684   ,p_previous_last_name           in     varchar2  default hr_api.g_varchar2
685   ,p_middle_name                  in     varchar2  default hr_api.g_varchar2
686   ,p_name_suffix                  in     varchar2  default hr_api.g_varchar2
687   ,p_known_as                     in     varchar2  default hr_api.g_varchar2
688   ,p_first_name_phonetic          in     varchar2  default hr_api.g_varchar2
689   ,p_last_name_phonetic           in     varchar2  default hr_api.g_varchar2
690   ,p_attribute_category           in     varchar2  default hr_api.g_varchar2
691   ,p_attribute1                   in     varchar2  default hr_api.g_varchar2
692   ,p_attribute2                   in     varchar2  default hr_api.g_varchar2
693   ,p_attribute3                   in     varchar2  default hr_api.g_varchar2
694   ,p_attribute4                   in     varchar2  default hr_api.g_varchar2
695   ,p_attribute5                   in     varchar2  default hr_api.g_varchar2
696   ,p_attribute6                   in     varchar2  default hr_api.g_varchar2
697   ,p_attribute7                   in     varchar2  default hr_api.g_varchar2
698   ,p_attribute8                   in     varchar2  default hr_api.g_varchar2
699   ,p_attribute9                   in     varchar2  default hr_api.g_varchar2
700   ,p_attribute10                  in     varchar2  default hr_api.g_varchar2
701   ,p_attribute11                  in     varchar2  default hr_api.g_varchar2
702   ,p_attribute12                  in     varchar2  default hr_api.g_varchar2
703   ,p_attribute13                  in     varchar2  default hr_api.g_varchar2
704   ,p_attribute14                  in     varchar2  default hr_api.g_varchar2
705   ,p_attribute15                  in     varchar2  default hr_api.g_varchar2
706   ,p_attribute16                  in     varchar2  default hr_api.g_varchar2
707   ,p_attribute17                  in     varchar2  default hr_api.g_varchar2
708   ,p_attribute18                  in     varchar2  default hr_api.g_varchar2
709   ,p_attribute19                  in     varchar2  default hr_api.g_varchar2
710   ,p_attribute20                  in     varchar2  default hr_api.g_varchar2
711   ,p_attribute21                  in     varchar2  default hr_api.g_varchar2
712   ,p_attribute22                  in     varchar2  default hr_api.g_varchar2
713   ,p_attribute23                  in     varchar2  default hr_api.g_varchar2
714   ,p_attribute24                  in     varchar2  default hr_api.g_varchar2
715   ,p_attribute25                  in     varchar2  default hr_api.g_varchar2
716   ,p_attribute26                  in     varchar2  default hr_api.g_varchar2
717   ,p_attribute27                  in     varchar2  default hr_api.g_varchar2
718   ,p_attribute28                  in     varchar2  default hr_api.g_varchar2
719   ,p_attribute29                  in     varchar2  default hr_api.g_varchar2
720   ,p_attribute30                  in     varchar2  default hr_api.g_varchar2
721   ,p_per_information_category     in     varchar2  default hr_api.g_varchar2
722   ,p_per_information1             in     varchar2  default hr_api.g_varchar2
723   ,p_per_information2             in     varchar2  default hr_api.g_varchar2
724   ,p_per_information3             in     varchar2  default hr_api.g_varchar2
725   ,p_per_information4             in     varchar2  default hr_api.g_varchar2
726   ,p_per_information5             in     varchar2  default hr_api.g_varchar2
727   ,p_per_information6             in     varchar2  default hr_api.g_varchar2
728   ,p_per_information7             in     varchar2  default hr_api.g_varchar2
729   ,p_per_information8             in     varchar2  default hr_api.g_varchar2
730   ,p_per_information9             in     varchar2  default hr_api.g_varchar2
731   ,p_per_information10            in     varchar2  default hr_api.g_varchar2
732   ,p_per_information11            in     varchar2  default hr_api.g_varchar2
733   ,p_per_information12            in     varchar2  default hr_api.g_varchar2
734   ,p_per_information13            in     varchar2  default hr_api.g_varchar2
735   ,p_per_information14            in     varchar2  default hr_api.g_varchar2
736   ,p_per_information15            in     varchar2  default hr_api.g_varchar2
737   ,p_per_information16            in     varchar2  default hr_api.g_varchar2
738   ,p_per_information17            in     varchar2  default hr_api.g_varchar2
739   ,p_per_information18            in     varchar2  default hr_api.g_varchar2
740   ,p_per_information19            in     varchar2  default hr_api.g_varchar2
741   ,p_per_information20            in     varchar2  default hr_api.g_varchar2
742   ,p_per_information21            in     varchar2  default hr_api.g_varchar2
743   ,p_per_information22            in     varchar2  default hr_api.g_varchar2
744   ,p_per_information23            in     varchar2  default hr_api.g_varchar2
745   ,p_per_information24            in     varchar2  default hr_api.g_varchar2
746   ,p_per_information25            in     varchar2  default hr_api.g_varchar2
747   ,p_per_information26            in     varchar2  default hr_api.g_varchar2
748   ,p_per_information27            in     varchar2  default hr_api.g_varchar2
749   ,p_per_information28            in     varchar2  default hr_api.g_varchar2
750   ,p_per_information29            in     varchar2  default hr_api.g_varchar2
751   ,p_per_information30            in     varchar2  default hr_api.g_varchar2
752   ,p_person_ovn                   out nocopy number
753   ,p_return_status                out nocopy varchar2
754   ) is
755   --
756   -- Variables for API Boolean parameters
757   l_validate                      boolean;
758   --
759   -- Variables for IN/OUT parameters
760   --
761   -- Other variables
762   l_proc    varchar2(72) := g_package ||'update_registered_user';
763   --
764 Begin
765   hr_utility.set_location(' Entering:' || l_proc,10);
766   --
767   -- Issue a savepoint
768   --
769   savepoint update_registered_user_swi;
770   --
771   -- Initialise Multiple Message Detection
772   --
773   hr_multi_message.enable_message_list;
774   --
775   -- Remember IN OUT parameter IN values
776   --
777   --
778   -- Convert constant values to their corresponding boolean value
779   --
780   l_validate :=
781     hr_api.constant_to_boolean
782       (p_constant_value => p_validate);
783   --
784   -- Register Surrogate ID or user key values
785   --
786   --
787   -- Set the person_id global
788   --
789   irc_party_api.g_person_id := p_person_id;
790   --
791   --
792   -- Call API
793   --
794   irc_party_api.update_registered_user
795     (p_validate                     => l_validate
796     ,p_effective_date               => p_effective_date
797     ,p_person_id                    => p_person_id
798     ,p_first_name                   => p_first_name
799     ,p_last_name                    => p_last_name
800     ,p_date_of_birth                => p_date_of_birth
801     ,p_title                        => p_title
802     ,p_gender                       => p_gender
803     ,p_marital_status               => p_marital_status
804     ,p_previous_last_name           => p_previous_last_name
805     ,p_middle_name                  => p_middle_name
806     ,p_name_suffix                  => p_name_suffix
807     ,p_known_as                     => p_known_as
808     ,p_first_name_phonetic          => p_first_name_phonetic
809     ,p_last_name_phonetic           => p_last_name_phonetic
810     ,p_attribute_category           => p_attribute_category
811     ,p_attribute1                   => p_attribute1
812     ,p_attribute2                   => p_attribute2
813     ,p_attribute3                   => p_attribute3
814     ,p_attribute4                   => p_attribute4
815     ,p_attribute5                   => p_attribute5
816     ,p_attribute6                   => p_attribute6
817     ,p_attribute7                   => p_attribute7
818     ,p_attribute8                   => p_attribute8
819     ,p_attribute9                   => p_attribute9
820     ,p_attribute10                  => p_attribute10
821     ,p_attribute11                  => p_attribute11
822     ,p_attribute12                  => p_attribute12
823     ,p_attribute13                  => p_attribute13
824     ,p_attribute14                  => p_attribute14
825     ,p_attribute15                  => p_attribute15
826     ,p_attribute16                  => p_attribute16
827     ,p_attribute17                  => p_attribute17
828     ,p_attribute18                  => p_attribute18
829     ,p_attribute19                  => p_attribute19
830     ,p_attribute20                  => p_attribute20
831     ,p_attribute21                  => p_attribute21
832     ,p_attribute22                  => p_attribute22
833     ,p_attribute23                  => p_attribute23
834     ,p_attribute24                  => p_attribute24
835     ,p_attribute25                  => p_attribute25
836     ,p_attribute26                  => p_attribute26
837     ,p_attribute27                  => p_attribute27
838     ,p_attribute28                  => p_attribute28
839     ,p_attribute29                  => p_attribute29
840     ,p_attribute30                  => p_attribute30
841     ,p_per_information_category     => p_per_information_category
842     ,p_per_information1             => p_per_information1
843     ,p_per_information2             => p_per_information2
844     ,p_per_information3             => p_per_information3
845     ,p_per_information4             => p_per_information4
846     ,p_per_information5             => p_per_information5
847     ,p_per_information6             => p_per_information6
848     ,p_per_information7             => p_per_information7
849     ,p_per_information8             => p_per_information8
850     ,p_per_information9             => p_per_information9
851     ,p_per_information10            => p_per_information10
852     ,p_per_information11            => p_per_information11
853     ,p_per_information12            => p_per_information12
854     ,p_per_information13            => p_per_information13
855     ,p_per_information14            => p_per_information14
856     ,p_per_information15            => p_per_information15
857     ,p_per_information16            => p_per_information16
858     ,p_per_information17            => p_per_information17
859     ,p_per_information18            => p_per_information18
860     ,p_per_information19            => p_per_information19
861     ,p_per_information20            => p_per_information20
862     ,p_per_information21            => p_per_information21
863     ,p_per_information22            => p_per_information22
864     ,p_per_information23            => p_per_information23
865     ,p_per_information24            => p_per_information24
866     ,p_per_information25            => p_per_information25
867     ,p_per_information26            => p_per_information26
868     ,p_per_information27            => p_per_information27
869     ,p_per_information28            => p_per_information28
870     ,p_per_information29            => p_per_information29
871     ,p_per_information30            => p_per_information30
872     );
873   --
874   -- Set the person_ovn out parameter
875   --
876   p_person_ovn := irc_party_api.g_ovn_for_person;
877   --
878   -- Convert API warning boolean parameter values to specific
879   -- messages and add them to Multiple Message List
880   --
881   --
882   -- Convert API non-warning boolean parameter values
883   --
884   --
885   -- Derive the API return status value based on whether
886   -- messages of any type exist in the Multiple Message List.
887   -- Also disable Multiple Message Detection.
888   --
889   p_return_status := hr_multi_message.get_return_status_disable;
890   hr_utility.set_location(' Leaving:' || l_proc,20);
891   --
892 exception
893   when hr_multi_message.error_message_exist then
894     --
895     -- Catch the Multiple Message List exception which
896     -- indicates API processing has been aborted because
897     -- at least one message exists in the list.
898     --
899     rollback to update_registered_user_swi;
900     --
901     -- Reset IN OUT parameters and set OUT parameters
902     --
903     p_return_status := hr_multi_message.get_return_status_disable;
904     hr_utility.set_location(' Leaving:' || l_proc, 30);
905   when others then
906     --
907     -- When Multiple Message Detection is enabled catch
908     -- any Application specific or other unexpected
909     -- exceptions.  Adding appropriate details to the
910     -- Multiple Message List.  Otherwise re-raise the
911     -- error.
912     --
913     rollback to update_registered_user_swi;
914     if hr_multi_message.unexpected_error_add(l_proc) then
915        hr_utility.set_location(' Leaving:' || l_proc,40);
916        raise;
917     end if;
918     --
919     -- Reset IN OUT and set OUT parameters
920     --
921     p_return_status := hr_multi_message.get_return_status_disable;
922     hr_utility.set_location(' Leaving:' || l_proc,50);
923 end update_registered_user;
924 -- ----------------------------------------------------------------------------
925 -- |------------------------< create_user >-----------------------------------|
926 -- ----------------------------------------------------------------------------
927 PROCEDURE create_user
928    (p_user_name                 IN     varchar2
929    ,p_password                  IN     varchar2
930    ,p_start_date                IN     date
931    ,p_responsibility_id         IN     number
932    ,p_resp_appl_id              IN     number
933    ,p_security_group_id         IN     number
934    ,p_email                     IN     varchar2 default null
935    ,p_language                  IN     varchar2 default null
936   ,p_last_name                    in     varchar2  default null
937   ,p_first_name                   in     varchar2  default null
938   ,p_per_information_category     in     varchar2  default null
939   ,p_per_information1             in     varchar2  default null
940   ,p_per_information2             in     varchar2  default null
941   ,p_per_information3             in     varchar2  default null
942   ,p_per_information4             in     varchar2  default null
943   ,p_per_information5             in     varchar2  default null
944   ,p_per_information6             in     varchar2  default null
945   ,p_per_information7             in     varchar2  default null
946   ,p_per_information8             in     varchar2  default null
947   ,p_per_information9             in     varchar2  default null
948   ,p_per_information10            in     varchar2  default null
949   ,p_per_information11            in     varchar2  default null
950   ,p_per_information12            in     varchar2  default null
951   ,p_per_information13            in     varchar2  default null
952   ,p_per_information14            in     varchar2  default null
953   ,p_per_information15            in     varchar2  default null
954   ,p_per_information16            in     varchar2  default null
955   ,p_per_information17            in     varchar2  default null
956   ,p_per_information18            in     varchar2  default null
957   ,p_per_information19            in     varchar2  default null
958   ,p_per_information20            in     varchar2  default null
959   ,p_per_information21            in     varchar2  default null
960   ,p_per_information22            in     varchar2  default null
961   ,p_per_information23            in     varchar2  default null
962   ,p_per_information24            in     varchar2  default null
963   ,p_per_information25            in     varchar2  default null
964   ,p_per_information26            in     varchar2  default null
965   ,p_per_information27            in     varchar2  default null
966   ,p_per_information28            in     varchar2  default null
967   ,p_per_information29            in     varchar2  default null
968   ,p_per_information30            in     varchar2  default null
969   ,p_return_status                OUT nocopy varchar2
970   ) is
971   --
972   -- Variables for API Boolean parameters
973   --
974   -- Variables for IN/OUT parameters
975   --
976   -- Other variables
977   l_proc    varchar2(72) := g_package ||'create_user';
978 Begin
979   hr_utility.set_location(' Entering:' || l_proc,10);
980   --
981   -- Issue a savepoint
982   --
983   savepoint create_user_swi;
984   --
985   -- Initialise Multiple Message Detection
986   --
987   hr_multi_message.enable_message_list;
988   --
989   -- Remember IN OUT parameter IN values
990   --
991   --
992   -- Convert constant values to their corresponding boolean value
993   --
994   -- Register Surrogate ID or user key values
995   --
996   --
997   -- Call API
998   --
999   irc_party_api.create_user
1000     (p_user_name           => p_user_name
1001     ,p_password            => p_password
1002     ,p_start_date          => p_start_date
1003     ,p_responsibility_id   => p_responsibility_id
1004     ,p_resp_appl_id        => p_resp_appl_id
1005     ,p_security_group_id   => p_security_group_id
1006     ,p_email               => p_email
1007     ,p_language            => p_language
1008     ,p_last_name                    => p_last_name
1009     ,p_first_name                   => p_first_name
1010     ,p_per_information_category     => p_per_information_category
1011     ,p_per_information1             => p_per_information1
1012     ,p_per_information2             => p_per_information2
1013     ,p_per_information3             => p_per_information3
1014     ,p_per_information4             => p_per_information4
1015     ,p_per_information5             => p_per_information5
1016     ,p_per_information6             => p_per_information6
1017     ,p_per_information7             => p_per_information7
1018     ,p_per_information8             => p_per_information8
1019     ,p_per_information9             => p_per_information9
1020     ,p_per_information10            => p_per_information10
1021     ,p_per_information11            => p_per_information11
1022     ,p_per_information12            => p_per_information12
1023     ,p_per_information13            => p_per_information13
1024     ,p_per_information14            => p_per_information14
1025     ,p_per_information15            => p_per_information15
1026     ,p_per_information16            => p_per_information16
1027     ,p_per_information17            => p_per_information17
1028     ,p_per_information18            => p_per_information18
1029     ,p_per_information19            => p_per_information19
1030     ,p_per_information20            => p_per_information20
1031     ,p_per_information21            => p_per_information21
1032     ,p_per_information22            => p_per_information22
1033     ,p_per_information23            => p_per_information23
1034     ,p_per_information24            => p_per_information24
1035     ,p_per_information25            => p_per_information25
1036     ,p_per_information26            => p_per_information26
1037     ,p_per_information27            => p_per_information27
1038     ,p_per_information28            => p_per_information28
1039     ,p_per_information29            => p_per_information29
1040     ,p_per_information30            => p_per_information30
1041     );
1042   --
1043   -- Convert API warning boolean parameter values to specific
1044   -- messages and add them to Multiple Message List
1045   --
1046   --
1047   -- Convert API non-warning boolean parameter values
1048   --
1049   --
1050   -- Derive the API return status value based on whether
1051   -- messages of any type exist in the Multiple Message List.
1052   -- Also disable Multiple Message Detection.
1053   --
1054   p_return_status := hr_multi_message.get_return_status_disable;
1055   hr_utility.set_location(' Leaving:' || l_proc,20);
1056   --
1057 exception
1058   when hr_multi_message.error_message_exist then
1059     --
1060     -- Catch the Multiple Message List exception which
1061     -- indicates API processing has been aborted because
1062     -- at least one message exists in the list.
1063     --
1064     rollback to create_user_swi;
1065     --
1066     -- Reset IN OUT parameters and set OUT parameters
1067     --
1068     p_return_status := hr_multi_message.get_return_status_disable;
1069     hr_utility.set_location(' Leaving:' || l_proc, 30);
1070   when others then
1071     --
1072     -- When Multiple Message Detection is enabled catch
1073     -- any Application specific or other unexpected
1074     -- exceptions.  Adding appropriate details to the
1075     -- Multiple Message List.  Otherwise re-raise the
1076     -- error.
1077     --
1078     rollback to create_user_swi;
1079     if hr_multi_message.unexpected_error_add(l_proc) then
1080        hr_utility.set_location(' Leaving:' || l_proc,40);
1081        raise;
1082     end if;
1083     --
1084     -- Reset IN OUT and set OUT parameters
1085     --
1086     p_return_status := hr_multi_message.get_return_status_disable;
1087     hr_utility.set_location(' Leaving:' || l_proc,50);
1088 end create_user;
1089 -- ---------------------------------------------------------------------------
1090 -- |------------------------< self_register_user >---------------------------|
1091 -- ---------------------------------------------------------------------------
1092 procedure self_register_user
1093    (p_validate                  IN     number   default hr_api.g_false_num
1094    ,p_current_email_address     IN     varchar2
1095    ,p_responsibility_id         IN     number
1096    ,p_resp_appl_id              IN     number
1097    ,p_security_group_id         IN     number
1098    ,p_first_name                IN     varchar2 default null
1099    ,p_last_name                 IN     varchar2 default null
1100    ,p_middle_names              IN     varchar2 default null
1101    ,p_previous_last_name        IN     varchar2 default null
1102    ,p_employee_number           IN     varchar2 default null
1103    ,p_national_identifier       IN     varchar2 default null
1104    ,p_date_of_birth             IN     date     default null
1105    ,p_email_address             IN     varchar2 default null
1106    ,p_home_phone_number         IN     varchar2 default null
1107    ,p_work_phone_number         IN     varchar2 default null
1108    ,p_address_line_1            IN     varchar2 default null
1109    ,p_manager_last_name         IN     varchar2 default null
1110    ,p_allow_access              IN     varchar2 default 'N'
1111    ,p_language                  IN     varchar2 default null
1112    ,p_user_name                 IN     varchar2 default null
1113    ,p_return_status                OUT nocopy varchar2
1114    ) is
1115   --
1116   -- Variables for API Boolean parameters
1117   --
1118   l_validate boolean;
1119   --
1120   -- Variables for IN/OUT parameters
1121   --
1122   -- Other variables
1123   l_proc    varchar2(72) := g_package ||'self_register_user';
1124 Begin
1125   hr_utility.set_location(' Entering:' || l_proc,10);
1126   --
1127   -- Issue a savepoint
1128   --
1129   savepoint self_register_user_swi;
1130   --
1131   -- Initialise Multiple Message Detection
1132   --
1133   hr_multi_message.enable_message_list;
1134   --
1135   -- Remember IN OUT parameter IN values
1136   --
1137   --
1138   -- Convert constant values to their corresponding boolean value
1139   l_validate :=
1140     hr_api.constant_to_boolean
1141       (p_constant_value => p_validate);
1142   --
1143   -- Register Surrogate ID or user key values
1144   --
1145   --
1146   -- Call API
1147   --
1148     IRC_PARTY_API.SELF_REGISTER_USER
1149     (p_validate                              => l_validate
1150     ,p_current_email_address                 => p_current_email_address
1151     ,p_responsibility_id                     => p_responsibility_id
1152     ,p_resp_appl_id                          => p_resp_appl_id
1153     ,p_security_group_id                     => p_security_group_id
1154     ,p_first_name                            => p_first_name
1155     ,p_last_name                             => p_last_name
1156     ,p_middle_names                          => p_middle_names
1157     ,p_previous_last_name                    => p_previous_last_name
1158     ,p_employee_number                       => p_employee_number
1159     ,p_national_identifier                   => p_national_identifier
1160     ,p_date_of_birth                         => p_date_of_birth
1161     ,p_email_address                         => p_email_address
1162     ,p_home_phone_number                     => p_home_phone_number
1163     ,p_work_phone_number                     => p_work_phone_number
1164     ,p_address_line_1                        => p_address_line_1
1165     ,p_manager_last_name                     => p_manager_last_name
1166     ,p_allow_access                          => p_allow_access
1167     ,p_language                              => p_language
1168     ,p_user_name                             => p_user_name
1169     );
1170   --
1171   -- Convert API warning boolean parameter values to specific
1172   -- messages and add them to Multiple Message List
1173   --
1174   --
1175   -- Convert API non-warning boolean parameter values
1176   --
1177   --
1178   -- Derive the API return status value based on whether
1179   -- messages of any type exist in the Multiple Message List.
1180   -- Also disable Multiple Message Detection.
1181   --
1182   p_return_status := hr_multi_message.get_return_status_disable;
1183   hr_utility.set_location(' Leaving:' || l_proc,20);
1184   --
1185 exception
1186   when hr_multi_message.error_message_exist then
1187     --
1188     -- Catch the Multiple Message List exception which
1189     -- indicates API processing has been aborted because
1190     -- at least one message exists in the list.
1191     --
1192     rollback to self_register_user_swi;
1193     --
1194     -- Reset IN OUT parameters and set OUT parameters
1195     --
1196     p_return_status := hr_multi_message.get_return_status_disable;
1197     hr_utility.set_location(' Leaving:' || l_proc, 30);
1198   when others then
1199     --
1200     -- When Multiple Message Detection is enabled catch
1201     -- any Application specific or other unexpected
1202     -- exceptions.  Adding appropriate details to the
1203     -- Multiple Message List.  Otherwise re-raise the
1204     -- error.
1205     --
1206     rollback to self_register_user_swi;
1207     if hr_multi_message.unexpected_error_add(l_proc) then
1208        hr_utility.set_location(' Leaving:' || l_proc,40);
1209        raise;
1210     end if;
1211     --
1212     -- Reset IN OUT and set OUT parameters
1213     --
1214     p_return_status := hr_multi_message.get_return_status_disable;
1215     hr_utility.set_location(' Leaving:' || l_proc,50);
1216 end self_register_user;
1217 -- -------------------------------------------------------------------
1218 -- |------------------------< get_first_page >-----------------------|
1219 -- -------------------------------------------------------------------
1220 procedure get_first_page(p_responsibility_key in     varchar2
1221                         ,p_oasf                  out nocopy varchar2
1222                         ,p_oahp                  out nocopy varchar2) is
1223 --
1224 cursor get_function_id is
1225 select fe.function_id
1226 from fnd_menu_entries fe
1227 where fe.function_id is not null
1228 start with fe.menu_id=
1229 (select resp.menu_id from fnd_responsibility resp
1230 where resp.responsibility_key=p_responsibility_key)
1231 connect by prior fe.sub_menu_id= fe.menu_id
1232 and fe.grant_flag='Y'
1233 order by level,fe.entry_sequence;
1234 --
1235 cursor get_function_info(p_function_id number) is
1236 select fff.function_name
1237 from fnd_form_functions fff
1238 where fff.function_id=p_function_id;
1239 --
1240 cursor get_homepage is
1241 select fe.menu_id
1242 from fnd_menu_entries fe
1243 where 'HOMEPAGE'=(select fm.type from fnd_menus fm
1244 where fm.menu_id=fe.menu_id)
1245 start with fe.menu_id=
1246 (select resp.menu_id from fnd_responsibility resp
1247 where resp.responsibility_key=p_responsibility_key)
1248 connect by prior fe.sub_menu_id= fe.menu_id
1249 and fe.grant_flag='Y'
1250 order by level,fe.entry_sequence;
1251 --
1252 cursor get_menu_info(p_menu_id number) is
1253 select fm.menu_name
1254 from fnd_menus fm
1255 where fm.menu_id=p_menu_id;
1256 --
1257 l_function_id fnd_menu_entries.function_id%type;
1258 l_function_name fnd_form_functions.function_name%type;
1259 l_menu_id fnd_menu_entries.menu_id%type;
1260 l_menu_name fnd_menus.menu_name%type;
1261 --
1262 begin
1263 open get_function_id;
1264 fetch get_function_id into l_function_id;
1265 if get_function_id%notfound then
1266   close get_function_id;
1267 else
1268   close get_function_id;
1269   open get_function_info(l_function_id);
1270   fetch get_function_info into l_function_name;
1271   close get_function_info;
1272 end if;
1273 --
1274 open get_homepage;
1275 fetch get_homepage into l_menu_id;
1276 if get_homepage%notfound then
1277   close get_homepage;
1278 else
1279   close get_homepage;
1280   open get_menu_info(l_menu_id);
1281   fetch get_menu_info into l_menu_name;
1282   close get_menu_info;
1283 end if;
1284 p_oasf:=l_function_name;
1285 p_oahp:=l_menu_name;
1286 end get_first_page;
1287 -- ---------------------------------------------------------------------------
1288 -- |------------------------< create_partial_user >--------------------------|
1289 -- ---------------------------------------------------------------------------
1290 PROCEDURE create_partial_user
1291   (p_user_name                  IN      varchar2
1292   ,p_start_date                 IN      date     default null
1293   ,p_email                      IN      varchar2 default null
1294   ,p_language                   IN      varchar2 default null
1295   ,p_last_name                  IN      varchar2 default null
1296   ,p_first_name                 IN      varchar2 default null
1297   ,p_reg_bg_id                  IN      number
1298   ,p_responsibility_id          IN      number
1299   ,p_resp_appl_id               IN      number
1300   ,p_security_group_id          IN      number
1301   ,p_allow_access               IN      varchar2 default null
1302   ,p_return_status              OUT     nocopy varchar2
1303   ) is
1304     --
1305     -- Variables for API Boolean parameters
1306     --
1307     -- Variables for IN/OUT parameters
1308     --
1309     -- Other variables
1310     l_proc    varchar2(72) := g_package ||'create_partial_user';
1311 Begin
1312     hr_utility.set_location(' Entering:' || l_proc,10);
1313     --
1314     -- Issue a savepoint
1315     --
1316     savepoint create_partial_user_swi;
1317     --
1318     -- Initialise Multiple Message Detection
1319     --
1320     hr_multi_message.enable_message_list;
1321     --
1322     -- Remember IN OUT parameter IN values
1323     --
1324     --
1325     -- Convert constant values to their corresponding boolean value
1326     --
1327     -- Register Surrogate ID or user key values
1328     --
1329     --
1330     -- Call API
1331     --
1332     irc_party_api.create_partial_user
1333     (p_user_name           => p_user_name
1334     ,p_start_date          => p_start_date
1335     ,p_email               => p_email
1336     ,p_language            => p_language
1337     ,p_last_name           => p_last_name
1338     ,p_first_name          => p_first_name
1339     ,p_reg_bg_id               => p_reg_bg_id
1340     ,p_responsibility_id   => p_responsibility_id
1341     ,p_resp_appl_id        => p_resp_appl_id
1342     ,p_security_group_id   => p_security_group_id
1343     ,p_allow_access        => p_allow_access
1344     );
1345     --
1346     -- Convert API warning boolean parameter values to specific
1347     -- messages and add them to Multiple Message List
1348     --
1349     --
1350     -- Convert API non-warning boolean parameter values
1351     --
1352     --
1353     -- Derive the API return status value based on whether
1354     -- messages of any type exist in the Multiple Message List.
1355     -- Also disable Multiple Message Detection.
1356     --
1357     p_return_status := hr_multi_message.get_return_status_disable;
1358     hr_utility.set_location(' Leaving:' || l_proc,20);
1359     --
1360 exception
1361   when hr_multi_message.error_message_exist then
1362     --
1363     -- Catch the Multiple Message List exception which
1364     -- indicates API processing has been aborted because
1365     -- at least one message exists in the list.
1366     --
1367     rollback to create_partial_user_swi;
1368     --
1369     -- Reset IN OUT parameters and set OUT parameters
1370     --
1371     p_return_status := hr_multi_message.get_return_status_disable;
1372     hr_utility.set_location(' Leaving:' || l_proc, 30);
1373   when others then
1374     --
1375     -- When Multiple Message Detection is enabled catch
1376     -- any Application specific or other unexpected
1377     -- exceptions.  Adding appropriate details to the
1378     -- Multiple Message List.  Otherwise re-raise the
1379     -- error.
1380     --
1381     rollback to create_partial_user_swi;
1382     if hr_multi_message.unexpected_error_add(l_proc) then
1383        hr_utility.set_location(' Leaving:' || l_proc,40);
1384        raise;
1385     end if;
1386     --
1387     -- Reset IN OUT and set OUT parameters
1388     --
1389     p_return_status := hr_multi_message.get_return_status_disable;
1390     hr_utility.set_location(' Leaving:' || l_proc,50);
1391 end create_partial_user;
1392 --
1393 --
1394 -- ----------------------------------------------------------------------------
1395 -- |------------------------< create_user_byReferral >-----------------------------------|
1396 -- ----------------------------------------------------------------------------
1397 PROCEDURE create_user_byReferral
1398    (p_user_name                 IN     varchar2
1399    ,p_password                  IN     varchar2
1400    ,p_start_date                IN     date
1401    ,p_responsibility_id         IN     number
1402    ,p_resp_appl_id              IN     number
1403    ,p_security_group_id         IN     number
1404    ,p_email                     IN     varchar2 default null
1405    ,p_language                  IN     varchar2 default null
1406   ,p_last_name                    in     varchar2  default null
1407   ,p_first_name                   in     varchar2  default null
1408   ,p_per_information_category     in     varchar2  default null
1409   ,p_per_information1             in     varchar2  default null
1410   ,p_per_information2             in     varchar2  default null
1411   ,p_per_information3             in     varchar2  default null
1412   ,p_per_information4             in     varchar2  default null
1413   ,p_per_information5             in     varchar2  default null
1414   ,p_per_information6             in     varchar2  default null
1415   ,p_per_information7             in     varchar2  default null
1416   ,p_per_information8             in     varchar2  default null
1417   ,p_per_information9             in     varchar2  default null
1418   ,p_per_information10            in     varchar2  default null
1419   ,p_per_information11            in     varchar2  default null
1420   ,p_per_information12            in     varchar2  default null
1421   ,p_per_information13            in     varchar2  default null
1422   ,p_per_information14            in     varchar2  default null
1423   ,p_per_information15            in     varchar2  default null
1424   ,p_per_information16            in     varchar2  default null
1425   ,p_per_information17            in     varchar2  default null
1426   ,p_per_information18            in     varchar2  default null
1427   ,p_per_information19            in     varchar2  default null
1428   ,p_per_information20            in     varchar2  default null
1429   ,p_per_information21            in     varchar2  default null
1430   ,p_per_information22            in     varchar2  default null
1431   ,p_per_information23            in     varchar2  default null
1432   ,p_per_information24            in     varchar2  default null
1433   ,p_per_information25            in     varchar2  default null
1434   ,p_per_information26            in     varchar2  default null
1435   ,p_per_information27            in     varchar2  default null
1436   ,p_per_information28            in     varchar2  default null
1437   ,p_per_information29            in     varchar2  default null
1438   ,p_per_information30            in     varchar2  default null
1439   ,p_person_id                    in     number    default null
1440   ,p_return_status                OUT nocopy varchar2
1441   ) is
1442   --
1443   -- Variables for API Boolean parameters
1444   --
1445   -- Variables for IN/OUT parameters
1446   --
1447   -- Other variables
1448   l_proc    varchar2(72) := g_package ||'create_user_byReferral';
1449 Begin
1450   --hr_utility.trace_on(null,'VMUMMIDI');
1451   hr_utility.set_location(' Entering:' || l_proc,10);
1452   --
1453   -- Issue a savepoint
1454   --
1455   savepoint create_user_swi;
1456   --
1457   -- Initialise Multiple Message Detection
1458   --
1459   hr_multi_message.enable_message_list;
1460   --
1461   -- Remember IN OUT parameter IN values
1462   --
1463   --
1464   -- Convert constant values to their corresponding boolean value
1465   --
1466   -- Register Surrogate ID or user key values
1467   --
1468   --
1469   -- Call API
1470   --
1471   irc_party_api.create_user_byReferral
1472     (p_user_name           => p_user_name
1473     ,p_password            => p_password
1474     ,p_start_date          => p_start_date
1475     ,p_responsibility_id   => p_responsibility_id
1476     ,p_resp_appl_id        => p_resp_appl_id
1477     ,p_security_group_id   => p_security_group_id
1478     ,p_email               => p_email
1479     ,p_language            => p_language
1480     ,p_last_name                    => p_last_name
1481     ,p_first_name                   => p_first_name
1482     ,p_per_information_category     => p_per_information_category
1483     ,p_per_information1             => p_per_information1
1484     ,p_per_information2             => p_per_information2
1485     ,p_per_information3             => p_per_information3
1486     ,p_per_information4             => p_per_information4
1487     ,p_per_information5             => p_per_information5
1488     ,p_per_information6             => p_per_information6
1489     ,p_per_information7             => p_per_information7
1490     ,p_per_information8             => p_per_information8
1491     ,p_per_information9             => p_per_information9
1492     ,p_per_information10            => p_per_information10
1493     ,p_per_information11            => p_per_information11
1494     ,p_per_information12            => p_per_information12
1495     ,p_per_information13            => p_per_information13
1496     ,p_per_information14            => p_per_information14
1497     ,p_per_information15            => p_per_information15
1498     ,p_per_information16            => p_per_information16
1499     ,p_per_information17            => p_per_information17
1500     ,p_per_information18            => p_per_information18
1501     ,p_per_information19            => p_per_information19
1502     ,p_per_information20            => p_per_information20
1503     ,p_per_information21            => p_per_information21
1504     ,p_per_information22            => p_per_information22
1505     ,p_per_information23            => p_per_information23
1506     ,p_per_information24            => p_per_information24
1507     ,p_per_information25            => p_per_information25
1508     ,p_per_information26            => p_per_information26
1509     ,p_per_information27            => p_per_information27
1510     ,p_per_information28            => p_per_information28
1511     ,p_per_information29            => p_per_information29
1512     ,p_per_information30            => p_per_information30
1513     ,p_person_id                    => p_person_id
1514     );
1515   --
1516   -- Convert API warning boolean parameter values to specific
1517   -- messages and add them to Multiple Message List
1518   --
1519   --
1520   -- Convert API non-warning boolean parameter values
1521   --
1522   --
1523   -- Derive the API return status value based on whether
1524   -- messages of any type exist in the Multiple Message List.
1525   -- Also disable Multiple Message Detection.
1526   --
1527   p_return_status := hr_multi_message.get_return_status_disable;
1528   hr_utility.set_location(' Leaving:' || l_proc,20);
1529   --
1530 exception
1531   when hr_multi_message.error_message_exist then
1532     --
1533     -- Catch the Multiple Message List exception which
1534     -- indicates API processing has been aborted because
1535     -- at least one message exists in the list.
1536     --
1537     rollback to create_user_swi;
1538     --
1539     -- Reset IN OUT parameters and set OUT parameters
1540     --
1541     p_return_status := hr_multi_message.get_return_status_disable;
1542     hr_utility.set_location(' Leaving:' || l_proc, 30);
1543   when others then
1544     --
1545     -- When Multiple Message Detection is enabled catch
1546     -- any Application specific or other unexpected
1547     -- exceptions.  Adding appropriate details to the
1548     -- Multiple Message List.  Otherwise re-raise the
1549     -- error.
1550     --
1551     rollback to create_user_swi;
1552     if hr_multi_message.unexpected_error_add(l_proc) then
1553        hr_utility.set_location(' Leaving:' || l_proc,40);
1554        raise;
1555     end if;
1556     --
1557     -- Reset IN OUT and set OUT parameters
1558     --
1559     p_return_status := hr_multi_message.get_return_status_disable;
1560     hr_utility.set_location(' Leaving:' || l_proc,50);
1561 end create_user_byReferral;
1562 --
1563 end irc_party_swi;