[Home] [Help]
PACKAGE BODY: APPS.BEN_APR_SHD
Source
4 -- ----------------------------------------------------------------------------
1 Package Body ben_apr_shd as
2 /* $Header: beaprrhi.pkb 120.0 2005/05/28 00:26:53 appldev noship $ */
3 --
5 -- | Private Global Definitions |
6 -- ----------------------------------------------------------------------------
7 --
8 g_package varchar2(33) := ' ben_apr_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_ACTL_PREM_FK1') Then
37 fnd_message.set_name('PAY', 'HR_6153_ALL_PROCEDURE_FAIL');
41 ElsIf (p_constraint_name = 'BEN_ACTL_PREM_FK3') Then
38 fnd_message.set_token('PROCEDURE', l_proc);
39 fnd_message.set_token('STEP','5');
40 fnd_message.raise_error;
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_ACTL_PREM_F_PK') Then
47 fnd_message.set_name('PAY', 'HR_6153_ALL_PROCEDURE_FAIL');
48 fnd_message.set_token('PROCEDURE', l_proc);
49 fnd_message.set_token('STEP','15');
50 fnd_message.raise_error;
51 Else
52 fnd_message.set_name('PAY', 'HR_7877_API_INVALID_CONSTRAINT');
53 fnd_message.set_token('PROCEDURE', l_proc);
54 fnd_message.set_token('CONSTRAINT_NAME', p_constraint_name);
55 fnd_message.raise_error;
56 End If;
57 --
58 hr_utility.set_location(' Leaving:'||l_proc, 10);
59 End constraint_error;
60 --
61 -- ----------------------------------------------------------------------------
62 -- |-----------------------------< api_updating >-----------------------------|
63 -- ----------------------------------------------------------------------------
64 Function api_updating
65 (p_effective_date in date,
66 p_actl_prem_id in number,
67 p_object_version_number in number
68 ) Return Boolean Is
69 --
70 --
71 -- Cursor selects the 'current' row from the HR Schema
72 --
73 Cursor C_Sel1 is
74 select
75 actl_prem_id,
76 effective_start_date,
77 effective_end_date,
78 name,
79 acty_ref_perd_cd,
80 uom,
81 rt_typ_cd,
82 bnft_rt_typ_cd,
83 val,
84 mlt_cd,
85 prdct_cd,
86 rndg_cd,
87 rndg_rl,
88 val_calc_rl,
89 prem_asnmt_cd,
90 prem_asnmt_lvl_cd,
91 actl_prem_typ_cd,
92 prem_pyr_cd,
93 cr_lkbk_val,
94 cr_lkbk_uom,
95 cr_lkbk_crnt_py_only_flag,
96 prsptv_r_rtsptv_cd,
97 upr_lmt_val,
98 upr_lmt_calc_rl,
99 lwr_lmt_val,
100 lwr_lmt_calc_rl,
101 cost_allocation_keyflex_id,
102 organization_id,
103 oipl_id,
104 pl_id,
105 comp_lvl_fctr_id,
106 business_group_id,
107 prtl_mo_det_mthd_cd,
108 prtl_mo_det_mthd_rl,
109 wsh_rl_dy_mo_num,
110 vrbl_rt_add_on_calc_rl,
111 apr_attribute_category,
112 apr_attribute1,
113 apr_attribute2,
114 apr_attribute3,
115 apr_attribute4,
116 apr_attribute5,
117 apr_attribute6,
118 apr_attribute7,
119 apr_attribute8,
120 apr_attribute9,
121 apr_attribute10,
122 apr_attribute11,
123 apr_attribute12,
124 apr_attribute13,
125 apr_attribute14,
126 apr_attribute15,
127 apr_attribute16,
128 apr_attribute17,
129 apr_attribute18,
130 apr_attribute19,
131 apr_attribute20,
132 apr_attribute21,
133 apr_attribute22,
134 apr_attribute23,
135 apr_attribute24,
136 apr_attribute25,
137 apr_attribute26,
138 apr_attribute27,
139 apr_attribute28,
140 apr_attribute29,
141 apr_attribute30,
142 object_version_number
143 from ben_actl_prem_f
144 where actl_prem_id = p_actl_prem_id
145 and p_effective_date
146 between effective_start_date and effective_end_date;
147 --
148 l_proc varchar2(72) := g_package||'api_updating';
149 l_fct_ret boolean;
150 --
151 Begin
152 hr_utility.set_location('Entering:'||l_proc, 5);
153 --
154 If (p_effective_date is null or
155 p_actl_prem_id is null or
156 p_object_version_number is null) Then
157 --
158 -- One of the primary key arguments is null therefore we must
159 -- set the returning function value to false
160 --
161 l_fct_ret := false;
162 Else
163 If (p_actl_prem_id = g_old_rec.actl_prem_id and
164 p_object_version_number = g_old_rec.object_version_number) Then
165 hr_utility.set_location(l_proc, 10);
166 --
167 -- The g_old_rec is current therefore we must
168 -- set the returning function to true
169 --
170 l_fct_ret := true;
171 Else
172 --
173 -- Select the current row
174 --
175 Open C_Sel1;
176 Fetch C_Sel1 Into g_old_rec;
177 If C_Sel1%notfound Then
178 Close C_Sel1;
179 --
180 -- The primary key is invalid therefore we must error
181 --
182 fnd_message.set_name('PAY', 'HR_7220_INVALID_PRIMARY_KEY');
183 fnd_message.raise_error;
184 End If;
185 Close C_Sel1;
186 If (p_object_version_number <> g_old_rec.object_version_number) Then
187 fnd_message.set_name('PAY', 'HR_7155_OBJECT_INVALID');
188 fnd_message.raise_error;
189 End If;
190 hr_utility.set_location(l_proc, 15);
191 l_fct_ret := true;
192 End If;
193 End If;
194 hr_utility.set_location(' Leaving:'||l_proc, 20);
195 Return (l_fct_ret);
196 --
197 End api_updating;
198 --
199 -- ----------------------------------------------------------------------------
200 -- |--------------------------< find_dt_del_modes >---------------------------|
201 -- ----------------------------------------------------------------------------
202 Procedure find_dt_del_modes
203 (p_effective_date in date,
204 p_base_key_value in number,
205 p_zap out nocopy boolean,
206 p_delete out nocopy boolean,
210 l_proc varchar2(72) := g_package||'find_dt_del_modes';
207 p_future_change out nocopy boolean,
208 p_delete_next_change out nocopy boolean) is
209 --
211 --
212 l_parent_key_value1 number;
213 --
214 Cursor C_Sel1 Is
215 select t.comp_lvl_fctr_id
216 from ben_actl_prem_f t
217 where t.actl_prem_id = p_base_key_value
218 and p_effective_date
219 between t.effective_start_date and t.effective_end_date;
220 --
221 Begin
222 hr_utility.set_location('Entering:'||l_proc, 5);
223 Open C_Sel1;
224 Fetch C_Sel1 Into l_parent_key_value1;
225 If C_Sel1%notfound then
226 Close C_Sel1;
227 fnd_message.set_name('PAY', 'HR_6153_ALL_PROCEDURE_FAIL');
228 fnd_message.set_token('PROCEDURE', l_proc);
229 fnd_message.set_token('STEP','10');
230 fnd_message.raise_error;
231 End If;
232 Close C_Sel1;
233 --
234 -- Call the corresponding datetrack api
235 --
236 dt_api.find_dt_del_modes
237 (p_effective_date => p_effective_date,
238 p_base_table_name => 'ben_actl_prem_f',
239 p_base_key_column => 'actl_prem_id',
240 p_base_key_value => p_base_key_value,
241 -- p_parent_table_name1 => 'ben_comp_lvl_fctr',
242 -- p_parent_key_column1 => 'comp_lvl_fctr_id',
243 -- p_parent_key_value1 => l_parent_key_value1,
244 p_zap => p_zap,
245 p_delete => p_delete,
246 p_future_change => p_future_change,
247 p_delete_next_change => p_delete_next_change);
248 --
249 hr_utility.set_location(' Leaving:'||l_proc, 10);
250 End find_dt_del_modes;
251 --
252 -- ----------------------------------------------------------------------------
253 -- |--------------------------< find_dt_upd_modes >---------------------------|
254 -- ----------------------------------------------------------------------------
255 Procedure find_dt_upd_modes
256 (p_effective_date in date,
257 p_base_key_value in number,
258 p_correction out nocopy boolean,
259 p_update out nocopy boolean,
260 p_update_override out nocopy boolean,
261 p_update_change_insert out nocopy boolean) is
262 --
263 l_proc varchar2(72) := g_package||'find_dt_upd_modes';
264 --
265 Begin
266 hr_utility.set_location('Entering:'||l_proc, 5);
267 --
268 -- Call the corresponding datetrack api
269 --
270 dt_api.find_dt_upd_modes
271 (p_effective_date => p_effective_date,
272 p_base_table_name => 'ben_actl_prem_f',
273 p_base_key_column => 'actl_prem_id',
274 p_base_key_value => p_base_key_value,
275 p_correction => p_correction,
276 p_update => p_update,
277 p_update_override => p_update_override,
278 p_update_change_insert => p_update_change_insert);
279 --
280 hr_utility.set_location(' Leaving:'||l_proc, 10);
281 End find_dt_upd_modes;
282 --
283 -- ----------------------------------------------------------------------------
284 -- |------------------------< upd_effective_end_date >------------------------|
285 -- ----------------------------------------------------------------------------
286 Procedure upd_effective_end_date
287 (p_effective_date in date,
288 p_base_key_value in number,
289 p_new_effective_end_date in date,
290 p_validation_start_date in date,
291 p_validation_end_date in date,
292 p_object_version_number out nocopy number) is
293 --
294 l_proc varchar2(72) := g_package||'upd_effective_end_date';
295 l_object_version_number number;
296 --
297 Begin
298 hr_utility.set_location('Entering:'||l_proc, 5);
299 --
300 -- Because we are updating a row we must get the next object
301 -- version number.
302 --
303 l_object_version_number :=
304 dt_api.get_object_version_number
305 (p_base_table_name => 'ben_actl_prem_f',
306 p_base_key_column => 'actl_prem_id',
307 p_base_key_value => p_base_key_value);
308 --
309 hr_utility.set_location(l_proc, 10);
310 g_api_dml := true; -- Set the api dml status
311 --
312 -- Update the specified datetrack row setting the effective
313 -- end date to the specified new effective end date.
314 --
315 update ben_actl_prem_f t
316 set t.effective_end_date = p_new_effective_end_date,
317 t.object_version_number = l_object_version_number
318 where t.actl_prem_id = p_base_key_value
319 and p_effective_date
320 between t.effective_start_date and t.effective_end_date;
321 --
322 g_api_dml := false; -- Unset the api dml status
323 p_object_version_number := l_object_version_number;
324 hr_utility.set_location(' Leaving:'||l_proc, 15);
325 --
326 Exception
327 When Others Then
328 g_api_dml := false; -- Unset the api dml status
329 Raise;
330 End upd_effective_end_date;
331 --
332 -- ----------------------------------------------------------------------------
333 -- |---------------------------------< lck >----------------------------------|
334 -- ----------------------------------------------------------------------------
335 Procedure lck
336 (p_effective_date in date,
337 p_datetrack_mode in varchar2,
338 p_actl_prem_id in number,
339 p_object_version_number in number,
340 p_validation_start_date out nocopy date,
341 p_validation_end_date out nocopy date) is
342 --
343 l_proc varchar2(72) := g_package||'lck';
344 l_validation_start_date date;
345 l_validation_end_date date;
346 l_object_invalid exception;
347 l_argument varchar2(30);
348 --
349 -- Cursor C_Sel1 selects the current locked row as of session date
350 -- ensuring that the object version numbers match.
354 actl_prem_id,
351 --
352 Cursor C_Sel1 is
353 select
355 effective_start_date,
356 effective_end_date,
357 name,
358 acty_ref_perd_cd,
359 uom,
360 rt_typ_cd,
361 bnft_rt_typ_cd,
362 val,
363 mlt_cd,
364 prdct_cd,
365 rndg_cd,
366 rndg_rl,
367 val_calc_rl,
368 prem_asnmt_cd,
369 prem_asnmt_lvl_cd,
370 actl_prem_typ_cd,
371 prem_pyr_cd,
372 cr_lkbk_val,
373 cr_lkbk_uom,
374 cr_lkbk_crnt_py_only_flag,
375 prsptv_r_rtsptv_cd,
376 upr_lmt_val,
377 upr_lmt_calc_rl,
378 lwr_lmt_val,
379 lwr_lmt_calc_rl,
380 cost_allocation_keyflex_id,
381 organization_id,
382 oipl_id,
383 pl_id,
384 comp_lvl_fctr_id,
385 business_group_id,
386 prtl_mo_det_mthd_cd,
387 prtl_mo_det_mthd_rl,
388 wsh_rl_dy_mo_num,
389 vrbl_rt_add_on_calc_rl,
390 apr_attribute_category,
391 apr_attribute1,
392 apr_attribute2,
393 apr_attribute3,
394 apr_attribute4,
395 apr_attribute5,
396 apr_attribute6,
397 apr_attribute7,
398 apr_attribute8,
399 apr_attribute9,
400 apr_attribute10,
401 apr_attribute11,
402 apr_attribute12,
403 apr_attribute13,
404 apr_attribute14,
405 apr_attribute15,
406 apr_attribute16,
407 apr_attribute17,
408 apr_attribute18,
409 apr_attribute19,
410 apr_attribute20,
411 apr_attribute21,
412 apr_attribute22,
413 apr_attribute23,
414 apr_attribute24,
415 apr_attribute25,
416 apr_attribute26,
417 apr_attribute27,
418 apr_attribute28,
419 apr_attribute29,
420 apr_attribute30,
421 object_version_number
422 from ben_actl_prem_f
423 where actl_prem_id = p_actl_prem_id
424 and p_effective_date
425 between effective_start_date and effective_end_date
426 for update nowait;
427 --
428 --
429 --
430 Begin
431 hr_utility.set_location('Entering:'||l_proc, 5);
432 --
433 -- Ensure that all the mandatory arguments are not null
434 --
435 hr_api.mandatory_arg_error(p_api_name => l_proc,
436 p_argument => 'effective_date',
437 p_argument_value => p_effective_date);
438 --
439 hr_api.mandatory_arg_error(p_api_name => l_proc,
440 p_argument => 'datetrack_mode',
441 p_argument_value => p_datetrack_mode);
442 --
443 hr_api.mandatory_arg_error(p_api_name => l_proc,
444 p_argument => 'actl_prem_id',
445 p_argument_value => p_actl_prem_id);
446 --
447 hr_api.mandatory_arg_error(p_api_name => l_proc,
448 p_argument => 'object_version_number',
449 p_argument_value => p_object_version_number);
450 --
451 -- Check to ensure the datetrack mode is not INSERT.
452 --
453 If (p_datetrack_mode <> 'INSERT') then
454 --
455 -- We must select and lock the current row.
456 --
457 Open C_Sel1;
458 Fetch C_Sel1 Into g_old_rec;
459 If C_Sel1%notfound then
460 Close C_Sel1;
461 --
462 -- The primary key is invalid therefore we must error
463 --
464 fnd_message.set_name('PAY', 'HR_7220_INVALID_PRIMARY_KEY');
465 fnd_message.raise_error;
466 End If;
467 Close C_Sel1;
468 If (p_object_version_number <> g_old_rec.object_version_number) Then
469 fnd_message.set_name('PAY', 'HR_7155_OBJECT_INVALID');
470 fnd_message.raise_error;
471 End If;
472 hr_utility.set_location(l_proc, 15);
473 --
474 --
475 -- Validate the datetrack mode mode getting the validation start
476 -- and end dates for the specified datetrack operation.
477 --
478 dt_api.validate_dt_mode
479 (p_effective_date => p_effective_date,
480 p_datetrack_mode => p_datetrack_mode,
481 p_base_table_name => 'ben_actl_prem_f',
482 p_base_key_column => 'actl_prem_id',
483 p_base_key_value => p_actl_prem_id,
484 -- p_parent_table_name1 => 'ben_comp_lvl_fctr',
485 -- p_parent_key_column1 => 'comp_lvl_fctr_id',
486 -- p_parent_key_value1 => g_old_rec.comp_lvl_fctr_id,
487 p_child_table_name1 => 'ben_oipl_f',
488 p_child_key_column1 => 'oipl_id',
489 p_child_table_name2 => 'ben_actl_prem_vrbl_rt_f',
490 p_child_key_column2 => 'actl_prem_vrbl_rt_id',
491 p_child_table_name3 => 'ben_prtt_prem_f',
492 p_child_key_column3 => 'prtt_prem_id',
493 -- p_child_table_name4 => 'ben_actl_prem_vrbl_rt_rl_f',
494 -- p_child_key_column4 => 'actl_prem_vrbl_rt_rl_id',
495 p_enforce_foreign_locking => false,
496 p_validation_start_date => l_validation_start_date,
497 p_validation_end_date => l_validation_end_date);
498 Else
499 --
500 -- We are doing a datetrack 'INSERT' which is illegal within this
501 -- procedure therefore we must error (note: to lck on insert the
502 -- private procedure ins_lck should be called).
503 --
504 fnd_message.set_name('PAY', 'HR_6153_ALL_PROCEDURE_FAIL');
505 fnd_message.set_token('PROCEDURE', l_proc);
506 fnd_message.set_token('STEP','20');
507 fnd_message.raise_error;
508 End If;
509 --
510 -- Set the validation start and end date OUT arguments
511 --
512 p_validation_start_date := l_validation_start_date;
513 p_validation_end_date := l_validation_end_date;
514 --
515 hr_utility.set_location(' Leaving:'||l_proc, 30);
519 Exception
516 --
517 -- We need to trap the ORA LOCK exception
518 --
520 When HR_Api.Object_Locked then
521 --
522 -- The object is locked therefore we need to supply a meaningful
523 -- error message.
524 --
525 fnd_message.set_name('PAY', 'HR_7165_OBJECT_LOCKED');
526 fnd_message.set_token('TABLE_NAME', 'ben_actl_prem_f');
527 fnd_message.raise_error;
528 When l_object_invalid then
529 --
530 -- The object doesn't exist or is invalid
531 --
532 fnd_message.set_name('PAY', 'HR_7155_OBJECT_INVALID');
533 fnd_message.set_token('TABLE_NAME', 'ben_actl_prem_f');
534 fnd_message.raise_error;
535 End lck;
536 --
537 -- ----------------------------------------------------------------------------
538 -- |-----------------------------< convert_args >-----------------------------|
539 -- ----------------------------------------------------------------------------
540 Function convert_args
541 (
542 p_actl_prem_id in number,
543 p_effective_start_date in date,
544 p_effective_end_date in date,
545 p_name in varchar2,
546 p_acty_ref_perd_cd in varchar2,
547 p_uom in varchar2,
548 p_rt_typ_cd in varchar2,
549 p_bnft_rt_typ_cd in varchar2,
550 p_val in number,
551 p_mlt_cd in varchar2,
552 p_prdct_cd in varchar2,
553 p_rndg_cd in varchar2,
554 p_rndg_rl in number,
555 p_val_calc_rl in number,
556 p_prem_asnmt_cd in varchar2,
557 p_prem_asnmt_lvl_cd in varchar2,
558 p_actl_prem_typ_cd in varchar2,
559 p_prem_pyr_cd in varchar2,
560 p_cr_lkbk_val in number,
561 p_cr_lkbk_uom in varchar2,
562 p_cr_lkbk_crnt_py_only_flag in varchar2,
563 p_prsptv_r_rtsptv_cd in varchar2,
564 p_upr_lmt_val in number,
565 p_upr_lmt_calc_rl in number,
566 p_lwr_lmt_val in number,
567 p_lwr_lmt_calc_rl in number,
568 p_cost_allocation_keyflex_id in number,
569 p_organization_id in number,
570 p_oipl_id in number,
571 p_pl_id in number,
572 p_comp_lvl_fctr_id in number,
573 p_business_group_id in number,
574 p_prtl_mo_det_mthd_cd in varchar2,
575 p_prtl_mo_det_mthd_rl in number,
576 p_wsh_rl_dy_mo_num in number,
577 p_vrbl_rt_add_on_calc_rl in number,
578 p_apr_attribute_category in varchar2,
579 p_apr_attribute1 in varchar2,
580 p_apr_attribute2 in varchar2,
581 p_apr_attribute3 in varchar2,
582 p_apr_attribute4 in varchar2,
583 p_apr_attribute5 in varchar2,
584 p_apr_attribute6 in varchar2,
585 p_apr_attribute7 in varchar2,
586 p_apr_attribute8 in varchar2,
587 p_apr_attribute9 in varchar2,
588 p_apr_attribute10 in varchar2,
589 p_apr_attribute11 in varchar2,
590 p_apr_attribute12 in varchar2,
591 p_apr_attribute13 in varchar2,
592 p_apr_attribute14 in varchar2,
593 p_apr_attribute15 in varchar2,
594 p_apr_attribute16 in varchar2,
595 p_apr_attribute17 in varchar2,
596 p_apr_attribute18 in varchar2,
597 p_apr_attribute19 in varchar2,
598 p_apr_attribute20 in varchar2,
599 p_apr_attribute21 in varchar2,
600 p_apr_attribute22 in varchar2,
601 p_apr_attribute23 in varchar2,
602 p_apr_attribute24 in varchar2,
603 p_apr_attribute25 in varchar2,
604 p_apr_attribute26 in varchar2,
605 p_apr_attribute27 in varchar2,
606 p_apr_attribute28 in varchar2,
607 p_apr_attribute29 in varchar2,
608 p_apr_attribute30 in varchar2,
609 p_object_version_number in number
610 )
611 Return g_rec_type is
612 --
613 l_rec g_rec_type;
614 l_proc varchar2(72) := g_package||'convert_args';
615 --
616 Begin
617 --
618 hr_utility.set_location('Entering:'||l_proc, 5);
619 --
620 -- Convert arguments into local l_rec structure.
621 --
622 l_rec.actl_prem_id := p_actl_prem_id;
623 l_rec.effective_start_date := p_effective_start_date;
624 l_rec.effective_end_date := p_effective_end_date;
625 l_rec.name := p_name;
626 l_rec.acty_ref_perd_cd := p_acty_ref_perd_cd;
627 l_rec.uom := p_uom;
628 l_rec.rt_typ_cd := p_rt_typ_cd;
629 l_rec.bnft_rt_typ_cd := p_bnft_rt_typ_cd;
630 l_rec.val := p_val;
631 l_rec.mlt_cd := p_mlt_cd;
632 l_rec.prdct_cd := p_prdct_cd;
633 l_rec.rndg_cd := p_rndg_cd;
634 l_rec.rndg_rl := p_rndg_rl;
635 l_rec.val_calc_rl := p_val_calc_rl;
636 l_rec.prem_asnmt_cd := p_prem_asnmt_cd;
637 l_rec.prem_asnmt_lvl_cd := p_prem_asnmt_lvl_cd;
638 l_rec.actl_prem_typ_cd := p_actl_prem_typ_cd;
639 l_rec.prem_pyr_cd := p_prem_pyr_cd;
643 l_rec.prsptv_r_rtsptv_cd := p_prsptv_r_rtsptv_cd;
640 l_rec.cr_lkbk_val := p_cr_lkbk_val;
641 l_rec.cr_lkbk_uom := p_cr_lkbk_uom;
642 l_rec.cr_lkbk_crnt_py_only_flag := p_cr_lkbk_crnt_py_only_flag;
644 l_rec.upr_lmt_val := p_upr_lmt_val;
645 l_rec.upr_lmt_calc_rl := p_upr_lmt_calc_rl;
646 l_rec.lwr_lmt_val := p_lwr_lmt_val;
647 l_rec.lwr_lmt_calc_rl := p_lwr_lmt_calc_rl;
648 l_rec.cost_allocation_keyflex_id := p_cost_allocation_keyflex_id;
649 l_rec.organization_id := p_organization_id;
650 l_rec.oipl_id := p_oipl_id;
651 l_rec.pl_id := p_pl_id;
652 l_rec.comp_lvl_fctr_id := p_comp_lvl_fctr_id;
653 l_rec.business_group_id := p_business_group_id;
654 l_rec.prtl_mo_det_mthd_cd := p_prtl_mo_det_mthd_cd;
655 l_rec.prtl_mo_det_mthd_rl := p_prtl_mo_det_mthd_rl;
656 l_rec.wsh_rl_dy_mo_num := p_wsh_rl_dy_mo_num;
657 l_rec.vrbl_rt_add_on_calc_rl := p_vrbl_rt_add_on_calc_rl;
658 l_rec.apr_attribute_category := p_apr_attribute_category;
659 l_rec.apr_attribute1 := p_apr_attribute1;
660 l_rec.apr_attribute2 := p_apr_attribute2;
661 l_rec.apr_attribute3 := p_apr_attribute3;
662 l_rec.apr_attribute4 := p_apr_attribute4;
663 l_rec.apr_attribute5 := p_apr_attribute5;
664 l_rec.apr_attribute6 := p_apr_attribute6;
665 l_rec.apr_attribute7 := p_apr_attribute7;
666 l_rec.apr_attribute8 := p_apr_attribute8;
667 l_rec.apr_attribute9 := p_apr_attribute9;
668 l_rec.apr_attribute10 := p_apr_attribute10;
669 l_rec.apr_attribute11 := p_apr_attribute11;
670 l_rec.apr_attribute12 := p_apr_attribute12;
671 l_rec.apr_attribute13 := p_apr_attribute13;
672 l_rec.apr_attribute14 := p_apr_attribute14;
673 l_rec.apr_attribute15 := p_apr_attribute15;
674 l_rec.apr_attribute16 := p_apr_attribute16;
675 l_rec.apr_attribute17 := p_apr_attribute17;
676 l_rec.apr_attribute18 := p_apr_attribute18;
677 l_rec.apr_attribute19 := p_apr_attribute19;
678 l_rec.apr_attribute20 := p_apr_attribute20;
679 l_rec.apr_attribute21 := p_apr_attribute21;
680 l_rec.apr_attribute22 := p_apr_attribute22;
681 l_rec.apr_attribute23 := p_apr_attribute23;
682 l_rec.apr_attribute24 := p_apr_attribute24;
683 l_rec.apr_attribute25 := p_apr_attribute25;
684 l_rec.apr_attribute26 := p_apr_attribute26;
685 l_rec.apr_attribute27 := p_apr_attribute27;
686 l_rec.apr_attribute28 := p_apr_attribute28;
687 l_rec.apr_attribute29 := p_apr_attribute29;
688 l_rec.apr_attribute30 := p_apr_attribute30;
689 l_rec.object_version_number := p_object_version_number;
690 --
691 -- Return the plsql record structure.
692 --
693 hr_utility.set_location(' Leaving:'||l_proc, 10);
694 Return(l_rec);
695 --
696 End convert_args;
697 --
698 end ben_apr_shd;