DBA Data[Home] [Help]

PACKAGE BODY: APPS.BEN_ABR_INS

Source


1 Package Body ben_abr_ins as
2 /* $Header: beabrrhi.pkb 120.18 2008/05/15 10:36:51 krupani ship $ */
3 --
4 -- ----------------------------------------------------------------------------
5 -- |                     Private Global Definitions                           |
6 -- ----------------------------------------------------------------------------
7 --
8 g_package  varchar2(33)	:= '  ben_abr_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_abr_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_acty_base_rt_f t
70     where  t.acty_base_rt_id       = p_rec.acty_base_rt_id
71     and    t.effective_start_date =
72              ben_abr_shd.g_old_rec.effective_start_date
73     and    t.effective_end_date   = (p_validation_start_date - 1);
74 
75   --Added for Bug 6881417
76   cursor c_oipl is
77      select pl_id
78      from   ben_oipl_f
79      where  oipl_id = p_rec.oipl_id
80      and    p_effective_date between effective_start_date and effective_end_date;
81 
82 cursor c_plip is
83      select pl_id
84      from   ben_plip_f
85      where  plip_id = p_rec.plip_id
86      and    p_effective_date between effective_start_date and effective_end_date;
87 
88 cursor c_oiplip is
89 select pl_id
90 from ben_oiplip_f opp,
91      ben_oipl_f   op
92 where opp.oiplip_id = p_rec.oiplip_id
93      and opp.oipl_id = op.oipl_id
94      and  p_effective_date between opp.effective_start_date and opp.effective_end_date
95      and  p_effective_date between op.effective_start_date and op.effective_end_date;
96 
97 cursor c_pl_typ(p_pl_id number) is
98   select opt_typ_cd
99   from   ben_pl_typ_f ptp,
100          ben_pl_f pln
101   where  pln.pl_id = p_pl_id
102   and	 ptp.pl_typ_id = pln.pl_typ_id
103   and    p_effective_date between pln.effective_start_date and pln.effective_end_date
104   and    p_effective_date between ptp.effective_start_date and ptp.effective_end_date;
105 --
106 l_opt_typ_cd ben_pl_typ_f.opt_typ_cd%TYPE;
107 l_pl_id number;
108 --End of Code for Bug 6881417
109 
110 --
111   l_proc		varchar2(72) := g_package||'dt_insert_dml';
112   l_created_by          ben_acty_base_rt_f.created_by%TYPE;
113   l_creation_date       ben_acty_base_rt_f.creation_date%TYPE;
114   l_last_update_date   	ben_acty_base_rt_f.last_update_date%TYPE;
115   l_last_updated_by     ben_acty_base_rt_f.last_updated_by%TYPE;
116   l_last_update_login   ben_acty_base_rt_f.last_update_login%TYPE;
117 --
118 Begin
119   hr_utility.set_location('Entering:'||l_proc, 5);
120   --
121   -- Get the object version number for the insert
122   --
123   p_rec.object_version_number :=
124     dt_api.get_object_version_number
125 	(p_base_table_name => 'ben_acty_base_rt_f',
126 	 p_base_key_column => 'acty_base_rt_id',
127 	 p_base_key_value  => p_rec.acty_base_rt_id);
128   --
129   -- Set the effective start and end dates to the corresponding
130   -- validation start and end dates
131   --
132   p_rec.effective_start_date := p_validation_start_date;
133   p_rec.effective_end_date   := p_validation_end_date;
134   --
135   -- If the datetrack_mode is not INSERT then we must populate the WHO
136   -- columns with the 'old' creation values and 'new' updated values.
137   --
138   If (p_datetrack_mode <> 'INSERT') then
139     hr_utility.set_location(l_proc, 10);
140     --
141     -- Select the 'old' created values
142     --
143     Open C_Sel1;
144     Fetch C_Sel1 Into l_created_by, l_creation_date;
145     If C_Sel1%notfound Then
146       --
147       -- The previous 'old' created row has not been found. We need
148       -- to error as an internal datetrack problem exists.
149       --
150       Close C_Sel1;
151       fnd_message.set_name('PAY', 'HR_6153_ALL_PROCEDURE_FAIL');
152       fnd_message.set_token('PROCEDURE', l_proc);
153       fnd_message.set_token('STEP','10');
154       fnd_message.raise_error;
155     End If;
156     Close C_Sel1;
157     --
158     -- Set the AOL updated WHO values
159     --
160     l_last_update_date   := sysdate;
161     l_last_updated_by    := fnd_global.user_id;
162     l_last_update_login  := fnd_global.login_id;
163   End If;
164   --
165   ben_abr_shd.g_api_dml := true;  -- Set the api dml status
166   --
167   -- Insert the row into: ben_acty_base_rt_f
168   --
169   hr_utility.set_location('total rate befr insert '||p_rec.TTL_COMP_LVL_FCTR_ID, 99);
170 
171   --Added for Bug 6881417
172   if( p_rec.pl_id is not null) then
173     open c_pl_typ(p_rec.pl_id);
174     fetch c_pl_typ into l_opt_typ_cd;
175     close c_pl_typ;
176   end if;
177 
178   if( p_rec.plip_id is not null) then
179     open c_plip;
180     fetch c_plip into l_pl_id;
181     close c_plip;
182 
183      open c_pl_typ(l_pl_id);
184     fetch c_pl_typ into l_opt_typ_cd;
185     close c_pl_typ;
186   end if;
187 
188   if( p_rec.oipl_id is not null) then
189     open c_oipl;
190     fetch c_oipl into l_pl_id;
191     close c_oipl;
192 
193     open c_pl_typ(l_pl_id);
194     fetch c_pl_typ into l_opt_typ_cd;
195     close c_pl_typ;
196   end if;
197 
198   if( p_rec.oiplip_id is not null) then
199     open c_oiplip;
200     fetch c_oiplip into l_pl_id;
201     close c_oiplip;
202 
203     open c_pl_typ(l_pl_id);
204     fetch c_pl_typ into l_opt_typ_cd;
205     close c_pl_typ;
206   end if;
207   --Added for Bug 6881417
208 
209   -- Added if..else condition for Bug 6881417, Element related information should not be copied for ICD plans thru PDC
210   if(ben_abr_bus.g_ssben_call and l_opt_typ_cd='ICM') then
211 
212    fnd_file.put_line(fnd_file.log, 'Element and Input Value not copied for Rate Defintion '||p_rec.name);
213    ben_abr_bus.g_ssben_var := ben_abr_bus.g_ssben_var || p_rec.name ||' ,';
214    insert into ben_acty_base_rt_f
215    (	acty_base_rt_id,
216 	effective_start_date,
217 	effective_end_date,
218 	ordr_num,
219 	acty_typ_cd,
220 	sub_acty_typ_cd,
221 	element_type_id,
222         input_value_id,
223         input_va_calc_rl,
224         comp_lvl_fctr_id,
225         parnt_acty_base_rt_id,
226 	pgm_id,
227 	pl_id,
228 	oipl_id,
229         opt_id,
230         oiplip_id,
231 	plip_id,
232 	ptip_id,
233 	cmbn_ptip_opt_id,
234 	vstg_for_acty_rt_id,
235         actl_prem_id,
236         ALWS_CHG_CD,
237         ele_entry_val_cd,
238         TTL_COMP_LVL_FCTR_ID,
239         COST_ALLOCATION_KEYFLEX_ID,
240 	rt_typ_cd,
241         bnft_rt_typ_cd,
242 	tx_typ_cd,
243 	use_to_calc_net_flx_cr_flag,
244 	asn_on_enrt_flag,
245 	abv_mx_elcn_val_alwd_flag,
246 	blw_mn_elcn_alwd_flag,
247 	parnt_chld_cd,
248 	use_calc_acty_bs_rt_flag,
249 	uses_ded_sched_flag,
250 	uses_varbl_rt_flag,
251 	vstg_sched_apls_flag,
252 	rt_mlt_cd,
253 	proc_each_pp_dflt_flag,
254 	prdct_flx_cr_when_elig_flag,
255 	no_std_rt_used_flag,
256 	rcrrg_cd,
257 	mn_elcn_val,
258 	mx_elcn_val,
259         lwr_lmt_val,
260         lwr_lmt_calc_rl,
261         upr_lmt_val,
262         upr_lmt_calc_rl,
263         ptd_comp_lvl_fctr_id,
264         clm_comp_lvl_fctr_id,
265         entr_ann_val_flag,
266         ann_mn_elcn_val,
267         ann_mx_elcn_val,
268         wsh_rl_dy_mo_num,
269 	uses_pymt_sched_flag,
270 	nnmntry_uom,
271 	val,
272 	incrmt_elcn_val,
273 	rndg_cd,
274 	val_ovrid_alwd_flag,
275 	prtl_mo_det_mthd_cd,
276 	acty_base_rt_stat_cd,
277 	procg_src_cd,
278 	dflt_val,
279         dflt_flag,
280 	frgn_erg_ded_typ_cd,
281 	frgn_erg_ded_name,
282 	frgn_erg_ded_ident,
283 	no_mx_elcn_val_dfnd_flag,
284 	cmbn_plip_id,
285 	cmbn_ptip_id,
286 	prtl_mo_det_mthd_rl,
287 	entr_val_at_enrt_flag,
288 	prtl_mo_eff_dt_det_rl,
289 	rndg_rl,
290 	val_calc_rl,
291 	no_mn_elcn_val_dfnd_flag,
292 	prtl_mo_eff_dt_det_cd,
293         pay_rate_grade_rule_id,
294         rate_periodization_cd,
295         rate_periodization_rl,
296 	business_group_id,
297         only_one_bal_typ_alwd_flag,
298         rt_usg_cd,
299         prort_mn_ann_elcn_val_cd,
300         prort_mn_ann_elcn_val_rl,
301         prort_mx_ann_elcn_val_cd,
302         prort_mx_ann_elcn_val_rl,
303         one_ann_pymt_cd,
304         det_pl_ytd_cntrs_cd,
305         asmt_to_use_cd,
306         ele_rqd_flag,
307         subj_to_imptd_incm_flag,
308         name,
309         dsply_on_enrt_flag,
310 	mn_mx_elcn_rl,
311 	mapping_table_name,
312         mapping_table_pk_id,
313         context_pgm_id,
314 	context_pl_id,
315 	context_opt_id,
316 	element_det_rl,
317 	currency_det_cd,
318 	abr_attribute_category,
319 	abr_attribute1,
320 	abr_attribute2,
321 	abr_attribute3,
322 	abr_attribute4,
323 	abr_attribute5,
324 	abr_attribute6,
325 	abr_attribute7,
326 	abr_attribute8,
327 	abr_attribute9,
328 	abr_attribute10,
329 	abr_attribute11,
330 	abr_attribute12,
331 	abr_attribute13,
332 	abr_attribute14,
333 	abr_attribute15,
334 	abr_attribute16,
335 	abr_attribute17,
336 	abr_attribute18,
337 	abr_attribute19,
338 	abr_attribute20,
339 	abr_attribute21,
340 	abr_attribute22,
341 	abr_attribute23,
342 	abr_attribute24,
343 	abr_attribute25,
344 	abr_attribute26,
345 	abr_attribute27,
346 	abr_attribute28,
347 	abr_attribute29,
348 	abr_attribute30,
349 	abr_seq_num,
350 	object_version_number,
351    	created_by,
352    	creation_date,
353    	last_update_date,
354    	last_updated_by,
355    	last_update_login
356   )
357   Values
358   (	p_rec.acty_base_rt_id,
359 	p_rec.effective_start_date,
360 	p_rec.effective_end_date,
361 	p_rec.ordr_num,
362 	p_rec.acty_typ_cd,
363 	p_rec.sub_acty_typ_cd,
364 	null,
365 	null,
366 	null,
367         p_rec.comp_lvl_fctr_id,
368         p_rec.parnt_acty_base_rt_id,
369 	p_rec.pgm_id,
370 	p_rec.pl_id,
371 	p_rec.oipl_id,
372         p_rec.opt_id,
373         p_rec.oiplip_id,
374 	p_rec.plip_id,
375 	p_rec.ptip_id,
376 	p_rec.cmbn_ptip_opt_id,
377 	p_rec.vstg_for_acty_rt_id,
378         p_rec.actl_prem_id,
379         p_rec.ALWS_CHG_CD,
380         null,
381         p_rec.TTL_COMP_LVL_FCTR_ID,
382         p_rec.COST_ALLOCATION_KEYFLEX_ID,
383 	p_rec.rt_typ_cd,
384         p_rec.bnft_rt_typ_cd,
385 	p_rec.tx_typ_cd,
386 	p_rec.use_to_calc_net_flx_cr_flag,
387 	p_rec.asn_on_enrt_flag,
388 	p_rec.abv_mx_elcn_val_alwd_flag,
389 	p_rec.blw_mn_elcn_alwd_flag,
390 	p_rec.parnt_chld_cd,
391 	p_rec.use_calc_acty_bs_rt_flag,
392 	p_rec.uses_ded_sched_flag,
393 	p_rec.uses_varbl_rt_flag,
394 	p_rec.vstg_sched_apls_flag,
395 	p_rec.rt_mlt_cd,
396 	p_rec.proc_each_pp_dflt_flag,
397 	p_rec.prdct_flx_cr_when_elig_flag,
398 	p_rec.no_std_rt_used_flag,
399 	p_rec.rcrrg_cd,
400 	p_rec.mn_elcn_val,
401 	p_rec.mx_elcn_val,
402         p_rec.lwr_lmt_val,
403         p_rec.lwr_lmt_calc_rl,
404         p_rec.upr_lmt_val,
405         p_rec.upr_lmt_calc_rl,
406         p_rec.ptd_comp_lvl_fctr_id,
407         p_rec.clm_comp_lvl_fctr_id,
408         p_rec.entr_ann_val_flag,
409         p_rec.ann_mn_elcn_val,
410         p_rec.ann_mx_elcn_val,
411         p_rec.wsh_rl_dy_mo_num,
412 	p_rec.uses_pymt_sched_flag,
413 	p_rec.nnmntry_uom,
414 	p_rec.val,
415 	p_rec.incrmt_elcn_val,
416 	p_rec.rndg_cd,
417 	p_rec.val_ovrid_alwd_flag,
418 	p_rec.prtl_mo_det_mthd_cd,
419 	p_rec.acty_base_rt_stat_cd,
420 	p_rec.procg_src_cd,
421 	p_rec.dflt_val,
422         p_rec.dflt_flag,
423 	p_rec.frgn_erg_ded_typ_cd,
424 	p_rec.frgn_erg_ded_name,
425 	p_rec.frgn_erg_ded_ident,
426 	p_rec.no_mx_elcn_val_dfnd_flag,
427 	p_rec.cmbn_plip_id,
428 	p_rec.cmbn_ptip_id,
429 	p_rec.prtl_mo_det_mthd_rl,
430 	p_rec.entr_val_at_enrt_flag,
431 	p_rec.prtl_mo_eff_dt_det_rl,
432 	p_rec.rndg_rl,
433 	p_rec.val_calc_rl,
434 	p_rec.no_mn_elcn_val_dfnd_flag,
435 	p_rec.prtl_mo_eff_dt_det_cd,
436         p_rec.pay_rate_grade_rule_id,
437         p_rec.rate_periodization_cd,
438         p_rec.rate_periodization_rl,
439 	p_rec.business_group_id,
440         p_rec.only_one_bal_typ_alwd_flag,
441         p_rec.rt_usg_cd,
442         p_rec.prort_mn_ann_elcn_val_cd,
443         p_rec.prort_mn_ann_elcn_val_rl,
444         p_rec.prort_mx_ann_elcn_val_cd,
445         p_rec.prort_mx_ann_elcn_val_rl,
446         p_rec.one_ann_pymt_cd,
447         p_rec.det_pl_ytd_cntrs_cd,
448         p_rec.asmt_to_use_cd,
449         'N',
450         p_rec.subj_to_imptd_incm_flag,
451         p_rec.name,
452         p_rec.dsply_on_enrt_flag,
453 	p_rec.mn_mx_elcn_rl,
454 	p_rec.mapping_table_name,
455 	p_rec.mapping_table_pk_id,
456         p_rec.context_pgm_id,
457 	p_rec.context_pl_id,
458 	p_rec.context_opt_id,
459 	null,
460 	p_rec.currency_det_cd,
461 	p_rec.abr_attribute_category,
462 	p_rec.abr_attribute1,
463 	p_rec.abr_attribute2,
464 	p_rec.abr_attribute3,
465 	p_rec.abr_attribute4,
466 	p_rec.abr_attribute5,
467 	p_rec.abr_attribute6,
468 	p_rec.abr_attribute7,
469 	p_rec.abr_attribute8,
470 	p_rec.abr_attribute9,
471 	p_rec.abr_attribute10,
472 	p_rec.abr_attribute11,
473 	p_rec.abr_attribute12,
474 	p_rec.abr_attribute13,
475 	p_rec.abr_attribute14,
476 	p_rec.abr_attribute15,
477 	p_rec.abr_attribute16,
478 	p_rec.abr_attribute17,
479 	p_rec.abr_attribute18,
480 	p_rec.abr_attribute19,
481 	p_rec.abr_attribute20,
482 	p_rec.abr_attribute21,
483 	p_rec.abr_attribute22,
484 	p_rec.abr_attribute23,
485 	p_rec.abr_attribute24,
486 	p_rec.abr_attribute25,
487 	p_rec.abr_attribute26,
488 	p_rec.abr_attribute27,
489 	p_rec.abr_attribute28,
490 	p_rec.abr_attribute29,
491 	p_rec.abr_attribute30,
492 	p_rec.abr_seq_num,
493 	p_rec.object_version_number,
494 	l_created_by,
495    	l_creation_date,
496    	l_last_update_date,
497    	l_last_updated_by,
498    	l_last_update_login
499   );
500 else
501      insert into ben_acty_base_rt_f
502   (	acty_base_rt_id,
503 	effective_start_date,
504 	effective_end_date,
505 	ordr_num,
506 	acty_typ_cd,
507 	sub_acty_typ_cd,
508 	element_type_id,
509         input_value_id,
510         input_va_calc_rl,
511         comp_lvl_fctr_id,
512         parnt_acty_base_rt_id,
513 	pgm_id,
514 	pl_id,
515 	oipl_id,
516         opt_id,
517         oiplip_id,
518 	plip_id,
519 	ptip_id,
520 	cmbn_ptip_opt_id,
521 	vstg_for_acty_rt_id,
522         actl_prem_id,
523         ALWS_CHG_CD,
524         ele_entry_val_cd,
525         TTL_COMP_LVL_FCTR_ID,
526         COST_ALLOCATION_KEYFLEX_ID,
527 	rt_typ_cd,
528         bnft_rt_typ_cd,
529 	tx_typ_cd,
530 	use_to_calc_net_flx_cr_flag,
531 	asn_on_enrt_flag,
532 	abv_mx_elcn_val_alwd_flag,
533 	blw_mn_elcn_alwd_flag,
534 	parnt_chld_cd,
535 	use_calc_acty_bs_rt_flag,
536 	uses_ded_sched_flag,
537 	uses_varbl_rt_flag,
538 	vstg_sched_apls_flag,
539 	rt_mlt_cd,
540 	proc_each_pp_dflt_flag,
541 	prdct_flx_cr_when_elig_flag,
542 	no_std_rt_used_flag,
543 	rcrrg_cd,
544 	mn_elcn_val,
545 	mx_elcn_val,
546         lwr_lmt_val,
547         lwr_lmt_calc_rl,
548         upr_lmt_val,
549         upr_lmt_calc_rl,
550         ptd_comp_lvl_fctr_id,
551         clm_comp_lvl_fctr_id,
552         entr_ann_val_flag,
553         ann_mn_elcn_val,
554         ann_mx_elcn_val,
555         wsh_rl_dy_mo_num,
556 	uses_pymt_sched_flag,
557 	nnmntry_uom,
558 	val,
559 	incrmt_elcn_val,
560 	rndg_cd,
561 	val_ovrid_alwd_flag,
562 	prtl_mo_det_mthd_cd,
563 	acty_base_rt_stat_cd,
564 	procg_src_cd,
565 	dflt_val,
566         dflt_flag,
567 	frgn_erg_ded_typ_cd,
568 	frgn_erg_ded_name,
569 	frgn_erg_ded_ident,
570 	no_mx_elcn_val_dfnd_flag,
571 	cmbn_plip_id,
572 	cmbn_ptip_id,
573 	prtl_mo_det_mthd_rl,
574 	entr_val_at_enrt_flag,
575 	prtl_mo_eff_dt_det_rl,
576 	rndg_rl,
577 	val_calc_rl,
578 	no_mn_elcn_val_dfnd_flag,
579 	prtl_mo_eff_dt_det_cd,
580         pay_rate_grade_rule_id,
581         rate_periodization_cd,
582         rate_periodization_rl,
583 	business_group_id,
584         only_one_bal_typ_alwd_flag,
585         rt_usg_cd,
586         prort_mn_ann_elcn_val_cd,
587         prort_mn_ann_elcn_val_rl,
588         prort_mx_ann_elcn_val_cd,
589         prort_mx_ann_elcn_val_rl,
590         one_ann_pymt_cd,
591         det_pl_ytd_cntrs_cd,
592         asmt_to_use_cd,
593         ele_rqd_flag,
594         subj_to_imptd_incm_flag,
595         name,
596         dsply_on_enrt_flag,
597 	mn_mx_elcn_rl,
598 	mapping_table_name,
599         mapping_table_pk_id,
600         context_pgm_id,
601 	context_pl_id,
602 	context_opt_id,
603 	element_det_rl,
604 	currency_det_cd,
605 	abr_attribute_category,
606 	abr_attribute1,
607 	abr_attribute2,
608 	abr_attribute3,
609 	abr_attribute4,
610 	abr_attribute5,
611 	abr_attribute6,
612 	abr_attribute7,
613 	abr_attribute8,
614 	abr_attribute9,
615 	abr_attribute10,
616 	abr_attribute11,
617 	abr_attribute12,
618 	abr_attribute13,
619 	abr_attribute14,
620 	abr_attribute15,
621 	abr_attribute16,
622 	abr_attribute17,
623 	abr_attribute18,
624 	abr_attribute19,
625 	abr_attribute20,
626 	abr_attribute21,
627 	abr_attribute22,
628 	abr_attribute23,
629 	abr_attribute24,
630 	abr_attribute25,
631 	abr_attribute26,
632 	abr_attribute27,
633 	abr_attribute28,
634 	abr_attribute29,
635 	abr_attribute30,
636 	abr_seq_num,
637 	object_version_number,
638    	created_by,
639    	creation_date,
640    	last_update_date,
641    	last_updated_by,
642    	last_update_login
643   )
644   Values
645   (	p_rec.acty_base_rt_id,
646 	p_rec.effective_start_date,
647 	p_rec.effective_end_date,
648 	p_rec.ordr_num,
649 	p_rec.acty_typ_cd,
650 	p_rec.sub_acty_typ_cd,
651 	p_rec.element_type_id,
652 	p_rec.input_value_id,
653 	p_rec.input_va_calc_rl,
654         p_rec.comp_lvl_fctr_id,
655         p_rec.parnt_acty_base_rt_id,
656 	p_rec.pgm_id,
657 	p_rec.pl_id,
658 	p_rec.oipl_id,
659         p_rec.opt_id,
660         p_rec.oiplip_id,
661 	p_rec.plip_id,
662 	p_rec.ptip_id,
663 	p_rec.cmbn_ptip_opt_id,
664 	p_rec.vstg_for_acty_rt_id,
665         p_rec.actl_prem_id,
666         p_rec.ALWS_CHG_CD,
667         p_rec.ele_entry_val_cd,
668         p_rec.TTL_COMP_LVL_FCTR_ID,
669         p_rec.COST_ALLOCATION_KEYFLEX_ID,
670 	p_rec.rt_typ_cd,
671         p_rec.bnft_rt_typ_cd,
672 	p_rec.tx_typ_cd,
673 	p_rec.use_to_calc_net_flx_cr_flag,
674 	p_rec.asn_on_enrt_flag,
675 	p_rec.abv_mx_elcn_val_alwd_flag,
676 	p_rec.blw_mn_elcn_alwd_flag,
677 	p_rec.parnt_chld_cd,
678 	p_rec.use_calc_acty_bs_rt_flag,
679 	p_rec.uses_ded_sched_flag,
680 	p_rec.uses_varbl_rt_flag,
681 	p_rec.vstg_sched_apls_flag,
682 	p_rec.rt_mlt_cd,
683 	p_rec.proc_each_pp_dflt_flag,
684 	p_rec.prdct_flx_cr_when_elig_flag,
685 	p_rec.no_std_rt_used_flag,
686 	p_rec.rcrrg_cd,
687 	p_rec.mn_elcn_val,
688 	p_rec.mx_elcn_val,
689         p_rec.lwr_lmt_val,
690         p_rec.lwr_lmt_calc_rl,
691         p_rec.upr_lmt_val,
692         p_rec.upr_lmt_calc_rl,
693         p_rec.ptd_comp_lvl_fctr_id,
694         p_rec.clm_comp_lvl_fctr_id,
695         p_rec.entr_ann_val_flag,
696         p_rec.ann_mn_elcn_val,
697         p_rec.ann_mx_elcn_val,
698         p_rec.wsh_rl_dy_mo_num,
699 	p_rec.uses_pymt_sched_flag,
700 	p_rec.nnmntry_uom,
701 	p_rec.val,
702 	p_rec.incrmt_elcn_val,
703 	p_rec.rndg_cd,
704 	p_rec.val_ovrid_alwd_flag,
705 	p_rec.prtl_mo_det_mthd_cd,
706 	p_rec.acty_base_rt_stat_cd,
707 	p_rec.procg_src_cd,
708 	p_rec.dflt_val,
709         p_rec.dflt_flag,
710 	p_rec.frgn_erg_ded_typ_cd,
711 	p_rec.frgn_erg_ded_name,
712 	p_rec.frgn_erg_ded_ident,
713 	p_rec.no_mx_elcn_val_dfnd_flag,
714 	p_rec.cmbn_plip_id,
715 	p_rec.cmbn_ptip_id,
716 	p_rec.prtl_mo_det_mthd_rl,
717 	p_rec.entr_val_at_enrt_flag,
718 	p_rec.prtl_mo_eff_dt_det_rl,
719 	p_rec.rndg_rl,
720 	p_rec.val_calc_rl,
721 	p_rec.no_mn_elcn_val_dfnd_flag,
722 	p_rec.prtl_mo_eff_dt_det_cd,
723         p_rec.pay_rate_grade_rule_id,
724         p_rec.rate_periodization_cd,
725         p_rec.rate_periodization_rl,
726 	p_rec.business_group_id,
727         p_rec.only_one_bal_typ_alwd_flag,
728         p_rec.rt_usg_cd,
729         p_rec.prort_mn_ann_elcn_val_cd,
730         p_rec.prort_mn_ann_elcn_val_rl,
731         p_rec.prort_mx_ann_elcn_val_cd,
732         p_rec.prort_mx_ann_elcn_val_rl,
733         p_rec.one_ann_pymt_cd,
734         p_rec.det_pl_ytd_cntrs_cd,
735         p_rec.asmt_to_use_cd,
736         p_rec.ele_rqd_flag,
737         p_rec.subj_to_imptd_incm_flag,
738         p_rec.name,
739         p_rec.dsply_on_enrt_flag,
740 	p_rec.mn_mx_elcn_rl,
741 	p_rec.mapping_table_name,
742 	p_rec.mapping_table_pk_id,
743         p_rec.context_pgm_id,
744 	p_rec.context_pl_id,
745 	p_rec.context_opt_id,
746 	p_rec.element_det_rl,
747 	p_rec.currency_det_cd,
748 	p_rec.abr_attribute_category,
749 	p_rec.abr_attribute1,
750 	p_rec.abr_attribute2,
751 	p_rec.abr_attribute3,
752 	p_rec.abr_attribute4,
753 	p_rec.abr_attribute5,
754 	p_rec.abr_attribute6,
755 	p_rec.abr_attribute7,
756 	p_rec.abr_attribute8,
757 	p_rec.abr_attribute9,
758 	p_rec.abr_attribute10,
759 	p_rec.abr_attribute11,
760 	p_rec.abr_attribute12,
761 	p_rec.abr_attribute13,
762 	p_rec.abr_attribute14,
763 	p_rec.abr_attribute15,
764 	p_rec.abr_attribute16,
765 	p_rec.abr_attribute17,
766 	p_rec.abr_attribute18,
767 	p_rec.abr_attribute19,
768 	p_rec.abr_attribute20,
769 	p_rec.abr_attribute21,
770 	p_rec.abr_attribute22,
771 	p_rec.abr_attribute23,
772 	p_rec.abr_attribute24,
773 	p_rec.abr_attribute25,
774 	p_rec.abr_attribute26,
775 	p_rec.abr_attribute27,
776 	p_rec.abr_attribute28,
777 	p_rec.abr_attribute29,
778 	p_rec.abr_attribute30,
779 	p_rec.abr_seq_num,
780 	p_rec.object_version_number,
781 	l_created_by,
782    	l_creation_date,
783    	l_last_update_date,
784    	l_last_updated_by,
785    	l_last_update_login
786   );
787 end if;
788 
789 
790   --
791   ben_abr_shd.g_api_dml := false;   -- Unset the api dml status
792   hr_utility.set_location(' Leaving:'||l_proc, 15);
793 --
794 Exception
795   When hr_api.check_integrity_violated Then
796     -- A check constraint has been violated
797     ben_abr_shd.g_api_dml := false;   -- Unset the api dml status
798     ben_abr_shd.constraint_error
799       (p_constraint_name => hr_api.strip_constraint_name(SQLERRM));
800   When hr_api.unique_integrity_violated Then
801     -- Unique integrity has been violated
802     ben_abr_shd.g_api_dml := false;   -- Unset the api dml status
803     ben_abr_shd.constraint_error
804       (p_constraint_name => hr_api.strip_constraint_name(SQLERRM));
805   When Others Then
806     ben_abr_shd.g_api_dml := false;   -- Unset the api dml status
807     Raise;
808 End dt_insert_dml;
809 --
810 -- ----------------------------------------------------------------------------
811 -- |------------------------------< insert_dml >------------------------------|
812 -- ----------------------------------------------------------------------------
813 Procedure insert_dml
814 	(p_rec 			 in out nocopy ben_abr_shd.g_rec_type,
815 	 p_effective_date	 in	date,
816 	 p_datetrack_mode	 in	varchar2,
817 	 p_validation_start_date in	date,
818 	 p_validation_end_date	 in	date) is
819 --
820   l_proc	varchar2(72) := g_package||'insert_dml';
821 --
822 Begin
823   hr_utility.set_location('Entering:'||l_proc, 5);
824   --
825   dt_insert_dml(p_rec			=> p_rec,
826 		p_effective_date	=> p_effective_date,
827 		p_datetrack_mode	=> p_datetrack_mode,
828        		p_validation_start_date	=> p_validation_start_date,
829 		p_validation_end_date	=> p_validation_end_date);
830   --
831   hr_utility.set_location(' Leaving:'||l_proc, 10);
832 End insert_dml;
833 --
834 -- ----------------------------------------------------------------------------
835 -- |------------------------------< pre_insert >------------------------------|
836 -- ----------------------------------------------------------------------------
837 -- {Start Of Comments}
838 --
839 -- Description:
840 --   This private procedure contains any processing which is required before
841 --   the insert dml. Presently, if the entity has a corresponding primary
842 --   key which is maintained by an associating sequence, the primary key for
843 --   the entity will be populated with the next sequence value in
844 --   preparation for the insert dml.
845 --   Also, if comments are defined for this entity, the comments insert
846 --   logic will also be called, generating a comment_id if required.
847 --
848 -- Prerequisites:
849 --   This is an internal procedure which is called from the ins procedure.
850 --
851 -- In Parameters:
852 --   A Pl/Sql record structre.
853 --
854 -- Post Success:
855 --   Processing continues.
856 --
857 -- Post Failure:
858 --   If an error has occurred, an error message and exception will be raised
859 --   but not handled.
860 --
861 -- Developer Implementation Notes:
862 --   Any pre-processing required before the insert dml is issued should be
863 --   coded within this procedure. As stated above, a good example is the
864 --   generation of a primary key number via a corresponding sequence.
865 --   It is important to note that any 3rd party maintenance should be reviewed
866 --   before placing in this procedure.
867 --
868 -- Access Status:
869 --   Internal Row Handler Use Only.
870 --
871 -- {End Of Comments}
872 -- ----------------------------------------------------------------------------
873 Procedure pre_insert
874 	(p_rec  			in out nocopy ben_abr_shd.g_rec_type,
875 	 p_effective_date		in date,
876 	 p_datetrack_mode		in varchar2,
877 	 p_validation_start_date	in date,
878 	 p_validation_end_date		in date) is
879 --
880   l_proc	varchar2(72) := g_package||'pre_insert';
881 --
882   cursor c1 is
883     select BEN_ACTY_BASE_RT_F_S.nextval
884     from   sys.dual;
885 --
886   cursor c_oipl is
887      select opt_id, pl_id
888      from ben_oipl_f
889      where oipl_id = p_rec.oipl_id
890      and   p_effective_date between effective_start_date and effective_end_date;
891 --
892 l_oipl c_oipl%rowtype;
893 --
894   cursor c_plip is
895      select pgm_id, pl_id
896      from ben_plip_f
897      where plip_id = p_rec.plip_id
898      and   p_effective_date between effective_start_date and effective_end_date;
899 --
900 l_plip c_plip%rowtype;
901 --
902   cursor c_oiplip is
903      select plip.pgm_id, oipl.pl_id, oipl.opt_id
904      from ben_oiplip_f oiplip, ben_oipl_f oipl, ben_plip_f plip
905      where oiplip.oiplip_id = p_rec.oiplip_id
906      and   oiplip.oipl_id = oipl.oipl_id
907      and   oiplip.plip_id = plip.plip_id
908      and   oipl.pl_id = plip.pl_id
909      and   p_effective_date between oiplip.effective_start_date and oiplip.effective_end_date
910      and   p_effective_date between plip.effective_start_date and plip.effective_end_date
911      and   p_effective_date between oipl.effective_start_date and oipl.effective_end_date ;
912 --
913 l_oiplip c_oiplip%rowtype;
914 --
915 Begin
916   hr_utility.set_location('Entering:'||l_proc, 5);
917   --
918   --
919   open c1;
920     --
921     fetch c1 into p_rec.acty_base_rt_id;
922     --
923   close c1;
924   --
925   hr_utility.set_location(' p_rec.pgm_id :'||p_rec.pgm_id, 5);
926   hr_utility.set_location(' p_rec.pl_id :'||p_rec.pl_id, 5);
927   hr_utility.set_location(' p_rec.opt_id :'||p_rec.opt_id, 5);
928   hr_utility.set_location(' p_rec.oipl_id :'||p_rec.oipl_id, 5);
929   hr_utility.set_location(' p_rec.oiplip_id :'||p_rec.oiplip_id, 5);
930   hr_utility.set_location(' p_rec.plip_id :'||p_rec.plip_id, 5);
931 
932   -- set the context ids before insert
933   --
934     	if p_rec.pgm_id is not null then
935 	   p_rec.context_pgm_id := p_rec.pgm_id ;
936 	end if;
937 
938   	if p_rec.pl_id is not null then
939 	   p_rec.context_pl_id := p_rec.pl_id ;
940 	end if;
941 
942   	if p_rec.opt_id is not null then
943 	   p_rec.context_opt_id := p_rec.opt_id ;
944 	end if;
945 
946 	if p_rec.oipl_id is not null then
947 	   -- get opt_id and pl_id
948 	   open c_oipl;
949 	   fetch c_oipl into l_oipl ;
950 	   close c_oipl;
951 	   --
952 	   p_rec.context_opt_id := l_oipl.opt_id ;
953 	   p_rec.context_pl_id :=  l_oipl.pl_id;
954 	end if;
955 
956 	if p_rec.oiplip_id is not null then
957 	   -- get opt_id, pgm_id and pl_id
958 	   open c_oiplip;
959 	   fetch c_oiplip into l_oiplip ;
960 	   close c_oiplip;
961 	   --
962 	   p_rec.context_opt_id := l_oiplip.opt_id ;
963 	   p_rec.context_pl_id := l_oiplip.pl_id ;
964 	   p_rec.context_pgm_id := l_oiplip.pgm_id ;
965 	end if;
966 
967   	if p_rec.plip_id is not null then
968 	   -- get pgm_id and pl_id
969 	   open c_plip;
970 	   fetch c_plip into l_plip ;
971 	   close c_plip;
972 	   --
973 	   p_rec.context_pl_id :=  l_plip.pl_id;
974 	   p_rec.context_pgm_id := l_plip.pgm_id ;
975 	end if;
976   --
977   hr_utility.set_location(' p_rec.context_pl_id :'||p_rec.context_pl_id, 5);
978   hr_utility.set_location(' p_rec.context_pgm_id :'||p_rec.context_pgm_id, 5);
979   hr_utility.set_location(' p_rec.context_opt_id :'||p_rec.context_opt_id, 5);
980   --
981   hr_utility.set_location(' Leaving:'||l_proc, 10);
982 End pre_insert;
983 --
984 -- ----------------------------------------------------------------------------
985 -- |-----------------------------< post_insert >------------------------------|
986 -- ----------------------------------------------------------------------------
987 -- {Start Of Comments}
988 --
989 -- Description:
990 --   This private procedure contains any processing which is required after the
991 --   insert dml.
992 --
993 -- Prerequisites:
994 --   This is an internal procedure which is called from the ins procedure.
995 --
996 -- In Parameters:
997 --   A Pl/Sql record structre.
998 --
999 -- Post Success:
1000 --   Processing continues.
1001 --
1002 -- Post Failure:
1003 --   If an error has occurred, an error message and exception will be raised
1004 --   but not handled.
1005 --
1006 -- Developer Implementation Notes:
1007 --   Any post-processing required after the insert dml is issued should be
1008 --   coded within this procedure. It is important to note that any 3rd party
1009 --   maintenance should be reviewed before placing in this procedure.
1010 --
1011 -- Access Status:
1012 --   Internal Row Handler Use Only.
1013 --
1014 -- {End Of Comments}
1015 -- ----------------------------------------------------------------------------
1016 Procedure post_insert
1017 	(p_rec 			 in ben_abr_shd.g_rec_type,
1018 	 p_effective_date	 in date,
1019 	 p_datetrack_mode	 in varchar2,
1020 	 p_validation_start_date in date,
1021 	 p_validation_end_date	 in date) is
1022 --
1023   l_proc	varchar2(72) := g_package||'post_insert';
1024 --
1025 Begin
1026   hr_utility.set_location('Entering:'||l_proc, 5);
1027 
1028   -- Added for GSP validations
1029   pqh_gsp_ben_validations.abr_validations
1030   	(  p_abr_id			=> p_rec.acty_base_rt_id
1031   	 , p_dml_operation 		=> 'I'
1032   	 , p_effective_date 		=> p_effective_date
1033   	 , p_business_group_id  	=> p_rec.business_group_id
1034   	 , p_pl_id			=> p_rec.pl_id
1035   	 , p_opt_id			=> p_rec.opt_id
1036   	 , p_acty_typ_cd		=> p_rec.acty_typ_cd
1037   	 , p_Acty_Base_RT_Stat_Cd	=> p_rec.Acty_Base_RT_Stat_Cd
1038   	 );
1039 
1040   --
1041   begin
1042    --
1043    ben_abr_rki.after_insert
1044    (
1045      p_acty_base_rt_id               => p_rec.acty_base_rt_id
1046     ,p_effective_start_date          => p_rec.effective_start_date
1047     ,p_effective_end_date            => p_rec.effective_end_date
1048     ,p_ordr_num			     => p_rec.ordr_num
1049     ,p_acty_typ_cd                   => p_rec.acty_typ_cd
1050     ,p_sub_acty_typ_cd               => p_rec.sub_acty_typ_cd
1051     ,p_name                          => p_rec.name
1052     ,p_rt_typ_cd                     => p_rec.rt_typ_cd
1053     ,p_bnft_rt_typ_cd                => p_rec.bnft_rt_typ_cd
1054     ,p_tx_typ_cd                     => p_rec.tx_typ_cd
1055     ,p_use_to_calc_net_flx_cr_flag   => p_rec.use_to_calc_net_flx_cr_flag
1056     ,p_asn_on_enrt_flag              => p_rec.asn_on_enrt_flag
1057     ,p_abv_mx_elcn_val_alwd_flag     => p_rec.abv_mx_elcn_val_alwd_flag
1058     ,p_blw_mn_elcn_alwd_flag         => p_rec.blw_mn_elcn_alwd_flag
1059     ,p_dsply_on_enrt_flag            => p_rec.dsply_on_enrt_flag
1060     ,p_parnt_chld_cd                 => p_rec.parnt_chld_cd
1061     ,p_use_calc_acty_bs_rt_flag      => p_rec.use_calc_acty_bs_rt_flag
1062     ,p_uses_ded_sched_flag           => p_rec.uses_ded_sched_flag
1063     ,p_uses_varbl_rt_flag            => p_rec.uses_varbl_rt_flag
1064     ,p_vstg_sched_apls_flag          => p_rec.vstg_sched_apls_flag
1065     ,p_rt_mlt_cd                     => p_rec.rt_mlt_cd
1066     ,p_proc_each_pp_dflt_flag        => p_rec.proc_each_pp_dflt_flag
1067     ,p_prdct_flx_cr_when_elig_flag   => p_rec.prdct_flx_cr_when_elig_flag
1068     ,p_no_std_rt_used_flag           => p_rec.no_std_rt_used_flag
1069     ,p_rcrrg_cd                      => p_rec.rcrrg_cd
1070     ,p_mn_elcn_val                   => p_rec.mn_elcn_val
1071     ,p_mx_elcn_val                   => p_rec.mx_elcn_val
1072     ,p_lwr_lmt_val                   => p_rec.lwr_lmt_val
1073     ,p_lwr_lmt_calc_rl               => p_rec.lwr_lmt_calc_rl
1074     ,p_upr_lmt_val                   => p_rec.upr_lmt_val
1075     ,p_upr_lmt_calc_rl               => p_rec.upr_lmt_calc_rl
1076     ,p_ptd_comp_lvl_fctr_id          => p_rec.ptd_comp_lvl_fctr_id
1077     ,p_clm_comp_lvl_fctr_id          => p_rec.clm_comp_lvl_fctr_id
1078     ,p_entr_ann_val_flag             => p_rec.entr_ann_val_flag
1079     ,p_ann_mn_elcn_val               => p_rec.ann_mn_elcn_val
1080     ,p_ann_mx_elcn_val               => p_rec.ann_mx_elcn_val
1081     ,p_wsh_rl_dy_mo_num              => p_rec.wsh_rl_dy_mo_num
1082     ,p_uses_pymt_sched_flag          => p_rec.uses_pymt_sched_flag
1083     ,p_nnmntry_uom                   => p_rec.nnmntry_uom
1084     ,p_val                           => p_rec.val
1085     ,p_incrmt_elcn_val               => p_rec.incrmt_elcn_val
1086     ,p_rndg_cd                       => p_rec.rndg_cd
1087     ,p_val_ovrid_alwd_flag           => p_rec.val_ovrid_alwd_flag
1088     ,p_prtl_mo_det_mthd_cd           => p_rec.prtl_mo_det_mthd_cd
1089     ,p_acty_base_rt_stat_cd          => p_rec.acty_base_rt_stat_cd
1090     ,p_procg_src_cd                  => p_rec.procg_src_cd
1091     ,p_dflt_val                      => p_rec.dflt_val
1092     ,p_dflt_flag                     => p_rec.dflt_flag
1093     ,p_frgn_erg_ded_typ_cd           => p_rec.frgn_erg_ded_typ_cd
1094     ,p_frgn_erg_ded_name             => p_rec.frgn_erg_ded_name
1095     ,p_frgn_erg_ded_ident            => p_rec.frgn_erg_ded_ident
1096     ,p_no_mx_elcn_val_dfnd_flag      => p_rec.no_mx_elcn_val_dfnd_flag
1097     ,p_prtl_mo_det_mthd_rl           => p_rec.prtl_mo_det_mthd_rl
1098     ,p_entr_val_at_enrt_flag         => p_rec.entr_val_at_enrt_flag
1099     ,p_prtl_mo_eff_dt_det_rl         => p_rec.prtl_mo_eff_dt_det_rl
1100     ,p_rndg_rl                       => p_rec.rndg_rl
1101     ,p_val_calc_rl                   => p_rec.val_calc_rl
1102     ,p_no_mn_elcn_val_dfnd_flag      => p_rec.no_mn_elcn_val_dfnd_flag
1103     ,p_prtl_mo_eff_dt_det_cd         => p_rec.prtl_mo_eff_dt_det_cd
1104     ,p_only_one_bal_typ_alwd_flag    => p_rec.only_one_bal_typ_alwd_flag
1105     ,p_rt_usg_cd                     => p_rec.rt_usg_cd
1106     ,p_prort_mn_ann_elcn_val_cd      => p_rec.prort_mn_ann_elcn_val_cd
1107     ,p_prort_mn_ann_elcn_val_rl      => p_rec.prort_mn_ann_elcn_val_rl
1108     ,p_prort_mx_ann_elcn_val_cd      => p_rec.prort_mx_ann_elcn_val_cd
1109     ,p_prort_mx_ann_elcn_val_rl      => p_rec.prort_mx_ann_elcn_val_rl
1110     ,p_one_ann_pymt_cd               => p_rec.one_ann_pymt_cd
1111     ,p_det_pl_ytd_cntrs_cd           => p_rec.det_pl_ytd_cntrs_cd
1112     ,p_asmt_to_use_cd                => p_rec.asmt_to_use_cd
1113     ,p_ele_rqd_flag                  => p_rec.ele_rqd_flag
1114     ,p_subj_to_imptd_incm_flag       => p_rec.subj_to_imptd_incm_flag
1115     ,p_element_type_id               => p_rec.element_type_id
1116     ,p_input_value_id                => p_rec.input_value_id
1117     ,p_input_va_calc_rl             => p_rec.input_va_calc_rl
1118     ,p_comp_lvl_fctr_id              => p_rec.comp_lvl_fctr_id
1119     ,p_parnt_acty_base_rt_id         => p_rec.parnt_acty_base_rt_id
1120     ,p_pgm_id                        => p_rec.pgm_id
1121     ,p_pl_id                         => p_rec.pl_id
1122     ,p_oipl_id                       => p_rec.oipl_id
1123     ,p_opt_id                        => p_rec.opt_id
1124     ,p_oiplip_id                     => p_rec.oiplip_id
1125     ,p_plip_id                       => p_rec.plip_id
1126     ,p_ptip_id                       => p_rec.ptip_id
1127     ,p_cmbn_plip_id                  => p_rec.cmbn_plip_id
1128     ,p_cmbn_ptip_id                  => p_rec.cmbn_ptip_id
1129     ,p_cmbn_ptip_opt_id              => p_rec.cmbn_ptip_opt_id
1130     ,p_vstg_for_acty_rt_id           => p_rec.vstg_for_acty_rt_id
1131     ,p_actl_prem_id                  => p_rec.actl_prem_id
1132     ,p_TTL_COMP_LVL_FCTR_ID          => p_rec.TTL_COMP_LVL_FCTR_ID
1133     ,p_COST_ALLOCATION_KEYFLEX_ID    => p_rec.COST_ALLOCATION_KEYFLEX_ID
1134     ,p_ALWS_CHG_CD                   => p_rec.ALWS_CHG_CD
1135     ,p_ele_entry_val_cd              => p_rec.ele_entry_val_cd
1136     ,p_pay_rate_grade_rule_id        => p_rec.pay_rate_grade_rule_id
1137     ,p_rate_periodization_cd         => p_rec.rate_periodization_cd
1138     ,p_rate_periodization_rl         => p_rec.rate_periodization_rl
1139     ,p_mn_mx_elcn_rl                 => p_rec.mn_mx_elcn_rl
1140     ,p_mapping_table_name            => p_rec.mapping_table_name
1141     ,p_mapping_table_pk_id           => p_rec.mapping_table_pk_id
1142     ,p_business_group_id             => p_rec.business_group_id
1143     ,p_context_pgm_id                => p_rec.context_pgm_id
1144     ,p_context_pl_id                => p_rec.context_pl_id
1145     ,p_context_opt_id                => p_rec.context_opt_id
1146     ,p_element_det_rl               => p_rec.element_det_rl
1147     ,p_currency_det_cd              => p_rec.currency_det_cd
1148     ,P_ABR_ATTRIBUTE_CATEGORY        => p_rec.ABR_ATTRIBUTE_CATEGORY
1149     ,P_ABR_ATTRIBUTE1                => p_rec.ABR_ATTRIBUTE1
1150     ,P_ABR_ATTRIBUTE2                => p_rec.ABR_ATTRIBUTE2
1151     ,P_ABR_ATTRIBUTE3                => p_rec.ABR_ATTRIBUTE3
1152     ,P_ABR_ATTRIBUTE4                => p_rec.ABR_ATTRIBUTE4
1153     ,P_ABR_ATTRIBUTE5                => p_rec.ABR_ATTRIBUTE5
1154     ,P_ABR_ATTRIBUTE6                => p_rec.ABR_ATTRIBUTE6
1155     ,P_ABR_ATTRIBUTE7                => p_rec.ABR_ATTRIBUTE7
1156     ,P_ABR_ATTRIBUTE8                => p_rec.ABR_ATTRIBUTE8
1157     ,P_ABR_ATTRIBUTE9                => p_rec.ABR_ATTRIBUTE9
1158     ,P_ABR_ATTRIBUTE10                => p_rec.ABR_ATTRIBUTE10
1159     ,P_ABR_ATTRIBUTE11                => p_rec.ABR_ATTRIBUTE11
1160     ,P_ABR_ATTRIBUTE12                => p_rec.ABR_ATTRIBUTE12
1161     ,P_ABR_ATTRIBUTE13                => p_rec.ABR_ATTRIBUTE13
1162     ,P_ABR_ATTRIBUTE14                => p_rec.ABR_ATTRIBUTE14
1163     ,P_ABR_ATTRIBUTE15                => p_rec.ABR_ATTRIBUTE15
1164     ,P_ABR_ATTRIBUTE16                => p_rec.ABR_ATTRIBUTE16
1165     ,P_ABR_ATTRIBUTE17                => p_rec.ABR_ATTRIBUTE17
1166     ,P_ABR_ATTRIBUTE18                => p_rec.ABR_ATTRIBUTE18
1167     ,P_ABR_ATTRIBUTE19                => p_rec.ABR_ATTRIBUTE19
1168     ,P_ABR_ATTRIBUTE20                => p_rec.ABR_ATTRIBUTE20
1169     ,P_ABR_ATTRIBUTE21                => p_rec.ABR_ATTRIBUTE21
1170     ,P_ABR_ATTRIBUTE22                => p_rec.ABR_ATTRIBUTE22
1171     ,P_ABR_ATTRIBUTE23                => p_rec.ABR_ATTRIBUTE23
1172     ,P_ABR_ATTRIBUTE24                => p_rec.ABR_ATTRIBUTE24
1173     ,P_ABR_ATTRIBUTE25                => p_rec.ABR_ATTRIBUTE25
1174     ,P_ABR_ATTRIBUTE26                => p_rec.ABR_ATTRIBUTE26
1175     ,P_ABR_ATTRIBUTE27                => p_rec.ABR_ATTRIBUTE27
1176     ,P_ABR_ATTRIBUTE28                => p_rec.ABR_ATTRIBUTE28
1177     ,P_ABR_ATTRIBUTE29                => p_rec.ABR_ATTRIBUTE29
1178     ,P_ABR_ATTRIBUTE30                => p_rec.ABR_ATTRIBUTE30
1179     ,P_ABR_SEQ_NUM                    => p_rec.abr_seq_num
1180     ,P_OBJECT_VERSION_NUMBER          => p_rec.OBJECT_VERSION_NUMBER
1181     ,p_effective_date               => p_effective_date
1182     ,p_validation_start_date        => p_validation_start_date
1183     ,p_validation_end_date          => p_validation_end_date
1184     );
1185     --
1186   exception
1187     --
1188     when hr_api.cannot_find_prog_unit then
1189       --
1190       hr_api.cannot_find_prog_unit_error
1191         (p_module_name => 'ben_acty_base_rt_f'
1192         ,p_hook_type   => 'AI');
1193       --
1194   end;
1195   --
1196   -- End of API User Hook for post_insert.
1197   --
1198   hr_utility.set_location(' Leaving:'||l_proc, 10);
1199 End post_insert;
1200 --
1201 -- ----------------------------------------------------------------------------
1202 -- |-------------------------------< ins_lck >--------------------------------|
1203 -- ----------------------------------------------------------------------------
1204 -- {Start Of Comments}
1205 --
1206 -- Description:
1207 --   The ins_lck process has one main function to perform. When inserting
1208 --   a datetracked row, we must validate the DT mode.
1209 --   be manipulated.
1210 --
1211 -- Prerequisites:
1212 --   This procedure can only be called for the datetrack mode of INSERT.
1213 --
1214 -- In Parameters:
1215 --
1216 -- Post Success:
1217 --   On successful completion of the ins_lck process the parental
1218 --   datetracked rows will be locked providing the p_enforce_foreign_locking
1219 --   argument value is TRUE.
1220 --   If the p_enforce_foreign_locking argument value is FALSE then the
1221 --   parential rows are not locked.
1222 --
1223 -- Post Failure:
1224 --   The Lck process can fail for:
1225 --   1) When attempting to lock the row the row could already be locked by
1226 --      another user. This will raise the HR_Api.Object_Locked exception.
1227 --   2) When attempting to the lock the parent which doesn't exist.
1228 --      For the entity to be locked the parent must exist!
1229 --
1230 -- Developer Implementation Notes:
1231 --   None.
1232 --
1233 -- Access Status:
1234 --   Internal Row Handler Use Only.
1235 --
1236 -- {End Of Comments}
1237 -- ----------------------------------------------------------------------------
1238 Procedure ins_lck
1239 	(p_effective_date	 in  date,
1240 	 p_datetrack_mode	 in  varchar2,
1241 	 p_rec	 		 in  ben_abr_shd.g_rec_type,
1242 	 p_validation_start_date out nocopy date,
1243 	 p_validation_end_date	 out nocopy date) is
1244 --
1245   l_proc		  varchar2(72) := g_package||'ins_lck';
1246   l_validation_start_date date;
1247   l_validation_end_date	  date;
1248   l_validation_start_date1 date;
1249   l_validation_end_date1   date;
1250   l_validation_start_date2 date;
1251   l_validation_end_date2   date;
1252 --
1253 Begin
1254   hr_utility.set_location('Entering:'||l_proc, 5);
1255   --
1256   -- Validate the datetrack mode mode getting the validation start
1257   -- and end dates for the specified datetrack operation.
1258   --
1259   dt_api.validate_dt_mode
1260 	(p_effective_date	   => p_effective_date,
1261 	 p_datetrack_mode	   => p_datetrack_mode,
1262 	 p_base_table_name	   => 'ben_acty_base_rt_f',
1263 	 p_base_key_column	   => 'acty_base_rt_id',
1264 	 p_base_key_value 	   => p_rec.acty_base_rt_id,
1265 	 p_parent_table_name1      => 'ff_formulas_f',
1266 	 p_parent_key_column1      => 'formula_id',
1267 	 p_parent_key_value1       => p_rec.prtl_mo_det_mthd_rl,
1268 	 p_parent_table_name2      => 'ff_formulas_f',
1269 	 p_parent_key_column2      => 'formula_id',
1270 	 p_parent_key_value2       => p_rec.prtl_mo_eff_dt_det_rl,
1271 	 p_parent_table_name3      => 'ff_formulas_f',
1272 	 p_parent_key_column3      => 'formula_id',
1273 	 p_parent_key_value3       => p_rec.rndg_rl,
1274 	 p_parent_table_name4      => 'ff_formulas_f',
1275 	 p_parent_key_column4      => 'formula_id',
1276 	 p_parent_key_value4       => p_rec.val_calc_rl,
1277 	 p_parent_table_name5      => 'ben_vstg_for_acty_rt_f',
1278 	 p_parent_key_column5      => 'vstg_for_acty_rt_id',
1279 	 p_parent_key_value5       => p_rec.vstg_for_acty_rt_id,
1280 	 p_parent_table_name6      => 'ben_pgm_f',
1281 	 p_parent_key_column6      => 'pgm_id',
1282 	 p_parent_key_value6       => p_rec.pgm_id,
1283 	 p_parent_table_name7      => 'ben_ptip_f',
1284 	 p_parent_key_column7      => 'ptip_id',
1285 	 p_parent_key_value7       => p_rec.ptip_id,
1286 	 p_parent_table_name8      => 'ben_oipl_f',
1287 	 p_parent_key_column8      => 'oipl_id',
1288 	 p_parent_key_value8       => p_rec.oipl_id,
1289 	 p_parent_table_name9       => 'ben_plip_f',
1290 	 p_parent_key_column9       => 'plip_id',
1291 	 p_parent_key_value9        => p_rec.plip_id,
1292          p_enforce_foreign_locking => true,
1293 	 p_validation_start_date   => l_validation_start_date,
1294  	 p_validation_end_date	   => l_validation_end_date);
1295     --
1296     dt_api.validate_dt_mode
1297 	(p_effective_date	   => p_effective_date,
1298 	 p_datetrack_mode	   => p_datetrack_mode,
1299 	 p_base_table_name	   => 'ben_acty_base_rt_f',
1300 	 p_base_key_column	   => 'acty_base_rt_id',
1301 	 p_base_key_value 	   => p_rec.acty_base_rt_id,
1302 	 p_parent_table_name1      => 'ben_plip_f',
1303 	 p_parent_key_column1      => 'plip_id',
1304 	 p_parent_key_value1       => p_rec.plip_id,
1305 	 p_parent_table_name2      => 'ben_pl_f',
1306 	 p_parent_key_column2      => 'pl_id',
1307 	 p_parent_key_value2       => p_rec.pl_id,
1308 	 p_parent_table_name3      => 'ben_acty_base_rt_f',
1309 	 p_parent_key_column3      => 'acty_base_rt_id',
1310 	 p_parent_key_value3       => p_rec.parnt_acty_base_rt_id,
1311          p_parent_table_name4      => 'ben_oiplip_f',
1312          p_parent_key_column4      => 'oiplip_id',
1313          p_parent_key_value4       => p_rec.oiplip_id,
1314          p_parent_table_name5      => 'ben_actl_prem_f',
1315          p_parent_key_column5      => 'actl_prem_id',
1316          p_parent_key_value5       => p_rec.actl_prem_id,
1317          p_parent_table_name6      => 'ben_opt_f',
1318          p_parent_key_column6      => 'opt_id',
1319          p_parent_key_value6       => p_rec.opt_id,
1320          p_enforce_foreign_locking => true,
1321 	 p_validation_start_date   => l_validation_start_date1,
1322  	 p_validation_end_date	   => l_validation_end_date1);
1323   --
1324   -- Set the validation start and end date OUT arguments
1325   --
1326   if l_validation_start_date > l_validation_start_date1 then
1327     --
1328     p_validation_start_date := l_validation_start_date;
1329   else
1330     --
1331     p_validation_start_date := l_validation_start_date1;
1332     --
1333   end if;
1334   --
1335   if l_validation_end_date > l_validation_end_date1 then
1336     --
1337     p_validation_end_date := l_validation_end_date;
1338   else
1339     --
1340     p_validation_end_date := l_validation_end_date1;
1341     --
1342   end if;
1343   --
1344   hr_utility.set_location(' Leaving:'||l_proc, 10);
1345 --
1346 End ins_lck;
1347 --
1348 -- ----------------------------------------------------------------------------
1349 -- |---------------------------------< ins >----------------------------------|
1350 -- ----------------------------------------------------------------------------
1351 Procedure ins
1352   (
1353   p_rec		   in out nocopy ben_abr_shd.g_rec_type,
1354   p_effective_date in     date
1355   ) is
1356 --
1357   l_proc			varchar2(72) := g_package||'ins';
1358   l_datetrack_mode		varchar2(30) := 'INSERT';
1359   l_validation_start_date	date;
1360   l_validation_end_date		date;
1361 --
1362 Begin
1363   hr_utility.set_location('Entering:'||l_proc, 5);
1364   --
1365   -- Call the lock operation
1366   --
1367   ins_lck
1368 	(p_effective_date	 => p_effective_date,
1369 	 p_datetrack_mode	 => l_datetrack_mode,
1370 	 p_rec	 		 => p_rec,
1371 	 p_validation_start_date => l_validation_start_date,
1372 	 p_validation_end_date	 => l_validation_end_date);
1373   --
1374   -- Call the supporting insert validate operations
1375   --
1376   ben_abr_bus.insert_validate
1377 	(p_rec			 => p_rec,
1378 	 p_effective_date	 => p_effective_date,
1379 	 p_datetrack_mode	 => l_datetrack_mode,
1380 	 p_validation_start_date => l_validation_start_date,
1381 	 p_validation_end_date	 => l_validation_end_date);
1382   --
1383   -- Call the supporting pre-insert operation
1384   --
1385   pre_insert
1386  	(p_rec			 => p_rec,
1387 	 p_effective_date	 => p_effective_date,
1388 	 p_datetrack_mode	 => l_datetrack_mode,
1389 	 p_validation_start_date => l_validation_start_date,
1390 	 p_validation_end_date	 => l_validation_end_date);
1391   --
1392   -- Insert the row
1393   --
1394   insert_dml
1395  	(p_rec			 => p_rec,
1396 	 p_effective_date	 => p_effective_date,
1397 	 p_datetrack_mode	 => l_datetrack_mode,
1398 	 p_validation_start_date => l_validation_start_date,
1399 	 p_validation_end_date	 => l_validation_end_date);
1400   --
1401   -- Call the supporting post-insert operation
1402   --
1403   post_insert
1404  	(p_rec			 => p_rec,
1405 	 p_effective_date	 => p_effective_date,
1406 	 p_datetrack_mode	 => l_datetrack_mode,
1407 	 p_validation_start_date => l_validation_start_date,
1408 	 p_validation_end_date	 => l_validation_end_date);
1409 
1410 /*--Added for Bug 6881417
1411 ben_abr_bus.g_ssben_call := false;*/
1412 
1413 end ins;
1414 --
1415 -- ----------------------------------------------------------------------------
1416 -- |---------------------------------< ins >----------------------------------|
1417 -- ----------------------------------------------------------------------------
1418 Procedure ins
1419   (
1420   p_acty_base_rt_id              out nocopy number,
1421   p_effective_start_date         out nocopy date,
1422   p_effective_end_date           out nocopy date,
1423   p_ordr_num			 in number           default null,
1424   p_acty_typ_cd                  in varchar2         default null,
1425   p_sub_acty_typ_cd              in varchar2         default null,
1426   p_name                         in varchar2         default null,
1427   p_rt_typ_cd                    in varchar2         default null,
1428   p_bnft_rt_typ_cd               in varchar2         default null,
1429   p_tx_typ_cd                    in varchar2         default null,
1430   p_use_to_calc_net_flx_cr_flag  in varchar2,
1431   p_asn_on_enrt_flag             in varchar2,
1432   p_abv_mx_elcn_val_alwd_flag    in varchar2,
1433   p_blw_mn_elcn_alwd_flag        in varchar2,
1434   p_dsply_on_enrt_flag           in varchar2,
1435   p_parnt_chld_cd                in varchar2         default null,
1436   p_use_calc_acty_bs_rt_flag     in varchar2,
1437   p_uses_ded_sched_flag          in varchar2,
1438   p_uses_varbl_rt_flag           in varchar2,
1439   p_vstg_sched_apls_flag         in varchar2,
1440   p_rt_mlt_cd                    in varchar2         default null,
1441   p_proc_each_pp_dflt_flag       in varchar2,
1442   p_prdct_flx_cr_when_elig_flag  in varchar2,
1443   p_no_std_rt_used_flag          in varchar2,
1444   p_rcrrg_cd                     in varchar2         default null,
1445   p_mn_elcn_val                  in number           default null,
1446   p_mx_elcn_val                  in number           default null,
1447   p_lwr_lmt_val                  in number           default null,
1448   p_lwr_lmt_calc_rl              in number           default null,
1449   p_upr_lmt_val                  in number           default null,
1450   p_upr_lmt_calc_rl              in number           default null,
1451   p_ptd_comp_lvl_fctr_id         in number           default null,
1452   p_clm_comp_lvl_fctr_id         in number           default null,
1453   p_entr_ann_val_flag            in varchar2         default 'N',
1454   p_ann_mn_elcn_val              in number           default null,
1455   p_ann_mx_elcn_val              in number           default null,
1456   p_wsh_rl_dy_mo_num             in number           default null,
1457   p_uses_pymt_sched_flag         in varchar2,
1458   p_nnmntry_uom                  in varchar2         default null,
1459   p_val                          in number           default null,
1460   p_incrmt_elcn_val              in number           default null,
1461   p_rndg_cd                      in varchar2         default null,
1462   p_val_ovrid_alwd_flag          in varchar2,
1463   p_prtl_mo_det_mthd_cd          in varchar2         default null,
1464   p_acty_base_rt_stat_cd         in varchar2         default null,
1465   p_procg_src_cd                 in varchar2         default null,
1466   p_dflt_val                     in number           default null,
1467   p_dflt_flag                    in varchar2,
1468   p_frgn_erg_ded_typ_cd          in varchar2         default null,
1469   p_frgn_erg_ded_name            in varchar2         default null,
1470   p_frgn_erg_ded_ident           in varchar2         default null,
1471   p_no_mx_elcn_val_dfnd_flag     in varchar2,
1472   p_prtl_mo_det_mthd_rl          in number           default null,
1473   p_entr_val_at_enrt_flag        in varchar2,
1474   p_prtl_mo_eff_dt_det_rl        in number           default null,
1475   p_rndg_rl                      in number           default null,
1476   p_val_calc_rl                  in number           default null,
1477   p_no_mn_elcn_val_dfnd_flag     in varchar2,
1478   p_prtl_mo_eff_dt_det_cd        in varchar2         default null,
1479   p_only_one_bal_typ_alwd_flag   in varchar2,
1480   p_rt_usg_cd                    in varchar2         default null,
1481   p_prort_mn_ann_elcn_val_cd     in varchar2         default null,
1482   p_prort_mn_ann_elcn_val_rl     in number           default null,
1483   p_prort_mx_ann_elcn_val_cd     in varchar2         default null,
1484   p_prort_mx_ann_elcn_val_rl     in number           default null,
1485   p_one_ann_pymt_cd              in varchar2         default null,
1486   p_det_pl_ytd_cntrs_cd          in varchar2         default null,
1487   p_asmt_to_use_cd               in varchar2         default null,
1488   p_ele_rqd_flag                 in varchar2         default 'Y',
1489   p_subj_to_imptd_incm_flag      in varchar2         default 'N',
1490   p_element_type_id              in number           default null,
1491   p_input_value_id               in number           default null,
1492   p_input_va_calc_rl             in number           default null,
1493   p_comp_lvl_fctr_id             in number           default null,
1494   p_parnt_acty_base_rt_id        in number           default null,
1495   p_pgm_id                       in number           default null,
1496   p_pl_id                        in number           default null,
1497   p_oipl_id                      in number           default null,
1498   p_opt_id                       in number           default null,
1499   p_oiplip_id                    in number           default null,
1500   p_plip_id                      in number           default null,
1501   p_ptip_id                      in number           default null,
1502   p_cmbn_plip_id                 in number           default null,
1503   p_cmbn_ptip_id                 in number           default null,
1504   p_cmbn_ptip_opt_id             in number           default null,
1505   p_vstg_for_acty_rt_id          in number           default null,
1506   p_actl_prem_id                 in number           default null,
1507   p_TTL_COMP_LVL_FCTR_ID         in number           default null,
1508   p_COST_ALLOCATION_KEYFLEX_ID   in number           default null,
1509   p_ALWS_CHG_CD                  in varchar2         default null,
1510   p_ele_entry_val_cd             in varchar2         default null,
1511   p_pay_rate_grade_rule_id       in number           default null,
1512   p_rate_periodization_cd        in varchar2         default null,
1513   p_rate_periodization_rl        in number           default null,
1514   p_mn_mx_elcn_rl 		 in number           default null,
1515   p_mapping_table_name           in varchar2         default null,
1516   p_mapping_table_pk_id		 in number           default null,
1517   p_business_group_id            in number,
1518   p_context_pgm_id               in number           default null,
1519   p_context_pl_id                in number           default null,
1520   p_context_opt_id               in number           default null,
1521   p_element_det_rl               in number           default null,
1522   p_currency_det_cd              in varchar2         default null,
1523   p_abr_attribute_category       in varchar2         default null,
1524   p_abr_attribute1               in varchar2         default null,
1525   p_abr_attribute2               in varchar2         default null,
1526   p_abr_attribute3               in varchar2         default null,
1527   p_abr_attribute4               in varchar2         default null,
1528   p_abr_attribute5               in varchar2         default null,
1529   p_abr_attribute6               in varchar2         default null,
1530   p_abr_attribute7               in varchar2         default null,
1531   p_abr_attribute8               in varchar2         default null,
1532   p_abr_attribute9               in varchar2         default null,
1533   p_abr_attribute10              in varchar2         default null,
1534   p_abr_attribute11              in varchar2         default null,
1535   p_abr_attribute12              in varchar2         default null,
1536   p_abr_attribute13              in varchar2         default null,
1537   p_abr_attribute14              in varchar2         default null,
1538   p_abr_attribute15              in varchar2         default null,
1539   p_abr_attribute16              in varchar2         default null,
1540   p_abr_attribute17              in varchar2         default null,
1541   p_abr_attribute18              in varchar2         default null,
1542   p_abr_attribute19              in varchar2         default null,
1543   p_abr_attribute20              in varchar2         default null,
1544   p_abr_attribute21              in varchar2         default null,
1545   p_abr_attribute22              in varchar2         default null,
1546   p_abr_attribute23              in varchar2         default null,
1547   p_abr_attribute24              in varchar2         default null,
1548   p_abr_attribute25              in varchar2         default null,
1549   p_abr_attribute26              in varchar2         default null,
1550   p_abr_attribute27              in varchar2         default null,
1551   p_abr_attribute28              in varchar2         default null,
1552   p_abr_attribute29              in varchar2         default null,
1553   p_abr_attribute30              in varchar2         default null,
1554   p_abr_seq_num                  in  number          default null,
1555   p_object_version_number        out nocopy number,
1556   p_effective_date               in date
1557   ) is
1558 --
1559   l_rec		ben_abr_shd.g_rec_type;
1560   l_proc	varchar2(72) := g_package||'ins';
1561 --
1562 Begin
1563   hr_utility.set_location('Entering:'||l_proc, 5);
1564   hr_utility.set_location('total rate before conv in ins '||p_TTL_COMP_LVL_FCTR_ID, 99);
1565   --
1566   -- Call conversion function to turn arguments into the
1567   -- p_rec structure.
1568   --
1569   l_rec :=
1570   ben_abr_shd.convert_args
1571   (
1572         null
1573        ,null
1574        ,null
1575        ,p_ordr_num
1576        ,p_acty_typ_cd
1577        ,p_sub_acty_typ_cd
1578        ,p_name
1579        ,p_rt_typ_cd
1580        ,p_bnft_rt_typ_cd
1581        ,p_tx_typ_cd
1582        ,p_use_to_calc_net_flx_cr_flag
1583        ,p_asn_on_enrt_flag
1584        ,p_abv_mx_elcn_val_alwd_flag
1585        ,p_blw_mn_elcn_alwd_flag
1586        ,p_dsply_on_enrt_flag
1587        ,p_parnt_chld_cd
1588        ,p_use_calc_acty_bs_rt_flag
1589        ,p_uses_ded_sched_flag
1590        ,p_uses_varbl_rt_flag
1591        ,p_vstg_sched_apls_flag
1592        ,p_rt_mlt_cd
1593        ,p_proc_each_pp_dflt_flag
1594        ,p_prdct_flx_cr_when_elig_flag
1595        ,p_no_std_rt_used_flag
1596        ,p_rcrrg_cd
1597        ,p_mn_elcn_val
1598        ,p_mx_elcn_val
1599        ,p_lwr_lmt_val
1600        ,p_lwr_lmt_calc_rl
1601        ,p_upr_lmt_val
1602        ,p_upr_lmt_calc_rl
1603        ,p_ptd_comp_lvl_fctr_id
1604        ,p_clm_comp_lvl_fctr_id
1605        ,p_entr_ann_val_flag
1606        ,p_ann_mn_elcn_val
1607        ,p_ann_mx_elcn_val
1608        ,p_wsh_rl_dy_mo_num
1609        ,p_uses_pymt_sched_flag
1610        ,p_nnmntry_uom
1611        ,p_val
1612        ,p_incrmt_elcn_val
1613        ,p_rndg_cd
1614        ,p_val_ovrid_alwd_flag
1615        ,p_prtl_mo_det_mthd_cd
1616        ,p_acty_base_rt_stat_cd
1617        ,p_procg_src_cd
1618        ,p_dflt_val
1619        ,p_dflt_flag
1620        ,p_frgn_erg_ded_typ_cd
1621        ,p_frgn_erg_ded_name
1622        ,p_frgn_erg_ded_ident
1623        ,p_no_mx_elcn_val_dfnd_flag
1624        ,p_prtl_mo_det_mthd_rl
1625        ,p_entr_val_at_enrt_flag
1626        ,p_prtl_mo_eff_dt_det_rl
1627        ,p_rndg_rl
1628        ,p_val_calc_rl
1629        ,p_no_mn_elcn_val_dfnd_flag
1630        ,p_prtl_mo_eff_dt_det_cd
1631        ,p_only_one_bal_typ_alwd_flag
1632        ,p_rt_usg_cd
1633        ,p_prort_mn_ann_elcn_val_cd
1634        ,p_prort_mn_ann_elcn_val_rl
1635        ,p_prort_mx_ann_elcn_val_cd
1636        ,p_prort_mx_ann_elcn_val_rl
1637        ,p_one_ann_pymt_cd
1638        ,p_det_pl_ytd_cntrs_cd
1639        ,p_asmt_to_use_cd
1640        ,p_ele_rqd_flag
1641        ,p_subj_to_imptd_incm_flag
1642        ,p_element_type_id
1643        ,p_input_value_id
1644        ,p_input_va_calc_rl
1645        ,p_comp_lvl_fctr_id
1646        ,p_parnt_acty_base_rt_id
1647        ,p_pgm_id
1648        ,p_pl_id
1649        ,p_oipl_id
1650        ,p_opt_id
1651        ,p_oiplip_id
1652        ,p_plip_id
1653        ,p_ptip_id
1654        ,p_cmbn_plip_id
1655        ,p_cmbn_ptip_id
1656        ,p_cmbn_ptip_opt_id
1657        ,p_vstg_for_acty_rt_id
1658        ,p_actl_prem_id
1659        ,p_TTL_COMP_LVL_FCTR_ID
1660        ,p_COST_ALLOCATION_KEYFLEX_ID
1661        ,p_ALWS_CHG_CD
1662        ,p_ele_entry_val_cd
1663        ,p_pay_rate_grade_rule_id
1664        ,p_rate_periodization_cd
1665        ,p_rate_periodization_rl
1666        ,p_mn_mx_elcn_rl
1667        ,p_mapping_table_name
1668        ,p_mapping_table_pk_id
1669        ,p_business_group_id
1670        ,p_context_pgm_id
1671        ,p_context_pl_id
1672        ,p_context_opt_id
1673        ,p_element_det_rl
1674        ,p_currency_det_cd
1675        ,p_abr_attribute_category
1676        ,p_abr_attribute1
1677        ,p_abr_attribute2
1678        ,p_abr_attribute3
1679        ,p_abr_attribute4
1680        ,p_abr_attribute5
1681        ,p_abr_attribute6
1682        ,p_abr_attribute7
1683        ,p_abr_attribute8
1684        ,p_abr_attribute9
1685        ,p_abr_attribute10
1686        ,p_abr_attribute11
1687        ,p_abr_attribute12
1688        ,p_abr_attribute13
1689        ,p_abr_attribute14
1690        ,p_abr_attribute15
1691        ,p_abr_attribute16
1692        ,p_abr_attribute17
1693        ,p_abr_attribute18
1694        ,p_abr_attribute19
1695        ,p_abr_attribute20
1696        ,p_abr_attribute21
1697        ,p_abr_attribute22
1698        ,p_abr_attribute23
1699        ,p_abr_attribute24
1700        ,p_abr_attribute25
1701        ,p_abr_attribute26
1702        ,p_abr_attribute27
1703        ,p_abr_attribute28
1704        ,p_abr_attribute29
1705        ,p_abr_attribute30
1706        ,p_abr_seq_num
1707        ,null
1708   );
1709   --
1710   -- Having converted the arguments into the ben_abr_rec
1711   -- plsql record structure we call the corresponding record
1712   -- business process.
1713   --
1714   ins(l_rec, p_effective_date);
1715   --
1716   -- Set the OUT arguments.
1717   --
1718   p_acty_base_rt_id        	:= l_rec.acty_base_rt_id;
1719   p_effective_start_date  	:= l_rec.effective_start_date;
1720   p_effective_end_date    	:= l_rec.effective_end_date;
1721   p_object_version_number 	:= l_rec.object_version_number;
1722   --
1723   --
1724   hr_utility.set_location(' Leaving:'||l_proc, 10);
1725 End ins;
1726 --
1727 end ben_abr_ins;