[Home] [Help]
PACKAGE BODY: APPS.BEN_BPP_SHD
Source
1 Package Body ben_bpp_shd as
2 /* $Header: bebpprhi.pkb 115.13 2002/12/22 20:25:09 pabodla ship $ */
3 --
4 -- ----------------------------------------------------------------------------
5 -- | Private Global Definitions |
6 -- ----------------------------------------------------------------------------
7 --
8 g_package varchar2(33) := ' ben_bpp_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_PRVDR_POOL_FK1') 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_BNFT_PRVDR_POOL_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 Else
47 fnd_message.set_name('PAY', 'HR_7877_API_INVALID_CONSTRAINT');
48 fnd_message.set_token('PROCEDURE', l_proc);
49 fnd_message.set_token('CONSTRAINT_NAME', p_constraint_name);
50 fnd_message.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_prvdr_pool_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_prvdr_pool_id,
71 effective_start_date,
72 effective_end_date,
73 name,
74 pgm_pool_flag,
75 excs_alwys_fftd_flag,
76 use_for_pgm_pool_flag,
77 pct_rndg_cd,
78 pct_rndg_rl,
79 val_rndg_cd,
80 val_rndg_rl,
81 dflt_excs_trtmt_cd,
82 dflt_excs_trtmt_rl,
83 rlovr_rstrcn_cd,
84 no_mn_dstrbl_pct_flag,
85 no_mn_dstrbl_val_flag,
86 no_mx_dstrbl_pct_flag,
87 no_mx_dstrbl_val_flag,
88 auto_alct_excs_flag,
89 alws_ngtv_crs_flag ,
90 uses_net_crs_mthd_flag,
91 mx_dfcit_pct_pool_crs_num ,
92 mx_dfcit_pct_comp_num ,
93 comp_lvl_fctr_id,
94 mn_dstrbl_pct_num,
95 mn_dstrbl_val,
96 mx_dstrbl_pct_num,
97 mx_dstrbl_val,
98 excs_trtmt_cd,
99 ptip_id,
100 plip_id,
101 pgm_id,
102 oiplip_id,
103 cmbn_plip_id,
104 cmbn_ptip_id,
105 cmbn_ptip_opt_id,
106 business_group_id,
107 bpp_attribute_category,
108 bpp_attribute1,
109 bpp_attribute2,
110 bpp_attribute3,
111 bpp_attribute4,
112 bpp_attribute5,
113 bpp_attribute6,
114 bpp_attribute7,
115 bpp_attribute8,
116 bpp_attribute9,
117 bpp_attribute10,
118 bpp_attribute11,
119 bpp_attribute12,
120 bpp_attribute13,
121 bpp_attribute14,
122 bpp_attribute15,
123 bpp_attribute16,
124 bpp_attribute17,
125 bpp_attribute18,
126 bpp_attribute19,
127 bpp_attribute20,
128 bpp_attribute21,
132 bpp_attribute25,
129 bpp_attribute22,
130 bpp_attribute23,
131 bpp_attribute24,
133 bpp_attribute26,
134 bpp_attribute27,
135 bpp_attribute28,
136 bpp_attribute29,
137 bpp_attribute30,
138 object_version_number
139 from ben_bnft_prvdr_pool_f
140 where bnft_prvdr_pool_id = p_bnft_prvdr_pool_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_bnft_prvdr_pool_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_bnft_prvdr_pool_id = g_old_rec.bnft_prvdr_pool_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 fnd_message.set_name('PAY', 'HR_7220_INVALID_PRIMARY_KEY');
179 fnd_message.raise_error;
180 End If;
181 Close C_Sel1;
182 If (p_object_version_number <> g_old_rec.object_version_number) Then
183 fnd_message.set_name('PAY', 'HR_7155_OBJECT_INVALID');
184 fnd_message.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 l_parent_key_value4 number;
212 l_parent_key_value5 number;
213 l_parent_key_value6 number;
214 l_parent_key_value7 number;
215 --
216 Cursor C_Sel1 Is
217 select t.pgm_id,
218 t.plip_id,
219 t.ptip_id,
220 t.cmbn_plip_id,
221 t.cmbn_ptip_id,
222 t.cmbn_ptip_opt_id,
223 t.oiplip_id
224 from ben_bnft_prvdr_pool_f t
225 where t.bnft_prvdr_pool_id = p_base_key_value
226 and p_effective_date
227 between t.effective_start_date and t.effective_end_date;
228 --
229 Begin
230 hr_utility.set_location('Entering:'||l_proc, 5);
231 Open C_Sel1;
232 Fetch C_Sel1 Into l_parent_key_value1,
233 l_parent_key_value2,
234 l_parent_key_value3,
235 l_parent_key_value4,
236 l_parent_key_value5,
237 l_parent_key_value6,
238 l_parent_key_value7;
239 If C_Sel1%notfound then
240 Close C_Sel1;
241 fnd_message.set_name('PAY', 'HR_6153_ALL_PROCEDURE_FAIL');
242 fnd_message.set_token('PROCEDURE', l_proc);
243 fnd_message.set_token('STEP','10');
244 fnd_message.raise_error;
245 End If;
246 Close C_Sel1;
247 --
248 -- Call the corresponding datetrack api
249 --
250 dt_api.find_dt_del_modes
251 (p_effective_date => p_effective_date,
252 p_base_table_name => 'ben_bnft_prvdr_pool_f',
253 p_base_key_column => 'bnft_prvdr_pool_id',
254 p_base_key_value => p_base_key_value,
255 p_parent_table_name1 => 'ben_pgm_f',
256 p_parent_key_column1 => 'pgm_id',
257 p_parent_key_value1 => l_parent_key_value1,
258 p_parent_table_name2 => 'ben_plip_f',
259 p_parent_key_column2 => 'plip_id',
260 p_parent_key_value2 => l_parent_key_value2,
261 p_parent_table_name3 => 'ben_ptip_f',
262 p_parent_key_column3 => 'ptip_id',
263 p_parent_key_value3 => l_parent_key_value3,
264 p_parent_table_name4 => 'ben_cmbn_plip_f',
265 p_parent_key_column4 => 'cmbn_plip_id',
266 p_parent_key_value4 => l_parent_key_value4,
267 p_parent_table_name5 => 'ben_cmbn_ptip_f',
268 p_parent_key_column5 => 'cmbn_ptip_id',
269 p_parent_key_value5 => l_parent_key_value5,
270 p_parent_table_name6 => 'ben_cmbn_ptip_opt_f',
271 p_parent_key_column6 => 'cmbn_ptip_opt_id',
272 p_parent_key_value6 => l_parent_key_value6,
273 p_parent_table_name7 => 'ben_oiplip_f',
274 p_parent_key_column7 => 'oiplip_id',
275 p_parent_key_value7 => l_parent_key_value7,
276 p_zap => p_zap,
277 p_delete => p_delete,
278 p_future_change => p_future_change,
279 p_delete_next_change => p_delete_next_change);
280 --
281 hr_utility.set_location(' Leaving:'||l_proc, 10);
282 End find_dt_del_modes;
283 --
284 -- ----------------------------------------------------------------------------
288 (p_effective_date in date,
285 -- |--------------------------< find_dt_upd_modes >---------------------------|
286 -- ----------------------------------------------------------------------------
287 Procedure find_dt_upd_modes
289 p_base_key_value in number,
290 p_correction out nocopy boolean,
291 p_update out nocopy boolean,
292 p_update_override out nocopy boolean,
293 p_update_change_insert out nocopy boolean) is
294 --
295 l_proc varchar2(72) := g_package||'find_dt_upd_modes';
296 --
297 Begin
298 hr_utility.set_location('Entering:'||l_proc, 5);
299 --
300 -- Call the corresponding datetrack api
301 --
302 dt_api.find_dt_upd_modes
303 (p_effective_date => p_effective_date,
304 p_base_table_name => 'ben_bnft_prvdr_pool_f',
305 p_base_key_column => 'bnft_prvdr_pool_id',
306 p_base_key_value => p_base_key_value,
307 p_correction => p_correction,
308 p_update => p_update,
309 p_update_override => p_update_override,
310 p_update_change_insert => p_update_change_insert);
311 --
312 hr_utility.set_location(' Leaving:'||l_proc, 10);
313 End find_dt_upd_modes;
314 --
315 -- ----------------------------------------------------------------------------
316 -- |------------------------< upd_effective_end_date >------------------------|
317 -- ----------------------------------------------------------------------------
318 Procedure upd_effective_end_date
319 (p_effective_date in date,
320 p_base_key_value in number,
321 p_new_effective_end_date in date,
322 p_validation_start_date in date,
323 p_validation_end_date in date,
324 p_object_version_number out nocopy number) is
325 --
326 l_proc varchar2(72) := g_package||'upd_effective_end_date';
327 l_object_version_number number;
328 --
329 Begin
330 hr_utility.set_location('Entering:'||l_proc, 5);
331 --
332 -- Because we are updating a row we must get the next object
333 -- version number.
334 --
335 l_object_version_number :=
336 dt_api.get_object_version_number
337 (p_base_table_name => 'ben_bnft_prvdr_pool_f',
338 p_base_key_column => 'bnft_prvdr_pool_id',
339 p_base_key_value => p_base_key_value);
340 --
341 hr_utility.set_location(l_proc, 10);
342 g_api_dml := true; -- Set the api dml status
343 --
344 -- Update the specified datetrack row setting the effective
345 -- end date to the specified new effective end date.
346 --
347 update ben_bnft_prvdr_pool_f t
348 set t.effective_end_date = p_new_effective_end_date,
349 t.object_version_number = l_object_version_number
350 where t.bnft_prvdr_pool_id = p_base_key_value
351 and p_effective_date
352 between t.effective_start_date and t.effective_end_date;
353 --
354 g_api_dml := false; -- Unset the api dml status
355 p_object_version_number := l_object_version_number;
356 hr_utility.set_location(' Leaving:'||l_proc, 15);
357 --
358 Exception
359 When Others Then
360 g_api_dml := false; -- Unset the api dml status
361 Raise;
362 End upd_effective_end_date;
363 --
364 -- ----------------------------------------------------------------------------
365 -- |---------------------------------< lck >----------------------------------|
366 -- ----------------------------------------------------------------------------
367 Procedure lck
368 (p_effective_date in date,
369 p_datetrack_mode in varchar2,
370 p_bnft_prvdr_pool_id in number,
371 p_object_version_number in number,
372 p_validation_start_date out nocopy date,
373 p_validation_end_date out nocopy date) is
374 --
375 l_proc varchar2(72) := g_package||'lck';
376 l_validation_start_date date;
377 l_validation_end_date date;
378 l_object_invalid exception;
379 l_argument varchar2(30);
380 --
381 -- Cursor C_Sel1 selects the current locked row as of session date
382 -- ensuring that the object version numbers match.
383 --
384 Cursor C_Sel1 is
385 select
386 bnft_prvdr_pool_id,
387 effective_start_date,
388 effective_end_date,
389 name,
390 pgm_pool_flag,
391 excs_alwys_fftd_flag,
392 use_for_pgm_pool_flag,
393 pct_rndg_cd,
394 pct_rndg_rl,
395 val_rndg_cd,
396 val_rndg_rl,
397 dflt_excs_trtmt_cd,
398 dflt_excs_trtmt_rl,
399 rlovr_rstrcn_cd,
400 no_mn_dstrbl_pct_flag,
401 no_mn_dstrbl_val_flag,
402 no_mx_dstrbl_pct_flag,
403 no_mx_dstrbl_val_flag,
404 auto_alct_excs_flag,
405 alws_ngtv_crs_flag ,
406 uses_net_crs_mthd_flag ,
407 mx_dfcit_pct_pool_crs_num,
408 mx_dfcit_pct_comp_num,
409 comp_lvl_fctr_id,
410 mn_dstrbl_pct_num,
411 mn_dstrbl_val,
412 mx_dstrbl_pct_num,
413 mx_dstrbl_val,
414 excs_trtmt_cd,
415 ptip_id,
416 plip_id,
417 pgm_id,
418 oiplip_id,
419 cmbn_plip_id,
420 cmbn_ptip_id,
421 cmbn_ptip_opt_id,
422 business_group_id,
423 bpp_attribute_category,
424 bpp_attribute1,
425 bpp_attribute2,
426 bpp_attribute3,
427 bpp_attribute4,
428 bpp_attribute5,
429 bpp_attribute6,
430 bpp_attribute7,
431 bpp_attribute8,
432 bpp_attribute9,
433 bpp_attribute10,
434 bpp_attribute11,
435 bpp_attribute12,
436 bpp_attribute13,
437 bpp_attribute14,
438 bpp_attribute15,
439 bpp_attribute16,
440 bpp_attribute17,
441 bpp_attribute18,
442 bpp_attribute19,
443 bpp_attribute20,
444 bpp_attribute21,
445 bpp_attribute22,
446 bpp_attribute23,
447 bpp_attribute24,
448 bpp_attribute25,
449 bpp_attribute26,
453 bpp_attribute30,
450 bpp_attribute27,
451 bpp_attribute28,
452 bpp_attribute29,
454 object_version_number
455 from ben_bnft_prvdr_pool_f
456 where bnft_prvdr_pool_id = p_bnft_prvdr_pool_id
457 and p_effective_date
458 between effective_start_date and effective_end_date
459 for update nowait;
460 --
461 --
462 --
463 Begin
464 hr_utility.set_location('Entering:'||l_proc, 5);
465 --
466 -- Ensure that all the mandatory arguments are not null
467 --
468 hr_api.mandatory_arg_error(p_api_name => l_proc,
469 p_argument => 'effective_date',
470 p_argument_value => p_effective_date);
471 --
472 hr_api.mandatory_arg_error(p_api_name => l_proc,
473 p_argument => 'datetrack_mode',
474 p_argument_value => p_datetrack_mode);
475 --
476 hr_api.mandatory_arg_error(p_api_name => l_proc,
477 p_argument => 'bnft_prvdr_pool_id',
478 p_argument_value => p_bnft_prvdr_pool_id);
479 --
480 hr_api.mandatory_arg_error(p_api_name => l_proc,
481 p_argument => 'object_version_number',
482 p_argument_value => p_object_version_number);
483 --
484 -- Check to ensure the datetrack mode is not INSERT.
485 --
486 If (p_datetrack_mode <> 'INSERT') then
487 --
488 -- We must select and lock the current row.
489 --
490 Open C_Sel1;
491 Fetch C_Sel1 Into g_old_rec;
492 If C_Sel1%notfound then
493 Close C_Sel1;
494 --
495 -- The primary key is invalid therefore we must error
496 --
497 fnd_message.set_name('PAY', 'HR_7220_INVALID_PRIMARY_KEY');
498 fnd_message.raise_error;
499 End If;
500 Close C_Sel1;
501 If (p_object_version_number <> g_old_rec.object_version_number) Then
502 fnd_message.set_name('PAY', 'HR_7155_OBJECT_INVALID');
503 fnd_message.raise_error;
504 End If;
505 hr_utility.set_location(l_proc, 15);
506 --
507 --
508 -- Validate the datetrack mode mode getting the validation start
509 -- and end dates for the specified datetrack operation.
510 --
511 dt_api.validate_dt_mode
512 (p_effective_date => p_effective_date,
513 p_datetrack_mode => p_datetrack_mode,
514 p_base_table_name => 'ben_bnft_prvdr_pool_f',
515 p_base_key_column => 'bnft_prvdr_pool_id',
516 p_base_key_value => p_bnft_prvdr_pool_id,
517 p_parent_table_name1 => 'ben_pgm_f',
518 p_parent_key_column1 => 'pgm_id',
519 p_parent_key_value1 => g_old_rec.pgm_id,
520 p_parent_table_name2 => 'ben_plip_f',
521 p_parent_key_column2 => 'plip_id',
522 p_parent_key_value2 => g_old_rec.plip_id,
523 p_parent_table_name3 => 'ben_ptip_f',
524 p_parent_key_column3 => 'ptip_id',
525 p_parent_key_value3 => g_old_rec.ptip_id,
526 p_parent_table_name4 => 'ben_cmbn_plip_f',
527 p_parent_key_column4 => 'cmbn_plip_id',
528 p_parent_key_value4 => g_old_rec.cmbn_plip_id,
529 p_parent_table_name5 => 'ben_cmbn_ptip_f',
530 p_parent_key_column5 => 'cmbn_ptip_id',
531 p_parent_key_value5 => g_old_rec.cmbn_ptip_id,
532 p_parent_table_name6 => 'ben_cmbn_ptip_opt_f',
533 p_parent_key_column6 => 'cmbn_ptip_opt_id',
534 p_parent_key_value6 => g_old_rec.cmbn_ptip_opt_id,
535 p_parent_table_name7 => 'ben_oiplip_f',
536 p_parent_key_column7 => 'oiplip_id',
537 p_parent_key_value7 => g_old_rec.oiplip_id,
538 p_child_table_name1 => 'ben_aplcn_to_bnft_pool_f',
539 p_child_key_column1 => 'aplcn_to_bnft_pool_id',
540 p_child_table_name2 => 'ben_bnft_pool_rlovr_rqmt_f',
541 p_child_key_column2 => 'bnft_pool_rlovr_rqmt_id',
542 p_child_table_name3 => 'ben_bnft_prvdd_ldgr_f',
543 p_child_key_column3 => 'bnft_prvdd_ldgr_id',
544 p_enforce_foreign_locking => false, -- true,
545 p_validation_start_date => l_validation_start_date,
546 p_validation_end_date => l_validation_end_date);
547
548 -- bug fix 2666119 - changed p_enforce_foreign_locking from true
549 -- to false, to avoid locking problems. child row exists check
550 -- is present in dt_delete_validate
551 Else
552 --
553 -- We are doing a datetrack 'INSERT' which is illegal within this
554 -- procedure therefore we must error (note: to lck on insert the
555 -- private procedure ins_lck should be called).
556 --
557 fnd_message.set_name('PAY', 'HR_6153_ALL_PROCEDURE_FAIL');
558 fnd_message.set_token('PROCEDURE', l_proc);
559 fnd_message.set_token('STEP','20');
560 fnd_message.raise_error;
561 End If;
562 --
563 -- Set the validation start and end date OUT arguments
564 --
565 p_validation_start_date := l_validation_start_date;
566 p_validation_end_date := l_validation_end_date;
567 --
568 hr_utility.set_location(' Leaving:'||l_proc, 30);
569 --
570 -- We need to trap the ORA LOCK exception
571 --
572 Exception
573 When HR_Api.Object_Locked then
574 --
575 -- The object is locked therefore we need to supply a meaningful
576 -- error message.
577 --
578 fnd_message.set_name('PAY', 'HR_7165_OBJECT_LOCKED');
579 fnd_message.set_token('TABLE_NAME', 'ben_bnft_prvdr_pool_f');
580 fnd_message.raise_error;
581 When l_object_invalid then
582 --
583 -- The object doesn't exist or is invalid
584 --
585 fnd_message.set_name('PAY', 'HR_7155_OBJECT_INVALID');
589 --
586 fnd_message.set_token('TABLE_NAME', 'ben_bnft_prvdr_pool_f');
587 fnd_message.raise_error;
588 End lck;
590 -- ----------------------------------------------------------------------------
591 -- |-----------------------------< convert_args >-----------------------------|
592 -- ----------------------------------------------------------------------------
593 Function convert_args
594 (
595 p_bnft_prvdr_pool_id in number,
596 p_effective_start_date in date,
597 p_effective_end_date in date,
598 p_name in varchar2,
599 p_pgm_pool_flag in varchar2,
600 p_excs_alwys_fftd_flag in varchar2,
601 p_use_for_pgm_pool_flag in varchar2,
602 p_pct_rndg_cd in varchar2,
603 p_pct_rndg_rl in number,
604 p_val_rndg_cd in varchar2,
605 p_val_rndg_rl in number,
606 p_dflt_excs_trtmt_cd in varchar2,
607 p_dflt_excs_trtmt_rl in number,
608 p_rlovr_rstrcn_cd in varchar2,
609 p_no_mn_dstrbl_pct_flag in varchar2,
610 p_no_mn_dstrbl_val_flag in varchar2,
611 p_no_mx_dstrbl_pct_flag in varchar2,
612 p_no_mx_dstrbl_val_flag in varchar2,
613 p_auto_alct_excs_flag in varchar2,
614 p_alws_ngtv_crs_flag in varchar2,
615 p_uses_net_crs_mthd_flag in varchar2,
616 p_mx_dfcit_pct_pool_crs_num in number,
617 p_mx_dfcit_pct_comp_num in number,
618 p_comp_lvl_fctr_id in number,
619 p_mn_dstrbl_pct_num in number,
620 p_mn_dstrbl_val in number,
621 p_mx_dstrbl_pct_num in number,
622 p_mx_dstrbl_val in number,
623 p_excs_trtmt_cd in varchar2,
624 p_ptip_id in number,
625 p_plip_id in number,
626 p_pgm_id in number,
627 p_oiplip_id in number,
628 p_cmbn_plip_id in number,
629 p_cmbn_ptip_id in number,
630 p_cmbn_ptip_opt_id in number,
631 p_business_group_id in number,
632 p_bpp_attribute_category in varchar2,
633 p_bpp_attribute1 in varchar2,
634 p_bpp_attribute2 in varchar2,
635 p_bpp_attribute3 in varchar2,
636 p_bpp_attribute4 in varchar2,
637 p_bpp_attribute5 in varchar2,
638 p_bpp_attribute6 in varchar2,
639 p_bpp_attribute7 in varchar2,
640 p_bpp_attribute8 in varchar2,
641 p_bpp_attribute9 in varchar2,
642 p_bpp_attribute10 in varchar2,
643 p_bpp_attribute11 in varchar2,
644 p_bpp_attribute12 in varchar2,
645 p_bpp_attribute13 in varchar2,
646 p_bpp_attribute14 in varchar2,
647 p_bpp_attribute15 in varchar2,
648 p_bpp_attribute16 in varchar2,
649 p_bpp_attribute17 in varchar2,
650 p_bpp_attribute18 in varchar2,
651 p_bpp_attribute19 in varchar2,
652 p_bpp_attribute20 in varchar2,
653 p_bpp_attribute21 in varchar2,
654 p_bpp_attribute22 in varchar2,
655 p_bpp_attribute23 in varchar2,
656 p_bpp_attribute24 in varchar2,
657 p_bpp_attribute25 in varchar2,
658 p_bpp_attribute26 in varchar2,
659 p_bpp_attribute27 in varchar2,
660 p_bpp_attribute28 in varchar2,
661 p_bpp_attribute29 in varchar2,
662 p_bpp_attribute30 in varchar2,
663 p_object_version_number in number
664 )
665 Return g_rec_type is
666 --
667 l_rec g_rec_type;
668 l_proc varchar2(72) := g_package||'convert_args';
669 --
670 Begin
671 --
672 hr_utility.set_location('Entering:'||l_proc, 5);
673 --
674 -- Convert arguments into local l_rec structure.
675 --
676 l_rec.bnft_prvdr_pool_id := p_bnft_prvdr_pool_id;
677 l_rec.effective_start_date := p_effective_start_date;
678 l_rec.effective_end_date := p_effective_end_date;
679 l_rec.name := p_name;
680 l_rec.pgm_pool_flag := p_pgm_pool_flag;
681 l_rec.excs_alwys_fftd_flag := p_excs_alwys_fftd_flag;
682 l_rec.use_for_pgm_pool_flag := p_use_for_pgm_pool_flag;
683 l_rec.pct_rndg_cd := p_pct_rndg_cd;
684 l_rec.pct_rndg_rl := p_pct_rndg_rl;
685 l_rec.val_rndg_cd := p_val_rndg_cd;
686 l_rec.val_rndg_rl := p_val_rndg_rl;
687 l_rec.dflt_excs_trtmt_cd := p_dflt_excs_trtmt_cd;
688 l_rec.dflt_excs_trtmt_rl := p_dflt_excs_trtmt_rl;
689 l_rec.rlovr_rstrcn_cd := p_rlovr_rstrcn_cd;
690 l_rec.no_mn_dstrbl_pct_flag := p_no_mn_dstrbl_pct_flag;
691 l_rec.no_mn_dstrbl_val_flag := p_no_mn_dstrbl_val_flag;
692 l_rec.no_mx_dstrbl_pct_flag := p_no_mx_dstrbl_pct_flag;
693 l_rec.no_mx_dstrbl_val_flag := p_no_mx_dstrbl_val_flag;
694 l_rec.auto_alct_excs_flag := p_auto_alct_excs_flag;
695 l_rec.alws_ngtv_crs_flag := p_alws_ngtv_crs_flag ;
696 l_rec.uses_net_crs_mthd_flag := p_uses_net_crs_mthd_flag ;
697 l_rec.mx_dfcit_pct_pool_crs_num := p_mx_dfcit_pct_pool_crs_num ;
698 l_rec.mx_dfcit_pct_comp_num := p_mx_dfcit_pct_comp_num ;
699 l_rec.comp_lvl_fctr_id := p_comp_lvl_fctr_id ;
700 l_rec.mn_dstrbl_pct_num := p_mn_dstrbl_pct_num;
701 l_rec.mn_dstrbl_val := p_mn_dstrbl_val;
702 l_rec.mx_dstrbl_pct_num := p_mx_dstrbl_pct_num;
703 l_rec.mx_dstrbl_val := p_mx_dstrbl_val;
704 l_rec.excs_trtmt_cd := p_excs_trtmt_cd;
705 l_rec.ptip_id := p_ptip_id;
706 l_rec.plip_id := p_plip_id;
707 l_rec.pgm_id := p_pgm_id;
708 l_rec.oiplip_id := p_oiplip_id;
709 l_rec.cmbn_plip_id := p_cmbn_plip_id;
710 l_rec.cmbn_ptip_id := p_cmbn_ptip_id;
711 l_rec.cmbn_ptip_opt_id := p_cmbn_ptip_opt_id;
712 l_rec.business_group_id := p_business_group_id;
713 l_rec.bpp_attribute_category := p_bpp_attribute_category;
714 l_rec.bpp_attribute1 := p_bpp_attribute1;
715 l_rec.bpp_attribute2 := p_bpp_attribute2;
716 l_rec.bpp_attribute3 := p_bpp_attribute3;
717 l_rec.bpp_attribute4 := p_bpp_attribute4;
718 l_rec.bpp_attribute5 := p_bpp_attribute5;
719 l_rec.bpp_attribute6 := p_bpp_attribute6;
720 l_rec.bpp_attribute7 := p_bpp_attribute7;
721 l_rec.bpp_attribute8 := p_bpp_attribute8;
722 l_rec.bpp_attribute9 := p_bpp_attribute9;
723 l_rec.bpp_attribute10 := p_bpp_attribute10;
724 l_rec.bpp_attribute11 := p_bpp_attribute11;
725 l_rec.bpp_attribute12 := p_bpp_attribute12;
726 l_rec.bpp_attribute13 := p_bpp_attribute13;
727 l_rec.bpp_attribute14 := p_bpp_attribute14;
728 l_rec.bpp_attribute15 := p_bpp_attribute15;
729 l_rec.bpp_attribute16 := p_bpp_attribute16;
730 l_rec.bpp_attribute17 := p_bpp_attribute17;
731 l_rec.bpp_attribute18 := p_bpp_attribute18;
732 l_rec.bpp_attribute19 := p_bpp_attribute19;
733 l_rec.bpp_attribute20 := p_bpp_attribute20;
734 l_rec.bpp_attribute21 := p_bpp_attribute21;
735 l_rec.bpp_attribute22 := p_bpp_attribute22;
736 l_rec.bpp_attribute23 := p_bpp_attribute23;
737 l_rec.bpp_attribute24 := p_bpp_attribute24;
738 l_rec.bpp_attribute25 := p_bpp_attribute25;
739 l_rec.bpp_attribute26 := p_bpp_attribute26;
740 l_rec.bpp_attribute27 := p_bpp_attribute27;
741 l_rec.bpp_attribute28 := p_bpp_attribute28;
742 l_rec.bpp_attribute29 := p_bpp_attribute29;
743 l_rec.bpp_attribute30 := p_bpp_attribute30;
744 l_rec.object_version_number := p_object_version_number;
745 --
746 -- Return the plsql record structure.
747 --
748 hr_utility.set_location(' Leaving:'||l_proc, 10);
749 Return(l_rec);
750 --
751 End convert_args;
752 --
753 end ben_bpp_shd;