DBA Data[Home] [Help]

PACKAGE BODY: APPS.BEN_ABR_SHD

Source


1 Package Body ben_abr_shd 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_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_ACTY_BASE_RT_FK4') 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_ACTY_BASE_RT_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   ElsIf (p_constraint_name = 'BEN_ENRT_RT_DT1') Then
47     ben_utility.child_exists_error(p_table_name =>
48                                    'BEN_ENRT_RT');
49   ElsIf (p_constraint_name = 'BEN_PRTT_RT_VAL_DT5') Then
50     ben_utility.child_exists_error(p_table_name =>
51                                    'BEN_PRTT_RT_VAL');
52 
53   ElsIf (p_constraint_name = 'BEN_OIPL_PK') Then
54     hr_utility.set_message(801, 'HR_6153_ALL_PROCEDURE_FAIL');
55     hr_utility.set_message_token('PROCEDURE', l_proc);
56     hr_utility.set_message_token('STEP','10');
57     hr_utility.raise_error;
58   ElsIf (p_constraint_name = 'BEN_OIPLIP_PK') Then
59     hr_utility.set_message(801, 'HR_6153_ALL_PROCEDURE_FAIL');
60     hr_utility.set_message_token('PROCEDURE', l_proc);
61     hr_utility.set_message_token('STEP','10');
62     hr_utility.raise_error;
63 
64 
65   Else
66     fnd_message.set_name('PAY', 'HR_7877_API_INVALID_CONSTRAINT');
67     fnd_message.set_token('PROCEDURE', l_proc);
68     fnd_message.set_token('CONSTRAINT_NAME', p_constraint_name);
69     fnd_message.raise_error;
70   End If;
71   --
72   hr_utility.set_location(' Leaving:'||l_proc, 10);
73 End constraint_error;
74 --
75 -- ----------------------------------------------------------------------------
76 -- |-----------------------------< api_updating >-----------------------------|
77 -- ----------------------------------------------------------------------------
78 Function api_updating
79   (p_effective_date		in date,
80    p_acty_base_rt_id		in number,
81    p_object_version_number	in number
82   ) Return Boolean Is
83 --
84   --
85   -- Cursor selects the 'current' row from the HR Schema
86   --
87   Cursor C_Sel1 is
88     select
89 	acty_base_rt_id,
90 	effective_start_date,
91 	effective_end_date,
92 	ordr_num,
93 	acty_typ_cd,
94 	sub_acty_typ_cd,
95         name,
96 	rt_typ_cd,
97         bnft_rt_typ_cd,
98 	tx_typ_cd,
99 	use_to_calc_net_flx_cr_flag,
100 	asn_on_enrt_flag,
101 	abv_mx_elcn_val_alwd_flag,
102 	blw_mn_elcn_alwd_flag,
103         dsply_on_enrt_flag,
104 	parnt_chld_cd,
105 	use_calc_acty_bs_rt_flag,
106 	uses_ded_sched_flag,
107 	uses_varbl_rt_flag,
108 	vstg_sched_apls_flag,
109 	rt_mlt_cd,
110 	proc_each_pp_dflt_flag,
111 	prdct_flx_cr_when_elig_flag,
112 	no_std_rt_used_flag,
113 	rcrrg_cd,
114 	mn_elcn_val,
115 	mx_elcn_val,
116         lwr_lmt_val,
117         lwr_lmt_calc_rl,
118         upr_lmt_val,
119         upr_lmt_calc_rl,
120         ptd_comp_lvl_fctr_id,
121         clm_comp_lvl_fctr_id,
122         entr_ann_val_flag,
123         ann_mn_elcn_val,
124         ann_mx_elcn_val,
125         wsh_rl_dy_mo_num,
126 	uses_pymt_sched_flag,
127 	nnmntry_uom,
128 	val,
129 	incrmt_elcn_val,
130 	rndg_cd,
131 	val_ovrid_alwd_flag,
132 	prtl_mo_det_mthd_cd,
133 	acty_base_rt_stat_cd,
134 	procg_src_cd,
135 	dflt_val,
136         dflt_flag,
137 	frgn_erg_ded_typ_cd,
138 	frgn_erg_ded_name,
142 	entr_val_at_enrt_flag,
139 	frgn_erg_ded_ident,
140 	no_mx_elcn_val_dfnd_flag,
141 	prtl_mo_det_mthd_rl,
143 	prtl_mo_eff_dt_det_rl,
144 	rndg_rl,
145 	val_calc_rl,
146 	no_mn_elcn_val_dfnd_flag,
147 	prtl_mo_eff_dt_det_cd,
148         only_one_bal_typ_alwd_flag,
149         rt_usg_cd,
150         prort_mn_ann_elcn_val_cd,
151         prort_mn_ann_elcn_val_rl,
152         prort_mx_ann_elcn_val_cd,
153         prort_mx_ann_elcn_val_rl,
154         one_ann_pymt_cd,
155         det_pl_ytd_cntrs_cd,
156         asmt_to_use_cd,
157         ele_rqd_flag,
158         subj_to_imptd_incm_flag,
159 	element_type_id,
160 	input_value_id,
161 	input_va_calc_rl,
162         comp_lvl_fctr_id,
163         parnt_acty_base_rt_id,
164 	pgm_id,
165 	pl_id,
166 	oipl_id,
167         opt_id,
168         oiplip_id,
169 	plip_id,
170 	ptip_id,
171 	cmbn_plip_id,
172 	cmbn_ptip_id,
173 	cmbn_ptip_opt_id,
174 	vstg_for_acty_rt_id,
175         actl_prem_id,
176         ALWS_CHG_CD ,
177         ele_entry_val_cd ,
178         TTL_COMP_LVL_FCTR_ID ,
179         COST_ALLOCATION_KEYFLEX_ID,
180         pay_rate_grade_rule_id ,
181         rate_periodization_cd,
182         rate_periodization_rl,
183 	mn_mx_elcn_rl,
184 	mapping_table_name,
185         mapping_table_pk_id,
186 	business_group_id,
187         context_pgm_id,
188         context_pl_id ,
189         context_opt_id,
190 	element_det_rl,
191         currency_det_cd ,
192 	abr_attribute_category,
193 	abr_attribute1,
194 	abr_attribute2,
195 	abr_attribute3,
196 	abr_attribute4,
197 	abr_attribute5,
198 	abr_attribute6,
199 	abr_attribute7,
200 	abr_attribute8,
201 	abr_attribute9,
202 	abr_attribute10,
203 	abr_attribute11,
204 	abr_attribute12,
205 	abr_attribute13,
206 	abr_attribute14,
207 	abr_attribute15,
208 	abr_attribute16,
209 	abr_attribute17,
210 	abr_attribute18,
211 	abr_attribute19,
212 	abr_attribute20,
213 	abr_attribute21,
214 	abr_attribute22,
215 	abr_attribute23,
216 	abr_attribute24,
217 	abr_attribute25,
218 	abr_attribute26,
219 	abr_attribute27,
220 	abr_attribute28,
221 	abr_attribute29,
222 	abr_attribute30,
223 	abr_seq_num,
224 	object_version_number
225     from	ben_acty_base_rt_f
226     where	acty_base_rt_id = p_acty_base_rt_id
227     and		p_effective_date
228     between	effective_start_date and effective_end_date;
229 --
230   l_proc	varchar2(72)	:= g_package||'api_updating';
231   l_fct_ret	boolean;
232 --
233 Begin
234   hr_utility.set_location('Entering:'||l_proc, 5);
235   --
236   If (p_effective_date is null or
237       p_acty_base_rt_id is null or
238       p_object_version_number is null) Then
239     --
240     -- One of the primary key arguments is null therefore we must
241     -- set the returning function value to false
242     --
243     l_fct_ret := false;
244   Else
245     If (p_acty_base_rt_id = g_old_rec.acty_base_rt_id and
246         p_object_version_number = g_old_rec.object_version_number) Then
247       hr_utility.set_location(l_proc, 10);
248       --
249       -- The g_old_rec is current therefore we must
250       -- set the returning function to true
251       --
252       l_fct_ret := true;
253     Else
254       --
255       -- Select the current row
256       --
257       Open C_Sel1;
258       Fetch C_Sel1 Into g_old_rec;
259       If C_Sel1%notfound Then
260         Close C_Sel1;
261         --
262         -- The primary key is invalid therefore we must error
263         --
264         fnd_message.set_name('PAY', 'HR_7220_INVALID_PRIMARY_KEY');
265         fnd_message.raise_error;
266       End If;
267       Close C_Sel1;
268       If (p_object_version_number <> g_old_rec.object_version_number) Then
269         fnd_message.set_name('PAY', 'HR_7155_OBJECT_INVALID');
270         fnd_message.raise_error;
271       End If;
272       hr_utility.set_location(l_proc, 15);
273       l_fct_ret := true;
274     End If;
275   End If;
276   hr_utility.set_location(' Leaving:'||l_proc, 20);
277   Return (l_fct_ret);
278 --
279 End api_updating;
280 --
281 -- ----------------------------------------------------------------------------
282 -- |--------------------------< find_dt_del_modes >---------------------------|
283 -- ----------------------------------------------------------------------------
284 Procedure find_dt_del_modes
285 	(p_effective_date	in  date,
286 	 p_base_key_value	in  number,
287 	 p_zap		 out nocopy boolean,
288 	 p_delete	 out nocopy boolean,
289 	 p_future_change out nocopy boolean,
290 	 p_delete_next_change out nocopy boolean) is
291 --
292   l_proc 		varchar2(72) 	:= g_package||'find_dt_del_modes';
293 --
294   l_parent_key_value1	number;
295   l_parent_key_value2	number;
296   l_parent_key_value3	number;
297   l_parent_key_value4	number;
298   l_parent_key_value5	number;
299   l_parent_key_value6	number;
300   l_parent_key_value7	number;
301   l_parent_key_value8	number;
302   l_parent_key_value9	number;
303   l_parent_key_value10	number;
304   l_parent_key_value11	number;
305   l_parent_key_value12	number;
306   l_parent_key_value13  number;
307   l_parent_key_value14  number;
308   l_parent_key_value15  number;
309   l_parent_key_value16  number;
310   --
311   l_zap                 boolean;
312   l_zap1                boolean;
313   l_delete              boolean;
314   l_delete1             boolean;
315   l_future_change       boolean;
316   l_future_change1      boolean;
317   l_delete_next_change  boolean;
318   l_delete_next_change1 boolean;
319   --
320   Cursor C_Sel1 Is
321     select  t.prtl_mo_det_mthd_rl,
322 	    t.prtl_mo_eff_dt_det_rl,
323 	    t.rndg_rl,
324 	    t.val_calc_rl,
325 	    t.vstg_for_acty_rt_id,
326 	    t.pgm_id,
327 	    t.ptip_id,
328 	    t.oipl_id,
329 	    t.plip_id,
330 	    t.pl_id,
331             t.parnt_acty_base_rt_id,
332             t.lwr_lmt_calc_rl,
333             t.upr_lmt_calc_rl,
334             t.oiplip_id,
335             t.actl_prem_id,
336             t.opt_id
337     from    ben_acty_base_rt_f t
338     where   t.acty_base_rt_id = p_base_key_value
339     and     p_effective_date
340     between t.effective_start_date and t.effective_end_date;
341 --
342 Begin
343   hr_utility.set_location('Entering:'||l_proc, 5);
344   Open  C_Sel1;
345   Fetch C_Sel1 Into l_parent_key_value1,
346 		    l_parent_key_value2,
347 		    l_parent_key_value3,
348 		    l_parent_key_value4,
349 		    l_parent_key_value5,
350 		    l_parent_key_value6,
351 		    l_parent_key_value7,
352 		    l_parent_key_value8,
353 		    l_parent_key_value9,
354 		    l_parent_key_value10,
355                     l_parent_key_value11,
356                     l_parent_key_value12,
357                     l_parent_key_value13,
358                     l_parent_key_value14,
359                     l_parent_key_value15,
360                     l_parent_key_value16;
361   If C_Sel1%notfound then
362     Close C_Sel1;
363     fnd_message.set_name('PAY', 'HR_6153_ALL_PROCEDURE_FAIL');
364     fnd_message.set_token('PROCEDURE', l_proc);
365     fnd_message.set_token('STEP','10');
366     fnd_message.raise_error;
367   End If;
368   Close C_Sel1;
369   --
370   -- Call the corresponding datetrack api
371   --
372   dt_api.find_dt_del_modes
373 	(p_effective_date	=> p_effective_date,
374 	 p_base_table_name	=> 'ben_acty_base_rt_f',
375 	 p_base_key_column	=> 'acty_base_rt_id',
376 	 p_base_key_value	=> p_base_key_value,
377 	 p_parent_table_name1	=> 'ff_formulas_f',
378 	 p_parent_key_column1	=> 'formula_id',
379 	 p_parent_key_value1	=> l_parent_key_value1,
380 	 p_parent_table_name2	=> 'ff_formulas_f',
381 	 p_parent_key_column2	=> 'formula_id',
382 	 p_parent_key_value2	=> l_parent_key_value2,
383 	 p_parent_table_name3	=> 'ff_formulas_f',
384 	 p_parent_key_column3	=> 'formula_id',
385 	 p_parent_key_value3	=> l_parent_key_value3,
386 	 p_parent_table_name4	=> 'ff_formulas_f',
387 	 p_parent_key_column4	=> 'formula_id',
388 	 p_parent_key_value4	=> l_parent_key_value4,
389 	 p_parent_table_name5	=> 'ben_vstg_for_acty_rt_f',
390 	 p_parent_key_column5	=> 'vstg_for_acty_rt_id',
391 	 p_parent_key_value5	=> l_parent_key_value5,
392 	 p_parent_table_name6	=> 'ben_pgm_f',
393 	 p_parent_key_column6	=> 'pgm_id',
394 	 p_parent_key_value6	=> l_parent_key_value6,
395 	 p_parent_table_name7	=> 'ben_ptip_f',
396 	 p_parent_key_column7	=> 'ptip_id',
397 	 p_parent_key_value7	=> l_parent_key_value7,
398 	 p_parent_table_name8	=> 'ben_oipl_f',
399 	 p_parent_key_column8	=> 'oipl_id',
400 	 p_parent_key_value8	=> l_parent_key_value8,
401 	 p_parent_table_name9   => 'ben_plip_f',
402 	 p_parent_key_column9  	=> 'plip_id',
403 	 p_parent_key_value9    => l_parent_key_value9 ,
404 	 p_zap			=> l_zap,
405 	 p_delete		=> l_delete,
406 	 p_future_change	=> l_future_change,
407 	 p_delete_next_change	=> l_delete_next_change);
408   --
409     dt_api.find_dt_del_modes
410 	(p_effective_date       =>   p_effective_date,
411 	 p_base_table_name	=> 'ben_acty_base_rt_f',
412 	 p_base_key_column	=> 'acty_base_rt_id',
413 	 p_base_key_value       => p_base_key_value,
414 	 p_parent_table_name1	=> 'ben_pl_f',
415 	 p_parent_key_column1	=> 'pl_id',
416 	 p_parent_key_value1	=> l_parent_key_value10,
417 	 p_parent_table_name2	=> 'ben_acty_base_rt_f',
418 	 p_parent_key_column2	=> 'acty_base_rt_id',
419 	 p_parent_key_value2	=> l_parent_key_value11,
420          p_parent_table_name3   => 'ff_formulas_f',
421          p_parent_key_column3   => 'formula_id',
422          p_parent_key_value3    => l_parent_key_value12,
423          p_parent_table_name4   => 'ff_formulas_f',
424          p_parent_key_column4   => 'formula_id',
425          p_parent_key_value4    => l_parent_key_value13,
426          p_parent_table_name5   => 'ben_oiplip_f',
427          p_parent_key_column5   => 'oiplip_id',
428          p_parent_key_value5    => l_parent_key_value14,
429          p_parent_table_name6   => 'ben_actl_prem_f',
430          p_parent_key_column6   => 'actl_prem_id',
431          p_parent_key_value6    => l_parent_key_value15,
432          p_parent_table_name7   => 'ben_opt_f',
433          p_parent_key_column7   => 'opt_id',
434          p_parent_key_value7    => l_parent_key_value16 ,
438 	 p_delete_next_change	=> l_delete_next_change1);
435 	 p_zap			=> l_zap1,
436 	 p_delete      	        => l_delete1,
437 	 p_future_change        => l_future_change1,
439   --
440  --
441   if l_zap and l_zap1 then
442     --
443     p_zap := true;
444     --
445   else
446     --
447     p_zap := false;
448     --
449   end if;
450   --
451   if l_delete and l_delete1 then
452     --
453     p_delete := true;
454     --
455   else
456     --
457     p_delete := false;
458     --
459   end if;
460   --
461   if l_future_change and l_future_change1 then
462     --
463     p_future_change := true;
464     --
465   else
466     --
467     p_future_change := false;
468     --
469   end if;
470   --
471   if l_delete_next_change and l_delete_next_change1 then
472     --
473     p_delete_next_change := true;
474     --
475   else
476     --
477     p_delete_next_change := false;
478     --
479   end if;
480   --
481 
482   hr_utility.set_location(' Leaving:'||l_proc, 10);
483 End find_dt_del_modes;
484 --
485 -- ----------------------------------------------------------------------------
486 -- |--------------------------< find_dt_upd_modes >---------------------------|
487 -- ----------------------------------------------------------------------------
488 Procedure find_dt_upd_modes
489 	(p_effective_date	in  date,
490 	 p_base_key_value	in  number,
491 	 p_correction	 out nocopy boolean,
492 	 p_update	 out nocopy boolean,
493 	 p_update_override out nocopy boolean,
494 	 p_update_change_insert out nocopy boolean) is
495 --
496   l_proc 	varchar2(72) := g_package||'find_dt_upd_modes';
497 --
498 Begin
499   hr_utility.set_location('Entering:'||l_proc, 5);
500   --
501   -- Call the corresponding datetrack api
502   --
503   dt_api.find_dt_upd_modes
504 	(p_effective_date	=> p_effective_date,
505 	 p_base_table_name	=> 'ben_acty_base_rt_f',
506 	 p_base_key_column	=> 'acty_base_rt_id',
507 	 p_base_key_value	=> p_base_key_value,
508 	 p_correction		=> p_correction,
509 	 p_update		=> p_update,
510 	 p_update_override	=> p_update_override,
511 	 p_update_change_insert	=> p_update_change_insert);
512   --
513   hr_utility.set_location(' Leaving:'||l_proc, 10);
514 End find_dt_upd_modes;
515 --
516 -- ----------------------------------------------------------------------------
517 -- |------------------------< upd_effective_end_date >------------------------|
518 -- ----------------------------------------------------------------------------
519 Procedure upd_effective_end_date
520 	(p_effective_date		in date,
521 	 p_base_key_value		in number,
522 	 p_new_effective_end_date	in date,
523 	 p_validation_start_date	in date,
524 	 p_validation_end_date		in date,
525          p_object_version_number       out nocopy number) is
526 --
527   l_proc 		  varchar2(72) := g_package||'upd_effective_end_date';
528   l_object_version_number number;
529 --
530 Begin
531   hr_utility.set_location('Entering:'||l_proc, 5);
532   --
533   -- Because we are updating a row we must get the next object
534   -- version number.
535   --
536   l_object_version_number :=
537     dt_api.get_object_version_number
538 	(p_base_table_name	=> 'ben_acty_base_rt_f',
539 	 p_base_key_column	=> 'acty_base_rt_id',
540 	 p_base_key_value	=> p_base_key_value);
541   --
542   hr_utility.set_location(l_proc, 10);
543   g_api_dml := true;  -- Set the api dml status
544   --
545   -- Update the specified datetrack row setting the effective
546   -- end date to the specified new effective end date.
547   --
548   update  ben_acty_base_rt_f t
549   set	  t.effective_end_date	  = p_new_effective_end_date,
550 	  t.object_version_number = l_object_version_number
551   where	  t.acty_base_rt_id	  = p_base_key_value
552   and	  p_effective_date
553   between t.effective_start_date and t.effective_end_date;
554   --
555   g_api_dml := false;   -- Unset the api dml status
556   p_object_version_number := l_object_version_number;
557   hr_utility.set_location(' Leaving:'||l_proc, 15);
558 --
559 Exception
560   When Others Then
561     g_api_dml := false;   -- Unset the api dml status
562     Raise;
563 End upd_effective_end_date;
564 --
565 -- ----------------------------------------------------------------------------
566 -- |---------------------------------< lck >----------------------------------|
567 -- ----------------------------------------------------------------------------
568 Procedure lck
569 	(p_effective_date	 in  date,
570 	 p_datetrack_mode	 in  varchar2,
571 	 p_acty_base_rt_id	 in  number,
572 	 p_object_version_number in  number,
573 	 p_validation_start_date out nocopy date,
574 	 p_validation_end_date	 out nocopy date) is
575 --
576   l_proc		  varchar2(72) := g_package||'lck';
577   l_validation_start_date date;
578   l_validation_end_date	  date;
579   l_validation_start_date1 date;
580   l_validation_end_date1   date;
581   l_validation_start_date2 date;
582   l_validation_end_date2   date;
583   l_object_invalid 	  exception;
584   l_argument		  varchar2(30);
585   --
586   -- Cursor C_Sel1 selects the current locked row as of session date
587   -- ensuring that the object version numbers match.
588   --
589   Cursor C_Sel1 is
590     select
591 	acty_base_rt_id,
592 	effective_start_date,
593 	effective_end_date,
594 	ordr_num,
595 	acty_typ_cd,
596 	sub_acty_typ_cd,
600 	tx_typ_cd,
597         name,
598 	rt_typ_cd,
599         bnft_rt_typ_cd,
601 	use_to_calc_net_flx_cr_flag,
602 	asn_on_enrt_flag,
603 	abv_mx_elcn_val_alwd_flag,
604 	blw_mn_elcn_alwd_flag,
605         dsply_on_enrt_flag,
606 	parnt_chld_cd,
607 	use_calc_acty_bs_rt_flag,
608 	uses_ded_sched_flag,
609 	uses_varbl_rt_flag,
610 	vstg_sched_apls_flag,
611 	rt_mlt_cd,
612 	proc_each_pp_dflt_flag,
613 	prdct_flx_cr_when_elig_flag,
614 	no_std_rt_used_flag,
615 	rcrrg_cd,
616 	mn_elcn_val,
617 	mx_elcn_val,
618         lwr_lmt_val,
619         lwr_lmt_calc_rl,
620         upr_lmt_val,
621         upr_lmt_calc_rl,
622         ptd_comp_lvl_fctr_id,
623         clm_comp_lvl_fctr_id,
624         entr_ann_val_flag,
625         ann_mn_elcn_val,
626         ann_mx_elcn_val,
627         wsh_rl_dy_mo_num,
628 	uses_pymt_sched_flag,
629 	nnmntry_uom,
630 	val,
631 	incrmt_elcn_val,
632 	rndg_cd,
633 	val_ovrid_alwd_flag,
634 	prtl_mo_det_mthd_cd,
635 	acty_base_rt_stat_cd,
636 	procg_src_cd,
637 	dflt_val,
638         dflt_flag,
639 	frgn_erg_ded_typ_cd,
640 	frgn_erg_ded_name,
641 	frgn_erg_ded_ident,
642 	no_mx_elcn_val_dfnd_flag,
643 	prtl_mo_det_mthd_rl,
644 	entr_val_at_enrt_flag,
645 	prtl_mo_eff_dt_det_rl,
646 	rndg_rl,
647 	val_calc_rl,
648 	no_mn_elcn_val_dfnd_flag,
649 	prtl_mo_eff_dt_det_cd,
650         only_one_bal_typ_alwd_flag,
651         rt_usg_cd,
652         prort_mn_ann_elcn_val_cd,
653         prort_mn_ann_elcn_val_rl,
654         prort_mx_ann_elcn_val_cd,
655         prort_mx_ann_elcn_val_rl,
656         one_ann_pymt_cd,
657         det_pl_ytd_cntrs_cd,
658         asmt_to_use_cd,
659         ele_rqd_flag,
660         subj_to_imptd_incm_flag,
661 	element_type_id,
662 	input_value_id,
663 	input_va_calc_rl,
664         comp_lvl_fctr_id,
665         parnt_acty_base_rt_id,
666 	pgm_id,
667 	pl_id,
668 	oipl_id,
669         opt_id,
670         oiplip_id,
671 	plip_id,
672 	ptip_id,
673 	cmbn_plip_id,
674 	cmbn_ptip_id,
675 	cmbn_ptip_opt_id,
676 	vstg_for_acty_rt_id,
677         actl_prem_id,
678         TTL_COMP_LVL_FCTR_ID ,
679         COST_ALLOCATION_KEYFLEX_ID,
680         ALWS_CHG_CD ,
681         ele_entry_val_cd ,
682         rate_periodization_cd,
683         rate_periodization_rl,
684         pay_rate_grade_rule_id ,
685 	mn_mx_elcn_rl,
686 	mapping_table_name,
687 	mapping_table_pk_id,
688 	business_group_id,
689         context_pgm_id ,
690         context_pl_id  ,
691         context_opt_id ,
692 	element_det_rl,
693         currency_det_cd,
694 	abr_attribute_category,
695 	abr_attribute1,
696 	abr_attribute2,
697 	abr_attribute3,
698 	abr_attribute4,
699 	abr_attribute5,
700 	abr_attribute6,
701 	abr_attribute7,
702 	abr_attribute8,
703 	abr_attribute9,
704 	abr_attribute10,
705 	abr_attribute11,
706 	abr_attribute12,
707 	abr_attribute13,
708 	abr_attribute14,
709 	abr_attribute15,
710 	abr_attribute16,
711 	abr_attribute17,
712 	abr_attribute18,
713 	abr_attribute19,
714 	abr_attribute20,
715 	abr_attribute21,
716 	abr_attribute22,
717 	abr_attribute23,
718 	abr_attribute24,
719 	abr_attribute25,
720 	abr_attribute26,
721 	abr_attribute27,
722 	abr_attribute28,
723 	abr_attribute29,
724 	abr_attribute30,
725 	abr_seq_num,
726 	object_version_number
727     from    ben_acty_base_rt_f
728     where   acty_base_rt_id         = p_acty_base_rt_id
729     and	    p_effective_date
730     between effective_start_date and effective_end_date
731     for update nowait;
732   --
733   --
734   --
735 Begin
736   hr_utility.set_location('Entering:'||l_proc, 5);
737   --
738   -- Ensure that all the mandatory arguments are not null
739   --
740   hr_api.mandatory_arg_error(p_api_name       => l_proc,
741                              p_argument       => 'effective_date',
742                              p_argument_value => p_effective_date);
743   --
744   hr_api.mandatory_arg_error(p_api_name       => l_proc,
745                              p_argument       => 'datetrack_mode',
746                              p_argument_value => p_datetrack_mode);
747   --
748   hr_api.mandatory_arg_error(p_api_name       => l_proc,
749                              p_argument       => 'acty_base_rt_id',
750                              p_argument_value => p_acty_base_rt_id);
751   --
752   hr_api.mandatory_arg_error(p_api_name       => l_proc,
753                              p_argument       => 'object_version_number',
754                              p_argument_value => p_object_version_number);
755   --
756   -- Check to ensure the datetrack mode is not INSERT.
757   --
758   If (p_datetrack_mode <> 'INSERT') then
759     --
760     -- We must select and lock the current row.
761     --
762     Open  C_Sel1;
763     Fetch C_Sel1 Into g_old_rec;
764     If C_Sel1%notfound then
765       Close C_Sel1;
766       --
767       -- The primary key is invalid therefore we must error
768       --
769       fnd_message.set_name('PAY', 'HR_7220_INVALID_PRIMARY_KEY');
770       fnd_message.raise_error;
771     End If;
772     Close C_Sel1;
773     If (p_object_version_number <> g_old_rec.object_version_number) Then
777     hr_utility.set_location(l_proc, 15);
774         fnd_message.set_name('PAY', 'HR_7155_OBJECT_INVALID');
775         fnd_message.raise_error;
776       End If;
778     --
779     --
780     -- Validate the datetrack mode mode getting the validation start
781     -- and end dates for the specified datetrack operation.
782     --
783     dt_api.validate_dt_mode
784 	(p_effective_date	   => p_effective_date,
785 	 p_datetrack_mode	   => p_datetrack_mode,
786 	 p_base_table_name	   => 'ben_acty_base_rt_f',
787 	 p_base_key_column	   => 'acty_base_rt_id',
788 	 p_base_key_value 	   => p_acty_base_rt_id,
789 	 p_parent_table_name1      => 'ff_formulas_f',
790 	 p_parent_key_column1      => 'formula_id',
791 	 p_parent_key_value1       => g_old_rec.prtl_mo_det_mthd_rl,
792          p_parent_table_name2      => 'ff_formulas_f',
793          p_parent_key_column2      => 'formula_id',
794          p_parent_key_value2       => g_old_rec.prtl_mo_eff_dt_det_rl,
795          p_parent_table_name3      => 'ff_formulas_f',
796          p_parent_key_column3      => 'formula_id',
797          p_parent_key_value3       => g_old_rec.rndg_rl,
798          p_parent_table_name4      => 'ff_formulas_f',
799          p_parent_key_column4      => 'formula_id',
800          p_parent_key_value4       => g_old_rec.val_calc_rl,
801          p_parent_table_name5      => 'ben_vstg_for_acty_rt_f',
802          p_parent_key_column5      => 'vstg_for_acty_rt_id',
803          p_parent_key_value5       => g_old_rec.vstg_for_acty_rt_id,
804          p_parent_table_name6      => 'ben_pgm_f',
805          p_parent_key_column6      => 'pgm_id',
806          p_parent_key_value6       => g_old_rec.pgm_id,
807          p_parent_table_name7      => 'ben_ptip_f',
808          p_parent_key_column7      => 'ptip_id',
809          p_parent_key_value7       => g_old_rec.ptip_id,
810          p_parent_table_name8      => 'ben_oipl_f',
811          p_parent_key_column8      => 'oipl_id',
812          p_parent_key_value8       => g_old_rec.oipl_id,
813          p_parent_table_name9      => 'ben_plip_f',
814          p_parent_key_column9      => 'plip_id',
815          p_parent_key_value9       => g_old_rec.plip_id,
816          p_child_table_name1       => 'ben_acty_rt_ded_sched_f',
817          p_child_key_column1       => 'acty_rt_ded_sched_id',
818          p_child_table_name2       => 'ben_acty_rt_pymt_sched_f',
819          p_child_key_column2       => 'acty_rt_pymt_sched_id',
820          p_child_table_name3       => 'ben_vrbl_rt_rl_f',
821          p_child_key_column3       => 'vrbl_rt_rl_id',
822          p_child_table_name4       => 'ben_acty_vrbl_rt_f',
823          p_child_key_column4       => 'acty_vrbl_rt_id',
824          p_child_table_name5       => 'ben_comp_lvl_acty_rt_f',
825          p_child_key_column5       => 'comp_lvl_acty_rt_id',
826 --         p_enforce_foreign_locking => true,  Bug 3198808
827          p_enforce_foreign_locking => false,
828 	 p_validation_start_date   => l_validation_start_date,
829  	 p_validation_end_date	   => l_validation_end_date);
830     --
831      dt_api.validate_dt_mode
832 	(p_effective_date	   => p_effective_date,
833 	 p_datetrack_mode	   => p_datetrack_mode,
834 	 p_base_table_name	   => 'ben_acty_base_rt_f',
835 	 p_base_key_column	   => 'acty_base_rt_id',
836 	 p_base_key_value 	   => p_acty_base_rt_id,
837 	 p_parent_table_name1      => 'ben_cmbn_ptip_f',
838 	 p_parent_key_column1      => 'cmbn_ptip_id',
839 	 p_parent_key_value1       => g_old_rec.cmbn_ptip_id,
840          p_parent_table_name2      => 'ben_pl_f',
841          p_parent_key_column2      => 'pl_id',
842          p_parent_key_value2       => g_old_rec.pl_id,
843          p_parent_table_name3      => 'ben_cmbn_ptip_opt_f',
844          p_parent_key_column3      => 'cmbn_ptip_opt_id',
845          p_parent_key_value3       => g_old_rec.cmbn_ptip_opt_id,
846          p_parent_table_name4      => 'ben_acty_base_rt_f',
847          p_parent_key_column4      => 'acty_base_rt_id',
848          p_parent_key_value4       => g_old_rec.parnt_acty_base_rt_id,
849          p_parent_table_name5      => 'ff_formulas_f',
850          p_parent_key_column5      => 'formula_id',
851          p_parent_key_value5       => g_old_rec.lwr_lmt_calc_rl,
852          p_parent_table_name6      => 'ff_formulas_f',
853          p_parent_key_column6      => 'formula_id',
854          p_parent_key_value6       => g_old_rec.upr_lmt_calc_rl,
855 	 p_parent_table_name7      => 'ben_cmbn_plip_f',
856 	 p_parent_key_column7      => 'cmbn_plip_id',
857 	 p_parent_key_value7       => g_old_rec.cmbn_plip_id,
858          p_parent_table_name8      => 'ben_oiplip_f',
859          p_parent_key_column8      => 'oiplip_id',
860          p_parent_key_value8       => g_old_rec.oiplip_id,
861          p_parent_table_name9      => 'ben_actl_prem_f',
862          p_parent_key_column9      => 'actl_prem_id',
863          p_parent_key_value9       => g_old_rec.actl_prem_id,
864          p_parent_table_name10     => 'pay_grade_rules_f',
865          p_parent_key_column10     => 'grade_rule_id',
866          p_parent_key_value10      => g_old_rec.pay_rate_grade_rule_id,
867 --         p_enforce_foreign_locking => true,  Bug 3198808
868          p_enforce_foreign_locking => false,
869 	 p_validation_start_date   => l_validation_start_date1,
870  	 p_validation_end_date	   => l_validation_end_date1);
871      --
872      dt_api.validate_dt_mode
873         (p_effective_date          => p_effective_date,
874          p_datetrack_mode          => p_datetrack_mode,
875          p_base_table_name         => 'ben_acty_base_rt_f',
876          p_base_key_column         => 'acty_base_rt_id',
877          p_base_key_value          => p_acty_base_rt_id,
878          p_parent_table_name1      => 'ben_opt_f',
879          p_parent_key_column1      => 'opt_id',
880          p_parent_key_value1       => g_old_rec.opt_id,
881 --         p_enforce_foreign_locking => true,  Bug 3198808
882          p_enforce_foreign_locking => false,
883          p_validation_start_date   => l_validation_start_date1,
884          p_validation_end_date     => l_validation_end_date1
885         );
886    --
887   Else
888     --
889     -- We are doing a datetrack 'INSERT' which is illegal within this
890     -- procedure therefore we must error (note: to lck on insert the
891     -- private procedure ins_lck should be called).
892     --
893     fnd_message.set_name('PAY', 'HR_6153_ALL_PROCEDURE_FAIL');
894     fnd_message.set_token('PROCEDURE', l_proc);
895     fnd_message.set_token('STEP','20');
896     fnd_message.raise_error;
897   End If;
898   --
899   -- Set the validation start and end date OUT arguments
900   --
901   if l_validation_start_date > l_validation_start_date1 then
902     --
903     p_validation_start_date := l_validation_start_date;
904   else
905     --
906     p_validation_start_date := l_validation_start_date1;
907     --
908   end if;
909   --
910   if l_validation_end_date > l_validation_end_date1 then
911     --
912     p_validation_end_date := l_validation_end_date;
913   else
914     --
915     p_validation_end_date := l_validation_end_date1;
916     --
917   end if;
918   --
919   hr_utility.set_location(' Leaving:'||l_proc, 30);
920 --
921 -- We need to trap the ORA LOCK exception
922 --
923 Exception
924   When HR_Api.Object_Locked then
925     --
926     -- The object is locked therefore we need to supply a meaningful
927     -- error message.
928     --
929     fnd_message.set_name('PAY', 'HR_7165_OBJECT_LOCKED');
930     fnd_message.set_token('TABLE_NAME', 'ben_acty_base_rt_f');
931     fnd_message.raise_error;
932   When l_object_invalid then
933     --
934     -- The object doesn't exist or is invalid
935     --
936     fnd_message.set_name('PAY', 'HR_7155_OBJECT_INVALID');
937     fnd_message.set_token('TABLE_NAME', 'ben_acty_base_rt_f');
938     fnd_message.raise_error;
939 End lck;
940 --
941 -- ----------------------------------------------------------------------------
942 -- |-----------------------------< convert_args >-----------------------------|
943 -- ----------------------------------------------------------------------------
944 Function convert_args
945 	(
946         p_acty_base_rt_id               in number,
947         p_effective_start_date          in date,
948         p_effective_end_date            in date,
949         p_ordr_num			in number,
950         p_acty_typ_cd                   in varchar2,
951         p_sub_acty_typ_cd               in varchar2,
952         p_name                          in varchar2,
953         p_rt_typ_cd                     in varchar2,
954         p_bnft_rt_typ_cd                in varchar2,
955         p_tx_typ_cd                     in varchar2,
956         p_use_to_calc_net_flx_cr_flag   in varchar2,
957         p_asn_on_enrt_flag              in varchar2,
958         p_abv_mx_elcn_val_alwd_flag     in varchar2,
959         p_blw_mn_elcn_alwd_flag         in varchar2,
960         p_dsply_on_enrt_flag            in varchar2,
961         p_parnt_chld_cd                 in varchar2,
962         p_use_calc_acty_bs_rt_flag      in varchar2,
963         p_uses_ded_sched_flag           in varchar2,
964         p_uses_varbl_rt_flag            in varchar2,
965         p_vstg_sched_apls_flag          in varchar2,
966         p_rt_mlt_cd                     in varchar2,
967         p_proc_each_pp_dflt_flag        in varchar2,
968         p_prdct_flx_cr_when_elig_flag   in varchar2,
969         p_no_std_rt_used_flag           in varchar2,
970         p_rcrrg_cd                      in varchar2,
971         p_mn_elcn_val                   in number,
972         p_mx_elcn_val                   in number,
973         p_lwr_lmt_val                   in number,
974         p_lwr_lmt_calc_rl               in number,
975         p_upr_lmt_val                   in number,
976         p_upr_lmt_calc_rl               in number,
977         p_ptd_comp_lvl_fctr_id          in number,
978         p_clm_comp_lvl_fctr_id          in number,
979         p_entr_ann_val_flag             in varchar2,
980         p_ann_mn_elcn_val               in number,
981         p_ann_mx_elcn_val               in number,
982         p_wsh_rl_dy_mo_num              in number,
983         p_uses_pymt_sched_flag          in varchar2,
984         p_nnmntry_uom                   in varchar2,
985         p_val                           in number,
986         p_incrmt_elcn_val               in number,
987         p_rndg_cd                       in varchar2,
988         p_val_ovrid_alwd_flag           in varchar2,
989         p_prtl_mo_det_mthd_cd           in varchar2,
990         p_acty_base_rt_stat_cd          in varchar2,
991         p_procg_src_cd                  in varchar2,
992         p_dflt_val                      in number,
993         p_dflt_flag                     in varchar2,
994         p_frgn_erg_ded_typ_cd           in varchar2,
995         p_frgn_erg_ded_name             in varchar2,
996         p_frgn_erg_ded_ident            in varchar2,
997         p_no_mx_elcn_val_dfnd_flag      in varchar2,
998         p_prtl_mo_det_mthd_rl           in number,
999         p_entr_val_at_enrt_flag         in varchar2,
1000         p_prtl_mo_eff_dt_det_rl         in number,
1001         p_rndg_rl                       in number,
1002         p_val_calc_rl                   in number,
1003         p_no_mn_elcn_val_dfnd_flag      in varchar2,
1004         p_prtl_mo_eff_dt_det_cd         in varchar2,
1005         p_only_one_bal_typ_alwd_flag    in varchar2,
1006         p_rt_usg_cd                     in varchar2,
1007         p_prort_mn_ann_elcn_val_cd      in varchar2,
1008         p_prort_mn_ann_elcn_val_rl      in number,
1009         p_prort_mx_ann_elcn_val_cd      in varchar2,
1010         p_prort_mx_ann_elcn_val_rl      in number,
1011         p_one_ann_pymt_cd               in varchar2,
1012         p_det_pl_ytd_cntrs_cd           in varchar2,
1013         p_asmt_to_use_cd                in varchar2,
1014         p_ele_rqd_flag                  in varchar2,
1015         p_subj_to_imptd_incm_flag       in varchar2,
1016         p_element_type_id               in number,
1017         p_input_value_id                in number,
1018         p_input_va_calc_rl             in number,
1019         p_comp_lvl_fctr_id              in number,
1020         p_parnt_acty_base_rt_id         in number,
1021         p_pgm_id                        in number,
1022         p_pl_id                         in number,
1023         p_oipl_id                       in number,
1024         p_opt_id                        in number,
1025         p_oiplip_id                     in number,
1026         p_plip_id                       in number,
1027         p_ptip_id                       in number,
1028         p_cmbn_plip_id                  in number,
1029         p_cmbn_ptip_id                  in number,
1030         p_cmbn_ptip_opt_id              in number,
1031         p_vstg_for_acty_rt_id           in number,
1032         p_actl_prem_id                  in number,
1033         p_TTL_COMP_LVL_FCTR_ID          in  number,
1034         p_COST_ALLOCATION_KEYFLEX_ID    in  number,
1035         p_ALWS_CHG_CD                   in  varchar2,
1036         p_ele_entry_val_cd              in  varchar2,
1037         p_pay_rate_grade_rule_id        in  number,
1038         p_rate_periodization_cd         in  varchar2,
1039         p_rate_periodization_rl         in  number,
1040 	p_mn_mx_elcn_rl 	        in number,
1041 	p_mapping_table_name            in varchar2,
1042         p_mapping_table_pk_id           in number,
1043         p_business_group_id             in number,
1044         p_context_pgm_id                in number,
1045         p_context_pl_id                 in number,
1046         p_context_opt_id                in number,
1047 	p_element_det_rl                in number,
1048         p_currency_det_cd               in varchar2,
1049 	p_abr_attribute_category        in varchar2,
1050         p_abr_attribute1                in varchar2,
1051         p_abr_attribute2                in varchar2,
1052         p_abr_attribute3                in varchar2,
1053         p_abr_attribute4                in varchar2,
1054         p_abr_attribute5                in varchar2,
1055         p_abr_attribute6                in varchar2,
1056         p_abr_attribute7                in varchar2,
1057         p_abr_attribute8                in varchar2,
1058         p_abr_attribute9                in varchar2,
1059         p_abr_attribute10               in varchar2,
1060         p_abr_attribute11               in varchar2,
1061         p_abr_attribute12               in varchar2,
1062         p_abr_attribute13               in varchar2,
1063         p_abr_attribute14               in varchar2,
1064         p_abr_attribute15               in varchar2,
1065         p_abr_attribute16               in varchar2,
1066         p_abr_attribute17               in varchar2,
1067         p_abr_attribute18               in varchar2,
1068         p_abr_attribute19               in varchar2,
1069         p_abr_attribute20               in varchar2,
1070         p_abr_attribute21               in varchar2,
1071         p_abr_attribute22               in varchar2,
1072         p_abr_attribute23               in varchar2,
1073         p_abr_attribute24               in varchar2,
1074         p_abr_attribute25               in varchar2,
1075         p_abr_attribute26               in varchar2,
1076         p_abr_attribute27               in varchar2,
1077         p_abr_attribute28               in varchar2,
1078         p_abr_attribute29               in varchar2,
1079         p_abr_attribute30               in varchar2,
1080 	p_abr_seq_num                   in number,
1081         p_object_version_number         in number
1082 	)
1083 	Return g_rec_type is
1084 --
1085   l_rec	  g_rec_type;
1086   l_proc  varchar2(72) := g_package||'convert_args';
1087 --
1088 Begin
1089   --
1090   hr_utility.set_location('Entering:'||l_proc, 5);
1091   hr_utility.set_location('total rate before '||p_TTL_COMP_LVL_FCTR_ID, 99);
1092   --
1093   -- Convert arguments into local l_rec structure.
1094   --
1095   l_rec.acty_base_rt_id                  := p_acty_base_rt_id;
1096   l_rec.effective_start_date             := p_effective_start_date;
1097   l_rec.effective_end_date               := p_effective_end_date;
1098   l_rec.ordr_num			 := p_ordr_num;
1099   l_rec.acty_typ_cd                      := p_acty_typ_cd;
1100   l_rec.sub_acty_typ_cd                  := p_sub_acty_typ_cd;
1101   l_rec.element_type_id                  := p_element_type_id;
1102   l_rec.input_value_id                   := p_input_value_id;
1103   l_rec.input_va_calc_rl                 := p_input_va_calc_rl;
1104   l_rec.comp_lvl_fctr_id                 := p_comp_lvl_fctr_id;
1105   l_rec.parnt_acty_base_rt_id            := p_parnt_acty_base_rt_id;
1106   l_rec.pgm_id                           := p_pgm_id;
1107   l_rec.pl_id                            := p_pl_id;
1108   l_rec.oipl_id                          := p_oipl_id;
1109   l_rec.opt_id                           := p_opt_id;
1110   l_rec.oiplip_id                        := p_oiplip_id;
1111   l_rec.plip_id                          := p_plip_id;
1112   l_rec.ptip_id                          := p_ptip_id;
1113   l_rec.cmbn_ptip_opt_id                 := p_cmbn_ptip_opt_id;
1114   l_rec.vstg_for_acty_rt_id              := p_vstg_for_acty_rt_id;
1115   l_rec.actl_prem_id                     := p_actl_prem_id;
1116   l_rec.TTL_COMP_LVL_FCTR_ID             :=  p_TTL_COMP_LVL_FCTR_ID;
1117   l_rec.COST_ALLOCATION_KEYFLEX_ID       :=  p_COST_ALLOCATION_KEYFLEX_ID;
1118   l_rec.ALWS_CHG_CD                      :=  p_ALWS_CHG_CD;
1119   l_rec.ele_entry_val_cd                 :=  p_ele_entry_val_cd;
1120   l_rec.rt_typ_cd                        := p_rt_typ_cd;
1121   l_rec.bnft_rt_typ_cd                   := p_bnft_rt_typ_cd;
1122   l_rec.tx_typ_cd                        := p_tx_typ_cd;
1123   l_rec.use_to_calc_net_flx_cr_flag      := p_use_to_calc_net_flx_cr_flag;
1124   l_rec.asn_on_enrt_flag                 := p_asn_on_enrt_flag;
1125   l_rec.abv_mx_elcn_val_alwd_flag        := p_abv_mx_elcn_val_alwd_flag;
1126   l_rec.blw_mn_elcn_alwd_flag            := p_blw_mn_elcn_alwd_flag;
1127   l_rec.dsply_on_enrt_flag               := p_dsply_on_enrt_flag;
1128   l_rec.parnt_chld_cd                    := p_parnt_chld_cd;
1129   l_rec.use_calc_acty_bs_rt_flag         := p_use_calc_acty_bs_rt_flag;
1130   l_rec.uses_ded_sched_flag              := p_uses_ded_sched_flag;
1131   l_rec.uses_varbl_rt_flag               := p_uses_varbl_rt_flag;
1132   l_rec.vstg_sched_apls_flag             := p_vstg_sched_apls_flag;
1133   l_rec.rt_mlt_cd                        := p_rt_mlt_cd;
1134   l_rec.proc_each_pp_dflt_flag           := p_proc_each_pp_dflt_flag;
1135   l_rec.prdct_flx_cr_when_elig_flag      := p_prdct_flx_cr_when_elig_flag;
1136   l_rec.no_std_rt_used_flag              := p_no_std_rt_used_flag;
1137   l_rec.rcrrg_cd                         := p_rcrrg_cd;
1138   l_rec.mn_elcn_val                      := p_mn_elcn_val;
1139   l_rec.mx_elcn_val                      := p_mx_elcn_val;
1140   l_rec.lwr_lmt_val                      := p_lwr_lmt_val;
1141   l_rec.lwr_lmt_calc_rl                  := p_lwr_lmt_calc_rl;
1142   l_rec.upr_lmt_val                      := p_upr_lmt_val;
1143   l_rec.upr_lmt_calc_rl                  := p_upr_lmt_calc_rl;
1144   l_rec.ptd_comp_lvl_fctr_id             := p_ptd_comp_lvl_fctr_id;
1145   l_rec.clm_comp_lvl_fctr_id             := p_clm_comp_lvl_fctr_id;
1146   l_rec.entr_ann_val_flag                := p_entr_ann_val_flag;
1147   l_rec.ann_mn_elcn_val                  := p_ann_mn_elcn_val;
1148   l_rec.ann_mx_elcn_val                  := p_ann_mx_elcn_val;
1149   l_rec.wsh_rl_dy_mo_num                 := p_wsh_rl_dy_mo_num;
1150   l_rec.uses_pymt_sched_flag             := p_uses_pymt_sched_flag;
1151   l_rec.nnmntry_uom                      := p_nnmntry_uom;
1152   l_rec.val                              := p_val;
1153   l_rec.incrmt_elcn_val                  := p_incrmt_elcn_val;
1154   l_rec.rndg_cd                          := p_rndg_cd;
1155   l_rec.val_ovrid_alwd_flag              := p_val_ovrid_alwd_flag;
1156   l_rec.prtl_mo_det_mthd_cd              := p_prtl_mo_det_mthd_cd;
1157   l_rec.acty_base_rt_stat_cd             := p_acty_base_rt_stat_cd;
1158   l_rec.procg_src_cd                     := p_procg_src_cd;
1159   l_rec.dflt_val                         := p_dflt_val;
1160   l_rec.dflt_flag                        := p_dflt_flag;
1161   l_rec.frgn_erg_ded_typ_cd              := p_frgn_erg_ded_typ_cd;
1162   l_rec.frgn_erg_ded_name                := p_frgn_erg_ded_name;
1163   l_rec.frgn_erg_ded_ident               := p_frgn_erg_ded_ident;
1164   l_rec.no_mx_elcn_val_dfnd_flag         := p_no_mx_elcn_val_dfnd_flag;
1165   l_rec.cmbn_plip_id                     := p_cmbn_plip_id;
1166   l_rec.cmbn_ptip_id                     := p_cmbn_ptip_id;
1167   l_rec.prtl_mo_det_mthd_rl              := p_prtl_mo_det_mthd_rl;
1168   l_rec.entr_val_at_enrt_flag            := p_entr_val_at_enrt_flag;
1169   l_rec.prtl_mo_eff_dt_det_rl            := p_prtl_mo_eff_dt_det_rl;
1170   l_rec.rndg_rl                          := p_rndg_rl;
1171   l_rec.val_calc_rl                      := p_val_calc_rl;
1172   l_rec.no_mn_elcn_val_dfnd_flag         := p_no_mn_elcn_val_dfnd_flag;
1173   l_rec.prtl_mo_eff_dt_det_cd            := p_prtl_mo_eff_dt_det_cd;
1174   l_rec.business_group_id                := p_business_group_id;
1175   l_rec.only_one_bal_typ_alwd_flag       := p_only_one_bal_typ_alwd_flag;
1176   l_rec.rt_usg_cd                        := p_rt_usg_cd;
1177   l_rec.prort_mn_ann_elcn_val_cd         := p_prort_mn_ann_elcn_val_cd;
1178   l_rec.prort_mn_ann_elcn_val_rl         := p_prort_mn_ann_elcn_val_rl;
1179   l_rec.prort_mx_ann_elcn_val_cd         := p_prort_mx_ann_elcn_val_cd;
1180   l_rec.prort_mx_ann_elcn_val_rl         := p_prort_mx_ann_elcn_val_rl;
1181   l_rec.one_ann_pymt_cd                  := p_one_ann_pymt_cd;
1182   l_rec.det_pl_ytd_cntrs_cd              := p_det_pl_ytd_cntrs_cd;
1183   l_rec.asmt_to_use_cd                   := p_asmt_to_use_cd;
1184   l_rec.ele_rqd_flag                     := p_ele_rqd_flag;
1185   l_rec.subj_to_imptd_incm_flag          := p_subj_to_imptd_incm_flag;
1186   l_rec.name                             := p_name;
1187   l_rec.pay_rate_grade_rule_id           := p_pay_rate_grade_rule_id  ;
1188   l_rec.rate_periodization_cd            := p_rate_periodization_cd ;
1189   l_rec.rate_periodization_rl            := p_rate_periodization_rl ;
1190   l_rec.mn_mx_elcn_rl                    := p_mn_mx_elcn_rl ;
1191   l_rec.mapping_table_name               := p_mapping_table_name;
1192   l_rec.mapping_table_pk_id              := p_mapping_table_pk_id;
1193   l_rec.context_pgm_id                   := p_context_pgm_id;
1194   l_rec.context_pl_id                    := p_context_pl_id;
1195   l_rec.context_opt_id                   := p_context_opt_id;
1196   l_rec.element_det_rl                   := p_element_det_rl;
1197   l_rec.currency_det_cd                  := p_currency_det_cd;
1198   l_rec.abr_attribute_category           := p_abr_attribute_category;
1199   l_rec.abr_attribute1                   := p_abr_attribute1;
1200   l_rec.abr_attribute2                   := p_abr_attribute2;
1201   l_rec.abr_attribute3                   := p_abr_attribute3;
1202   l_rec.abr_attribute4                   := p_abr_attribute4;
1203   l_rec.abr_attribute5                   := p_abr_attribute5;
1204   l_rec.abr_attribute6                   := p_abr_attribute6;
1205   l_rec.abr_attribute7                   := p_abr_attribute7;
1206   l_rec.abr_attribute8                   := p_abr_attribute8;
1207   l_rec.abr_attribute9                   := p_abr_attribute9;
1208   l_rec.abr_attribute10                  := p_abr_attribute10;
1209   l_rec.abr_attribute11                  := p_abr_attribute11;
1210   l_rec.abr_attribute12                  := p_abr_attribute12;
1211   l_rec.abr_attribute13                  := p_abr_attribute13;
1212   l_rec.abr_attribute14                  := p_abr_attribute14;
1213   l_rec.abr_attribute15                  := p_abr_attribute15;
1214   l_rec.abr_attribute16                  := p_abr_attribute16;
1215   l_rec.abr_attribute17                  := p_abr_attribute17;
1216   l_rec.abr_attribute18                  := p_abr_attribute18;
1217   l_rec.abr_attribute19                  := p_abr_attribute19;
1218   l_rec.abr_attribute20                  := p_abr_attribute20;
1219   l_rec.abr_attribute21                  := p_abr_attribute21;
1220   l_rec.abr_attribute22                  := p_abr_attribute22;
1221   l_rec.abr_attribute23                  := p_abr_attribute23;
1222   l_rec.abr_attribute24                  := p_abr_attribute24;
1223   l_rec.abr_attribute25                  := p_abr_attribute25;
1224   l_rec.abr_attribute26                  := p_abr_attribute26;
1225   l_rec.abr_attribute27                  := p_abr_attribute27;
1226   l_rec.abr_attribute28                  := p_abr_attribute28;
1227   l_rec.abr_attribute29                  := p_abr_attribute29;
1228   l_rec.abr_attribute30                  := p_abr_attribute30;
1229   l_rec.abr_seq_num                      := p_abr_seq_num;
1230   l_rec.object_version_number            := p_object_version_number;
1231   --
1232   -- Return the plsql record structure.
1233   --
1234   hr_utility.set_location('total rate before '||l_rec.TTL_COMP_LVL_FCTR_ID, 99);
1235   hr_utility.set_location(' Leaving:'||l_proc, 10);
1236   Return(l_rec);
1237 --
1238 End convert_args;
1239 --
1240 end ben_abr_shd;