[Home] [Help]
PACKAGE BODY: APPS.BEN_DPNT_EDC_SHD
Source
4 -- ----------------------------------------------------------------------------
1 Package Body ben_dpnt_edc_shd as
2 /* $Header: beedvrhi.pkb 120.2 2010/05/18 07:23:55 sgnanama noship $ */
3 --
5 -- | Private Global Definitions |
6 -- ----------------------------------------------------------------------------
7 --
11 -- |------------------------< return_api_dml_status >-------------------------|
8 g_package varchar2(33) := ' ben_dpnt_edc_shd.'; -- Global Package Name
9 --
10 -- ----------------------------------------------------------------------------
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_DPNT_ELIGY_CRIT_VALUES_F_FK1'
37 OR p_constraint_name = 'BEN_DPNT_ELIGY_CRIT_VALUES_F_FK2'
38 OR p_constraint_name = 'BEN_DPNT_ELIGY_CRIT_VALUES_F_FK3') Then
39 hr_utility.set_message(801, 'HR_6153_ALL_PROCEDURE_FAIL');
40 hr_utility.set_message_token('PROCEDURE', l_proc);
41 hr_utility.set_message_token('STEP','5');
42 hr_utility.raise_error;
43 ElsIf (p_constraint_name = 'ben_dpnt_eligy_crit_values_f_PK') Then
44 hr_utility.set_message(801, 'HR_6153_ALL_PROCEDURE_FAIL');
45 hr_utility.set_message_token('PROCEDURE', l_proc);
46 hr_utility.set_message_token('STEP','10');
47 hr_utility.raise_error;
48 Else
49 hr_utility.set_message(801, 'HR_7877_API_INVALID_CONSTRAINT');
50 hr_utility.set_message_token('PROCEDURE', l_proc);
51 hr_utility.set_message_token('CONSTRAINT_NAME', p_constraint_name);
52 hr_utility.raise_error;
53 End If;
54 --
55 hr_utility.set_location(' Leaving:'||l_proc, 10);
56 End constraint_error;
57 --
58 -- ----------------------------------------------------------------------------
59 -- |-----------------------------< api_updating >-----------------------------|
60 -- ----------------------------------------------------------------------------
61 Function api_updating
62 (p_effective_date in date,
63 p_dpnt_eligy_crit_values_id in number,
64 p_object_version_number in number
65 ) Return Boolean Is
66 --
67 --
68 -- Cursor selects the 'current' row from the HR Schema
69 --
70 Cursor C_Sel1 is
71 select
72 dpnt_eligy_crit_values_id,
73 dpnt_cvg_eligy_prfl_id,
74 eligy_criteria_dpnt_id,
75 effective_start_date,
76 effective_end_date,
77 ordr_num,
78 number_value1,
79 number_value2,
80 char_value1,
81 char_value2,
82 date_value1,
83 date_value2,
84 excld_flag,
85 business_group_id,
86 edc_attribute_category,
87 edc_attribute1,
88 edc_attribute2,
89 edc_attribute3,
90 edc_attribute4,
91 edc_attribute5,
92 edc_attribute6,
93 edc_attribute7,
94 edc_attribute8,
95 edc_attribute9,
96 edc_attribute10,
97 edc_attribute11,
98 edc_attribute12,
99 edc_attribute13,
100 edc_attribute14,
101 edc_attribute15,
102 edc_attribute16,
103 edc_attribute17,
104 edc_attribute18,
105 edc_attribute19,
106 edc_attribute20,
107 edc_attribute21,
108 edc_attribute22,
109 edc_attribute23,
110 edc_attribute24,
111 edc_attribute25,
112 edc_attribute26,
113 edc_attribute27,
114 edc_attribute28,
115 edc_attribute29,
116 edc_attribute30,
117 object_version_number,
118 Char_value3,
119 Char_value4,
120 Number_value3,
121 Number_value4,
122 Date_value3,
123 Date_value4
124 from ben_dpnt_eligy_crit_values_f
125 where dpnt_eligy_crit_values_id = p_dpnt_eligy_crit_values_id
126 and p_effective_date
127 between effective_start_date
128 and effective_end_date;
129 --
130 l_proc varchar2(72) := g_package||'api_updating';
131 l_fct_ret boolean;
132 --
133 Begin
134 hr_utility.set_location('Entering:'||l_proc, 5);
135 --
136 If (p_effective_date is null or
137 p_dpnt_eligy_crit_values_id is null or
138 p_object_version_number is null) then
139 --
140 -- One of the primary key arguments is null therefore we must
141 -- set the returning function value to false
142 --
143 l_fct_ret := false;
144 Else
145 If (p_dpnt_eligy_crit_values_id = g_old_rec.dpnt_eligy_crit_values_id and
146 p_object_version_number = g_old_rec.object_version_number) Then
147 hr_utility.set_location(l_proc, 10);
148 --
149 -- The g_old_rec is current therefore we must
150 -- set the returning function to true
151 --
152 l_fct_ret := true;
153 Else
154 --
155 -- Select the current row
156 --
157 Open C_Sel1;
158 Fetch C_Sel1 Into g_old_rec;
159 If C_Sel1%notfound Then
160 Close C_Sel1;
161 --
162 -- The primary key is invalid therefore we must error
163 --
164 hr_utility.set_message(801, 'HR_7220_INVALID_PRIMARY_KEY');
165 hr_utility.raise_error;
169 hr_utility.set_message(801, 'HR_7155_OBJECT_INVALID');
166 End If;
167 Close C_Sel1;
168 If (p_object_version_number <> g_old_rec.object_version_number) Then
170 hr_utility.raise_error;
171 End If;
172 hr_utility.set_location(l_proc, 15);
173 l_fct_ret := true;
174 End If;
175 End If;
176 hr_utility.set_location(' Leaving:'||l_proc, 20);
177 Return (l_fct_ret);
178 --
179 End api_updating;
180 --
181 -- ----------------------------------------------------------------------------
182 -- |--------------------------< find_dt_del_modes >---------------------------|
183 -- ----------------------------------------------------------------------------
184 Procedure find_dt_del_modes
185 (p_effective_date in date,
189 p_future_change out nocopy boolean,
186 p_base_key_value in number,
187 p_zap out nocopy boolean,
188 p_delete out nocopy boolean,
190 p_delete_next_change out nocopy boolean) is
191 --
192 l_proc varchar2(72) := g_package||'find_dt_del_modes';
193 --
194 l_parent_key_value1 number;
195 l_parent_key_value2 number;
196 --
197 Cursor C_Sel1 Is
198 select t.eligy_criteria_dpnt_id, t.dpnt_cvg_eligy_prfl_id
199 from ben_dpnt_eligy_crit_values_f t
200 where t.dpnt_eligy_crit_values_id = p_base_key_value
201 and p_effective_date
202 between t.effective_start_date and t.effective_end_date;
203 --
204 Begin
205 hr_utility.set_location('Entering:'||l_proc, 5);
206 Open C_Sel1;
207 Fetch C_Sel1 Into l_parent_key_value1,l_parent_key_value2;
208 If C_Sel1%notfound then
209 Close C_Sel1;
210 hr_utility.set_message(801, 'HR_6153_ALL_PROCEDURE_FAIL');
211 hr_utility.set_message_token('PROCEDURE', l_proc);
212 hr_utility.set_message_token('STEP','10');
213 hr_utility.raise_error;
214 End If;
215 Close C_Sel1;
216 --
217 -- Call the corresponding datetrack api
218 --
219 dt_api.find_dt_del_modes
220 (p_effective_date => p_effective_date,
221 p_base_table_name => 'ben_dpnt_eligy_crit_values_f',
222 p_base_key_column => 'dpnt_eligy_crit_values_id',
223 p_base_key_value => p_base_key_value,
224 -- p_parent_table_name1 => 'ben_eligy_criteria',
225 -- p_parent_key_column1 => 'eligy_criteria_dpnt_id',
226 -- p_parent_key_value1 => l_parent_key_value1,
227 p_parent_table_name2 => 'ben_dpnt_cvg_eligy_prfl_f',
228 p_parent_key_column2 => 'dpnt_cvg_eligy_prfl_id',
229 p_parent_key_value2 => l_parent_key_value2,
230 p_zap => p_zap,
231 p_delete => p_delete,
232 p_future_change => p_future_change,
233 p_delete_next_change => p_delete_next_change);
234 --
235 hr_utility.set_location(' Leaving:'||l_proc, 10);
236 End find_dt_del_modes;
237 --
238 -- ----------------------------------------------------------------------------
239 -- |--------------------------< find_dt_upd_modes >---------------------------|
240 -- ----------------------------------------------------------------------------
241 Procedure find_dt_upd_modes
242 (p_effective_date in date,
243 p_base_key_value in number,
244 p_correction out nocopy boolean,
245 p_update out nocopy boolean,
246 p_update_override out nocopy boolean,
247 p_update_change_insert out nocopy boolean) is
248 --
249 l_proc varchar2(72) := g_package||'find_dt_upd_modes';
250 --
251 Begin
252 hr_utility.set_location('Entering:'||l_proc, 5);
253 --
254 -- Call the corresponding datetrack api
255 --
256 dt_api.find_dt_upd_modes
257 (p_effective_date => p_effective_date,
258 p_base_table_name => 'ben_dpnt_eligy_crit_values_f',
259 p_base_key_column => 'dpnt_eligy_crit_values_id',
260 p_base_key_value => p_base_key_value,
261 p_correction => p_correction,
265 --
262 p_update => p_update,
263 p_update_override => p_update_override,
264 p_update_change_insert => p_update_change_insert);
266 hr_utility.set_location(' Leaving:'||l_proc, 10);
267 End find_dt_upd_modes;
268 --
269 -- ----------------------------------------------------------------------------
270 -- |------------------------< upd_effective_end_date >------------------------|
271 -- ----------------------------------------------------------------------------
272 Procedure upd_effective_end_date
273 (p_effective_date in date,
274 p_base_key_value in number,
275 p_new_effective_end_date in date,
276 p_validation_start_date in date,
277 p_validation_end_date in date,
278 p_object_version_number out nocopy number) is
279 --
280 l_proc varchar2(72) := g_package||'upd_effective_end_date';
281 l_object_version_number number;
282 --
283 Begin
284 hr_utility.set_location('Entering:'||l_proc, 5);
285 --
286 -- Because we are updating a row we must get the next object
287 -- version number.
288 --
289 l_object_version_number :=
290 dt_api.get_object_version_number
291 (p_base_table_name => 'ben_dpnt_eligy_crit_values_f',
292 p_base_key_column => 'dpnt_eligy_crit_values_id',
293 p_base_key_value => p_base_key_value);
294 --
295 hr_utility.set_location(l_proc, 10);
296 g_api_dml := true; -- Set the api dml status
297 --
298 -- Update the specified datetrack row setting the effective
299 -- end date to the specified new effective end date.
300 --
301 update ben_dpnt_eligy_crit_values_f t
302 set t.effective_end_date = p_new_effective_end_date,
303 t.object_version_number = l_object_version_number
304 where t.dpnt_eligy_crit_values_id = p_base_key_value
305 and p_effective_date
306 between t.effective_start_date and t.effective_end_date;
307 --
308 g_api_dml := false; -- Unset the api dml status
309 p_object_version_number := l_object_version_number;
310 hr_utility.set_location(' Leaving:'||l_proc, 15);
311 --
312 Exception
313 When Others Then
314 g_api_dml := false; -- Unset the api dml status
315 Raise;
316 End upd_effective_end_date;
317 --
318 -- ----------------------------------------------------------------------------
319 -- |---------------------------------< lck >----------------------------------|
320 -- ----------------------------------------------------------------------------
321 Procedure lck
322 (p_effective_date in date,
323 p_datetrack_mode in varchar2,
324 p_dpnt_eligy_crit_values_id in number,
325 p_object_version_number in number,
326 p_validation_start_date out nocopy date,
327 p_validation_end_date out nocopy date) is
328 --
329 l_proc varchar2(72) := g_package||'lck';
330 l_validation_start_date date;
331 l_validation_end_date date;
332 l_object_invalid exception;
333 l_argument varchar2(30);
334 --
335 -- Cursor C_Sel1 selects the current locked row as of session date
336 -- ensuring that the object version numbers match.
337 --
338 Cursor C_Sel1 is
339 select
340 dpnt_eligy_crit_values_id,
341 dpnt_cvg_eligy_prfl_id,
342 eligy_criteria_dpnt_id,
343 effective_start_date,
344 effective_end_date,
345 ordr_num,
346 number_value1,
347 number_value2,
348 char_value1,
349 char_value2,
350 date_value1,
351 date_value2,
352 excld_flag,
353 business_group_id,
354 edc_attribute_category,
355 edc_attribute1,
356 edc_attribute2,
357 edc_attribute3,
358 edc_attribute4,
359 edc_attribute5,
360 edc_attribute6,
366 edc_attribute12,
361 edc_attribute7,
362 edc_attribute8,
363 edc_attribute9,
364 edc_attribute10,
365 edc_attribute11,
367 edc_attribute13,
368 edc_attribute14,
369 edc_attribute15,
370 edc_attribute16,
371 edc_attribute17,
372 edc_attribute18,
373 edc_attribute19,
374 edc_attribute20,
375 edc_attribute21,
376 edc_attribute22,
377 edc_attribute23,
378 edc_attribute24,
379 edc_attribute25,
380 edc_attribute26,
381 edc_attribute27,
382 edc_attribute28,
383 edc_attribute29,
384 edc_attribute30,
385 object_version_number,
386 Char_value3,
387 Char_value4,
388 Number_value3,
389 Number_value4,
390 Date_value3,
391 Date_value4
392 from ben_dpnt_eligy_crit_values_f
393 where dpnt_eligy_crit_values_id = p_dpnt_eligy_crit_values_id
394 and p_effective_date
395 between effective_start_date
396 and effective_end_date
397 for update nowait;
398 --
399 --
400 --
401 Begin
402 hr_utility.set_location('Entering:'||l_proc, 5);
403 --
404 -- Ensure that all the mandatory arguments are not null
405 --
406 hr_api.mandatory_arg_error(p_api_name => l_proc,
407 p_argument => 'effective_date',
408 p_argument_value => p_effective_date);
409 --
410 hr_api.mandatory_arg_error(p_api_name => l_proc,
411 p_argument => 'datetrack_mode',
415 p_argument => 'dpnt_eligy_crit_values_id',
412 p_argument_value => p_datetrack_mode);
413 --
414 hr_api.mandatory_arg_error(p_api_name => l_proc,
416 p_argument_value => p_dpnt_eligy_crit_values_id);
417 --
418 hr_api.mandatory_arg_error(p_api_name => l_proc,
419 p_argument => 'object_version_number',
420 p_argument_value => p_object_version_number);
421 --
422 -- Check to ensure the datetrack mode is not INSERT.
423 --
424 If (p_datetrack_mode <> 'INSERT') then
425 --
426 -- We must select and lock the current row.
427 --
428 Open C_Sel1;
429 Fetch C_Sel1 Into g_old_rec;
430 If C_Sel1%notfound then
431 Close C_Sel1;
432 --
433 -- The primary key is invalid therefore we must error
434 --
435 hr_utility.set_message(801, 'HR_7220_INVALID_PRIMARY_KEY');
436 hr_utility.raise_error;
437 End If;
438 Close C_Sel1;
439 If (p_object_version_number <> g_old_rec.object_version_number) Then
440 hr_utility.set_message(801, 'HR_7155_OBJECT_INVALID');
441 hr_utility.raise_error;
442 End If;
443 hr_utility.set_location(l_proc, 15);
444 --
445 --
446 -- Validate the datetrack mode mode getting the validation start
447 -- and end dates for the specified datetrack operation.
448 --
449 dt_api.validate_dt_mode
450 (p_effective_date => p_effective_date,
451 p_datetrack_mode => p_datetrack_mode,
452 p_base_table_name => 'ben_dpnt_eligy_crit_values_f',
453 p_base_key_column => 'dpnt_eligy_crit_values_id',
454 p_base_key_value => p_dpnt_eligy_crit_values_id,
455 -- p_parent_table_name1 => 'ben_eligy_criteria',
456 -- p_parent_key_column1 => 'eligy_criteria_dpnt_id',
457 -- p_parent_key_value1 => g_old_rec.eligy_criteria_dpnt_id,
458 p_parent_table_name2 => 'ben_dpnt_cvg_eligy_prfl_f',
459 p_parent_key_column1 => 'dpnt_cvg_eligy_prfl_id',
460 p_parent_key_value2 => g_old_rec.dpnt_cvg_eligy_prfl_id,
461 p_enforce_foreign_locking => true,
462 p_validation_start_date => l_validation_start_date,
463 p_validation_end_date => l_validation_end_date);
464 Else
465 --
466 -- We are doing a datetrack 'INSERT' which is illegal within this
467 -- procedure therefore we must error (note: to lck on insert the
468 -- private procedure ins_lck should be called).
469 --
470 hr_utility.set_message(801, 'HR_6153_ALL_PROCEDURE_FAIL');
471 hr_utility.set_message_token('PROCEDURE', l_proc);
472 hr_utility.set_message_token('STEP','20');
473 hr_utility.raise_error;
474 End If;
475 --
476 -- Set the validation start and end date OUT arguments
477 --
478 p_validation_start_date := l_validation_start_date;
479 p_validation_end_date := l_validation_end_date;
480 --
481 hr_utility.set_location(' Leaving:'||l_proc, 30);
482 --
483 -- We need to trap the ORA LOCK exception
484 --
485 Exception
486 When HR_Api.Object_Locked then
487 --
488 -- The object is locked therefore we need to supply a meaningful
489 -- error message.
490 --
491 hr_utility.set_message(801, 'HR_7165_OBJECT_LOCKED');
492 hr_utility.set_message_token('TABLE_NAME', 'ben_dpnt_eligy_crit_values_f');
493 hr_utility.raise_error;
494 When l_object_invalid then
495 --
496 -- The object doesn't exist or is invalid
497 --
498 hr_utility.set_message(801, 'HR_7155_OBJECT_INVALID');
499 hr_utility.set_message_token('TABLE_NAME', 'ben_dpnt_eligy_crit_values_f');
500 hr_utility.raise_error;
501 End lck;
502 --
503 -- ----------------------------------------------------------------------------
504 -- |-----------------------------< convert_args >-----------------------------|
505 -- ----------------------------------------------------------------------------
506 Function convert_args
507 (
508 p_dpnt_eligy_crit_values_id Number,
509 p_dpnt_cvg_eligy_prfl_id Number,
510 p_eligy_criteria_dpnt_id Number,
511 p_effective_start_date Date,
512 p_effective_end_date Date,
513 p_ordr_num Number,
514 p_number_value1 Number,
515 p_number_value2 Number,
516 p_char_value1 Varchar2,
517 p_char_value2 Varchar2,
518 p_date_value1 Date,
519 p_date_value2 Date,
520 p_excld_flag Varchar2,
521 p_business_group_id Number,
522 p_edc_attribute_category Varchar2,
523 p_edc_attribute1 Varchar2,
524 p_edc_attribute2 Varchar2,
528 p_edc_attribute6 Varchar2,
525 p_edc_attribute3 Varchar2,
526 p_edc_attribute4 Varchar2,
527 p_edc_attribute5 Varchar2,
529 p_edc_attribute7 Varchar2,
530 p_edc_attribute8 Varchar2,
531 p_edc_attribute9 Varchar2,
532 p_edc_attribute10 Varchar2,
533 p_edc_attribute11 Varchar2,
534 p_edc_attribute12 Varchar2,
535 p_edc_attribute13 Varchar2,
536 p_edc_attribute14 Varchar2,
537 p_edc_attribute15 Varchar2,
538 p_edc_attribute16 Varchar2,
539 p_edc_attribute17 Varchar2,
540 p_edc_attribute18 Varchar2,
541 p_edc_attribute19 Varchar2,
542 p_edc_attribute20 Varchar2,
543 p_edc_attribute21 Varchar2,
544 p_edc_attribute22 Varchar2,
545 p_edc_attribute23 Varchar2,
546 p_edc_attribute24 Varchar2,
547 p_edc_attribute25 Varchar2,
548 p_edc_attribute26 Varchar2,
549 p_edc_attribute27 Varchar2,
550 p_edc_attribute28 Varchar2,
551 p_edc_attribute29 Varchar2,
552 p_edc_attribute30 Varchar2,
553 p_object_version_number Number ,
554 p_char_value3 Varchar2,
555 p_char_value4 Varchar2,
556 p_number_value3 Number,
557 p_number_value4 Number,
558 p_date_value3 Date,
559 p_date_value4 Date
560 )
561 Return g_rec_type is
562 --
563 l_rec g_rec_type;
564 l_proc varchar2(72) := g_package||'convert_args';
565 --
566 Begin
567 --
568 hr_utility.set_location('Entering:'||l_proc, 5);
569 --
570 -- Convert arguments into local l_rec structure.
571 --
572 l_rec.dpnt_eligy_crit_values_id := p_dpnt_eligy_crit_values_id;
573 l_rec.dpnt_cvg_eligy_prfl_id := p_dpnt_cvg_eligy_prfl_id;
574 l_rec.eligy_criteria_dpnt_id := p_eligy_criteria_dpnt_id;
575 l_rec.effective_start_date := p_effective_start_date;
576 l_rec.effective_end_date := p_effective_end_date;
577 l_rec.ordr_num := p_ordr_num;
578 l_rec.number_value1 := p_number_value1;
579 l_rec.number_value2 := p_number_value2;
580 l_rec.char_value1 := p_char_value1;
581 l_rec.char_value2 := p_char_value2;
582 l_rec.date_value1 := p_date_value1;
583 l_rec.date_value2 := p_date_value2;
584 l_rec.excld_flag := p_excld_flag;
585 l_rec.business_group_id := p_business_group_id;
586 l_rec.edc_attribute_category := p_edc_attribute_category;
587 l_rec.edc_attribute1 := p_edc_attribute1;
588 l_rec.edc_attribute2 := p_edc_attribute2;
589 l_rec.edc_attribute3 := p_edc_attribute3;
590 l_rec.edc_attribute4 := p_edc_attribute4;
591 l_rec.edc_attribute5 := p_edc_attribute5;
592 l_rec.edc_attribute6 := p_edc_attribute6;
593 l_rec.edc_attribute7 := p_edc_attribute7;
594 l_rec.edc_attribute8 := p_edc_attribute8;
595 l_rec.edc_attribute9 := p_edc_attribute9;
596 l_rec.edc_attribute10 := p_edc_attribute10;
597 l_rec.edc_attribute11 := p_edc_attribute11;
598 l_rec.edc_attribute12 := p_edc_attribute12;
599 l_rec.edc_attribute13 := p_edc_attribute13;
600 l_rec.edc_attribute14 := p_edc_attribute14;
601 l_rec.edc_attribute15 := p_edc_attribute15;
602 l_rec.edc_attribute16 := p_edc_attribute16;
603 l_rec.edc_attribute17 := p_edc_attribute17;
604 l_rec.edc_attribute18 := p_edc_attribute18;
605 l_rec.edc_attribute19 := p_edc_attribute19;
606 l_rec.edc_attribute20 := p_edc_attribute20;
607 l_rec.edc_attribute21 := p_edc_attribute21;
608 l_rec.edc_attribute22 := p_edc_attribute22;
612 l_rec.edc_attribute26 := p_edc_attribute26;
609 l_rec.edc_attribute23 := p_edc_attribute23;
610 l_rec.edc_attribute24 := p_edc_attribute24;
611 l_rec.edc_attribute25 := p_edc_attribute25;
613 l_rec.edc_attribute27 := p_edc_attribute27;
614 l_rec.edc_attribute28 := p_edc_attribute28;
615 l_rec.edc_attribute29 := p_edc_attribute29;
616 l_rec.edc_attribute30 := p_edc_attribute30;
617 l_rec.object_version_number := p_object_version_number;
618 l_rec.char_value3 := p_char_value3;
619 l_rec.char_value4 := p_char_value4;
620 l_rec.number_value3 := p_number_value3;
621 l_rec.number_value4 := p_number_value4;
622 l_rec.date_value3 := p_date_value3;
623 l_rec.date_value4 := p_date_value4;
624 --
625 -- Return the plsql record structure.
626 --
627 hr_utility.set_location(' Leaving:'||l_proc, 10);
628 Return(l_rec);
629 --
630 End convert_args;
631 --
632 end ben_dpnt_edc_shd;