DBA Data[Home] [Help]

PACKAGE BODY: APPS.HRDPP_CREATE_ELIG_CVRD_DPNT

Source


4  * Generated for API: ben_elig_cvrd_dpnt_api.CREATE_ELIG_CVRD_DPNT
1 package body hrdpp_CREATE_ELIG_CVRD_DPNT as
2 /*
3  * Generated by hr_pump_meta_mapper at: 2012/11/27 04:11:48
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;
46 function dd(p in date,i in varchar2)
47 return varchar2 is
48 begin
49 if upper(i) = 'N' then return dc(p);
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_ELIG_CVRD_DPNT_USER_KEY in varchar2
83 ,P_CVG_STRT_DT in date default null
84 ,P_CVG_THRU_DT in date default null
85 ,P_CVG_PNDG_FLAG in varchar2 default null
86 ,P_PDP_ATTRIBUTE_CATEGORY in varchar2 default null
87 ,P_PDP_ATTRIBUTE1 in varchar2 default null
88 ,P_PDP_ATTRIBUTE2 in varchar2 default null
89 ,P_PDP_ATTRIBUTE3 in varchar2 default null
90 ,P_PDP_ATTRIBUTE4 in varchar2 default null
91 ,P_PDP_ATTRIBUTE5 in varchar2 default null
92 ,P_PDP_ATTRIBUTE6 in varchar2 default null
93 ,P_PDP_ATTRIBUTE7 in varchar2 default null
94 ,P_PDP_ATTRIBUTE8 in varchar2 default null
95 ,P_PDP_ATTRIBUTE9 in varchar2 default null
96 ,P_PDP_ATTRIBUTE10 in varchar2 default null
97 ,P_PDP_ATTRIBUTE11 in varchar2 default null
98 ,P_PDP_ATTRIBUTE12 in varchar2 default null
99 ,P_PDP_ATTRIBUTE13 in varchar2 default null
100 ,P_PDP_ATTRIBUTE14 in varchar2 default null
101 ,P_PDP_ATTRIBUTE15 in varchar2 default null
102 ,P_PDP_ATTRIBUTE16 in varchar2 default null
103 ,P_PDP_ATTRIBUTE17 in varchar2 default null
104 ,P_PDP_ATTRIBUTE18 in varchar2 default null
105 ,P_PDP_ATTRIBUTE19 in varchar2 default null
106 ,P_PDP_ATTRIBUTE20 in varchar2 default null
107 ,P_PDP_ATTRIBUTE21 in varchar2 default null
111 ,P_PDP_ATTRIBUTE25 in varchar2 default null
108 ,P_PDP_ATTRIBUTE22 in varchar2 default null
109 ,P_PDP_ATTRIBUTE23 in varchar2 default null
110 ,P_PDP_ATTRIBUTE24 in varchar2 default null
112 ,P_PDP_ATTRIBUTE26 in varchar2 default null
113 ,P_PDP_ATTRIBUTE27 in varchar2 default null
114 ,P_PDP_ATTRIBUTE28 in varchar2 default null
115 ,P_PDP_ATTRIBUTE29 in varchar2 default null
116 ,P_PDP_ATTRIBUTE30 in varchar2 default null
117 ,P_PROGRAM_UPDATE_DATE in date default null
118 ,P_OVRDN_FLAG in varchar2 default null
119 ,P_OVRDN_THRU_DT in date default null
120 ,P_EFFECTIVE_DATE in date
121 ,P_MULTI_ROW_ACTN in boolean default null
122 ,P_PRTT_ENRT_RSLT_USER_KEY in varchar2 default null
123 ,P_DPNT_PERSON_USER_KEY in varchar2 default null
124 ,P_PER_IN_LER_USER_KEY in varchar2 default null) is
125 blid number := p_data_pump_batch_line_id;
126  L_MULTI_ROW_ACTN varchar2(5);
127 begin
128 if P_MULTI_ROW_ACTN is null then
129  L_MULTI_ROW_ACTN := null;
130 elsif P_MULTI_ROW_ACTN then
131  L_MULTI_ROW_ACTN := 'TRUE';
132 else 
133  L_MULTI_ROW_ACTN := 'FALSE';
134 end if;
135 if blid is not null then
136 delete from hr_pump_batch_lines where batch_line_id = blid;
137 delete from hr_pump_batch_exceptions
138 where source_type = 'BATCH_LINE' and source_id = blid;
139 end if;
140 insert into hr_pump_batch_lines
141 (batch_id
142 ,batch_line_id
143 ,business_group_name
144 ,api_module_id
145 ,line_status
146 ,user_sequence
147 ,link_value
148 ,pval001
149 ,pval004
150 ,pval005
151 ,pval006
152 ,pval007
153 ,pval008
154 ,pval009
155 ,pval010
156 ,pval011
157 ,pval012
158 ,pval013
159 ,pval014
160 ,pval015
161 ,pval016
162 ,pval017
163 ,pval018
164 ,pval019
165 ,pval020
166 ,pval021
167 ,pval022
168 ,pval023
169 ,pval024
170 ,pval025
171 ,pval026
172 ,pval027
173 ,pval028
174 ,pval029
175 ,pval030
176 ,pval031
177 ,pval032
178 ,pval033
179 ,pval034
180 ,pval035
181 ,pval036
182 ,pval037
183 ,pval038
184 ,pval040
185 ,pval041
186 ,pval042
187 ,pval043
188 ,pval044
189 ,pval045
190 ,pval046)
191 values
192 (p_batch_id
193 ,nvl(blid,hr_pump_batch_lines_s.nextval)
194 ,p_data_pump_business_grp_name
195 ,606
196 ,'U'
197 ,p_user_sequence
198 ,p_link_value
199 ,P_ELIG_CVRD_DPNT_USER_KEY
200 ,dc(P_CVG_STRT_DT)
201 ,dc(P_CVG_THRU_DT)
202 ,P_CVG_PNDG_FLAG
203 ,P_PDP_ATTRIBUTE_CATEGORY
204 ,P_PDP_ATTRIBUTE1
205 ,P_PDP_ATTRIBUTE2
206 ,P_PDP_ATTRIBUTE3
207 ,P_PDP_ATTRIBUTE4
208 ,P_PDP_ATTRIBUTE5
209 ,P_PDP_ATTRIBUTE6
210 ,P_PDP_ATTRIBUTE7
211 ,P_PDP_ATTRIBUTE8
212 ,P_PDP_ATTRIBUTE9
213 ,P_PDP_ATTRIBUTE10
214 ,P_PDP_ATTRIBUTE11
215 ,P_PDP_ATTRIBUTE12
216 ,P_PDP_ATTRIBUTE13
217 ,P_PDP_ATTRIBUTE14
221 ,P_PDP_ATTRIBUTE18
218 ,P_PDP_ATTRIBUTE15
219 ,P_PDP_ATTRIBUTE16
220 ,P_PDP_ATTRIBUTE17
222 ,P_PDP_ATTRIBUTE19
223 ,P_PDP_ATTRIBUTE20
224 ,P_PDP_ATTRIBUTE21
225 ,P_PDP_ATTRIBUTE22
226 ,P_PDP_ATTRIBUTE23
227 ,P_PDP_ATTRIBUTE24
228 ,P_PDP_ATTRIBUTE25
229 ,P_PDP_ATTRIBUTE26
230 ,P_PDP_ATTRIBUTE27
231 ,P_PDP_ATTRIBUTE28
232 ,P_PDP_ATTRIBUTE29
233 ,P_PDP_ATTRIBUTE30
234 ,dc(P_PROGRAM_UPDATE_DATE)
235 ,P_OVRDN_FLAG
236 ,dc(P_OVRDN_THRU_DT)
237 ,dc(P_EFFECTIVE_DATE)
238 ,L_MULTI_ROW_ACTN
239 ,P_PRTT_ENRT_RSLT_USER_KEY
240 ,P_DPNT_PERSON_USER_KEY
241 ,P_PER_IN_LER_USER_KEY);
242 end insert_batch_lines;
243 --
244 procedure call
245 (p_business_group_id in number,
246 p_batch_line_id     in number) is
247 cursor cr is
248 select l.rowid myrowid,
249 l.pval001 p1,
250 decode(l.pval002,cn,dn,d(l.pval002)) p2,
251 decode(l.pval003,cn,dn,d(l.pval003)) p3,
252 decode(l.pval004,cn,dn,vn,dn,d(l.pval004)) p4,
253 l.pval004 d4,
254 decode(l.pval005,cn,dn,vn,dn,d(l.pval005)) p5,
255 l.pval005 d5,
256 decode(l.pval006,cn,vn,vn,vn,
257  hr_pump_get.gl(l.pval006,'YES_NO',d(l.pval042),vn)) p6,
258 l.pval006 d6,
259 decode(l.pval007,cn,vn,vn,vn,l.pval007) p7,
260 l.pval007 d7,
261 decode(l.pval008,cn,vn,vn,vn,l.pval008) p8,
262 l.pval008 d8,
263 decode(l.pval009,cn,vn,vn,vn,l.pval009) p9,
264 l.pval009 d9,
265 decode(l.pval010,cn,vn,vn,vn,l.pval010) p10,
266 l.pval010 d10,
267 decode(l.pval011,cn,vn,vn,vn,l.pval011) p11,
268 l.pval011 d11,
269 decode(l.pval012,cn,vn,vn,vn,l.pval012) p12,
270 l.pval012 d12,
271 decode(l.pval013,cn,vn,vn,vn,l.pval013) p13,
272 l.pval013 d13,
276 l.pval015 d15,
273 decode(l.pval014,cn,vn,vn,vn,l.pval014) p14,
274 l.pval014 d14,
275 decode(l.pval015,cn,vn,vn,vn,l.pval015) p15,
277 decode(l.pval016,cn,vn,vn,vn,l.pval016) p16,
278 l.pval016 d16,
279 decode(l.pval017,cn,vn,vn,vn,l.pval017) p17,
280 l.pval017 d17,
281 decode(l.pval018,cn,vn,vn,vn,l.pval018) p18,
282 l.pval018 d18,
283 decode(l.pval019,cn,vn,vn,vn,l.pval019) p19,
284 l.pval019 d19,
285 decode(l.pval020,cn,vn,vn,vn,l.pval020) p20,
286 l.pval020 d20,
287 decode(l.pval021,cn,vn,vn,vn,l.pval021) p21,
288 l.pval021 d21,
289 decode(l.pval022,cn,vn,vn,vn,l.pval022) p22,
290 l.pval022 d22,
291 decode(l.pval023,cn,vn,vn,vn,l.pval023) p23,
292 l.pval023 d23,
293 decode(l.pval024,cn,vn,vn,vn,l.pval024) p24,
294 l.pval024 d24,
295 decode(l.pval025,cn,vn,vn,vn,l.pval025) p25,
296 l.pval025 d25,
297 decode(l.pval026,cn,vn,vn,vn,l.pval026) p26,
298 l.pval026 d26,
299 decode(l.pval027,cn,vn,vn,vn,l.pval027) p27,
300 l.pval027 d27,
301 decode(l.pval028,cn,vn,vn,vn,l.pval028) p28,
302 l.pval028 d28,
303 decode(l.pval029,cn,vn,vn,vn,l.pval029) p29,
304 l.pval029 d29,
305 decode(l.pval030,cn,vn,vn,vn,l.pval030) p30,
306 l.pval030 d30,
307 decode(l.pval031,cn,vn,vn,vn,l.pval031) p31,
308 l.pval031 d31,
309 decode(l.pval032,cn,vn,vn,vn,l.pval032) p32,
310 l.pval032 d32,
311 decode(l.pval033,cn,vn,vn,vn,l.pval033) p33,
312 l.pval033 d33,
313 decode(l.pval034,cn,vn,vn,vn,l.pval034) p34,
314 l.pval034 d34,
315 decode(l.pval035,cn,vn,vn,vn,l.pval035) p35,
316 l.pval035 d35,
317 decode(l.pval036,cn,vn,vn,vn,l.pval036) p36,
318 l.pval036 d36,
319 decode(l.pval037,cn,vn,vn,vn,l.pval037) p37,
320 l.pval037 d37,
321 decode(l.pval038,cn,dn,vn,dn,d(l.pval038)) p38,
322 l.pval038 d38,
323 l.pval039 p39,
324 decode(l.pval040,cn,vn,vn,vn,
325  hr_pump_get.gl(l.pval040,'YES_NO',d(l.pval042),vn)) p40,
326 l.pval040 d40,
327 decode(l.pval041,cn,dn,vn,dn,d(l.pval041)) p41,
328 l.pval041 d41,
329 decode(l.pval042,cn,dn,d(l.pval042)) p42,
330 decode(l.pval043,cn,vn,vn,null,l.pval043) p43,
331 l.pval043 d43,
332 decode(l.pval044,cn,vn,vn,vn,l.pval044) p44,
333 l.pval044 d44,
334 decode(l.pval045,cn,vn,vn,vn,l.pval045) p45,
335 l.pval045 d45,
336 decode(l.pval046,cn,vn,vn,vn,l.pval046) p46,
337 l.pval046 d46
338 from hr_pump_batch_lines l
339 where l.batch_line_id = p_batch_line_id;
340 --
341 c cr%rowtype;
342 l_validate boolean := false;
343 L_ELIG_CVRD_DPNT_ID number;
344 L_MULTI_ROW_ACTN boolean;
345 L_PRTT_ENRT_RSLT_ID number;
346 L_DPNT_PERSON_ID number;
347 L_REQUEST_ID number;
348 L_PROGRAM_APPLICATION_ID number;
349 L_PROGRAM_ID number;
350 L_PER_IN_LER_ID number;
351 --
352 begin
353 hr_data_pump.entry('call');
354 open cr;
355 fetch cr into c;
356 if cr%notfound then
357 hr_utility.set_message(800,'HR_50326_DP_NO_ROW');
358 hr_utility.set_message_token('TABLE','HR_PUMP_BATCH_LINES');
359 hr_utility.set_message_token('COLUMN','P_BATCH_LINE_ID');
360 hr_utility.set_message_token('VALUE',p_batch_line_id);
361 hr_utility.raise_error;
362 end if;
363 --
364 if upper(c.p43) = 'TRUE' then
365 L_MULTI_ROW_ACTN := true;
366 elsif upper(c.p43) = 'FALSE' then
367 L_MULTI_ROW_ACTN := false;
368 elsif c.p43 is not null then
369 hr_utility.set_message(800,'HR_50327_DP_TYPE_ERR');
370 hr_utility.set_message_token('TYPE','BOOLEAN');
371 hr_utility.set_message_token('PARAMETER','P_MULTI_ROW_ACTN');
372 hr_utility.set_message_token('VALUE',c.p43);
373 hr_utility.set_message_token('TABLE','HR_PUMP_BATCH_LINES');
374 hr_utility.raise_error;
375 end if;
376 --
377 if c.p44 is null then
378 L_PRTT_ENRT_RSLT_ID:=nn;
379 else
380 L_PRTT_ENRT_RSLT_ID := 
381 hr_pump_get.get_prtt_enrt_rslt_id
382 (P_PRTT_ENRT_RSLT_USER_KEY => c.p44);
383 end if;
384 --
385 if c.p45 is null then
386 L_DPNT_PERSON_ID:=nn;
387 else
388 L_DPNT_PERSON_ID := 
389 hr_pump_get.get_dpnt_person_id
390 (P_DPNT_PERSON_USER_KEY => c.p45);
391 end if;
392 --
393 L_REQUEST_ID := 
394 hr_pump_get.get_request_id;
395 --
396 L_PROGRAM_APPLICATION_ID := 
397 hr_pump_get.get_program_application_id;
398 --
399 L_PROGRAM_ID := 
400 hr_pump_get.get_program_id;
401 --
402 if c.p46 is null then
403 L_PER_IN_LER_ID:=nn;
404 else
405 L_PER_IN_LER_ID := 
406 hr_pump_get.get_per_in_ler_id
407 (P_PER_IN_LER_USER_KEY => c.p46);
408 end if;
409 --
410 hr_data_pump.api_trc_on;
411 ben_elig_cvrd_dpnt_api.CREATE_ELIG_CVRD_DPNT
412 (p_validate => l_validate
413 ,P_ELIG_CVRD_DPNT_ID => L_ELIG_CVRD_DPNT_ID
414 ,P_EFFECTIVE_START_DATE => c.p2
415 ,P_EFFECTIVE_END_DATE => c.p3
416 ,p_business_group_id => p_business_group_id
417 ,P_PRTT_ENRT_RSLT_ID => L_PRTT_ENRT_RSLT_ID
418 ,P_DPNT_PERSON_ID => L_DPNT_PERSON_ID
419 ,P_CVG_STRT_DT => c.p4
420 ,P_CVG_THRU_DT => c.p5
421 ,P_CVG_PNDG_FLAG => c.p6
422 ,P_PDP_ATTRIBUTE_CATEGORY => c.p7
426 ,P_PDP_ATTRIBUTE4 => c.p11
423 ,P_PDP_ATTRIBUTE1 => c.p8
424 ,P_PDP_ATTRIBUTE2 => c.p9
425 ,P_PDP_ATTRIBUTE3 => c.p10
427 ,P_PDP_ATTRIBUTE5 => c.p12
428 ,P_PDP_ATTRIBUTE6 => c.p13
429 ,P_PDP_ATTRIBUTE7 => c.p14
430 ,P_PDP_ATTRIBUTE8 => c.p15
434 ,P_PDP_ATTRIBUTE12 => c.p19
431 ,P_PDP_ATTRIBUTE9 => c.p16
432 ,P_PDP_ATTRIBUTE10 => c.p17
433 ,P_PDP_ATTRIBUTE11 => c.p18
435 ,P_PDP_ATTRIBUTE13 => c.p20
436 ,P_PDP_ATTRIBUTE14 => c.p21
437 ,P_PDP_ATTRIBUTE15 => c.p22
438 ,P_PDP_ATTRIBUTE16 => c.p23
439 ,P_PDP_ATTRIBUTE17 => c.p24
440 ,P_PDP_ATTRIBUTE18 => c.p25
441 ,P_PDP_ATTRIBUTE19 => c.p26
442 ,P_PDP_ATTRIBUTE20 => c.p27
443 ,P_PDP_ATTRIBUTE21 => c.p28
444 ,P_PDP_ATTRIBUTE22 => c.p29
445 ,P_PDP_ATTRIBUTE23 => c.p30
446 ,P_PDP_ATTRIBUTE24 => c.p31
447 ,P_PDP_ATTRIBUTE25 => c.p32
448 ,P_PDP_ATTRIBUTE26 => c.p33
449 ,P_PDP_ATTRIBUTE27 => c.p34
450 ,P_PDP_ATTRIBUTE28 => c.p35
451 ,P_PDP_ATTRIBUTE29 => c.p36
452 ,P_PDP_ATTRIBUTE30 => c.p37
453 ,P_REQUEST_ID => L_REQUEST_ID
454 ,P_PROGRAM_APPLICATION_ID => L_PROGRAM_APPLICATION_ID
455 ,P_PROGRAM_ID => L_PROGRAM_ID
456 ,P_PROGRAM_UPDATE_DATE => c.p38
457 ,P_OBJECT_VERSION_NUMBER => c.p39
458 ,P_OVRDN_FLAG => c.p40
459 ,P_PER_IN_LER_ID => L_PER_IN_LER_ID
460 ,P_OVRDN_THRU_DT => c.p41
461 ,P_EFFECTIVE_DATE => c.p42
462 ,P_MULTI_ROW_ACTN => L_MULTI_ROW_ACTN);
463 hr_data_pump.api_trc_off;
464 --
465 iuk(p_batch_line_id,c.p1,L_ELIG_CVRD_DPNT_ID);
466 --
467 update hr_pump_batch_lines l set
468 l.pval001 = decode(c.p1,null,cn,c.p1),
469 l.pval002 = decode(c.p2,null,cn,dc(c.p2)),
470 l.pval003 = decode(c.p3,null,cn,dc(c.p3)),
471 l.pval039 = decode(c.p39,null,cn,c.p39)
472 where l.rowid = c.myrowid;
473 --
474 close cr;
475 --
476 hr_data_pump.exit('call');
477 exception
478  when hr_multi_message.error_message_exist then
479    if cr%isopen then
480     close cr;
481    end if;
482    hr_pump_utils.set_multi_msg_error_flag(true);
483  when others then
484  if cr%isopen then
485   close cr;
486  end if;
487  raise;
488 end call;
489 end hrdpp_CREATE_ELIG_CVRD_DPNT;