DBA Data[Home] [Help]

PACKAGE BODY: APPS.BEN_PEO_SHD

Source


1 Package Body ben_peo_shd as
2 /* $Header: bepeorhi.pkb 120.0 2005/05/28 10:38:09 appldev noship $ */
3 --
4 -- ----------------------------------------------------------------------------
5 -- |                     Private Global Definitions                           |
6 -- ----------------------------------------------------------------------------
7 --
8 g_package  varchar2(33)	:= '  ben_peo_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_ELIG_TO_PRTE_RSN_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_ELIG_TO_PRTE_RSN_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_elig_to_prte_rsn_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     elig_to_prte_rsn_id,
71     effective_start_date,
72     effective_end_date,
73     business_group_id,
74     ler_id,
75     oipl_id,
76     pgm_id,
77     pl_id,
78     ptip_id,
79     plip_id,
80     ignr_prtn_ovrid_flag,
81     elig_inelig_cd,
82     prtn_eff_strt_dt_cd,
83     prtn_eff_strt_dt_rl,
84     prtn_eff_end_dt_cd,
85     prtn_eff_end_dt_rl,
86     wait_perd_dt_to_use_cd,
87     wait_perd_dt_to_use_rl,
88     wait_perd_val,
89     wait_perd_uom,
90     wait_perd_rl,
91     mx_poe_det_dt_cd,
92     mx_poe_det_dt_rl,
93     mx_poe_val,
94     mx_poe_uom,
95     mx_poe_rl,
96     mx_poe_apls_cd,
97     prtn_ovridbl_flag,
98     vrfy_fmly_mmbr_cd,
99     vrfy_fmly_mmbr_rl,
100     peo_attribute_category,
101     peo_attribute1,
102     peo_attribute2,
103     peo_attribute3,
104     peo_attribute4,
105     peo_attribute5,
106     peo_attribute6,
107     peo_attribute7,
108     peo_attribute8,
109     peo_attribute9,
110     peo_attribute10,
111     peo_attribute11,
112     peo_attribute12,
113     peo_attribute13,
114     peo_attribute14,
115     peo_attribute15,
116     peo_attribute16,
117     peo_attribute17,
118     peo_attribute18,
119     peo_attribute19,
120     peo_attribute20,
121     peo_attribute21,
122     peo_attribute22,
123     peo_attribute23,
124     peo_attribute24,
125     peo_attribute25,
126     peo_attribute26,
127     peo_attribute27,
128     peo_attribute28,
129     peo_attribute29,
130     peo_attribute30,
131     object_version_number
132     from	ben_elig_to_prte_rsn_f
133     where	elig_to_prte_rsn_id = p_elig_to_prte_rsn_id
134     and		p_effective_date
135     between	effective_start_date and effective_end_date;
136 --
137   l_proc	varchar2(72)	:= g_package||'api_updating';
138   l_fct_ret	boolean;
139 --
140 Begin
141   hr_utility.set_location('Entering:'||l_proc, 5);
142   --
143   If (p_effective_date is null or
144       p_elig_to_prte_rsn_id is null or
145       p_object_version_number is null) Then
146     --
147     -- One of the primary key arguments is null therefore we must
148     -- set the returning function value to false
149     --
150     l_fct_ret := false;
151   Else
152     If (p_elig_to_prte_rsn_id = g_old_rec.elig_to_prte_rsn_id and
153         p_object_version_number = g_old_rec.object_version_number) Then
154       hr_utility.set_location(l_proc, 10);
155       --
156       -- The g_old_rec is current therefore we must
157       -- set the returning function to true
158       --
159       l_fct_ret := true;
160     Else
161       --
162       -- Select the current row
163       --
164       Open C_Sel1;
165       Fetch C_Sel1 Into g_old_rec;
166       If C_Sel1%notfound Then
167         Close C_Sel1;
168         --
169         -- The primary key is invalid therefore we must error
170         --
171         hr_utility.set_message(801, 'HR_7220_INVALID_PRIMARY_KEY');
172         hr_utility.raise_error;
173       End If;
174       Close C_Sel1;
175       If (p_object_version_number <> g_old_rec.object_version_number) Then
176         hr_utility.set_message(801, 'HR_7155_OBJECT_INVALID');
177         hr_utility.raise_error;
178       End If;
179       hr_utility.set_location(l_proc, 15);
180       l_fct_ret := true;
181     End If;
182   End If;
183   hr_utility.set_location(' Leaving:'||l_proc, 20);
184   Return (l_fct_ret);
185 --
186 End api_updating;
187 --
188 -- ----------------------------------------------------------------------------
189 -- |--------------------------< find_dt_del_modes >---------------------------|
190 -- ----------------------------------------------------------------------------
191 Procedure find_dt_del_modes
192 	(p_effective_date	in  date,
193 	 p_base_key_value	in  number,
194 	 p_zap		 out nocopy boolean,
195 	 p_delete	 out nocopy boolean,
196 	 p_future_change out nocopy boolean,
197 	 p_delete_next_change out nocopy boolean) is
198 --
199   l_proc 		varchar2(72) 	:= g_package||'find_dt_del_modes';
200 --
201   l_parent_key_value1	number;
202   l_parent_key_value2	number;
203   l_parent_key_value3	number;
204   l_parent_key_value4	number;
205   l_parent_key_value5	number;
206   l_parent_key_value6	number;
207   --
208   Cursor C_Sel1 Is
209     select  t.oipl_id,
210 	    t.ler_id,
211 	    t.pl_id,
212 	    t.pgm_id,
213             t.ptip_id,
214             t.plip_id
215     from    ben_elig_to_prte_rsn_f t
216     where   t.elig_to_prte_rsn_id = p_base_key_value
217     and     p_effective_date
218     between t.effective_start_date and t.effective_end_date;
219 --
220 Begin
221   hr_utility.set_location('Entering:'||l_proc, 5);
222   Open  C_Sel1;
223   Fetch C_Sel1 Into l_parent_key_value1,
224 		    l_parent_key_value2,
225 		    l_parent_key_value3,
226 		    l_parent_key_value4,
227 		    l_parent_key_value5,
228 		    l_parent_key_value6;
229   If C_Sel1%notfound then
230     Close C_Sel1;
231     hr_utility.set_message(801, 'HR_6153_ALL_PROCEDURE_FAIL');
232     hr_utility.set_message_token('PROCEDURE', l_proc);
233     hr_utility.set_message_token('STEP','10');
234     hr_utility.raise_error;
235   End If;
236   Close C_Sel1;
237   --
238   -- Call the corresponding datetrack api
239   --
240   dt_api.find_dt_del_modes
241 	(p_effective_date	=> p_effective_date,
242 	 p_base_table_name	=> 'ben_elig_to_prte_rsn_f',
243 	 p_base_key_column	=> 'elig_to_prte_rsn_id',
244 	 p_base_key_value	=> p_base_key_value,
245 	 p_parent_table_name1	=> 'ben_oipl_f',
246 	 p_parent_key_column1	=> 'oipl_id',
247 	 p_parent_key_value1	=> l_parent_key_value1,
248 	 p_parent_table_name2	=> 'ben_ler_f',
249 	 p_parent_key_column2	=> 'ler_id',
250 	 p_parent_key_value2	=> l_parent_key_value2,
251 	 p_parent_table_name3	=> 'ben_pl_f',
252 	 p_parent_key_column3	=> 'pl_id',
253 	 p_parent_key_value3	=> l_parent_key_value3,
254 	 p_parent_table_name4	=> 'ben_pgm_f',
255 	 p_parent_key_column4	=> 'pgm_id',
256 	 p_parent_key_value4	=> l_parent_key_value4,
257 	 p_parent_table_name5	=> 'ben_ptip_f',
258 	 p_parent_key_column5	=> 'ptip_id',
259 	 p_parent_key_value5	=> l_parent_key_value5,
260 	 p_parent_table_name6	=> 'ben_plip_f',
261 	 p_parent_key_column6	=> 'plip_id',
262 	 p_parent_key_value6	=> l_parent_key_value6,
263 	 p_zap			=> p_zap,
264 	 p_delete		=> p_delete,
265 	 p_future_change	=> p_future_change,
266 	 p_delete_next_change	=> p_delete_next_change);
267   --
268   hr_utility.set_location(' Leaving:'||l_proc, 10);
269 End find_dt_del_modes;
270 --
271 -- ----------------------------------------------------------------------------
272 -- |--------------------------< find_dt_upd_modes >---------------------------|
273 -- ----------------------------------------------------------------------------
274 Procedure find_dt_upd_modes
275 	(p_effective_date	in  date,
276 	 p_base_key_value	in  number,
277 	 p_correction	 out nocopy boolean,
278 	 p_update	 out nocopy boolean,
279 	 p_update_override out nocopy boolean,
280 	 p_update_change_insert out nocopy boolean) is
281 --
282   l_proc 	varchar2(72) := g_package||'find_dt_upd_modes';
283 --
284 Begin
285   hr_utility.set_location('Entering:'||l_proc, 5);
286   --
287   -- Call the corresponding datetrack api
288   --
289   dt_api.find_dt_upd_modes
290 	(p_effective_date	=> p_effective_date,
291 	 p_base_table_name	=> 'ben_elig_to_prte_rsn_f',
292 	 p_base_key_column	=> 'elig_to_prte_rsn_id',
293 	 p_base_key_value	=> p_base_key_value,
294 	 p_correction		=> p_correction,
295 	 p_update		=> p_update,
296 	 p_update_override	=> p_update_override,
297 	 p_update_change_insert	=> p_update_change_insert);
298   --
299   hr_utility.set_location(' Leaving:'||l_proc, 10);
300 End find_dt_upd_modes;
301 --
302 -- ----------------------------------------------------------------------------
303 -- |------------------------< upd_effective_end_date >------------------------|
304 -- ----------------------------------------------------------------------------
305 Procedure upd_effective_end_date
306 	(p_effective_date		in date,
307 	 p_base_key_value		in number,
308 	 p_new_effective_end_date	in date,
309 	 p_validation_start_date	in date,
310 	 p_validation_end_date		in date,
311          p_object_version_number       out nocopy number) is
312 --
313   l_proc 		  varchar2(72) := g_package||'upd_effective_end_date';
314   l_object_version_number number;
315 --
316 Begin
317   hr_utility.set_location('Entering:'||l_proc, 5);
318   --
319   -- Because we are updating a row we must get the next object
320   -- version number.
321   --
322   l_object_version_number :=
323     dt_api.get_object_version_number
324 	(p_base_table_name	=> 'ben_elig_to_prte_rsn_f',
325 	 p_base_key_column	=> 'elig_to_prte_rsn_id',
326 	 p_base_key_value	=> p_base_key_value);
327   --
328   hr_utility.set_location(l_proc, 10);
329   g_api_dml := true;  -- Set the api dml status
330   --
331   -- Update the specified datetrack row setting the effective
332   -- end date to the specified new effective end date.
333   --
334   update  ben_elig_to_prte_rsn_f t
335   set	  t.effective_end_date	  = p_new_effective_end_date,
336 	  t.object_version_number = l_object_version_number
337   where	  t.elig_to_prte_rsn_id	  = p_base_key_value
338   and	  p_effective_date
339   between t.effective_start_date and t.effective_end_date;
340   --
341   g_api_dml := false;   -- Unset the api dml status
342   p_object_version_number := l_object_version_number;
343   hr_utility.set_location(' Leaving:'||l_proc, 15);
344 --
345 Exception
346   When Others Then
347     g_api_dml := false;   -- Unset the api dml status
348     Raise;
349 End upd_effective_end_date;
350 --
351 -- ----------------------------------------------------------------------------
352 -- |---------------------------------< lck >----------------------------------|
356 	 p_datetrack_mode	 in  varchar2,
353 -- ----------------------------------------------------------------------------
354 Procedure lck
355 	(p_effective_date	 in  date,
357 	 p_elig_to_prte_rsn_id	 in  number,
358 	 p_object_version_number in  number,
359 	 p_validation_start_date out nocopy date,
360 	 p_validation_end_date	 out nocopy date) is
361 --
362   l_proc		  varchar2(72) := g_package||'lck';
363   l_validation_start_date date;
364   l_validation_end_date	  date;
365   l_object_invalid 	  exception;
366   l_argument		  varchar2(30);
367   --
368   -- Cursor C_Sel1 selects the current locked row as of session date
369   -- ensuring that the object version numbers match.
370   --
371   Cursor C_Sel1 is
372     select
373     elig_to_prte_rsn_id,
374     effective_start_date,
375     effective_end_date,
376     business_group_id,
377     ler_id,
378     oipl_id,
379     pgm_id,
380     pl_id,
381     ptip_id,
382     plip_id,
383     ignr_prtn_ovrid_flag,
384     elig_inelig_cd,
385     prtn_eff_strt_dt_cd,
386     prtn_eff_strt_dt_rl,
387     prtn_eff_end_dt_cd,
388     prtn_eff_end_dt_rl,
389     wait_perd_dt_to_use_cd,
390     wait_perd_dt_to_use_rl,
391     wait_perd_val,
392     wait_perd_uom,
393     wait_perd_rl,
394     mx_poe_det_dt_cd,
395     mx_poe_det_dt_rl,
396     mx_poe_val,
397     mx_poe_uom,
398     mx_poe_rl,
399     mx_poe_apls_cd,
400     prtn_ovridbl_flag,
401     vrfy_fmly_mmbr_cd,
402     vrfy_fmly_mmbr_rl,
403     peo_attribute_category,
404     peo_attribute1,
405     peo_attribute2,
406     peo_attribute3,
407     peo_attribute4,
408     peo_attribute5,
409     peo_attribute6,
410     peo_attribute7,
411     peo_attribute8,
412     peo_attribute9,
413     peo_attribute10,
414     peo_attribute11,
415     peo_attribute12,
416     peo_attribute13,
417     peo_attribute14,
418     peo_attribute15,
419     peo_attribute16,
420     peo_attribute17,
421     peo_attribute18,
422     peo_attribute19,
423     peo_attribute20,
424     peo_attribute21,
425     peo_attribute22,
426     peo_attribute23,
427     peo_attribute24,
428     peo_attribute25,
429     peo_attribute26,
430     peo_attribute27,
431     peo_attribute28,
432     peo_attribute29,
433     peo_attribute30,
434     object_version_number
435     from    ben_elig_to_prte_rsn_f
436     where   elig_to_prte_rsn_id         = p_elig_to_prte_rsn_id
437     and        p_effective_date
438     between effective_start_date and effective_end_date
439     for update nowait;
440   --
441   --
442   --
443 Begin
444   hr_utility.set_location('Entering:'||l_proc, 5);
445   --
446   -- Ensure that all the mandatory arguments are not null
447   --
448   hr_api.mandatory_arg_error(p_api_name       => l_proc,
449                              p_argument       => 'effective_date',
450                              p_argument_value => p_effective_date);
451   --
452   hr_api.mandatory_arg_error(p_api_name       => l_proc,
453                              p_argument       => 'datetrack_mode',
454                              p_argument_value => p_datetrack_mode);
455   --
456   hr_api.mandatory_arg_error(p_api_name       => l_proc,
457                              p_argument       => 'elig_to_prte_rsn_id',
458                              p_argument_value => p_elig_to_prte_rsn_id);
459   --
460   hr_api.mandatory_arg_error(p_api_name       => l_proc,
461                              p_argument       => 'object_version_number',
462                              p_argument_value => p_object_version_number);
463   --
464   -- Check to ensure the datetrack mode is not INSERT.
465   --
466   If (p_datetrack_mode <> 'INSERT') then
467     --
468     -- We must select and lock the current row.
469     --
470     Open  C_Sel1;
471     Fetch C_Sel1 Into g_old_rec;
472     If C_Sel1%notfound then
473       Close C_Sel1;
474       --
475       -- The primary key is invalid therefore we must error
476       --
477       hr_utility.set_message(801, 'HR_7220_INVALID_PRIMARY_KEY');
478       hr_utility.raise_error;
479     End If;
480     Close C_Sel1;
481     If (p_object_version_number <> g_old_rec.object_version_number) Then
482         hr_utility.set_message(801, 'HR_7155_OBJECT_INVALID');
483         hr_utility.raise_error;
484       End If;
485     hr_utility.set_location(l_proc, 15);
486     --
487     --
488     -- Validate the datetrack mode mode getting the validation start
489     -- and end dates for the specified datetrack operation.
490     --
491     dt_api.validate_dt_mode
492 	(p_effective_date	   => p_effective_date,
493 	 p_datetrack_mode	   => p_datetrack_mode,
494 	 p_base_table_name	   => 'ben_elig_to_prte_rsn_f',
495 	 p_base_key_column	   => 'elig_to_prte_rsn_id',
496 	 p_base_key_value 	   => p_elig_to_prte_rsn_id,
497 	 p_parent_table_name1      => 'ben_oipl_f',
498 	 p_parent_key_column1      => 'oipl_id',
499 	 p_parent_key_value1       => g_old_rec.oipl_id,
500 	 p_parent_table_name2      => 'ben_ler_f',
501 	 p_parent_key_column2      => 'ler_id',
505 	 p_parent_key_value3       => g_old_rec.pl_id,
502 	 p_parent_key_value2       => g_old_rec.ler_id,
503 	 p_parent_table_name3      => 'ben_pl_f',
504 	 p_parent_key_column3      => 'pl_id',
506 	 p_parent_table_name4      => 'ben_pgm_f',
507 	 p_parent_key_column4      => 'pgm_id',
508 	 p_parent_key_value4       => g_old_rec.pgm_id,
509 	 p_parent_table_name5      => 'ben_ptip_f',
510 	 p_parent_key_column5      => 'ptip_id',
511 	 p_parent_key_value5       => g_old_rec.ptip_id,
512 	 p_parent_table_name6      => 'ben_plip_f',
513 	 p_parent_key_column6      => 'plip_id',
514 	 p_parent_key_value6       => g_old_rec.plip_id,
515      p_enforce_foreign_locking => true,
516 	 p_validation_start_date   => l_validation_start_date,
517  	 p_validation_end_date	   => l_validation_end_date);
518   Else
519     --
520     -- We are doing a datetrack 'INSERT' which is illegal within this
521     -- procedure therefore we must error (note: to lck on insert the
522     -- private procedure ins_lck should be called).
523     --
524     hr_utility.set_message(801, 'HR_6153_ALL_PROCEDURE_FAIL');
525     hr_utility.set_message_token('PROCEDURE', l_proc);
526     hr_utility.set_message_token('STEP','20');
527     hr_utility.raise_error;
528   End If;
529   --
530   -- Set the validation start and end date OUT arguments
531   --
532   p_validation_start_date := l_validation_start_date;
533   p_validation_end_date   := l_validation_end_date;
534   --
535   hr_utility.set_location(' Leaving:'||l_proc, 30);
536 --
537 -- We need to trap the ORA LOCK exception
538 --
539 Exception
540   When HR_Api.Object_Locked then
541     --
542     -- The object is locked therefore we need to supply a meaningful
543     -- error message.
544     --
545     hr_utility.set_message(801, 'HR_7165_OBJECT_LOCKED');
546     hr_utility.set_message_token('TABLE_NAME', 'ben_elig_to_prte_rsn_f');
547     hr_utility.raise_error;
548   When l_object_invalid then
549     --
550     -- The object doesn't exist or is invalid
551     --
552     hr_utility.set_message(801, 'HR_7155_OBJECT_INVALID');
553     hr_utility.set_message_token('TABLE_NAME', 'ben_elig_to_prte_rsn_f');
554     hr_utility.raise_error;
555 End lck;
556 --
557 -- ----------------------------------------------------------------------------
558 -- |-----------------------------< convert_args >-----------------------------|
559 -- ----------------------------------------------------------------------------
560 Function convert_args
561     (
562     p_elig_to_prte_rsn_id           in number,
563     p_effective_start_date          in date,
564     p_effective_end_date            in date,
565     p_business_group_id             in number,
566     p_ler_id                        in number,
567     p_oipl_id                       in number,
568     p_pgm_id                        in number,
569     p_pl_id                         in number,
570     p_ptip_id                       in number,
571     p_plip_id                       in number,
572     p_ignr_prtn_ovrid_flag          in varchar2,
573     p_elig_inelig_cd                in varchar2,
574     p_prtn_eff_strt_dt_cd           in varchar2,
575     p_prtn_eff_strt_dt_rl           in number,
576     p_prtn_eff_end_dt_cd            in varchar2,
577     p_prtn_eff_end_dt_rl            in number,
578     p_wait_perd_dt_to_use_cd        in varchar2,
579     p_wait_perd_dt_to_use_rl        in number,
580     p_wait_perd_val                 in number,
581     p_wait_perd_uom                 in varchar2,
582     p_wait_perd_rl                  in number,
583     p_mx_poe_det_dt_cd              in varchar2,
584     p_mx_poe_det_dt_rl              in number,
585     p_mx_poe_val                    in number,
586     p_mx_poe_uom                    in varchar2,
587     p_mx_poe_rl                     in number,
588     p_mx_poe_apls_cd                in varchar2,
589     p_prtn_ovridbl_flag             in varchar2,
590     p_vrfy_fmly_mmbr_cd             in varchar2,
591     p_vrfy_fmly_mmbr_rl             in number,
592     p_peo_attribute_category        in varchar2,
593     p_peo_attribute1                in varchar2,
594     p_peo_attribute2                in varchar2,
595     p_peo_attribute3                in varchar2,
596     p_peo_attribute4                in varchar2,
597     p_peo_attribute5                in varchar2,
598     p_peo_attribute6                in varchar2,
599     p_peo_attribute7                in varchar2,
600     p_peo_attribute8                in varchar2,
601     p_peo_attribute9                in varchar2,
602     p_peo_attribute10               in varchar2,
603     p_peo_attribute11               in varchar2,
604     p_peo_attribute12               in varchar2,
605     p_peo_attribute13               in varchar2,
606     p_peo_attribute14               in varchar2,
607     p_peo_attribute15               in varchar2,
608     p_peo_attribute16               in varchar2,
609     p_peo_attribute17               in varchar2,
610     p_peo_attribute18               in varchar2,
611     p_peo_attribute19               in varchar2,
612     p_peo_attribute20               in varchar2,
613     p_peo_attribute21               in varchar2,
614     p_peo_attribute22               in varchar2,
615     p_peo_attribute23               in varchar2,
616     p_peo_attribute24               in varchar2,
617     p_peo_attribute25               in varchar2,
618     p_peo_attribute26               in varchar2,
619     p_peo_attribute27               in varchar2,
620     p_peo_attribute28               in varchar2,
621     p_peo_attribute29               in varchar2,
622     p_peo_attribute30               in varchar2,
623     p_object_version_number         in number
624     )
625     Return g_rec_type is
626 --
627   l_rec	  g_rec_type;
628   l_proc  varchar2(72) := g_package||'convert_args';
629 --
630 Begin
631   --
632   hr_utility.set_location('Entering:'||l_proc, 5);
633   --
634   -- Convert arguments into local l_rec structure.
635   --
636   l_rec.elig_to_prte_rsn_id              := p_elig_to_prte_rsn_id;
637   l_rec.effective_start_date             := p_effective_start_date;
638   l_rec.effective_end_date               := p_effective_end_date;
639   l_rec.business_group_id                := p_business_group_id;
640   l_rec.ler_id                           := p_ler_id;
641   l_rec.oipl_id                          := p_oipl_id;
642   l_rec.pgm_id                           := p_pgm_id;
643   l_rec.pl_id                            := p_pl_id;
644   l_rec.ptip_id                          := p_ptip_id;
645   l_rec.plip_id                          := p_plip_id;
646   l_rec.ignr_prtn_ovrid_flag             := p_ignr_prtn_ovrid_flag;
647   l_rec.elig_inelig_cd                   := p_elig_inelig_cd;
648   l_rec.prtn_eff_strt_dt_cd              := p_prtn_eff_strt_dt_cd;
649   l_rec.prtn_eff_strt_dt_rl              := p_prtn_eff_strt_dt_rl;
650   l_rec.prtn_eff_end_dt_cd               := p_prtn_eff_end_dt_cd;
651   l_rec.prtn_eff_end_dt_rl               := p_prtn_eff_end_dt_rl;
652   l_rec.wait_perd_dt_to_use_cd           := p_wait_perd_dt_to_use_cd;
653   l_rec.wait_perd_dt_to_use_rl           := p_wait_perd_dt_to_use_rl;
654   l_rec.wait_perd_val                    := p_wait_perd_val;
655   l_rec.wait_perd_uom                    := p_wait_perd_uom;
656   l_rec.wait_perd_rl                     := p_wait_perd_rl;
657   l_rec.mx_poe_det_dt_cd                 := p_mx_poe_det_dt_cd;
658   l_rec.mx_poe_det_dt_rl                 := p_mx_poe_det_dt_rl;
659   l_rec.mx_poe_val                       := p_mx_poe_val;
660   l_rec.mx_poe_uom                       := p_mx_poe_uom;
661   l_rec.mx_poe_rl                        := p_mx_poe_rl;
662   l_rec.mx_poe_apls_cd                   := p_mx_poe_apls_cd;
663   l_rec.prtn_ovridbl_flag                := p_prtn_ovridbl_flag;
664   l_rec.vrfy_fmly_mmbr_cd                := p_vrfy_fmly_mmbr_cd;
665   l_rec.vrfy_fmly_mmbr_rl                := p_vrfy_fmly_mmbr_rl;
666   l_rec.peo_attribute_category           := p_peo_attribute_category;
667   l_rec.peo_attribute1                   := p_peo_attribute1;
668   l_rec.peo_attribute2                   := p_peo_attribute2;
669   l_rec.peo_attribute3                   := p_peo_attribute3;
670   l_rec.peo_attribute4                   := p_peo_attribute4;
671   l_rec.peo_attribute5                   := p_peo_attribute5;
672   l_rec.peo_attribute6                   := p_peo_attribute6;
673   l_rec.peo_attribute7                   := p_peo_attribute7;
674   l_rec.peo_attribute8                   := p_peo_attribute8;
675   l_rec.peo_attribute9                   := p_peo_attribute9;
676   l_rec.peo_attribute10                  := p_peo_attribute10;
677   l_rec.peo_attribute11                  := p_peo_attribute11;
678   l_rec.peo_attribute12                  := p_peo_attribute12;
679   l_rec.peo_attribute13                  := p_peo_attribute13;
680   l_rec.peo_attribute14                  := p_peo_attribute14;
681   l_rec.peo_attribute15                  := p_peo_attribute15;
682   l_rec.peo_attribute16                  := p_peo_attribute16;
683   l_rec.peo_attribute17                  := p_peo_attribute17;
684   l_rec.peo_attribute18                  := p_peo_attribute18;
685   l_rec.peo_attribute19                  := p_peo_attribute19;
686   l_rec.peo_attribute20                  := p_peo_attribute20;
687   l_rec.peo_attribute21                  := p_peo_attribute21;
688   l_rec.peo_attribute22                  := p_peo_attribute22;
689   l_rec.peo_attribute23                  := p_peo_attribute23;
690   l_rec.peo_attribute24                  := p_peo_attribute24;
691   l_rec.peo_attribute25                  := p_peo_attribute25;
692   l_rec.peo_attribute26                  := p_peo_attribute26;
693   l_rec.peo_attribute27                  := p_peo_attribute27;
694   l_rec.peo_attribute28                  := p_peo_attribute28;
695   l_rec.peo_attribute29                  := p_peo_attribute29;
696   l_rec.peo_attribute30                  := p_peo_attribute30;
697   l_rec.object_version_number            := p_object_version_number;
698   --
699   -- Return the plsql record structure.
700   --
701   hr_utility.set_location(' Leaving:'||l_proc, 10);
702   Return(l_rec);
703 --
704 End convert_args;
705 --
706 end ben_peo_shd;