DBA Data[Home] [Help]

PACKAGE BODY: APPS.BEN_PLN_INS

Source


1 Package Body ben_pln_ins as
2 /* $Header: beplnrhi.pkb 120.8.12010000.2 2008/08/18 09:47:19 ubhat ship $ */
3 --
4 -- ----------------------------------------------------------------------------
5 -- |                     Private Global Definitions                           |
6 -- ----------------------------------------------------------------------------
7 --
8 g_package  varchar2(33)    := '  ben_pln_ins.';  -- Global package name
9 --
10 -- ----------------------------------------------------------------------------
11 -- |----------------------------< dt_insert_dml >-----------------------------|
12 -- ----------------------------------------------------------------------------
13 -- {Start Of Comments}
14 --
15 -- Description:
16 --   This procedure controls the actual dml insert logic for datetrack. The
17 --   functions of this procedure are as follows:
18 --   1) Get the object_version_number.
19 --   2) To set the effective start and end dates to the corresponding
20 --      validation start and end dates. Also, the object version number
21 --      record attribute is set.
22 --   3) To set and unset the g_api_dml status as required (as we are about to
23 --      perform dml).
24 --   4) To insert the row into the schema with the derived effective start
25 --      and end dates and the object version number.
26 --   5) To trap any constraint violations that may have occurred.
27 --   6) To raise any other errors.
28 --
29 -- Prerequisites:
30 --   This is an internal private procedure which must be called from the
31 --   insert_dml and pre_update (logic permitting) procedure and must have
32 --   all mandatory arguments set.
33 --
34 -- In Parameters:
35 --   A Pl/Sql record structre.
36 --
37 -- Post Success:
38 --   The specified row will be inserted into the schema.
39 --
40 -- Post Failure:
41 --   On the insert dml failure it is important to note that we always reset the
42 --   g_api_dml status to false.
43 --   If a check or unique integrity constraint violation is raised the
44 --   constraint_error procedure will be called.
45 --   If any other error is reported, the error will be raised after the
46 --   g_api_dml status is reset.
47 --
48 -- Developer Implementation Notes:
49 --   This is an internal datetrack maintenance procedure which should
50 --   not be modified in anyway.
51 --
52 -- Access Status:
53 --   Internal Row Handler Use Only.
54 --
55 -- {End Of Comments}
56 -- ----------------------------------------------------------------------------
57 Procedure dt_insert_dml
58     (p_rec              in out nocopy ben_pln_shd.g_rec_type,
59      p_effective_date     in    date,
60      p_datetrack_mode     in    varchar2,
61      p_validation_start_date in    date,
62      p_validation_end_date     in    date) is
63 --
64 -- Cursor to select 'old' created AOL who column values
65 --
66   Cursor C_Sel1 Is
67     select t.created_by,
68            t.creation_date
69     from   ben_pl_f t
70     where  t.pl_id       = p_rec.pl_id
71     and    t.effective_start_date =
72              ben_pln_shd.g_old_rec.effective_start_date
73     and    t.effective_end_date   = (p_validation_start_date - 1);
74 --
75   l_proc        varchar2(72) := g_package||'dt_insert_dml';
76   l_created_by          ben_pl_f.created_by%TYPE;
77   l_creation_date       ben_pl_f.creation_date%TYPE;
78   l_last_update_date    ben_pl_f.last_update_date%TYPE;
79   l_last_updated_by     ben_pl_f.last_updated_by%TYPE;
80   l_last_update_login   ben_pl_f.last_update_login%TYPE;
81 --
82 Begin
83   hr_utility.set_location('Entering:'||l_proc, 5);
84   --
85   -- Get the object version number for the insert
86   --
87   p_rec.object_version_number :=
88     dt_api.get_object_version_number
89     (p_base_table_name => 'ben_pl_f',
90      p_base_key_column => 'pl_id',
91      p_base_key_value  => p_rec.pl_id);
92   --
93   -- Set the effective start and end dates to the corresponding
94   -- validation start and end dates
95   --
96   p_rec.effective_start_date := p_validation_start_date;
97   p_rec.effective_end_date   := p_validation_end_date;
98   --
99   -- If the datetrack_mode is not INSERT then we must populate the WHO
100   -- columns with the 'old' creation values and 'new' updated values.
101   --
102   If (p_datetrack_mode <> 'INSERT') then
103     hr_utility.set_location(l_proc, 10);
104     --
105     -- Select the 'old' created values
106     --
107     Open C_Sel1;
108     Fetch C_Sel1 Into l_created_by, l_creation_date;
109     If C_Sel1%notfound Then
110       --
111       -- The previous 'old' created row has not been found. We need
112       -- to error as an internal datetrack problem exists.
113       --
114       Close C_Sel1;
115       fnd_message.set_name('PAY', 'HR_6153_ALL_PROCEDURE_FAIL');
116       fnd_message.set_token('PROCEDURE', l_proc);
117       fnd_message.set_token('STEP','10');
118       fnd_message.raise_error;
119     End If;
120     Close C_Sel1;
121     --
122     -- Set the AOL updated WHO values
123     --
124     l_last_update_date   := sysdate;
125     l_last_updated_by    := fnd_global.user_id;
126     l_last_update_login  := fnd_global.login_id;
127   End If;
128   --
129    ben_pln_shd.g_api_dml := true;  -- Set the api dml status
130   --
131   -- Insert the row into: ben_pl_f
132   --
133   insert into ben_pl_f
134     (pl_id
135     ,effective_start_date
136     ,effective_end_date
137     ,name
138     ,alws_qdro_flag
139     ,alws_qmcso_flag
140     ,alws_reimbmts_flag
141     ,bnf_addl_instn_txt_alwd_flag
142     ,bnf_adrs_rqd_flag
143     ,bnf_cntngt_bnfs_alwd_flag
144     ,bnf_ctfn_rqd_flag
145     ,bnf_dob_rqd_flag
146     ,bnf_dsge_mnr_ttee_rqd_flag
147     ,bnf_incrmt_amt
148     ,bnf_dflt_bnf_cd
149     ,bnf_legv_id_rqd_flag
150     ,bnf_may_dsgt_org_flag
151     ,bnf_mn_dsgntbl_amt
152     ,bnf_mn_dsgntbl_pct_val
153     ,rqd_perd_enrt_nenrt_val
154     ,ordr_num
155     ,bnf_pct_incrmt_val
156     ,bnf_pct_amt_alwd_cd
157     ,bnf_qdro_rl_apls_flag
158     ,dflt_to_asn_pndg_ctfn_cd
159     ,dflt_to_asn_pndg_ctfn_rl
160     ,drvbl_fctr_apls_rts_flag
161     ,drvbl_fctr_prtn_elig_flag
162     ,dpnt_dsgn_cd
163     ,elig_apls_flag
164     ,invk_dcln_prtn_pl_flag
165     ,invk_flx_cr_pl_flag
166     ,imptd_incm_calc_cd
167     ,drvbl_dpnt_elig_flag
168     ,trk_inelig_per_flag
169     ,pl_cd
170     ,auto_enrt_mthd_rl
171     ,ivr_ident
172     ,url_ref_name
173     ,cmpr_clms_to_cvg_or_bal_cd
174     ,cobra_pymt_due_dy_num
175     ,dpnt_cvd_by_othr_apls_flag
176     ,enrt_mthd_cd
177     ,enrt_cd
178     ,enrt_cvg_strt_dt_cd
179     ,enrt_cvg_end_dt_cd
180     ,frfs_aply_flag
181     ,hc_pl_subj_hcfa_aprvl_flag
182     ,hghly_cmpd_rl_apls_flag
183     ,incptn_dt
184     ,mn_cvg_rl
185     ,mn_cvg_rqd_amt
186     ,mn_opts_rqd_num
187     ,mx_cvg_alwd_amt
188     ,mx_cvg_rl
189     ,mx_opts_alwd_num
190     ,mx_cvg_wcfn_mlt_num
191     ,mx_cvg_wcfn_amt
192     ,mx_cvg_incr_alwd_amt
193     ,mx_cvg_incr_wcf_alwd_amt
194     ,mx_cvg_mlt_incr_num
195     ,mx_cvg_mlt_incr_wcf_num
196     ,mx_wtg_dt_to_use_cd
197     ,mx_wtg_dt_to_use_rl
198     ,mx_wtg_perd_prte_uom
199     ,mx_wtg_perd_prte_val
200     ,mx_wtg_perd_rl
201     ,nip_dflt_enrt_cd
202     ,nip_dflt_enrt_det_rl
203     ,dpnt_adrs_rqd_flag
204     ,dpnt_cvg_end_dt_cd
205     ,dpnt_cvg_end_dt_rl
206     ,dpnt_cvg_strt_dt_cd
207     ,dpnt_cvg_strt_dt_rl
208     ,dpnt_dob_rqd_flag
209     ,dpnt_leg_id_rqd_flag
210     ,dpnt_no_ctfn_rqd_flag
211     ,no_mn_cvg_amt_apls_flag
212     ,no_mn_cvg_incr_apls_flag
213     ,no_mn_opts_num_apls_flag
214     ,no_mx_cvg_amt_apls_flag
215     ,no_mx_cvg_incr_apls_flag
216     ,no_mx_opts_num_apls_flag
217     ,nip_pl_uom
218     ,rqd_perd_enrt_nenrt_uom
219     ,nip_acty_ref_perd_cd
220     ,nip_enrt_info_rt_freq_cd
221     ,per_cvrd_cd
222     ,enrt_cvg_end_dt_rl
223     ,postelcn_edit_rl
224     ,enrt_cvg_strt_dt_rl
225     ,prort_prtl_yr_cvg_rstrn_cd
226     ,prort_prtl_yr_cvg_rstrn_rl
227     ,prtn_elig_ovrid_alwd_flag
228     ,svgs_pl_flag
229     ,subj_to_imptd_incm_typ_cd
230     ,use_all_asnts_elig_flag
231     ,use_all_asnts_for_rt_flag
232     ,vstg_apls_flag
233     ,wvbl_flag
234     ,hc_svc_typ_cd
235     ,pl_stat_cd
236     ,prmry_fndg_mthd_cd
237     ,rt_end_dt_cd
238     ,rt_end_dt_rl
239     ,rt_strt_dt_rl
240     ,rt_strt_dt_cd
241     ,bnf_dsgn_cd
242     ,pl_typ_id
243     ,business_group_id
244     ,enrt_pl_opt_flag
245     ,bnft_prvdr_pool_id
246     ,may_enrl_pl_n_oipl_flag
247     ,enrt_rl
248     ,rqd_perd_enrt_nenrt_rl
249     ,alws_unrstrctd_enrt_flag
250     ,bnft_or_option_rstrctn_cd
251     ,cvg_incr_r_decr_only_cd
252     ,unsspnd_enrt_cd
253     ,pln_attribute_category
254     ,pln_attribute1
255     ,pln_attribute2
256     ,pln_attribute3
257     ,pln_attribute4
258     ,pln_attribute5
259     ,pln_attribute6
260     ,pln_attribute7
261     ,pln_attribute8
262     ,pln_attribute9
263     ,pln_attribute10
264     ,pln_attribute11
265     ,pln_attribute12
266     ,pln_attribute13
267     ,pln_attribute14
268     ,pln_attribute15
269     ,pln_attribute16
270     ,pln_attribute17
271     ,pln_attribute18
272     ,pln_attribute19
273     ,pln_attribute20
274     ,pln_attribute21
275     ,pln_attribute22
276     ,pln_attribute23
277     ,pln_attribute24
278     ,pln_attribute25
279     ,pln_attribute26
280     ,pln_attribute27
281     ,pln_attribute28
282     ,pln_attribute29
283     ,pln_attribute30
284     ,susp_if_ctfn_not_prvd_flag
285     ,ctfn_determine_cd
286     ,susp_if_dpnt_ssn_nt_prv_cd
287     ,susp_if_dpnt_dob_nt_prv_cd
288     ,susp_if_dpnt_adr_nt_prv_cd
289     ,susp_if_ctfn_not_dpnt_flag
290     ,susp_if_bnf_ssn_nt_prv_cd
291     ,susp_if_bnf_dob_nt_prv_cd
292     ,susp_if_bnf_adr_nt_prv_cd
293     ,susp_if_ctfn_not_bnf_flag
294     ,dpnt_ctfn_determine_cd
295     ,bnf_ctfn_determine_cd
296     ,object_version_number
297     ,actl_prem_id
298     ,vrfy_fmly_mmbr_cd
299     ,vrfy_fmly_mmbr_rl
300     ,created_by
301     ,creation_date
302     ,last_update_date
303     ,last_updated_by
304     ,last_update_login
305     ,alws_tmpry_id_crd_flag
306     ,nip_dflt_flag
307     ,frfs_distr_mthd_cd
308     ,frfs_distr_mthd_rl
309     ,frfs_cntr_det_cd
310     ,frfs_distr_det_cd
311     ,cost_alloc_keyflex_1_id
312     ,cost_alloc_keyflex_2_id
313     ,post_to_gl_flag
314     ,frfs_val_det_cd
315     ,frfs_mx_cryfwd_val
316     ,frfs_portion_det_cd
317     ,bndry_perd_cd
318     ,short_name
319     ,short_code
320     ,legislation_code
321     ,legislation_subgroup
322     ,group_pl_id
323     ,mapping_table_name
324     ,mapping_table_pk_id
325     ,function_code
326     ,pl_yr_not_applcbl_flag
327     ,use_csd_rsd_prccng_cd
328     )
329   values
330     (p_rec.pl_id
331     ,p_rec.effective_start_date
332     ,p_rec.effective_end_date
333     ,p_rec.name
334     ,p_rec.alws_qdro_flag
335     ,p_rec.alws_qmcso_flag
336     ,p_rec.alws_reimbmts_flag
337     ,p_rec.bnf_addl_instn_txt_alwd_flag
338     ,p_rec.bnf_adrs_rqd_flag
339     ,p_rec.bnf_cntngt_bnfs_alwd_flag
340     ,p_rec.bnf_ctfn_rqd_flag
341     ,p_rec.bnf_dob_rqd_flag
342     ,p_rec.bnf_dsge_mnr_ttee_rqd_flag
343     ,p_rec.bnf_incrmt_amt
344     ,p_rec.bnf_dflt_bnf_cd
345     ,p_rec.bnf_legv_id_rqd_flag
346     ,p_rec.bnf_may_dsgt_org_flag
347     ,p_rec.bnf_mn_dsgntbl_amt
348     ,p_rec.bnf_mn_dsgntbl_pct_val
349     ,p_rec.rqd_perd_enrt_nenrt_val
350     ,p_rec.ordr_num
351     ,p_rec.bnf_pct_incrmt_val
352     ,p_rec.bnf_pct_amt_alwd_cd
353     ,p_rec.bnf_qdro_rl_apls_flag
354     ,p_rec.dflt_to_asn_pndg_ctfn_cd
355     ,p_rec.dflt_to_asn_pndg_ctfn_rl
356     ,p_rec.drvbl_fctr_apls_rts_flag
357     ,p_rec.drvbl_fctr_prtn_elig_flag
358     ,p_rec.dpnt_dsgn_cd
359     ,p_rec.elig_apls_flag
360     ,p_rec.invk_dcln_prtn_pl_flag
361     ,p_rec.invk_flx_cr_pl_flag
362     ,p_rec.imptd_incm_calc_cd
363     ,p_rec.drvbl_dpnt_elig_flag
364     ,p_rec.trk_inelig_per_flag
365     ,p_rec.pl_cd
366     ,p_rec.auto_enrt_mthd_rl
367     ,p_rec.ivr_ident
368     ,p_rec.url_ref_name
369     ,p_rec.cmpr_clms_to_cvg_or_bal_cd
370     ,p_rec.cobra_pymt_due_dy_num
371     ,p_rec.dpnt_cvd_by_othr_apls_flag
372     ,p_rec.enrt_mthd_cd
373     ,p_rec.enrt_cd
374     ,p_rec.enrt_cvg_strt_dt_cd
375     ,p_rec.enrt_cvg_end_dt_cd
376     ,p_rec.frfs_aply_flag
377     ,p_rec.hc_pl_subj_hcfa_aprvl_flag
378     ,p_rec.hghly_cmpd_rl_apls_flag
379     ,p_rec.incptn_dt
380     ,p_rec.mn_cvg_rl
381     ,p_rec.mn_cvg_rqd_amt
382     ,p_rec.mn_opts_rqd_num
383     ,p_rec.mx_cvg_alwd_amt
384     ,p_rec.mx_cvg_rl
385     ,p_rec.mx_opts_alwd_num
386     ,p_rec.mx_cvg_wcfn_mlt_num
387     ,p_rec.mx_cvg_wcfn_amt
388     ,p_rec.mx_cvg_incr_alwd_amt
389     ,p_rec.mx_cvg_incr_wcf_alwd_amt
390     ,p_rec.mx_cvg_mlt_incr_num
391     ,p_rec.mx_cvg_mlt_incr_wcf_num
392     ,p_rec.mx_wtg_dt_to_use_cd
393     ,p_rec.mx_wtg_dt_to_use_rl
394     ,p_rec.mx_wtg_perd_prte_uom
395     ,p_rec.mx_wtg_perd_prte_val
396     ,p_rec.mx_wtg_perd_rl
397     ,p_rec.nip_dflt_enrt_cd
398     ,p_rec.nip_dflt_enrt_det_rl
399     ,p_rec.dpnt_adrs_rqd_flag
400     ,p_rec.dpnt_cvg_end_dt_cd
401     ,p_rec.dpnt_cvg_end_dt_rl
402     ,p_rec.dpnt_cvg_strt_dt_cd
403     ,p_rec.dpnt_cvg_strt_dt_rl
404     ,p_rec.dpnt_dob_rqd_flag
405     ,p_rec.dpnt_leg_id_rqd_flag
406     ,p_rec.dpnt_no_ctfn_rqd_flag
407     ,p_rec.no_mn_cvg_amt_apls_flag
408     ,p_rec.no_mn_cvg_incr_apls_flag
409     ,p_rec.no_mn_opts_num_apls_flag
410     ,p_rec.no_mx_cvg_amt_apls_flag
411     ,p_rec.no_mx_cvg_incr_apls_flag
412     ,p_rec.no_mx_opts_num_apls_flag
413     ,p_rec.nip_pl_uom
414     ,p_rec.rqd_perd_enrt_nenrt_uom
415     ,p_rec.nip_acty_ref_perd_cd
416     ,p_rec.nip_enrt_info_rt_freq_cd
417     ,p_rec.per_cvrd_cd
418     ,p_rec.enrt_cvg_end_dt_rl
419     ,p_rec.postelcn_edit_rl
420     ,p_rec.enrt_cvg_strt_dt_rl
421     ,p_rec.prort_prtl_yr_cvg_rstrn_cd
422     ,p_rec.prort_prtl_yr_cvg_rstrn_rl
423     ,p_rec.prtn_elig_ovrid_alwd_flag
424     ,p_rec.svgs_pl_flag
425     ,p_rec.subj_to_imptd_incm_typ_cd
426     ,p_rec.use_all_asnts_elig_flag
427     ,p_rec.use_all_asnts_for_rt_flag
428     ,p_rec.vstg_apls_flag
429     ,p_rec.wvbl_flag
430     ,p_rec.hc_svc_typ_cd
431     ,p_rec.pl_stat_cd
432     ,p_rec.prmry_fndg_mthd_cd
433     ,p_rec.rt_end_dt_cd
434     ,p_rec.rt_end_dt_rl
435     ,p_rec.rt_strt_dt_rl
436     ,p_rec.rt_strt_dt_cd
437     ,p_rec.bnf_dsgn_cd
438     ,p_rec.pl_typ_id
439     ,p_rec.business_group_id
440     ,p_rec.enrt_pl_opt_flag
441     ,p_rec.bnft_prvdr_pool_id
442     ,p_rec.may_enrl_pl_n_oipl_flag
443     ,p_rec.enrt_rl
444     ,p_rec.rqd_perd_enrt_nenrt_rl
445     ,p_rec.alws_unrstrctd_enrt_flag
446     ,p_rec.bnft_or_option_rstrctn_cd
447     ,p_rec.cvg_incr_r_decr_only_cd
448     ,p_rec.unsspnd_enrt_cd
449     ,p_rec.pln_attribute_category
450     ,p_rec.pln_attribute1
451     ,p_rec.pln_attribute2
452     ,p_rec.pln_attribute3
453     ,p_rec.pln_attribute4
454     ,p_rec.pln_attribute5
455     ,p_rec.pln_attribute6
456     ,p_rec.pln_attribute7
457     ,p_rec.pln_attribute8
458     ,p_rec.pln_attribute9
459     ,p_rec.pln_attribute10
460     ,p_rec.pln_attribute11
461     ,p_rec.pln_attribute12
462     ,p_rec.pln_attribute13
463     ,p_rec.pln_attribute14
464     ,p_rec.pln_attribute15
468     ,p_rec.pln_attribute19
465     ,p_rec.pln_attribute16
466     ,p_rec.pln_attribute17
467     ,p_rec.pln_attribute18
469     ,p_rec.pln_attribute20
470     ,p_rec.pln_attribute21
471     ,p_rec.pln_attribute22
472     ,p_rec.pln_attribute23
473     ,p_rec.pln_attribute24
474     ,p_rec.pln_attribute25
475     ,p_rec.pln_attribute26
476     ,p_rec.pln_attribute27
477     ,p_rec.pln_attribute28
478     ,p_rec.pln_attribute29
479     ,p_rec.pln_attribute30
480     ,p_rec.susp_if_ctfn_not_prvd_flag
481     ,p_rec.ctfn_determine_cd
482     ,p_rec.susp_if_dpnt_ssn_nt_prv_cd
483     ,p_rec.susp_if_dpnt_dob_nt_prv_cd
484     ,p_rec.susp_if_dpnt_adr_nt_prv_cd
485     ,p_rec.susp_if_ctfn_not_dpnt_flag
486     ,p_rec.susp_if_bnf_ssn_nt_prv_cd
487     ,p_rec.susp_if_bnf_dob_nt_prv_cd
488     ,p_rec.susp_if_bnf_adr_nt_prv_cd
489     ,p_rec.susp_if_ctfn_not_bnf_flag
490     ,p_rec.dpnt_ctfn_determine_cd
491     ,p_rec.bnf_ctfn_determine_cd
492     ,p_rec.object_version_number
493     ,p_rec.actl_prem_id
494     ,p_rec.vrfy_fmly_mmbr_cd
495     ,p_rec.vrfy_fmly_mmbr_rl
496     ,l_created_by
497     ,l_creation_date
498     ,l_last_update_date
499     ,l_last_updated_by
500     ,l_last_update_login
501     ,p_rec.alws_tmpry_id_crd_flag
502     ,p_rec.nip_dflt_flag
503     ,p_rec.frfs_distr_mthd_cd
504     ,p_rec.frfs_distr_mthd_rl
505     ,p_rec.frfs_cntr_det_cd
506     ,p_rec.frfs_distr_det_cd
507     ,p_rec.cost_alloc_keyflex_1_id
508     ,p_rec.cost_alloc_keyflex_2_id
509     ,p_rec.post_to_gl_flag
510     ,p_rec.frfs_val_det_cd
511     ,p_rec.frfs_mx_cryfwd_val
512     ,p_rec.frfs_portion_det_cd
513     ,p_rec.bndry_perd_cd
514     ,p_rec.short_name
515     ,p_rec.short_code
516     ,p_rec.legislation_code
517     ,p_rec.legislation_subgroup
518     ,p_rec.group_pl_id
519     ,p_rec.mapping_table_name
520     ,p_rec.mapping_table_pk_id
521     ,p_rec.function_code
522     ,p_rec.pl_yr_not_applcbl_flag
523     ,p_rec.use_csd_rsd_prccng_cd
524     );
525   --
526   ben_pln_shd.g_api_dml := false;   -- Unset the api dml status
527   hr_utility.set_location(' Leaving:'||l_proc, 15);
528 --
529 Exception
530   When hr_api.check_integrity_violated Then
531     -- A check constraint has been violated
532     ben_pln_shd.g_api_dml := false;   -- Unset the api dml status
533     ben_pln_shd.constraint_error
534       (p_constraint_name => hr_api.strip_constraint_name(SQLERRM));
535   When hr_api.unique_integrity_violated Then
536     -- Unique integrity has been violated
537     ben_pln_shd.g_api_dml := false;   -- Unset the api dml status
538     ben_pln_shd.constraint_error
539       (p_constraint_name => hr_api.strip_constraint_name(SQLERRM));
540   When Others Then
541     ben_pln_shd.g_api_dml := false;   -- Unset the api dml status
542     Raise;
543 End dt_insert_dml;
544 --
545 -- ----------------------------------------------------------------------------
546 -- |------------------------------< insert_dml >------------------------------|
547 -- ----------------------------------------------------------------------------
548 Procedure insert_dml
549     (p_rec              in out nocopy ben_pln_shd.g_rec_type,
550      p_effective_date     in    date,
551      p_datetrack_mode     in    varchar2,
552      p_validation_start_date in    date,
553      p_validation_end_date     in    date) is
554 --
555   l_proc    varchar2(72) := g_package||'insert_dml';
556 --
557 Begin
558   hr_utility.set_location('Entering:'||l_proc, 5);
559   --
560   dt_insert_dml(p_rec            => p_rec,
561         p_effective_date    => p_effective_date,
562         p_datetrack_mode    => p_datetrack_mode,
563                p_validation_start_date    => p_validation_start_date,
564         p_validation_end_date    => p_validation_end_date);
565   --
566   hr_utility.set_location(' Leaving:'||l_proc, 10);
567 End insert_dml;
568 --
569 -- ----------------------------------------------------------------------------
570 -- |------------------------------< pre_insert >------------------------------|
571 -- ----------------------------------------------------------------------------
572 -- {Start Of Comments}
573 --
574 -- Description:
575 --   This private procedure contains any processing which is required before
576 --   the insert dml. Presently, if the entity has a corresponding primary
577 --   key which is maintained by an associating sequence, the primary key for
578 --   the entity will be populated with the next sequence value in
579 --   preparation for the insert dml.
580 --   Also, if comments are defined for this entity, the comments insert
581 --   logic will also be called, generating a comment_id if required.
582 --
583 -- Prerequisites:
584 --   This is an internal procedure which is called from the ins procedure.
585 --
586 -- In Parameters:
587 --   A Pl/Sql record structre.
588 --
589 -- Post Success:
590 --   Processing continues.
591 --
592 -- Post Failure:
593 --   If an error has occurred, an error message and exception will be raised
594 --   but not handled.
595 --
596 -- Developer Implementation Notes:
597 --   Any pre-processing required before the insert dml is issued should be
598 --   coded within this procedure. As stated above, a good example is the
602 --
599 --   generation of a primary key number via a corresponding sequence.
600 --   It is important to note that any 3rd party maintenance should be reviewed
601 --   before placing in this procedure.
603 -- Access Status:
604 --   Internal Row Handler Use Only.
605 --
606 -- {End Of Comments}
607 -- ----------------------------------------------------------------------------
608 Procedure pre_insert
609     (p_rec              in out nocopy ben_pln_shd.g_rec_type,
610      p_effective_date        in date,
611      p_datetrack_mode        in varchar2,
612      p_validation_start_date    in date,
613      p_validation_end_date        in date) is
614   --
615   l_proc    varchar2(72) := g_package||'pre_insert';
616   --
617   cursor c1 is
618     select ben_pl_f_s.nextval
619     from   sys.dual;
620   --
621  cursor c_pln_typ_opt_typ_cd is
622   select opt_typ_cd
623   from   ben_pl_typ_f
624   where  pl_typ_id = p_rec.pl_typ_id
625   and    business_group_id = p_rec.business_group_id
626   and    p_effective_date
627          between effective_start_date
628          and     effective_end_date
629    ;
630 
631   l_opt_typ_cd  ben_pl_typ_f.opt_typ_cd%type ;
632   --
633 Begin
634   hr_utility.set_location('Entering:'||l_proc, 5);
635   --
636   open c1;
637     --
638     fetch c1 into p_rec.pl_id;
639     --
640   close c1;
641   --- if CWB and the group_pl_id is null then assign the pl_id and mke it parent
642   if p_rec.group_pl_id is null then
643      open c_pln_typ_opt_typ_cd ;
644      fetch c_pln_typ_opt_typ_cd into l_opt_typ_cd ;
645      close c_pln_typ_opt_typ_cd  ;
646      if l_opt_typ_cd = 'CWB' then
647          p_rec.group_pl_id := p_rec.pl_id;
648       hr_utility.set_location('CWB parent plan id :'|| p_rec.group_pl_id, 5);
649      --
650 --ICM Changes
651      elsif l_opt_typ_cd = 'ICM' then
652         --
653 	 p_rec.alws_unrstrctd_enrt_flag := 'Y';
654 	 p_rec.nip_enrt_info_rt_freq_cd := 'PP';
655 	 p_rec.enrt_cvg_strt_dt_cd := 'AED';
656 	 p_rec.enrt_cvg_end_dt_cd := 'ODBED';
657 	 p_rec.trk_inelig_per_flag := 'Y';
658         --
659      end if;
660      --
661 --ICM Changes
662   end if ;
663   --
664   --Bug : 3460429
665   ben_pln_bus.chk_pl_group_id(p_pl_id             => p_rec.pl_id,
666                               p_group_pl_id       => p_rec.group_pl_id,
667                               p_pl_typ_id         => p_rec.pl_typ_id,
668                               p_effective_date    => p_effective_date,
669                               p_name              => p_rec.name
670                               ) ;
671   --Bug : 3460429
672   hr_utility.set_location(' Leaving:'||l_proc, 10);
673 End pre_insert;
674 --
675 -- ----------------------------------------------------------------------------
676 -- |-----------------------------< post_insert >------------------------------|
677 -- ----------------------------------------------------------------------------
678 -- {Start Of Comments}
679 --
680 -- Description:
681 --   This private procedure contains any processing which is required after the
682 --   insert dml.
683 --
684 -- Prerequisites:
685 --   This is an internal procedure which is called from the ins procedure.
686 --
687 -- In Parameters:
688 --   A Pl/Sql record structre.
689 --
690 -- Post Success:
691 --   Processing continues.
692 --
693 -- Post Failure:
694 --   If an error has occurred, an error message and exception will be raised
695 --   but not handled.
696 --
697 -- Developer Implementation Notes:
698 --   Any post-processing required after the insert dml is issued should be
699 --   coded within this procedure. It is important to note that any 3rd party
700 --   maintenance should be reviewed before placing in this procedure.
701 --
702 -- Access Status:
703 --   Internal Row Handler Use Only.
704 --
705 -- {End Of Comments}
706 -- ----------------------------------------------------------------------------
707 Procedure post_insert
708     (p_rec              in ben_pln_shd.g_rec_type,
709      p_effective_date     in date,
710      p_datetrack_mode     in varchar2,
711      p_validation_start_date in date,
712      p_validation_end_date     in date) is
713 --
714   l_proc    varchar2(72) := g_package||'post_insert';
715 --
716 Begin
717   hr_utility.set_location('Entering:'||l_proc, 5);
718   --
719   -- Start of API User Hook for post_insert.
720   --
721   -- Added for GSP validations
722   pqh_gsp_ben_validations.pl_validations
723     	(  p_pl_id			=> p_rec.pl_id
724     	 , p_effective_date 		=> p_effective_date
725     	 , p_business_group_id  	=> p_rec.business_group_id
726     	 , p_dml_operation 		=> 'I'
727     	 , p_pl_Typ_Id			=> p_rec.pl_Typ_Id
728     	 , p_Mapping_Table_PK_ID	=> p_rec.Mapping_Table_PK_ID
729     	 , p_pl_stat_cd			=> p_rec.pl_stat_cd
730     	 );
731 
732 
733   begin
734     --
735 
736     --
737 
738     ben_pln_rki.after_insert
739     (
740       p_pl_id                         => p_rec.pl_id
741      ,p_effective_start_date          => p_rec.effective_start_date
742      ,p_effective_end_date            => p_rec.effective_end_date
743      ,p_name                          => p_rec.name
747      ,p_bnf_addl_instn_txt_alwd_flag  => p_rec.bnf_addl_instn_txt_alwd_flag
744      ,p_alws_qdro_flag                => p_rec.alws_qdro_flag
745      ,p_alws_qmcso_flag               => p_rec.alws_qmcso_flag
746      ,p_alws_reimbmts_flag            => p_rec.alws_reimbmts_flag
748      ,p_bnf_adrs_rqd_flag             => p_rec.bnf_adrs_rqd_flag
749      ,p_bnf_cntngt_bnfs_alwd_flag     => p_rec.bnf_cntngt_bnfs_alwd_flag
750      ,p_bnf_ctfn_rqd_flag             => p_rec.bnf_ctfn_rqd_flag
751      ,p_bnf_dob_rqd_flag              => p_rec.bnf_dob_rqd_flag
752      ,p_bnf_dsge_mnr_ttee_rqd_flag    => p_rec.bnf_dsge_mnr_ttee_rqd_flag
753      ,p_bnf_incrmt_amt                => p_rec.bnf_incrmt_amt
754      ,p_bnf_dflt_bnf_cd               => p_rec.bnf_dflt_bnf_cd
755      ,p_bnf_legv_id_rqd_flag          => p_rec.bnf_legv_id_rqd_flag
756      ,p_bnf_may_dsgt_org_flag         => p_rec.bnf_may_dsgt_org_flag
757      ,p_bnf_mn_dsgntbl_amt            => p_rec.bnf_mn_dsgntbl_amt
758      ,p_bnf_mn_dsgntbl_pct_val        => p_rec.bnf_mn_dsgntbl_pct_val
759      ,p_rqd_perd_enrt_nenrt_val       => p_rec.rqd_perd_enrt_nenrt_val
760      ,p_ordr_num                      => p_rec.ordr_num
761      ,p_bnf_pct_incrmt_val            => p_rec.bnf_pct_incrmt_val
762      ,p_bnf_pct_amt_alwd_cd           => p_rec.bnf_pct_amt_alwd_cd
763      ,p_bnf_qdro_rl_apls_flag         => p_rec.bnf_qdro_rl_apls_flag
764      ,p_dflt_to_asn_pndg_ctfn_cd      => p_rec.dflt_to_asn_pndg_ctfn_cd
765      ,p_dflt_to_asn_pndg_ctfn_rl      => p_rec.dflt_to_asn_pndg_ctfn_rl
766      ,p_drvbl_fctr_apls_rts_flag      => p_rec.drvbl_fctr_apls_rts_flag
767      ,p_drvbl_fctr_prtn_elig_flag     => p_rec.drvbl_fctr_prtn_elig_flag
768      ,p_dpnt_dsgn_cd                  => p_rec.dpnt_dsgn_cd
769      ,p_elig_apls_flag                => p_rec.elig_apls_flag
770      ,p_invk_dcln_prtn_pl_flag        => p_rec.invk_dcln_prtn_pl_flag
771      ,p_invk_flx_cr_pl_flag           => p_rec.invk_flx_cr_pl_flag
772      ,p_imptd_incm_calc_cd            => p_rec.imptd_incm_calc_cd
773      ,p_drvbl_dpnt_elig_flag          => p_rec.drvbl_dpnt_elig_flag
774      ,p_trk_inelig_per_flag           => p_rec.trk_inelig_per_flag
775      ,p_pl_cd                         => p_rec.pl_cd
776      ,p_auto_enrt_mthd_rl             => p_rec.auto_enrt_mthd_rl
777      ,p_ivr_ident                     => p_rec.ivr_ident
778      ,p_url_ref_name                  => p_rec.url_ref_name
779      ,p_cmpr_clms_to_cvg_or_bal_cd    => p_rec.cmpr_clms_to_cvg_or_bal_cd
780      ,p_cobra_pymt_due_dy_num         => p_rec.cobra_pymt_due_dy_num
781      ,p_dpnt_cvd_by_othr_apls_flag    => p_rec.dpnt_cvd_by_othr_apls_flag
782      ,p_enrt_mthd_cd                  => p_rec.enrt_mthd_cd
783      ,p_enrt_cd                       => p_rec.enrt_cd
784      ,p_enrt_cvg_strt_dt_cd           => p_rec.enrt_cvg_strt_dt_cd
785      ,p_enrt_cvg_end_dt_cd            => p_rec.enrt_cvg_end_dt_cd
786      ,p_frfs_aply_flag                => p_rec.frfs_aply_flag
787      ,p_hc_pl_subj_hcfa_aprvl_flag    => p_rec.hc_pl_subj_hcfa_aprvl_flag
788      ,p_hghly_cmpd_rl_apls_flag       => p_rec.hghly_cmpd_rl_apls_flag
789      ,p_incptn_dt                     => p_rec.incptn_dt
790      ,p_mn_cvg_rl                     => p_rec.mn_cvg_rl
791      ,p_mn_cvg_rqd_amt                => p_rec.mn_cvg_rqd_amt
792      ,p_mn_opts_rqd_num               => p_rec.mn_opts_rqd_num
793      ,p_mx_cvg_alwd_amt               => p_rec.mx_cvg_alwd_amt
794      ,p_mx_cvg_rl                     => p_rec.mx_cvg_rl
795      ,p_mx_opts_alwd_num              => p_rec.mx_opts_alwd_num
796      ,p_mx_cvg_wcfn_mlt_num           => p_rec.mx_cvg_wcfn_mlt_num
797      ,p_mx_cvg_wcfn_amt               => p_rec.mx_cvg_wcfn_amt
798      ,p_mx_cvg_incr_alwd_amt          => p_rec.mx_cvg_incr_alwd_amt
799      ,p_mx_cvg_incr_wcf_alwd_amt      => p_rec.mx_cvg_incr_wcf_alwd_amt
800      ,p_mx_cvg_mlt_incr_num           => p_rec.mx_cvg_mlt_incr_num
801      ,p_mx_cvg_mlt_incr_wcf_num       => p_rec.mx_cvg_mlt_incr_wcf_num
802      ,p_mx_wtg_dt_to_use_cd           => p_rec.mx_wtg_dt_to_use_cd
803      ,p_mx_wtg_dt_to_use_rl           => p_rec.mx_wtg_dt_to_use_rl
804      ,p_mx_wtg_perd_prte_uom          => p_rec.mx_wtg_perd_prte_uom
805      ,p_mx_wtg_perd_prte_val          => p_rec.mx_wtg_perd_prte_val
806      ,p_mx_wtg_perd_rl                => p_rec.mx_wtg_perd_rl
807      ,p_nip_dflt_enrt_cd              => p_rec.nip_dflt_enrt_cd
808      ,p_nip_dflt_enrt_det_rl          => p_rec.nip_dflt_enrt_det_rl
809      ,p_dpnt_adrs_rqd_flag            => p_rec.dpnt_adrs_rqd_flag
810      ,p_dpnt_cvg_end_dt_cd            => p_rec.dpnt_cvg_end_dt_cd
811      ,p_dpnt_cvg_end_dt_rl            => p_rec.dpnt_cvg_end_dt_rl
812      ,p_dpnt_cvg_strt_dt_cd           => p_rec.dpnt_cvg_strt_dt_cd
813      ,p_dpnt_cvg_strt_dt_rl           => p_rec.dpnt_cvg_strt_dt_rl
814      ,p_dpnt_dob_rqd_flag             => p_rec.dpnt_dob_rqd_flag
815      ,p_dpnt_leg_id_rqd_flag          => p_rec.dpnt_leg_id_rqd_flag
816      ,p_dpnt_no_ctfn_rqd_flag         => p_rec.dpnt_no_ctfn_rqd_flag
817      ,p_no_mn_cvg_amt_apls_flag       => p_rec.no_mn_cvg_amt_apls_flag
818      ,p_no_mn_cvg_incr_apls_flag      => p_rec.no_mn_cvg_incr_apls_flag
819      ,p_no_mn_opts_num_apls_flag      => p_rec.no_mn_opts_num_apls_flag
820      ,p_no_mx_cvg_amt_apls_flag       => p_rec.no_mx_cvg_amt_apls_flag
821      ,p_no_mx_cvg_incr_apls_flag      => p_rec.no_mx_cvg_incr_apls_flag
822      ,p_no_mx_opts_num_apls_flag      => p_rec.no_mx_opts_num_apls_flag
823      ,p_nip_pl_uom                    => p_rec.nip_pl_uom
824      ,p_rqd_perd_enrt_nenrt_uom       => p_rec.rqd_perd_enrt_nenrt_uom
825      ,p_nip_acty_ref_perd_cd          => p_rec.nip_acty_ref_perd_cd
826      ,p_nip_enrt_info_rt_freq_cd      => p_rec.nip_enrt_info_rt_freq_cd
827      ,p_per_cvrd_cd                   => p_rec.per_cvrd_cd
828      ,p_enrt_cvg_end_dt_rl            => p_rec.enrt_cvg_end_dt_rl
832      ,p_prort_prtl_yr_cvg_rstrn_rl    => p_rec.prort_prtl_yr_cvg_rstrn_rl
829      ,p_postelcn_edit_rl              => p_rec.postelcn_edit_rl
830      ,p_enrt_cvg_strt_dt_rl           => p_rec.enrt_cvg_strt_dt_rl
831      ,p_prort_prtl_yr_cvg_rstrn_cd    => p_rec.prort_prtl_yr_cvg_rstrn_cd
833      ,p_prtn_elig_ovrid_alwd_flag     => p_rec.prtn_elig_ovrid_alwd_flag
834      ,p_svgs_pl_flag                  => p_rec.svgs_pl_flag
835      ,p_subj_to_imptd_incm_typ_cd     => p_rec.subj_to_imptd_incm_typ_cd
836      ,p_use_all_asnts_elig_flag       => p_rec.use_all_asnts_elig_flag
837      ,p_use_all_asnts_for_rt_flag     => p_rec.use_all_asnts_for_rt_flag
838      ,p_vstg_apls_flag                => p_rec.vstg_apls_flag
839      ,p_wvbl_flag                     => p_rec.wvbl_flag
840      ,p_hc_svc_typ_cd                 => p_rec.hc_svc_typ_cd
841      ,p_pl_stat_cd                    => p_rec.pl_stat_cd
842      ,p_prmry_fndg_mthd_cd            => p_rec.prmry_fndg_mthd_cd
843      ,p_rt_end_dt_cd                  => p_rec.rt_end_dt_cd
844      ,p_rt_end_dt_rl                  => p_rec.rt_end_dt_rl
845      ,p_rt_strt_dt_rl                 => p_rec.rt_strt_dt_rl
846      ,p_rt_strt_dt_cd                 => p_rec.rt_strt_dt_cd
847      ,p_bnf_dsgn_cd                   => p_rec.bnf_dsgn_cd
848      ,p_pl_typ_id                     => p_rec.pl_typ_id
849      ,p_business_group_id             => p_rec.business_group_id
850      ,p_enrt_pl_opt_flag              => p_rec.enrt_pl_opt_flag
851      ,p_bnft_prvdr_pool_id            => p_rec.bnft_prvdr_pool_id
852      ,p_MAY_ENRL_PL_N_OIPL_FLAG       => p_rec.may_enrl_pl_n_oipl_flag
853      ,p_ENRT_RL                       => p_rec.ENRT_RL
854      ,p_rqd_perd_enrt_nenrt_rl        => p_rec.rqd_perd_enrt_nENRT_RL
855      ,p_ALWS_UNRSTRCTD_ENRT_FLAG      => p_rec.ALWS_UNRSTRCTD_ENRT_FLAG
856      ,p_BNFT_OR_OPTION_RSTRCTN_CD     => p_rec.BNFT_OR_OPTION_RSTRCTN_CD
857      ,p_CVG_INCR_R_DECR_ONLY_CD       => p_rec.CVG_INCR_R_DECR_ONLY_CD
858      ,p_unsspnd_enrt_cd               => p_rec.unsspnd_enrt_cd
859      ,p_pln_attribute_category        => p_rec.pln_attribute_category
860      ,p_pln_attribute1                => p_rec.pln_attribute1
861      ,p_pln_attribute2                => p_rec.pln_attribute2
862      ,p_pln_attribute3                => p_rec.pln_attribute3
863      ,p_pln_attribute4                => p_rec.pln_attribute4
864      ,p_pln_attribute5                => p_rec.pln_attribute5
865      ,p_pln_attribute6                => p_rec.pln_attribute6
866      ,p_pln_attribute7                => p_rec.pln_attribute7
867      ,p_pln_attribute8                => p_rec.pln_attribute8
868      ,p_pln_attribute9                => p_rec.pln_attribute9
869      ,p_pln_attribute10               => p_rec.pln_attribute10
870      ,p_pln_attribute11               => p_rec.pln_attribute11
871      ,p_pln_attribute12               => p_rec.pln_attribute12
872      ,p_pln_attribute13               => p_rec.pln_attribute13
873      ,p_pln_attribute14               => p_rec.pln_attribute14
874      ,p_pln_attribute15               => p_rec.pln_attribute15
875      ,p_pln_attribute16               => p_rec.pln_attribute16
876      ,p_pln_attribute17               => p_rec.pln_attribute17
877      ,p_pln_attribute18               => p_rec.pln_attribute18
878      ,p_pln_attribute19               => p_rec.pln_attribute19
879      ,p_pln_attribute20               => p_rec.pln_attribute20
880      ,p_pln_attribute21               => p_rec.pln_attribute21
881      ,p_pln_attribute22               => p_rec.pln_attribute22
882      ,p_pln_attribute23               => p_rec.pln_attribute23
883      ,p_pln_attribute24               => p_rec.pln_attribute24
884      ,p_pln_attribute25               => p_rec.pln_attribute25
885      ,p_pln_attribute26               => p_rec.pln_attribute26
886      ,p_pln_attribute27               => p_rec.pln_attribute27
887      ,p_pln_attribute28               => p_rec.pln_attribute28
888      ,p_pln_attribute29               => p_rec.pln_attribute29
889      ,p_pln_attribute30               => p_rec.pln_attribute30
890      ,p_susp_if_ctfn_not_prvd_flag    => p_rec.susp_if_ctfn_not_prvd_flag
891      ,p_ctfn_determine_cd             => p_rec.ctfn_determine_cd
892      ,p_susp_if_dpnt_ssn_nt_prv_cd    => p_rec.susp_if_dpnt_ssn_nt_prv_cd
893      ,p_susp_if_dpnt_dob_nt_prv_cd    => p_rec.susp_if_dpnt_dob_nt_prv_cd
894      ,p_susp_if_dpnt_adr_nt_prv_cd    => p_rec.susp_if_dpnt_adr_nt_prv_cd
895      ,p_susp_if_ctfn_not_dpnt_flag    => p_rec.susp_if_ctfn_not_dpnt_flag
896      ,p_susp_if_bnf_ssn_nt_prv_cd     => p_rec.susp_if_bnf_ssn_nt_prv_cd
897      ,p_susp_if_bnf_dob_nt_prv_cd     => p_rec.susp_if_bnf_dob_nt_prv_cd
898      ,p_susp_if_bnf_adr_nt_prv_cd     => p_rec.susp_if_bnf_adr_nt_prv_cd
899      ,p_susp_if_ctfn_not_bnf_flag     => p_rec.susp_if_ctfn_not_bnf_flag
900      ,p_dpnt_ctfn_determine_cd        => p_rec.dpnt_ctfn_determine_cd
901      ,p_bnf_ctfn_determine_cd         => p_rec.bnf_ctfn_determine_cd
902      ,p_object_version_number         => p_rec.object_version_number
903      ,p_effective_date                => p_effective_date
904      ,p_validation_start_date         => p_validation_start_date
905      ,p_validation_end_date           => p_validation_end_date
906      ,p_actl_prem_id                  => p_rec.actl_prem_id
907      ,p_vrfy_fmly_mmbr_cd             => p_rec.vrfy_fmly_mmbr_cd
908      ,p_vrfy_fmly_mmbr_rl             => p_rec.vrfy_fmly_mmbr_rl
909      ,p_ALWS_TMPRY_ID_CRD_FLAG        => p_rec.ALWS_TMPRY_ID_CRD_FLAG
910      ,p_nip_dflt_flag                 => p_rec.nip_dflt_flag
911      ,p_frfs_distr_mthd_cd            =>  p_rec.frfs_distr_mthd_cd
912      ,p_frfs_distr_mthd_rl            =>  p_rec.frfs_distr_mthd_rl
913      ,p_frfs_cntr_det_cd              =>  p_rec.frfs_cntr_det_cd
914      ,p_frfs_distr_det_cd             =>  p_rec.frfs_distr_det_cd
918      ,p_frfs_val_det_cd               =>  p_rec.frfs_val_det_cd
915      ,p_cost_alloc_keyflex_1_id       =>  p_rec.cost_alloc_keyflex_1_id
916      ,p_cost_alloc_keyflex_2_id       =>  p_rec.cost_alloc_keyflex_2_id
917      ,p_post_to_gl_flag               =>  p_rec.post_to_gl_flag
919      ,p_frfs_mx_cryfwd_val            =>  p_rec.frfs_mx_cryfwd_val
920      ,p_frfs_portion_det_cd           =>  p_rec.frfs_portion_det_cd
921      ,p_bndry_perd_cd                 =>  p_rec.bndry_perd_cd
922      ,p_short_name                    =>  p_rec.short_name
923      ,p_short_code                    =>  p_rec.short_code
924      ,p_legislation_code              =>  p_rec.legislation_code
925      ,p_legislation_subgroup          =>  p_rec.legislation_subgroup
926      ,p_group_pl_id                   =>  p_rec.group_pl_id
927      ,p_mapping_table_name            =>  p_rec.mapping_table_name
928      ,p_mapping_table_pk_id           =>  p_rec.mapping_table_pk_id
929      ,p_function_code                 =>  p_rec.function_code
930      ,p_pl_yr_not_applcbl_flag        =>  p_rec.pl_yr_not_applcbl_flag
931      ,p_use_csd_rsd_prccng_cd         =>  p_rec.use_csd_rsd_prccng_cd
932     );
933     --
934   exception
935     --
936     when hr_api.cannot_find_prog_unit then
937       --
938       hr_api.cannot_find_prog_unit_error
939         (p_module_name => 'ben_pl_f'
940         ,p_hook_type   => 'AI');
941       --
942   end;
943   --
944   -- End of API User Hook for post_insert.
945   --
946   hr_utility.set_location(' Leaving:'||l_proc, 10);
947 End post_insert;
948 --
949 -- ----------------------------------------------------------------------------
950 -- |-------------------------------< ins_lck >--------------------------------|
951 -- ----------------------------------------------------------------------------
952 -- {Start Of Comments}
953 --
954 -- Description:
955 --   The ins_lck process has one main function to perform. When inserting
956 --   a datetracked row, we must validate the DT mode.
957 --   be manipulated.
958 --
959 -- Prerequisites:
960 --   This procedure can only be called for the datetrack mode of INSERT.
961 --
962 -- In Parameters:
963 --
964 -- Post Success:
965 --   On successful completion of the ins_lck process the parental
966 --   datetracked rows will be locked providing the p_enforce_foreign_locking
967 --   argument value is TRUE.
968 --   If the p_enforce_foreign_locking argument value is FALSE then the
969 --   parential rows are not locked.
970 --
971 -- Post Failure:
972 --   The Lck process can fail for:
973 --   1) When attempting to lock the row the row could already be locked by
974 --      another user. This will raise the HR_Api.Object_Locked exception.
975 --   2) When attempting to the lock the parent which doesn't exist.
976 --      For the entity to be locked the parent must exist!
977 --
978 -- Developer Implementation Notes:
979 --   None.
980 --
981 -- Access Status:
982 --   Internal Row Handler Use Only.
983 --
984 -- {End Of Comments}
985 -- ----------------------------------------------------------------------------
986 Procedure ins_lck
987     (p_effective_date     in  date,
988      p_datetrack_mode     in  varchar2,
989      p_rec              in  ben_pln_shd.g_rec_type,
990      p_validation_start_date out nocopy date,
991      p_validation_end_date     out nocopy date) is
992 --
993   l_proc           varchar2(72) := g_package||'ins_lck';
994   l_validation_start_date  date;
995   l_validation_end_date       date;
996   l_validation_start_date1 date;
997   l_validation_end_date1   date;
998 --
999 Begin
1000   hr_utility.set_location('Entering:'||l_proc, 5);
1001   --
1002   -- Validate the datetrack mode mode getting the validation start
1003   -- and end dates for the specified datetrack operation.
1004   --
1005   dt_api.validate_dt_mode
1006     (p_effective_date       => p_effective_date,
1007      p_datetrack_mode       => p_datetrack_mode,
1008      p_base_table_name       => 'ben_pl_f',
1009      p_base_key_column       => 'pl_id',
1010      p_base_key_value        => p_rec.pl_id,
1011      p_parent_table_name1      => 'ff_formulas_f',
1012      p_parent_key_column1      => 'formula_id',
1013      p_parent_key_value1       => p_rec.auto_enrt_mthd_rl,
1014      p_parent_table_name2      => 'ff_formulas_f',
1015      p_parent_key_column2      => 'formula_id',
1016      p_parent_key_value2       => p_rec.mn_cvg_rl,
1017      p_parent_table_name3      => 'ff_formulas_f',
1018      p_parent_key_column3      => 'formula_id',
1019      p_parent_key_value3       => p_rec.mx_cvg_rl,
1020      p_parent_table_name4      => 'ff_formulas_f',
1021      p_parent_key_column4      => 'formula_id',
1022      p_parent_key_value4       => p_rec.mx_wtg_perd_rl,
1023      p_parent_table_name5      => 'ff_formulas_f',
1024      p_parent_key_column5      => 'formula_id',
1025      p_parent_key_value5       => p_rec.dpnt_cvg_strt_dt_rl,
1026      p_parent_table_name6      => 'ff_formulas_f',
1027      p_parent_key_column6      => 'formula_id',
1028      p_parent_key_value6       => p_rec.dpnt_cvg_end_dt_rl,
1029      p_parent_table_name7      => 'ff_formulas_f',
1030      p_parent_key_column7      => 'formula_id',
1031      p_parent_key_value7       => p_rec.postelcn_edit_rl,
1032      p_parent_table_name8      => 'ff_formulas_f',
1033      p_parent_key_column8      => 'formula_id',
1037      p_parent_key_value9       => p_rec.enrt_cvg_end_dt_rl,
1034      p_parent_key_value8       => p_rec.enrt_cvg_strt_dt_rl,
1035      p_parent_table_name9      => 'ff_formulas_f',
1036      p_parent_key_column9      => 'formula_id',
1038      p_parent_table_name10      => 'ff_formulas_f',
1039      p_parent_key_column10      => 'formula_id',
1040      p_parent_key_value10       => p_rec.prort_prtl_yr_cvg_rstrn_rl,
1041      p_enforce_foreign_locking => true,
1042      p_validation_start_date   => l_validation_start_date,
1043      p_validation_end_date       => l_validation_end_date);
1044   --
1045   dt_api.validate_dt_mode
1046     (p_effective_date       => p_effective_date,
1047      p_datetrack_mode       => p_datetrack_mode,
1048      p_base_table_name       => 'ben_pl_f',
1049      p_base_key_column       => 'pl_id',
1050      p_base_key_value        => p_rec.pl_id,
1051      p_parent_table_name1      => 'ff_formulas_f',
1052      p_parent_key_column1      => 'formula_id',
1053      p_parent_key_value1       => p_rec.rt_end_dt_rl,
1054      p_parent_table_name2      => 'ff_formulas_f',
1055      p_parent_key_column2      => 'formula_id',
1056      p_parent_key_value2       => p_rec.rt_strt_dt_rl,
1057      p_parent_table_name3      => 'ben_pl_typ_f',
1058      p_parent_key_column3      => 'pl_typ_id',
1059      p_parent_key_value3       => p_rec.pl_typ_id,
1060      p_parent_table_name4      => 'ff_formulas_f',
1061      p_parent_key_column4      => 'formula_id',
1062      p_parent_key_value4       => p_rec.nip_dflt_enrt_det_rl,
1063      p_parent_table_name5      => 'ff_formulas_f',
1064      p_parent_key_column5      => 'formula_id',
1065      p_parent_key_value5       => p_rec.mx_wtg_dt_to_use_rl,
1066      p_parent_table_name6      => 'ben_bnft_prvdr_pool_f',
1067      p_parent_key_column6      => 'bnft_prvdr_pool_id',
1068      p_parent_key_value6       => p_rec.bnft_prvdr_pool_id,
1069      p_parent_table_name7      => 'ff_formulas_f',
1070      p_parent_key_column7      => 'formula_id',
1071      p_parent_key_value7       => p_rec.ENRT_RL,
1072      p_enforce_foreign_locking => true,
1073      p_validation_start_date   => l_validation_start_date1,
1074      p_validation_end_date       => l_validation_end_date1);
1075   --
1076   -- Set the validation start and end date OUT arguments
1077   --
1078   if l_validation_start_date > l_validation_start_date1 then
1079     --
1080     p_validation_start_date := l_validation_start_date;
1081     --
1082   else
1083     --
1084     p_validation_start_date := l_validation_start_date1;
1085     --
1086   end if;
1087   --
1088   if l_validation_end_date > l_validation_end_date1 then
1089     --
1090     p_validation_end_date := l_validation_end_date1;
1091     --
1092   else
1093     --
1094     p_validation_end_date := l_validation_end_date;
1095     --
1096   end if;
1097   --
1098   hr_utility.set_location(' Leaving:'||l_proc, 10);
1099 --
1100 End ins_lck;
1101 --
1102 -- ----------------------------------------------------------------------------
1103 -- |---------------------------------< ins >----------------------------------|
1104 -- ----------------------------------------------------------------------------
1105 Procedure ins
1106   (
1107   p_rec           in out nocopy ben_pln_shd.g_rec_type,
1108   p_effective_date in     date
1109   ) is
1110 --
1111   l_proc            varchar2(72) := g_package||'ins';
1112   l_datetrack_mode        varchar2(30) := 'INSERT';
1113   l_validation_start_date    date;
1114   l_validation_end_date        date;
1115 --
1116 Begin
1117   hr_utility.set_location('Entering:'||l_proc, 5);
1118   --
1119   -- Call the lock operation
1120   --
1121   ins_lck
1122     (p_effective_date     => p_effective_date,
1123      p_datetrack_mode     => l_datetrack_mode,
1124      p_rec              => p_rec,
1125      p_validation_start_date => l_validation_start_date,
1126      p_validation_end_date     => l_validation_end_date);
1127   --
1128   --
1129   -- Call the supporting insert validate operations
1130   --
1131   ben_pln_bus.insert_validate
1132     (p_rec             => p_rec,
1133      p_effective_date     => p_effective_date,
1134      p_datetrack_mode     => l_datetrack_mode,
1135      p_validation_start_date => l_validation_start_date,
1136      p_validation_end_date     => l_validation_end_date);
1137   --
1138   --
1139   -- Call the supporting pre-insert operation
1140   --
1141   pre_insert
1142      (p_rec             => p_rec,
1143      p_effective_date     => p_effective_date,
1144      p_datetrack_mode     => l_datetrack_mode,
1145      p_validation_start_date => l_validation_start_date,
1146      p_validation_end_date     => l_validation_end_date);
1147   --
1148   -- Insert the row
1149   --
1150   insert_dml
1151      (p_rec             => p_rec,
1152      p_effective_date     => p_effective_date,
1153      p_datetrack_mode     => l_datetrack_mode,
1154      p_validation_start_date => l_validation_start_date,
1155      p_validation_end_date     => l_validation_end_date);
1156   --
1157   -- Call the supporting post-insert operation
1158   --
1159   post_insert
1160      (p_rec             => p_rec,
1161      p_effective_date     => p_effective_date,
1162      p_datetrack_mode     => l_datetrack_mode,
1163      p_validation_start_date => l_validation_start_date,
1164      p_validation_end_date     => l_validation_end_date);
1168 -- |---------------------------------< ins >----------------------------------|
1165 end ins;
1166 --
1167 -- ----------------------------------------------------------------------------
1169 -- ----------------------------------------------------------------------------
1170 Procedure ins
1171   (
1172   p_pl_id                        out nocopy number,
1173   p_effective_start_date         out nocopy date,
1174   p_effective_end_date           out nocopy date,
1175   p_name                         in varchar2,
1176   p_alws_qdro_flag               in varchar2         ,
1177   p_alws_qmcso_flag              in varchar2         ,
1178   p_alws_reimbmts_flag           in varchar2         ,
1179   p_bnf_addl_instn_txt_alwd_flag in varchar2         ,
1180   p_bnf_adrs_rqd_flag            in varchar2         ,
1181   p_bnf_cntngt_bnfs_alwd_flag    in varchar2         ,
1182   p_bnf_ctfn_rqd_flag            in varchar2         ,
1183   p_bnf_dob_rqd_flag             in varchar2         ,
1184   p_bnf_dsge_mnr_ttee_rqd_flag   in varchar2         ,
1185   p_bnf_incrmt_amt               in number           ,
1186   p_bnf_dflt_bnf_cd              in varchar2         ,
1187   p_bnf_legv_id_rqd_flag         in varchar2         ,
1188   p_bnf_may_dsgt_org_flag        in varchar2         ,
1189   p_bnf_mn_dsgntbl_amt           in number           ,
1190   p_bnf_mn_dsgntbl_pct_val       in number           ,
1191   p_rqd_perd_enrt_nenrt_val      in number           ,
1192   p_ordr_num                     in number           ,
1193   p_bnf_pct_incrmt_val           in number           ,
1194   p_bnf_pct_amt_alwd_cd          in varchar2         ,
1195   p_bnf_qdro_rl_apls_flag        in varchar2         ,
1196   p_dflt_to_asn_pndg_ctfn_cd     in varchar2         ,
1197   p_dflt_to_asn_pndg_ctfn_rl     in number           ,
1198   p_drvbl_fctr_apls_rts_flag     in varchar2         ,
1199   p_drvbl_fctr_prtn_elig_flag    in varchar2         ,
1200   p_dpnt_dsgn_cd                 in varchar2         ,
1201   p_elig_apls_flag               in varchar2         ,
1202   p_invk_dcln_prtn_pl_flag       in varchar2         ,
1203   p_invk_flx_cr_pl_flag          in varchar2         ,
1204   p_imptd_incm_calc_cd           in varchar2         ,
1205   p_drvbl_dpnt_elig_flag         in varchar2         ,
1206   p_trk_inelig_per_flag          in varchar2         ,
1207   p_pl_cd                        in varchar2	     ,
1208   p_auto_enrt_mthd_rl            in number           ,
1209   p_ivr_ident                    in varchar2         ,
1210   p_url_ref_name                 in varchar2         ,
1211   p_cmpr_clms_to_cvg_or_bal_cd   in varchar2         ,
1212   p_cobra_pymt_due_dy_num        in number           ,
1213   p_dpnt_cvd_by_othr_apls_flag   in varchar2         ,
1214   p_enrt_mthd_cd                 in varchar2         ,
1215   p_enrt_cd                      in varchar2         ,
1216   p_enrt_cvg_strt_dt_cd          in varchar2         ,
1217   p_enrt_cvg_end_dt_cd           in varchar2         ,
1218   p_frfs_aply_flag               in varchar2         ,
1219   p_hc_pl_subj_hcfa_aprvl_flag   in varchar2         ,
1220   p_hghly_cmpd_rl_apls_flag      in varchar2         ,
1221   p_incptn_dt                    in date             ,
1222   p_mn_cvg_rl                    in number           ,
1223   p_mn_cvg_rqd_amt               in number           ,
1224   p_mn_opts_rqd_num              in number           ,
1225   p_mx_cvg_alwd_amt              in number           ,
1226   p_mx_cvg_rl                    in number           ,
1227   p_mx_opts_alwd_num             in number           ,
1228   p_mx_cvg_wcfn_mlt_num          in number           ,
1229   p_mx_cvg_wcfn_amt              in number           ,
1230   p_mx_cvg_incr_alwd_amt         in number           ,
1231   p_mx_cvg_incr_wcf_alwd_amt     in number           ,
1232   p_mx_cvg_mlt_incr_num          in number           ,
1233   p_mx_cvg_mlt_incr_wcf_num      in number           ,
1234   p_mx_wtg_dt_to_use_cd          in varchar2         ,
1235   p_mx_wtg_dt_to_use_rl          in number           ,
1236   p_mx_wtg_perd_prte_uom         in varchar2         ,
1237   p_mx_wtg_perd_prte_val         in number           ,
1238   p_mx_wtg_perd_rl               in number           ,
1239   p_nip_dflt_enrt_cd             in varchar2         ,
1240   p_nip_dflt_enrt_det_rl         in number           ,
1241   p_dpnt_adrs_rqd_flag           in varchar2         ,
1242   p_dpnt_cvg_end_dt_cd           in varchar2         ,
1243   p_dpnt_cvg_end_dt_rl           in number           ,
1244   p_dpnt_cvg_strt_dt_cd          in varchar2         ,
1245   p_dpnt_cvg_strt_dt_rl          in number           ,
1246   p_dpnt_dob_rqd_flag            in varchar2         ,
1247   p_dpnt_leg_id_rqd_flag         in varchar2         ,
1248   p_dpnt_no_ctfn_rqd_flag        in varchar2         ,
1249   p_no_mn_cvg_amt_apls_flag      in varchar2         ,
1250   p_no_mn_cvg_incr_apls_flag     in varchar2         ,
1251   p_no_mn_opts_num_apls_flag     in varchar2         ,
1252   p_no_mx_cvg_amt_apls_flag      in varchar2         ,
1253   p_no_mx_cvg_incr_apls_flag     in varchar2         ,
1254   p_no_mx_opts_num_apls_flag     in varchar2         ,
1255   p_nip_pl_uom                   in varchar2         ,
1256   p_rqd_perd_enrt_nenrt_uom      in varchar2         ,
1257   p_nip_acty_ref_perd_cd         in varchar2         ,
1258   p_nip_enrt_info_rt_freq_cd     in varchar2         ,
1259   p_per_cvrd_cd                  in varchar2         ,
1260   p_enrt_cvg_end_dt_rl           in number           ,
1264   p_prort_prtl_yr_cvg_rstrn_rl   in number           ,
1261   p_postelcn_edit_rl             in number           ,
1262   p_enrt_cvg_strt_dt_rl          in number           ,
1263   p_prort_prtl_yr_cvg_rstrn_cd   in varchar2         ,
1265   p_prtn_elig_ovrid_alwd_flag    in varchar2         ,
1266   p_svgs_pl_flag                 in varchar2         ,
1267   p_subj_to_imptd_incm_typ_cd    in varchar2         ,
1268   p_use_all_asnts_elig_flag      in varchar2         ,
1269   p_use_all_asnts_for_rt_flag    in varchar2         ,
1270   p_vstg_apls_flag               in varchar2         ,
1271   p_wvbl_flag                    in varchar2         ,
1272   p_hc_svc_typ_cd                in varchar2         ,
1273   p_pl_stat_cd                   in varchar2         ,
1274   p_prmry_fndg_mthd_cd           in varchar2         ,
1275   p_rt_end_dt_cd                 in varchar2         ,
1276   p_rt_end_dt_rl                 in number           ,
1277   p_rt_strt_dt_rl                in number           ,
1278   p_rt_strt_dt_cd                in varchar2         ,
1279   p_bnf_dsgn_cd                  in varchar2         ,
1280   p_pl_typ_id                    in number,
1281   p_business_group_id            in number,
1282   p_enrt_pl_opt_flag             in varchar2,
1283   p_bnft_prvdr_pool_id           in number,
1284   p_MAY_ENRL_PL_N_OIPL_FLAG      in VARCHAR2,
1285   p_ENRT_RL                      in NUMBER,
1286   p_rqd_perd_enrt_nenrt_rl       in NUMBER,
1287   p_ALWS_UNRSTRCTD_ENRT_FLAG     in VARCHAR2,
1288   p_BNFT_OR_OPTION_RSTRCTN_CD    in VARCHAR2,
1289   p_CVG_INCR_R_DECR_ONLY_CD      in VARCHAR2,
1290   p_unsspnd_enrt_cd              in varchar2         ,
1291   p_pln_attribute_category       in varchar2         ,
1292   p_pln_attribute1               in varchar2         ,
1293   p_pln_attribute2               in varchar2         ,
1294   p_pln_attribute3               in varchar2         ,
1295   p_pln_attribute4               in varchar2         ,
1296   p_pln_attribute5               in varchar2         ,
1297   p_pln_attribute6               in varchar2         ,
1298   p_pln_attribute7               in varchar2         ,
1299   p_pln_attribute8               in varchar2         ,
1300   p_pln_attribute9               in varchar2         ,
1301   p_pln_attribute10              in varchar2         ,
1302   p_pln_attribute11              in varchar2         ,
1303   p_pln_attribute12              in varchar2         ,
1304   p_pln_attribute13              in varchar2         ,
1305   p_pln_attribute14              in varchar2         ,
1306   p_pln_attribute15              in varchar2         ,
1307   p_pln_attribute16              in varchar2         ,
1308   p_pln_attribute17              in varchar2         ,
1309   p_pln_attribute18              in varchar2         ,
1310   p_pln_attribute19              in varchar2         ,
1311   p_pln_attribute20              in varchar2         ,
1312   p_pln_attribute21              in varchar2         ,
1313   p_pln_attribute22              in varchar2         ,
1314   p_pln_attribute23              in varchar2         ,
1315   p_pln_attribute24              in varchar2         ,
1316   p_pln_attribute25              in varchar2         ,
1317   p_pln_attribute26              in varchar2         ,
1318   p_pln_attribute27              in varchar2         ,
1319   p_pln_attribute28              in varchar2         ,
1320   p_pln_attribute29              in varchar2         ,
1321   p_pln_attribute30              in varchar2         ,
1322   p_susp_if_ctfn_not_prvd_flag     in  varchar2 ,
1323   p_ctfn_determine_cd              in  varchar2 ,
1324   p_susp_if_dpnt_ssn_nt_prv_cd     in  varchar2 ,
1325   p_susp_if_dpnt_dob_nt_prv_cd     in  varchar2 ,
1326   p_susp_if_dpnt_adr_nt_prv_cd     in  varchar2 ,
1327   p_susp_if_ctfn_not_dpnt_flag     in  varchar2 ,
1328   p_susp_if_bnf_ssn_nt_prv_cd      in  varchar2 ,
1329   p_susp_if_bnf_dob_nt_prv_cd      in  varchar2 ,
1330   p_susp_if_bnf_adr_nt_prv_cd      in  varchar2 ,
1331   p_susp_if_ctfn_not_bnf_flag      in  varchar2 ,
1332   p_dpnt_ctfn_determine_cd         in  varchar2 ,
1333   p_bnf_ctfn_determine_cd          in  varchar2 ,
1334   p_object_version_number        out nocopy number,
1335   p_actl_prem_id                 in number           ,
1336   p_effective_date               in date,
1337   p_vrfy_fmly_mmbr_cd            in varchar2         ,
1338   p_vrfy_fmly_mmbr_rl            in number           ,
1339   p_ALWS_TMPRY_ID_CRD_FLAG       in VARCHAR2,
1340   p_nip_dflt_flag                in varchar2         ,
1341   p_frfs_distr_mthd_cd           in  varchar2  ,
1342   p_frfs_distr_mthd_rl           in  number    ,
1343   p_frfs_cntr_det_cd             in  varchar2  ,
1344   p_frfs_distr_det_cd            in  varchar2  ,
1345   p_cost_alloc_keyflex_1_id      in  number    ,
1346   p_cost_alloc_keyflex_2_id      in  number    ,
1347   p_post_to_gl_flag              in  varchar2  ,
1348   p_frfs_val_det_cd              in  varchar2  ,
1349   p_frfs_mx_cryfwd_val           in  number    ,
1350   p_frfs_portion_det_cd          in  varchar2  ,
1351   p_bndry_perd_cd                in  varchar2  ,
1352   p_short_name			 in  varchar2 ,
1353   p_short_code			 in  varchar2,
1354   p_legislation_code		 in  varchar2,
1355   p_legislation_subgroup	 in  varchar2,
1356   p_group_pl_id			 in  number,
1357   p_mapping_table_name           in  varchar2,
1358   p_mapping_table_pk_id          in  number,
1359   p_function_code                in  varchar2,
1363     ) is
1360   p_pl_yr_not_applcbl_flag       in  varchar2,
1361   p_use_csd_rsd_prccng_cd        in  varchar2
1362 
1364 --
1365   l_rec        ben_pln_shd.g_rec_type;
1366   l_proc    varchar2(72) := g_package||'ins';
1367 --
1368 Begin
1369   hr_utility.set_location('Entering:'||l_proc, 5);
1370   --
1371   -- Call conversion function to turn arguments into the
1372   -- p_rec structure.
1373   --
1374   l_rec :=
1375   ben_pln_shd.convert_args
1376   (
1377      null
1378     ,null
1379     ,null
1380     ,p_name
1381     ,p_alws_qdro_flag
1382     ,p_alws_qmcso_flag
1383     ,p_alws_reimbmts_flag
1384     ,p_bnf_addl_instn_txt_alwd_flag
1385     ,p_bnf_adrs_rqd_flag
1386     ,p_bnf_cntngt_bnfs_alwd_flag
1387     ,p_bnf_ctfn_rqd_flag
1388     ,p_bnf_dob_rqd_flag
1389     ,p_bnf_dsge_mnr_ttee_rqd_flag
1390     ,p_bnf_incrmt_amt
1391     ,p_bnf_dflt_bnf_cd
1392     ,p_bnf_legv_id_rqd_flag
1393     ,p_bnf_may_dsgt_org_flag
1394     ,p_bnf_mn_dsgntbl_amt
1395     ,p_bnf_mn_dsgntbl_pct_val
1396     ,p_rqd_perd_enrt_nenrt_val
1397     ,p_ordr_num
1398     ,p_bnf_pct_incrmt_val
1399     ,p_bnf_pct_amt_alwd_cd
1400     ,p_bnf_qdro_rl_apls_flag
1401     ,p_dflt_to_asn_pndg_ctfn_cd
1402     ,p_dflt_to_asn_pndg_ctfn_rl
1403     ,p_drvbl_fctr_apls_rts_flag
1404     ,p_drvbl_fctr_prtn_elig_flag
1405     ,p_dpnt_dsgn_cd
1406     ,p_elig_apls_flag
1407     ,p_invk_dcln_prtn_pl_flag
1408     ,p_invk_flx_cr_pl_flag
1409     ,p_imptd_incm_calc_cd
1410     ,p_drvbl_dpnt_elig_flag
1411     ,p_trk_inelig_per_flag
1412     ,p_pl_cd
1413     ,p_auto_enrt_mthd_rl
1414     ,p_ivr_ident
1415     ,p_url_ref_name
1416     ,p_cmpr_clms_to_cvg_or_bal_cd
1417     ,p_cobra_pymt_due_dy_num
1418     ,p_dpnt_cvd_by_othr_apls_flag
1419     ,p_enrt_mthd_cd
1420     ,p_enrt_cd
1421     ,p_enrt_cvg_strt_dt_cd
1422     ,p_enrt_cvg_end_dt_cd
1423     ,p_frfs_aply_flag
1424     ,p_hc_pl_subj_hcfa_aprvl_flag
1425     ,p_hghly_cmpd_rl_apls_flag
1426     ,p_incptn_dt
1427     ,p_mn_cvg_rl
1428     ,p_mn_cvg_rqd_amt
1429     ,p_mn_opts_rqd_num
1430     ,p_mx_cvg_alwd_amt
1431     ,p_mx_cvg_rl
1432     ,p_mx_opts_alwd_num
1433     ,p_mx_cvg_wcfn_mlt_num
1434     ,p_mx_cvg_wcfn_amt
1435     ,p_mx_cvg_incr_alwd_amt
1436     ,p_mx_cvg_incr_wcf_alwd_amt
1437     ,p_mx_cvg_mlt_incr_num
1438     ,p_mx_cvg_mlt_incr_wcf_num
1439     ,p_mx_wtg_dt_to_use_cd
1440     ,p_mx_wtg_dt_to_use_rl
1441     ,p_mx_wtg_perd_prte_uom
1442     ,p_mx_wtg_perd_prte_val
1443     ,p_mx_wtg_perd_rl
1444     ,p_nip_dflt_enrt_cd
1445     ,p_nip_dflt_enrt_det_rl
1446     ,p_dpnt_adrs_rqd_flag
1447     ,p_dpnt_cvg_end_dt_cd
1448     ,p_dpnt_cvg_end_dt_rl
1449     ,p_dpnt_cvg_strt_dt_cd
1450     ,p_dpnt_cvg_strt_dt_rl
1451     ,p_dpnt_dob_rqd_flag
1452     ,p_dpnt_leg_id_rqd_flag
1453     ,p_dpnt_no_ctfn_rqd_flag
1454     ,p_no_mn_cvg_amt_apls_flag
1455     ,p_no_mn_cvg_incr_apls_flag
1456     ,p_no_mn_opts_num_apls_flag
1457     ,p_no_mx_cvg_amt_apls_flag
1458     ,p_no_mx_cvg_incr_apls_flag
1459     ,p_no_mx_opts_num_apls_flag
1460     ,p_nip_pl_uom
1461     ,p_rqd_perd_enrt_nenrt_uom
1462     ,p_nip_acty_ref_perd_cd
1463     ,p_nip_enrt_info_rt_freq_cd
1464     ,p_per_cvrd_cd
1465     ,p_enrt_cvg_end_dt_rl
1466     ,p_postelcn_edit_rl
1467     ,p_enrt_cvg_strt_dt_rl
1468     ,p_prort_prtl_yr_cvg_rstrn_cd
1469     ,p_prort_prtl_yr_cvg_rstrn_rl
1470     ,p_prtn_elig_ovrid_alwd_flag
1471     ,p_svgs_pl_flag
1472     ,p_subj_to_imptd_incm_typ_cd
1473     ,p_use_all_asnts_elig_flag
1474     ,p_use_all_asnts_for_rt_flag
1475     ,p_vstg_apls_flag
1476     ,p_wvbl_flag
1477     ,p_hc_svc_typ_cd
1478     ,p_pl_stat_cd
1479     ,p_prmry_fndg_mthd_cd
1480     ,p_rt_end_dt_cd
1481     ,p_rt_end_dt_rl
1482     ,p_rt_strt_dt_rl
1483     ,p_rt_strt_dt_cd
1484     ,p_bnf_dsgn_cd
1485     ,p_pl_typ_id
1486     ,p_business_group_id
1487     ,p_enrt_pl_opt_flag
1488     ,p_bnft_prvdr_pool_id
1489     ,p_MAY_ENRL_PL_N_OIPL_FLAG
1490     ,p_ENRT_RL
1491     ,p_rqd_perd_enrt_nenrt_rl
1492     ,p_ALWS_UNRSTRCTD_ENRT_FLAG
1493     ,p_BNFT_OR_OPTION_RSTRCTN_CD
1494     ,p_CVG_INCR_R_DECR_ONLY_CD
1495     ,p_unsspnd_enrt_cd
1496     ,p_pln_attribute_category
1497     ,p_pln_attribute1
1498     ,p_pln_attribute2
1499     ,p_pln_attribute3
1500     ,p_pln_attribute4
1501     ,p_pln_attribute5
1502     ,p_pln_attribute6
1503     ,p_pln_attribute7
1504     ,p_pln_attribute8
1505     ,p_pln_attribute9
1506     ,p_pln_attribute10
1507     ,p_pln_attribute11
1508     ,p_pln_attribute12
1509     ,p_pln_attribute13
1510     ,p_pln_attribute14
1511     ,p_pln_attribute15
1512     ,p_pln_attribute16
1513     ,p_pln_attribute17
1514     ,p_pln_attribute18
1515     ,p_pln_attribute19
1516     ,p_pln_attribute20
1517     ,p_pln_attribute21
1518     ,p_pln_attribute22
1519     ,p_pln_attribute23
1520     ,p_pln_attribute24
1521     ,p_pln_attribute25
1522     ,p_pln_attribute26
1523     ,p_pln_attribute27
1524     ,p_pln_attribute28
1525     ,p_pln_attribute29
1526     ,p_pln_attribute30
1527     ,p_susp_if_ctfn_not_prvd_flag
1528     ,p_ctfn_determine_cd
1532     ,p_susp_if_ctfn_not_dpnt_flag
1529     ,p_susp_if_dpnt_ssn_nt_prv_cd
1530     ,p_susp_if_dpnt_dob_nt_prv_cd
1531     ,p_susp_if_dpnt_adr_nt_prv_cd
1533     ,p_susp_if_bnf_ssn_nt_prv_cd
1534     ,p_susp_if_bnf_dob_nt_prv_cd
1535     ,p_susp_if_bnf_adr_nt_prv_cd
1536     ,p_susp_if_ctfn_not_bnf_flag
1537     ,p_dpnt_ctfn_determine_cd
1538     ,p_bnf_ctfn_determine_cd
1539     ,null
1540     ,p_actl_prem_id
1541     ,p_vrfy_fmly_mmbr_cd
1542     ,p_vrfy_fmly_mmbr_rl
1543     ,p_ALWS_TMPRY_ID_CRD_FLAG
1544     ,p_nip_dflt_flag
1545     ,p_frfs_distr_mthd_cd
1546     ,p_frfs_distr_mthd_rl
1547     ,p_frfs_cntr_det_cd
1548     ,p_frfs_distr_det_cd
1549     ,p_cost_alloc_keyflex_1_id
1550     ,p_cost_alloc_keyflex_2_id
1551     ,p_post_to_gl_flag
1552     ,p_frfs_val_det_cd
1553     ,p_frfs_mx_cryfwd_val
1554     ,p_frfs_portion_det_cd
1555     ,p_bndry_perd_cd
1556     ,p_short_name
1557     ,p_short_code
1558     ,p_legislation_code
1559     ,p_legislation_subgroup
1560     ,p_group_pl_id
1561     ,p_mapping_table_name
1562     ,p_mapping_table_pk_id
1563     ,p_function_code
1564     ,p_pl_yr_not_applcbl_flag
1565     ,p_use_csd_rsd_prccng_cd
1566 
1567   );
1568   --
1569   -- Having converted the arguments into the ben_pln_rec
1570   -- plsql record structure we call the corresponding record
1571   -- business process.
1572   --
1573   ins(l_rec, p_effective_date);
1574   --
1575   -- Set the OUT arguments.
1576   --
1577   p_pl_id            := l_rec.pl_id;
1578   p_effective_start_date      := l_rec.effective_start_date;
1579   p_effective_end_date        := l_rec.effective_end_date;
1580   p_object_version_number     := l_rec.object_version_number;
1581   --
1582   --
1583   hr_utility.set_location(' Leaving:'||l_proc, 10);
1584 End ins;
1585 --
1586 end ben_pln_ins;