DBA Data[Home] [Help]

PACKAGE BODY: APPS.BEN_CPP_UPD

Source


1 Package Body ben_cpp_upd as
2 /* $Header: becpprhi.pkb 120.0 2005/05/28 01:16:55 appldev noship $ */
3 --
4 -- ----------------------------------------------------------------------------
5 -- |                     Private Global Definitions                           |
6 -- ----------------------------------------------------------------------------
7 --
8 g_package  varchar2(33)	:= '  ben_cpp_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_cpp_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_plip_f',
78 	   p_base_key_column	=> 'plip_id',
79 	   p_base_key_value	=> p_rec.plip_id);
80     --
81     ben_cpp_shd.g_api_dml := true;  -- Set the api dml status
82     --
83     -- Update the ben_plip_f Row
84     --
85     update  ben_plip_f
86     set
87         plip_id                         = p_rec.plip_id,
88     business_group_id               = p_rec.business_group_id,
89     pgm_id                          = p_rec.pgm_id,
90     pl_id                           = p_rec.pl_id,
91     cmbn_plip_id                    = p_rec.cmbn_plip_id,
92     dflt_flag                       = p_rec.dflt_flag,
93     plip_stat_cd                    = p_rec.plip_stat_cd,
94     dflt_enrt_cd                    = p_rec.dflt_enrt_cd,
95     dflt_enrt_det_rl                = p_rec.dflt_enrt_det_rl,
96     ordr_num                        = p_rec.ordr_num,
97     alws_unrstrctd_enrt_flag        = p_rec.alws_unrstrctd_enrt_flag,
98     auto_enrt_mthd_rl               = p_rec.auto_enrt_mthd_rl,
99     enrt_cd                         = p_rec.enrt_cd,
100     enrt_mthd_cd                    = p_rec.enrt_mthd_cd,
101     enrt_rl                         = p_rec.enrt_rl,
102     ivr_ident                       = p_rec.ivr_ident,
103     url_ref_name                    = p_rec.url_ref_name,
104     enrt_cvg_strt_dt_cd             = p_rec.enrt_cvg_strt_dt_cd,
105     enrt_cvg_strt_dt_rl             = p_rec.enrt_cvg_strt_dt_rl,
106     enrt_cvg_end_dt_cd              = p_rec.enrt_cvg_end_dt_cd,
107     enrt_cvg_end_dt_rl              = p_rec.enrt_cvg_end_dt_rl,
108     rt_strt_dt_cd                   = p_rec.rt_strt_dt_cd,
109     rt_strt_dt_rl                   = p_rec.rt_strt_dt_rl,
110     rt_end_dt_cd                    = p_rec.rt_end_dt_cd,
111     rt_end_dt_rl                    = p_rec.rt_end_dt_rl,
112     drvbl_fctr_apls_rts_flag        = p_rec.drvbl_fctr_apls_rts_flag,
113     drvbl_fctr_prtn_elig_flag       = p_rec.drvbl_fctr_prtn_elig_flag,
114     elig_apls_flag                  = p_rec.elig_apls_flag,
115     prtn_elig_ovrid_alwd_flag       = p_rec.prtn_elig_ovrid_alwd_flag,
116     trk_inelig_per_flag             = p_rec.trk_inelig_per_flag,
117     postelcn_edit_rl                = p_rec.postelcn_edit_rl,
118     dflt_to_asn_pndg_ctfn_cd        = p_rec.dflt_to_asn_pndg_ctfn_cd,
119     dflt_to_asn_pndg_ctfn_rl        = p_rec.dflt_to_asn_pndg_ctfn_rl,
120     mn_cvg_amt                      = p_rec.mn_cvg_amt,
121     mn_cvg_rl                       = p_rec.mn_cvg_rl,
122     mx_cvg_alwd_amt                 = p_rec.mx_cvg_alwd_amt,
123     mx_cvg_incr_alwd_amt            = p_rec.mx_cvg_incr_alwd_amt,
124     mx_cvg_incr_wcf_alwd_amt        = p_rec.mx_cvg_incr_wcf_alwd_amt,
125     mx_cvg_mlt_incr_num             = p_rec.mx_cvg_mlt_incr_num,
126     mx_cvg_mlt_incr_wcf_num         = p_rec.mx_cvg_mlt_incr_wcf_num,
127     mx_cvg_rl                       = p_rec.mx_cvg_rl,
128     mx_cvg_wcfn_amt                 = p_rec.mx_cvg_wcfn_amt,
129     mx_cvg_wcfn_mlt_num             = p_rec.mx_cvg_wcfn_mlt_num,
130     no_mn_cvg_amt_apls_flag         = p_rec.no_mn_cvg_amt_apls_flag,
131     no_mn_cvg_incr_apls_flag        = p_rec.no_mn_cvg_incr_apls_flag,
132     no_mx_cvg_amt_apls_flag         = p_rec.no_mx_cvg_amt_apls_flag,
133     no_mx_cvg_incr_apls_flag        = p_rec.no_mx_cvg_incr_apls_flag,
134     unsspnd_enrt_cd                 = p_rec.unsspnd_enrt_cd,
135     prort_prtl_yr_cvg_rstrn_cd      = p_rec.prort_prtl_yr_cvg_rstrn_cd,
136     prort_prtl_yr_cvg_rstrn_rl      = p_rec.prort_prtl_yr_cvg_rstrn_rl,
137     cvg_incr_r_decr_only_cd         = p_rec.cvg_incr_r_decr_only_cd,
138     bnft_or_option_rstrctn_cd       = p_rec.bnft_or_option_rstrctn_cd,
139     per_cvrd_cd                     = p_rec.per_cvrd_cd ,
140     short_name                     = p_rec.short_name ,
141     short_code                     = p_rec.short_code ,
142         legislation_code                     = p_rec.legislation_code ,
143         legislation_subgroup                     = p_rec.legislation_subgroup ,
144     vrfy_fmly_mmbr_rl               = p_rec.vrfy_fmly_mmbr_rl  ,
145     vrfy_fmly_mmbr_cd               = p_rec.vrfy_fmly_mmbr_cd,
146     use_csd_rsd_prccng_cd           = p_rec.use_csd_rsd_prccng_cd,
147     cpp_attribute_category          = p_rec.cpp_attribute_category,
148     cpp_attribute1                  = p_rec.cpp_attribute1,
149     cpp_attribute2                  = p_rec.cpp_attribute2,
150     cpp_attribute3                  = p_rec.cpp_attribute3,
151     cpp_attribute4                  = p_rec.cpp_attribute4,
152     cpp_attribute5                  = p_rec.cpp_attribute5,
153     cpp_attribute6                  = p_rec.cpp_attribute6,
154     cpp_attribute7                  = p_rec.cpp_attribute7,
155     cpp_attribute8                  = p_rec.cpp_attribute8,
156     cpp_attribute9                  = p_rec.cpp_attribute9,
157     cpp_attribute10                 = p_rec.cpp_attribute10,
158     cpp_attribute11                 = p_rec.cpp_attribute11,
159     cpp_attribute12                 = p_rec.cpp_attribute12,
160     cpp_attribute13                 = p_rec.cpp_attribute13,
161     cpp_attribute14                 = p_rec.cpp_attribute14,
162     cpp_attribute15                 = p_rec.cpp_attribute15,
163     cpp_attribute16                 = p_rec.cpp_attribute16,
164     cpp_attribute17                 = p_rec.cpp_attribute17,
165     cpp_attribute18                 = p_rec.cpp_attribute18,
166     cpp_attribute19                 = p_rec.cpp_attribute19,
167     cpp_attribute20                 = p_rec.cpp_attribute20,
168     cpp_attribute21                 = p_rec.cpp_attribute21,
169     cpp_attribute22                 = p_rec.cpp_attribute22,
170     cpp_attribute23                 = p_rec.cpp_attribute23,
171     cpp_attribute24                 = p_rec.cpp_attribute24,
172     cpp_attribute25                 = p_rec.cpp_attribute25,
173     cpp_attribute26                 = p_rec.cpp_attribute26,
174     cpp_attribute27                 = p_rec.cpp_attribute27,
175     cpp_attribute28                 = p_rec.cpp_attribute28,
176     cpp_attribute29                 = p_rec.cpp_attribute29,
177     cpp_attribute30                 = p_rec.cpp_attribute30,
178     object_version_number           = p_rec.object_version_number
179     where   plip_id = p_rec.plip_id
180     and     effective_start_date = p_validation_start_date
181     and     effective_end_date   = p_validation_end_date;
182     --
183     ben_cpp_shd.g_api_dml := false;   -- Unset the api dml status
184     --
185     -- Set the effective start and end dates
186     --
187     p_rec.effective_start_date := p_validation_start_date;
188     p_rec.effective_end_date   := p_validation_end_date;
189   End If;
190 --
191 hr_utility.set_location(' Leaving:'||l_proc, 15);
192 Exception
193   When hr_api.check_integrity_violated Then
194     -- A check constraint has been violated
195     ben_cpp_shd.g_api_dml := false;   -- Unset the api dml status
196     ben_cpp_shd.constraint_error
197       (p_constraint_name => hr_api.strip_constraint_name(SQLERRM));
198   When hr_api.unique_integrity_violated Then
199     -- Unique integrity has been violated
200     ben_cpp_shd.g_api_dml := false;   -- Unset the api dml status
201     ben_cpp_shd.constraint_error
202       (p_constraint_name => hr_api.strip_constraint_name(SQLERRM));
203   When Others Then
204     ben_cpp_shd.g_api_dml := false;   -- Unset the api dml status
205     Raise;
206 End dt_update_dml;
207 --
208 -- ----------------------------------------------------------------------------
209 -- |------------------------------< update_dml >------------------------------|
210 -- ----------------------------------------------------------------------------
211 -- {Start Of Comments}
212 --
213 -- Description:
214 --   This procedure calls the dt_update_dml control logic which handles
215 --   the actual datetrack dml.
216 --
217 -- Prerequisites:
218 --   This is an internal private procedure which must be called from the upd
219 --   procedure.
220 --
221 -- In Parameters:
222 --   A Pl/Sql record structre.
223 --
224 -- Post Success:
225 --   Processing contines.
226 --
227 -- Post Failure:
228 --   No specific error handling is required within this procedure.
229 --
230 -- Developer Implementation Notes:
231 --   The update 'set' arguments list should be modified if any of your
232 --   attributes are not updateable.
233 --
234 -- Access Status:
235 --   Internal Row Handler Use Only.
236 --
237 -- {End Of Comments}
238 -- ----------------------------------------------------------------------------
239 Procedure update_dml
240 	(p_rec 			 in out nocopy ben_cpp_shd.g_rec_type,
241 	 p_effective_date	 in	date,
242 	 p_datetrack_mode	 in	varchar2,
243 	 p_validation_start_date in	date,
244 	 p_validation_end_date	 in	date) is
245 --
246   l_proc	varchar2(72) := g_package||'update_dml';
247 --
248 Begin
249   hr_utility.set_location('Entering:'||l_proc, 5);
250   --
251   dt_update_dml(p_rec			=> p_rec,
252 		p_effective_date	=> p_effective_date,
253 		p_datetrack_mode	=> p_datetrack_mode,
254        		p_validation_start_date	=> p_validation_start_date,
255 		p_validation_end_date	=> p_validation_end_date);
256   --
257   hr_utility.set_location(' Leaving:'||l_proc, 10);
258 End update_dml;
259 --
260 -- ----------------------------------------------------------------------------
261 -- |----------------------------< dt_pre_update >-----------------------------|
262 -- ----------------------------------------------------------------------------
263 -- {Start Of Comments}
264 --
265 -- Description:
266 --   The dt_pre_update procedure controls the execution
267 --   of dml for the datetrack modes of: UPDATE, UPDATE_OVERRIDE
268 --   and UPDATE_CHANGE_INSERT only. The execution required is as
269 --   follows:
270 --
271 --   1) Providing the datetrack update mode is not 'CORRECTION'
272 --      then set the effective end date of the current row (this
273 --      will be the validation_start_date - 1).
274 --   2) If the datetrack mode is 'UPDATE_OVERRIDE' then call the
275 --      corresponding delete_dml process to delete any future rows
276 --      where the effective_start_date is greater than or equal to
277 --	the validation_start_date.
278 --   3) Call the insert_dml process to insert the new updated row
279 --      details..
280 --
281 -- Prerequisites:
282 --   This is an internal procedure which is called from the
283 --   pre_update procedure.
284 --
285 -- In Parameters:
286 --
287 -- Post Success:
288 --   Processing continues.
289 --
290 -- Post Failure:
291 --   If an error has occurred, an error message and exception will be raised
292 --   but not handled.
293 --
294 -- Developer Implementation Notes:
295 --   This is an internal procedure which is required by Datetrack. Don't
296 --   remove or modify.
297 --
298 -- Access Status:
299 --   Internal Row Handler Use Only.
300 --
301 -- {End Of Comments}
302 -- ----------------------------------------------------------------------------
303 Procedure dt_pre_update
304 	(p_rec 			 in out nocopy ben_cpp_shd.g_rec_type,
305 	 p_effective_date	 in	date,
306 	 p_datetrack_mode	 in	varchar2,
307 	 p_validation_start_date in	date,
308 	 p_validation_end_date	 in	date) is
309 --
310   l_proc	         varchar2(72) := g_package||'dt_pre_update';
311   l_dummy_version_number number;
312 --
313 Begin
314   hr_utility.set_location('Entering:'||l_proc, 5);
315   If (p_datetrack_mode <> 'CORRECTION') then
316     hr_utility.set_location(l_proc, 10);
317     --
318     -- Update the current effective end date
319     --
320     ben_cpp_shd.upd_effective_end_date
321      (p_effective_date	       => p_effective_date,
322       p_base_key_value	       => p_rec.plip_id,
323       p_new_effective_end_date => (p_validation_start_date - 1),
324       p_validation_start_date  => p_validation_start_date,
325       p_validation_end_date    => p_validation_end_date,
326       p_object_version_number  => l_dummy_version_number);
327     --
328     If (p_datetrack_mode = 'UPDATE_OVERRIDE') then
329       hr_utility.set_location(l_proc, 15);
330       --
331       -- As the datetrack mode is 'UPDATE_OVERRIDE' then we must
332       -- delete any future rows
333       --
334       ben_cpp_del.delete_dml
335         (p_rec			 => p_rec,
336 	 p_effective_date	 => p_effective_date,
337 	 p_datetrack_mode	 => p_datetrack_mode,
338 	 p_validation_start_date => p_validation_start_date,
339 	 p_validation_end_date   => p_validation_end_date);
340     End If;
341     hr_utility.set_location(l_proc, 20);
342     --
343     -- We must now insert the updated row
344     --
345     ben_cpp_ins.insert_dml
346       (p_rec			=> p_rec,
347        p_effective_date		=> p_effective_date,
348        p_datetrack_mode		=> p_datetrack_mode,
349        p_validation_start_date	=> p_validation_start_date,
350        p_validation_end_date	=> p_validation_end_date);
351   End If;
352   hr_utility.set_location(' Leaving:'||l_proc, 20);
353 End dt_pre_update;
354 --
355 -- ----------------------------------------------------------------------------
356 -- |------------------------------< pre_update >------------------------------|
357 -- ----------------------------------------------------------------------------
358 -- {Start Of Comments}
359 --
360 -- Description:
361 --   This private procedure contains any processing which is required before
362 --   the update dml.
363 --
364 -- Prerequisites:
365 --   This is an internal procedure which is called from the upd procedure.
366 --
367 -- In Parameters:
368 --   A Pl/Sql record structre.
369 --
370 -- Post Success:
371 --   Processing continues.
372 --
373 -- Post Failure:
374 --   If an error has occurred, an error message and exception will be raised
375 --   but not handled.
376 --
377 -- Developer Implementation Notes:
378 --   Any pre-processing required before the update dml is issued should be
379 --   coded within this procedure. It is important to note that any 3rd party
380 --   maintenance should be reviewed before placing in this procedure. The call
381 --   to the dt_update_dml procedure should NOT be removed.
382 --
383 -- Access Status:
384 --   Internal Row Handler Use Only.
385 --
386 -- {End Of Comments}
387 -- ----------------------------------------------------------------------------
388 Procedure pre_update
389 	(p_rec 			 in out nocopy ben_cpp_shd.g_rec_type,
390 	 p_effective_date	 in	date,
391 	 p_datetrack_mode	 in	varchar2,
392 	 p_validation_start_date in	date,
393 	 p_validation_end_date	 in	date) is
394 --
395   l_proc	varchar2(72) := g_package||'pre_update';
396 --
397 Begin
398   hr_utility.set_location('Entering:'||l_proc, 5);
399   --
400   --
401   --
402   dt_pre_update
403     (p_rec 		     => p_rec,
404      p_effective_date	     => p_effective_date,
405      p_datetrack_mode	     => p_datetrack_mode,
406      p_validation_start_date => p_validation_start_date,
407      p_validation_end_date   => p_validation_end_date);
408   --
409   hr_utility.set_location(' Leaving:'||l_proc, 10);
410 End pre_update;
411 --
412 -- ----------------------------------------------------------------------------
413 -- |-----------------------------< post_update >------------------------------|
414 -- ----------------------------------------------------------------------------
415 -- {Start Of Comments}
416 --
417 -- Description:
418 --   This private procedure contains any processing which is required after the
419 --   update dml.
420 --
421 -- Prerequisites:
422 --   This is an internal procedure which is called from the upd procedure.
423 --
424 -- In Parameters:
425 --   A Pl/Sql record structre.
426 --
427 -- Post Success:
428 --   Processing continues.
429 --
430 -- Post Failure:
431 --   If an error has occurred, an error message and exception will be raised
432 --   but not handled.
433 --
434 -- Developer Implementation Notes:
435 --   Any post-processing required after the update dml is issued should be
436 --   coded within this procedure. It is important to note that any 3rd party
437 --   maintenance should be reviewed before placing in this procedure.
438 --
439 -- Access Status:
440 --   Internal Row Handler Use Only.
441 --
442 -- {End Of Comments}
443 -- ----------------------------------------------------------------------------
444 Procedure post_update
445 	(p_rec 			 in ben_cpp_shd.g_rec_type,
446 	 p_effective_date	 in date,
447 	 p_datetrack_mode	 in varchar2,
448 	 p_validation_start_date in date,
449 	 p_validation_end_date	 in date) is
450 --
451   l_proc	varchar2(72) := g_package||'post_update';
452 --
453 Begin
454   hr_utility.set_location('Entering:'||l_proc, 5);
455 --
456 -- Added for GSP validations
457 pqh_gsp_ben_validations.plip_validations
458   	(  p_plip_id			=> p_rec.plip_id
459   	 , p_effective_date 		=> p_effective_date
460   	 , p_dml_operation 		=> 'U'
461   	 , p_business_group_id  	=> p_rec.business_group_id
462   	 , p_Plip_Stat_Cd		=> p_rec.Plip_Stat_Cd
463   	 );
464 
465   --
466   -- Start of API User Hook for post_update.
467   --
468   begin
469     --
470     ben_cpp_rku.after_update
471       (
472   p_plip_id                       =>p_rec.plip_id
473  ,p_effective_start_date          =>p_rec.effective_start_date
474  ,p_effective_end_date            =>p_rec.effective_end_date
475  ,p_business_group_id             =>p_rec.business_group_id
476  ,p_pgm_id                        =>p_rec.pgm_id
477  ,p_pl_id                         =>p_rec.pl_id
478  ,p_cmbn_plip_id                  =>p_rec.cmbn_plip_id
479  ,p_dflt_flag                     =>p_rec.dflt_flag
480  ,p_plip_stat_cd                  =>p_rec.plip_stat_cd
481  ,p_dflt_enrt_cd                  =>p_rec.dflt_enrt_cd
482  ,p_dflt_enrt_det_rl              =>p_rec.dflt_enrt_det_rl
483  ,p_ordr_num                      =>p_rec.ordr_num
484  ,p_alws_unrstrctd_enrt_flag      =>p_rec.alws_unrstrctd_enrt_flag
485  ,p_auto_enrt_mthd_rl             =>p_rec.auto_enrt_mthd_rl
486  ,p_enrt_cd                       =>p_rec.enrt_cd
487  ,p_enrt_mthd_cd                  =>p_rec.enrt_mthd_cd
488  ,p_enrt_rl                       =>p_rec.enrt_rl
489  ,p_ivr_ident                     =>p_rec.ivr_ident
490  ,p_url_ref_name                  =>p_rec.url_ref_name
491  ,p_enrt_cvg_strt_dt_cd           =>p_rec.enrt_cvg_strt_dt_cd
492  ,p_enrt_cvg_strt_dt_rl           =>p_rec.enrt_cvg_strt_dt_rl
493  ,p_enrt_cvg_end_dt_cd            =>p_rec.enrt_cvg_end_dt_cd
494  ,p_enrt_cvg_end_dt_rl            =>p_rec.enrt_cvg_end_dt_rl
495  ,p_rt_strt_dt_cd                 =>p_rec.rt_strt_dt_cd
496  ,p_rt_strt_dt_rl                 =>p_rec.rt_strt_dt_rl
497  ,p_rt_end_dt_cd                  =>p_rec.rt_end_dt_cd
498  ,p_rt_end_dt_rl                  =>p_rec.rt_end_dt_rl
499  ,p_drvbl_fctr_apls_rts_flag      =>p_rec.drvbl_fctr_apls_rts_flag
500  ,p_drvbl_fctr_prtn_elig_flag     =>p_rec.drvbl_fctr_prtn_elig_flag
501  ,p_elig_apls_flag                =>p_rec.elig_apls_flag
502  ,p_prtn_elig_ovrid_alwd_flag     =>p_rec.prtn_elig_ovrid_alwd_flag
503  ,p_trk_inelig_per_flag           =>p_rec.trk_inelig_per_flag
504  ,p_postelcn_edit_rl              =>p_rec.postelcn_edit_rl
505  ,p_dflt_to_asn_pndg_ctfn_cd      =>p_rec.dflt_to_asn_pndg_ctfn_cd
506  ,p_dflt_to_asn_pndg_ctfn_rl      =>p_rec.dflt_to_asn_pndg_ctfn_rl
507  ,p_mn_cvg_amt                    =>p_rec.mn_cvg_amt
508  ,p_mn_cvg_rl                     => p_rec.mn_cvg_rl
509  ,p_mx_cvg_alwd_amt               => p_rec.mx_cvg_alwd_amt
510  ,p_mx_cvg_incr_alwd_amt          =>p_rec.mx_cvg_incr_alwd_amt
511  ,p_mx_cvg_incr_wcf_alwd_amt      =>p_rec.mx_cvg_incr_wcf_alwd_amt
512  ,p_mx_cvg_mlt_incr_num           =>p_rec.mx_cvg_mlt_incr_num
513  ,p_mx_cvg_mlt_incr_wcf_num       =>p_rec.mx_cvg_mlt_incr_wcf_num
514  ,p_mx_cvg_rl                     =>p_rec.mx_cvg_rl
515  ,p_mx_cvg_wcfn_amt               =>p_rec.mx_cvg_wcfn_amt
516  ,p_mx_cvg_wcfn_mlt_num           =>p_rec.mx_cvg_wcfn_mlt_num
517  ,p_no_mn_cvg_amt_apls_flag       =>p_rec.no_mn_cvg_amt_apls_flag
518  ,p_no_mn_cvg_incr_apls_flag      =>p_rec.no_mn_cvg_incr_apls_flag
519  ,p_no_mx_cvg_amt_apls_flag       =>p_rec.no_mx_cvg_amt_apls_flag
520  ,p_no_mx_cvg_incr_apls_flag      =>p_rec.no_mx_cvg_incr_apls_flag
521  ,p_unsspnd_enrt_cd               =>p_rec.unsspnd_enrt_cd
522  ,p_prort_prtl_yr_cvg_rstrn_cd    =>p_rec.prort_prtl_yr_cvg_rstrn_cd
523  ,p_prort_prtl_yr_cvg_rstrn_rl    =>p_rec.prort_prtl_yr_cvg_rstrn_rl
524  ,p_cvg_incr_r_decr_only_cd       =>p_rec.cvg_incr_r_decr_only_cd
525  ,p_bnft_or_option_rstrctn_cd     =>p_rec.bnft_or_option_rstrctn_cd
526  ,p_per_cvrd_cd                   =>p_rec.per_cvrd_cd
527  ,p_short_name                   =>p_rec.short_name
528  ,p_short_code                   =>p_rec.short_code
529   ,p_legislation_code                   =>p_rec.legislation_code
530   ,p_legislation_subgroup                   =>p_rec.legislation_subgroup
531  ,p_vrfy_fmly_mmbr_rl             =>p_rec.vrfy_fmly_mmbr_rl
532  ,p_vrfy_fmly_mmbr_cd             =>p_rec.vrfy_fmly_mmbr_cd
533  ,p_use_csd_rsd_prccng_cd         =>p_rec.use_csd_rsd_prccng_cd
534  ,p_cpp_attribute_category        =>p_rec.cpp_attribute_category
535  ,p_cpp_attribute1                =>p_rec.cpp_attribute1
536  ,p_cpp_attribute2                =>p_rec.cpp_attribute2
537  ,p_cpp_attribute3                =>p_rec.cpp_attribute3
538  ,p_cpp_attribute4                =>p_rec.cpp_attribute4
539  ,p_cpp_attribute5                =>p_rec.cpp_attribute5
540  ,p_cpp_attribute6                =>p_rec.cpp_attribute6
541  ,p_cpp_attribute7                =>p_rec.cpp_attribute7
542  ,p_cpp_attribute8                =>p_rec.cpp_attribute8
543  ,p_cpp_attribute9                =>p_rec.cpp_attribute9
544  ,p_cpp_attribute10               =>p_rec.cpp_attribute10
545  ,p_cpp_attribute11               =>p_rec.cpp_attribute11
546  ,p_cpp_attribute12               =>p_rec.cpp_attribute12
547  ,p_cpp_attribute13               =>p_rec.cpp_attribute13
548  ,p_cpp_attribute14               =>p_rec.cpp_attribute14
549  ,p_cpp_attribute15               =>p_rec.cpp_attribute15
550  ,p_cpp_attribute16               =>p_rec.cpp_attribute16
551  ,p_cpp_attribute17               =>p_rec.cpp_attribute17
552  ,p_cpp_attribute18               =>p_rec.cpp_attribute18
553  ,p_cpp_attribute19               =>p_rec.cpp_attribute19
554  ,p_cpp_attribute20               =>p_rec.cpp_attribute20
555  ,p_cpp_attribute21               =>p_rec.cpp_attribute21
556  ,p_cpp_attribute22               =>p_rec.cpp_attribute22
557  ,p_cpp_attribute23               =>p_rec.cpp_attribute23
558  ,p_cpp_attribute24               =>p_rec.cpp_attribute24
559  ,p_cpp_attribute25               =>p_rec.cpp_attribute25
560  ,p_cpp_attribute26               =>p_rec.cpp_attribute26
561  ,p_cpp_attribute27               =>p_rec.cpp_attribute27
562  ,p_cpp_attribute28               =>p_rec.cpp_attribute28
563  ,p_cpp_attribute29               =>p_rec.cpp_attribute29
564  ,p_cpp_attribute30               =>p_rec.cpp_attribute30
565  ,p_object_version_number         =>p_rec.object_version_number
566  ,p_effective_date                =>p_effective_date
567  ,p_datetrack_mode                =>p_datetrack_mode
568  ,p_validation_start_date         =>p_validation_start_date
569  ,p_validation_end_date           =>p_validation_end_date
570  ,p_effective_start_date_o        =>ben_cpp_shd.g_old_rec.effective_start_date
571  ,p_effective_end_date_o          =>ben_cpp_shd.g_old_rec.effective_end_date
572  ,p_business_group_id_o           =>ben_cpp_shd.g_old_rec.business_group_id
573  ,p_pgm_id_o                      =>ben_cpp_shd.g_old_rec.pgm_id
574  ,p_pl_id_o                       =>ben_cpp_shd.g_old_rec.pl_id
575  ,p_cmbn_plip_id_o                =>ben_cpp_shd.g_old_rec.cmbn_plip_id
576  ,p_dflt_flag_o                   =>ben_cpp_shd.g_old_rec.dflt_flag
577  ,p_plip_stat_cd_o                =>ben_cpp_shd.g_old_rec.plip_stat_cd
578  ,p_dflt_enrt_cd_o                =>ben_cpp_shd.g_old_rec.dflt_enrt_cd
579  ,p_dflt_enrt_det_rl_o            =>ben_cpp_shd.g_old_rec.dflt_enrt_det_rl
580  ,p_ordr_num_o                    =>ben_cpp_shd.g_old_rec.ordr_num
581  ,p_alws_unrstrctd_enrt_flag_o    =>ben_cpp_shd.g_old_rec.alws_unrstrctd_enrt_flag
582  ,p_auto_enrt_mthd_rl_o           =>ben_cpp_shd.g_old_rec.auto_enrt_mthd_rl
583  ,p_enrt_cd_o                     =>ben_cpp_shd.g_old_rec.enrt_cd
584  ,p_enrt_mthd_cd_o                =>ben_cpp_shd.g_old_rec.enrt_mthd_cd
585  ,p_enrt_rl_o                     =>ben_cpp_shd.g_old_rec.enrt_rl
586  ,p_ivr_ident_o                   =>ben_cpp_shd.g_old_rec.ivr_ident
587  ,p_url_ref_name_o                =>ben_cpp_shd.g_old_rec.url_ref_name
588  ,p_enrt_cvg_strt_dt_cd_o         =>ben_cpp_shd.g_old_rec.enrt_cvg_strt_dt_cd
589  ,p_enrt_cvg_strt_dt_rl_o         =>ben_cpp_shd.g_old_rec.enrt_cvg_strt_dt_rl
590  ,p_enrt_cvg_end_dt_cd_o          =>ben_cpp_shd.g_old_rec.enrt_cvg_end_dt_cd
591  ,p_enrt_cvg_end_dt_rl_o          =>ben_cpp_shd.g_old_rec.enrt_cvg_end_dt_rl
592  ,p_rt_strt_dt_cd_o               =>ben_cpp_shd.g_old_rec.rt_strt_dt_cd
593  ,p_rt_strt_dt_rl_o               =>ben_cpp_shd.g_old_rec.rt_strt_dt_rl
594  ,p_rt_end_dt_cd_o                =>ben_cpp_shd.g_old_rec.rt_end_dt_cd
595  ,p_rt_end_dt_rl_o                =>ben_cpp_shd.g_old_rec.rt_end_dt_rl
596  ,p_drvbl_fctr_apls_rts_flag_o    =>ben_cpp_shd.g_old_rec.drvbl_fctr_apls_rts_flag
597  ,p_drvbl_fctr_prtn_elig_flag_o   =>ben_cpp_shd.g_old_rec.drvbl_fctr_prtn_elig_flag
598  ,p_elig_apls_flag_o              =>ben_cpp_shd.g_old_rec.elig_apls_flag
599  ,p_prtn_elig_ovrid_alwd_flag_o   =>ben_cpp_shd.g_old_rec.prtn_elig_ovrid_alwd_flag
600  ,p_trk_inelig_per_flag_o         =>ben_cpp_shd.g_old_rec.trk_inelig_per_flag
601  ,p_postelcn_edit_rl_o            =>ben_cpp_shd.g_old_rec.postelcn_edit_rl
602  ,p_dflt_to_asn_pndg_ctfn_cd_o    =>ben_cpp_shd.g_old_rec.dflt_to_asn_pndg_ctfn_cd
603  ,p_dflt_to_asn_pndg_ctfn_rl_o    =>ben_cpp_shd.g_old_rec.dflt_to_asn_pndg_ctfn_rl
604  ,p_mn_cvg_amt_o                  =>ben_cpp_shd.g_old_rec.mn_cvg_amt
605  ,p_mn_cvg_rl_o                   =>ben_cpp_shd.g_old_rec.mn_cvg_rl
606  ,p_mx_cvg_alwd_amt_o             =>ben_cpp_shd.g_old_rec.mx_cvg_alwd_amt
607  ,p_mx_cvg_incr_alwd_amt_o        =>ben_cpp_shd.g_old_rec.mx_cvg_incr_alwd_amt
608  ,p_mx_cvg_incr_wcf_alwd_amt_o    =>ben_cpp_shd.g_old_rec.mx_cvg_incr_wcf_alwd_amt
609  ,p_mx_cvg_mlt_incr_num_o         =>ben_cpp_shd.g_old_rec.mx_cvg_mlt_incr_num
610  ,p_mx_cvg_mlt_incr_wcf_num_o     =>ben_cpp_shd.g_old_rec.mx_cvg_mlt_incr_wcf_num
611  ,p_mx_cvg_rl_o                   =>ben_cpp_shd.g_old_rec.mx_cvg_rl
612  ,p_mx_cvg_wcfn_amt_o             =>ben_cpp_shd.g_old_rec.mx_cvg_wcfn_amt
613  ,p_mx_cvg_wcfn_mlt_num_o         =>ben_cpp_shd.g_old_rec.mx_cvg_wcfn_mlt_num
614  ,p_no_mn_cvg_amt_apls_flag_o     =>ben_cpp_shd.g_old_rec.no_mn_cvg_amt_apls_flag
615  ,p_no_mn_cvg_incr_apls_flag_o    =>ben_cpp_shd.g_old_rec.no_mn_cvg_incr_apls_flag
616  ,p_no_mx_cvg_amt_apls_flag_o     =>ben_cpp_shd.g_old_rec.no_mx_cvg_amt_apls_flag
617  ,p_no_mx_cvg_incr_apls_flag_o    =>ben_cpp_shd.g_old_rec.no_mx_cvg_incr_apls_flag
618  ,p_unsspnd_enrt_cd_o             =>ben_cpp_shd.g_old_rec.unsspnd_enrt_cd
619  ,p_prort_prtl_yr_cvg_rstrn_cd_o  =>ben_cpp_shd.g_old_rec.prort_prtl_yr_cvg_rstrn_cd
620  ,p_prort_prtl_yr_cvg_rstrn_rl_o  =>ben_cpp_shd.g_old_rec.prort_prtl_yr_cvg_rstrn_rl
621  ,p_cvg_incr_r_decr_only_cd_o     =>ben_cpp_shd.g_old_rec.cvg_incr_r_decr_only_cd
622  ,p_bnft_or_option_rstrctn_cd_o   =>ben_cpp_shd.g_old_rec.bnft_or_option_rstrctn_cd
623  ,p_per_cvrd_cd_o                 =>ben_cpp_shd.g_old_rec.per_cvrd_cd
624  ,p_short_name_o                 =>ben_cpp_shd.g_old_rec.short_name
625  ,p_short_code_o                 =>ben_cpp_shd.g_old_rec.short_code
626   ,p_legislation_code_o                 =>ben_cpp_shd.g_old_rec.legislation_code
627   ,p_legislation_subgroup_o                 =>ben_cpp_shd.g_old_rec.legislation_subgroup
628  ,p_vrfy_fmly_mmbr_rl_o           =>ben_cpp_shd.g_old_rec.vrfy_fmly_mmbr_rl
629  ,p_vrfy_fmly_mmbr_cd_o           =>ben_cpp_shd.g_old_rec.vrfy_fmly_mmbr_cd
630  ,p_use_csd_rsd_prccng_cd_o       =>ben_cpp_shd.g_old_rec.use_csd_rsd_prccng_cd
631  ,p_cpp_attribute_category_o      =>ben_cpp_shd.g_old_rec.cpp_attribute_category
632  ,p_cpp_attribute1_o              =>ben_cpp_shd.g_old_rec.cpp_attribute1
633  ,p_cpp_attribute2_o              =>ben_cpp_shd.g_old_rec.cpp_attribute2
634  ,p_cpp_attribute3_o              =>ben_cpp_shd.g_old_rec.cpp_attribute3
635  ,p_cpp_attribute4_o              =>ben_cpp_shd.g_old_rec.cpp_attribute4
636  ,p_cpp_attribute5_o              =>ben_cpp_shd.g_old_rec.cpp_attribute5
637  ,p_cpp_attribute6_o              =>ben_cpp_shd.g_old_rec.cpp_attribute6
638  ,p_cpp_attribute7_o              =>ben_cpp_shd.g_old_rec.cpp_attribute7
639  ,p_cpp_attribute8_o              =>ben_cpp_shd.g_old_rec.cpp_attribute8
640  ,p_cpp_attribute9_o              =>ben_cpp_shd.g_old_rec.cpp_attribute9
641  ,p_cpp_attribute10_o             =>ben_cpp_shd.g_old_rec.cpp_attribute10
642  ,p_cpp_attribute11_o             =>ben_cpp_shd.g_old_rec.cpp_attribute11
643  ,p_cpp_attribute12_o             =>ben_cpp_shd.g_old_rec.cpp_attribute12
644  ,p_cpp_attribute13_o             =>ben_cpp_shd.g_old_rec.cpp_attribute13
645  ,p_cpp_attribute14_o             =>ben_cpp_shd.g_old_rec.cpp_attribute14
646  ,p_cpp_attribute15_o             =>ben_cpp_shd.g_old_rec.cpp_attribute15
647  ,p_cpp_attribute16_o             =>ben_cpp_shd.g_old_rec.cpp_attribute16
648  ,p_cpp_attribute17_o             =>ben_cpp_shd.g_old_rec.cpp_attribute17
649  ,p_cpp_attribute18_o             =>ben_cpp_shd.g_old_rec.cpp_attribute18
650  ,p_cpp_attribute19_o             =>ben_cpp_shd.g_old_rec.cpp_attribute19
651  ,p_cpp_attribute20_o             =>ben_cpp_shd.g_old_rec.cpp_attribute20
652  ,p_cpp_attribute21_o             =>ben_cpp_shd.g_old_rec.cpp_attribute21
653  ,p_cpp_attribute22_o             =>ben_cpp_shd.g_old_rec.cpp_attribute22
654  ,p_cpp_attribute23_o             =>ben_cpp_shd.g_old_rec.cpp_attribute23
655  ,p_cpp_attribute24_o             =>ben_cpp_shd.g_old_rec.cpp_attribute24
656  ,p_cpp_attribute25_o             =>ben_cpp_shd.g_old_rec.cpp_attribute25
657  ,p_cpp_attribute26_o             =>ben_cpp_shd.g_old_rec.cpp_attribute26
658  ,p_cpp_attribute27_o             =>ben_cpp_shd.g_old_rec.cpp_attribute27
659  ,p_cpp_attribute28_o             =>ben_cpp_shd.g_old_rec.cpp_attribute28
660  ,p_cpp_attribute29_o             =>ben_cpp_shd.g_old_rec.cpp_attribute29
661  ,p_cpp_attribute30_o             =>ben_cpp_shd.g_old_rec.cpp_attribute30
662  ,p_object_version_number_o       =>ben_cpp_shd.g_old_rec.object_version_number
663       );
664     --
665   exception
666     --
667     when hr_api.cannot_find_prog_unit then
668       --
669       hr_api.cannot_find_prog_unit_error
670         (p_module_name => 'ben_plip_f'
671         ,p_hook_type   => 'AU');
672       --
673   end;
674   --
675   -- End of API User Hook for post_update.
676   --
677   --
678   hr_utility.set_location(' Leaving:'||l_proc, 10);
679 End post_update;
680 --
681 -- ----------------------------------------------------------------------------
682 -- |-----------------------------< convert_defs >-----------------------------|
683 -- ----------------------------------------------------------------------------
684 -- {Start Of Comments}
685 --
686 -- Description:
687 --   The Convert_Defs procedure has one very important function:
688 --   It must return the record structure for the row with all system defaulted
689 --   values converted into its corresponding parameter value for update. When
690 --   we attempt to update a row through the Upd process , certain
691 --   parameters can be defaulted which enables flexibility in the calling of
692 --   the upd process (e.g. only attributes which need to be updated need to be
693 --   specified). For the upd process to determine which attributes
694 --   have NOT been specified we need to check if the parameter has a reserved
695 --   system default value. Therefore, for all parameters which have a
696 --   corresponding reserved system default mechanism specified we need to
697 --   check if a system default is being used. If a system default is being
698 --   used then we convert the defaulted value into its corresponding attribute
699 --   value held in the g_old_rec data structure.
700 --
701 -- Prerequisites:
702 --   This private function can only be called from the upd process.
703 --
704 -- In Parameters:
705 --   A Pl/Sql record structre.
706 --
707 -- Post Success:
708 --   The record structure will be returned with all system defaulted parameter
709 --   values converted into its current row attribute value.
710 --
711 -- Post Failure:
712 --   No direct error handling is required within this function. Any possible
713 --   errors within this procedure will be a PL/SQL value error due to conversion
714 --   of datatypes or data lengths.
715 --
716 -- Developer Implementation Notes:
717 --   None.
718 --
719 -- Access Status:
720 --   Internal Row Handler Use Only.
721 --
722 -- {End Of Comments}
723 -- ----------------------------------------------------------------------------
724 Procedure convert_defs(p_rec in out nocopy ben_cpp_shd.g_rec_type) is
725 --
726   l_proc  varchar2(72) := g_package||'convert_defs';
727 --
728 Begin
729   --
730   hr_utility.set_location('Entering:'||l_proc, 5);
731   --
732   -- We must now examine each argument value in the
733   -- p_rec plsql record structure
734   -- to see if a system default is being used. If a system default
735   -- is being used then we must set to the 'current' argument value.
736   --
737   If (p_rec.business_group_id = hr_api.g_number) then
738     p_rec.business_group_id :=
739     ben_cpp_shd.g_old_rec.business_group_id;
740   End If;
741   If (p_rec.pgm_id = hr_api.g_number) then
742     p_rec.pgm_id :=
743     ben_cpp_shd.g_old_rec.pgm_id;
744   End If;
745   If (p_rec.pl_id = hr_api.g_number) then
746     p_rec.pl_id :=
747     ben_cpp_shd.g_old_rec.pl_id;
748   End If;
749   If (p_rec.cmbn_plip_id = hr_api.g_number) then
750     p_rec.cmbn_plip_id :=
751     ben_cpp_shd.g_old_rec.cmbn_plip_id;
752   End If;
753   If (p_rec.dflt_flag = hr_api.g_varchar2) then
754     p_rec.dflt_flag :=
755     ben_cpp_shd.g_old_rec.dflt_flag;
756   End If;
757   If (p_rec.plip_stat_cd = hr_api.g_varchar2) then
758     p_rec.plip_stat_cd :=
759     ben_cpp_shd.g_old_rec.plip_stat_cd;
760   End If;
761   If (p_rec.dflt_enrt_cd = hr_api.g_varchar2) then
762     p_rec.dflt_enrt_cd :=
763     ben_cpp_shd.g_old_rec.dflt_enrt_cd;
764   End If;
765   If (p_rec.dflt_enrt_det_rl = hr_api.g_number) then
766     p_rec.dflt_enrt_det_rl :=
767     ben_cpp_shd.g_old_rec.dflt_enrt_det_rl;
768   End If;
769   If (p_rec.ordr_num = hr_api.g_number) then
770     p_rec.ordr_num :=
771     ben_cpp_shd.g_old_rec.ordr_num;
772   End If;
773   If (p_rec.alws_unrstrctd_enrt_flag = hr_api.g_varchar2) then
774     p_rec.alws_unrstrctd_enrt_flag :=
775     ben_cpp_shd.g_old_rec.alws_unrstrctd_enrt_flag;
776   End If;
777   If (p_rec.auto_enrt_mthd_rl = hr_api.g_number) then
778     p_rec.auto_enrt_mthd_rl :=
779     ben_cpp_shd.g_old_rec.auto_enrt_mthd_rl;
780   End If;
781   If (p_rec.enrt_cd = hr_api.g_varchar2) then
782     p_rec.enrt_cd :=
783     ben_cpp_shd.g_old_rec.enrt_cd;
784   End If;
785   If (p_rec.enrt_mthd_cd = hr_api.g_varchar2) then
786     p_rec.enrt_mthd_cd :=
787     ben_cpp_shd.g_old_rec.enrt_mthd_cd;
788   End If;
789   If (p_rec.enrt_rl = hr_api.g_number) then
790     p_rec.enrt_rl :=
791     ben_cpp_shd.g_old_rec.enrt_rl;
792   End If;
793   If (p_rec.ivr_ident = hr_api.g_varchar2) then
794     p_rec.ivr_ident :=
795     ben_cpp_shd.g_old_rec.ivr_ident;
796   End If;
797   If (p_rec.url_ref_name = hr_api.g_varchar2) then
798     p_rec.url_ref_name :=
799     ben_cpp_shd.g_old_rec.url_ref_name;
800   End If;
801   If (p_rec.enrt_cvg_strt_dt_cd = hr_api.g_varchar2) then
802     p_rec.enrt_cvg_strt_dt_cd :=
803     ben_cpp_shd.g_old_rec.enrt_cvg_strt_dt_cd;
804   End If;
805   If (p_rec.enrt_cvg_strt_dt_rl = hr_api.g_number) then
806     p_rec.enrt_cvg_strt_dt_rl :=
807     ben_cpp_shd.g_old_rec.enrt_cvg_strt_dt_rl;
808   End If;
809   If (p_rec.enrt_cvg_end_dt_cd = hr_api.g_varchar2) then
810     p_rec.enrt_cvg_end_dt_cd :=
811     ben_cpp_shd.g_old_rec.enrt_cvg_end_dt_cd;
812   End If;
813   If (p_rec.enrt_cvg_end_dt_rl = hr_api.g_number) then
814     p_rec.enrt_cvg_end_dt_rl :=
815     ben_cpp_shd.g_old_rec.enrt_cvg_end_dt_rl;
816   End If;
817   If (p_rec.rt_strt_dt_cd = hr_api.g_varchar2) then
818     p_rec.rt_strt_dt_cd :=
819     ben_cpp_shd.g_old_rec.rt_strt_dt_cd;
820   End If;
821   If (p_rec.rt_strt_dt_rl = hr_api.g_number) then
822     p_rec.rt_strt_dt_rl :=
823     ben_cpp_shd.g_old_rec.rt_strt_dt_rl;
824   End If;
825   If (p_rec.rt_end_dt_cd = hr_api.g_varchar2) then
826     p_rec.rt_end_dt_cd :=
827     ben_cpp_shd.g_old_rec.rt_end_dt_cd;
828   End If;
829   If (p_rec.rt_end_dt_rl = hr_api.g_number) then
830     p_rec.rt_end_dt_rl :=
831     ben_cpp_shd.g_old_rec.rt_end_dt_rl;
832   End If;
833   If (p_rec.drvbl_fctr_apls_rts_flag = hr_api.g_varchar2) then
834     p_rec.drvbl_fctr_apls_rts_flag :=
835     ben_cpp_shd.g_old_rec.drvbl_fctr_apls_rts_flag;
836   End If;
837   If (p_rec.drvbl_fctr_prtn_elig_flag = hr_api.g_varchar2) then
838     p_rec.drvbl_fctr_prtn_elig_flag :=
839     ben_cpp_shd.g_old_rec.drvbl_fctr_prtn_elig_flag;
840   End If;
841   If (p_rec.elig_apls_flag = hr_api.g_varchar2) then
842     p_rec.elig_apls_flag :=
843     ben_cpp_shd.g_old_rec.elig_apls_flag;
844   End If;
845   If (p_rec.prtn_elig_ovrid_alwd_flag = hr_api.g_varchar2) then
846     p_rec.prtn_elig_ovrid_alwd_flag :=
847     ben_cpp_shd.g_old_rec.prtn_elig_ovrid_alwd_flag;
848   End If;
849   If (p_rec.trk_inelig_per_flag = hr_api.g_varchar2) then
850     p_rec.trk_inelig_per_flag :=
851     ben_cpp_shd.g_old_rec.trk_inelig_per_flag;
852   End If;
853   If (p_rec.postelcn_edit_rl = hr_api.g_number) then
854     p_rec.postelcn_edit_rl :=
855     ben_cpp_shd.g_old_rec.postelcn_edit_rl;
856   End If;
857   If (p_rec.dflt_to_asn_pndg_ctfn_cd  = hr_api.g_varchar2) then
858     p_rec.dflt_to_asn_pndg_ctfn_cd  :=
859     ben_cpp_shd.g_old_rec.dflt_to_asn_pndg_ctfn_cd;
860   End If;
861 
862   If (p_rec.dflt_to_asn_pndg_ctfn_rl = hr_api.g_number) then
863     p_rec.dflt_to_asn_pndg_ctfn_rl  :=
864     ben_cpp_shd.g_old_rec.dflt_to_asn_pndg_ctfn_rl;
865   End If;
866 
867   If (p_rec.mn_cvg_amt = hr_api.g_number) then
868     p_rec.mn_cvg_amt  :=
869     ben_cpp_shd.g_old_rec.mn_cvg_amt;
870   End If;
871 
872   If (p_rec.mn_cvg_rl = hr_api.g_number) then
873     p_rec.mn_cvg_rl  :=
874     ben_cpp_shd.g_old_rec.mn_cvg_rl;
875   End If;
876 
877   If (p_rec.mx_cvg_alwd_amt = hr_api.g_number) then
878     p_rec.mx_cvg_alwd_amt  :=
879     ben_cpp_shd.g_old_rec.mx_cvg_alwd_amt;
880   End If;
881 
882 
883   If (p_rec.mx_cvg_incr_alwd_amt = hr_api.g_number) then
884     p_rec.mx_cvg_incr_alwd_amt  :=
885     ben_cpp_shd.g_old_rec.mx_cvg_incr_alwd_amt;
886   End If;
887 
888   If (p_rec.mx_cvg_incr_wcf_alwd_amt = hr_api.g_number) then
889     p_rec.mx_cvg_incr_wcf_alwd_amt  :=
890     ben_cpp_shd.g_old_rec.mx_cvg_incr_wcf_alwd_amt;
891   End If;
892 
893   If (p_rec.mx_cvg_mlt_incr_num  = hr_api.g_number) then
894     p_rec.mx_cvg_mlt_incr_num  :=
895     ben_cpp_shd.g_old_rec.mx_cvg_mlt_incr_num;
896   End If;
897 
898   If (p_rec.mx_cvg_mlt_incr_wcf_num  = hr_api.g_number) then
899     p_rec.mx_cvg_mlt_incr_wcf_num  :=
900     ben_cpp_shd.g_old_rec.mx_cvg_mlt_incr_wcf_num;
901   End If;
902 
903   If (p_rec.mx_cvg_rl = hr_api.g_number) then
904     p_rec.mx_cvg_rl  :=
905     ben_cpp_shd.g_old_rec.mx_cvg_rl;
906   End If;
907 
908   If (p_rec.mx_cvg_wcfn_amt = hr_api.g_number) then
909     p_rec.mx_cvg_wcfn_amt  :=
910     ben_cpp_shd.g_old_rec.mx_cvg_wcfn_amt;
911   End If;
912 
913   If (p_rec.mx_cvg_wcfn_mlt_num  = hr_api.g_number) then
914     p_rec.mx_cvg_wcfn_mlt_num  :=
915     ben_cpp_shd.g_old_rec.mx_cvg_wcfn_mlt_num;
916   End If;
917 
918   If (p_rec.no_mn_cvg_amt_apls_flag =  hr_api.g_varchar2) then
919     p_rec.no_mn_cvg_amt_apls_flag  :=
920     ben_cpp_shd.g_old_rec.no_mn_cvg_amt_apls_flag;
921   End If;
922 
923   If (p_rec.no_mn_cvg_incr_apls_flag = hr_api.g_varchar2) then
924     p_rec.no_mn_cvg_incr_apls_flag  :=
925     ben_cpp_shd.g_old_rec.no_mn_cvg_incr_apls_flag;
926   End If;
927 
928   If (p_rec.no_mx_cvg_amt_apls_flag = hr_api.g_varchar2) then
929     p_rec.no_mx_cvg_amt_apls_flag  :=
930     ben_cpp_shd.g_old_rec.no_mx_cvg_amt_apls_flag;
931   End If;
932 
933   If (p_rec.no_mx_cvg_incr_apls_flag = hr_api.g_varchar2) then
934     p_rec.no_mx_cvg_incr_apls_flag  :=
935     ben_cpp_shd.g_old_rec.no_mx_cvg_incr_apls_flag;
936   End If;
937 
938   If (p_rec.unsspnd_enrt_cd = hr_api.g_varchar2) then
939     p_rec.unsspnd_enrt_cd  :=
940     ben_cpp_shd.g_old_rec.unsspnd_enrt_cd;
941   End If;
942 
943   If (p_rec.prort_prtl_yr_cvg_rstrn_cd = hr_api.g_varchar2) then
944     p_rec.prort_prtl_yr_cvg_rstrn_cd  :=
945     ben_cpp_shd.g_old_rec.prort_prtl_yr_cvg_rstrn_cd;
946   End If;
947 
948   If (p_rec.prort_prtl_yr_cvg_rstrn_rl = hr_api.g_number) then
949     p_rec.prort_prtl_yr_cvg_rstrn_rl  :=
950     ben_cpp_shd.g_old_rec.prort_prtl_yr_cvg_rstrn_rl;
951   End If;
952 
953   If (p_rec.cvg_incr_r_decr_only_cd = hr_api.g_varchar2) then
954     p_rec.cvg_incr_r_decr_only_cd  :=
955     ben_cpp_shd.g_old_rec.cvg_incr_r_decr_only_cd;
956   End If;
957   If (p_rec.bnft_or_option_rstrctn_cd = hr_api.g_varchar2) then
958     p_rec.bnft_or_option_rstrctn_cd  :=
959     ben_cpp_shd.g_old_rec.bnft_or_option_rstrctn_cd;
960   End If;
961 
962   If (p_rec.per_cvrd_cd = hr_api.g_varchar2) then
963       p_rec.per_cvrd_cd :=
964     ben_pgm_shd.g_old_rec.per_cvrd_cd;
965   End If;
966 
967   If (p_rec.short_name = hr_api.g_varchar2) then
968       p_rec.short_name :=
969           ben_pgm_shd.g_old_rec.short_name;
970    End If;
971 
972   If (p_rec.short_code = hr_api.g_varchar2) then
973       p_rec.short_code :=
974           ben_pgm_shd.g_old_rec.short_code;
975   End If;
976 
977   If (p_rec.legislation_code = hr_api.g_varchar2) then
978             p_rec.legislation_code :=
979                     ben_pgm_shd.g_old_rec.legislation_code;
980   End If;
981   If (p_rec.legislation_subgroup = hr_api.g_varchar2) then
982             p_rec.legislation_subgroup :=
983                     ben_pgm_shd.g_old_rec.legislation_subgroup;
984   End If;
985 
986   If (p_rec.vrfy_fmly_mmbr_rl = hr_api.g_number) then
987     p_rec.vrfy_fmly_mmbr_rl :=
988     ben_pgm_shd.g_old_rec.vrfy_fmly_mmbr_rl;
989   End If;
990 
991   If (p_rec.vrfy_fmly_mmbr_cd = hr_api.g_varchar2) then
992     p_rec.vrfy_fmly_mmbr_cd :=
993     ben_pgm_shd.g_old_rec.vrfy_fmly_mmbr_cd;
994   End If;
995 
996 
997   If (p_rec.use_csd_rsd_prccng_cd = hr_api.g_varchar2) then
998     p_rec.use_csd_rsd_prccng_cd :=
999     ben_cpp_shd.g_old_rec.use_csd_rsd_prccng_cd;
1000   End If;
1001 
1002   If (p_rec.cpp_attribute_category = hr_api.g_varchar2) then
1003     p_rec.cpp_attribute_category :=
1004     ben_cpp_shd.g_old_rec.cpp_attribute_category;
1005   End If;
1006   If (p_rec.cpp_attribute1 = hr_api.g_varchar2) then
1007     p_rec.cpp_attribute1 :=
1008     ben_cpp_shd.g_old_rec.cpp_attribute1;
1009   End If;
1010   If (p_rec.cpp_attribute2 = hr_api.g_varchar2) then
1011     p_rec.cpp_attribute2 :=
1012     ben_cpp_shd.g_old_rec.cpp_attribute2;
1013   End If;
1014   If (p_rec.cpp_attribute3 = hr_api.g_varchar2) then
1015     p_rec.cpp_attribute3 :=
1016     ben_cpp_shd.g_old_rec.cpp_attribute3;
1017   End If;
1018   If (p_rec.cpp_attribute4 = hr_api.g_varchar2) then
1019     p_rec.cpp_attribute4 :=
1020     ben_cpp_shd.g_old_rec.cpp_attribute4;
1021   End If;
1022   If (p_rec.cpp_attribute5 = hr_api.g_varchar2) then
1023     p_rec.cpp_attribute5 :=
1024     ben_cpp_shd.g_old_rec.cpp_attribute5;
1025   End If;
1026   If (p_rec.cpp_attribute6 = hr_api.g_varchar2) then
1027     p_rec.cpp_attribute6 :=
1028     ben_cpp_shd.g_old_rec.cpp_attribute6;
1029   End If;
1030   If (p_rec.cpp_attribute7 = hr_api.g_varchar2) then
1031     p_rec.cpp_attribute7 :=
1032     ben_cpp_shd.g_old_rec.cpp_attribute7;
1033   End If;
1034   If (p_rec.cpp_attribute8 = hr_api.g_varchar2) then
1035     p_rec.cpp_attribute8 :=
1036     ben_cpp_shd.g_old_rec.cpp_attribute8;
1037   End If;
1038   If (p_rec.cpp_attribute9 = hr_api.g_varchar2) then
1039     p_rec.cpp_attribute9 :=
1040     ben_cpp_shd.g_old_rec.cpp_attribute9;
1041   End If;
1042   If (p_rec.cpp_attribute10 = hr_api.g_varchar2) then
1043     p_rec.cpp_attribute10 :=
1044     ben_cpp_shd.g_old_rec.cpp_attribute10;
1045   End If;
1046   If (p_rec.cpp_attribute11 = hr_api.g_varchar2) then
1047     p_rec.cpp_attribute11 :=
1048     ben_cpp_shd.g_old_rec.cpp_attribute11;
1049   End If;
1050   If (p_rec.cpp_attribute12 = hr_api.g_varchar2) then
1051     p_rec.cpp_attribute12 :=
1052     ben_cpp_shd.g_old_rec.cpp_attribute12;
1053   End If;
1054   If (p_rec.cpp_attribute13 = hr_api.g_varchar2) then
1055     p_rec.cpp_attribute13 :=
1056     ben_cpp_shd.g_old_rec.cpp_attribute13;
1057   End If;
1058   If (p_rec.cpp_attribute14 = hr_api.g_varchar2) then
1059     p_rec.cpp_attribute14 :=
1060     ben_cpp_shd.g_old_rec.cpp_attribute14;
1061   End If;
1062   If (p_rec.cpp_attribute15 = hr_api.g_varchar2) then
1063     p_rec.cpp_attribute15 :=
1064     ben_cpp_shd.g_old_rec.cpp_attribute15;
1065   End If;
1066   If (p_rec.cpp_attribute16 = hr_api.g_varchar2) then
1067     p_rec.cpp_attribute16 :=
1068     ben_cpp_shd.g_old_rec.cpp_attribute16;
1069   End If;
1070   If (p_rec.cpp_attribute17 = hr_api.g_varchar2) then
1071     p_rec.cpp_attribute17 :=
1072     ben_cpp_shd.g_old_rec.cpp_attribute17;
1073   End If;
1074   If (p_rec.cpp_attribute18 = hr_api.g_varchar2) then
1075     p_rec.cpp_attribute18 :=
1076     ben_cpp_shd.g_old_rec.cpp_attribute18;
1077   End If;
1078   If (p_rec.cpp_attribute19 = hr_api.g_varchar2) then
1079     p_rec.cpp_attribute19 :=
1080     ben_cpp_shd.g_old_rec.cpp_attribute19;
1081   End If;
1082   If (p_rec.cpp_attribute20 = hr_api.g_varchar2) then
1083     p_rec.cpp_attribute20 :=
1084     ben_cpp_shd.g_old_rec.cpp_attribute20;
1085   End If;
1086   If (p_rec.cpp_attribute21 = hr_api.g_varchar2) then
1087     p_rec.cpp_attribute21 :=
1088     ben_cpp_shd.g_old_rec.cpp_attribute21;
1089   End If;
1090   If (p_rec.cpp_attribute22 = hr_api.g_varchar2) then
1091     p_rec.cpp_attribute22 :=
1092     ben_cpp_shd.g_old_rec.cpp_attribute22;
1093   End If;
1094   If (p_rec.cpp_attribute23 = hr_api.g_varchar2) then
1095     p_rec.cpp_attribute23 :=
1096     ben_cpp_shd.g_old_rec.cpp_attribute23;
1097   End If;
1098   If (p_rec.cpp_attribute24 = hr_api.g_varchar2) then
1099     p_rec.cpp_attribute24 :=
1100     ben_cpp_shd.g_old_rec.cpp_attribute24;
1101   End If;
1102   If (p_rec.cpp_attribute25 = hr_api.g_varchar2) then
1103     p_rec.cpp_attribute25 :=
1104     ben_cpp_shd.g_old_rec.cpp_attribute25;
1105   End If;
1106   If (p_rec.cpp_attribute26 = hr_api.g_varchar2) then
1107     p_rec.cpp_attribute26 :=
1108     ben_cpp_shd.g_old_rec.cpp_attribute26;
1109   End If;
1110   If (p_rec.cpp_attribute27 = hr_api.g_varchar2) then
1111     p_rec.cpp_attribute27 :=
1112     ben_cpp_shd.g_old_rec.cpp_attribute27;
1113   End If;
1114   If (p_rec.cpp_attribute28 = hr_api.g_varchar2) then
1115     p_rec.cpp_attribute28 :=
1116     ben_cpp_shd.g_old_rec.cpp_attribute28;
1117   End If;
1118   If (p_rec.cpp_attribute29 = hr_api.g_varchar2) then
1119     p_rec.cpp_attribute29 :=
1120     ben_cpp_shd.g_old_rec.cpp_attribute29;
1121   End If;
1122   If (p_rec.cpp_attribute30 = hr_api.g_varchar2) then
1123     p_rec.cpp_attribute30 :=
1124     ben_cpp_shd.g_old_rec.cpp_attribute30;
1125   End If;
1126 
1127   --
1128   hr_utility.set_location(' Leaving:'||l_proc, 10);
1129 --
1130 End convert_defs;
1131 --
1132 -- ----------------------------------------------------------------------------
1133 -- |---------------------------------< upd >----------------------------------|
1134 -- ----------------------------------------------------------------------------
1135 Procedure upd
1136   (
1137   p_rec			in out nocopy 	ben_cpp_shd.g_rec_type,
1138   p_effective_date	in 	date,
1139   p_datetrack_mode	in 	varchar2
1140   ) is
1141 --
1142   l_proc			varchar2(72) := g_package||'upd';
1143   l_validation_start_date	date;
1144   l_validation_end_date		date;
1145 --
1146 Begin
1147   hr_utility.set_location('Entering:'||l_proc, 5);
1148   --
1149   -- Ensure that the DateTrack update mode is valid
1150   --
1151   dt_api.validate_dt_upd_mode(p_datetrack_mode => p_datetrack_mode);
1152   --
1153   -- We must lock the row which we need to update.
1154   --
1155   ben_cpp_shd.lck
1156 	(p_effective_date	 => p_effective_date,
1157       	 p_datetrack_mode	 => p_datetrack_mode,
1158       	 p_plip_id	 => p_rec.plip_id,
1159       	 p_object_version_number => p_rec.object_version_number,
1160       	 p_validation_start_date => l_validation_start_date,
1161       	 p_validation_end_date	 => l_validation_end_date);
1162   --
1163   -- 1. During an update system defaults are used to determine if
1164   --    arguments have been defaulted or not. We must therefore
1165   --    derive the full record structure values to be updated.
1166   --
1167   -- 2. Call the supporting update validate operations.
1168   --
1169   convert_defs(p_rec);
1170   ben_cpp_bus.update_validate
1171 	(p_rec			 => p_rec,
1172 	 p_effective_date	 => p_effective_date,
1173 	 p_datetrack_mode  	 => p_datetrack_mode,
1174 	 p_validation_start_date => l_validation_start_date,
1175 	 p_validation_end_date	 => l_validation_end_date);
1176   --
1177   -- Call the supporting pre-update operation
1178   --
1179   pre_update
1180 	(p_rec			 => p_rec,
1181 	 p_effective_date	 => p_effective_date,
1182 	 p_datetrack_mode	 => p_datetrack_mode,
1183 	 p_validation_start_date => l_validation_start_date,
1184 	 p_validation_end_date	 => l_validation_end_date);
1185   --
1186   -- Update the row.
1187   --
1188   update_dml
1189 	(p_rec			 => p_rec,
1190 	 p_effective_date	 => p_effective_date,
1191 	 p_datetrack_mode	 => p_datetrack_mode,
1192 	 p_validation_start_date => l_validation_start_date,
1193 	 p_validation_end_date	 => l_validation_end_date);
1194   --
1195   -- Call the supporting post-update operation
1196   --
1197   post_update
1198 	(p_rec			 => p_rec,
1199 	 p_effective_date	 => p_effective_date,
1200 	 p_datetrack_mode	 => p_datetrack_mode,
1201 	 p_validation_start_date => l_validation_start_date,
1202 	 p_validation_end_date	 => l_validation_end_date);
1203 End upd;
1204 --
1205 -- ----------------------------------------------------------------------------
1206 -- |---------------------------------< upd >----------------------------------|
1207 -- ----------------------------------------------------------------------------
1208 Procedure upd
1209   (
1210   p_plip_id                      in number,
1211   p_effective_start_date         out nocopy date,
1212   p_effective_end_date           out nocopy date,
1213   p_business_group_id            in number  ,
1214   p_pgm_id                       in number  ,
1215   p_pl_id                        in number  ,
1216   p_cmbn_plip_id                 in number  ,
1217   p_dflt_flag                    in varchar2,
1218   p_plip_stat_cd                 in varchar2,
1219   p_dflt_enrt_cd                 in varchar2,
1220   p_dflt_enrt_det_rl             in number  ,
1221   p_ordr_num                     in number  ,
1222   p_alws_unrstrctd_enrt_flag     in varchar2,
1223   p_auto_enrt_mthd_rl            in number  ,
1224   p_enrt_cd                      in varchar2,
1225   p_enrt_mthd_cd                 in varchar2,
1226   p_enrt_rl                      in number  ,
1227   p_ivr_ident                    in varchar2,
1228   p_url_ref_name                 in varchar2,
1229   p_enrt_cvg_strt_dt_cd          in varchar2,
1230   p_enrt_cvg_strt_dt_rl          in number  ,
1231   p_enrt_cvg_end_dt_cd           in varchar2,
1232   p_enrt_cvg_end_dt_rl           in number  ,
1233   p_rt_strt_dt_cd                in varchar2,
1234   p_rt_strt_dt_rl                in number  ,
1235   p_rt_end_dt_cd                 in varchar2,
1236   p_rt_end_dt_rl                 in number  ,
1237   p_drvbl_fctr_apls_rts_flag     in varchar2,
1238   p_drvbl_fctr_prtn_elig_flag    in varchar2,
1239   p_elig_apls_flag               in varchar2,
1240   p_prtn_elig_ovrid_alwd_flag    in varchar2,
1241   p_trk_inelig_per_flag          in varchar2,
1242   p_postelcn_edit_rl             in number  ,
1243   p_dflt_to_asn_pndg_ctfn_cd     in varchar2,
1244   p_dflt_to_asn_pndg_ctfn_rl     in number  ,
1245   p_mn_cvg_amt                   in number  ,
1246   p_mn_cvg_rl                    in number  ,
1247   p_mx_cvg_alwd_amt              in number  ,
1248   p_mx_cvg_incr_alwd_amt         in number  ,
1249   p_mx_cvg_incr_wcf_alwd_amt     in number  ,
1250   p_mx_cvg_mlt_incr_num          in number  ,
1251   p_mx_cvg_mlt_incr_wcf_num      in number  ,
1252   p_mx_cvg_rl                    in number  ,
1253   p_mx_cvg_wcfn_amt              in number  ,
1254   p_mx_cvg_wcfn_mlt_num          in number  ,
1255   p_no_mn_cvg_amt_apls_flag      in varchar2,
1256   p_no_mn_cvg_incr_apls_flag     in varchar2,
1257   p_no_mx_cvg_amt_apls_flag      in varchar2,
1258   p_no_mx_cvg_incr_apls_flag     in varchar2,
1259   p_unsspnd_enrt_cd              in varchar2,
1260   p_prort_prtl_yr_cvg_rstrn_cd   in varchar2,
1261   p_prort_prtl_yr_cvg_rstrn_rl   in number  ,
1262   p_cvg_incr_r_decr_only_cd      in varchar2,
1263   p_bnft_or_option_rstrctn_cd    in varchar2,
1264   p_per_cvrd_cd                  in varchar2,
1265   p_short_name                  in varchar2,
1266   p_short_code                  in varchar2,
1267     p_legislation_code                  in varchar2,
1268     p_legislation_subgroup                  in varchar2,
1269   P_vrfy_fmly_mmbr_rl            in number  ,
1270   P_vrfy_fmly_mmbr_cd            in varchar2,
1271   P_use_csd_rsd_prccng_cd        in varchar2,
1272   p_cpp_attribute_category       in varchar2,
1273   p_cpp_attribute1               in varchar2,
1274   p_cpp_attribute2               in varchar2,
1275   p_cpp_attribute3               in varchar2,
1276   p_cpp_attribute4               in varchar2,
1277   p_cpp_attribute5               in varchar2,
1278   p_cpp_attribute6               in varchar2,
1279   p_cpp_attribute7               in varchar2,
1280   p_cpp_attribute8               in varchar2,
1281   p_cpp_attribute9               in varchar2,
1282   p_cpp_attribute10              in varchar2,
1283   p_cpp_attribute11              in varchar2,
1284   p_cpp_attribute12              in varchar2,
1285   p_cpp_attribute13              in varchar2,
1286   p_cpp_attribute14              in varchar2,
1287   p_cpp_attribute15              in varchar2,
1288   p_cpp_attribute16              in varchar2,
1289   p_cpp_attribute17              in varchar2,
1290   p_cpp_attribute18              in varchar2,
1291   p_cpp_attribute19              in varchar2,
1292   p_cpp_attribute20              in varchar2,
1293   p_cpp_attribute21              in varchar2,
1294   p_cpp_attribute22              in varchar2,
1295   p_cpp_attribute23              in varchar2,
1296   p_cpp_attribute24              in varchar2,
1297   p_cpp_attribute25              in varchar2,
1298   p_cpp_attribute26              in varchar2,
1299   p_cpp_attribute27              in varchar2,
1300   p_cpp_attribute28              in varchar2,
1301   p_cpp_attribute29              in varchar2,
1302   p_cpp_attribute30              in varchar2,
1303   p_object_version_number        in out nocopy number,
1304   p_effective_date		 in date,
1305   p_datetrack_mode		 in varchar2
1306   ) is
1307 --
1308   l_rec		ben_cpp_shd.g_rec_type;
1309   l_proc	varchar2(72) := g_package||'upd';
1310 --
1311 Begin
1312   hr_utility.set_location('Entering:'||l_proc, 5);
1313   --
1314   -- Call conversion function to turn arguments into the
1315   -- l_rec structure.
1316   --
1317   l_rec :=
1318   ben_cpp_shd.convert_args
1319   (
1320   p_plip_id,
1321   null,
1322   null,
1323   p_business_group_id,
1324   p_pgm_id,
1325   p_pl_id,
1326   p_cmbn_plip_id,
1327   p_dflt_flag,
1328   p_plip_stat_cd,
1329   p_dflt_enrt_cd,
1330   p_dflt_enrt_det_rl,
1331   p_ordr_num,
1332   p_alws_unrstrctd_enrt_flag,
1333   p_auto_enrt_mthd_rl,
1334   p_enrt_cd,
1335   p_enrt_mthd_cd,
1336   p_enrt_rl,
1337   p_ivr_ident,
1338   p_url_ref_name,
1339   p_enrt_cvg_strt_dt_cd,
1340   p_enrt_cvg_strt_dt_rl,
1341   p_enrt_cvg_end_dt_cd,
1342   p_enrt_cvg_end_dt_rl,
1343   p_rt_strt_dt_cd,
1344   p_rt_strt_dt_rl,
1345   p_rt_end_dt_cd,
1346   p_rt_end_dt_rl,
1347   p_drvbl_fctr_apls_rts_flag,
1348   p_drvbl_fctr_prtn_elig_flag,
1349   p_elig_apls_flag,
1350   p_prtn_elig_ovrid_alwd_flag,
1351   p_trk_inelig_per_flag,
1352   p_postelcn_edit_rl,
1353   p_dflt_to_asn_pndg_ctfn_cd,
1354   p_dflt_to_asn_pndg_ctfn_rl,
1355   p_mn_cvg_amt,
1356   p_mn_cvg_rl,
1357   p_mx_cvg_alwd_amt,
1358   p_mx_cvg_incr_alwd_amt,
1359   p_mx_cvg_incr_wcf_alwd_amt,
1360   p_mx_cvg_mlt_incr_num,
1361   p_mx_cvg_mlt_incr_wcf_num,
1362   p_mx_cvg_rl,
1363   p_mx_cvg_wcfn_amt,
1364   p_mx_cvg_wcfn_mlt_num,
1365   p_no_mn_cvg_amt_apls_flag,
1366   p_no_mn_cvg_incr_apls_flag,
1367   p_no_mx_cvg_amt_apls_flag,
1368   p_no_mx_cvg_incr_apls_flag,
1369   p_unsspnd_enrt_cd,
1370   p_prort_prtl_yr_cvg_rstrn_cd,
1371   p_prort_prtl_yr_cvg_rstrn_rl,
1372   p_cvg_incr_r_decr_only_cd,
1373   p_bnft_or_option_rstrctn_cd,
1374   p_per_cvrd_cd  ,
1375   p_short_name  ,
1376   p_short_code  ,
1377     p_legislation_code  ,
1378     p_legislation_subgroup  ,
1379   P_vrfy_fmly_mmbr_rl,
1380   P_vrfy_fmly_mmbr_cd,
1381   P_use_csd_rsd_prccng_cd,
1382   p_cpp_attribute_category,
1383   p_cpp_attribute1,
1384   p_cpp_attribute2,
1385   p_cpp_attribute3,
1386   p_cpp_attribute4,
1387   p_cpp_attribute5,
1388   p_cpp_attribute6,
1389   p_cpp_attribute7,
1390   p_cpp_attribute8,
1391   p_cpp_attribute9,
1392   p_cpp_attribute10,
1393   p_cpp_attribute11,
1394   p_cpp_attribute12,
1395   p_cpp_attribute13,
1396   p_cpp_attribute14,
1397   p_cpp_attribute15,
1398   p_cpp_attribute16,
1399   p_cpp_attribute17,
1400   p_cpp_attribute18,
1401   p_cpp_attribute19,
1402   p_cpp_attribute20,
1403   p_cpp_attribute21,
1404   p_cpp_attribute22,
1405   p_cpp_attribute23,
1406   p_cpp_attribute24,
1407   p_cpp_attribute25,
1408   p_cpp_attribute26,
1409   p_cpp_attribute27,
1410   p_cpp_attribute28,
1411   p_cpp_attribute29,
1412   p_cpp_attribute30,
1413   p_object_version_number
1414   );
1415   --
1416   -- Having converted the arguments into the
1417   -- plsql record structure we call the corresponding record
1418   -- business process.
1419   --
1420   upd(l_rec, p_effective_date, p_datetrack_mode);
1421   p_object_version_number       := l_rec.object_version_number;
1422   p_effective_start_date        := l_rec.effective_start_date;
1423   p_effective_end_date          := l_rec.effective_end_date;
1424   --
1425   --
1426   hr_utility.set_location(' Leaving:'||l_proc, 10);
1427 End upd;
1428 --
1429 end ben_cpp_upd;