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