[Home] [Help]
PACKAGE BODY: APPS.HR_CONTINGENT_WORKER_BE2
Source
1 package body hr_contingent_worker_be2 as
2 --Code generated on 27/11/2012 03:58:30
3 /* $Header: hrapiwfe.pkb 120.11 2011/12/24 13:28:35 vboggava ship $*/
4 procedure convert_to_cwk_a (
5 p_effective_date date,
6 p_person_id number,
7 p_object_version_number number,
8 p_npw_number varchar2,
9 p_projected_placement_end date,
10 p_person_type_id number,
11 p_datetrack_update_mode varchar2,
12 p_per_effective_start_date date,
13 p_per_effective_end_date date,
14 p_pdp_object_version_number number,
15 p_assignment_id number,
16 p_asg_object_version_number number,
17 p_assignment_sequence number) is
18 l_event_key number;
19 l_event_data clob;
20 l_event_name varchar2(250);
21 l_text varchar2(2000);
22 l_message varchar2(10);
23 --
24 cursor get_seq is
25 select per_wf_events_s.nextval from dual;
26 --
27 l_proc varchar2(72):=' hr_contingent_worker_be2.convert_to_cwk_a';
28 begin
29 hr_utility.set_location('Entering: '||l_proc,10);
30 -- check the status of the business event
31 l_event_name:='oracle.apps.per.api.contingent_worker.convert_to_cwk';
32 l_message:=wf_event.test(l_event_name);
33 --
34 if (l_message='MESSAGE') then
35 hr_utility.set_location(l_proc,20);
36 --
37 -- get a key for the event
38 --
39 open get_seq;
40 fetch get_seq into l_event_key;
41 close get_seq;
42 --
43 -- build the xml data for the event
44 --
45 dbms_lob.createTemporary(l_event_data,false,dbms_lob.call);
46 l_text:='<?xml version =''1.0'' encoding =''ASCII''?>';
47 dbms_lob.writeAppend(l_event_data,length(l_text),l_text);
48 l_text:='<contingent_worker>';
49 dbms_lob.writeAppend(l_event_data,length(l_text),l_text);
50 --
51 l_text:='<effective_date>';
52 l_text:=l_text||fnd_date.date_to_canonical(p_effective_date);
53 l_text:=l_text||'</effective_date>';
54 dbms_lob.writeAppend(l_event_data,length(l_text),l_text);
55 l_text:='<person_id>';
56 l_text:=l_text||fnd_number.number_to_canonical(p_person_id);
57 l_text:=l_text||'</person_id>';
58 dbms_lob.writeAppend(l_event_data,length(l_text),l_text);
59 l_text:='<object_version_number>';
60 l_text:=l_text||fnd_number.number_to_canonical(p_object_version_number);
61 l_text:=l_text||'</object_version_number>';
62 dbms_lob.writeAppend(l_event_data,length(l_text),l_text);
63 l_text:='<npw_number>';
64 l_text:=l_text||irc_utilities_pkg.removeTags(p_npw_number);
65 l_text:=l_text||'</npw_number>';
66 dbms_lob.writeAppend(l_event_data,length(l_text),l_text);
67 l_text:='<projected_placement_end>';
68 l_text:=l_text||fnd_date.date_to_canonical(p_projected_placement_end);
69 l_text:=l_text||'</projected_placement_end>';
70 dbms_lob.writeAppend(l_event_data,length(l_text),l_text);
71 l_text:='<person_type_id>';
72 l_text:=l_text||fnd_number.number_to_canonical(p_person_type_id);
73 l_text:=l_text||'</person_type_id>';
74 dbms_lob.writeAppend(l_event_data,length(l_text),l_text);
75 l_text:='<datetrack_update_mode>';
76 l_text:=l_text||irc_utilities_pkg.removeTags(p_datetrack_update_mode);
77 l_text:=l_text||'</datetrack_update_mode>';
78 dbms_lob.writeAppend(l_event_data,length(l_text),l_text);
79 l_text:='<per_effective_start_date>';
80 l_text:=l_text||fnd_date.date_to_canonical(p_per_effective_start_date);
81 l_text:=l_text||'</per_effective_start_date>';
82 dbms_lob.writeAppend(l_event_data,length(l_text),l_text);
83 l_text:='<per_effective_end_date>';
84 l_text:=l_text||fnd_date.date_to_canonical(p_per_effective_end_date);
85 l_text:=l_text||'</per_effective_end_date>';
86 dbms_lob.writeAppend(l_event_data,length(l_text),l_text);
87 l_text:='<pdp_object_version_number>';
88 l_text:=l_text||fnd_number.number_to_canonical(p_pdp_object_version_number);
89 l_text:=l_text||'</pdp_object_version_number>';
90 dbms_lob.writeAppend(l_event_data,length(l_text),l_text);
91 l_text:='<assignment_id>';
92 l_text:=l_text||fnd_number.number_to_canonical(p_assignment_id);
93 l_text:=l_text||'</assignment_id>';
94 dbms_lob.writeAppend(l_event_data,length(l_text),l_text);
95 l_text:='<asg_object_version_number>';
96 l_text:=l_text||fnd_number.number_to_canonical(p_asg_object_version_number);
97 l_text:=l_text||'</asg_object_version_number>';
98 dbms_lob.writeAppend(l_event_data,length(l_text),l_text);
99 l_text:='<assignment_sequence>';
100 l_text:=l_text||fnd_number.number_to_canonical(p_assignment_sequence);
101 l_text:=l_text||'</assignment_sequence>';
102 dbms_lob.writeAppend(l_event_data,length(l_text),l_text);
103 l_text:='</contingent_worker>';
104 --
105 dbms_lob.writeAppend(l_event_data,length(l_text),l_text);
106 --
107 if p_per_effective_start_date is not NULL and
108 p_per_effective_start_date > trunc(SYSDATE) and
109 fnd_profile.value('HR_DEFER_FD_BE_EVENTS') = 'Y' then
110 -- raise the event with the event data, with send date set to effective date
111 wf_event.raise(p_event_name=>l_event_name
112 ,p_event_key=>l_event_key
113 ,p_event_data=>l_event_data
114 ,p_send_date => p_per_effective_start_date);
115 --
116 else
117 -- raise the event with the event data
118 wf_event.raise(p_event_name=>l_event_name
119 ,p_event_key=>l_event_key
120 ,p_event_data=>l_event_data);
121 end if;
122 elsif (l_message='KEY') then
123 hr_utility.set_location(l_proc,30);
124 -- get a key for the event
125 open get_seq;
126 fetch get_seq into l_event_key;
127 close get_seq;
128 if p_per_effective_start_date is not NULL and
129 p_per_effective_start_date > trunc(SYSDATE) and
130 fnd_profile.value('HR_DEFER_FD_BE_EVENTS') = 'Y' then
131 -- this is a key event, so just raise the event
132 -- without the event data, with send date set to effective date
133 wf_event.raise(p_event_name=>l_event_name
134 ,p_event_key=>l_event_key
135 ,p_send_date => p_per_effective_start_date);
136 --
137 else
138 -- this is a key event, so just raise the event
139 -- without the event data
140 wf_event.raise(p_event_name=>l_event_name
141 ,p_event_key=>l_event_key);
142 end if;
143 elsif (l_message='NONE') then
144 hr_utility.set_location(l_proc,40);
145 -- no event is required, so do nothing
146 null;
147 end if;
148 hr_utility.set_location('Leaving: '||l_proc,50);
149 end convert_to_cwk_a;
150 end hr_contingent_worker_be2;