[Home] [Help]
PACKAGE BODY: APPS.BEN_COP_UPD
Source
1 Package Body ben_cop_upd as
2 /* $Header: becoprhi.pkb 120.5 2007/12/04 10:59:29 bachakra noship $ */
3 --
4 -- ----------------------------------------------------------------------------
5 -- | Private Global Definitions |
6 -- ----------------------------------------------------------------------------
7 --
8 g_package varchar2(33) := ' ben_cop_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_cop_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_oipl_f',
78 p_base_key_column => 'oipl_id',
79 p_base_key_value => p_rec.oipl_id);
80 --
81 ben_cop_shd.g_api_dml := true; -- Set the api dml status
82 --
83 -- Update the ben_oipl_f Row
84 --
85 update ben_oipl_f
86 set
87 oipl_id = p_rec.oipl_id,
88 ivr_ident = p_rec.ivr_ident,
89 url_ref_name = p_rec.url_ref_name,
90 opt_id = p_rec.opt_id,
91 business_group_id = p_rec.business_group_id,
92 pl_id = p_rec.pl_id,
93 ordr_num = p_rec.ordr_num,
94 rqd_perd_enrt_nenrt_val = p_rec.rqd_perd_enrt_nenrt_val,
95 actl_prem_id = p_rec.actl_prem_id,
96 dflt_flag = p_rec.dflt_flag,
97 mndtry_flag = p_rec.mndtry_flag,
98 oipl_stat_cd = p_rec.oipl_stat_cd,
99 pcp_dsgn_cd = p_rec.pcp_dsgn_cd,
100 pcp_dpnt_dsgn_cd = p_rec.pcp_dpnt_dsgn_cd,
101 rqd_perd_enrt_nenrt_uom = p_rec.rqd_perd_enrt_nenrt_uom,
102 elig_apls_flag = p_rec.elig_apls_flag,
103 dflt_enrt_det_rl = p_rec.dflt_enrt_det_rl,
104 trk_inelig_per_flag = p_rec.trk_inelig_per_flag,
105 drvbl_fctr_prtn_elig_flag = p_rec.drvbl_fctr_prtn_elig_flag,
106 mndtry_rl = p_rec.mndtry_rl,
107 rqd_perd_enrt_nenrt_rl = p_rec.rqd_perd_enrt_nenrt_rl,
108 dflt_enrt_cd = p_rec.dflt_enrt_cd,
109 prtn_elig_ovrid_alwd_flag = p_rec.prtn_elig_ovrid_alwd_flag,
110 drvbl_fctr_apls_rts_flag = p_rec.drvbl_fctr_apls_rts_flag,
111 per_cvrd_cd = p_rec.per_cvrd_cd,
112 postelcn_edit_rl = p_rec.postelcn_edit_rl,
113 vrfy_fmly_mmbr_cd = p_rec.vrfy_fmly_mmbr_cd,
114 vrfy_fmly_mmbr_rl = p_rec.vrfy_fmly_mmbr_rl,
115 enrt_cd = p_rec.enrt_cd,
116 enrt_rl = p_rec.enrt_rl,
117 auto_enrt_flag = p_rec.auto_enrt_flag,
118 auto_enrt_mthd_rl = p_rec.auto_enrt_mthd_rl,
119 short_name = p_rec.short_name, /*FHR*/
120 short_code = p_rec.short_code, /*FHR*/
121 legislation_code = p_rec.legislation_code, /*FHR*/
122 legislation_subgroup = p_rec.legislation_subgroup, /*FHR*/
123 hidden_flag = nvl(p_rec.hidden_flag,'N'),
124 susp_if_ctfn_not_prvd_flag = p_rec.susp_if_ctfn_not_prvd_flag,
125 ctfn_determine_cd = p_rec.ctfn_determine_cd,
126 cop_attribute_category = p_rec.cop_attribute_category,
127 cop_attribute1 = p_rec.cop_attribute1,
128 cop_attribute2 = p_rec.cop_attribute2,
129 cop_attribute3 = p_rec.cop_attribute3,
130 cop_attribute4 = p_rec.cop_attribute4,
131 cop_attribute5 = p_rec.cop_attribute5,
132 cop_attribute6 = p_rec.cop_attribute6,
133 cop_attribute7 = p_rec.cop_attribute7,
134 cop_attribute8 = p_rec.cop_attribute8,
135 cop_attribute9 = p_rec.cop_attribute9,
136 cop_attribute10 = p_rec.cop_attribute10,
137 cop_attribute11 = p_rec.cop_attribute11,
138 cop_attribute12 = p_rec.cop_attribute12,
139 cop_attribute13 = p_rec.cop_attribute13,
140 cop_attribute14 = p_rec.cop_attribute14,
141 cop_attribute15 = p_rec.cop_attribute15,
142 cop_attribute16 = p_rec.cop_attribute16,
143 cop_attribute17 = p_rec.cop_attribute17,
144 cop_attribute18 = p_rec.cop_attribute18,
145 cop_attribute19 = p_rec.cop_attribute19,
146 cop_attribute20 = p_rec.cop_attribute20,
147 cop_attribute21 = p_rec.cop_attribute21,
148 cop_attribute22 = p_rec.cop_attribute22,
149 cop_attribute23 = p_rec.cop_attribute23,
150 cop_attribute24 = p_rec.cop_attribute24,
151 cop_attribute25 = p_rec.cop_attribute25,
152 cop_attribute26 = p_rec.cop_attribute26,
153 cop_attribute27 = p_rec.cop_attribute27,
154 cop_attribute28 = p_rec.cop_attribute28,
155 cop_attribute29 = p_rec.cop_attribute29,
156 cop_attribute30 = p_rec.cop_attribute30,
157 object_version_number = p_rec.object_version_number
158 where oipl_id = p_rec.oipl_id
159 and effective_start_date = p_validation_start_date
160 and effective_end_date = p_validation_end_date;
161 --
162 ben_cop_shd.g_api_dml := false; -- Unset the api dml status
163 --
164 -- Set the effective start and end dates
165 --
166 p_rec.effective_start_date := p_validation_start_date;
167 p_rec.effective_end_date := p_validation_end_date;
168 End If;
169 --
170 hr_utility.set_location(' Leaving:'||l_proc, 15);
171 Exception
172 When hr_api.check_integrity_violated Then
173 -- A check constraint has been violated
174 ben_cop_shd.g_api_dml := false; -- Unset the api dml status
175 ben_cop_shd.constraint_error
176 (p_constraint_name => hr_api.strip_constraint_name(SQLERRM));
177 When hr_api.unique_integrity_violated Then
178 -- Unique integrity has been violated
179 ben_cop_shd.g_api_dml := false; -- Unset the api dml status
180 ben_cop_shd.constraint_error
181 (p_constraint_name => hr_api.strip_constraint_name(SQLERRM));
182 When Others Then
183 ben_cop_shd.g_api_dml := false; -- Unset the api dml status
184 Raise;
185 End dt_update_dml;
186 --
187 -- ----------------------------------------------------------------------------
188 -- |------------------------------< update_dml >------------------------------|
189 -- ----------------------------------------------------------------------------
190 -- {Start Of Comments}
191 --
192 -- Description:
193 -- This procedure calls the dt_update_dml control logic which handles
194 -- the actual datetrack dml.
195 --
196 -- Prerequisites:
197 -- This is an internal private procedure which must be called from the upd
198 -- procedure.
199 --
200 -- In Parameters:
201 -- A Pl/Sql record structre.
202 --
203 -- Post Success:
204 -- Processing contines.
205 --
206 -- Post Failure:
207 -- No specific error handling is required within this procedure.
208 --
209 -- Developer Implementation Notes:
210 -- The update 'set' arguments list should be modified if any of your
211 -- attributes are not updateable.
212 --
213 -- Access Status:
214 -- Internal Row Handler Use Only.
215 --
216 -- {End Of Comments}
217 -- ----------------------------------------------------------------------------
218 Procedure update_dml
219 (p_rec in out nocopy ben_cop_shd.g_rec_type,
220 p_effective_date in date,
221 p_datetrack_mode in varchar2,
222 p_validation_start_date in date,
223 p_validation_end_date in date) is
224 --
225 l_proc varchar2(72) := g_package||'update_dml';
226 --
227 Begin
228 hr_utility.set_location('Entering:'||l_proc, 5);
229 --
230 dt_update_dml(p_rec => p_rec,
231 p_effective_date => p_effective_date,
232 p_datetrack_mode => p_datetrack_mode,
233 p_validation_start_date => p_validation_start_date,
234 p_validation_end_date => p_validation_end_date);
235 --
236 hr_utility.set_location(' Leaving:'||l_proc, 10);
237 End update_dml;
238 --
239 -- ----------------------------------------------------------------------------
240 -- |----------------------------< dt_pre_update >-----------------------------|
241 -- ----------------------------------------------------------------------------
242 -- {Start Of Comments}
243 --
244 -- Description:
245 -- The dt_pre_update procedure controls the execution
246 -- of dml for the datetrack modes of: UPDATE, UPDATE_OVERRIDE
247 -- and UPDATE_CHANGE_INSERT only. The execution required is as
248 -- follows:
249 --
250 -- 1) Providing the datetrack update mode is not 'CORRECTION'
251 -- then set the effective end date of the current row (this
252 -- will be the validation_start_date - 1).
253 -- 2) If the datetrack mode is 'UPDATE_OVERRIDE' then call the
254 -- corresponding delete_dml process to delete any future rows
255 -- where the effective_start_date is greater than or equal to
256 -- the validation_start_date.
257 -- 3) Call the insert_dml process to insert the new updated row
258 -- details..
259 --
260 -- Prerequisites:
261 -- This is an internal procedure which is called from the
262 -- pre_update procedure.
263 --
264 -- In Parameters:
265 --
266 -- Post Success:
267 -- Processing continues.
268 --
269 -- Post Failure:
270 -- If an error has occurred, an error message and exception will be raised
271 -- but not handled.
272 --
273 -- Developer Implementation Notes:
274 -- This is an internal procedure which is required by Datetrack. Don't
275 -- remove or modify.
276 --
277 -- Access Status:
278 -- Internal Row Handler Use Only.
279 --
280 -- {End Of Comments}
281 -- ----------------------------------------------------------------------------
282 Procedure dt_pre_update
283 (p_rec in out nocopy ben_cop_shd.g_rec_type,
284 p_effective_date in date,
285 p_datetrack_mode in varchar2,
286 p_validation_start_date in date,
287 p_validation_end_date in date) is
288 --
289 l_proc varchar2(72) := g_package||'dt_pre_update';
290 l_dummy_version_number number;
291 --
292 Begin
293 hr_utility.set_location('Entering:'||l_proc, 5);
294 If (p_datetrack_mode <> 'CORRECTION') then
295 hr_utility.set_location(l_proc, 10);
296 --
297 -- Update the current effective end date
298 --
299 ben_cop_shd.upd_effective_end_date
300 (p_effective_date => p_effective_date,
301 p_base_key_value => p_rec.oipl_id,
302 p_new_effective_end_date => (p_validation_start_date - 1),
303 p_validation_start_date => p_validation_start_date,
304 p_validation_end_date => p_validation_end_date,
305 p_object_version_number => l_dummy_version_number);
306 --
307 If (p_datetrack_mode = 'UPDATE_OVERRIDE') then
308 hr_utility.set_location(l_proc, 15);
309 --
310 -- As the datetrack mode is 'UPDATE_OVERRIDE' then we must
311 -- delete any future rows
312 --
313 ben_cop_del.delete_dml
314 (p_rec => p_rec,
315 p_effective_date => p_effective_date,
316 p_datetrack_mode => p_datetrack_mode,
317 p_validation_start_date => p_validation_start_date,
318 p_validation_end_date => p_validation_end_date);
319 End If;
320 hr_utility.set_location(l_proc, 20);
321 --
322 -- We must now insert the updated row
323 --
324 ben_cop_ins.insert_dml
325 (p_rec => p_rec,
326 p_effective_date => p_effective_date,
327 p_datetrack_mode => p_datetrack_mode,
328 p_validation_start_date => p_validation_start_date,
329 p_validation_end_date => p_validation_end_date);
330 End If;
331 hr_utility.set_location(' Leaving:'||l_proc, 20);
332 End dt_pre_update;
333 --
334 -- ----------------------------------------------------------------------------
335 -- |------------------------------< pre_update >------------------------------|
336 -- ----------------------------------------------------------------------------
337 -- {Start Of Comments}
338 --
339 -- Description:
340 -- This private procedure contains any processing which is required before
341 -- the update dml.
342 --
343 -- Prerequisites:
344 -- This is an internal procedure which is called from the upd procedure.
345 --
346 -- In Parameters:
347 -- A Pl/Sql record structre.
348 --
349 -- Post Success:
350 -- Processing continues.
351 --
352 -- Post Failure:
353 -- If an error has occurred, an error message and exception will be raised
354 -- but not handled.
355 --
356 -- Developer Implementation Notes:
357 -- Any pre-processing required before the update dml is issued should be
358 -- coded within this procedure. It is important to note that any 3rd party
359 -- maintenance should be reviewed before placing in this procedure. The call
360 -- to the dt_update_dml procedure should NOT be removed.
361 --
362 -- Access Status:
363 -- Internal Row Handler Use Only.
364 --
365 -- {End Of Comments}
366 -- ----------------------------------------------------------------------------
367 Procedure pre_update
368 (p_rec in out nocopy ben_cop_shd.g_rec_type,
369 p_effective_date in date,
370 p_datetrack_mode in varchar2,
371 p_validation_start_date in date,
372 p_validation_end_date in date) is
373 --
374 l_proc varchar2(72) := g_package||'pre_update';
375 --
376 Begin
377 hr_utility.set_location('Entering:'||l_proc, 5);
378 --
379 --
380 --
381 dt_pre_update
382 (p_rec => p_rec,
383 p_effective_date => p_effective_date,
384 p_datetrack_mode => p_datetrack_mode,
385 p_validation_start_date => p_validation_start_date,
386 p_validation_end_date => p_validation_end_date);
387 --
388 hr_utility.set_location(' Leaving:'||l_proc, 10);
389 End pre_update;
390 --
391 -- ----------------------------------------------------------------------------
392 -- |-----------------------------< post_update >------------------------------|
393 -- ----------------------------------------------------------------------------
394 -- {Start Of Comments}
395 --
396 -- Description:
397 -- This private procedure contains any processing which is required after the
398 -- update dml.
399 --
400 -- Prerequisites:
401 -- This is an internal procedure which is called from the upd procedure.
402 --
403 -- In Parameters:
404 -- A Pl/Sql record structre.
405 --
406 -- Post Success:
407 -- Processing continues.
408 --
409 -- Post Failure:
410 -- If an error has occurred, an error message and exception will be raised
411 -- but not handled.
412 --
413 -- Developer Implementation Notes:
414 -- Any post-processing required after the update dml is issued should be
415 -- coded within this procedure. It is important to note that any 3rd party
416 -- maintenance should be reviewed before placing in this procedure.
417 --
418 -- Access Status:
419 -- Internal Row Handler Use Only.
420 --
421 -- {End Of Comments}
422 -- ----------------------------------------------------------------------------
423 Procedure post_update
424 (p_rec in ben_cop_shd.g_rec_type,
425 p_effective_date in date,
426 p_datetrack_mode in varchar2,
427 p_validation_start_date in date,
428 p_validation_end_date in date) is
429 --
430 l_proc varchar2(72) := g_package||'post_update';
431 --
432 Begin
433 hr_utility.set_location('Entering:'||l_proc, 5);
434 --
435 -- Added for GSP validations
436 pqh_gsp_ben_validations.oipl_validations
437 ( p_oipl_id => p_rec.oipl_id
438 , p_dml_operation => 'U'
439 , p_effective_date => p_effective_date
440 , p_business_group_id => p_rec.business_group_id
441 , p_oipl_stat_cd => p_rec.oipl_stat_cd
442 );
443
444 -- Start of API User Hook for post_update.
445 --
446 begin
447 --
448 ben_cop_rku.after_update
449 (
450 p_oipl_id => p_rec.oipl_id
451 ,p_effective_start_date => p_rec.effective_start_date
452 ,p_effective_end_date => p_rec.effective_end_date
453 ,p_ivr_ident => p_rec.ivr_ident
454 ,p_url_ref_name => p_rec.url_ref_name
455 ,p_opt_id => p_rec.opt_id
456 ,p_business_group_id => p_rec.business_group_id
457 ,p_pl_id => p_rec.pl_id
458 ,p_ordr_num => p_rec.ordr_num
459 ,p_rqd_perd_enrt_nenrt_val => p_rec.rqd_perd_enrt_nenrt_val
460 ,p_actl_prem_id => p_rec.actl_prem_id
461 ,p_dflt_flag => p_rec.dflt_flag
462 ,p_mndtry_flag => p_rec.mndtry_flag
463 ,p_oipl_stat_cd => p_rec.oipl_stat_cd
464 ,p_pcp_dsgn_cd => p_rec.pcp_dsgn_cd
465 ,p_pcp_dpnt_dsgn_cd => p_rec.pcp_dpnt_dsgn_cd
466 ,p_rqd_perd_enrt_nenrt_uom => p_rec.rqd_perd_enrt_nenrt_uom
467 ,p_elig_apls_flag => p_rec.elig_apls_flag
468 ,p_dflt_enrt_det_rl => p_rec.dflt_enrt_det_rl
469 ,p_trk_inelig_per_flag => p_rec.trk_inelig_per_flag
470 ,p_drvbl_fctr_prtn_elig_flag => p_rec.drvbl_fctr_prtn_elig_flag
471 ,p_mndtry_rl => p_rec.mndtry_rl
472 ,p_rqd_perd_enrt_nenrt_rl => p_rec.rqd_perd_enrt_nenrt_rl
473 ,p_dflt_enrt_cd => p_rec.dflt_enrt_cd
474 ,p_prtn_elig_ovrid_alwd_flag => p_rec.prtn_elig_ovrid_alwd_flag
475 ,p_drvbl_fctr_apls_rts_flag => p_rec.drvbl_fctr_apls_rts_flag
476 ,p_per_cvrd_cd => p_rec.per_cvrd_cd
477 ,p_postelcn_edit_rl => p_rec.postelcn_edit_rl
478 ,p_vrfy_fmly_mmbr_cd => p_rec.vrfy_fmly_mmbr_cd
479 ,p_vrfy_fmly_mmbr_rl => p_rec.vrfy_fmly_mmbr_rl
480 ,p_enrt_cd => p_rec.enrt_cd
481 ,p_enrt_rl => p_rec.enrt_rl
482 ,p_auto_enrt_flag => p_rec.auto_enrt_flag
483 ,p_auto_enrt_mthd_rl => p_rec.auto_enrt_mthd_rl
484 ,p_short_name => p_rec.short_name /*FHR*/
485 ,p_short_code => p_rec.short_code /*FHR*/
486 ,p_legislation_code => p_rec.legislation_code /*FHR*/
487 ,p_legislation_subgroup => p_rec.legislation_subgroup /*FHR*/
488 ,p_hidden_flag => p_rec.hidden_flag
489 ,p_susp_if_ctfn_not_prvd_flag => p_rec.susp_if_ctfn_not_prvd_flag
490 ,p_ctfn_determine_cd => p_rec.ctfn_determine_cd
491 ,p_cop_attribute_category => p_rec.cop_attribute_category
492 ,p_cop_attribute1 => p_rec.cop_attribute1
493 ,p_cop_attribute2 => p_rec.cop_attribute2
494 ,p_cop_attribute3 => p_rec.cop_attribute3
495 ,p_cop_attribute4 => p_rec.cop_attribute4
496 ,p_cop_attribute5 => p_rec.cop_attribute5
497 ,p_cop_attribute6 => p_rec.cop_attribute6
498 ,p_cop_attribute7 => p_rec.cop_attribute7
499 ,p_cop_attribute8 => p_rec.cop_attribute8
500 ,p_cop_attribute9 => p_rec.cop_attribute9
501 ,p_cop_attribute10 => p_rec.cop_attribute10
502 ,p_cop_attribute11 => p_rec.cop_attribute11
503 ,p_cop_attribute12 => p_rec.cop_attribute12
504 ,p_cop_attribute13 => p_rec.cop_attribute13
505 ,p_cop_attribute14 => p_rec.cop_attribute14
506 ,p_cop_attribute15 => p_rec.cop_attribute15
507 ,p_cop_attribute16 => p_rec.cop_attribute16
508 ,p_cop_attribute17 => p_rec.cop_attribute17
509 ,p_cop_attribute18 => p_rec.cop_attribute18
510 ,p_cop_attribute19 => p_rec.cop_attribute19
511 ,p_cop_attribute20 => p_rec.cop_attribute20
512 ,p_cop_attribute21 => p_rec.cop_attribute21
513 ,p_cop_attribute22 => p_rec.cop_attribute22
514 ,p_cop_attribute23 => p_rec.cop_attribute23
515 ,p_cop_attribute24 => p_rec.cop_attribute24
516 ,p_cop_attribute25 => p_rec.cop_attribute25
517 ,p_cop_attribute26 => p_rec.cop_attribute26
518 ,p_cop_attribute27 => p_rec.cop_attribute27
519 ,p_cop_attribute28 => p_rec.cop_attribute28
520 ,p_cop_attribute29 => p_rec.cop_attribute29
521 ,p_cop_attribute30 => p_rec.cop_attribute30
522 ,p_object_version_number => p_rec.object_version_number
523 ,p_effective_date => p_effective_date
524 ,p_datetrack_mode => p_datetrack_mode
525 ,p_validation_start_date => p_validation_start_date
526 ,p_validation_end_date => p_validation_end_date
527 ,p_effective_start_date_o => ben_cop_shd.g_old_rec.effective_start_date
528 ,p_effective_end_date_o => ben_cop_shd.g_old_rec.effective_end_date
529 ,p_ivr_ident_o => ben_cop_shd.g_old_rec.ivr_ident
530 ,p_url_ref_name_o => ben_cop_shd.g_old_rec.url_ref_name
531 ,p_opt_id_o => ben_cop_shd.g_old_rec.opt_id
532 ,p_business_group_id_o => ben_cop_shd.g_old_rec.business_group_id
533 ,p_pl_id_o => ben_cop_shd.g_old_rec.pl_id
534 ,p_ordr_num_o => ben_cop_shd.g_old_rec.ordr_num
535 ,p_rqd_perd_enrt_nenrt_val_o => ben_cop_shd.g_old_rec.rqd_perd_enrt_nenrt_val
536 ,p_actl_prem_id_o => ben_cop_shd.g_old_rec.actl_prem_id
537 ,p_dflt_flag_o => ben_cop_shd.g_old_rec.dflt_flag
538 ,p_mndtry_flag_o => ben_cop_shd.g_old_rec.mndtry_flag
539 ,p_oipl_stat_cd_o => ben_cop_shd.g_old_rec.oipl_stat_cd
540 ,p_pcp_dsgn_cd_o => ben_cop_shd.g_old_rec.pcp_dsgn_cd
541 ,p_pcp_dpnt_dsgn_cd_o => ben_cop_shd.g_old_rec.pcp_dpnt_dsgn_cd
542 ,p_rqd_perd_enrt_nenrt_uom_o => ben_cop_shd.g_old_rec.rqd_perd_enrt_nenrt_uom
543 ,p_elig_apls_flag_o => ben_cop_shd.g_old_rec.elig_apls_flag
544 ,p_dflt_enrt_det_rl_o => ben_cop_shd.g_old_rec.dflt_enrt_det_rl
545 ,p_trk_inelig_per_flag_o => ben_cop_shd.g_old_rec.trk_inelig_per_flag
546 ,p_drvbl_fctr_prtn_elig_flag_o => ben_cop_shd.g_old_rec.drvbl_fctr_prtn_elig_flag
547 ,p_mndtry_rl_o => ben_cop_shd.g_old_rec.mndtry_rl
548 ,p_rqd_perd_enrt_nenrt_rl_o => ben_cop_shd.g_old_rec.rqd_perd_enrt_nenrt_rl
549 ,p_dflt_enrt_cd_o => ben_cop_shd.g_old_rec.dflt_enrt_cd
550 ,p_prtn_elig_ovrid_alwd_flag_o => ben_cop_shd.g_old_rec.prtn_elig_ovrid_alwd_flag
551 ,p_drvbl_fctr_apls_rts_flag_o => ben_cop_shd.g_old_rec.drvbl_fctr_apls_rts_flag
552 ,p_per_cvrd_cd_o => ben_cop_shd.g_old_rec.per_cvrd_cd
553 ,p_postelcn_edit_rl_o => ben_cop_shd.g_old_rec.postelcn_edit_rl
554 ,p_vrfy_fmly_mmbr_cd_o => ben_cop_shd.g_old_rec.vrfy_fmly_mmbr_cd
555 ,p_vrfy_fmly_mmbr_rl_o => ben_cop_shd.g_old_rec.vrfy_fmly_mmbr_rl
556 ,p_enrt_cd_o => ben_cop_shd.g_old_rec.enrt_cd
557 ,p_enrt_rl_o => ben_cop_shd.g_old_rec.enrt_rl
558 ,p_auto_enrt_flag_o => ben_cop_shd.g_old_rec.auto_enrt_flag
559 ,p_auto_enrt_mthd_rl_o => ben_cop_shd.g_old_rec.auto_enrt_mthd_rl
560 ,p_short_name_o => ben_cop_shd.g_old_rec.short_name /*FHR*/
561 ,p_short_code_o => ben_cop_shd.g_old_rec.short_code /*FHR*/
562 ,p_legislation_code_o => ben_cop_shd.g_old_rec.legislation_code /*FHR*/
563 ,p_legislation_subgroup_o => ben_cop_shd.g_old_rec.legislation_subgroup /*FHR*/
564 ,p_hidden_flag_o => ben_cop_shd.g_old_rec.hidden_flag
565 ,p_susp_if_ctfn_not_prvd_flag_o => ben_cop_shd.g_old_rec.susp_if_ctfn_not_prvd_flag
566 ,p_ctfn_determine_cd_o => ben_cop_shd.g_old_rec.ctfn_determine_cd
567 ,p_cop_attribute_category_o => ben_cop_shd.g_old_rec.cop_attribute_category
568 ,p_cop_attribute1_o => ben_cop_shd.g_old_rec.cop_attribute1
569 ,p_cop_attribute2_o => ben_cop_shd.g_old_rec.cop_attribute2
570 ,p_cop_attribute3_o => ben_cop_shd.g_old_rec.cop_attribute3
571 ,p_cop_attribute4_o => ben_cop_shd.g_old_rec.cop_attribute4
572 ,p_cop_attribute5_o => ben_cop_shd.g_old_rec.cop_attribute5
573 ,p_cop_attribute6_o => ben_cop_shd.g_old_rec.cop_attribute6
574 ,p_cop_attribute7_o => ben_cop_shd.g_old_rec.cop_attribute7
575 ,p_cop_attribute8_o => ben_cop_shd.g_old_rec.cop_attribute8
576 ,p_cop_attribute9_o => ben_cop_shd.g_old_rec.cop_attribute9
577 ,p_cop_attribute10_o => ben_cop_shd.g_old_rec.cop_attribute10
578 ,p_cop_attribute11_o => ben_cop_shd.g_old_rec.cop_attribute11
579 ,p_cop_attribute12_o => ben_cop_shd.g_old_rec.cop_attribute12
580 ,p_cop_attribute13_o => ben_cop_shd.g_old_rec.cop_attribute13
581 ,p_cop_attribute14_o => ben_cop_shd.g_old_rec.cop_attribute14
582 ,p_cop_attribute15_o => ben_cop_shd.g_old_rec.cop_attribute15
583 ,p_cop_attribute16_o => ben_cop_shd.g_old_rec.cop_attribute16
584 ,p_cop_attribute17_o => ben_cop_shd.g_old_rec.cop_attribute17
585 ,p_cop_attribute18_o => ben_cop_shd.g_old_rec.cop_attribute18
586 ,p_cop_attribute19_o => ben_cop_shd.g_old_rec.cop_attribute19
587 ,p_cop_attribute20_o => ben_cop_shd.g_old_rec.cop_attribute20
588 ,p_cop_attribute21_o => ben_cop_shd.g_old_rec.cop_attribute21
589 ,p_cop_attribute22_o => ben_cop_shd.g_old_rec.cop_attribute22
590 ,p_cop_attribute23_o => ben_cop_shd.g_old_rec.cop_attribute23
591 ,p_cop_attribute24_o => ben_cop_shd.g_old_rec.cop_attribute24
592 ,p_cop_attribute25_o => ben_cop_shd.g_old_rec.cop_attribute25
593 ,p_cop_attribute26_o => ben_cop_shd.g_old_rec.cop_attribute26
594 ,p_cop_attribute27_o => ben_cop_shd.g_old_rec.cop_attribute27
595 ,p_cop_attribute28_o => ben_cop_shd.g_old_rec.cop_attribute28
596 ,p_cop_attribute29_o => ben_cop_shd.g_old_rec.cop_attribute29
597 ,p_cop_attribute30_o => ben_cop_shd.g_old_rec.cop_attribute30
598 ,p_object_version_number_o => ben_cop_shd.g_old_rec.object_version_number
599 );
600 --
601 exception
602 --
603 when hr_api.cannot_find_prog_unit then
604 --
605 hr_api.cannot_find_prog_unit_error
606 (p_module_name => 'ben_oipl_f'
607 ,p_hook_type => 'AU');
608 --
609 end;
610 --
611 -- End of API User Hook for post_update.
612 --
613 hr_utility.set_location(' Leaving:'||l_proc, 10);
614 End post_update;
615 --
616 -- ----------------------------------------------------------------------------
617 -- |-----------------------------< convert_defs >-----------------------------|
618 -- ----------------------------------------------------------------------------
619 -- {Start Of Comments}
620 --
621 -- Description:
622 -- The Convert_Defs procedure has one very important function:
623 -- It must return the record structure for the row with all system defaulted
624 -- values converted into its corresponding parameter value for update. When
625 -- we attempt to update a row through the Upd process , certain
626 -- parameters can be defaulted which enables flexibility in the calling of
627 -- the upd process (e.g. only attributes which need to be updated need to be
628 -- specified). For the upd process to determine which attributes
629 -- have NOT been specified we need to check if the parameter has a reserved
630 -- system default value. Therefore, for all parameters which have a
631 -- corresponding reserved system default mechanism specified we need to
632 -- check if a system default is being used. If a system default is being
633 -- used then we convert the defaulted value into its corresponding attribute
634 -- value held in the g_old_rec data structure.
635 --
636 -- Prerequisites:
637 -- This private function can only be called from the upd process.
638 --
639 -- In Parameters:
640 -- A Pl/Sql record structre.
641 --
642 -- Post Success:
643 -- The record structure will be returned with all system defaulted parameter
644 -- values converted into its current row attribute value.
645 --
646 -- Post Failure:
647 -- No direct error handling is required within this function. Any possible
648 -- errors within this procedure will be a PL/SQL value error due to conversion
649
650 -- of datatypes or data lengths.
651 --
652 -- Developer Implementation Notes:
653 -- None.
654 --
655 -- Access Status:
656 -- Internal Row Handler Use Only.
657 --
658 -- {End Of Comments}
659 -- ----------------------------------------------------------------------------
660 Procedure convert_defs(p_rec in out nocopy ben_cop_shd.g_rec_type) is
661 --
662 l_proc varchar2(72) := g_package||'convert_defs';
663 --
664 Begin
665 --
666 hr_utility.set_location('Entering:'||l_proc, 5);
667 --
668 -- We must now examine each argument value in the
669 -- p_rec plsql record structure
670 -- to see if a system default is being used. If a system default
671 -- is being used then we must set to the 'current' argument value.
672 --
673 If (p_rec.ivr_ident = hr_api.g_varchar2) then
674 p_rec.ivr_ident :=
675 ben_cop_shd.g_old_rec.ivr_ident;
676 End If;
677 If (p_rec.url_ref_name = hr_api.g_varchar2) then
678 p_rec.url_ref_name :=
679 ben_cop_shd.g_old_rec.url_ref_name;
680 End If;
681 If (p_rec.opt_id = hr_api.g_number) then
682 p_rec.opt_id :=
683 ben_cop_shd.g_old_rec.opt_id;
684 End If;
685 If (p_rec.business_group_id = hr_api.g_number) then
686 p_rec.business_group_id :=
687 ben_cop_shd.g_old_rec.business_group_id;
688 End If;
689 If (p_rec.pl_id = hr_api.g_number) then
690 p_rec.pl_id :=
691 ben_cop_shd.g_old_rec.pl_id;
692 End If;
693 If (p_rec.ordr_num = hr_api.g_number) then
694 p_rec.ordr_num :=
695 ben_cop_shd.g_old_rec.ordr_num;
696 End If;
697 If (p_rec.rqd_perd_enrt_nenrt_val = hr_api.g_number) then
698 p_rec.rqd_perd_enrt_nenrt_val :=
699 ben_cop_shd.g_old_rec.rqd_perd_enrt_nenrt_val;
700 End If;
701 If (p_rec.actl_prem_id = hr_api.g_number) then
702 p_rec.actl_prem_id :=
703 ben_cop_shd.g_old_rec.actl_prem_id;
704 End If;
705 If (p_rec.dflt_flag = hr_api.g_varchar2) then
706 p_rec.dflt_flag :=
707 ben_cop_shd.g_old_rec.dflt_flag;
708 End If;
709 If (p_rec.mndtry_flag = hr_api.g_varchar2) then
710 p_rec.mndtry_flag :=
711 ben_cop_shd.g_old_rec.mndtry_flag;
712 End If;
713 If (p_rec.oipl_stat_cd = hr_api.g_varchar2) then
714 p_rec.oipl_stat_cd :=
715 ben_cop_shd.g_old_rec.oipl_stat_cd;
716 End If;
717 If (p_rec.pcp_dsgn_cd = hr_api.g_varchar2) then
718 p_rec.pcp_dsgn_cd :=
719 ben_cop_shd.g_old_rec.pcp_dsgn_cd;
720 End If;
721 If (p_rec.pcp_dpnt_dsgn_cd = hr_api.g_varchar2) then
722 p_rec.pcp_dpnt_dsgn_cd :=
723 ben_cop_shd.g_old_rec.pcp_dpnt_dsgn_cd;
724 End If;
725 If (p_rec.rqd_perd_enrt_nenrt_uom = hr_api.g_varchar2) then
726 p_rec.rqd_perd_enrt_nenrt_uom :=
727 ben_cop_shd.g_old_rec.rqd_perd_enrt_nenrt_uom;
728 End If;
729 If (p_rec.elig_apls_flag = hr_api.g_varchar2) then
730 p_rec.elig_apls_flag :=
731 ben_cop_shd.g_old_rec.elig_apls_flag;
732 End If;
733 If (p_rec.dflt_enrt_det_rl = hr_api.g_number) then
734 p_rec.dflt_enrt_det_rl :=
735 ben_cop_shd.g_old_rec.dflt_enrt_det_rl;
736 End If;
737 If (p_rec.trk_inelig_per_flag = hr_api.g_varchar2) then
738 p_rec.trk_inelig_per_flag :=
739 ben_cop_shd.g_old_rec.trk_inelig_per_flag;
740 End If;
741 If (p_rec.drvbl_fctr_prtn_elig_flag = hr_api.g_varchar2) then
742 p_rec.drvbl_fctr_prtn_elig_flag :=
743 ben_cop_shd.g_old_rec.drvbl_fctr_prtn_elig_flag;
744 End If;
745 If (p_rec.mndtry_rl = hr_api.g_number) then
746 p_rec.mndtry_rl :=
747 ben_cop_shd.g_old_rec.mndtry_rl;
748 End If;
749 If (p_rec.rqd_perd_enrt_nenrt_rl = hr_api.g_number) then
750 p_rec.rqd_perd_enrt_nenrt_rl :=
751 ben_cop_shd.g_old_rec.rqd_perd_enrt_nenrt_rl;
752 End If;
753 If (p_rec.dflt_enrt_cd = hr_api.g_varchar2) then
754 p_rec.dflt_enrt_cd :=
755 ben_cop_shd.g_old_rec.dflt_enrt_cd;
756 End If;
757 If (p_rec.per_cvrd_cd = hr_api.g_varchar2) then
758 p_rec.per_cvrd_cd :=
759 ben_cop_shd.g_old_rec.per_cvrd_cd;
760 End If;
761 If (p_rec.postelcn_edit_rl = hr_api.g_number) then
762 p_rec.postelcn_edit_rl :=
763 ben_cop_shd.g_old_rec.postelcn_edit_rl;
764 End If;
765 If (p_rec.vrfy_fmly_mmbr_cd = hr_api.g_varchar2) then
766 p_rec.vrfy_fmly_mmbr_cd :=
767 ben_cop_shd.g_old_rec.vrfy_fmly_mmbr_cd;
768 End If;
769 If (p_rec.vrfy_fmly_mmbr_rl = hr_api.g_number) then
770 p_rec.vrfy_fmly_mmbr_rl :=
771 ben_cop_shd.g_old_rec.vrfy_fmly_mmbr_rl;
772 End If;
773 If (p_rec.enrt_cd = hr_api.g_varchar2) then
774 p_rec.enrt_cd :=
775 ben_cop_shd.g_old_rec.enrt_cd;
776 End If;
777 If (p_rec.enrt_rl = hr_api.g_number) then
778 p_rec.enrt_rl :=
779 ben_cop_shd.g_old_rec.enrt_rl;
780 End If;
781 If (p_rec.auto_enrt_flag = hr_api.g_varchar2) then
782 p_rec.auto_enrt_flag :=
783 ben_cop_shd.g_old_rec.auto_enrt_flag;
784 End If;
785 If (p_rec.auto_enrt_mthd_rl = hr_api.g_number) then
786 p_rec.auto_enrt_mthd_rl :=
787 ben_cop_shd.g_old_rec.auto_enrt_mthd_rl;
788 End If;
789 If (p_rec.prtn_elig_ovrid_alwd_flag = hr_api.g_varchar2) then
790 p_rec.prtn_elig_ovrid_alwd_flag :=
791 ben_cop_shd.g_old_rec.prtn_elig_ovrid_alwd_flag;
792 End If;
793 If (p_rec.drvbl_fctr_apls_rts_flag = hr_api.g_varchar2) then
794 p_rec.drvbl_fctr_apls_rts_flag :=
795 ben_cop_shd.g_old_rec.drvbl_fctr_apls_rts_flag;
796 End If;
797 --FHR
798 If (p_rec.short_name = hr_api.g_varchar2) then
799 p_rec.short_name :=
800 ben_cop_shd.g_old_rec.short_name;
801 End If;
802 If (p_rec.short_code = hr_api.g_varchar2) then
803 p_rec.short_code :=
804 ben_cop_shd.g_old_rec.short_code;
805 End If;
806 --FHR
807 If (p_rec.legislation_code = hr_api.g_varchar2) then
808 p_rec.legislation_code :=
809 ben_cop_shd.g_old_rec.legislation_code;
810 End If;
811 If (p_rec.legislation_subgroup = hr_api.g_varchar2) then
812 p_rec.legislation_subgroup :=
813 ben_cop_shd.g_old_rec.legislation_subgroup;
814 End If;
815 If (p_rec.hidden_flag = hr_api.g_varchar2) then
816 p_rec.hidden_flag := ben_cop_shd.g_old_rec.hidden_flag;
817 End If;
818 If (p_rec.susp_if_ctfn_not_prvd_flag = hr_api.g_varchar2) then
819 p_rec.susp_if_ctfn_not_prvd_flag :=
820 ben_cop_shd.g_old_rec.susp_if_ctfn_not_prvd_flag;
821 End If;
822 If (p_rec.ctfn_determine_cd = hr_api.g_varchar2) then
823 p_rec.ctfn_determine_cd :=
824 ben_cop_shd.g_old_rec.ctfn_determine_cd;
825 End If;
826 If (p_rec.cop_attribute_category = hr_api.g_varchar2) then
827 p_rec.cop_attribute_category :=
828 ben_cop_shd.g_old_rec.cop_attribute_category;
829 End If;
830 If (p_rec.cop_attribute1 = hr_api.g_varchar2) then
831 p_rec.cop_attribute1 :=
832 ben_cop_shd.g_old_rec.cop_attribute1;
833 End If;
834 If (p_rec.cop_attribute2 = hr_api.g_varchar2) then
835 p_rec.cop_attribute2 :=
836 ben_cop_shd.g_old_rec.cop_attribute2;
837 End If;
838 If (p_rec.cop_attribute3 = hr_api.g_varchar2) then
839 p_rec.cop_attribute3 :=
840 ben_cop_shd.g_old_rec.cop_attribute3;
841 End If;
842 If (p_rec.cop_attribute4 = hr_api.g_varchar2) then
843 p_rec.cop_attribute4 :=
844 ben_cop_shd.g_old_rec.cop_attribute4;
845 End If;
846 If (p_rec.cop_attribute5 = hr_api.g_varchar2) then
847 p_rec.cop_attribute5 :=
848 ben_cop_shd.g_old_rec.cop_attribute5;
849 End If;
850 If (p_rec.cop_attribute6 = hr_api.g_varchar2) then
851 p_rec.cop_attribute6 :=
852 ben_cop_shd.g_old_rec.cop_attribute6;
853 End If;
854 If (p_rec.cop_attribute7 = hr_api.g_varchar2) then
855 p_rec.cop_attribute7 :=
856 ben_cop_shd.g_old_rec.cop_attribute7;
857 End If;
858 If (p_rec.cop_attribute8 = hr_api.g_varchar2) then
859 p_rec.cop_attribute8 :=
860 ben_cop_shd.g_old_rec.cop_attribute8;
861 End If;
862 If (p_rec.cop_attribute9 = hr_api.g_varchar2) then
863 p_rec.cop_attribute9 :=
864 ben_cop_shd.g_old_rec.cop_attribute9;
865 End If;
866 If (p_rec.cop_attribute10 = hr_api.g_varchar2) then
867 p_rec.cop_attribute10 :=
868 ben_cop_shd.g_old_rec.cop_attribute10;
869 End If;
870 If (p_rec.cop_attribute11 = hr_api.g_varchar2) then
871 p_rec.cop_attribute11 :=
872 ben_cop_shd.g_old_rec.cop_attribute11;
873 End If;
874 If (p_rec.cop_attribute12 = hr_api.g_varchar2) then
875 p_rec.cop_attribute12 :=
876 ben_cop_shd.g_old_rec.cop_attribute12;
877 End If;
878 If (p_rec.cop_attribute13 = hr_api.g_varchar2) then
879 p_rec.cop_attribute13 :=
880 ben_cop_shd.g_old_rec.cop_attribute13;
881 End If;
882 If (p_rec.cop_attribute14 = hr_api.g_varchar2) then
883 p_rec.cop_attribute14 :=
884 ben_cop_shd.g_old_rec.cop_attribute14;
885 End If;
886 If (p_rec.cop_attribute15 = hr_api.g_varchar2) then
887 p_rec.cop_attribute15 :=
888 ben_cop_shd.g_old_rec.cop_attribute15;
889 End If;
890 If (p_rec.cop_attribute16 = hr_api.g_varchar2) then
891 p_rec.cop_attribute16 :=
892 ben_cop_shd.g_old_rec.cop_attribute16;
893 End If;
894 If (p_rec.cop_attribute17 = hr_api.g_varchar2) then
895 p_rec.cop_attribute17 :=
896 ben_cop_shd.g_old_rec.cop_attribute17;
897 End If;
898 If (p_rec.cop_attribute18 = hr_api.g_varchar2) then
899 p_rec.cop_attribute18 :=
900 ben_cop_shd.g_old_rec.cop_attribute18;
901 End If;
902 If (p_rec.cop_attribute19 = hr_api.g_varchar2) then
903 p_rec.cop_attribute19 :=
904 ben_cop_shd.g_old_rec.cop_attribute19;
905 End If;
906 If (p_rec.cop_attribute20 = hr_api.g_varchar2) then
907 p_rec.cop_attribute20 :=
908 ben_cop_shd.g_old_rec.cop_attribute20;
909 End If;
910 If (p_rec.cop_attribute21 = hr_api.g_varchar2) then
911 p_rec.cop_attribute21 :=
912 ben_cop_shd.g_old_rec.cop_attribute21;
913 End If;
914 If (p_rec.cop_attribute22 = hr_api.g_varchar2) then
915 p_rec.cop_attribute22 :=
916 ben_cop_shd.g_old_rec.cop_attribute22;
917 End If;
918 If (p_rec.cop_attribute23 = hr_api.g_varchar2) then
919 p_rec.cop_attribute23 :=
920 ben_cop_shd.g_old_rec.cop_attribute23;
921 End If;
922 If (p_rec.cop_attribute24 = hr_api.g_varchar2) then
923 p_rec.cop_attribute24 :=
924 ben_cop_shd.g_old_rec.cop_attribute24;
925 End If;
926 If (p_rec.cop_attribute25 = hr_api.g_varchar2) then
927 p_rec.cop_attribute25 :=
928 ben_cop_shd.g_old_rec.cop_attribute25;
929 End If;
930 If (p_rec.cop_attribute26 = hr_api.g_varchar2) then
931 p_rec.cop_attribute26 :=
932 ben_cop_shd.g_old_rec.cop_attribute26;
933 End If;
934 If (p_rec.cop_attribute27 = hr_api.g_varchar2) then
935 p_rec.cop_attribute27 :=
936 ben_cop_shd.g_old_rec.cop_attribute27;
937 End If;
938 If (p_rec.cop_attribute28 = hr_api.g_varchar2) then
939 p_rec.cop_attribute28 :=
940 ben_cop_shd.g_old_rec.cop_attribute28;
941 End If;
942 If (p_rec.cop_attribute29 = hr_api.g_varchar2) then
943 p_rec.cop_attribute29 :=
944 ben_cop_shd.g_old_rec.cop_attribute29;
945 End If;
946 If (p_rec.cop_attribute30 = hr_api.g_varchar2) then
947 p_rec.cop_attribute30 :=
948 ben_cop_shd.g_old_rec.cop_attribute30;
949 End If;
950 --
951 hr_utility.set_location(' Leaving:'||l_proc, 10);
952 --
953 End convert_defs;
954 --
955 -- ----------------------------------------------------------------------------
956 -- |---------------------------------< upd >----------------------------------|
957 -- ----------------------------------------------------------------------------
958 Procedure upd
959 (
960 p_rec in out nocopy ben_cop_shd.g_rec_type,
961 p_effective_date in date,
962 p_datetrack_mode in varchar2
963 ) is
964 --
965 l_proc varchar2(72) := g_package||'upd';
966 l_validation_start_date date;
967 l_validation_end_date date;
968 --
969 Begin
970 hr_utility.set_location('Entering:'||l_proc, 5);
971 --
972 -- Ensure that the DateTrack update mode is valid
973 --
974 dt_api.validate_dt_upd_mode(p_datetrack_mode => p_datetrack_mode);
975 --
976 -- We must lock the row which we need to update.
977 --
978 ben_cop_shd.lck
979 (p_effective_date => p_effective_date,
980 p_datetrack_mode => p_datetrack_mode,
981 p_oipl_id => p_rec.oipl_id,
982 p_object_version_number => p_rec.object_version_number,
983 p_validation_start_date => l_validation_start_date,
984 p_validation_end_date => l_validation_end_date);
985 --
986 -- 1. During an update system defaults are used to determine if
987 -- arguments have been defaulted or not. We must therefore
988 -- derive the full record structure values to be updated.
989 --
990 -- 2. Call the supporting update validate operations.
991 --
992 convert_defs(p_rec);
993 ben_cop_bus.update_validate
994 (p_rec => p_rec,
995 p_effective_date => p_effective_date,
996 p_datetrack_mode => p_datetrack_mode,
997 p_validation_start_date => l_validation_start_date,
998 p_validation_end_date => l_validation_end_date);
999 --
1000 -- Call the supporting pre-update operation
1001 --
1002 pre_update
1003 (p_rec => p_rec,
1004 p_effective_date => p_effective_date,
1005 p_datetrack_mode => p_datetrack_mode,
1006 p_validation_start_date => l_validation_start_date,
1007 p_validation_end_date => l_validation_end_date);
1008 --
1009 -- Update the row.
1010 --
1011 update_dml
1012 (p_rec => p_rec,
1013 p_effective_date => p_effective_date,
1014 p_datetrack_mode => p_datetrack_mode,
1015 p_validation_start_date => l_validation_start_date,
1016 p_validation_end_date => l_validation_end_date);
1017 --
1018 -- Call the supporting post-update operation
1019 --
1020 post_update
1021 (p_rec => p_rec,
1022 p_effective_date => p_effective_date,
1023 p_datetrack_mode => p_datetrack_mode,
1024 p_validation_start_date => l_validation_start_date,
1025 p_validation_end_date => l_validation_end_date);
1026 End upd;
1027 --
1028 -- ----------------------------------------------------------------------------
1029 -- |---------------------------------< upd >----------------------------------|
1030 -- ----------------------------------------------------------------------------
1031 Procedure upd
1032 (
1033 p_oipl_id in number,
1034 p_effective_start_date out nocopy date,
1035 p_effective_end_date out nocopy date,
1036 p_ivr_ident in varchar2 default hr_api.g_varchar2,
1037 p_url_ref_name in varchar2 default hr_api.g_varchar2,
1038 p_opt_id in number default hr_api.g_number,
1039 p_business_group_id in number default hr_api.g_number,
1040 p_pl_id in number default hr_api.g_number,
1041 p_ordr_num in number default hr_api.g_number,
1042 p_rqd_perd_enrt_nenrt_val in number default hr_api.g_number,
1043 p_dflt_flag in varchar2 default hr_api.g_varchar2,
1044 p_actl_prem_id in number default hr_api.g_number,
1045 p_mndtry_flag in varchar2 default hr_api.g_varchar2,
1046 p_oipl_stat_cd in varchar2 default hr_api.g_varchar2,
1047 p_pcp_dsgn_cd in varchar2 default hr_api.g_varchar2,
1048 p_pcp_dpnt_dsgn_cd in varchar2 default hr_api.g_varchar2,
1049 p_rqd_perd_enrt_nenrt_uom in varchar2 default hr_api.g_varchar2,
1050 p_elig_apls_flag in varchar2 default hr_api.g_varchar2,
1051 p_dflt_enrt_det_rl in number default hr_api.g_number,
1052 p_trk_inelig_per_flag in varchar2 default hr_api.g_varchar2,
1053 p_drvbl_fctr_prtn_elig_flag in varchar2 default hr_api.g_varchar2,
1054 p_mndtry_rl in number default hr_api.g_number,
1055 p_rqd_perd_enrt_nenrt_rl in number default hr_api.g_number,
1056 p_dflt_enrt_cd in varchar2 default hr_api.g_varchar2,
1057 p_prtn_elig_ovrid_alwd_flag in varchar2 default hr_api.g_varchar2,
1058 p_drvbl_fctr_apls_rts_flag in varchar2 default hr_api.g_varchar2,
1059 p_per_cvrd_cd in varchar2 default hr_api.g_varchar2,
1060 p_postelcn_edit_rl in number default hr_api.g_number,
1061 p_vrfy_fmly_mmbr_cd in varchar2 default hr_api.g_varchar2,
1062 p_vrfy_fmly_mmbr_rl in number default hr_api.g_number,
1063 p_enrt_cd in varchar2 default hr_api.g_varchar2,
1064 p_enrt_rl in number default hr_api.g_number,
1065 p_auto_enrt_flag in varchar2 default hr_api.g_varchar2,
1066 p_auto_enrt_mthd_rl in number default hr_api.g_number,
1067 p_short_name in varchar2 default hr_api.g_varchar2, --FHR
1068 p_short_code in varchar2 default hr_api.g_varchar2, --FHR
1069 p_legislation_code in varchar2 default hr_api.g_varchar2,
1070 p_legislation_subgroup in varchar2 default hr_api.g_varchar2,
1071 p_hidden_flag in varchar2 default hr_api.g_varchar2,
1072 p_susp_if_ctfn_not_prvd_flag in varchar2 default hr_api.g_varchar2,
1073 p_ctfn_determine_cd in varchar2 default hr_api.g_varchar2,
1074 p_cop_attribute_category in varchar2 default hr_api.g_varchar2,
1075 p_cop_attribute1 in varchar2 default hr_api.g_varchar2,
1076 p_cop_attribute2 in varchar2 default hr_api.g_varchar2,
1077 p_cop_attribute3 in varchar2 default hr_api.g_varchar2,
1078 p_cop_attribute4 in varchar2 default hr_api.g_varchar2,
1079 p_cop_attribute5 in varchar2 default hr_api.g_varchar2,
1080 p_cop_attribute6 in varchar2 default hr_api.g_varchar2,
1081 p_cop_attribute7 in varchar2 default hr_api.g_varchar2,
1082 p_cop_attribute8 in varchar2 default hr_api.g_varchar2,
1083 p_cop_attribute9 in varchar2 default hr_api.g_varchar2,
1084 p_cop_attribute10 in varchar2 default hr_api.g_varchar2,
1085 p_cop_attribute11 in varchar2 default hr_api.g_varchar2,
1086 p_cop_attribute12 in varchar2 default hr_api.g_varchar2,
1087 p_cop_attribute13 in varchar2 default hr_api.g_varchar2,
1088 p_cop_attribute14 in varchar2 default hr_api.g_varchar2,
1089 p_cop_attribute15 in varchar2 default hr_api.g_varchar2,
1090 p_cop_attribute16 in varchar2 default hr_api.g_varchar2,
1091 p_cop_attribute17 in varchar2 default hr_api.g_varchar2,
1092 p_cop_attribute18 in varchar2 default hr_api.g_varchar2,
1093 p_cop_attribute19 in varchar2 default hr_api.g_varchar2,
1094 p_cop_attribute20 in varchar2 default hr_api.g_varchar2,
1095 p_cop_attribute21 in varchar2 default hr_api.g_varchar2,
1096 p_cop_attribute22 in varchar2 default hr_api.g_varchar2,
1097 p_cop_attribute23 in varchar2 default hr_api.g_varchar2,
1098 p_cop_attribute24 in varchar2 default hr_api.g_varchar2,
1099 p_cop_attribute25 in varchar2 default hr_api.g_varchar2,
1100 p_cop_attribute26 in varchar2 default hr_api.g_varchar2,
1101 p_cop_attribute27 in varchar2 default hr_api.g_varchar2,
1102 p_cop_attribute28 in varchar2 default hr_api.g_varchar2,
1103 p_cop_attribute29 in varchar2 default hr_api.g_varchar2,
1104 p_cop_attribute30 in varchar2 default hr_api.g_varchar2,
1105 p_object_version_number in out nocopy number,
1106 p_effective_date in date,
1107 p_datetrack_mode in varchar2
1108 ) is
1109 --
1110 l_rec ben_cop_shd.g_rec_type;
1111 l_proc varchar2(72) := g_package||'upd';
1112 --
1113 Begin
1114 hr_utility.set_location('Entering:'||l_proc, 5);
1115 --
1116 -- Call conversion function to turn arguments into the
1117 -- l_rec structure.
1118 --
1119 l_rec :=
1120 ben_cop_shd.convert_args
1121 (
1122 p_oipl_id,
1123 null,
1124 null,
1125 p_ivr_ident,
1126 p_url_ref_name,
1127 p_opt_id,
1128 p_business_group_id,
1129 p_pl_id,
1130 p_ordr_num,
1131 p_rqd_perd_enrt_nenrt_val,
1132 p_dflt_flag,
1133 p_actl_prem_id,
1134 p_mndtry_flag,
1135 p_oipl_stat_cd,
1136 p_pcp_dsgn_cd,
1137 p_pcp_dpnt_dsgn_cd,
1138 p_rqd_perd_enrt_nenrt_uom,
1139 p_elig_apls_flag,
1140 p_dflt_enrt_det_rl,
1141 p_trk_inelig_per_flag,
1142 p_drvbl_fctr_prtn_elig_flag,
1143 p_mndtry_rl,
1144 p_rqd_perd_enrt_nenrt_rl,
1145 p_dflt_enrt_cd,
1146 p_prtn_elig_ovrid_alwd_flag,
1147 p_drvbl_fctr_apls_rts_flag,
1148 p_per_cvrd_cd,
1149 p_postelcn_edit_rl,
1150 p_vrfy_fmly_mmbr_cd,
1151 p_vrfy_fmly_mmbr_rl,
1152 p_enrt_cd,
1153 p_enrt_rl,
1154 p_auto_enrt_flag,
1155 p_auto_enrt_mthd_rl,
1156 p_short_name, --FHR
1157 p_short_code, --FHR
1158 p_legislation_code,
1159 p_legislation_subgroup,
1160 p_hidden_flag,
1161 p_susp_if_ctfn_not_prvd_flag,
1162 p_ctfn_determine_cd,
1163 p_cop_attribute_category,
1164 p_cop_attribute1,
1165 p_cop_attribute2,
1166 p_cop_attribute3,
1167 p_cop_attribute4,
1168 p_cop_attribute5,
1169 p_cop_attribute6,
1170 p_cop_attribute7,
1171 p_cop_attribute8,
1172 p_cop_attribute9,
1173 p_cop_attribute10,
1174 p_cop_attribute11,
1175 p_cop_attribute12,
1176 p_cop_attribute13,
1177 p_cop_attribute14,
1178 p_cop_attribute15,
1179 p_cop_attribute16,
1180 p_cop_attribute17,
1181 p_cop_attribute18,
1182 p_cop_attribute19,
1183 p_cop_attribute20,
1184 p_cop_attribute21,
1185 p_cop_attribute22,
1186 p_cop_attribute23,
1187 p_cop_attribute24,
1188 p_cop_attribute25,
1189 p_cop_attribute26,
1190 p_cop_attribute27,
1191 p_cop_attribute28,
1192 p_cop_attribute29,
1193 p_cop_attribute30,
1194 p_object_version_number
1195 );
1196 --
1197 -- Having converted the arguments into the
1198 -- plsql record structure we call the corresponding record
1199 -- business process.
1200 --
1201 upd(l_rec, p_effective_date, p_datetrack_mode);
1202 p_object_version_number := l_rec.object_version_number;
1203 p_effective_start_date := l_rec.effective_start_date;
1204 p_effective_end_date := l_rec.effective_end_date;
1205 --
1206 --
1207 hr_utility.set_location(' Leaving:'||l_proc, 10);
1208 End upd;
1209 --
1210 end ben_cop_upd;