[Home] [Help]
PACKAGE BODY: APPS.HR_CWK_TERMINATION_SWI
Source
1 Package Body hr_cwk_termination_swi As
2 /* $Header: hrcwtswi.pkb 120.0 2005/05/30 23:33 appldev noship $ */
3 --
4 -- Package variables
5 --
6 g_package varchar2(33) := 'hr_cwk_termination_swi.';
7 lv_transaction_steps hr_transaction_ss.transaction_table;
8 --
9 -- ----------------------------------------------------------------------------
10 -- |---------------------< actual_termination_placement >---------------------|
11 -- ----------------------------------------------------------------------------
12 PROCEDURE actual_termination_placement
13 (p_validate in boolean
14 ,p_effective_date in date
15 ,p_person_id in number
16 ,p_date_start in date
17 ,p_object_version_number in out nocopy number
18 ,p_actual_termination_date in date
19 ,p_last_standard_process_date in out nocopy date
20 ,p_person_type_id in number default hr_api.g_number
21 ,p_assignment_status_type_id in number default hr_api.g_number
22 ,p_termination_reason in varchar2 default hr_api.g_varchar2
23 ,p_entries_changed_warning out nocopy varchar2
24 ,p_return_status out nocopy varchar2
25 ) is
26 --
27 -- Variables for API Boolean parameters
28 l_validate boolean;
29 l_supervisor_warning boolean;
30 l_event_warning boolean;
31 l_interview_warning boolean;
32 l_review_warning boolean;
33 l_recruiter_warning boolean;
34 l_asg_future_changes_warning boolean;
35 l_pay_proposal_warning boolean;
36 l_dod_warning boolean;
37 --
38 -- Variables for IN/OUT parameters
39 l_object_version_number number;
40 l_last_standard_process_date date;
41 --
42 -- Other variables
43 l_proc varchar2(72) := g_package ||'actual_termination_placement';
44 Begin
45 hr_utility.set_location(' Entering:' || l_proc,10);
46 --
47 -- Issue a savepoint
48 --
49 savepoint actual_term_placement_swi;
50 --
51 -- Initialise Multiple Message Detection
52 --
53 hr_multi_message.enable_message_list;
54 --
55 -- Remember IN OUT parameter IN values
56 --
57 l_object_version_number := p_object_version_number;
58 l_last_standard_process_date := p_last_standard_process_date;
59 --
60 -- Convert constant values to their corresponding boolean value
61 --
62
63 --
64 -- Register Surrogate ID or user key values
65 --
66 --
67 -- Call API
68 --
69 hr_contingent_worker_api.actual_termination_placement
70 (p_validate => p_validate
71 ,p_effective_date => p_effective_date
72 ,p_person_id => p_person_id
73 ,p_date_start => p_date_start
74 ,p_object_version_number => p_object_version_number
75 ,p_actual_termination_date => p_actual_termination_date
76 ,p_last_standard_process_date => p_last_standard_process_date
77 ,p_person_type_id => p_person_type_id
78 ,p_assignment_status_type_id => p_assignment_status_type_id
79 ,p_termination_reason => p_termination_reason
80 ,p_supervisor_warning => l_supervisor_warning
81 ,p_event_warning => l_event_warning
82 ,p_interview_warning => l_interview_warning
83 ,p_review_warning => l_review_warning
84 ,p_recruiter_warning => l_recruiter_warning
85 ,p_asg_future_changes_warning => l_asg_future_changes_warning
86 ,p_entries_changed_warning => p_entries_changed_warning
87 ,p_pay_proposal_warning => l_pay_proposal_warning
88 ,p_dod_warning => l_dod_warning
89 );
90 --
91 -- Convert API warning boolean parameter values to specific
92 -- messages and add them to Multiple Message List
93 --
94 /*
95 if l_supervisor_warning then
96 fnd_message.set_name('PER', 'HR_289757_CWK_IS_SUPER');
97 hr_multi_message.add
98 (p_message_type => hr_multi_message.g_warning_msg
99 );
100 end if;
101 if l_event_warning then
102 fnd_message.set_name('PER', 'HR_289759_CWK_HAS_EVENTS');
103 hr_multi_message.add
104 (p_message_type => hr_multi_message.g_warning_msg
105 );
106 end if;
107 if l_interview_warning then
108 fnd_message.set_name('PER', 'HR_289760_CWK_IS_INTERVIEWER');
109 hr_multi_message.add
110 (p_message_type => hr_multi_message.g_warning_msg
111 );
112 end if;
113 if l_review_warning then
114 fnd_message.set_name('PER', 'HR_289761_CWK_DUE_REVIEW');
115 hr_multi_message.add
116 (p_message_type => hr_multi_message.g_warning_msg
117 );
118 end if;
119 if l_recruiter_warning then
120 fnd_message.set_name('PER', 'HR_289762_CWK_VAC_RECRUITER');
121 hr_multi_message.add
122 (p_message_type => hr_multi_message.g_warning_msg
123 );
124 end if;
125 if l_asg_future_changes_warning then
126 fnd_message.set_name('PER', 'HR_EMP_ASG_FUTURE');
127 hr_multi_message.add
128 (p_message_type => hr_multi_message.g_warning_msg
129 );
130 end if;
131 -- l_pay_proposal_warning Reserved for future Use
132 if l_pay_proposal_warning then
133 fnd_message.set_name('PER', 'HR_PAY_PROPOSAL_WARN');
134 hr_multi_message.add
135 (p_message_type => hr_multi_message.g_warning_msg
136 );
137 end if;
138 if l_dod_warning then
139 fnd_message.set_name('PER', 'PER_52475_DEATH_TERM_DATES');
140 hr_multi_message.add
141 (p_message_type => hr_multi_message.g_warning_msg
142 );
143 end if;
144 */
145 --
146 -- Convert API non-warning boolean parameter values
147 --
148 --
149 -- Derive the API return status value based on whether
150 -- messages of any type exist in the Multiple Message List.
151 -- Also disable Multiple Message Detection.
152 --
153 p_return_status := hr_multi_message.get_return_status_disable;
154 hr_utility.set_location(' Leaving:' || l_proc,20);
155 --
156 exception
157 when hr_multi_message.error_message_exist then
158 --
159 -- Catch the Multiple Message List exception which
160 -- indicates API processing has been aborted because
161 -- at least one message exists in the list.
162 --
163 rollback to actual_term_placement_swi;
164 --
165 -- Reset IN OUT parameters and set OUT parameters
166 --
167 p_object_version_number := l_object_version_number;
168 p_last_standard_process_date := l_last_standard_process_date;
169 p_return_status := hr_multi_message.get_return_status_disable;
170 hr_utility.set_location(' Leaving:' || l_proc, 30);
171 when others then
172 --
173 -- When Multiple Message Detection is enabled catch
174 -- any Application specific or other unexpected
175 -- exceptions. Adding appropriate details to the
176 -- Multiple Message List. Otherwise re-raise the
177 -- error.
178 --
179 rollback to actual_term_placement_swi;
180 if hr_multi_message.unexpected_error_add(l_proc) then
181 hr_utility.set_location(' Leaving:' || l_proc,40);
182 raise;
183 end if;
184 --
185 -- Reset IN OUT and set OUT parameters
186 --
187 p_object_version_number := l_object_version_number;
188 p_last_standard_process_date := l_last_standard_process_date;
189 p_return_status := hr_multi_message.get_return_status_disable;
190 hr_utility.set_location(' Leaving:' || l_proc,50);
191 end actual_termination_placement;
192 -- ----------------------------------------------------------------------------
193 -- |------------------------< final_process_placement >-----------------------|
194 -- ----------------------------------------------------------------------------
195 PROCEDURE final_process_placement
196 (p_validate in boolean
197 ,p_person_id in number
198 ,p_date_start in date
199 ,p_object_version_number in out nocopy number
200 ,p_final_process_date in out nocopy date
201 ,p_entries_changed_warning out nocopy varchar2
202 ,p_return_status out nocopy varchar2
203 ) is
204 --
205 -- Variables for API Boolean parameters
206 l_validate boolean;
207 l_org_now_no_manager_warning boolean;
208 l_asg_future_changes_warning boolean;
209 --
210 -- Variables for IN/OUT parameters
211 l_object_version_number number;
212 l_final_process_date date;
213 --
214 -- Other variables
215 l_proc varchar2(72) := g_package ||'final_process_placement';
216 Begin
217 hr_utility.set_location(' Entering:' || l_proc,10);
218 --
219 -- Issue a savepoint
220 --
221 savepoint final_process_placement_swi;
222 --
223 -- Initialise Multiple Message Detection
224 --
225 hr_multi_message.enable_message_list;
226 --
227 -- Remember IN OUT parameter IN values
228 --
229 l_object_version_number := p_object_version_number;
230 l_final_process_date := p_final_process_date;
231 --
232 -- Convert constant values to their corresponding boolean value
233 --
234
235 --
236 -- Register Surrogate ID or user key values
237 --
238 --
239 -- Call API
240 --
241 hr_contingent_worker_api.final_process_placement
242 (p_validate => p_validate
243 ,p_person_id => p_person_id
244 ,p_date_start => p_date_start
245 ,p_object_version_number => p_object_version_number
246 ,p_final_process_date => p_final_process_date
247 ,p_org_now_no_manager_warning => l_org_now_no_manager_warning
248 ,p_asg_future_changes_warning => l_asg_future_changes_warning
249 ,p_entries_changed_warning => p_entries_changed_warning
250 );
251 --
252 -- Convert API warning boolean parameter values to specific
253 -- messages and add them to Multiple Message List
254 --
255 /*
256 if l_org_now_no_manager_warning then
257 fnd_message.set_name('PER', 'HR_ORG_NOW_NO_MANAGER_WARN');
258 hr_multi_message.add
259 (p_message_type => hr_multi_message.g_warning_msg
260 );
261 end if;
262 if l_asg_future_changes_warning then
263 fnd_message.set_name('PER', 'HR_EMP_ASG_FUTURE');
264 hr_multi_message.add
265 (p_message_type => hr_multi_message.g_warning_msg
266 );
267 end if;
268 */
269 --
270 -- Convert API non-warning boolean parameter values
271 --
272 --
273 -- Derive the API return status value based on whether
274 -- messages of any type exist in the Multiple Message List.
275 -- Also disable Multiple Message Detection.
276 --
277 p_return_status := hr_multi_message.get_return_status_disable;
278 hr_utility.set_location(' Leaving:' || l_proc,20);
279 --
280 exception
281 when hr_multi_message.error_message_exist then
282 --
283 -- Catch the Multiple Message List exception which
284 -- indicates API processing has been aborted because
285 -- at least one message exists in the list.
286 --
287 rollback to final_process_placement_swi;
288 --
289 -- Reset IN OUT parameters and set OUT parameters
290 --
291 p_object_version_number := l_object_version_number;
292 p_final_process_date := l_final_process_date;
293 p_return_status := hr_multi_message.get_return_status_disable;
294 hr_utility.set_location(' Leaving:' || l_proc, 30);
295 when others then
296 --
297 -- When Multiple Message Detection is enabled catch
298 -- any Application specific or other unexpected
299 -- exceptions. Adding appropriate details to the
300 -- Multiple Message List. Otherwise re-raise the
301 -- error.
302 --
303 rollback to final_process_placement_swi;
304 if hr_multi_message.unexpected_error_add(l_proc) then
305 hr_utility.set_location(' Leaving:' || l_proc,40);
306 raise;
307 end if;
308 --
309 -- Reset IN OUT and set OUT parameters
310 --
311 p_object_version_number := l_object_version_number;
312 p_final_process_date := l_final_process_date;
313 p_return_status := hr_multi_message.get_return_status_disable;
314 hr_utility.set_location(' Leaving:' || l_proc,50);
315 end final_process_placement;
316 -- ----------------------------------------------------------------------------
317 -- |------------------------< get_length_of_placement >-----------------------|
318 -- ----------------------------------------------------------------------------
319 PROCEDURE get_length_of_placement
320 (p_effective_date in date
321 ,p_business_group_id in number
322 ,p_person_id in number
323 ,p_date_start in date
324 ,p_total_years out nocopy number
325 ,p_total_months out nocopy number
326 ,p_return_status out nocopy varchar2
327 ) is
328 --
329 -- Variables for API Boolean parameters
330 --
331 -- Variables for IN/OUT parameters
332 --
333 -- Other variables
334 l_proc varchar2(72) := g_package ||'get_length_of_placement';
335 Begin
336 hr_utility.set_location(' Entering:' || l_proc,10);
337 --
338 -- Issue a savepoint
339 --
340 savepoint get_length_of_placement_swi;
341 --
342 -- Initialise Multiple Message Detection
343 --
344 hr_multi_message.enable_message_list;
345 --
346 -- Remember IN OUT parameter IN values
347 --
348 --
349 -- Convert constant values to their corresponding boolean value
350 --
351 --
352 -- Register Surrogate ID or user key values
353 --
354 --
355 -- Call API
356 --
357 hr_contingent_worker_api.get_length_of_placement
358 (p_effective_date => p_effective_date
359 ,p_business_group_id => p_business_group_id
360 ,p_person_id => p_person_id
361 ,p_date_start => p_date_start
362 ,p_total_years => p_total_years
363 ,p_total_months => p_total_months
364 );
365 --
366 -- Convert API warning boolean parameter values to specific
367 -- messages and add them to Multiple Message List
368 --
369 --
370 -- Convert API non-warning boolean parameter values
371 --
372 --
373 -- Derive the API return status value based on whether
374 -- messages of any type exist in the Multiple Message List.
375 -- Also disable Multiple Message Detection.
376 --
377 p_return_status := hr_multi_message.get_return_status_disable;
378 hr_utility.set_location(' Leaving:' || l_proc,20);
379 --
380 exception
381 when hr_multi_message.error_message_exist then
382 --
383 -- Catch the Multiple Message List exception which
384 -- indicates API processing has been aborted because
385 -- at least one message exists in the list.
386 --
387 rollback to get_length_of_placement_swi;
388 --
389 -- Reset IN OUT parameters and set OUT parameters
390 --
391 p_total_years := null;
392 p_total_months := null;
393 p_return_status := hr_multi_message.get_return_status_disable;
394 hr_utility.set_location(' Leaving:' || l_proc, 30);
395 when others then
396 --
397 -- When Multiple Message Detection is enabled catch
398 -- any Application specific or other unexpected
399 -- exceptions. Adding appropriate details to the
400 -- Multiple Message List. Otherwise re-raise the
401 -- error.
402 --
403 rollback to get_length_of_placement_swi;
404 if hr_multi_message.unexpected_error_add(l_proc) then
405 hr_utility.set_location(' Leaving:' || l_proc,40);
406 raise;
407 end if;
408 --
409 -- Reset IN OUT and set OUT parameters
410 --
411 p_total_years := null;
412 p_total_months := null;
413 p_return_status := hr_multi_message.get_return_status_disable;
414 hr_utility.set_location(' Leaving:' || l_proc,50);
415 end get_length_of_placement;
416 -- ----------------------------------------------------------------------------
417 -- |----------------------< reverse_terminate_placement >---------------------|
418 -- ----------------------------------------------------------------------------
419 PROCEDURE reverse_terminate_placement
420 (p_validate in boolean
421 ,p_person_id in number
422 ,p_actual_termination_date in date
423 ,p_clear_details in varchar2 default hr_api.g_varchar2
424 ,p_return_status out nocopy varchar2
425 ) is
426 --
427 -- Variables for API Boolean parameters
428 l_validate boolean;
429 l_fut_actns_exist_warning boolean;
430 --
431 -- Variables for IN/OUT parameters
432 --
433 -- Other variables
434 l_proc varchar2(72) := g_package ||'reverse_terminate_placement';
435 Begin
436 hr_utility.set_location(' Entering:' || l_proc,10);
437 --
438 -- Issue a savepoint
439 --
440 savepoint reverse_term_placement_swi;
441 --
442 -- Initialise Multiple Message Detection
443 --
444 hr_multi_message.enable_message_list;
445 --
446 -- Remember IN OUT parameter IN values
447 --
448 --
449 -- Convert constant values to their corresponding boolean value
450 --
451
452 --
453 -- Register Surrogate ID or user key values
454 --
455 --
456 -- Call API
457 --
458 hr_contingent_worker_api.reverse_terminate_placement
459 (p_validate => p_validate
460 ,p_person_id => p_person_id
461 ,p_actual_termination_date => p_actual_termination_date
462 ,p_clear_details => p_clear_details
463 ,p_fut_actns_exist_warning => l_fut_actns_exist_warning
464 );
465 --
466 -- Convert API warning boolean parameter values to specific
467 -- messages and add them to Multiple Message List
468 --
469 -- l_fut_actns_exist_warning Reserved for Future Use
470 /* if l_fut_actns_exist_warning then
471 fnd_message.set_name('PER', 'EDIT_HERE: MESSAGE_NAME ');
472 hr_multi_message.add
473 (p_message_type => hr_multi_message.g_warning_msg
474 );
475 end if;
476 */
477
478 -- Convert API non-warning boolean parameter values
479 --
480 --
481 -- Derive the API return status value based on whether
482 -- messages of any type exist in the Multiple Message List.
483 -- Also disable Multiple Message Detection.
484 --
485 p_return_status := hr_multi_message.get_return_status_disable;
486 hr_utility.set_location(' Leaving:' || l_proc,20);
487 --
488 exception
489 when hr_multi_message.error_message_exist then
490 --
491 -- Catch the Multiple Message List exception which
492 -- indicates API processing has been aborted because
493 -- at least one message exists in the list.
494 --
495 rollback to reverse_term_placement_swi;
496 --
497 -- Reset IN OUT parameters and set OUT parameters
498 --
499 p_return_status := hr_multi_message.get_return_status_disable;
500 hr_utility.set_location(' Leaving:' || l_proc, 30);
501 when others then
502 --
503 -- When Multiple Message Detection is enabled catch
504 -- any Application specific or other unexpected
505 -- exceptions. Adding appropriate details to the
506 -- Multiple Message List. Otherwise re-raise the
507 -- error.
508 --
509 rollback to reverse_term_placement_swi;
510 if hr_multi_message.unexpected_error_add(l_proc) then
511 hr_utility.set_location(' Leaving:' || l_proc,40);
512 raise;
513 end if;
514 --
515 -- Reset IN OUT and set OUT parameters
516 --
517 p_return_status := hr_multi_message.get_return_status_disable;
518 hr_utility.set_location(' Leaving:' || l_proc,50);
519 end reverse_terminate_placement;
520 -- ----------------------------------------------------------------------------
521 -- |--------------------------< terminate_placement >-------------------------|
522 -- ----------------------------------------------------------------------------
523 PROCEDURE terminate_placement
524 (p_validate in boolean
525 ,p_effective_date in date
526 ,p_person_id in number
527 ,p_date_start in date
528 ,p_object_version_number in out nocopy number
529 ,p_person_type_id in number default hr_api.g_number
530 ,p_assignment_status_type_id in number default hr_api.g_number
531 ,p_actual_termination_date in date default hr_api.g_date
532 ,p_final_process_date in out nocopy date
533 ,p_last_standard_process_date in out nocopy date
534 ,p_termination_reason in varchar2 default hr_api.g_varchar2
535 ,p_projected_termination_date in date default hr_api.g_date
536 ,p_rehire_recommendation in varchar2 default hr_api.g_varchar2
537 ,p_rehire_reason in varchar2 default hr_api.g_varchar2
538 ,p_attribute_category in varchar2 default hr_api.g_varchar2
539 ,p_attribute1 in varchar2 default hr_api.g_varchar2
540 ,p_attribute2 in varchar2 default hr_api.g_varchar2
541 ,p_attribute3 in varchar2 default hr_api.g_varchar2
542 ,p_attribute4 in varchar2 default hr_api.g_varchar2
543 ,p_attribute5 in varchar2 default hr_api.g_varchar2
544 ,p_attribute6 in varchar2 default hr_api.g_varchar2
545 ,p_attribute7 in varchar2 default hr_api.g_varchar2
546 ,p_attribute8 in varchar2 default hr_api.g_varchar2
547 ,p_attribute9 in varchar2 default hr_api.g_varchar2
548 ,p_attribute10 in varchar2 default hr_api.g_varchar2
549 ,p_attribute11 in varchar2 default hr_api.g_varchar2
550 ,p_attribute12 in varchar2 default hr_api.g_varchar2
551 ,p_attribute13 in varchar2 default hr_api.g_varchar2
552 ,p_attribute14 in varchar2 default hr_api.g_varchar2
553 ,p_attribute15 in varchar2 default hr_api.g_varchar2
554 ,p_attribute16 in varchar2 default hr_api.g_varchar2
555 ,p_attribute17 in varchar2 default hr_api.g_varchar2
556 ,p_attribute18 in varchar2 default hr_api.g_varchar2
557 ,p_attribute19 in varchar2 default hr_api.g_varchar2
558 ,p_attribute20 in varchar2 default hr_api.g_varchar2
559 ,p_attribute21 in varchar2 default hr_api.g_varchar2
560 ,p_attribute22 in varchar2 default hr_api.g_varchar2
561 ,p_attribute23 in varchar2 default hr_api.g_varchar2
562 ,p_attribute24 in varchar2 default hr_api.g_varchar2
563 ,p_attribute25 in varchar2 default hr_api.g_varchar2
564 ,p_attribute26 in varchar2 default hr_api.g_varchar2
565 ,p_attribute27 in varchar2 default hr_api.g_varchar2
566 ,p_attribute28 in varchar2 default hr_api.g_varchar2
567 ,p_attribute29 in varchar2 default hr_api.g_varchar2
568 ,p_attribute30 in varchar2 default hr_api.g_varchar2
569 ,p_information_category in varchar2 default hr_api.g_varchar2
570 ,p_information1 in varchar2 default hr_api.g_varchar2
571 ,p_information2 in varchar2 default hr_api.g_varchar2
572 ,p_information3 in varchar2 default hr_api.g_varchar2
573 ,p_information4 in varchar2 default hr_api.g_varchar2
574 ,p_information5 in varchar2 default hr_api.g_varchar2
575 ,p_information6 in varchar2 default hr_api.g_varchar2
576 ,p_information7 in varchar2 default hr_api.g_varchar2
577 ,p_information8 in varchar2 default hr_api.g_varchar2
578 ,p_information9 in varchar2 default hr_api.g_varchar2
579 ,p_information10 in varchar2 default hr_api.g_varchar2
580 ,p_information11 in varchar2 default hr_api.g_varchar2
581 ,p_information12 in varchar2 default hr_api.g_varchar2
582 ,p_information13 in varchar2 default hr_api.g_varchar2
583 ,p_information14 in varchar2 default hr_api.g_varchar2
584 ,p_information15 in varchar2 default hr_api.g_varchar2
585 ,p_information16 in varchar2 default hr_api.g_varchar2
586 ,p_information17 in varchar2 default hr_api.g_varchar2
587 ,p_information18 in varchar2 default hr_api.g_varchar2
588 ,p_information19 in varchar2 default hr_api.g_varchar2
589 ,p_information20 in varchar2 default hr_api.g_varchar2
590 ,p_information21 in varchar2 default hr_api.g_varchar2
591 ,p_information22 in varchar2 default hr_api.g_varchar2
592 ,p_information23 in varchar2 default hr_api.g_varchar2
593 ,p_information24 in varchar2 default hr_api.g_varchar2
594 ,p_information25 in varchar2 default hr_api.g_varchar2
595 ,p_information26 in varchar2 default hr_api.g_varchar2
596 ,p_information27 in varchar2 default hr_api.g_varchar2
597 ,p_information28 in varchar2 default hr_api.g_varchar2
598 ,p_information29 in varchar2 default hr_api.g_varchar2
599 ,p_information30 in varchar2 default hr_api.g_varchar2
600 ,p_entries_changed_warning out nocopy varchar2
601 ,p_return_status out nocopy varchar2
602 ) is
603 --
604 -- Variables for API Boolean parameters
605 l_validate boolean;
606 l_supervisor_warning boolean;
607 l_event_warning boolean;
608 l_interview_warning boolean;
609 l_review_warning boolean;
610 l_recruiter_warning boolean;
611 l_asg_future_changes_warning boolean;
612 l_pay_proposal_warning boolean;
613 l_dod_warning boolean;
614 l_org_now_no_manager_warning boolean;
615 l_addl_rights_warning boolean; -- Bug 1370960
616 --
617 -- Variables for IN/OUT parameters
618 l_object_version_number number;
619 l_final_process_date date;
620 l_last_standard_process_date date;
621 --
622 -- Other variables
623 l_proc varchar2(72) := g_package ||'terminate_placement';
624 Begin
625 hr_utility.set_location(' Entering:' || l_proc,10);
626 --
627 -- Issue a savepoint
628 --
629 savepoint terminate_placement_swi;
630 --
631 -- Initialise Multiple Message Detection
632 --
633 hr_multi_message.enable_message_list;
634 --
635 -- Remember IN OUT parameter IN values
636 --
637 l_object_version_number := p_object_version_number;
638 l_final_process_date := p_final_process_date;
639 l_last_standard_process_date := p_last_standard_process_date;
640 --
641 -- Convert constant values to their corresponding boolean value
642 --
643
644 --
645 -- Register Surrogate ID or user key values
646 --
647 --
648 -- Call API
649 --
650 hr_contingent_worker_api.terminate_placement
651 (p_validate => p_validate
652 ,p_effective_date => p_effective_date
653 ,p_person_id => p_person_id
654 ,p_date_start => p_date_start
655 ,p_object_version_number => p_object_version_number
656 ,p_person_type_id => p_person_type_id
657 ,p_assignment_status_type_id => p_assignment_status_type_id
658 ,p_actual_termination_date => p_actual_termination_date
659 ,p_final_process_date => p_final_process_date
660 ,p_last_standard_process_date => p_last_standard_process_date
661 ,p_termination_reason => p_termination_reason
662 ,p_projected_termination_date => p_projected_termination_date
663 -- ,p_rehire_recommendation => p_rehire_recommendation
664 -- ,p_rehire_reason => p_rehire_reason
665 ,p_attribute_category => p_attribute_category
666 ,p_attribute1 => p_attribute1
667 ,p_attribute2 => p_attribute2
668 ,p_attribute3 => p_attribute3
669 ,p_attribute4 => p_attribute4
670 ,p_attribute5 => p_attribute5
671 ,p_attribute6 => p_attribute6
672 ,p_attribute7 => p_attribute7
673 ,p_attribute8 => p_attribute8
674 ,p_attribute9 => p_attribute9
675 ,p_attribute10 => p_attribute10
676 ,p_attribute11 => p_attribute11
677 ,p_attribute12 => p_attribute12
678 ,p_attribute13 => p_attribute13
679 ,p_attribute14 => p_attribute14
680 ,p_attribute15 => p_attribute15
681 ,p_attribute16 => p_attribute16
682 ,p_attribute17 => p_attribute17
683 ,p_attribute18 => p_attribute18
684 ,p_attribute19 => p_attribute19
685 ,p_attribute20 => p_attribute20
686 ,p_attribute21 => p_attribute21
687 ,p_attribute22 => p_attribute22
688 ,p_attribute23 => p_attribute23
689 ,p_attribute24 => p_attribute24
690 ,p_attribute25 => p_attribute25
691 ,p_attribute26 => p_attribute26
692 ,p_attribute27 => p_attribute27
693 ,p_attribute28 => p_attribute28
694 ,p_attribute29 => p_attribute29
695 ,p_attribute30 => p_attribute30
696 ,p_information_category => p_information_category
697 ,p_information1 => p_information1
698 ,p_information2 => p_information2
699 ,p_information3 => p_information3
700 ,p_information4 => p_information4
701 ,p_information5 => p_information5
702 ,p_information6 => p_information6
703 ,p_information7 => p_information7
704 ,p_information8 => p_information8
705 ,p_information9 => p_information9
706 ,p_information10 => p_information10
707 ,p_information11 => p_information11
708 ,p_information12 => p_information12
709 ,p_information13 => p_information13
710 ,p_information14 => p_information14
711 ,p_information15 => p_information15
712 ,p_information16 => p_information16
713 ,p_information17 => p_information17
714 ,p_information18 => p_information18
715 ,p_information19 => p_information19
716 ,p_information20 => p_information20
717 ,p_information21 => p_information21
718 ,p_information22 => p_information22
719 ,p_information23 => p_information23
720 ,p_information24 => p_information24
721 ,p_information25 => p_information25
722 ,p_information26 => p_information26
723 ,p_information27 => p_information27
724 ,p_information28 => p_information28
725 ,p_information29 => p_information29
726 ,p_information30 => p_information30
727 ,p_supervisor_warning => l_supervisor_warning
728 ,p_event_warning => l_event_warning
729 ,p_interview_warning => l_interview_warning
730 ,p_review_warning => l_review_warning
731 ,p_recruiter_warning => l_recruiter_warning
732 ,p_asg_future_changes_warning => l_asg_future_changes_warning
733 ,p_entries_changed_warning => p_entries_changed_warning
734 ,p_pay_proposal_warning => l_pay_proposal_warning
735 ,p_dod_warning => l_dod_warning
736 ,p_org_now_no_manager_warning => l_org_now_no_manager_warning
737 ,p_addl_rights_warning => l_addl_rights_warning -- Fix 1370960
738 );
739 --
740 --
741 -- Core HR API will not support update of field Rehire Recommendation
742 -- and Rehire Reason. Hence we make following call to Person API
743 -- to update the Fields.
744
745 DECLARE
746 l_person_id per_all_people_f.person_id%TYPE;
747 l_per_object_version_number per_all_people_f.object_version_number%TYPE;
748 l_employee_number per_all_people_f.employee_number%TYPE;
749 l_effective_start_date date;
750 l_effective_end_date date;
751 l_full_name per_all_people_f.full_name%TYPE;
752 l_comment_id per_all_people_f.comment_id%TYPE;
753 l_name_combination_warning boolean;
754 l_assign_payroll_warning boolean;
755 l_orig_hire_warning boolean;
756
757 cursor csr_get_derived_details is
758 select per.person_id
759 , per.employee_number
760 , per.object_version_number
761 from per_all_people_f per
762 where per.person_id = p_person_id
763 and p_actual_termination_date between per.effective_start_date
764 and per.effective_end_date;
765
766 BEGIN
767 open csr_get_derived_details;
768 fetch csr_get_derived_details
769 into l_person_id
770 , l_employee_number
771 , l_per_object_version_number;
772 SAVEPOINT update_person_details;
773 hr_person_api.update_person (
774 p_validate => p_validate
775 ,p_effective_date => p_effective_date
776 ,p_datetrack_update_mode => 'CORRECTION'
777 ,p_person_id => l_person_id
778 ,p_object_version_number => l_per_object_version_number
779 ,p_employee_number => l_employee_number
780 ,p_effective_start_date => l_effective_start_date
781 ,p_effective_end_date => l_effective_end_date
782 ,p_rehire_recommendation => p_rehire_recommendation
783 ,p_rehire_reason => p_rehire_reason
784 ,p_full_name => l_full_name
785 ,p_comment_id => l_comment_id
786 ,p_name_combination_warning => l_name_combination_warning
787 ,p_assign_payroll_warning => l_assign_payroll_warning
788 ,p_orig_hire_warning => l_orig_hire_warning
789 );
790 IF p_validate THEN
791 ROLLBACK TO update_person_details;
792 END IF;
793 END;
794
795 -- Convert API warning boolean parameter values to specific
796 -- messages and add them to Multiple Message List
797 --
798 /*
799 if l_supervisor_warning then
800 fnd_message.set_name('PER', 'HR_289757_CWK_IS_SUPER');
801 hr_multi_message.add
802 (p_message_type => hr_multi_message.g_warning_msg
803 );
804 end if;
805 if l_event_warning then
806 fnd_message.set_name('PER', 'HR_289759_CWK_HAS_EVENTS');
807 hr_multi_message.add
808 (p_message_type => hr_multi_message.g_warning_msg
809 );
810 end if;
811 if l_interview_warning then
812 fnd_message.set_name('PER', 'HR_289760_CWK_IS_INTERVIEWER');
813 hr_multi_message.add
814 (p_message_type => hr_multi_message.g_warning_msg
815 );
816 end if;
817 if l_review_warning then
818 fnd_message.set_name('PER', 'HR_289761_CWK_DUE_REVIEW');
819 hr_multi_message.add
820 (p_message_type => hr_multi_message.g_warning_msg
821 );
822 end if;
823 if l_recruiter_warning then
824 fnd_message.set_name('PER', 'HR_289762_CWK_VAC_RECRUITER');
825 hr_multi_message.add
826 (p_message_type => hr_multi_message.g_warning_msg
827 );
828 end if;
829 if l_asg_future_changes_warning then
830 fnd_message.set_name('PER', 'HR_EMP_ASG_FUTURE');
831 hr_multi_message.add
832 (p_message_type => hr_multi_message.g_warning_msg
833 );
834 end if;
835 -- l_pay_proposal_warning Reserved for future Use
836 if l_pay_proposal_warning then
837 fnd_message.set_name('PER', 'HR_PAY_PROPOSAL_WARN');
838 hr_multi_message.add
839 (p_message_type => hr_multi_message.g_warning_msg
840 );
841 end if;
842
843 if l_dod_warning then
844 fnd_message.set_name('PER', 'PER_52475_DEATH_TERM_DATES');
845 hr_multi_message.add
846 (p_message_type => hr_multi_message.g_warning_msg
847 );
848 end if;
849 if l_org_now_no_manager_warning then
850 fnd_message.set_name('PER', 'HR_ORG_NOW_NO_MANAGER_WARN');
851 hr_multi_message.add
852 (p_message_type => hr_multi_message.g_warning_msg
853 );
854 end if;
855 */
856 -- Fix Bug 1370960
857 if l_addl_rights_warning and p_validate then
858 fnd_message.set_name('PER', 'PER_449140_OPEN_CWK_ADDL_RIGHT');
859 hr_multi_message.add
860 (p_message_type => hr_multi_message.g_warning_msg
861 );
862 end if;
863 --
864 -- Convert API non-warning boolean parameter values
865 --
866 --
867 -- Derive the API return status value based on whether
868 -- messages of any type exist in the Multiple Message List.
869 -- Also disable Multiple Message Detection.
870 --
871 p_return_status := hr_multi_message.get_return_status_disable;
872 hr_utility.set_location(' Leaving:' || l_proc,20);
873 --
874 exception
875 when hr_multi_message.error_message_exist then
876 --
877 -- Catch the Multiple Message List exception which
878 -- indicates API processing has been aborted because
879 -- at least one message exists in the list.
880 --
881 rollback to terminate_placement_swi;
882 --
883 -- Reset IN OUT parameters and set OUT parameters
884 --
885 p_object_version_number := l_object_version_number;
886 p_final_process_date := l_final_process_date;
887 p_last_standard_process_date := l_last_standard_process_date;
888 p_return_status := hr_multi_message.get_return_status_disable;
889 hr_utility.set_location(' Leaving:' || l_proc, 30);
890 when others then
891 --
892 -- When Multiple Message Detection is enabled catch
893 -- any Application specific or other unexpected
894 -- exceptions. Adding appropriate details to the
895 -- Multiple Message List. Otherwise re-raise the
896 -- error.
897 --
898 rollback to terminate_placement_swi;
899 if hr_multi_message.unexpected_error_add(l_proc) then
900 hr_utility.set_location(' Leaving:' || l_proc,40);
901 raise;
902 end if;
903 --
904 -- Reset IN OUT and set OUT parameters
905 --
906 p_object_version_number := l_object_version_number;
907 p_final_process_date := l_final_process_date;
908 p_last_standard_process_date := l_last_standard_process_date;
909 p_return_status := hr_multi_message.get_return_status_disable;
910 hr_utility.set_location(' Leaving:' || l_proc,50);
911 end terminate_placement;
912
913 PROCEDURE process_save
914 ( p_item_type in wf_items.item_type%TYPE
915 ,p_item_key in wf_items.item_key%TYPE
916 ,p_actid in varchar2
917 ,p_transaction_mode in varchar2 DEFAULT '#'
918 ,p_effective_date in date
919 ,p_person_id in number
920 ,p_date_start in date
921 ,p_object_version_number in number
922 ,p_person_type_id in number default hr_api.g_number
923 ,p_actual_termination_date in date default hr_api.g_date
924 ,p_final_process_date in date
925 ,p_last_standard_process_date in date
926 ,p_termination_reason in varchar2 default hr_api.g_varchar2
927 ,p_projected_termination_date in date default hr_api.g_date
928 ,p_rehire_recommendation in varchar2 default hr_api.g_varchar2
929 ,p_rehire_reason in varchar2 default hr_api.g_varchar2
930 ,p_attribute_category in varchar2 default hr_api.g_varchar2
931 ,p_attribute1 in varchar2 default hr_api.g_varchar2
932 ,p_attribute2 in varchar2 default hr_api.g_varchar2
933 ,p_attribute3 in varchar2 default hr_api.g_varchar2
934 ,p_attribute4 in varchar2 default hr_api.g_varchar2
935 ,p_attribute5 in varchar2 default hr_api.g_varchar2
936 ,p_attribute6 in varchar2 default hr_api.g_varchar2
937 ,p_attribute7 in varchar2 default hr_api.g_varchar2
938 ,p_attribute8 in varchar2 default hr_api.g_varchar2
939 ,p_attribute9 in varchar2 default hr_api.g_varchar2
940 ,p_attribute10 in varchar2 default hr_api.g_varchar2
941 ,p_attribute11 in varchar2 default hr_api.g_varchar2
942 ,p_attribute12 in varchar2 default hr_api.g_varchar2
943 ,p_attribute13 in varchar2 default hr_api.g_varchar2
944 ,p_attribute14 in varchar2 default hr_api.g_varchar2
945 ,p_attribute15 in varchar2 default hr_api.g_varchar2
946 ,p_attribute16 in varchar2 default hr_api.g_varchar2
947 ,p_attribute17 in varchar2 default hr_api.g_varchar2
948 ,p_attribute18 in varchar2 default hr_api.g_varchar2
949 ,p_attribute19 in varchar2 default hr_api.g_varchar2
950 ,p_attribute20 in varchar2 default hr_api.g_varchar2
951 ,p_attribute21 in varchar2 default hr_api.g_varchar2
952 ,p_attribute22 in varchar2 default hr_api.g_varchar2
953 ,p_attribute23 in varchar2 default hr_api.g_varchar2
954 ,p_attribute24 in varchar2 default hr_api.g_varchar2
955 ,p_attribute25 in varchar2 default hr_api.g_varchar2
956 ,p_attribute26 in varchar2 default hr_api.g_varchar2
957 ,p_attribute27 in varchar2 default hr_api.g_varchar2
958 ,p_attribute28 in varchar2 default hr_api.g_varchar2
959 ,p_attribute29 in varchar2 default hr_api.g_varchar2
960 ,p_attribute30 in varchar2 default hr_api.g_varchar2
961 ,p_information_category in varchar2 default hr_api.g_varchar2
962 ,p_information1 in varchar2 default hr_api.g_varchar2
963 ,p_information2 in varchar2 default hr_api.g_varchar2
964 ,p_information3 in varchar2 default hr_api.g_varchar2
965 ,p_information4 in varchar2 default hr_api.g_varchar2
966 ,p_information5 in varchar2 default hr_api.g_varchar2
967 ,p_information6 in varchar2 default hr_api.g_varchar2
968 ,p_information7 in varchar2 default hr_api.g_varchar2
969 ,p_information8 in varchar2 default hr_api.g_varchar2
970 ,p_information9 in varchar2 default hr_api.g_varchar2
971 ,p_information10 in varchar2 default hr_api.g_varchar2
972 ,p_information11 in varchar2 default hr_api.g_varchar2
973 ,p_information12 in varchar2 default hr_api.g_varchar2
974 ,p_information13 in varchar2 default hr_api.g_varchar2
975 ,p_information14 in varchar2 default hr_api.g_varchar2
976 ,p_information15 in varchar2 default hr_api.g_varchar2
977 ,p_information16 in varchar2 default hr_api.g_varchar2
978 ,p_information17 in varchar2 default hr_api.g_varchar2
979 ,p_information18 in varchar2 default hr_api.g_varchar2
980 ,p_information19 in varchar2 default hr_api.g_varchar2
981 ,p_information20 in varchar2 default hr_api.g_varchar2
982 ,p_information21 in varchar2 default hr_api.g_varchar2
983 ,p_information22 in varchar2 default hr_api.g_varchar2
984 ,p_information23 in varchar2 default hr_api.g_varchar2
985 ,p_information24 in varchar2 default hr_api.g_varchar2
986 ,p_information25 in varchar2 default hr_api.g_varchar2
987 ,p_information26 in varchar2 default hr_api.g_varchar2
988 ,p_information27 in varchar2 default hr_api.g_varchar2
989 ,p_information28 in varchar2 default hr_api.g_varchar2
990 ,p_information29 in varchar2 default hr_api.g_varchar2
991 ,p_information30 in varchar2 default hr_api.g_varchar2
992 ,p_review_proc_call in varchar2 default hr_api.g_varchar2
993 ,p_effective_date_option in varchar2 default hr_api.g_varchar2
994 ,p_login_person_id in number
995 ,p_entries_changed_warning out nocopy varchar2
996 ,p_return_status out nocopy varchar2
997 ,p_return_on_warning in varchar2 default null --Bug fix 1370960
998 ) Is
999
1000 -- Local params for Saving Transaction
1001 lv_cnt integer;
1002 lv_activity_name wf_item_activity_statuses_v.activity_name%TYPE;
1003 lv_result varchar2(100);
1004 ln_transaction_id number;
1005 ltt_trans_obj_vers_num hr_util_web.g_varchar2_tab_type;
1006 ln_trans_step_rows NUMBER default 0;
1007 ltt_trans_step_ids hr_util_web.g_varchar2_tab_type;
1008 ln_transaction_step_id hr_api_transaction_steps.transaction_step_id%TYPE;
1009 ln_ovn hr_api_transaction_steps.object_version_number%TYPE;
1010
1011 -- In out params for terminate_placement
1012 l_object_version_number per_periods_of_placement.object_version_number%TYPE;
1013 l_final_process_date per_periods_of_placement.final_process_Date%TYPE;
1014 l_last_standard_process_date
1015 per_periods_of_placement.last_standard_process_date%TYPE;
1016
1017 validate_exception EXCEPTION;
1018
1019 BEGIN
1020
1021 l_object_version_number := p_object_version_number;
1022
1023 IF p_transaction_mode <> 'SAVE_FOR_LATER' THEN
1024 hr_cwk_termination_swi.terminate_placement
1025 (p_validate => true
1026 ,p_effective_date => p_effective_date
1027 ,p_person_id => p_person_id
1028 ,p_date_start => p_date_start
1029 ,p_object_version_number => l_object_version_number
1030 ,p_person_type_id => p_person_type_id
1031 ,p_actual_termination_date => p_actual_termination_date
1032 ,p_final_process_date => l_final_process_date
1033 ,p_last_standard_process_date => l_last_standard_process_date
1034 ,p_termination_reason => p_termination_reason
1035 ,p_projected_termination_date => p_projected_termination_date
1036 ,p_attribute_category => p_attribute_category
1037 ,p_attribute1 => p_attribute1
1038 ,p_attribute2 => p_attribute2
1039 ,p_attribute3 => p_attribute3
1040 ,p_attribute4 => p_attribute4
1041 ,p_attribute5 => p_attribute5
1042 ,p_attribute6 => p_attribute6
1043 ,p_attribute7 => p_attribute7
1044 ,p_attribute8 => p_attribute8
1045 ,p_attribute9 => p_attribute9
1046 ,p_attribute10 => p_attribute10
1047 ,p_attribute11 => p_attribute11
1048 ,p_attribute12 => p_attribute12
1049 ,p_attribute13 => p_attribute13
1050 ,p_attribute14 => p_attribute14
1051 ,p_attribute15 => p_attribute15
1052 ,p_attribute16 => p_attribute16
1053 ,p_attribute17 => p_attribute17
1054 ,p_attribute18 => p_attribute18
1055 ,p_attribute19 => p_attribute19
1056 ,p_attribute20 => p_attribute20
1057 ,p_attribute21 => p_attribute21
1058 ,p_attribute22 => p_attribute22
1059 ,p_attribute23 => p_attribute23
1060 ,p_attribute24 => p_attribute24
1061 ,p_attribute25 => p_attribute25
1062 ,p_attribute26 => p_attribute26
1063 ,p_attribute27 => p_attribute27
1064 ,p_attribute28 => p_attribute28
1065 ,p_attribute29 => p_attribute29
1066 ,p_attribute30 => p_attribute30
1067 ,p_information_category => p_information_category
1068 ,p_information1 => p_information1
1069 ,p_information2 => p_information2
1070 ,p_information3 => p_information3
1071 ,p_information4 => p_information4
1072 ,p_information5 => p_information5
1073 ,p_information6 => p_information6
1074 ,p_information7 => p_information7
1075 ,p_information8 => p_information8
1076 ,p_information9 => p_information9
1077 ,p_information10 => p_information10
1078 ,p_information11 => p_information11
1079 ,p_information12 => p_information12
1080 ,p_information13 => p_information13
1081 ,p_information14 => p_information14
1082 ,p_information15 => p_information15
1083 ,p_information16 => p_information16
1084 ,p_information17 => p_information17
1085 ,p_information18 => p_information18
1086 ,p_information19 => p_information19
1087 ,p_information20 => p_information20
1088 ,p_information21 => p_information21
1089 ,p_information22 => p_information22
1090 ,p_information23 => p_information23
1091 ,p_information24 => p_information24
1092 ,p_information25 => p_information25
1093 ,p_information26 => p_information26
1094 ,p_information27 => p_information27
1095 ,p_information28 => p_information28
1096 ,p_information29 => p_information29
1097 ,p_information30 => p_information30
1098 ,p_entries_changed_warning => p_entries_changed_warning
1099 ,p_return_status => p_return_status
1100 ,p_rehire_recommendation => p_rehire_recommendation
1101 ,p_rehire_reason => p_rehire_reason
1102 );
1103 END IF;
1104 IF p_return_status = 'E' AND p_return_on_warning = 'true' THEN
1105 RAISE validate_exception;
1106 END IF;
1107 ---- All validations successful, proceed and save transaction.
1108 lv_cnt := 1;
1109 lv_transaction_steps(lv_cnt).param_name := 'P_PERSON_ID';
1110 lv_transaction_steps(lv_cnt).param_value := p_person_id;
1111 lv_transaction_steps(lv_cnt).param_data_type := 'NUMBER';
1112
1113 lv_cnt := lv_cnt + 1;
1114 lv_transaction_steps(lv_cnt).param_name := 'P_DATE_START';
1115 lv_transaction_steps(lv_cnt).param_value := to_char(p_date_start, hr_transaction_ss.g_date_format);
1116 lv_transaction_steps(lv_cnt).param_data_type := 'DATE';
1117
1118 lv_cnt := lv_cnt + 1;
1119 lv_transaction_steps(lv_cnt).param_name := 'P_EFFECTIVE_DATE';
1120 lv_transaction_steps(lv_cnt).param_value := to_char(p_effective_date, hr_transaction_ss.g_date_format);
1121 lv_transaction_steps(lv_cnt).param_data_type := 'DATE';
1122
1123 lv_cnt := lv_cnt + 1;
1124 lv_transaction_steps(lv_cnt).param_name := 'P_OBJECT_VERSION_NUMBER';
1125 lv_transaction_steps(lv_cnt).param_value := p_object_version_number;
1126 lv_transaction_steps(lv_cnt).param_data_type := 'NUMBER';
1127
1128 lv_cnt := lv_cnt + 1;
1129 lv_transaction_steps(lv_cnt).param_name := 'P_PERSON_TYPE_ID';
1130 lv_transaction_steps(lv_cnt).param_value := p_person_type_id;
1131 lv_transaction_steps(lv_cnt).param_data_type := 'NUMBER';
1132
1133 lv_cnt := lv_cnt + 1;
1134 lv_transaction_steps(lv_cnt).param_name := 'P_ACTUAL_TERMINATION_DATE';
1135 lv_transaction_steps(lv_cnt).param_value := to_char(p_actual_termination_date, hr_transaction_ss.g_date_format);
1136 lv_transaction_steps(lv_cnt).param_data_type := 'DATE';
1137
1138 IF p_final_process_date IS NOT NULL THEN
1139 lv_cnt := lv_cnt + 1;
1140 lv_transaction_steps(lv_cnt).param_name := 'P_FINAL_PROCESS_DATE';
1141 lv_transaction_steps(lv_cnt).param_value := to_char(p_final_process_date, hr_transaction_ss.g_date_format);
1142 lv_transaction_steps(lv_cnt).param_data_type := 'DATE';
1143 END IF;
1144
1145 IF p_last_standard_process_date IS NOT NULL THEN
1146 lv_cnt := lv_cnt + 1;
1147 lv_transaction_steps(lv_cnt).param_name := 'P_LAST_STANDARD_PROCESS_DATE';
1148 lv_transaction_steps(lv_cnt).param_value := to_char(p_last_standard_process_date, hr_transaction_ss.g_date_format);
1149 lv_transaction_steps(lv_cnt).param_data_type := 'DATE';
1150 END IF;
1151
1152 lv_cnt := lv_cnt + 1;
1153 lv_transaction_steps(lv_cnt).param_name := 'P_TERMINATION_REASON';
1154 lv_transaction_steps(lv_cnt).param_value := p_termination_reason;
1155 lv_transaction_steps(lv_cnt).param_data_type := 'VARCHAR2';
1156
1157 IF p_projected_termination_date IS NOT NULL THEN
1158 lv_cnt := lv_cnt + 1;
1159 lv_transaction_steps(lv_cnt).param_name := 'P_PROJECTED_TERMINATION_DATE';
1160 lv_transaction_steps(lv_cnt).param_value := to_char(p_projected_termination_date, hr_transaction_ss.g_date_format);
1161 lv_transaction_steps(lv_cnt).param_data_type := 'DATE';
1162 END IF;
1163
1164 lv_cnt := lv_cnt + 1;
1165 lv_transaction_steps(lv_cnt).param_name := 'P_REHIRE_RECOMMENDATION';
1166 lv_transaction_steps(lv_cnt).param_value := p_rehire_recommendation;
1167 lv_transaction_steps(lv_cnt).param_data_type := 'VARCHAR2';
1168
1169 lv_cnt := lv_cnt + 1;
1170 lv_transaction_steps(lv_cnt).param_name := 'P_REHIRE_REASON';
1171 lv_transaction_steps(lv_cnt).param_value := p_rehire_reason;
1172 lv_transaction_steps(lv_cnt).param_data_type := 'VARCHAR2';
1173
1174 ------------------------------------------------------------
1175 -- DFF Segments
1176 ------------------------------------------------------------
1177 lv_cnt := lv_cnt + 1;
1178 lv_transaction_steps(lv_cnt).param_name := 'P_ATTRIBUTE_CATEGORY';
1179 lv_transaction_steps(lv_cnt).param_value := p_attribute_category;
1180 lv_transaction_steps(lv_cnt).param_data_type := 'VARCHAR2';
1181
1182 lv_cnt := lv_cnt + 1;
1183 lv_transaction_steps(lv_cnt).param_name := 'P_ATTRIBUTE1';
1184 lv_transaction_steps(lv_cnt).param_value := p_attribute1;
1185 lv_transaction_steps(lv_cnt).param_data_type := 'VARCHAR2';
1186
1187 lv_cnt := lv_cnt + 1;
1188 lv_transaction_steps(lv_cnt).param_name := 'P_ATTRIBUTE2';
1189 lv_transaction_steps(lv_cnt).param_value := p_attribute2;
1190 lv_transaction_steps(lv_cnt).param_data_type := 'VARCHAR2';
1191
1192 lv_cnt := lv_cnt + 1;
1193 lv_transaction_steps(lv_cnt).param_name := 'P_ATTRIBUTE3';
1194 lv_transaction_steps(lv_cnt).param_value := p_attribute3;
1195 lv_transaction_steps(lv_cnt).param_data_type := 'VARCHAR2';
1196
1197 lv_cnt := lv_cnt + 1;
1198 lv_transaction_steps(lv_cnt).param_name := 'P_ATTRIBUTE4';
1199 lv_transaction_steps(lv_cnt).param_value := p_attribute4;
1200 lv_transaction_steps(lv_cnt).param_data_type := 'VARCHAR2';
1201
1202 lv_cnt := lv_cnt + 1;
1203 lv_transaction_steps(lv_cnt).param_name := 'P_ATTRIBUTE5';
1204 lv_transaction_steps(lv_cnt).param_value := p_attribute5;
1205 lv_transaction_steps(lv_cnt).param_data_type := 'VARCHAR2';
1206
1207 lv_cnt := lv_cnt + 1;
1208 lv_transaction_steps(lv_cnt).param_name := 'P_ATTRIBUTE6';
1209 lv_transaction_steps(lv_cnt).param_value := p_attribute6;
1210 lv_transaction_steps(lv_cnt).param_data_type := 'VARCHAR2';
1211
1212 lv_cnt := lv_cnt + 1;
1213 lv_transaction_steps(lv_cnt).param_name := 'P_ATTRIBUTE7';
1214 lv_transaction_steps(lv_cnt).param_value := p_attribute7;
1215 lv_transaction_steps(lv_cnt).param_data_type := 'VARCHAR2';
1216
1217 lv_cnt := lv_cnt + 1;
1218 lv_transaction_steps(lv_cnt).param_name := 'P_ATTRIBUTE8';
1219 lv_transaction_steps(lv_cnt).param_value := p_attribute8;
1220 lv_transaction_steps(lv_cnt).param_data_type := 'VARCHAR2';
1221
1222 lv_cnt := lv_cnt + 1;
1223 lv_transaction_steps(lv_cnt).param_name := 'P_ATTRIBUTE9';
1224 lv_transaction_steps(lv_cnt).param_value := p_attribute9;
1225 lv_transaction_steps(lv_cnt).param_data_type := 'VARCHAR2';
1226
1227 lv_cnt := lv_cnt + 1;
1228 lv_transaction_steps(lv_cnt).param_name := 'P_ATTRIBUTE10';
1229 lv_transaction_steps(lv_cnt).param_value := p_attribute10;
1230 lv_transaction_steps(lv_cnt).param_data_type := 'VARCHAR2';
1231
1232 lv_cnt := lv_cnt + 1;
1233 lv_transaction_steps(lv_cnt).param_name := 'P_ATTRIBUTE11';
1234 lv_transaction_steps(lv_cnt).param_value := p_attribute11;
1235 lv_transaction_steps(lv_cnt).param_data_type := 'VARCHAR2';
1236
1237 lv_cnt := lv_cnt + 1;
1238 lv_transaction_steps(lv_cnt).param_name := 'P_ATTRIBUTE12';
1239 lv_transaction_steps(lv_cnt).param_value := p_attribute12;
1240 lv_transaction_steps(lv_cnt).param_data_type := 'VARCHAR2';
1241
1242 lv_cnt := lv_cnt + 1;
1243 lv_transaction_steps(lv_cnt).param_name := 'P_ATTRIBUTE13';
1244 lv_transaction_steps(lv_cnt).param_value := p_attribute13;
1245 lv_transaction_steps(lv_cnt).param_data_type := 'VARCHAR2';
1246
1247 lv_cnt := lv_cnt + 1;
1248 lv_transaction_steps(lv_cnt).param_name := 'P_ATTRIBUTE14';
1249 lv_transaction_steps(lv_cnt).param_value := p_attribute14;
1250 lv_transaction_steps(lv_cnt).param_data_type := 'VARCHAR2';
1251
1252 lv_cnt := lv_cnt + 1;
1253 lv_transaction_steps(lv_cnt).param_name := 'P_ATTRIBUTE15';
1254 lv_transaction_steps(lv_cnt).param_value := p_attribute15;
1255 lv_transaction_steps(lv_cnt).param_data_type := 'VARCHAR2';
1256
1257 lv_cnt := lv_cnt + 1;
1258 lv_transaction_steps(lv_cnt).param_name := 'P_ATTRIBUTE16';
1259 lv_transaction_steps(lv_cnt).param_value := p_attribute16;
1260 lv_transaction_steps(lv_cnt).param_data_type := 'VARCHAR2';
1261
1262 lv_cnt := lv_cnt + 1;
1263 lv_transaction_steps(lv_cnt).param_name := 'P_ATTRIBUTE17';
1264 lv_transaction_steps(lv_cnt).param_value := p_attribute17;
1265 lv_transaction_steps(lv_cnt).param_data_type := 'VARCHAR2';
1266
1267 lv_cnt := lv_cnt + 1;
1268 lv_transaction_steps(lv_cnt).param_name := 'P_ATTRIBUTE18';
1269 lv_transaction_steps(lv_cnt).param_value := p_attribute18;
1270 lv_transaction_steps(lv_cnt).param_data_type := 'VARCHAR2';
1271
1272 lv_cnt := lv_cnt + 1;
1273 lv_transaction_steps(lv_cnt).param_name := 'P_ATTRIBUTE19';
1274 lv_transaction_steps(lv_cnt).param_value := p_attribute19;
1275 lv_transaction_steps(lv_cnt).param_data_type := 'VARCHAR2';
1276
1277 lv_cnt := lv_cnt + 1;
1278 lv_transaction_steps(lv_cnt).param_name := 'P_ATTRIBUTE20';
1279 lv_transaction_steps(lv_cnt).param_value := p_attribute20;
1280 lv_transaction_steps(lv_cnt).param_data_type := 'VARCHAR2';
1281
1282 lv_cnt := lv_cnt + 1;
1283 lv_transaction_steps(lv_cnt).param_name := 'P_ATTRIBUTE21';
1284 lv_transaction_steps(lv_cnt).param_value := p_attribute21;
1285 lv_transaction_steps(lv_cnt).param_data_type := 'VARCHAR2';
1286
1287 lv_cnt := lv_cnt + 1;
1288 lv_transaction_steps(lv_cnt).param_name := 'P_ATTRIBUTE22';
1289 lv_transaction_steps(lv_cnt).param_value := p_attribute22;
1290 lv_transaction_steps(lv_cnt).param_data_type := 'VARCHAR2';
1291
1292 lv_cnt := lv_cnt + 1;
1293 lv_transaction_steps(lv_cnt).param_name := 'P_ATTRIBUTE23';
1294 lv_transaction_steps(lv_cnt).param_value := p_attribute23;
1295 lv_transaction_steps(lv_cnt).param_data_type := 'VARCHAR2';
1296
1297 lv_cnt := lv_cnt + 1;
1298 lv_transaction_steps(lv_cnt).param_name := 'P_ATTRIBUTE24';
1299 lv_transaction_steps(lv_cnt).param_value := p_attribute24;
1300 lv_transaction_steps(lv_cnt).param_data_type := 'VARCHAR2';
1301
1302 lv_cnt := lv_cnt + 1;
1303 lv_transaction_steps(lv_cnt).param_name := 'P_ATTRIBUTE25';
1304 lv_transaction_steps(lv_cnt).param_value := p_attribute25;
1305 lv_transaction_steps(lv_cnt).param_data_type := 'VARCHAR2';
1306
1307 lv_cnt := lv_cnt + 1;
1308 lv_transaction_steps(lv_cnt).param_name := 'P_ATTRIBUTE26';
1309 lv_transaction_steps(lv_cnt).param_value := p_attribute26;
1310 lv_transaction_steps(lv_cnt).param_data_type := 'VARCHAR2';
1311
1312 lv_cnt := lv_cnt + 1;
1313 lv_transaction_steps(lv_cnt).param_name := 'P_ATTRIBUTE27';
1314 lv_transaction_steps(lv_cnt).param_value := p_attribute27;
1315 lv_transaction_steps(lv_cnt).param_data_type := 'VARCHAR2';
1316
1317 lv_cnt := lv_cnt + 1;
1318 lv_transaction_steps(lv_cnt).param_name := 'P_ATTRIBUTE28';
1319 lv_transaction_steps(lv_cnt).param_value := p_attribute28;
1320 lv_transaction_steps(lv_cnt).param_data_type := 'VARCHAR2';
1321
1322 lv_cnt := lv_cnt + 1;
1323 lv_transaction_steps(lv_cnt).param_name := 'P_ATTRIBUTE29';
1324 lv_transaction_steps(lv_cnt).param_value := p_attribute29;
1325 lv_transaction_steps(lv_cnt).param_data_type := 'VARCHAR2';
1326
1327 lv_cnt := lv_cnt + 1;
1328 lv_transaction_steps(lv_cnt).param_name := 'P_ATTRIBUTE30';
1329 lv_transaction_steps(lv_cnt).param_value := p_attribute30;
1330 lv_transaction_steps(lv_cnt).param_data_type := 'VARCHAR2';
1331
1332 lv_cnt := lv_cnt + 1;
1333 lv_transaction_steps(lv_cnt).param_name := 'P_INFORMATION_CATEGORY';
1334 lv_transaction_steps(lv_cnt).param_value := p_information_category;
1335 lv_transaction_steps(lv_cnt).param_data_type := 'VARCHAR2';
1336
1337 lv_cnt := lv_cnt + 1;
1338 lv_transaction_steps(lv_cnt).param_name := 'P_INFORMATION1';
1339 lv_transaction_steps(lv_cnt).param_value := p_information1;
1340 lv_transaction_steps(lv_cnt).param_data_type := 'VARCHAR2';
1341
1342 lv_cnt := lv_cnt + 1;
1343 lv_transaction_steps(lv_cnt).param_name := 'P_INFORMATION2';
1344 lv_transaction_steps(lv_cnt).param_value := p_information2;
1345 lv_transaction_steps(lv_cnt).param_data_type := 'VARCHAR2';
1346
1347 lv_cnt := lv_cnt + 1;
1348 lv_transaction_steps(lv_cnt).param_name := 'P_INFORMATION3';
1349 lv_transaction_steps(lv_cnt).param_value := p_information3;
1350 lv_transaction_steps(lv_cnt).param_data_type := 'VARCHAR2';
1351
1352 lv_cnt := lv_cnt + 1;
1353 lv_transaction_steps(lv_cnt).param_name := 'P_INFORMATION4';
1354 lv_transaction_steps(lv_cnt).param_value := p_information4;
1355 lv_transaction_steps(lv_cnt).param_data_type := 'VARCHAR2';
1356
1357 lv_cnt := lv_cnt + 1;
1358 lv_transaction_steps(lv_cnt).param_name := 'P_INFORMATION5';
1359 lv_transaction_steps(lv_cnt).param_value := p_information5;
1360 lv_transaction_steps(lv_cnt).param_data_type := 'VARCHAR2';
1361
1362 lv_cnt := lv_cnt + 1;
1363 lv_transaction_steps(lv_cnt).param_name := 'P_INFORMATION6';
1364 lv_transaction_steps(lv_cnt).param_value := p_information6;
1365 lv_transaction_steps(lv_cnt).param_data_type := 'VARCHAR2';
1366
1367 lv_cnt := lv_cnt + 1;
1368 lv_transaction_steps(lv_cnt).param_name := 'P_INFORMATION7';
1369 lv_transaction_steps(lv_cnt).param_value := p_information7;
1370 lv_transaction_steps(lv_cnt).param_data_type := 'VARCHAR2';
1371
1372 lv_cnt := lv_cnt + 1;
1373 lv_transaction_steps(lv_cnt).param_name := 'P_INFORMATION8';
1374 lv_transaction_steps(lv_cnt).param_value := p_information8;
1375 lv_transaction_steps(lv_cnt).param_data_type := 'VARCHAR2';
1376
1377 lv_cnt := lv_cnt + 1;
1378 lv_transaction_steps(lv_cnt).param_name := 'P_INFORMATION9';
1379 lv_transaction_steps(lv_cnt).param_value := p_information9;
1380 lv_transaction_steps(lv_cnt).param_data_type := 'VARCHAR2';
1381
1382 lv_cnt := lv_cnt + 1;
1383 lv_transaction_steps(lv_cnt).param_name := 'P_INFORMATION10';
1384 lv_transaction_steps(lv_cnt).param_value := p_information10;
1385 lv_transaction_steps(lv_cnt).param_data_type := 'VARCHAR2';
1386
1387 lv_cnt := lv_cnt + 1;
1388 lv_transaction_steps(lv_cnt).param_name := 'P_INFORMATION11';
1389 lv_transaction_steps(lv_cnt).param_value := p_information11;
1390 lv_transaction_steps(lv_cnt).param_data_type := 'VARCHAR2';
1391
1392 lv_cnt := lv_cnt + 1;
1393 lv_transaction_steps(lv_cnt).param_name := 'P_INFORMATION12';
1394 lv_transaction_steps(lv_cnt).param_value := p_information12;
1395 lv_transaction_steps(lv_cnt).param_data_type := 'VARCHAR2';
1396
1397 lv_cnt := lv_cnt + 1;
1398 lv_transaction_steps(lv_cnt).param_name := 'P_INFORMATION13';
1399 lv_transaction_steps(lv_cnt).param_value := p_information13;
1400 lv_transaction_steps(lv_cnt).param_data_type := 'VARCHAR2';
1401
1402 lv_cnt := lv_cnt + 1;
1403 lv_transaction_steps(lv_cnt).param_name := 'P_INFORMATION14';
1404 lv_transaction_steps(lv_cnt).param_value := p_information14;
1405 lv_transaction_steps(lv_cnt).param_data_type := 'VARCHAR2';
1406
1407 lv_cnt := lv_cnt + 1;
1408 lv_transaction_steps(lv_cnt).param_name := 'P_INFORMATION15';
1409 lv_transaction_steps(lv_cnt).param_value := p_information15;
1410 lv_transaction_steps(lv_cnt).param_data_type := 'VARCHAR2';
1411
1412 lv_cnt := lv_cnt + 1;
1413 lv_transaction_steps(lv_cnt).param_name := 'P_INFORMATION16';
1414 lv_transaction_steps(lv_cnt).param_value := p_information16;
1415 lv_transaction_steps(lv_cnt).param_data_type := 'VARCHAR2';
1416
1417 lv_cnt := lv_cnt + 1;
1418 lv_transaction_steps(lv_cnt).param_name := 'P_INFORMATION17';
1419 lv_transaction_steps(lv_cnt).param_value := p_information17;
1420 lv_transaction_steps(lv_cnt).param_data_type := 'VARCHAR2';
1421
1422 lv_cnt := lv_cnt + 1;
1423 lv_transaction_steps(lv_cnt).param_name := 'P_INFORMATION18';
1424 lv_transaction_steps(lv_cnt).param_value := p_information18;
1425 lv_transaction_steps(lv_cnt).param_data_type := 'VARCHAR2';
1426
1427 lv_cnt := lv_cnt + 1;
1428 lv_transaction_steps(lv_cnt).param_name := 'P_INFORMATION19';
1429 lv_transaction_steps(lv_cnt).param_value := p_information19;
1430 lv_transaction_steps(lv_cnt).param_data_type := 'VARCHAR2';
1431
1432 lv_cnt := lv_cnt + 1;
1433 lv_transaction_steps(lv_cnt).param_name := 'P_INFORMATION20';
1434 lv_transaction_steps(lv_cnt).param_value := p_information20;
1435 lv_transaction_steps(lv_cnt).param_data_type := 'VARCHAR2';
1436
1437 lv_cnt := lv_cnt + 1;
1438 lv_transaction_steps(lv_cnt).param_name := 'P_INFORMATION21';
1439 lv_transaction_steps(lv_cnt).param_value := p_information21;
1440 lv_transaction_steps(lv_cnt).param_data_type := 'VARCHAR2';
1441
1442 lv_cnt := lv_cnt + 1;
1443 lv_transaction_steps(lv_cnt).param_name := 'P_INFORMATION22';
1444 lv_transaction_steps(lv_cnt).param_value := p_information22;
1445 lv_transaction_steps(lv_cnt).param_data_type := 'VARCHAR2';
1446
1447 lv_cnt := lv_cnt + 1;
1448 lv_transaction_steps(lv_cnt).param_name := 'P_INFORMATION23';
1449 lv_transaction_steps(lv_cnt).param_value := p_information23;
1450 lv_transaction_steps(lv_cnt).param_data_type := 'VARCHAR2';
1451
1452 lv_cnt := lv_cnt + 1;
1453 lv_transaction_steps(lv_cnt).param_name := 'P_INFORMATION24';
1454 lv_transaction_steps(lv_cnt).param_value := p_information24;
1455 lv_transaction_steps(lv_cnt).param_data_type := 'VARCHAR2';
1456
1457 lv_cnt := lv_cnt + 1;
1458 lv_transaction_steps(lv_cnt).param_name := 'P_INFORMATION25';
1459 lv_transaction_steps(lv_cnt).param_value := p_information25;
1460 lv_transaction_steps(lv_cnt).param_data_type := 'VARCHAR2';
1461
1462 lv_cnt := lv_cnt + 1;
1463 lv_transaction_steps(lv_cnt).param_name := 'P_INFORMATION26';
1464 lv_transaction_steps(lv_cnt).param_value := p_information26;
1465 lv_transaction_steps(lv_cnt).param_data_type := 'VARCHAR2';
1466
1467 lv_cnt := lv_cnt + 1;
1468 lv_transaction_steps(lv_cnt).param_name := 'P_INFORMATION27';
1469 lv_transaction_steps(lv_cnt).param_value := p_information27;
1470 lv_transaction_steps(lv_cnt).param_data_type := 'VARCHAR2';
1471
1472 lv_cnt := lv_cnt + 1;
1473 lv_transaction_steps(lv_cnt).param_name := 'P_INFORMATION28';
1474 lv_transaction_steps(lv_cnt).param_value := p_information28;
1475 lv_transaction_steps(lv_cnt).param_data_type := 'VARCHAR2';
1476
1477 lv_cnt := lv_cnt + 1;
1478 lv_transaction_steps(lv_cnt).param_name := 'P_INFORMATION29';
1479 lv_transaction_steps(lv_cnt).param_value := p_information29;
1480 lv_transaction_steps(lv_cnt).param_data_type := 'VARCHAR2';
1481
1482 lv_cnt := lv_cnt + 1;
1483 lv_transaction_steps(lv_cnt).param_name := 'P_INFORMATION30';
1484 lv_transaction_steps(lv_cnt).param_value := p_information30;
1485 lv_transaction_steps(lv_cnt).param_data_type := 'VARCHAR2';
1486
1487 ----------------------------------------------------------------------
1488 -- Store the activity internal name for this particular
1489 -- activity with other information.
1490 ----------------------------------------------------------------------
1491 lv_activity_name := HR_CWK_TERMINATION_SWI.gv_TERMINATION_ACTIVITY_NAME;
1492 lv_cnt := lv_cnt + 1;
1493 lv_transaction_steps(lv_cnt).param_name := 'P_ACTIVITY_NAME';
1494 lv_transaction_steps(lv_cnt).param_value := lv_activity_name;
1495 lv_transaction_steps(lv_cnt).param_data_type := 'VARCHAR2';
1496
1497 ----------------------------------------------------------------------
1498 -- Store the the Review Procedure Call and
1499 -- activity id with other information.
1500 ----------------------------------------------------------------------
1501 lv_cnt := lv_cnt + 1;
1502 lv_transaction_steps(lv_cnt).param_name := 'P_REVIEW_PROC_CALL';
1503 IF p_review_proc_call IS NULL THEN
1504 lv_transaction_steps(lv_cnt).param_value
1505 := wf_engine.GetActivityAttrText( p_item_type,p_item_key, p_actid
1506 ,'HR_REVIEW_REGION_ITEM', False);
1507 ELSE
1508 lv_transaction_steps(lv_cnt).param_value := p_review_proc_call;
1509 END IF;
1510
1511 lv_transaction_steps(lv_cnt).param_data_type := 'VARCHAR2';
1512 lv_cnt := lv_cnt + 1;
1513 lv_transaction_steps(lv_cnt).param_name := 'P_REVIEW_ACTID';
1514 lv_transaction_steps(lv_cnt).param_value := p_actid;
1515 lv_transaction_steps(lv_cnt).param_data_type := 'VARCHAR2';
1516
1517 -------------------------------------------------------------------
1518 -- Check if Transaction Already Exists !
1519 -------------------------------------------------------------------
1520
1521 ln_transaction_id := hr_transaction_ss.get_transaction_id (
1522 p_Item_Type => p_item_type,
1523 p_Item_Key => p_item_key
1524 );
1525 IF ln_transaction_id IS NULL THEN
1526 -- Create a New Transaction
1527 hr_transaction_ss.start_transaction (
1528 itemtype => p_item_type,
1529 itemkey => p_item_key,
1530 actid => TO_NUMBER(p_actid),
1531 funmode => 'RUN',
1532 p_effective_date_option => p_effective_date_option,
1533 p_login_person_id => p_login_person_id,
1534 result => lv_result
1535 );
1536
1537 ln_transaction_id := hr_transaction_ss.get_transaction_id (
1538 p_Item_Type => p_item_type,
1539 p_Item_Key => p_item_key
1540 );
1541 END IF;
1542 ---------------------------------------------------------------------
1543 -- There is already a transaction for this process.
1544 -- Retieve the transaction step for this current
1545 -- activity. We will update this transaction step with
1546 -- the new information.
1547 ---------------------------------------------------------------------
1548
1549 hr_transaction_api.get_transaction_step_info(
1550 p_item_type => p_item_type
1551 ,p_item_key => p_item_key
1552 ,p_activity_id => to_number(p_actid)
1553 ,p_transaction_step_id => ltt_trans_step_ids
1554 ,p_object_version_number => ltt_trans_obj_vers_num
1555 ,p_rows => ln_trans_step_rows
1556 );
1557
1558 IF ln_trans_step_rows < 1
1559 THEN
1560 --------------------------------------------------------------------
1561 -- There is no transaction step for this transaction.
1562 -- Create a step within this new transaction
1563 --------------------------------------------------------------------
1564 hr_transaction_api.create_transaction_step (
1565 p_validate => false,
1566 p_creator_person_id => p_login_person_id,
1567 p_transaction_id => ln_transaction_id,
1568 p_api_name => g_package || 'PROCESS_API',
1569 p_Item_Type => p_item_type,
1570 p_Item_Key => p_item_key,
1571 p_activity_id => TO_NUMBER(p_actid),
1572 p_transaction_step_id => ln_transaction_step_id,
1573 p_object_version_number => ln_ovn
1574 );
1575 ELSE
1576 --------------------------------------------------------------------
1577 -- There are transaction steps for this transaction.
1578 -- Get the Transaction Step ID for this activity.
1579 --------------------------------------------------------------------
1580 ln_transaction_step_id :=
1581 hr_transaction_ss.get_activity_trans_step_id (
1582 p_activity_name => lv_activity_name,
1583 p_trans_step_id_tbl => ltt_trans_step_ids
1584 );
1585
1586 END IF;
1587 -- Save Transaction Step.
1588
1589 hr_transaction_ss.save_transaction_step (
1590 p_item_Type => p_item_type,
1591 p_item_Key => p_item_key,
1592 p_actid => TO_NUMBER(p_actid),
1593 p_login_person_id => p_login_person_id,
1594 p_transaction_step_id => ln_transaction_step_id,
1595 p_api_name => 'hr_cwk_termination_swi.process_save',
1596 p_transaction_data => lv_transaction_steps
1597 );
1598 EXCEPTION
1599 WHEN validate_exception THEN
1600 -- Multi Messaging: Do not raise exception.
1601 -- The Calling Proc in Java will look at this status
1602 -- and retrieve all Messages
1603 p_return_status := hr_multi_message.get_return_status_disable;
1604
1605 END process_save;
1606
1607 PROCEDURE getTransactionDetails
1608 ( p_transaction_step_id in varchar2
1609 ,p_person_id out nocopy number
1610 ,p_date_start out nocopy date
1611 ,p_object_version_number out nocopy number
1612 ,p_person_type_id out nocopy number
1613 ,p_actual_termination_date out nocopy date
1614 ,p_final_process_date out nocopy date
1615 ,p_last_standard_process_date out nocopy date
1616 ,p_termination_reason out nocopy varchar2
1617 ,p_rehire_recommendation out nocopy varchar2
1618 ,p_rehire_reason out nocopy varchar2
1619 ,p_projected_termination_date out nocopy date
1620 ,p_attribute_category out nocopy varchar2
1621 ,p_attribute1 out nocopy varchar2
1622 ,p_attribute2 out nocopy varchar2
1623 ,p_attribute3 out nocopy varchar2
1624 ,p_attribute4 out nocopy varchar2
1625 ,p_attribute5 out nocopy varchar2
1626 ,p_attribute6 out nocopy varchar2
1627 ,p_attribute7 out nocopy varchar2
1628 ,p_attribute8 out nocopy varchar2
1629 ,p_attribute9 out nocopy varchar2
1630 ,p_attribute10 out nocopy varchar2
1631 ,p_attribute11 out nocopy varchar2
1632 ,p_attribute12 out nocopy varchar2
1633 ,p_attribute13 out nocopy varchar2
1634 ,p_attribute14 out nocopy varchar2
1635 ,p_attribute15 out nocopy varchar2
1636 ,p_attribute16 out nocopy varchar2
1637 ,p_attribute17 out nocopy varchar2
1638 ,p_attribute18 out nocopy varchar2
1639 ,p_attribute19 out nocopy varchar2
1640 ,p_attribute20 out nocopy varchar2
1641 ,p_attribute21 out nocopy varchar2
1642 ,p_attribute22 out nocopy varchar2
1643 ,p_attribute23 out nocopy varchar2
1644 ,p_attribute24 out nocopy varchar2
1645 ,p_attribute25 out nocopy varchar2
1646 ,p_attribute26 out nocopy varchar2
1647 ,p_attribute27 out nocopy varchar2
1648 ,p_attribute28 out nocopy varchar2
1649 ,p_attribute29 out nocopy varchar2
1650 ,p_attribute30 out nocopy varchar2
1651 ,p_information_category out NOCOPY varchar2
1652 ,p_information1 out nocopy varchar2
1653 ,p_information2 out nocopy varchar2
1654 ,p_information3 out nocopy varchar2
1655 ,p_information4 out nocopy varchar2
1656 ,p_information5 out nocopy varchar2
1657 ,p_information6 out nocopy varchar2
1658 ,p_information7 out nocopy varchar2
1659 ,p_information8 out nocopy varchar2
1660 ,p_information9 out nocopy varchar2
1661 ,p_information10 out nocopy varchar2
1662 ,p_information11 out nocopy varchar2
1663 ,p_information12 out nocopy varchar2
1664 ,p_information13 out nocopy varchar2
1665 ,p_information14 out nocopy varchar2
1666 ,p_information15 out nocopy varchar2
1667 ,p_information16 out nocopy varchar2
1668 ,p_information17 out nocopy varchar2
1669 ,p_information18 out nocopy varchar2
1670 ,p_information19 out nocopy varchar2
1671 ,p_information20 out nocopy varchar2
1672 ,p_information21 out nocopy varchar2
1673 ,p_information22 out nocopy varchar2
1674 ,p_information23 out nocopy varchar2
1675 ,p_information24 out nocopy varchar2
1676 ,p_information25 out nocopy varchar2
1677 ,p_information26 out nocopy varchar2
1678 ,p_information27 out nocopy varchar2
1679 ,p_information28 out nocopy varchar2
1680 ,p_information29 out nocopy varchar2
1681 ,p_information30 out nocopy varchar2
1682 ) IS
1683
1684 l_proc varchar2(72) := g_package ||'getTransactionDetails';
1685
1686 BEGIN
1687
1688 hr_utility.set_location(' Entering:' || l_proc, 5);
1689 --
1690 p_person_id :=
1691 hr_transaction_api.get_number_value
1692 (p_transaction_step_id => p_transaction_step_id
1693 ,p_name => 'P_PERSON_ID');
1694 --
1695 p_date_start :=
1696 hr_transaction_api.get_date_value
1697 (p_transaction_step_id => p_transaction_step_id
1698 ,p_name => 'P_DATE_START');
1699 --
1700 p_object_version_number :=
1701 hr_transaction_api.get_number_value
1702 (p_transaction_step_id => p_transaction_step_id
1703 ,p_name => 'P_OBJECT_VERSION_NUMBER');
1704 --
1705 p_person_type_id :=
1706 hr_transaction_api.get_number_value
1707 (p_transaction_step_id => p_transaction_step_id
1708 ,p_name => 'P_PERSON_TYPE_ID');
1709 --
1710 -- p_assignment_status_type_id :=
1711 -- hr_transaction_api.get_number_value
1712 -- (p_transaction_step_id => p_transaction_step_id
1713 -- ,p_name => 'P_ASSIGNMENT_STATUS_TYPE_ID');
1714 --
1715 p_actual_termination_date :=
1716 hr_transaction_api.get_date_value
1717 (p_transaction_step_id => p_transaction_step_id
1718 ,p_name => 'P_ACTUAL_TERMINATION_DATE');
1719 --
1720 p_final_process_date :=
1721 hr_transaction_api.get_date_value
1722 (p_transaction_step_id => p_transaction_step_id
1723 ,p_name => 'P_FINAL_PROCESS_DATE');
1724 --
1725 p_last_standard_process_date :=
1726 hr_transaction_api.get_date_value
1727 (p_transaction_step_id => p_transaction_step_id
1728 ,p_name => 'P_LAST_STANDARD_PROCESS_DATE');
1729 --
1730 p_termination_reason :=
1731 hr_transaction_api.get_varchar2_value
1732 (p_transaction_step_id => p_transaction_step_id
1733 ,p_name => 'P_TERMINATION_REASON');
1734 --
1735 p_rehire_recommendation :=
1736 hr_transaction_api.get_varchar2_value
1737 (p_transaction_step_id => p_transaction_step_id
1738 ,p_name => 'P_REHIRE_RECOMMENDATION');
1739 --
1740 p_rehire_reason :=
1741 hr_transaction_api.get_varchar2_value
1742 (p_transaction_step_id => p_transaction_step_id
1743 ,p_name => 'P_REHIRE_REASON');
1744 --
1745 p_projected_termination_date :=
1746 hr_transaction_api.get_date_value
1747 (p_transaction_step_id => p_transaction_step_id
1748 ,p_name => 'P_PROJECTED_TERMINATION_DATE');
1749 --
1750 p_attribute_category :=
1751 hr_transaction_api.get_varchar2_value
1752 (p_transaction_step_id => p_transaction_step_id
1753 ,p_name => 'P_ATTRIBUTE_CATEGORY');
1754 --
1755 p_attribute1 :=
1756 hr_transaction_api.get_varchar2_value
1757 (p_transaction_step_id => p_transaction_step_id
1758 ,p_name => 'P_ATTRIBUTE1');
1759 --
1760 p_attribute2 :=
1761 hr_transaction_api.get_varchar2_value
1762 (p_transaction_step_id => p_transaction_step_id
1763 ,p_name => 'P_ATTRIBUTE2');
1764 --
1765 p_attribute3 :=
1766 hr_transaction_api.get_varchar2_value
1767 (p_transaction_step_id => p_transaction_step_id
1768 ,p_name => 'P_ATTRIBUTE3');
1769 --
1770 p_attribute4 :=
1771 hr_transaction_api.get_varchar2_value
1772 (p_transaction_step_id => p_transaction_step_id
1773 ,p_name => 'P_ATTRIBUTE4');
1774 --
1775 p_attribute5 :=
1776 hr_transaction_api.get_varchar2_value
1777 (p_transaction_step_id => p_transaction_step_id
1778 ,p_name => 'P_ATTRIBUTE5');
1779 --
1780 p_attribute6 :=
1781 hr_transaction_api.get_varchar2_value
1782 (p_transaction_step_id => p_transaction_step_id
1783 ,p_name => 'P_ATTRIBUTE6');
1784 --
1785 p_attribute7 :=
1786 hr_transaction_api.get_varchar2_value
1787 (p_transaction_step_id => p_transaction_step_id
1788 ,p_name => 'P_ATTRIBUTE7');
1789 --
1790 p_attribute8 :=
1791 hr_transaction_api.get_varchar2_value
1792 (p_transaction_step_id => p_transaction_step_id
1793 ,p_name => 'P_ATTRIBUTE8');
1794 --
1795 p_attribute9 :=
1796 hr_transaction_api.get_varchar2_value
1797 (p_transaction_step_id => p_transaction_step_id
1798 ,p_name => 'P_ATTRIBUTE9');
1799 --
1800 p_attribute10 :=
1801 hr_transaction_api.get_varchar2_value
1802 (p_transaction_step_id => p_transaction_step_id
1803 ,p_name => 'P_ATTRIBUTE10');
1804 --
1805 p_attribute11 :=
1806 hr_transaction_api.get_varchar2_value
1807 (p_transaction_step_id => p_transaction_step_id
1808 ,p_name => 'P_ATTRIBUTE11');
1809 --
1810 p_attribute12 :=
1811 hr_transaction_api.get_varchar2_value
1812 (p_transaction_step_id => p_transaction_step_id
1813 ,p_name => 'P_ATTRIBUTE12');
1814 --
1815 p_attribute13 :=
1816 hr_transaction_api.get_varchar2_value
1817 (p_transaction_step_id => p_transaction_step_id
1818 ,p_name => 'P_ATTRIBUTE13');
1819 --
1820 p_attribute14 :=
1821 hr_transaction_api.get_varchar2_value
1822 (p_transaction_step_id => p_transaction_step_id
1823 ,p_name => 'P_ATTRIBUTE14');
1824 --
1825 p_attribute15 :=
1826 hr_transaction_api.get_varchar2_value
1827 (p_transaction_step_id => p_transaction_step_id
1828 ,p_name => 'P_ATTRIBUTE15');
1829 --
1830 p_attribute16 :=
1831 hr_transaction_api.get_varchar2_value
1832 (p_transaction_step_id => p_transaction_step_id
1833 ,p_name => 'P_ATTRIBUTE16');
1834 --
1835 p_attribute17 :=
1836 hr_transaction_api.get_varchar2_value
1837 (p_transaction_step_id => p_transaction_step_id
1838 ,p_name => 'P_ATTRIBUTE17');
1839 --
1840 p_attribute18 :=
1841 hr_transaction_api.get_varchar2_value
1842 (p_transaction_step_id => p_transaction_step_id
1843 ,p_name => 'P_ATTRIBUTE18');
1844 --
1845 p_attribute19 :=
1846 hr_transaction_api.get_varchar2_value
1847 (p_transaction_step_id => p_transaction_step_id
1848 ,p_name => 'P_ATTRIBUTE19');
1849 --
1850 p_attribute20 :=
1851 hr_transaction_api.get_varchar2_value
1852 (p_transaction_step_id => p_transaction_step_id
1853 ,p_name => 'P_ATTRIBUTE20');
1854 --
1855 p_attribute21 :=
1856 hr_transaction_api.get_varchar2_value
1857 (p_transaction_step_id => p_transaction_step_id
1858 ,p_name => 'P_ATTRIBUTE21');
1859 --
1860 p_attribute22 :=
1861 hr_transaction_api.get_varchar2_value
1862 (p_transaction_step_id => p_transaction_step_id
1863 ,p_name => 'P_ATTRIBUTE22');
1864 --
1865 p_attribute23 :=
1866 hr_transaction_api.get_varchar2_value
1867 (p_transaction_step_id => p_transaction_step_id
1868 ,p_name => 'P_ATTRIBUTE23');
1869 --
1870 p_attribute24 :=
1871 hr_transaction_api.get_varchar2_value
1872 (p_transaction_step_id => p_transaction_step_id
1873 ,p_name => 'P_ATTRIBUTE24');
1874 --
1875 p_attribute25 :=
1876 hr_transaction_api.get_varchar2_value
1877 (p_transaction_step_id => p_transaction_step_id
1878 ,p_name => 'P_ATTRIBUTE25');
1879 --
1880 p_attribute26 :=
1881 hr_transaction_api.get_varchar2_value
1882 (p_transaction_step_id => p_transaction_step_id
1883 ,p_name => 'P_ATTRIBUTE26');
1884 --
1885 p_attribute27 :=
1886 hr_transaction_api.get_varchar2_value
1887 (p_transaction_step_id => p_transaction_step_id
1888 ,p_name => 'P_ATTRIBUTE27');
1889 --
1890 p_attribute28 :=
1891 hr_transaction_api.get_varchar2_value
1892 (p_transaction_step_id => p_transaction_step_id
1893 ,p_name => 'P_ATTRIBUTE28');
1894 --
1895 p_attribute29 :=
1896 hr_transaction_api.get_varchar2_value
1897 (p_transaction_step_id => p_transaction_step_id
1898 ,p_name => 'P_ATTRIBUTE29');
1899 --
1900 p_attribute30 :=
1901 hr_transaction_api.get_varchar2_value
1902 (p_transaction_step_id => p_transaction_step_id
1903 ,p_name => 'P_ATTRIBUTE30');
1904 --
1905 p_information_category :=
1906 hr_transaction_api.get_varchar2_value
1907 (p_transaction_step_id => p_transaction_step_id
1908 ,p_name => 'P_INFORMATION_CATEGORY');
1909 --
1910 p_information1 :=
1911 hr_transaction_api.get_varchar2_value
1912 (p_transaction_step_id => p_transaction_step_id
1913 ,p_name => 'P_INFORMATION1');
1914 --
1915 p_information2 :=
1916 hr_transaction_api.get_varchar2_value
1917 (p_transaction_step_id => p_transaction_step_id
1918 ,p_name => 'P_INFORMATION2');
1919 --
1920 p_information3 :=
1921 hr_transaction_api.get_varchar2_value
1922 (p_transaction_step_id => p_transaction_step_id
1923 ,p_name => 'P_INFORMATION3');
1924 --
1925 p_information4 :=
1926 hr_transaction_api.get_varchar2_value
1927 (p_transaction_step_id => p_transaction_step_id
1928 ,p_name => 'P_INFORMATION4');
1929 --
1930 p_information5 :=
1931 hr_transaction_api.get_varchar2_value
1932 (p_transaction_step_id => p_transaction_step_id
1933 ,p_name => 'P_INFORMATION5');
1934 --
1935 p_information6 :=
1936 hr_transaction_api.get_varchar2_value
1937 (p_transaction_step_id => p_transaction_step_id
1938 ,p_name => 'P_INFORMATION6');
1939 --
1940 p_information7 :=
1941 hr_transaction_api.get_varchar2_value
1942 (p_transaction_step_id => p_transaction_step_id
1943 ,p_name => 'P_INFORMATION7');
1944 --
1945 p_information8 :=
1946 hr_transaction_api.get_varchar2_value
1947 (p_transaction_step_id => p_transaction_step_id
1948 ,p_name => 'P_INFORMATION8');
1949 --
1950 p_information9 :=
1951 hr_transaction_api.get_varchar2_value
1952 (p_transaction_step_id => p_transaction_step_id
1953 ,p_name => 'P_INFORMATION9');
1954 --
1955 p_information10 :=
1956 hr_transaction_api.get_varchar2_value
1957 (p_transaction_step_id => p_transaction_step_id
1958 ,p_name => 'P_INFORMATION10');
1959 --
1960 p_information11 :=
1961 hr_transaction_api.get_varchar2_value
1962 (p_transaction_step_id => p_transaction_step_id
1963 ,p_name => 'P_INFORMATION11');
1964 --
1965 p_information12 :=
1966 hr_transaction_api.get_varchar2_value
1967 (p_transaction_step_id => p_transaction_step_id
1968 ,p_name => 'P_INFORMATION12');
1969 --
1970 p_information13 :=
1971 hr_transaction_api.get_varchar2_value
1972 (p_transaction_step_id => p_transaction_step_id
1973 ,p_name => 'P_INFORMATION13');
1974 --
1975 p_information14 :=
1976 hr_transaction_api.get_varchar2_value
1977 (p_transaction_step_id => p_transaction_step_id
1978 ,p_name => 'P_INFORMATION14');
1979 --
1980 p_information15 :=
1981 hr_transaction_api.get_varchar2_value
1982 (p_transaction_step_id => p_transaction_step_id
1983 ,p_name => 'P_INFORMATION15');
1984 --
1985 p_information16 :=
1986 hr_transaction_api.get_varchar2_value
1987 (p_transaction_step_id => p_transaction_step_id
1988 ,p_name => 'P_INFORMATION16');
1989 --
1990 p_information17 :=
1991 hr_transaction_api.get_varchar2_value
1992 (p_transaction_step_id => p_transaction_step_id
1993 ,p_name => 'P_INFORMATION17');
1994 --
1995 p_information18 :=
1996 hr_transaction_api.get_varchar2_value
1997 (p_transaction_step_id => p_transaction_step_id
1998 ,p_name => 'P_INFORMATION18');
1999 --
2000 p_information19 :=
2001 hr_transaction_api.get_varchar2_value
2002 (p_transaction_step_id => p_transaction_step_id
2003 ,p_name => 'P_INFORMATION19');
2004 --
2005 p_information20 :=
2006 hr_transaction_api.get_varchar2_value
2007 (p_transaction_step_id => p_transaction_step_id
2008 ,p_name => 'P_INFORMATION20');
2009
2010 --
2011 p_information21 :=
2012 hr_transaction_api.get_varchar2_value
2013 (p_transaction_step_id => p_transaction_step_id
2014 ,p_name => 'P_INFORMATION21');
2015 --
2016 p_information22 :=
2017 hr_transaction_api.get_varchar2_value
2018 (p_transaction_step_id => p_transaction_step_id
2019 ,p_name => 'P_INFORMATION22');
2020 --
2021 p_information23 :=
2022 hr_transaction_api.get_varchar2_value
2023 (p_transaction_step_id => p_transaction_step_id
2024 ,p_name => 'P_INFORMATION23');
2025 --
2026 p_information24 :=
2027 hr_transaction_api.get_varchar2_value
2028 (p_transaction_step_id => p_transaction_step_id
2029 ,p_name => 'P_INFORMATION24');
2030 --
2031 p_information25 :=
2032 hr_transaction_api.get_varchar2_value
2033 (p_transaction_step_id => p_transaction_step_id
2034 ,p_name => 'P_INFORMATION25');
2035 --
2036 p_information26 :=
2037 hr_transaction_api.get_varchar2_value
2038 (p_transaction_step_id => p_transaction_step_id
2039 ,p_name => 'P_INFORMATION26');
2040 --
2041 p_information27 :=
2042 hr_transaction_api.get_varchar2_value
2043 (p_transaction_step_id => p_transaction_step_id
2044 ,p_name => 'P_INFORMATION27');
2045 --
2046 p_information28 :=
2047 hr_transaction_api.get_varchar2_value
2048 (p_transaction_step_id => p_transaction_step_id
2049 ,p_name => 'P_INFORMATION28');
2050 --
2051 p_information29 :=
2052 hr_transaction_api.get_varchar2_value
2053 (p_transaction_step_id => p_transaction_step_id
2054 ,p_name => 'P_INFORMATION29');
2055 --
2056 p_information30 :=
2057 hr_transaction_api.get_varchar2_value
2058 (p_transaction_step_id => p_transaction_step_id
2059 ,p_name => 'P_INFORMATION30');
2060
2061 hr_utility.set_location(' Leaving:' || l_proc, 10);
2062
2063 END getTransactionDetails;
2064
2065 procedure process_api
2066 ( p_validate in boolean default false
2067 ,p_transaction_step_id in number default null
2068 ,p_effective_date in varchar2 default NULL
2069 ) IS
2070
2071 /*l_person_id VARCHAR2(100);
2072 l_date_start VARCHAR2(100);
2073 l_object_version_number VARCHAR2(100);
2074 l_person_type_id VARCHAR2(100);
2075 l_actual_termination_date VARCHAR2(100);
2076 l_final_process_date VARCHAR2(100);
2077 l_last_standard_process_date VARCHAR2(100);*/
2078 /*l_projected_termination_date VARCHAR2(100);*/
2079
2080 l_attribute_category per_periods_of_placement.attribute_category%TYPE;
2081 l_attribute1 per_periods_of_placement.attribute1%TYPE;
2082 l_attribute2 per_periods_of_placement.attribute2%TYPE;
2083 l_attribute3 per_periods_of_placement.attribute3%TYPE;
2084 l_attribute4 per_periods_of_placement.attribute4%TYPE;
2085 l_attribute5 per_periods_of_placement.attribute5%TYPE;
2086 l_attribute6 per_periods_of_placement.attribute6%TYPE;
2087 l_attribute7 per_periods_of_placement.attribute7%TYPE;
2088 l_attribute8 per_periods_of_placement.attribute8%TYPE;
2089 l_attribute9 per_periods_of_placement.attribute9%TYPE;
2090 l_attribute10 per_periods_of_placement.attribute10%TYPE;
2091 l_attribute11 per_periods_of_placement.attribute11%TYPE;
2092 l_attribute12 per_periods_of_placement.attribute12%TYPE;
2093 l_attribute13 per_periods_of_placement.attribute13%TYPE;
2094 l_attribute14 per_periods_of_placement.attribute14%TYPE;
2095 l_attribute15 per_periods_of_placement.attribute15%TYPE;
2096 l_attribute16 per_periods_of_placement.attribute16%TYPE;
2097 l_attribute17 per_periods_of_placement.attribute17%TYPE;
2098 l_attribute18 per_periods_of_placement.attribute18%TYPE;
2099 l_attribute19 per_periods_of_placement.attribute19%TYPE;
2100 l_attribute20 per_periods_of_placement.attribute20%TYPE;
2101 l_attribute21 per_periods_of_placement.attribute21%TYPE;
2102 l_attribute22 per_periods_of_placement.attribute22%TYPE;
2103 l_attribute23 per_periods_of_placement.attribute23%TYPE;
2104 l_attribute24 per_periods_of_placement.attribute24%TYPE;
2105 l_attribute25 per_periods_of_placement.attribute25%TYPE;
2106 l_attribute26 per_periods_of_placement.attribute26%TYPE;
2107 l_attribute27 per_periods_of_placement.attribute27%TYPE;
2108 l_attribute28 per_periods_of_placement.attribute28%TYPE;
2109 l_attribute29 per_periods_of_placement.attribute29%TYPE;
2110 l_attribute30 per_periods_of_placement.attribute30%TYPE;
2111
2112 l_information_category per_periods_of_placement.information_category%TYPE;
2113 l_information1 per_periods_of_placement.information1%TYPE;
2114 l_information2 per_periods_of_placement.information2%TYPE;
2115 l_information3 per_periods_of_placement.information3%TYPE;
2116 l_information4 per_periods_of_placement.information4%TYPE;
2117 l_information5 per_periods_of_placement.information5%TYPE;
2118 l_information6 per_periods_of_placement.information6%TYPE;
2119 l_information7 per_periods_of_placement.information7%TYPE;
2120 l_information8 per_periods_of_placement.information8%TYPE;
2121 l_information9 per_periods_of_placement.information9%TYPE;
2122 l_information10 per_periods_of_placement.information10%TYPE;
2123 l_information11 per_periods_of_placement.information11%TYPE;
2124 l_information12 per_periods_of_placement.information12%TYPE;
2125 l_information13 per_periods_of_placement.information13%TYPE;
2126 l_information14 per_periods_of_placement.information14%TYPE;
2127 l_information15 per_periods_of_placement.information15%TYPE;
2128 l_information16 per_periods_of_placement.information16%TYPE;
2129 l_information17 per_periods_of_placement.information17%TYPE;
2130 l_information18 per_periods_of_placement.information18%TYPE;
2131 l_information19 per_periods_of_placement.information19%TYPE;
2132 l_information20 per_periods_of_placement.information20%TYPE;
2133 l_information21 per_periods_of_placement.information21%TYPE;
2134 l_information22 per_periods_of_placement.information22%TYPE;
2135 l_information23 per_periods_of_placement.information23%TYPE;
2136 l_information24 per_periods_of_placement.information24%TYPE;
2137 l_information25 per_periods_of_placement.information25%TYPE;
2138 l_information26 per_periods_of_placement.information26%TYPE;
2139 l_information27 per_periods_of_placement.information27%TYPE;
2140 l_information28 per_periods_of_placement.information28%TYPE;
2141 l_information29 per_periods_of_placement.information29%TYPE;
2142 l_information30 per_periods_of_placement.information30%TYPE;
2143
2144 l_entries_changed_warning VARCHAR2(30);
2145 l_return_status VARCHAR2(30);
2146
2147 l_person_id per_periods_of_placement.person_id%TYPE;
2148 l_date_start per_periods_of_placement.date_start%TYPE;
2149 l_object_version_number per_periods_of_placement.object_version_number%TYPE;
2150 l_person_type_id per_all_people_f.person_type_id%TYPE;
2151 l_actual_termination_date per_periods_of_placement.actual_termination_date%TYPE;
2152 l_final_process_date per_periods_of_placement.final_process_date%TYPE;
2153 l_last_standard_process_date per_periods_of_placement.last_standard_process_date%TYPE;
2154 l_projected_termination_date per_periods_of_placement.projected_termination_date%TYPE;
2155 l_termination_reason per_periods_of_placement.termination_reason%TYPE;
2156 l_rehire_recommendation per_all_people_f.rehire_recommendation%TYPE;
2157 l_rehire_reason per_all_people_f.rehire_reason%TYPE;
2158
2159 l_proc varchar2(72) := g_package ||'process_api';
2160 l_effective_date date;
2161
2162 BEGIN
2163
2164 hr_utility.set_location(' Entering:' || l_proc, 5);
2165
2166 hr_cwk_termination_swi.getTransactionDetails
2167 ( p_transaction_step_id => p_transaction_step_id
2168 ,p_person_id => l_person_id
2169 ,p_date_start => l_date_start
2170 ,p_object_version_number => l_object_version_number
2171 ,p_person_type_id => l_person_type_id
2172 ,p_actual_termination_date => l_actual_termination_date
2173 ,p_final_process_date => l_final_process_date
2174 ,p_last_standard_process_date => l_last_standard_process_date
2175 ,p_termination_reason => l_termination_reason
2176 ,p_rehire_recommendation => l_rehire_recommendation
2177 ,p_rehire_reason => l_rehire_reason
2178 ,p_projected_termination_date => l_projected_termination_date
2179 ,p_attribute_category => l_attribute_category
2180 ,p_attribute1 => l_attribute1
2181 ,p_attribute2 => l_attribute2
2182 ,p_attribute3 => l_attribute3
2183 ,p_attribute4 => l_attribute4
2184 ,p_attribute5 => l_attribute5
2185 ,p_attribute6 => l_attribute6
2186 ,p_attribute7 => l_attribute7
2187 ,p_attribute8 => l_attribute8
2188 ,p_attribute9 => l_attribute9
2189 ,p_attribute10 => l_attribute10
2190 ,p_attribute11 => l_attribute11
2191 ,p_attribute12 => l_attribute12
2192 ,p_attribute13 => l_attribute13
2193 ,p_attribute14 => l_attribute14
2194 ,p_attribute15 => l_attribute15
2195 ,p_attribute16 => l_attribute16
2196 ,p_attribute17 => l_attribute17
2197 ,p_attribute18 => l_attribute18
2198 ,p_attribute19 => l_attribute19
2199 ,p_attribute20 => l_attribute20
2200 ,p_attribute21 => l_attribute21
2201 ,p_attribute22 => l_attribute22
2202 ,p_attribute23 => l_attribute23
2203 ,p_attribute24 => l_attribute24
2204 ,p_attribute25 => l_attribute25
2205 ,p_attribute26 => l_attribute26
2206 ,p_attribute27 => l_attribute27
2207 ,p_attribute28 => l_attribute28
2208 ,p_attribute29 => l_attribute29
2209 ,p_attribute30 => l_attribute30
2210 ,p_information_category => l_information_category
2211 ,p_information1 => l_information1
2212 ,p_information2 => l_information2
2213 ,p_information3 => l_information3
2214 ,p_information4 => l_information4
2215 ,p_information5 => l_information5
2216 ,p_information6 => l_information6
2217 ,p_information7 => l_information7
2218 ,p_information8 => l_information8
2219 ,p_information9 => l_information9
2220 ,p_information10 => l_information10
2221 ,p_information11 => l_information11
2222 ,p_information12 => l_information12
2223 ,p_information13 => l_information13
2224 ,p_information14 => l_information14
2225 ,p_information15 => l_information15
2226 ,p_information16 => l_information16
2227 ,p_information17 => l_information17
2228 ,p_information18 => l_information18
2229 ,p_information19 => l_information19
2230 ,p_information20 => l_information20
2231 ,p_information21 => l_information21
2232 ,p_information22 => l_information22
2233 ,p_information23 => l_information23
2234 ,p_information24 => l_information24
2235 ,p_information25 => l_information25
2236 ,p_information26 => l_information26
2237 ,p_information27 => l_information27
2238 ,p_information28 => l_information28
2239 ,p_information29 => l_information29
2240 ,p_information30 => l_information30
2241 );
2242
2243 /*person_id := to_number(l_person_id);
2244 object_version_number := to_number(l_object_version_number);
2245 person_type_id := to_number(l_person_type_id);
2246 date_start :=
2247 hr_transaction_api.get_date_value
2248 (p_transaction_step_id => p_transaction_step_id
2249 ,p_name => 'P_DATE_START');
2250 actual_termination_date :=
2251 hr_transaction_api.get_date_value
2252 (p_transaction_step_id => p_transaction_step_id
2253 ,p_name => 'P_ACTUAL_TERMINATION_DATE');
2254 final_process_date :=
2255 hr_transaction_api.get_date_value
2256 (p_transaction_step_id => p_transaction_step_id
2257 ,p_name => 'P_FINAL_PROCESS_DATE');
2258 last_standard_process_date :=
2259 hr_transaction_api.get_date_value
2260 (p_transaction_step_id => p_transaction_step_id
2261 ,p_name => 'P_LAST_STANDARD_PROCESS_DATE');
2262 projected_termination_date :=
2263 hr_transaction_api.get_date_value
2264 (p_transaction_step_id => p_transaction_step_id
2265 ,p_name => 'P_PROJECTED_TERMINATION_DATE');
2266 */
2267 l_effective_date :=
2268 hr_transaction_api.get_date_value
2269 (p_transaction_step_id => p_transaction_step_id
2270 ,p_name => 'P_EFFECTIVE_DATE');
2271
2272
2273 hr_cwk_termination_swi.terminate_placement
2274 (p_validate => false
2275 ,p_effective_date => l_effective_date
2276 ,p_person_id => l_person_id
2277 ,p_date_start => l_date_start
2278 ,p_object_version_number => l_object_version_number
2279 ,p_person_type_id => l_person_type_id
2280 ,p_actual_termination_date => l_actual_termination_date
2281 ,p_final_process_date => l_final_process_date
2282 ,p_last_standard_process_date => l_last_standard_process_date
2283 ,p_termination_reason => l_termination_reason
2284 ,p_projected_termination_date => l_projected_termination_date
2285 ,p_rehire_recommendation => l_rehire_recommendation
2286 ,p_rehire_reason => l_rehire_reason
2287 ,p_attribute_category => l_attribute_category
2288 ,p_attribute1 => l_attribute1
2289 ,p_attribute2 => l_attribute2
2290 ,p_attribute3 => l_attribute3
2291 ,p_attribute4 => l_attribute4
2292 ,p_attribute5 => l_attribute5
2293 ,p_attribute6 => l_attribute6
2294 ,p_attribute7 => l_attribute7
2295 ,p_attribute8 => l_attribute8
2296 ,p_attribute9 => l_attribute9
2297 ,p_attribute10 => l_attribute10
2298 ,p_attribute11 => l_attribute11
2299 ,p_attribute12 => l_attribute12
2300 ,p_attribute13 => l_attribute13
2301 ,p_attribute14 => l_attribute14
2302 ,p_attribute15 => l_attribute15
2303 ,p_attribute16 => l_attribute16
2304 ,p_attribute17 => l_attribute17
2305 ,p_attribute18 => l_attribute18
2306 ,p_attribute19 => l_attribute19
2307 ,p_attribute20 => l_attribute20
2308 ,p_attribute21 => l_attribute21
2309 ,p_attribute22 => l_attribute22
2310 ,p_attribute23 => l_attribute23
2311 ,p_attribute24 => l_attribute24
2312 ,p_attribute25 => l_attribute25
2313 ,p_attribute26 => l_attribute26
2314 ,p_attribute27 => l_attribute27
2315 ,p_attribute28 => l_attribute28
2316 ,p_attribute29 => l_attribute29
2317 ,p_attribute30 => l_attribute30
2318 ,p_entries_changed_warning => l_entries_changed_warning
2319 ,p_return_status => l_return_status
2320 );
2321
2322 if l_return_status = 'E' then
2323 raise hr_multi_message.error_message_exist;
2324 end if;
2325 hr_utility.set_location(' Leaving:' || l_proc, 10);
2326 END;
2327
2328 end hr_cwk_termination_swi;