1 package body hr_assignment_beD as
2 --Code generated on 30/03/2009 04:46:55
3 /* $Header: hrapiwfe.pkb 120.4.12010000.2 2008/09/29 12:54:07 srgnanas ship $*/
4 procedure terminate_apl_asg_a (
5 p_effective_date date,
6 p_assignment_id number,
7 p_object_version_number number,
8 p_effective_start_date date,
9 p_effective_end_date date) 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_assignment_beD.terminate_apl_asg_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.assignment.terminate_apl_asg';
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:='<assignment>';
41 dbms_lob.writeAppend(l_event_data,length(l_text),l_text);
42 --
43 l_text:='<effective_date>';
44 l_text:=l_text||fnd_date.date_to_canonical(p_effective_date);
45 l_text:=l_text||'</effective_date>';
46 dbms_lob.writeAppend(l_event_data,length(l_text),l_text);
47 l_text:='<assignment_id>';
48 l_text:=l_text||fnd_number.number_to_canonical(p_assignment_id);
49 l_text:=l_text||'</assignment_id>';
50 dbms_lob.writeAppend(l_event_data,length(l_text),l_text);
51 l_text:='<object_version_number>';
52 l_text:=l_text||fnd_number.number_to_canonical(p_object_version_number);
53 l_text:=l_text||'</object_version_number>';
54 dbms_lob.writeAppend(l_event_data,length(l_text),l_text);
55 l_text:='<effective_start_date>';
56 l_text:=l_text||fnd_date.date_to_canonical(p_effective_start_date);
57 l_text:=l_text||'</effective_start_date>';
58 dbms_lob.writeAppend(l_event_data,length(l_text),l_text);
59 l_text:='<effective_end_date>';
60 l_text:=l_text||fnd_date.date_to_canonical(p_effective_end_date);
61 l_text:=l_text||'</effective_end_date>';
62 dbms_lob.writeAppend(l_event_data,length(l_text),l_text);
63 l_text:='</assignment>';
64 --
65 dbms_lob.writeAppend(l_event_data,length(l_text),l_text);
66 --
67 if p_effective_start_date is not NULL and
68 p_effective_start_date > trunc(SYSDATE) and
69 fnd_profile.value('HR_DEFER_FD_BE_EVENTS') = 'Y' then
70 -- raise the event with the event data, with send date set to effective date
71 wf_event.raise(p_event_name=>l_event_name
72 ,p_event_key=>l_event_key
73 ,p_event_data=>l_event_data
74 ,p_send_date => p_effective_start_date);
75 --
76 else
77 -- raise the event with the event data
78 wf_event.raise(p_event_name=>l_event_name
79 ,p_event_key=>l_event_key
80 ,p_event_data=>l_event_data);
81 end if;
82 elsif (l_message='KEY') then
83 hr_utility.set_location(l_proc,30);
84 -- get a key for the event
85 open get_seq;
86 fetch get_seq into l_event_key;
87 close get_seq;
88 if p_effective_start_date is not NULL and
89 p_effective_start_date > trunc(SYSDATE) and
90 fnd_profile.value('HR_DEFER_FD_BE_EVENTS') = 'Y' then
91 -- this is a key event, so just raise the event
92 -- without the event data, with send date set to effective date
93 wf_event.raise(p_event_name=>l_event_name
94 ,p_event_key=>l_event_key
95 ,p_send_date => p_effective_start_date);
96 --
97 else
98 -- this is a key event, so just raise the event
99 -- without the event data
100 wf_event.raise(p_event_name=>l_event_name
101 ,p_event_key=>l_event_key);
102 end if;
103 elsif (l_message='NONE') then
104 hr_utility.set_location(l_proc,40);
105 -- no event is required, so do nothing
106 null;
107 end if;
108 hr_utility.set_location('Leaving: '||l_proc,50);
109 end terminate_apl_asg_a;
110 end hr_assignment_beD;