DBA Data[Home] [Help]

PACKAGE BODY: APPS.HR_ASSIGNMENT_BE3

Source


1 package body hr_assignment_be3 as 
2 --Code generated on 13/08/2013 06:42:26
3 /* $Header: hrapiwfe.pkb 120.11 2011/12/24 13:28:35 vboggava 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
352        wf_event.raise(p_event_name=>l_event_name
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
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;