[Home] [Help]
PACKAGE BODY: APPS.BEN_BPL_SHD
Source
1 Package Body ben_bpl_shd as
2 /* $Header: bebplrhi.pkb 120.1.12010000.2 2008/09/18 04:35:40 sallumwa ship $ */
3 --
4 -- ----------------------------------------------------------------------------
5 -- | Private Global Definitions |
6 -- ----------------------------------------------------------------------------
7 --
8 g_package varchar2(33) := ' ben_bpl_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_BNFT_PRVDD_LDGR_FK2') 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_BNFT_PRVDD_LDGR_PK') 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 Else
47 hr_utility.set_message(801, 'HR_7877_API_INVALID_CONSTRAINT');
48 hr_utility.set_message_token('PROCEDURE', l_proc);
49 hr_utility.set_message_token('CONSTRAINT_NAME', p_constraint_name);
50 hr_utility.raise_error;
51 End If;
52 --
53 hr_utility.set_location(' Leaving:'||l_proc, 10);
54 End constraint_error;
55 --
56 -- ----------------------------------------------------------------------------
57 -- |-----------------------------< api_updating >-----------------------------|
58 -- ----------------------------------------------------------------------------
59 Function api_updating
60 (p_effective_date in date,
61 p_bnft_prvdd_ldgr_id in number,
62 p_object_version_number in number
63 ) Return Boolean Is
64 --
65 --
66 -- Cursor selects the 'current' row from the HR Schema
67 --
68 Cursor C_Sel1 is
69 select
70 bnft_prvdd_ldgr_id,
71 effective_start_date,
72 effective_end_date,
73 prtt_ro_of_unusd_amt_flag,
74 frftd_val,
75 prvdd_val,
76 used_val,
77 bnft_prvdr_pool_id,
78 acty_base_rt_id,
79 per_in_ler_id,
80 prtt_enrt_rslt_id,
81 business_group_id,
82 bpl_attribute_category,
83 bpl_attribute1,
84 bpl_attribute2,
85 bpl_attribute3,
86 bpl_attribute4,
87 bpl_attribute5,
88 bpl_attribute6,
89 bpl_attribute7,
90 bpl_attribute8,
91 bpl_attribute9,
92 bpl_attribute10,
93 bpl_attribute11,
94 bpl_attribute12,
95 bpl_attribute13,
96 bpl_attribute14,
97 bpl_attribute15,
98 bpl_attribute16,
99 bpl_attribute17,
100 bpl_attribute18,
101 bpl_attribute19,
102 bpl_attribute20,
103 bpl_attribute21,
104 bpl_attribute22,
105 bpl_attribute23,
106 bpl_attribute24,
107 bpl_attribute25,
108 bpl_attribute26,
109 bpl_attribute27,
110 bpl_attribute28,
111 bpl_attribute29,
112 bpl_attribute30,
113 object_version_number,
114 cash_recd_val,
115 rld_up_val,
116 acty_ref_perd_cd,
117 cmcd_frftd_val,
118 cmcd_prvdd_val,
119 cmcd_rld_up_val,
120 cmcd_used_val,
121 cmcd_cash_recd_val,
122 cmcd_ref_perd_cd,
123 ann_frftd_val,
124 ann_prvdd_val,
125 ann_rld_up_val,
126 ann_used_val,
127 ann_cash_recd_val
128 from ben_bnft_prvdd_ldgr_f
129 where bnft_prvdd_ldgr_id = p_bnft_prvdd_ldgr_id
130 and p_effective_date
131 between effective_start_date and effective_end_date;
132 --
133 l_proc varchar2(72) := g_package||'api_updating';
134 l_fct_ret boolean;
135 --
136 Begin
137 hr_utility.set_location('Entering:'||l_proc, 5);
138 --
139 If (p_effective_date is null or
140 p_bnft_prvdd_ldgr_id is null or
141 p_object_version_number is null) Then
142 --
143 -- One of the primary key arguments is null therefore we must
144 -- set the returning function value to false
145 --
146 l_fct_ret := false;
147 Else
148 If (p_bnft_prvdd_ldgr_id = g_old_rec.bnft_prvdd_ldgr_id and
149 p_object_version_number = g_old_rec.object_version_number) Then
150 hr_utility.set_location(l_proc, 10);
151 --
152 -- The g_old_rec is current therefore we must
153 -- set the returning function to true
154 --
155 l_fct_ret := true;
156 Else
157 --
158 -- Select the current row
159 --
160 Open C_Sel1;
161 Fetch C_Sel1 Into g_old_rec;
162 If C_Sel1%notfound Then
163 Close C_Sel1;
164 --
165 -- The primary key is invalid therefore we must error
166 --
167 hr_utility.set_message(801, 'HR_7220_INVALID_PRIMARY_KEY');
168 hr_utility.raise_error;
169 End If;
170 Close C_Sel1;
171 If (p_object_version_number <> g_old_rec.object_version_number) Then
172 hr_utility.set_message(801, 'HR_7155_OBJECT_INVALID');
173 hr_utility.raise_error;
174 End If;
175 hr_utility.set_location(l_proc, 15);
176 l_fct_ret := true;
177 End If;
178 End If;
179 hr_utility.set_location(' Leaving:'||l_proc, 20);
180 Return (l_fct_ret);
181 --
182 End api_updating;
183 --
184 -- ----------------------------------------------------------------------------
185 -- |--------------------------< find_dt_del_modes >---------------------------|
186 -- ----------------------------------------------------------------------------
187 Procedure find_dt_del_modes
188 (p_effective_date in date,
189 p_base_key_value in number,
190 p_zap out nocopy boolean,
191 p_delete out nocopy boolean,
192 p_future_change out nocopy boolean,
193 p_delete_next_change out nocopy boolean) is
194 --
195 l_proc varchar2(72) := g_package||'find_dt_del_modes';
196 --
197 l_parent_key_value1 number;
198 l_parent_key_value2 number;
199 l_parent_key_value3 number;
200 --
201 Cursor C_Sel1 Is
202 select t.acty_base_rt_id,
203 t.bnft_prvdr_pool_id,
204 t.prtt_enrt_rslt_id
205 from ben_bnft_prvdd_ldgr_f t
206 where t.bnft_prvdd_ldgr_id = p_base_key_value
207 and p_effective_date
208 between t.effective_start_date and t.effective_end_date;
209 --
210 Begin
211 hr_utility.set_location('Entering:'||l_proc, 5);
212 Open C_Sel1;
213 Fetch C_Sel1 Into l_parent_key_value1,
214 l_parent_key_value2,
215 l_parent_key_value3;
216 If C_Sel1%notfound then
217 Close C_Sel1;
218 hr_utility.set_message(801, 'HR_6153_ALL_PROCEDURE_FAIL');
219 hr_utility.set_message_token('PROCEDURE', l_proc);
220 hr_utility.set_message_token('STEP','10');
221 hr_utility.raise_error;
222 End If;
223 Close C_Sel1;
224 --
225 -- Call the corresponding datetrack api
226 --
227 dt_api.find_dt_del_modes
228 (p_effective_date => p_effective_date,
229 p_base_table_name => 'ben_bnft_prvdd_ldgr_f',
230 p_base_key_column => 'bnft_prvdd_ldgr_id',
231 p_base_key_value => p_base_key_value,
232 p_parent_table_name1 => 'ben_acty_base_rt_f',
233 p_parent_key_column1 => 'acty_base_rt_id',
234 p_parent_key_value1 => l_parent_key_value1,
235 p_parent_table_name2 => 'ben_bnft_prvdr_pool_f',
236 p_parent_key_column2 => 'bnft_prvdr_pool_id',
237 p_parent_key_value2 => l_parent_key_value2,
238 p_parent_table_name3 => 'ben_prtt_enrt_rslt_f',
239 p_parent_key_column3 => 'prtt_enrt_rslt_id',
240 p_parent_key_value3 => l_parent_key_value3,
241 p_zap => p_zap,
242 p_delete => p_delete,
243 p_future_change => p_future_change,
244 p_delete_next_change => p_delete_next_change);
245 --
246 hr_utility.set_location(' Leaving:'||l_proc, 10);
247 End find_dt_del_modes;
248 --
249 -- ----------------------------------------------------------------------------
250 -- |--------------------------< find_dt_upd_modes >---------------------------|
251 -- ----------------------------------------------------------------------------
252 Procedure find_dt_upd_modes
253 (p_effective_date in date,
254 p_base_key_value in number,
255 p_correction out nocopy boolean,
256 p_update out nocopy boolean,
257 p_update_override out nocopy boolean,
258 p_update_change_insert out nocopy boolean) is
259 --
260 l_proc varchar2(72) := g_package||'find_dt_upd_modes';
261 --
262 Begin
263 hr_utility.set_location('Entering:'||l_proc, 5);
264 --
265 -- Call the corresponding datetrack api
266 --
267 dt_api.find_dt_upd_modes
268 (p_effective_date => p_effective_date,
269 p_base_table_name => 'ben_bnft_prvdd_ldgr_f',
270 p_base_key_column => 'bnft_prvdd_ldgr_id',
271 p_base_key_value => p_base_key_value,
272 p_correction => p_correction,
273 p_update => p_update,
274 p_update_override => p_update_override,
275 p_update_change_insert => p_update_change_insert);
276 --
277 hr_utility.set_location(' Leaving:'||l_proc, 10);
278 End find_dt_upd_modes;
279 --
280 -- ----------------------------------------------------------------------------
281 -- |------------------------< upd_effective_end_date >------------------------|
282 -- ----------------------------------------------------------------------------
283 Procedure upd_effective_end_date
284 (p_effective_date in date,
285 p_base_key_value in number,
286 p_new_effective_end_date in date,
287 p_validation_start_date in date,
288 p_validation_end_date in date,
289 p_object_version_number out nocopy number) is
290 --
291 l_proc varchar2(72) := g_package||'upd_effective_end_date';
292 l_object_version_number number;
293 --
294 Begin
295 hr_utility.set_location('Entering:'||l_proc, 5);
296 --
297 -- Because we are updating a row we must get the next object
298 -- version number.
299 --
300 l_object_version_number :=
301 dt_api.get_object_version_number
302 (p_base_table_name => 'ben_bnft_prvdd_ldgr_f',
303 p_base_key_column => 'bnft_prvdd_ldgr_id',
304 p_base_key_value => p_base_key_value);
305 --
306 hr_utility.set_location(l_proc, 10);
307 g_api_dml := true; -- Set the api dml status
308 --
309 -- Update the specified datetrack row setting the effective
310 -- end date to the specified new effective end date.
311 --
312 update ben_bnft_prvdd_ldgr_f t
313 set t.effective_end_date = p_new_effective_end_date,
314 t.object_version_number = l_object_version_number
315 where t.bnft_prvdd_ldgr_id = p_base_key_value
316 and p_effective_date
317 between t.effective_start_date and t.effective_end_date;
318 --
319 g_api_dml := false; -- Unset the api dml status
320 p_object_version_number := l_object_version_number;
321 hr_utility.set_location(' Leaving:'||l_proc, 15);
322 --
323 Exception
324 When Others Then
325 g_api_dml := false; -- Unset the api dml status
326 Raise;
327 End upd_effective_end_date;
328 --
329 -- ----------------------------------------------------------------------------
330 -- |---------------------------------< lck >----------------------------------|
331 -- ----------------------------------------------------------------------------
332 Procedure lck
333 (p_effective_date in date,
334 p_datetrack_mode in varchar2,
335 p_bnft_prvdd_ldgr_id in number,
336 p_object_version_number in number,
337 p_validation_start_date out nocopy date,
338 p_validation_end_date out nocopy date) is
339 --
340 l_proc varchar2(72) := g_package||'lck';
341 l_validation_start_date date;
342 l_validation_end_date date;
343 l_object_invalid exception;
344 l_argument varchar2(30);
345 --
346 -- Cursor C_Sel1 selects the current locked row as of session date
347 -- ensuring that the object version numbers match.
348 --
349 Cursor C_Sel1 is
350 select
351 bnft_prvdd_ldgr_id,
352 effective_start_date,
353 effective_end_date,
354 prtt_ro_of_unusd_amt_flag,
355 frftd_val,
356 prvdd_val,
357 used_val,
358 bnft_prvdr_pool_id,
359 acty_base_rt_id,
360 per_in_ler_id,
361 prtt_enrt_rslt_id,
362 business_group_id,
363 bpl_attribute_category,
364 bpl_attribute1,
365 bpl_attribute2,
366 bpl_attribute3,
367 bpl_attribute4,
368 bpl_attribute5,
369 bpl_attribute6,
370 bpl_attribute7,
371 bpl_attribute8,
372 bpl_attribute9,
373 bpl_attribute10,
374 bpl_attribute11,
375 bpl_attribute12,
376 bpl_attribute13,
377 bpl_attribute14,
378 bpl_attribute15,
379 bpl_attribute16,
380 bpl_attribute17,
381 bpl_attribute18,
382 bpl_attribute19,
383 bpl_attribute20,
384 bpl_attribute21,
385 bpl_attribute22,
386 bpl_attribute23,
387 bpl_attribute24,
388 bpl_attribute25,
389 bpl_attribute26,
390 bpl_attribute27,
391 bpl_attribute28,
392 bpl_attribute29,
393 bpl_attribute30,
394 object_version_number,
395 cash_recd_val,
396 rld_up_val,
397 acty_ref_perd_cd,
398 cmcd_frftd_val,
399 cmcd_prvdd_val,
400 cmcd_rld_up_val,
401 cmcd_used_val,
402 cmcd_cash_recd_val,
403 cmcd_ref_perd_cd,
404 ann_frftd_val,
405 ann_prvdd_val,
406 ann_rld_up_val,
407 ann_used_val,
408 ann_cash_recd_val
409 from ben_bnft_prvdd_ldgr_f
410 where bnft_prvdd_ldgr_id = p_bnft_prvdd_ldgr_id
411 and p_effective_date
412 between effective_start_date and effective_end_date
413 for update nowait;
414 --
415 --
416 --
417 Begin
418 hr_utility.set_location('Entering:'||l_proc, 5);
419 --
420 -- Ensure that all the mandatory arguments are not null
421 --
422 hr_api.mandatory_arg_error(p_api_name => l_proc,
423 p_argument => 'effective_date',
424 p_argument_value => p_effective_date);
425 --
426 hr_api.mandatory_arg_error(p_api_name => l_proc,
427 p_argument => 'datetrack_mode',
428 p_argument_value => p_datetrack_mode);
429 --
430 hr_api.mandatory_arg_error(p_api_name => l_proc,
434 hr_api.mandatory_arg_error(p_api_name => l_proc,
431 p_argument => 'bnft_prvdd_ldgr_id',
432 p_argument_value => p_bnft_prvdd_ldgr_id);
433 --
435 p_argument => 'object_version_number',
436 p_argument_value => p_object_version_number);
437 --
438 -- Check to ensure the datetrack mode is not INSERT.
439 --
440 If (p_datetrack_mode <> 'INSERT') then
441 --
442 -- We must select and lock the current row.
443 --
444 Open C_Sel1;
445 Fetch C_Sel1 Into g_old_rec;
446 If C_Sel1%notfound then
447 Close C_Sel1;
448 --
449 -- The primary key is invalid therefore we must error
450 --
451 hr_utility.set_message(801, 'HR_7220_INVALID_PRIMARY_KEY');
452 hr_utility.raise_error;
453 End If;
454 Close C_Sel1;
455 If (p_object_version_number <> g_old_rec.object_version_number) Then
456 hr_utility.set_message(801, 'HR_7155_OBJECT_INVALID');
457 hr_utility.raise_error;
458 End If;
459 hr_utility.set_location(l_proc, 15);
460 --
461 --
462 -- Validate the datetrack mode mode getting the validation start
463 -- and end dates for the specified datetrack operation.
464 --
465 dt_api.validate_dt_mode
466 (p_effective_date => p_effective_date,
467 p_datetrack_mode => p_datetrack_mode,
468 p_base_table_name => 'ben_bnft_prvdd_ldgr_f',
469 p_base_key_column => 'bnft_prvdd_ldgr_id',
470 p_base_key_value => p_bnft_prvdd_ldgr_id,
471 p_parent_table_name1 => 'ben_acty_base_rt_f',
472 p_parent_key_column1 => 'acty_base_rt_id',
473 p_parent_key_value1 => g_old_rec.acty_base_rt_id,
474 p_parent_table_name2 => 'ben_bnft_prvdr_pool_f',
475 p_parent_key_column2 => 'bnft_prvdr_pool_id',
476 p_parent_key_value2 => g_old_rec.bnft_prvdr_pool_id,
477 p_parent_table_name3 => 'ben_prtt_enrt_rslt_f',
478 p_parent_key_column3 => 'prtt_enrt_rslt_id',
479 p_parent_key_value3 => g_old_rec.prtt_enrt_rslt_id,
480 p_enforce_foreign_locking => false,
481 p_validation_start_date => l_validation_start_date,
482 p_validation_end_date => l_validation_end_date);
483 Else
484 --
485 -- We are doing a datetrack 'INSERT' which is illegal within this
486 -- procedure therefore we must error (note: to lck on insert the
487 -- private procedure ins_lck should be called).
488 --
489 hr_utility.set_message(801, 'HR_6153_ALL_PROCEDURE_FAIL');
490 hr_utility.set_message_token('PROCEDURE', l_proc);
491 hr_utility.set_message_token('STEP','20');
492 hr_utility.raise_error;
493 End If;
494 --
495 -- Set the validation start and end date OUT arguments
496 --
497 p_validation_start_date := l_validation_start_date;
498 p_validation_end_date := l_validation_end_date;
499 --
500 hr_utility.set_location(' Leaving:'||l_proc, 30);
501 --
502 -- We need to trap the ORA LOCK exception
503 --
504 Exception
505 When HR_Api.Object_Locked then
506 --
507 -- The object is locked therefore we need to supply a meaningful
508 -- error message.
509 --
510 hr_utility.set_message(801, 'HR_7165_OBJECT_LOCKED');
511 hr_utility.set_message_token('TABLE_NAME', 'ben_bnft_prvdd_ldgr_f');
512 hr_utility.raise_error;
513 When l_object_invalid then
514 --
515 -- The object doesn't exist or is invalid
516 --
517 hr_utility.set_message(801, 'HR_7155_OBJECT_INVALID');
518 hr_utility.set_message_token('TABLE_NAME', 'ben_bnft_prvdd_ldgr_f');
519 hr_utility.raise_error;
520 End lck;
521 --
522 -- ----------------------------------------------------------------------------
523 -- |-----------------------------< convert_args >-----------------------------|
524 -- ----------------------------------------------------------------------------
525 Function convert_args
526 (
527 p_bnft_prvdd_ldgr_id in number,
528 p_effective_start_date in date,
529 p_effective_end_date in date,
530 p_prtt_ro_of_unusd_amt_flag in varchar2,
531 p_frftd_val in number,
532 p_prvdd_val in number,
533 p_used_val in number,
534 p_bnft_prvdr_pool_id in number,
535 p_acty_base_rt_id in number,
536 p_per_in_ler_id in number,
537 p_prtt_enrt_rslt_id in number,
538 p_business_group_id in number,
539 p_bpl_attribute_category in varchar2,
540 p_bpl_attribute1 in varchar2,
541 p_bpl_attribute2 in varchar2,
542 p_bpl_attribute3 in varchar2,
543 p_bpl_attribute4 in varchar2,
544 p_bpl_attribute5 in varchar2,
545 p_bpl_attribute6 in varchar2,
546 p_bpl_attribute7 in varchar2,
547 p_bpl_attribute8 in varchar2,
548 p_bpl_attribute9 in varchar2,
549 p_bpl_attribute10 in varchar2,
550 p_bpl_attribute11 in varchar2,
551 p_bpl_attribute12 in varchar2,
552 p_bpl_attribute13 in varchar2,
553 p_bpl_attribute14 in varchar2,
557 p_bpl_attribute18 in varchar2,
554 p_bpl_attribute15 in varchar2,
555 p_bpl_attribute16 in varchar2,
556 p_bpl_attribute17 in varchar2,
558 p_bpl_attribute19 in varchar2,
559 p_bpl_attribute20 in varchar2,
560 p_bpl_attribute21 in varchar2,
561 p_bpl_attribute22 in varchar2,
562 p_bpl_attribute23 in varchar2,
563 p_bpl_attribute24 in varchar2,
564 p_bpl_attribute25 in varchar2,
565 p_bpl_attribute26 in varchar2,
566 p_bpl_attribute27 in varchar2,
567 p_bpl_attribute28 in varchar2,
568 p_bpl_attribute29 in varchar2,
569 p_bpl_attribute30 in varchar2,
570 p_object_version_number in number,
571 p_cash_recd_val in number,
572 p_rld_up_val in number,
573 p_acty_ref_perd_cd in varchar2,
574 p_cmcd_frftd_val in number,
575 p_cmcd_prvdd_val in number,
576 p_cmcd_rld_up_val in number,
577 p_cmcd_used_val in number,
578 p_cmcd_cash_recd_val in number,
579 p_cmcd_ref_perd_cd in varchar2,
580 p_ann_frftd_val in number,
581 p_ann_prvdd_val in number,
582 p_ann_rld_up_val in number,
583 p_ann_used_val in number,
584 p_ann_cash_recd_val in number
585 )
586 Return g_rec_type is
587 --
588 l_rec g_rec_type;
589 l_proc varchar2(72) := g_package||'convert_args';
590 --
591 Begin
592 --
593 hr_utility.set_location('Entering:'||l_proc, 5);
594 --
595 -- Convert arguments into local l_rec structure.
596 --
597 l_rec.bnft_prvdd_ldgr_id := p_bnft_prvdd_ldgr_id;
598 l_rec.effective_start_date := p_effective_start_date;
599 l_rec.effective_end_date := p_effective_end_date;
600 l_rec.prtt_ro_of_unusd_amt_flag := p_prtt_ro_of_unusd_amt_flag;
601 l_rec.frftd_val := p_frftd_val;
602 l_rec.prvdd_val := p_prvdd_val;
603 l_rec.used_val := p_used_val;
604 l_rec.bnft_prvdr_pool_id := p_bnft_prvdr_pool_id;
605 l_rec.acty_base_rt_id := p_acty_base_rt_id;
606 l_rec.per_in_ler_id := p_per_in_ler_id;
607 l_rec.prtt_enrt_rslt_id := p_prtt_enrt_rslt_id;
608 l_rec.business_group_id := p_business_group_id;
609 l_rec.bpl_attribute_category := p_bpl_attribute_category;
610 l_rec.bpl_attribute1 := p_bpl_attribute1;
611 l_rec.bpl_attribute2 := p_bpl_attribute2;
612 l_rec.bpl_attribute3 := p_bpl_attribute3;
613 l_rec.bpl_attribute4 := p_bpl_attribute4;
614 l_rec.bpl_attribute5 := p_bpl_attribute5;
615 l_rec.bpl_attribute6 := p_bpl_attribute6;
616 l_rec.bpl_attribute7 := p_bpl_attribute7;
617 l_rec.bpl_attribute8 := p_bpl_attribute8;
618 l_rec.bpl_attribute9 := p_bpl_attribute9;
619 l_rec.bpl_attribute10 := p_bpl_attribute10;
620 l_rec.bpl_attribute11 := p_bpl_attribute11;
621 l_rec.bpl_attribute12 := p_bpl_attribute12;
622 l_rec.bpl_attribute13 := p_bpl_attribute13;
623 l_rec.bpl_attribute14 := p_bpl_attribute14;
624 l_rec.bpl_attribute15 := p_bpl_attribute15;
625 l_rec.bpl_attribute16 := p_bpl_attribute16;
626 l_rec.bpl_attribute17 := p_bpl_attribute17;
627 l_rec.bpl_attribute18 := p_bpl_attribute18;
628 l_rec.bpl_attribute19 := p_bpl_attribute19;
629 l_rec.bpl_attribute20 := p_bpl_attribute20;
630 l_rec.bpl_attribute21 := p_bpl_attribute21;
631 l_rec.bpl_attribute22 := p_bpl_attribute22;
632 l_rec.bpl_attribute23 := p_bpl_attribute23;
633 l_rec.bpl_attribute24 := p_bpl_attribute24;
634 l_rec.bpl_attribute25 := p_bpl_attribute25;
635 l_rec.bpl_attribute26 := p_bpl_attribute26;
636 l_rec.bpl_attribute27 := p_bpl_attribute27;
637 l_rec.bpl_attribute28 := p_bpl_attribute28;
638 l_rec.bpl_attribute29 := p_bpl_attribute29;
639 l_rec.bpl_attribute30 := p_bpl_attribute30;
640 l_rec.object_version_number := p_object_version_number;
641 l_rec.cash_recd_val := p_cash_recd_val;
642 l_rec.rld_up_val := p_rld_up_val;
643 l_rec.acty_ref_perd_cd := p_acty_ref_perd_cd;
644 l_rec.cmcd_frftd_val := p_cmcd_frftd_val;
645 l_rec.cmcd_prvdd_val := p_cmcd_prvdd_val;
646 l_rec.cmcd_rld_up_val := p_cmcd_rld_up_val;
647 l_rec.cmcd_used_val := p_cmcd_used_val;
648 l_rec.cmcd_cash_recd_val := p_cmcd_cash_recd_val;
649 l_rec.cmcd_ref_perd_cd := p_cmcd_ref_perd_cd;
650 l_rec.ann_frftd_val := p_ann_frftd_val;
651 l_rec.ann_prvdd_val := p_ann_prvdd_val;
652 l_rec.ann_rld_up_val := p_ann_rld_up_val;
653 l_rec.ann_used_val := p_ann_used_val;
654 l_rec.ann_cash_recd_val := p_ann_cash_recd_val;
655 --
656 -- Return the plsql record structure.
657 --
658 hr_utility.set_location(' Leaving:'||l_proc, 10);
659 Return(l_rec);
660 --
661 End convert_args;
662 --
663 end ben_bpl_shd;