DBA Data[Home] [Help]

PACKAGE BODY: APPS.BEN_PLN_INS

Source


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