DBA Data[Home] [Help]

PACKAGE BODY: APPS.BEN_CWB_PL_DSGN_API

Source


1 Package Body ben_cwb_pl_dsgn_api as
2 /* $Header: becpdapi.pkb 120.4.12020000.3 2013/01/02 07:11:42 kmsuresh ship $ */
3 --
4 -- Package Variables
5 --
6 g_package  varchar2(33) := '  BEN_CWB_PL_DSGN_API.';
7 g_debug boolean := hr_utility.debug_enabled;
8 --
9 --
10 -- ----------------------------------------------------------------------------
11 -- |-------------------------< create_plan_or_option >------------------------|
12 -- ----------------------------------------------------------------------------
13 procedure create_plan_or_option
14   (p_validate                          in     boolean  default false
15   ,p_pl_id                             in     number
16   ,p_oipl_id                           in     number
17   ,p_lf_evt_ocrd_dt                    in     date
18   ,p_effective_date                    in     date      default null
19   ,p_name                              in     varchar2  default null
20   ,p_group_pl_id                       in     number    default null
21   ,p_group_oipl_id                     in     number    default null
22   ,p_opt_hidden_flag                   in     varchar2  default null
23   ,p_opt_id                            in     number    default null
24   ,p_pl_uom                            in     varchar2  default null
25   ,p_pl_ordr_num                       in     number    default null
26   ,p_oipl_ordr_num                     in     number    default null
27   ,p_pl_xchg_rate                      in     number    default null
28   ,p_opt_count                         in     number    default null
29   ,p_uses_bdgt_flag                    in     varchar2  default null
30   ,p_prsrv_bdgt_cd                     in     varchar2  default null
31   ,p_upd_start_dt                      in     date      default null
32   ,p_upd_end_dt                        in     date      default null
33   ,p_approval_mode                     in     varchar2  default null
34   ,p_enrt_perd_start_dt                in     date      default null
35   ,p_enrt_perd_end_dt                  in     date      default null
36   ,p_yr_perd_start_dt                  in     date      default null
37   ,p_yr_perd_end_dt                    in     date      default null
38   ,p_wthn_yr_start_dt                  in     date      default null
39   ,p_wthn_yr_end_dt                    in     date      default null
40   ,p_enrt_perd_id                      in     number    default null
41   ,p_yr_perd_id                        in     number    default null
42   ,p_business_group_id                 in     number    default null
43   ,p_perf_revw_strt_dt                 in     date      default null
44   ,p_asg_updt_eff_date                 in     date      default null
45   ,p_emp_interview_typ_cd              in     varchar2  default null
46   ,p_salary_change_reason              in     varchar2  default null
47   ,p_ws_abr_id                         in     number    default null
48   ,p_ws_nnmntry_uom                    in     varchar2  default null
49   ,p_ws_rndg_cd                        in     varchar2  default null
50   ,p_ws_sub_acty_typ_cd                in     varchar2  default null
51   ,p_dist_bdgt_abr_id                  in     number    default null
52   ,p_dist_bdgt_nnmntry_uom             in     varchar2  default null
53   ,p_dist_bdgt_rndg_cd                 in     varchar2  default null
54   ,p_ws_bdgt_abr_id                    in     number    default null
55   ,p_ws_bdgt_nnmntry_uom               in     varchar2  default null
56   ,p_ws_bdgt_rndg_cd                   in     varchar2  default null
57   ,p_rsrv_abr_id                       in     number    default null
58   ,p_rsrv_nnmntry_uom                  in     varchar2  default null
59   ,p_rsrv_rndg_cd                      in     varchar2  default null
60   ,p_elig_sal_abr_id                   in     number    default null
61   ,p_elig_sal_nnmntry_uom              in     varchar2  default null
62   ,p_elig_sal_rndg_cd                  in     varchar2  default null
63   ,p_misc1_abr_id                      in     number    default null
64   ,p_misc1_nnmntry_uom                 in     varchar2  default null
65   ,p_misc1_rndg_cd                     in     varchar2  default null
66   ,p_misc2_abr_id                      in     number    default null
67   ,p_misc2_nnmntry_uom                 in     varchar2  default null
68   ,p_misc2_rndg_cd                     in     varchar2  default null
69   ,p_misc3_abr_id                      in     number    default null
70   ,p_misc3_nnmntry_uom                 in     varchar2  default null
71   ,p_misc3_rndg_cd                     in     varchar2  default null
72   ,p_stat_sal_abr_id                   in     number    default null
73   ,p_stat_sal_nnmntry_uom              in     varchar2  default null
74   ,p_stat_sal_rndg_cd                  in     varchar2  default null
75   ,p_rec_abr_id                        in     number    default null
76   ,p_rec_nnmntry_uom                   in     varchar2  default null
77   ,p_rec_rndg_cd                       in     varchar2  default null
78   ,p_tot_comp_abr_id                   in     number    default null
79   ,p_tot_comp_nnmntry_uom              in     varchar2  default null
80   ,p_tot_comp_rndg_cd                  in     varchar2  default null
81   ,p_oth_comp_abr_id                   in     number    default null
82   ,p_oth_comp_nnmntry_uom              in     varchar2  default null
83   ,p_oth_comp_rndg_cd                  in     varchar2  default null
84   ,p_actual_flag                       in     varchar2  default null
85   ,p_acty_ref_perd_cd                  in     varchar2  default null
86   ,p_legislation_code                  in     varchar2  default null
87   ,p_pl_annulization_factor            in     number    default null
88   ,p_pl_stat_cd                        in     varchar2  default null
89   ,p_uom_precision                     in     number    default null
90   ,p_ws_element_type_id                in     number    default null
91   ,p_ws_input_value_id                 in     number    default null
92   ,p_data_freeze_date                  in     date      default null
93   ,p_ws_amt_edit_cd                    in     varchar2  default null
94   ,p_ws_amt_edit_enf_cd_for_nul        in     varchar2  default null
95   ,p_ws_over_budget_edit_cd            in     varchar2  default null
96   ,p_ws_over_budget_tol_pct            in     number    default null
97   ,p_bdgt_over_budget_edit_cd          in     varchar2  default null
98   ,p_bdgt_over_budget_tol_pct          in     number    default null
99   ,p_auto_distr_flag                   in     varchar2  default null
100   ,p_pqh_document_short_name           in     varchar2  default null
101   ,p_ovrid_rt_strt_dt                  in     date      default null
102   ,p_do_not_process_flag               in     varchar2  default null
103   ,p_ovr_perf_revw_strt_dt             in     date      default null
104   ,p_post_zero_salary_increase         in     varchar2  default null
105   ,p_show_appraisals_n_days            in     number    default null
106   ,p_grade_range_validation            in     varchar2  default null
107   ,p_object_version_number             out    nocopy number
108   ) is
109   --
110   l_object_version_number number;
111   --
112   l_proc                varchar2(72) := g_package||'create_plan_or_option';
113 begin
114   if g_debug then
115      hr_utility.set_location('Entering:'|| l_proc, 10);
116   end if;
117   --
118   -- Issue a savepoint
119   --
120   savepoint create_plan_or_option;
121   --
122   -- Call Before Process User Hook
123   --
124   begin
125     ben_cwb_pl_dsgn_bk1.create_plan_or_option_b
126         (p_pl_id                          => p_pl_id
127         ,p_oipl_id                        => p_oipl_id
128         ,p_lf_evt_ocrd_dt                 => p_lf_evt_ocrd_dt
129         ,p_effective_date                 => p_effective_date
130         ,p_name                           => p_name
131         ,p_group_pl_id                    => p_group_pl_id
132         ,p_group_oipl_id                  => p_group_oipl_id
133         ,p_opt_hidden_flag                => p_opt_hidden_flag
134         ,p_opt_id                         => p_opt_id
135         ,p_pl_uom                         => p_pl_uom
136         ,p_pl_ordr_num                    => p_pl_ordr_num
137         ,p_oipl_ordr_num                  => p_oipl_ordr_num
138         ,p_pl_xchg_rate                   => p_pl_xchg_rate
139         ,p_opt_count                      => p_opt_count
140         ,p_uses_bdgt_flag                 => p_uses_bdgt_flag
141         ,p_prsrv_bdgt_cd                  => p_prsrv_bdgt_cd
142         ,p_upd_start_dt                   => p_upd_start_dt
143         ,p_upd_end_dt                     => p_upd_end_dt
144         ,p_approval_mode                  => p_approval_mode
145         ,p_enrt_perd_start_dt             => p_enrt_perd_start_dt
146         ,p_enrt_perd_end_dt               => p_enrt_perd_end_dt
147         ,p_yr_perd_start_dt               => p_yr_perd_start_dt
148         ,p_yr_perd_end_dt                 => p_yr_perd_end_dt
149         ,p_wthn_yr_start_dt               => p_wthn_yr_start_dt
150         ,p_wthn_yr_end_dt                 => p_wthn_yr_end_dt
151         ,p_enrt_perd_id                   => p_enrt_perd_id
152         ,p_yr_perd_id                     => p_yr_perd_id
153         ,p_business_group_id              => p_business_group_id
154         ,p_perf_revw_strt_dt              => p_perf_revw_strt_dt
155         ,p_asg_updt_eff_date              => p_asg_updt_eff_date
156         ,p_emp_interview_typ_cd           => p_emp_interview_typ_cd
157         ,p_salary_change_reason           => p_salary_change_reason
158         ,p_ws_abr_id                      => p_ws_abr_id
159         ,p_ws_nnmntry_uom                 => p_ws_nnmntry_uom
160         ,p_ws_rndg_cd                     => p_ws_rndg_cd
161         ,p_ws_sub_acty_typ_cd             => p_ws_sub_acty_typ_cd
162         ,p_dist_bdgt_abr_id               => p_dist_bdgt_abr_id
163         ,p_dist_bdgt_nnmntry_uom          => p_dist_bdgt_nnmntry_uom
164         ,p_dist_bdgt_rndg_cd              => p_dist_bdgt_rndg_cd
165         ,p_ws_bdgt_abr_id                 => p_ws_bdgt_abr_id
166         ,p_ws_bdgt_nnmntry_uom            => p_ws_bdgt_nnmntry_uom
167         ,p_ws_bdgt_rndg_cd                => p_ws_bdgt_rndg_cd
168         ,p_rsrv_abr_id                    => p_rsrv_abr_id
169         ,p_rsrv_nnmntry_uom               => p_rsrv_nnmntry_uom
170         ,p_rsrv_rndg_cd                   => p_rsrv_rndg_cd
171         ,p_elig_sal_abr_id                => p_elig_sal_abr_id
172         ,p_elig_sal_nnmntry_uom           => p_elig_sal_nnmntry_uom
173         ,p_elig_sal_rndg_cd               => p_elig_sal_rndg_cd
174         ,p_misc1_abr_id                   => p_misc1_abr_id
175         ,p_misc1_nnmntry_uom              => p_misc1_nnmntry_uom
176         ,p_misc1_rndg_cd                  => p_misc1_rndg_cd
177         ,p_misc2_abr_id                   => p_misc2_abr_id
178         ,p_misc2_nnmntry_uom              => p_misc2_nnmntry_uom
179         ,p_misc2_rndg_cd                  => p_misc2_rndg_cd
180         ,p_misc3_abr_id                   => p_misc3_abr_id
181         ,p_misc3_nnmntry_uom              => p_misc3_nnmntry_uom
182         ,p_misc3_rndg_cd                  => p_misc3_rndg_cd
183         ,p_stat_sal_abr_id                => p_stat_sal_abr_id
184         ,p_stat_sal_nnmntry_uom           => p_stat_sal_nnmntry_uom
185         ,p_stat_sal_rndg_cd               => p_stat_sal_rndg_cd
186         ,p_rec_abr_id                     => p_rec_abr_id
187         ,p_rec_nnmntry_uom                => p_rec_nnmntry_uom
188         ,p_rec_rndg_cd                    => p_rec_rndg_cd
189         ,p_tot_comp_abr_id                => p_tot_comp_abr_id
190         ,p_tot_comp_nnmntry_uom           => p_tot_comp_nnmntry_uom
191         ,p_tot_comp_rndg_cd               => p_tot_comp_rndg_cd
192         ,p_oth_comp_abr_id                => p_oth_comp_abr_id
193         ,p_oth_comp_nnmntry_uom           => p_oth_comp_nnmntry_uom
194         ,p_oth_comp_rndg_cd               => p_oth_comp_rndg_cd
195         ,p_actual_flag                    => p_actual_flag
196         ,p_acty_ref_perd_cd               => p_acty_ref_perd_cd
197         ,p_legislation_code               => p_legislation_code
198         ,p_pl_annulization_factor         => p_pl_annulization_factor
199         ,p_pl_stat_cd                     => p_pl_stat_cd
200         ,p_uom_precision                  => p_uom_precision
201         ,p_ws_element_type_id             => p_ws_element_type_id
202         ,p_ws_input_value_id              => p_ws_input_value_id
203         ,p_data_freeze_date               => p_data_freeze_date
204         ,p_ws_amt_edit_cd                 => p_ws_amt_edit_cd
205         ,p_ws_amt_edit_enf_cd_for_nul     => p_ws_amt_edit_enf_cd_for_nul
206         ,p_ws_over_budget_edit_cd         => p_ws_over_budget_edit_cd
207         ,p_ws_over_budget_tol_pct         => p_ws_over_budget_tol_pct
208         ,p_bdgt_over_budget_edit_cd       => p_bdgt_over_budget_edit_cd
209         ,p_bdgt_over_budget_tol_pct       => p_bdgt_over_budget_tol_pct
210         ,p_auto_distr_flag                => p_auto_distr_flag
211         ,p_pqh_document_short_name        => p_pqh_document_short_name
212         ,p_ovrid_rt_strt_dt               => p_ovrid_rt_strt_dt
213         ,p_do_not_process_flag            => p_do_not_process_flag
214 	,p_ovr_perf_revw_strt_dt          => p_ovr_perf_revw_strt_dt
215 	,p_post_zero_salary_increase      => p_post_zero_salary_increase
216         ,p_show_appraisals_n_days         => p_show_appraisals_n_days
217 	,p_grade_range_validation         => p_grade_range_validation
218         );
219   exception
220     when hr_api.cannot_find_prog_unit then
221       hr_api.cannot_find_prog_unit_error
222         (p_module_name => 'create_plan_or_option'
223         ,p_hook_type   => 'BP'
224         );
225   end;
226   --
227   -- Validation in addition to Row Handlers
228   --
229   --
230   -- Process Logic
231   --
232   ben_cpd_ins.ins
233         (p_pl_id                          => p_pl_id
234         ,p_oipl_id                        => p_oipl_id
235         ,p_lf_evt_ocrd_dt                 => p_lf_evt_ocrd_dt
236         ,p_effective_date                 => p_effective_date
237         ,p_name                           => p_name
238         ,p_group_pl_id                    => p_group_pl_id
239         ,p_group_oipl_id                  => p_group_oipl_id
240         ,p_opt_hidden_flag                => p_opt_hidden_flag
241         ,p_opt_id                         => p_opt_id
242         ,p_pl_uom                         => p_pl_uom
243         ,p_pl_ordr_num                    => p_pl_ordr_num
244         ,p_oipl_ordr_num                  => p_oipl_ordr_num
245         ,p_pl_xchg_rate                   => p_pl_xchg_rate
246         ,p_opt_count                      => p_opt_count
247         ,p_uses_bdgt_flag                 => p_uses_bdgt_flag
248         ,p_prsrv_bdgt_cd                  => p_prsrv_bdgt_cd
249         ,p_upd_start_dt                   => p_upd_start_dt
250         ,p_upd_end_dt                     => p_upd_end_dt
251         ,p_approval_mode                  => p_approval_mode
252         ,p_enrt_perd_start_dt             => p_enrt_perd_start_dt
253         ,p_enrt_perd_end_dt               => p_enrt_perd_end_dt
254         ,p_yr_perd_start_dt               => p_yr_perd_start_dt
255         ,p_yr_perd_end_dt                 => p_yr_perd_end_dt
256         ,p_wthn_yr_start_dt               => p_wthn_yr_start_dt
257         ,p_wthn_yr_end_dt                 => p_wthn_yr_end_dt
258         ,p_enrt_perd_id                   => p_enrt_perd_id
259         ,p_yr_perd_id                     => p_yr_perd_id
260         ,p_business_group_id              => p_business_group_id
261         ,p_perf_revw_strt_dt              => p_perf_revw_strt_dt
262         ,p_asg_updt_eff_date              => p_asg_updt_eff_date
263         ,p_emp_interview_typ_cd           => p_emp_interview_typ_cd
264         ,p_salary_change_reason           => p_salary_change_reason
265         ,p_ws_abr_id                      => p_ws_abr_id
266         ,p_ws_nnmntry_uom                 => p_ws_nnmntry_uom
267         ,p_ws_rndg_cd                     => p_ws_rndg_cd
268         ,p_ws_sub_acty_typ_cd             => p_ws_sub_acty_typ_cd
269         ,p_dist_bdgt_abr_id               => p_dist_bdgt_abr_id
270         ,p_dist_bdgt_nnmntry_uom          => p_dist_bdgt_nnmntry_uom
271         ,p_dist_bdgt_rndg_cd              => p_dist_bdgt_rndg_cd
272         ,p_ws_bdgt_abr_id                 => p_ws_bdgt_abr_id
273         ,p_ws_bdgt_nnmntry_uom            => p_ws_bdgt_nnmntry_uom
274         ,p_ws_bdgt_rndg_cd                => p_ws_bdgt_rndg_cd
275         ,p_rsrv_abr_id                    => p_rsrv_abr_id
276         ,p_rsrv_nnmntry_uom               => p_rsrv_nnmntry_uom
277         ,p_rsrv_rndg_cd                   => p_rsrv_rndg_cd
278         ,p_elig_sal_abr_id                => p_elig_sal_abr_id
279         ,p_elig_sal_nnmntry_uom           => p_elig_sal_nnmntry_uom
280         ,p_elig_sal_rndg_cd               => p_elig_sal_rndg_cd
281         ,p_misc1_abr_id                   => p_misc1_abr_id
282         ,p_misc1_nnmntry_uom              => p_misc1_nnmntry_uom
283         ,p_misc1_rndg_cd                  => p_misc1_rndg_cd
284         ,p_misc2_abr_id                   => p_misc2_abr_id
285         ,p_misc2_nnmntry_uom              => p_misc2_nnmntry_uom
286         ,p_misc2_rndg_cd                  => p_misc2_rndg_cd
287         ,p_misc3_abr_id                   => p_misc3_abr_id
288         ,p_misc3_nnmntry_uom              => p_misc3_nnmntry_uom
289         ,p_misc3_rndg_cd                  => p_misc3_rndg_cd
290         ,p_stat_sal_abr_id                => p_stat_sal_abr_id
291         ,p_stat_sal_nnmntry_uom           => p_stat_sal_nnmntry_uom
292         ,p_stat_sal_rndg_cd               => p_stat_sal_rndg_cd
293         ,p_rec_abr_id                     => p_rec_abr_id
294         ,p_rec_nnmntry_uom                => p_rec_nnmntry_uom
295         ,p_rec_rndg_cd                    => p_rec_rndg_cd
296         ,p_tot_comp_abr_id                => p_tot_comp_abr_id
297         ,p_tot_comp_nnmntry_uom           => p_tot_comp_nnmntry_uom
298         ,p_tot_comp_rndg_cd               => p_tot_comp_rndg_cd
299         ,p_oth_comp_abr_id                => p_oth_comp_abr_id
300         ,p_oth_comp_nnmntry_uom           => p_oth_comp_nnmntry_uom
301         ,p_oth_comp_rndg_cd               => p_oth_comp_rndg_cd
302         ,p_actual_flag                    => p_actual_flag
303         ,p_acty_ref_perd_cd               => p_acty_ref_perd_cd
304         ,p_legislation_code               => p_legislation_code
305         ,p_pl_annulization_factor         => p_pl_annulization_factor
306         ,p_pl_stat_cd                     => p_pl_stat_cd
307         ,p_uom_precision                  => p_uom_precision
308         ,p_ws_element_type_id             => p_ws_element_type_id
309         ,p_ws_input_value_id              => p_ws_input_value_id
310         ,p_data_freeze_date               => p_data_freeze_date
311         ,p_ws_amt_edit_cd                 => p_ws_amt_edit_cd
312         ,p_ws_amt_edit_enf_cd_for_nul     => p_ws_amt_edit_enf_cd_for_nul
313         ,p_ws_over_budget_edit_cd         => p_ws_over_budget_edit_cd
314         ,p_ws_over_budget_tol_pct         => p_ws_over_budget_tol_pct
315         ,p_bdgt_over_budget_edit_cd       => p_bdgt_over_budget_edit_cd
316         ,p_bdgt_over_budget_tol_pct       => p_bdgt_over_budget_tol_pct
317         ,p_auto_distr_flag                => p_auto_distr_flag
318         ,p_pqh_document_short_name        => p_pqh_document_short_name
319         ,p_ovrid_rt_strt_dt               => p_ovrid_rt_strt_dt
320         ,p_do_not_process_flag            => p_do_not_process_flag
321 	,p_ovr_perf_revw_strt_dt          => p_ovr_perf_revw_strt_dt
322 	,p_post_zero_salary_increase      => p_post_zero_salary_increase
323         ,p_show_appraisals_n_days         => p_show_appraisals_n_days
324 	,p_grade_range_validation         => p_grade_range_validation
325         ,p_object_version_number          => l_object_version_number
326         );
327   --
328   -- Call After Process User Hook
329   --
330   begin
331     ben_cwb_pl_dsgn_bk1.create_plan_or_option_a
332         (p_pl_id                          => p_pl_id
333         ,p_oipl_id                        => p_oipl_id
334         ,p_lf_evt_ocrd_dt                 => p_lf_evt_ocrd_dt
335         ,p_effective_date                 => p_effective_date
336         ,p_name                           => p_name
337         ,p_group_pl_id                    => p_group_pl_id
338         ,p_group_oipl_id                  => p_group_oipl_id
339         ,p_opt_hidden_flag                => p_opt_hidden_flag
340         ,p_opt_id                         => p_opt_id
341         ,p_pl_uom                         => p_pl_uom
342         ,p_pl_ordr_num                    => p_pl_ordr_num
343         ,p_oipl_ordr_num                  => p_oipl_ordr_num
344         ,p_pl_xchg_rate                   => p_pl_xchg_rate
345         ,p_opt_count                      => p_opt_count
346         ,p_uses_bdgt_flag                 => p_uses_bdgt_flag
347         ,p_prsrv_bdgt_cd                  => p_prsrv_bdgt_cd
348         ,p_upd_start_dt                   => p_upd_start_dt
349         ,p_upd_end_dt                     => p_upd_end_dt
350         ,p_approval_mode                  => p_approval_mode
351         ,p_enrt_perd_start_dt             => p_enrt_perd_start_dt
355         ,p_wthn_yr_start_dt               => p_wthn_yr_start_dt
352         ,p_enrt_perd_end_dt               => p_enrt_perd_end_dt
353         ,p_yr_perd_start_dt               => p_yr_perd_start_dt
354         ,p_yr_perd_end_dt                 => p_yr_perd_end_dt
356         ,p_wthn_yr_end_dt                 => p_wthn_yr_end_dt
357         ,p_enrt_perd_id                   => p_enrt_perd_id
358         ,p_yr_perd_id                     => p_yr_perd_id
359         ,p_business_group_id              => p_business_group_id
360         ,p_perf_revw_strt_dt              => p_perf_revw_strt_dt
361         ,p_asg_updt_eff_date              => p_asg_updt_eff_date
362         ,p_emp_interview_typ_cd           => p_emp_interview_typ_cd
363         ,p_salary_change_reason           => p_salary_change_reason
364         ,p_ws_abr_id                      => p_ws_abr_id
365         ,p_ws_nnmntry_uom                 => p_ws_nnmntry_uom
366         ,p_ws_rndg_cd                     => p_ws_rndg_cd
367         ,p_ws_sub_acty_typ_cd             => p_ws_sub_acty_typ_cd
368         ,p_dist_bdgt_abr_id               => p_dist_bdgt_abr_id
369         ,p_dist_bdgt_nnmntry_uom          => p_dist_bdgt_nnmntry_uom
370         ,p_dist_bdgt_rndg_cd              => p_dist_bdgt_rndg_cd
371         ,p_ws_bdgt_abr_id                 => p_ws_bdgt_abr_id
372         ,p_ws_bdgt_nnmntry_uom            => p_ws_bdgt_nnmntry_uom
373         ,p_ws_bdgt_rndg_cd                => p_ws_bdgt_rndg_cd
374         ,p_rsrv_abr_id                    => p_rsrv_abr_id
375         ,p_rsrv_nnmntry_uom               => p_rsrv_nnmntry_uom
376         ,p_rsrv_rndg_cd                   => p_rsrv_rndg_cd
377         ,p_elig_sal_abr_id                => p_elig_sal_abr_id
378         ,p_elig_sal_nnmntry_uom           => p_elig_sal_nnmntry_uom
379         ,p_elig_sal_rndg_cd               => p_elig_sal_rndg_cd
380         ,p_misc1_abr_id                   => p_misc1_abr_id
381         ,p_misc1_nnmntry_uom              => p_misc1_nnmntry_uom
382         ,p_misc1_rndg_cd                  => p_misc1_rndg_cd
383         ,p_misc2_abr_id                   => p_misc2_abr_id
384         ,p_misc2_nnmntry_uom              => p_misc2_nnmntry_uom
385         ,p_misc2_rndg_cd                  => p_misc2_rndg_cd
386         ,p_misc3_abr_id                   => p_misc3_abr_id
387         ,p_misc3_nnmntry_uom              => p_misc3_nnmntry_uom
388         ,p_misc3_rndg_cd                  => p_misc3_rndg_cd
389         ,p_stat_sal_abr_id                => p_stat_sal_abr_id
390         ,p_stat_sal_nnmntry_uom           => p_stat_sal_nnmntry_uom
391         ,p_stat_sal_rndg_cd               => p_stat_sal_rndg_cd
392         ,p_rec_abr_id                     => p_rec_abr_id
393         ,p_rec_nnmntry_uom                => p_rec_nnmntry_uom
394         ,p_rec_rndg_cd                    => p_rec_rndg_cd
395         ,p_tot_comp_abr_id                => p_tot_comp_abr_id
396         ,p_tot_comp_nnmntry_uom           => p_tot_comp_nnmntry_uom
397         ,p_tot_comp_rndg_cd               => p_tot_comp_rndg_cd
398         ,p_oth_comp_abr_id                => p_oth_comp_abr_id
399         ,p_oth_comp_nnmntry_uom           => p_oth_comp_nnmntry_uom
400         ,p_oth_comp_rndg_cd               => p_oth_comp_rndg_cd
401         ,p_actual_flag                    => p_actual_flag
402         ,p_acty_ref_perd_cd               => p_acty_ref_perd_cd
403         ,p_legislation_code               => p_legislation_code
404         ,p_pl_annulization_factor         => p_pl_annulization_factor
405         ,p_pl_stat_cd                     => p_pl_stat_cd
406         ,p_uom_precision                  => p_uom_precision
407         ,p_ws_element_type_id             => p_ws_element_type_id
408         ,p_ws_input_value_id              => p_ws_input_value_id
409         ,p_data_freeze_date               => p_data_freeze_date
410         ,p_ws_amt_edit_cd                 => p_ws_amt_edit_cd
411         ,p_ws_amt_edit_enf_cd_for_nul     => p_ws_amt_edit_enf_cd_for_nul
412         ,p_ws_over_budget_edit_cd         => p_ws_over_budget_edit_cd
413         ,p_ws_over_budget_tol_pct         => p_ws_over_budget_tol_pct
414         ,p_bdgt_over_budget_edit_cd       => p_bdgt_over_budget_edit_cd
415         ,p_bdgt_over_budget_tol_pct       => p_bdgt_over_budget_tol_pct
416         ,p_auto_distr_flag                => p_auto_distr_flag
417         ,p_pqh_document_short_name        => p_pqh_document_short_name
418         ,p_ovrid_rt_strt_dt               => p_ovrid_rt_strt_dt
419         ,p_do_not_process_flag            => p_do_not_process_flag
420 	,p_ovr_perf_revw_strt_dt          => p_ovr_perf_revw_strt_dt
421 	,p_post_zero_salary_increase      => p_post_zero_salary_increase
422         ,p_show_appraisals_n_days         => p_show_appraisals_n_days
423 	,p_grade_range_validation         => p_grade_range_validation
424         ,p_object_version_number          => l_object_version_number
425         );
426   exception
427     when hr_api.cannot_find_prog_unit then
428       hr_api.cannot_find_prog_unit_error
429         (p_module_name => 'create_plan_or_option'
430         ,p_hook_type   => 'AP'
431         );
432   end;
433   --
434   -- When in validation only mode raise the Validate_Enabled exception
435   --
436   if p_validate then
437     raise hr_api.validate_enabled;
438   end if;
439   --
440   -- Set all IN OUT and OUT parameters with out values
441   --
442   p_object_version_number  := l_object_version_number;
443   --
444   if g_debug then
445      hr_utility.set_location(' Leaving:'||l_proc, 70);
446   end if;
447 exception
448   when hr_api.validate_enabled then
449     --
450     -- As the Validate_Enabled exception has been raised
451     -- we must rollback to the savepoint
452     --
453     rollback to create_plan_or_option;
454     --
455     if g_debug then
456        hr_utility.set_location(' Leaving:'||l_proc, 80);
457     end if;
458   when others then
459     --
460     -- A validation or unexpected error has occured
461     --
462     rollback to create_plan_or_option;
463     --
464     if g_debug then
465        hr_utility.set_location(' Leaving:'||l_proc, 90);
466     end if;
467     raise;
468 end create_plan_or_option;
469 --
470 --
471 -- ----------------------------------------------------------------------------
472 -- |---------------------------< data_syncopation >---------------------------|
473 -- ----------------------------------------------------------------------------
474 -- This is an internal procedure called by update_plan_or_option. This
475 -- procedure makes sure that all the child rows get correct data from parent
476 -- rows.
477 --
478 procedure data_syncopation(p_pl_id                    in    number
479                           ,p_oipl_id                  in    number
480                           ,p_lf_evt_ocrd_dt           in    date
481                           ,p_effective_date           in    date
482                           ,p_group_pl_id              in    number
483                           ,p_group_oipl_id            in    number
484                           ,p_pl_uom                   in    varchar2
485                           ,p_pl_ordr_num              in    varchar2
486                           ,p_oipl_ordr_num            in    number
487                           ,p_pl_xchg_rate             in    number
488                           ,p_upd_start_dt             in    date
489                           ,p_upd_end_dt               in    date
490                           ,p_approval_mode            in    varchar2
491                           ,p_enrt_perd_start_dt       in    date
492                           ,p_enrt_perd_end_dt         in    date
493                           ,p_yr_perd_start_dt         in    date
494                           ,p_yr_perd_end_dt           in    date
495                           ,p_wthn_yr_start_dt         in    date
496                           ,p_wthn_yr_end_dt           in    date
497                           ,p_business_group_id        in    number
498                           ,p_perf_revw_strt_dt        in    date
499                           ,p_asg_updt_eff_date        in    date
500                           ,p_emp_interview_typ_cd     in    varchar2
501                           ,p_salary_change_reason     in    varchar2
502                           ,p_actual_flag              in    varchar2
503                           ,p_acty_ref_perd_cd         in    varchar2
504                           ,p_legislation_code         in    varchar2
505                           ,p_pl_annulization_factor   in    number
506                           ,p_pl_stat_cd               in    varchar2
507                           ,p_uom_precision            in    number
508                           ,p_data_freeze_date         in    date
509                          ) is
510 -- cursor to fetch the local plans of a group plan
511 cursor csr_plans(p_group_pl_id number
512                       ,p_lf_evt_ocrd_dt date) is
513 select pl_id
514 from ben_cwb_pl_dsgn
515 where group_pl_id = p_group_pl_id
516 and   pl_id <> group_pl_id       -- Exclude group plan
517 and   oipl_id = -1
518 and   lf_evt_ocrd_dt = p_lf_evt_ocrd_dt;
519 
520 -- cursor to fetch the options of a plan
521 cursor csr_options(p_pl_id    number
522                   ,p_lf_evt_ocrd_dt date) is
523 select oipl_id
524 from ben_cwb_pl_dsgn
525 where pl_id = p_pl_id
526 and   oipl_id <> -1     -- Exclude Plans
527 and   lf_evt_ocrd_dt = p_lf_evt_ocrd_dt;
528 
529 -- cursor to fetch local option of a group plan
530 cursor csr_grp_pl_local_options(p_group_pl_id    number
531                                ,p_lf_evt_ocrd_dt date) is
532 select pl_id
533       ,oipl_id
534 from ben_cwb_pl_dsgn
535 where group_pl_id = p_group_pl_id
536 and   oipl_id <> -1     -- Exclude Plans
537 and   pl_id   <> p_group_pl_id   -- Exclude Group Options
538 and   lf_evt_ocrd_dt = p_lf_evt_ocrd_dt;
539 
540 -- cursor to fetch local option of a group option
541 cursor csr_grp_opt_local_options(p_group_pl_id    number
542                                 ,p_group_oipl_id  number
543                                 ,p_lf_evt_ocrd_dt date) is
544 select pl_id
545       ,oipl_id
546 from ben_cwb_pl_dsgn
547 where group_pl_id = p_group_pl_id
548 and   oipl_id <> -1     -- Exclude Plans
549 and   pl_id   <> p_group_pl_id   -- Exclude Group Options
550 and   group_oipl_id = p_group_oipl_id
551 and   lf_evt_ocrd_dt = p_lf_evt_ocrd_dt;
552 --
553    l_is_group_plan boolean;
554    l_is_local_plan boolean;
555    l_is_group_option boolean;
556    l_ovn number;
557 --
558    l_proc     varchar2(72) := g_package||'data_syncopation';
559 --
560 begin
561    --
562    if g_debug then
563       hr_utility.set_location('Entering:'|| l_proc, 10);
564    end if;
565    --
566    if(p_pl_id = p_group_pl_id) then
567       -- Group Plan or Option
568       if (p_oipl_id = -1) then
569          -- Group Plan
570          l_is_group_plan := true;
571        else
572          -- Group Option
573          l_is_group_option := true;
574        end if;
575    else
576       -- Local Plan or Option
577       if (p_oipl_id = -1) then
578          -- Local Plan
579          l_is_local_plan := true;
580       end if;
581    end if;
582    --
583    if g_debug then
584       hr_utility.set_location(l_proc, 20);
585    end if;
586    --
587    if (l_is_group_plan) then
588       --
589       if g_debug then
590          hr_utility.set_location(l_proc, 30);
591       end if;
592       --
593       -- Pass the values of to local plan : group_pl_id, effective_date,
594       -- upd_start_dt, upd_end_dt, approval_mode, enrt_perd_start-dt,
595       -- enrt_perd_end_dt, yr_perd_start_dt, yr_perd_end_dt, wthn_yr_start_dt,
596       -- wthn_yr_end_dt, perf_review_start_dt, asg_updt_eff_date,
597       -- emp_interview_typ_cd, salary_change_reason
598       for pl in csr_plans(p_pl_id, p_lf_evt_ocrd_dt)
599       loop
600          --
601          if g_debug then
602             hr_utility.set_location(l_proc, 40);
603          end if;
604          --
605          select object_version_number
606          into l_ovn
607          from ben_cwb_pl_dsgn
608          where pl_id = pl.pl_id
609          and   oipl_id = -1
610          and   lf_evt_ocrd_dt = p_lf_evt_ocrd_dt;
611          --
612          update_plan_or_option
613               (p_call_data_syncopation        => 'N'     -- no recursive calls
614               ,p_pl_id                        => pl.pl_id
615               ,p_oipl_id                      => -1
616               ,p_group_pl_id                  => p_group_pl_id
617               ,p_lf_evt_ocrd_dt               => p_lf_evt_ocrd_dt
618               ,p_effective_date               => p_effective_date
619               ,p_upd_start_dt                 => p_upd_start_dt
620               ,p_upd_end_dt                   => p_upd_end_dt
621               ,p_approval_mode                => p_approval_mode
622               ,p_enrt_perd_start_dt           => p_enrt_perd_start_dt
623               ,p_enrt_perd_end_dt             => p_enrt_perd_end_dt
624               ,p_yr_perd_start_dt             => p_yr_perd_start_dt
625               ,p_yr_perd_end_dt               => p_yr_perd_end_dt
626               ,p_wthn_yr_start_dt             => p_wthn_yr_start_dt
627               ,p_wthn_yr_end_dt               => p_wthn_yr_end_dt
628               ,p_perf_revw_strt_dt            => p_perf_revw_strt_dt
629               ,p_asg_updt_eff_date            => p_asg_updt_eff_date
630               ,p_emp_interview_typ_cd         => p_emp_interview_typ_cd
631               ,p_salary_change_reason         => p_salary_change_reason
632               ,p_data_freeze_date             => p_data_freeze_date
633               ,p_object_version_number        => l_ovn);
634       end loop;
635       --
636       if g_debug then
637          hr_utility.set_location(l_proc, 50);
638       end if;
639       --
643       -- pl_stat_cd, uom_precision
640       -- Pass the values to the Group Option : effective_date, group_pl_id,
641       --  pl_uom, pl_xchg_rate, business_group_id, actual_flag,
642       -- acty_ref_perd_cd, legilsation_code, pl_annulization_factor,
644       for oipl in csr_options(p_pl_id, p_lf_evt_ocrd_dt)
645       loop
646          --
647          if g_debug then
648             hr_utility.set_location(l_proc, 60);
649          end if;
650          --
651          select object_version_number
652          into l_ovn
653          from ben_cwb_pl_dsgn
654          where pl_id = p_pl_id
655          and   oipl_id = oipl.oipl_id
656          and   lf_evt_ocrd_dt = p_lf_evt_ocrd_dt;
657          --
658          update_plan_or_option
659                (p_call_data_syncopation      => 'N'   -- no recursive calls
660                ,p_pl_id                      => p_pl_id
661                ,p_oipl_id                    => oipl.oipl_id
662                ,p_lf_evt_ocrd_dt             => p_lf_evt_ocrd_dt
663                ,p_effective_date             => p_effective_date
664                ,p_group_pl_id                => p_group_pl_id
665                ,p_pl_uom                     => p_pl_uom
666                ,p_pl_xchg_rate               => p_pl_xchg_rate
667                ,p_business_group_id          => p_business_group_id
668                ,p_actual_flag                => p_actual_flag
669                ,p_acty_ref_perd_cd           => p_acty_ref_perd_cd
670                ,p_legislation_code           => p_legislation_code
671                ,p_pl_annulization_factor     => p_pl_annulization_factor
672                ,p_pl_stat_cd                 => p_pl_stat_cd
673                ,p_uom_precision              => p_uom_precision
674                ,p_object_version_number      => l_ovn);
675       end loop;
676       --
677       if g_debug then
678          hr_utility.set_location(l_proc, 70);
679       end if;
680       --
681       -- Pass the following values to local options : effective_date,
682       -- group_pl_id
683       for opt in csr_grp_pl_local_options(p_pl_id, p_lf_evt_ocrd_dt)
684       loop
685          select object_version_number
686          into l_ovn
687          from ben_cwb_pl_dsgn
688          where pl_id = opt.pl_id
689          and   oipl_id = opt.oipl_id
690          and   lf_evt_ocrd_dt = p_lf_evt_ocrd_dt;
691          --
692          update_plan_or_option
693                (p_call_data_syncopation      => 'N'   -- no recursive calls
694                ,p_pl_id                      => opt.pl_id
695                ,p_oipl_id                    => opt.oipl_id
696                ,p_lf_evt_ocrd_dt             => p_lf_evt_ocrd_dt
697                ,p_effective_date             => p_effective_date
698                ,p_group_pl_id                => p_group_pl_id
699                ,p_object_version_number      => l_ovn);
700       end loop;
701       --
702       if g_debug then
703          hr_utility.set_location(l_proc, 80);
704       end if;
705       --
706    elsif (l_is_local_plan) then
707       --
708       if g_debug then
709          hr_utility.set_location(l_proc, 90);
710       end if;
711       --
712       -- Pass the following values to local option : effective_date,
713       -- group_pl_id, pl_uom, pl_ordr_num, pl_xchg_rate, business_group_id,
714       -- actual_flag, acty_ref_perd_cd, legislation_code,
715       -- pl_annulization_factor, pl_stat_cd, uom_precision
716       for oipl in csr_options(p_pl_id, p_lf_evt_ocrd_dt)
717       loop
718          select object_version_number
719          into l_ovn
720          from ben_cwb_pl_dsgn
721          where pl_id = p_pl_id
722          and   oipl_id = oipl.oipl_id
723          and   lf_evt_ocrd_dt = p_lf_evt_ocrd_dt;
724          --
725          update_plan_or_option
726                (p_call_data_syncopation      => 'N'   -- no recursive calls
727                ,p_pl_id                      => p_pl_id
728                ,p_oipl_id                    => oipl.oipl_id
729                ,p_lf_evt_ocrd_dt             => p_lf_evt_ocrd_dt
730                ,p_effective_date             => p_effective_date
731                ,p_group_pl_id                => p_group_pl_id
732                ,p_pl_uom                     => p_pl_uom
733                ,p_pl_ordr_num                => p_pl_ordr_num
734                ,p_pl_xchg_rate               => p_pl_xchg_rate
735                ,p_business_group_id          => p_business_group_id
736                ,p_actual_flag                => p_actual_flag
737                ,p_acty_ref_perd_cd           => p_acty_ref_perd_cd
738                ,p_legislation_code           => p_legislation_code
739                ,p_pl_annulization_factor     => p_pl_annulization_factor
740                ,p_pl_stat_cd                 => p_pl_stat_cd
741                ,p_uom_precision              => p_uom_precision
742                ,p_object_version_number      => l_ovn);
743       end loop;
744       --
745       if g_debug then
746          hr_utility.set_location(l_proc, 100);
747       end if;
748       --
749    elsif (l_is_group_option) then
750       --
751       if g_debug then
752          hr_utility.set_location(l_proc, 110);
753       end if;
754       --
755       -- Pass the following values to local option : effective_date,
756       -- group_pl_id, group_oipl_id, oipl_ordr_num
757       for opt in csr_grp_opt_local_options(p_pl_id
758                                           ,p_oipl_id
759                                           ,p_lf_evt_ocrd_dt)
760       loop
761          select object_version_number
762          into l_ovn
763          from ben_cwb_pl_dsgn
764          where pl_id = opt.pl_id
765          and   oipl_id = opt.oipl_id
766          and   lf_evt_ocrd_dt = p_lf_evt_ocrd_dt;
767          --
768          update_plan_or_option
769                (p_call_data_syncopation      => 'N'   -- no recursive calls
770                ,p_pl_id                      => opt.pl_id
771                ,p_oipl_id                    => opt.oipl_id
772                ,p_lf_evt_ocrd_dt             => p_lf_evt_ocrd_dt
773                ,p_effective_date             => p_effective_date
774                ,p_group_pl_id                => p_group_pl_id
775                ,p_group_oipl_id              => p_group_oipl_id
776                ,p_oipl_ordr_num              => p_oipl_ordr_num
777                ,p_object_version_number      => l_ovn);
778       end loop;
779       --
780       if g_debug then
781          hr_utility.set_location(l_proc, 120);
782       end if;
783       --
784    end if;
785    --
786    if g_debug then
787       hr_utility.set_location(' Leaving:'|| l_proc, 999);
788    end if;
789 end;
790 --
791 -- ----------------------------------------------------------------------------
792 -- |-------------------------< update_plan_or_option >------------------------|
793 -- ----------------------------------------------------------------------------
794 --
795 procedure update_plan_or_option
796   (p_validate                       in   boolean   default false
797   ,p_pl_id                          in   number
798   ,p_oipl_id                        in   number
799   ,p_lf_evt_ocrd_dt                 in   date
800   ,p_effective_date                 in   date      default hr_api.g_date
801   ,p_name                           in   varchar2  default hr_api.g_varchar2
802   ,p_group_pl_id                    in   number    default hr_api.g_number
803   ,p_group_oipl_id                  in   number    default hr_api.g_number
804   ,p_opt_hidden_flag                in   varchar2  default hr_api.g_varchar2
805   ,p_opt_id                         in   number    default hr_api.g_number
806   ,p_pl_uom                         in   varchar2  default hr_api.g_varchar2
807   ,p_pl_ordr_num                    in   number    default hr_api.g_number
808   ,p_oipl_ordr_num                  in   number    default hr_api.g_number
809   ,p_pl_xchg_rate                   in   number    default hr_api.g_number
810   ,p_opt_count                      in   number    default hr_api.g_number
811   ,p_uses_bdgt_flag                 in   varchar2  default hr_api.g_varchar2
812   ,p_prsrv_bdgt_cd                  in   varchar2  default hr_api.g_varchar2
813   ,p_upd_start_dt                   in   date      default hr_api.g_date
814   ,p_upd_end_dt                     in   date      default hr_api.g_date
815   ,p_approval_mode                  in   varchar2  default hr_api.g_varchar2
816   ,p_enrt_perd_start_dt             in   date      default hr_api.g_date
817   ,p_enrt_perd_end_dt               in   date      default hr_api.g_date
818   ,p_yr_perd_start_dt               in   date      default hr_api.g_date
819   ,p_yr_perd_end_dt                 in   date      default hr_api.g_date
820   ,p_wthn_yr_start_dt               in   date      default hr_api.g_date
821   ,p_wthn_yr_end_dt                 in   date      default hr_api.g_date
822   ,p_enrt_perd_id                   in   number    default hr_api.g_number
823   ,p_yr_perd_id                     in   number    default hr_api.g_number
824   ,p_business_group_id              in   number    default hr_api.g_number
825   ,p_perf_revw_strt_dt              in   date      default hr_api.g_date
826   ,p_asg_updt_eff_date              in   date      default hr_api.g_date
827   ,p_emp_interview_typ_cd           in   varchar2  default hr_api.g_varchar2
828   ,p_salary_change_reason           in   varchar2  default hr_api.g_varchar2
829   ,p_ws_abr_id                      in   number    default hr_api.g_number
830   ,p_ws_nnmntry_uom                 in   varchar2  default hr_api.g_varchar2
831   ,p_ws_rndg_cd                     in   varchar2  default hr_api.g_varchar2
832   ,p_ws_sub_acty_typ_cd             in   varchar2  default hr_api.g_varchar2
833   ,p_dist_bdgt_abr_id               in   number    default hr_api.g_number
834   ,p_dist_bdgt_nnmntry_uom          in   varchar2  default hr_api.g_varchar2
835   ,p_dist_bdgt_rndg_cd              in   varchar2  default hr_api.g_varchar2
836   ,p_ws_bdgt_abr_id                 in   number    default hr_api.g_number
837   ,p_ws_bdgt_nnmntry_uom            in   varchar2  default hr_api.g_varchar2
838   ,p_ws_bdgt_rndg_cd                in   varchar2  default hr_api.g_varchar2
839   ,p_rsrv_abr_id                    in   number    default hr_api.g_number
840   ,p_rsrv_nnmntry_uom               in   varchar2  default hr_api.g_varchar2
841   ,p_rsrv_rndg_cd                   in   varchar2  default hr_api.g_varchar2
842   ,p_elig_sal_abr_id                in   number    default hr_api.g_number
843   ,p_elig_sal_nnmntry_uom           in   varchar2  default hr_api.g_varchar2
844   ,p_elig_sal_rndg_cd               in   varchar2  default hr_api.g_varchar2
845   ,p_misc1_abr_id                   in   number    default hr_api.g_number
846   ,p_misc1_nnmntry_uom              in   varchar2  default hr_api.g_varchar2
847   ,p_misc1_rndg_cd                  in   varchar2  default hr_api.g_varchar2
848   ,p_misc2_abr_id                   in   number    default hr_api.g_number
849   ,p_misc2_nnmntry_uom              in   varchar2  default hr_api.g_varchar2
850   ,p_misc2_rndg_cd                  in   varchar2  default hr_api.g_varchar2
851   ,p_misc3_abr_id                   in   number    default hr_api.g_number
852   ,p_misc3_nnmntry_uom              in   varchar2  default hr_api.g_varchar2
853   ,p_misc3_rndg_cd                  in   varchar2  default hr_api.g_varchar2
854   ,p_stat_sal_abr_id                in   number    default hr_api.g_number
855   ,p_stat_sal_nnmntry_uom           in   varchar2  default hr_api.g_varchar2
856   ,p_stat_sal_rndg_cd               in   varchar2  default hr_api.g_varchar2
857   ,p_rec_abr_id                     in   number    default hr_api.g_number
858   ,p_rec_nnmntry_uom                in   varchar2  default hr_api.g_varchar2
859   ,p_rec_rndg_cd                    in   varchar2  default hr_api.g_varchar2
860   ,p_tot_comp_abr_id                in   number    default hr_api.g_number
861   ,p_tot_comp_nnmntry_uom           in   varchar2  default hr_api.g_varchar2
862   ,p_tot_comp_rndg_cd               in   varchar2  default hr_api.g_varchar2
863   ,p_oth_comp_abr_id                in   number    default hr_api.g_number
864   ,p_oth_comp_nnmntry_uom           in   varchar2  default hr_api.g_varchar2
865   ,p_oth_comp_rndg_cd               in   varchar2  default hr_api.g_varchar2
866   ,p_actual_flag                    in   varchar2  default hr_api.g_varchar2
867   ,p_acty_ref_perd_cd               in   varchar2  default hr_api.g_varchar2
868   ,p_legislation_code               in   varchar2  default hr_api.g_varchar2
869   ,p_pl_annulization_factor         in   number    default hr_api.g_number
870   ,p_pl_stat_cd                     in   varchar2  default hr_api.g_varchar2
871   ,p_uom_precision                  in   number    default hr_api.g_number
872   ,p_ws_element_type_id             in   number    default hr_api.g_number
873   ,p_ws_input_value_id              in   number    default hr_api.g_number
874   ,p_data_freeze_date               in   date      default hr_api.g_date
875   ,p_ws_amt_edit_cd                 in   varchar2  default hr_api.g_varchar2
876   ,p_ws_amt_edit_enf_cd_for_nul     in   varchar2  default hr_api.g_varchar2
877   ,p_ws_over_budget_edit_cd         in   varchar2  default hr_api.g_varchar2
878   ,p_ws_over_budget_tol_pct         in   number    default hr_api.g_number
879   ,p_bdgt_over_budget_edit_cd       in   varchar2  default hr_api.g_varchar2
880   ,p_bdgt_over_budget_tol_pct       in   number    default hr_api.g_number
881   ,p_auto_distr_flag                in   varchar2  default hr_api.g_varchar2
882   ,p_pqh_document_short_name        in   varchar2  default hr_api.g_varchar2
883   ,p_call_data_syncopation          in   varchar2  default 'Y'
884   ,p_ovrid_rt_strt_dt               in   date      default hr_api.g_date
885   ,p_do_not_process_flag            in   varchar2  default 'N'
886   ,p_ovr_perf_revw_strt_dt          in   date      default hr_api.g_date
887   ,p_post_zero_salary_increase      in   varchar2  default hr_api.g_varchar2
888   ,p_show_appraisals_n_days         in   number    default hr_api.g_number
889   ,p_grade_range_validation         in     varchar2  default hr_api.g_varchar2
890   ,p_object_version_number          in out nocopy    number
891   ,p_email_password_protected 		in  varchar2   default  hr_api.g_varchar2
892   ,p_email_cc_manager               in   varchar2  default hr_api.g_varchar2
893   ,p_email_subject                  in   varchar2  default hr_api.g_varchar2
894   ,p_email_content                  in    clob    default empty_clob()
895 ,p_email_sample_address             in   varchar2  default hr_api.g_varchar2
896   ) is
897   --
898   -- Declare cursors and local variables
899   --
900   l_object_version_number    number;
901   --
902   l_proc                varchar2(72) := g_package||'update_plan_or_option';
903 begin
904   if g_debug then
905      hr_utility.set_location('Entering:'|| l_proc, 10);
906   end if;
907   --
908   -- Issue a savepoint
909   --
910   savepoint update_plan_or_option;
911   --
912   -- Remember IN OUT parameter IN values
913   --
914   l_object_version_number := p_object_version_number;
915   --
916   -- Call Before Process User Hook
917   --
918   begin
919     ben_cwb_pl_dsgn_bk2.update_plan_or_option_b
920         (p_pl_id                          => p_pl_id
921         ,p_oipl_id                        => p_oipl_id
922         ,p_lf_evt_ocrd_dt                 => p_lf_evt_ocrd_dt
923         ,p_effective_date                 => p_effective_date
924         ,p_name                           => p_name
925         ,p_group_pl_id                    => p_group_pl_id
926         ,p_group_oipl_id                  => p_group_oipl_id
927         ,p_opt_hidden_flag                => p_opt_hidden_flag
928         ,p_opt_id                         => p_opt_id
929         ,p_pl_uom                         => p_pl_uom
930         ,p_pl_ordr_num                    => p_pl_ordr_num
931         ,p_oipl_ordr_num                  => p_oipl_ordr_num
932         ,p_pl_xchg_rate                   => p_pl_xchg_rate
933         ,p_opt_count                      => p_opt_count
934         ,p_uses_bdgt_flag                 => p_uses_bdgt_flag
935         ,p_prsrv_bdgt_cd                  => p_prsrv_bdgt_cd
936         ,p_upd_start_dt                   => p_upd_start_dt
937         ,p_upd_end_dt                     => p_upd_end_dt
938         ,p_approval_mode                  => p_approval_mode
939         ,p_enrt_perd_start_dt             => p_enrt_perd_start_dt
940         ,p_enrt_perd_end_dt               => p_enrt_perd_end_dt
941         ,p_yr_perd_start_dt               => p_yr_perd_start_dt
942         ,p_yr_perd_end_dt                 => p_yr_perd_end_dt
943         ,p_wthn_yr_start_dt               => p_wthn_yr_start_dt
944         ,p_wthn_yr_end_dt                 => p_wthn_yr_end_dt
945         ,p_enrt_perd_id                   => p_enrt_perd_id
946         ,p_yr_perd_id                     => p_yr_perd_id
947         ,p_business_group_id              => p_business_group_id
948         ,p_perf_revw_strt_dt              => p_perf_revw_strt_dt
949         ,p_asg_updt_eff_date              => p_asg_updt_eff_date
950         ,p_emp_interview_typ_cd           => p_emp_interview_typ_cd
951         ,p_salary_change_reason           => p_salary_change_reason
952         ,p_ws_abr_id                      => p_ws_abr_id
953         ,p_ws_nnmntry_uom                 => p_ws_nnmntry_uom
954         ,p_ws_rndg_cd                     => p_ws_rndg_cd
955         ,p_ws_sub_acty_typ_cd             => p_ws_sub_acty_typ_cd
956         ,p_dist_bdgt_abr_id               => p_dist_bdgt_abr_id
957         ,p_dist_bdgt_nnmntry_uom          => p_dist_bdgt_nnmntry_uom
958         ,p_dist_bdgt_rndg_cd              => p_dist_bdgt_rndg_cd
959         ,p_ws_bdgt_abr_id                 => p_ws_bdgt_abr_id
960         ,p_ws_bdgt_nnmntry_uom            => p_ws_bdgt_nnmntry_uom
961         ,p_ws_bdgt_rndg_cd                => p_ws_bdgt_rndg_cd
962         ,p_rsrv_abr_id                    => p_rsrv_abr_id
963         ,p_rsrv_nnmntry_uom               => p_rsrv_nnmntry_uom
964         ,p_rsrv_rndg_cd                   => p_rsrv_rndg_cd
965         ,p_elig_sal_abr_id                => p_elig_sal_abr_id
966         ,p_elig_sal_nnmntry_uom           => p_elig_sal_nnmntry_uom
967         ,p_elig_sal_rndg_cd               => p_elig_sal_rndg_cd
968         ,p_misc1_abr_id                   => p_misc1_abr_id
969         ,p_misc1_nnmntry_uom              => p_misc1_nnmntry_uom
970         ,p_misc1_rndg_cd                  => p_misc1_rndg_cd
971         ,p_misc2_abr_id                   => p_misc2_abr_id
972         ,p_misc2_nnmntry_uom              => p_misc2_nnmntry_uom
973         ,p_misc2_rndg_cd                  => p_misc2_rndg_cd
974         ,p_misc3_abr_id                   => p_misc3_abr_id
975         ,p_misc3_nnmntry_uom              => p_misc3_nnmntry_uom
976         ,p_misc3_rndg_cd                  => p_misc3_rndg_cd
977         ,p_stat_sal_abr_id                => p_stat_sal_abr_id
978         ,p_stat_sal_nnmntry_uom           => p_stat_sal_nnmntry_uom
979         ,p_stat_sal_rndg_cd               => p_stat_sal_rndg_cd
980         ,p_rec_abr_id                     => p_rec_abr_id
981         ,p_rec_nnmntry_uom                => p_rec_nnmntry_uom
982         ,p_rec_rndg_cd                    => p_rec_rndg_cd
983         ,p_tot_comp_abr_id                => p_tot_comp_abr_id
984         ,p_tot_comp_nnmntry_uom           => p_tot_comp_nnmntry_uom
985         ,p_tot_comp_rndg_cd               => p_tot_comp_rndg_cd
986         ,p_oth_comp_abr_id                => p_oth_comp_abr_id
987         ,p_oth_comp_nnmntry_uom           => p_oth_comp_nnmntry_uom
988         ,p_oth_comp_rndg_cd               => p_oth_comp_rndg_cd
989         ,p_actual_flag                    => p_actual_flag
990         ,p_acty_ref_perd_cd               => p_acty_ref_perd_cd
991         ,p_legislation_code               => p_legislation_code
992         ,p_pl_annulization_factor         => p_pl_annulization_factor
993         ,p_pl_stat_cd                     => p_pl_stat_cd
994         ,p_uom_precision                  => p_uom_precision
995         ,p_ws_element_type_id             => p_ws_element_type_id
996         ,p_ws_input_value_id              => p_ws_input_value_id
997         ,p_data_freeze_date               => p_data_freeze_date
998         ,p_ws_amt_edit_cd                 => p_ws_amt_edit_cd
999         ,p_ws_amt_edit_enf_cd_for_nul     => p_ws_amt_edit_enf_cd_for_nul
1000         ,p_ws_over_budget_edit_cd         => p_ws_over_budget_edit_cd
1001         ,p_ws_over_budget_tol_pct         => p_ws_over_budget_tol_pct
1002         ,p_bdgt_over_budget_edit_cd       => p_bdgt_over_budget_edit_cd
1003         ,p_bdgt_over_budget_tol_pct       => p_bdgt_over_budget_tol_pct
1004         ,p_auto_distr_flag                => p_auto_distr_flag
1005         ,p_pqh_document_short_name        => p_pqh_document_short_name
1006         ,p_ovrid_rt_strt_dt               => p_ovrid_rt_strt_dt
1007         ,p_do_not_process_flag            => p_do_not_process_flag
1008 	,p_ovr_perf_revw_strt_dt          => p_ovr_perf_revw_strt_dt
1009 	,p_post_zero_salary_increase      => p_post_zero_salary_increase
1010         ,p_show_appraisals_n_days         => p_show_appraisals_n_days
1011 	,p_grade_range_validation         => p_grade_range_validation
1012         ,p_object_version_number          => l_object_version_number
1013 		,p_email_password_protected => p_email_password_protected
1014 			 ,p_email_cc_manager    => p_email_cc_manager
1015 			,p_email_subject    =>  p_email_subject
1016 		,p_email_sample_address =>  p_email_sample_address
1017         );
1018   exception
1019     when hr_api.cannot_find_prog_unit then
1020       hr_api.cannot_find_prog_unit_error
1021         (p_module_name => 'update_plan_or_option'
1022         ,p_hook_type   => 'BP'
1023         );
1024   end;
1025   --
1026   -- Validation in addition to Row Handlers
1027   --
1028   --
1029   -- Process Logic
1030   --
1031   ben_cpd_upd.upd
1032         (p_pl_id                          => p_pl_id
1033         ,p_oipl_id                        => p_oipl_id
1034         ,p_lf_evt_ocrd_dt                 => p_lf_evt_ocrd_dt
1035         ,p_effective_date                 => p_effective_date
1036         ,p_name                           => p_name
1037         ,p_group_pl_id                    => p_group_pl_id
1038         ,p_group_oipl_id                  => p_group_oipl_id
1039         ,p_opt_hidden_flag                => p_opt_hidden_flag
1040         ,p_opt_id                         => p_opt_id
1041         ,p_pl_uom                         => p_pl_uom
1042         ,p_pl_ordr_num                    => p_pl_ordr_num
1043         ,p_oipl_ordr_num                  => p_oipl_ordr_num
1044         ,p_pl_xchg_rate                   => p_pl_xchg_rate
1045         ,p_opt_count                      => p_opt_count
1046         ,p_uses_bdgt_flag                 => p_uses_bdgt_flag
1047         ,p_prsrv_bdgt_cd                  => p_prsrv_bdgt_cd
1048         ,p_upd_start_dt                   => p_upd_start_dt
1049         ,p_upd_end_dt                     => p_upd_end_dt
1050         ,p_approval_mode                  => p_approval_mode
1051         ,p_enrt_perd_start_dt             => p_enrt_perd_start_dt
1052         ,p_enrt_perd_end_dt               => p_enrt_perd_end_dt
1053         ,p_yr_perd_start_dt               => p_yr_perd_start_dt
1054         ,p_yr_perd_end_dt                 => p_yr_perd_end_dt
1055         ,p_wthn_yr_start_dt               => p_wthn_yr_start_dt
1056         ,p_wthn_yr_end_dt                 => p_wthn_yr_end_dt
1057         ,p_enrt_perd_id                   => p_enrt_perd_id
1058         ,p_yr_perd_id                     => p_yr_perd_id
1059         ,p_business_group_id              => p_business_group_id
1060         ,p_perf_revw_strt_dt              => p_perf_revw_strt_dt
1061         ,p_asg_updt_eff_date              => p_asg_updt_eff_date
1062         ,p_emp_interview_typ_cd           => p_emp_interview_typ_cd
1063         ,p_salary_change_reason           => p_salary_change_reason
1064         ,p_ws_abr_id                      => p_ws_abr_id
1065         ,p_ws_nnmntry_uom                 => p_ws_nnmntry_uom
1066         ,p_ws_rndg_cd                     => p_ws_rndg_cd
1067         ,p_ws_sub_acty_typ_cd             => p_ws_sub_acty_typ_cd
1068         ,p_dist_bdgt_abr_id               => p_dist_bdgt_abr_id
1069         ,p_dist_bdgt_nnmntry_uom          => p_dist_bdgt_nnmntry_uom
1070         ,p_dist_bdgt_rndg_cd              => p_dist_bdgt_rndg_cd
1071         ,p_ws_bdgt_abr_id                 => p_ws_bdgt_abr_id
1072         ,p_ws_bdgt_nnmntry_uom            => p_ws_bdgt_nnmntry_uom
1073         ,p_ws_bdgt_rndg_cd                => p_ws_bdgt_rndg_cd
1074         ,p_rsrv_abr_id                    => p_rsrv_abr_id
1075         ,p_rsrv_nnmntry_uom               => p_rsrv_nnmntry_uom
1076         ,p_rsrv_rndg_cd                   => p_rsrv_rndg_cd
1077         ,p_elig_sal_abr_id                => p_elig_sal_abr_id
1078         ,p_elig_sal_nnmntry_uom           => p_elig_sal_nnmntry_uom
1079         ,p_elig_sal_rndg_cd               => p_elig_sal_rndg_cd
1080         ,p_misc1_abr_id                   => p_misc1_abr_id
1081         ,p_misc1_nnmntry_uom              => p_misc1_nnmntry_uom
1082         ,p_misc1_rndg_cd                  => p_misc1_rndg_cd
1083         ,p_misc2_abr_id                   => p_misc2_abr_id
1084         ,p_misc2_nnmntry_uom              => p_misc2_nnmntry_uom
1085         ,p_misc2_rndg_cd                  => p_misc2_rndg_cd
1086         ,p_misc3_abr_id                   => p_misc3_abr_id
1087         ,p_misc3_nnmntry_uom              => p_misc3_nnmntry_uom
1088         ,p_misc3_rndg_cd                  => p_misc3_rndg_cd
1089         ,p_stat_sal_abr_id                => p_stat_sal_abr_id
1090         ,p_stat_sal_nnmntry_uom           => p_stat_sal_nnmntry_uom
1091         ,p_stat_sal_rndg_cd               => p_stat_sal_rndg_cd
1092         ,p_rec_abr_id                     => p_rec_abr_id
1093         ,p_rec_nnmntry_uom                => p_rec_nnmntry_uom
1094         ,p_rec_rndg_cd                    => p_rec_rndg_cd
1095         ,p_tot_comp_abr_id                => p_tot_comp_abr_id
1096         ,p_tot_comp_nnmntry_uom           => p_tot_comp_nnmntry_uom
1097         ,p_tot_comp_rndg_cd               => p_tot_comp_rndg_cd
1098         ,p_oth_comp_abr_id                => p_oth_comp_abr_id
1099         ,p_oth_comp_nnmntry_uom           => p_oth_comp_nnmntry_uom
1100         ,p_oth_comp_rndg_cd               => p_oth_comp_rndg_cd
1101         ,p_actual_flag                    => p_actual_flag
1102         ,p_acty_ref_perd_cd               => p_acty_ref_perd_cd
1103         ,p_legislation_code               => p_legislation_code
1104         ,p_pl_annulization_factor         => p_pl_annulization_factor
1105         ,p_pl_stat_cd                     => p_pl_stat_cd
1106         ,p_uom_precision                  => p_uom_precision
1107         ,p_ws_element_type_id             => p_ws_element_type_id
1108         ,p_ws_input_value_id              => p_ws_input_value_id
1109         ,p_data_freeze_date               => p_data_freeze_date
1110         ,p_ws_amt_edit_cd                 => p_ws_amt_edit_cd
1114         ,p_bdgt_over_budget_edit_cd       => p_bdgt_over_budget_edit_cd
1111         ,p_ws_amt_edit_enf_cd_for_nul     => p_ws_amt_edit_enf_cd_for_nul
1112         ,p_ws_over_budget_edit_cd         => p_ws_over_budget_edit_cd
1113         ,p_ws_over_budget_tol_pct         => p_ws_over_budget_tol_pct
1115         ,p_bdgt_over_budget_tol_pct       => p_bdgt_over_budget_tol_pct
1116         ,p_auto_distr_flag                => p_auto_distr_flag
1117         ,p_pqh_document_short_name        => p_pqh_document_short_name
1118         ,p_ovrid_rt_strt_dt               => p_ovrid_rt_strt_dt
1119         ,p_do_not_process_flag            => p_do_not_process_flag
1120 	,p_ovr_perf_revw_strt_dt          => p_ovr_perf_revw_strt_dt
1121 	,p_post_zero_salary_increase      => p_post_zero_salary_increase
1122         ,p_show_appraisals_n_days         => p_show_appraisals_n_days
1123 	,p_grade_range_validation         => p_grade_range_validation
1124         ,p_object_version_number          => l_object_version_number
1125 		,p_email_password_protected        => p_email_password_protected
1126 		,p_email_cc_manager               => p_email_cc_manager
1127 		,p_email_subject                  =>  p_email_subject
1128         ,p_email_content                  => p_email_content
1129         ,p_email_sample_address           =>  p_email_sample_address
1130         );
1131   --
1132   -- Call After Process User Hook
1133   --
1134   begin
1135     ben_cwb_pl_dsgn_bk2.update_plan_or_option_a
1136         (p_pl_id                          => p_pl_id
1137         ,p_oipl_id                        => p_oipl_id
1138         ,p_lf_evt_ocrd_dt                 => p_lf_evt_ocrd_dt
1139         ,p_effective_date                 => p_effective_date
1140         ,p_name                           => p_name
1141         ,p_group_pl_id                    => p_group_pl_id
1142         ,p_group_oipl_id                  => p_group_oipl_id
1143         ,p_opt_hidden_flag                => p_opt_hidden_flag
1144         ,p_opt_id                         => p_opt_id
1145         ,p_pl_uom                         => p_pl_uom
1146         ,p_pl_ordr_num                    => p_pl_ordr_num
1147         ,p_oipl_ordr_num                  => p_oipl_ordr_num
1148         ,p_pl_xchg_rate                   => p_pl_xchg_rate
1149         ,p_opt_count                      => p_opt_count
1150         ,p_uses_bdgt_flag                 => p_uses_bdgt_flag
1151         ,p_prsrv_bdgt_cd                  => p_prsrv_bdgt_cd
1152         ,p_upd_start_dt                   => p_upd_start_dt
1153         ,p_upd_end_dt                     => p_upd_end_dt
1154         ,p_approval_mode                  => p_approval_mode
1155         ,p_enrt_perd_start_dt             => p_enrt_perd_start_dt
1156         ,p_enrt_perd_end_dt               => p_enrt_perd_end_dt
1157         ,p_yr_perd_start_dt               => p_yr_perd_start_dt
1158         ,p_yr_perd_end_dt                 => p_yr_perd_end_dt
1159         ,p_wthn_yr_start_dt               => p_wthn_yr_start_dt
1160         ,p_wthn_yr_end_dt                 => p_wthn_yr_end_dt
1161         ,p_enrt_perd_id                   => p_enrt_perd_id
1162         ,p_yr_perd_id                     => p_yr_perd_id
1163         ,p_business_group_id              => p_business_group_id
1164         ,p_perf_revw_strt_dt              => p_perf_revw_strt_dt
1165         ,p_asg_updt_eff_date              => p_asg_updt_eff_date
1166         ,p_emp_interview_typ_cd           => p_emp_interview_typ_cd
1167         ,p_salary_change_reason           => p_salary_change_reason
1168         ,p_ws_abr_id                      => p_ws_abr_id
1169         ,p_ws_nnmntry_uom                 => p_ws_nnmntry_uom
1170         ,p_ws_rndg_cd                     => p_ws_rndg_cd
1171         ,p_ws_sub_acty_typ_cd             => p_ws_sub_acty_typ_cd
1172         ,p_dist_bdgt_abr_id               => p_dist_bdgt_abr_id
1173         ,p_dist_bdgt_nnmntry_uom          => p_dist_bdgt_nnmntry_uom
1174         ,p_dist_bdgt_rndg_cd              => p_dist_bdgt_rndg_cd
1175         ,p_ws_bdgt_abr_id                 => p_ws_bdgt_abr_id
1176         ,p_ws_bdgt_nnmntry_uom            => p_ws_bdgt_nnmntry_uom
1177         ,p_ws_bdgt_rndg_cd                => p_ws_bdgt_rndg_cd
1178         ,p_rsrv_abr_id                    => p_rsrv_abr_id
1179         ,p_rsrv_nnmntry_uom               => p_rsrv_nnmntry_uom
1180         ,p_rsrv_rndg_cd                   => p_rsrv_rndg_cd
1181         ,p_elig_sal_abr_id                => p_elig_sal_abr_id
1182         ,p_elig_sal_nnmntry_uom           => p_elig_sal_nnmntry_uom
1183         ,p_elig_sal_rndg_cd               => p_elig_sal_rndg_cd
1184         ,p_misc1_abr_id                   => p_misc1_abr_id
1185         ,p_misc1_nnmntry_uom              => p_misc1_nnmntry_uom
1186         ,p_misc1_rndg_cd                  => p_misc1_rndg_cd
1187         ,p_misc2_abr_id                   => p_misc2_abr_id
1188         ,p_misc2_nnmntry_uom              => p_misc2_nnmntry_uom
1189         ,p_misc2_rndg_cd                  => p_misc2_rndg_cd
1190         ,p_misc3_abr_id                   => p_misc3_abr_id
1191         ,p_misc3_nnmntry_uom              => p_misc3_nnmntry_uom
1192         ,p_misc3_rndg_cd                  => p_misc3_rndg_cd
1193         ,p_stat_sal_abr_id                => p_stat_sal_abr_id
1194         ,p_stat_sal_nnmntry_uom           => p_stat_sal_nnmntry_uom
1195         ,p_stat_sal_rndg_cd               => p_stat_sal_rndg_cd
1196         ,p_rec_abr_id                     => p_rec_abr_id
1197         ,p_rec_nnmntry_uom                => p_rec_nnmntry_uom
1198         ,p_rec_rndg_cd                    => p_rec_rndg_cd
1199         ,p_tot_comp_abr_id                => p_tot_comp_abr_id
1200         ,p_tot_comp_nnmntry_uom           => p_tot_comp_nnmntry_uom
1201         ,p_tot_comp_rndg_cd               => p_tot_comp_rndg_cd
1202         ,p_oth_comp_abr_id                => p_oth_comp_abr_id
1203         ,p_oth_comp_nnmntry_uom           => p_oth_comp_nnmntry_uom
1204         ,p_oth_comp_rndg_cd               => p_oth_comp_rndg_cd
1205         ,p_actual_flag                    => p_actual_flag
1206         ,p_acty_ref_perd_cd               => p_acty_ref_perd_cd
1207         ,p_legislation_code               => p_legislation_code
1208         ,p_pl_annulization_factor         => p_pl_annulization_factor
1209         ,p_pl_stat_cd                     => p_pl_stat_cd
1210         ,p_uom_precision                  => p_uom_precision
1211         ,p_ws_element_type_id             => p_ws_element_type_id
1212         ,p_ws_input_value_id              => p_ws_input_value_id
1213         ,p_data_freeze_date               => p_data_freeze_date
1214         ,p_ws_amt_edit_cd                 => p_ws_amt_edit_cd
1215         ,p_ws_amt_edit_enf_cd_for_nul     => p_ws_amt_edit_enf_cd_for_nul
1216         ,p_ws_over_budget_edit_cd         => p_ws_over_budget_edit_cd
1217         ,p_ws_over_budget_tol_pct         => p_ws_over_budget_tol_pct
1218         ,p_bdgt_over_budget_edit_cd       => p_bdgt_over_budget_edit_cd
1219         ,p_bdgt_over_budget_tol_pct       => p_bdgt_over_budget_tol_pct
1220         ,p_auto_distr_flag                => p_auto_distr_flag
1221         ,p_pqh_document_short_name        => p_pqh_document_short_name
1222         ,p_ovrid_rt_strt_dt               => p_ovrid_rt_strt_dt
1223         ,p_do_not_process_flag            => p_do_not_process_flag
1224 	,p_ovr_perf_revw_strt_dt          => p_ovr_perf_revw_strt_dt
1225 	,p_post_zero_salary_increase      => p_post_zero_salary_increase
1226         ,p_show_appraisals_n_days         => p_show_appraisals_n_days
1227 	,p_grade_range_validation         => p_grade_range_validation
1228         ,p_object_version_number          => l_object_version_number
1229 		,p_email_password_protected        => p_email_password_protected
1230 		,p_email_cc_manager               => p_email_cc_manager
1231 		,p_email_subject                  =>  p_email_subject
1232         ,p_email_sample_address           =>  p_email_sample_address
1233         );
1234   exception
1235     when hr_api.cannot_find_prog_unit then
1236       hr_api.cannot_find_prog_unit_error
1237         (p_module_name => 'update_plan_or_option'
1238         ,p_hook_type   => 'AP'
1239         );
1240   end;
1241   -- call the data_syncopation procedure
1242   if (p_call_data_syncopation = 'Y') then
1243     data_syncopation(p_pl_id                  =>    p_pl_id
1244                     ,p_oipl_id                =>    p_oipl_id
1245                     ,p_lf_evt_ocrd_dt         =>    p_lf_evt_ocrd_dt
1246                     ,p_effective_date         =>    p_effective_date
1247                     ,p_group_pl_id            =>    p_group_pl_id
1248                     ,p_group_oipl_id          =>    p_group_oipl_id
1249                     ,p_pl_uom                 =>    p_pl_uom
1250                     ,p_pl_ordr_num            =>    p_pl_ordr_num
1251                     ,p_oipl_ordr_num          =>    p_oipl_ordr_num
1252                     ,p_pl_xchg_rate           =>    p_pl_xchg_rate
1253                     ,p_upd_start_dt           =>    p_upd_start_dt
1254                     ,p_upd_end_dt             =>    p_upd_end_dt
1255                     ,p_approval_mode          =>    p_approval_mode
1256                     ,p_enrt_perd_start_dt     =>    p_enrt_perd_start_dt
1257                     ,p_enrt_perd_end_dt       =>    p_enrt_perd_end_dt
1258                     ,p_yr_perd_start_dt       =>    p_yr_perd_start_dt
1259                     ,p_yr_perd_end_dt         =>    p_yr_perd_end_dt
1260                     ,p_wthn_yr_start_dt       =>    p_wthn_yr_start_dt
1261                     ,p_wthn_yr_end_dt         =>    p_wthn_yr_end_dt
1262                     ,p_business_group_id      =>    p_business_group_id
1263                     ,p_perf_revw_strt_dt      =>    p_perf_revw_strt_dt
1264                     ,p_asg_updt_eff_date      =>    p_asg_updt_eff_date
1265                     ,p_emp_interview_typ_cd   =>    p_emp_interview_typ_cd
1266                     ,p_salary_change_reason   =>    p_salary_change_reason
1267                     ,p_actual_flag            =>    p_actual_flag
1268                     ,p_acty_ref_perd_cd       =>    p_acty_ref_perd_cd
1269                     ,p_legislation_code       =>    p_legislation_code
1270                     ,p_pl_annulization_factor =>    p_pl_annulization_factor
1271                     ,p_pl_stat_cd             =>    p_pl_stat_cd
1272                     ,p_uom_precision          =>    p_uom_precision
1273                     ,p_data_freeze_date       =>    p_data_freeze_date);
1274    end if;
1275 
1276   --
1277   -- When in validation only mode raise the Validate_Enabled exception
1278   --
1279   if p_validate then
1280     raise hr_api.validate_enabled;
1281   end if;
1282   --
1283   -- Set all IN OUT and OUT parameters with out values
1284   --
1285   p_object_version_number  := l_object_version_number;
1286   --
1287   if g_debug then
1288      hr_utility.set_location(' Leaving:'||l_proc, 80);
1289   end if;
1290 exception
1291   when hr_api.validate_enabled then
1292     --
1293     -- As the Validate_Enabled exception has been raised
1294     -- we must rollback to the savepoint
1295     --
1296     rollback to update_plan_or_option;
1297     --
1298     -- Reset IN OUT parameters and set OUT parameters
1299     -- (Any key or derived arguments must be set to null
1300     -- when validation only mode is being used.)
1301     --
1302     if g_debug then
1303        hr_utility.set_location(' Leaving:'||l_proc, 90);
1304     end if;
1305   when others then
1306     --
1307     -- A validation or unexpected error has occured
1308     --
1309     rollback to update_plan_or_option;
1310     --
1311     -- Reset IN OUT parameters and set all
1312     -- OUT parameters, including warnings, to null
1313     --
1314     if g_debug then
1315        hr_utility.set_location(' Leaving:'||l_proc, 99);
1316     end if;
1317     raise;
1318 end update_plan_or_option;
1319 --
1320 --
1321 -- ----------------------------------------------------------------------------
1322 -- |------------------------< delete_plan_or_option >-------------------------|
1323 -- ----------------------------------------------------------------------------
1324 --
1325 procedure delete_plan_or_option
1326   (p_validate                     in     boolean  default false
1327   ,p_pl_id                        in     number
1328   ,p_oipl_id                      in     number
1329   ,p_lf_evt_ocrd_dt               in     date
1330   ,p_object_version_number        in     number
1331   ) is
1332   --
1333   -- Declare cursors and local variables
1334   --
1335   l_object_version_number number;
1336   l_proc                varchar2(72) := g_package||'delete_plan_or_option';
1337 begin
1338   if g_debug then
1339      hr_utility.set_location('Entering:'|| l_proc, 10);
1340   end if;
1341   --
1342   -- Issue a savepoint
1343   --
1344   savepoint delete_plan_or_option;
1345   --
1346   -- Remember IN OUT parameter IN values
1347   --
1348   --
1349   l_object_version_number := p_object_version_number;
1350   --
1351   -- Call Before Process User Hook
1352   --
1353   begin
1354     BEN_CWB_PL_DSGN_BK3.delete_plan_or_option_b
1355         (p_pl_id                   =>   p_pl_id
1356         ,p_oipl_id                 =>   p_oipl_id
1357         ,p_lf_evt_ocrd_dt          =>   p_lf_evt_ocrd_dt
1358         ,p_object_version_number   =>   l_object_version_number
1359         );
1360   exception
1361     when hr_api.cannot_find_prog_unit then
1362       hr_api.cannot_find_prog_unit_error
1363         (p_module_name => 'delete_plan_or_option'
1364         ,p_hook_type   => 'BP'
1365         );
1366   end;
1367   --
1368   -- Validation in addition to Row Handlers
1369   --
1370 
1371   --
1372   -- Process Logic
1373   --
1374   ben_cpd_del.del
1375         (p_pl_id                   =>   p_pl_id
1376         ,p_oipl_id                 =>   p_oipl_id
1377         ,p_lf_evt_ocrd_dt          =>   p_lf_evt_ocrd_dt
1378         ,p_object_version_number   =>   l_object_version_number
1379       );
1380   --
1381   -- Call After Process User Hook
1382   --
1383   begin
1384     ben_cwb_pl_dsgn_bk3.delete_plan_or_option_a
1385         (p_pl_id                   =>   p_pl_id
1386         ,p_oipl_id                 =>   p_oipl_id
1387         ,p_lf_evt_ocrd_dt          =>   p_lf_evt_ocrd_dt
1388         ,p_object_version_number   =>   l_object_version_number
1389         );
1390   exception
1391     when hr_api.cannot_find_prog_unit then
1392       hr_api.cannot_find_prog_unit_error
1393         (p_module_name => 'delete_plan_or_option'
1394         ,p_hook_type   => 'AP'
1395         );
1396   end;
1397   --
1398   -- When in validation only mode raise the Validate_Enabled exception
1399   --
1400   if p_validate then
1401     raise hr_api.validate_enabled;
1402   end if;
1403   --
1404   if g_debug then
1405      hr_utility.set_location(' Leaving:'||l_proc, 70);
1406   end if;
1407 exception
1408   when hr_api.validate_enabled then
1409     --
1410     -- As the Validate_Enabled exception has been raised
1411     -- we must rollback to the savepoint
1412     --
1413     rollback to delete_plan_or_option;
1414     --
1415     if g_debug then
1416        hr_utility.set_location(' Leaving:'||l_proc, 80);
1417     end if;
1418   when others then
1419     --
1420     -- A validation or unexpected error has occured
1421     --
1422     rollback to delete_plan_or_option;
1423     --
1424     -- Reset IN OUT parameters and set all
1425     -- OUT parameters, including warnings, to null
1426     --
1427     if g_debug then
1428        hr_utility.set_location(' Leaving:'||l_proc, 90);
1429     end if;
1430     raise;
1431 end delete_plan_or_option;
1432 --
1433 end ben_cwb_pl_dsgn_api;