DBA Data[Home] [Help]

PACKAGE BODY: APPS.HRDPP_CREATE_CBR_QUALD_BNF

Source


1 package body hrdpp_CREATE_CBR_QUALD_BNF as
2 /*
3  * Generated by hr_pump_meta_mapper at: 2007/01/04 02:01:22
4  * Generated for API: ben_cbr_quald_bnf_api.CREATE_CBR_QUALD_BNF
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_CBR_QUALD_BNF_USER_KEY in varchar2
83 ,P_QUALD_BNF_FLAG in varchar2 default null
84 ,P_CBR_ELIG_PERD_STRT_DT in date default null
85 ,P_CBR_ELIG_PERD_END_DT in date default null
86 ,P_CBR_INELG_RSN_CD in varchar2 default null
87 ,P_CQB_ATTRIBUTE_CATEGORY in varchar2 default null
88 ,P_CQB_ATTRIBUTE1 in varchar2 default null
89 ,P_CQB_ATTRIBUTE2 in varchar2 default null
90 ,P_CQB_ATTRIBUTE3 in varchar2 default null
91 ,P_CQB_ATTRIBUTE4 in varchar2 default null
92 ,P_CQB_ATTRIBUTE5 in varchar2 default null
93 ,P_CQB_ATTRIBUTE6 in varchar2 default null
94 ,P_CQB_ATTRIBUTE7 in varchar2 default null
95 ,P_CQB_ATTRIBUTE8 in varchar2 default null
96 ,P_CQB_ATTRIBUTE9 in varchar2 default null
97 ,P_CQB_ATTRIBUTE10 in varchar2 default null
98 ,P_CQB_ATTRIBUTE11 in varchar2 default null
99 ,P_CQB_ATTRIBUTE12 in varchar2 default null
100 ,P_CQB_ATTRIBUTE13 in varchar2 default null
101 ,P_CQB_ATTRIBUTE14 in varchar2 default null
102 ,P_CQB_ATTRIBUTE15 in varchar2 default null
103 ,P_CQB_ATTRIBUTE16 in varchar2 default null
104 ,P_CQB_ATTRIBUTE17 in varchar2 default null
105 ,P_CQB_ATTRIBUTE18 in varchar2 default null
106 ,P_CQB_ATTRIBUTE19 in varchar2 default null
107 ,P_CQB_ATTRIBUTE20 in varchar2 default null
108 ,P_CQB_ATTRIBUTE21 in varchar2 default null
109 ,P_CQB_ATTRIBUTE22 in varchar2 default null
110 ,P_CQB_ATTRIBUTE23 in varchar2 default null
111 ,P_CQB_ATTRIBUTE24 in varchar2 default null
112 ,P_CQB_ATTRIBUTE25 in varchar2 default null
113 ,P_CQB_ATTRIBUTE26 in varchar2 default null
114 ,P_CQB_ATTRIBUTE27 in varchar2 default null
115 ,P_CQB_ATTRIBUTE28 in varchar2 default null
116 ,P_CQB_ATTRIBUTE29 in varchar2 default null
117 ,P_CQB_ATTRIBUTE30 in varchar2 default null
118 ,P_EFFECTIVE_DATE in date
119 ,P_QUALD_BNF_PERSON_USER_KEY in varchar2 default null
120 ,P_PROGRAM in varchar2 default null
121 ,P_PTIP_USER_KEY in varchar2 default null
122 ,P_PLAN_TYPE in varchar2 default null
123 ,P_CVRD_EMP_PERSON_USER_KEY in varchar2 default null) is
124 blid number := p_data_pump_batch_line_id;
125 begin
126 if blid is not null then
127 delete from hr_pump_batch_lines where batch_line_id = blid;
128 delete from hr_pump_batch_exceptions
129 where source_type = 'BATCH_LINE' and source_id = blid;
130 end if;
131 insert into hr_pump_batch_lines
132 (batch_id
133 ,batch_line_id
134 ,business_group_name
135 ,api_module_id
136 ,line_status
137 ,user_sequence
138 ,link_value
139 ,pval001
140 ,pval002
141 ,pval003
142 ,pval004
143 ,pval005
144 ,pval006
145 ,pval007
146 ,pval008
147 ,pval009
148 ,pval010
149 ,pval011
150 ,pval012
151 ,pval013
152 ,pval014
153 ,pval015
154 ,pval016
155 ,pval017
156 ,pval018
157 ,pval019
158 ,pval020
159 ,pval021
160 ,pval022
161 ,pval023
162 ,pval024
163 ,pval025
164 ,pval026
165 ,pval027
166 ,pval028
167 ,pval029
168 ,pval030
169 ,pval031
170 ,pval032
171 ,pval033
172 ,pval034
173 ,pval035
174 ,pval036
175 ,pval038
176 ,pval039
177 ,pval040
178 ,pval041
179 ,pval042
180 ,pval043)
181 values
182 (p_batch_id
183 ,nvl(blid,hr_pump_batch_lines_s.nextval)
184 ,p_data_pump_business_grp_name
185 ,24
186 ,'U'
187 ,p_user_sequence
188 ,p_link_value
189 ,P_CBR_QUALD_BNF_USER_KEY
190 ,P_QUALD_BNF_FLAG
191 ,dc(P_CBR_ELIG_PERD_STRT_DT)
192 ,dc(P_CBR_ELIG_PERD_END_DT)
193 ,P_CBR_INELG_RSN_CD
194 ,P_CQB_ATTRIBUTE_CATEGORY
195 ,P_CQB_ATTRIBUTE1
196 ,P_CQB_ATTRIBUTE2
197 ,P_CQB_ATTRIBUTE3
198 ,P_CQB_ATTRIBUTE4
199 ,P_CQB_ATTRIBUTE5
200 ,P_CQB_ATTRIBUTE6
201 ,P_CQB_ATTRIBUTE7
202 ,P_CQB_ATTRIBUTE8
203 ,P_CQB_ATTRIBUTE9
204 ,P_CQB_ATTRIBUTE10
205 ,P_CQB_ATTRIBUTE11
206 ,P_CQB_ATTRIBUTE12
207 ,P_CQB_ATTRIBUTE13
208 ,P_CQB_ATTRIBUTE14
209 ,P_CQB_ATTRIBUTE15
210 ,P_CQB_ATTRIBUTE16
211 ,P_CQB_ATTRIBUTE17
212 ,P_CQB_ATTRIBUTE18
213 ,P_CQB_ATTRIBUTE19
214 ,P_CQB_ATTRIBUTE20
215 ,P_CQB_ATTRIBUTE21
216 ,P_CQB_ATTRIBUTE22
217 ,P_CQB_ATTRIBUTE23
218 ,P_CQB_ATTRIBUTE24
219 ,P_CQB_ATTRIBUTE25
220 ,P_CQB_ATTRIBUTE26
221 ,P_CQB_ATTRIBUTE27
222 ,P_CQB_ATTRIBUTE28
223 ,P_CQB_ATTRIBUTE29
224 ,P_CQB_ATTRIBUTE30
225 ,dc(P_EFFECTIVE_DATE)
226 ,P_QUALD_BNF_PERSON_USER_KEY
227 ,P_PROGRAM
228 ,P_PTIP_USER_KEY
229 ,P_PLAN_TYPE
230 ,P_CVRD_EMP_PERSON_USER_KEY);
231 end insert_batch_lines;
232 --
233 procedure call
234 (p_business_group_id in number,
235 p_batch_line_id     in number) is
236 cursor cr is
237 select l.rowid myrowid,
238 l.pval001 p1,
239 decode(l.pval002,cn,vn,vn,vn,
240  hr_pump_get.gl(l.pval002,'YES_NO',d(l.pval038),vn)) p2,
241 l.pval002 d2,
242 decode(l.pval003,cn,dn,vn,dn,d(l.pval003)) p3,
243 l.pval003 d3,
244 decode(l.pval004,cn,dn,vn,dn,d(l.pval004)) p4,
245 l.pval004 d4,
246 decode(l.pval005,cn,vn,vn,vn,
247  hr_pump_get.gl(l.pval005,'BEN_CBR_INELG_RSN',d(l.pval038),vn)) p5,
248 l.pval005 d5,
249 decode(l.pval006,cn,vn,vn,vn,l.pval006) p6,
250 l.pval006 d6,
251 decode(l.pval007,cn,vn,vn,vn,l.pval007) p7,
252 l.pval007 d7,
253 decode(l.pval008,cn,vn,vn,vn,l.pval008) p8,
254 l.pval008 d8,
255 decode(l.pval009,cn,vn,vn,vn,l.pval009) p9,
256 l.pval009 d9,
257 decode(l.pval010,cn,vn,vn,vn,l.pval010) p10,
258 l.pval010 d10,
259 decode(l.pval011,cn,vn,vn,vn,l.pval011) p11,
260 l.pval011 d11,
261 decode(l.pval012,cn,vn,vn,vn,l.pval012) p12,
262 l.pval012 d12,
263 decode(l.pval013,cn,vn,vn,vn,l.pval013) p13,
264 l.pval013 d13,
265 decode(l.pval014,cn,vn,vn,vn,l.pval014) p14,
266 l.pval014 d14,
267 decode(l.pval015,cn,vn,vn,vn,l.pval015) p15,
268 l.pval015 d15,
269 decode(l.pval016,cn,vn,vn,vn,l.pval016) p16,
270 l.pval016 d16,
271 decode(l.pval017,cn,vn,vn,vn,l.pval017) p17,
272 l.pval017 d17,
273 decode(l.pval018,cn,vn,vn,vn,l.pval018) p18,
274 l.pval018 d18,
275 decode(l.pval019,cn,vn,vn,vn,l.pval019) p19,
276 l.pval019 d19,
277 decode(l.pval020,cn,vn,vn,vn,l.pval020) p20,
278 l.pval020 d20,
279 decode(l.pval021,cn,vn,vn,vn,l.pval021) p21,
280 l.pval021 d21,
281 decode(l.pval022,cn,vn,vn,vn,l.pval022) p22,
282 l.pval022 d22,
283 decode(l.pval023,cn,vn,vn,vn,l.pval023) p23,
284 l.pval023 d23,
285 decode(l.pval024,cn,vn,vn,vn,l.pval024) p24,
286 l.pval024 d24,
287 decode(l.pval025,cn,vn,vn,vn,l.pval025) p25,
288 l.pval025 d25,
289 decode(l.pval026,cn,vn,vn,vn,l.pval026) p26,
290 l.pval026 d26,
291 decode(l.pval027,cn,vn,vn,vn,l.pval027) p27,
292 l.pval027 d27,
293 decode(l.pval028,cn,vn,vn,vn,l.pval028) p28,
294 l.pval028 d28,
295 decode(l.pval029,cn,vn,vn,vn,l.pval029) p29,
296 l.pval029 d29,
297 decode(l.pval030,cn,vn,vn,vn,l.pval030) p30,
298 l.pval030 d30,
299 decode(l.pval031,cn,vn,vn,vn,l.pval031) p31,
300 l.pval031 d31,
301 decode(l.pval032,cn,vn,vn,vn,l.pval032) p32,
302 l.pval032 d32,
303 decode(l.pval033,cn,vn,vn,vn,l.pval033) p33,
304 l.pval033 d33,
305 decode(l.pval034,cn,vn,vn,vn,l.pval034) p34,
306 l.pval034 d34,
307 decode(l.pval035,cn,vn,vn,vn,l.pval035) p35,
308 l.pval035 d35,
309 decode(l.pval036,cn,vn,vn,vn,l.pval036) p36,
310 l.pval036 d36,
311 l.pval037 p37,
312 decode(l.pval038,cn,dn,d(l.pval038)) p38,
313 decode(l.pval039,cn,vn,vn,vn,l.pval039) p39,
314 l.pval039 d39,
315 decode(l.pval040,cn,vn,vn,vn,l.pval040) p40,
316 l.pval040 d40,
317 decode(l.pval041,cn,vn,vn,vn,l.pval041) p41,
318 l.pval041 d41,
319 decode(l.pval042,cn,vn,vn,vn,l.pval042) p42,
320 l.pval042 d42,
321 decode(l.pval043,cn,vn,vn,vn,l.pval043) p43,
322 l.pval043 d43
323 from hr_pump_batch_lines l
324 where l.batch_line_id = p_batch_line_id;
325 --
326 c cr%rowtype;
327 l_validate boolean := false;
328 L_CBR_QUALD_BNF_ID number;
329 L_QUALD_BNF_PERSON_ID number;
330 L_PGM_ID number;
331 L_PTIP_ID number;
332 L_PL_TYP_ID number;
333 L_CVRD_EMP_PERSON_ID number;
334 --
335 begin
336 hr_data_pump.entry('call');
337 open cr;
338 fetch cr into c;
339 if cr%notfound then
340 hr_utility.set_message(800,'HR_50326_DP_NO_ROW');
341 hr_utility.set_message_token('TABLE','HR_PUMP_BATCH_LINES');
342 hr_utility.set_message_token('COLUMN','P_BATCH_LINE_ID');
343 hr_utility.set_message_token('VALUE',p_batch_line_id);
344 hr_utility.raise_error;
345 end if;
346 --
347 if c.p39 is null then
348 L_QUALD_BNF_PERSON_ID:=nn;
349 else
350 L_QUALD_BNF_PERSON_ID := 
351 hr_pump_get.get_quald_bnf_person_id
352 (P_QUALD_BNF_PERSON_USER_KEY => c.p39);
353 end if;
354 --
355 if c.p40 is null or
356 c.p38 is null then
357 L_PGM_ID:=nn;
358 else
359 L_PGM_ID := 
360 hr_pump_get.get_pgm_id
361 (P_BUSINESS_GROUP_ID => P_BUSINESS_GROUP_ID
362 ,P_PROGRAM => c.p40
363 ,P_EFFECTIVE_DATE => c.p38);
364 end if;
365 --
366 if c.p41 is null then
367 L_PTIP_ID:=nn;
368 else
369 L_PTIP_ID := 
373 --
370 hr_pump_get.get_ptip_id
371 (P_PTIP_USER_KEY => c.p41);
372 end if;
374 if c.p42 is null or
375 c.p38 is null then
376 L_PL_TYP_ID:=nn;
377 else
378 L_PL_TYP_ID := 
379 hr_pump_get.get_pl_typ_id
380 (P_BUSINESS_GROUP_ID => P_BUSINESS_GROUP_ID
381 ,P_PLAN_TYPE => c.p42
382 ,P_EFFECTIVE_DATE => c.p38);
383 end if;
384 --
385 if c.p43 is null then
386 L_CVRD_EMP_PERSON_ID:=nn;
387 else
388 L_CVRD_EMP_PERSON_ID := 
389 hr_pump_get.get_cvrd_emp_person_id
390 (P_CVRD_EMP_PERSON_USER_KEY => c.p43);
391 end if;
392 --
393 hr_data_pump.api_trc_on;
394 ben_cbr_quald_bnf_api.CREATE_CBR_QUALD_BNF
395 (p_validate => l_validate
396 ,P_CBR_QUALD_BNF_ID => L_CBR_QUALD_BNF_ID
397 ,P_QUALD_BNF_FLAG => c.p2
398 ,P_CBR_ELIG_PERD_STRT_DT => c.p3
399 ,P_CBR_ELIG_PERD_END_DT => c.p4
400 ,P_QUALD_BNF_PERSON_ID => L_QUALD_BNF_PERSON_ID
401 ,P_PGM_ID => L_PGM_ID
402 ,P_PTIP_ID => L_PTIP_ID
403 ,P_PL_TYP_ID => L_PL_TYP_ID
404 ,P_CVRD_EMP_PERSON_ID => L_CVRD_EMP_PERSON_ID
405 ,P_CBR_INELG_RSN_CD => c.p5
406 ,p_business_group_id => p_business_group_id
407 ,P_CQB_ATTRIBUTE_CATEGORY => c.p6
408 ,P_CQB_ATTRIBUTE1 => c.p7
409 ,P_CQB_ATTRIBUTE2 => c.p8
410 ,P_CQB_ATTRIBUTE3 => c.p9
411 ,P_CQB_ATTRIBUTE4 => c.p10
412 ,P_CQB_ATTRIBUTE5 => c.p11
413 ,P_CQB_ATTRIBUTE6 => c.p12
414 ,P_CQB_ATTRIBUTE7 => c.p13
415 ,P_CQB_ATTRIBUTE8 => c.p14
416 ,P_CQB_ATTRIBUTE9 => c.p15
417 ,P_CQB_ATTRIBUTE10 => c.p16
418 ,P_CQB_ATTRIBUTE11 => c.p17
419 ,P_CQB_ATTRIBUTE12 => c.p18
420 ,P_CQB_ATTRIBUTE13 => c.p19
421 ,P_CQB_ATTRIBUTE14 => c.p20
422 ,P_CQB_ATTRIBUTE15 => c.p21
423 ,P_CQB_ATTRIBUTE16 => c.p22
424 ,P_CQB_ATTRIBUTE17 => c.p23
425 ,P_CQB_ATTRIBUTE18 => c.p24
426 ,P_CQB_ATTRIBUTE19 => c.p25
427 ,P_CQB_ATTRIBUTE20 => c.p26
428 ,P_CQB_ATTRIBUTE21 => c.p27
429 ,P_CQB_ATTRIBUTE22 => c.p28
430 ,P_CQB_ATTRIBUTE23 => c.p29
431 ,P_CQB_ATTRIBUTE24 => c.p30
432 ,P_CQB_ATTRIBUTE25 => c.p31
433 ,P_CQB_ATTRIBUTE26 => c.p32
434 ,P_CQB_ATTRIBUTE27 => c.p33
435 ,P_CQB_ATTRIBUTE28 => c.p34
436 ,P_CQB_ATTRIBUTE29 => c.p35
437 ,P_CQB_ATTRIBUTE30 => c.p36
438 ,P_OBJECT_VERSION_NUMBER => c.p37
439 ,P_EFFECTIVE_DATE => c.p38);
440 hr_data_pump.api_trc_off;
441 --
442 iuk(p_batch_line_id,c.p1,L_CBR_QUALD_BNF_ID);
443 --
444 update hr_pump_batch_lines l set
445 l.pval001 = decode(c.p1,null,cn,c.p1),
446 l.pval037 = decode(c.p37,null,cn,c.p37)
447 where l.rowid = c.myrowid;
448 --
449 close cr;
450 --
451 hr_data_pump.exit('call');
452 exception
453  when hr_multi_message.error_message_exist then
454    if cr%isopen then
455     close cr;
456    end if;
457    hr_pump_utils.set_multi_msg_error_flag(true);
458  when others then
459  if cr%isopen then
460   close cr;
461  end if;
462  raise;
463 end call;
464 end hrdpp_CREATE_CBR_QUALD_BNF;