DBA Data[Home] [Help]

PACKAGE BODY: APPS.BEN_CPD_UPD

Source


1 Package Body ben_cpd_upd as
2 /* $Header: becpdrhi.pkb 120.1 2006/01/04 01:46 steotia noship $ */
3 --
4 -- ----------------------------------------------------------------------------
5 -- |                     Private Global Definitions                           |
6 -- ----------------------------------------------------------------------------
7 --
8 g_package  varchar2(33) := '  ben_cpd_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
55   (p_rec in out nocopy ben_cpd_shd.g_rec_type
56   ) is
57 --
58   l_proc  varchar2(72) := g_package||'update_dml';
59 --
60 Begin
61   hr_utility.set_location('Entering:'||l_proc, 5);
62   --
63   -- Increment the object version
64   p_rec.object_version_number := p_rec.object_version_number + 1;
65   --
66   ben_cpd_shd.g_api_dml := true;  -- Set the api dml status
67   --
68   -- Update the ben_cwb_pl_dsgn Row
69   --
70   update ben_cwb_pl_dsgn
71     set
72      pl_id                           = p_rec.pl_id
73     ,lf_evt_ocrd_dt                  = p_rec.lf_evt_ocrd_dt
74     ,oipl_id                         = p_rec.oipl_id
75     ,effective_date                  = p_rec.effective_date
76     ,name                            = p_rec.name
77     ,group_pl_id                     = p_rec.group_pl_id
78     ,group_oipl_id                   = p_rec.group_oipl_id
79     ,opt_hidden_flag                 = p_rec.opt_hidden_flag
80     ,opt_id                          = p_rec.opt_id
81     ,pl_uom                          = p_rec.pl_uom
82     ,pl_ordr_num                     = p_rec.pl_ordr_num
83     ,oipl_ordr_num                   = p_rec.oipl_ordr_num
84     ,pl_xchg_rate                    = p_rec.pl_xchg_rate
85     ,opt_count                       = p_rec.opt_count
86     ,uses_bdgt_flag                  = p_rec.uses_bdgt_flag
87     ,prsrv_bdgt_cd                   = p_rec.prsrv_bdgt_cd
88     ,upd_start_dt                    = p_rec.upd_start_dt
89     ,upd_end_dt                      = p_rec.upd_end_dt
90     ,approval_mode                   = p_rec.approval_mode
91     ,enrt_perd_start_dt              = p_rec.enrt_perd_start_dt
92     ,enrt_perd_end_dt                = p_rec.enrt_perd_end_dt
93     ,yr_perd_start_dt                = p_rec.yr_perd_start_dt
94     ,yr_perd_end_dt                  = p_rec.yr_perd_end_dt
95     ,wthn_yr_start_dt                = p_rec.wthn_yr_start_dt
96     ,wthn_yr_end_dt                  = p_rec.wthn_yr_end_dt
97     ,enrt_perd_id                    = p_rec.enrt_perd_id
98     ,yr_perd_id                      = p_rec.yr_perd_id
99     ,business_group_id               = p_rec.business_group_id
100     ,perf_revw_strt_dt               = p_rec.perf_revw_strt_dt
101     ,asg_updt_eff_date               = p_rec.asg_updt_eff_date
102     ,emp_interview_typ_cd            = p_rec.emp_interview_typ_cd
103     ,salary_change_reason            = p_rec.salary_change_reason
104     ,ws_abr_id                       = p_rec.ws_abr_id
105     ,ws_nnmntry_uom                  = p_rec.ws_nnmntry_uom
106     ,ws_rndg_cd                      = p_rec.ws_rndg_cd
107     ,ws_sub_acty_typ_cd              = p_rec.ws_sub_acty_typ_cd
108     ,dist_bdgt_abr_id                = p_rec.dist_bdgt_abr_id
109     ,dist_bdgt_nnmntry_uom           = p_rec.dist_bdgt_nnmntry_uom
110     ,dist_bdgt_rndg_cd               = p_rec.dist_bdgt_rndg_cd
111     ,ws_bdgt_abr_id                  = p_rec.ws_bdgt_abr_id
112     ,ws_bdgt_nnmntry_uom             = p_rec.ws_bdgt_nnmntry_uom
113     ,ws_bdgt_rndg_cd                 = p_rec.ws_bdgt_rndg_cd
114     ,rsrv_abr_id                     = p_rec.rsrv_abr_id
115     ,rsrv_nnmntry_uom                = p_rec.rsrv_nnmntry_uom
116     ,rsrv_rndg_cd                    = p_rec.rsrv_rndg_cd
117     ,elig_sal_abr_id                 = p_rec.elig_sal_abr_id
118     ,elig_sal_nnmntry_uom            = p_rec.elig_sal_nnmntry_uom
119     ,elig_sal_rndg_cd                = p_rec.elig_sal_rndg_cd
120     ,misc1_abr_id                    = p_rec.misc1_abr_id
121     ,misc1_nnmntry_uom               = p_rec.misc1_nnmntry_uom
122     ,misc1_rndg_cd                   = p_rec.misc1_rndg_cd
123     ,misc2_abr_id                    = p_rec.misc2_abr_id
124     ,misc2_nnmntry_uom               = p_rec.misc2_nnmntry_uom
125     ,misc2_rndg_cd                   = p_rec.misc2_rndg_cd
126     ,misc3_abr_id                    = p_rec.misc3_abr_id
127     ,misc3_nnmntry_uom               = p_rec.misc3_nnmntry_uom
128     ,misc3_rndg_cd                   = p_rec.misc3_rndg_cd
129     ,stat_sal_abr_id                 = p_rec.stat_sal_abr_id
130     ,stat_sal_nnmntry_uom            = p_rec.stat_sal_nnmntry_uom
131     ,stat_sal_rndg_cd                = p_rec.stat_sal_rndg_cd
132     ,rec_abr_id                      = p_rec.rec_abr_id
133     ,rec_nnmntry_uom                 = p_rec.rec_nnmntry_uom
134     ,rec_rndg_cd                     = p_rec.rec_rndg_cd
135     ,tot_comp_abr_id                 = p_rec.tot_comp_abr_id
136     ,tot_comp_nnmntry_uom            = p_rec.tot_comp_nnmntry_uom
137     ,tot_comp_rndg_cd                = p_rec.tot_comp_rndg_cd
138     ,oth_comp_abr_id                 = p_rec.oth_comp_abr_id
139     ,oth_comp_nnmntry_uom            = p_rec.oth_comp_nnmntry_uom
140     ,oth_comp_rndg_cd                = p_rec.oth_comp_rndg_cd
141     ,actual_flag                     = p_rec.actual_flag
142     ,acty_ref_perd_cd                = p_rec.acty_ref_perd_cd
143     ,legislation_code                = p_rec.legislation_code
144     ,pl_annulization_factor          = p_rec.pl_annulization_factor
145     ,pl_stat_cd                      = p_rec.pl_stat_cd
146     ,uom_precision                   = p_rec.uom_precision
147     ,ws_element_type_id              = p_rec.ws_element_type_id
148     ,ws_input_value_id               = p_rec.ws_input_value_id
149     ,data_freeze_date                = p_rec.data_freeze_date
150     ,ws_amt_edit_cd                  = p_rec.ws_amt_edit_cd
151     ,ws_amt_edit_enf_cd_for_nulls    = p_rec.ws_amt_edit_enf_cd_for_nulls
152     ,ws_over_budget_edit_cd          = p_rec.ws_over_budget_edit_cd
153     ,ws_over_budget_tolerance_pct    = p_rec.ws_over_budget_tolerance_pct
154     ,bdgt_over_budget_edit_cd        = p_rec.bdgt_over_budget_edit_cd
155     ,bdgt_over_budget_tolerance_pct  = p_rec.bdgt_over_budget_tolerance_pct
156     ,auto_distr_flag                 = p_rec.auto_distr_flag
157     ,pqh_document_short_name         = p_rec.pqh_document_short_name
158     ,ovrid_rt_strt_dt                = p_rec.ovrid_rt_strt_dt
159     ,do_not_process_flag             = p_rec.do_not_process_flag
160     ,ovr_perf_revw_strt_dt           = p_rec.ovr_perf_revw_strt_dt
161     ,object_version_number           = p_rec.object_version_number
162     where pl_id = p_rec.pl_id
163     and lf_evt_ocrd_dt = p_rec.lf_evt_ocrd_dt
164     and oipl_id = p_rec.oipl_id;
165   --
166   ben_cpd_shd.g_api_dml := false;   -- Unset the api dml status
167   --
168   hr_utility.set_location(' Leaving:'||l_proc, 10);
169 --
170 Exception
171   When hr_api.check_integrity_violated Then
172     -- A check constraint has been violated
173     ben_cpd_shd.g_api_dml := false;   -- Unset the api dml status
174     ben_cpd_shd.constraint_error
175       (p_constraint_name => hr_api.strip_constraint_name(SQLERRM));
176   When hr_api.parent_integrity_violated Then
177     -- Parent integrity has been violated
178     ben_cpd_shd.g_api_dml := false;   -- Unset the api dml status
179     ben_cpd_shd.constraint_error
180       (p_constraint_name => hr_api.strip_constraint_name(SQLERRM));
181   When hr_api.unique_integrity_violated Then
182     -- Unique integrity has been violated
183     ben_cpd_shd.g_api_dml := false;   -- Unset the api dml status
184     ben_cpd_shd.constraint_error
185       (p_constraint_name => hr_api.strip_constraint_name(SQLERRM));
186   When Others Then
187     ben_cpd_shd.g_api_dml := false;   -- Unset the api dml status
188     Raise;
189 End update_dml;
190 --
191 -- ----------------------------------------------------------------------------
192 -- |------------------------------< pre_update >------------------------------|
193 -- ----------------------------------------------------------------------------
194 -- {Start Of Comments}
195 --
196 -- Description:
197 --   This private procedure contains any processing which is required before
198 --   the update dml.
199 --
200 -- Prerequisites:
201 --   This is an internal procedure which is called from the upd procedure.
202 --
203 -- In Parameters:
204 --   A Pl/Sql record structure.
205 --
206 -- Post Success:
207 --   Processing continues.
208 --
209 -- Post Failure:
210 --   If an error has occurred, an error message and exception wil be raised
211 --   but not handled.
212 --
213 -- Developer Implementation Notes:
214 --   Any pre-processing required before the update dml is issued should be
215 --   coded within this procedure. It is important to note that any 3rd party
216 --   maintenance should be reviewed before placing in this procedure.
217 --
218 -- Access Status:
219 --   Internal Row Handler Use Only.
220 --
221 -- {End Of Comments}
222 -- ----------------------------------------------------------------------------
223 Procedure pre_update
224   (p_rec in ben_cpd_shd.g_rec_type
225   ) is
226 --
227   l_proc  varchar2(72) := g_package||'pre_update';
228 --
229 Begin
230   hr_utility.set_location('Entering:'||l_proc, 5);
231   --
232   hr_utility.set_location(' Leaving:'||l_proc, 10);
233 End pre_update;
234 --
235 -- ----------------------------------------------------------------------------
236 -- |-----------------------------< post_update >------------------------------|
237 -- ----------------------------------------------------------------------------
238 -- {Start Of Comments}
239 --
240 -- Description:
241 --   This private procedure contains any processing which is required after
242 --   the update dml.
243 --
244 -- Prerequisites:
245 --   This is an internal procedure which is called from the upd procedure.
246 --
247 -- In Parameters:
248 --   A Pl/Sql record structure.
249 --
250 -- Post Success:
251 --   Processing continues.
252 --
253 -- Post Failure:
254 --   If an error has occurred, an error message and exception will be raised
255 --   but not handled.
256 --
257 -- Developer Implementation Notes:
258 --   Any post-processing required after the update dml is issued should be
259 --   coded within this procedure. It is important to note that any 3rd party
260 --   maintenance should be reviewed before placing in this procedure.
261 --
262 -- Access Status:
263 --   Internal Row Handler Use Only.
264 --
265 -- {End Of Comments}
266 -- ----------------------------------------------------------------------------
267 Procedure post_update
268   (p_rec                          in ben_cpd_shd.g_rec_type
269   ) is
270 --
271   l_proc  varchar2(72) := g_package||'post_update';
272 --
273 Begin
274   hr_utility.set_location('Entering:'||l_proc, 5);
275   begin
276     --
277     ben_cpd_rku.after_update
278       (p_pl_id
279       => p_rec.pl_id
280       ,p_lf_evt_ocrd_dt
281       => p_rec.lf_evt_ocrd_dt
282       ,p_oipl_id
283       => p_rec.oipl_id
284       ,p_effective_date
285       => p_rec.effective_date
286       ,p_name
287       => p_rec.name
288       ,p_group_pl_id
289       => p_rec.group_pl_id
290       ,p_group_oipl_id
291       => p_rec.group_oipl_id
292       ,p_opt_hidden_flag
293       => p_rec.opt_hidden_flag
294       ,p_opt_id
295       => p_rec.opt_id
296       ,p_pl_uom
297       => p_rec.pl_uom
298       ,p_pl_ordr_num
299       => p_rec.pl_ordr_num
300       ,p_oipl_ordr_num
301       => p_rec.oipl_ordr_num
302       ,p_pl_xchg_rate
303       => p_rec.pl_xchg_rate
304       ,p_opt_count
305       => p_rec.opt_count
306       ,p_uses_bdgt_flag
307       => p_rec.uses_bdgt_flag
308       ,p_prsrv_bdgt_cd
309       => p_rec.prsrv_bdgt_cd
310       ,p_upd_start_dt
311       => p_rec.upd_start_dt
312       ,p_upd_end_dt
313       => p_rec.upd_end_dt
314       ,p_approval_mode
315       => p_rec.approval_mode
316       ,p_enrt_perd_start_dt
317       => p_rec.enrt_perd_start_dt
318       ,p_enrt_perd_end_dt
319       => p_rec.enrt_perd_end_dt
320       ,p_yr_perd_start_dt
321       => p_rec.yr_perd_start_dt
322       ,p_yr_perd_end_dt
323       => p_rec.yr_perd_end_dt
324       ,p_wthn_yr_start_dt
325       => p_rec.wthn_yr_start_dt
326       ,p_wthn_yr_end_dt
327       => p_rec.wthn_yr_end_dt
328       ,p_enrt_perd_id
329       => p_rec.enrt_perd_id
330       ,p_yr_perd_id
331       => p_rec.yr_perd_id
332       ,p_business_group_id
333       => p_rec.business_group_id
334       ,p_perf_revw_strt_dt
335       => p_rec.perf_revw_strt_dt
336       ,p_asg_updt_eff_date
337       => p_rec.asg_updt_eff_date
338       ,p_emp_interview_typ_cd
339       => p_rec.emp_interview_typ_cd
340       ,p_salary_change_reason
341       => p_rec.salary_change_reason
342       ,p_ws_abr_id
343       => p_rec.ws_abr_id
344       ,p_ws_nnmntry_uom
345       => p_rec.ws_nnmntry_uom
346       ,p_ws_rndg_cd
347       => p_rec.ws_rndg_cd
348       ,p_ws_sub_acty_typ_cd
349       => p_rec.ws_sub_acty_typ_cd
350       ,p_dist_bdgt_abr_id
351       => p_rec.dist_bdgt_abr_id
352       ,p_dist_bdgt_nnmntry_uom
353       => p_rec.dist_bdgt_nnmntry_uom
354       ,p_dist_bdgt_rndg_cd
355       => p_rec.dist_bdgt_rndg_cd
356       ,p_ws_bdgt_abr_id
357       => p_rec.ws_bdgt_abr_id
358       ,p_ws_bdgt_nnmntry_uom
359       => p_rec.ws_bdgt_nnmntry_uom
360       ,p_ws_bdgt_rndg_cd
361       => p_rec.ws_bdgt_rndg_cd
362       ,p_rsrv_abr_id
363       => p_rec.rsrv_abr_id
364       ,p_rsrv_nnmntry_uom
365       => p_rec.rsrv_nnmntry_uom
366       ,p_rsrv_rndg_cd
367       => p_rec.rsrv_rndg_cd
368       ,p_elig_sal_abr_id
369       => p_rec.elig_sal_abr_id
370       ,p_elig_sal_nnmntry_uom
371       => p_rec.elig_sal_nnmntry_uom
372       ,p_elig_sal_rndg_cd
373       => p_rec.elig_sal_rndg_cd
374       ,p_misc1_abr_id
375       => p_rec.misc1_abr_id
376       ,p_misc1_nnmntry_uom
380       ,p_misc2_abr_id
377       => p_rec.misc1_nnmntry_uom
378       ,p_misc1_rndg_cd
379       => p_rec.misc1_rndg_cd
381       => p_rec.misc2_abr_id
382       ,p_misc2_nnmntry_uom
383       => p_rec.misc2_nnmntry_uom
384       ,p_misc2_rndg_cd
385       => p_rec.misc2_rndg_cd
386       ,p_misc3_abr_id
387       => p_rec.misc3_abr_id
388       ,p_misc3_nnmntry_uom
389       => p_rec.misc3_nnmntry_uom
390       ,p_misc3_rndg_cd
391       => p_rec.misc3_rndg_cd
392       ,p_stat_sal_abr_id
393       => p_rec.stat_sal_abr_id
394       ,p_stat_sal_nnmntry_uom
395       => p_rec.stat_sal_nnmntry_uom
396       ,p_stat_sal_rndg_cd
397       => p_rec.stat_sal_rndg_cd
398       ,p_rec_abr_id
399       => p_rec.rec_abr_id
400       ,p_rec_nnmntry_uom
401       => p_rec.rec_nnmntry_uom
402       ,p_rec_rndg_cd
403       => p_rec.rec_rndg_cd
404       ,p_tot_comp_abr_id
405       => p_rec.tot_comp_abr_id
406       ,p_tot_comp_nnmntry_uom
407       => p_rec.tot_comp_nnmntry_uom
408       ,p_tot_comp_rndg_cd
409       => p_rec.tot_comp_rndg_cd
410       ,p_oth_comp_abr_id
411       => p_rec.oth_comp_abr_id
412       ,p_oth_comp_nnmntry_uom
413       => p_rec.oth_comp_nnmntry_uom
414       ,p_oth_comp_rndg_cd
415       => p_rec.oth_comp_rndg_cd
416       ,p_actual_flag
417       => p_rec.actual_flag
418       ,p_acty_ref_perd_cd
419       => p_rec.acty_ref_perd_cd
420       ,p_legislation_code
421       => p_rec.legislation_code
422       ,p_pl_annulization_factor
423       => p_rec.pl_annulization_factor
424       ,p_pl_stat_cd
425       => p_rec.pl_stat_cd
426       ,p_uom_precision
427       => p_rec.uom_precision
428       ,p_ws_element_type_id
429       => p_rec.ws_element_type_id
430       ,p_ws_input_value_id
431       => p_rec.ws_input_value_id
432       ,p_data_freeze_date
433       => p_rec.data_freeze_date
434       ,p_ws_amt_edit_cd
435       => p_rec.ws_amt_edit_cd
436       ,p_ws_amt_edit_enf_cd_for_nul
437       => p_rec.ws_amt_edit_enf_cd_for_nulls
438       ,p_ws_over_budget_edit_cd
439       => p_rec.ws_over_budget_edit_cd
440       ,p_ws_over_budget_tol_pct
441       => p_rec.ws_over_budget_tolerance_pct
442       ,p_bdgt_over_budget_edit_cd
443       => p_rec.bdgt_over_budget_edit_cd
444       ,p_bdgt_over_budget_tol_pct
445       => p_rec.bdgt_over_budget_tolerance_pct
446       ,p_auto_distr_flag
447       => p_rec.auto_distr_flag
448       ,p_pqh_document_short_name
449       => p_rec.pqh_document_short_name
450       ,p_ovrid_rt_strt_dt
451       => p_rec.ovrid_rt_strt_dt
452       ,p_do_not_process_flag
453       => p_rec.do_not_process_flag
454       ,p_ovr_perf_revw_strt_dt
455       => p_rec.ovr_perf_revw_strt_dt
456       ,p_object_version_number
457       => p_rec.object_version_number
458       ,p_effective_date_o
459       => ben_cpd_shd.g_old_rec.effective_date
460       ,p_name_o
461       => ben_cpd_shd.g_old_rec.name
462       ,p_group_pl_id_o
463       => ben_cpd_shd.g_old_rec.group_pl_id
464       ,p_group_oipl_id_o
465       => ben_cpd_shd.g_old_rec.group_oipl_id
466       ,p_opt_hidden_flag_o
467       => ben_cpd_shd.g_old_rec.opt_hidden_flag
468       ,p_opt_id_o
469       => ben_cpd_shd.g_old_rec.opt_id
470       ,p_pl_uom_o
471       => ben_cpd_shd.g_old_rec.pl_uom
472       ,p_pl_ordr_num_o
473       => ben_cpd_shd.g_old_rec.pl_ordr_num
474       ,p_oipl_ordr_num_o
475       => ben_cpd_shd.g_old_rec.oipl_ordr_num
476       ,p_pl_xchg_rate_o
477       => ben_cpd_shd.g_old_rec.pl_xchg_rate
478       ,p_opt_count_o
479       => ben_cpd_shd.g_old_rec.opt_count
480       ,p_uses_bdgt_flag_o
481       => ben_cpd_shd.g_old_rec.uses_bdgt_flag
482       ,p_prsrv_bdgt_cd_o
483       => ben_cpd_shd.g_old_rec.prsrv_bdgt_cd
484       ,p_upd_start_dt_o
485       => ben_cpd_shd.g_old_rec.upd_start_dt
486       ,p_upd_end_dt_o
487       => ben_cpd_shd.g_old_rec.upd_end_dt
488       ,p_approval_mode_o
489       => ben_cpd_shd.g_old_rec.approval_mode
490       ,p_enrt_perd_start_dt_o
491       => ben_cpd_shd.g_old_rec.enrt_perd_start_dt
492       ,p_enrt_perd_end_dt_o
493       => ben_cpd_shd.g_old_rec.enrt_perd_end_dt
494       ,p_yr_perd_start_dt_o
495       => ben_cpd_shd.g_old_rec.yr_perd_start_dt
496       ,p_yr_perd_end_dt_o
497       => ben_cpd_shd.g_old_rec.yr_perd_end_dt
498       ,p_wthn_yr_start_dt_o
499       => ben_cpd_shd.g_old_rec.wthn_yr_start_dt
500       ,p_wthn_yr_end_dt_o
501       => ben_cpd_shd.g_old_rec.wthn_yr_end_dt
502       ,p_enrt_perd_id_o
503       => ben_cpd_shd.g_old_rec.enrt_perd_id
504       ,p_yr_perd_id_o
505       => ben_cpd_shd.g_old_rec.yr_perd_id
506       ,p_business_group_id_o
507       => ben_cpd_shd.g_old_rec.business_group_id
508       ,p_perf_revw_strt_dt_o
509       => ben_cpd_shd.g_old_rec.perf_revw_strt_dt
510       ,p_asg_updt_eff_date_o
511       => ben_cpd_shd.g_old_rec.asg_updt_eff_date
512       ,p_emp_interview_typ_cd_o
513       => ben_cpd_shd.g_old_rec.emp_interview_typ_cd
514       ,p_salary_change_reason_o
515       => ben_cpd_shd.g_old_rec.salary_change_reason
516       ,p_ws_abr_id_o
517       => ben_cpd_shd.g_old_rec.ws_abr_id
518       ,p_ws_nnmntry_uom_o
519       => ben_cpd_shd.g_old_rec.ws_nnmntry_uom
520       ,p_ws_rndg_cd_o
521       => ben_cpd_shd.g_old_rec.ws_rndg_cd
522       ,p_ws_sub_acty_typ_cd_o
523       => ben_cpd_shd.g_old_rec.ws_sub_acty_typ_cd
524       ,p_dist_bdgt_abr_id_o
525       => ben_cpd_shd.g_old_rec.dist_bdgt_abr_id
526       ,p_dist_bdgt_nnmntry_uom_o
527       => ben_cpd_shd.g_old_rec.dist_bdgt_nnmntry_uom
528       ,p_dist_bdgt_rndg_cd_o
529       => ben_cpd_shd.g_old_rec.dist_bdgt_rndg_cd
530       ,p_ws_bdgt_abr_id_o
531       => ben_cpd_shd.g_old_rec.ws_bdgt_abr_id
532       ,p_ws_bdgt_nnmntry_uom_o
533       => ben_cpd_shd.g_old_rec.ws_bdgt_nnmntry_uom
534       ,p_ws_bdgt_rndg_cd_o
535       => ben_cpd_shd.g_old_rec.ws_bdgt_rndg_cd
536       ,p_rsrv_abr_id_o
537       => ben_cpd_shd.g_old_rec.rsrv_abr_id
538       ,p_rsrv_nnmntry_uom_o
539       => ben_cpd_shd.g_old_rec.rsrv_nnmntry_uom
540       ,p_rsrv_rndg_cd_o
541       => ben_cpd_shd.g_old_rec.rsrv_rndg_cd
542       ,p_elig_sal_abr_id_o
543       => ben_cpd_shd.g_old_rec.elig_sal_abr_id
544       ,p_elig_sal_nnmntry_uom_o
545       => ben_cpd_shd.g_old_rec.elig_sal_nnmntry_uom
546       ,p_elig_sal_rndg_cd_o
547       => ben_cpd_shd.g_old_rec.elig_sal_rndg_cd
548       ,p_misc1_abr_id_o
549       => ben_cpd_shd.g_old_rec.misc1_abr_id
550       ,p_misc1_nnmntry_uom_o
551       => ben_cpd_shd.g_old_rec.misc1_nnmntry_uom
552       ,p_misc1_rndg_cd_o
553       => ben_cpd_shd.g_old_rec.misc1_rndg_cd
554       ,p_misc2_abr_id_o
558       ,p_misc2_rndg_cd_o
555       => ben_cpd_shd.g_old_rec.misc2_abr_id
556       ,p_misc2_nnmntry_uom_o
557       => ben_cpd_shd.g_old_rec.misc2_nnmntry_uom
559       => ben_cpd_shd.g_old_rec.misc2_rndg_cd
560       ,p_misc3_abr_id_o
561       => ben_cpd_shd.g_old_rec.misc3_abr_id
562       ,p_misc3_nnmntry_uom_o
563       => ben_cpd_shd.g_old_rec.misc3_nnmntry_uom
564       ,p_misc3_rndg_cd_o
565       => ben_cpd_shd.g_old_rec.misc3_rndg_cd
566       ,p_stat_sal_abr_id_o
567       => ben_cpd_shd.g_old_rec.stat_sal_abr_id
568       ,p_stat_sal_nnmntry_uom_o
569       => ben_cpd_shd.g_old_rec.stat_sal_nnmntry_uom
570       ,p_stat_sal_rndg_cd_o
571       => ben_cpd_shd.g_old_rec.stat_sal_rndg_cd
572       ,p_rec_abr_id_o
573       => ben_cpd_shd.g_old_rec.rec_abr_id
574       ,p_rec_nnmntry_uom_o
575       => ben_cpd_shd.g_old_rec.rec_nnmntry_uom
576       ,p_rec_rndg_cd_o
577       => ben_cpd_shd.g_old_rec.rec_rndg_cd
578       ,p_tot_comp_abr_id_o
579       => ben_cpd_shd.g_old_rec.tot_comp_abr_id
580       ,p_tot_comp_nnmntry_uom_o
581       => ben_cpd_shd.g_old_rec.tot_comp_nnmntry_uom
582       ,p_tot_comp_rndg_cd_o
583       => ben_cpd_shd.g_old_rec.tot_comp_rndg_cd
584       ,p_oth_comp_abr_id_o
585       => ben_cpd_shd.g_old_rec.oth_comp_abr_id
586       ,p_oth_comp_nnmntry_uom_o
587       => ben_cpd_shd.g_old_rec.oth_comp_nnmntry_uom
588       ,p_oth_comp_rndg_cd_o
589       => ben_cpd_shd.g_old_rec.oth_comp_rndg_cd
590       ,p_actual_flag_o
591       => ben_cpd_shd.g_old_rec.actual_flag
592       ,p_acty_ref_perd_cd_o
593       => ben_cpd_shd.g_old_rec.acty_ref_perd_cd
594       ,p_legislation_code_o
595       => ben_cpd_shd.g_old_rec.legislation_code
596       ,p_pl_annulization_factor_o
597       => ben_cpd_shd.g_old_rec.pl_annulization_factor
598       ,p_pl_stat_cd_o
599       => ben_cpd_shd.g_old_rec.pl_stat_cd
600       ,p_uom_precision_o
601       => ben_cpd_shd.g_old_rec.uom_precision
602       ,p_ws_element_type_id_o
603       => ben_cpd_shd.g_old_rec.ws_element_type_id
604       ,p_ws_input_value_id_o
605       => ben_cpd_shd.g_old_rec.ws_input_value_id
606       ,p_data_freeze_date_o
607       => ben_cpd_shd.g_old_rec.data_freeze_date
608       ,p_ws_amt_edit_cd_o
609       => ben_cpd_shd.g_old_rec.ws_amt_edit_cd
610       ,p_ws_amt_edit_enf_cd_for_nul_o
611       => ben_cpd_shd.g_old_rec.ws_amt_edit_enf_cd_for_nulls
612       ,p_ws_over_budget_edit_cd_o
613       => ben_cpd_shd.g_old_rec.ws_over_budget_edit_cd
614       ,p_ws_over_budget_tol_pct_o
615       => ben_cpd_shd.g_old_rec.ws_over_budget_tolerance_pct
616       ,p_bdgt_over_budget_edit_cd_o
617       => ben_cpd_shd.g_old_rec.bdgt_over_budget_edit_cd
618       ,p_bdgt_over_budget_tol_pct_o
619       => ben_cpd_shd.g_old_rec.bdgt_over_budget_tolerance_pct
620       ,p_auto_distr_flag_o
621       => ben_cpd_shd.g_old_rec.auto_distr_flag
622       ,p_pqh_document_short_name_o
623       => ben_cpd_shd.g_old_rec.pqh_document_short_name
624       ,p_ovrid_rt_strt_dt_o
625       => ben_cpd_shd.g_old_rec.ovrid_rt_strt_dt
626       ,p_do_not_process_flag_o
627       => ben_cpd_shd.g_old_rec.do_not_process_flag
628       ,p_ovr_perf_revw_strt_dt_o
629       => ben_cpd_shd.g_old_rec.ovr_perf_revw_strt_dt
630       ,p_object_version_number_o
631       => ben_cpd_shd.g_old_rec.object_version_number
632       );
633     --
634   exception
635     --
636     when hr_api.cannot_find_prog_unit then
637       --
638       hr_api.cannot_find_prog_unit_error
639         (p_module_name => 'BEN_CWB_PL_DSGN'
640         ,p_hook_type   => 'AU');
641       --
642   end;
643   --
644   hr_utility.set_location(' Leaving:'||l_proc, 10);
645 End post_update;
646 --
647 -- ----------------------------------------------------------------------------
648 -- |-----------------------------< convert_defs >-----------------------------|
649 -- ----------------------------------------------------------------------------
650 -- {Start Of Comments}
651 --
652 -- Description:
653 --   The Convert_Defs procedure has one very important function:
654 --   It must return the record structure for the row with all system defaulted
658 --   the upd process (e.g. only attributes which need to be updated need to be
655 --   values converted into its corresponding parameter value for update. When
656 --   we attempt to update a row through the Upd process , certain
657 --   parameters can be defaulted which enables flexibility in the calling of
659 --   specified). For the upd process to determine which attributes
660 --   have NOT been specified we need to check if the parameter has a reserved
661 --   system default value. Therefore, for all parameters which have a
662 --   corresponding reserved system default mechanism specified we need to
663 --   check if a system default is being used. If a system default is being
664 --   used then we convert the defaulted value into its corresponding attribute
665 --   value held in the g_old_rec data structure.
666 --
667 -- Prerequisites:
668 --   This private function can only be called from the upd process.
669 --
670 -- In Parameters:
671 --   A Pl/Sql record structure.
672 --
673 -- Post Success:
674 --   The record structure will be returned with all system defaulted parameter
675 --   values converted into its current row attribute value.
676 --
677 -- Post Failure:
678 --   No direct error handling is required within this function. Any possible
679 --   errors within this procedure will be a PL/SQL value error due to
680 --   conversion of datatypes or data lengths.
681 --
682 -- Developer Implementation Notes:
683 --   None.
684 --
685 -- Access Status:
686 --   Internal Row Handler Use Only.
687 --
688 -- {End Of Comments}
689 -- ----------------------------------------------------------------------------
690 Procedure convert_defs
691   (p_rec in out nocopy ben_cpd_shd.g_rec_type
692   ) is
693 --
694 Begin
695   --
696   -- We must now examine each argument value in the
697   -- p_rec plsql record structure
698   -- to see if a system default is being used. If a system default
699   -- is being used then we must set to the 'current' argument value.
700   --
701   If (p_rec.effective_date = hr_api.g_date) then
702     p_rec.effective_date :=
703     ben_cpd_shd.g_old_rec.effective_date;
704   End If;
705   If (p_rec.name = hr_api.g_varchar2) then
706     p_rec.name :=
707     ben_cpd_shd.g_old_rec.name;
708   End If;
709   If (p_rec.group_pl_id = hr_api.g_number) then
710     p_rec.group_pl_id :=
711     ben_cpd_shd.g_old_rec.group_pl_id;
712   End If;
713   If (p_rec.group_oipl_id = hr_api.g_number) then
714     p_rec.group_oipl_id :=
715     ben_cpd_shd.g_old_rec.group_oipl_id;
716   End If;
717   If (p_rec.opt_hidden_flag = hr_api.g_varchar2) then
718     p_rec.opt_hidden_flag :=
719     ben_cpd_shd.g_old_rec.opt_hidden_flag;
720   End If;
721   If (p_rec.opt_id = hr_api.g_number) then
722     p_rec.opt_id :=
723     ben_cpd_shd.g_old_rec.opt_id;
724   End If;
725   If (p_rec.pl_uom = hr_api.g_varchar2) then
726     p_rec.pl_uom :=
727     ben_cpd_shd.g_old_rec.pl_uom;
728   End If;
729   If (p_rec.pl_ordr_num = hr_api.g_number) then
733   If (p_rec.oipl_ordr_num = hr_api.g_number) then
730     p_rec.pl_ordr_num :=
731     ben_cpd_shd.g_old_rec.pl_ordr_num;
732   End If;
734     p_rec.oipl_ordr_num :=
735     ben_cpd_shd.g_old_rec.oipl_ordr_num;
736   End If;
737   If (p_rec.pl_xchg_rate = hr_api.g_number) then
738     p_rec.pl_xchg_rate :=
739     ben_cpd_shd.g_old_rec.pl_xchg_rate;
740   End If;
741   If (p_rec.opt_count = hr_api.g_number) then
742     p_rec.opt_count :=
743     ben_cpd_shd.g_old_rec.opt_count;
744   End If;
745   If (p_rec.uses_bdgt_flag = hr_api.g_varchar2) then
746     p_rec.uses_bdgt_flag :=
747     ben_cpd_shd.g_old_rec.uses_bdgt_flag;
748   End If;
749   If (p_rec.prsrv_bdgt_cd = hr_api.g_varchar2) then
750     p_rec.prsrv_bdgt_cd :=
751     ben_cpd_shd.g_old_rec.prsrv_bdgt_cd;
752   End If;
753   If (p_rec.upd_start_dt = hr_api.g_date) then
754     p_rec.upd_start_dt :=
755     ben_cpd_shd.g_old_rec.upd_start_dt;
756   End If;
757   If (p_rec.upd_end_dt = hr_api.g_date) then
758     p_rec.upd_end_dt :=
759     ben_cpd_shd.g_old_rec.upd_end_dt;
760   End If;
761   If (p_rec.approval_mode = hr_api.g_varchar2) then
762     p_rec.approval_mode :=
763     ben_cpd_shd.g_old_rec.approval_mode;
764   End If;
765   If (p_rec.enrt_perd_start_dt = hr_api.g_date) then
766     p_rec.enrt_perd_start_dt :=
767     ben_cpd_shd.g_old_rec.enrt_perd_start_dt;
768   End If;
769   If (p_rec.enrt_perd_end_dt = hr_api.g_date) then
770     p_rec.enrt_perd_end_dt :=
771     ben_cpd_shd.g_old_rec.enrt_perd_end_dt;
772   End If;
773   If (p_rec.yr_perd_start_dt = hr_api.g_date) then
774     p_rec.yr_perd_start_dt :=
775     ben_cpd_shd.g_old_rec.yr_perd_start_dt;
776   End If;
777   If (p_rec.yr_perd_end_dt = hr_api.g_date) then
778     p_rec.yr_perd_end_dt :=
779     ben_cpd_shd.g_old_rec.yr_perd_end_dt;
780   End If;
781   If (p_rec.wthn_yr_start_dt = hr_api.g_date) then
782     p_rec.wthn_yr_start_dt :=
783     ben_cpd_shd.g_old_rec.wthn_yr_start_dt;
784   End If;
785   If (p_rec.wthn_yr_end_dt = hr_api.g_date) then
786     p_rec.wthn_yr_end_dt :=
787     ben_cpd_shd.g_old_rec.wthn_yr_end_dt;
788   End If;
789   If (p_rec.enrt_perd_id = hr_api.g_number) then
790     p_rec.enrt_perd_id :=
791     ben_cpd_shd.g_old_rec.enrt_perd_id;
792   End If;
793   If (p_rec.yr_perd_id = hr_api.g_number) then
794     p_rec.yr_perd_id :=
795     ben_cpd_shd.g_old_rec.yr_perd_id;
796   End If;
797   If (p_rec.business_group_id = hr_api.g_number) then
798     p_rec.business_group_id :=
799     ben_cpd_shd.g_old_rec.business_group_id;
800   End If;
801   If (p_rec.perf_revw_strt_dt = hr_api.g_date) then
802     p_rec.perf_revw_strt_dt :=
803     ben_cpd_shd.g_old_rec.perf_revw_strt_dt;
804   End If;
805   If (p_rec.asg_updt_eff_date = hr_api.g_date) then
806     p_rec.asg_updt_eff_date :=
807     ben_cpd_shd.g_old_rec.asg_updt_eff_date;
808   End If;
809   If (p_rec.emp_interview_typ_cd = hr_api.g_varchar2) then
810     p_rec.emp_interview_typ_cd :=
811     ben_cpd_shd.g_old_rec.emp_interview_typ_cd;
812   End If;
813   If (p_rec.salary_change_reason = hr_api.g_varchar2) then
814     p_rec.salary_change_reason :=
815     ben_cpd_shd.g_old_rec.salary_change_reason;
816   End If;
817   If (p_rec.ws_abr_id = hr_api.g_number) then
818     p_rec.ws_abr_id :=
819     ben_cpd_shd.g_old_rec.ws_abr_id;
820   End If;
821   If (p_rec.ws_nnmntry_uom = hr_api.g_varchar2) then
822     p_rec.ws_nnmntry_uom :=
823     ben_cpd_shd.g_old_rec.ws_nnmntry_uom;
824   End If;
825   If (p_rec.ws_rndg_cd = hr_api.g_varchar2) then
826     p_rec.ws_rndg_cd :=
827     ben_cpd_shd.g_old_rec.ws_rndg_cd;
828   End If;
829   If (p_rec.ws_sub_acty_typ_cd = hr_api.g_varchar2) then
830     p_rec.ws_sub_acty_typ_cd :=
831     ben_cpd_shd.g_old_rec.ws_sub_acty_typ_cd;
832   End If;
833   If (p_rec.dist_bdgt_abr_id = hr_api.g_number) then
834     p_rec.dist_bdgt_abr_id :=
835     ben_cpd_shd.g_old_rec.dist_bdgt_abr_id;
836   End If;
837   If (p_rec.dist_bdgt_nnmntry_uom = hr_api.g_varchar2) then
838     p_rec.dist_bdgt_nnmntry_uom :=
839     ben_cpd_shd.g_old_rec.dist_bdgt_nnmntry_uom;
840   End If;
841   If (p_rec.dist_bdgt_rndg_cd = hr_api.g_varchar2) then
842     p_rec.dist_bdgt_rndg_cd :=
843     ben_cpd_shd.g_old_rec.dist_bdgt_rndg_cd;
844   End If;
845   If (p_rec.ws_bdgt_abr_id = hr_api.g_number) then
846     p_rec.ws_bdgt_abr_id :=
847     ben_cpd_shd.g_old_rec.ws_bdgt_abr_id;
848   End If;
849   If (p_rec.ws_bdgt_nnmntry_uom = hr_api.g_varchar2) then
850     p_rec.ws_bdgt_nnmntry_uom :=
851     ben_cpd_shd.g_old_rec.ws_bdgt_nnmntry_uom;
852   End If;
853   If (p_rec.ws_bdgt_rndg_cd = hr_api.g_varchar2) then
854     p_rec.ws_bdgt_rndg_cd :=
855     ben_cpd_shd.g_old_rec.ws_bdgt_rndg_cd;
856   End If;
857   If (p_rec.rsrv_abr_id = hr_api.g_number) then
858     p_rec.rsrv_abr_id :=
859     ben_cpd_shd.g_old_rec.rsrv_abr_id;
860   End If;
861   If (p_rec.rsrv_nnmntry_uom = hr_api.g_varchar2) then
862     p_rec.rsrv_nnmntry_uom :=
863     ben_cpd_shd.g_old_rec.rsrv_nnmntry_uom;
864   End If;
865   If (p_rec.rsrv_rndg_cd = hr_api.g_varchar2) then
866     p_rec.rsrv_rndg_cd :=
867     ben_cpd_shd.g_old_rec.rsrv_rndg_cd;
868   End If;
869   If (p_rec.elig_sal_abr_id = hr_api.g_number) then
870     p_rec.elig_sal_abr_id :=
871     ben_cpd_shd.g_old_rec.elig_sal_abr_id;
872   End If;
873   If (p_rec.elig_sal_nnmntry_uom = hr_api.g_varchar2) then
874     p_rec.elig_sal_nnmntry_uom :=
875     ben_cpd_shd.g_old_rec.elig_sal_nnmntry_uom;
876   End If;
877   If (p_rec.elig_sal_rndg_cd = hr_api.g_varchar2) then
878     p_rec.elig_sal_rndg_cd :=
879     ben_cpd_shd.g_old_rec.elig_sal_rndg_cd;
880   End If;
881   If (p_rec.misc1_abr_id = hr_api.g_number) then
882     p_rec.misc1_abr_id :=
883     ben_cpd_shd.g_old_rec.misc1_abr_id;
884   End If;
885   If (p_rec.misc1_nnmntry_uom = hr_api.g_varchar2) then
886     p_rec.misc1_nnmntry_uom :=
887     ben_cpd_shd.g_old_rec.misc1_nnmntry_uom;
888   End If;
889   If (p_rec.misc1_rndg_cd = hr_api.g_varchar2) then
890     p_rec.misc1_rndg_cd :=
891     ben_cpd_shd.g_old_rec.misc1_rndg_cd;
892   End If;
893   If (p_rec.misc2_abr_id = hr_api.g_number) then
894     p_rec.misc2_abr_id :=
895     ben_cpd_shd.g_old_rec.misc2_abr_id;
896   End If;
897   If (p_rec.misc2_nnmntry_uom = hr_api.g_varchar2) then
898     p_rec.misc2_nnmntry_uom :=
899     ben_cpd_shd.g_old_rec.misc2_nnmntry_uom;
900   End If;
901   If (p_rec.misc2_rndg_cd = hr_api.g_varchar2) then
902     p_rec.misc2_rndg_cd :=
903     ben_cpd_shd.g_old_rec.misc2_rndg_cd;
904   End If;
905   If (p_rec.misc3_abr_id = hr_api.g_number) then
906     p_rec.misc3_abr_id :=
907     ben_cpd_shd.g_old_rec.misc3_abr_id;
908   End If;
909   If (p_rec.misc3_nnmntry_uom = hr_api.g_varchar2) then
910     p_rec.misc3_nnmntry_uom :=
911     ben_cpd_shd.g_old_rec.misc3_nnmntry_uom;
912   End If;
913   If (p_rec.misc3_rndg_cd = hr_api.g_varchar2) then
914     p_rec.misc3_rndg_cd :=
915     ben_cpd_shd.g_old_rec.misc3_rndg_cd;
916   End If;
917   If (p_rec.stat_sal_abr_id = hr_api.g_number) then
918     p_rec.stat_sal_abr_id :=
919     ben_cpd_shd.g_old_rec.stat_sal_abr_id;
920   End If;
921   If (p_rec.stat_sal_nnmntry_uom = hr_api.g_varchar2) then
922     p_rec.stat_sal_nnmntry_uom :=
923     ben_cpd_shd.g_old_rec.stat_sal_nnmntry_uom;
924   End If;
925   If (p_rec.stat_sal_rndg_cd = hr_api.g_varchar2) then
926     p_rec.stat_sal_rndg_cd :=
927     ben_cpd_shd.g_old_rec.stat_sal_rndg_cd;
928   End If;
929   If (p_rec.rec_abr_id = hr_api.g_number) then
930     p_rec.rec_abr_id :=
931     ben_cpd_shd.g_old_rec.rec_abr_id;
932   End If;
933   If (p_rec.rec_nnmntry_uom = hr_api.g_varchar2) then
934     p_rec.rec_nnmntry_uom :=
935     ben_cpd_shd.g_old_rec.rec_nnmntry_uom;
936   End If;
937   If (p_rec.rec_rndg_cd = hr_api.g_varchar2) then
938     p_rec.rec_rndg_cd :=
939     ben_cpd_shd.g_old_rec.rec_rndg_cd;
940   End If;
941   If (p_rec.tot_comp_abr_id = hr_api.g_number) then
942     p_rec.tot_comp_abr_id :=
943     ben_cpd_shd.g_old_rec.tot_comp_abr_id;
944   End If;
945   If (p_rec.tot_comp_nnmntry_uom = hr_api.g_varchar2) then
946     p_rec.tot_comp_nnmntry_uom :=
947     ben_cpd_shd.g_old_rec.tot_comp_nnmntry_uom;
948   End If;
949   If (p_rec.tot_comp_rndg_cd = hr_api.g_varchar2) then
950     p_rec.tot_comp_rndg_cd :=
951     ben_cpd_shd.g_old_rec.tot_comp_rndg_cd;
952   End If;
953   If (p_rec.oth_comp_abr_id = hr_api.g_number) then
954     p_rec.oth_comp_abr_id :=
955     ben_cpd_shd.g_old_rec.oth_comp_abr_id;
956   End If;
957   If (p_rec.oth_comp_nnmntry_uom = hr_api.g_varchar2) then
958     p_rec.oth_comp_nnmntry_uom :=
959     ben_cpd_shd.g_old_rec.oth_comp_nnmntry_uom;
960   End If;
961   If (p_rec.oth_comp_rndg_cd = hr_api.g_varchar2) then
962     p_rec.oth_comp_rndg_cd :=
963     ben_cpd_shd.g_old_rec.oth_comp_rndg_cd;
964   End If;
965   If (p_rec.actual_flag = hr_api.g_varchar2) then
966     p_rec.actual_flag :=
967     ben_cpd_shd.g_old_rec.actual_flag;
968   End If;
969   If (p_rec.acty_ref_perd_cd = hr_api.g_varchar2) then
970     p_rec.acty_ref_perd_cd :=
971     ben_cpd_shd.g_old_rec.acty_ref_perd_cd;
972   End If;
973   If (p_rec.legislation_code = hr_api.g_varchar2) then
974     p_rec.legislation_code :=
975     ben_cpd_shd.g_old_rec.legislation_code;
976   End If;
977   If (p_rec.pl_annulization_factor = hr_api.g_number) then
978     p_rec.pl_annulization_factor :=
979     ben_cpd_shd.g_old_rec.pl_annulization_factor;
980   End If;
981   If (p_rec.pl_stat_cd = hr_api.g_varchar2) then
982     p_rec.pl_stat_cd :=
983     ben_cpd_shd.g_old_rec.pl_stat_cd;
984   End If;
985   If (p_rec.uom_precision = hr_api.g_number) then
986     p_rec.uom_precision :=
987     ben_cpd_shd.g_old_rec.uom_precision;
988   End If;
989   If (p_rec.ws_element_type_id = hr_api.g_number) then
990     p_rec.ws_element_type_id :=
991     ben_cpd_shd.g_old_rec.ws_element_type_id;
992   End If;
993   If (p_rec.ws_input_value_id = hr_api.g_number) then
994     p_rec.ws_input_value_id :=
995     ben_cpd_shd.g_old_rec.ws_input_value_id;
996   End if;
997   If (p_rec.data_freeze_date = hr_api.g_date) then
998     p_rec.data_freeze_date :=
999     ben_cpd_shd.g_old_rec.data_freeze_date;
1000   End If;
1001   If (p_rec.ws_amt_edit_cd = hr_api.g_varchar2) then
1002     p_rec.ws_amt_edit_cd :=
1003     ben_cpd_shd.g_old_rec.ws_amt_edit_cd;
1004   End If;
1005   If (p_rec.ws_amt_edit_enf_cd_for_nulls = hr_api.g_varchar2) then
1006     p_rec.ws_amt_edit_enf_cd_for_nulls :=
1007     ben_cpd_shd.g_old_rec.ws_amt_edit_enf_cd_for_nulls;
1008   End If;
1009   If (p_rec.ws_over_budget_edit_cd = hr_api.g_varchar2) then
1010     p_rec.ws_over_budget_edit_cd :=
1011     ben_cpd_shd.g_old_rec.ws_over_budget_edit_cd;
1012   End If;
1013   If (p_rec.ws_over_budget_tolerance_pct = hr_api.g_number) then
1014     p_rec.ws_over_budget_tolerance_pct :=
1015     ben_cpd_shd.g_old_rec.ws_over_budget_tolerance_pct;
1016   End If;
1017   If (p_rec.bdgt_over_budget_edit_cd = hr_api.g_varchar2) then
1018     p_rec.bdgt_over_budget_edit_cd :=
1019     ben_cpd_shd.g_old_rec.bdgt_over_budget_edit_cd;
1020   End If;
1021   If (p_rec.bdgt_over_budget_tolerance_pct = hr_api.g_number) then
1022     p_rec.bdgt_over_budget_tolerance_pct :=
1023     ben_cpd_shd.g_old_rec.bdgt_over_budget_tolerance_pct;
1024   End If;
1025   If (p_rec.auto_distr_flag = hr_api.g_varchar2) then
1026     p_rec.auto_distr_flag :=
1027     ben_cpd_shd.g_old_rec.auto_distr_flag;
1028   End If;
1029   If (p_rec.pqh_document_short_name = hr_api.g_varchar2) then
1030     p_rec.pqh_document_short_name :=
1031     ben_cpd_shd.g_old_rec.pqh_document_short_name;
1032   End If;
1033   If (p_rec.ovrid_rt_strt_dt = hr_api.g_date) then
1034     p_rec.ovrid_rt_strt_dt :=
1035     ben_cpd_shd.g_old_rec.ovrid_rt_strt_dt;
1036   End If;
1037   If (p_rec.do_not_process_flag = hr_api.g_varchar2) then
1038     p_rec.do_not_process_flag :=
1039     ben_cpd_shd.g_old_rec.do_not_process_flag;
1040   End If;
1044   End If;
1041   If (p_rec.ovr_perf_revw_strt_dt = hr_api.g_date) then
1042     p_rec.ovr_perf_revw_strt_dt :=
1043     ben_cpd_shd.g_old_rec.ovr_perf_revw_strt_dt;
1045   --
1046 End convert_defs;
1047 --
1048 -- ----------------------------------------------------------------------------
1049 -- |---------------------------------< upd >----------------------------------|
1050 -- ----------------------------------------------------------------------------
1051 Procedure upd
1052   (p_rec                          in out nocopy ben_cpd_shd.g_rec_type
1053   ) is
1054 --
1055   l_proc  varchar2(72) := g_package||'upd';
1056 --
1057 Begin
1058   hr_utility.set_location('Entering:'||l_proc, 5);
1059   --
1060   -- We must lock the row which we need to update.
1061   --
1062   ben_cpd_shd.lck
1063     (p_rec.pl_id
1064     ,p_rec.lf_evt_ocrd_dt
1065     ,p_rec.oipl_id
1066     ,p_rec.object_version_number
1067     );
1068   --
1069   -- 1. During an update system defaults are used to determine if
1070   --    arguments have been defaulted or not. We must therefore
1071   --    derive the full record structure values to be updated.
1072   --
1073   -- 2. Call the supporting update validate operations.
1074   --
1075   convert_defs(p_rec);
1076   ben_cpd_bus.update_validate
1077      (p_rec
1078      );
1079   --
1080   -- Call to raise any errors on multi-message list
1081   hr_multi_message.end_validation_set;
1082   --
1083   -- Call the supporting pre-update operation
1084   --
1085   ben_cpd_upd.pre_update(p_rec);
1086   --
1087   -- Update the row.
1088   --
1089   ben_cpd_upd.update_dml(p_rec);
1090   --
1091   -- Call the supporting post-update operation
1092   --
1093   ben_cpd_upd.post_update
1094      (p_rec
1095      );
1096   --
1097   -- Call to raise any errors on multi-message list
1098   hr_multi_message.end_validation_set;
1099 End upd;
1100 --
1101 -- ----------------------------------------------------------------------------
1102 -- |---------------------------------< upd >----------------------------------|
1103 -- ----------------------------------------------------------------------------
1104 Procedure upd
1105   (p_pl_id                          in     number
1106   ,p_oipl_id                        in     number
1107   ,p_lf_evt_ocrd_dt                 in     date
1108   ,p_object_version_number          in out nocopy number
1109   ,p_effective_date                 in     date      default hr_api.g_date
1110   ,p_name                           in     varchar2  default hr_api.g_varchar2
1111   ,p_group_pl_id                    in     number    default hr_api.g_number
1112   ,p_group_oipl_id                  in     number    default hr_api.g_number
1113   ,p_opt_hidden_flag                in     varchar2  default hr_api.g_varchar2
1114   ,p_opt_id                         in     number    default hr_api.g_number
1115   ,p_pl_uom                         in     varchar2  default hr_api.g_varchar2
1116   ,p_pl_ordr_num                    in     number    default hr_api.g_number
1117   ,p_oipl_ordr_num                  in     number    default hr_api.g_number
1118   ,p_pl_xchg_rate                   in     number    default hr_api.g_number
1119   ,p_opt_count                      in     number    default hr_api.g_number
1120   ,p_uses_bdgt_flag                 in     varchar2  default hr_api.g_varchar2
1121   ,p_prsrv_bdgt_cd                  in     varchar2  default hr_api.g_varchar2
1122   ,p_upd_start_dt                   in     date      default hr_api.g_date
1123   ,p_upd_end_dt                     in     date      default hr_api.g_date
1124   ,p_approval_mode                  in     varchar2  default hr_api.g_varchar2
1125   ,p_enrt_perd_start_dt             in     date      default hr_api.g_date
1126   ,p_enrt_perd_end_dt               in     date      default hr_api.g_date
1127   ,p_yr_perd_start_dt               in     date      default hr_api.g_date
1128   ,p_yr_perd_end_dt                 in     date      default hr_api.g_date
1129   ,p_wthn_yr_start_dt               in     date      default hr_api.g_date
1130   ,p_wthn_yr_end_dt                 in     date      default hr_api.g_date
1131   ,p_enrt_perd_id                   in     number    default hr_api.g_number
1132   ,p_yr_perd_id                     in     number    default hr_api.g_number
1133   ,p_business_group_id              in     number    default hr_api.g_number
1134   ,p_perf_revw_strt_dt              in     date      default hr_api.g_date
1135   ,p_asg_updt_eff_date              in     date      default hr_api.g_date
1136   ,p_emp_interview_typ_cd           in     varchar2  default hr_api.g_varchar2
1137   ,p_salary_change_reason           in     varchar2  default hr_api.g_varchar2
1138   ,p_ws_abr_id                      in     number    default hr_api.g_number
1139   ,p_ws_nnmntry_uom                 in     varchar2  default hr_api.g_varchar2
1140   ,p_ws_rndg_cd                     in     varchar2  default hr_api.g_varchar2
1141   ,p_ws_sub_acty_typ_cd             in     varchar2  default hr_api.g_varchar2
1142   ,p_dist_bdgt_abr_id               in     number    default hr_api.g_number
1143   ,p_dist_bdgt_nnmntry_uom          in     varchar2  default hr_api.g_varchar2
1144   ,p_dist_bdgt_rndg_cd              in     varchar2  default hr_api.g_varchar2
1145   ,p_ws_bdgt_abr_id                 in     number    default hr_api.g_number
1146   ,p_ws_bdgt_nnmntry_uom            in     varchar2  default hr_api.g_varchar2
1147   ,p_ws_bdgt_rndg_cd                in     varchar2  default hr_api.g_varchar2
1148   ,p_rsrv_abr_id                    in     number    default hr_api.g_number
1149   ,p_rsrv_nnmntry_uom               in     varchar2  default hr_api.g_varchar2
1150   ,p_rsrv_rndg_cd                   in     varchar2  default hr_api.g_varchar2
1151   ,p_elig_sal_abr_id                in     number    default hr_api.g_number
1152   ,p_elig_sal_nnmntry_uom           in     varchar2  default hr_api.g_varchar2
1153   ,p_elig_sal_rndg_cd               in     varchar2  default hr_api.g_varchar2
1157   ,p_misc2_abr_id                   in     number    default hr_api.g_number
1154   ,p_misc1_abr_id                   in     number    default hr_api.g_number
1155   ,p_misc1_nnmntry_uom              in     varchar2  default hr_api.g_varchar2
1156   ,p_misc1_rndg_cd                  in     varchar2  default hr_api.g_varchar2
1158   ,p_misc2_nnmntry_uom              in     varchar2  default hr_api.g_varchar2
1159   ,p_misc2_rndg_cd                  in     varchar2  default hr_api.g_varchar2
1160   ,p_misc3_abr_id                   in     number    default hr_api.g_number
1161   ,p_misc3_nnmntry_uom              in     varchar2  default hr_api.g_varchar2
1162   ,p_misc3_rndg_cd                  in     varchar2  default hr_api.g_varchar2
1163   ,p_stat_sal_abr_id                in     number    default hr_api.g_number
1164   ,p_stat_sal_nnmntry_uom           in     varchar2  default hr_api.g_varchar2
1165   ,p_stat_sal_rndg_cd               in     varchar2  default hr_api.g_varchar2
1166   ,p_rec_abr_id                     in     number    default hr_api.g_number
1167   ,p_rec_nnmntry_uom                in     varchar2  default hr_api.g_varchar2
1168   ,p_rec_rndg_cd                    in     varchar2  default hr_api.g_varchar2
1169   ,p_tot_comp_abr_id                in     number    default hr_api.g_number
1170   ,p_tot_comp_nnmntry_uom           in     varchar2  default hr_api.g_varchar2
1171   ,p_tot_comp_rndg_cd               in     varchar2  default hr_api.g_varchar2
1172   ,p_oth_comp_abr_id                in     number    default hr_api.g_number
1173   ,p_oth_comp_nnmntry_uom           in     varchar2  default hr_api.g_varchar2
1174   ,p_oth_comp_rndg_cd               in     varchar2  default hr_api.g_varchar2
1175   ,p_actual_flag                    in     varchar2  default hr_api.g_varchar2
1176   ,p_acty_ref_perd_cd               in     varchar2  default hr_api.g_varchar2
1177   ,p_legislation_code               in     varchar2  default hr_api.g_varchar2
1178   ,p_pl_annulization_factor         in     number    default hr_api.g_number
1179   ,p_pl_stat_cd                     in     varchar2  default hr_api.g_varchar2
1180   ,p_uom_precision                  in     number    default hr_api.g_number
1181   ,p_ws_element_type_id             in     number    default hr_api.g_number
1182   ,p_ws_input_value_id              in     number    default hr_api.g_number
1183   ,p_data_freeze_date               in     date      default hr_api.g_date
1184   ,p_ws_amt_edit_cd                 in     varchar2  default hr_api.g_varchar2
1185   ,p_ws_amt_edit_enf_cd_for_nul     in     varchar2  default hr_api.g_varchar2
1186   ,p_ws_over_budget_edit_cd         in     varchar2  default hr_api.g_varchar2
1187   ,p_ws_over_budget_tol_pct         in     number    default hr_api.g_number
1188   ,p_bdgt_over_budget_edit_cd       in     varchar2  default hr_api.g_varchar2
1189   ,p_bdgt_over_budget_tol_pct       in     number    default hr_api.g_number
1190   ,p_auto_distr_flag                in     varchar2  default hr_api.g_varchar2
1191   ,p_pqh_document_short_name        in     varchar2  default hr_api.g_varchar2
1192   ,p_ovrid_rt_strt_dt               in     date      default hr_api.g_date
1193   ,p_do_not_process_flag            in     varchar2  default hr_api.g_varchar2
1194   ,p_ovr_perf_revw_strt_dt          in     date      default hr_api.g_date
1195   ) is
1196 --
1197   l_rec   ben_cpd_shd.g_rec_type;
1198   l_proc  varchar2(72) := g_package||'upd';
1199 --
1200 Begin
1201   hr_utility.set_location('Entering:'||l_proc, 5);
1202   --
1203   -- Call conversion function to turn arguments into the
1204   -- l_rec structure.
1205   --
1206   l_rec :=
1207   ben_cpd_shd.convert_args
1208   (p_pl_id
1209   ,p_oipl_id
1210   ,p_lf_evt_ocrd_dt
1211   ,p_effective_date
1212   ,p_name
1213   ,p_group_pl_id
1214   ,p_group_oipl_id
1215   ,p_opt_hidden_flag
1216   ,p_opt_id
1217   ,p_pl_uom
1218   ,p_pl_ordr_num
1219   ,p_oipl_ordr_num
1220   ,p_pl_xchg_rate
1221   ,p_opt_count
1222   ,p_uses_bdgt_flag
1223   ,p_prsrv_bdgt_cd
1224   ,p_upd_start_dt
1225   ,p_upd_end_dt
1226   ,p_approval_mode
1227   ,p_enrt_perd_start_dt
1228   ,p_enrt_perd_end_dt
1229   ,p_yr_perd_start_dt
1230   ,p_yr_perd_end_dt
1231   ,p_wthn_yr_start_dt
1232   ,p_wthn_yr_end_dt
1233   ,p_enrt_perd_id
1234   ,p_yr_perd_id
1235   ,p_business_group_id
1236   ,p_perf_revw_strt_dt
1237   ,p_asg_updt_eff_date
1238   ,p_emp_interview_typ_cd
1239   ,p_salary_change_reason
1240   ,p_ws_abr_id
1241   ,p_ws_nnmntry_uom
1242   ,p_ws_rndg_cd
1243   ,p_ws_sub_acty_typ_cd
1244   ,p_dist_bdgt_abr_id
1245   ,p_dist_bdgt_nnmntry_uom
1246   ,p_dist_bdgt_rndg_cd
1247   ,p_ws_bdgt_abr_id
1248   ,p_ws_bdgt_nnmntry_uom
1249   ,p_ws_bdgt_rndg_cd
1250   ,p_rsrv_abr_id
1251   ,p_rsrv_nnmntry_uom
1252   ,p_rsrv_rndg_cd
1253   ,p_elig_sal_abr_id
1254   ,p_elig_sal_nnmntry_uom
1255   ,p_elig_sal_rndg_cd
1256   ,p_misc1_abr_id
1257   ,p_misc1_nnmntry_uom
1258   ,p_misc1_rndg_cd
1259   ,p_misc2_abr_id
1260   ,p_misc2_nnmntry_uom
1261   ,p_misc2_rndg_cd
1262   ,p_misc3_abr_id
1263   ,p_misc3_nnmntry_uom
1264   ,p_misc3_rndg_cd
1265   ,p_stat_sal_abr_id
1266   ,p_stat_sal_nnmntry_uom
1267   ,p_stat_sal_rndg_cd
1268   ,p_rec_abr_id
1269   ,p_rec_nnmntry_uom
1270   ,p_rec_rndg_cd
1271   ,p_tot_comp_abr_id
1272   ,p_tot_comp_nnmntry_uom
1273   ,p_tot_comp_rndg_cd
1274   ,p_oth_comp_abr_id
1275   ,p_oth_comp_nnmntry_uom
1276   ,p_oth_comp_rndg_cd
1277   ,p_actual_flag
1278   ,p_acty_ref_perd_cd
1279   ,p_legislation_code
1280   ,p_pl_annulization_factor
1281   ,p_pl_stat_cd
1282   ,p_uom_precision
1283   ,p_ws_element_type_id
1284   ,p_ws_input_value_id
1285   ,p_data_freeze_date
1286   ,p_ws_amt_edit_cd
1287   ,p_ws_amt_edit_enf_cd_for_nul
1288   ,p_ws_over_budget_edit_cd
1289   ,p_ws_over_budget_tol_pct
1290   ,p_bdgt_over_budget_edit_cd
1291   ,p_bdgt_over_budget_tol_pct
1292   ,p_auto_distr_flag
1293   ,p_pqh_document_short_name
1294   ,p_ovrid_rt_strt_dt
1295   ,p_do_not_process_flag
1296   ,p_ovr_perf_revw_strt_dt
1297   ,p_object_version_number
1298   );
1299   --
1300   -- Having converted the arguments into the
1301   -- plsql record structure we call the corresponding record
1302   -- business process.
1303   --
1304   ben_cpd_upd.upd
1305      (l_rec
1306      );
1307   p_object_version_number := l_rec.object_version_number;
1308   --
1309   hr_utility.set_location(' Leaving:'||l_proc, 10);
1310 End upd;
1311 --
1312 end ben_cpd_upd;