DBA Data[Home] [Help]

PACKAGE BODY: APPS.BEN_CPD_INS

Source


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