DBA Data[Home] [Help]

PACKAGE BODY: APPS.BEN_ENP_UPD

Source


1 Package Body ben_enp_upd as
2 /* $Header: beenprhi.pkb 120.1.12000000.3 2007/05/13 22:36:53 rtagarra noship $ */
3 --
4 -- ----------------------------------------------------------------------------
5 -- |                     Private Global Definitions                           |
6 -- ----------------------------------------------------------------------------
7 --
8 g_package  varchar2(33)	:= '  ben_enp_upd.';  -- Global package name
9 --
10 -- ----------------------------------------------------------------------------
11 -- |------------------------------< update_dml >------------------------------|
12 -- ----------------------------------------------------------------------------
13 -- {Start Of Comments}
14 --
15 -- Description:
16 --   This procedure controls the actual dml update logic. The processing of
17 --   this procedure is:
18 --   1) Increment the object_version_number by 1 if the object_version_number
19 --      is defined as an attribute for this entity.
20 --   2) To set and unset the g_api_dml status as required (as we are about to
21 --      perform dml).
22 --   3) To update the specified row in the schema using the primary key in
23 --      the predicates.
24 --   4) To trap any constraint violations that may have occurred.
25 --   5) To raise any other errors.
26 --
27 -- Prerequisites:
28 --   This is an internal private procedure which must be called from the upd
29 --   procedure.
30 --
31 -- In Parameters:
32 --   A Pl/Sql record structre.
33 --
34 -- Post Success:
35 --   The specified row will be updated in the schema.
36 --
37 -- Post Failure:
38 --   On the update dml failure it is important to note that we always reset the
39 --   g_api_dml status to false.
40 --   If a check, unique or parent integrity constraint violation is raised the
41 --   constraint_error procedure will be called.
42 --   If any other error is reported, the error will be raised after the
43 --   g_api_dml status is reset.
44 --
45 -- Developer Implementation Notes:
46 --   The update 'set' attribute list should be modified if any of your
47 --   attributes are not updateable.
48 --
49 -- Access Status:
50 --   Internal Row Handler Use Only.
51 --
52 -- {End Of Comments}
53 -- ----------------------------------------------------------------------------
54 Procedure update_dml(p_rec in out nocopy ben_enp_shd.g_rec_type) is
55 --
56   l_proc  varchar2(72) := g_package||'update_dml';
57 --
58 Begin
59   hr_utility.set_location('Entering:'||l_proc, 5);
60   --
61   -- Increment the object version
62   --
63   p_rec.object_version_number := p_rec.object_version_number + 1;
64   --
65   ben_enp_shd.g_api_dml := true;  -- Set the api dml status
66   --
67   -- Update the ben_enrt_perd Row
68   --
69   update ben_enrt_perd
70   set
71   enrt_perd_id                      = p_rec.enrt_perd_id,
72   business_group_id                 = p_rec.business_group_id,
73   yr_perd_id                        = p_rec.yr_perd_id,
74   popl_enrt_typ_cycl_id             = p_rec.popl_enrt_typ_cycl_id,
75   end_dt                            = p_rec.end_dt,
76   strt_dt                           = p_rec.strt_dt,
77   asnd_lf_evt_dt                    = p_rec.asnd_lf_evt_dt,
78   cls_enrt_dt_to_use_cd             = p_rec.cls_enrt_dt_to_use_cd,
79   dflt_enrt_dt                      = p_rec.dflt_enrt_dt,
80   enrt_cvg_strt_dt_cd               = p_rec.enrt_cvg_strt_dt_cd,
81   rt_strt_dt_rl                     = p_rec.rt_strt_dt_rl,
82   enrt_cvg_end_dt_cd                = p_rec.enrt_cvg_end_dt_cd,
83   enrt_cvg_strt_dt_rl               = p_rec.enrt_cvg_strt_dt_rl,
84   enrt_cvg_end_dt_rl                = p_rec.enrt_cvg_end_dt_rl,
85   procg_end_dt                      = p_rec.procg_end_dt,
86   rt_strt_dt_cd                     = p_rec.rt_strt_dt_cd,
87   rt_end_dt_cd                      = p_rec.rt_end_dt_cd,
88   rt_end_dt_rl                      = p_rec.rt_end_dt_rl,
89   bdgt_upd_strt_dt                  = p_rec.bdgt_upd_strt_dt,
90   bdgt_upd_end_dt                   = p_rec.bdgt_upd_end_dt,
91   ws_upd_strt_dt                    = p_rec.ws_upd_strt_dt,
92   ws_upd_end_dt                     = p_rec.ws_upd_end_dt,
93   dflt_ws_acc_cd                    = p_rec.dflt_ws_acc_cd,
94   prsvr_bdgt_cd                     = p_rec.prsvr_bdgt_cd,
95   uses_bdgt_flag                    = p_rec.uses_bdgt_flag,
96   auto_distr_flag                   = p_rec.auto_distr_flag,
97   hrchy_to_use_cd                   = p_rec.hrchy_to_use_cd,
98   pos_structure_version_id             = p_rec.pos_structure_version_id,
99   emp_interview_type_cd             = p_rec.emp_interview_type_cd,
100   wthn_yr_perd_id                   = p_rec.wthn_yr_perd_id,
101   ler_id                            = p_rec.ler_id,
102   perf_revw_strt_dt                 = p_rec.perf_revw_strt_dt,
103   asg_updt_eff_date                 = p_rec.asg_updt_eff_date,
104   enp_attribute_category            = p_rec.enp_attribute_category,
105   enp_attribute1                    = p_rec.enp_attribute1,
106   enp_attribute2                    = p_rec.enp_attribute2,
107   enp_attribute3                    = p_rec.enp_attribute3,
108   enp_attribute4                    = p_rec.enp_attribute4,
109   enp_attribute5                    = p_rec.enp_attribute5,
110   enp_attribute6                    = p_rec.enp_attribute6,
111   enp_attribute7                    = p_rec.enp_attribute7,
112   enp_attribute8                    = p_rec.enp_attribute8,
113   enp_attribute9                    = p_rec.enp_attribute9,
114   enp_attribute10                   = p_rec.enp_attribute10,
115   enp_attribute11                   = p_rec.enp_attribute11,
116   enp_attribute12                   = p_rec.enp_attribute12,
117   enp_attribute13                   = p_rec.enp_attribute13,
118   enp_attribute14                   = p_rec.enp_attribute14,
119   enp_attribute15                   = p_rec.enp_attribute15,
120   enp_attribute16                   = p_rec.enp_attribute16,
121   enp_attribute17                   = p_rec.enp_attribute17,
122   enp_attribute18                   = p_rec.enp_attribute18,
123   enp_attribute19                   = p_rec.enp_attribute19,
124   enp_attribute20                   = p_rec.enp_attribute20,
125   enp_attribute21                   = p_rec.enp_attribute21,
126   enp_attribute22                   = p_rec.enp_attribute22,
127   enp_attribute23                   = p_rec.enp_attribute23,
128   enp_attribute24                   = p_rec.enp_attribute24,
129   enp_attribute25                   = p_rec.enp_attribute25,
130   enp_attribute26                   = p_rec.enp_attribute26,
131   enp_attribute27                   = p_rec.enp_attribute27,
132   enp_attribute28                   = p_rec.enp_attribute28,
133   enp_attribute29                   = p_rec.enp_attribute29,
134   enp_attribute30                   = p_rec.enp_attribute30,
135   enrt_perd_det_ovrlp_bckdt_cd      = p_rec.enrt_perd_det_ovrlp_bckdt_cd,
136       --cwb
137   data_freeze_date                = p_rec.data_freeze_date,
138   Sal_chg_reason_cd               = p_rec.Sal_chg_reason_cd,
139   Approval_mode_cd                = p_rec.Approval_mode_cd,
140   hrchy_ame_trn_cd                = p_rec.hrchy_ame_trn_cd,
141   hrchy_rl                        = p_rec.hrchy_rl,
142   hrchy_ame_app_id                = p_rec.hrchy_ame_app_id,
143   --
144   object_version_number           = p_rec.object_version_number ,
145   reinstate_cd			  = p_rec.reinstate_cd,
146   reinstate_ovrdn_cd		  = p_rec.reinstate_ovrdn_cd,
147   defer_deenrol_flag		  = p_rec.defer_deenrol_flag
148   where enrt_perd_id = p_rec.enrt_perd_id;
149   --
150   ben_enp_shd.g_api_dml := false;   -- Unset the api dml status
151   --
152   hr_utility.set_location(' Leaving:'||l_proc, 10);
153 --
154 Exception
155   When hr_api.check_integrity_violated Then
156     -- A check constraint has been violated
157     ben_enp_shd.g_api_dml := false;   -- Unset the api dml status
158     ben_enp_shd.constraint_error
159       (p_constraint_name => hr_api.strip_constraint_name(SQLERRM));
160   When hr_api.parent_integrity_violated Then
161     -- Parent integrity has been violated
162     ben_enp_shd.g_api_dml := false;   -- Unset the api dml status
163     ben_enp_shd.constraint_error
164       (p_constraint_name => hr_api.strip_constraint_name(SQLERRM));
165   When hr_api.unique_integrity_violated Then
166     -- Unique integrity has been violated
167     ben_enp_shd.g_api_dml := false;   -- Unset the api dml status
168     ben_enp_shd.constraint_error
169       (p_constraint_name => hr_api.strip_constraint_name(SQLERRM));
170   When Others Then
171     ben_enp_shd.g_api_dml := false;   -- Unset the api dml status
172     Raise;
173 End update_dml;
174 --
175 -- ----------------------------------------------------------------------------
176 -- |------------------------------< pre_update >------------------------------|
177 -- ----------------------------------------------------------------------------
178 -- {Start Of Comments}
179 --
180 -- Description:
181 --   This private procedure contains any processing which is required before
182 --   the update dml.
183 --
184 -- Prerequisites:
185 --   This is an internal procedure which is called from the upd procedure.
186 --
187 -- In Parameters:
188 --   A Pl/Sql record structre.
189 --
190 -- Post Success:
191 --   Processing continues.
192 --
193 -- Post Failure:
194 --   If an error has occurred, an error message and exception will be raised
195 --   but not handled.
196 --
197 -- Developer Implementation Notes:
198 --   Any pre-processing required before the update dml is issued should be
199 --   coded within this procedure. It is important to note that any 3rd party
200 --   maintenance should be reviewed before placing in this procedure.
201 --
202 -- Access Status:
203 --   Internal Row Handler Use Only.
204 --
205 -- {End Of Comments}
206 -- ----------------------------------------------------------------------------
207 Procedure pre_update(p_rec in ben_enp_shd.g_rec_type) is
208 --
209   l_proc  varchar2(72) := g_package||'pre_update';
210 --
211 Begin
212   hr_utility.set_location('Entering:'||l_proc, 5);
213   --
214   hr_utility.set_location(' Leaving:'||l_proc, 10);
215 End pre_update;
216 --
217 -- ----------------------------------------------------------------------------
218 -- |-----------------------------< post_update >------------------------------|
219 -- ----------------------------------------------------------------------------
220 -- {Start Of Comments}
221 --
222 -- Description:
223 --   This private procedure contains any processing which is required after the
224 --   update dml.
225 --
226 -- Prerequisites:
227 --   This is an internal procedure which is called from the upd procedure.
228 --
229 -- In Parameters:
230 --   A Pl/Sql record structre.
231 --
232 -- Post Success:
233 --   Processing continues.
234 --
235 -- Post Failure:
236 --   If an error has occurred, an error message and exception will be raised
237 --   but not handled.
238 --
239 -- Developer Implementation Notes:
240 --   Any post-processing required after the update dml is issued should be
241 --   coded within this procedure. It is important to note that any 3rd party
242 --   maintenance should be reviewed before placing in this procedure.
243 --
244 -- Access Status:
245 --   Internal Row Handler Use Only.
246 --
247 -- {End Of Comments}
248 -- ----------------------------------------------------------------------------
249 Procedure post_update(
250 p_effective_date in date,p_rec in ben_enp_shd.g_rec_type) is
251 --
252   l_proc  varchar2(72) := g_package||'post_update';
253 --
254 Begin
255   hr_utility.set_location('Entering:'||l_proc, 5);
256 --
257   --
258   -- Start of API User Hook for post_update.
259   --
260   begin
261     --
262     ben_enp_rku.after_update
263       (
264   p_enrt_perd_id                  =>p_rec.enrt_perd_id
265  ,p_business_group_id             =>p_rec.business_group_id
266  ,p_yr_perd_id                    =>p_rec.yr_perd_id
267  ,p_popl_enrt_typ_cycl_id         =>p_rec.popl_enrt_typ_cycl_id
268  ,p_end_dt                        =>p_rec.end_dt
269  ,p_strt_dt                       =>p_rec.strt_dt
270  ,p_asnd_lf_evt_dt                =>p_rec.asnd_lf_evt_dt
271  ,p_cls_enrt_dt_to_use_cd         =>p_rec.cls_enrt_dt_to_use_cd
272  ,p_dflt_enrt_dt                  =>p_rec.dflt_enrt_dt
273  ,p_enrt_cvg_strt_dt_cd           =>p_rec.enrt_cvg_strt_dt_cd
274  ,p_rt_strt_dt_rl                 =>p_rec.rt_strt_dt_rl
275  ,p_enrt_cvg_end_dt_cd            =>p_rec.enrt_cvg_end_dt_cd
276  ,p_enrt_cvg_strt_dt_rl           =>p_rec.enrt_cvg_strt_dt_rl
277  ,p_enrt_cvg_end_dt_rl            =>p_rec.enrt_cvg_end_dt_rl
278  ,p_procg_end_dt                  =>p_rec.procg_end_dt
279  ,p_rt_strt_dt_cd                 =>p_rec.rt_strt_dt_cd
280  ,p_rt_end_dt_cd                  =>p_rec.rt_end_dt_cd
281  ,p_rt_end_dt_rl                  =>p_rec.rt_end_dt_rl
282  ,p_bdgt_upd_strt_dt              =>p_rec.bdgt_upd_strt_dt
283  ,p_bdgt_upd_end_dt               =>p_rec.bdgt_upd_end_dt
284  ,p_ws_upd_strt_dt                =>p_rec.ws_upd_strt_dt
285  ,p_ws_upd_end_dt                 =>p_rec.ws_upd_end_dt
286  ,p_dflt_ws_acc_cd                =>p_rec.dflt_ws_acc_cd
287  ,p_prsvr_bdgt_cd                 =>p_rec.prsvr_bdgt_cd
288  ,p_uses_bdgt_flag                =>p_rec.uses_bdgt_flag
289  ,p_auto_distr_flag               =>p_rec.auto_distr_flag
290  ,p_hrchy_to_use_cd               =>p_rec.hrchy_to_use_cd
291  ,p_pos_structure_version_id         =>p_rec.pos_structure_version_id
292  ,p_emp_interview_type_cd         =>p_rec.emp_interview_type_cd
293  ,p_wthn_yr_perd_id               =>p_rec.wthn_yr_perd_id
294  ,p_ler_id                        =>p_rec.ler_id
295  ,p_perf_revw_strt_dt             =>p_rec.perf_revw_strt_dt
296  ,p_asg_updt_eff_date             =>p_rec.asg_updt_eff_date
297  ,p_enp_attribute_category        =>p_rec.enp_attribute_category
298  ,p_enp_attribute1                =>p_rec.enp_attribute1
299  ,p_enp_attribute2                =>p_rec.enp_attribute2
300  ,p_enp_attribute3                =>p_rec.enp_attribute3
301  ,p_enp_attribute4                =>p_rec.enp_attribute4
302  ,p_enp_attribute5                =>p_rec.enp_attribute5
303  ,p_enp_attribute6                =>p_rec.enp_attribute6
304  ,p_enp_attribute7                =>p_rec.enp_attribute7
305  ,p_enp_attribute8                =>p_rec.enp_attribute8
306  ,p_enp_attribute9                =>p_rec.enp_attribute9
307  ,p_enp_attribute10               =>p_rec.enp_attribute10
308  ,p_enp_attribute11               =>p_rec.enp_attribute11
309  ,p_enp_attribute12               =>p_rec.enp_attribute12
310  ,p_enp_attribute13               =>p_rec.enp_attribute13
311  ,p_enp_attribute14               =>p_rec.enp_attribute14
312  ,p_enp_attribute15               =>p_rec.enp_attribute15
313  ,p_enp_attribute16               =>p_rec.enp_attribute16
314  ,p_enp_attribute17               =>p_rec.enp_attribute17
315  ,p_enp_attribute18               =>p_rec.enp_attribute18
316  ,p_enp_attribute19               =>p_rec.enp_attribute19
317  ,p_enp_attribute20               =>p_rec.enp_attribute20
318  ,p_enp_attribute21               =>p_rec.enp_attribute21
319  ,p_enp_attribute22               =>p_rec.enp_attribute22
320  ,p_enp_attribute23               =>p_rec.enp_attribute23
321  ,p_enp_attribute24               =>p_rec.enp_attribute24
322  ,p_enp_attribute25               =>p_rec.enp_attribute25
323  ,p_enp_attribute26               =>p_rec.enp_attribute26
324  ,p_enp_attribute27               =>p_rec.enp_attribute27
325  ,p_enp_attribute28               =>p_rec.enp_attribute28
326  ,p_enp_attribute29               =>p_rec.enp_attribute29
327  ,p_enp_attribute30               =>p_rec.enp_attribute30
328  ,p_enrt_perd_det_ovrlp_bckdt_cd  =>p_rec.enrt_perd_det_ovrlp_bckdt_cd
329   --cwb
330  ,p_data_freeze_date              =>p_rec.data_freeze_date
331  ,p_Sal_chg_reason_cd             =>p_rec.Sal_chg_reason_cd
332  ,p_Approval_mode_cd              =>p_rec.Approval_mode_cd
333  ,p_hrchy_ame_trn_cd              =>p_rec.hrchy_ame_trn_cd
334  ,p_hrchy_rl                      =>p_rec.hrchy_rl
335  ,p_hrchy_ame_app_id              =>p_rec.hrchy_ame_app_id
336   --
337  ,p_object_version_number         =>p_rec.object_version_number
338   ,p_reinstate_cd				=>	p_rec.reinstate_cd
339   ,p_reinstate_ovrdn_cd		=>    p_rec.reinstate_ovrdn_cd
340  ,p_effective_date                =>p_effective_date
341  ,p_defer_deenrol_flag         => p_rec.defer_deenrol_flag
342  ,p_business_group_id_o           =>ben_enp_shd.g_old_rec.business_group_id
343  ,p_yr_perd_id_o                  =>ben_enp_shd.g_old_rec.yr_perd_id
344  ,p_popl_enrt_typ_cycl_id_o       =>ben_enp_shd.g_old_rec.popl_enrt_typ_cycl_id
345  ,p_end_dt_o                      =>ben_enp_shd.g_old_rec.end_dt
346  ,p_strt_dt_o                     =>ben_enp_shd.g_old_rec.strt_dt
347  ,p_asnd_lf_evt_dt_o                =>ben_enp_shd.g_old_rec.asnd_lf_evt_dt
348  ,p_cls_enrt_dt_to_use_cd_o       =>ben_enp_shd.g_old_rec.cls_enrt_dt_to_use_cd
349  ,p_dflt_enrt_dt_o                =>ben_enp_shd.g_old_rec.dflt_enrt_dt
350  ,p_enrt_cvg_strt_dt_cd_o         =>ben_enp_shd.g_old_rec.enrt_cvg_strt_dt_cd
351  ,p_rt_strt_dt_rl_o               =>ben_enp_shd.g_old_rec.rt_strt_dt_rl
352  ,p_enrt_cvg_end_dt_cd_o          =>ben_enp_shd.g_old_rec.enrt_cvg_end_dt_cd
353  ,p_enrt_cvg_strt_dt_rl_o         =>ben_enp_shd.g_old_rec.enrt_cvg_strt_dt_rl
354  ,p_enrt_cvg_end_dt_rl_o          =>ben_enp_shd.g_old_rec.enrt_cvg_end_dt_rl
355  ,p_procg_end_dt_o                =>ben_enp_shd.g_old_rec.procg_end_dt
356  ,p_rt_strt_dt_cd_o               =>ben_enp_shd.g_old_rec.rt_strt_dt_cd
357  ,p_rt_end_dt_cd_o                =>ben_enp_shd.g_old_rec.rt_end_dt_cd
358  ,p_rt_end_dt_rl_o                =>ben_enp_shd.g_old_rec.rt_end_dt_rl
359  ,p_bdgt_upd_strt_dt_o            =>ben_enp_shd.g_old_rec.bdgt_upd_strt_dt
360  ,p_bdgt_upd_end_dt_o             =>ben_enp_shd.g_old_rec.bdgt_upd_end_dt
361  ,p_ws_upd_strt_dt_o              =>ben_enp_shd.g_old_rec.ws_upd_strt_dt
362  ,p_ws_upd_end_dt_o               =>ben_enp_shd.g_old_rec.ws_upd_end_dt
363  ,p_dflt_ws_acc_cd_o              =>ben_enp_shd.g_old_rec.dflt_ws_acc_cd
364  ,p_prsvr_bdgt_cd_o               =>ben_enp_shd.g_old_rec.prsvr_bdgt_cd
365  ,p_uses_bdgt_flag_o              =>ben_enp_shd.g_old_rec.uses_bdgt_flag
366  ,p_auto_distr_flag_o             =>ben_enp_shd.g_old_rec.auto_distr_flag
367  ,p_hrchy_to_use_cd_o             =>ben_enp_shd.g_old_rec.hrchy_to_use_cd
368  ,p_pos_structure_version_id_o       =>ben_enp_shd.g_old_rec.pos_structure_version_id
369  ,p_emp_interview_type_cd_o       =>ben_enp_shd.g_old_rec.emp_interview_type_cd
370  ,p_wthn_yr_perd_id_o             =>ben_enp_shd.g_old_rec.wthn_yr_perd_id
371  ,p_ler_id_o                      =>ben_enp_shd.g_old_rec.ler_id
372  ,p_perf_revw_strt_dt_o           =>ben_enp_shd.g_old_rec.perf_revw_strt_dt
373  ,p_asg_updt_eff_date_o           =>ben_enp_shd.g_old_rec.asg_updt_eff_date
374  ,p_enp_attribute_category_o      =>ben_enp_shd.g_old_rec.enp_attribute_category
375  ,p_enp_attribute1_o              =>ben_enp_shd.g_old_rec.enp_attribute1
376  ,p_enp_attribute2_o              =>ben_enp_shd.g_old_rec.enp_attribute2
377  ,p_enp_attribute3_o              =>ben_enp_shd.g_old_rec.enp_attribute3
378  ,p_enp_attribute4_o              =>ben_enp_shd.g_old_rec.enp_attribute4
379  ,p_enp_attribute5_o              =>ben_enp_shd.g_old_rec.enp_attribute5
380  ,p_enp_attribute6_o              =>ben_enp_shd.g_old_rec.enp_attribute6
381  ,p_enp_attribute7_o              =>ben_enp_shd.g_old_rec.enp_attribute7
382  ,p_enp_attribute8_o              =>ben_enp_shd.g_old_rec.enp_attribute8
383  ,p_enp_attribute9_o              =>ben_enp_shd.g_old_rec.enp_attribute9
384  ,p_enp_attribute10_o             =>ben_enp_shd.g_old_rec.enp_attribute10
385  ,p_enp_attribute11_o             =>ben_enp_shd.g_old_rec.enp_attribute11
386  ,p_enp_attribute12_o             =>ben_enp_shd.g_old_rec.enp_attribute12
387  ,p_enp_attribute13_o             =>ben_enp_shd.g_old_rec.enp_attribute13
388  ,p_enp_attribute14_o             =>ben_enp_shd.g_old_rec.enp_attribute14
389  ,p_enp_attribute15_o             =>ben_enp_shd.g_old_rec.enp_attribute15
390  ,p_enp_attribute16_o             =>ben_enp_shd.g_old_rec.enp_attribute16
391  ,p_enp_attribute17_o             =>ben_enp_shd.g_old_rec.enp_attribute17
392  ,p_enp_attribute18_o             =>ben_enp_shd.g_old_rec.enp_attribute18
393  ,p_enp_attribute19_o             =>ben_enp_shd.g_old_rec.enp_attribute19
394  ,p_enp_attribute20_o             =>ben_enp_shd.g_old_rec.enp_attribute20
395  ,p_enp_attribute21_o             =>ben_enp_shd.g_old_rec.enp_attribute21
396  ,p_enp_attribute22_o             =>ben_enp_shd.g_old_rec.enp_attribute22
397  ,p_enp_attribute23_o             =>ben_enp_shd.g_old_rec.enp_attribute23
398  ,p_enp_attribute24_o             =>ben_enp_shd.g_old_rec.enp_attribute24
399  ,p_enp_attribute25_o             =>ben_enp_shd.g_old_rec.enp_attribute25
400  ,p_enp_attribute26_o             =>ben_enp_shd.g_old_rec.enp_attribute26
401  ,p_enp_attribute27_o             =>ben_enp_shd.g_old_rec.enp_attribute27
402  ,p_enp_attribute28_o             =>ben_enp_shd.g_old_rec.enp_attribute28
403  ,p_enp_attribute29_o             =>ben_enp_shd.g_old_rec.enp_attribute29
404  ,p_enp_attribute30_o             =>ben_enp_shd.g_old_rec.enp_attribute30
405  --,p_enrt_perd_det_ovrlp_bckdt_cd_o             =>ben_enp_shd.g_old_rec.enrt_perd_det_ovrlp_bckdt_cd
406  ,p_enrt_perd_det_ovrlp_cd_o             =>ben_enp_shd.g_old_rec.enrt_perd_det_ovrlp_bckdt_cd
407    --cwb
408  ,p_data_freeze_date_o             =>ben_enp_shd.g_old_rec.data_freeze_date
409  ,p_Sal_chg_reason_cd_o            =>ben_enp_shd.g_old_rec.Sal_chg_reason_cd
410  ,p_Approval_mode_cd_o             =>ben_enp_shd.g_old_rec.Approval_mode_cd
411  ,p_hrchy_ame_trn_cd_o             =>ben_enp_shd.g_old_rec.hrchy_ame_trn_cd
412  ,p_hrchy_rl_o                     =>ben_enp_shd.g_old_rec.hrchy_rl
413  ,p_hrchy_ame_app_id_o             =>ben_enp_shd.g_old_rec.hrchy_ame_app_id
414   --
415  ,p_object_version_number_o       =>ben_enp_shd.g_old_rec.object_version_number
416   ,p_reinstate_cd_o				=>	ben_enp_shd.g_old_rec.reinstate_cd
417   ,p_reinstate_ovrdn_cd_o		=>    ben_enp_shd.g_old_rec.reinstate_ovrdn_cd
418  ,p_defer_deenrol_flag_o                => ben_enp_shd.g_old_rec.defer_deenrol_flag
419 
420       );
421     --
422   exception
423     --
424     when hr_api.cannot_find_prog_unit then
425       --
426       hr_api.cannot_find_prog_unit_error
427         (p_module_name => 'ben_enrt_perd'
428         ,p_hook_type   => 'AU');
429       --
430   end;
431   --
432   -- End of API User Hook for post_update.
433   --
434   --
435   hr_utility.set_location(' Leaving:'||l_proc, 10);
436 End post_update;
437 --
438 -- ----------------------------------------------------------------------------
439 -- |-----------------------------< convert_defs >-----------------------------|
440 -- ----------------------------------------------------------------------------
441 -- {Start Of Comments}
442 --
443 -- Description:
444 --   The Convert_Defs procedure has one very important function:
445 --   It must return the record structure for the row with all system defaulted
446 --   values converted into its corresponding parameter value for update. When
447 --   we attempt to update a row through the Upd process , certain
448 --   parameters can be defaulted which enables flexibility in the calling of
449 --   the upd process (e.g. only attributes which need to be updated need to be
450 --   specified). For the upd process to determine which attributes
451 --   have NOT been specified we need to check if the parameter has a reserved
452 --   system default value. Therefore, for all parameters which have a
453 --   corresponding reserved system default mechanism specified we need to
454 --   check if a system default is being used. If a system default is being
455 --   used then we convert the defaulted value into its corresponding attribute
456 --   value held in the g_old_rec data structure.
457 --
458 -- Prerequisites:
459 --   This private function can only be called from the upd process.
460 --
461 -- In Parameters:
462 --   A Pl/Sql record structre.
463 --
464 -- Post Success:
465 --   The record structure will be returned with all system defaulted parameter
466 --   values converted into its current row attribute value.
467 --
468 -- Post Failure:
469 --   No direct error handling is required within this function. Any possible
470 --   errors within this procedure will be a PL/SQL value error due to conversion
471 --   of datatypes or data lengths.
472 --
473 -- Developer Implementation Notes:
474 --   None.
475 --
476 -- Access Status:
477 --   Internal Row Handler Use Only.
478 --
479 -- {End Of Comments}
480 -- ----------------------------------------------------------------------------
481 Procedure convert_defs(p_rec in out nocopy ben_enp_shd.g_rec_type) is
482 --
483   l_proc  varchar2(72) := g_package||'convert_defs';
484 --
485 Begin
486   --
487   hr_utility.set_location('Entering:'||l_proc, 5);
488   --
489   -- We must now examine each argument value in the
490   -- p_rec plsql record structure
491   -- to see if a system default is being used. If a system default
492   -- is being used then we must set to the 'current' argument value.
493   --
494   If (p_rec.business_group_id = hr_api.g_number) then
495     p_rec.business_group_id :=
496     ben_enp_shd.g_old_rec.business_group_id;
497   End If;
498   If (p_rec.yr_perd_id = hr_api.g_number) then
499     p_rec.yr_perd_id :=
500     ben_enp_shd.g_old_rec.yr_perd_id;
501   End If;
502   If (p_rec.popl_enrt_typ_cycl_id = hr_api.g_number) then
503     p_rec.popl_enrt_typ_cycl_id :=
504     ben_enp_shd.g_old_rec.popl_enrt_typ_cycl_id;
505   End If;
506   If (p_rec.end_dt = hr_api.g_date) then
507     p_rec.end_dt :=
508     ben_enp_shd.g_old_rec.end_dt;
509   End If;
510   If (p_rec.strt_dt = hr_api.g_date) then
511     p_rec.strt_dt :=
512     ben_enp_shd.g_old_rec.strt_dt;
513   End If;
514   If (p_rec.asnd_lf_evt_dt = hr_api.g_date) then
515     p_rec.asnd_lf_evt_dt :=
516     ben_enp_shd.g_old_rec.asnd_lf_evt_dt;
517   End If;
518   If (p_rec.cls_enrt_dt_to_use_cd = hr_api.g_varchar2) then
519     p_rec.cls_enrt_dt_to_use_cd :=
520     ben_enp_shd.g_old_rec.cls_enrt_dt_to_use_cd;
521   End If;
522   If (p_rec.dflt_enrt_dt = hr_api.g_date) then
523     p_rec.dflt_enrt_dt :=
524     ben_enp_shd.g_old_rec.dflt_enrt_dt;
525   End If;
526   If (p_rec.enrt_cvg_strt_dt_cd = hr_api.g_varchar2) then
527     p_rec.enrt_cvg_strt_dt_cd :=
528     ben_enp_shd.g_old_rec.enrt_cvg_strt_dt_cd;
529   End If;
530   If (p_rec.rt_strt_dt_rl = hr_api.g_number) then
531     p_rec.rt_strt_dt_rl :=
532     ben_enp_shd.g_old_rec.rt_strt_dt_rl;
533   End If;
534   If (p_rec.enrt_cvg_end_dt_cd = hr_api.g_varchar2) then
535     p_rec.enrt_cvg_end_dt_cd :=
536     ben_enp_shd.g_old_rec.enrt_cvg_end_dt_cd;
537   End If;
538   If (p_rec.enrt_cvg_strt_dt_rl = hr_api.g_number) then
539     p_rec.enrt_cvg_strt_dt_rl :=
540     ben_enp_shd.g_old_rec.enrt_cvg_strt_dt_rl;
541   End If;
542   If (p_rec.enrt_cvg_end_dt_rl = hr_api.g_number) then
543     p_rec.enrt_cvg_end_dt_rl :=
544     ben_enp_shd.g_old_rec.enrt_cvg_end_dt_rl;
545   End If;
546   If (p_rec.procg_end_dt = hr_api.g_date) then
547     p_rec.procg_end_dt :=
548     ben_enp_shd.g_old_rec.procg_end_dt;
549   End If;
550   If (p_rec.rt_strt_dt_cd = hr_api.g_varchar2) then
551     p_rec.rt_strt_dt_cd :=
552     ben_enp_shd.g_old_rec.rt_strt_dt_cd;
553   End If;
554   If (p_rec.rt_end_dt_cd = hr_api.g_varchar2) then
555     p_rec.rt_end_dt_cd :=
556     ben_enp_shd.g_old_rec.rt_end_dt_cd;
557   End If;
558   If (p_rec.rt_end_dt_rl = hr_api.g_number) then
559     p_rec.rt_end_dt_rl :=
560     ben_enp_shd.g_old_rec.rt_end_dt_rl;
561   End If;
562 -- CompWorkBench Additions
563     If (p_rec.bdgt_upd_strt_dt = hr_api.g_date) then
564       p_rec.bdgt_upd_strt_dt :=
565       ben_enp_shd.g_old_rec.bdgt_upd_strt_dt;
566     End If;
567     If (p_rec.bdgt_upd_end_dt= hr_api.g_date) then
568       p_rec.bdgt_upd_end_dt :=
569       ben_enp_shd.g_old_rec.bdgt_upd_end_dt;
570     End If;
571     If (p_rec.ws_upd_strt_dt= hr_api.g_date) then
572       p_rec.ws_upd_strt_dt :=
573       ben_enp_shd.g_old_rec.ws_upd_strt_dt;
574     End If;
575     If (p_rec.ws_upd_end_dt = hr_api.g_date) then
576       p_rec.ws_upd_end_dt :=
577       ben_enp_shd.g_old_rec.ws_upd_end_dt;
578     End If;
579     If (p_rec.dflt_ws_acc_cd= hr_api.g_varchar2) then
580       p_rec.dflt_ws_acc_cd :=
581       ben_enp_shd.g_old_rec.dflt_ws_acc_cd;
582     End If;
583     If (p_rec.prsvr_bdgt_cd = hr_api.g_varchar2) then
584       p_rec.prsvr_bdgt_cd :=
585       ben_enp_shd.g_old_rec.prsvr_bdgt_cd;
586     End If;
587     If (p_rec.uses_bdgt_flag = hr_api.g_varchar2) then
588       p_rec.uses_bdgt_flag :=
589       ben_enp_shd.g_old_rec.uses_bdgt_flag;
590     End If;
591     If (p_rec.auto_distr_flag = hr_api.g_varchar2) then
592       p_rec.auto_distr_flag :=
593       ben_enp_shd.g_old_rec.auto_distr_flag;
594     End If;
595     If (p_rec.hrchy_to_use_cd = hr_api.g_varchar2) then
596       p_rec.hrchy_to_use_cd :=
597       ben_enp_shd.g_old_rec.hrchy_to_use_cd;
598     End If;
599     If (p_rec.pos_structure_version_id = hr_api.g_number) then
600       p_rec.pos_structure_version_id :=
601       ben_enp_shd.g_old_rec.pos_structure_version_id;
602     End If;
603     If (p_rec.emp_interview_type_cd = hr_api.g_varchar2) then
604       p_rec.emp_interview_type_cd :=
605       ben_enp_shd.g_old_rec.emp_interview_type_cd;
606     End If;
607     If (p_rec.wthn_yr_perd_id = hr_api.g_number) then
608       p_rec.wthn_yr_perd_id :=
609       ben_enp_shd.g_old_rec.wthn_yr_perd_id;
610     End If;
611     If (p_rec.ler_id = hr_api.g_number) then
612       p_rec.ler_id :=
613       ben_enp_shd.g_old_rec.ler_id;
614     End If;
615     If (p_rec.perf_revw_strt_dt = hr_api.g_date) then
616       p_rec.perf_revw_strt_dt :=
617       ben_enp_shd.g_old_rec.perf_revw_strt_dt;
618     End If;
619     If (p_rec.asg_updt_eff_date = hr_api.g_date) then
620       p_rec.asg_updt_eff_date :=
621       ben_enp_shd.g_old_rec.asg_updt_eff_date;
622     End If;
623 -- end CompWorkBench additions
624   If (p_rec.enp_attribute_category = hr_api.g_varchar2) then
625     p_rec.enp_attribute_category :=
626     ben_enp_shd.g_old_rec.enp_attribute_category;
627   End If;
628   If (p_rec.enp_attribute1 = hr_api.g_varchar2) then
629     p_rec.enp_attribute1 :=
630     ben_enp_shd.g_old_rec.enp_attribute1;
631   End If;
632   If (p_rec.enp_attribute2 = hr_api.g_varchar2) then
633     p_rec.enp_attribute2 :=
634     ben_enp_shd.g_old_rec.enp_attribute2;
635   End If;
636   If (p_rec.enp_attribute3 = hr_api.g_varchar2) then
637     p_rec.enp_attribute3 :=
638     ben_enp_shd.g_old_rec.enp_attribute3;
639   End If;
640   If (p_rec.enp_attribute4 = hr_api.g_varchar2) then
641     p_rec.enp_attribute4 :=
642     ben_enp_shd.g_old_rec.enp_attribute4;
643   End If;
644   If (p_rec.enp_attribute5 = hr_api.g_varchar2) then
645     p_rec.enp_attribute5 :=
646     ben_enp_shd.g_old_rec.enp_attribute5;
647   End If;
648   If (p_rec.enp_attribute6 = hr_api.g_varchar2) then
649     p_rec.enp_attribute6 :=
650     ben_enp_shd.g_old_rec.enp_attribute6;
651   End If;
652   If (p_rec.enp_attribute7 = hr_api.g_varchar2) then
653     p_rec.enp_attribute7 :=
654     ben_enp_shd.g_old_rec.enp_attribute7;
655   End If;
656   If (p_rec.enp_attribute8 = hr_api.g_varchar2) then
657     p_rec.enp_attribute8 :=
658     ben_enp_shd.g_old_rec.enp_attribute8;
659   End If;
660   If (p_rec.enp_attribute9 = hr_api.g_varchar2) then
661     p_rec.enp_attribute9 :=
662     ben_enp_shd.g_old_rec.enp_attribute9;
663   End If;
664   If (p_rec.enp_attribute10 = hr_api.g_varchar2) then
665     p_rec.enp_attribute10 :=
666     ben_enp_shd.g_old_rec.enp_attribute10;
667   End If;
668   If (p_rec.enp_attribute11 = hr_api.g_varchar2) then
669     p_rec.enp_attribute11 :=
670     ben_enp_shd.g_old_rec.enp_attribute11;
671   End If;
672   If (p_rec.enp_attribute12 = hr_api.g_varchar2) then
673     p_rec.enp_attribute12 :=
674     ben_enp_shd.g_old_rec.enp_attribute12;
675   End If;
676   If (p_rec.enp_attribute13 = hr_api.g_varchar2) then
677     p_rec.enp_attribute13 :=
678     ben_enp_shd.g_old_rec.enp_attribute13;
679   End If;
680   If (p_rec.enp_attribute14 = hr_api.g_varchar2) then
681     p_rec.enp_attribute14 :=
682     ben_enp_shd.g_old_rec.enp_attribute14;
683   End If;
684   If (p_rec.enp_attribute15 = hr_api.g_varchar2) then
685     p_rec.enp_attribute15 :=
686     ben_enp_shd.g_old_rec.enp_attribute15;
687   End If;
688   If (p_rec.enp_attribute16 = hr_api.g_varchar2) then
689     p_rec.enp_attribute16 :=
690     ben_enp_shd.g_old_rec.enp_attribute16;
691   End If;
692   If (p_rec.enp_attribute17 = hr_api.g_varchar2) then
693     p_rec.enp_attribute17 :=
694     ben_enp_shd.g_old_rec.enp_attribute17;
695   End If;
696   If (p_rec.enp_attribute18 = hr_api.g_varchar2) then
697     p_rec.enp_attribute18 :=
698     ben_enp_shd.g_old_rec.enp_attribute18;
699   End If;
700   If (p_rec.enp_attribute19 = hr_api.g_varchar2) then
701     p_rec.enp_attribute19 :=
702     ben_enp_shd.g_old_rec.enp_attribute19;
703   End If;
704   If (p_rec.enp_attribute20 = hr_api.g_varchar2) then
705     p_rec.enp_attribute20 :=
706     ben_enp_shd.g_old_rec.enp_attribute20;
707   End If;
708   If (p_rec.enp_attribute21 = hr_api.g_varchar2) then
709     p_rec.enp_attribute21 :=
710     ben_enp_shd.g_old_rec.enp_attribute21;
711   End If;
712   If (p_rec.enp_attribute22 = hr_api.g_varchar2) then
713     p_rec.enp_attribute22 :=
714     ben_enp_shd.g_old_rec.enp_attribute22;
715   End If;
716   If (p_rec.enp_attribute23 = hr_api.g_varchar2) then
717     p_rec.enp_attribute23 :=
718     ben_enp_shd.g_old_rec.enp_attribute23;
719   End If;
720   If (p_rec.enp_attribute24 = hr_api.g_varchar2) then
721     p_rec.enp_attribute24 :=
722     ben_enp_shd.g_old_rec.enp_attribute24;
723   End If;
724   If (p_rec.enp_attribute25 = hr_api.g_varchar2) then
725     p_rec.enp_attribute25 :=
726     ben_enp_shd.g_old_rec.enp_attribute25;
727   End If;
728   If (p_rec.enp_attribute26 = hr_api.g_varchar2) then
729     p_rec.enp_attribute26 :=
730     ben_enp_shd.g_old_rec.enp_attribute26;
731   End If;
732   If (p_rec.enp_attribute27 = hr_api.g_varchar2) then
733     p_rec.enp_attribute27 :=
734     ben_enp_shd.g_old_rec.enp_attribute27;
735   End If;
736   If (p_rec.enp_attribute28 = hr_api.g_varchar2) then
737     p_rec.enp_attribute28 :=
738     ben_enp_shd.g_old_rec.enp_attribute28;
739   End If;
740   If (p_rec.enp_attribute29 = hr_api.g_varchar2) then
741     p_rec.enp_attribute29 :=
742     ben_enp_shd.g_old_rec.enp_attribute29;
743   End If;
744   If (p_rec.enp_attribute30 = hr_api.g_varchar2) then
745     p_rec.enp_attribute30 :=
746     ben_enp_shd.g_old_rec.enp_attribute30;
747   End If;
748   --
749   If (p_rec.enrt_perd_det_ovrlp_bckdt_cd = hr_api.g_varchar2) then
750     p_rec.enrt_perd_det_ovrlp_bckdt_cd :=
751     ben_enp_shd.g_old_rec.enrt_perd_det_ovrlp_bckdt_cd;
752   End if;
753 
754  --- cwb
755   If (p_rec.data_freeze_date = hr_api.g_date) then
756       p_rec.data_freeze_date :=
757       ben_enp_shd.g_old_rec.data_freeze_date;
758   End If;
759 
760   If (p_rec.Sal_chg_reason_cd = hr_api.g_varchar2) then
761     p_rec.Sal_chg_reason_cd :=
762     ben_enp_shd.g_old_rec.Sal_chg_reason_cd;
763   End if;
764 
765   If (p_rec.Approval_mode_cd = hr_api.g_varchar2) then
766     p_rec.Approval_mode_cd :=
767     ben_enp_shd.g_old_rec.Approval_mode_cd;
768   End if;
769 
770   If (p_rec.hrchy_ame_trn_cd = hr_api.g_varchar2) then
771     p_rec.hrchy_ame_trn_cd :=
772     ben_enp_shd.g_old_rec.hrchy_ame_trn_cd;
773   End if;
774 
775   If (p_rec.hrchy_rl = hr_api.g_number) then
776       p_rec.hrchy_rl :=
777       ben_enp_shd.g_old_rec.hrchy_rl;
778   End If;
779 
780   If (p_rec.hrchy_ame_app_id = hr_api.g_number) then
781       p_rec.hrchy_ame_app_id :=
782       ben_enp_shd.g_old_rec.hrchy_ame_app_id;
783   End If;
784 
785   If (p_rec.reinstate_cd = hr_api.g_varchar2) then
786     p_rec.reinstate_cd :=
787     ben_enp_shd.g_old_rec.reinstate_cd;
788   End if;
789 
790 If (p_rec.reinstate_ovrdn_cd = hr_api.g_varchar2) then
791     p_rec.reinstate_ovrdn_cd :=
792     ben_enp_shd.g_old_rec.reinstate_ovrdn_cd;
793   End if;
794 
795 If (p_rec.defer_deenrol_flag = hr_api.g_varchar2) then
796     p_rec.defer_deenrol_flag :=
797     ben_enp_shd.g_old_rec.defer_deenrol_flag;
798   End if;
799   --
800   hr_utility.set_location(' Leaving:'||l_proc, 10);
801 --
802 End convert_defs;
803 --
804 -- ----------------------------------------------------------------------------
805 -- |---------------------------------< upd >----------------------------------|
806 -- ----------------------------------------------------------------------------
807 Procedure upd
808   (
809   p_effective_date in date,
810   p_rec        in out nocopy ben_enp_shd.g_rec_type
811   ) is
812 --
813   l_proc  varchar2(72) := g_package||'upd';
814 --
815 Begin
816   hr_utility.set_location('Entering:'||l_proc, 5);
817   --
818   -- We must lock the row which we need to update.
819   --
820   ben_enp_shd.lck
821 	(
822 	p_rec.enrt_perd_id,
823 	p_rec.object_version_number
824 	);
825   --
826   -- 1. During an update system defaults are used to determine if
827   --    arguments have been defaulted or not. We must therefore
828   --    derive the full record structure values to be updated.
829   --
830   -- 2. Call the supporting update validate operations.
831   --
832   convert_defs(p_rec);
833   ben_enp_bus.update_validate(p_rec
834   ,p_effective_date);
835   --
836   -- Call the supporting pre-update operation
837   --
838   pre_update(p_rec);
839   --
840   -- Update the row.
841   --
842   update_dml(p_rec);
843   --
844   -- Call the supporting post-update operation
845   --
846   post_update(
847 p_effective_date,p_rec);
848 End upd;
849 --
850 -- ----------------------------------------------------------------------------
851 -- |---------------------------------< upd >----------------------------------|
852 -- ----------------------------------------------------------------------------
853 Procedure upd
854   (
855   p_effective_date in date,
856   p_enrt_perd_id                 in number,
857   p_business_group_id            in number           ,
858   p_yr_perd_id                   in number           ,
859   p_popl_enrt_typ_cycl_id        in number           ,
860   p_end_dt                       in date             ,
861   p_strt_dt                      in date             ,
862   p_asnd_lf_evt_dt               in date             ,
863   p_cls_enrt_dt_to_use_cd        in varchar2         ,
864   p_dflt_enrt_dt                 in date             ,
865   p_enrt_cvg_strt_dt_cd          in varchar2         ,
866   p_rt_strt_dt_rl                in number           ,
867   p_enrt_cvg_end_dt_cd           in varchar2         ,
868   p_enrt_cvg_strt_dt_rl          in number           ,
869   p_enrt_cvg_end_dt_rl           in number           ,
870   p_procg_end_dt                 in date             ,
871   p_rt_strt_dt_cd                in varchar2         ,
872   p_rt_end_dt_cd                 in varchar2         ,
873   p_rt_end_dt_rl                 in number           ,
874   p_bdgt_upd_strt_dt             in  date            ,
875   p_bdgt_upd_end_dt              in  date            ,
876   p_ws_upd_strt_dt               in  date            ,
877   p_ws_upd_end_dt                in  date            ,
878   p_dflt_ws_acc_cd               in  varchar2        ,
879   p_prsvr_bdgt_cd                in  varchar2        ,
880   p_uses_bdgt_flag               in  varchar2        ,
881   p_auto_distr_flag              in  varchar2        ,
882   p_hrchy_to_use_cd              in  varchar2        ,
883   p_pos_structure_version_id        in  number       ,
884   p_emp_interview_type_cd        in  varchar2        ,
885   p_wthn_yr_perd_id              in  number          ,
886   p_ler_id                       in  number          ,
887   p_perf_revw_strt_dt            in date             ,
888   p_asg_updt_eff_date            in date             ,
889   p_enp_attribute_category       in varchar2         ,
890   p_enp_attribute1               in varchar2         ,
891   p_enp_attribute2               in varchar2         ,
892   p_enp_attribute3               in varchar2         ,
893   p_enp_attribute4               in varchar2         ,
894   p_enp_attribute5               in varchar2         ,
895   p_enp_attribute6               in varchar2         ,
896   p_enp_attribute7               in varchar2         ,
897   p_enp_attribute8               in varchar2         ,
898   p_enp_attribute9               in varchar2         ,
899   p_enp_attribute10              in varchar2         ,
900   p_enp_attribute11              in varchar2         ,
901   p_enp_attribute12              in varchar2         ,
902   p_enp_attribute13              in varchar2         ,
903   p_enp_attribute14              in varchar2         ,
904   p_enp_attribute15              in varchar2         ,
905   p_enp_attribute16              in varchar2         ,
906   p_enp_attribute17              in varchar2         ,
907   p_enp_attribute18              in varchar2         ,
908   p_enp_attribute19              in varchar2         ,
909   p_enp_attribute20              in varchar2         ,
910   p_enp_attribute21              in varchar2         ,
911   p_enp_attribute22              in varchar2         ,
912   p_enp_attribute23              in varchar2         ,
913   p_enp_attribute24              in varchar2         ,
914   p_enp_attribute25              in varchar2         ,
915   p_enp_attribute26              in varchar2         ,
916   p_enp_attribute27              in varchar2         ,
917   p_enp_attribute28              in varchar2         ,
918   p_enp_attribute29              in varchar2         ,
919   p_enp_attribute30              in varchar2         ,
920   p_enrt_perd_det_ovrlp_bckdt_cd in varchar2         ,
921     --cwb
922   p_data_freeze_date             in  date    ,
923   p_Sal_chg_reason_cd            in  varchar2,
924   p_Approval_mode_cd             in  varchar2,
925   p_hrchy_ame_trn_cd             in  varchar2,
926   p_hrchy_rl                     in  number,
927   p_hrchy_ame_app_id             in  number ,
928   ---
929   p_object_version_number        in out nocopy number ,
930   p_reinstate_cd			in varchar2,
931   p_reinstate_ovrdn_cd		in varchar2,
932   p_defer_deenrol_flag          in varchar2
933   ) is
934 --
935   l_rec	  ben_enp_shd.g_rec_type;
936   l_proc  varchar2(72) := g_package||'upd';
937 --
938 Begin
939   hr_utility.set_location('Entering:'||l_proc, 5);
940   --
941   -- Call conversion function to turn arguments into the
942   -- l_rec structure.
943   --
944   l_rec :=
945   ben_enp_shd.convert_args
946   (
947   p_enrt_perd_id,
948   p_business_group_id,
949   p_yr_perd_id,
950   p_popl_enrt_typ_cycl_id,
951   p_end_dt,
952   p_strt_dt,
953   p_asnd_lf_evt_dt,
954   p_cls_enrt_dt_to_use_cd,
955   p_dflt_enrt_dt,
956   p_enrt_cvg_strt_dt_cd,
957   p_rt_strt_dt_rl,
958   p_enrt_cvg_end_dt_cd,
959   p_enrt_cvg_strt_dt_rl,
960   p_enrt_cvg_end_dt_rl,
961   p_procg_end_dt,
962   p_rt_strt_dt_cd,
963   p_rt_end_dt_cd,
964   p_rt_end_dt_rl,
965   p_bdgt_upd_strt_dt,
966   p_bdgt_upd_end_dt,
967   p_ws_upd_strt_dt,
968   p_ws_upd_end_dt,
969   p_dflt_ws_acc_cd,
970   p_prsvr_bdgt_cd,
971   p_uses_bdgt_flag,
972   p_auto_distr_flag,
973   p_hrchy_to_use_cd,
974   p_pos_structure_version_id,
975   p_emp_interview_type_cd,
976   p_wthn_yr_perd_id,
977   p_ler_id,
978   p_perf_revw_strt_dt,
979   p_asg_updt_eff_date,
980   p_enp_attribute_category,
981   p_enp_attribute1,
982   p_enp_attribute2,
983   p_enp_attribute3,
984   p_enp_attribute4,
985   p_enp_attribute5,
986   p_enp_attribute6,
987   p_enp_attribute7,
988   p_enp_attribute8,
989   p_enp_attribute9,
990   p_enp_attribute10,
991   p_enp_attribute11,
992   p_enp_attribute12,
993   p_enp_attribute13,
994   p_enp_attribute14,
995   p_enp_attribute15,
996   p_enp_attribute16,
997   p_enp_attribute17,
998   p_enp_attribute18,
999   p_enp_attribute19,
1000   p_enp_attribute20,
1001   p_enp_attribute21,
1002   p_enp_attribute22,
1003   p_enp_attribute23,
1004   p_enp_attribute24,
1005   p_enp_attribute25,
1006   p_enp_attribute26,
1007   p_enp_attribute27,
1008   p_enp_attribute28,
1009   p_enp_attribute29,
1010   p_enp_attribute30,
1011   p_enrt_perd_det_ovrlp_bckdt_cd,
1012   --cwb
1013   p_data_freeze_date,
1014   p_Sal_chg_reason_cd,
1015   p_Approval_mode_cd,
1016   p_hrchy_ame_trn_cd,
1017   p_hrchy_rl        ,
1018   p_hrchy_ame_app_id,
1019   --
1020   p_object_version_number ,
1021   p_reinstate_cd,
1022   p_reinstate_ovrdn_cd,
1023   p_defer_deenrol_flag
1024   );
1025   --
1026   -- Having converted the arguments into the
1027   -- plsql record structure we call the corresponding record
1028   -- business process.
1029   --
1030   upd(
1031     p_effective_date,l_rec);
1032   p_object_version_number := l_rec.object_version_number;
1033   --
1034   hr_utility.set_location(' Leaving:'||l_proc, 10);
1035 End upd;
1036 --
1037 end ben_enp_upd;