DBA Data[Home] [Help]

PACKAGE BODY: APPS.BEN_ABR_UPD

Source


1 Package Body ben_abr_upd as
2 /* $Header: beabrrhi.pkb 120.18 2008/05/15 10:36:51 krupani ship $ */
3 --
4 -- ----------------------------------------------------------------------------
5 -- |                     Private Global Definitions                           |
6 -- ----------------------------------------------------------------------------
7 --
8 g_package  varchar2(33)	:= '  ben_abr_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_abr_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_acty_base_rt_f',
78 	   p_base_key_column	=> 'acty_base_rt_id',
79 	   p_base_key_value	=> p_rec.acty_base_rt_id);
80     --
81     ben_abr_shd.g_api_dml := true;  -- Set the api dml status
82     --
83     -- Update the ben_acty_base_rt_f Row
84     --
85     update  ben_acty_base_rt_f
86     set
87     acty_base_rt_id                 = p_rec.acty_base_rt_id,
88     ordr_num			    = p_rec.ordr_num,
89     acty_typ_cd                     = p_rec.acty_typ_cd,
90     sub_acty_typ_cd                 = p_rec.sub_acty_typ_cd,
91     element_type_id                 = p_rec.element_type_id,
92     input_value_id                  = p_rec.input_value_id,
93     input_va_calc_rl               = p_rec.input_va_calc_rl,
94     comp_lvl_fctr_id                = p_rec.comp_lvl_fctr_id,
95     parnt_acty_base_rt_id           = p_rec.parnt_acty_base_rt_id,
96     pgm_id                          = p_rec.pgm_id,
97     pl_id                           = p_rec.pl_id,
98     oipl_id                         = p_rec.oipl_id,
99     opt_id                          = p_rec.opt_id,
100     oiplip_id                       = p_rec.oiplip_id,
101     plip_id                         = p_rec.plip_id,
102     ptip_id                         = p_rec.ptip_id,
103     cmbn_ptip_opt_id                = p_rec.cmbn_ptip_opt_id,
104     vstg_for_acty_rt_id             = p_rec.vstg_for_acty_rt_id,
105     actl_prem_id                    = p_rec.actl_prem_id,
106     ALWS_CHG_CD                     = p_rec.ALWS_CHG_CD,
107     ele_entry_val_cd                = p_rec.ele_entry_val_cd,
108     TTL_COMP_LVL_FCTR_ID            = p_rec.TTL_COMP_LVL_FCTR_ID,
109     COST_ALLOCATION_KEYFLEX_ID      = p_rec.COST_ALLOCATION_KEYFLEX_ID,
110     rt_typ_cd                       = p_rec.rt_typ_cd,
111     bnft_rt_typ_cd                  = p_rec.bnft_rt_typ_cd,
112     tx_typ_cd                       = p_rec.tx_typ_cd,
113     use_to_calc_net_flx_cr_flag     = p_rec.use_to_calc_net_flx_cr_flag,
114     asn_on_enrt_flag                = p_rec.asn_on_enrt_flag,
115     abv_mx_elcn_val_alwd_flag       = p_rec.abv_mx_elcn_val_alwd_flag,
116     blw_mn_elcn_alwd_flag           = p_rec.blw_mn_elcn_alwd_flag,
117     dsply_on_enrt_flag              = p_rec.dsply_on_enrt_flag,
118     parnt_chld_cd                   = p_rec.parnt_chld_cd,
119     use_calc_acty_bs_rt_flag        = p_rec.use_calc_acty_bs_rt_flag,
120     uses_ded_sched_flag             = p_rec.uses_ded_sched_flag,
121     uses_varbl_rt_flag              = p_rec.uses_varbl_rt_flag,
122     vstg_sched_apls_flag            = p_rec.vstg_sched_apls_flag,
123     rt_mlt_cd                       = p_rec.rt_mlt_cd,
124     proc_each_pp_dflt_flag          = p_rec.proc_each_pp_dflt_flag,
125     prdct_flx_cr_when_elig_flag     = p_rec.prdct_flx_cr_when_elig_flag,
126     no_std_rt_used_flag             = p_rec.no_std_rt_used_flag,
127     rcrrg_cd                        = p_rec.rcrrg_cd,
128     mn_elcn_val                     = p_rec.mn_elcn_val,
129     mx_elcn_val                     = p_rec.mx_elcn_val,
130     lwr_lmt_val                     = p_rec.lwr_lmt_val,
131     lwr_lmt_calc_rl                 = p_rec.lwr_lmt_calc_rl,
132     upr_lmt_val                     = p_rec.upr_lmt_val,
133     upr_lmt_calc_rl                 = p_rec.upr_lmt_calc_rl,
134     ptd_comp_lvl_fctr_id            = p_rec.ptd_comp_lvl_fctr_id,
135     clm_comp_lvl_fctr_id            = p_rec.clm_comp_lvl_fctr_id,
136     entr_ann_val_flag               = p_rec.entr_ann_val_flag,
137     ann_mn_elcn_val                 = p_rec.ann_mn_elcn_val,
138     ann_mx_elcn_val                 = p_rec.ann_mx_elcn_val,
139     wsh_rl_dy_mo_num                = p_rec.wsh_rl_dy_mo_num,
140     uses_pymt_sched_flag            = p_rec.uses_pymt_sched_flag,
141     nnmntry_uom                     = p_rec.nnmntry_uom,
142     val                             = p_rec.val,
143     incrmt_elcn_val                 = p_rec.incrmt_elcn_val,
144     rndg_cd                         = p_rec.rndg_cd,
145     val_ovrid_alwd_flag             = p_rec.val_ovrid_alwd_flag,
146     prtl_mo_det_mthd_cd             = p_rec.prtl_mo_det_mthd_cd,
147     acty_base_rt_stat_cd            = p_rec.acty_base_rt_stat_cd,
148     procg_src_cd                    = p_rec.procg_src_cd,
149     dflt_val                        = p_rec.dflt_val,
150     dflt_flag                       = p_rec.dflt_flag,
151     frgn_erg_ded_typ_cd             = p_rec.frgn_erg_ded_typ_cd,
152     frgn_erg_ded_name               = p_rec.frgn_erg_ded_name,
153     frgn_erg_ded_ident              = p_rec.frgn_erg_ded_ident,
154     no_mx_elcn_val_dfnd_flag        = p_rec.no_mx_elcn_val_dfnd_flag,
155     cmbn_plip_id                    = p_rec.cmbn_plip_id,
156     cmbn_ptip_id                    = p_rec.cmbn_ptip_id,
157     prtl_mo_det_mthd_rl             = p_rec.prtl_mo_det_mthd_rl,
158     entr_val_at_enrt_flag           = p_rec.entr_val_at_enrt_flag,
159     prtl_mo_eff_dt_det_rl           = p_rec.prtl_mo_eff_dt_det_rl,
160     rndg_rl                         = p_rec.rndg_rl,
161     val_calc_rl                     = p_rec.val_calc_rl,
162     no_mn_elcn_val_dfnd_flag        = p_rec.no_mn_elcn_val_dfnd_flag,
163     prtl_mo_eff_dt_det_cd           = p_rec.prtl_mo_eff_dt_det_cd,
164     pay_rate_grade_rule_id          = p_rec.pay_rate_grade_rule_id ,
165     rate_periodization_cd           = p_rec.rate_periodization_cd,
166     rate_periodization_rl           = p_rec.rate_periodization_rl,
167     business_group_id               = p_rec.business_group_id,
168     only_one_bal_typ_alwd_flag      = p_rec.only_one_bal_typ_alwd_flag,
169     rt_usg_cd                       = p_rec.rt_usg_cd,
170     prort_mn_ann_elcn_val_cd        = p_rec.prort_mn_ann_elcn_val_cd,
171     prort_mn_ann_elcn_val_rl        = p_rec.prort_mn_ann_elcn_val_rl,
172     prort_mx_ann_elcn_val_cd        = p_rec.prort_mx_ann_elcn_val_cd,
173     prort_mx_ann_elcn_val_rl        = p_rec.prort_mx_ann_elcn_val_rl,
174     one_ann_pymt_cd                 = p_rec.one_ann_pymt_cd,
175     det_pl_ytd_cntrs_cd             = p_rec.det_pl_ytd_cntrs_cd,
176     asmt_to_use_cd                  = p_rec.asmt_to_use_cd,
177     ele_rqd_flag                    = p_rec.ele_rqd_flag,
178     subj_to_imptd_incm_flag         = p_rec.subj_to_imptd_incm_flag,
179     name                            = p_rec.name,
180     mn_mx_elcn_rl		    = p_rec.mn_mx_elcn_rl,
181     mapping_table_name              = p_rec.mapping_table_name,
182     mapping_table_pk_id             = p_rec.mapping_table_pk_id,
183     context_pgm_id                  = p_rec.context_pgm_id,
184     context_pl_id                   = p_rec.context_pl_id,
185     context_opt_id                  = p_rec.context_opt_id,
186     element_det_rl                  = p_rec.element_det_rl,
187     currency_det_cd                 = p_rec.currency_det_cd ,
188     abr_attribute_category          = p_rec.abr_attribute_category,
189     abr_attribute1                  = p_rec.abr_attribute1,
190     abr_attribute2                  = p_rec.abr_attribute2,
191     abr_attribute3                  = p_rec.abr_attribute3,
192     abr_attribute4                  = p_rec.abr_attribute4,
193     abr_attribute5                  = p_rec.abr_attribute5,
194     abr_attribute6                  = p_rec.abr_attribute6,
195     abr_attribute7                  = p_rec.abr_attribute7,
196     abr_attribute8                  = p_rec.abr_attribute8,
197     abr_attribute9                  = p_rec.abr_attribute9,
198     abr_attribute10                 = p_rec.abr_attribute10,
199     abr_attribute11                 = p_rec.abr_attribute11,
200     abr_attribute12                 = p_rec.abr_attribute12,
201     abr_attribute13                 = p_rec.abr_attribute13,
202     abr_attribute14                 = p_rec.abr_attribute14,
203     abr_attribute15                 = p_rec.abr_attribute15,
204     abr_attribute16                 = p_rec.abr_attribute16,
205     abr_attribute17                 = p_rec.abr_attribute17,
206     abr_attribute18                 = p_rec.abr_attribute18,
207     abr_attribute19                 = p_rec.abr_attribute19,
208     abr_attribute20                 = p_rec.abr_attribute20,
209     abr_attribute21                 = p_rec.abr_attribute21,
210     abr_attribute22                 = p_rec.abr_attribute22,
211     abr_attribute23                 = p_rec.abr_attribute23,
212     abr_attribute24                 = p_rec.abr_attribute24,
213     abr_attribute25                 = p_rec.abr_attribute25,
214     abr_attribute26                 = p_rec.abr_attribute26,
215     abr_attribute27                 = p_rec.abr_attribute27,
216     abr_attribute28                 = p_rec.abr_attribute28,
217     abr_attribute29                 = p_rec.abr_attribute29,
218     abr_attribute30                 = p_rec.abr_attribute30,
219     abr_seq_num                     = p_rec.abr_seq_num,
220     object_version_number           = p_rec.object_version_number
221     where   acty_base_rt_id = p_rec.acty_base_rt_id
222     and     effective_start_date = p_validation_start_date
223     and     effective_end_date   = p_validation_end_date;
224     --
225     ben_abr_shd.g_api_dml := false;   -- Unset the api dml status
226     --
227     -- Set the effective start and end dates
228     --
229     p_rec.effective_start_date := p_validation_start_date;
230     p_rec.effective_end_date   := p_validation_end_date;
231   End If;
232 --
233 hr_utility.set_location(' Leaving:'||l_proc, 15);
234 Exception
235   When hr_api.check_integrity_violated Then
236     -- A check constraint has been violated
237     ben_abr_shd.g_api_dml := false;   -- Unset the api dml status
238     ben_abr_shd.constraint_error
239       (p_constraint_name => hr_api.strip_constraint_name(SQLERRM));
240   When hr_api.unique_integrity_violated Then
241     -- Unique integrity has been violated
242     ben_abr_shd.g_api_dml := false;   -- Unset the api dml status
243     ben_abr_shd.constraint_error
244       (p_constraint_name => hr_api.strip_constraint_name(SQLERRM));
245   When Others Then
246     ben_abr_shd.g_api_dml := false;   -- Unset the api dml status
247     Raise;
248 End dt_update_dml;
249 --
250 -- ----------------------------------------------------------------------------
251 -- |------------------------------< update_dml >------------------------------|
252 -- ----------------------------------------------------------------------------
253 -- {Start Of Comments}
254 --
255 -- Description:
256 --   This procedure calls the dt_update_dml control logic which handles
257 --   the actual datetrack dml.
258 --
259 -- Prerequisites:
260 --   This is an internal private procedure which must be called from the upd
261 --   procedure.
262 --
263 -- In Parameters:
264 --   A Pl/Sql record structre.
265 --
266 -- Post Success:
267 --   Processing contines.
268 --
269 -- Post Failure:
270 --   No specific error handling is required within this procedure.
271 --
272 -- Developer Implementation Notes:
273 --   The update 'set' arguments list should be modified if any of your
274 --   attributes are not updateable.
275 --
276 -- Access Status:
277 --   Internal Row Handler Use Only.
278 --
279 -- {End Of Comments}
280 -- ----------------------------------------------------------------------------
281 Procedure update_dml
282 	(p_rec 			 in out nocopy ben_abr_shd.g_rec_type,
283 	 p_effective_date	 in	date,
284 	 p_datetrack_mode	 in	varchar2,
285 	 p_validation_start_date in	date,
286 	 p_validation_end_date	 in	date) is
287 --
288   l_proc	varchar2(72) := g_package||'update_dml';
289 --
290 Begin
291   hr_utility.set_location('Entering:'||l_proc, 5);
292   --
293   dt_update_dml(p_rec			=> p_rec,
294 		p_effective_date	=> p_effective_date,
295 		p_datetrack_mode	=> p_datetrack_mode,
296        		p_validation_start_date	=> p_validation_start_date,
297 		p_validation_end_date	=> p_validation_end_date);
298   --
299   hr_utility.set_location(' Leaving:'||l_proc, 10);
300 End update_dml;
301 --
302 -- ----------------------------------------------------------------------------
303 -- |----------------------------< dt_pre_update >-----------------------------|
304 -- ----------------------------------------------------------------------------
305 -- {Start Of Comments}
306 --
307 -- Description:
308 --   The dt_pre_update procedure controls the execution
309 --   of dml for the datetrack modes of: UPDATE, UPDATE_OVERRIDE
310 --   and UPDATE_CHANGE_INSERT only. The execution required is as
311 --   follows:
312 --
313 --   1) Providing the datetrack update mode is not 'CORRECTION'
314 --      then set the effective end date of the current row (this
315 --      will be the validation_start_date - 1).
319 --	the validation_start_date.
316 --   2) If the datetrack mode is 'UPDATE_OVERRIDE' then call the
317 --      corresponding delete_dml process to delete any future rows
318 --      where the effective_start_date is greater than or equal to
320 --   3) Call the insert_dml process to insert the new updated row
321 --      details..
322 --
323 -- Prerequisites:
324 --   This is an internal procedure which is called from the
325 --   pre_update procedure.
326 --
327 -- In Parameters:
328 --
329 -- Post Success:
330 --   Processing continues.
331 --
332 -- Post Failure:
333 --   If an error has occurred, an error message and exception will be raised
334 --   but not handled.
335 --
336 -- Developer Implementation Notes:
337 --   This is an internal procedure which is required by Datetrack. Don't
338 --   remove or modify.
339 --
340 -- Access Status:
341 --   Internal Row Handler Use Only.
342 --
343 -- {End Of Comments}
344 -- ----------------------------------------------------------------------------
345 Procedure dt_pre_update
346 	(p_rec 			 in out nocopy ben_abr_shd.g_rec_type,
347 	 p_effective_date	 in	date,
348 	 p_datetrack_mode	 in	varchar2,
349 	 p_validation_start_date in	date,
350 	 p_validation_end_date	 in	date) is
351 --
352   l_proc	         varchar2(72) := g_package||'dt_pre_update';
353   l_dummy_version_number number;
354 --
355 Begin
356   hr_utility.set_location('Entering:'||l_proc, 5);
357   If (p_datetrack_mode <> 'CORRECTION') then
358     hr_utility.set_location(l_proc, 10);
359     --
360     -- Update the current effective end date
361     --
362     ben_abr_shd.upd_effective_end_date
363      (p_effective_date	       => p_effective_date,
364       p_base_key_value	       => p_rec.acty_base_rt_id,
365       p_new_effective_end_date => (p_validation_start_date - 1),
366       p_validation_start_date  => p_validation_start_date,
367       p_validation_end_date    => p_validation_end_date,
368       p_object_version_number  => l_dummy_version_number);
369     --
370     If (p_datetrack_mode = 'UPDATE_OVERRIDE') then
371       hr_utility.set_location(l_proc, 15);
372       --
373       -- As the datetrack mode is 'UPDATE_OVERRIDE' then we must
374       -- delete any future rows
375       --
376       ben_abr_del.delete_dml
377         (p_rec			 => p_rec,
378 	 p_effective_date	 => p_effective_date,
379 	 p_datetrack_mode	 => p_datetrack_mode,
380 	 p_validation_start_date => p_validation_start_date,
381 	 p_validation_end_date   => p_validation_end_date);
382     End If;
383     hr_utility.set_location(l_proc, 20);
384     --
385     -- We must now insert the updated row
386     --
387     ben_abr_ins.insert_dml
388       (p_rec			=> p_rec,
389        p_effective_date		=> p_effective_date,
390        p_datetrack_mode		=> p_datetrack_mode,
391        p_validation_start_date	=> p_validation_start_date,
392        p_validation_end_date	=> p_validation_end_date);
393   End If;
394   hr_utility.set_location(' Leaving:'||l_proc, 20);
395 End dt_pre_update;
396 --
397 -- ----------------------------------------------------------------------------
398 -- |------------------------------< pre_update >------------------------------|
399 -- ----------------------------------------------------------------------------
400 -- {Start Of Comments}
401 --
402 -- Description:
403 --   This private procedure contains any processing which is required before
404 --   the update dml.
405 --
406 -- Prerequisites:
407 --   This is an internal procedure which is called from the upd procedure.
408 --
409 -- In Parameters:
410 --   A Pl/Sql record structre.
411 --
412 -- Post Success:
413 --   Processing continues.
414 --
415 -- Post Failure:
416 --   If an error has occurred, an error message and exception will be raised
417 --   but not handled.
418 --
419 -- Developer Implementation Notes:
420 --   Any pre-processing required before the update dml is issued should be
421 --   coded within this procedure. It is important to note that any 3rd party
422 --   maintenance should be reviewed before placing in this procedure. The call
423 --   to the dt_update_dml procedure should NOT be removed.
424 --
425 -- Access Status:
426 --   Internal Row Handler Use Only.
427 --
428 -- {End Of Comments}
429 -- ----------------------------------------------------------------------------
430 Procedure pre_update
431 	(p_rec 			 in out nocopy ben_abr_shd.g_rec_type,
432 	 p_effective_date	 in	date,
433 	 p_datetrack_mode	 in	varchar2,
434 	 p_validation_start_date in	date,
435 	 p_validation_end_date	 in	date) is
436 --
437   l_proc	varchar2(72) := g_package||'pre_update';
438 --
439   cursor c_oipl is
440      select opt_id, pl_id
441      from ben_oipl_f
442      where oipl_id = p_rec.oipl_id
443      and   p_effective_date between effective_start_date and effective_end_date;
444 --
445 l_oipl c_oipl%rowtype;
446 --
447   cursor c_plip is
448      select pgm_id, pl_id
449      from ben_plip_f
450      where plip_id = p_rec.plip_id
451      and   p_effective_date between effective_start_date and effective_end_date;
452 --
453 l_plip c_plip%rowtype;
454 --
455   cursor c_oiplip is
459      and   oiplip.oipl_id = oipl.oipl_id
456      select plip.pgm_id, oipl.pl_id, oipl.opt_id
457      from ben_oiplip_f oiplip, ben_oipl_f oipl, ben_plip_f plip
458      where oiplip.oiplip_id = p_rec.oiplip_id
460      and   oiplip.plip_id = plip.plip_id
461      and   oipl.pl_id = plip.pl_id
462      and   p_effective_date between oiplip.effective_start_date and oiplip.effective_end_date
463      and   p_effective_date between plip.effective_start_date and plip.effective_end_date
464      and   p_effective_date between oipl.effective_start_date and oipl.effective_end_date ;
465 --
466 l_oiplip c_oiplip%rowtype;
467 --
468 --
469 Begin
470   hr_utility.set_location('Entering:'||l_proc, 5);
471   --
472   -- set the context ids before update
473   --
474     	if p_rec.pgm_id is not null then
475 	   p_rec.context_pgm_id := p_rec.pgm_id ;
476 	end if;
477 
478   	if p_rec.pl_id is not null then
479 	   p_rec.context_pl_id := p_rec.pl_id ;
480 	end if;
481 
482 	if p_rec.opt_id is not null then
483 	   p_rec.context_opt_id := p_rec.opt_id ;
484 	end if;
485   	if p_rec.oipl_id is not null then
486 	   -- get opt_id and pl_id
487 	   open c_oipl;
488 	   fetch c_oipl into l_oipl ;
489 	   close c_oipl;
490 	   --
491 	   p_rec.context_opt_id := l_oipl.opt_id ;
492 	   p_rec.context_pl_id :=  l_oipl.pl_id;
493 	end if;
494   	if p_rec.oiplip_id is not null then
495 	   -- get opt_id, pgm_id and pl_id
496 	   open c_oiplip;
497 	   fetch c_oiplip into l_oiplip ;
498 	   close c_oiplip;
499 	   --
500 	   p_rec.context_opt_id := l_oiplip.opt_id ;
501 	   p_rec.context_pl_id := l_oiplip.pl_id ;
502 	   p_rec.context_pgm_id := l_oiplip.pgm_id ;
503 	end if;
504   	if p_rec.plip_id is not null then
505 	   -- get pgm_id and pl_id
506 	   open c_plip;
507 	   fetch c_plip into l_plip ;
508 	   close c_plip;
509 	   --
510 	   p_rec.context_pl_id :=  l_plip.pl_id;
511 	   p_rec.context_pgm_id := l_plip.pgm_id ;
512 	end if;
513   --
514   --
515   dt_pre_update
516     (p_rec 		     => p_rec,
517      p_effective_date	     => p_effective_date,
518      p_datetrack_mode	     => p_datetrack_mode,
519      p_validation_start_date => p_validation_start_date,
520      p_validation_end_date   => p_validation_end_date);
521   --
522   hr_utility.set_location(' Leaving:'||l_proc, 10);
523 End pre_update;
524 --
525 -- ----------------------------------------------------------------------------
526 -- |-----------------------------< post_update >------------------------------|
527 -- ----------------------------------------------------------------------------
528 -- {Start Of Comments}
529 --
530 -- Description:
531 --   This private procedure contains any processing which is required after the
532 --   update dml.
533 --
534 -- Prerequisites:
535 --   This is an internal procedure which is called from the upd procedure.
536 --
537 -- In Parameters:
538 --   A Pl/Sql record structre.
539 --
540 -- Post Success:
541 --   Processing continues.
542 --
543 -- Post Failure:
544 --   If an error has occurred, an error message and exception will be raised
545 --   but not handled.
546 --
547 -- Developer Implementation Notes:
548 --   Any post-processing required after the update dml is issued should be
549 --   coded within this procedure. It is important to note that any 3rd party
550 --   maintenance should be reviewed before placing in this procedure.
551 --
552 -- Access Status:
553 --   Internal Row Handler Use Only.
554 --
555 -- {End Of Comments}
556 -- ----------------------------------------------------------------------------
557 Procedure post_update
558 	(p_rec 			 in ben_abr_shd.g_rec_type,
559 	 p_effective_date	 in date,
560 	 p_datetrack_mode	 in varchar2,
561 	 p_validation_start_date in date,
562 	 p_validation_end_date	 in date) is
563 --
564   l_proc	varchar2(72) := g_package||'post_update';
565 --
566 Begin
567   hr_utility.set_location('Entering:'||l_proc, 5);
568   --
569   -- Added for GSP validations
570   pqh_gsp_ben_validations.abr_validations
571   	(  p_abr_id			=> p_rec.acty_base_rt_id
572   	 , p_dml_operation 		=> 'U'
573   	 , p_effective_date 		=> p_effective_date
574   	 , p_business_group_id  	=> p_rec.business_group_id
575   	 , p_pl_id			=> p_rec.pl_id
576   	 , p_opt_id			=> p_rec.opt_id
577   	 , p_acty_typ_cd		=> p_rec.acty_typ_cd
578   	 , p_Acty_Base_RT_Stat_Cd	=> p_rec.Acty_Base_RT_Stat_Cd
579   	 );
580 
581   begin
582    --
583    ben_abr_rku.after_update
584    (
585      p_acty_base_rt_id               => p_rec.acty_base_rt_id
586     ,p_effective_start_date          => p_rec.effective_start_date
587     ,p_effective_end_date            => p_rec.effective_end_date
588     ,p_ordr_num			     => p_rec.ordr_num
589     ,p_acty_typ_cd                   => p_rec.acty_typ_cd
590     ,p_sub_acty_typ_cd               => p_rec.sub_acty_typ_cd
591     ,p_name                          => p_rec.name
592     ,p_rt_typ_cd                     => p_rec.rt_typ_cd
593     ,p_bnft_rt_typ_cd                => p_rec.bnft_rt_typ_cd
594     ,p_tx_typ_cd                     => p_rec.tx_typ_cd
595     ,p_use_to_calc_net_flx_cr_flag   => p_rec.use_to_calc_net_flx_cr_flag
599     ,p_dsply_on_enrt_flag            => p_rec.dsply_on_enrt_flag
596     ,p_asn_on_enrt_flag              => p_rec.asn_on_enrt_flag
597     ,p_abv_mx_elcn_val_alwd_flag     => p_rec.abv_mx_elcn_val_alwd_flag
598     ,p_blw_mn_elcn_alwd_flag         => p_rec.blw_mn_elcn_alwd_flag
600     ,p_parnt_chld_cd                 => p_rec.parnt_chld_cd
601     ,p_use_calc_acty_bs_rt_flag      => p_rec.use_calc_acty_bs_rt_flag
602     ,p_uses_ded_sched_flag           => p_rec.uses_ded_sched_flag
603     ,p_uses_varbl_rt_flag            => p_rec.uses_varbl_rt_flag
604     ,p_vstg_sched_apls_flag          => p_rec.vstg_sched_apls_flag
605     ,p_rt_mlt_cd                     => p_rec.rt_mlt_cd
606     ,p_proc_each_pp_dflt_flag        => p_rec.proc_each_pp_dflt_flag
607     ,p_prdct_flx_cr_when_elig_flag   => p_rec.prdct_flx_cr_when_elig_flag
608     ,p_no_std_rt_used_flag           => p_rec.no_std_rt_used_flag
609     ,p_rcrrg_cd                      => p_rec.rcrrg_cd
610     ,p_mn_elcn_val                   => p_rec.mn_elcn_val
611     ,p_mx_elcn_val                   => p_rec.mx_elcn_val
612     ,p_lwr_lmt_val                   => p_rec.lwr_lmt_val
613     ,p_lwr_lmt_calc_rl               => p_rec.lwr_lmt_calc_rl
614     ,p_upr_lmt_val                   => p_rec.upr_lmt_val
615     ,p_upr_lmt_calc_rl               => p_rec.upr_lmt_calc_rl
616     ,p_ptd_comp_lvl_fctr_id          => p_rec.ptd_comp_lvl_fctr_id
617     ,p_clm_comp_lvl_fctr_id          => p_rec.clm_comp_lvl_fctr_id
618     ,p_entr_ann_val_flag             => p_rec.entr_ann_val_flag
619     ,p_ann_mn_elcn_val               => p_rec.ann_mn_elcn_val
620     ,p_ann_mx_elcn_val               => p_rec.ann_mx_elcn_val
621     ,p_wsh_rl_dy_mo_num              => p_rec.wsh_rl_dy_mo_num
622     ,p_uses_pymt_sched_flag          => p_rec.uses_pymt_sched_flag
623     ,p_nnmntry_uom                   => p_rec.nnmntry_uom
624     ,p_val                           => p_rec.val
625     ,p_incrmt_elcn_val               => p_rec.incrmt_elcn_val
626     ,p_rndg_cd                       => p_rec.rndg_cd
627     ,p_val_ovrid_alwd_flag           => p_rec.val_ovrid_alwd_flag
628     ,p_prtl_mo_det_mthd_cd           => p_rec.prtl_mo_det_mthd_cd
629     ,p_acty_base_rt_stat_cd          => p_rec.acty_base_rt_stat_cd
630     ,p_procg_src_cd                  => p_rec.procg_src_cd
631     ,p_dflt_val                      => p_rec.dflt_val
632     ,p_dflt_flag                     => p_rec.dflt_flag
633     ,p_frgn_erg_ded_typ_cd           => p_rec.frgn_erg_ded_typ_cd
634     ,p_frgn_erg_ded_name             => p_rec.frgn_erg_ded_name
635     ,p_frgn_erg_ded_ident            => p_rec.frgn_erg_ded_ident
636     ,p_no_mx_elcn_val_dfnd_flag      => p_rec.no_mx_elcn_val_dfnd_flag
637     ,p_prtl_mo_det_mthd_rl           => p_rec.prtl_mo_det_mthd_rl
638     ,p_entr_val_at_enrt_flag         => p_rec.entr_val_at_enrt_flag
639     ,p_prtl_mo_eff_dt_det_rl         => p_rec.prtl_mo_eff_dt_det_rl
640     ,p_rndg_rl                       => p_rec.rndg_rl
641     ,p_val_calc_rl                   => p_rec.val_calc_rl
642     ,p_no_mn_elcn_val_dfnd_flag      => p_rec.no_mn_elcn_val_dfnd_flag
643     ,p_prtl_mo_eff_dt_det_cd         => p_rec.prtl_mo_eff_dt_det_cd
644     ,p_only_one_bal_typ_alwd_flag    => p_rec.only_one_bal_typ_alwd_flag
645     ,p_rt_usg_cd                     => p_rec.rt_usg_cd
646     ,p_prort_mn_ann_elcn_val_cd      => p_rec.prort_mn_ann_elcn_val_cd
647     ,p_prort_mn_ann_elcn_val_rl      => p_rec.prort_mn_ann_elcn_val_rl
648     ,p_prort_mx_ann_elcn_val_cd      => p_rec.prort_mx_ann_elcn_val_cd
649     ,p_prort_mx_ann_elcn_val_rl      => p_rec.prort_mx_ann_elcn_val_rl
650     ,p_one_ann_pymt_cd               => p_rec.one_ann_pymt_cd
651     ,p_det_pl_ytd_cntrs_cd           => p_rec.det_pl_ytd_cntrs_cd
652     ,p_asmt_to_use_cd                => p_rec.asmt_to_use_cd
653     ,p_ele_rqd_flag                  => p_rec.ele_rqd_flag
654     ,p_subj_to_imptd_incm_flag       => p_rec.subj_to_imptd_incm_flag
655     ,p_element_type_id               => p_rec.element_type_id
656     ,p_input_value_id                => p_rec.input_value_id
657     ,p_input_va_calc_rl             => p_rec.input_va_calc_rl
658     ,p_comp_lvl_fctr_id              => p_rec.comp_lvl_fctr_id
659     ,p_parnt_acty_base_rt_id         => p_rec.parnt_acty_base_rt_id
660     ,p_pgm_id                        => p_rec.pgm_id
661     ,p_pl_id                         => p_rec.pl_id
662     ,p_oipl_id                       => p_rec.oipl_id
663     ,p_opt_id                        => p_rec.opt_id
664     ,p_oiplip_id                     => p_rec.oiplip_id
665     ,p_plip_id                       => p_rec.plip_id
666     ,p_ptip_id                       => p_rec.ptip_id
667     ,p_cmbn_plip_id                  => p_rec.cmbn_plip_id
668     ,p_cmbn_ptip_id                  => p_rec.cmbn_ptip_id
669     ,p_cmbn_ptip_opt_id              => p_rec.cmbn_ptip_opt_id
670     ,p_vstg_for_acty_rt_id           => p_rec.vstg_for_acty_rt_id
671     ,p_actl_prem_id                  => p_rec.actl_prem_id
672     ,p_ALWS_CHG_CD                   => p_rec.ALWS_CHG_CD
673     ,p_ele_entry_val_cd              => p_rec.ele_entry_val_cd
674     ,p_TTL_COMP_LVL_FCTR_ID          => p_rec.TTL_COMP_LVL_FCTR_ID
675     ,p_COST_ALLOCATION_KEYFLEX_ID    => p_rec.COST_ALLOCATION_KEYFLEX_ID
676     ,p_pay_rate_grade_rule_id        => p_rec.pay_rate_grade_rule_id
677     ,p_rate_periodization_cd         => p_rec.rate_periodization_cd
678     ,p_rate_periodization_rl         => p_rec.rate_periodization_rl
679     ,p_mn_mx_elcn_rl                 => p_rec.mn_mx_elcn_rl
680     ,p_mapping_table_name            => p_rec.mapping_table_name
681     ,p_mapping_table_pk_id           => p_rec.mapping_table_pk_id
685     ,p_context_opt_id                => p_rec.context_opt_id
682     ,p_business_group_id             => p_rec.business_group_id
683     ,p_context_pgm_id                => p_rec.context_pgm_id
684     ,p_context_pl_id                => p_rec.context_pl_id
686     ,p_element_det_rl                => p_rec.element_det_rl
687     ,p_currency_det_cd               => p_rec.currency_det_cd
688     ,P_ABR_ATTRIBUTE_CATEGORY        => p_rec.ABR_ATTRIBUTE_CATEGORY
689     ,P_ABR_ATTRIBUTE1                => p_rec.ABR_ATTRIBUTE1
690     ,P_ABR_ATTRIBUTE2                => p_rec.ABR_ATTRIBUTE2
691     ,P_ABR_ATTRIBUTE3                => p_rec.ABR_ATTRIBUTE3
692     ,P_ABR_ATTRIBUTE4                => p_rec.ABR_ATTRIBUTE4
693     ,P_ABR_ATTRIBUTE5                => p_rec.ABR_ATTRIBUTE5
694     ,P_ABR_ATTRIBUTE6                => p_rec.ABR_ATTRIBUTE6
695     ,P_ABR_ATTRIBUTE7                => p_rec.ABR_ATTRIBUTE7
696     ,P_ABR_ATTRIBUTE8                => p_rec.ABR_ATTRIBUTE8
697     ,P_ABR_ATTRIBUTE9                => p_rec.ABR_ATTRIBUTE9
698     ,P_ABR_ATTRIBUTE10                => p_rec.ABR_ATTRIBUTE10
699     ,P_ABR_ATTRIBUTE11                => p_rec.ABR_ATTRIBUTE11
700     ,P_ABR_ATTRIBUTE12                => p_rec.ABR_ATTRIBUTE12
701     ,P_ABR_ATTRIBUTE13                => p_rec.ABR_ATTRIBUTE13
702     ,P_ABR_ATTRIBUTE14                => p_rec.ABR_ATTRIBUTE14
703     ,P_ABR_ATTRIBUTE15                => p_rec.ABR_ATTRIBUTE15
704     ,P_ABR_ATTRIBUTE16                => p_rec.ABR_ATTRIBUTE16
705     ,P_ABR_ATTRIBUTE17                => p_rec.ABR_ATTRIBUTE17
706     ,P_ABR_ATTRIBUTE18                => p_rec.ABR_ATTRIBUTE18
707     ,P_ABR_ATTRIBUTE19                => p_rec.ABR_ATTRIBUTE19
708     ,P_ABR_ATTRIBUTE20                => p_rec.ABR_ATTRIBUTE20
709     ,P_ABR_ATTRIBUTE21                => p_rec.ABR_ATTRIBUTE21
710     ,P_ABR_ATTRIBUTE22                => p_rec.ABR_ATTRIBUTE22
711     ,P_ABR_ATTRIBUTE23                => p_rec.ABR_ATTRIBUTE23
712     ,P_ABR_ATTRIBUTE24                => p_rec.ABR_ATTRIBUTE24
713     ,P_ABR_ATTRIBUTE25                => p_rec.ABR_ATTRIBUTE25
714     ,P_ABR_ATTRIBUTE26                => p_rec.ABR_ATTRIBUTE26
715     ,P_ABR_ATTRIBUTE27                => p_rec.ABR_ATTRIBUTE27
716     ,P_ABR_ATTRIBUTE28                => p_rec.ABR_ATTRIBUTE28
717     ,P_ABR_ATTRIBUTE29                => p_rec.ABR_ATTRIBUTE29
718     ,P_ABR_ATTRIBUTE30                => p_rec.ABR_ATTRIBUTE30
719     ,P_ABR_SEQ_NUM                    => p_rec.ABR_SEQ_NUM
720     ,P_OBJECT_VERSION_NUMBER          => p_rec.OBJECT_VERSION_NUMBER
721     ,P_effective_date                 => p_effective_date
722     ,P_datetrack_mode                 => p_datetrack_mode
723     ,P_validation_start_date          => p_validation_start_date
724     ,P_validation_end_date            => p_validation_end_date
725     ,p_effective_start_date_o        => ben_abr_shd.g_old_rec.effective_start_date
726     ,p_effective_end_date_o          => ben_abr_shd.g_old_rec.effective_end_date
727     ,p_ordr_num_o	 	     => ben_abr_shd.g_old_rec.ordr_num
728     ,p_acty_typ_cd_o                 => ben_abr_shd.g_old_rec.acty_typ_cd
729     ,p_sub_acty_typ_cd_o             => ben_abr_shd.g_old_rec.sub_acty_typ_cd
730     ,p_name_o                        => ben_abr_shd.g_old_rec.name
731     ,p_rt_typ_cd_o                   => ben_abr_shd.g_old_rec.rt_typ_cd
732     ,p_bnft_rt_typ_cd_o              => ben_abr_shd.g_old_rec.bnft_rt_typ_cd
733     ,p_tx_typ_cd_o                   => ben_abr_shd.g_old_rec.tx_typ_cd
734     ,p_use_to_calc_net_flx_cr_fla_o  => ben_abr_shd.g_old_rec.use_to_calc_net_flx_cr_flag
735     ,p_asn_on_enrt_flag_o            => ben_abr_shd.g_old_rec.asn_on_enrt_flag
736     ,p_abv_mx_elcn_val_alwd_flag_o   => ben_abr_shd.g_old_rec.abv_mx_elcn_val_alwd_flag
737     ,p_blw_mn_elcn_alwd_flag_o       => ben_abr_shd.g_old_rec.blw_mn_elcn_alwd_flag
738     ,p_dsply_on_enrt_flag_o          => ben_abr_shd.g_old_rec.dsply_on_enrt_flag
739     ,p_parnt_chld_cd_o               => ben_abr_shd.g_old_rec.parnt_chld_cd
740     ,p_use_calc_acty_bs_rt_flag_o    => ben_abr_shd.g_old_rec.use_calc_acty_bs_rt_flag
741     ,p_uses_ded_sched_flag_o         => ben_abr_shd.g_old_rec.uses_ded_sched_flag
742     ,p_uses_varbl_rt_flag_o          => ben_abr_shd.g_old_rec.uses_varbl_rt_flag
743     ,p_vstg_sched_apls_flag_o        => ben_abr_shd.g_old_rec.vstg_sched_apls_flag
744     ,p_rt_mlt_cd_o                   => ben_abr_shd.g_old_rec.rt_mlt_cd
745     ,p_proc_each_pp_dflt_flag_o      => ben_abr_shd.g_old_rec.proc_each_pp_dflt_flag
746     ,p_prdct_flx_cr_when_elig_fla_o  => ben_abr_shd.g_old_rec.prdct_flx_cr_when_elig_flag
747     ,p_no_std_rt_used_flag_o         => ben_abr_shd.g_old_rec.no_std_rt_used_flag
748     ,p_rcrrg_cd_o                    => ben_abr_shd.g_old_rec.rcrrg_cd
749     ,p_mn_elcn_val_o                 => ben_abr_shd.g_old_rec.mn_elcn_val
750     ,p_mx_elcn_val_o                 => ben_abr_shd.g_old_rec.mx_elcn_val
751     ,p_lwr_lmt_val_o                 => ben_abr_shd.g_old_rec.lwr_lmt_val
752     ,p_lwr_lmt_calc_rl_o             => ben_abr_shd.g_old_rec.lwr_lmt_calc_rl
753     ,p_upr_lmt_val_o                 => ben_abr_shd.g_old_rec.upr_lmt_val
754     ,p_upr_lmt_calc_rl_o             => ben_abr_shd.g_old_rec.upr_lmt_calc_rl
755     ,p_ptd_comp_lvl_fctr_id_o        => ben_abr_shd.g_old_rec.ptd_comp_lvl_fctr_id
756     ,p_clm_comp_lvl_fctr_id_o        => ben_abr_shd.g_old_rec.clm_comp_lvl_fctr_id
757     ,p_entr_ann_val_flag_o           => ben_abr_shd.g_old_rec.entr_ann_val_flag
758     ,p_ann_mn_elcn_val_o             => ben_abr_shd.g_old_rec.ann_mn_elcn_val
759     ,p_ann_mx_elcn_val_o             => ben_abr_shd.g_old_rec.ann_mx_elcn_val
760     ,p_wsh_rl_dy_mo_num_o            => ben_abr_shd.g_old_rec.wsh_rl_dy_mo_num
764     ,p_incrmt_elcn_val_o             => ben_abr_shd.g_old_rec.incrmt_elcn_val
761     ,p_uses_pymt_sched_flag_o        => ben_abr_shd.g_old_rec.uses_pymt_sched_flag
762     ,p_nnmntry_uom_o                 => ben_abr_shd.g_old_rec.nnmntry_uom
763     ,p_val_o                         => ben_abr_shd.g_old_rec.val
765     ,p_rndg_cd_o                     => ben_abr_shd.g_old_rec.rndg_cd
766     ,p_val_ovrid_alwd_flag_o         => ben_abr_shd.g_old_rec.val_ovrid_alwd_flag
767     ,p_prtl_mo_det_mthd_cd_o         => ben_abr_shd.g_old_rec.prtl_mo_det_mthd_cd
768     ,p_acty_base_rt_stat_cd_o        => ben_abr_shd.g_old_rec.acty_base_rt_stat_cd
769     ,p_procg_src_cd_o                => ben_abr_shd.g_old_rec.procg_src_cd
770     ,p_dflt_val_o                    => ben_abr_shd.g_old_rec.dflt_val
771     ,p_dflt_flag_o                   => ben_abr_shd.g_old_rec.dflt_flag
772     ,p_frgn_erg_ded_typ_cd_o         => ben_abr_shd.g_old_rec.frgn_erg_ded_typ_cd
773     ,p_frgn_erg_ded_name_o           => ben_abr_shd.g_old_rec.frgn_erg_ded_name
774     ,p_frgn_erg_ded_ident_o          => ben_abr_shd.g_old_rec.frgn_erg_ded_ident
775     ,p_no_mx_elcn_val_dfnd_flag_o    => ben_abr_shd.g_old_rec.no_mx_elcn_val_dfnd_flag
776     ,p_prtl_mo_det_mthd_rl_o         => ben_abr_shd.g_old_rec.prtl_mo_det_mthd_rl
777     ,p_entr_val_at_enrt_flag_o       => ben_abr_shd.g_old_rec.entr_val_at_enrt_flag
778     ,p_prtl_mo_eff_dt_det_rl_o       => ben_abr_shd.g_old_rec.prtl_mo_eff_dt_det_rl
779     ,p_rndg_rl_o                     => ben_abr_shd.g_old_rec.rndg_rl
780     ,p_val_calc_rl_o                 => ben_abr_shd.g_old_rec.val_calc_rl
781     ,p_no_mn_elcn_val_dfnd_flag_o    => ben_abr_shd.g_old_rec.no_mn_elcn_val_dfnd_flag
782     ,p_prtl_mo_eff_dt_det_cd_o       => ben_abr_shd.g_old_rec.prtl_mo_eff_dt_det_cd
783     ,p_only_one_bal_typ_alwd_flag_o  => ben_abr_shd.g_old_rec.only_one_bal_typ_alwd_flag
784     ,p_rt_usg_cd_o                   => ben_abr_shd.g_old_rec.rt_usg_cd
785     ,p_prort_mn_ann_elcn_val_cd_o    => ben_abr_shd.g_old_rec.prort_mn_ann_elcn_val_cd
786     ,p_prort_mn_ann_elcn_val_rl_o    => ben_abr_shd.g_old_rec.prort_mn_ann_elcn_val_rl
787     ,p_prort_mx_ann_elcn_val_cd_o    => ben_abr_shd.g_old_rec.prort_mx_ann_elcn_val_cd
788     ,p_prort_mx_ann_elcn_val_rl_o    => ben_abr_shd.g_old_rec.prort_mx_ann_elcn_val_rl
789     ,p_one_ann_pymt_cd_o             => ben_abr_shd.g_old_rec.one_ann_pymt_cd
790     ,p_det_pl_ytd_cntrs_cd_o         => ben_abr_shd.g_old_rec.det_pl_ytd_cntrs_cd
791     ,p_asmt_to_use_cd_o              => ben_abr_shd.g_old_rec.asmt_to_use_cd
792     ,p_ele_rqd_flag_o                => ben_abr_shd.g_old_rec.ele_rqd_flag
793     ,p_subj_to_imptd_incm_flag_o     => ben_abr_shd.g_old_rec.subj_to_imptd_incm_flag
794     ,p_element_type_id_o             => ben_abr_shd.g_old_rec.element_type_id
795     ,p_input_value_id_o              => ben_abr_shd.g_old_rec.input_value_id
796     ,p_input_va_calc_rl_o            => ben_abr_shd.g_old_rec.input_va_calc_rl
797     ,p_comp_lvl_fctr_id_o            => ben_abr_shd.g_old_rec.comp_lvl_fctr_id
798     ,p_parnt_acty_base_rt_id_o       => ben_abr_shd.g_old_rec.parnt_acty_base_rt_id
799     ,p_pgm_id_o                      => ben_abr_shd.g_old_rec.pgm_id
800     ,p_pl_id_o                       => ben_abr_shd.g_old_rec.pl_id
801     ,p_oipl_id_o                     => ben_abr_shd.g_old_rec.oipl_id
802     ,p_opt_id_o                      => ben_abr_shd.g_old_rec.opt_id
803     ,p_oiplip_id_o                   => ben_abr_shd.g_old_rec.oiplip_id
804     ,p_plip_id_o                     => ben_abr_shd.g_old_rec.plip_id
805     ,p_ptip_id_o                     => ben_abr_shd.g_old_rec.ptip_id
806     ,p_cmbn_plip_id_o                => ben_abr_shd.g_old_rec.cmbn_plip_id
807     ,p_cmbn_ptip_id_o                => ben_abr_shd.g_old_rec.cmbn_ptip_id
808     ,p_cmbn_ptip_opt_id_o            => ben_abr_shd.g_old_rec.cmbn_ptip_opt_id
809     ,p_vstg_for_acty_rt_id_o         => ben_abr_shd.g_old_rec.vstg_for_acty_rt_id
810     ,p_actl_prem_id_o                => ben_abr_shd.g_old_rec.actl_prem_id
811     ,p_TTL_COMP_LVL_FCTR_ID_o        => ben_abr_shd.g_old_rec.TTL_COMP_LVL_FCTR_ID
812     ,p_COST_ALLOCATION_KEYFLEX_ID_o  => ben_abr_shd.g_old_rec.COST_ALLOCATION_KEYFLEX_ID
813     ,p_ALWS_CHG_CD_o                 => ben_abr_shd.g_old_rec.ALWS_CHG_CD
814     ,p_ele_entry_val_cd_o            => ben_abr_shd.g_old_rec.ele_entry_val_cd
815     ,p_pay_rate_grade_rule_id_o      => ben_abr_shd.g_old_rec.pay_rate_grade_rule_id
816     ,p_rate_periodization_cd_o       => ben_abr_shd.g_old_rec.rate_periodization_cd
817     ,p_rate_periodization_rl_o       => ben_abr_shd.g_old_rec.rate_periodization_rl
818     ,p_mn_mx_elcn_rl_o		     => ben_abr_shd.g_old_rec.mn_mx_elcn_rl
819     ,p_mapping_table_name_o            => ben_abr_shd.g_old_rec.mapping_table_name
820     ,p_mapping_table_pk_id_o           => ben_abr_shd.g_old_rec.mapping_table_pk_id
821     ,p_business_group_id_o           => ben_abr_shd.g_old_rec.business_group_id
822     ,p_context_pgm_id_o              => ben_abr_shd.g_old_rec.context_pgm_id
823     ,p_context_pl_id_o               => ben_abr_shd.g_old_rec.context_pl_id
824     ,p_context_opt_id_o              => ben_abr_shd.g_old_rec.context_opt_id
825     ,p_element_det_rl_o              => ben_abr_shd.g_old_rec.element_det_rl
826     ,p_currency_det_cd_o             => ben_abr_shd.g_old_rec.currency_det_cd
827     ,P_ABR_ATTRIBUTE_CATEGORY_o      => ben_abr_shd.g_old_rec.ABR_ATTRIBUTE_CATEGORY
828     ,P_ABR_ATTRIBUTE1_o              => ben_abr_shd.g_old_rec.ABR_ATTRIBUTE1
829     ,P_ABR_ATTRIBUTE2_o              => ben_abr_shd.g_old_rec.ABR_ATTRIBUTE2
830     ,P_ABR_ATTRIBUTE3_o              => ben_abr_shd.g_old_rec.ABR_ATTRIBUTE3
831     ,P_ABR_ATTRIBUTE4_o              => ben_abr_shd.g_old_rec.ABR_ATTRIBUTE4
832     ,P_ABR_ATTRIBUTE5_o              => ben_abr_shd.g_old_rec.ABR_ATTRIBUTE5
833     ,P_ABR_ATTRIBUTE6_o              => ben_abr_shd.g_old_rec.ABR_ATTRIBUTE6
837     ,P_ABR_ATTRIBUTE10_o             => ben_abr_shd.g_old_rec.ABR_ATTRIBUTE10
834     ,P_ABR_ATTRIBUTE7_o              => ben_abr_shd.g_old_rec.ABR_ATTRIBUTE7
835     ,P_ABR_ATTRIBUTE8_o              => ben_abr_shd.g_old_rec.ABR_ATTRIBUTE8
836     ,P_ABR_ATTRIBUTE9_o              => ben_abr_shd.g_old_rec.ABR_ATTRIBUTE9
838     ,P_ABR_ATTRIBUTE11_o             => ben_abr_shd.g_old_rec.ABR_ATTRIBUTE11
839     ,P_ABR_ATTRIBUTE12_o             => ben_abr_shd.g_old_rec.ABR_ATTRIBUTE12
840     ,P_ABR_ATTRIBUTE13_o             => ben_abr_shd.g_old_rec.ABR_ATTRIBUTE13
841     ,P_ABR_ATTRIBUTE14_o             => ben_abr_shd.g_old_rec.ABR_ATTRIBUTE14
842     ,P_ABR_ATTRIBUTE15_o             => ben_abr_shd.g_old_rec.ABR_ATTRIBUTE15
843     ,P_ABR_ATTRIBUTE16_o             => ben_abr_shd.g_old_rec.ABR_ATTRIBUTE16
844     ,P_ABR_ATTRIBUTE17_o             => ben_abr_shd.g_old_rec.ABR_ATTRIBUTE17
845     ,P_ABR_ATTRIBUTE18_o             => ben_abr_shd.g_old_rec.ABR_ATTRIBUTE18
846     ,P_ABR_ATTRIBUTE19_o             => ben_abr_shd.g_old_rec.ABR_ATTRIBUTE19
847     ,P_ABR_ATTRIBUTE20_o             => ben_abr_shd.g_old_rec.ABR_ATTRIBUTE20
848     ,P_ABR_ATTRIBUTE21_o             => ben_abr_shd.g_old_rec.ABR_ATTRIBUTE21
849     ,P_ABR_ATTRIBUTE22_o             => ben_abr_shd.g_old_rec.ABR_ATTRIBUTE22
850     ,P_ABR_ATTRIBUTE23_o             => ben_abr_shd.g_old_rec.ABR_ATTRIBUTE23
851     ,P_ABR_ATTRIBUTE24_o             => ben_abr_shd.g_old_rec.ABR_ATTRIBUTE24
852     ,P_ABR_ATTRIBUTE25_o             => ben_abr_shd.g_old_rec.ABR_ATTRIBUTE25
853     ,P_ABR_ATTRIBUTE26_o             => ben_abr_shd.g_old_rec.ABR_ATTRIBUTE26
854     ,P_ABR_ATTRIBUTE27_o             => ben_abr_shd.g_old_rec.ABR_ATTRIBUTE27
855     ,P_ABR_ATTRIBUTE28_o             => ben_abr_shd.g_old_rec.ABR_ATTRIBUTE28
856     ,P_ABR_ATTRIBUTE29_o             => ben_abr_shd.g_old_rec.ABR_ATTRIBUTE29
857     ,P_ABR_ATTRIBUTE30_o             => ben_abr_shd.g_old_rec.ABR_ATTRIBUTE30
858     ,P_ABR_SEQ_NUM_o                 => ben_abr_shd.g_old_rec.ABR_SEQ_NUM
859     ,P_OBJECT_VERSION_NUMBER_o       => ben_abr_shd.g_old_rec.OBJECT_VERSION_NUMBER
860     );
861     --
862   exception
863     --
864     when hr_api.cannot_find_prog_unit then
865       --
866       hr_api.cannot_find_prog_unit_error
867         (p_module_name => 'ben_acty_base_rt_f'
868         ,p_hook_type   => 'AU');
869       --
870   end;
871 
872   hr_utility.set_location(' Leaving:'||l_proc, 10);
873 End post_update;
874 --
875 -- ----------------------------------------------------------------------------
876 -- |-----------------------------< convert_defs >-----------------------------|
877 -- ----------------------------------------------------------------------------
878 -- {Start Of Comments}
879 --
880 -- Description:
881 --   The Convert_Defs procedure has one very important function:
882 --   It must return the record structure for the row with all system defaulted
883 --   values converted into its corresponding parameter value for update. When
884 --   we attempt to update a row through the Upd process , certain
885 --   parameters can be defaulted which enables flexibility in the calling of
886 --   the upd process (e.g. only attributes which need to be updated need to be
887 --   specified). For the upd process to determine which attributes
888 --   have NOT been specified we need to check if the parameter has a reserved
889 --   system default value. Therefore, for all parameters which have a
890 --   corresponding reserved system default mechanism specified we need to
891 --   check if a system default is being used. If a system default is being
892 --   used then we convert the defaulted value into its corresponding attribute
893 --   value held in the g_old_rec data structure.
894 --
895 -- Prerequisites:
896 --   This private function can only be called from the upd process.
897 --
898 -- In Parameters:
899 --   A Pl/Sql record structre.
900 --
901 -- Post Success:
902 --   The record structure will be returned with all system defaulted parameter
903 --   values converted into its current row attribute value.
904 --
905 -- Post Failure:
906 --   No direct error handling is required within this function. Any possible
907 --   errors within this procedure will be a PL/SQL value error due to conversion
908 
909 --   of datatypes or data lengths.
910 --
911 -- Developer Implementation Notes:
912 --   None.
913 --
914 -- Access Status:
915 --   Internal Row Handler Use Only.
916 --
917 -- {End Of Comments}
918 -- ----------------------------------------------------------------------------
919 Procedure convert_defs(p_rec in out nocopy ben_abr_shd.g_rec_type) is
920 --
921   l_proc  varchar2(72) := g_package||'convert_defs';
922 --
923 Begin
924   --
925   hr_utility.set_location('Entering:'||l_proc, 5);
926   --
927   -- We must now examine each argument value in the
928   -- p_rec plsql record structure
929   -- to see if a system default is being used. If a system default
930   -- is being used then we must set to the 'current' argument value.
931   --
932   If (p_rec.ordr_num = hr_api.g_number) then
933       p_rec.ordr_num :=
934       ben_abr_shd.g_old_rec.ordr_num;
935   End If;
936   If (p_rec.acty_typ_cd = hr_api.g_varchar2) then
937     p_rec.acty_typ_cd :=
938     ben_abr_shd.g_old_rec.acty_typ_cd;
939   End If;
940 
941   If (p_rec.sub_acty_typ_cd = hr_api.g_varchar2) then
942     p_rec.sub_acty_typ_cd :=
943     ben_abr_shd.g_old_rec.sub_acty_typ_cd;
944   End If;
945 
946   If (p_rec.element_type_id = hr_api.g_number) then
947     p_rec.element_type_id :=
948     ben_abr_shd.g_old_rec.element_type_id;
949   End If;
953   End If;
950   If (p_rec.input_value_id  = hr_api.g_number) then
951     p_rec.input_value_id  :=
952     ben_abr_shd.g_old_rec.input_value_id ;
954   If (p_rec.input_va_calc_rl  = hr_api.g_number) then
955     p_rec.input_va_calc_rl  :=
956     ben_abr_shd.g_old_rec.input_va_calc_rl ;
957   End If;
958   If (p_rec.comp_lvl_fctr_id = hr_api.g_number) then
959     p_rec.comp_lvl_fctr_id :=
960     ben_abr_shd.g_old_rec.comp_lvl_fctr_id;
961   End If;
962   If (p_rec.parnt_acty_base_rt_id = hr_api.g_number) then
963     p_rec.parnt_acty_base_rt_id :=
964     ben_abr_shd.g_old_rec.parnt_acty_base_rt_id;
965   End If;
966   If (p_rec.pgm_id = hr_api.g_number) then
967     p_rec.pgm_id :=
968     ben_abr_shd.g_old_rec.pgm_id;
969   End If;
970   If (p_rec.pl_id = hr_api.g_number) then
971     p_rec.pl_id :=
972     ben_abr_shd.g_old_rec.pl_id;
973   End If;
974   If (p_rec.oipl_id = hr_api.g_number) then
975     p_rec.oipl_id :=
976     ben_abr_shd.g_old_rec.oipl_id;
977   End If;
978   If (p_rec.opt_id = hr_api.g_number) then
979     p_rec.opt_id :=
980     ben_abr_shd.g_old_rec.opt_id;
981   End If;
982   If (p_rec.oiplip_id = hr_api.g_number) then
983     p_rec.oiplip_id :=
984     ben_abr_shd.g_old_rec.oiplip_id;
985   End If;
986   If (p_rec.plip_id = hr_api.g_number) then
987     p_rec.plip_id :=
988     ben_abr_shd.g_old_rec.plip_id;
989   End If;
990   If (p_rec.ptip_id = hr_api.g_number) then
991     p_rec.ptip_id :=
992     ben_abr_shd.g_old_rec.ptip_id;
993   End If;
994   If (p_rec.cmbn_ptip_opt_id = hr_api.g_number) then
995     p_rec.cmbn_ptip_opt_id :=
996     ben_abr_shd.g_old_rec.cmbn_ptip_opt_id;
997   End If;
998   If (p_rec.vstg_for_acty_rt_id = hr_api.g_number) then
999     p_rec.vstg_for_acty_rt_id :=
1000     ben_abr_shd.g_old_rec.vstg_for_acty_rt_id;
1001   End If;
1002   If (p_rec.actl_prem_id = hr_api.g_number) then
1003     p_rec.actl_prem_id :=
1004     ben_abr_shd.g_old_rec.actl_prem_id;
1005   End If;
1006   If (p_rec.TTL_COMP_LVL_FCTR_ID = hr_api.g_number) then
1007     p_rec.TTL_COMP_LVL_FCTR_ID :=
1008     ben_abr_shd.g_old_rec.TTL_COMP_LVL_FCTR_ID;
1009   End If;
1010   If (p_rec.COST_ALLOCATION_KEYFLEX_ID = hr_api.g_number) then
1011     p_rec.COST_ALLOCATION_KEYFLEX_ID :=
1012     ben_abr_shd.g_old_rec.COST_ALLOCATION_KEYFLEX_ID;
1013   End If;
1014   If (p_rec.ALWS_CHG_CD = hr_api.g_varchar2) then
1015     p_rec.ALWS_CHG_CD :=
1016     ben_abr_shd.g_old_rec.ALWS_CHG_CD;
1017   End If;
1018   If (p_rec.ele_entry_val_cd = hr_api.g_varchar2) then
1019     p_rec.ele_entry_val_cd :=
1020     ben_abr_shd.g_old_rec.ele_entry_val_cd;
1021   End If;
1022   If (p_rec.rt_typ_cd = hr_api.g_varchar2) then
1023     p_rec.rt_typ_cd :=
1024     ben_abr_shd.g_old_rec.rt_typ_cd;
1025   End If;
1026   If (p_rec.bnft_rt_typ_cd = hr_api.g_varchar2) then
1027     p_rec.bnft_rt_typ_cd :=
1028     ben_abr_shd.g_old_rec.bnft_rt_typ_cd;
1029   End If;
1030   If (p_rec.tx_typ_cd = hr_api.g_varchar2) then
1031     p_rec.tx_typ_cd :=
1032     ben_abr_shd.g_old_rec.tx_typ_cd;
1033   End If;
1034   If (p_rec.use_to_calc_net_flx_cr_flag = hr_api.g_varchar2) then
1035     p_rec.use_to_calc_net_flx_cr_flag :=
1036     ben_abr_shd.g_old_rec.use_to_calc_net_flx_cr_flag;
1037   End If;
1038   If (p_rec.asn_on_enrt_flag = hr_api.g_varchar2) then
1039     p_rec.asn_on_enrt_flag :=
1040     ben_abr_shd.g_old_rec.asn_on_enrt_flag;
1041   End If;
1042   If (p_rec.abv_mx_elcn_val_alwd_flag = hr_api.g_varchar2) then
1043     p_rec.abv_mx_elcn_val_alwd_flag :=
1044     ben_abr_shd.g_old_rec.abv_mx_elcn_val_alwd_flag;
1045   End If;
1046   If (p_rec.blw_mn_elcn_alwd_flag = hr_api.g_varchar2) then
1047     p_rec.blw_mn_elcn_alwd_flag :=
1048     ben_abr_shd.g_old_rec.blw_mn_elcn_alwd_flag;
1049   End If;
1050   If (p_rec.dsply_on_enrt_flag = hr_api.g_varchar2) then
1051     p_rec.dsply_on_enrt_flag :=
1052     ben_abr_shd.g_old_rec.dsply_on_enrt_flag;
1053   End If;
1054   If (p_rec.parnt_chld_cd = hr_api.g_varchar2) then
1055     p_rec.parnt_chld_cd :=
1056     ben_abr_shd.g_old_rec.parnt_chld_cd;
1057   End If;
1058   If (p_rec.use_calc_acty_bs_rt_flag = hr_api.g_varchar2) then
1059     p_rec.use_calc_acty_bs_rt_flag :=
1060     ben_abr_shd.g_old_rec.use_calc_acty_bs_rt_flag;
1061   End If;
1062   If (p_rec.uses_ded_sched_flag = hr_api.g_varchar2) then
1063     p_rec.uses_ded_sched_flag :=
1064     ben_abr_shd.g_old_rec.uses_ded_sched_flag;
1065   End If;
1066   If (p_rec.uses_varbl_rt_flag = hr_api.g_varchar2) then
1067     p_rec.uses_varbl_rt_flag :=
1068     ben_abr_shd.g_old_rec.uses_varbl_rt_flag;
1069   End If;
1070   If (p_rec.vstg_sched_apls_flag = hr_api.g_varchar2) then
1071     p_rec.vstg_sched_apls_flag :=
1072     ben_abr_shd.g_old_rec.vstg_sched_apls_flag;
1073   End If;
1074   If (p_rec.rt_mlt_cd = hr_api.g_varchar2) then
1075     p_rec.rt_mlt_cd :=
1076     ben_abr_shd.g_old_rec.rt_mlt_cd;
1077   End If;
1078   If (p_rec.proc_each_pp_dflt_flag = hr_api.g_varchar2) then
1079     p_rec.proc_each_pp_dflt_flag :=
1080     ben_abr_shd.g_old_rec.proc_each_pp_dflt_flag;
1081   End If;
1082   If (p_rec.prdct_flx_cr_when_elig_flag = hr_api.g_varchar2) then
1083     p_rec.prdct_flx_cr_when_elig_flag :=
1084     ben_abr_shd.g_old_rec.prdct_flx_cr_when_elig_flag;
1085   End If;
1086   If (p_rec.no_std_rt_used_flag = hr_api.g_varchar2) then
1087     p_rec.no_std_rt_used_flag :=
1088     ben_abr_shd.g_old_rec.no_std_rt_used_flag;
1089   End If;
1090   If (p_rec.rcrrg_cd = hr_api.g_varchar2) then
1094   If (p_rec.mn_elcn_val = hr_api.g_number) then
1091     p_rec.rcrrg_cd :=
1092     ben_abr_shd.g_old_rec.rcrrg_cd;
1093   End If;
1095     p_rec.mn_elcn_val :=
1096     ben_abr_shd.g_old_rec.mn_elcn_val;
1097   End If;
1098   If (p_rec.mx_elcn_val = hr_api.g_number) then
1099     p_rec.mx_elcn_val :=
1100     ben_abr_shd.g_old_rec.mx_elcn_val;
1101   End If;
1102   If (p_rec.lwr_lmt_val = hr_api.g_number) then
1103     p_rec.lwr_lmt_val :=
1104     ben_abr_shd.g_old_rec.lwr_lmt_val;
1105   End If;
1106   If (p_rec.lwr_lmt_calc_rl = hr_api.g_number) then
1107     p_rec.lwr_lmt_calc_rl :=
1108     ben_abr_shd.g_old_rec.lwr_lmt_calc_rl;
1109   End If;
1110   If (p_rec.upr_lmt_val = hr_api.g_number) then
1111     p_rec.upr_lmt_val :=
1112     ben_abr_shd.g_old_rec.upr_lmt_val;
1113   End If;
1114   If (p_rec.upr_lmt_calc_rl = hr_api.g_number) then
1115     p_rec.upr_lmt_calc_rl :=
1116     ben_abr_shd.g_old_rec.upr_lmt_calc_rl;
1117   End If;
1118   If (p_rec.ptd_comp_lvl_fctr_id = hr_api.g_number) then
1119     p_rec.ptd_comp_lvl_fctr_id :=
1120     ben_abr_shd.g_old_rec.ptd_comp_lvl_fctr_id;
1121   End If;
1122   If (p_rec.clm_comp_lvl_fctr_id = hr_api.g_number) then
1123     p_rec.clm_comp_lvl_fctr_id :=
1124     ben_abr_shd.g_old_rec.clm_comp_lvl_fctr_id;
1125   End If;
1126   If (p_rec.entr_ann_val_flag = hr_api.g_varchar2) then
1127     p_rec.entr_ann_val_flag :=
1128     ben_abr_shd.g_old_rec.entr_ann_val_flag;
1129   End If;
1130   If (p_rec.ann_mn_elcn_val = hr_api.g_number) then
1131     p_rec.ann_mn_elcn_val :=
1132     ben_abr_shd.g_old_rec.ann_mn_elcn_val;
1133   End If;
1134   If (p_rec.ann_mx_elcn_val = hr_api.g_number) then
1135     p_rec.ann_mx_elcn_val :=
1136     ben_abr_shd.g_old_rec.ann_mx_elcn_val;
1137   End If;
1138   If (p_rec.wsh_rl_dy_mo_num = hr_api.g_number) then
1139     p_rec.wsh_rl_dy_mo_num :=
1140     ben_abr_shd.g_old_rec.wsh_rl_dy_mo_num;
1141   End If;
1142   If (p_rec.uses_pymt_sched_flag = hr_api.g_varchar2) then
1143     p_rec.uses_pymt_sched_flag :=
1144     ben_abr_shd.g_old_rec.uses_pymt_sched_flag;
1145   End If;
1146   If (p_rec.nnmntry_uom = hr_api.g_varchar2) then
1147     p_rec.nnmntry_uom :=
1148     ben_abr_shd.g_old_rec.nnmntry_uom;
1149   End If;
1150   If (p_rec.val = hr_api.g_number) then
1151     p_rec.val :=
1152     ben_abr_shd.g_old_rec.val;
1153   End If;
1154   If (p_rec.incrmt_elcn_val = hr_api.g_number) then
1155     p_rec.incrmt_elcn_val :=
1156     ben_abr_shd.g_old_rec.incrmt_elcn_val;
1157   End If;
1158   If (p_rec.rndg_cd = hr_api.g_varchar2) then
1159     p_rec.rndg_cd :=
1160     ben_abr_shd.g_old_rec.rndg_cd;
1161   End If;
1162   If (p_rec.val_ovrid_alwd_flag = hr_api.g_varchar2) then
1163     p_rec.val_ovrid_alwd_flag :=
1164     ben_abr_shd.g_old_rec.val_ovrid_alwd_flag;
1165   End If;
1166   If (p_rec.prtl_mo_det_mthd_cd = hr_api.g_varchar2) then
1167     p_rec.prtl_mo_det_mthd_cd :=
1168     ben_abr_shd.g_old_rec.prtl_mo_det_mthd_cd;
1169   End If;
1170   If (p_rec.acty_base_rt_stat_cd = hr_api.g_varchar2) then
1171     p_rec.acty_base_rt_stat_cd :=
1172     ben_abr_shd.g_old_rec.acty_base_rt_stat_cd;
1173   End If;
1174   If (p_rec.procg_src_cd = hr_api.g_varchar2) then
1175     p_rec.procg_src_cd :=
1176     ben_abr_shd.g_old_rec.procg_src_cd;
1177   End If;
1178   If (p_rec.dflt_val = hr_api.g_number) then
1179     p_rec.dflt_val :=
1180     ben_abr_shd.g_old_rec.dflt_val;
1181   End If;
1182   If (p_rec.dflt_flag = hr_api.g_varchar2) then
1183     p_rec.dflt_flag :=
1184     ben_abr_shd.g_old_rec.dflt_flag;
1185   End If;
1186   If (p_rec.frgn_erg_ded_typ_cd = hr_api.g_varchar2) then
1187     p_rec.frgn_erg_ded_typ_cd :=
1188     ben_abr_shd.g_old_rec.frgn_erg_ded_typ_cd;
1189   End If;
1190   If (p_rec.frgn_erg_ded_name = hr_api.g_varchar2) then
1191     p_rec.frgn_erg_ded_name :=
1192     ben_abr_shd.g_old_rec.frgn_erg_ded_name;
1193   End If;
1194   If (p_rec.frgn_erg_ded_ident = hr_api.g_varchar2) then
1195     p_rec.frgn_erg_ded_ident :=
1196     ben_abr_shd.g_old_rec.frgn_erg_ded_ident;
1197   End If;
1198   If (p_rec.no_mx_elcn_val_dfnd_flag = hr_api.g_varchar2) then
1199     p_rec.no_mx_elcn_val_dfnd_flag :=
1200     ben_abr_shd.g_old_rec.no_mx_elcn_val_dfnd_flag;
1201   End If;
1202   If (p_rec.cmbn_plip_id = hr_api.g_number) then
1203     p_rec.cmbn_plip_id :=
1204     ben_abr_shd.g_old_rec.cmbn_plip_id;
1205   End If;
1206   If (p_rec.cmbn_ptip_id = hr_api.g_number) then
1207     p_rec.cmbn_ptip_id :=
1208     ben_abr_shd.g_old_rec.cmbn_ptip_id;
1209   End If;
1210   If (p_rec.prtl_mo_det_mthd_rl = hr_api.g_number) then
1211     p_rec.prtl_mo_det_mthd_rl :=
1212     ben_abr_shd.g_old_rec.prtl_mo_det_mthd_rl;
1213   End If;
1214   If (p_rec.entr_val_at_enrt_flag = hr_api.g_varchar2) then
1215     p_rec.entr_val_at_enrt_flag :=
1216     ben_abr_shd.g_old_rec.entr_val_at_enrt_flag;
1217   End If;
1218   If (p_rec.prtl_mo_eff_dt_det_rl = hr_api.g_number) then
1219     p_rec.prtl_mo_eff_dt_det_rl :=
1220     ben_abr_shd.g_old_rec.prtl_mo_eff_dt_det_rl;
1221   End If;
1222   If (p_rec.rndg_rl = hr_api.g_number) then
1223     p_rec.rndg_rl :=
1224     ben_abr_shd.g_old_rec.rndg_rl;
1225   End If;
1226   If (p_rec.val_calc_rl = hr_api.g_number) then
1227     p_rec.val_calc_rl :=
1228     ben_abr_shd.g_old_rec.val_calc_rl;
1229   End If;
1230   If (p_rec.no_mn_elcn_val_dfnd_flag = hr_api.g_varchar2) then
1231     p_rec.no_mn_elcn_val_dfnd_flag :=
1232     ben_abr_shd.g_old_rec.no_mn_elcn_val_dfnd_flag;
1233   End If;
1237   End If;
1234   If (p_rec.prtl_mo_eff_dt_det_cd = hr_api.g_varchar2) then
1235     p_rec.prtl_mo_eff_dt_det_cd :=
1236     ben_abr_shd.g_old_rec.prtl_mo_eff_dt_det_cd;
1238 
1239   If (p_rec.pay_rate_grade_rule_id  = hr_api.g_number) then
1240     p_rec.pay_rate_grade_rule_id  :=
1241     ben_abr_shd.g_old_rec.pay_rate_grade_rule_id;
1242   End If;
1243 
1244   If (p_rec.rate_periodization_cd  = hr_api.g_varchar2) then
1245     p_rec.rate_periodization_cd  :=
1246     ben_abr_shd.g_old_rec.rate_periodization_cd;
1247   End If;
1248 
1249   If (p_rec.rate_periodization_rl  = hr_api.g_number) then
1250     p_rec.rate_periodization_rl  :=
1251     ben_abr_shd.g_old_rec.rate_periodization_rl;
1252   End If;
1253 
1254   If (p_rec.business_group_id = hr_api.g_number) then
1255     p_rec.business_group_id :=
1256     ben_abr_shd.g_old_rec.business_group_id;
1257   End If;
1258 
1259   If (p_rec.only_one_bal_typ_alwd_flag = hr_api.g_varchar2) then
1260     p_rec.only_one_bal_typ_alwd_flag :=
1261     ben_abr_shd.g_old_rec.only_one_bal_typ_alwd_flag;
1262   End If;
1263   If (p_rec.rt_usg_cd = hr_api.g_varchar2) then
1264     p_rec.rt_usg_cd :=
1265     ben_abr_shd.g_old_rec.rt_usg_cd;
1266   End If;
1267   If (p_rec.prort_mn_ann_elcn_val_cd = hr_api.g_varchar2) then
1268     p_rec.prort_mn_ann_elcn_val_cd :=
1269     ben_abr_shd.g_old_rec.prort_mn_ann_elcn_val_cd;
1270   End If;
1271   If (p_rec.prort_mn_ann_elcn_val_rl = hr_api.g_number) then
1272     p_rec.prort_mn_ann_elcn_val_rl :=
1273     ben_abr_shd.g_old_rec.prort_mn_ann_elcn_val_rl;
1274   End If;
1275   If (p_rec.prort_mx_ann_elcn_val_cd = hr_api.g_varchar2) then
1276     p_rec.prort_mx_ann_elcn_val_cd :=
1277     ben_abr_shd.g_old_rec.prort_mx_ann_elcn_val_cd;
1278   End If;
1279   If (p_rec.prort_mx_ann_elcn_val_rl = hr_api.g_number) then
1280     p_rec.prort_mx_ann_elcn_val_rl :=
1281     ben_abr_shd.g_old_rec.prort_mx_ann_elcn_val_rl;
1282   End If;
1283   If (p_rec.one_ann_pymt_cd = hr_api.g_varchar2) then
1284     p_rec.one_ann_pymt_cd :=
1285     ben_abr_shd.g_old_rec.one_ann_pymt_cd;
1286   End If;
1287   If (p_rec.det_pl_ytd_cntrs_cd = hr_api.g_varchar2) then
1288     p_rec.det_pl_ytd_cntrs_cd :=
1289     ben_abr_shd.g_old_rec.det_pl_ytd_cntrs_cd;
1290   End If;
1291   If (p_rec.asmt_to_use_cd = hr_api.g_varchar2) then
1292     p_rec.asmt_to_use_cd :=
1293     ben_abr_shd.g_old_rec.asmt_to_use_cd;
1294   End If;
1295   If (p_rec.ele_rqd_flag = hr_api.g_varchar2) then
1296     p_rec.ele_rqd_flag :=
1297     ben_abr_shd.g_old_rec.ele_rqd_flag;
1298   End If;
1299   If (p_rec.subj_to_imptd_incm_flag = hr_api.g_varchar2) then
1300     p_rec.subj_to_imptd_incm_flag :=
1301     ben_abr_shd.g_old_rec.subj_to_imptd_incm_flag;
1302   End If;
1303   If (p_rec.name    = hr_api.g_varchar2) then
1304     p_rec.name :=
1305     ben_abr_shd.g_old_rec.name;
1306   End If;
1307   If (p_rec.mn_mx_elcn_rl  = hr_api.g_number) then
1308     p_rec.mn_mx_elcn_rl  :=
1309     ben_abr_shd.g_old_rec.mn_mx_elcn_rl;
1310   End If;
1311   If (p_rec.mapping_table_name = hr_api.g_varchar2) then
1312     p_rec.mapping_table_name:=
1313     ben_abr_shd.g_old_rec.mapping_table_name;
1314   End If;
1315   If (p_rec.mapping_table_pk_id  = hr_api.g_number) then
1316     p_rec.mapping_table_pk_id  :=
1317     ben_abr_shd.g_old_rec.mapping_table_pk_id;
1318   End If;
1319 
1320   If (p_rec.element_det_rl  = hr_api.g_number) then
1321     p_rec.element_det_rl  :=
1322     ben_abr_shd.g_old_rec.element_det_rl;
1323   End If;
1324   If (p_rec.currency_det_cd = hr_api.g_varchar2) then
1325     p_rec.currency_det_cd:=
1326     ben_abr_shd.g_old_rec.currency_det_cd;
1327   End If;
1328 
1329   If (p_rec.abr_attribute_category = hr_api.g_varchar2) then
1330     p_rec.abr_attribute_category :=
1331     ben_abr_shd.g_old_rec.abr_attribute_category;
1332   End If;
1333   If (p_rec.abr_attribute1 = hr_api.g_varchar2) then
1334     p_rec.abr_attribute1 :=
1335     ben_abr_shd.g_old_rec.abr_attribute1;
1336   End If;
1337   If (p_rec.abr_attribute2 = hr_api.g_varchar2) then
1338     p_rec.abr_attribute2 :=
1339     ben_abr_shd.g_old_rec.abr_attribute2;
1340   End If;
1341   If (p_rec.abr_attribute3 = hr_api.g_varchar2) then
1342     p_rec.abr_attribute3 :=
1343     ben_abr_shd.g_old_rec.abr_attribute3;
1344   End If;
1345   If (p_rec.abr_attribute4 = hr_api.g_varchar2) then
1346     p_rec.abr_attribute4 :=
1347     ben_abr_shd.g_old_rec.abr_attribute4;
1348   End If;
1349   If (p_rec.abr_attribute5 = hr_api.g_varchar2) then
1350     p_rec.abr_attribute5 :=
1351     ben_abr_shd.g_old_rec.abr_attribute5;
1352   End If;
1353   If (p_rec.abr_attribute6 = hr_api.g_varchar2) then
1354     p_rec.abr_attribute6 :=
1355     ben_abr_shd.g_old_rec.abr_attribute6;
1356   End If;
1357   If (p_rec.abr_attribute7 = hr_api.g_varchar2) then
1358     p_rec.abr_attribute7 :=
1359     ben_abr_shd.g_old_rec.abr_attribute7;
1360   End If;
1361   If (p_rec.abr_attribute8 = hr_api.g_varchar2) then
1362     p_rec.abr_attribute8 :=
1363     ben_abr_shd.g_old_rec.abr_attribute8;
1364   End If;
1365   If (p_rec.abr_attribute9 = hr_api.g_varchar2) then
1366     p_rec.abr_attribute9 :=
1367     ben_abr_shd.g_old_rec.abr_attribute9;
1368   End If;
1369   If (p_rec.abr_attribute10 = hr_api.g_varchar2) then
1370     p_rec.abr_attribute10 :=
1374     p_rec.abr_attribute11 :=
1371     ben_abr_shd.g_old_rec.abr_attribute10;
1372   End If;
1373   If (p_rec.abr_attribute11 = hr_api.g_varchar2) then
1375     ben_abr_shd.g_old_rec.abr_attribute11;
1376   End If;
1377   If (p_rec.abr_attribute12 = hr_api.g_varchar2) then
1378     p_rec.abr_attribute12 :=
1379     ben_abr_shd.g_old_rec.abr_attribute12;
1380   End If;
1381   If (p_rec.abr_attribute13 = hr_api.g_varchar2) then
1382     p_rec.abr_attribute13 :=
1383     ben_abr_shd.g_old_rec.abr_attribute13;
1384   End If;
1385   If (p_rec.abr_attribute14 = hr_api.g_varchar2) then
1386     p_rec.abr_attribute14 :=
1387     ben_abr_shd.g_old_rec.abr_attribute14;
1388   End If;
1389   If (p_rec.abr_attribute15 = hr_api.g_varchar2) then
1390     p_rec.abr_attribute15 :=
1391     ben_abr_shd.g_old_rec.abr_attribute15;
1392   End If;
1393   If (p_rec.abr_attribute16 = hr_api.g_varchar2) then
1394     p_rec.abr_attribute16 :=
1395     ben_abr_shd.g_old_rec.abr_attribute16;
1396   End If;
1397   If (p_rec.abr_attribute17 = hr_api.g_varchar2) then
1398     p_rec.abr_attribute17 :=
1399     ben_abr_shd.g_old_rec.abr_attribute17;
1400   End If;
1401   If (p_rec.abr_attribute18 = hr_api.g_varchar2) then
1402     p_rec.abr_attribute18 :=
1403     ben_abr_shd.g_old_rec.abr_attribute18;
1404   End If;
1405   If (p_rec.abr_attribute19 = hr_api.g_varchar2) then
1406     p_rec.abr_attribute19 :=
1407     ben_abr_shd.g_old_rec.abr_attribute19;
1408   End If;
1409   If (p_rec.abr_attribute20 = hr_api.g_varchar2) then
1410     p_rec.abr_attribute20 :=
1411     ben_abr_shd.g_old_rec.abr_attribute20;
1412   End If;
1413   If (p_rec.abr_attribute21 = hr_api.g_varchar2) then
1414     p_rec.abr_attribute21 :=
1415     ben_abr_shd.g_old_rec.abr_attribute21;
1416   End If;
1417   If (p_rec.abr_attribute22 = hr_api.g_varchar2) then
1418     p_rec.abr_attribute22 :=
1419     ben_abr_shd.g_old_rec.abr_attribute22;
1420   End If;
1421   If (p_rec.abr_attribute23 = hr_api.g_varchar2) then
1422     p_rec.abr_attribute23 :=
1423     ben_abr_shd.g_old_rec.abr_attribute23;
1424   End If;
1425   If (p_rec.abr_attribute24 = hr_api.g_varchar2) then
1426     p_rec.abr_attribute24 :=
1427     ben_abr_shd.g_old_rec.abr_attribute24;
1428   End If;
1429   If (p_rec.abr_attribute25 = hr_api.g_varchar2) then
1430     p_rec.abr_attribute25 :=
1431     ben_abr_shd.g_old_rec.abr_attribute25;
1432   End If;
1433   If (p_rec.abr_attribute26 = hr_api.g_varchar2) then
1434     p_rec.abr_attribute26 :=
1435     ben_abr_shd.g_old_rec.abr_attribute26;
1436   End If;
1437   If (p_rec.abr_attribute27 = hr_api.g_varchar2) then
1438     p_rec.abr_attribute27 :=
1439     ben_abr_shd.g_old_rec.abr_attribute27;
1440   End If;
1441   If (p_rec.abr_attribute28 = hr_api.g_varchar2) then
1442     p_rec.abr_attribute28 :=
1443     ben_abr_shd.g_old_rec.abr_attribute28;
1444   End If;
1445   If (p_rec.abr_attribute29 = hr_api.g_varchar2) then
1446     p_rec.abr_attribute29 :=
1447     ben_abr_shd.g_old_rec.abr_attribute29;
1448   End If;
1449   If (p_rec.abr_attribute30 = hr_api.g_varchar2) then
1450     p_rec.abr_attribute30 :=
1451     ben_abr_shd.g_old_rec.abr_attribute30;
1452   End If;
1453   If (p_rec.abr_seq_num = hr_api.g_number) then
1454     p_rec.abr_seq_num :=
1455     ben_abr_shd.g_old_rec.abr_seq_num;
1456   End If;
1457   If (p_rec.context_pgm_id = hr_api.g_number) then
1458     p_rec.context_pgm_id :=
1459     ben_abr_shd.g_old_rec.context_pgm_id;
1460   End If;
1461 
1462   If (p_rec.context_pl_id = hr_api.g_number) then
1463     p_rec.context_pl_id :=
1464     ben_abr_shd.g_old_rec.context_pl_id;
1465   End If;
1466 
1467   If (p_rec.context_opt_id = hr_api.g_number) then
1468     p_rec.context_opt_id :=
1469     ben_abr_shd.g_old_rec.context_opt_id;
1470   End If;
1471    --
1472   hr_utility.set_location(' Leaving:'||l_proc, 10);
1473 --
1474 End convert_defs;
1475 --
1476 -- ----------------------------------------------------------------------------
1477 -- |---------------------------------< upd >----------------------------------|
1478 -- ----------------------------------------------------------------------------
1479 Procedure upd
1480   (
1481   p_rec			in out nocopy 	ben_abr_shd.g_rec_type,
1482   p_effective_date	in 	date,
1483   p_datetrack_mode	in 	varchar2
1484   ) is
1485 --
1486   l_proc			varchar2(72) := g_package||'upd';
1487   l_validation_start_date	date;
1488   l_validation_end_date		date;
1489 --
1490 Begin
1491   hr_utility.set_location('Entering:'||l_proc, 5);
1492   --
1493   -- Ensure that the DateTrack update mode is valid
1494   --
1495   dt_api.validate_dt_upd_mode(p_datetrack_mode => p_datetrack_mode);
1496   --
1497   -- We must lock the row which we need to update.
1498   --
1499   ben_abr_shd.lck
1500 	(p_effective_date	 => p_effective_date,
1501       	 p_datetrack_mode	 => p_datetrack_mode,
1502       	 p_acty_base_rt_id	 => p_rec.acty_base_rt_id,
1503       	 p_object_version_number => p_rec.object_version_number,
1504       	 p_validation_start_date => l_validation_start_date,
1505       	 p_validation_end_date	 => l_validation_end_date);
1506   --
1507   -- 1. During an update system defaults are used to determine if
1508   --    arguments have been defaulted or not. We must therefore
1512   --
1509   --    derive the full record structure values to be updated.
1510   --
1511   -- 2. Call the supporting update validate operations.
1513   convert_defs(p_rec);
1514   ben_abr_bus.update_validate
1515 	(p_rec			 => p_rec,
1516 	 p_effective_date	 => p_effective_date,
1517 	 p_datetrack_mode  	 => p_datetrack_mode,
1518 	 p_validation_start_date => l_validation_start_date,
1519 	 p_validation_end_date	 => l_validation_end_date);
1520   --
1521   -- Call the supporting pre-update operation
1522   --
1523   pre_update
1524 	(p_rec			 => p_rec,
1525 	 p_effective_date	 => p_effective_date,
1526 	 p_datetrack_mode	 => p_datetrack_mode,
1527 	 p_validation_start_date => l_validation_start_date,
1528 	 p_validation_end_date	 => l_validation_end_date);
1529   --
1530   -- Update the row.
1531   --
1532   update_dml
1533 	(p_rec			 => p_rec,
1534 	 p_effective_date	 => p_effective_date,
1535 	 p_datetrack_mode	 => p_datetrack_mode,
1536 	 p_validation_start_date => l_validation_start_date,
1537 	 p_validation_end_date	 => l_validation_end_date);
1538   --
1539   -- Call the supporting post-update operation
1540   --
1541   post_update
1542 	(p_rec			 => p_rec,
1543 	 p_effective_date	 => p_effective_date,
1544 	 p_datetrack_mode	 => p_datetrack_mode,
1545 	 p_validation_start_date => l_validation_start_date,
1546 	 p_validation_end_date	 => l_validation_end_date);
1547 End upd;
1548 --
1549 -- ----------------------------------------------------------------------------
1550 -- |---------------------------------< upd >----------------------------------|
1551 -- ----------------------------------------------------------------------------
1552 Procedure upd
1553   (
1554   p_acty_base_rt_id              in number,
1555   p_effective_start_date         out nocopy date,
1556   p_effective_end_date           out nocopy date,
1557   p_ordr_num			 in number           default hr_api.g_number,
1558   p_acty_typ_cd                  in varchar2         default hr_api.g_varchar2,
1559   p_sub_acty_typ_cd              in varchar2         default hr_api.g_varchar2,
1560   p_name                         in varchar2         default hr_api.g_varchar2,
1561   p_rt_typ_cd                    in varchar2         default hr_api.g_varchar2,
1562   p_bnft_rt_typ_cd               in varchar2         default hr_api.g_varchar2,
1563   p_tx_typ_cd                    in varchar2         default hr_api.g_varchar2,
1564   p_use_to_calc_net_flx_cr_flag  in varchar2         default hr_api.g_varchar2,
1565   p_asn_on_enrt_flag             in varchar2         default hr_api.g_varchar2,
1566   p_abv_mx_elcn_val_alwd_flag    in varchar2         default hr_api.g_varchar2,
1567   p_blw_mn_elcn_alwd_flag        in varchar2         default hr_api.g_varchar2,
1568   p_dsply_on_enrt_flag           in varchar2         default hr_api.g_varchar2,
1569   p_parnt_chld_cd                in varchar2         default hr_api.g_varchar2,
1570   p_use_calc_acty_bs_rt_flag     in varchar2         default hr_api.g_varchar2,
1571   p_uses_ded_sched_flag          in varchar2         default hr_api.g_varchar2,
1572   p_uses_varbl_rt_flag           in varchar2         default hr_api.g_varchar2,
1573   p_vstg_sched_apls_flag         in varchar2         default hr_api.g_varchar2,
1574   p_rt_mlt_cd                    in varchar2         default hr_api.g_varchar2,
1575   p_proc_each_pp_dflt_flag       in varchar2         default hr_api.g_varchar2,
1576   p_prdct_flx_cr_when_elig_flag  in varchar2         default hr_api.g_varchar2,
1577   p_no_std_rt_used_flag          in varchar2         default hr_api.g_varchar2,
1578   p_rcrrg_cd                     in varchar2         default hr_api.g_varchar2,
1579   p_mn_elcn_val                  in number           default hr_api.g_number,
1580   p_mx_elcn_val                  in number           default hr_api.g_number,
1581   p_lwr_lmt_val                  in number           default hr_api.g_number,
1582   p_lwr_lmt_calc_rl              in number           default hr_api.g_number,
1583   p_upr_lmt_val                  in number           default hr_api.g_number,
1584   p_upr_lmt_calc_rl              in number           default hr_api.g_number,
1585   p_ptd_comp_lvl_fctr_id         in number           default hr_api.g_number,
1586   p_clm_comp_lvl_fctr_id         in number           default hr_api.g_number,
1587   p_entr_ann_val_flag            in varchar2         default hr_api.g_varchar2,
1588   p_ann_mn_elcn_val              in number           default hr_api.g_number,
1589   p_ann_mx_elcn_val              in number           default hr_api.g_number,
1590   p_wsh_rl_dy_mo_num             in number           default hr_api.g_number,
1591   p_uses_pymt_sched_flag         in varchar2         default hr_api.g_varchar2,
1592   p_nnmntry_uom                  in varchar2         default hr_api.g_varchar2,
1593   p_val                          in number           default hr_api.g_number,
1594   p_incrmt_elcn_val              in number           default hr_api.g_number,
1595   p_rndg_cd                      in varchar2         default hr_api.g_varchar2,
1596   p_val_ovrid_alwd_flag          in varchar2         default hr_api.g_varchar2,
1597   p_prtl_mo_det_mthd_cd          in varchar2         default hr_api.g_varchar2,
1598   p_acty_base_rt_stat_cd         in varchar2         default hr_api.g_varchar2,
1599   p_procg_src_cd                 in varchar2         default hr_api.g_varchar2,
1600   p_dflt_val                     in number           default hr_api.g_number,
1601   p_dflt_flag                    in varchar2         default hr_api.g_varchar2,
1602   p_frgn_erg_ded_typ_cd          in varchar2         default hr_api.g_varchar2,
1603   p_frgn_erg_ded_name            in varchar2         default hr_api.g_varchar2,
1607   p_entr_val_at_enrt_flag        in varchar2         default hr_api.g_varchar2,
1604   p_frgn_erg_ded_ident           in varchar2         default hr_api.g_varchar2,
1605   p_no_mx_elcn_val_dfnd_flag     in varchar2         default hr_api.g_varchar2,
1606   p_prtl_mo_det_mthd_rl          in number           default hr_api.g_number,
1608   p_prtl_mo_eff_dt_det_rl        in number           default hr_api.g_number,
1609   p_rndg_rl                      in number           default hr_api.g_number,
1610   p_val_calc_rl                  in number           default hr_api.g_number,
1611   p_no_mn_elcn_val_dfnd_flag     in varchar2         default hr_api.g_varchar2,
1612   p_prtl_mo_eff_dt_det_cd        in varchar2         default hr_api.g_varchar2,
1613   p_only_one_bal_typ_alwd_flag   in varchar2         default hr_api.g_varchar2,
1614   p_rt_usg_cd                    in varchar2         default hr_api.g_varchar2,
1615   p_prort_mn_ann_elcn_val_cd     in varchar2         default hr_api.g_varchar2,
1616   p_prort_mn_ann_elcn_val_rl     in number           default hr_api.g_number,
1617   p_prort_mx_ann_elcn_val_cd     in varchar2         default hr_api.g_varchar2,
1618   p_prort_mx_ann_elcn_val_rl     in number           default hr_api.g_number,
1619   p_one_ann_pymt_cd              in varchar2         default hr_api.g_varchar2,
1620   p_det_pl_ytd_cntrs_cd          in varchar2         default hr_api.g_varchar2,
1621   p_asmt_to_use_cd               in varchar2         default hr_api.g_varchar2,
1622   p_ele_rqd_flag                 in varchar2         default hr_api.g_varchar2,
1623   p_subj_to_imptd_incm_flag      in varchar2         default hr_api.g_varchar2,
1624   p_element_type_id              in number           default hr_api.g_number,
1625   p_input_value_id               in number           default hr_api.g_number,
1626   p_input_va_calc_rl            in number           default hr_api.g_number,
1627   p_comp_lvl_fctr_id             in number           default hr_api.g_number,
1628   p_parnt_acty_base_rt_id        in number           default hr_api.g_number,
1629   p_pgm_id                       in number           default hr_api.g_number,
1630   p_pl_id                        in number           default hr_api.g_number,
1631   p_oipl_id                      in number           default hr_api.g_number,
1632   p_opt_id                       in number           default hr_api.g_number,
1633   p_oiplip_id                    in number           default hr_api.g_number,
1634   p_plip_id                      in number           default hr_api.g_number,
1635   p_ptip_id                      in number           default hr_api.g_number,
1636   p_cmbn_plip_id                 in number           default hr_api.g_number,
1637   p_cmbn_ptip_id                 in number           default hr_api.g_number,
1638   p_cmbn_ptip_opt_id             in number           default hr_api.g_number,
1639   p_vstg_for_acty_rt_id          in number           default hr_api.g_number,
1640   p_actl_prem_id                 in number           default hr_api.g_number,
1641   p_TTL_COMP_LVL_FCTR_ID         in number           default hr_api.g_number,
1642   p_COST_ALLOCATION_KEYFLEX_ID   in number           default hr_api.g_number,
1643   p_ALWS_CHG_CD                  in varchar2         default hr_api.g_varchar2,
1644   p_ele_entry_val_cd             in varchar2         default hr_api.g_varchar2,
1645   p_pay_rate_grade_rule_id       in number           default hr_api.g_number,
1646   p_rate_periodization_cd        in varchar2         default hr_api.g_varchar2,
1647   p_rate_periodization_rl        in number           default hr_api.g_number,
1648   p_mn_mx_elcn_rl 		 in number           default hr_api.g_number,
1649   p_mapping_table_name		 in varchar2         default hr_api.g_varchar2,
1650   p_mapping_table_pk_id		 in number           default hr_api.g_number,
1651   p_business_group_id            in number           default hr_api.g_number,
1652   p_context_pgm_id               in number           default hr_api.g_number,
1653   p_context_pl_id                in number           default hr_api.g_number,
1654   p_context_opt_id               in number           default hr_api.g_number,
1655   p_element_det_rl               in number           default hr_api.g_number,
1656   p_currency_det_cd              in varchar2         default hr_api.g_varchar2,
1657   p_abr_attribute_category       in varchar2         default hr_api.g_varchar2,
1658   p_abr_attribute1               in varchar2         default hr_api.g_varchar2,
1659   p_abr_attribute2               in varchar2         default hr_api.g_varchar2,
1660   p_abr_attribute3               in varchar2         default hr_api.g_varchar2,
1661   p_abr_attribute4               in varchar2         default hr_api.g_varchar2,
1662   p_abr_attribute5               in varchar2         default hr_api.g_varchar2,
1663   p_abr_attribute6               in varchar2         default hr_api.g_varchar2,
1664   p_abr_attribute7               in varchar2         default hr_api.g_varchar2,
1665   p_abr_attribute8               in varchar2         default hr_api.g_varchar2,
1666   p_abr_attribute9               in varchar2         default hr_api.g_varchar2,
1667   p_abr_attribute10              in varchar2         default hr_api.g_varchar2,
1668   p_abr_attribute11              in varchar2         default hr_api.g_varchar2,
1669   p_abr_attribute12              in varchar2         default hr_api.g_varchar2,
1670   p_abr_attribute13              in varchar2         default hr_api.g_varchar2,
1671   p_abr_attribute14              in varchar2         default hr_api.g_varchar2,
1672   p_abr_attribute15              in varchar2         default hr_api.g_varchar2,
1673   p_abr_attribute16              in varchar2         default hr_api.g_varchar2,
1674   p_abr_attribute17              in varchar2         default hr_api.g_varchar2,
1675   p_abr_attribute18              in varchar2         default hr_api.g_varchar2,
1676   p_abr_attribute19              in varchar2         default hr_api.g_varchar2,
1680   p_abr_attribute23              in varchar2         default hr_api.g_varchar2,
1677   p_abr_attribute20              in varchar2         default hr_api.g_varchar2,
1678   p_abr_attribute21              in varchar2         default hr_api.g_varchar2,
1679   p_abr_attribute22              in varchar2         default hr_api.g_varchar2,
1681   p_abr_attribute24              in varchar2         default hr_api.g_varchar2,
1682   p_abr_attribute25              in varchar2         default hr_api.g_varchar2,
1683   p_abr_attribute26              in varchar2         default hr_api.g_varchar2,
1684   p_abr_attribute27              in varchar2         default hr_api.g_varchar2,
1685   p_abr_attribute28              in varchar2         default hr_api.g_varchar2,
1686   p_abr_attribute29              in varchar2         default hr_api.g_varchar2,
1687   p_abr_attribute30              in varchar2         default hr_api.g_varchar2,
1688   p_abr_seq_num                  in number           default hr_api.g_number,
1689   p_object_version_number        in out nocopy number,
1690   p_effective_date               in date,
1691   p_datetrack_mode               in varchar2
1692 
1693   ) is
1694 --
1695   l_rec		ben_abr_shd.g_rec_type;
1696   l_proc	varchar2(72) := g_package||'upd';
1697 --
1698 Begin
1699   hr_utility.set_location('Entering:'||l_proc, 5);
1700    hr_utility.set_location('total rate in upd rhi '||p_TTL_COMP_LVL_FCTR_ID, 99);
1701 
1702   --
1703   -- Call conversion function to turn arguments into the
1704   -- l_rec structure.
1705   --
1706   l_rec :=
1707   ben_abr_shd.convert_args
1708   (
1709         p_acty_base_rt_id
1710        ,null
1711        ,null
1712        ,p_ordr_num
1713        ,p_acty_typ_cd
1714        ,p_sub_acty_typ_cd
1715        ,p_name
1716        ,p_rt_typ_cd
1717        ,p_bnft_rt_typ_cd
1718        ,p_tx_typ_cd
1719        ,p_use_to_calc_net_flx_cr_flag
1720        ,p_asn_on_enrt_flag
1721        ,p_abv_mx_elcn_val_alwd_flag
1722        ,p_blw_mn_elcn_alwd_flag
1723        ,p_dsply_on_enrt_flag
1724        ,p_parnt_chld_cd
1725        ,p_use_calc_acty_bs_rt_flag
1726        ,p_uses_ded_sched_flag
1727        ,p_uses_varbl_rt_flag
1728        ,p_vstg_sched_apls_flag
1729        ,p_rt_mlt_cd
1730        ,p_proc_each_pp_dflt_flag
1731        ,p_prdct_flx_cr_when_elig_flag
1732        ,p_no_std_rt_used_flag
1733        ,p_rcrrg_cd
1734        ,p_mn_elcn_val
1735        ,p_mx_elcn_val
1736        ,p_lwr_lmt_val
1737        ,p_lwr_lmt_calc_rl
1738        ,p_upr_lmt_val
1739        ,p_upr_lmt_calc_rl
1740        ,p_ptd_comp_lvl_fctr_id
1741        ,p_clm_comp_lvl_fctr_id
1742        ,p_entr_ann_val_flag
1743        ,p_ann_mn_elcn_val
1744        ,p_ann_mx_elcn_val
1745        ,p_wsh_rl_dy_mo_num
1746        ,p_uses_pymt_sched_flag
1747        ,p_nnmntry_uom
1748        ,p_val
1749        ,p_incrmt_elcn_val
1750        ,p_rndg_cd
1751        ,p_val_ovrid_alwd_flag
1752        ,p_prtl_mo_det_mthd_cd
1753        ,p_acty_base_rt_stat_cd
1754        ,p_procg_src_cd
1755        ,p_dflt_val
1756        ,p_dflt_flag
1757        ,p_frgn_erg_ded_typ_cd
1758        ,p_frgn_erg_ded_name
1759        ,p_frgn_erg_ded_ident
1760        ,p_no_mx_elcn_val_dfnd_flag
1761        ,p_prtl_mo_det_mthd_rl
1762        ,p_entr_val_at_enrt_flag
1763        ,p_prtl_mo_eff_dt_det_rl
1764        ,p_rndg_rl
1765        ,p_val_calc_rl
1766        ,p_no_mn_elcn_val_dfnd_flag
1767        ,p_prtl_mo_eff_dt_det_cd
1768        ,p_only_one_bal_typ_alwd_flag
1769        ,p_rt_usg_cd
1770        ,p_prort_mn_ann_elcn_val_cd
1771        ,p_prort_mn_ann_elcn_val_rl
1772        ,p_prort_mx_ann_elcn_val_cd
1773        ,p_prort_mx_ann_elcn_val_rl
1774        ,p_one_ann_pymt_cd
1775        ,p_det_pl_ytd_cntrs_cd
1776        ,p_asmt_to_use_cd
1777        ,p_ele_rqd_flag
1778        ,p_subj_to_imptd_incm_flag
1779        ,p_element_type_id
1780        ,p_input_value_id
1781        ,p_input_va_calc_rl
1782        ,p_comp_lvl_fctr_id
1783        ,p_parnt_acty_base_rt_id
1784        ,p_pgm_id
1785        ,p_pl_id
1786        ,p_oipl_id
1787        ,p_opt_id
1788        ,p_oiplip_id
1789        ,p_plip_id
1790        ,p_ptip_id
1791        ,p_cmbn_plip_id
1792        ,p_cmbn_ptip_id
1793        ,p_cmbn_ptip_opt_id
1794        ,p_vstg_for_acty_rt_id
1795        ,p_actl_prem_id
1796        ,p_TTL_COMP_LVL_FCTR_ID
1797        ,p_COST_ALLOCATION_KEYFLEX_ID
1798        ,p_ALWS_CHG_CD
1799        ,p_ele_entry_val_cd
1800        ,p_pay_rate_grade_rule_id
1801        ,p_rate_periodization_cd
1805        ,p_mapping_table_pk_id
1802        ,p_rate_periodization_rl
1803        ,p_mn_mx_elcn_rl
1804        ,p_mapping_table_name
1806        ,p_business_group_id
1807        ,p_context_pgm_id
1808        ,p_context_pl_id
1809        ,p_context_opt_id
1810        ,p_element_det_rl
1811        ,p_currency_det_cd
1812        ,p_abr_attribute_category
1813        ,p_abr_attribute1
1814        ,p_abr_attribute2
1815        ,p_abr_attribute3
1816        ,p_abr_attribute4
1817        ,p_abr_attribute5
1818        ,p_abr_attribute6
1819        ,p_abr_attribute7
1820        ,p_abr_attribute8
1821        ,p_abr_attribute9
1822        ,p_abr_attribute10
1823        ,p_abr_attribute11
1824        ,p_abr_attribute12
1825        ,p_abr_attribute13
1826        ,p_abr_attribute14
1827        ,p_abr_attribute15
1828        ,p_abr_attribute16
1829        ,p_abr_attribute17
1830        ,p_abr_attribute18
1831        ,p_abr_attribute19
1832        ,p_abr_attribute20
1833        ,p_abr_attribute21
1834        ,p_abr_attribute22
1835        ,p_abr_attribute23
1836        ,p_abr_attribute24
1837        ,p_abr_attribute25
1838        ,p_abr_attribute26
1839        ,p_abr_attribute27
1840        ,p_abr_attribute28
1841        ,p_abr_attribute29
1842        ,p_abr_attribute30
1843        ,p_abr_seq_num
1844        ,p_object_version_number
1845   );
1846   --
1847   -- Having converted the arguments into the
1848   -- plsql record structure we call the corresponding record
1849   -- business process.
1850   --
1851   upd(l_rec, p_effective_date, p_datetrack_mode);
1852   p_object_version_number       := l_rec.object_version_number;
1853   p_effective_start_date        := l_rec.effective_start_date;
1854   p_effective_end_date          := l_rec.effective_end_date;
1855   --
1856   --
1857   hr_utility.set_location(' Leaving:'||l_proc, 10);
1858 End upd;
1859 --
1860 end ben_abr_upd;