DBA Data[Home] [Help]

PACKAGE BODY: APPS.BEN_LEN_SHD

Source


4 -- ----------------------------------------------------------------------------
1 Package Body ben_len_shd as
2 /* $Header: belenrhi.pkb 120.2.12020000.2 2012/07/03 12:12:43 amnaraya ship $ */
3 --
5 -- |                     Private Global Definitions                           |
6 -- ----------------------------------------------------------------------------
7 --
8 g_package  varchar2(33)	:= '  ben_len_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_LEE_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_LEE_RSN_F_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_lee_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
73 	business_group_id,
70 	lee_rsn_id,
71 	effective_start_date,
72 	effective_end_date,
74 	popl_enrt_typ_cycl_id,
75 	ler_id,
76 	cls_enrt_dt_to_use_cd,
77 	dys_aftr_end_to_dflt_num,
78 	enrt_cvg_end_dt_cd,
79 	enrt_cvg_strt_dt_cd,
80 	enrt_perd_strt_dt_cd,
81 	enrt_perd_strt_dt_rl,
82 	enrt_perd_end_dt_cd,
83 	enrt_perd_end_dt_rl,
84 	addl_procg_dys_num,
85 	dys_no_enrl_not_elig_num,
86 	dys_no_enrl_cant_enrl_num,
87 	rt_end_dt_cd,
88 	rt_end_dt_rl,
89 	rt_strt_dt_cd,
90 	rt_strt_dt_rl,
91 	enrt_cvg_end_dt_rl,
92 	enrt_cvg_strt_dt_rl,
93 	len_attribute_category,
94 	len_attribute1,
95 	len_attribute2,
96 	len_attribute3,
97 	len_attribute4,
98 	len_attribute5,
99 	len_attribute6,
100 	len_attribute7,
101 	len_attribute8,
102 	len_attribute9,
103 	len_attribute10,
104 	len_attribute11,
105 	len_attribute12,
106 	len_attribute13,
107 	len_attribute14,
108 	len_attribute15,
109 	len_attribute16,
110 	len_attribute17,
111 	len_attribute18,
112 	len_attribute19,
113 	len_attribute20,
114 	len_attribute21,
115 	len_attribute22,
116 	len_attribute23,
117 	len_attribute24,
118 	len_attribute25,
119 	len_attribute26,
120 	len_attribute27,
121 	len_attribute28,
122 	len_attribute29,
123 	len_attribute30,
124 	object_version_number,
125 	enrt_perd_det_ovrlp_bckdt_cd,
126 	reinstate_cd,
127 	reinstate_ovrdn_cd ,
128 	reopen_le_on_reprocess,
129 	ENRT_PERD_STRT_DAYS,
130 	ENRT_PERD_END_DAYS,
131 	defer_deenrol_flag
132     from	ben_lee_rsn_f
133     where	lee_rsn_id = p_lee_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_lee_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_lee_rsn_id = g_old_rec.lee_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   --
203   Cursor C_Sel1 Is
204     select  t.popl_enrt_typ_cycl_id
205     from    ben_lee_rsn_f t
206     where   t.lee_rsn_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   If C_Sel1%notfound then
215     Close C_Sel1;
216     hr_utility.set_message(801, 'HR_6153_ALL_PROCEDURE_FAIL');
217     hr_utility.set_message_token('PROCEDURE', l_proc);
218     hr_utility.set_message_token('STEP','10');
219     hr_utility.raise_error;
220   End If;
221   Close C_Sel1;
222   --
223   -- Call the corresponding datetrack api
224   --
225   dt_api.find_dt_del_modes
226 	(p_effective_date	=> p_effective_date,
227 	 p_base_table_name	=> 'ben_lee_rsn_f',
228 	 p_base_key_column	=> 'lee_rsn_id',
229 	 p_base_key_value	=> p_base_key_value,
230 	 p_parent_table_name1	=> 'ben_popl_enrt_typ_cycl_f',
231 	 p_parent_key_column1	=> 'popl_enrt_typ_cycl_id',
232 	 p_parent_key_value1	=> l_parent_key_value1,
233 	 p_zap			=> p_zap,
234 	 p_delete		=> p_delete,
235 	 p_future_change	=> p_future_change,
236 	 p_delete_next_change	=> p_delete_next_change);
237   --
238   hr_utility.set_location(' Leaving:'||l_proc, 10);
239 End find_dt_del_modes;
240 --
244 Procedure find_dt_upd_modes
241 -- ----------------------------------------------------------------------------
242 -- |--------------------------< find_dt_upd_modes >---------------------------|
243 -- ----------------------------------------------------------------------------
245 	(p_effective_date	in  date,
246 	 p_base_key_value	in  number,
247 	 p_correction	 out nocopy boolean,
248 	 p_update	 out nocopy boolean,
249 	 p_update_override out nocopy boolean,
250 	 p_update_change_insert out nocopy boolean) is
251 --
252   l_proc 	varchar2(72) := g_package||'find_dt_upd_modes';
253 --
254 Begin
255   hr_utility.set_location('Entering:'||l_proc, 5);
256   --
257   -- Call the corresponding datetrack api
258   --
259   dt_api.find_dt_upd_modes
260 	(p_effective_date	=> p_effective_date,
261 	 p_base_table_name	=> 'ben_lee_rsn_f',
262 	 p_base_key_column	=> 'lee_rsn_id',
263 	 p_base_key_value	=> p_base_key_value,
264 	 p_correction		=> p_correction,
265 	 p_update		=> p_update,
266 	 p_update_override	=> p_update_override,
267 	 p_update_change_insert	=> p_update_change_insert);
268   --
269   hr_utility.set_location(' Leaving:'||l_proc, 10);
270 End find_dt_upd_modes;
271 --
272 -- ----------------------------------------------------------------------------
273 -- |------------------------< upd_effective_end_date >------------------------|
274 -- ----------------------------------------------------------------------------
275 Procedure upd_effective_end_date
276 	(p_effective_date		in date,
277 	 p_base_key_value		in number,
278 	 p_new_effective_end_date	in date,
279 	 p_validation_start_date	in date,
280 	 p_validation_end_date		in date,
281          p_object_version_number       out nocopy number) is
282 --
283   l_proc 		  varchar2(72) := g_package||'upd_effective_end_date';
284   l_object_version_number number;
285 --
286 Begin
287   hr_utility.set_location('Entering:'||l_proc, 5);
288   --
289   -- Because we are updating a row we must get the next object
290   -- version number.
291   --
292   l_object_version_number :=
293     dt_api.get_object_version_number
294 	(p_base_table_name	=> 'ben_lee_rsn_f',
295 	 p_base_key_column	=> 'lee_rsn_id',
296 	 p_base_key_value	=> p_base_key_value);
297   --
298   hr_utility.set_location(l_proc, 10);
299   g_api_dml := true;  -- Set the api dml status
300   --
301   -- Update the specified datetrack row setting the effective
302   -- end date to the specified new effective end date.
303   --
304   update  ben_lee_rsn_f t
305   set	  t.effective_end_date	  = p_new_effective_end_date,
306 	  t.object_version_number = l_object_version_number
307   where	  t.lee_rsn_id	  = p_base_key_value
308   and	  p_effective_date
309   between t.effective_start_date and t.effective_end_date;
310   --
311   g_api_dml := false;   -- Unset the api dml status
312   p_object_version_number := l_object_version_number;
313   hr_utility.set_location(' Leaving:'||l_proc, 15);
314 --
315 Exception
316   When Others Then
317     g_api_dml := false;   -- Unset the api dml status
318     Raise;
319 End upd_effective_end_date;
320 --
321 -- ----------------------------------------------------------------------------
322 -- |---------------------------------< lck >----------------------------------|
323 -- ----------------------------------------------------------------------------
324 Procedure lck
325 	(p_effective_date	 in  date,
326 	 p_datetrack_mode	 in  varchar2,
327 	 p_lee_rsn_id	 in  number,
328 	 p_object_version_number in  number,
329 	 p_validation_start_date out nocopy date,
330 	 p_validation_end_date	 out nocopy date) is
331 --
332   l_proc		  varchar2(72) := g_package||'lck';
333   l_validation_start_date date;
334   l_validation_end_date	  date;
335   l_object_invalid 	  exception;
336   l_argument		  varchar2(30);
337   --
338   -- Cursor C_Sel1 selects the current locked row as of session date
339   -- ensuring that the object version numbers match.
340   --
341   Cursor C_Sel1 is
342     select
343 	lee_rsn_id,
344 	effective_start_date,
345 	effective_end_date,
346 	business_group_id,
347 	popl_enrt_typ_cycl_id,
348 	ler_id,
349 	cls_enrt_dt_to_use_cd,
350 	dys_aftr_end_to_dflt_num,
351 	enrt_cvg_end_dt_cd,
352 	enrt_cvg_strt_dt_cd,
353 	enrt_perd_strt_dt_cd,
354 	enrt_perd_strt_dt_rl,
355 	enrt_perd_end_dt_cd,
356 	enrt_perd_end_dt_rl,
357 	addl_procg_dys_num,
358 	dys_no_enrl_not_elig_num,
359 	dys_no_enrl_cant_enrl_num,
360 	rt_end_dt_cd,
361 	rt_end_dt_rl,
362 	rt_strt_dt_cd,
363 	rt_strt_dt_rl,
364 	enrt_cvg_end_dt_rl,
365 	enrt_cvg_strt_dt_rl,
366 	len_attribute_category,
367 	len_attribute1,
368 	len_attribute2,
369 	len_attribute3,
370 	len_attribute4,
371 	len_attribute5,
372 	len_attribute6,
373 	len_attribute7,
374 	len_attribute8,
375 	len_attribute9,
376 	len_attribute10,
377 	len_attribute11,
378 	len_attribute12,
379 	len_attribute13,
380 	len_attribute14,
381 	len_attribute15,
382 	len_attribute16,
383 	len_attribute17,
384 	len_attribute18,
385 	len_attribute19,
386 	len_attribute20,
387 	len_attribute21,
388 	len_attribute22,
389 	len_attribute23,
390 	len_attribute24,
391 	len_attribute25,
392 	len_attribute26,
393 	len_attribute27,
394 	len_attribute28,
395 	len_attribute29,
396 	len_attribute30,
397 	object_version_number ,
398 	enrt_perd_det_ovrlp_bckdt_cd,
399 	reinstate_cd,
403 	ENRT_PERD_END_DAYS,
400 	reinstate_ovrdn_cd  ,
401 	reopen_le_on_reprocess,
402 	ENRT_PERD_STRT_DAYS  ,
404 	defer_deenrol_flag
405     from    ben_lee_rsn_f
406     where   lee_rsn_id         = p_lee_rsn_id
407     and	    p_effective_date
408     between effective_start_date and effective_end_date
409     for update nowait;
410   --
411   --
412   --
413 Begin
414   hr_utility.set_location('Entering:'||l_proc, 5);
415   --
416   -- Ensure that all the mandatory arguments are not null
417   --
418   hr_api.mandatory_arg_error(p_api_name       => l_proc,
419                              p_argument       => 'effective_date',
420                              p_argument_value => p_effective_date);
421   --
422   hr_api.mandatory_arg_error(p_api_name       => l_proc,
423                              p_argument       => 'datetrack_mode',
424                              p_argument_value => p_datetrack_mode);
425   --
426   hr_api.mandatory_arg_error(p_api_name       => l_proc,
427                              p_argument       => 'lee_rsn_id',
428                              p_argument_value => p_lee_rsn_id);
429   --
430   hr_api.mandatory_arg_error(p_api_name       => l_proc,
431                              p_argument       => 'object_version_number',
432                              p_argument_value => p_object_version_number);
433   --
434   -- Check to ensure the datetrack mode is not INSERT.
435   --
436   If (p_datetrack_mode <> 'INSERT') then
437     --
438     -- We must select and lock the current row.
439     --
440     Open  C_Sel1;
441     Fetch C_Sel1 Into g_old_rec;
442     If C_Sel1%notfound then
443       Close C_Sel1;
444       --
445       -- The primary key is invalid therefore we must error
446       --
447       hr_utility.set_message(801, 'HR_7220_INVALID_PRIMARY_KEY');
448       hr_utility.raise_error;
449     End If;
450     Close C_Sel1;
451     If (p_object_version_number <> g_old_rec.object_version_number) Then
452         hr_utility.set_message(801, 'HR_7155_OBJECT_INVALID');
453         hr_utility.raise_error;
454       End If;
455     hr_utility.set_location(l_proc, 15);
456     --
457     --
458     -- Validate the datetrack mode mode getting the validation start
459     -- and end dates for the specified datetrack operation.
460     --
461     dt_api.validate_dt_mode
462 	(p_effective_date	   => p_effective_date,
463 	 p_datetrack_mode	   => p_datetrack_mode,
464 	 p_base_table_name	   => 'ben_lee_rsn_f',
465 	 p_base_key_column	   => 'lee_rsn_id',
466 	 p_base_key_value 	   => p_lee_rsn_id,
467 	 p_parent_table_name1      => 'ben_popl_enrt_typ_cycl_f',
468 	 p_parent_key_column1      => 'popl_enrt_typ_cycl_id',
469 	 p_parent_key_value1       => g_old_rec.popl_enrt_typ_cycl_id,
470 --	 p_child_table_name1       => 'ben_lee_rsn_cm_f',
471 --	 p_child_key_column1       => 'lee_rsn_cm_id',
472 	 p_child_table_name2       => 'ben_lee_rsn_rl_f',
473 	 p_child_key_column2       => 'lee_rsn_rl_id',
474 --	 p_child_table_name3       => 'ben_pl_lee_rsn_ctfn_f',
475 --	 p_child_key_column3       => 'pl_lee_rsn_ctfn_id',
476          p_enforce_foreign_locking => true,
477 	 p_validation_start_date   => l_validation_start_date,
478  	 p_validation_end_date	   => l_validation_end_date);
479   Else
480     --
481     -- We are doing a datetrack 'INSERT' which is illegal within this
482     -- procedure therefore we must error (note: to lck on insert the
483     -- private procedure ins_lck should be called).
484     --
485     hr_utility.set_message(801, 'HR_6153_ALL_PROCEDURE_FAIL');
486     hr_utility.set_message_token('PROCEDURE', l_proc);
487     hr_utility.set_message_token('STEP','20');
488     hr_utility.raise_error;
489   End If;
490   --
491   -- Set the validation start and end date OUT arguments
492   --
493   p_validation_start_date := l_validation_start_date;
494   p_validation_end_date   := l_validation_end_date;
495   --
496   hr_utility.set_location(' Leaving:'||l_proc, 30);
497 --
498 -- We need to trap the ORA LOCK exception
499 --
500 Exception
501   When HR_Api.Object_Locked then
502     --
503     -- The object is locked therefore we need to supply a meaningful
504     -- error message.
505     --
506     hr_utility.set_message(801, 'HR_7165_OBJECT_LOCKED');
507     hr_utility.set_message_token('TABLE_NAME', 'ben_lee_rsn_f');
508     hr_utility.raise_error;
509   When l_object_invalid then
510     --
511     -- The object doesn't exist or is invalid
512     --
513     hr_utility.set_message(801, 'HR_7155_OBJECT_INVALID');
514     hr_utility.set_message_token('TABLE_NAME', 'ben_lee_rsn_f');
515     hr_utility.raise_error;
516 End lck;
517 --
518 -- ----------------------------------------------------------------------------
519 -- |-----------------------------< convert_args >-----------------------------|
520 -- ----------------------------------------------------------------------------
521 Function convert_args
522 	(
523 	p_lee_rsn_id                    in number,
524 	p_effective_start_date          in date,
525 	p_effective_end_date            in date,
526 	p_business_group_id             in number,
527 	p_popl_enrt_typ_cycl_id         in number,
528 	p_ler_id                        in number,
529 	p_cls_enrt_dt_to_use_cd         in varchar2,
530 	p_dys_aftr_end_to_dflt_num      in number,
531 	p_enrt_cvg_end_dt_cd            in varchar2,
532 	p_enrt_cvg_strt_dt_cd           in varchar2,
533 	p_enrt_perd_strt_dt_cd          in varchar2,
534 	p_enrt_perd_strt_dt_rl          in number,
535 	p_enrt_perd_end_dt_cd           in varchar2,
539 	p_dys_no_enrl_cant_enrl_num     in number,
536 	p_enrt_perd_end_dt_rl           in number,
537 	p_addl_procg_dys_num            in number,
538 	p_dys_no_enrl_not_elig_num      in number,
540 	p_rt_end_dt_cd                  in varchar2,
541 	p_rt_end_dt_rl                  in number,
542 	p_rt_strt_dt_cd                 in varchar2,
543 	p_rt_strt_dt_rl                 in number,
544 	p_enrt_cvg_end_dt_rl            in number,
545 	p_enrt_cvg_strt_dt_rl           in number,
546 	p_len_attribute_category        in varchar2,
547 	p_len_attribute1                in varchar2,
548 	p_len_attribute2                in varchar2,
549 	p_len_attribute3                in varchar2,
550 	p_len_attribute4                in varchar2,
551 	p_len_attribute5                in varchar2,
552 	p_len_attribute6                in varchar2,
553 	p_len_attribute7                in varchar2,
554 	p_len_attribute8                in varchar2,
555 	p_len_attribute9                in varchar2,
556 	p_len_attribute10               in varchar2,
557 	p_len_attribute11               in varchar2,
558 	p_len_attribute12               in varchar2,
559 	p_len_attribute13               in varchar2,
560 	p_len_attribute14               in varchar2,
561 	p_len_attribute15               in varchar2,
562 	p_len_attribute16               in varchar2,
563 	p_len_attribute17               in varchar2,
564 	p_len_attribute18               in varchar2,
565 	p_len_attribute19               in varchar2,
566 	p_len_attribute20               in varchar2,
567 	p_len_attribute21               in varchar2,
568 	p_len_attribute22               in varchar2,
569 	p_len_attribute23               in varchar2,
570 	p_len_attribute24               in varchar2,
571 	p_len_attribute25               in varchar2,
572 	p_len_attribute26               in varchar2,
573 	p_len_attribute27               in varchar2,
574 	p_len_attribute28               in varchar2,
575 	p_len_attribute29               in varchar2,
576 	p_len_attribute30               in varchar2,
577 	p_object_version_number         in number ,
578 	p_enrt_perd_det_ovrlp_bckdt_cd               in varchar2,
579 	p_reinstate_cd			   in varchar2,
580 	p_reinstate_ovrdn_cd	   in varchar2 ,
581 	p_reopen_le_on_reprocess   in varchar2,
582 	p_ENRT_PERD_STRT_DAYS	   in number ,
583 	p_ENRT_PERD_END_DAYS	   in number,
584 	p_defer_deenrol_flag       in varchar2
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.lee_rsn_id                       := p_lee_rsn_id;
598   l_rec.effective_start_date             := p_effective_start_date;
599   l_rec.effective_end_date               := p_effective_end_date;
600   l_rec.business_group_id                := p_business_group_id;
601   l_rec.popl_enrt_typ_cycl_id            := p_popl_enrt_typ_cycl_id;
602   l_rec.ler_id                           := p_ler_id;
603   l_rec.cls_enrt_dt_to_use_cd            := p_cls_enrt_dt_to_use_cd;
604   l_rec.dys_aftr_end_to_dflt_num         := p_dys_aftr_end_to_dflt_num;
605   l_rec.enrt_cvg_end_dt_cd               := p_enrt_cvg_end_dt_cd;
606   l_rec.enrt_cvg_strt_dt_cd              := p_enrt_cvg_strt_dt_cd;
607   l_rec.enrt_perd_strt_dt_cd             := p_enrt_perd_strt_dt_cd;
608   l_rec.enrt_perd_strt_dt_rl             := p_enrt_perd_strt_dt_rl;
609   l_rec.enrt_perd_end_dt_cd              := p_enrt_perd_end_dt_cd;
610   l_rec.enrt_perd_end_dt_rl              := p_enrt_perd_end_dt_rl;
611   l_rec.addl_procg_dys_num               := p_addl_procg_dys_num;
612   l_rec.dys_no_enrl_not_elig_num         := p_dys_no_enrl_not_elig_num;
613   l_rec.dys_no_enrl_cant_enrl_num        := p_dys_no_enrl_cant_enrl_num;
614   l_rec.rt_end_dt_cd                     := p_rt_end_dt_cd;
615   l_rec.rt_end_dt_rl                     := p_rt_end_dt_rl;
616   l_rec.rt_strt_dt_cd                    := p_rt_strt_dt_cd;
617   l_rec.rt_strt_dt_rl                    := p_rt_strt_dt_rl;
618   l_rec.enrt_cvg_end_dt_rl               := p_enrt_cvg_end_dt_rl;
619   l_rec.enrt_cvg_strt_dt_rl              := p_enrt_cvg_strt_dt_rl;
620   l_rec.len_attribute_category           := p_len_attribute_category;
621   l_rec.len_attribute1                   := p_len_attribute1;
622   l_rec.len_attribute2                   := p_len_attribute2;
623   l_rec.len_attribute3                   := p_len_attribute3;
624   l_rec.len_attribute4                   := p_len_attribute4;
625   l_rec.len_attribute5                   := p_len_attribute5;
626   l_rec.len_attribute6                   := p_len_attribute6;
627   l_rec.len_attribute7                   := p_len_attribute7;
628   l_rec.len_attribute8                   := p_len_attribute8;
629   l_rec.len_attribute9                   := p_len_attribute9;
630   l_rec.len_attribute10                  := p_len_attribute10;
631   l_rec.len_attribute11                  := p_len_attribute11;
632   l_rec.len_attribute12                  := p_len_attribute12;
633   l_rec.len_attribute13                  := p_len_attribute13;
634   l_rec.len_attribute14                  := p_len_attribute14;
635   l_rec.len_attribute15                  := p_len_attribute15;
636   l_rec.len_attribute16                  := p_len_attribute16;
637   l_rec.len_attribute17                  := p_len_attribute17;
638   l_rec.len_attribute18                  := p_len_attribute18;
639   l_rec.len_attribute19                  := p_len_attribute19;
640   l_rec.len_attribute20                  := p_len_attribute20;
641   l_rec.len_attribute21                  := p_len_attribute21;
642   l_rec.len_attribute22                  := p_len_attribute22;
643   l_rec.len_attribute23                  := p_len_attribute23;
644   l_rec.len_attribute24                  := p_len_attribute24;
645   l_rec.len_attribute25                  := p_len_attribute25;
646   l_rec.len_attribute26                  := p_len_attribute26;
647   l_rec.len_attribute27                  := p_len_attribute27;
648   l_rec.len_attribute28                  := p_len_attribute28;
649   l_rec.len_attribute29                  := p_len_attribute29;
650   l_rec.len_attribute30                  := p_len_attribute30;
651   l_rec.object_version_number            := p_object_version_number;
652   l_rec.enrt_perd_det_ovrlp_bckdt_cd     := p_enrt_perd_det_ovrlp_bckdt_cd;
653   l_rec.reinstate_cd			 := p_reinstate_cd;
654   l_rec.reinstate_ovrdn_cd		 := p_reinstate_ovrdn_cd;
655   l_rec.reopen_le_on_reprocess           := p_reopen_le_on_reprocess;
656   l_rec.ENRT_PERD_STRT_DAYS		 := p_ENRT_PERD_STRT_DAYS;
657   l_rec.ENRT_PERD_END_DAYS		 := p_ENRT_PERD_END_DAYS;
658   l_rec.defer_deenrol_flag		 := p_defer_deenrol_flag;
659   --
660   -- Return the plsql record structure.
661   --
662   hr_utility.set_location(' Leaving:'||l_proc, 10);
663   Return(l_rec);
664 --
665 End convert_args;
666 --
667 end ben_len_shd;