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