[Home] [Help]
PACKAGE BODY: APPS.PAY_PPM_SHD
Source
1 Package Body pay_ppm_shd as
2 /* $Header: pyppmrhi.pkb 120.3.12010000.2 2008/08/06 08:14:13 ubhat ship $ */
3 --
4 -- ----------------------------------------------------------------------------
5 -- | Private Global Definitions |
6 -- ----------------------------------------------------------------------------
7 --
8 g_package varchar2(33) := ' pay_ppm_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 = 'PAY_PERSONAL_PAYMENT_METHO_FK1') Then
37 hr_utility.set_message(801, 'HR_7208_API_BUS_GRP_INVALID');
38 hr_utility.raise_error;
39 ElsIf (p_constraint_name = 'PAY_PERSONAL_PAYMENT_METHO_FK2') Then
40 -- Error: The specified external account does not exist
41 hr_utility.set_message(801, 'HR_6223_PAYM_BAD_ACCT');
42 hr_utility.raise_error;
43 ElsIf (p_constraint_name = 'PAY_PERSONAL_PAYMENT_METHO_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','15');
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_personal_payment_method_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 personal_payment_method_id,
73 effective_start_date,
74 effective_end_date,
75 business_group_id,
76 external_account_id,
77 assignment_id,
78 run_type_id,
79 org_payment_method_id,
80 amount,
81 comment_id,
82 null,
83 percentage,
84 priority,
85 attribute_category,
86 attribute1,
87 attribute2,
88 attribute3,
89 attribute4,
90 attribute5,
91 attribute6,
92 attribute7,
93 attribute8,
94 attribute9,
95 attribute10,
96 attribute11,
97 attribute12,
98 attribute13,
99 attribute14,
100 attribute15,
101 attribute16,
102 attribute17,
103 attribute18,
104 attribute19,
105 attribute20,
106 object_version_number,
107 payee_type,
108 payee_id,
109 ppm_information_category,
110 ppm_information1,
111 ppm_information2,
112 ppm_information3,
113 ppm_information4,
114 ppm_information5,
115 ppm_information6,
116 ppm_information7,
117 ppm_information8,
118 ppm_information9,
119 ppm_information10,
120 ppm_information11,
121 ppm_information12,
122 ppm_information13,
123 ppm_information14,
124 ppm_information15,
125 ppm_information16,
126 ppm_information17,
127 ppm_information18,
128 ppm_information19,
129 ppm_information20,
130 ppm_information21,
131 ppm_information22,
132 ppm_information23,
133 ppm_information24,
134 ppm_information25,
135 ppm_information26,
136 ppm_information27,
137 ppm_information28,
138 ppm_information29,
139 ppm_information30
140 from pay_personal_payment_methods_f
141 where personal_payment_method_id = p_personal_payment_method_id
142 and p_effective_date
143 between effective_start_date and effective_end_date;
144 --
145 l_proc varchar2(72) := g_package||'api_updating';
146 l_fct_ret boolean;
147 --
148 Begin
149 hr_utility.set_location('Entering:'||l_proc, 5);
150 --
151 If (p_effective_date is null or
152 p_personal_payment_method_id is null or
153 p_object_version_number is null) Then
154 --
155 -- One of the primary key arguments is null therefore we must
156 -- set the returning function value to false
157 --
158 l_fct_ret := false;
159 Else
160 If (p_personal_payment_method_id = g_old_rec.personal_payment_method_id and
161 p_object_version_number = g_old_rec.object_version_number) Then
162 hr_utility.set_location(l_proc, 10);
163 --
164 -- The g_old_rec is current therefore we must
165 -- set the returning function to true
166 --
167 l_fct_ret := true;
168 Else
169 --
170 -- Select the current row
171 --
172 Open C_Sel1;
173 Fetch C_Sel1 Into g_old_rec;
174 If C_Sel1%notfound Then
175 Close C_Sel1;
176 --
177 -- The primary key is invalid therefore we must error
178 --
179 hr_utility.set_message(801, 'HR_7220_INVALID_PRIMARY_KEY');
180 hr_utility.raise_error;
181 End If;
182 Close C_Sel1;
183 If (p_object_version_number <> g_old_rec.object_version_number) Then
184 hr_utility.set_message(801, 'HR_7155_OBJECT_INVALID');
185 hr_utility.raise_error;
186 End If;
187 hr_utility.set_location(l_proc, 15);
188 l_fct_ret := true;
189 End If;
190 End If;
191 hr_utility.set_location(' Leaving:'||l_proc, 20);
192 Return (l_fct_ret);
193 --
194 End api_updating;
195 --
196 -- ----------------------------------------------------------------------------
197 -- |--------------------------< find_dt_del_modes >---------------------------|
198 -- ----------------------------------------------------------------------------
199 Procedure find_dt_del_modes
200 (p_effective_date in date,
201 p_base_key_value in number,
202 p_zap out nocopy boolean,
203 p_delete out nocopy boolean,
204 p_future_change out nocopy boolean,
205 p_delete_next_change out nocopy boolean) is
206 --
207 l_proc varchar2(72) := g_package||'find_dt_del_modes';
208 --
209 l_parent_key_value1 number;
210 l_parent_key_value2 number;
211 --
212 Cursor C_Sel1 Is
213 select t.org_payment_method_id,
214 t.assignment_id
215 from pay_personal_payment_methods_f t
216 where t.personal_payment_method_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 If C_Sel1%notfound then
226 Close C_Sel1;
227 hr_utility.set_message(801, 'HR_6153_ALL_PROCEDURE_FAIL');
228 hr_utility.set_message_token('PROCEDURE', l_proc);
229 hr_utility.set_message_token('STEP','10');
230 hr_utility.raise_error;
231 End If;
232 Close C_Sel1;
233 --
234 -- Call the corresponding datetrack api
235 --
236 dt_api.find_dt_del_modes
237 (p_effective_date => p_effective_date,
238 p_base_table_name => 'pay_personal_payment_methods_f',
239 p_base_key_column => 'personal_payment_method_id',
240 p_base_key_value => p_base_key_value,
241 p_parent_table_name1 => 'pay_org_payment_methods_f',
242 p_parent_key_column1 => 'org_payment_method_id',
243 p_parent_key_value1 => l_parent_key_value1,
244 p_parent_table_name2 => 'per_all_assignments_f',
245 p_parent_key_column2 => 'assignment_id',
246 p_parent_key_value2 => l_parent_key_value2,
247 p_zap => p_zap,
248 p_delete => p_delete,
249 p_future_change => p_future_change,
250 p_delete_next_change => p_delete_next_change);
251 --
252 p_future_change := false;
253 --
254 hr_utility.set_location(' Leaving:'||l_proc, 10);
255 End find_dt_del_modes;
256 --
257 -- ----------------------------------------------------------------------------
258 -- |--------------------------< find_dt_upd_modes >---------------------------|
259 -- ----------------------------------------------------------------------------
260 Procedure find_dt_upd_modes
261 (p_effective_date in date,
262 p_base_key_value in number,
263 p_correction out nocopy boolean,
264 p_update out nocopy boolean,
265 p_update_override out nocopy boolean,
266 p_update_change_insert out nocopy boolean) is
267 --
268 l_proc varchar2(72) := g_package||'find_dt_upd_modes';
269 --
270 Begin
271 hr_utility.set_location('Entering:'||l_proc, 5);
272 --
273 -- Call the corresponding datetrack api
274 --
275 dt_api.find_dt_upd_modes
276 (p_effective_date => p_effective_date,
277 p_base_table_name => 'pay_personal_payment_methods_f',
278 p_base_key_column => 'personal_payment_method_id',
279 p_base_key_value => p_base_key_value,
280 p_correction => p_correction,
281 p_update => p_update,
282 p_update_override => p_update_override,
283 p_update_change_insert => p_update_change_insert);
284 --
285 hr_utility.set_location(' Leaving:'||l_proc, 10);
286 End find_dt_upd_modes;
287 --
288 -- ----------------------------------------------------------------------------
289 -- |------------------------< upd_effective_end_date >------------------------|
290 -- ----------------------------------------------------------------------------
291 Procedure upd_effective_end_date
292 (p_effective_date in date,
293 p_base_key_value in number,
294 p_new_effective_end_date in date,
295 p_validation_start_date in date,
296 p_validation_end_date in date,
297 p_object_version_number out nocopy number) is
298 --
299 l_proc varchar2(72) := g_package||'upd_effective_end_date';
300 l_object_version_number number;
301 --
302 Begin
303 hr_utility.set_location('Entering:'||l_proc, 5);
304 --
305 -- Because we are updating a row we must get the next object
306 -- version number.
307 --
308 l_object_version_number :=
309 dt_api.get_object_version_number
310 (p_base_table_name => 'pay_personal_payment_methods_f',
311 p_base_key_column => 'personal_payment_method_id',
312 p_base_key_value => p_base_key_value);
313 --
314 hr_utility.set_location(l_proc, 10);
315 g_api_dml := true; -- Set the api dml status
316 --
317 -- Update the specified datetrack row setting the effective
318 -- end date to the specified new effective end date.
319 --
320 update pay_personal_payment_methods_f t
321 set t.effective_end_date = p_new_effective_end_date,
322 t.object_version_number = l_object_version_number
323 where t.personal_payment_method_id = p_base_key_value
324 and p_effective_date
325 between t.effective_start_date and t.effective_end_date;
326 --
327 g_api_dml := false; -- Unset the api dml status
328 p_object_version_number := l_object_version_number;
329 hr_utility.set_location(' Leaving:'||l_proc, 15);
330 --
331 Exception
332 When Others Then
333 g_api_dml := false; -- Unset the api dml status
334 Raise;
335 End upd_effective_end_date;
336 --
337 -- ----------------------------------------------------------------------------
338 -- |---------------------------------< lck >----------------------------------|
339 -- ----------------------------------------------------------------------------
340 Procedure lck
341 (p_effective_date in date,
342 p_datetrack_mode in varchar2,
343 p_personal_payment_method_id in number,
344 p_object_version_number in number,
345 p_validation_start_date out nocopy date,
346 p_validation_end_date out nocopy date) is
347 --
348 l_proc varchar2(72) := g_package||'lck';
349 l_validation_start_date date;
350 l_validation_end_date date;
351 l_object_invalid exception;
352 l_argument varchar2(30);
353 l_lock_table varchar2(30);
354 --
355 -- Cursor C_Sel1 selects the current locked row as of session date
356 -- ensuring that the object version numbers match.
357 --
358 Cursor C_Sel1 is
359 select
360 personal_payment_method_id,
361 effective_start_date,
362 effective_end_date,
363 business_group_id,
364 external_account_id,
365 assignment_id,
366 run_type_id,
367 org_payment_method_id,
368 amount,
369 comment_id,
370 null,
371 percentage,
372 priority,
373 attribute_category,
374 attribute1,
375 attribute2,
376 attribute3,
377 attribute4,
378 attribute5,
379 attribute6,
380 attribute7,
381 attribute8,
382 attribute9,
383 attribute10,
384 attribute11,
385 attribute12,
386 attribute13,
387 attribute14,
388 attribute15,
389 attribute16,
390 attribute17,
391 attribute18,
392 attribute19,
393 attribute20,
394 object_version_number,
395 payee_type,
396 payee_id,
397 ppm_information_category,
398 ppm_information1,
399 ppm_information2,
400 ppm_information3,
401 ppm_information4,
402 ppm_information5,
403 ppm_information6,
404 ppm_information7,
405 ppm_information8,
406 ppm_information9,
407 ppm_information10,
408 ppm_information11,
409 ppm_information12,
410 ppm_information13,
411 ppm_information14,
412 ppm_information15,
413 ppm_information16,
414 ppm_information17,
415 ppm_information18,
416 ppm_information19,
417 ppm_information20,
418 ppm_information21,
419 ppm_information22,
420 ppm_information23,
421 ppm_information24,
422 ppm_information25,
423 ppm_information26,
424 ppm_information27,
425 ppm_information28,
426 ppm_information29,
427 ppm_information30
428 from pay_personal_payment_methods_f
429 where personal_payment_method_id = p_personal_payment_method_id
430 and p_effective_date
431 between effective_start_date and effective_end_date
432 for update nowait;
433 --
434 -- Cursor C_Sel3 select comment text
435 --
436 Cursor C_Sel3 is
437 select hc.comment_text
438 from hr_comments hc
439 where hc.comment_id = pay_ppm_shd.g_old_rec.comment_id;
440 --
441 Begin
442 hr_utility.set_location('Entering:'||l_proc, 5);
443 --
444 -- Ensure that all the mandatory arguments are not null
445 --
446 hr_api.mandatory_arg_error(p_api_name => l_proc,
447 p_argument => 'effective_date',
448 p_argument_value => p_effective_date);
449 --
450 hr_api.mandatory_arg_error(p_api_name => l_proc,
451 p_argument => 'datetrack_mode',
452 p_argument_value => p_datetrack_mode);
453 --
454 hr_api.mandatory_arg_error(p_api_name => l_proc,
455 p_argument => 'personal_payment_method_id',
456 p_argument_value => p_personal_payment_method_id);
457 --
458 hr_api.mandatory_arg_error(p_api_name => l_proc,
459 p_argument => 'object_version_number',
460 p_argument_value => p_object_version_number);
461 --
462 -- Check to ensure the datetrack mode is not INSERT.
463 --
464 If (p_datetrack_mode <> 'INSERT') then
465 --
466 -- It is necessary to lock PAY_ORG_PAY_METHOD_USAGES_F for datetrack modes
467 -- that extend a PPM because return_effective_end_date needs to be ensure that
468 -- the usages are still valid when the record is valid. PAY_ORG_PAY_METHOD_USAGES_F
469 -- comes before PAY_PERSONAL_PAYMENT_METHODS_F in the HRMS lock ladder.
470 --
471 --
472 if p_datetrack_mode = 'DELETE_NEXT_CHANGE' or p_datetrack_mode = 'FUTURE_CHANGE'
473 then
474 l_lock_table := 'pay_org_pay_method_usages_f';
475 lock table pay_org_pay_method_usages_f in share mode nowait;
476 end if;
477 --
478 -- We must select and lock the current row.
479 --
480 l_lock_table := 'pay_personal_payment_methods_f';
481 Open C_Sel1;
482 Fetch C_Sel1 Into g_old_rec;
483 If C_Sel1%notfound then
484 Close C_Sel1;
485 --
486 -- The primary key is invalid therefore we must error
487 --
488 hr_utility.set_message(801, 'HR_7220_INVALID_PRIMARY_KEY');
489 hr_utility.raise_error;
490 End If;
491 Close C_Sel1;
492 If (p_object_version_number <> g_old_rec.object_version_number) Then
493 hr_utility.set_message(801, 'HR_7155_OBJECT_INVALID');
494 hr_utility.raise_error;
495 End If;
496 hr_utility.set_location(l_proc, 15);
497 --
498 -- Providing we are doing an update and a comment_id exists then
499 -- we select the comment text.
500 --
501 If ((g_old_rec.comment_id is not null) and
502 (p_datetrack_mode = 'UPDATE' or
503 p_datetrack_mode = 'CORRECTION' or
504 p_datetrack_mode = 'UPDATE_OVERRIDE' or
505 p_datetrack_mode = 'UPDATE_CHANGE_INSERT')) then
506 Open C_Sel3;
507 Fetch C_Sel3 Into pay_ppm_shd.g_old_rec.comments;
508 If C_Sel3%notfound then
509 --
510 -- The comments for the specified comment_id does not exist.
511 -- We must error due to data integrity problems.
512 --
513 Close C_Sel3;
514 hr_utility.set_message(801, 'HR_7202_COMMENT_TEXT_NOT_EXIST');
515 hr_utility.raise_error;
516 End If;
517 Close C_Sel3;
518 End If;
519 --
520 -- Validate the datetrack mode mode getting the validation start
521 -- and end dates for the specified datetrack operation.
522 --
523 dt_api.validate_dt_mode
524 (p_effective_date => p_effective_date,
525 p_datetrack_mode => p_datetrack_mode,
526 p_base_table_name => 'pay_personal_payment_methods_f',
527 p_base_key_column => 'personal_payment_method_id',
528 p_base_key_value => p_personal_payment_method_id,
529 p_parent_table_name1 => 'pay_org_payment_methods_f',
530 p_parent_key_column1 => 'org_payment_method_id',
531 p_parent_key_value1 => g_old_rec.org_payment_method_id,
532 p_parent_table_name2 => 'per_all_assignments_f',
533 p_parent_key_column2 => 'assignment_id',
534 p_parent_key_value2 => g_old_rec.assignment_id,
535 p_child_table_name1 => 'pay_element_entries_f',
536 p_child_key_column1 => 'element_entry_id',
537 p_enforce_foreign_locking => true,
538 p_validation_start_date => l_validation_start_date,
539 p_validation_end_date => l_validation_end_date);
540 Else
541 --
542 -- We are doing a datetrack 'INSERT' which is illegal within this
543 -- procedure therefore we must error (note: to lck on insert the
544 -- private procedure ins_lck should be called).
545 --
546 hr_utility.set_message(801, 'HR_6153_ALL_PROCEDURE_FAIL');
547 hr_utility.set_message_token('PROCEDURE', l_proc);
548 hr_utility.set_message_token('STEP','20');
549 hr_utility.raise_error;
550 End If;
551 --
552 -- Set the validation start and end date OUT arguments
553 --
554 p_validation_start_date := l_validation_start_date;
555 p_validation_end_date := l_validation_end_date;
556 --
557 hr_utility.set_location(' Leaving:'||l_proc, 30);
558 --
559 -- We need to trap the ORA LOCK exception
560 --
561 Exception
562 When HR_Api.Object_Locked then
563 --
564 -- The object is locked therefore we need to supply a meaningful
565 -- error message.
566 --
567 hr_utility.set_message(801, 'HR_7165_OBJECT_LOCKED');
568 hr_utility.set_message_token('TABLE_NAME', l_lock_table)
569 ;
570 hr_utility.raise_error;
571 When l_object_invalid then
572 --
573 -- The object doesn't exist or is invalid
574 --
575 hr_utility.set_message(801, 'HR_7155_OBJECT_INVALID');
576 hr_utility.set_message_token('TABLE_NAME', 'pay_personal_payment_methods_f')
577 ;
578 hr_utility.raise_error;
579 End lck;
580 --
581 -- ----------------------------------------------------------------------------
582 -- |-----------------------------< convert_args >-----------------------------|
583 -- ----------------------------------------------------------------------------
584 Function convert_args
585 (
586 p_personal_payment_method_id in number,
587 p_effective_start_date in date,
588 p_effective_end_date in date,
589 p_business_group_id in number,
590 p_external_account_id in number,
591 p_assignment_id in number,
592 p_run_type_id in number,
593 p_org_payment_method_id in number,
594 p_amount in number,
595 p_comment_id in number,
596 p_comments in varchar2,
597 p_percentage in number,
598 p_priority in number,
599 p_attribute_category in varchar2,
600 p_attribute1 in varchar2,
601 p_attribute2 in varchar2,
602 p_attribute3 in varchar2,
603 p_attribute4 in varchar2,
604 p_attribute5 in varchar2,
605 p_attribute6 in varchar2,
606 p_attribute7 in varchar2,
607 p_attribute8 in varchar2,
608 p_attribute9 in varchar2,
609 p_attribute10 in varchar2,
610 p_attribute11 in varchar2,
611 p_attribute12 in varchar2,
612 p_attribute13 in varchar2,
613 p_attribute14 in varchar2,
614 p_attribute15 in varchar2,
615 p_attribute16 in varchar2,
616 p_attribute17 in varchar2,
617 p_attribute18 in varchar2,
618 p_attribute19 in varchar2,
619 p_attribute20 in varchar2,
620 p_object_version_number in number,
621 p_payee_type in varchar2,
622 p_payee_id in number,
623 p_ppm_information_category in varchar2,
624 p_ppm_information1 in varchar2,
625 p_ppm_information2 in varchar2,
626 p_ppm_information3 in varchar2,
627 p_ppm_information4 in varchar2,
628 p_ppm_information5 in varchar2,
629 p_ppm_information6 in varchar2,
630 p_ppm_information7 in varchar2,
631 p_ppm_information8 in varchar2,
632 p_ppm_information9 in varchar2,
633 p_ppm_information10 in varchar2,
634 p_ppm_information11 in varchar2,
635 p_ppm_information12 in varchar2,
636 p_ppm_information13 in varchar2,
637 p_ppm_information14 in varchar2,
638 p_ppm_information15 in varchar2,
639 p_ppm_information16 in varchar2,
640 p_ppm_information17 in varchar2,
641 p_ppm_information18 in varchar2,
642 p_ppm_information19 in varchar2,
643 p_ppm_information20 in varchar2,
647 p_ppm_information24 in varchar2,
644 p_ppm_information21 in varchar2,
645 p_ppm_information22 in varchar2,
646 p_ppm_information23 in varchar2,
648 p_ppm_information25 in varchar2,
649 p_ppm_information26 in varchar2,
650 p_ppm_information27 in varchar2,
651 p_ppm_information28 in varchar2,
652 p_ppm_information29 in varchar2,
653 p_ppm_information30 in varchar2
654 )
655 Return g_rec_type is
656 --
657 l_rec g_rec_type;
658 l_proc varchar2(72) := g_package||'convert_args';
659 --
660 Begin
661 --
662 hr_utility.set_location('Entering:'||l_proc, 5);
663 --
664 -- Convert arguments into local l_rec structure.
665 --
666 l_rec.personal_payment_method_id := p_personal_payment_method_id;
667 l_rec.effective_start_date := p_effective_start_date;
668 l_rec.effective_end_date := p_effective_end_date;
669 l_rec.business_group_id := p_business_group_id;
670 l_rec.external_account_id := p_external_account_id;
671 l_rec.assignment_id := p_assignment_id;
672 l_rec.run_type_id := p_run_type_id ;
673 l_rec.org_payment_method_id := p_org_payment_method_id;
674 l_rec.amount := p_amount;
675 l_rec.comment_id := p_comment_id;
676 l_rec.comments := p_comments;
677 l_rec.percentage := p_percentage;
678 l_rec.priority := p_priority;
679 l_rec.attribute_category := p_attribute_category;
680 l_rec.attribute1 := p_attribute1;
681 l_rec.attribute2 := p_attribute2;
682 l_rec.attribute3 := p_attribute3;
683 l_rec.attribute4 := p_attribute4;
684 l_rec.attribute5 := p_attribute5;
685 l_rec.attribute6 := p_attribute6;
686 l_rec.attribute7 := p_attribute7;
687 l_rec.attribute8 := p_attribute8;
688 l_rec.attribute9 := p_attribute9;
689 l_rec.attribute10 := p_attribute10;
690 l_rec.attribute11 := p_attribute11;
691 l_rec.attribute12 := p_attribute12;
692 l_rec.attribute13 := p_attribute13;
693 l_rec.attribute14 := p_attribute14;
694 l_rec.attribute15 := p_attribute15;
695 l_rec.attribute16 := p_attribute16;
696 l_rec.attribute17 := p_attribute17;
697 l_rec.attribute18 := p_attribute18;
698 l_rec.attribute19 := p_attribute19;
699 l_rec.attribute20 := p_attribute20;
700 l_rec.object_version_number := p_object_version_number;
701 l_rec.payee_type := p_payee_type;
702 l_rec.payee_id := p_payee_id;
703 l_rec.ppm_information_category := p_ppm_information_category;
704 l_rec.ppm_information1 := p_ppm_information1;
705 l_rec.ppm_information2 := p_ppm_information2;
706 l_rec.ppm_information3 := p_ppm_information3;
707 l_rec.ppm_information4 := p_ppm_information4;
708 l_rec.ppm_information5 := p_ppm_information5;
709 l_rec.ppm_information6 := p_ppm_information6;
710 l_rec.ppm_information7 := p_ppm_information7;
711 l_rec.ppm_information8 := p_ppm_information8;
712 l_rec.ppm_information9 := p_ppm_information9;
713 l_rec.ppm_information10 := p_ppm_information10;
714 l_rec.ppm_information11 := p_ppm_information11;
715 l_rec.ppm_information12 := p_ppm_information12;
716 l_rec.ppm_information13 := p_ppm_information13;
717 l_rec.ppm_information14 := p_ppm_information14;
718 l_rec.ppm_information15 := p_ppm_information15;
719 l_rec.ppm_information16 := p_ppm_information16;
720 l_rec.ppm_information17 := p_ppm_information17;
721 l_rec.ppm_information18 := p_ppm_information18;
722 l_rec.ppm_information19 := p_ppm_information19;
723 l_rec.ppm_information20 := p_ppm_information20;
724 l_rec.ppm_information21 := p_ppm_information21;
725 l_rec.ppm_information22 := p_ppm_information22;
726 l_rec.ppm_information23 := p_ppm_information23;
727 l_rec.ppm_information24 := p_ppm_information24;
728 l_rec.ppm_information25 := p_ppm_information25;
729 l_rec.ppm_information26 := p_ppm_information26;
730 l_rec.ppm_information27 := p_ppm_information27;
731 l_rec.ppm_information28 := p_ppm_information28;
732 l_rec.ppm_information29 := p_ppm_information29;
733 l_rec.ppm_information30 := p_ppm_information30;
734 --
735 -- Return the plsql record structure.
736 --
737 hr_utility.set_location(' Leaving:'||l_proc, 10);
738 Return(l_rec);
739 --
740 End convert_args;
741 --
742 end pay_ppm_shd;