DBA Data[Home] [Help]

PACKAGE BODY: APPS.BEN_CPD_UPD

Source


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