DBA Data[Home] [Help]

PACKAGE BODY: APPS.BEN_PLN_SHD

Source


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