DBA Data[Home] [Help]

PACKAGE BODY: APPS.BEN_CPP_UPD

Source


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