[Home] [Help]
PACKAGE BODY: APPS.HR_CONTINGENT_WORKER_BE5
Source
1 package body hr_contingent_worker_be5 as
2 --Code generated on 30/03/2009 04:46:32
3 /* $Header: hrapiwfe.pkb 120.4.12010000.2 2008/09/29 12:54:07 srgnanas ship $*/
4 procedure reverse_terminate_placement_a (
5 p_validate boolean,
6 p_person_id number,
7 p_actual_termination_date date,
8 p_clear_details varchar2,
9 p_fut_actns_exist_warning boolean) is
10 l_event_key number;
11 l_event_data clob;
12 l_event_name varchar2(250);
13 l_text varchar2(2000);
14 l_message varchar2(10);
15 --
16 cursor get_seq is
17 select per_wf_events_s.nextval from dual;
18 --
19 l_proc varchar2(72):=' hr_contingent_worker_be5.reverse_terminate_placement_a';
20 begin
21 hr_utility.set_location('Entering: '||l_proc,10);
22 -- check the status of the business event
23 l_event_name:='oracle.apps.per.api.contingent_worker.reverse_terminate_placement';
24 l_message:=wf_event.test(l_event_name);
25 --
26 if (l_message='MESSAGE') then
27 hr_utility.set_location(l_proc,20);
28 --
29 -- get a key for the event
30 --
31 open get_seq;
32 fetch get_seq into l_event_key;
33 close get_seq;
34 --
35 -- build the xml data for the event
36 --
37 dbms_lob.createTemporary(l_event_data,false,dbms_lob.call);
38 l_text:='<?xml version =''1.0'' encoding =''ASCII''?>';
39 dbms_lob.writeAppend(l_event_data,length(l_text),l_text);
40 l_text:='<contingent_worker>';
41 dbms_lob.writeAppend(l_event_data,length(l_text),l_text);
42 --
43 l_text:='<validate>';
44 if(P_VALIDATE) then
45 l_text:=l_text||'TRUE';
46 else
47 l_text:=l_text||'FALSE';
48 end if;
49 l_text:=l_text||'</validate>';
50 dbms_lob.writeAppend(l_event_data,length(l_text),l_text);
51 l_text:='<person_id>';
52 l_text:=l_text||fnd_number.number_to_canonical(p_person_id);
53 l_text:=l_text||'</person_id>';
54 dbms_lob.writeAppend(l_event_data,length(l_text),l_text);
55 l_text:='<actual_termination_date>';
56 l_text:=l_text||fnd_date.date_to_canonical(p_actual_termination_date);
57 l_text:=l_text||'</actual_termination_date>';
58 dbms_lob.writeAppend(l_event_data,length(l_text),l_text);
59 l_text:='<clear_details>';
60 l_text:=l_text||irc_utilities_pkg.removeTags(p_clear_details);
61 l_text:=l_text||'</clear_details>';
62 dbms_lob.writeAppend(l_event_data,length(l_text),l_text);
63 l_text:='<fut_actns_exist_warning>';
64 if(P_FUT_ACTNS_EXIST_WARNING) then
65 l_text:=l_text||'TRUE';
66 else
67 l_text:=l_text||'FALSE';
68 end if;
69 l_text:=l_text||'</fut_actns_exist_warning>';
70 dbms_lob.writeAppend(l_event_data,length(l_text),l_text);
71 l_text:='</contingent_worker>';
72 --
73 dbms_lob.writeAppend(l_event_data,length(l_text),l_text);
74 --
75 -- raise the event with the event data
76 wf_event.raise(p_event_name=>l_event_name
77 ,p_event_key=>l_event_key
78 ,p_event_data=>l_event_data);
79 elsif (l_message='KEY') then
80 hr_utility.set_location(l_proc,30);
81 -- get a key for the event
82 open get_seq;
83 fetch get_seq into l_event_key;
84 close get_seq;
85 -- this is a key event, so just raise the event
86 -- without the event data
87 wf_event.raise(p_event_name=>l_event_name
88 ,p_event_key=>l_event_key);
89 elsif (l_message='NONE') then
90 hr_utility.set_location(l_proc,40);
91 -- no event is required, so do nothing
92 null;
93 end if;
94 hr_utility.set_location('Leaving: '||l_proc,50);
95 end reverse_terminate_placement_a;
96 end hr_contingent_worker_be5;