DBA Data[Home] [Help]

PACKAGE BODY: APPS.HR_PERSON_DEPLOYMENT_SWI

Source


1 Package Body hr_person_deployment_swi As
2 /* $Header: hrpdtswi.pkb 120.0 2005/09/23 06:45 adhunter noship $ */
3 --
4 -- Package variables
5 --
6 g_package  varchar2(33) := 'hr_person_deployment_swi.';
7 --
8 -- ----------------------------------------------------------------------------
9 -- |-----------------------< create_person_deployment >-----------------------|
10 -- ----------------------------------------------------------------------------
11 PROCEDURE create_person_deployment
12   (p_validate                     in     number    default hr_api.g_false_num
13   ,p_from_business_group_id       in     number
14   ,p_to_business_group_id         in     number
15   ,p_from_person_id               in     number
16   ,p_to_person_id                 in     number    default null
17   ,p_person_type_id               in     number    default null
18   ,p_start_date                   in     date
19   ,p_end_date                     in     date      default null
20   ,p_employee_number              in     varchar2  default null
21   ,p_leaving_reason               in     varchar2  default null
22   ,p_leaving_person_type_id       in     number    default null
23   ,p_permanent                    in     varchar2  default null
24   ,p_deplymt_policy_id            in     number    default null
25   ,p_organization_id              in     number
26   ,p_location_id                  in     number    default null
27   ,p_job_id                       in     number    default null
28   ,p_position_id                  in     number    default null
29   ,p_grade_id                     in     number    default null
30   ,p_supervisor_id                in     number    default null
31   ,p_supervisor_assignment_id     in     number    default null
32   ,p_retain_direct_reports        in     varchar2  default null
33   ,p_payroll_id                   in     number    default null
34   ,p_pay_basis_id                 in     number    default null
35   ,p_proposed_salary              in     varchar2  default null
36   ,p_people_group_id              in     number    default null
37   ,p_soft_coding_keyflex_id       in     number    default null
38   ,p_assignment_status_type_id    in     number    default null
39   ,p_ass_status_change_reason     in     varchar2  default null
40   ,p_assignment_category          in     varchar2  default null
41   ,p_per_information1             in     varchar2  default null
42   ,p_per_information2             in     varchar2  default null
43   ,p_per_information3             in     varchar2  default null
44   ,p_per_information4             in     varchar2  default null
45   ,p_per_information5             in     varchar2  default null
46   ,p_per_information6             in     varchar2  default null
47   ,p_per_information7             in     varchar2  default null
48   ,p_per_information8             in     varchar2  default null
49   ,p_per_information9             in     varchar2  default null
50   ,p_per_information10            in     varchar2  default null
51   ,p_per_information11            in     varchar2  default null
52   ,p_per_information12            in     varchar2  default null
53   ,p_per_information13            in     varchar2  default null
54   ,p_per_information14            in     varchar2  default null
55   ,p_per_information15            in     varchar2  default null
56   ,p_per_information16            in     varchar2  default null
57   ,p_per_information17            in     varchar2  default null
58   ,p_per_information18            in     varchar2  default null
59   ,p_per_information19            in     varchar2  default null
60   ,p_per_information20            in     varchar2  default null
61   ,p_per_information21            in     varchar2  default null
62   ,p_per_information22            in     varchar2  default null
63   ,p_per_information23            in     varchar2  default null
64   ,p_per_information24            in     varchar2  default null
65   ,p_per_information25            in     varchar2  default null
66   ,p_per_information26            in     varchar2  default null
67   ,p_per_information27            in     varchar2  default null
68   ,p_per_information28            in     varchar2  default null
69   ,p_per_information29            in     varchar2  default null
70   ,p_per_information30            in     varchar2  default null
71   ,p_deployment_reason            in     varchar2  default null
72   ,p_person_deployment_id         in     number
73   ,p_object_version_number           out nocopy number
74   ,p_return_status                   out nocopy varchar2
75   ) is
76   --
77   -- Variables for API Boolean parameters
78   l_validate                      boolean;
79   l_policy_duration_warning       boolean;
80   --
81   -- Variables for IN/OUT parameters
82   --
83   -- Other variables
84   l_person_deployment_id         number;
85   l_proc    varchar2(72) := g_package ||'create_person_deployment';
86 Begin
87   hr_utility.set_location(' Entering:' || l_proc,10);
88   --
89   -- Issue a savepoint
90   --
91   savepoint create_person_deployment_swi;
92   --
93   -- Initialise Multiple Message Detection
94   --
95   hr_multi_message.enable_message_list;
96   --
97   -- Remember IN OUT parameter IN values
98   --
99   --
100   -- Convert constant values to their corresponding boolean value
101   --
102   l_validate :=
103     hr_api.constant_to_boolean
104       (p_constant_value => p_validate);
105   --
106   -- Register Surrogate ID or user key values
107   --
108   hr_pdt_ins.set_base_key_value
109     (p_person_deployment_id => p_person_deployment_id
110     );
111   --
112   -- Call API
113   --
114   hr_person_deployment_api.create_person_deployment
115     (p_validate                     => l_validate
116     ,p_from_business_group_id       => p_from_business_group_id
117     ,p_to_business_group_id         => p_to_business_group_id
118     ,p_from_person_id               => p_from_person_id
119     ,p_to_person_id                 => p_to_person_id
120     ,p_person_type_id               => p_person_type_id
121     ,p_start_date                   => p_start_date
122     ,p_end_date                     => p_end_date
123     ,p_deployment_reason            => p_deployment_reason
124     ,p_employee_number              => p_employee_number
125     ,p_leaving_reason               => p_leaving_reason
126     ,p_leaving_person_type_id       => p_leaving_person_type_id
127     ,p_permanent                    => p_permanent
128     ,p_deplymt_policy_id            => p_deplymt_policy_id
129     ,p_organization_id              => p_organization_id
130     ,p_location_id                  => p_location_id
131     ,p_job_id                       => p_job_id
132     ,p_position_id                  => p_position_id
133     ,p_grade_id                     => p_grade_id
134     ,p_supervisor_id                => p_supervisor_id
135     ,p_supervisor_assignment_id     => p_supervisor_assignment_id
136     ,p_retain_direct_reports        => p_retain_direct_reports
137     ,p_payroll_id                   => p_payroll_id
138     ,p_pay_basis_id                 => p_pay_basis_id
139     ,p_proposed_salary              => p_proposed_salary
140     ,p_people_group_id              => p_people_group_id
141     ,p_soft_coding_keyflex_id       => p_soft_coding_keyflex_id
142     ,p_assignment_status_type_id    => p_assignment_status_type_id
143     ,p_ass_status_change_reason     => p_ass_status_change_reason
144     ,p_assignment_category          => p_assignment_category
145     ,p_per_information1             => p_per_information1
146     ,p_per_information2             => p_per_information2
147     ,p_per_information3             => p_per_information3
148     ,p_per_information4             => p_per_information4
149     ,p_per_information5             => p_per_information5
150     ,p_per_information6             => p_per_information6
151     ,p_per_information7             => p_per_information7
152     ,p_per_information8             => p_per_information8
153     ,p_per_information9             => p_per_information9
154     ,p_per_information10            => p_per_information10
155     ,p_per_information11            => p_per_information11
156     ,p_per_information12            => p_per_information12
157     ,p_per_information13            => p_per_information13
158     ,p_per_information14            => p_per_information14
159     ,p_per_information15            => p_per_information15
160     ,p_per_information16            => p_per_information16
161     ,p_per_information17            => p_per_information17
162     ,p_per_information18            => p_per_information18
163     ,p_per_information19            => p_per_information19
164     ,p_per_information20            => p_per_information20
165     ,p_per_information21            => p_per_information21
166     ,p_per_information22            => p_per_information22
167     ,p_per_information23            => p_per_information23
168     ,p_per_information24            => p_per_information24
169     ,p_per_information25            => p_per_information25
170     ,p_per_information26            => p_per_information26
171     ,p_per_information27            => p_per_information27
172     ,p_per_information28            => p_per_information28
173     ,p_per_information29            => p_per_information29
174     ,p_per_information30            => p_per_information30
175     ,p_person_deployment_id         => l_person_deployment_id
176     ,p_object_version_number        => p_object_version_number
177     ,p_policy_duration_warning      => l_policy_duration_warning
178     );
179   --
180   -- Convert API warning boolean parameter values to specific
181   -- messages and add them to Multiple Message List
182   --
183 /*
184 NOT IN USE FOR INITIAL RELEASE
185   if l_policy_duration_warning then
186      fnd_message.set_name('EDIT HERE: APP_CODE', 'EDIT_HERE: MESSAGE_NAME ');
187       hr_multi_message.add
188         (p_message_type => hr_multi_message.g_warning_msg
189         );
190   end if;  --
191 */
192   -- Convert API non-warning boolean parameter values
193   --
194   --
195   -- Derive the API return status value based on whether
196   -- messages of any type exist in the Multiple Message List.
197   -- Also disable Multiple Message Detection.
198   --
199   p_return_status := hr_multi_message.get_return_status_disable;
200   hr_utility.set_location(' Leaving:' || l_proc,20);
201   --
202 exception
203   when hr_multi_message.error_message_exist then
204     --
205     -- Catch the Multiple Message List exception which
206     -- indicates API processing has been aborted because
207     -- at least one message exists in the list.
208     --
209     rollback to create_person_deployment_swi;
210     --
211     -- Reset IN OUT parameters and set OUT parameters
212     --
213     p_object_version_number        := null;
214     p_return_status := hr_multi_message.get_return_status_disable;
215     hr_utility.set_location(' Leaving:' || l_proc, 30);
216   when others then
217     --
218     -- When Multiple Message Detection is enabled catch
219     -- any Application specific or other unexpected
220     -- exceptions.  Adding appropriate details to the
221     -- Multiple Message List.  Otherwise re-raise the
222     -- error.
223     --
224     rollback to create_person_deployment_swi;
225     if hr_multi_message.unexpected_error_add(l_proc) then
226        hr_utility.set_location(' Leaving:' || l_proc,40);
227        raise;
228     end if;
229     --
230     -- Reset IN OUT and set OUT parameters
231     --
232     p_object_version_number        := null;
233     p_return_status := hr_multi_message.get_return_status_disable;
234     hr_utility.set_location(' Leaving:' || l_proc,50);
235 end create_person_deployment;
236 -- ----------------------------------------------------------------------------
237 -- |-----------------------< update_person_deployment >-----------------------|
238 -- ----------------------------------------------------------------------------
239 PROCEDURE update_person_deployment
240   (p_validate                     in     number    default hr_api.g_false_num
241   ,p_person_deployment_id         in     number
242   ,p_object_version_number        in out nocopy number
243   ,p_person_type_id               in     number    default hr_api.g_number
244   ,p_start_date                   in     date      default hr_api.g_date
245   ,p_end_date                     in     date      default hr_api.g_date
246   ,p_employee_number              in     varchar2  default hr_api.g_varchar2
247   ,p_leaving_reason               in     varchar2  default hr_api.g_varchar2
248   ,p_leaving_person_type_id       in     number    default hr_api.g_number
249   ,p_status                       in     varchar2  default hr_api.g_varchar2
250   ,p_status_change_reason         in     varchar2  default hr_api.g_varchar2
251   ,p_deplymt_policy_id            in     number    default hr_api.g_number
252   ,p_organization_id              in     number    default hr_api.g_number
253   ,p_location_id                  in     number    default hr_api.g_number
254   ,p_job_id                       in     number    default hr_api.g_number
255   ,p_position_id                  in     number    default hr_api.g_number
256   ,p_grade_id                     in     number    default hr_api.g_number
257   ,p_supervisor_id                in     number    default hr_api.g_number
258   ,p_supervisor_assignment_id     in     number    default hr_api.g_number
259   ,p_retain_direct_reports        in     varchar2  default hr_api.g_varchar2
260   ,p_payroll_id                   in     number    default hr_api.g_number
261   ,p_pay_basis_id                 in     number    default hr_api.g_number
262   ,p_proposed_salary              in     varchar2  default hr_api.g_varchar2
263   ,p_people_group_id              in     number    default hr_api.g_number
264   ,p_soft_coding_keyflex_id       in     number    default hr_api.g_number
265   ,p_assignment_status_type_id    in     number    default hr_api.g_number
266   ,p_ass_status_change_reason     in     varchar2  default hr_api.g_varchar2
267   ,p_assignment_category          in     varchar2  default hr_api.g_varchar2
268   ,p_per_information1             in     varchar2  default hr_api.g_varchar2
269   ,p_per_information2             in     varchar2  default hr_api.g_varchar2
270   ,p_per_information3             in     varchar2  default hr_api.g_varchar2
271   ,p_per_information4             in     varchar2  default hr_api.g_varchar2
272   ,p_per_information5             in     varchar2  default hr_api.g_varchar2
273   ,p_per_information6             in     varchar2  default hr_api.g_varchar2
274   ,p_per_information7             in     varchar2  default hr_api.g_varchar2
275   ,p_per_information8             in     varchar2  default hr_api.g_varchar2
276   ,p_per_information9             in     varchar2  default hr_api.g_varchar2
277   ,p_per_information10            in     varchar2  default hr_api.g_varchar2
278   ,p_per_information11            in     varchar2  default hr_api.g_varchar2
279   ,p_per_information12            in     varchar2  default hr_api.g_varchar2
280   ,p_per_information13            in     varchar2  default hr_api.g_varchar2
281   ,p_per_information14            in     varchar2  default hr_api.g_varchar2
282   ,p_per_information15            in     varchar2  default hr_api.g_varchar2
283   ,p_per_information16            in     varchar2  default hr_api.g_varchar2
284   ,p_per_information17            in     varchar2  default hr_api.g_varchar2
285   ,p_per_information18            in     varchar2  default hr_api.g_varchar2
286   ,p_per_information19            in     varchar2  default hr_api.g_varchar2
287   ,p_per_information20            in     varchar2  default hr_api.g_varchar2
288   ,p_per_information21            in     varchar2  default hr_api.g_varchar2
289   ,p_per_information22            in     varchar2  default hr_api.g_varchar2
290   ,p_per_information23            in     varchar2  default hr_api.g_varchar2
291   ,p_per_information24            in     varchar2  default hr_api.g_varchar2
292   ,p_per_information25            in     varchar2  default hr_api.g_varchar2
293   ,p_per_information26            in     varchar2  default hr_api.g_varchar2
294   ,p_per_information27            in     varchar2  default hr_api.g_varchar2
295   ,p_per_information28            in     varchar2  default hr_api.g_varchar2
296   ,p_per_information29            in     varchar2  default hr_api.g_varchar2
297   ,p_per_information30            in     varchar2  default hr_api.g_varchar2
298   ,p_deployment_reason            in     varchar2  default hr_api.g_varchar2
299   ,p_return_status                   out nocopy varchar2
300   ) is
301   --
302   -- Variables for API Boolean parameters
303   l_validate                      boolean;
304   l_policy_duration_warning       boolean;
305   --
306   -- Variables for IN/OUT parameters
307   l_object_version_number         number;
308   --
309   -- Other variables
310   l_proc    varchar2(72) := g_package ||'update_person_deployment';
311 Begin
312   hr_utility.set_location(' Entering:' || l_proc,10);
313   --
314   -- Issue a savepoint
315   --
316   savepoint update_person_deployment_swi;
317   --
318   -- Initialise Multiple Message Detection
319   --
320   hr_multi_message.enable_message_list;
321   --
322   -- Remember IN OUT parameter IN values
323   --
324   l_object_version_number         := p_object_version_number;
325   --
326   -- Convert constant values to their corresponding boolean value
327   --
328   l_validate :=
329     hr_api.constant_to_boolean
330       (p_constant_value => p_validate);
331   --
332   -- Register Surrogate ID or user key values
333   --
334   --
335   -- Call API
336   --
337   hr_person_deployment_api.update_person_deployment
338     (p_validate                     => l_validate
339     ,p_person_deployment_id         => p_person_deployment_id
340     ,p_object_version_number        => p_object_version_number
341     ,p_person_type_id               => p_person_type_id
342     ,p_start_date                   => p_start_date
343     ,p_end_date                     => p_end_date
344     ,p_deployment_reason            => p_deployment_reason
345     ,p_employee_number              => p_employee_number
346     ,p_leaving_reason               => p_leaving_reason
347     ,p_leaving_person_type_id       => p_leaving_person_type_id
348     ,p_status                       => p_status
349     ,p_status_change_reason         => p_status_change_reason
350     ,p_deplymt_policy_id            => p_deplymt_policy_id
351     ,p_organization_id              => p_organization_id
352     ,p_location_id                  => p_location_id
353     ,p_job_id                       => p_job_id
354     ,p_position_id                  => p_position_id
355     ,p_grade_id                     => p_grade_id
356     ,p_supervisor_id                => p_supervisor_id
357     ,p_supervisor_assignment_id     => p_supervisor_assignment_id
358     ,p_retain_direct_reports        => p_retain_direct_reports
359     ,p_payroll_id                   => p_payroll_id
360     ,p_pay_basis_id                 => p_pay_basis_id
361     ,p_proposed_salary              => p_proposed_salary
362     ,p_people_group_id              => p_people_group_id
363     ,p_soft_coding_keyflex_id       => p_soft_coding_keyflex_id
364     ,p_assignment_status_type_id    => p_assignment_status_type_id
365     ,p_ass_status_change_reason     => p_ass_status_change_reason
366     ,p_assignment_category          => p_assignment_category
367     ,p_per_information1             => p_per_information1
368     ,p_per_information2             => p_per_information2
369     ,p_per_information3             => p_per_information3
370     ,p_per_information4             => p_per_information4
371     ,p_per_information5             => p_per_information5
372     ,p_per_information6             => p_per_information6
373     ,p_per_information7             => p_per_information7
374     ,p_per_information8             => p_per_information8
375     ,p_per_information9             => p_per_information9
376     ,p_per_information10            => p_per_information10
377     ,p_per_information11            => p_per_information11
378     ,p_per_information12            => p_per_information12
379     ,p_per_information13            => p_per_information13
380     ,p_per_information14            => p_per_information14
381     ,p_per_information15            => p_per_information15
382     ,p_per_information16            => p_per_information16
383     ,p_per_information17            => p_per_information17
384     ,p_per_information18            => p_per_information18
385     ,p_per_information19            => p_per_information19
386     ,p_per_information20            => p_per_information20
387     ,p_per_information21            => p_per_information21
388     ,p_per_information22            => p_per_information22
389     ,p_per_information23            => p_per_information23
390     ,p_per_information24            => p_per_information24
391     ,p_per_information25            => p_per_information25
392     ,p_per_information26            => p_per_information26
393     ,p_per_information27            => p_per_information27
394     ,p_per_information28            => p_per_information28
395     ,p_per_information29            => p_per_information29
396     ,p_per_information30            => p_per_information30
397     ,p_policy_duration_warning      => l_policy_duration_warning
398     );
399   --
400   -- Convert API warning boolean parameter values to specific
401   -- messages and add them to Multiple Message List
402   --
403 /*
404 NOT IN USE FOR INITIAL RELEASE
405   if l_policy_duration_warning then
406      fnd_message.set_name('EDIT HERE: APP_CODE', 'EDIT_HERE: MESSAGE_NAME ');
407       hr_multi_message.add
408         (p_message_type => hr_multi_message.g_warning_msg
409         );
410   end if;  --
411 */
412   -- Convert API non-warning boolean parameter values
413   --
414   --
415   -- Derive the API return status value based on whether
416   -- messages of any type exist in the Multiple Message List.
417   -- Also disable Multiple Message Detection.
418   --
419   p_return_status := hr_multi_message.get_return_status_disable;
420   hr_utility.set_location(' Leaving:' || l_proc,20);
421   --
422 exception
423   when hr_multi_message.error_message_exist then
424     --
425     -- Catch the Multiple Message List exception which
426     -- indicates API processing has been aborted because
427     -- at least one message exists in the list.
428     --
429     rollback to update_person_deployment_swi;
430     --
431     -- Reset IN OUT parameters and set OUT parameters
432     --
433     p_object_version_number        := l_object_version_number;
434     p_return_status := hr_multi_message.get_return_status_disable;
435     hr_utility.set_location(' Leaving:' || l_proc, 30);
436   when others then
437     --
438     -- When Multiple Message Detection is enabled catch
439     -- any Application specific or other unexpected
440     -- exceptions.  Adding appropriate details to the
441     -- Multiple Message List.  Otherwise re-raise the
442     -- error.
443     --
444     rollback to update_person_deployment_swi;
445     if hr_multi_message.unexpected_error_add(l_proc) then
446        hr_utility.set_location(' Leaving:' || l_proc,40);
447        raise;
448     end if;
449     --
450     -- Reset IN OUT and set OUT parameters
451     --
452     p_object_version_number        := l_object_version_number;
453     p_return_status := hr_multi_message.get_return_status_disable;
454     hr_utility.set_location(' Leaving:' || l_proc,50);
455 end update_person_deployment;
456 -- ----------------------------------------------------------------------------
457 -- |-----------------------< delete_person_deployment >-----------------------|
458 -- ----------------------------------------------------------------------------
459 PROCEDURE delete_person_deployment
460   (p_validate                     in     number    default hr_api.g_false_num
461   ,p_person_deployment_id         in     number
462   ,p_object_version_number        in     number
463   ,p_return_status                   out nocopy varchar2
464   ) is
465   --
466   -- Variables for API Boolean parameters
467   l_validate                      boolean;
468   --
469   -- Variables for IN/OUT parameters
470   --
471   -- Other variables
472   l_proc    varchar2(72) := g_package ||'delete_person_deployment';
473 Begin
474   hr_utility.set_location(' Entering:' || l_proc,10);
475   --
476   -- Issue a savepoint
477   --
478   savepoint delete_person_deployment_swi;
479   --
480   -- Initialise Multiple Message Detection
481   --
482   hr_multi_message.enable_message_list;
483   --
484   -- Remember IN OUT parameter IN values
485   --
486   --
487   -- Convert constant values to their corresponding boolean value
488   --
489   l_validate :=
490     hr_api.constant_to_boolean
491       (p_constant_value => p_validate);
492   --
493   -- Register Surrogate ID or user key values
494   --
495   --
496   -- Call API
497   --
498   hr_person_deployment_api.delete_person_deployment
499     (p_validate                     => l_validate
500     ,p_person_deployment_id         => p_person_deployment_id
501     ,p_object_version_number        => p_object_version_number
502     );
503   --
504   -- Convert API warning boolean parameter values to specific
505   -- messages and add them to Multiple Message List
506   --
507   --
508   -- Convert API non-warning boolean parameter values
509   --
510   --
511   -- Derive the API return status value based on whether
512   -- messages of any type exist in the Multiple Message List.
513   -- Also disable Multiple Message Detection.
514   --
515   p_return_status := hr_multi_message.get_return_status_disable;
516   hr_utility.set_location(' Leaving:' || l_proc,20);
517   --
518 exception
519   when hr_multi_message.error_message_exist then
520     --
521     -- Catch the Multiple Message List exception which
522     -- indicates API processing has been aborted because
523     -- at least one message exists in the list.
524     --
525     rollback to delete_person_deployment_swi;
526     --
527     -- Reset IN OUT parameters and set OUT parameters
528     --
529     p_return_status := hr_multi_message.get_return_status_disable;
530     hr_utility.set_location(' Leaving:' || l_proc, 30);
531   when others then
532     --
533     -- When Multiple Message Detection is enabled catch
534     -- any Application specific or other unexpected
535     -- exceptions.  Adding appropriate details to the
536     -- Multiple Message List.  Otherwise re-raise the
537     -- error.
538     --
539     rollback to delete_person_deployment_swi;
540     if hr_multi_message.unexpected_error_add(l_proc) then
541        hr_utility.set_location(' Leaving:' || l_proc,40);
542        raise;
543     end if;
544     --
545     -- Reset IN OUT and set OUT parameters
546     --
547     p_return_status := hr_multi_message.get_return_status_disable;
548     hr_utility.set_location(' Leaving:' || l_proc,50);
549 end delete_person_deployment;
550 -- ----------------------------------------------------------------------------
551 -- |-----------------------< initiate_deployment >----------------------------|
552 -- ----------------------------------------------------------------------------
553 PROCEDURE initiate_deployment
554   (p_validate                      in     number   default hr_api.g_false_num
555   ,p_person_deployment_id          in     number
556   ,p_object_version_number         in out nocopy number
557   ,p_host_person_id                   out nocopy number
558   ,p_host_per_ovn                     out nocopy number
559   ,p_host_assignment_id               out nocopy number
560   ,p_host_asg_ovn                     out nocopy number
561   ,p_return_status                    out nocopy varchar2
562   ) IS
563   --
564   -- Variables for API Boolean parameters
565   l_validate                      boolean;
566   l_already_applicant_warning     boolean;
567   --
568   -- Variables for IN/OUT parameters
569   l_object_version_number         number;
570   --
571   -- Other variables
572   l_proc    varchar2(72) := g_package ||'initiate_deployment';
573 Begin
574   hr_utility.set_location(' Entering:' || l_proc,10);
575   --
576   -- Issue a savepoint
577   --
578   savepoint initiate_deployment_swi;
579   --
580   -- Initialise Multiple Message Detection
581   --
582   hr_multi_message.enable_message_list;
583   --
584   -- Remember IN OUT parameter IN values
585   --
586   l_object_version_number := p_object_version_number;
587   --
588   -- Convert constant values to their corresponding boolean value
589   --
590   l_validate :=
591     hr_api.constant_to_boolean
592       (p_constant_value => p_validate);
593   --
594   -- Register Surrogate ID or user key values
595   --
596   --
597   -- Call API
598   --
599   hr_person_deployment_api.initiate_deployment
600      (p_validate                      => l_validate
601      ,p_person_deployment_id          => p_person_deployment_id
602      ,p_object_version_number         => p_object_version_number
603      ,p_host_person_id                => p_host_person_id
604      ,p_host_per_ovn                  => p_host_per_ovn
605      ,p_host_assignment_id            => p_host_assignment_id
606      ,p_host_asg_ovn                  => p_host_asg_ovn
607      ,p_already_applicant_warning     => l_already_applicant_warning
608      );
609   --
610   -- Convert API warning boolean parameter values to specific
611   -- messages and add them to Multiple Message List
612   --
613   if l_already_applicant_warning then
614      fnd_message.set_name('PER','HR_449649_DPL_NO_INIT_APL');
615       hr_multi_message.add
616         (p_message_type => hr_multi_message.g_warning_msg
617         );
618   end if;
619   --
620   -- Convert API non-warning boolean parameter values
621   --
622   --
623   -- Derive the API return status value based on whether
624   -- messages of any type exist in the Multiple Message List.
625   -- Also disable Multiple Message Detection.
626   --
627   p_return_status := hr_multi_message.get_return_status_disable;
628   hr_utility.set_location(' Leaving:' || l_proc,20);
629   --
630 exception
631   when hr_multi_message.error_message_exist then
632     --
633     -- Catch the Multiple Message List exception which
634     -- indicates API processing has been aborted because
635     -- at least one message exists in the list.
636     --
637     rollback to initiate_deployment_swi;
638     --
639     -- Reset IN OUT parameters and set OUT parameters
640     --
641     p_object_version_number         := l_object_version_number;
642     p_host_person_id                := null;
643     p_host_per_ovn                  := null;
644     p_host_assignment_id            := null;
645     p_host_asg_ovn                  := null;
646     p_return_status := hr_multi_message.get_return_status_disable;
647     hr_utility.set_location(' Leaving:' || l_proc, 30);
648   when others then
649     --
650     -- When Multiple Message Detection is enabled catch
651     -- any Application specific or other unexpected
652     -- exceptions.  Adding appropriate details to the
653     -- Multiple Message List.  Otherwise re-raise the
654     -- error.
655     --
656     rollback to initiate_deployment_swi;
657     if hr_multi_message.unexpected_error_add(l_proc) then
658        hr_utility.set_location(' Leaving:' || l_proc,40);
659        raise;
660     end if;
661     --
662     -- Reset IN OUT and set OUT parameters
663     --
664     p_object_version_number         := l_object_version_number;
665     p_host_person_id                := null;
666     p_host_per_ovn                  := null;
667     p_host_assignment_id            := null;
668     p_host_asg_ovn                  := null;
669     p_return_status := hr_multi_message.get_return_status_disable;
670     hr_utility.set_location(' Leaving:' || l_proc,50);
671 end initiate_deployment;
672 -- ----------------------------------------------------------------------------
673 -- |-----------------------< change_deployment_dates >------------------------|
674 -- ----------------------------------------------------------------------------
675 PROCEDURE change_deployment_dates
676   (p_validate                      in     number     default hr_api.g_false_num
677   ,p_person_deployment_id          in     number
678   ,p_object_version_number         in out nocopy     number
679   ,p_start_date                    in     date       default hr_api.g_date
680   ,p_end_date                      in     date       default hr_api.g_date
681   ,p_deplymt_policy_id             in     number     default hr_api.g_number
682   ,p_return_status                    out nocopy varchar2
683   ) IS
684   --
685   -- Variables for API Boolean parameters
686   l_validate                      boolean;
687   --
688   -- Variables for IN/OUT parameters
689   l_object_version_number number;
690   --
691   -- Other variables
692   --
693   l_proc    varchar2(72) := g_package ||'change_deployment_dates';
694 Begin
695   hr_utility.set_location(' Entering:' || l_proc,10);
696   --
697   -- Issue a savepoint
698   --
699   savepoint change_deployment_dates_swi;
700   --
701   -- Initialise Multiple Message Detection
702   --
703   hr_multi_message.enable_message_list;
704   --
705   -- Remember IN OUT parameter IN values
706   --
707   l_object_version_number := p_object_version_number;
708   --
709   -- Convert constant values to their corresponding boolean value
710   --
711   l_validate :=
712     hr_api.constant_to_boolean
713       (p_constant_value => p_validate);
714   --
715   -- Register Surrogate ID or user key values
716   --
717   --
718   -- Call API
719   --
720   hr_person_deployment_api.change_deployment_dates
721     (p_validate                      => l_validate
722     ,p_person_deployment_id          => p_person_deployment_id
723     ,p_object_version_number         => p_object_version_number
724     ,p_start_date                    => p_start_date
725     ,p_end_date                      => p_end_date
726     ,p_deplymt_policy_id             => p_deplymt_policy_id
727     );
728   --
729   -- Convert API warning boolean parameter values to specific
730   -- messages and add them to Multiple Message List
731   --
732   --
733   -- Convert API non-warning boolean parameter values
734   --
735   --
736   -- Derive the API return status value based on whether
737   -- messages of any type exist in the Multiple Message List.
738   -- Also disable Multiple Message Detection.
739   --
740   p_return_status := hr_multi_message.get_return_status_disable;
741   hr_utility.set_location(' Leaving:' || l_proc,20);
742   --
743 exception
744   when hr_multi_message.error_message_exist then
745     --
746     -- Catch the Multiple Message List exception which
747     -- indicates API processing has been aborted because
748     -- at least one message exists in the list.
749     --
750     rollback to change_deployment_dates_swi;
751     --
752     -- Reset IN OUT parameters and set OUT parameters
753     --
754     p_object_version_number := l_object_version_number;
755     p_return_status := hr_multi_message.get_return_status_disable;
756     hr_utility.set_location(' Leaving:' || l_proc, 30);
757   when others then
758     --
759     -- When Multiple Message Detection is enabled catch
760     -- any Application specific or other unexpected
761     -- exceptions.  Adding appropriate details to the
762     -- Multiple Message List.  Otherwise re-raise the
763     -- error.
764     --
765     rollback to change_deployment_dates_swi;
766     if hr_multi_message.unexpected_error_add(l_proc) then
767        hr_utility.set_location(' Leaving:' || l_proc,40);
768        raise;
769     end if;
770     --
771     -- Reset IN OUT and set OUT parameters
772     --
773     p_object_version_number := l_object_version_number;
774     p_return_status := hr_multi_message.get_return_status_disable;
775     hr_utility.set_location(' Leaving:' || l_proc,50);
776 end change_deployment_dates;
777 -- ----------------------------------------------------------------------------
778 -- |-----------------------< return_from_deployment >-------------------------|
779 -- ----------------------------------------------------------------------------
780 PROCEDURE return_from_deployment
781   (p_validate                      in     number     default hr_api.g_false_num
782   ,p_person_deployment_id          in     number
783   ,p_object_version_number         in out nocopy     number
784   ,p_end_date                      in     date       default hr_api.g_date
785   ,p_leaving_reason                in     varchar2   default hr_api.g_varchar2
786   ,p_leaving_person_type_id        in     number     default hr_api.g_number
787   ,p_return_status                    out nocopy varchar2
788   ) IS
789   --
790   -- Variables for API Boolean parameters
791   l_validate                      boolean;
792   --
793   -- Variables for IN/OUT parameters
794   --
795   l_object_version_number number;
796   --
797   -- Other variables
798   l_proc    varchar2(72) := g_package ||'change_deployment_dates';
799 Begin
800   hr_utility.set_location(' Entering:' || l_proc,10);
801   --
802   -- Issue a savepoint
803   --
804   savepoint return_from_deployment_swi;
805   --
806   -- Initialise Multiple Message Detection
807   --
808   hr_multi_message.enable_message_list;
809   --
810   -- Remember IN OUT parameter IN values
811   --
812   l_object_version_number := p_object_version_number;
813   --
814   -- Convert constant values to their corresponding boolean value
815   --
816   l_validate :=
817     hr_api.constant_to_boolean
818       (p_constant_value => p_validate);
819   --
820   -- Register Surrogate ID or user key values
821   --
822   --
823   -- Call API
824   --
825   hr_person_deployment_api.return_from_deployment
826     (p_validate                      => l_validate
827     ,p_person_deployment_id          => p_person_deployment_id
828     ,p_object_version_number         => p_object_version_number
829     ,p_end_date                      => p_end_date
830     ,p_leaving_reason                => p_leaving_reason
831     ,p_leaving_person_type_id        => p_leaving_person_type_id
832     );
833   --
834   -- Convert API warning boolean parameter values to specific
835   -- messages and add them to Multiple Message List
836   --
837   --
838   -- Convert API non-warning boolean parameter values
839   --
840   --
841   -- Derive the API return status value based on whether
842   -- messages of any type exist in the Multiple Message List.
843   -- Also disable Multiple Message Detection.
844   --
845   p_return_status := hr_multi_message.get_return_status_disable;
846   hr_utility.set_location(' Leaving:' || l_proc,20);
847   --
848 exception
849   when hr_multi_message.error_message_exist then
850     --
851     -- Catch the Multiple Message List exception which
852     -- indicates API processing has been aborted because
853     -- at least one message exists in the list.
854     --
855     rollback to return_from_deployment_swi;
856     --
857     -- Reset IN OUT parameters and set OUT parameters
858     --
859     p_object_version_number := l_object_version_number;
860     p_return_status := hr_multi_message.get_return_status_disable;
861     hr_utility.set_location(' Leaving:' || l_proc, 30);
862   when others then
863     --
864     -- When Multiple Message Detection is enabled catch
865     -- any Application specific or other unexpected
866     -- exceptions.  Adding appropriate details to the
867     -- Multiple Message List.  Otherwise re-raise the
868     -- error.
869     --
870     rollback to return_from_deployment_swi;
871     if hr_multi_message.unexpected_error_add(l_proc) then
872        hr_utility.set_location(' Leaving:' || l_proc,40);
873        raise;
874     end if;
875     --
876     -- Reset IN OUT and set OUT parameters
877     --
878     p_object_version_number := l_object_version_number;
879     p_return_status := hr_multi_message.get_return_status_disable;
880     hr_utility.set_location(' Leaving:' || l_proc,50);
881 end return_from_deployment;
882 
883 end hr_person_deployment_swi;