[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;