DBA Data[Home] [Help]

PACKAGE BODY: APPS.PAY_OPM_SHD

Source


1 Package Body pay_opm_shd as
2 /* $Header: pyopmrhi.pkb 120.4 2005/11/07 01:38:13 pgongada noship $ */
3 --
4 -- ----------------------------------------------------------------------------
5 -- |                     Private Global Definitions                           |
6 -- ----------------------------------------------------------------------------
7 --
8 g_package  varchar2(33)	:= '  pay_opm_shd.';  -- Global package name
9 --
10 -- ----------------------------------------------------------------------------
11 -- |------------------------< return_api_dml_status >-------------------------|
12 -- ----------------------------------------------------------------------------
13 Function return_api_dml_status Return Boolean Is
14 --
15 Begin
16   --
17   Return (nvl(g_api_dml, false));
18   --
19 End return_api_dml_status;
20 --
21 -- ----------------------------------------------------------------------------
22 -- |---------------------------< constraint_error >---------------------------|
23 -- ----------------------------------------------------------------------------
24 Procedure constraint_error
25   (p_constraint_name in all_constraints.constraint_name%TYPE
26   ) Is
27 --
28   l_proc 	varchar2(72) := g_package||'constraint_error';
29 --
30 Begin
31   --
32   If (p_constraint_name = 'PAY_ORG_PAYMENT_METHODS_F_FK1') Then
33     -- RAISE ERROR MESSAGE
34     fnd_message.set_name('PAY', 'HR_7462_PLK_INVLD_VALUE');
35     fnd_message.set_token('COLUMN_NAME', 'BUSINESS_GROUP_ID');
36     fnd_message.raise_error;
37   ElsIf (p_constraint_name = 'PAY_ORG_PAYMENT_METHODS_F_FK2') Then
38     -- RAISE ERROR MESSAGE
39     fnd_message.set_name('PAY', 'HR_7462_PLK_INVLD_VALUE');
40     fnd_message.set_token('COLUMN_NAME', 'EXTERNAL_ACCOUNT_ID');
41     fnd_message.raise_error;
42   ElsIf (p_constraint_name = 'PAY_ORG_PAYMENT_METHODS_F_FK3') Then
43     -- RAISE ERROR MESSAGE
44     fnd_message.set_name('PAY', 'HR_7462_PLK_INVLD_VALUE');
45     fnd_message.set_token('COLUMN_NAME', 'PAYMENT_TYPE_ID');
46     fnd_message.raise_error;
47   ElsIf (p_constraint_name = 'PAY_ORG_PAYMENT_METHODS_F_FK4') Then
48     -- RAISE ERROR MESSAGE
49     fnd_message.set_name('PAY', 'HR_7462_PLK_INVLD_VALUE');
50     fnd_message.set_token('COLUMN_NAME', 'DEFINED_BALANCE_ID');
51     fnd_message.raise_error;
52   ElsIf (p_constraint_name = 'PAY_ORG_PAYMENT_METHODS_F_PK') Then
53     fnd_message.set_name('PAY', 'HR_6153_ALL_PROCEDURE_FAIL');
54     fnd_message.set_token('PROCEDURE', l_proc);
55     fnd_message.set_token('STEP','25');
56     fnd_message.raise_error;
57   Else
58     fnd_message.set_name('PAY', 'HR_7877_API_INVALID_CONSTRAINT');
59     fnd_message.set_token('PROCEDURE', l_proc);
60     fnd_message.set_token('CONSTRAINT_NAME', p_constraint_name);
61     fnd_message.raise_error;
62   End If;
63   --
64 End constraint_error;
65 --
66 -- ----------------------------------------------------------------------------
67 -- |-----------------------------< api_updating >-----------------------------|
68 -- ----------------------------------------------------------------------------
69 Function api_updating
70   (p_effective_date                   in date
71   ,p_org_payment_method_id            in number
72   ,p_object_version_number            in number
73   ) Return Boolean Is
74   --
75   -- Cursor selects the 'current' row from the HR Schema
76   --
77   Cursor C_Sel1 is
78     select
79      org_payment_method_id
80     ,effective_start_date
81     ,effective_end_date
82     ,business_group_id
83     ,external_account_id
84     ,currency_code
85     ,payment_type_id
86     ,defined_balance_id
87     ,org_payment_method_name
88     ,comment_id
89     ,null
90     ,attribute_category
91     ,attribute1
92     ,attribute2
93     ,attribute3
94     ,attribute4
95     ,attribute5
96     ,attribute6
97     ,attribute7
98     ,attribute8
99     ,attribute9
100     ,attribute10
101     ,attribute11
102     ,attribute12
103     ,attribute13
104     ,attribute14
105     ,attribute15
106     ,attribute16
107     ,attribute17
108     ,attribute18
109     ,attribute19
110     ,attribute20
111     ,pmeth_information_category
112     ,pmeth_information1
113     ,pmeth_information2
114     ,pmeth_information3
115     ,pmeth_information4
116     ,pmeth_information5
117     ,pmeth_information6
118     ,pmeth_information7
119     ,pmeth_information8
120     ,pmeth_information9
121     ,pmeth_information10
122     ,pmeth_information11
123     ,pmeth_information12
124     ,pmeth_information13
125     ,pmeth_information14
126     ,pmeth_information15
127     ,pmeth_information16
128     ,pmeth_information17
129     ,pmeth_information18
130     ,pmeth_information19
131     ,pmeth_information20
132     ,object_version_number
133     ,transfer_to_gl_flag
134     ,cost_payment
135     ,cost_cleared_payment
136     ,cost_cleared_void_payment
137     ,exclude_manual_payment
138     from	pay_org_payment_methods_f
139     where	org_payment_method_id = p_org_payment_method_id
140     and		p_effective_date
141     between	effective_start_date and effective_end_date;
142 --
143   l_fct_ret	boolean;
144 --
145 Begin
146   --
147   If (p_effective_date is null or
148       p_org_payment_method_id is null or
149       p_object_version_number is null) Then
150     --
151     -- One of the primary key arguments is null therefore we must
152     -- set the returning function value to false
153     --
154     l_fct_ret := false;
155   Else
156     If (p_org_payment_method_id =
157         pay_opm_shd.g_old_rec.org_payment_method_id and
158         p_object_version_number =
159         pay_opm_shd.g_old_rec.object_version_number) Then
160       --
161       -- The g_old_rec is current therefore we must
162       -- set the returning function to true
163       --
164       l_fct_ret := true;
165     Else
166       --
167       -- Select the current row
168       --
169       Open C_Sel1;
170       Fetch C_Sel1 Into pay_opm_shd.g_old_rec;
171       If C_Sel1%notfound Then
172         Close C_Sel1;
173         --
174         -- The primary key is invalid therefore we must error
175         --
176         fnd_message.set_name('PAY', 'HR_7220_INVALID_PRIMARY_KEY');
177         fnd_message.raise_error;
178       End If;
179       Close C_Sel1;
180       If (p_object_version_number
181           <> pay_opm_shd.g_old_rec.object_version_number) Then
182         fnd_message.set_name('PAY', 'HR_7155_OBJECT_INVALID');
183         fnd_message.raise_error;
184       End If;
185       l_fct_ret := true;
186     End If;
187   End If;
188   Return (l_fct_ret);
189 --
190 End api_updating;
191 --
192 -- ----------------------------------------------------------------------------
193 -- |---------------------------< find_dt_upd_modes >--------------------------|
194 -- ----------------------------------------------------------------------------
195 Procedure find_dt_upd_modes
196   (p_effective_date         in         date
197   ,p_base_key_value         in         number
198   ,p_correction             out nocopy boolean
199   ,p_update                 out nocopy boolean
200   ,p_update_override        out nocopy boolean
201   ,p_update_change_insert   out nocopy boolean
202   ) is
203 --
204   l_proc 	varchar2(72) := g_package||'find_dt_upd_modes';
205 --
206 Begin
207   hr_utility.set_location('Entering:'||l_proc, 5);
208   --
209   -- Call the corresponding datetrack api
210   --
211   dt_api.find_dt_upd_modes
212     (p_effective_date        => p_effective_date
213     ,p_base_table_name       => 'pay_org_payment_methods_f'
214     ,p_base_key_column       => 'org_payment_method_id'
215     ,p_base_key_value        => p_base_key_value
216     ,p_correction            => p_correction
217     ,p_update                => p_update
218     ,p_update_override       => p_update_override
219     ,p_update_change_insert  => p_update_change_insert
220     );
221   --
222   hr_utility.set_location(' Leaving:'||l_proc, 10);
223 End find_dt_upd_modes;
224 --
225 -- ----------------------------------------------------------------------------
226 -- |---------------------------< find_dt_del_modes >--------------------------|
227 -- ----------------------------------------------------------------------------
228 Procedure find_dt_del_modes
229   (p_effective_date        in         date
230   ,p_base_key_value        in         number
231   ,p_zap                   out nocopy boolean
232   ,p_delete                out nocopy boolean
233   ,p_future_change         out nocopy boolean
234   ,p_delete_next_change    out nocopy boolean
235   ) is
236   --
237   l_proc 		varchar2(72) 	:= g_package||'find_dt_del_modes';
238   --
239   --
240 Begin
241   hr_utility.set_location('Entering:'||l_proc, 5);
242   --
243   -- Call the corresponding datetrack api
244   --
245   dt_api.find_dt_del_modes
246    (p_effective_date                => p_effective_date
247    ,p_base_table_name               => 'pay_org_payment_methods_f'
248    ,p_base_key_column               => 'org_payment_method_id'
249    ,p_base_key_value                => p_base_key_value
250    ,p_zap                           => p_zap
251    ,p_delete                        => p_delete
252    ,p_future_change                 => p_future_change
253    ,p_delete_next_change            => p_delete_next_change
254    );
255   --
256   hr_utility.set_location(' Leaving:'||l_proc, 10);
257 End find_dt_del_modes;
258 --
259 -- ----------------------------------------------------------------------------
260 -- |-----------------------< upd_effective_end_date >-------------------------|
261 -- ----------------------------------------------------------------------------
262 Procedure upd_effective_end_date
263   (p_effective_date                   in date
264   ,p_base_key_value                   in number
265   ,p_new_effective_end_date           in date
266   ,p_validation_start_date            in date
267   ,p_validation_end_date              in date
268   ,p_object_version_number  out nocopy number
269   ) is
270 --
271   l_proc 		  varchar2(72) := g_package||'upd_effective_end_date';
272   l_object_version_number number;
273 --
274 Begin
275   hr_utility.set_location('Entering:'||l_proc, 5);
276   --
277   -- Because we are updating a row we must get the next object
278   -- version number.
279   --
280   l_object_version_number :=
281     dt_api.get_object_version_number
282       (p_base_table_name    => 'pay_org_payment_methods_f'
283       ,p_base_key_column    => 'org_payment_method_id'
284       ,p_base_key_value     => p_base_key_value
285       );
286   --
287   hr_utility.set_location(l_proc, 10);
288   pay_opm_shd.g_api_dml := true;  -- Set the api dml status
289   --
290   -- Update the specified datetrack row setting the effective
291   -- end date to the specified new effective end date.
292   --
293   update  pay_org_payment_methods_f t
294   set     t.effective_end_date    = p_new_effective_end_date
295     ,     t.object_version_number = l_object_version_number
296   where   t.org_payment_method_id        = p_base_key_value
297   and     p_effective_date
298   between t.effective_start_date and t.effective_end_date;
299   --
300   pay_opm_shd.g_api_dml := false;   -- Unset the api dml status
301   p_object_version_number := l_object_version_number;
302   hr_utility.set_location(' Leaving:'||l_proc, 15);
303 --
304 Exception
305   When Others Then
306     pay_opm_shd.g_api_dml := false;   -- Unset the api dml status
307     Raise;
308 --
309 End upd_effective_end_date;
310 --
311 -- ----------------------------------------------------------------------------
312 -- |---------------------------------< lck >----------------------------------|
313 -- ----------------------------------------------------------------------------
314 Procedure lck
315   (p_effective_date                   in         date
316   ,p_datetrack_mode                   in         varchar2
317   ,p_org_payment_method_id            in         number
318   ,p_object_version_number            in         number
319   ,p_validation_start_date            out nocopy date
320   ,p_validation_end_date              out nocopy date
321   ) is
322 --
323   l_proc		  varchar2(72) := g_package||'lck';
324   l_validation_start_date date;
325   l_validation_end_date	  date;
326   l_argument		  varchar2(30);
327   --
328   -- Cursor C_Sel1 selects the current locked row as of session date
329   -- ensuring that the object version numbers match.
330   --
331   Cursor C_Sel1 is
332     select
333      org_payment_method_id
334     ,effective_start_date
335     ,effective_end_date
336     ,business_group_id
337     ,external_account_id
338     ,currency_code
339     ,payment_type_id
340     ,defined_balance_id
341     ,org_payment_method_name
342     ,comment_id
343     ,null
344     ,attribute_category
345     ,attribute1
346     ,attribute2
347     ,attribute3
348     ,attribute4
349     ,attribute5
350     ,attribute6
351     ,attribute7
352     ,attribute8
353     ,attribute9
354     ,attribute10
355     ,attribute11
356     ,attribute12
357     ,attribute13
358     ,attribute14
359     ,attribute15
360     ,attribute16
361     ,attribute17
362     ,attribute18
363     ,attribute19
364     ,attribute20
365     ,pmeth_information_category
366     ,pmeth_information1
367     ,pmeth_information2
368     ,pmeth_information3
369     ,pmeth_information4
370     ,pmeth_information5
371     ,pmeth_information6
372     ,pmeth_information7
373     ,pmeth_information8
374     ,pmeth_information9
375     ,pmeth_information10
376     ,pmeth_information11
377     ,pmeth_information12
378     ,pmeth_information13
379     ,pmeth_information14
380     ,pmeth_information15
381     ,pmeth_information16
382     ,pmeth_information17
383     ,pmeth_information18
384     ,pmeth_information19
385     ,pmeth_information20
386     ,object_version_number
387     ,transfer_to_gl_flag
388     ,cost_payment
389     ,cost_cleared_payment
390     ,cost_cleared_void_payment
391     ,exclude_manual_payment
392     from    pay_org_payment_methods_f
393     where   org_payment_method_id = p_org_payment_method_id
394     and	    p_effective_date
395     between effective_start_date and effective_end_date
396     for update nowait;
397   --
398   -- Cursor C_Sel3 select comment text
399   --
400   Cursor C_Sel3 is
401     select hc.comment_text
402     from   hr_comments hc
403     where  hc.comment_id = pay_opm_shd.g_old_rec.comment_id;
404   --
405 Begin
406   hr_utility.set_location('Entering:'||l_proc, 5);
407   --
408   -- Ensure that all the mandatory arguments are not null
409   --
410   hr_api.mandatory_arg_error(p_api_name       => l_proc
411                             ,p_argument       => 'effective_date'
412                             ,p_argument_value => p_effective_date
413                             );
414   --
415   hr_api.mandatory_arg_error(p_api_name       => l_proc
416                             ,p_argument       => 'datetrack_mode'
417                             ,p_argument_value => p_datetrack_mode
418                             );
419   --
420   hr_api.mandatory_arg_error(p_api_name       => l_proc
421                             ,p_argument       => 'org_payment_method_id'
422                             ,p_argument_value => p_org_payment_method_id
423                             );
424   --
425   hr_api.mandatory_arg_error(p_api_name       => l_proc
426                             ,p_argument       => 'object_version_number'
427                             ,p_argument_value => p_object_version_number
431   --
428                             );
429   --
430   -- Check to ensure the datetrack mode is not INSERT.
432   If (p_datetrack_mode <> hr_api.g_insert) then
433     --
434     -- We must select and lock the current row.
435     --
436     Open  C_Sel1;
437     Fetch C_Sel1 Into pay_opm_shd.g_old_rec;
438     If C_Sel1%notfound then
439       Close C_Sel1;
440       --
441       -- The primary key is invalid therefore we must error
442       --
443       fnd_message.set_name('PAY', 'HR_7220_INVALID_PRIMARY_KEY');
444       fnd_message.raise_error;
445     End If;
446     Close C_Sel1;
447     If (p_object_version_number
448           <> pay_opm_shd.g_old_rec.object_version_number) Then
449         fnd_message.set_name('PAY', 'HR_7155_OBJECT_INVALID');
450         fnd_message.raise_error;
451     End If;
452     --
453     -- Providing we are doing an update and a comment_id exists then
454     -- we select the comment text.
455     --
456     If ((pay_opm_shd.g_old_rec.comment_id is not null) and
457         (p_datetrack_mode = hr_api.g_update             or
458          p_datetrack_mode = hr_api.g_correction         or
459          p_datetrack_mode = hr_api.g_update_override    or
460          p_datetrack_mode = hr_api.g_update_change_insert)) then
461        Open C_Sel3;
462        Fetch C_Sel3 Into pay_opm_shd.g_old_rec.comments;
463        If C_Sel3%notfound then
464           --
465           -- The comments for the specified comment_id does not exist.
466           -- We must error due to data integrity problems.
467           --
468           Close C_Sel3;
469           fnd_message.set_name('PAY', 'HR_7202_COMMENT_TEXT_NOT_EXIST');
470           fnd_message.raise_error;
471        End If;
472        Close C_Sel3;
473     End If;
474     --
475     -- Validate the datetrack mode mode getting the validation start
476     -- and end dates for the specified datetrack operation.
477     --
478     dt_api.validate_dt_mode
479       (p_effective_date          => p_effective_date
480       ,p_datetrack_mode          => p_datetrack_mode
481       ,p_base_table_name         => 'pay_org_payment_methods_f'
482       ,p_base_key_column         => 'org_payment_method_id'
483       ,p_base_key_value          => p_org_payment_method_id
484       ,p_child_table_name1       => 'pay_org_pay_method_usages_f'
485       ,p_child_key_column1       => 'org_pay_method_usage_id'
486       ,p_child_table_name2       => 'pay_personal_payment_methods_f'
487       ,p_child_key_column2       => 'personal_payment_method_id'
488       ,p_child_table_name3       => 'pay_run_type_org_methods_f'
489       ,p_child_key_column3       => 'run_type_org_method_id'
490       -- ,p_child_table_name4       => 'pay_all_payrolls_f'
491       -- ,p_child_key_column4       => 'payroll_id'
492       ,p_enforce_foreign_locking => true
493       ,p_validation_start_date   => l_validation_start_date
494       ,p_validation_end_date     => l_validation_end_date
495       );
496   Else
497     --
498     -- We are doing a datetrack 'INSERT' which is illegal within this
499     -- procedure therefore we must error (note: to lck on insert the
500     -- private procedure ins_lck should be called).
501     --
502     fnd_message.set_name('PAY', 'HR_6153_ALL_PROCEDURE_FAIL');
503     fnd_message.set_token('PROCEDURE', l_proc);
504     fnd_message.set_token('STEP','20');
505     fnd_message.raise_error;
506   End If;
507   --
508   -- Set the validation start and end date OUT arguments
509   --
510   p_validation_start_date := l_validation_start_date;
511   p_validation_end_date   := l_validation_end_date;
512   --
513   hr_utility.set_location(' Leaving:'||l_proc, 30);
514 --
515 -- We need to trap the ORA LOCK exception
516 --
517 Exception
518   When HR_Api.Object_Locked then
519     --
520     -- The object is locked therefore we need to supply a meaningful
521     -- error message.
522     --
523     fnd_message.set_name('PAY', 'HR_7165_OBJECT_LOCKED');
524     fnd_message.set_token('TABLE_NAME', 'pay_org_payment_methods_f');
525     fnd_message.raise_error;
526 End lck;
527 --
528 -- ----------------------------------------------------------------------------
529 -- |-----------------------------< convert_args >-----------------------------|
530 -- ----------------------------------------------------------------------------
531 Function convert_args
532   (p_org_payment_method_id          in number
533   ,p_effective_start_date           in date
534   ,p_effective_end_date             in date
535   ,p_business_group_id              in number
536   ,p_external_account_id            in number
537   ,p_currency_code                  in varchar2
538   ,p_payment_type_id                in number
539   ,p_defined_balance_id             in number
540   ,p_org_payment_method_name        in varchar2
541   ,p_comment_id                     in number
542   ,p_comments                       in varchar2
543   ,p_attribute_category             in varchar2
544   ,p_attribute1                     in varchar2
545   ,p_attribute2                     in varchar2
546   ,p_attribute3                     in varchar2
547   ,p_attribute4                     in varchar2
548   ,p_attribute5                     in varchar2
549   ,p_attribute6                     in varchar2
550   ,p_attribute7                     in varchar2
554   ,p_attribute11                    in varchar2
551   ,p_attribute8                     in varchar2
552   ,p_attribute9                     in varchar2
553   ,p_attribute10                    in varchar2
555   ,p_attribute12                    in varchar2
556   ,p_attribute13                    in varchar2
557   ,p_attribute14                    in varchar2
558   ,p_attribute15                    in varchar2
559   ,p_attribute16                    in varchar2
560   ,p_attribute17                    in varchar2
561   ,p_attribute18                    in varchar2
562   ,p_attribute19                    in varchar2
563   ,p_attribute20                    in varchar2
564   ,p_pmeth_information_category     in varchar2
565   ,p_pmeth_information1             in varchar2
566   ,p_pmeth_information2             in varchar2
567   ,p_pmeth_information3             in varchar2
568   ,p_pmeth_information4             in varchar2
569   ,p_pmeth_information5             in varchar2
570   ,p_pmeth_information6             in varchar2
571   ,p_pmeth_information7             in varchar2
572   ,p_pmeth_information8             in varchar2
573   ,p_pmeth_information9             in varchar2
574   ,p_pmeth_information10            in varchar2
575   ,p_pmeth_information11            in varchar2
576   ,p_pmeth_information12            in varchar2
577   ,p_pmeth_information13            in varchar2
578   ,p_pmeth_information14            in varchar2
579   ,p_pmeth_information15            in varchar2
580   ,p_pmeth_information16            in varchar2
581   ,p_pmeth_information17            in varchar2
582   ,p_pmeth_information18            in varchar2
583   ,p_pmeth_information19            in varchar2
584   ,p_pmeth_information20            in varchar2
585   ,p_object_version_number          in number
586   ,p_transfer_to_gl_flag            in varchar2
587   ,p_cost_payment                   in varchar2
588   ,p_cost_cleared_payment           in varchar2
589   ,p_cost_cleared_void_payment      in varchar2
590   ,p_exclude_manual_payment         in varchar2
591   )
592   Return g_rec_type is
593 --
594   l_rec   g_rec_type;
595 --
596 Begin
597   --
598   -- Convert arguments into local l_rec structure.
599   --
600   l_rec.org_payment_method_id            := p_org_payment_method_id;
601   l_rec.effective_start_date             := p_effective_start_date;
602   l_rec.effective_end_date               := p_effective_end_date;
603   l_rec.business_group_id                := p_business_group_id;
604   l_rec.external_account_id              := p_external_account_id;
605   l_rec.currency_code                    := p_currency_code;
606   l_rec.payment_type_id                  := p_payment_type_id;
607   l_rec.defined_balance_id               := p_defined_balance_id;
608   l_rec.org_payment_method_name          := p_org_payment_method_name;
609   l_rec.comment_id                       := p_comment_id;
610   l_rec.comments                         := p_comments;
611   l_rec.attribute_category               := p_attribute_category;
612   l_rec.attribute1                       := p_attribute1;
613   l_rec.attribute2                       := p_attribute2;
614   l_rec.attribute3                       := p_attribute3;
615   l_rec.attribute4                       := p_attribute4;
616   l_rec.attribute5                       := p_attribute5;
617   l_rec.attribute6                       := p_attribute6;
618   l_rec.attribute7                       := p_attribute7;
619   l_rec.attribute8                       := p_attribute8;
620   l_rec.attribute9                       := p_attribute9;
621   l_rec.attribute10                      := p_attribute10;
622   l_rec.attribute11                      := p_attribute11;
623   l_rec.attribute12                      := p_attribute12;
624   l_rec.attribute13                      := p_attribute13;
625   l_rec.attribute14                      := p_attribute14;
626   l_rec.attribute15                      := p_attribute15;
627   l_rec.attribute16                      := p_attribute16;
628   l_rec.attribute17                      := p_attribute17;
629   l_rec.attribute18                      := p_attribute18;
630   l_rec.attribute19                      := p_attribute19;
631   l_rec.attribute20                      := p_attribute20;
632   l_rec.pmeth_information_category       := p_pmeth_information_category;
633   l_rec.pmeth_information1               := p_pmeth_information1;
634   l_rec.pmeth_information2               := p_pmeth_information2;
635   l_rec.pmeth_information3               := p_pmeth_information3;
636   l_rec.pmeth_information4               := p_pmeth_information4;
637   l_rec.pmeth_information5               := p_pmeth_information5;
638   l_rec.pmeth_information6               := p_pmeth_information6;
639   l_rec.pmeth_information7               := p_pmeth_information7;
640   l_rec.pmeth_information8               := p_pmeth_information8;
641   l_rec.pmeth_information9               := p_pmeth_information9;
642   l_rec.pmeth_information10              := p_pmeth_information10;
643   l_rec.pmeth_information11              := p_pmeth_information11;
644   l_rec.pmeth_information12              := p_pmeth_information12;
645   l_rec.pmeth_information13              := p_pmeth_information13;
646   l_rec.pmeth_information14              := p_pmeth_information14;
647   l_rec.pmeth_information15              := p_pmeth_information15;
648   l_rec.pmeth_information16              := p_pmeth_information16;
649   l_rec.pmeth_information17              := p_pmeth_information17;
650   l_rec.pmeth_information18              := p_pmeth_information18;
651   l_rec.pmeth_information19              := p_pmeth_information19;
652   l_rec.pmeth_information20              := p_pmeth_information20;
653   l_rec.object_version_number            := p_object_version_number;
654   l_rec.transfer_to_gl_flag              := p_transfer_to_gl_flag;
655   l_rec.cost_payment                     := p_cost_payment;
656   l_rec.cost_cleared_payment             := p_cost_cleared_payment;
657   l_rec.cost_cleared_void_payment        := p_cost_cleared_void_payment;
658   l_rec.exclude_manual_payment           := p_exclude_manual_payment;
659   --
660   -- Return the plsql record structure.
661   --
662   Return(l_rec);
663 --
664 End convert_args;
665 --
666 end pay_opm_shd;