DBA Data[Home] [Help]

PACKAGE BODY: APPS.HRDPP_ACTUAL_TERMINATION_EMP

Source


1 package body hrdpp_ACTUAL_TERMINATION_EMP as
2 /*
3  * Generated by hr_pump_meta_mapper at: 2012/11/27 04:11:13
4  * Generated for API: HR_EX_EMPLOYEE_API.ACTUAL_TERMINATION_EMP
5  */
6 --
7 dh constant date := hr_api.g_date;
8 nh constant number := hr_api.g_number;
9 vh constant varchar2(64) := hr_api.g_varchar2;
10 c_sot constant date := to_date('01010001','DDMMYYYY');
11 cn constant varchar2(32) := '<NULL>';
12 dn constant date := null;
13 nn constant number := null;
14 vn constant varchar2(1) := null;
15 --
16 function dc(p in date) return varchar2 is
17 begin
18 if p<c_sot then
19  if p<>trunc(p) then
20   return to_char(p,'SYYYY/MM/DD HH24:MI:SS');
21  end if;
22  return to_char(p,'SYYYY/MM/DD');
23 elsif p<>trunc(p) then
24  return to_char(p,'YYYY/MM/DD HH24:MI:SS');
25 end if;
26 return to_char(p,'YYYY/MM/DD');
27 end dc;
28 function d(p in varchar2) return date is
29 begin
30 if length(p)=10 then
31 return to_date(p,'YYYY/MM/DD');
32 elsif length(p)=19 then
33 return to_date(p,'YYYY/MM/DD HH24:MI:SS');
34 elsif length(p)=11 then
35 return to_date(p,'SYYYY/MM/DD');
36 elsif length(p)=20 then
37 return to_date(p,'SYYYY/MM/DD HH24:MI:SS');
38 end if;
39 -- Try default format as last resort.
40 return to_date(p,'YYYY/MM/DD');
41 end d;
42 function n(p in varchar2) return number is
43 begin
44 return to_number(p);
45 end n;
49 if upper(i) = 'N' then return dc(p);
46 function dd(p in date,i in varchar2)
47 return varchar2 is
48 begin
50 else return cn; end if;
51 end dd;
52 function nd(p in number,i in varchar2)
53 return varchar2 is
54 begin
55 if upper(i) = 'N' then return to_char(p);
56 else return cn; end if;
57 end nd;
58 --
59 procedure iuk
60 (p_batch_line_id  in number,
61 p_user_key_value in varchar2,
62 p_unique_key_id  in number)
63 is
64 begin
65 hr_data_pump.entry('ins_user_key');
66 insert into hr_pump_batch_line_user_keys
67 (user_key_id, batch_line_id,user_key_value,unique_key_id)
68 values
69 (hr_pump_batch_line_user_keys_s.nextval,
70 p_batch_line_id,
71 p_user_key_value,
72 p_unique_key_id);
73 hr_data_pump.exit('ins_user_key');
74 end iuk;
75 --
76 procedure insert_batch_lines
77 (p_batch_id      in number
78 ,p_data_pump_batch_line_id in number default null
79 ,p_data_pump_business_grp_name in varchar2 default null
80 ,p_user_sequence in number default null
81 ,p_link_value    in number default null
82 ,P_EFFECTIVE_DATE in date
83 ,P_ACTUAL_TERMINATION_DATE in date
84 ,P_LAST_STANDARD_PROCESS_DATE in date
85 ,P_LEAVING_REASON in varchar2 default null
86 ,P_ATD_NEW in number default null
87 ,I_ATD_NEW in varchar2 default 'N'
88 ,P_LSPD_NEW in number default null
89 ,I_LSPD_NEW in varchar2 default 'N'
90 ,P_PERSON_USER_KEY in varchar2
91 ,P_USER_PERSON_TYPE in varchar2 default null
92 ,P_LANGUAGE_CODE in varchar2 default null
93 ,P_USER_STATUS in varchar2 default null) is
94 blid number := p_data_pump_batch_line_id;
95 begin
96 if blid is not null then
97 delete from hr_pump_batch_lines where batch_line_id = blid;
98 delete from hr_pump_batch_exceptions
99 where source_type = 'BATCH_LINE' and source_id = blid;
100 end if;
101 insert into hr_pump_batch_lines
102 (batch_id
103 ,batch_line_id
104 ,business_group_name
105 ,api_module_id
106 ,line_status
107 ,user_sequence
108 ,link_value
109 ,pval001
110 ,pval002
111 ,pval003
112 ,pval004
113 ,pval005
114 ,pval006
115 ,pval017
116 ,pval018
117 ,pval019
118 ,pval020)
119 values
120 (p_batch_id
121 ,nvl(blid,hr_pump_batch_lines_s.nextval)
122 ,p_data_pump_business_grp_name
123 ,1198
124 ,'U'
125 ,p_user_sequence
126 ,p_link_value
127 ,dc(P_EFFECTIVE_DATE)
128 ,dc(P_ACTUAL_TERMINATION_DATE)
129 ,dc(P_LAST_STANDARD_PROCESS_DATE)
130 ,P_LEAVING_REASON
131 ,nd(P_ATD_NEW,I_ATD_NEW)
132 ,nd(P_LSPD_NEW,I_LSPD_NEW)
133 ,P_PERSON_USER_KEY
134 ,P_USER_PERSON_TYPE
135 ,P_LANGUAGE_CODE
136 ,P_USER_STATUS);
137 end insert_batch_lines;
138 --
139 procedure call
140 (p_business_group_id in number,
141 p_batch_line_id     in number) is
142 cursor cr is
143 select l.rowid myrowid,
144 decode(l.pval001,cn,dn,d(l.pval001)) p1,
145 decode(l.pval002,cn,dn,d(l.pval002)) p2,
146 decode(l.pval003,cn,dn,d(l.pval003)) p3,
147 decode(l.pval004,cn,vn,vn,vh,l.pval004) p4,
148 l.pval004 d4,
149 decode(l.pval005,cn,nn,vn,nh,n(l.pval005)) p5,
150 l.pval005 d5,
151 decode(l.pval006,cn,nn,vn,nh,n(l.pval006)) p6,
152 l.pval006 d6,
153 l.pval007 p7,
154 l.pval008 p8,
155 l.pval009 p9,
156 l.pval010 p10,
157 l.pval011 p11,
158 l.pval012 p12,
159 l.pval013 p13,
160 l.pval014 p14,
161 l.pval015 p15,
162 l.pval016 p16,
163 decode(l.pval017,cn,vn,l.pval017) p17,
164 decode(l.pval018,cn,vn,vn,vh,l.pval018) p18,
165 l.pval018 d18,
166 decode(l.pval019,cn,vn,vn,vh,l.pval019) p19,
167 l.pval019 d19,
168 decode(l.pval020,cn,vn,vn,vh,l.pval020) p20,
169 l.pval020 d20
170 from hr_pump_batch_lines l
171 where l.batch_line_id = p_batch_line_id;
172 --
173 c cr%rowtype;
174 l_validate boolean := false;
175 L_SUPERVISOR_WARNING boolean;
176 L_EVENT_WARNING boolean;
177 L_INTERVIEW_WARNING boolean;
178 L_REVIEW_WARNING boolean;
179 L_RECRUITER_WARNING boolean;
180 L_ASG_FUTURE_CHANGES_WARNING boolean;
181 L_PAY_PROPOSAL_WARNING boolean;
182 L_DOD_WARNING boolean;
183 L_PERIOD_OF_SERVICE_ID number;
184 L_OBJECT_VERSION_NUMBER number;
185 L_PERSON_TYPE_ID number;
186 L_ASSIGNMENT_STATUS_TYPE_ID number;
187 --
188 begin
189 hr_data_pump.entry('call');
190 open cr;
191 fetch cr into c;
192 if cr%notfound then
193 hr_utility.set_message(800,'HR_50326_DP_NO_ROW');
194 hr_utility.set_message_token('TABLE','HR_PUMP_BATCH_LINES');
195 hr_utility.set_message_token('COLUMN','P_BATCH_LINE_ID');
196 hr_utility.set_message_token('VALUE',p_batch_line_id);
197 hr_utility.raise_error;
198 end if;
199 --
200 if c.p17 is null then
201 L_PERIOD_OF_SERVICE_ID:=nn;
202 else
203 L_PERIOD_OF_SERVICE_ID := 
204 hr_pump_get.GET_AT_PERIOD_OF_SERVICE_ID
205 (P_PERSON_USER_KEY => c.p17
206 ,P_BUSINESS_GROUP_ID => P_BUSINESS_GROUP_ID);
207 end if;
208 --
209 if c.p17 is null then
210 L_OBJECT_VERSION_NUMBER:=nn;
211 else
212 L_OBJECT_VERSION_NUMBER := 
213 hr_pump_get.GET_AT_PERIOD_OF_SERVICE_OVN
214 (P_PERSON_USER_KEY => c.p17
215 ,P_BUSINESS_GROUP_ID => P_BUSINESS_GROUP_ID);
216 end if;
217 --
218 if c.d18=cn or
219 c.d19=cn then
220 L_PERSON_TYPE_ID:=nn;
221 elsif c.d18 is null or
222 c.d19 is null then 
223 L_PERSON_TYPE_ID:=nh;
224 else
225 L_PERSON_TYPE_ID := 
226 hr_pump_get.get_person_type_id
230 end if;
227 (P_USER_PERSON_TYPE => c.p18
228 ,P_BUSINESS_GROUP_ID => P_BUSINESS_GROUP_ID
229 ,P_LANGUAGE_CODE => c.p19);
231 --
232 if c.d20=cn or
233 c.d19=cn then
234 L_ASSIGNMENT_STATUS_TYPE_ID:=nn;
235 elsif c.d20 is null or
236 c.d19 is null then 
237 L_ASSIGNMENT_STATUS_TYPE_ID:=nh;
238 else
239 L_ASSIGNMENT_STATUS_TYPE_ID := 
240 hr_pump_get.get_assignment_status_type_id
241 (P_USER_STATUS => c.p20
242 ,P_BUSINESS_GROUP_ID => P_BUSINESS_GROUP_ID
243 ,P_LANGUAGE_CODE => c.p19);
244 end if;
245 --
246 hr_data_pump.api_trc_on;
247 HR_EX_EMPLOYEE_API.ACTUAL_TERMINATION_EMP
248 (p_validate => l_validate
249 ,P_EFFECTIVE_DATE => c.p1
250 ,P_PERIOD_OF_SERVICE_ID => L_PERIOD_OF_SERVICE_ID
251 ,P_OBJECT_VERSION_NUMBER => L_OBJECT_VERSION_NUMBER
252 ,P_ACTUAL_TERMINATION_DATE => c.p2
253 ,P_LAST_STANDARD_PROCESS_DATE => c.p3
254 ,P_PERSON_TYPE_ID => L_PERSON_TYPE_ID
255 ,P_ASSIGNMENT_STATUS_TYPE_ID => L_ASSIGNMENT_STATUS_TYPE_ID
256 ,P_LEAVING_REASON => c.p4
257 ,P_ATD_NEW => c.p5
258 ,P_LSPD_NEW => c.p6
259 ,P_SUPERVISOR_WARNING => L_SUPERVISOR_WARNING
260 ,P_EVENT_WARNING => L_EVENT_WARNING
261 ,P_INTERVIEW_WARNING => L_INTERVIEW_WARNING
262 ,P_REVIEW_WARNING => L_REVIEW_WARNING
263 ,P_RECRUITER_WARNING => L_RECRUITER_WARNING
264 ,P_ASG_FUTURE_CHANGES_WARNING => L_ASG_FUTURE_CHANGES_WARNING
265 ,P_ENTRIES_CHANGED_WARNING => c.p13
266 ,P_PAY_PROPOSAL_WARNING => L_PAY_PROPOSAL_WARNING
267 ,P_DOD_WARNING => L_DOD_WARNING
268 ,P_ALU_CHANGE_WARNING => c.p16);
269 hr_data_pump.api_trc_off;
270 --
271 if L_SUPERVISOR_WARNING then
272 c.p7 := 'TRUE';
273 else
274 c.p7 := 'FALSE';
275 end if;
276 --
277 if L_EVENT_WARNING then
278 c.p8 := 'TRUE';
279 else
280 c.p8 := 'FALSE';
281 end if;
282 --
283 if L_INTERVIEW_WARNING then
284 c.p9 := 'TRUE';
285 else
286 c.p9 := 'FALSE';
287 end if;
288 --
289 if L_REVIEW_WARNING then
290 c.p10 := 'TRUE';
291 else
292 c.p10 := 'FALSE';
293 end if;
294 --
295 if L_RECRUITER_WARNING then
296 c.p11 := 'TRUE';
297 else
298 c.p11 := 'FALSE';
299 end if;
300 --
301 if L_ASG_FUTURE_CHANGES_WARNING then
302 c.p12 := 'TRUE';
303 else
304 c.p12 := 'FALSE';
305 end if;
306 --
307 if L_PAY_PROPOSAL_WARNING then
308 c.p14 := 'TRUE';
309 else
310 c.p14 := 'FALSE';
311 end if;
312 --
313 if L_DOD_WARNING then
314 c.p15 := 'TRUE';
315 else
316 c.p15 := 'FALSE';
317 end if;
318 --
319 update hr_pump_batch_lines l set
320 l.pval003 = decode(c.p3,null,cn,dc(c.p3)),
321 l.pval007 = decode(c.p7,null,cn,c.p7),
322 l.pval008 = decode(c.p8,null,cn,c.p8),
323 l.pval009 = decode(c.p9,null,cn,c.p9),
324 l.pval010 = decode(c.p10,null,cn,c.p10),
325 l.pval011 = decode(c.p11,null,cn,c.p11),
326 l.pval012 = decode(c.p12,null,cn,c.p12),
327 l.pval013 = decode(c.p13,null,cn,c.p13),
328 l.pval014 = decode(c.p14,null,cn,c.p14),
329 l.pval015 = decode(c.p15,null,cn,c.p15),
330 l.pval016 = decode(c.p16,null,cn,c.p16)
331 where l.rowid = c.myrowid;
332 --
333 close cr;
334 --
335 hr_data_pump.exit('call');
336 exception
337  when hr_multi_message.error_message_exist then
338    if cr%isopen then
339     close cr;
340    end if;
341    hr_pump_utils.set_multi_msg_error_flag(true);
342  when others then
343  if cr%isopen then
344   close cr;
345  end if;
346  raise;
347 end call;
348 end hrdpp_ACTUAL_TERMINATION_EMP;