DBA Data[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;