1 package body hr_assignment_beH as
2 --Code generated on 13/08/2013 06:42:27
3 /* $Header: hrapiwfe.pkb 120.11 2011/12/24 13:28:35 vboggava ship $*/
4 procedure final_process_cwk_asg_a (
5 p_assignment_id number,
6 p_object_version_number number,
7 p_final_process_date date,
8 p_effective_start_date date,
9 p_effective_end_date date,
10 p_org_now_no_manager_warning boolean,
11 p_asg_future_changes_warning boolean,
12 p_entries_changed_warning varchar2) is
13 l_event_key number;
14 l_event_data clob;
15 l_event_name varchar2(250);
16 l_text varchar2(2000);
17 l_message varchar2(10);
18 --
19 cursor get_seq is
20 select per_wf_events_s.nextval from dual;
21 --
22 l_proc varchar2(72):=' hr_assignment_beH.final_process_cwk_asg_a';
23 begin
24 hr_utility.set_location('Entering: '||l_proc,10);
25 -- check the status of the business event
26 l_event_name:='oracle.apps.per.api.assignment.final_process_cwk_asg';
27 l_message:=wf_event.test(l_event_name);
28 --
29 if (l_message='MESSAGE') then
30 hr_utility.set_location(l_proc,20);
31 --
32 -- get a key for the event
33 --
34 open get_seq;
35 fetch get_seq into l_event_key;
36 close get_seq;
37 --
38 -- build the xml data for the event
39 --
40 dbms_lob.createTemporary(l_event_data,false,dbms_lob.call);
41 l_text:='<?xml version =''1.0'' encoding =''ASCII''?>';
42 dbms_lob.writeAppend(l_event_data,length(l_text),l_text);
43 l_text:='<assignment>';
44 dbms_lob.writeAppend(l_event_data,length(l_text),l_text);
45 --
46 l_text:='<assignment_id>';
47 l_text:=l_text||fnd_number.number_to_canonical(p_assignment_id);
48 l_text:=l_text||'</assignment_id>';
49 dbms_lob.writeAppend(l_event_data,length(l_text),l_text);
50 l_text:='<object_version_number>';
51 l_text:=l_text||fnd_number.number_to_canonical(p_object_version_number);
52 l_text:=l_text||'</object_version_number>';
53 dbms_lob.writeAppend(l_event_data,length(l_text),l_text);
54 l_text:='<final_process_date>';
55 l_text:=l_text||fnd_date.date_to_canonical(p_final_process_date);
56 l_text:=l_text||'</final_process_date>';
57 dbms_lob.writeAppend(l_event_data,length(l_text),l_text);
58 l_text:='<effective_start_date>';
59 l_text:=l_text||fnd_date.date_to_canonical(p_effective_start_date);
60 l_text:=l_text||'</effective_start_date>';
61 dbms_lob.writeAppend(l_event_data,length(l_text),l_text);
62 l_text:='<effective_end_date>';
63 l_text:=l_text||fnd_date.date_to_canonical(p_effective_end_date);
64 l_text:=l_text||'</effective_end_date>';
65 dbms_lob.writeAppend(l_event_data,length(l_text),l_text);
66 l_text:='<org_now_no_manager_warning>';
67 if(P_ORG_NOW_NO_MANAGER_WARNING) then
68 l_text:=l_text||'TRUE';
69 else
70 l_text:=l_text||'FALSE';
71 end if;
72 l_text:=l_text||'</org_now_no_manager_warning>';
73 dbms_lob.writeAppend(l_event_data,length(l_text),l_text);
74 l_text:='<asg_future_changes_warning>';
75 if(P_ASG_FUTURE_CHANGES_WARNING) then
76 l_text:=l_text||'TRUE';
77 else
78 l_text:=l_text||'FALSE';
79 end if;
80 l_text:=l_text||'</asg_future_changes_warning>';
81 dbms_lob.writeAppend(l_event_data,length(l_text),l_text);
82 l_text:='<entries_changed_warning>';
83 l_text:=l_text||irc_utilities_pkg.removeTags(p_entries_changed_warning);
84 l_text:=l_text||'</entries_changed_warning>';
85 dbms_lob.writeAppend(l_event_data,length(l_text),l_text);
86 l_text:='</assignment>';
87 --
88 dbms_lob.writeAppend(l_event_data,length(l_text),l_text);
89 --
90 if p_effective_start_date is not NULL and
91 p_effective_start_date > trunc(SYSDATE) and
92 fnd_profile.value('HR_DEFER_FD_BE_EVENTS') = 'Y' then
93 -- raise the event with the event data, with send date set to effective date
94 wf_event.raise(p_event_name=>l_event_name
95 ,p_event_key=>l_event_key
96 ,p_event_data=>l_event_data
97 ,p_send_date => p_effective_start_date);
98 --
99 else
100 -- raise the event with the event data
101 wf_event.raise(p_event_name=>l_event_name
102 ,p_event_key=>l_event_key
103 ,p_event_data=>l_event_data);
104 end if;
105 elsif (l_message='KEY') then
106 hr_utility.set_location(l_proc,30);
107 -- get a key for the event
108 open get_seq;
109 fetch get_seq into l_event_key;
110 close get_seq;
111 if p_effective_start_date is not NULL and
112 p_effective_start_date > trunc(SYSDATE) and
113 fnd_profile.value('HR_DEFER_FD_BE_EVENTS') = 'Y' then
114 -- this is a key event, so just raise the event
115 -- without the event data, with send date set to effective date
116 wf_event.raise(p_event_name=>l_event_name
117 ,p_event_key=>l_event_key
118 ,p_send_date => p_effective_start_date);
119 --
120 else
121 -- this is a key event, so just raise the event
122 -- without the event data
123 wf_event.raise(p_event_name=>l_event_name
124 ,p_event_key=>l_event_key);
125 end if;
126 elsif (l_message='NONE') then
127 hr_utility.set_location(l_proc,40);
128 -- no event is required, so do nothing
129 null;
130 end if;
131 hr_utility.set_location('Leaving: '||l_proc,50);
132 end final_process_cwk_asg_a;
133 end hr_assignment_beH;