DBA Data[Home] [Help]

PACKAGE BODY: APPS.HRDPP_UPDATE_PRTT_PREM

Source


4  * Generated for API: ben_prtt_prem_api.UPDATE_PRTT_PREM
1 package body hrdpp_UPDATE_PRTT_PREM as
2 /*
3  * Generated by hr_pump_meta_mapper at: 2012/11/27 04:11:54
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);
76 procedure insert_batch_lines
73 hr_data_pump.exit('ins_user_key');
74 end iuk;
75 --
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_STD_PREM_VAL in number default null
83 ,I_STD_PREM_VAL in varchar2 default 'N'
84 ,P_PPE_ATTRIBUTE_CATEGORY in varchar2 default null
85 ,P_PPE_ATTRIBUTE1 in varchar2 default null
86 ,P_PPE_ATTRIBUTE2 in varchar2 default null
87 ,P_PPE_ATTRIBUTE3 in varchar2 default null
88 ,P_PPE_ATTRIBUTE4 in varchar2 default null
89 ,P_PPE_ATTRIBUTE5 in varchar2 default null
90 ,P_PPE_ATTRIBUTE6 in varchar2 default null
91 ,P_PPE_ATTRIBUTE7 in varchar2 default null
92 ,P_PPE_ATTRIBUTE8 in varchar2 default null
93 ,P_PPE_ATTRIBUTE9 in varchar2 default null
94 ,P_PPE_ATTRIBUTE10 in varchar2 default null
95 ,P_PPE_ATTRIBUTE11 in varchar2 default null
96 ,P_PPE_ATTRIBUTE12 in varchar2 default null
97 ,P_PPE_ATTRIBUTE13 in varchar2 default null
98 ,P_PPE_ATTRIBUTE14 in varchar2 default null
99 ,P_PPE_ATTRIBUTE15 in varchar2 default null
100 ,P_PPE_ATTRIBUTE16 in varchar2 default null
101 ,P_PPE_ATTRIBUTE17 in varchar2 default null
102 ,P_PPE_ATTRIBUTE18 in varchar2 default null
103 ,P_PPE_ATTRIBUTE19 in varchar2 default null
104 ,P_PPE_ATTRIBUTE20 in varchar2 default null
105 ,P_PPE_ATTRIBUTE21 in varchar2 default null
106 ,P_PPE_ATTRIBUTE22 in varchar2 default null
107 ,P_PPE_ATTRIBUTE23 in varchar2 default null
108 ,P_PPE_ATTRIBUTE24 in varchar2 default null
109 ,P_PPE_ATTRIBUTE25 in varchar2 default null
110 ,P_PPE_ATTRIBUTE26 in varchar2 default null
111 ,P_PPE_ATTRIBUTE27 in varchar2 default null
112 ,P_PPE_ATTRIBUTE28 in varchar2 default null
113 ,P_PPE_ATTRIBUTE29 in varchar2 default null
114 ,P_PPE_ATTRIBUTE30 in varchar2 default null
115 ,P_PROGRAM_UPDATE_DATE in date default null
116 ,I_PROGRAM_UPDATE_DATE in varchar2 default 'N'
117 ,P_EFFECTIVE_DATE in date
118 ,P_DATETRACK_MODE in varchar2
119 ,P_PRTT_PREM_USER_KEY in varchar2
120 ,P_STD_PREM_UOM in varchar2 default null
121 ,P_ACTUAL_PREMIUM in varchar2 default null
122 ,P_PRTT_ENRT_RSLT_USER_KEY in varchar2 default null
123 ,P_PER_IN_LER_USER_KEY in varchar2) 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 ,pval003
140 ,pval004
141 ,pval005
142 ,pval006
143 ,pval007
144 ,pval008
145 ,pval009
146 ,pval010
147 ,pval011
148 ,pval012
149 ,pval013
150 ,pval014
151 ,pval015
152 ,pval016
153 ,pval017
154 ,pval018
155 ,pval019
156 ,pval020
157 ,pval021
158 ,pval022
159 ,pval023
160 ,pval024
161 ,pval025
162 ,pval026
163 ,pval027
164 ,pval028
165 ,pval029
166 ,pval030
167 ,pval031
168 ,pval032
169 ,pval033
170 ,pval034
171 ,pval035
172 ,pval036
173 ,pval037
174 ,pval038
175 ,pval039
176 ,pval040
177 ,pval041
178 ,pval042)
179 values
180 (p_batch_id
181 ,nvl(blid,hr_pump_batch_lines_s.nextval)
182 ,p_data_pump_business_grp_name
183 ,1012
184 ,'U'
185 ,p_user_sequence
186 ,p_link_value
187 ,nd(P_STD_PREM_VAL,I_STD_PREM_VAL)
188 ,P_PPE_ATTRIBUTE_CATEGORY
189 ,P_PPE_ATTRIBUTE1
190 ,P_PPE_ATTRIBUTE2
191 ,P_PPE_ATTRIBUTE3
192 ,P_PPE_ATTRIBUTE4
193 ,P_PPE_ATTRIBUTE5
194 ,P_PPE_ATTRIBUTE6
195 ,P_PPE_ATTRIBUTE7
196 ,P_PPE_ATTRIBUTE8
197 ,P_PPE_ATTRIBUTE9
198 ,P_PPE_ATTRIBUTE10
199 ,P_PPE_ATTRIBUTE11
200 ,P_PPE_ATTRIBUTE12
201 ,P_PPE_ATTRIBUTE13
202 ,P_PPE_ATTRIBUTE14
203 ,P_PPE_ATTRIBUTE15
204 ,P_PPE_ATTRIBUTE16
205 ,P_PPE_ATTRIBUTE17
206 ,P_PPE_ATTRIBUTE18
207 ,P_PPE_ATTRIBUTE19
208 ,P_PPE_ATTRIBUTE20
209 ,P_PPE_ATTRIBUTE21
210 ,P_PPE_ATTRIBUTE22
211 ,P_PPE_ATTRIBUTE23
212 ,P_PPE_ATTRIBUTE24
213 ,P_PPE_ATTRIBUTE25
214 ,P_PPE_ATTRIBUTE26
215 ,P_PPE_ATTRIBUTE27
216 ,P_PPE_ATTRIBUTE28
217 ,P_PPE_ATTRIBUTE29
218 ,P_PPE_ATTRIBUTE30
219 ,dd(P_PROGRAM_UPDATE_DATE,I_PROGRAM_UPDATE_DATE)
220 ,dc(P_EFFECTIVE_DATE)
221 ,P_DATETRACK_MODE
222 ,P_PRTT_PREM_USER_KEY
223 ,P_STD_PREM_UOM
224 ,P_ACTUAL_PREMIUM
225 ,P_PRTT_ENRT_RSLT_USER_KEY
226 ,P_PER_IN_LER_USER_KEY);
227 end insert_batch_lines;
228 --
229 procedure call
230 (p_business_group_id in number,
231 p_batch_line_id     in number) is
232 cursor cr is
233 select l.rowid myrowid,
234 decode(l.pval001,cn,dn,d(l.pval001)) p1,
235 decode(l.pval002,cn,dn,d(l.pval002)) p2,
236 decode(l.pval003,cn,nn,vn,nh,n(l.pval003)) p3,
237 l.pval003 d3,
238 decode(l.pval004,cn,vn,vn,vh,l.pval004) p4,
239 l.pval004 d4,
240 decode(l.pval005,cn,vn,vn,vh,l.pval005) p5,
241 l.pval005 d5,
242 decode(l.pval006,cn,vn,vn,vh,l.pval006) p6,
243 l.pval006 d6,
244 decode(l.pval007,cn,vn,vn,vh,l.pval007) p7,
245 l.pval007 d7,
246 decode(l.pval008,cn,vn,vn,vh,l.pval008) p8,
247 l.pval008 d8,
248 decode(l.pval009,cn,vn,vn,vh,l.pval009) p9,
252 decode(l.pval011,cn,vn,vn,vh,l.pval011) p11,
249 l.pval009 d9,
250 decode(l.pval010,cn,vn,vn,vh,l.pval010) p10,
251 l.pval010 d10,
253 l.pval011 d11,
254 decode(l.pval012,cn,vn,vn,vh,l.pval012) p12,
255 l.pval012 d12,
256 decode(l.pval013,cn,vn,vn,vh,l.pval013) p13,
257 l.pval013 d13,
258 decode(l.pval014,cn,vn,vn,vh,l.pval014) p14,
259 l.pval014 d14,
260 decode(l.pval015,cn,vn,vn,vh,l.pval015) p15,
261 l.pval015 d15,
262 decode(l.pval016,cn,vn,vn,vh,l.pval016) p16,
263 l.pval016 d16,
264 decode(l.pval017,cn,vn,vn,vh,l.pval017) p17,
265 l.pval017 d17,
266 decode(l.pval018,cn,vn,vn,vh,l.pval018) p18,
267 l.pval018 d18,
268 decode(l.pval019,cn,vn,vn,vh,l.pval019) p19,
269 l.pval019 d19,
270 decode(l.pval020,cn,vn,vn,vh,l.pval020) p20,
271 l.pval020 d20,
272 decode(l.pval021,cn,vn,vn,vh,l.pval021) p21,
273 l.pval021 d21,
274 decode(l.pval022,cn,vn,vn,vh,l.pval022) p22,
275 l.pval022 d22,
276 decode(l.pval023,cn,vn,vn,vh,l.pval023) p23,
277 l.pval023 d23,
278 decode(l.pval024,cn,vn,vn,vh,l.pval024) p24,
279 l.pval024 d24,
280 decode(l.pval025,cn,vn,vn,vh,l.pval025) p25,
281 l.pval025 d25,
282 decode(l.pval026,cn,vn,vn,vh,l.pval026) p26,
283 l.pval026 d26,
284 decode(l.pval027,cn,vn,vn,vh,l.pval027) p27,
285 l.pval027 d27,
286 decode(l.pval028,cn,vn,vn,vh,l.pval028) p28,
287 l.pval028 d28,
288 decode(l.pval029,cn,vn,vn,vh,l.pval029) p29,
289 l.pval029 d29,
290 decode(l.pval030,cn,vn,vn,vh,l.pval030) p30,
291 l.pval030 d30,
292 decode(l.pval031,cn,vn,vn,vh,l.pval031) p31,
293 l.pval031 d31,
294 decode(l.pval032,cn,vn,vn,vh,l.pval032) p32,
295 l.pval032 d32,
296 decode(l.pval033,cn,vn,vn,vh,l.pval033) p33,
297 l.pval033 d33,
298 decode(l.pval034,cn,vn,vn,vh,l.pval034) p34,
299 l.pval034 d34,
300 decode(l.pval035,cn,dn,vn,dh,d(l.pval035)) p35,
301 l.pval035 d35,
302 decode(l.pval036,cn,dn,d(l.pval036)) p36,
303 decode(l.pval037,cn,vn,l.pval037) p37,
304 decode(l.pval038,cn,vn,l.pval038) p38,
305 decode(l.pval039,cn,vn,vn,vh,l.pval039) p39,
306 l.pval039 d39,
307 decode(l.pval040,cn,vn,vn,vh,l.pval040) p40,
308 l.pval040 d40,
309 decode(l.pval041,cn,vn,vn,vn,l.pval041) p41,
310 l.pval041 d41,
311 decode(l.pval042,cn,vn,l.pval042) p42
312 from hr_pump_batch_lines l
313 where l.batch_line_id = p_batch_line_id;
314 --
315 c cr%rowtype;
316 l_validate boolean := false;
317 L_PRTT_PREM_ID number;
318 L_STD_PREM_UOM varchar2(2000);
319 L_ACTL_PREM_ID number;
320 L_PRTT_ENRT_RSLT_ID number;
321 L_PER_IN_LER_ID number;
322 L_OBJECT_VERSION_NUMBER number;
323 L_REQUEST_ID number;
324 L_PROGRAM_APPLICATION_ID number;
325 L_PROGRAM_ID number;
326 --
327 begin
328 hr_data_pump.entry('call');
329 open cr;
330 fetch cr into c;
331 if cr%notfound then
332 hr_utility.set_message(800,'HR_50326_DP_NO_ROW');
333 hr_utility.set_message_token('TABLE','HR_PUMP_BATCH_LINES');
334 hr_utility.set_message_token('COLUMN','P_BATCH_LINE_ID');
335 hr_utility.set_message_token('VALUE',p_batch_line_id);
336 hr_utility.raise_error;
337 end if;
338 --
339 if c.p38 is null then
340 L_PRTT_PREM_ID:=nn;
341 else
342 L_PRTT_PREM_ID := 
343 hr_pump_get.get_prtt_prem_id
344 (P_PRTT_PREM_USER_KEY => c.p38);
345 end if;
346 --
347 if c.d39=cn or
348 c.p36 is null then
349 L_STD_PREM_UOM:=vn;
350 elsif c.d39 is null then 
351 L_STD_PREM_UOM:=vh;
352 else
353 L_STD_PREM_UOM := 
354 hr_pump_get.GET_STD_PREM_UOM_CODE
355 (P_STD_PREM_UOM => c.p39
356 ,P_EFFECTIVE_DATE => c.p36);
357 end if;
358 --
359 if c.d40=cn or
360 c.p36 is null then
361 L_ACTL_PREM_ID:=nn;
362 elsif c.d40 is null then 
363 L_ACTL_PREM_ID:=nh;
364 else
365 L_ACTL_PREM_ID := 
366 hr_pump_get.get_actl_prem_id
367 (P_BUSINESS_GROUP_ID => P_BUSINESS_GROUP_ID
368 ,P_ACTUAL_PREMIUM => c.p40
369 ,P_EFFECTIVE_DATE => c.p36);
370 end if;
371 --
372 if c.d41=cn then
373 L_PRTT_ENRT_RSLT_ID:=nn;
374 elsif c.d41 is null then 
375 L_PRTT_ENRT_RSLT_ID:=nh;
376 else
377 L_PRTT_ENRT_RSLT_ID := 
378 hr_pump_get.get_prtt_enrt_rslt_id
379 (P_PRTT_ENRT_RSLT_USER_KEY => c.p41);
380 end if;
381 --
382 if c.p42 is null then
383 L_PER_IN_LER_ID:=nn;
384 else
385 L_PER_IN_LER_ID := 
386 hr_pump_get.get_per_in_ler_id
387 (P_PER_IN_LER_USER_KEY => c.p42);
388 end if;
389 --
390 if c.p38 is null or
391 c.p36 is null then
392 L_OBJECT_VERSION_NUMBER:=nn;
393 else
394 L_OBJECT_VERSION_NUMBER := 
395 hr_pump_get.GET_PRTT_PREM_OVN
396 (P_PRTT_PREM_USER_KEY => c.p38
397 ,P_EFFECTIVE_DATE => c.p36);
398 end if;
399 --
400 L_REQUEST_ID := 
401 hr_pump_get.get_request_id;
402 --
403 L_PROGRAM_APPLICATION_ID := 
404 hr_pump_get.get_program_application_id;
405 --
406 L_PROGRAM_ID := 
407 hr_pump_get.get_program_id;
408 --
409 hr_data_pump.api_trc_on;
410 ben_prtt_prem_api.UPDATE_PRTT_PREM
411 (p_validate => l_validate
412 ,P_PRTT_PREM_ID => L_PRTT_PREM_ID
413 ,P_EFFECTIVE_START_DATE => c.p1
414 ,P_EFFECTIVE_END_DATE => c.p2
415 ,P_STD_PREM_UOM => L_STD_PREM_UOM
416 ,P_STD_PREM_VAL => c.p3
417 ,P_ACTL_PREM_ID => L_ACTL_PREM_ID
418 ,P_PRTT_ENRT_RSLT_ID => L_PRTT_ENRT_RSLT_ID
419 ,P_PER_IN_LER_ID => L_PER_IN_LER_ID
420 ,p_business_group_id => p_business_group_id
421 ,P_PPE_ATTRIBUTE_CATEGORY => c.p4
422 ,P_PPE_ATTRIBUTE1 => c.p5
423 ,P_PPE_ATTRIBUTE2 => c.p6
424 ,P_PPE_ATTRIBUTE3 => c.p7
425 ,P_PPE_ATTRIBUTE4 => c.p8
426 ,P_PPE_ATTRIBUTE5 => c.p9
427 ,P_PPE_ATTRIBUTE6 => c.p10
428 ,P_PPE_ATTRIBUTE7 => c.p11
429 ,P_PPE_ATTRIBUTE8 => c.p12
430 ,P_PPE_ATTRIBUTE9 => c.p13
431 ,P_PPE_ATTRIBUTE10 => c.p14
432 ,P_PPE_ATTRIBUTE11 => c.p15
433 ,P_PPE_ATTRIBUTE12 => c.p16
434 ,P_PPE_ATTRIBUTE13 => c.p17
435 ,P_PPE_ATTRIBUTE14 => c.p18
436 ,P_PPE_ATTRIBUTE15 => c.p19
437 ,P_PPE_ATTRIBUTE16 => c.p20
438 ,P_PPE_ATTRIBUTE17 => c.p21
439 ,P_PPE_ATTRIBUTE18 => c.p22
440 ,P_PPE_ATTRIBUTE19 => c.p23
441 ,P_PPE_ATTRIBUTE20 => c.p24
442 ,P_PPE_ATTRIBUTE21 => c.p25
443 ,P_PPE_ATTRIBUTE22 => c.p26
444 ,P_PPE_ATTRIBUTE23 => c.p27
445 ,P_PPE_ATTRIBUTE24 => c.p28
446 ,P_PPE_ATTRIBUTE25 => c.p29
447 ,P_PPE_ATTRIBUTE26 => c.p30
448 ,P_PPE_ATTRIBUTE27 => c.p31
449 ,P_PPE_ATTRIBUTE28 => c.p32
450 ,P_PPE_ATTRIBUTE29 => c.p33
451 ,P_PPE_ATTRIBUTE30 => c.p34
452 ,P_OBJECT_VERSION_NUMBER => L_OBJECT_VERSION_NUMBER
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.p35
457 ,P_EFFECTIVE_DATE => c.p36
458 ,P_DATETRACK_MODE => c.p37);
459 hr_data_pump.api_trc_off;
460 
461 --
462 update hr_pump_batch_lines l set
463 l.pval001 = decode(c.p1,null,cn,dc(c.p1)),
464 l.pval002 = decode(c.p2,null,cn,dc(c.p2))
465 where l.rowid = c.myrowid;
466 --
467 close cr;
468 --
469 hr_data_pump.exit('call');
470 exception
471  when hr_multi_message.error_message_exist then
472    if cr%isopen then
473     close cr;
474    end if;
475    hr_pump_utils.set_multi_msg_error_flag(true);
476  when others then
477  if cr%isopen then
478   close cr;
479  end if;
480  raise;
481 end call;
482 end hrdpp_UPDATE_PRTT_PREM;