DBA Data[Home] [Help]

PACKAGE BODY: APPS.HRDPP_UPDATE_PLAN_TYPE

Source


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