[Home] [Help]
PACKAGE BODY: APPS.BEN_CCM_SHD
Source
1 Package Body ben_ccm_shd as
2 /* $Header: beccmrhi.pkb 120.5 2006/03/22 02:53:46 rgajula noship $ */
3 --
4 -- ----------------------------------------------------------------------------
5 -- | Private Global Definitions |
6 -- ----------------------------------------------------------------------------
7 --
8 g_package varchar2(33) := ' ben_ccm_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_CVG_AMT_CALC_MTHD_FK1') Then
37 hr_utility.set_message(801, 'HR_6153_ALL_PROCEDURE_FAIL');
38 hr_utility.set_message_token('PROCEDURE', l_proc);
39 hr_utility.set_message_token('STEP','5');
40 hr_utility.raise_error;
41 ElsIf (p_constraint_name = 'BEN_CVG_AMT_CALC_MTHD_FK2') Then
42 hr_utility.set_message(801, 'HR_6153_ALL_PROCEDURE_FAIL');
43 hr_utility.set_message_token('PROCEDURE', l_proc);
44 hr_utility.set_message_token('STEP','10');
45 hr_utility.raise_error;
46 ElsIf (p_constraint_name = 'BEN_CVG_AMT_CALC_MTHD_PK') Then
47 hr_utility.set_message(801, 'HR_6153_ALL_PROCEDURE_FAIL');
48 hr_utility.set_message_token('PROCEDURE', l_proc);
49 hr_utility.set_message_token('STEP','15');
50 hr_utility.raise_error;
51 Else
52 hr_utility.set_message(801, 'HR_7877_API_INVALID_CONSTRAINT');
53 hr_utility.set_message_token('PROCEDURE', l_proc);
54 hr_utility.set_message_token('CONSTRAINT_NAME', p_constraint_name);
55 hr_utility.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_cvg_amt_calc_mthd_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 cvg_amt_calc_mthd_id,
76 effective_start_date,
77 effective_end_date,
78 name,
79 incrmt_val,
80 mx_val,
81 mn_val,
82 no_mx_val_dfnd_flag,
83 no_mn_val_dfnd_flag,
84 rndg_cd,
85 rndg_rl,
86 lwr_lmt_val,
87 lwr_lmt_calc_rl,
88 upr_lmt_val,
89 upr_lmt_calc_rl,
90 val,
91 val_ovrid_alwd_flag,
92 val_calc_rl,
93 uom,
94 nnmntry_uom,
95 bndry_perd_cd,
96 bnft_typ_cd,
97 cvg_mlt_cd,
98 rt_typ_cd,
99 dflt_val,
100 entr_val_at_enrt_flag,
101 dflt_flag,
102 comp_lvl_fctr_id,
103 oipl_id,
104 pl_id,
105 plip_id,
106 business_group_id,
107 ccm_attribute_category,
108 ccm_attribute1,
109 ccm_attribute2,
110 ccm_attribute3,
111 ccm_attribute4,
112 ccm_attribute5,
113 ccm_attribute6,
114 ccm_attribute7,
115 ccm_attribute8,
116 ccm_attribute9,
117 ccm_attribute10,
118 ccm_attribute11,
119 ccm_attribute12,
120 ccm_attribute13,
121 ccm_attribute14,
122 ccm_attribute15,
123 ccm_attribute16,
124 ccm_attribute17,
125 ccm_attribute18,
126 ccm_attribute19,
127 ccm_attribute20,
128 ccm_attribute21,
129 ccm_attribute22,
130 ccm_attribute23,
131 ccm_attribute24,
132 ccm_attribute25,
133 ccm_attribute26,
134 ccm_attribute27,
135 ccm_attribute28,
136 ccm_attribute29,
137 ccm_attribute30,
138 object_version_number
139 from ben_cvg_amt_calc_mthd_f
140 where cvg_amt_calc_mthd_id = p_cvg_amt_calc_mthd_id
141 and p_effective_date
142 between effective_start_date and effective_end_date;
143 --
144 l_proc varchar2(72) := g_package||'api_updating';
145 l_fct_ret boolean;
146 --
147 Begin
148 hr_utility.set_location('Entering:'||l_proc, 5);
149 --
150 If (p_effective_date is null or
151 p_cvg_amt_calc_mthd_id is null or
152 p_object_version_number is null) Then
153 --
154 -- One of the primary key arguments is null therefore we must
155 -- set the returning function value to false
156 --
157 l_fct_ret := false;
158 Else
159 If (p_cvg_amt_calc_mthd_id = g_old_rec.cvg_amt_calc_mthd_id and
160 p_object_version_number = g_old_rec.object_version_number) Then
161 hr_utility.set_location(l_proc, 10);
162 --
163 -- The g_old_rec is current therefore we must
164 -- set the returning function to true
165 --
166 l_fct_ret := true;
167 Else
168 --
169 -- Select the current row
170 --
171 Open C_Sel1;
172 Fetch C_Sel1 Into g_old_rec;
173 If C_Sel1%notfound Then
174 Close C_Sel1;
175 --
176 -- The primary key is invalid therefore we must error
177 --
178 hr_utility.set_message(801, 'HR_7220_INVALID_PRIMARY_KEY');
179 hr_utility.raise_error;
180 End If;
181 Close C_Sel1;
182 If (p_object_version_number <> g_old_rec.object_version_number) Then
183 hr_utility.set_message(801, 'HR_7155_OBJECT_INVALID');
184 hr_utility.raise_error;
185 End If;
186 hr_utility.set_location(l_proc, 15);
187 l_fct_ret := true;
188 End If;
189 End If;
190 hr_utility.set_location(' Leaving:'||l_proc, 20);
191 Return (l_fct_ret);
192 --
193 End api_updating;
194 --
195 -- ----------------------------------------------------------------------------
196 -- |--------------------------< find_dt_del_modes >---------------------------|
197 -- ----------------------------------------------------------------------------
198 Procedure find_dt_del_modes
199 (p_effective_date in date,
200 p_base_key_value in number,
201 p_zap out nocopy boolean,
202 p_delete out nocopy boolean,
203 p_future_change out nocopy boolean,
204 p_delete_next_change out nocopy boolean) is
205 --
206 l_proc varchar2(72) := g_package||'find_dt_del_modes';
207 --
208 l_parent_key_value1 number;
209 l_parent_key_value2 number;
210 l_parent_key_value3 number;
211 --
212 Cursor C_Sel1 Is
213 select t.oipl_id,
214 t.pl_id,
215 t.plip_id
216 from ben_cvg_amt_calc_mthd_f t
217 where t.cvg_amt_calc_mthd_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 l_parent_key_value2,
226 l_parent_key_value3;
227 If C_Sel1%notfound then
228 Close C_Sel1;
229 hr_utility.set_message(801, 'HR_6153_ALL_PROCEDURE_FAIL');
230 hr_utility.set_message_token('PROCEDURE', l_proc);
231 hr_utility.set_message_token('STEP','10');
232 hr_utility.raise_error;
233 End If;
234 Close C_Sel1;
235 --
236 -- Call the corresponding datetrack api
237 --
238 dt_api.find_dt_del_modes
239 (p_effective_date => p_effective_date,
240 p_base_table_name => 'ben_cvg_amt_calc_mthd_f',
241 p_base_key_column => 'cvg_amt_calc_mthd_id',
242 p_base_key_value => p_base_key_value,
243 p_parent_table_name1 => 'ben_oipl_f',
244 p_parent_key_column1 => 'oipl_id',
245 p_parent_key_value1 => l_parent_key_value1,
246 p_parent_table_name2 => 'ben_pl_f',
247 p_parent_key_column2 => 'pl_id',
248 p_parent_key_value2 => l_parent_key_value2,
249 p_parent_table_name3 => 'ben_plip_f',
250 p_parent_key_column3 => 'plip_id',
251 p_parent_key_value3 => l_parent_key_value3,
252 p_zap => p_zap,
253 p_delete => p_delete,
254 p_future_change => p_future_change,
255 p_delete_next_change => p_delete_next_change);
256 --
257 hr_utility.set_location(' Leaving:'||l_proc, 10);
258 End find_dt_del_modes;
259 --
260 -- ----------------------------------------------------------------------------
261 -- |--------------------------< find_dt_upd_modes >---------------------------|
262 -- ----------------------------------------------------------------------------
263 Procedure find_dt_upd_modes
264 (p_effective_date in date,
265 p_base_key_value in number,
266 p_correction out nocopy boolean,
267 p_update out nocopy boolean,
268 p_update_override out nocopy boolean,
269 p_update_change_insert out nocopy boolean) is
270 --
271 l_proc varchar2(72) := g_package||'find_dt_upd_modes';
272 --
273 Begin
274 hr_utility.set_location('Entering:'||l_proc, 5);
275 --
276 -- Call the corresponding datetrack api
277 --
278 dt_api.find_dt_upd_modes
279 (p_effective_date => p_effective_date,
280 p_base_table_name => 'ben_cvg_amt_calc_mthd_f',
281 p_base_key_column => 'cvg_amt_calc_mthd_id',
282 p_base_key_value => p_base_key_value,
283 p_correction => p_correction,
284 p_update => p_update,
285 p_update_override => p_update_override,
286 p_update_change_insert => p_update_change_insert);
287 --
288 hr_utility.set_location(' Leaving:'||l_proc, 10);
289 End find_dt_upd_modes;
290 --
291 -- ----------------------------------------------------------------------------
292 -- |------------------------< upd_effective_end_date >------------------------|
293 -- ----------------------------------------------------------------------------
294 Procedure upd_effective_end_date
295 (p_effective_date in date,
296 p_base_key_value in number,
297 p_new_effective_end_date in date,
298 p_validation_start_date in date,
299 p_validation_end_date in date,
300 p_object_version_number out nocopy number) is
301 --
302 l_proc varchar2(72) := g_package||'upd_effective_end_date';
303 l_object_version_number number;
304 --
305 Begin
306 hr_utility.set_location('Entering:'||l_proc, 5);
307 --
308 -- Because we are updating a row we must get the next object
309 -- version number.
310 --
311 l_object_version_number :=
312 dt_api.get_object_version_number
313 (p_base_table_name => 'ben_cvg_amt_calc_mthd_f',
314 p_base_key_column => 'cvg_amt_calc_mthd_id',
315 p_base_key_value => p_base_key_value);
316 --
317 hr_utility.set_location(l_proc, 10);
318 g_api_dml := true; -- Set the api dml status
319 --
320 -- Update the specified datetrack row setting the effective
321 -- end date to the specified new effective end date.
322 --
323 update ben_cvg_amt_calc_mthd_f t
324 set t.effective_end_date = p_new_effective_end_date,
325 t.object_version_number = l_object_version_number
326 where t.cvg_amt_calc_mthd_id = p_base_key_value
327 and p_effective_date
328 between t.effective_start_date and t.effective_end_date;
329 --
330 g_api_dml := false; -- Unset the api dml status
331 p_object_version_number := l_object_version_number;
332 hr_utility.set_location(' Leaving:'||l_proc, 15);
333 --
334 Exception
335 When Others Then
336 g_api_dml := false; -- Unset the api dml status
337 Raise;
338 End upd_effective_end_date;
339 --
340 -- ----------------------------------------------------------------------------
341 -- |---------------------------------< lck >----------------------------------|
342 -- ----------------------------------------------------------------------------
343 Procedure lck
344 (p_effective_date in date,
345 p_datetrack_mode in varchar2,
346 p_cvg_amt_calc_mthd_id in number,
347 p_object_version_number in number,
348 p_validation_start_date out nocopy date,
349 p_validation_end_date out nocopy date) is
350 --
351 l_proc varchar2(72) := g_package||'lck';
352 l_validation_start_date date;
353 l_validation_end_date date;
354 l_object_invalid exception;
355 l_argument varchar2(30);
356 --
357 -- Cursor C_Sel1 selects the current locked row as of session date
358 -- ensuring that the object version numbers match.
359 --
360 Cursor C_Sel1 is
361 select
362 cvg_amt_calc_mthd_id,
363 effective_start_date,
364 effective_end_date,
365 name,
366 incrmt_val,
367 mx_val,
368 mn_val,
369 no_mx_val_dfnd_flag,
370 no_mn_val_dfnd_flag,
371 rndg_cd,
372 rndg_rl,
373 lwr_lmt_val,
374 lwr_lmt_calc_rl,
375 upr_lmt_val,
376 upr_lmt_calc_rl,
377 val,
378 val_ovrid_alwd_flag,
379 val_calc_rl,
380 uom,
381 nnmntry_uom,
382 bndry_perd_cd,
383 bnft_typ_cd,
384 cvg_mlt_cd,
385 rt_typ_cd,
386 dflt_val,
387 entr_val_at_enrt_flag,
388 dflt_flag,
389 comp_lvl_fctr_id,
390 oipl_id,
391 pl_id,
392 plip_id,
393 business_group_id,
394 ccm_attribute_category,
395 ccm_attribute1,
396 ccm_attribute2,
397 ccm_attribute3,
398 ccm_attribute4,
399 ccm_attribute5,
400 ccm_attribute6,
401 ccm_attribute7,
402 ccm_attribute8,
403 ccm_attribute9,
404 ccm_attribute10,
405 ccm_attribute11,
406 ccm_attribute12,
407 ccm_attribute13,
408 ccm_attribute14,
409 ccm_attribute15,
410 ccm_attribute16,
411 ccm_attribute17,
412 ccm_attribute18,
413 ccm_attribute19,
414 ccm_attribute20,
415 ccm_attribute21,
416 ccm_attribute22,
417 ccm_attribute23,
418 ccm_attribute24,
419 ccm_attribute25,
420 ccm_attribute26,
421 ccm_attribute27,
422 ccm_attribute28,
423 ccm_attribute29,
424 ccm_attribute30,
425 object_version_number
426 from ben_cvg_amt_calc_mthd_f
427 where cvg_amt_calc_mthd_id = p_cvg_amt_calc_mthd_id
428 and p_effective_date
429 between effective_start_date and effective_end_date
430 for update nowait;
431 --
432 --
433 --
434 Begin
435 hr_utility.set_location('Entering:'||l_proc, 5);
436 --
437 -- Ensure that all the mandatory arguments are not null
438 --
439 hr_api.mandatory_arg_error(p_api_name => l_proc,
440 p_argument => 'effective_date',
441 p_argument_value => p_effective_date);
442 --
443 hr_api.mandatory_arg_error(p_api_name => l_proc,
444 p_argument => 'datetrack_mode',
445 p_argument_value => p_datetrack_mode);
446 --
447 hr_api.mandatory_arg_error(p_api_name => l_proc,
448 p_argument => 'cvg_amt_calc_mthd_id',
449 p_argument_value => p_cvg_amt_calc_mthd_id);
450 --
454 --
451 hr_api.mandatory_arg_error(p_api_name => l_proc,
452 p_argument => 'object_version_number',
453 p_argument_value => p_object_version_number);
455 -- Check to ensure the datetrack mode is not INSERT.
456 --
457 If (p_datetrack_mode <> 'INSERT') then
458 --
459 -- We must select and lock the current row.
460 --
461 Open C_Sel1;
462 Fetch C_Sel1 Into g_old_rec;
463 If C_Sel1%notfound then
464 Close C_Sel1;
465 --
466 -- The primary key is invalid therefore we must error
467 --
468 hr_utility.set_message(801, 'HR_7220_INVALID_PRIMARY_KEY');
469 hr_utility.raise_error;
470 End If;
471 Close C_Sel1;
472 If (p_object_version_number <> g_old_rec.object_version_number) Then
473 hr_utility.set_message(801, 'HR_7155_OBJECT_INVALID');
474 hr_utility.raise_error;
475 End If;
476 hr_utility.set_location(l_proc, 15);
477 --
478 --
479 -- Validate the datetrack mode mode getting the validation start
480 -- and end dates for the specified datetrack operation.
481 --
482 dt_api.validate_dt_mode
483 (p_effective_date => p_effective_date,
484 p_datetrack_mode => p_datetrack_mode,
485 p_base_table_name => 'ben_cvg_amt_calc_mthd_f',
486 p_base_key_column => 'cvg_amt_calc_mthd_id',
487 p_base_key_value => p_cvg_amt_calc_mthd_id,
488 p_parent_table_name1 => 'ben_oipl_f',
489 p_parent_key_column1 => 'oipl_id',
490 p_parent_key_value1 => g_old_rec.oipl_id,
491 p_parent_table_name2 => 'ben_pl_f',
492 p_parent_key_column2 => 'pl_id',
493 p_parent_key_value2 => g_old_rec.pl_id,
494 p_parent_table_name3 => 'ben_plip_f',
495 p_parent_key_column3 => 'plip_id',
496 p_parent_key_value3 => g_old_rec.plip_id,
497 p_child_table_name1 => 'ben_bnft_vrbl_rt_f',
498 p_child_key_column1 => 'bnft_vrbl_rt_id',
499 p_child_table_name2 => 'ben_bnft_vrbl_rt_rl_f',
500 p_child_key_column2 => 'bnft_vrbl_rt_rl_id',
501 p_child_table_name3 => 'ben_bnft_vrbl_rt_rl_f',
502 p_child_key_column3 => 'cvg_amt_calc_mthd_id',
503 p_child_table_name4 => 'ben_bnft_vrbl_rt_rl_f',
504 p_child_key_column4 => 'formula_id',
505 p_enforce_foreign_locking => true,
506 p_validation_start_date => l_validation_start_date,
507 p_validation_end_date => l_validation_end_date);
508 Else
509 --
510 -- We are doing a datetrack 'INSERT' which is illegal within this
511 -- procedure therefore we must error (note: to lck on insert the
512 -- private procedure ins_lck should be called).
513 --
514 hr_utility.set_message(801, 'HR_6153_ALL_PROCEDURE_FAIL');
515 hr_utility.set_message_token('PROCEDURE', l_proc);
516 hr_utility.set_message_token('STEP','20');
517 hr_utility.raise_error;
518 End If;
519 --
520 -- Set the validation start and end date OUT arguments
521 --
522 p_validation_start_date := l_validation_start_date;
523 p_validation_end_date := l_validation_end_date;
524 --
525 hr_utility.set_location(' Leaving:'||l_proc, 30);
526 --
527 -- We need to trap the ORA LOCK exception
528 --
529 Exception
530 When HR_Api.Object_Locked then
531 --
532 -- The object is locked therefore we need to supply a meaningful
533 -- error message.
534 --
535 hr_utility.set_message(801, 'HR_7165_OBJECT_LOCKED');
536 hr_utility.set_message_token('TABLE_NAME', 'ben_cvg_amt_calc_mthd_f');
537 hr_utility.raise_error;
538 When l_object_invalid then
539 --
540 -- The object doesn't exist or is invalid
541 --
542 hr_utility.set_message(801, 'HR_7155_OBJECT_INVALID');
543 hr_utility.set_message_token('TABLE_NAME', 'ben_cvg_amt_calc_mthd_f');
544 hr_utility.raise_error;
545 End lck;
546 --
547 -- ----------------------------------------------------------------------------
548 -- |-----------------------------< convert_args >-----------------------------|
549 -- ----------------------------------------------------------------------------
550 Function convert_args
551 (
552 p_cvg_amt_calc_mthd_id in number,
553 p_effective_start_date in date,
554 p_effective_end_date in date,
555 p_name in varchar2,
556 p_incrmt_val in number,
557 p_mx_val in number,
558 p_mn_val in number,
559 p_no_mx_val_dfnd_flag in varchar2,
560 p_no_mn_val_dfnd_flag in varchar2,
561 p_rndg_cd in varchar2,
562 p_rndg_rl in number,
563 p_lwr_lmt_val in number,
564 p_lwr_lmt_calc_rl in number,
565 p_upr_lmt_val in number,
566 p_upr_lmt_calc_rl in number,
567 p_val in number,
568 p_val_ovrid_alwd_flag in varchar2,
569 p_val_calc_rl in number,
570 p_uom in varchar2,
571 p_nnmntry_uom in varchar2,
572 p_bndry_perd_cd in varchar2,
573 p_bnft_typ_cd in varchar2,
577 p_entr_val_at_enrt_flag in varchar2,
574 p_cvg_mlt_cd in varchar2,
575 p_rt_typ_cd in varchar2,
576 p_dflt_val in number,
578 p_dflt_flag in varchar2,
579 p_comp_lvl_fctr_id in number,
580 p_oipl_id in number,
581 p_pl_id in number,
582 p_plip_id in number,
583 p_business_group_id in number,
584 p_ccm_attribute_category in varchar2,
585 p_ccm_attribute1 in varchar2,
586 p_ccm_attribute2 in varchar2,
587 p_ccm_attribute3 in varchar2,
588 p_ccm_attribute4 in varchar2,
589 p_ccm_attribute5 in varchar2,
590 p_ccm_attribute6 in varchar2,
591 p_ccm_attribute7 in varchar2,
592 p_ccm_attribute8 in varchar2,
593 p_ccm_attribute9 in varchar2,
594 p_ccm_attribute10 in varchar2,
595 p_ccm_attribute11 in varchar2,
596 p_ccm_attribute12 in varchar2,
597 p_ccm_attribute13 in varchar2,
598 p_ccm_attribute14 in varchar2,
599 p_ccm_attribute15 in varchar2,
600 p_ccm_attribute16 in varchar2,
601 p_ccm_attribute17 in varchar2,
602 p_ccm_attribute18 in varchar2,
603 p_ccm_attribute19 in varchar2,
604 p_ccm_attribute20 in varchar2,
605 p_ccm_attribute21 in varchar2,
606 p_ccm_attribute22 in varchar2,
607 p_ccm_attribute23 in varchar2,
608 p_ccm_attribute24 in varchar2,
609 p_ccm_attribute25 in varchar2,
610 p_ccm_attribute26 in varchar2,
611 p_ccm_attribute27 in varchar2,
612 p_ccm_attribute28 in varchar2,
613 p_ccm_attribute29 in varchar2,
614 p_ccm_attribute30 in varchar2,
615 p_object_version_number in number
616 )
617 Return g_rec_type is
618 --
619 l_rec g_rec_type;
620 l_proc varchar2(72) := g_package||'convert_args';
621 --
622 Begin
623 --
624 hr_utility.set_location('Entering:'||l_proc, 5);
625 --
626 -- Convert arguments into local l_rec structure.
627 --
628 l_rec.cvg_amt_calc_mthd_id := p_cvg_amt_calc_mthd_id;
629 l_rec.effective_start_date := p_effective_start_date;
630 l_rec.effective_end_date := p_effective_end_date;
631 l_rec.name := p_name;
632 l_rec.incrmt_val := p_incrmt_val;
633 l_rec.mx_val := p_mx_val;
634 l_rec.mn_val := p_mn_val;
635 l_rec.no_mx_val_dfnd_flag := p_no_mx_val_dfnd_flag;
636 l_rec.no_mn_val_dfnd_flag := p_no_mn_val_dfnd_flag;
637 l_rec.rndg_cd := p_rndg_cd;
638 l_rec.rndg_rl := p_rndg_rl;
639 l_rec.lwr_lmt_val := p_lwr_lmt_val;
640 l_rec.upr_lmt_calc_rl := p_upr_lmt_calc_rl;
641 l_rec.upr_lmt_val := p_upr_lmt_val;
642 l_rec.lwr_lmt_calc_rl := p_lwr_lmt_calc_rl;
643 l_rec.val := p_val;
644 l_rec.val_ovrid_alwd_flag := p_val_ovrid_alwd_flag;
645 l_rec.val_calc_rl := p_val_calc_rl;
646 l_rec.uom := p_uom;
647 l_rec.nnmntry_uom := p_nnmntry_uom;
648 l_rec.bndry_perd_cd := p_bndry_perd_cd;
649 l_rec.bnft_typ_cd := p_bnft_typ_cd;
650 l_rec.cvg_mlt_cd := p_cvg_mlt_cd;
651 l_rec.rt_typ_cd := p_rt_typ_cd;
652 l_rec.dflt_val := p_dflt_val;
653 l_rec.entr_val_at_enrt_flag := p_entr_val_at_enrt_flag;
654 l_rec.dflt_flag := p_dflt_flag;
655 l_rec.comp_lvl_fctr_id := p_comp_lvl_fctr_id;
656 l_rec.oipl_id := p_oipl_id;
657 l_rec.pl_id := p_pl_id;
658 l_rec.plip_id := p_plip_id;
659 l_rec.business_group_id := p_business_group_id;
660 l_rec.ccm_attribute_category := p_ccm_attribute_category;
661 l_rec.ccm_attribute1 := p_ccm_attribute1;
662 l_rec.ccm_attribute2 := p_ccm_attribute2;
663 l_rec.ccm_attribute3 := p_ccm_attribute3;
664 l_rec.ccm_attribute4 := p_ccm_attribute4;
665 l_rec.ccm_attribute5 := p_ccm_attribute5;
666 l_rec.ccm_attribute6 := p_ccm_attribute6;
667 l_rec.ccm_attribute7 := p_ccm_attribute7;
668 l_rec.ccm_attribute8 := p_ccm_attribute8;
669 l_rec.ccm_attribute9 := p_ccm_attribute9;
670 l_rec.ccm_attribute10 := p_ccm_attribute10;
671 l_rec.ccm_attribute11 := p_ccm_attribute11;
672 l_rec.ccm_attribute12 := p_ccm_attribute12;
673 l_rec.ccm_attribute13 := p_ccm_attribute13;
674 l_rec.ccm_attribute14 := p_ccm_attribute14;
675 l_rec.ccm_attribute15 := p_ccm_attribute15;
676 l_rec.ccm_attribute16 := p_ccm_attribute16;
677 l_rec.ccm_attribute17 := p_ccm_attribute17;
678 l_rec.ccm_attribute18 := p_ccm_attribute18;
679 l_rec.ccm_attribute19 := p_ccm_attribute19;
680 l_rec.ccm_attribute20 := p_ccm_attribute20;
681 l_rec.ccm_attribute21 := p_ccm_attribute21;
682 l_rec.ccm_attribute22 := p_ccm_attribute22;
683 l_rec.ccm_attribute23 := p_ccm_attribute23;
684 l_rec.ccm_attribute24 := p_ccm_attribute24;
685 l_rec.ccm_attribute25 := p_ccm_attribute25;
686 l_rec.ccm_attribute26 := p_ccm_attribute26;
687 l_rec.ccm_attribute27 := p_ccm_attribute27;
688 l_rec.ccm_attribute28 := p_ccm_attribute28;
689 l_rec.ccm_attribute29 := p_ccm_attribute29;
690 l_rec.ccm_attribute30 := p_ccm_attribute30;
691 l_rec.object_version_number := p_object_version_number;
692 --
693 -- Return the plsql record structure.
694 --
695 hr_utility.set_location(' Leaving:'||l_proc, 10);
696 Return(l_rec);
697 --
698 End convert_args;
699 --
700 end ben_ccm_shd;