[Home] [Help]
PACKAGE BODY: APPS.BEN_EPO_UPD
Source
1 Package Body ben_epo_upd as
2 /* $Header: beeporhi.pkb 120.0 2005/05/28 02:42:27 appldev noship $ */
3 --
4 -- ----------------------------------------------------------------------------
5 -- | Private Global Definitions |
6 -- ----------------------------------------------------------------------------
7 --
8 g_package varchar2(33) := ' ben_epo_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_epo_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_elig_per_opt_f',
78 p_base_key_column => 'elig_per_opt_id',
79 p_base_key_value => p_rec.elig_per_opt_id);
80 --
81 ben_epo_shd.g_api_dml := true; -- Set the api dml status
82 --
83 -- Update the ben_elig_per_opt_f Row
84 --
85 update ben_elig_per_opt_f
86 set
87 elig_per_opt_id = p_rec.elig_per_opt_id,
88 elig_per_id = p_rec.elig_per_id,
89 prtn_ovridn_flag = p_rec.prtn_ovridn_flag,
90 prtn_ovridn_thru_dt = p_rec.prtn_ovridn_thru_dt,
91 no_mx_prtn_ovrid_thru_flag = p_rec.no_mx_prtn_ovrid_thru_flag,
92 elig_flag = p_rec.elig_flag,
93 prtn_strt_dt = p_rec.prtn_strt_dt,
94 prtn_end_dt = p_rec.prtn_end_dt,
95 wait_perd_cmpltn_date = p_rec.wait_perd_cmpltn_date,
96 wait_perd_strt_dt = p_rec.wait_perd_strt_dt,
97 prtn_ovridn_rsn_cd = p_rec.prtn_ovridn_rsn_cd,
98 pct_fl_tm_val = p_rec.pct_fl_tm_val,
99 opt_id = p_rec.opt_id,
100 per_in_ler_id = p_rec.per_in_ler_id,
101 rt_comp_ref_amt = p_rec.rt_comp_ref_amt,
102 rt_cmbn_age_n_los_val = p_rec.rt_cmbn_age_n_los_val,
103 rt_comp_ref_uom = p_rec.rt_comp_ref_uom,
104 rt_age_val = p_rec.rt_age_val,
105 rt_los_val = p_rec.rt_los_val,
106 rt_hrs_wkd_val = p_rec.rt_hrs_wkd_val,
107 rt_hrs_wkd_bndry_perd_cd = p_rec.rt_hrs_wkd_bndry_perd_cd,
108 rt_age_uom = p_rec.rt_age_uom,
109 rt_los_uom = p_rec.rt_los_uom,
110 rt_pct_fl_tm_val = p_rec.rt_pct_fl_tm_val,
111 rt_frz_los_flag = p_rec.rt_frz_los_flag,
112 rt_frz_age_flag = p_rec.rt_frz_age_flag,
113 rt_frz_cmp_lvl_flag = p_rec.rt_frz_cmp_lvl_flag,
114 rt_frz_pct_fl_tm_flag = p_rec.rt_frz_pct_fl_tm_flag,
115 rt_frz_hrs_wkd_flag = p_rec.rt_frz_hrs_wkd_flag,
116 rt_frz_comb_age_and_los_flag = p_rec.rt_frz_comb_age_and_los_flag,
117 comp_ref_amt = p_rec.comp_ref_amt,
118 cmbn_age_n_los_val = p_rec.cmbn_age_n_los_val,
119 comp_ref_uom = p_rec.comp_ref_uom,
120 age_val = p_rec.age_val,
121 los_val = p_rec.los_val,
122 hrs_wkd_val = p_rec.hrs_wkd_val,
123 hrs_wkd_bndry_perd_cd = p_rec.hrs_wkd_bndry_perd_cd,
124 age_uom = p_rec.age_uom,
125 los_uom = p_rec.los_uom,
126 frz_los_flag = p_rec.frz_los_flag,
127 frz_age_flag = p_rec.frz_age_flag,
128 frz_cmp_lvl_flag = p_rec.frz_cmp_lvl_flag,
129 frz_pct_fl_tm_flag = p_rec.frz_pct_fl_tm_flag,
130 frz_hrs_wkd_flag = p_rec.frz_hrs_wkd_flag,
131 frz_comb_age_and_los_flag = p_rec.frz_comb_age_and_los_flag,
132 ovrid_svc_dt = p_rec.ovrid_svc_dt,
133 inelg_rsn_cd = p_rec.inelg_rsn_cd,
134 once_r_cntug_cd = p_rec.once_r_cntug_cd,
135 oipl_ordr_num = p_rec.oipl_ordr_num,
136 business_group_id = p_rec.business_group_id,
137 epo_attribute_category = p_rec.epo_attribute_category,
138 epo_attribute1 = p_rec.epo_attribute1,
139 epo_attribute2 = p_rec.epo_attribute2,
140 epo_attribute3 = p_rec.epo_attribute3,
141 epo_attribute4 = p_rec.epo_attribute4,
142 epo_attribute5 = p_rec.epo_attribute5,
143 epo_attribute6 = p_rec.epo_attribute6,
144 epo_attribute7 = p_rec.epo_attribute7,
145 epo_attribute8 = p_rec.epo_attribute8,
146 epo_attribute9 = p_rec.epo_attribute9,
147 epo_attribute10 = p_rec.epo_attribute10,
148 epo_attribute11 = p_rec.epo_attribute11,
149 epo_attribute12 = p_rec.epo_attribute12,
150 epo_attribute13 = p_rec.epo_attribute13,
151 epo_attribute14 = p_rec.epo_attribute14,
152 epo_attribute15 = p_rec.epo_attribute15,
153 epo_attribute16 = p_rec.epo_attribute16,
154 epo_attribute17 = p_rec.epo_attribute17,
155 epo_attribute18 = p_rec.epo_attribute18,
156 epo_attribute19 = p_rec.epo_attribute19,
157 epo_attribute20 = p_rec.epo_attribute20,
158 epo_attribute21 = p_rec.epo_attribute21,
159 epo_attribute22 = p_rec.epo_attribute22,
160 epo_attribute23 = p_rec.epo_attribute23,
161 epo_attribute24 = p_rec.epo_attribute24,
162 epo_attribute25 = p_rec.epo_attribute25,
163 epo_attribute26 = p_rec.epo_attribute26,
164 epo_attribute27 = p_rec.epo_attribute27,
165 epo_attribute28 = p_rec.epo_attribute28,
166 epo_attribute29 = p_rec.epo_attribute29,
167 epo_attribute30 = p_rec.epo_attribute30,
168 request_id = p_rec.request_id,
169 program_application_id = p_rec.program_application_id,
170 program_id = p_rec.program_id,
171 program_update_date = p_rec.program_update_date,
172 object_version_number = p_rec.object_version_number
173 where elig_per_opt_id = p_rec.elig_per_opt_id
174 and effective_start_date = p_validation_start_date
175 and effective_end_date = p_validation_end_date;
176 --
177 ben_epo_shd.g_api_dml := false; -- Unset the api dml status
178 --
179 -- Set the effective start and end dates
180 --
181 p_rec.effective_start_date := p_validation_start_date;
182 p_rec.effective_end_date := p_validation_end_date;
183 End If;
184 --
185 hr_utility.set_location(' Leaving:'||l_proc, 15);
186 Exception
187 When hr_api.check_integrity_violated Then
188 -- A check constraint has been violated
189 ben_epo_shd.g_api_dml := false; -- Unset the api dml status
190 ben_epo_shd.constraint_error
191 (p_constraint_name => hr_api.strip_constraint_name(SQLERRM));
192 When hr_api.unique_integrity_violated Then
193 -- Unique integrity has been violated
194 ben_epo_shd.g_api_dml := false; -- Unset the api dml status
195 ben_epo_shd.constraint_error
196 (p_constraint_name => hr_api.strip_constraint_name(SQLERRM));
197 When Others Then
198 ben_epo_shd.g_api_dml := false; -- Unset the api dml status
199 Raise;
200 End dt_update_dml;
201 --
202 -- ----------------------------------------------------------------------------
203 -- |------------------------------< update_dml >------------------------------|
204 -- ----------------------------------------------------------------------------
205 -- {Start Of Comments}
206 --
207 -- Description:
208 -- This procedure calls the dt_update_dml control logic which handles
209 -- the actual datetrack dml.
210 --
211 -- Prerequisites:
212 -- This is an internal private procedure which must be called from the upd
213 -- procedure.
214 --
215 -- In Parameters:
216 -- A Pl/Sql record structre.
217 --
218 -- Post Success:
219 -- Processing contines.
220 --
221 -- Post Failure:
222 -- No specific error handling is required within this procedure.
223 --
224 -- Developer Implementation Notes:
225 -- The update 'set' arguments list should be modified if any of your
226 -- attributes are not updateable.
227 --
228 -- Access Status:
229 -- Internal Row Handler Use Only.
230 --
231 -- {End Of Comments}
232 -- ----------------------------------------------------------------------------
233 Procedure update_dml
234 (p_rec in out nocopy ben_epo_shd.g_rec_type,
235 p_effective_date in date,
236 p_datetrack_mode in varchar2,
237 p_validation_start_date in date,
238 p_validation_end_date in date) is
239 --
240 l_proc varchar2(72) := g_package||'update_dml';
241 --
242 Begin
243 hr_utility.set_location('Entering:'||l_proc, 5);
244 --
245 dt_update_dml(p_rec => p_rec,
246 p_effective_date => p_effective_date,
247 p_datetrack_mode => p_datetrack_mode,
248 p_validation_start_date => p_validation_start_date,
249 p_validation_end_date => p_validation_end_date);
250 --
251 hr_utility.set_location(' Leaving:'||l_proc, 10);
252 End update_dml;
253 --
254 -- ----------------------------------------------------------------------------
255 -- |----------------------------< dt_pre_update >-----------------------------|
256 -- ----------------------------------------------------------------------------
257 -- {Start Of Comments}
258 --
259 -- Description:
260 -- The dt_pre_update procedure controls the execution
261 -- of dml for the datetrack modes of: UPDATE, UPDATE_OVERRIDE
262 -- and UPDATE_CHANGE_INSERT only. The execution required is as
263 -- follows:
264 --
265 -- 1) Providing the datetrack update mode is not 'CORRECTION'
266 -- then set the effective end date of the current row (this
267 -- will be the validation_start_date - 1).
268 -- 2) If the datetrack mode is 'UPDATE_OVERRIDE' then call the
269 -- corresponding delete_dml process to delete any future rows
270 -- where the effective_start_date is greater than or equal to
271 -- the validation_start_date.
272 -- 3) Call the insert_dml process to insert the new updated row
273 -- details..
274 --
275 -- Prerequisites:
276 -- This is an internal procedure which is called from the
277 -- pre_update procedure.
278 --
279 -- In Parameters:
280 --
281 -- Post Success:
282 -- Processing continues.
283 --
284 -- Post Failure:
285 -- If an error has occurred, an error message and exception will be raised
286 -- but not handled.
287 --
288 -- Developer Implementation Notes:
289 -- This is an internal procedure which is required by Datetrack. Don't
290 -- remove or modify.
291 --
292 -- Access Status:
293 -- Internal Row Handler Use Only.
294 --
295 -- {End Of Comments}
296 -- ----------------------------------------------------------------------------
297 Procedure dt_pre_update
298 (p_rec in out nocopy ben_epo_shd.g_rec_type,
299 p_effective_date in date,
300 p_datetrack_mode in varchar2,
301 p_validation_start_date in date,
302 p_validation_end_date in date) is
303 --
304 l_proc varchar2(72) := g_package||'dt_pre_update';
305 l_dummy_version_number number;
306 --
307 Begin
308 hr_utility.set_location('Entering:'||l_proc, 5);
309 If (p_datetrack_mode <> 'CORRECTION') then
310 hr_utility.set_location(l_proc, 10);
311 --
312 -- Update the current effective end date
313 --
314 ben_epo_shd.upd_effective_end_date
315 (p_effective_date => p_effective_date,
316 p_base_key_value => p_rec.elig_per_opt_id,
317 p_new_effective_end_date => (p_validation_start_date - 1),
318 p_validation_start_date => p_validation_start_date,
319 p_validation_end_date => p_validation_end_date,
320 p_object_version_number => l_dummy_version_number);
321 --
322 If (p_datetrack_mode = 'UPDATE_OVERRIDE') then
323 hr_utility.set_location(l_proc, 15);
324 --
325 -- As the datetrack mode is 'UPDATE_OVERRIDE' then we must
326 -- delete any future rows
327 --
328 ben_epo_del.delete_dml
329 (p_rec => p_rec,
330 p_effective_date => p_effective_date,
331 p_datetrack_mode => p_datetrack_mode,
332 p_validation_start_date => p_validation_start_date,
333 p_validation_end_date => p_validation_end_date);
334 End If;
335 hr_utility.set_location(l_proc, 20);
336 --
337 -- We must now insert the updated row
338 --
339 ben_epo_ins.insert_dml
340 (p_rec => p_rec,
341 p_effective_date => p_effective_date,
342 p_datetrack_mode => p_datetrack_mode,
343 p_validation_start_date => p_validation_start_date,
344 p_validation_end_date => p_validation_end_date);
345 End If;
346 hr_utility.set_location(' Leaving:'||l_proc, 20);
347 End dt_pre_update;
348 --
349 -- ----------------------------------------------------------------------------
350 -- |------------------------------< pre_update >------------------------------|
351 -- ----------------------------------------------------------------------------
352 -- {Start Of Comments}
353 --
354 -- Description:
355 -- This private procedure contains any processing which is required before
356 -- the update dml.
357 --
358 -- Prerequisites:
359 -- This is an internal procedure which is called from the upd procedure.
360 --
361 -- In Parameters:
362 -- A Pl/Sql record structre.
363 --
364 -- Post Success:
365 -- Processing continues.
366 --
367 -- Post Failure:
368 -- If an error has occurred, an error message and exception will be raised
369 -- but not handled.
370 --
371 -- Developer Implementation Notes:
372 -- Any pre-processing required before the update dml is issued should be
373 -- coded within this procedure. It is important to note that any 3rd party
374 -- maintenance should be reviewed before placing in this procedure. The call
375 -- to the dt_update_dml procedure should NOT be removed.
376 --
377 -- Access Status:
378 -- Internal Row Handler Use Only.
379 --
380 -- {End Of Comments}
381 -- ----------------------------------------------------------------------------
382 Procedure pre_update
383 (p_rec in out nocopy ben_epo_shd.g_rec_type,
384 p_effective_date in date,
385 p_datetrack_mode in varchar2,
386 p_validation_start_date in date,
387 p_validation_end_date in date) is
388 --
389 l_proc varchar2(72) := g_package||'pre_update';
390 --
391 Begin
392 hr_utility.set_location('Entering:'||l_proc, 5);
393 --
394 --
395 --
396 dt_pre_update
397 (p_rec => p_rec,
398 p_effective_date => p_effective_date,
399 p_datetrack_mode => p_datetrack_mode,
400 p_validation_start_date => p_validation_start_date,
401 p_validation_end_date => p_validation_end_date);
402 --
403 hr_utility.set_location(' Leaving:'||l_proc, 10);
404 End pre_update;
405 --
406 -- ----------------------------------------------------------------------------
407 -- |-----------------------------< post_update >------------------------------|
408 -- ----------------------------------------------------------------------------
409 -- {Start Of Comments}
410 --
411 -- Description:
412 -- This private procedure contains any processing which is required after the
413 -- update dml.
414 --
415 -- Prerequisites:
416 -- This is an internal procedure which is called from the upd procedure.
417 --
418 -- In Parameters:
419 -- A Pl/Sql record structre.
420 --
421 -- Post Success:
422 -- Processing continues.
423 --
424 -- Post Failure:
425 -- If an error has occurred, an error message and exception will be raised
426 -- but not handled.
427 --
428 -- Developer Implementation Notes:
429 -- Any post-processing required after the update dml is issued should be
430 -- coded within this procedure. It is important to note that any 3rd party
431 -- maintenance should be reviewed before placing in this procedure.
432 --
433 -- Access Status:
434 -- Internal Row Handler Use Only.
435 --
436 -- {End Of Comments}
437 -- ----------------------------------------------------------------------------
438 Procedure post_update
439 (p_rec in ben_epo_shd.g_rec_type,
440 p_effective_date in date,
441 p_datetrack_mode in varchar2,
442 p_validation_start_date in date,
443 p_validation_end_date in date) is
444 --
445 l_proc varchar2(72) := g_package||'post_update';
446 --
447 Begin
448 hr_utility.set_location('Entering:'||l_proc, 5);
449 --
450 --
451 -- Start of API User Hook for post_update.
452 --
453 begin
454 --
455 ben_epo_rku.after_update
456 (
457 p_elig_per_opt_id =>p_rec.elig_per_opt_id
458 ,p_elig_per_id =>p_rec.elig_per_id
459 ,p_effective_start_date =>p_rec.effective_start_date
460 ,p_effective_end_date =>p_rec.effective_end_date
461 ,p_prtn_ovridn_flag =>p_rec.prtn_ovridn_flag
462 ,p_prtn_ovridn_thru_dt =>p_rec.prtn_ovridn_thru_dt
463 ,p_no_mx_prtn_ovrid_thru_flag =>p_rec.no_mx_prtn_ovrid_thru_flag
464 ,p_elig_flag =>p_rec.elig_flag
465 ,p_prtn_strt_dt =>p_rec.prtn_strt_dt
466 ,p_prtn_end_dt =>p_rec.prtn_end_dt
467 ,p_wait_perd_cmpltn_date =>p_rec.wait_perd_cmpltn_date
468 ,p_wait_perd_strt_dt =>p_rec.wait_perd_strt_dt
469 ,p_prtn_ovridn_rsn_cd =>p_rec.prtn_ovridn_rsn_cd
470 ,p_pct_fl_tm_val =>p_rec.pct_fl_tm_val
471 ,p_opt_id =>p_rec.opt_id
472 ,p_per_in_ler_id =>p_rec.per_in_ler_id
473 ,p_rt_comp_ref_amt =>p_rec.rt_comp_ref_amt
474 ,p_rt_cmbn_age_n_los_val =>p_rec.rt_cmbn_age_n_los_val
475 ,p_rt_comp_ref_uom =>p_rec.rt_comp_ref_uom
476 ,p_rt_age_val =>p_rec.rt_age_val
477 ,p_rt_los_val =>p_rec.rt_los_val
478 ,p_rt_hrs_wkd_val =>p_rec.rt_hrs_wkd_val
479 ,p_rt_hrs_wkd_bndry_perd_cd =>p_rec.rt_hrs_wkd_bndry_perd_cd
480 ,p_rt_age_uom =>p_rec.rt_age_uom
481 ,p_rt_los_uom =>p_rec.rt_los_uom
482 ,p_rt_pct_fl_tm_val =>p_rec.rt_pct_fl_tm_val
483 ,p_rt_frz_los_flag =>p_rec.rt_frz_los_flag
484 ,p_rt_frz_age_flag =>p_rec.rt_frz_age_flag
485 ,p_rt_frz_cmp_lvl_flag =>p_rec.rt_frz_cmp_lvl_flag
486 ,p_rt_frz_pct_fl_tm_flag =>p_rec.rt_frz_pct_fl_tm_flag
487 ,p_rt_frz_hrs_wkd_flag =>p_rec.rt_frz_hrs_wkd_flag
488 ,p_rt_frz_comb_age_and_los_flag =>p_rec.rt_frz_comb_age_and_los_flag
489 ,p_comp_ref_amt =>p_rec.comp_ref_amt
490 ,p_cmbn_age_n_los_val =>p_rec.cmbn_age_n_los_val
491 ,p_comp_ref_uom =>p_rec.comp_ref_uom
492 ,p_age_val =>p_rec.age_val
493 ,p_los_val =>p_rec.los_val
494 ,p_hrs_wkd_val =>p_rec.hrs_wkd_val
495 ,p_hrs_wkd_bndry_perd_cd =>p_rec.hrs_wkd_bndry_perd_cd
496 ,p_age_uom =>p_rec.age_uom
497 ,p_los_uom =>p_rec.los_uom
498 ,p_frz_los_flag =>p_rec.frz_los_flag
499 ,p_frz_age_flag =>p_rec.frz_age_flag
500 ,p_frz_cmp_lvl_flag =>p_rec.frz_cmp_lvl_flag
501 ,p_frz_pct_fl_tm_flag =>p_rec.frz_pct_fl_tm_flag
502 ,p_frz_hrs_wkd_flag =>p_rec.frz_hrs_wkd_flag
503 ,p_frz_comb_age_and_los_flag =>p_rec.frz_comb_age_and_los_flag
504 ,p_ovrid_svc_dt =>p_rec.ovrid_svc_dt
505 ,p_inelg_rsn_cd =>p_rec.inelg_rsn_cd
506 ,p_once_r_cntug_cd =>p_rec.once_r_cntug_cd
507 ,p_oipl_ordr_num =>p_rec.oipl_ordr_num
508 ,p_business_group_id =>p_rec.business_group_id
509 ,p_epo_attribute_category =>p_rec.epo_attribute_category
510 ,p_epo_attribute1 =>p_rec.epo_attribute1
511 ,p_epo_attribute2 =>p_rec.epo_attribute2
512 ,p_epo_attribute3 =>p_rec.epo_attribute3
513 ,p_epo_attribute4 =>p_rec.epo_attribute4
514 ,p_epo_attribute5 =>p_rec.epo_attribute5
515 ,p_epo_attribute6 =>p_rec.epo_attribute6
516 ,p_epo_attribute7 =>p_rec.epo_attribute7
517 ,p_epo_attribute8 =>p_rec.epo_attribute8
518 ,p_epo_attribute9 =>p_rec.epo_attribute9
519 ,p_epo_attribute10 =>p_rec.epo_attribute10
520 ,p_epo_attribute11 =>p_rec.epo_attribute11
521 ,p_epo_attribute12 =>p_rec.epo_attribute12
522 ,p_epo_attribute13 =>p_rec.epo_attribute13
523 ,p_epo_attribute14 =>p_rec.epo_attribute14
524 ,p_epo_attribute15 =>p_rec.epo_attribute15
525 ,p_epo_attribute16 =>p_rec.epo_attribute16
526 ,p_epo_attribute17 =>p_rec.epo_attribute17
527 ,p_epo_attribute18 =>p_rec.epo_attribute18
528 ,p_epo_attribute19 =>p_rec.epo_attribute19
529 ,p_epo_attribute20 =>p_rec.epo_attribute20
530 ,p_epo_attribute21 =>p_rec.epo_attribute21
531 ,p_epo_attribute22 =>p_rec.epo_attribute22
532 ,p_epo_attribute23 =>p_rec.epo_attribute23
533 ,p_epo_attribute24 =>p_rec.epo_attribute24
534 ,p_epo_attribute25 =>p_rec.epo_attribute25
535 ,p_epo_attribute26 =>p_rec.epo_attribute26
536 ,p_epo_attribute27 =>p_rec.epo_attribute27
537 ,p_epo_attribute28 =>p_rec.epo_attribute28
538 ,p_epo_attribute29 =>p_rec.epo_attribute29
539 ,p_epo_attribute30 =>p_rec.epo_attribute30
540 ,p_request_id =>p_rec.request_id
541 ,p_program_application_id =>p_rec.program_application_id
542 ,p_program_id =>p_rec.program_id
543 ,p_program_update_date =>p_rec.program_update_date
544 ,p_object_version_number =>p_rec.object_version_number
545 ,p_effective_date =>p_effective_date
546 ,p_datetrack_mode =>p_datetrack_mode
547 ,p_validation_start_date =>p_validation_start_date
548 ,p_validation_end_date =>p_validation_end_date
549 ,p_elig_per_id_o =>ben_epo_shd.g_old_rec.elig_per_id
550 ,p_effective_start_date_o =>ben_epo_shd.g_old_rec.effective_start_date
551 ,p_effective_end_date_o =>ben_epo_shd.g_old_rec.effective_end_date
552 ,p_prtn_ovridn_flag_o =>ben_epo_shd.g_old_rec.prtn_ovridn_flag
553 ,p_prtn_ovridn_thru_dt_o =>ben_epo_shd.g_old_rec.prtn_ovridn_thru_dt
554 ,p_no_mx_prtn_ovrid_thru_flag_o =>ben_epo_shd.g_old_rec.no_mx_prtn_ovrid_thru_flag
555 ,p_elig_flag_o =>ben_epo_shd.g_old_rec.elig_flag
556 ,p_prtn_strt_dt_o =>ben_epo_shd.g_old_rec.prtn_strt_dt
557 ,p_prtn_end_dt_o =>ben_epo_shd.g_old_rec.prtn_end_dt
558 ,p_wait_perd_cmpltn_date_o =>ben_epo_shd.g_old_rec.wait_perd_cmpltn_date
559 ,p_wait_perd_strt_dt_o =>ben_epo_shd.g_old_rec.wait_perd_strt_dt
560 ,p_prtn_ovridn_rsn_cd_o =>ben_epo_shd.g_old_rec.prtn_ovridn_rsn_cd
561 ,p_pct_fl_tm_val_o =>ben_epo_shd.g_old_rec.pct_fl_tm_val
562 ,p_opt_id_o =>ben_epo_shd.g_old_rec.opt_id
563 ,p_per_in_ler_id_o =>ben_epo_shd.g_old_rec.per_in_ler_id
564 ,p_rt_comp_ref_amt_o =>ben_epo_shd.g_old_rec.rt_comp_ref_amt
565 ,p_rt_cmbn_age_n_los_val_o =>ben_epo_shd.g_old_rec.rt_cmbn_age_n_los_val
566 ,p_rt_comp_ref_uom_o =>ben_epo_shd.g_old_rec.rt_comp_ref_uom
567 ,p_rt_age_val_o =>ben_epo_shd.g_old_rec.rt_age_val
568 ,p_rt_los_val_o =>ben_epo_shd.g_old_rec.rt_los_val
569 ,p_rt_hrs_wkd_val_o =>ben_epo_shd.g_old_rec.rt_hrs_wkd_val
570 ,p_rt_hrs_wkd_bndry_perd_cd_o =>ben_epo_shd.g_old_rec.rt_hrs_wkd_bndry_perd_cd
571 ,p_rt_age_uom_o =>ben_epo_shd.g_old_rec.rt_age_uom
572 ,p_rt_los_uom_o =>ben_epo_shd.g_old_rec.rt_los_uom
573 ,p_rt_pct_fl_tm_val_o =>ben_epo_shd.g_old_rec.rt_pct_fl_tm_val
574 ,p_rt_frz_los_flag_o =>ben_epo_shd.g_old_rec.rt_frz_los_flag
575 ,p_rt_frz_age_flag_o =>ben_epo_shd.g_old_rec.rt_frz_age_flag
576 ,p_rt_frz_cmp_lvl_flag_o =>ben_epo_shd.g_old_rec.rt_frz_cmp_lvl_flag
577 ,p_rt_frz_pct_fl_tm_flag_o =>ben_epo_shd.g_old_rec.rt_frz_pct_fl_tm_flag
578 ,p_rt_frz_hrs_wkd_flag_o =>ben_epo_shd.g_old_rec.rt_frz_hrs_wkd_flag
579 ,p_rt_frz_comb_age_and_los_fl_o =>ben_epo_shd.g_old_rec.rt_frz_comb_age_and_los_flag
580 ,p_comp_ref_amt_o =>ben_epo_shd.g_old_rec.comp_ref_amt
581 ,p_cmbn_age_n_los_val_o =>ben_epo_shd.g_old_rec.cmbn_age_n_los_val
582 ,p_comp_ref_uom_o =>ben_epo_shd.g_old_rec.comp_ref_uom
583 ,p_age_val_o =>ben_epo_shd.g_old_rec.age_val
584 ,p_los_val_o =>ben_epo_shd.g_old_rec.los_val
585 ,p_hrs_wkd_val_o =>ben_epo_shd.g_old_rec.hrs_wkd_val
586 ,p_hrs_wkd_bndry_perd_cd_o =>ben_epo_shd.g_old_rec.hrs_wkd_bndry_perd_cd
587 ,p_age_uom_o =>ben_epo_shd.g_old_rec.age_uom
588 ,p_los_uom_o =>ben_epo_shd.g_old_rec.los_uom
589 ,p_frz_los_flag_o =>ben_epo_shd.g_old_rec.frz_los_flag
590 ,p_frz_age_flag_o =>ben_epo_shd.g_old_rec.frz_age_flag
591 ,p_frz_cmp_lvl_flag_o =>ben_epo_shd.g_old_rec.frz_cmp_lvl_flag
592 ,p_frz_pct_fl_tm_flag_o =>ben_epo_shd.g_old_rec.frz_pct_fl_tm_flag
593 ,p_frz_hrs_wkd_flag_o =>ben_epo_shd.g_old_rec.frz_hrs_wkd_flag
594 ,p_frz_comb_age_and_los_flag_o =>ben_epo_shd.g_old_rec.frz_comb_age_and_los_flag
595 ,p_ovrid_svc_dt_o =>ben_epo_shd.g_old_rec.ovrid_svc_dt
596 ,p_inelg_rsn_cd_o =>ben_epo_shd.g_old_rec.inelg_rsn_cd
597 ,p_once_r_cntug_cd_o =>ben_epo_shd.g_old_rec.once_r_cntug_cd
598 ,p_oipl_ordr_num_o =>ben_epo_shd.g_old_rec.oipl_ordr_num
599 ,p_business_group_id_o =>ben_epo_shd.g_old_rec.business_group_id
600 ,p_epo_attribute_category_o =>ben_epo_shd.g_old_rec.epo_attribute_category
601 ,p_epo_attribute1_o =>ben_epo_shd.g_old_rec.epo_attribute1
602 ,p_epo_attribute2_o =>ben_epo_shd.g_old_rec.epo_attribute2
603 ,p_epo_attribute3_o =>ben_epo_shd.g_old_rec.epo_attribute3
604 ,p_epo_attribute4_o =>ben_epo_shd.g_old_rec.epo_attribute4
605 ,p_epo_attribute5_o =>ben_epo_shd.g_old_rec.epo_attribute5
606 ,p_epo_attribute6_o =>ben_epo_shd.g_old_rec.epo_attribute6
607 ,p_epo_attribute7_o =>ben_epo_shd.g_old_rec.epo_attribute7
608 ,p_epo_attribute8_o =>ben_epo_shd.g_old_rec.epo_attribute8
609 ,p_epo_attribute9_o =>ben_epo_shd.g_old_rec.epo_attribute9
610 ,p_epo_attribute10_o =>ben_epo_shd.g_old_rec.epo_attribute10
611 ,p_epo_attribute11_o =>ben_epo_shd.g_old_rec.epo_attribute11
612 ,p_epo_attribute12_o =>ben_epo_shd.g_old_rec.epo_attribute12
613 ,p_epo_attribute13_o =>ben_epo_shd.g_old_rec.epo_attribute13
614 ,p_epo_attribute14_o =>ben_epo_shd.g_old_rec.epo_attribute14
615 ,p_epo_attribute15_o =>ben_epo_shd.g_old_rec.epo_attribute15
616 ,p_epo_attribute16_o =>ben_epo_shd.g_old_rec.epo_attribute16
617 ,p_epo_attribute17_o =>ben_epo_shd.g_old_rec.epo_attribute17
618 ,p_epo_attribute18_o =>ben_epo_shd.g_old_rec.epo_attribute18
619 ,p_epo_attribute19_o =>ben_epo_shd.g_old_rec.epo_attribute19
620 ,p_epo_attribute20_o =>ben_epo_shd.g_old_rec.epo_attribute20
621 ,p_epo_attribute21_o =>ben_epo_shd.g_old_rec.epo_attribute21
622 ,p_epo_attribute22_o =>ben_epo_shd.g_old_rec.epo_attribute22
623 ,p_epo_attribute23_o =>ben_epo_shd.g_old_rec.epo_attribute23
624 ,p_epo_attribute24_o =>ben_epo_shd.g_old_rec.epo_attribute24
625 ,p_epo_attribute25_o =>ben_epo_shd.g_old_rec.epo_attribute25
626 ,p_epo_attribute26_o =>ben_epo_shd.g_old_rec.epo_attribute26
627 ,p_epo_attribute27_o =>ben_epo_shd.g_old_rec.epo_attribute27
628 ,p_epo_attribute28_o =>ben_epo_shd.g_old_rec.epo_attribute28
629 ,p_epo_attribute29_o =>ben_epo_shd.g_old_rec.epo_attribute29
630 ,p_epo_attribute30_o =>ben_epo_shd.g_old_rec.epo_attribute30
631 ,p_request_id_o =>ben_epo_shd.g_old_rec.request_id
632 ,p_program_application_id_o =>ben_epo_shd.g_old_rec.program_application_id
633 ,p_program_id_o =>ben_epo_shd.g_old_rec.program_id
634 ,p_program_update_date_o =>ben_epo_shd.g_old_rec.program_update_date
635 ,p_object_version_number_o =>ben_epo_shd.g_old_rec.object_version_number
636 );
637 --
638 exception
639 --
640 when hr_api.cannot_find_prog_unit then
641 --
642 hr_api.cannot_find_prog_unit_error
643 (p_module_name => 'ben_elig_per_opt_f'
644 ,p_hook_type => 'AU');
645 --
646 end;
647 --
648 -- End of API User Hook for post_update.
649 --
650 --
651 hr_utility.set_location(' Leaving:'||l_proc, 10);
652 End post_update;
653 --
654 -- ----------------------------------------------------------------------------
655 -- |-----------------------------< convert_defs >-----------------------------|
656 -- ----------------------------------------------------------------------------
657 -- {Start Of Comments}
658 --
659 -- Description:
660 -- The Convert_Defs procedure has one very important function:
661 -- It must return the record structure for the row with all system defaulted
662 -- values converted into its corresponding parameter value for update. When
663 -- we attempt to update a row through the Upd process , certain
664 -- parameters can be defaulted which enables flexibility in the calling of
665 -- the upd process (e.g. only attributes which need to be updated need to be
666 -- specified). For the upd process to determine which attributes
667 -- have NOT been specified we need to check if the parameter has a reserved
668 -- system default value. Therefore, for all parameters which have a
669 -- corresponding reserved system default mechanism specified we need to
670 -- check if a system default is being used. If a system default is being
671 -- used then we convert the defaulted value into its corresponding attribute
672 -- value held in the g_old_rec data structure.
673 --
674 -- Prerequisites:
675 -- This private function can only be called from the upd process.
676 --
677 -- In Parameters:
678 -- A Pl/Sql record structre.
679 --
680 -- Post Success:
681 -- The record structure will be returned with all system defaulted parameter
682 -- values converted into its current row attribute value.
683 --
684 -- Post Failure:
685 -- No direct error handling is required within this function. Any possible
686 -- errors within this procedure will be a PL/SQL value error due to conversion
687 -- of datatypes or data lengths.
688 --
689 -- Developer Implementation Notes:
690 -- None.
691 --
692 -- Access Status:
693 -- Internal Row Handler Use Only.
694 --
695 -- {End Of Comments}
696 -- ----------------------------------------------------------------------------
697 Procedure convert_defs(p_rec in out nocopy ben_epo_shd.g_rec_type) is
698 --
699 l_proc varchar2(72) := g_package||'convert_defs';
700 --
701 Begin
702 --
703 hr_utility.set_location('Entering:'||l_proc, 5);
704 --
705 -- We must now examine each argument value in the
706 -- p_rec plsql record structure
707 -- to see if a system default is being used. If a system default
708 -- is being used then we must set to the 'current' argument value.
709 --
710 If (p_rec.elig_per_id = hr_api.g_number) then
711 p_rec.elig_per_id :=
712 ben_epo_shd.g_old_rec.elig_per_id;
713 End If;
714 If (p_rec.prtn_ovridn_flag = hr_api.g_varchar2) then
715 p_rec.prtn_ovridn_flag :=
716 ben_epo_shd.g_old_rec.prtn_ovridn_flag;
717 End If;
718 If (p_rec.prtn_ovridn_thru_dt = hr_api.g_date) then
719 p_rec.prtn_ovridn_thru_dt :=
720 ben_epo_shd.g_old_rec.prtn_ovridn_thru_dt;
721 End If;
722 If (p_rec.no_mx_prtn_ovrid_thru_flag = hr_api.g_varchar2) then
723 p_rec.no_mx_prtn_ovrid_thru_flag :=
724 ben_epo_shd.g_old_rec.no_mx_prtn_ovrid_thru_flag;
725 End If;
726 If (p_rec.elig_flag = hr_api.g_varchar2) then
727 p_rec.elig_flag :=
728 ben_epo_shd.g_old_rec.elig_flag;
729 End If;
730 If (p_rec.prtn_strt_dt = hr_api.g_date) then
731 p_rec.prtn_strt_dt :=
732 ben_epo_shd.g_old_rec.prtn_strt_dt;
733 End If;
734 If (p_rec.prtn_end_dt = hr_api.g_date) then
735 p_rec.prtn_end_dt :=
736 ben_epo_shd.g_old_rec.prtn_end_dt;
737 End If;
738 If (p_rec.wait_perd_cmpltn_date = hr_api.g_date) then
739 p_rec.wait_perd_cmpltn_date :=
740 ben_epo_shd.g_old_rec.wait_perd_cmpltn_date;
741 End If;
742 If (p_rec.wait_perd_strt_dt = hr_api.g_date) then
743 p_rec.wait_perd_strt_dt :=
744 ben_epo_shd.g_old_rec.wait_perd_strt_dt;
745 End If;
746 If (p_rec.prtn_ovridn_rsn_cd = hr_api.g_varchar2) then
747 p_rec.prtn_ovridn_rsn_cd :=
748 ben_epo_shd.g_old_rec.prtn_ovridn_rsn_cd;
749 End If;
750 If (p_rec.pct_fl_tm_val = hr_api.g_number) then
751 p_rec.pct_fl_tm_val :=
752 ben_epo_shd.g_old_rec.pct_fl_tm_val;
753 End If;
754 If (p_rec.opt_id = hr_api.g_number) then
755 p_rec.opt_id :=
756 ben_epo_shd.g_old_rec.opt_id;
757 End If;
758 If (p_rec.per_in_ler_id = hr_api.g_number) then
759 p_rec.per_in_ler_id :=
760 ben_epo_shd.g_old_rec.per_in_ler_id;
761 End If;
762 If (p_rec.rt_comp_ref_amt = hr_api.g_number) then
763 p_rec.rt_comp_ref_amt :=
764 ben_epo_shd.g_old_rec.rt_comp_ref_amt;
765 End If;
766 If (p_rec.rt_cmbn_age_n_los_val = hr_api.g_number) then
767 p_rec.rt_cmbn_age_n_los_val :=
768 ben_epo_shd.g_old_rec.rt_cmbn_age_n_los_val;
769 End If;
770 If (p_rec.rt_comp_ref_uom = hr_api.g_varchar2) then
771 p_rec.rt_comp_ref_uom :=
772 ben_epo_shd.g_old_rec.rt_comp_ref_uom;
773 End If;
774 If (p_rec.rt_age_val = hr_api.g_number) then
775 p_rec.rt_age_val :=
776 ben_epo_shd.g_old_rec.rt_age_val;
777 End If;
778 If (p_rec.rt_los_val = hr_api.g_number) then
779 p_rec.rt_los_val :=
780 ben_epo_shd.g_old_rec.rt_los_val;
781 End If;
782 If (p_rec.rt_hrs_wkd_val = hr_api.g_number) then
783 p_rec.rt_hrs_wkd_val :=
784 ben_epo_shd.g_old_rec.rt_hrs_wkd_val;
785 End If;
786 If (p_rec.rt_hrs_wkd_bndry_perd_cd = hr_api.g_varchar2) then
787 p_rec.rt_hrs_wkd_bndry_perd_cd :=
788 ben_epo_shd.g_old_rec.rt_hrs_wkd_bndry_perd_cd;
789 End If;
790 If (p_rec.rt_age_uom = hr_api.g_varchar2) then
791 p_rec.rt_age_uom :=
792 ben_epo_shd.g_old_rec.rt_age_uom;
793 End If;
794 If (p_rec.rt_los_uom = hr_api.g_varchar2) then
795 p_rec.rt_los_uom :=
796 ben_epo_shd.g_old_rec.rt_los_uom;
797 End If;
798 If (p_rec.rt_pct_fl_tm_val = hr_api.g_number) then
799 p_rec.rt_pct_fl_tm_val :=
800 ben_epo_shd.g_old_rec.rt_pct_fl_tm_val;
801 End If;
802 If (p_rec.rt_frz_los_flag = hr_api.g_varchar2) then
803 p_rec.rt_frz_los_flag :=
804 ben_epo_shd.g_old_rec.rt_frz_los_flag;
805 End If;
806 If (p_rec.rt_frz_age_flag = hr_api.g_varchar2) then
807 p_rec.rt_frz_age_flag :=
808 ben_epo_shd.g_old_rec.rt_frz_age_flag;
809 End If;
810 If (p_rec.rt_frz_cmp_lvl_flag = hr_api.g_varchar2) then
811 p_rec.rt_frz_cmp_lvl_flag :=
812 ben_epo_shd.g_old_rec.rt_frz_cmp_lvl_flag;
813 End If;
814 If (p_rec.rt_frz_pct_fl_tm_flag = hr_api.g_varchar2) then
815 p_rec.rt_frz_pct_fl_tm_flag :=
816 ben_epo_shd.g_old_rec.rt_frz_pct_fl_tm_flag;
817 End If;
818 If (p_rec.rt_frz_hrs_wkd_flag = hr_api.g_varchar2) then
819 p_rec.rt_frz_hrs_wkd_flag :=
820 ben_epo_shd.g_old_rec.rt_frz_hrs_wkd_flag;
821 End If;
822 If (p_rec.rt_frz_comb_age_and_los_flag = hr_api.g_varchar2) then
823 p_rec.rt_frz_comb_age_and_los_flag :=
824 ben_epo_shd.g_old_rec.rt_frz_comb_age_and_los_flag;
825 End If;
826 If (p_rec.comp_ref_amt = hr_api.g_number) then
827 p_rec.comp_ref_amt :=
828 ben_epo_shd.g_old_rec.comp_ref_amt;
829 End If;
830 If (p_rec.cmbn_age_n_los_val = hr_api.g_number) then
831 p_rec.cmbn_age_n_los_val :=
832 ben_epo_shd.g_old_rec.cmbn_age_n_los_val;
833 End If;
834 If (p_rec.comp_ref_uom = hr_api.g_varchar2) then
835 p_rec.comp_ref_uom :=
836 ben_epo_shd.g_old_rec.comp_ref_uom;
837 End If;
838 If (p_rec.age_val = hr_api.g_number) then
839 p_rec.age_val :=
840 ben_epo_shd.g_old_rec.age_val;
841 End If;
842 If (p_rec.los_val = hr_api.g_number) then
843 p_rec.los_val :=
844 ben_epo_shd.g_old_rec.los_val;
845 End If;
846 If (p_rec.hrs_wkd_val = hr_api.g_number) then
847 p_rec.hrs_wkd_val :=
848 ben_epo_shd.g_old_rec.hrs_wkd_val;
849 End If;
850 If (p_rec.hrs_wkd_bndry_perd_cd = hr_api.g_varchar2) then
851 p_rec.hrs_wkd_bndry_perd_cd :=
852 ben_epo_shd.g_old_rec.hrs_wkd_bndry_perd_cd;
853 End If;
854 If (p_rec.age_uom = hr_api.g_varchar2) then
855 p_rec.age_uom :=
856 ben_epo_shd.g_old_rec.age_uom;
857 End If;
858 If (p_rec.los_uom = hr_api.g_varchar2) then
859 p_rec.los_uom :=
860 ben_epo_shd.g_old_rec.los_uom;
861 End If;
862 If (p_rec.frz_los_flag = hr_api.g_varchar2) then
863 p_rec.frz_los_flag :=
864 ben_epo_shd.g_old_rec.frz_los_flag;
865 End If;
866 If (p_rec.frz_age_flag = hr_api.g_varchar2) then
867 p_rec.frz_age_flag :=
868 ben_epo_shd.g_old_rec.frz_age_flag;
869 End If;
870 If (p_rec.frz_cmp_lvl_flag = hr_api.g_varchar2) then
871 p_rec.frz_cmp_lvl_flag :=
872 ben_epo_shd.g_old_rec.frz_cmp_lvl_flag;
873 End If;
874 If (p_rec.frz_pct_fl_tm_flag = hr_api.g_varchar2) then
875 p_rec.frz_pct_fl_tm_flag :=
876 ben_epo_shd.g_old_rec.frz_pct_fl_tm_flag;
877 End If;
878 If (p_rec.frz_hrs_wkd_flag = hr_api.g_varchar2) then
879 p_rec.frz_hrs_wkd_flag :=
880 ben_epo_shd.g_old_rec.frz_hrs_wkd_flag;
881 End If;
882 If (p_rec.frz_comb_age_and_los_flag = hr_api.g_varchar2) then
883 p_rec.frz_comb_age_and_los_flag :=
884 ben_epo_shd.g_old_rec.frz_comb_age_and_los_flag;
885 End If;
886 If (p_rec.ovrid_svc_dt = hr_api.g_date) then
887 p_rec.ovrid_svc_dt :=
888 ben_epo_shd.g_old_rec.ovrid_svc_dt;
889 End If;
890 If (p_rec.inelg_rsn_cd = hr_api.g_varchar2) then
891 p_rec.inelg_rsn_cd :=
892 ben_epo_shd.g_old_rec.inelg_rsn_cd;
893 End If;
894 If (p_rec.once_r_cntug_cd = hr_api.g_varchar2) then
895 p_rec.once_r_cntug_cd :=
896 ben_epo_shd.g_old_rec.once_r_cntug_cd;
897 End If;
898 If (p_rec.oipl_ordr_num = hr_api.g_number) then
899 p_rec.oipl_ordr_num :=
900 ben_epo_shd.g_old_rec.oipl_ordr_num;
901 End If;
902 If (p_rec.business_group_id = hr_api.g_number) then
903 p_rec.business_group_id :=
904 ben_epo_shd.g_old_rec.business_group_id;
905 End If;
906 If (p_rec.epo_attribute_category = hr_api.g_varchar2) then
907 p_rec.epo_attribute_category :=
908 ben_epo_shd.g_old_rec.epo_attribute_category;
909 End If;
910 If (p_rec.epo_attribute1 = hr_api.g_varchar2) then
911 p_rec.epo_attribute1 :=
912 ben_epo_shd.g_old_rec.epo_attribute1;
913 End If;
914 If (p_rec.epo_attribute2 = hr_api.g_varchar2) then
915 p_rec.epo_attribute2 :=
916 ben_epo_shd.g_old_rec.epo_attribute2;
917 End If;
918 If (p_rec.epo_attribute3 = hr_api.g_varchar2) then
919 p_rec.epo_attribute3 :=
920 ben_epo_shd.g_old_rec.epo_attribute3;
921 End If;
922 If (p_rec.epo_attribute4 = hr_api.g_varchar2) then
923 p_rec.epo_attribute4 :=
924 ben_epo_shd.g_old_rec.epo_attribute4;
925 End If;
926 If (p_rec.epo_attribute5 = hr_api.g_varchar2) then
927 p_rec.epo_attribute5 :=
928 ben_epo_shd.g_old_rec.epo_attribute5;
929 End If;
930 If (p_rec.epo_attribute6 = hr_api.g_varchar2) then
931 p_rec.epo_attribute6 :=
932 ben_epo_shd.g_old_rec.epo_attribute6;
933 End If;
934 If (p_rec.epo_attribute7 = hr_api.g_varchar2) then
935 p_rec.epo_attribute7 :=
936 ben_epo_shd.g_old_rec.epo_attribute7;
937 End If;
938 If (p_rec.epo_attribute8 = hr_api.g_varchar2) then
939 p_rec.epo_attribute8 :=
940 ben_epo_shd.g_old_rec.epo_attribute8;
941 End If;
942 If (p_rec.epo_attribute9 = hr_api.g_varchar2) then
943 p_rec.epo_attribute9 :=
944 ben_epo_shd.g_old_rec.epo_attribute9;
945 End If;
946 If (p_rec.epo_attribute10 = hr_api.g_varchar2) then
947 p_rec.epo_attribute10 :=
948 ben_epo_shd.g_old_rec.epo_attribute10;
949 End If;
950 If (p_rec.epo_attribute11 = hr_api.g_varchar2) then
951 p_rec.epo_attribute11 :=
952 ben_epo_shd.g_old_rec.epo_attribute11;
953 End If;
954 If (p_rec.epo_attribute12 = hr_api.g_varchar2) then
955 p_rec.epo_attribute12 :=
956 ben_epo_shd.g_old_rec.epo_attribute12;
957 End If;
958 If (p_rec.epo_attribute13 = hr_api.g_varchar2) then
959 p_rec.epo_attribute13 :=
960 ben_epo_shd.g_old_rec.epo_attribute13;
961 End If;
962 If (p_rec.epo_attribute14 = hr_api.g_varchar2) then
963 p_rec.epo_attribute14 :=
964 ben_epo_shd.g_old_rec.epo_attribute14;
965 End If;
966 If (p_rec.epo_attribute15 = hr_api.g_varchar2) then
967 p_rec.epo_attribute15 :=
968 ben_epo_shd.g_old_rec.epo_attribute15;
969 End If;
970 If (p_rec.epo_attribute16 = hr_api.g_varchar2) then
971 p_rec.epo_attribute16 :=
972 ben_epo_shd.g_old_rec.epo_attribute16;
973 End If;
974 If (p_rec.epo_attribute17 = hr_api.g_varchar2) then
975 p_rec.epo_attribute17 :=
976 ben_epo_shd.g_old_rec.epo_attribute17;
977 End If;
978 If (p_rec.epo_attribute18 = hr_api.g_varchar2) then
979 p_rec.epo_attribute18 :=
980 ben_epo_shd.g_old_rec.epo_attribute18;
981 End If;
982 If (p_rec.epo_attribute19 = hr_api.g_varchar2) then
983 p_rec.epo_attribute19 :=
984 ben_epo_shd.g_old_rec.epo_attribute19;
985 End If;
986 If (p_rec.epo_attribute20 = hr_api.g_varchar2) then
987 p_rec.epo_attribute20 :=
988 ben_epo_shd.g_old_rec.epo_attribute20;
989 End If;
990 If (p_rec.epo_attribute21 = hr_api.g_varchar2) then
991 p_rec.epo_attribute21 :=
992 ben_epo_shd.g_old_rec.epo_attribute21;
993 End If;
994 If (p_rec.epo_attribute22 = hr_api.g_varchar2) then
995 p_rec.epo_attribute22 :=
996 ben_epo_shd.g_old_rec.epo_attribute22;
997 End If;
998 If (p_rec.epo_attribute23 = hr_api.g_varchar2) then
999 p_rec.epo_attribute23 :=
1000 ben_epo_shd.g_old_rec.epo_attribute23;
1001 End If;
1002 If (p_rec.epo_attribute24 = hr_api.g_varchar2) then
1003 p_rec.epo_attribute24 :=
1004 ben_epo_shd.g_old_rec.epo_attribute24;
1005 End If;
1006 If (p_rec.epo_attribute25 = hr_api.g_varchar2) then
1007 p_rec.epo_attribute25 :=
1008 ben_epo_shd.g_old_rec.epo_attribute25;
1009 End If;
1010 If (p_rec.epo_attribute26 = hr_api.g_varchar2) then
1011 p_rec.epo_attribute26 :=
1012 ben_epo_shd.g_old_rec.epo_attribute26;
1013 End If;
1014 If (p_rec.epo_attribute27 = hr_api.g_varchar2) then
1015 p_rec.epo_attribute27 :=
1016 ben_epo_shd.g_old_rec.epo_attribute27;
1017 End If;
1018 If (p_rec.epo_attribute28 = hr_api.g_varchar2) then
1019 p_rec.epo_attribute28 :=
1020 ben_epo_shd.g_old_rec.epo_attribute28;
1021 End If;
1022 If (p_rec.epo_attribute29 = hr_api.g_varchar2) then
1023 p_rec.epo_attribute29 :=
1024 ben_epo_shd.g_old_rec.epo_attribute29;
1025 End If;
1026 If (p_rec.epo_attribute30 = hr_api.g_varchar2) then
1027 p_rec.epo_attribute30 :=
1028 ben_epo_shd.g_old_rec.epo_attribute30;
1029 End If;
1030 If (p_rec.request_id= hr_api.g_number) then
1031 p_rec.request_id :=
1032 ben_epo_shd.g_old_rec.request_id;
1033 End If;
1034 If (p_rec.program_application_id = hr_api.g_number) then
1035 p_rec.program_application_id :=
1036 ben_epo_shd.g_old_rec.program_application_id;
1037 End If;
1038 If (p_rec.program_id = hr_api.g_number) then
1039 p_rec.program_id :=
1040 ben_epo_shd.g_old_rec.program_id;
1041 End If;
1042 If (p_rec.program_update_date = hr_api.g_date) then
1043 p_rec.program_update_date :=
1044 ben_epo_shd.g_old_rec.program_update_date;
1045 End If;
1046
1047 --
1048 hr_utility.set_location(' Leaving:'||l_proc, 10);
1049 --
1050 End convert_defs;
1051 --
1052 -- ----------------------------------------------------------------------------
1053 -- |---------------------------------< upd >----------------------------------|
1054 -- ----------------------------------------------------------------------------
1055 Procedure upd
1056 (
1057 p_rec in out nocopy ben_epo_shd.g_rec_type,
1058 p_effective_date in date,
1059 p_datetrack_mode in varchar2
1060 ) is
1061 --
1062 l_proc varchar2(72) := g_package||'upd';
1063 l_validation_start_date date;
1064 l_validation_end_date date;
1065 --
1066 Begin
1067 hr_utility.set_location('Entering:'||l_proc, 5);
1068 --
1069 -- Ensure that the DateTrack update mode is valid
1070 --
1071 dt_api.validate_dt_upd_mode(p_datetrack_mode => p_datetrack_mode);
1072 --
1073 -- We must lock the row which we need to update.
1074 --
1075 ben_epo_shd.lck
1076 (p_effective_date => p_effective_date,
1077 p_datetrack_mode => p_datetrack_mode,
1078 p_elig_per_opt_id => p_rec.elig_per_opt_id,
1079 p_object_version_number => p_rec.object_version_number,
1080 p_validation_start_date => l_validation_start_date,
1081 p_validation_end_date => l_validation_end_date);
1082 --
1083 -- 1. During an update system defaults are used to determine if
1084 -- arguments have been defaulted or not. We must therefore
1085 -- derive the full record structure values to be updated.
1086 --
1087 -- 2. Call the supporting update validate operations.
1088 --
1089 convert_defs(p_rec);
1090 ben_epo_bus.update_validate
1091 (p_rec => p_rec,
1092 p_effective_date => p_effective_date,
1093 p_datetrack_mode => p_datetrack_mode,
1094 p_validation_start_date => l_validation_start_date,
1095 p_validation_end_date => l_validation_end_date);
1096 --
1097 -- Call the supporting pre-update operation
1098 --
1099 pre_update
1100 (p_rec => p_rec,
1101 p_effective_date => p_effective_date,
1102 p_datetrack_mode => p_datetrack_mode,
1103 p_validation_start_date => l_validation_start_date,
1104 p_validation_end_date => l_validation_end_date);
1105 --
1106 -- Update the row.
1107 --
1108 update_dml
1109 (p_rec => p_rec,
1110 p_effective_date => p_effective_date,
1111 p_datetrack_mode => p_datetrack_mode,
1112 p_validation_start_date => l_validation_start_date,
1113 p_validation_end_date => l_validation_end_date);
1114 --
1115 -- Call the supporting post-update operation
1116 --
1117 post_update
1118 (p_rec => p_rec,
1119 p_effective_date => p_effective_date,
1120 p_datetrack_mode => p_datetrack_mode,
1121 p_validation_start_date => l_validation_start_date,
1122 p_validation_end_date => l_validation_end_date);
1123 End upd;
1124 --
1125 -- ----------------------------------------------------------------------------
1126 -- |---------------------------------< upd >----------------------------------|
1127 -- ----------------------------------------------------------------------------
1128 Procedure upd
1129 (
1130 p_elig_per_opt_id in number,
1131 p_elig_per_id in number default hr_api.g_number,
1132 p_effective_start_date out nocopy date,
1133 p_effective_end_date out nocopy date,
1134 p_prtn_ovridn_flag in varchar2 default hr_api.g_varchar2,
1135 p_prtn_ovridn_thru_dt in date default hr_api.g_date,
1136 p_no_mx_prtn_ovrid_thru_flag in varchar2 default hr_api.g_varchar2,
1137 p_elig_flag in varchar2 default hr_api.g_varchar2,
1138 p_prtn_strt_dt in date default hr_api.g_date,
1139 p_prtn_end_dt in date default hr_api.g_date,
1140 p_wait_perd_cmpltn_date in date default hr_api.g_date,
1141 p_wait_perd_strt_dt in date default hr_api.g_date,
1142 p_prtn_ovridn_rsn_cd in varchar2 default hr_api.g_varchar2,
1143 p_pct_fl_tm_val in number default hr_api.g_number,
1144 p_opt_id in number default hr_api.g_number,
1145 p_per_in_ler_id in number default hr_api.g_number,
1146 p_rt_comp_ref_amt in number default hr_api.g_number,
1147 p_rt_cmbn_age_n_los_val in number default hr_api.g_number,
1148 p_rt_comp_ref_uom in varchar2 default hr_api.g_varchar2,
1149 p_rt_age_val in number default hr_api.g_number,
1150 p_rt_los_val in number default hr_api.g_number,
1151 p_rt_hrs_wkd_val in number default hr_api.g_number,
1152 p_rt_hrs_wkd_bndry_perd_cd in varchar2 default hr_api.g_varchar2,
1153 p_rt_age_uom in varchar2 default hr_api.g_varchar2,
1154 p_rt_los_uom in varchar2 default hr_api.g_varchar2,
1155 p_rt_pct_fl_tm_val in number default hr_api.g_number,
1156 p_rt_frz_los_flag in varchar2 default hr_api.g_varchar2,
1157 p_rt_frz_age_flag in varchar2 default hr_api.g_varchar2,
1158 p_rt_frz_cmp_lvl_flag in varchar2 default hr_api.g_varchar2,
1159 p_rt_frz_pct_fl_tm_flag in varchar2 default hr_api.g_varchar2,
1160 p_rt_frz_hrs_wkd_flag in varchar2 default hr_api.g_varchar2,
1161 p_rt_frz_comb_age_and_los_flag in varchar2 default hr_api.g_varchar2,
1162 p_comp_ref_amt in number default hr_api.g_number,
1163 p_cmbn_age_n_los_val in number default hr_api.g_number,
1164 p_comp_ref_uom in varchar2 default hr_api.g_varchar2,
1165 p_age_val in number default hr_api.g_number,
1166 p_los_val in number default hr_api.g_number,
1167 p_hrs_wkd_val in number default hr_api.g_number,
1168 p_hrs_wkd_bndry_perd_cd in varchar2 default hr_api.g_varchar2,
1169 p_age_uom in varchar2 default hr_api.g_varchar2,
1170 p_los_uom in varchar2 default hr_api.g_varchar2,
1171 p_frz_los_flag in varchar2 default hr_api.g_varchar2,
1172 p_frz_age_flag in varchar2 default hr_api.g_varchar2,
1173 p_frz_cmp_lvl_flag in varchar2 default hr_api.g_varchar2,
1174 p_frz_pct_fl_tm_flag in varchar2 default hr_api.g_varchar2,
1175 p_frz_hrs_wkd_flag in varchar2 default hr_api.g_varchar2,
1176 p_frz_comb_age_and_los_flag in varchar2 default hr_api.g_varchar2,
1177 p_ovrid_svc_dt in date default hr_api.g_date,
1178 p_inelg_rsn_cd in varchar2 default hr_api.g_varchar2,
1179 p_once_r_cntug_cd in varchar2 default hr_api.g_varchar2,
1180 p_oipl_ordr_num in number default hr_api.g_number,
1181 p_business_group_id in number default hr_api.g_number,
1182 p_epo_attribute_category in varchar2 default hr_api.g_varchar2,
1183 p_epo_attribute1 in varchar2 default hr_api.g_varchar2,
1184 p_epo_attribute2 in varchar2 default hr_api.g_varchar2,
1185 p_epo_attribute3 in varchar2 default hr_api.g_varchar2,
1186 p_epo_attribute4 in varchar2 default hr_api.g_varchar2,
1187 p_epo_attribute5 in varchar2 default hr_api.g_varchar2,
1188 p_epo_attribute6 in varchar2 default hr_api.g_varchar2,
1189 p_epo_attribute7 in varchar2 default hr_api.g_varchar2,
1190 p_epo_attribute8 in varchar2 default hr_api.g_varchar2,
1191 p_epo_attribute9 in varchar2 default hr_api.g_varchar2,
1192 p_epo_attribute10 in varchar2 default hr_api.g_varchar2,
1193 p_epo_attribute11 in varchar2 default hr_api.g_varchar2,
1194 p_epo_attribute12 in varchar2 default hr_api.g_varchar2,
1195 p_epo_attribute13 in varchar2 default hr_api.g_varchar2,
1196 p_epo_attribute14 in varchar2 default hr_api.g_varchar2,
1197 p_epo_attribute15 in varchar2 default hr_api.g_varchar2,
1198 p_epo_attribute16 in varchar2 default hr_api.g_varchar2,
1199 p_epo_attribute17 in varchar2 default hr_api.g_varchar2,
1200 p_epo_attribute18 in varchar2 default hr_api.g_varchar2,
1201 p_epo_attribute19 in varchar2 default hr_api.g_varchar2,
1202 p_epo_attribute20 in varchar2 default hr_api.g_varchar2,
1203 p_epo_attribute21 in varchar2 default hr_api.g_varchar2,
1204 p_epo_attribute22 in varchar2 default hr_api.g_varchar2,
1205 p_epo_attribute23 in varchar2 default hr_api.g_varchar2,
1206 p_epo_attribute24 in varchar2 default hr_api.g_varchar2,
1207 p_epo_attribute25 in varchar2 default hr_api.g_varchar2,
1208 p_epo_attribute26 in varchar2 default hr_api.g_varchar2,
1209 p_epo_attribute27 in varchar2 default hr_api.g_varchar2,
1210 p_epo_attribute28 in varchar2 default hr_api.g_varchar2,
1211 p_epo_attribute29 in varchar2 default hr_api.g_varchar2,
1212 p_epo_attribute30 in varchar2 default hr_api.g_varchar2,
1213 p_request_id in number default hr_api.g_number,
1214 p_program_application_id in number default hr_api.g_number,
1215 p_program_id in number default hr_api.g_number,
1216 p_program_update_date in date default hr_api.g_date,
1217 p_object_version_number in out nocopy number,
1218 p_effective_date in date,
1219 p_datetrack_mode in varchar2
1220 ) is
1221 --
1222 l_rec ben_epo_shd.g_rec_type;
1223 l_proc varchar2(72) := g_package||'upd';
1224 --
1225 Begin
1226 hr_utility.set_location('Entering:'||l_proc, 5);
1227 --
1228 -- Call conversion function to turn arguments into the
1229 -- l_rec structure.
1230 --
1231 l_rec :=
1232 ben_epo_shd.convert_args
1233 (
1234 p_elig_per_opt_id,
1235 p_elig_per_id,
1236 null,
1237 null,
1238 p_prtn_ovridn_flag,
1239 p_prtn_ovridn_thru_dt,
1240 p_no_mx_prtn_ovrid_thru_flag,
1241 p_elig_flag,
1242 p_prtn_strt_dt,
1243 p_prtn_end_dt,
1244 p_wait_perd_cmpltn_date,
1245 p_wait_perd_strt_dt,
1246 p_prtn_ovridn_rsn_cd,
1247 p_pct_fl_tm_val,
1248 p_opt_id,
1249 p_per_in_ler_id,
1250 p_rt_comp_ref_amt,
1251 p_rt_cmbn_age_n_los_val,
1252 p_rt_comp_ref_uom,
1253 p_rt_age_val,
1254 p_rt_los_val,
1255 p_rt_hrs_wkd_val,
1256 p_rt_hrs_wkd_bndry_perd_cd,
1257 p_rt_age_uom,
1258 p_rt_los_uom,
1259 p_rt_pct_fl_tm_val,
1260 p_rt_frz_los_flag,
1261 p_rt_frz_age_flag,
1262 p_rt_frz_cmp_lvl_flag,
1263 p_rt_frz_pct_fl_tm_flag,
1264 p_rt_frz_hrs_wkd_flag,
1265 p_rt_frz_comb_age_and_los_flag,
1266 p_comp_ref_amt,
1267 p_cmbn_age_n_los_val,
1268 p_comp_ref_uom,
1269 p_age_val,
1270 p_los_val,
1271 p_hrs_wkd_val,
1272 p_hrs_wkd_bndry_perd_cd,
1273 p_age_uom,
1274 p_los_uom,
1275 p_frz_los_flag,
1276 p_frz_age_flag,
1277 p_frz_cmp_lvl_flag,
1278 p_frz_pct_fl_tm_flag,
1279 p_frz_hrs_wkd_flag,
1280 p_frz_comb_age_and_los_flag,
1281 p_ovrid_svc_dt,
1282 p_inelg_rsn_cd,
1283 p_once_r_cntug_cd,
1284 p_oipl_ordr_num,
1285 p_business_group_id,
1286 p_epo_attribute_category,
1287 p_epo_attribute1,
1288 p_epo_attribute2,
1289 p_epo_attribute3,
1290 p_epo_attribute4,
1291 p_epo_attribute5,
1292 p_epo_attribute6,
1293 p_epo_attribute7,
1294 p_epo_attribute8,
1295 p_epo_attribute9,
1296 p_epo_attribute10,
1297 p_epo_attribute11,
1298 p_epo_attribute12,
1299 p_epo_attribute13,
1300 p_epo_attribute14,
1301 p_epo_attribute15,
1302 p_epo_attribute16,
1303 p_epo_attribute17,
1304 p_epo_attribute18,
1305 p_epo_attribute19,
1306 p_epo_attribute20,
1307 p_epo_attribute21,
1308 p_epo_attribute22,
1309 p_epo_attribute23,
1310 p_epo_attribute24,
1311 p_epo_attribute25,
1312 p_epo_attribute26,
1313 p_epo_attribute27,
1314 p_epo_attribute28,
1315 p_epo_attribute29,
1316 p_epo_attribute30,
1317 p_request_id,
1318 p_program_application_id,
1319 p_program_id,
1320 p_program_update_date,
1321 p_object_version_number
1322 );
1323 --
1324 -- Having converted the arguments into the
1325 -- plsql record structure we call the corresponding record
1326 -- business process.
1327 --
1328 upd(l_rec, p_effective_date, p_datetrack_mode);
1329 p_object_version_number := l_rec.object_version_number;
1330 p_effective_start_date := l_rec.effective_start_date;
1331 p_effective_end_date := l_rec.effective_end_date;
1332 --
1333 --
1334 hr_utility.set_location(' Leaving:'||l_proc, 10);
1335 End upd;
1336 --
1337 end ben_epo_upd;