DBA Data[Home] [Help]

PACKAGE BODY: APPS.PAY_PPM_SHD

Source


4 -- ----------------------------------------------------------------------------
1 Package Body pay_ppm_shd as
2 /* $Header: pyppmrhi.pkb 120.3.12010000.5 2010/03/30 06:46:19 priupadh ship $ */
3 --
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,
66 --
63    p_personal_payment_method_id		in number,
64    p_object_version_number	in number
65   ) Return Boolean Is
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
240 	 p_base_key_value	=> p_base_key_value,
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',
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 ;
573     -- The object doesn't exist or is invalid
570     hr_utility.raise_error;
571   When l_object_invalid then
572     --
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,
644         p_ppm_information21             in varchar2,
645         p_ppm_information22             in varchar2,
646         p_ppm_information23             in varchar2,
647         p_ppm_information24             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;