1 Package Body ben_ler_upd as
2 /* $Header: belerrhi.pkb 120.2 2006/11/03 10:34:58 vborkar noship $ */
3 --
4 -- ----------------------------------------------------------------------------
5 -- | Private Global Definitions |
6 -- ----------------------------------------------------------------------------
7 --
8 g_package varchar2(33) := ' ben_ler_upd.'; -- Global package name
9 --
10 -- ----------------------------------------------------------------------------
11 -- |----------------------------< dt_update_dml >-----------------------------|
12 -- ----------------------------------------------------------------------------
13 -- {Start Of Comments}
14 --
15 -- Description:
16 -- This procedure controls the execution of dml from the datetrack mode
17 -- of CORRECTION only. It is important to note that the object version
18 -- number is only increment by 1 because the datetrack correction is
19 -- soley for one datetracked row.
20 -- This procedure controls the actual dml update logic. The functions of this
21 -- procedure are as follows:
22 -- 1) Get the next object_version_number.
23 -- 2) To set and unset the g_api_dml status as required (as we are about to
24 -- perform dml).
25 -- 3) To update the specified row in the schema using the primary key in
26 -- the predicates.
27 -- 4) To trap any constraint violations that may have occurred.
28 -- 5) To raise any other errors.
29 --
30 -- Prerequisites:
31 -- This is an internal private procedure which must be called from the
32 -- update_dml procedure.
33 --
34 -- In Parameters:
35 -- A Pl/Sql record structre.
36 --
37 -- Post Success:
38 -- The specified row will be updated in the schema.
39 --
40 -- Post Failure:
41 -- On the update dml failure it is important to note that we always reset the
42 -- g_api_dml status to false.
43 -- If a check or unique integrity constraint violation is raised the
44 -- constraint_error procedure will be called.
45 -- If any other error is reported, the error will be raised after the
46 -- g_api_dml status is reset.
47 --
48 -- Developer Implementation Notes:
49 -- The update 'set' arguments list should be modified if any of your
50 -- attributes are not updateable.
51 --
52 -- Access Status:
53 -- Internal Row Handler Use Only.
54 --
55 -- {End Of Comments}
56 -- ----------------------------------------------------------------------------
57 Procedure dt_update_dml
58 (p_rec in out nocopy ben_ler_shd.g_rec_type,
59 p_effective_date in date,
60 p_datetrack_mode in varchar2,
61 p_validation_start_date in date,
62 p_validation_end_date in date) is
63 --
64 l_proc varchar2(72) := g_package||'dt_update_dml';
65 --
66 Begin
67 hr_utility.set_location('Entering:'||l_proc, 5);
68 --
69 If (p_datetrack_mode = 'CORRECTION') then
70 hr_utility.set_location(l_proc, 10);
71 --
72 -- Because we are updating a row we must get the next object
73 -- version number.
74 --
75 p_rec.object_version_number :=
76 dt_api.get_object_version_number
77 (p_base_table_name => 'ben_ler_f',
78 p_base_key_column => 'ler_id',
79 p_base_key_value => p_rec.ler_id);
80 --
81 ben_ler_shd.g_api_dml := true; -- Set the api dml status
82 --
83 -- Update the ben_ler_f Row
84 --
85 update ben_ler_f
86 set
87 ler_id = p_rec.ler_id,
88 name = p_rec.name,
89 business_group_id = p_rec.business_group_id,
90 typ_cd = p_rec.typ_cd,
91 lf_evt_oper_cd = p_rec.lf_evt_oper_cd,
92 short_name = p_rec.short_name,
93 short_code = p_rec.short_code,
94 ptnl_ler_trtmt_cd = p_rec.ptnl_ler_trtmt_cd,
95 ck_rltd_per_elig_flag = p_rec.ck_rltd_per_elig_flag,
96 ler_eval_rl = p_rec.ler_eval_rl,
97 cm_aply_flag = p_rec.cm_aply_flag,
98 ovridg_le_flag = p_rec.ovridg_le_flag,
99 qualg_evt_flag = p_rec.qualg_evt_flag,
100 whn_to_prcs_cd = p_rec.whn_to_prcs_cd,
101 desc_txt = p_rec.desc_txt,
102 tmlns_eval_cd = p_rec.tmlns_eval_cd,
103 tmlns_perd_cd = p_rec.tmlns_perd_cd,
104 tmlns_dys_num = p_rec.tmlns_dys_num,
105 tmlns_perd_rl = p_rec.tmlns_perd_rl,
106 ocrd_dt_det_cd = p_rec.ocrd_dt_det_cd,
107 ler_stat_cd = p_rec.ler_stat_cd,
108 slctbl_slf_svc_cd = p_rec.slctbl_slf_svc_cd,
109 ss_pcp_disp_cd = p_rec.ss_pcp_disp_cd,
110 ler_attribute_category = p_rec.ler_attribute_category,
111 ler_attribute1 = p_rec.ler_attribute1,
112 ler_attribute2 = p_rec.ler_attribute2,
113 ler_attribute3 = p_rec.ler_attribute3,
114 ler_attribute4 = p_rec.ler_attribute4,
115 ler_attribute5 = p_rec.ler_attribute5,
116 ler_attribute6 = p_rec.ler_attribute6,
117 ler_attribute7 = p_rec.ler_attribute7,
118 ler_attribute8 = p_rec.ler_attribute8,
119 ler_attribute9 = p_rec.ler_attribute9,
120 ler_attribute10 = p_rec.ler_attribute10,
121 ler_attribute11 = p_rec.ler_attribute11,
122 ler_attribute12 = p_rec.ler_attribute12,
123 ler_attribute13 = p_rec.ler_attribute13,
124 ler_attribute14 = p_rec.ler_attribute14,
125 ler_attribute15 = p_rec.ler_attribute15,
126 ler_attribute16 = p_rec.ler_attribute16,
127 ler_attribute17 = p_rec.ler_attribute17,
128 ler_attribute18 = p_rec.ler_attribute18,
129 ler_attribute19 = p_rec.ler_attribute19,
130 ler_attribute20 = p_rec.ler_attribute20,
131 ler_attribute21 = p_rec.ler_attribute21,
132 ler_attribute22 = p_rec.ler_attribute22,
133 ler_attribute23 = p_rec.ler_attribute23,
134 ler_attribute24 = p_rec.ler_attribute24,
135 ler_attribute25 = p_rec.ler_attribute25,
136 ler_attribute26 = p_rec.ler_attribute26,
137 ler_attribute27 = p_rec.ler_attribute27,
138 ler_attribute28 = p_rec.ler_attribute28,
139 ler_attribute29 = p_rec.ler_attribute29,
140 ler_attribute30 = p_rec.ler_attribute30,
141 object_version_number = p_rec.object_version_number
142 where ler_id = p_rec.ler_id
143 and effective_start_date = p_validation_start_date
144 and effective_end_date = p_validation_end_date;
145 --
146 -- Update MLS table.
147 --
148 update ben_ler_f_tl
149 set name = p_rec.name,
150 typ_cd = p_rec.typ_cd,
151 last_update_date = sysdate,
152 last_updated_by = fnd_global.user_id,
153 last_update_login = fnd_global.login_id,
154 source_lang = userenv('LANG')
155 where ler_id = p_rec.ler_id
156 and effective_start_date = p_validation_start_date
157 and effective_end_date = p_validation_end_date
158 and userenv('LANG') in (language, source_lang);
159 --
160 ben_ler_shd.g_api_dml := false; -- Unset the api dml status
161 --
162 -- Set the effective start and end dates
163 --
164 p_rec.effective_start_date := p_validation_start_date;
165 p_rec.effective_end_date := p_validation_end_date;
166 End If;
167 --
168 hr_utility.set_location(' Leaving:'||l_proc, 15);
169 Exception
170 When hr_api.check_integrity_violated Then
171 -- A check constraint has been violated
172 ben_ler_shd.g_api_dml := false; -- Unset the api dml status
173 ben_ler_shd.constraint_error
174 (p_constraint_name => hr_api.strip_constraint_name(SQLERRM));
175 When hr_api.unique_integrity_violated Then
176 -- Unique integrity has been violated
177 ben_ler_shd.g_api_dml := false; -- Unset the api dml status
178 ben_ler_shd.constraint_error
179 (p_constraint_name => hr_api.strip_constraint_name(SQLERRM));
180 When Others Then
181 ben_ler_shd.g_api_dml := false; -- Unset the api dml status
182 Raise;
183 End dt_update_dml;
184 --
185 -- ----------------------------------------------------------------------------
186 -- |------------------------------< update_dml >------------------------------|
187 -- ----------------------------------------------------------------------------
188 -- {Start Of Comments}
189 --
190 -- Description:
191 -- This procedure calls the dt_update_dml control logic which handles
192 -- the actual datetrack dml.
193 --
194 -- Prerequisites:
195 -- This is an internal private procedure which must be called from the upd
196 -- procedure.
197 --
198 -- In Parameters:
199 -- A Pl/Sql record structre.
200 --
201 -- Post Success:
202 -- Processing contines.
203 --
204 -- Post Failure:
205 -- No specific error handling is required within this procedure.
206 --
207 -- Developer Implementation Notes:
208 -- The update 'set' arguments list should be modified if any of your
209 -- attributes are not updateable.
210 --
211 -- Access Status:
212 -- Internal Row Handler Use Only.
213 --
214 -- {End Of Comments}
215 -- ----------------------------------------------------------------------------
216 Procedure update_dml
217 (p_rec in out nocopy ben_ler_shd.g_rec_type,
218 p_effective_date in date,
219 p_datetrack_mode in varchar2,
220 p_validation_start_date in date,
221 p_validation_end_date in date) is
222 --
223 l_proc varchar2(72) := g_package||'update_dml';
224 --
225 Begin
226 hr_utility.set_location('Entering:'||l_proc, 5);
227 --
228 dt_update_dml(p_rec => p_rec,
229 p_effective_date => p_effective_date,
230 p_datetrack_mode => p_datetrack_mode,
231 p_validation_start_date => p_validation_start_date,
232 p_validation_end_date => p_validation_end_date);
233 --
234 hr_utility.set_location(' Leaving:'||l_proc, 10);
235 End update_dml;
236 --
237 -- ----------------------------------------------------------------------------
238 -- |----------------------------< dt_pre_update >-----------------------------|
239 -- ----------------------------------------------------------------------------
240 -- {Start Of Comments}
241 --
242 -- Description:
243 -- The dt_pre_update procedure controls the execution
244 -- of dml for the datetrack modes of: UPDATE, UPDATE_OVERRIDE
245 -- and UPDATE_CHANGE_INSERT only. The execution required is as
246 -- follows:
247 --
248 -- 1) Providing the datetrack update mode is not 'CORRECTION'
249 -- then set the effective end date of the current row (this
250 -- will be the validation_start_date - 1).
251 -- 2) If the datetrack mode is 'UPDATE_OVERRIDE' then call the
252 -- corresponding delete_dml process to delete any future rows
253 -- where the effective_start_date is greater than or equal to
254 -- the validation_start_date.
255 -- 3) Call the insert_dml process to insert the new updated row
256 -- details..
257 --
258 -- Prerequisites:
259 -- This is an internal procedure which is called from the
260 -- pre_update procedure.
261 --
262 -- In Parameters:
263 --
264 -- Post Success:
265 -- Processing continues.
266 --
267 -- Post Failure:
268 -- If an error has occurred, an error message and exception will be raised
269 -- but not handled.
270 --
271 -- Developer Implementation Notes:
272 -- This is an internal procedure which is required by Datetrack. Don't
273 -- remove or modify.
274 --
275 -- Access Status:
276 -- Internal Row Handler Use Only.
277 --
278 -- {End Of Comments}
279 -- ----------------------------------------------------------------------------
280 Procedure dt_pre_update
281 (p_rec in out nocopy ben_ler_shd.g_rec_type,
282 p_effective_date in date,
283 p_datetrack_mode in varchar2,
284 p_validation_start_date in date,
285 p_validation_end_date in date) is
286 --
287 l_proc varchar2(72) := g_package||'dt_pre_update';
288 l_dummy_version_number number;
289 --
290 Begin
291 hr_utility.set_location('Entering:'||l_proc, 5);
292 If (p_datetrack_mode <> 'CORRECTION') then
293 hr_utility.set_location(l_proc, 10);
294 --
295 -- Update the current effective end date
296 --
297 ben_ler_shd.upd_effective_end_date
298 (p_effective_date => p_effective_date,
299 p_base_key_value => p_rec.ler_id,
300 p_new_effective_end_date => (p_validation_start_date - 1),
301 p_validation_start_date => p_validation_start_date,
302 p_validation_end_date => p_validation_end_date,
303 p_object_version_number => l_dummy_version_number);
304 --
305 If (p_datetrack_mode = 'UPDATE_OVERRIDE') then
306 hr_utility.set_location(l_proc, 15);
307 --
308 -- As the datetrack mode is 'UPDATE_OVERRIDE' then we must
309 -- delete any future rows
310 --
311 ben_ler_del.delete_dml
312 (p_rec => p_rec,
313 p_effective_date => p_effective_date,
314 p_datetrack_mode => p_datetrack_mode,
315 p_validation_start_date => p_validation_start_date,
316 p_validation_end_date => p_validation_end_date);
317 End If;
318 hr_utility.set_location(l_proc, 20);
319 --
320 -- We must now insert the updated row
321 --
322 ben_ler_ins.insert_dml
323 (p_rec => p_rec,
324 p_effective_date => p_effective_date,
325 p_datetrack_mode => p_datetrack_mode,
326 p_validation_start_date => p_validation_start_date,
327 p_validation_end_date => p_validation_end_date);
328 End If;
329 hr_utility.set_location(' Leaving:'||l_proc, 20);
330 End dt_pre_update;
331 --
332 -- ----------------------------------------------------------------------------
333 -- |------------------------------< pre_update >------------------------------|
334 -- ----------------------------------------------------------------------------
335 -- {Start Of Comments}
336 --
337 -- Description:
338 -- This private procedure contains any processing which is required before
339 -- the update dml.
340 --
341 -- Prerequisites:
342 -- This is an internal procedure which is called from the upd procedure.
343 --
344 -- In Parameters:
345 -- A Pl/Sql record structre.
346 --
347 -- Post Success:
348 -- Processing continues.
349 --
350 -- Post Failure:
351 -- If an error has occurred, an error message and exception will be raised
352 -- but not handled.
353 --
354 -- Developer Implementation Notes:
355 -- Any pre-processing required before the update dml is issued should be
356 -- coded within this procedure. It is important to note that any 3rd party
357 -- maintenance should be reviewed before placing in this procedure. The call
358 -- to the dt_update_dml procedure should NOT be removed.
359 --
360 -- Access Status:
361 -- Internal Row Handler Use Only.
362 --
363 -- {End Of Comments}
364 -- ----------------------------------------------------------------------------
365 Procedure pre_update
366 (p_rec in out nocopy ben_ler_shd.g_rec_type,
367 p_effective_date in date,
368 p_datetrack_mode in varchar2,
369 p_validation_start_date in date,
370 p_validation_end_date in date) is
371 --
372 l_proc varchar2(72) := g_package||'pre_update';
373 --
374 Begin
375 hr_utility.set_location('Entering:'||l_proc, 5);
376 --
377 --
378 --
379 dt_pre_update
380 (p_rec => p_rec,
381 p_effective_date => p_effective_date,
382 p_datetrack_mode => p_datetrack_mode,
383 p_validation_start_date => p_validation_start_date,
384 p_validation_end_date => p_validation_end_date);
385 --
386 hr_utility.set_location(' Leaving:'||l_proc, 10);
387 End pre_update;
388 --
389 -- ----------------------------------------------------------------------------
390 -- |-----------------------------< post_update >------------------------------|
391 -- ----------------------------------------------------------------------------
392 -- {Start Of Comments}
393 --
394 -- Description:
395 -- This private procedure contains any processing which is required after the
396 -- update dml.
397 --
398 -- Prerequisites:
399 -- This is an internal procedure which is called from the upd procedure.
400 --
401 -- In Parameters:
402 -- A Pl/Sql record structre.
403 --
404 -- Post Success:
405 -- Processing continues.
406 --
407 -- Post Failure:
408 -- If an error has occurred, an error message and exception will be raised
409 -- but not handled.
410 --
411 -- Developer Implementation Notes:
412 -- Any post-processing required after the update dml is issued should be
413 -- coded within this procedure. It is important to note that any 3rd party
414 -- maintenance should be reviewed before placing in this procedure.
415 --
416 -- Access Status:
417 -- Internal Row Handler Use Only.
418 --
419 -- {End Of Comments}
420 -- ----------------------------------------------------------------------------
421 Procedure post_update
422 (p_rec in ben_ler_shd.g_rec_type,
423 p_effective_date in date,
424 p_datetrack_mode in varchar2,
425 p_validation_start_date in date,
426 p_validation_end_date in date) is
427 --
428 l_proc varchar2(72) := g_package||'post_update';
429 --
430 Begin
431 hr_utility.set_location('Entering:'||l_proc, 5);
432 --
433 --
434 -- Start of API User Hook for post_update.
435 --
436 begin
437 --
438 ben_ler_rku.after_update
439 (
440 p_ler_id =>p_rec.ler_id
441 ,p_effective_start_date =>p_rec.effective_start_date
442 ,p_effective_end_date =>p_rec.effective_end_date
443 ,p_name =>p_rec.name
444 ,p_business_group_id =>p_rec.business_group_id
445 ,p_typ_cd =>p_rec.typ_cd
446 ,p_lf_evt_oper_cd =>p_rec.lf_evt_oper_cd
447 ,p_short_name =>p_rec.short_name
448 ,p_short_code =>p_rec.short_code
449 ,p_ptnl_ler_trtmt_cd =>p_rec.ptnl_ler_trtmt_cd
450 ,p_ck_rltd_per_elig_flag =>p_rec.ck_rltd_per_elig_flag
451 ,p_ler_eval_rl =>p_rec.ler_eval_rl
452 ,p_cm_aply_flag =>p_rec.cm_aply_flag
453 ,p_ovridg_le_flag =>p_rec.ovridg_le_flag
454 ,p_qualg_evt_flag =>p_rec.qualg_evt_flag
455 ,p_whn_to_prcs_cd =>p_rec.whn_to_prcs_cd
456 ,p_desc_txt =>p_rec.desc_txt
457 ,p_tmlns_eval_cd =>p_rec.tmlns_eval_cd
458 ,p_tmlns_perd_cd =>p_rec.tmlns_perd_cd
459 ,p_tmlns_dys_num =>p_rec.tmlns_dys_num
460 ,p_tmlns_perd_rl =>p_rec.tmlns_perd_rl
461 ,p_ocrd_dt_det_cd =>p_rec.ocrd_dt_det_cd
462 ,p_ler_stat_cd =>p_rec.ler_stat_cd
463 ,p_slctbl_slf_svc_cd =>p_rec.slctbl_slf_svc_cd
464 ,p_ss_pcp_disp_cd =>p_rec.ss_pcp_disp_cd
465 ,p_ler_attribute_category =>p_rec.ler_attribute_category
466 ,p_ler_attribute1 =>p_rec.ler_attribute1
467 ,p_ler_attribute2 =>p_rec.ler_attribute2
468 ,p_ler_attribute3 =>p_rec.ler_attribute3
469 ,p_ler_attribute4 =>p_rec.ler_attribute4
470 ,p_ler_attribute5 =>p_rec.ler_attribute5
471 ,p_ler_attribute6 =>p_rec.ler_attribute6
472 ,p_ler_attribute7 =>p_rec.ler_attribute7
473 ,p_ler_attribute8 =>p_rec.ler_attribute8
474 ,p_ler_attribute9 =>p_rec.ler_attribute9
475 ,p_ler_attribute10 =>p_rec.ler_attribute10
476 ,p_ler_attribute11 =>p_rec.ler_attribute11
477 ,p_ler_attribute12 =>p_rec.ler_attribute12
478 ,p_ler_attribute13 =>p_rec.ler_attribute13
479 ,p_ler_attribute14 =>p_rec.ler_attribute14
480 ,p_ler_attribute15 =>p_rec.ler_attribute15
481 ,p_ler_attribute16 =>p_rec.ler_attribute16
482 ,p_ler_attribute17 =>p_rec.ler_attribute17
483 ,p_ler_attribute18 =>p_rec.ler_attribute18
484 ,p_ler_attribute19 =>p_rec.ler_attribute19
485 ,p_ler_attribute20 =>p_rec.ler_attribute20
486 ,p_ler_attribute21 =>p_rec.ler_attribute21
487 ,p_ler_attribute22 =>p_rec.ler_attribute22
488 ,p_ler_attribute23 =>p_rec.ler_attribute23
489 ,p_ler_attribute24 =>p_rec.ler_attribute24
490 ,p_ler_attribute25 =>p_rec.ler_attribute25
491 ,p_ler_attribute26 =>p_rec.ler_attribute26
492 ,p_ler_attribute27 =>p_rec.ler_attribute27
493 ,p_ler_attribute28 =>p_rec.ler_attribute28
494 ,p_ler_attribute29 =>p_rec.ler_attribute29
495 ,p_ler_attribute30 =>p_rec.ler_attribute30
496 ,p_object_version_number =>p_rec.object_version_number
497 ,p_effective_date =>p_effective_date
498 ,p_datetrack_mode =>p_datetrack_mode
499 ,p_validation_start_date =>p_validation_start_date
500 ,p_validation_end_date =>p_validation_end_date
501 ,p_effective_start_date_o =>ben_ler_shd.g_old_rec.effective_start_date
502 ,p_effective_end_date_o =>ben_ler_shd.g_old_rec.effective_end_date
503 ,p_name_o =>ben_ler_shd.g_old_rec.name
504 ,p_business_group_id_o =>ben_ler_shd.g_old_rec.business_group_id
505 ,p_typ_cd_o =>ben_ler_shd.g_old_rec.typ_cd
506 ,p_lf_evt_oper_cd_o =>ben_ler_shd.g_old_rec.lf_evt_oper_cd
507 ,p_short_name_o =>ben_ler_shd.g_old_rec.short_name
508 ,p_short_code_o =>ben_ler_shd.g_old_rec.short_code
509 ,p_ptnl_ler_trtmt_cd_o =>ben_ler_shd.g_old_rec.ptnl_ler_trtmt_cd
510 ,p_ck_rltd_per_elig_flag_o =>ben_ler_shd.g_old_rec.ck_rltd_per_elig_flag
511 ,p_ler_eval_rl_o =>ben_ler_shd.g_old_rec.ler_eval_rl
512 ,p_cm_aply_flag_o =>ben_ler_shd.g_old_rec.cm_aply_flag
513 ,p_ovridg_le_flag_o =>ben_ler_shd.g_old_rec.ovridg_le_flag
514 ,p_qualg_evt_flag_o =>ben_ler_shd.g_old_rec.qualg_evt_flag
515 ,p_whn_to_prcs_cd_o =>ben_ler_shd.g_old_rec.whn_to_prcs_cd
516 ,p_desc_txt_o =>ben_ler_shd.g_old_rec.desc_txt
517 ,p_tmlns_eval_cd_o =>ben_ler_shd.g_old_rec.tmlns_eval_cd
518 ,p_tmlns_perd_cd_o =>ben_ler_shd.g_old_rec.tmlns_perd_cd
519 ,p_tmlns_dys_num_o =>ben_ler_shd.g_old_rec.tmlns_dys_num
520 ,p_tmlns_perd_rl_o =>ben_ler_shd.g_old_rec.tmlns_perd_rl
521 ,p_ocrd_dt_det_cd_o =>ben_ler_shd.g_old_rec.ocrd_dt_det_cd
522 ,p_ler_stat_cd_o =>ben_ler_shd.g_old_rec.ler_stat_cd
523 ,p_slctbl_slf_svc_cd_o =>ben_ler_shd.g_old_rec.slctbl_slf_svc_cd
524 ,p_ss_pcp_disp_cd_o =>ben_ler_shd.g_old_rec.ss_pcp_disp_cd
525 ,p_ler_attribute_category_o =>ben_ler_shd.g_old_rec.ler_attribute_category
526 ,p_ler_attribute1_o =>ben_ler_shd.g_old_rec.ler_attribute1
527 ,p_ler_attribute2_o =>ben_ler_shd.g_old_rec.ler_attribute2
528 ,p_ler_attribute3_o =>ben_ler_shd.g_old_rec.ler_attribute3
529 ,p_ler_attribute4_o =>ben_ler_shd.g_old_rec.ler_attribute4
530 ,p_ler_attribute5_o =>ben_ler_shd.g_old_rec.ler_attribute5
531 ,p_ler_attribute6_o =>ben_ler_shd.g_old_rec.ler_attribute6
532 ,p_ler_attribute7_o =>ben_ler_shd.g_old_rec.ler_attribute7
533 ,p_ler_attribute8_o =>ben_ler_shd.g_old_rec.ler_attribute8
534 ,p_ler_attribute9_o =>ben_ler_shd.g_old_rec.ler_attribute9
535 ,p_ler_attribute10_o =>ben_ler_shd.g_old_rec.ler_attribute10
536 ,p_ler_attribute11_o =>ben_ler_shd.g_old_rec.ler_attribute11
537 ,p_ler_attribute12_o =>ben_ler_shd.g_old_rec.ler_attribute12
538 ,p_ler_attribute13_o =>ben_ler_shd.g_old_rec.ler_attribute13
539 ,p_ler_attribute14_o =>ben_ler_shd.g_old_rec.ler_attribute14
540 ,p_ler_attribute15_o =>ben_ler_shd.g_old_rec.ler_attribute15
541 ,p_ler_attribute16_o =>ben_ler_shd.g_old_rec.ler_attribute16
542 ,p_ler_attribute17_o =>ben_ler_shd.g_old_rec.ler_attribute17
543 ,p_ler_attribute18_o =>ben_ler_shd.g_old_rec.ler_attribute18
544 ,p_ler_attribute19_o =>ben_ler_shd.g_old_rec.ler_attribute19
545 ,p_ler_attribute20_o =>ben_ler_shd.g_old_rec.ler_attribute20
546 ,p_ler_attribute21_o =>ben_ler_shd.g_old_rec.ler_attribute21
547 ,p_ler_attribute22_o =>ben_ler_shd.g_old_rec.ler_attribute22
548 ,p_ler_attribute23_o =>ben_ler_shd.g_old_rec.ler_attribute23
549 ,p_ler_attribute24_o =>ben_ler_shd.g_old_rec.ler_attribute24
550 ,p_ler_attribute25_o =>ben_ler_shd.g_old_rec.ler_attribute25
551 ,p_ler_attribute26_o =>ben_ler_shd.g_old_rec.ler_attribute26
552 ,p_ler_attribute27_o =>ben_ler_shd.g_old_rec.ler_attribute27
553 ,p_ler_attribute28_o =>ben_ler_shd.g_old_rec.ler_attribute28
554 ,p_ler_attribute29_o =>ben_ler_shd.g_old_rec.ler_attribute29
555 ,p_ler_attribute30_o =>ben_ler_shd.g_old_rec.ler_attribute30
556 ,p_object_version_number_o =>ben_ler_shd.g_old_rec.object_version_number
557 );
558 --
559 exception
560 --
561 when hr_api.cannot_find_prog_unit then
562 --
563 hr_api.cannot_find_prog_unit_error
564 (p_module_name => 'ben_ler_f'
565 ,p_hook_type => 'AU');
566 --
567 end;
568 --
569 -- End of API User Hook for post_update.
570 --
571 --
572 hr_utility.set_location(' Leaving:'||l_proc, 10);
573 End post_update;
574 --
575 -- ----------------------------------------------------------------------------
576 -- |-----------------------------< convert_defs >-----------------------------|
577 -- ----------------------------------------------------------------------------
578 -- {Start Of Comments}
579 --
580 -- Description:
581 -- The Convert_Defs procedure has one very important function:
582 -- It must return the record structure for the row with all system defaulted
583 -- values converted into its corresponding parameter value for update. When
584 -- we attempt to update a row through the Upd process , certain
585 -- parameters can be defaulted which enables flexibility in the calling of
586 -- the upd process (e.g. only attributes which need to be updated need to be
587 -- specified). For the upd process to determine which attributes
588 -- have NOT been specified we need to check if the parameter has a reserved
589 -- system default value. Therefore, for all parameters which have a
590 -- corresponding reserved system default mechanism specified we need to
591 -- check if a system default is being used. If a system default is being
592 -- used then we convert the defaulted value into its corresponding attribute
593 -- value held in the g_old_rec data structure.
594 --
595 -- Prerequisites:
596 -- This private function can only be called from the upd process.
597 --
598 -- In Parameters:
599 -- A Pl/Sql record structre.
600 --
601 -- Post Success:
602 -- The record structure will be returned with all system defaulted parameter
603 -- values converted into its current row attribute value.
604 --
605 -- Post Failure:
606 -- No direct error handling is required within this function. Any possible
607 -- errors within this procedure will be a PL/SQL value error due to conversion
608 -- of datatypes or data lengths.
609 --
610 -- Developer Implementation Notes:
611 -- None.
612 --
613 -- Access Status:
614 -- Internal Row Handler Use Only.
615 --
616 -- {End Of Comments}
617 -- ----------------------------------------------------------------------------
618 Procedure convert_defs(p_rec in out nocopy ben_ler_shd.g_rec_type) is
619 --
620 l_proc varchar2(72) := g_package||'convert_defs';
621 --
622 Begin
623 --
624 hr_utility.set_location('Entering:'||l_proc, 5);
625 --
626 -- We must now examine each argument value in the
627 -- p_rec plsql record structure
628 -- to see if a system default is being used. If a system default
629 -- is being used then we must set to the 'current' argument value.
630 --
631 If (p_rec.name = hr_api.g_varchar2) then
632 p_rec.name :=
633 ben_ler_shd.g_old_rec.name;
634 End If;
635 If (p_rec.business_group_id = hr_api.g_number) then
636 p_rec.business_group_id :=
637 ben_ler_shd.g_old_rec.business_group_id;
638 End If;
639 If (p_rec.typ_cd = hr_api.g_varchar2) then
640 p_rec.typ_cd :=
641 ben_ler_shd.g_old_rec.typ_cd;
642 End If;
643 If (p_rec.lf_evt_oper_cd = hr_api.g_varchar2) then
644 p_rec.lf_evt_oper_cd :=
645 ben_ler_shd.g_old_rec.lf_evt_oper_cd;
646 End If;
647 If (p_rec.short_name = hr_api.g_varchar2) then
648 p_rec.short_name :=
649 ben_ler_shd.g_old_rec.short_name;
650 End If;
651 If (p_rec.short_code = hr_api.g_varchar2) then
652 p_rec.short_code :=
653 ben_ler_shd.g_old_rec.short_code;
654 End If;
655 If (p_rec.ptnl_ler_trtmt_cd = hr_api.g_varchar2) then
656 p_rec.ptnl_ler_trtmt_cd :=
657 ben_ler_shd.g_old_rec.ptnl_ler_trtmt_cd;
658 End If;
659 If (p_rec.ck_rltd_per_elig_flag = hr_api.g_varchar2) then
660 p_rec.ck_rltd_per_elig_flag :=
661 ben_ler_shd.g_old_rec.ck_rltd_per_elig_flag;
662 End If;
663 If (p_rec.ler_eval_rl = hr_api.g_number) then
664 p_rec.ler_eval_rl :=
665 ben_ler_shd.g_old_rec.ler_eval_rl;
666 End If;
667 If (p_rec.cm_aply_flag = hr_api.g_varchar2) then
668 p_rec.cm_aply_flag :=
669 ben_ler_shd.g_old_rec.cm_aply_flag;
670 End If;
671 If (p_rec.ovridg_le_flag = hr_api.g_varchar2) then
672 p_rec.ovridg_le_flag :=
673 ben_ler_shd.g_old_rec.ovridg_le_flag;
674 End If;
675 If (p_rec.qualg_evt_flag = hr_api.g_varchar2) then
676 p_rec.qualg_evt_flag :=
677 ben_ler_shd.g_old_rec.qualg_evt_flag;
678 End If;
679 If (p_rec.whn_to_prcs_cd = hr_api.g_varchar2) then
680 p_rec.whn_to_prcs_cd :=
681 ben_ler_shd.g_old_rec.whn_to_prcs_cd;
682 End If;
683 If (p_rec.desc_txt = hr_api.g_varchar2) then
684 p_rec.desc_txt :=
685 ben_ler_shd.g_old_rec.desc_txt;
686 End If;
687 If (p_rec.tmlns_eval_cd = hr_api.g_varchar2) then
688 p_rec.tmlns_eval_cd :=
689 ben_ler_shd.g_old_rec.tmlns_eval_cd;
690 End If;
691 If (p_rec.tmlns_perd_cd = hr_api.g_varchar2) then
692 p_rec.tmlns_perd_cd :=
693 ben_ler_shd.g_old_rec.tmlns_perd_cd;
694 End If;
695 If (p_rec.tmlns_dys_num = hr_api.g_number) then
696 p_rec.tmlns_dys_num :=
697 ben_ler_shd.g_old_rec.tmlns_dys_num;
698 End If;
699 If (p_rec.tmlns_perd_rl = hr_api.g_number) then
700 p_rec.tmlns_perd_rl :=
701 ben_ler_shd.g_old_rec.tmlns_perd_rl;
702 End If;
703 If (p_rec.ocrd_dt_det_cd = hr_api.g_varchar2) then
704 p_rec.ocrd_dt_det_cd :=
705 ben_ler_shd.g_old_rec.ocrd_dt_det_cd;
706 End If;
707 If (p_rec.ler_stat_cd= hr_api.g_varchar2) then
708 p_rec.ler_stat_cd:=
709 ben_ler_shd.g_old_rec.ler_stat_cd;
710 End If;
711 If (p_rec.slctbl_slf_svc_cd = hr_api.g_varchar2) then
712 p_rec.slctbl_slf_svc_cd :=
713 ben_ler_shd.g_old_rec.slctbl_slf_svc_cd;
714 End If;
715 If (p_rec.ss_pcp_disp_cd = hr_api.g_varchar2) then
716 p_rec.ss_pcp_disp_cd :=
717 ben_ler_shd.g_old_rec.ss_pcp_disp_cd;
718 End If;
719 If (p_rec.ler_attribute_category = hr_api.g_varchar2) then
720 p_rec.ler_attribute_category :=
721 ben_ler_shd.g_old_rec.ler_attribute_category;
722 End If;
723 If (p_rec.ler_attribute1 = hr_api.g_varchar2) then
724 p_rec.ler_attribute1 :=
725 ben_ler_shd.g_old_rec.ler_attribute1;
726 End If;
727 If (p_rec.ler_attribute2 = hr_api.g_varchar2) then
728 p_rec.ler_attribute2 :=
729 ben_ler_shd.g_old_rec.ler_attribute2;
730 End If;
731 If (p_rec.ler_attribute3 = hr_api.g_varchar2) then
732 p_rec.ler_attribute3 :=
733 ben_ler_shd.g_old_rec.ler_attribute3;
734 End If;
735 If (p_rec.ler_attribute4 = hr_api.g_varchar2) then
736 p_rec.ler_attribute4 :=
737 ben_ler_shd.g_old_rec.ler_attribute4;
738 End If;
739 If (p_rec.ler_attribute5 = hr_api.g_varchar2) then
740 p_rec.ler_attribute5 :=
741 ben_ler_shd.g_old_rec.ler_attribute5;
742 End If;
743 If (p_rec.ler_attribute6 = hr_api.g_varchar2) then
744 p_rec.ler_attribute6 :=
745 ben_ler_shd.g_old_rec.ler_attribute6;
746 End If;
747 If (p_rec.ler_attribute7 = hr_api.g_varchar2) then
748 p_rec.ler_attribute7 :=
749 ben_ler_shd.g_old_rec.ler_attribute7;
750 End If;
751 If (p_rec.ler_attribute8 = hr_api.g_varchar2) then
752 p_rec.ler_attribute8 :=
753 ben_ler_shd.g_old_rec.ler_attribute8;
754 End If;
755 If (p_rec.ler_attribute9 = hr_api.g_varchar2) then
756 p_rec.ler_attribute9 :=
757 ben_ler_shd.g_old_rec.ler_attribute9;
758 End If;
759 If (p_rec.ler_attribute10 = hr_api.g_varchar2) then
760 p_rec.ler_attribute10 :=
761 ben_ler_shd.g_old_rec.ler_attribute10;
762 End If;
763 If (p_rec.ler_attribute11 = hr_api.g_varchar2) then
764 p_rec.ler_attribute11 :=
765 ben_ler_shd.g_old_rec.ler_attribute11;
766 End If;
767 If (p_rec.ler_attribute12 = hr_api.g_varchar2) then
768 p_rec.ler_attribute12 :=
769 ben_ler_shd.g_old_rec.ler_attribute12;
770 End If;
771 If (p_rec.ler_attribute13 = hr_api.g_varchar2) then
772 p_rec.ler_attribute13 :=
773 ben_ler_shd.g_old_rec.ler_attribute13;
774 End If;
775 If (p_rec.ler_attribute14 = hr_api.g_varchar2) then
776 p_rec.ler_attribute14 :=
777 ben_ler_shd.g_old_rec.ler_attribute14;
778 End If;
779 If (p_rec.ler_attribute15 = hr_api.g_varchar2) then
780 p_rec.ler_attribute15 :=
781 ben_ler_shd.g_old_rec.ler_attribute15;
782 End If;
783 If (p_rec.ler_attribute16 = hr_api.g_varchar2) then
784 p_rec.ler_attribute16 :=
785 ben_ler_shd.g_old_rec.ler_attribute16;
786 End If;
787 If (p_rec.ler_attribute17 = hr_api.g_varchar2) then
788 p_rec.ler_attribute17 :=
789 ben_ler_shd.g_old_rec.ler_attribute17;
790 End If;
791 If (p_rec.ler_attribute18 = hr_api.g_varchar2) then
792 p_rec.ler_attribute18 :=
793 ben_ler_shd.g_old_rec.ler_attribute18;
794 End If;
795 If (p_rec.ler_attribute19 = hr_api.g_varchar2) then
796 p_rec.ler_attribute19 :=
797 ben_ler_shd.g_old_rec.ler_attribute19;
798 End If;
799 If (p_rec.ler_attribute20 = hr_api.g_varchar2) then
800 p_rec.ler_attribute20 :=
801 ben_ler_shd.g_old_rec.ler_attribute20;
802 End If;
803 If (p_rec.ler_attribute21 = hr_api.g_varchar2) then
804 p_rec.ler_attribute21 :=
805 ben_ler_shd.g_old_rec.ler_attribute21;
806 End If;
807 If (p_rec.ler_attribute22 = hr_api.g_varchar2) then
808 p_rec.ler_attribute22 :=
809 ben_ler_shd.g_old_rec.ler_attribute22;
810 End If;
811 If (p_rec.ler_attribute23 = hr_api.g_varchar2) then
812 p_rec.ler_attribute23 :=
813 ben_ler_shd.g_old_rec.ler_attribute23;
814 End If;
815 If (p_rec.ler_attribute24 = hr_api.g_varchar2) then
816 p_rec.ler_attribute24 :=
817 ben_ler_shd.g_old_rec.ler_attribute24;
818 End If;
819 If (p_rec.ler_attribute25 = hr_api.g_varchar2) then
820 p_rec.ler_attribute25 :=
821 ben_ler_shd.g_old_rec.ler_attribute25;
822 End If;
823 If (p_rec.ler_attribute26 = hr_api.g_varchar2) then
824 p_rec.ler_attribute26 :=
825 ben_ler_shd.g_old_rec.ler_attribute26;
826 End If;
827 If (p_rec.ler_attribute27 = hr_api.g_varchar2) then
828 p_rec.ler_attribute27 :=
829 ben_ler_shd.g_old_rec.ler_attribute27;
830 End If;
831 If (p_rec.ler_attribute28 = hr_api.g_varchar2) then
832 p_rec.ler_attribute28 :=
833 ben_ler_shd.g_old_rec.ler_attribute28;
834 End If;
835 If (p_rec.ler_attribute29 = hr_api.g_varchar2) then
836 p_rec.ler_attribute29 :=
837 ben_ler_shd.g_old_rec.ler_attribute29;
838 End If;
839 If (p_rec.ler_attribute30 = hr_api.g_varchar2) then
840 p_rec.ler_attribute30 :=
841 ben_ler_shd.g_old_rec.ler_attribute30;
842 End If;
843
844 --
845 hr_utility.set_location(' Leaving:'||l_proc, 10);
846 --
847 End convert_defs;
848 --
849 -- ----------------------------------------------------------------------------
850 -- |---------------------------------< upd >----------------------------------|
851 -- ----------------------------------------------------------------------------
852 Procedure upd
853 (
854 p_rec in out nocopy ben_ler_shd.g_rec_type,
855 p_effective_date in date,
856 p_datetrack_mode in varchar2
857 ) is
858 --
859 l_proc varchar2(72) := g_package||'upd';
860 l_validation_start_date date;
861 l_validation_end_date date;
862 --
863 Begin
864 hr_utility.set_location('Entering:'||l_proc, 5);
865 --
866 -- Ensure that the DateTrack update mode is valid
867 --
868 dt_api.validate_dt_upd_mode(p_datetrack_mode => p_datetrack_mode);
869 --
870 -- We must lock the row which we need to update.
871 --
872 ben_ler_shd.lck
873 (p_effective_date => p_effective_date,
874 p_datetrack_mode => p_datetrack_mode,
875 p_ler_id => p_rec.ler_id,
876 p_object_version_number => p_rec.object_version_number,
877 p_validation_start_date => l_validation_start_date,
878 p_validation_end_date => l_validation_end_date);
879 --
880 -- 1. During an update system defaults are used to determine if
881 -- arguments have been defaulted or not. We must therefore
882 -- derive the full record structure values to be updated.
883 --
884 -- 2. Call the supporting update validate operations.
885 --
886 convert_defs(p_rec);
887 ben_ler_bus.update_validate
888 (p_rec => p_rec,
889 p_effective_date => p_effective_date,
890 p_datetrack_mode => p_datetrack_mode,
891 p_validation_start_date => l_validation_start_date,
892 p_validation_end_date => l_validation_end_date);
893 --
894 -- Call the supporting pre-update operation
895 --
896 pre_update
897 (p_rec => p_rec,
898 p_effective_date => p_effective_date,
899 p_datetrack_mode => p_datetrack_mode,
900 p_validation_start_date => l_validation_start_date,
901 p_validation_end_date => l_validation_end_date);
902 --
903 -- Update the row.
904 --
905 update_dml
906 (p_rec => p_rec,
907 p_effective_date => p_effective_date,
908 p_datetrack_mode => p_datetrack_mode,
909 p_validation_start_date => l_validation_start_date,
910 p_validation_end_date => l_validation_end_date);
911 --
912 -- Call the supporting post-update operation
913 --
914 post_update
915 (p_rec => p_rec,
916 p_effective_date => p_effective_date,
917 p_datetrack_mode => p_datetrack_mode,
918 p_validation_start_date => l_validation_start_date,
919 p_validation_end_date => l_validation_end_date);
920 End upd;
921 --
922 -- ----------------------------------------------------------------------------
923 -- |---------------------------------< upd >----------------------------------|
924 -- ----------------------------------------------------------------------------
925 Procedure upd
926 (
927 p_ler_id in number,
928 p_effective_start_date out nocopy date,
929 p_effective_end_date out nocopy date,
930 p_name in varchar2 default hr_api.g_varchar2,
931 p_business_group_id in number default hr_api.g_number,
932 p_typ_cd in varchar2 default hr_api.g_varchar2,
933 p_lf_evt_oper_cd in varchar2 default hr_api.g_varchar2,
934 p_short_name in varchar2 default hr_api.g_varchar2,
935 p_short_code in varchar2 default hr_api.g_varchar2,
936 p_ptnl_ler_trtmt_cd in varchar2 default hr_api.g_varchar2,
937 p_ck_rltd_per_elig_flag in varchar2 default hr_api.g_varchar2,
938 p_ler_eval_rl in number default hr_api.g_number,
939 p_cm_aply_flag in varchar2 default hr_api.g_varchar2,
940 p_ovridg_le_flag in varchar2 default hr_api.g_varchar2,
941 p_qualg_evt_flag in varchar2 default hr_api.g_varchar2,
942 p_whn_to_prcs_cd in varchar2 default hr_api.g_varchar2,
943 p_desc_txt in varchar2 default hr_api.g_varchar2,
944 p_tmlns_eval_cd in varchar2 default hr_api.g_varchar2,
945 p_tmlns_perd_cd in varchar2 default hr_api.g_varchar2,
946 p_tmlns_dys_num in number default hr_api.g_number,
947 p_tmlns_perd_rl in number default hr_api.g_number,
948 p_ocrd_dt_det_cd in varchar2 default hr_api.g_varchar2,
949 p_ler_stat_cd in varchar2 default hr_api.g_varchar2,
950 p_slctbl_slf_svc_cd in varchar2 default hr_api.g_varchar2,
951 p_ss_pcp_disp_cd in varchar2 default hr_api.g_varchar2,
952 p_ler_attribute_category in varchar2 default hr_api.g_varchar2,
953 p_ler_attribute1 in varchar2 default hr_api.g_varchar2,
954 p_ler_attribute2 in varchar2 default hr_api.g_varchar2,
955 p_ler_attribute3 in varchar2 default hr_api.g_varchar2,
956 p_ler_attribute4 in varchar2 default hr_api.g_varchar2,
957 p_ler_attribute5 in varchar2 default hr_api.g_varchar2,
958 p_ler_attribute6 in varchar2 default hr_api.g_varchar2,
959 p_ler_attribute7 in varchar2 default hr_api.g_varchar2,
960 p_ler_attribute8 in varchar2 default hr_api.g_varchar2,
961 p_ler_attribute9 in varchar2 default hr_api.g_varchar2,
962 p_ler_attribute10 in varchar2 default hr_api.g_varchar2,
963 p_ler_attribute11 in varchar2 default hr_api.g_varchar2,
964 p_ler_attribute12 in varchar2 default hr_api.g_varchar2,
965 p_ler_attribute13 in varchar2 default hr_api.g_varchar2,
966 p_ler_attribute14 in varchar2 default hr_api.g_varchar2,
967 p_ler_attribute15 in varchar2 default hr_api.g_varchar2,
968 p_ler_attribute16 in varchar2 default hr_api.g_varchar2,
969 p_ler_attribute17 in varchar2 default hr_api.g_varchar2,
970 p_ler_attribute18 in varchar2 default hr_api.g_varchar2,
971 p_ler_attribute19 in varchar2 default hr_api.g_varchar2,
972 p_ler_attribute20 in varchar2 default hr_api.g_varchar2,
973 p_ler_attribute21 in varchar2 default hr_api.g_varchar2,
974 p_ler_attribute22 in varchar2 default hr_api.g_varchar2,
975 p_ler_attribute23 in varchar2 default hr_api.g_varchar2,
976 p_ler_attribute24 in varchar2 default hr_api.g_varchar2,
977 p_ler_attribute25 in varchar2 default hr_api.g_varchar2,
978 p_ler_attribute26 in varchar2 default hr_api.g_varchar2,
979 p_ler_attribute27 in varchar2 default hr_api.g_varchar2,
980 p_ler_attribute28 in varchar2 default hr_api.g_varchar2,
981 p_ler_attribute29 in varchar2 default hr_api.g_varchar2,
982 p_ler_attribute30 in varchar2 default hr_api.g_varchar2,
983 p_object_version_number in out nocopy number,
984 p_effective_date in date,
985 p_datetrack_mode in varchar2
986 ) is
987 --
988 l_rec ben_ler_shd.g_rec_type;
989 l_proc varchar2(72) := g_package||'upd';
990 --
991 Begin
992 hr_utility.set_location('Entering:'||l_proc, 5);
993 --
994 -- Call conversion function to turn arguments into the
995 -- l_rec structure.
996 --
997 l_rec :=
998 ben_ler_shd.convert_args
999 (
1000 p_ler_id,
1001 null,
1002 null,
1003 p_name,
1004 p_business_group_id,
1005 p_typ_cd,
1006 p_lf_evt_oper_cd,
1007 p_short_name,
1008 p_short_code,
1009 p_ptnl_ler_trtmt_cd,
1010 p_ck_rltd_per_elig_flag,
1011 p_ler_eval_rl,
1012 p_cm_aply_flag,
1013 p_ovridg_le_flag,
1014 p_qualg_evt_flag,
1015 p_whn_to_prcs_cd,
1016 p_desc_txt,
1017 p_tmlns_eval_cd,
1018 p_tmlns_perd_cd,
1019 p_tmlns_dys_num,
1020 p_tmlns_perd_rl,
1021 p_ocrd_dt_det_cd,
1022 p_ler_stat_cd,
1023 p_slctbl_slf_svc_cd,
1024 p_ss_pcp_disp_cd,
1025 p_ler_attribute_category,
1026 p_ler_attribute1,
1027 p_ler_attribute2,
1028 p_ler_attribute3,
1029 p_ler_attribute4,
1030 p_ler_attribute5,
1031 p_ler_attribute6,
1032 p_ler_attribute7,
1033 p_ler_attribute8,
1034 p_ler_attribute9,
1035 p_ler_attribute10,
1036 p_ler_attribute11,
1037 p_ler_attribute12,
1038 p_ler_attribute13,
1039 p_ler_attribute14,
1040 p_ler_attribute15,
1041 p_ler_attribute16,
1042 p_ler_attribute17,
1043 p_ler_attribute18,
1044 p_ler_attribute19,
1045 p_ler_attribute20,
1046 p_ler_attribute21,
1047 p_ler_attribute22,
1048 p_ler_attribute23,
1049 p_ler_attribute24,
1050 p_ler_attribute25,
1051 p_ler_attribute26,
1052 p_ler_attribute27,
1053 p_ler_attribute28,
1054 p_ler_attribute29,
1055 p_ler_attribute30,
1056 p_object_version_number
1057 );
1058 --
1059 -- Having converted the arguments into the
1060 -- plsql record structure we call the corresponding record
1061 -- business process.
1062 --
1063 upd(l_rec, p_effective_date, p_datetrack_mode);
1064 p_object_version_number := l_rec.object_version_number;
1065 p_effective_start_date := l_rec.effective_start_date;
1066 p_effective_end_date := l_rec.effective_end_date;
1067 --
1068 --
1069 hr_utility.set_location(' Leaving:'||l_proc, 10);
1070 End upd;
1071 --
1072 end ben_ler_upd;