DBA Data[Home] [Help]

PACKAGE BODY: APPS.HRDPP_CREATE_ELIG_DPNT

Source


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