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