[Home] [Help]
PACKAGE BODY: APPS.HR_ASSIGNMENT_BEO
Source
1 package body hr_assignment_beO as
2 --Code generated on 30/03/2009 04:46:36
3 /* $Header: hrapiwfe.pkb 120.4.12010000.2 2008/09/29 12:54:07 srgnanas ship $*/
4 procedure update_cwk_asg_criteria_a (
5 p_effective_date date,
6 p_datetrack_update_mode varchar2,
7 p_assignment_id number,
8 p_object_version_number number,
9 p_grade_id number,
10 p_position_id number,
11 p_job_id number,
12 p_location_id number,
13 p_organization_id number,
14 p_pay_basis_id number,
15 p_segment1 varchar2,
16 p_segment2 varchar2,
17 p_segment3 varchar2,
18 p_segment4 varchar2,
19 p_segment5 varchar2,
20 p_segment6 varchar2,
21 p_segment7 varchar2,
22 p_segment8 varchar2,
23 p_segment9 varchar2,
24 p_segment10 varchar2,
25 p_segment11 varchar2,
26 p_segment12 varchar2,
27 p_segment13 varchar2,
28 p_segment14 varchar2,
29 p_segment15 varchar2,
30 p_segment16 varchar2,
31 p_segment17 varchar2,
32 p_segment18 varchar2,
33 p_segment19 varchar2,
34 p_segment20 varchar2,
35 p_segment21 varchar2,
36 p_segment22 varchar2,
37 p_segment23 varchar2,
38 p_segment24 varchar2,
39 p_segment25 varchar2,
40 p_segment26 varchar2,
41 p_segment27 varchar2,
42 p_segment28 varchar2,
43 p_segment29 varchar2,
44 p_segment30 varchar2,
45 p_people_group_name varchar2,
46 p_effective_start_date date,
47 p_effective_end_date date,
48 p_people_group_id number,
49 p_org_now_no_manager_warning boolean,
50 p_other_manager_warning boolean,
51 p_spp_delete_warning boolean,
52 p_entries_changed_warning varchar2,
53 p_tax_district_changed_warning boolean,
54 p_concat_segments varchar2) is
55 l_event_key number;
56 l_event_data clob;
57 l_event_name varchar2(250);
58 l_text varchar2(2000);
59 l_message varchar2(10);
60 --
61 cursor get_seq is
62 select per_wf_events_s.nextval from dual;
63 --
64 l_proc varchar2(72):=' hr_assignment_beO.update_cwk_asg_criteria_a';
65 begin
66 hr_utility.set_location('Entering: '||l_proc,10);
67 -- check the status of the business event
68 l_event_name:='oracle.apps.per.api.assignment.update_cwk_asg_criteria';
69 l_message:=wf_event.test(l_event_name);
70 --
71 if (l_message='MESSAGE') then
72 hr_utility.set_location(l_proc,20);
73 --
74 -- get a key for the event
75 --
76 open get_seq;
77 fetch get_seq into l_event_key;
78 close get_seq;
79 --
80 -- build the xml data for the event
81 --
82 dbms_lob.createTemporary(l_event_data,false,dbms_lob.call);
83 l_text:='<?xml version =''1.0'' encoding =''ASCII''?>';
84 dbms_lob.writeAppend(l_event_data,length(l_text),l_text);
85 l_text:='<assignment>';
86 dbms_lob.writeAppend(l_event_data,length(l_text),l_text);
87 --
88 l_text:='<effective_date>';
89 l_text:=l_text||fnd_date.date_to_canonical(p_effective_date);
90 l_text:=l_text||'</effective_date>';
91 dbms_lob.writeAppend(l_event_data,length(l_text),l_text);
92 l_text:='<datetrack_update_mode>';
93 l_text:=l_text||irc_utilities_pkg.removeTags(p_datetrack_update_mode);
94 l_text:=l_text||'</datetrack_update_mode>';
95 dbms_lob.writeAppend(l_event_data,length(l_text),l_text);
96 l_text:='<assignment_id>';
97 l_text:=l_text||fnd_number.number_to_canonical(p_assignment_id);
98 l_text:=l_text||'</assignment_id>';
99 dbms_lob.writeAppend(l_event_data,length(l_text),l_text);
100 l_text:='<object_version_number>';
101 l_text:=l_text||fnd_number.number_to_canonical(p_object_version_number);
102 l_text:=l_text||'</object_version_number>';
103 dbms_lob.writeAppend(l_event_data,length(l_text),l_text);
104 l_text:='<grade_id>';
105 l_text:=l_text||fnd_number.number_to_canonical(p_grade_id);
106 l_text:=l_text||'</grade_id>';
107 dbms_lob.writeAppend(l_event_data,length(l_text),l_text);
108 l_text:='<position_id>';
109 l_text:=l_text||fnd_number.number_to_canonical(p_position_id);
110 l_text:=l_text||'</position_id>';
111 dbms_lob.writeAppend(l_event_data,length(l_text),l_text);
112 l_text:='<job_id>';
113 l_text:=l_text||fnd_number.number_to_canonical(p_job_id);
114 l_text:=l_text||'</job_id>';
115 dbms_lob.writeAppend(l_event_data,length(l_text),l_text);
116 l_text:='<location_id>';
117 l_text:=l_text||fnd_number.number_to_canonical(p_location_id);
118 l_text:=l_text||'</location_id>';
119 dbms_lob.writeAppend(l_event_data,length(l_text),l_text);
120 l_text:='<organization_id>';
121 l_text:=l_text||fnd_number.number_to_canonical(p_organization_id);
122 l_text:=l_text||'</organization_id>';
123 dbms_lob.writeAppend(l_event_data,length(l_text),l_text);
124 l_text:='<pay_basis_id>';
125 l_text:=l_text||fnd_number.number_to_canonical(p_pay_basis_id);
126 l_text:=l_text||'</pay_basis_id>';
127 dbms_lob.writeAppend(l_event_data,length(l_text),l_text);
128 l_text:='<segment1>';
129 l_text:=l_text||irc_utilities_pkg.removeTags(p_segment1);
130 l_text:=l_text||'</segment1>';
131 dbms_lob.writeAppend(l_event_data,length(l_text),l_text);
132 l_text:='<segment2>';
133 l_text:=l_text||irc_utilities_pkg.removeTags(p_segment2);
134 l_text:=l_text||'</segment2>';
135 dbms_lob.writeAppend(l_event_data,length(l_text),l_text);
136 l_text:='<segment3>';
137 l_text:=l_text||irc_utilities_pkg.removeTags(p_segment3);
138 l_text:=l_text||'</segment3>';
139 dbms_lob.writeAppend(l_event_data,length(l_text),l_text);
140 l_text:='<segment4>';
141 l_text:=l_text||irc_utilities_pkg.removeTags(p_segment4);
142 l_text:=l_text||'</segment4>';
143 dbms_lob.writeAppend(l_event_data,length(l_text),l_text);
144 l_text:='<segment5>';
145 l_text:=l_text||irc_utilities_pkg.removeTags(p_segment5);
146 l_text:=l_text||'</segment5>';
147 dbms_lob.writeAppend(l_event_data,length(l_text),l_text);
148 l_text:='<segment6>';
149 l_text:=l_text||irc_utilities_pkg.removeTags(p_segment6);
150 l_text:=l_text||'</segment6>';
151 dbms_lob.writeAppend(l_event_data,length(l_text),l_text);
152 l_text:='<segment7>';
153 l_text:=l_text||irc_utilities_pkg.removeTags(p_segment7);
154 l_text:=l_text||'</segment7>';
155 dbms_lob.writeAppend(l_event_data,length(l_text),l_text);
156 l_text:='<segment8>';
157 l_text:=l_text||irc_utilities_pkg.removeTags(p_segment8);
158 l_text:=l_text||'</segment8>';
159 dbms_lob.writeAppend(l_event_data,length(l_text),l_text);
160 l_text:='<segment9>';
161 l_text:=l_text||irc_utilities_pkg.removeTags(p_segment9);
162 l_text:=l_text||'</segment9>';
163 dbms_lob.writeAppend(l_event_data,length(l_text),l_text);
164 l_text:='<segment10>';
165 l_text:=l_text||irc_utilities_pkg.removeTags(p_segment10);
166 l_text:=l_text||'</segment10>';
167 dbms_lob.writeAppend(l_event_data,length(l_text),l_text);
168 l_text:='<segment11>';
169 l_text:=l_text||irc_utilities_pkg.removeTags(p_segment11);
170 l_text:=l_text||'</segment11>';
171 dbms_lob.writeAppend(l_event_data,length(l_text),l_text);
172 l_text:='<segment12>';
173 l_text:=l_text||irc_utilities_pkg.removeTags(p_segment12);
174 l_text:=l_text||'</segment12>';
175 dbms_lob.writeAppend(l_event_data,length(l_text),l_text);
176 l_text:='<segment13>';
177 l_text:=l_text||irc_utilities_pkg.removeTags(p_segment13);
178 l_text:=l_text||'</segment13>';
179 dbms_lob.writeAppend(l_event_data,length(l_text),l_text);
180 l_text:='<segment14>';
181 l_text:=l_text||irc_utilities_pkg.removeTags(p_segment14);
182 l_text:=l_text||'</segment14>';
183 dbms_lob.writeAppend(l_event_data,length(l_text),l_text);
184 l_text:='<segment15>';
185 l_text:=l_text||irc_utilities_pkg.removeTags(p_segment15);
186 l_text:=l_text||'</segment15>';
187 dbms_lob.writeAppend(l_event_data,length(l_text),l_text);
188 l_text:='<segment16>';
189 l_text:=l_text||irc_utilities_pkg.removeTags(p_segment16);
190 l_text:=l_text||'</segment16>';
191 dbms_lob.writeAppend(l_event_data,length(l_text),l_text);
192 l_text:='<segment17>';
193 l_text:=l_text||irc_utilities_pkg.removeTags(p_segment17);
194 l_text:=l_text||'</segment17>';
195 dbms_lob.writeAppend(l_event_data,length(l_text),l_text);
196 l_text:='<segment18>';
197 l_text:=l_text||irc_utilities_pkg.removeTags(p_segment18);
198 l_text:=l_text||'</segment18>';
199 dbms_lob.writeAppend(l_event_data,length(l_text),l_text);
200 l_text:='<segment19>';
201 l_text:=l_text||irc_utilities_pkg.removeTags(p_segment19);
202 l_text:=l_text||'</segment19>';
203 dbms_lob.writeAppend(l_event_data,length(l_text),l_text);
204 l_text:='<segment20>';
205 l_text:=l_text||irc_utilities_pkg.removeTags(p_segment20);
206 l_text:=l_text||'</segment20>';
207 dbms_lob.writeAppend(l_event_data,length(l_text),l_text);
208 l_text:='<segment21>';
209 l_text:=l_text||irc_utilities_pkg.removeTags(p_segment21);
210 l_text:=l_text||'</segment21>';
211 dbms_lob.writeAppend(l_event_data,length(l_text),l_text);
212 l_text:='<segment22>';
213 l_text:=l_text||irc_utilities_pkg.removeTags(p_segment22);
214 l_text:=l_text||'</segment22>';
215 dbms_lob.writeAppend(l_event_data,length(l_text),l_text);
216 l_text:='<segment23>';
217 l_text:=l_text||irc_utilities_pkg.removeTags(p_segment23);
218 l_text:=l_text||'</segment23>';
219 dbms_lob.writeAppend(l_event_data,length(l_text),l_text);
220 l_text:='<segment24>';
221 l_text:=l_text||irc_utilities_pkg.removeTags(p_segment24);
222 l_text:=l_text||'</segment24>';
223 dbms_lob.writeAppend(l_event_data,length(l_text),l_text);
224 l_text:='<segment25>';
225 l_text:=l_text||irc_utilities_pkg.removeTags(p_segment25);
226 l_text:=l_text||'</segment25>';
227 dbms_lob.writeAppend(l_event_data,length(l_text),l_text);
228 l_text:='<segment26>';
229 l_text:=l_text||irc_utilities_pkg.removeTags(p_segment26);
230 l_text:=l_text||'</segment26>';
231 dbms_lob.writeAppend(l_event_data,length(l_text),l_text);
232 l_text:='<segment27>';
233 l_text:=l_text||irc_utilities_pkg.removeTags(p_segment27);
234 l_text:=l_text||'</segment27>';
235 dbms_lob.writeAppend(l_event_data,length(l_text),l_text);
236 l_text:='<segment28>';
237 l_text:=l_text||irc_utilities_pkg.removeTags(p_segment28);
238 l_text:=l_text||'</segment28>';
239 dbms_lob.writeAppend(l_event_data,length(l_text),l_text);
240 l_text:='<segment29>';
241 l_text:=l_text||irc_utilities_pkg.removeTags(p_segment29);
242 l_text:=l_text||'</segment29>';
243 dbms_lob.writeAppend(l_event_data,length(l_text),l_text);
244 l_text:='<segment30>';
245 l_text:=l_text||irc_utilities_pkg.removeTags(p_segment30);
246 l_text:=l_text||'</segment30>';
247 dbms_lob.writeAppend(l_event_data,length(l_text),l_text);
248 l_text:='<people_group_name>';
249 l_text:=l_text||irc_utilities_pkg.removeTags(p_people_group_name);
250 l_text:=l_text||'</people_group_name>';
251 dbms_lob.writeAppend(l_event_data,length(l_text),l_text);
252 l_text:='<effective_start_date>';
253 l_text:=l_text||fnd_date.date_to_canonical(p_effective_start_date);
254 l_text:=l_text||'</effective_start_date>';
255 dbms_lob.writeAppend(l_event_data,length(l_text),l_text);
256 l_text:='<effective_end_date>';
257 l_text:=l_text||fnd_date.date_to_canonical(p_effective_end_date);
258 l_text:=l_text||'</effective_end_date>';
259 dbms_lob.writeAppend(l_event_data,length(l_text),l_text);
260 l_text:='<people_group_id>';
261 l_text:=l_text||fnd_number.number_to_canonical(p_people_group_id);
262 l_text:=l_text||'</people_group_id>';
263 dbms_lob.writeAppend(l_event_data,length(l_text),l_text);
264 l_text:='<org_now_no_manager_warning>';
265 if(P_ORG_NOW_NO_MANAGER_WARNING) then
266 l_text:=l_text||'TRUE';
267 else
268 l_text:=l_text||'FALSE';
269 end if;
270 l_text:=l_text||'</org_now_no_manager_warning>';
271 dbms_lob.writeAppend(l_event_data,length(l_text),l_text);
272 l_text:='<other_manager_warning>';
273 if(P_OTHER_MANAGER_WARNING) then
274 l_text:=l_text||'TRUE';
275 else
276 l_text:=l_text||'FALSE';
277 end if;
278 l_text:=l_text||'</other_manager_warning>';
279 dbms_lob.writeAppend(l_event_data,length(l_text),l_text);
280 l_text:='<spp_delete_warning>';
281 if(P_SPP_DELETE_WARNING) then
282 l_text:=l_text||'TRUE';
283 else
284 l_text:=l_text||'FALSE';
285 end if;
286 l_text:=l_text||'</spp_delete_warning>';
287 dbms_lob.writeAppend(l_event_data,length(l_text),l_text);
288 l_text:='<entries_changed_warning>';
289 l_text:=l_text||irc_utilities_pkg.removeTags(p_entries_changed_warning);
290 l_text:=l_text||'</entries_changed_warning>';
291 dbms_lob.writeAppend(l_event_data,length(l_text),l_text);
292 l_text:='<tax_district_changed_warning>';
293 if(P_TAX_DISTRICT_CHANGED_WARNING) then
294 l_text:=l_text||'TRUE';
295 else
296 l_text:=l_text||'FALSE';
297 end if;
298 l_text:=l_text||'</tax_district_changed_warning>';
299 dbms_lob.writeAppend(l_event_data,length(l_text),l_text);
300 l_text:='<concat_segments>';
301 l_text:=l_text||irc_utilities_pkg.removeTags(p_concat_segments);
302 l_text:=l_text||'</concat_segments>';
303 dbms_lob.writeAppend(l_event_data,length(l_text),l_text);
304 l_text:='</assignment>';
305 --
306 dbms_lob.writeAppend(l_event_data,length(l_text),l_text);
307 --
308 if p_effective_start_date is not NULL and
309 p_effective_start_date > trunc(SYSDATE) and
310 fnd_profile.value('HR_DEFER_FD_BE_EVENTS') = 'Y' then
311 -- raise the event with the event data, with send date set to effective date
312 wf_event.raise(p_event_name=>l_event_name
313 ,p_event_key=>l_event_key
314 ,p_event_data=>l_event_data
315 ,p_send_date => p_effective_start_date);
316 --
317 else
318 -- raise the event with the event data
319 wf_event.raise(p_event_name=>l_event_name
320 ,p_event_key=>l_event_key
321 ,p_event_data=>l_event_data);
322 end if;
323 elsif (l_message='KEY') then
324 hr_utility.set_location(l_proc,30);
325 -- get a key for the event
326 open get_seq;
327 fetch get_seq into l_event_key;
328 close get_seq;
329 if p_effective_start_date is not NULL and
330 p_effective_start_date > trunc(SYSDATE) and
331 fnd_profile.value('HR_DEFER_FD_BE_EVENTS') = 'Y' then
332 -- this is a key event, so just raise the event
333 -- without the event data, with send date set to effective date
334 wf_event.raise(p_event_name=>l_event_name
335 ,p_event_key=>l_event_key
336 ,p_send_date => p_effective_start_date);
337 --
338 else
339 -- this is a key event, so just raise the event
340 -- without the event data
341 wf_event.raise(p_event_name=>l_event_name
342 ,p_event_key=>l_event_key);
343 end if;
344 elsif (l_message='NONE') then
345 hr_utility.set_location(l_proc,40);
346 -- no event is required, so do nothing
347 null;
348 end if;
349 hr_utility.set_location('Leaving: '||l_proc,50);
350 end update_cwk_asg_criteria_a;
351 end hr_assignment_beO;