[Home] [Help]
PACKAGE BODY: APPS.BEN_CPD_INS
Source
1 Package Body ben_cpd_ins as
2 /* $Header: becpdrhi.pkb 120.4.12020000.3 2013/01/02 07:16:14 kmsuresh ship $ */
3 --
4 -- ----------------------------------------------------------------------------
5 -- | Private Global Definitions |
6 -- ----------------------------------------------------------------------------
7 --
8 g_package varchar2(33) := ' ben_cpd_ins.'; -- Global package name
9 --
10 -- The following global variables are only to be used by
11 -- the set_base_key_value and pre_insert procedures.
12 --
13 g_pl_id_i number default null;
14 g_oipl_id_i number default null;
15 g_lf_evt_ocrd_dt_i date default null;
16 --
17 -- ----------------------------------------------------------------------------
18 -- |------------------------< set_base_key_value >----------------------------|
19 -- ----------------------------------------------------------------------------
20 procedure set_base_key_value
21 (p_pl_id in number
22 ,p_oipl_id in number
23 ,p_lf_evt_ocrd_dt in date) is
24 --
25 l_proc varchar2(72) := g_package||'set_base_key_value';
26 --
27 Begin
28 hr_utility.set_location('Entering:'||l_proc, 10);
29 --
30 ben_cpd_ins.g_pl_id_i := p_pl_id;
31 ben_cpd_ins.g_lf_evt_ocrd_dt_i := p_lf_evt_ocrd_dt;
32 ben_cpd_ins.g_oipl_id_i := p_oipl_id;
33 --
34 hr_utility.set_location(' Leaving:'||l_proc, 20);
35 End set_base_key_value;
36 --
37 --
38 -- ----------------------------------------------------------------------------
39 -- |------------------------------< insert_dml >------------------------------|
40 -- ----------------------------------------------------------------------------
41 -- {Start Of Comments}
42 --
43 -- Description:
44 -- This procedure controls the actual dml insert logic. The processing of
45 -- this procedure are as follows:
46 -- 1) Initialise the object_version_number to 1 if the object_version_number
47 -- is defined as an attribute for this entity.
48 -- 2) To set and unset the g_api_dml status as required (as we are about to
49 -- perform dml).
50 -- 3) To insert the row into the schema.
51 -- 4) To trap any constraint violations that may have occurred.
52 -- 5) To raise any other errors.
53 --
54 -- Prerequisites:
55 -- This is an internal private procedure which must be called from the ins
56 -- procedure and must have all mandatory attributes set (except the
57 -- object_version_number which is initialised within this procedure).
58 --
59 -- In Parameters:
60 -- A Pl/Sql record structre.
61 --
62 -- Post Success:
63 -- The specified row will be inserted into the schema.
64 --
65 -- Post Failure:
66 -- On the insert dml failure it is important to note that we always reset the
67 -- g_api_dml status to false.
68 -- If a check, unique or parent integrity constraint violation is raised the
69 -- constraint_error procedure will be called.
70 -- If any other error is reported, the error will be raised after the
71 -- g_api_dml status is reset.
72 --
73 -- Developer Implementation Notes:
74 -- None.
75 --
76 -- Access Status:
77 -- Internal Row Handler Use Only.
81 Procedure insert_dml
78 --
79 -- {End Of Comments}
80 -- ----------------------------------------------------------------------------
82 (p_rec in out nocopy ben_cpd_shd.g_rec_type
83 ) is
84 --
85 l_proc varchar2(72) := g_package||'insert_dml';
86 --
87 Begin
88 hr_utility.set_location('Entering:'||l_proc, 5);
89 p_rec.object_version_number := 1; -- Initialise the object version
90 --
91 ben_cpd_shd.g_api_dml := true; -- Set the api dml status
92 --
93 -- Insert the row into: ben_cwb_pl_dsgn
94 --
95 insert into ben_cwb_pl_dsgn
96 (pl_id
97 ,lf_evt_ocrd_dt
98 ,oipl_id
99 ,effective_date
100 ,name
101 ,group_pl_id
102 ,group_oipl_id
103 ,opt_hidden_flag
104 ,opt_id
105 ,pl_uom
106 ,pl_ordr_num
107 ,oipl_ordr_num
108 ,pl_xchg_rate
109 ,opt_count
110 ,uses_bdgt_flag
111 ,prsrv_bdgt_cd
112 ,upd_start_dt
113 ,upd_end_dt
114 ,approval_mode
115 ,enrt_perd_start_dt
116 ,enrt_perd_end_dt
117 ,yr_perd_start_dt
118 ,yr_perd_end_dt
119 ,wthn_yr_start_dt
120 ,wthn_yr_end_dt
121 ,enrt_perd_id
122 ,yr_perd_id
123 ,business_group_id
124 ,perf_revw_strt_dt
125 ,asg_updt_eff_date
126 ,emp_interview_typ_cd
127 ,salary_change_reason
128 ,ws_abr_id
129 ,ws_nnmntry_uom
130 ,ws_rndg_cd
131 ,ws_sub_acty_typ_cd
132 ,dist_bdgt_abr_id
133 ,dist_bdgt_nnmntry_uom
134 ,dist_bdgt_rndg_cd
135 ,ws_bdgt_abr_id
136 ,ws_bdgt_nnmntry_uom
137 ,ws_bdgt_rndg_cd
138 ,rsrv_abr_id
139 ,rsrv_nnmntry_uom
140 ,rsrv_rndg_cd
141 ,elig_sal_abr_id
142 ,elig_sal_nnmntry_uom
143 ,elig_sal_rndg_cd
144 ,misc1_abr_id
145 ,misc1_nnmntry_uom
146 ,misc1_rndg_cd
147 ,misc2_abr_id
148 ,misc2_nnmntry_uom
149 ,misc2_rndg_cd
150 ,misc3_abr_id
151 ,misc3_nnmntry_uom
152 ,misc3_rndg_cd
153 ,stat_sal_abr_id
154 ,stat_sal_nnmntry_uom
155 ,stat_sal_rndg_cd
156 ,rec_abr_id
157 ,rec_nnmntry_uom
158 ,rec_rndg_cd
159 ,tot_comp_abr_id
160 ,tot_comp_nnmntry_uom
161 ,tot_comp_rndg_cd
162 ,oth_comp_abr_id
163 ,oth_comp_nnmntry_uom
164 ,oth_comp_rndg_cd
165 ,actual_flag
166 ,acty_ref_perd_cd
167 ,legislation_code
168 ,pl_annulization_factor
169 ,pl_stat_cd
170 ,uom_precision
171 ,ws_element_type_id
172 ,ws_input_value_id
173 ,data_freeze_date
174 ,ws_amt_edit_cd
175 ,ws_amt_edit_enf_cd_for_nulls
176 ,ws_over_budget_edit_cd
177 ,ws_over_budget_tolerance_pct
178 ,bdgt_over_budget_edit_cd
179 ,bdgt_over_budget_tolerance_pct
180 ,auto_distr_flag
181 ,pqh_document_short_name
182 ,ovrid_rt_strt_dt
183 ,do_not_process_flag
184 ,ovr_perf_revw_strt_dt
185 ,post_zero_salary_increase
186 ,show_appraisals_n_days
187 ,grade_range_validation
188 ,object_version_number
189 )
190 Values
191 (p_rec.pl_id
192 ,p_rec.lf_evt_ocrd_dt
193 ,p_rec.oipl_id
194 ,p_rec.effective_date
195 ,p_rec.name
196 ,p_rec.group_pl_id
197 ,p_rec.group_oipl_id
198 ,p_rec.opt_hidden_flag
199 ,p_rec.opt_id
200 ,p_rec.pl_uom
201 ,p_rec.pl_ordr_num
202 ,p_rec.oipl_ordr_num
203 ,p_rec.pl_xchg_rate
204 ,p_rec.opt_count
205 ,p_rec.uses_bdgt_flag
206 ,p_rec.prsrv_bdgt_cd
207 ,p_rec.upd_start_dt
208 ,p_rec.upd_end_dt
209 ,p_rec.approval_mode
210 ,p_rec.enrt_perd_start_dt
211 ,p_rec.enrt_perd_end_dt
212 ,p_rec.yr_perd_start_dt
213 ,p_rec.yr_perd_end_dt
214 ,p_rec.wthn_yr_start_dt
215 ,p_rec.wthn_yr_end_dt
216 ,p_rec.enrt_perd_id
217 ,p_rec.yr_perd_id
218 ,p_rec.business_group_id
219 ,p_rec.perf_revw_strt_dt
220 ,p_rec.asg_updt_eff_date
221 ,p_rec.emp_interview_typ_cd
222 ,p_rec.salary_change_reason
223 ,p_rec.ws_abr_id
224 ,p_rec.ws_nnmntry_uom
225 ,p_rec.ws_rndg_cd
226 ,p_rec.ws_sub_acty_typ_cd
227 ,p_rec.dist_bdgt_abr_id
228 ,p_rec.dist_bdgt_nnmntry_uom
229 ,p_rec.dist_bdgt_rndg_cd
230 ,p_rec.ws_bdgt_abr_id
231 ,p_rec.ws_bdgt_nnmntry_uom
232 ,p_rec.ws_bdgt_rndg_cd
233 ,p_rec.rsrv_abr_id
234 ,p_rec.rsrv_nnmntry_uom
235 ,p_rec.rsrv_rndg_cd
236 ,p_rec.elig_sal_abr_id
237 ,p_rec.elig_sal_nnmntry_uom
238 ,p_rec.elig_sal_rndg_cd
239 ,p_rec.misc1_abr_id
240 ,p_rec.misc1_nnmntry_uom
241 ,p_rec.misc1_rndg_cd
242 ,p_rec.misc2_abr_id
243 ,p_rec.misc2_nnmntry_uom
244 ,p_rec.misc2_rndg_cd
245 ,p_rec.misc3_abr_id
246 ,p_rec.misc3_nnmntry_uom
247 ,p_rec.misc3_rndg_cd
248 ,p_rec.stat_sal_abr_id
249 ,p_rec.stat_sal_nnmntry_uom
250 ,p_rec.stat_sal_rndg_cd
251 ,p_rec.rec_abr_id
252 ,p_rec.rec_nnmntry_uom
253 ,p_rec.rec_rndg_cd
254 ,p_rec.tot_comp_abr_id
255 ,p_rec.tot_comp_nnmntry_uom
256 ,p_rec.tot_comp_rndg_cd
257 ,p_rec.oth_comp_abr_id
258 ,p_rec.oth_comp_nnmntry_uom
259 ,p_rec.oth_comp_rndg_cd
260 ,p_rec.actual_flag
261 ,p_rec.acty_ref_perd_cd
262 ,p_rec.legislation_code
263 ,p_rec.pl_annulization_factor
264 ,p_rec.pl_stat_cd
265 ,p_rec.uom_precision
266 ,p_rec.ws_element_type_id
267 ,p_rec.ws_input_value_id
268 ,p_rec.data_freeze_date
269 ,p_rec.ws_amt_edit_cd
270 ,p_rec.ws_amt_edit_enf_cd_for_nulls
271 ,p_rec.ws_over_budget_edit_cd
272 ,p_rec.ws_over_budget_tolerance_pct
273 ,p_rec.bdgt_over_budget_edit_cd
274 ,p_rec.bdgt_over_budget_tolerance_pct
275 ,p_rec.auto_distr_flag
276 ,p_rec.pqh_document_short_name
277 ,p_rec.ovrid_rt_strt_dt
278 ,p_rec.do_not_process_flag
279 ,p_rec.ovr_perf_revw_strt_dt
280 ,p_rec.post_zero_salary_increase
281 ,p_rec.show_appraisals_n_days
282 ,p_rec.grade_range_validation
283 ,p_rec.object_version_number
284 );
285 --
286 ben_cpd_shd.g_api_dml := false; -- Unset the api dml status
287 --
288 hr_utility.set_location(' Leaving:'||l_proc, 10);
289 Exception
290 When hr_api.check_integrity_violated Then
291 -- A check constraint has been violated
292 ben_cpd_shd.g_api_dml := false; -- Unset the api dml status
293 ben_cpd_shd.constraint_error
294 (p_constraint_name => hr_api.strip_constraint_name(SQLERRM));
295 When hr_api.parent_integrity_violated Then
296 -- Parent integrity has been violated
297 ben_cpd_shd.g_api_dml := false; -- Unset the api dml status
298 ben_cpd_shd.constraint_error
299 (p_constraint_name => hr_api.strip_constraint_name(SQLERRM));
300 When hr_api.unique_integrity_violated Then
301 -- Unique integrity has been violated
302 ben_cpd_shd.g_api_dml := false; -- Unset the api dml status
303 ben_cpd_shd.constraint_error
304 (p_constraint_name => hr_api.strip_constraint_name(SQLERRM));
305 When Others Then
306 ben_cpd_shd.g_api_dml := false; -- Unset the api dml status
307 Raise;
308 End insert_dml;
309 --
310 -- ----------------------------------------------------------------------------
311 -- |------------------------------< pre_insert >------------------------------|
312 -- ----------------------------------------------------------------------------
313 -- {Start Of Comments}
314 --
315 -- Description:
316 -- This private procedure contains any processing which is required before
317 -- the insert dml. Presently, if the entity has a corresponding primary
318 -- key which is maintained by an associating sequence, the primary key for
319 -- the entity will be populated with the next sequence value in
320 -- preparation for the insert dml.
321 --
322 -- Prerequisites:
323 -- This is an internal procedure which is called from the ins procedure.
324 --
325 -- In Parameters:
326 -- A Pl/Sql record structure.
327 --
328 -- Post Success:
329 -- Processing continues.
330 --
331 -- Post Failure:
332 -- If an error has occurred, an error message and exception will be raised
333 -- but not handled.
334 --
335 -- Developer Implementation Notes:
336 -- Any pre-processing required before the insert dml is issued should be
337 -- coded within this procedure. As stated above, a good example is the
338 -- generation of a primary key number via a corresponding sequence.
339 -- It is important to note that any 3rd party maintenance should be reviewed
340 -- before placing in this procedure.
341 --
342 -- Access Status:
343 -- Internal Row Handler Use Only.
344 --
345 -- {End Of Comments}
346 -- ----------------------------------------------------------------------------
347 Procedure pre_insert
348 (p_rec in out nocopy ben_cpd_shd.g_rec_type
349 ) is
350 --
351 Cursor C_Sel1 is
352 Select null
353 from ben_cwb_pl_dsgn
354 where pl_id =
355 ben_cpd_ins.g_pl_id_i
356 or lf_evt_ocrd_dt =
357 ben_cpd_ins.g_lf_evt_ocrd_dt_i
358 or oipl_id =
359 ben_cpd_ins.g_oipl_id_i;
360 --
361 l_proc varchar2(72) := g_package||'pre_insert';
362 l_exists varchar2(1);
363 --
364 Begin
365 hr_utility.set_location('Entering:'||l_proc, 5);
366 --
367 If (ben_cpd_ins.g_pl_id_i is not null or
368 ben_cpd_ins.g_lf_evt_ocrd_dt_i is not null or
369 ben_cpd_ins.g_oipl_id_i is not null) Then
370 --
371 -- Verify registered primary key values not already in use
372 --
373 Open C_Sel1;
374 Fetch C_Sel1 into l_exists;
375 If C_Sel1%found Then
376 Close C_Sel1;
377 --
378 -- The primary key values are already in use.
379 --
380 fnd_message.set_name('PER','PER_289391_KEY_ALREADY_USED');
381 fnd_message.set_token('TABLE_NAME','ben_cwb_pl_dsgn');
385 --
382 fnd_message.raise_error;
383 End If;
384 Close C_Sel1;
386 -- Use registered key values and clear globals
387 --
388 p_rec.pl_id :=
389 ben_cpd_ins.g_pl_id_i;
390 ben_cpd_ins.g_pl_id_i := null;
391 p_rec.lf_evt_ocrd_dt :=
392 ben_cpd_ins.g_lf_evt_ocrd_dt_i;
393 ben_cpd_ins.g_lf_evt_ocrd_dt_i := null;
394 p_rec.oipl_id :=
395 ben_cpd_ins.g_oipl_id_i;
396 ben_cpd_ins.g_oipl_id_i := null;
397 Else
398 -- Commented out the following code as it is not required.
399 null;
400 /* --
401 -- No registerd key values, so select the next sequence number
402 --
403 --
404 -- Select the next sequence number
405 --
406 Open C_Sel1;
407 Fetch C_Sel1 Into p_rec.oipl_id;
408 Close C_Sel1; */
409 End If;
410 --
411 hr_utility.set_location(' Leaving:'||l_proc, 10);
412 End pre_insert;
413 --
414 -- ----------------------------------------------------------------------------
415 -- |-----------------------------< post_insert >------------------------------|
416 -- ----------------------------------------------------------------------------
417 -- {Start Of Comments}
418 --
419 -- Description:
420 -- This private procedure contains any processing which is required after
421 -- the insert dml.
422 --
423 -- Prerequisites:
424 -- This is an internal procedure which is called from the ins procedure.
425 --
426 -- In Parameters:
427 -- A Pl/Sql record structre.
428 --
429 -- Post Success:
430 -- Processing continues.
431 --
432 -- Post Failure:
433 -- If an error has occurred, an error message and exception will be raised
434 -- but not handled.
435 --
436 -- Developer Implementation Notes:
437 -- Any post-processing required after the insert dml is issued should be
438 -- coded within this procedure. It is important to note that any 3rd party
439 -- maintenance should be reviewed before placing in this procedure.
440 --
441 -- Access Status:
442 -- Internal Row Handler Use Only.
443 --
444 -- {End Of Comments}
445 -- ----------------------------------------------------------------------------
446 Procedure post_insert
447 (p_rec in ben_cpd_shd.g_rec_type
448 ) is
449 --
450 l_proc varchar2(72) := g_package||'post_insert';
451 --
452 Begin
453 hr_utility.set_location('Entering:'||l_proc, 5);
454 begin
455 --
456 ben_cpd_rki.after_insert
457 (p_pl_id
458 => p_rec.pl_id
459 ,p_lf_evt_ocrd_dt
460 => p_rec.lf_evt_ocrd_dt
461 ,p_oipl_id
462 => p_rec.oipl_id
463 ,p_effective_date
464 => p_rec.effective_date
465 ,p_name
466 => p_rec.name
467 ,p_group_pl_id
468 => p_rec.group_pl_id
469 ,p_group_oipl_id
470 => p_rec.group_oipl_id
471 ,p_opt_hidden_flag
472 => p_rec.opt_hidden_flag
473 ,p_opt_id
474 => p_rec.opt_id
475 ,p_pl_uom
476 => p_rec.pl_uom
477 ,p_pl_ordr_num
478 => p_rec.pl_ordr_num
479 ,p_oipl_ordr_num
480 => p_rec.oipl_ordr_num
481 ,p_pl_xchg_rate
482 => p_rec.pl_xchg_rate
483 ,p_opt_count
484 => p_rec.opt_count
485 ,p_uses_bdgt_flag
486 => p_rec.uses_bdgt_flag
487 ,p_prsrv_bdgt_cd
488 => p_rec.prsrv_bdgt_cd
489 ,p_upd_start_dt
490 => p_rec.upd_start_dt
491 ,p_upd_end_dt
492 => p_rec.upd_end_dt
493 ,p_approval_mode
494 => p_rec.approval_mode
495 ,p_enrt_perd_start_dt
496 => p_rec.enrt_perd_start_dt
497 ,p_enrt_perd_end_dt
498 => p_rec.enrt_perd_end_dt
499 ,p_yr_perd_start_dt
500 => p_rec.yr_perd_start_dt
501 ,p_yr_perd_end_dt
502 => p_rec.yr_perd_end_dt
503 ,p_wthn_yr_start_dt
504 => p_rec.wthn_yr_start_dt
505 ,p_wthn_yr_end_dt
506 => p_rec.wthn_yr_end_dt
507 ,p_enrt_perd_id
508 => p_rec.enrt_perd_id
509 ,p_yr_perd_id
510 => p_rec.yr_perd_id
511 ,p_business_group_id
512 => p_rec.business_group_id
513 ,p_perf_revw_strt_dt
514 => p_rec.perf_revw_strt_dt
515 ,p_asg_updt_eff_date
516 => p_rec.asg_updt_eff_date
517 ,p_emp_interview_typ_cd
518 => p_rec.emp_interview_typ_cd
519 ,p_salary_change_reason
520 => p_rec.salary_change_reason
521 ,p_ws_abr_id
522 => p_rec.ws_abr_id
523 ,p_ws_nnmntry_uom
524 => p_rec.ws_nnmntry_uom
525 ,p_ws_rndg_cd
526 => p_rec.ws_rndg_cd
527 ,p_ws_sub_acty_typ_cd
528 => p_rec.ws_sub_acty_typ_cd
529 ,p_dist_bdgt_abr_id
530 => p_rec.dist_bdgt_abr_id
531 ,p_dist_bdgt_nnmntry_uom
532 => p_rec.dist_bdgt_nnmntry_uom
533 ,p_dist_bdgt_rndg_cd
534 => p_rec.dist_bdgt_rndg_cd
535 ,p_ws_bdgt_abr_id
536 => p_rec.ws_bdgt_abr_id
537 ,p_ws_bdgt_nnmntry_uom
538 => p_rec.ws_bdgt_nnmntry_uom
539 ,p_ws_bdgt_rndg_cd
540 => p_rec.ws_bdgt_rndg_cd
541 ,p_rsrv_abr_id
542 => p_rec.rsrv_abr_id
543 ,p_rsrv_nnmntry_uom
544 => p_rec.rsrv_nnmntry_uom
545 ,p_rsrv_rndg_cd
546 => p_rec.rsrv_rndg_cd
547 ,p_elig_sal_abr_id
548 => p_rec.elig_sal_abr_id
549 ,p_elig_sal_nnmntry_uom
550 => p_rec.elig_sal_nnmntry_uom
551 ,p_elig_sal_rndg_cd
552 => p_rec.elig_sal_rndg_cd
556 => p_rec.misc1_nnmntry_uom
553 ,p_misc1_abr_id
554 => p_rec.misc1_abr_id
555 ,p_misc1_nnmntry_uom
557 ,p_misc1_rndg_cd
558 => p_rec.misc1_rndg_cd
559 ,p_misc2_abr_id
560 => p_rec.misc2_abr_id
561 ,p_misc2_nnmntry_uom
562 => p_rec.misc2_nnmntry_uom
563 ,p_misc2_rndg_cd
564 => p_rec.misc2_rndg_cd
565 ,p_misc3_abr_id
566 => p_rec.misc3_abr_id
567 ,p_misc3_nnmntry_uom
568 => p_rec.misc3_nnmntry_uom
569 ,p_misc3_rndg_cd
570 => p_rec.misc3_rndg_cd
571 ,p_stat_sal_abr_id
572 => p_rec.stat_sal_abr_id
573 ,p_stat_sal_nnmntry_uom
574 => p_rec.stat_sal_nnmntry_uom
575 ,p_stat_sal_rndg_cd
576 => p_rec.stat_sal_rndg_cd
577 ,p_rec_abr_id
578 => p_rec.rec_abr_id
579 ,p_rec_nnmntry_uom
580 => p_rec.rec_nnmntry_uom
581 ,p_rec_rndg_cd
582 => p_rec.rec_rndg_cd
583 ,p_tot_comp_abr_id
584 => p_rec.tot_comp_abr_id
585 ,p_tot_comp_nnmntry_uom
586 => p_rec.tot_comp_nnmntry_uom
587 ,p_tot_comp_rndg_cd
588 => p_rec.tot_comp_rndg_cd
589 ,p_oth_comp_abr_id
590 => p_rec.oth_comp_abr_id
591 ,p_oth_comp_nnmntry_uom
592 => p_rec.oth_comp_nnmntry_uom
593 ,p_oth_comp_rndg_cd
594 => p_rec.oth_comp_rndg_cd
595 ,p_actual_flag
596 => p_rec.actual_flag
597 ,p_acty_ref_perd_cd
598 => p_rec.acty_ref_perd_cd
599 ,p_legislation_code
600 => p_rec.legislation_code
601 ,p_pl_annulization_factor
602 => p_rec.pl_annulization_factor
603 ,p_pl_stat_cd
604 => p_rec.pl_stat_cd
605 ,p_uom_precision
606 => p_rec.uom_precision
607 ,p_ws_element_type_id
608 => p_rec.ws_element_type_id
609 ,p_ws_input_value_id
610 => p_rec.ws_input_value_id
611 ,p_data_freeze_date
612 => p_rec.data_freeze_date
613 ,p_ws_amt_edit_cd
614 => p_rec.ws_amt_edit_cd
615 ,p_ws_amt_edit_enf_cd_for_nul
616 => p_rec.ws_amt_edit_enf_cd_for_nulls
617 ,p_ws_over_budget_edit_cd
618 => p_rec.ws_over_budget_edit_cd
619 ,p_ws_over_budget_tol_pct
620 => p_rec.ws_over_budget_tolerance_pct
621 ,p_bdgt_over_budget_edit_cd
622 => p_rec.bdgt_over_budget_edit_cd
623 ,p_bdgt_over_budget_tol_pct
624 => p_rec.bdgt_over_budget_tolerance_pct
625 ,p_auto_distr_flag
626 => p_rec.auto_distr_flag
627 ,p_pqh_document_short_name
628 => p_rec.pqh_document_short_name
629 ,p_ovrid_rt_strt_dt
630 => p_rec.ovrid_rt_strt_dt
631 ,p_do_not_process_flag
632 => p_rec.do_not_process_flag
633 ,p_ovr_perf_revw_strt_dt
634 => p_rec.ovr_perf_revw_strt_dt
635 ,p_post_zero_salary_increase
636 => p_rec.post_zero_salary_increase
637 ,p_show_appraisals_n_days
638 => p_rec.show_appraisals_n_days
639 ,p_grade_range_validation
640 => p_rec.grade_range_validation
641 ,p_object_version_number
642 => p_rec.object_version_number
643 );
644 --
645 exception
646 --
647 when hr_api.cannot_find_prog_unit then
648 --
649 hr_api.cannot_find_prog_unit_error
650 (p_module_name => 'BEN_CWB_PL_DSGN'
651 ,p_hook_type => 'AI');
652 --
653 end;
654 --
655 hr_utility.set_location(' Leaving:'||l_proc, 10);
656 End post_insert;
657 --
658 -- ----------------------------------------------------------------------------
659 -- |---------------------------------< ins >----------------------------------|
660 -- ----------------------------------------------------------------------------
661 Procedure ins
662 (p_rec in out nocopy ben_cpd_shd.g_rec_type
663 ) is
664 --
665 l_proc varchar2(72) := g_package||'ins';
666 --
667 Begin
668 hr_utility.set_location('Entering:'||l_proc, 5);
669 --
670 -- Call the supporting insert validate operations
671 --
672 ben_cpd_bus.insert_validate
673 (p_rec
674 );
675 --
676 -- Call to raise any errors on multi-message list
677 hr_multi_message.end_validation_set;
678 --
679 -- Call the supporting pre-insert operation
680 --
681 ben_cpd_ins.pre_insert(p_rec);
682 --
683 -- Insert the row
684 --
685 ben_cpd_ins.insert_dml(p_rec);
686 --
687 -- Call the supporting post-insert operation
688 --
689 ben_cpd_ins.post_insert
690 (p_rec
691 );
692 --
693 -- Call to raise any errors on multi-message list
694 hr_multi_message.end_validation_set;
695 --
696 hr_utility.set_location('Leaving:'||l_proc, 20);
697 end ins;
698 --
699 -- ----------------------------------------------------------------------------
700 -- |---------------------------------< ins >----------------------------------|
701 -- ----------------------------------------------------------------------------
702 Procedure ins
703 (p_pl_id in number
704 ,p_oipl_id in number
705 ,p_lf_evt_ocrd_dt in date
706 ,p_effective_date in date default null
707 ,p_name in varchar2 default null
708 ,p_group_pl_id in number default null
709 ,p_group_oipl_id in number default null
710 ,p_opt_hidden_flag in varchar2 default null
711 ,p_opt_id in number default null
715 ,p_pl_xchg_rate in number default null
712 ,p_pl_uom in varchar2 default null
713 ,p_pl_ordr_num in number default null
714 ,p_oipl_ordr_num in number default null
716 ,p_opt_count in number default null
717 ,p_uses_bdgt_flag in varchar2 default null
718 ,p_prsrv_bdgt_cd in varchar2 default null
719 ,p_upd_start_dt in date default null
720 ,p_upd_end_dt in date default null
721 ,p_approval_mode in varchar2 default null
722 ,p_enrt_perd_start_dt in date default null
723 ,p_enrt_perd_end_dt in date default null
724 ,p_yr_perd_start_dt in date default null
725 ,p_yr_perd_end_dt in date default null
726 ,p_wthn_yr_start_dt in date default null
727 ,p_wthn_yr_end_dt in date default null
728 ,p_enrt_perd_id in number default null
729 ,p_yr_perd_id in number default null
730 ,p_business_group_id in number default null
731 ,p_perf_revw_strt_dt in date default null
732 ,p_asg_updt_eff_date in date default null
733 ,p_emp_interview_typ_cd in varchar2 default null
734 ,p_salary_change_reason in varchar2 default null
735 ,p_ws_abr_id in number default null
736 ,p_ws_nnmntry_uom in varchar2 default null
737 ,p_ws_rndg_cd in varchar2 default null
738 ,p_ws_sub_acty_typ_cd in varchar2 default null
739 ,p_dist_bdgt_abr_id in number default null
740 ,p_dist_bdgt_nnmntry_uom in varchar2 default null
741 ,p_dist_bdgt_rndg_cd in varchar2 default null
742 ,p_ws_bdgt_abr_id in number default null
743 ,p_ws_bdgt_nnmntry_uom in varchar2 default null
744 ,p_ws_bdgt_rndg_cd in varchar2 default null
745 ,p_rsrv_abr_id in number default null
746 ,p_rsrv_nnmntry_uom in varchar2 default null
747 ,p_rsrv_rndg_cd in varchar2 default null
748 ,p_elig_sal_abr_id in number default null
749 ,p_elig_sal_nnmntry_uom in varchar2 default null
750 ,p_elig_sal_rndg_cd in varchar2 default null
751 ,p_misc1_abr_id in number default null
752 ,p_misc1_nnmntry_uom in varchar2 default null
753 ,p_misc1_rndg_cd in varchar2 default null
754 ,p_misc2_abr_id in number default null
755 ,p_misc2_nnmntry_uom in varchar2 default null
756 ,p_misc2_rndg_cd in varchar2 default null
757 ,p_misc3_abr_id in number default null
758 ,p_misc3_nnmntry_uom in varchar2 default null
759 ,p_misc3_rndg_cd in varchar2 default null
760 ,p_stat_sal_abr_id in number default null
761 ,p_stat_sal_nnmntry_uom in varchar2 default null
762 ,p_stat_sal_rndg_cd in varchar2 default null
763 ,p_rec_abr_id in number default null
764 ,p_rec_nnmntry_uom in varchar2 default null
765 ,p_rec_rndg_cd in varchar2 default null
766 ,p_tot_comp_abr_id in number default null
767 ,p_tot_comp_nnmntry_uom in varchar2 default null
768 ,p_tot_comp_rndg_cd in varchar2 default null
769 ,p_oth_comp_abr_id in number default null
770 ,p_oth_comp_nnmntry_uom in varchar2 default null
771 ,p_oth_comp_rndg_cd in varchar2 default null
772 ,p_actual_flag in varchar2 default null
773 ,p_acty_ref_perd_cd in varchar2 default null
774 ,p_legislation_code in varchar2 default null
775 ,p_pl_annulization_factor in number default null
776 ,p_pl_stat_cd in varchar2 default null
777 ,p_uom_precision in number default null
778 ,p_ws_element_type_id in number default null
779 ,p_ws_input_value_id in number default null
780 ,p_data_freeze_date in date default null
781 ,p_ws_amt_edit_cd in varchar2 default null
782 ,p_ws_amt_edit_enf_cd_for_nul in varchar2 default null
783 ,p_ws_over_budget_edit_cd in varchar2 default null
784 ,p_ws_over_budget_tol_pct in number default null
785 ,p_bdgt_over_budget_edit_cd in varchar2 default null
786 ,p_bdgt_over_budget_tol_pct in number default null
787 ,p_auto_distr_flag in varchar2 default null
788 ,p_pqh_document_short_name in varchar2 default null
789 ,p_ovrid_rt_strt_dt in date default null
790 ,p_do_not_process_flag in varchar2 default null
791 ,p_ovr_perf_revw_strt_dt in date default null
792 ,p_post_zero_salary_increase in varchar2 default null
793 ,p_show_appraisals_n_days in number default null
794 ,p_grade_range_validation in varchar2 default null
795 ,p_object_version_number out nocopy number
796 ,p_email_password_protected in varchar2 default null
797 ,p_email_cc_manager in varchar2 default null
798 ,p_email_subject in varchar2 default null
799 ,p_email_content in clob default empty_clob()
800 ,p_email_sample_address in varchar2 default null
801 ) is
802 --
803 l_rec ben_cpd_shd.g_rec_type;
804 l_proc varchar2(72) := g_package||'ins';
805 --
806 Begin
807 hr_utility.set_location('Entering:'||l_proc, 5);
808 --
809 -- Call conversion function to turn arguments into the
810 -- p_rec structure.
811 --
812 l_rec :=
813 ben_cpd_shd.convert_args
814 (p_pl_id
815 ,p_oipl_id
816 ,p_lf_evt_ocrd_dt
817 ,p_effective_date
818 ,p_name
819 ,p_group_pl_id
820 ,p_group_oipl_id
821 ,p_opt_hidden_flag
822 ,p_opt_id
823 ,p_pl_uom
824 ,p_pl_ordr_num
825 ,p_oipl_ordr_num
826 ,p_pl_xchg_rate
827 ,p_opt_count
828 ,p_uses_bdgt_flag
829 ,p_prsrv_bdgt_cd
830 ,p_upd_start_dt
831 ,p_upd_end_dt
832 ,p_approval_mode
833 ,p_enrt_perd_start_dt
834 ,p_enrt_perd_end_dt
835 ,p_yr_perd_start_dt
836 ,p_yr_perd_end_dt
837 ,p_wthn_yr_start_dt
838 ,p_wthn_yr_end_dt
839 ,p_enrt_perd_id
840 ,p_yr_perd_id
841 ,p_business_group_id
842 ,p_perf_revw_strt_dt
843 ,p_asg_updt_eff_date
844 ,p_emp_interview_typ_cd
845 ,p_salary_change_reason
846 ,p_ws_abr_id
847 ,p_ws_nnmntry_uom
848 ,p_ws_rndg_cd
849 ,p_ws_sub_acty_typ_cd
850 ,p_dist_bdgt_abr_id
851 ,p_dist_bdgt_nnmntry_uom
852 ,p_dist_bdgt_rndg_cd
853 ,p_ws_bdgt_abr_id
854 ,p_ws_bdgt_nnmntry_uom
855 ,p_ws_bdgt_rndg_cd
856 ,p_rsrv_abr_id
857 ,p_rsrv_nnmntry_uom
858 ,p_rsrv_rndg_cd
859 ,p_elig_sal_abr_id
860 ,p_elig_sal_nnmntry_uom
861 ,p_elig_sal_rndg_cd
862 ,p_misc1_abr_id
863 ,p_misc1_nnmntry_uom
864 ,p_misc1_rndg_cd
865 ,p_misc2_abr_id
866 ,p_misc2_nnmntry_uom
867 ,p_misc2_rndg_cd
868 ,p_misc3_abr_id
869 ,p_misc3_nnmntry_uom
870 ,p_misc3_rndg_cd
871 ,p_stat_sal_abr_id
872 ,p_stat_sal_nnmntry_uom
873 ,p_stat_sal_rndg_cd
874 ,p_rec_abr_id
875 ,p_rec_nnmntry_uom
876 ,p_rec_rndg_cd
877 ,p_tot_comp_abr_id
878 ,p_tot_comp_nnmntry_uom
879 ,p_tot_comp_rndg_cd
880 ,p_oth_comp_abr_id
881 ,p_oth_comp_nnmntry_uom
882 ,p_oth_comp_rndg_cd
883 ,p_actual_flag
884 ,p_acty_ref_perd_cd
885 ,p_legislation_code
886 ,p_pl_annulization_factor
887 ,p_pl_stat_cd
888 ,p_uom_precision
889 ,p_ws_element_type_id
890 ,p_ws_input_value_id
891 ,p_data_freeze_date
892 ,p_ws_amt_edit_cd
893 ,p_ws_amt_edit_enf_cd_for_nul
894 ,p_ws_over_budget_edit_cd
895 ,p_ws_over_budget_tol_pct
896 ,p_bdgt_over_budget_edit_cd
897 ,p_bdgt_over_budget_tol_pct
898 ,p_auto_distr_flag
899 ,p_pqh_document_short_name
900 ,p_ovrid_rt_strt_dt
901 ,p_do_not_process_flag
902 ,p_ovr_perf_revw_strt_dt
903 ,p_post_zero_salary_increase
904 ,p_show_appraisals_n_days
905 ,p_grade_range_validation
906 ,null
907 ,p_email_password_protected
908 ,p_email_cc_manager
909 ,p_email_subject
910 ,p_email_content
911 ,p_email_sample_address
912 );
913 --
914 -- Having converted the arguments into the ben_cpd_rec
915 -- plsql record structure we call the corresponding record business process.
916 --
917 ben_cpd_ins.ins
918 (l_rec
919 );
920 --
921 -- As the primary key argument(s)
922 -- are specified as an OUT's we must set these values.
923 --
924 p_object_version_number := l_rec.object_version_number;
925 --
926 hr_utility.set_location(' Leaving:'||l_proc, 10);
927 End ins;
928 --
929 end ben_cpd_ins;