[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;