DBA Data[Home] [Help]

PACKAGE BODY: APPS.HRDPP_UPDATE_LIFE_EVENT_REASON

Source


1 package body hrdpp_UPDATE_LIFE_EVENT_REASON as
2 /*
3  * Generated by hr_pump_meta_mapper at: 2012/11/27 04:11:05
4  * Generated for API: ben_life_event_reason_api.UPDATE_LIFE_EVENT_REASON
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');
14 vn constant varchar2(1) := null;
11 cn constant varchar2(32) := '<NULL>';
12 dn constant date := null;
13 nn constant number := 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_TYP_CD in varchar2 default null
84 ,P_LF_EVT_OPER_CD in varchar2 default null
85 ,P_SHORT_NAME in varchar2 default null
86 ,P_SHORT_CODE in varchar2 default null
87 ,P_PTNL_LER_TRTMT_CD in varchar2 default null
88 ,P_CK_RLTD_PER_ELIG_FLAG in varchar2 default null
89 ,P_LER_EVAL_RL in number default null
90 ,I_LER_EVAL_RL in varchar2 default 'N'
91 ,P_CM_APLY_FLAG in varchar2 default null
92 ,P_OVRIDG_LE_FLAG in varchar2 default null
93 ,P_QUALG_EVT_FLAG in varchar2 default null
94 ,P_WHN_TO_PRCS_CD in varchar2 default null
95 ,P_DESC_TXT in varchar2 default null
96 ,P_TMLNS_EVAL_CD in varchar2 default null
97 ,P_TMLNS_PERD_CD in varchar2 default null
98 ,P_TMLNS_DYS_NUM in number default null
99 ,I_TMLNS_DYS_NUM in varchar2 default 'N'
100 ,P_TMLNS_PERD_RL in number default null
101 ,I_TMLNS_PERD_RL in varchar2 default 'N'
102 ,P_OCRD_DT_DET_CD in varchar2 default null
103 ,P_LER_STAT_CD in varchar2 default null
104 ,P_SLCTBL_SLF_SVC_CD in varchar2 default null
105 ,P_SS_PCP_DISP_CD in varchar2 default null
106 ,P_LER_ATTRIBUTE_CATEGORY in varchar2 default null
107 ,P_LER_ATTRIBUTE1 in varchar2 default null
108 ,P_LER_ATTRIBUTE2 in varchar2 default null
109 ,P_LER_ATTRIBUTE3 in varchar2 default null
110 ,P_LER_ATTRIBUTE4 in varchar2 default null
111 ,P_LER_ATTRIBUTE5 in varchar2 default null
112 ,P_LER_ATTRIBUTE6 in varchar2 default null
113 ,P_LER_ATTRIBUTE7 in varchar2 default null
114 ,P_LER_ATTRIBUTE8 in varchar2 default null
115 ,P_LER_ATTRIBUTE9 in varchar2 default null
116 ,P_LER_ATTRIBUTE10 in varchar2 default null
117 ,P_LER_ATTRIBUTE11 in varchar2 default null
118 ,P_LER_ATTRIBUTE12 in varchar2 default null
119 ,P_LER_ATTRIBUTE13 in varchar2 default null
120 ,P_LER_ATTRIBUTE14 in varchar2 default null
121 ,P_LER_ATTRIBUTE15 in varchar2 default null
122 ,P_LER_ATTRIBUTE16 in varchar2 default null
123 ,P_LER_ATTRIBUTE17 in varchar2 default null
124 ,P_LER_ATTRIBUTE18 in varchar2 default null
125 ,P_LER_ATTRIBUTE19 in varchar2 default null
126 ,P_LER_ATTRIBUTE20 in varchar2 default null
127 ,P_LER_ATTRIBUTE21 in varchar2 default null
128 ,P_LER_ATTRIBUTE22 in varchar2 default null
129 ,P_LER_ATTRIBUTE23 in varchar2 default null
130 ,P_LER_ATTRIBUTE24 in varchar2 default null
131 ,P_LER_ATTRIBUTE25 in varchar2 default null
132 ,P_LER_ATTRIBUTE26 in varchar2 default null
133 ,P_LER_ATTRIBUTE27 in varchar2 default null
134 ,P_LER_ATTRIBUTE28 in varchar2 default null
135 ,P_LER_ATTRIBUTE29 in varchar2 default null
136 ,P_LER_ATTRIBUTE30 in varchar2 default null
137 ,P_EFFECTIVE_DATE in date
138 ,P_DATETRACK_MODE in varchar2
139 ,P_LIFE_EVENT_REASON in varchar2) is
140 blid number := p_data_pump_batch_line_id;
141 begin
142 if blid is not null then
143 delete from hr_pump_batch_lines where batch_line_id = blid;
144 delete from hr_pump_batch_exceptions
145 where source_type = 'BATCH_LINE' and source_id = blid;
146 end if;
147 insert into hr_pump_batch_lines
148 (batch_id
149 ,batch_line_id
150 ,business_group_name
151 ,api_module_id
152 ,line_status
153 ,user_sequence
154 ,link_value
155 ,pval003
156 ,pval004
157 ,pval005
158 ,pval006
159 ,pval007
160 ,pval008
161 ,pval009
162 ,pval010
163 ,pval011
164 ,pval012
165 ,pval013
166 ,pval014
167 ,pval015
168 ,pval016
169 ,pval017
170 ,pval018
171 ,pval019
172 ,pval020
173 ,pval021
174 ,pval022
175 ,pval023
176 ,pval024
177 ,pval025
178 ,pval026
179 ,pval027
180 ,pval028
181 ,pval029
182 ,pval030
183 ,pval031
184 ,pval032
185 ,pval033
186 ,pval034
187 ,pval035
188 ,pval036
189 ,pval037
190 ,pval038
191 ,pval039
192 ,pval040
193 ,pval041
194 ,pval042
195 ,pval043
196 ,pval044
197 ,pval045
198 ,pval046
199 ,pval047
200 ,pval048
201 ,pval049
202 ,pval050
203 ,pval051
204 ,pval052
205 ,pval053
206 ,pval054
207 ,pval055
208 ,pval056
209 ,pval057)
210 values
211 (p_batch_id
212 ,nvl(blid,hr_pump_batch_lines_s.nextval)
216 ,p_user_sequence
213 ,p_data_pump_business_grp_name
214 ,477
215 ,'U'
217 ,p_link_value
218 ,P_NAME
219 ,P_TYP_CD
220 ,P_LF_EVT_OPER_CD
221 ,P_SHORT_NAME
222 ,P_SHORT_CODE
223 ,P_PTNL_LER_TRTMT_CD
224 ,P_CK_RLTD_PER_ELIG_FLAG
225 ,nd(P_LER_EVAL_RL,I_LER_EVAL_RL)
226 ,P_CM_APLY_FLAG
227 ,P_OVRIDG_LE_FLAG
228 ,P_QUALG_EVT_FLAG
229 ,P_WHN_TO_PRCS_CD
230 ,P_DESC_TXT
231 ,P_TMLNS_EVAL_CD
232 ,P_TMLNS_PERD_CD
233 ,nd(P_TMLNS_DYS_NUM,I_TMLNS_DYS_NUM)
234 ,nd(P_TMLNS_PERD_RL,I_TMLNS_PERD_RL)
235 ,P_OCRD_DT_DET_CD
236 ,P_LER_STAT_CD
237 ,P_SLCTBL_SLF_SVC_CD
238 ,P_SS_PCP_DISP_CD
239 ,P_LER_ATTRIBUTE_CATEGORY
240 ,P_LER_ATTRIBUTE1
241 ,P_LER_ATTRIBUTE2
242 ,P_LER_ATTRIBUTE3
243 ,P_LER_ATTRIBUTE4
244 ,P_LER_ATTRIBUTE5
245 ,P_LER_ATTRIBUTE6
246 ,P_LER_ATTRIBUTE7
247 ,P_LER_ATTRIBUTE8
248 ,P_LER_ATTRIBUTE9
249 ,P_LER_ATTRIBUTE10
250 ,P_LER_ATTRIBUTE11
251 ,P_LER_ATTRIBUTE12
252 ,P_LER_ATTRIBUTE13
253 ,P_LER_ATTRIBUTE14
254 ,P_LER_ATTRIBUTE15
255 ,P_LER_ATTRIBUTE16
256 ,P_LER_ATTRIBUTE17
257 ,P_LER_ATTRIBUTE18
258 ,P_LER_ATTRIBUTE19
259 ,P_LER_ATTRIBUTE20
260 ,P_LER_ATTRIBUTE21
261 ,P_LER_ATTRIBUTE22
262 ,P_LER_ATTRIBUTE23
263 ,P_LER_ATTRIBUTE24
264 ,P_LER_ATTRIBUTE25
265 ,P_LER_ATTRIBUTE26
266 ,P_LER_ATTRIBUTE27
267 ,P_LER_ATTRIBUTE28
268 ,P_LER_ATTRIBUTE29
269 ,P_LER_ATTRIBUTE30
270 ,dc(P_EFFECTIVE_DATE)
271 ,P_DATETRACK_MODE
272 ,P_LIFE_EVENT_REASON);
273 end insert_batch_lines;
274 --
275 procedure call
276 (p_business_group_id in number,
277 p_batch_line_id     in number) is
278 cursor cr is
279 select l.rowid myrowid,
280 decode(l.pval001,cn,dn,d(l.pval001)) p1,
281 decode(l.pval002,cn,dn,d(l.pval002)) p2,
282 decode(l.pval003,cn,vn,vn,vh,l.pval003) p3,
283 l.pval003 d3,
284 decode(l.pval004,cn,vn,vn,vh,
285  hr_pump_get.gl(l.pval004,'BEN_LER_TYP',d(l.pval055),vn)) p4,
286 l.pval004 d4,
287 decode(l.pval005,cn,vn,vn,vh,l.pval005) p5,
288 l.pval005 d5,
289 decode(l.pval006,cn,vn,vn,vh,l.pval006) p6,
290 l.pval006 d6,
291 decode(l.pval007,cn,vn,vn,vh,l.pval007) p7,
292 l.pval007 d7,
293 decode(l.pval008,cn,vn,vn,vh,
294  hr_pump_get.gl(l.pval008,'BEN_PTNL_LER_TRTMT',d(l.pval055),vn)) p8,
295 l.pval008 d8,
296 decode(l.pval009,cn,vn,vn,vh,
297  hr_pump_get.gl(l.pval009,'YES_NO',d(l.pval055),vn)) p9,
298 l.pval009 d9,
299 decode(l.pval010,cn,nn,vn,nh,n(l.pval010)) p10,
300 l.pval010 d10,
301 decode(l.pval011,cn,vn,vn,vh,
302  hr_pump_get.gl(l.pval011,'YES_NO',d(l.pval055),vn)) p11,
303 l.pval011 d11,
304 decode(l.pval012,cn,vn,vn,vh,
305  hr_pump_get.gl(l.pval012,'YES_NO',d(l.pval055),vn)) p12,
306 l.pval012 d12,
307 decode(l.pval013,cn,vn,vn,vh,
308  hr_pump_get.gl(l.pval013,'YES_NO',d(l.pval055),vn)) p13,
309 l.pval013 d13,
310 decode(l.pval014,cn,vn,vn,vh,
311  hr_pump_get.gl(l.pval014,'BEN_WHN_TO_PRCS_LER',d(l.pval055),vn)) p14,
312 l.pval014 d14,
313 decode(l.pval015,cn,vn,vn,vh,l.pval015) p15,
314 l.pval015 d15,
315 decode(l.pval016,cn,vn,vn,vh,
316  hr_pump_get.gl(l.pval016,'BEN_LER_TMLNS_EVAL',d(l.pval055),vn)) p16,
317 l.pval016 d16,
318 decode(l.pval017,cn,vn,vn,vh,
322 l.pval018 d18,
319  hr_pump_get.gl(l.pval017,'BEN_LER_TMLNS_PERD',d(l.pval055),vn)) p17,
320 l.pval017 d17,
321 decode(l.pval018,cn,nn,vn,nh,n(l.pval018)) p18,
323 decode(l.pval019,cn,nn,vn,nh,n(l.pval019)) p19,
324 l.pval019 d19,
325 decode(l.pval020,cn,vn,vn,vh,
326  hr_pump_get.gl(l.pval020,'BEN_OCRD_DT_DET',d(l.pval055),vn)) p20,
327 l.pval020 d20,
328 decode(l.pval021,cn,vn,vn,vh,l.pval021) p21,
329 l.pval021 d21,
330 decode(l.pval022,cn,vn,vn,vh,
331  hr_pump_get.gl(l.pval022,'BEN_SLCTBL_SLF_SVC_CD',d(l.pval055),vn)) p22,
332 l.pval022 d22,
333 decode(l.pval023,cn,vn,vn,vh,l.pval023) p23,
334 l.pval023 d23,
335 decode(l.pval024,cn,vn,vn,vh,l.pval024) p24,
336 l.pval024 d24,
337 decode(l.pval025,cn,vn,vn,vh,l.pval025) p25,
338 l.pval025 d25,
339 decode(l.pval026,cn,vn,vn,vh,l.pval026) p26,
340 l.pval026 d26,
341 decode(l.pval027,cn,vn,vn,vh,l.pval027) p27,
342 l.pval027 d27,
343 decode(l.pval028,cn,vn,vn,vh,l.pval028) p28,
344 l.pval028 d28,
345 decode(l.pval029,cn,vn,vn,vh,l.pval029) p29,
346 l.pval029 d29,
347 decode(l.pval030,cn,vn,vn,vh,l.pval030) p30,
348 l.pval030 d30,
349 decode(l.pval031,cn,vn,vn,vh,l.pval031) p31,
350 l.pval031 d31,
351 decode(l.pval032,cn,vn,vn,vh,l.pval032) p32,
352 l.pval032 d32,
353 decode(l.pval033,cn,vn,vn,vh,l.pval033) p33,
354 l.pval033 d33,
355 decode(l.pval034,cn,vn,vn,vh,l.pval034) p34,
356 l.pval034 d34,
357 decode(l.pval035,cn,vn,vn,vh,l.pval035) p35,
358 l.pval035 d35,
359 decode(l.pval036,cn,vn,vn,vh,l.pval036) p36,
360 l.pval036 d36,
361 decode(l.pval037,cn,vn,vn,vh,l.pval037) p37,
362 l.pval037 d37,
363 decode(l.pval038,cn,vn,vn,vh,l.pval038) p38,
364 l.pval038 d38,
365 decode(l.pval039,cn,vn,vn,vh,l.pval039) p39,
366 l.pval039 d39,
367 decode(l.pval040,cn,vn,vn,vh,l.pval040) p40,
368 l.pval040 d40,
369 decode(l.pval041,cn,vn,vn,vh,l.pval041) p41,
370 l.pval041 d41,
371 decode(l.pval042,cn,vn,vn,vh,l.pval042) p42,
372 l.pval042 d42,
373 decode(l.pval043,cn,vn,vn,vh,l.pval043) p43,
374 l.pval043 d43,
375 decode(l.pval044,cn,vn,vn,vh,l.pval044) p44,
376 l.pval044 d44,
377 decode(l.pval045,cn,vn,vn,vh,l.pval045) p45,
378 l.pval045 d45,
379 decode(l.pval046,cn,vn,vn,vh,l.pval046) p46,
380 l.pval046 d46,
381 decode(l.pval047,cn,vn,vn,vh,l.pval047) p47,
382 l.pval047 d47,
383 decode(l.pval048,cn,vn,vn,vh,l.pval048) p48,
384 l.pval048 d48,
385 decode(l.pval049,cn,vn,vn,vh,l.pval049) p49,
386 l.pval049 d49,
387 decode(l.pval050,cn,vn,vn,vh,l.pval050) p50,
388 l.pval050 d50,
389 decode(l.pval051,cn,vn,vn,vh,l.pval051) p51,
390 l.pval051 d51,
391 decode(l.pval052,cn,vn,vn,vh,l.pval052) p52,
392 l.pval052 d52,
393 decode(l.pval053,cn,vn,vn,vh,l.pval053) p53,
394 l.pval053 d53,
395 decode(l.pval054,cn,vn,vn,vh,l.pval054) p54,
396 l.pval054 d54,
397 decode(l.pval055,cn,dn,d(l.pval055)) p55,
398 decode(l.pval056,cn,vn,l.pval056) p56,
399 decode(l.pval057,cn,vn,l.pval057) p57
400 from hr_pump_batch_lines l
401 where l.batch_line_id = p_batch_line_id;
402 --
403 c cr%rowtype;
404 l_validate boolean := false;
405 L_LER_ID number;
406 L_OBJECT_VERSION_NUMBER number;
407 --
408 begin
409 hr_data_pump.entry('call');
410 open cr;
411 fetch cr into c;
412 if cr%notfound then
413 hr_utility.set_message(800,'HR_50326_DP_NO_ROW');
414 hr_utility.set_message_token('TABLE','HR_PUMP_BATCH_LINES');
418 end if;
415 hr_utility.set_message_token('COLUMN','P_BATCH_LINE_ID');
416 hr_utility.set_message_token('VALUE',p_batch_line_id);
417 hr_utility.raise_error;
419 --
420 if c.p57 is null or
421 c.p55 is null then
422 L_LER_ID:=nn;
423 else
424 L_LER_ID := 
425 hr_pump_get.GET_LER_ID
426 (P_BUSINESS_GROUP_ID => P_BUSINESS_GROUP_ID
427 ,P_LIFE_EVENT_REASON => c.p57
428 ,P_EFFECTIVE_DATE => c.p55);
429 end if;
430 --
431 if c.p57 is null or
432 c.p55 is null then
433 L_OBJECT_VERSION_NUMBER:=nn;
434 else
435 L_OBJECT_VERSION_NUMBER := 
436 hr_pump_get.GET_LER_OVN
437 (P_BUSINESS_GROUP_ID => P_BUSINESS_GROUP_ID
438 ,P_LIFE_EVENT_REASON => c.p57
439 ,P_EFFECTIVE_DATE => c.p55);
440 end if;
441 --
442 hr_data_pump.api_trc_on;
443 ben_life_event_reason_api.UPDATE_LIFE_EVENT_REASON
444 (p_validate => l_validate
445 ,P_LER_ID => L_LER_ID
446 ,P_EFFECTIVE_START_DATE => c.p1
447 ,P_EFFECTIVE_END_DATE => c.p2
448 ,P_NAME => c.p3
449 ,p_business_group_id => p_business_group_id
450 ,P_TYP_CD => c.p4
451 ,P_LF_EVT_OPER_CD => c.p5
452 ,P_SHORT_NAME => c.p6
453 ,P_SHORT_CODE => c.p7
454 ,P_PTNL_LER_TRTMT_CD => c.p8
455 ,P_CK_RLTD_PER_ELIG_FLAG => c.p9
456 ,P_LER_EVAL_RL => c.p10
457 ,P_CM_APLY_FLAG => c.p11
458 ,P_OVRIDG_LE_FLAG => c.p12
459 ,P_QUALG_EVT_FLAG => c.p13
463 ,P_TMLNS_PERD_CD => c.p17
460 ,P_WHN_TO_PRCS_CD => c.p14
461 ,P_DESC_TXT => c.p15
462 ,P_TMLNS_EVAL_CD => c.p16
464 ,P_TMLNS_DYS_NUM => c.p18
465 ,P_TMLNS_PERD_RL => c.p19
466 ,P_OCRD_DT_DET_CD => c.p20
467 ,P_LER_STAT_CD => c.p21
468 ,P_SLCTBL_SLF_SVC_CD => c.p22
469 ,P_SS_PCP_DISP_CD => c.p23
470 ,P_LER_ATTRIBUTE_CATEGORY => c.p24
471 ,P_LER_ATTRIBUTE1 => c.p25
472 ,P_LER_ATTRIBUTE2 => c.p26
473 ,P_LER_ATTRIBUTE3 => c.p27
474 ,P_LER_ATTRIBUTE4 => c.p28
475 ,P_LER_ATTRIBUTE5 => c.p29
476 ,P_LER_ATTRIBUTE6 => c.p30
477 ,P_LER_ATTRIBUTE7 => c.p31
478 ,P_LER_ATTRIBUTE8 => c.p32
479 ,P_LER_ATTRIBUTE9 => c.p33
480 ,P_LER_ATTRIBUTE10 => c.p34
481 ,P_LER_ATTRIBUTE11 => c.p35
482 ,P_LER_ATTRIBUTE12 => c.p36
483 ,P_LER_ATTRIBUTE13 => c.p37
484 ,P_LER_ATTRIBUTE14 => c.p38
485 ,P_LER_ATTRIBUTE15 => c.p39
486 ,P_LER_ATTRIBUTE16 => c.p40
487 ,P_LER_ATTRIBUTE17 => c.p41
488 ,P_LER_ATTRIBUTE18 => c.p42
489 ,P_LER_ATTRIBUTE19 => c.p43
490 ,P_LER_ATTRIBUTE20 => c.p44
491 ,P_LER_ATTRIBUTE21 => c.p45
492 ,P_LER_ATTRIBUTE22 => c.p46
493 ,P_LER_ATTRIBUTE23 => c.p47
494 ,P_LER_ATTRIBUTE24 => c.p48
495 ,P_LER_ATTRIBUTE25 => c.p49
496 ,P_LER_ATTRIBUTE26 => c.p50
497 ,P_LER_ATTRIBUTE27 => c.p51
498 ,P_LER_ATTRIBUTE28 => c.p52
499 ,P_LER_ATTRIBUTE29 => c.p53
500 ,P_LER_ATTRIBUTE30 => c.p54
501 ,P_OBJECT_VERSION_NUMBER => L_OBJECT_VERSION_NUMBER
502 ,P_EFFECTIVE_DATE => c.p55
503 ,P_DATETRACK_MODE => c.p56);
504 hr_data_pump.api_trc_off;
505 
506 --
507 update hr_pump_batch_lines l set
508 l.pval001 = decode(c.p1,null,cn,dc(c.p1)),
509 l.pval002 = decode(c.p2,null,cn,dc(c.p2))
510 where l.rowid = c.myrowid;
511 --
512 close cr;
513 --
514 hr_data_pump.exit('call');
515 exception
516  when hr_multi_message.error_message_exist then
517    if cr%isopen then
518     close cr;
519    end if;
520    hr_pump_utils.set_multi_msg_error_flag(true);
521  when others then
522  if cr%isopen then
523   close cr;
524  end if;
525  raise;
526 end call;
527 end hrdpp_UPDATE_LIFE_EVENT_REASON;