DBA Data[Home] [Help]

PACKAGE BODY: APPS.HR_EX_EMPLOYEE_BE4

Source


1 package body hr_ex_employee_be4 as 
2 --Code generated on 13/08/2013 06:42:20
3 /* $Header: hrapiwfe.pkb 120.11 2011/12/24 13:28:35 vboggava ship $*/
4 procedure reverse_terminate_employee_a (
5 p_person_id                    number,
6 p_actual_termination_date      date,
7 p_clear_details                varchar2) is
8   l_event_key number;
9   l_event_data clob;
10   l_event_name varchar2(250);
11   l_text varchar2(2000);
12   l_message varchar2(10);
13   --
14   cursor get_seq is
15   select per_wf_events_s.nextval from dual;
16   --
17   l_proc varchar2(72):='  hr_ex_employee_be4.reverse_terminate_employee_a';
18 begin
19   hr_utility.set_location('Entering: '||l_proc,10);
20   -- check the status of the business event
21   l_event_name:='oracle.apps.per.api.ex_employee.reverse_terminate_employee';
22   l_message:=wf_event.test(l_event_name);
23   --
24   if (l_message='MESSAGE') then
25     hr_utility.set_location(l_proc,20);
26     --
27     -- get a key for the event
28     --
29     open get_seq;
30     fetch get_seq into l_event_key;
31     close get_seq;
32     --
33     -- build the xml data for the event
34     --
35     dbms_lob.createTemporary(l_event_data,false,dbms_lob.call);
36     l_text:='<?xml version =''1.0'' encoding =''ASCII''?>';
37     dbms_lob.writeAppend(l_event_data,length(l_text),l_text);
38     l_text:='<ex_employee>';
39     dbms_lob.writeAppend(l_event_data,length(l_text),l_text);
40     --
41     l_text:='<person_id>';
42     l_text:=l_text||fnd_number.number_to_canonical(p_person_id);
43     l_text:=l_text||'</person_id>';
44     dbms_lob.writeAppend(l_event_data,length(l_text),l_text);
45     l_text:='<actual_termination_date>';
46     l_text:=l_text||fnd_date.date_to_canonical(p_actual_termination_date);
47     l_text:=l_text||'</actual_termination_date>';
48     dbms_lob.writeAppend(l_event_data,length(l_text),l_text);
49     l_text:='<clear_details>';
50     l_text:=l_text||irc_utilities_pkg.removeTags(p_clear_details);
51     l_text:=l_text||'</clear_details>';
52     dbms_lob.writeAppend(l_event_data,length(l_text),l_text);
53     l_text:='</ex_employee>';
54     --
55     dbms_lob.writeAppend(l_event_data,length(l_text),l_text);
56     --
57     if p_actual_termination_date is not NULL and
58        p_actual_termination_date > trunc(SYSDATE) and
59         fnd_profile.value('HR_DEFER_FD_BE_EVENTS') = 'Y' then 
60        -- raise the event with the event data, with send date set to effective date
61        wf_event.raise(p_event_name=>l_event_name
62                      ,p_event_key=>l_event_key
63                      ,p_event_data=>l_event_data
64                      ,p_send_date => p_actual_termination_date);
65         --
66     else 
67        -- raise the event with the event data
68        wf_event.raise(p_event_name=>l_event_name
69                      ,p_event_key=>l_event_key
70                      ,p_event_data=>l_event_data);
71     end if;
72   elsif (l_message='KEY') then
73     hr_utility.set_location(l_proc,30);
74     -- get a key for the event
75     open get_seq;
76     fetch get_seq into l_event_key;
77     close get_seq;
78     if p_actual_termination_date is not NULL and
79        p_actual_termination_date > trunc(SYSDATE) and
80         fnd_profile.value('HR_DEFER_FD_BE_EVENTS') = 'Y' then 
81        -- this is a key event, so just raise the event
82        -- without the event data, with send date set to effective date
83        wf_event.raise(p_event_name=>l_event_name
84                      ,p_event_key=>l_event_key
85                      ,p_send_date => p_actual_termination_date);
86        --
87     else
88        -- this is a key event, so just raise the event
89        -- without the event data
90        wf_event.raise(p_event_name=>l_event_name
91                      ,p_event_key=>l_event_key);
92     end if;
93   elsif (l_message='NONE') then
94     hr_utility.set_location(l_proc,40);
95     -- no event is required, so do nothing
96     null;
97   end if;
98     hr_utility.set_location('Leaving: '||l_proc,50);
99 end reverse_terminate_employee_a;
100 end hr_ex_employee_be4;