DBA Data[Home] [Help]

PACKAGE BODY: APPS.IRC_PARTY_SWI

Source


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