DBA Data[Home] [Help]

PACKAGE BODY: APPS.HR_CONTINGENT_WORKER_BE5

Source


1 package body hr_contingent_worker_be5 as 
2 --Code generated on 27/11/2012 03:58:31
3 /* $Header: hrapiwfe.pkb 120.11 2011/12/24 13:28:35 vboggava 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     if p_actual_termination_date is not NULL and
76        p_actual_termination_date > trunc(SYSDATE) and
77         fnd_profile.value('HR_DEFER_FD_BE_EVENTS') = 'Y' then 
78        -- raise the event with the event data, with send date set to effective date
79        wf_event.raise(p_event_name=>l_event_name
80                      ,p_event_key=>l_event_key
81                      ,p_event_data=>l_event_data
82                      ,p_send_date => p_actual_termination_date);
83         --
84     else 
85        -- raise the event with the event data
86        wf_event.raise(p_event_name=>l_event_name
87                      ,p_event_key=>l_event_key
88                      ,p_event_data=>l_event_data);
89     end if;
90   elsif (l_message='KEY') then
91     hr_utility.set_location(l_proc,30);
92     -- get a key for the event
93     open get_seq;
94     fetch get_seq into l_event_key;
95     close get_seq;
96     if p_actual_termination_date is not NULL and
97        p_actual_termination_date > trunc(SYSDATE) and
98         fnd_profile.value('HR_DEFER_FD_BE_EVENTS') = 'Y' then 
99        -- this is a key event, so just raise the event
100        -- without the event data, with send date set to effective date
101        wf_event.raise(p_event_name=>l_event_name
102                      ,p_event_key=>l_event_key
103                      ,p_send_date => p_actual_termination_date);
104        --
105     else
106        -- this is a key event, so just raise the event
107        -- without the event data
108        wf_event.raise(p_event_name=>l_event_name
109                      ,p_event_key=>l_event_key);
110     end if;
111   elsif (l_message='NONE') then
112     hr_utility.set_location(l_proc,40);
113     -- no event is required, so do nothing
114     null;
115   end if;
116     hr_utility.set_location('Leaving: '||l_proc,50);
117 end reverse_terminate_placement_a;
118 end hr_contingent_worker_be5;