DBA Data[Home] [Help]

PACKAGE BODY: APPS.PAY_PPM_UPD

Source


1 Package Body pay_ppm_upd 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_upd.';  -- Global package name
9 --
10 -- ----------------------------------------------------------------------------
11 -- |----------------------------< dt_update_dml >-----------------------------|
12 -- ----------------------------------------------------------------------------
13 -- {Start Of Comments}
14 --
15 -- Description:
16 --   This procedure controls the execution of dml from the datetrack mode
17 --   of CORRECTION only. It is important to note that the object version
18 --   number is only increment by 1 because the datetrack correction is
19 --   soley for one datetracked row.
20 --   This procedure controls the actual dml update logic. The functions of this
21 --   procedure are as follows:
22 --   1) Get the next object_version_number.
23 --   2) To set and unset the g_api_dml status as required (as we are about to
24 --      perform dml).
25 --   3) To update the specified row in the schema using the primary key in
26 --      the predicates.
27 --   4) To trap any constraint violations that may have occurred.
28 --   5) To raise any other errors.
29 --
30 -- Pre Conditions:
31 --   This is an internal private procedure which must be called from the
32 --   update_dml procedure.
33 --
34 -- In Arguments:
35 --   A Pl/Sql record structre.
36 --
37 -- Post Success:
38 --   The specified row will be updated in the schema.
39 --
40 -- Post Failure:
41 --   On the update dml failure it is important to note that we always reset the
42 --   g_api_dml status to false.
43 --   If a check or unique integrity constraint violation is raised the
44 --   constraint_error procedure will be called.
45 --   If any other error is reported, the error will be raised after the
46 --   g_api_dml status is reset.
47 --
48 -- Developer Implementation Notes:
49 --   The update 'set' arguments list should be modified if any of your
50 --   attributes are not updateable.
51 --
52 -- Access Status:
53 --   Internal Table Handler Use Only.
54 --
55 -- {End Of Comments}
56 -- ----------------------------------------------------------------------------
57 Procedure dt_update_dml
58 	(p_rec 			 in out nocopy pay_ppm_shd.g_rec_type,
59 	 p_effective_date	 in	date,
60 	 p_datetrack_mode	 in	varchar2,
61 	 p_validation_start_date in	date,
62 	 p_validation_end_date	 in	date) is
63 --
64   l_proc varchar2(72) := g_package||'dt_update_dml';
65 --
66 Begin
67   hr_utility.set_location('Entering:'||l_proc, 5);
68   --
69   If (p_datetrack_mode = 'CORRECTION') then
70     hr_utility.set_location(l_proc, 10);
71     --
72     -- Because we are updating a row we must get the next object
73     -- version number.
74     --
75     p_rec.object_version_number :=
76       dt_api.get_object_version_number
77 	  (p_base_table_name	=> 'pay_personal_payment_methods_f',
78 	   p_base_key_column	=> 'personal_payment_method_id',
79 	   p_base_key_value	=> p_rec.personal_payment_method_id);
80     --
81     pay_ppm_shd.g_api_dml := true;  -- Set the api dml status
82     --
83     -- Update the pay_personal_payment_methods_f Row
84     --
85     update  pay_personal_payment_methods_f
86     set
87     external_account_id             = p_rec.external_account_id,
88     assignment_id                   = p_rec.assignment_id,
89     run_type_id                     = p_rec.run_type_id,
90     amount                          = p_rec.amount,
91     comment_id                      = p_rec.comment_id,
92     percentage                      = p_rec.percentage,
93     priority                        = p_rec.priority,
94     attribute_category              = p_rec.attribute_category,
95     attribute1                      = p_rec.attribute1,
96     attribute2                      = p_rec.attribute2,
97     attribute3                      = p_rec.attribute3,
98     attribute4                      = p_rec.attribute4,
99     attribute5                      = p_rec.attribute5,
100     attribute6                      = p_rec.attribute6,
101     attribute7                      = p_rec.attribute7,
102     attribute8                      = p_rec.attribute8,
103     attribute9                      = p_rec.attribute9,
104     attribute10                     = p_rec.attribute10,
105     attribute11                     = p_rec.attribute11,
106     attribute12                     = p_rec.attribute12,
107     attribute13                     = p_rec.attribute13,
108     attribute14                     = p_rec.attribute14,
109     attribute15                     = p_rec.attribute15,
110     attribute16                     = p_rec.attribute16,
111     attribute17                     = p_rec.attribute17,
112     attribute18                     = p_rec.attribute18,
113     attribute19                     = p_rec.attribute19,
114     attribute20                     = p_rec.attribute20,
115     object_version_number           = p_rec.object_version_number,
116     payee_type                      = p_rec.payee_type,
117     payee_id                        = p_rec.payee_id,
118     ppm_information_category        = p_rec.ppm_information_category,
119     ppm_information1                = p_rec.ppm_information1,
120     ppm_information2                = p_rec.ppm_information2,
121     ppm_information3                = p_rec.ppm_information3,
122     ppm_information4                = p_rec.ppm_information4,
123     ppm_information5                = p_rec.ppm_information5,
124     ppm_information6                = p_rec.ppm_information6,
125     ppm_information7                = p_rec.ppm_information7,
126     ppm_information8                = p_rec.ppm_information8,
127     ppm_information9                = p_rec.ppm_information9,
128     ppm_information10               = p_rec.ppm_information10,
129     ppm_information11               = p_rec.ppm_information11,
130     ppm_information12               = p_rec.ppm_information12,
131     ppm_information13               = p_rec.ppm_information13,
132     ppm_information14               = p_rec.ppm_information14,
133     ppm_information15               = p_rec.ppm_information15,
134     ppm_information16               = p_rec.ppm_information16,
135     ppm_information17               = p_rec.ppm_information17,
136     ppm_information18               = p_rec.ppm_information18,
137     ppm_information19               = p_rec.ppm_information19,
138     ppm_information20               = p_rec.ppm_information20,
139     ppm_information21               = p_rec.ppm_information21,
140     ppm_information22               = p_rec.ppm_information22,
141     ppm_information23               = p_rec.ppm_information23,
142     ppm_information24               = p_rec.ppm_information24,
143     ppm_information25               = p_rec.ppm_information25,
144     ppm_information26               = p_rec.ppm_information26,
145     ppm_information27               = p_rec.ppm_information27,
146     ppm_information28               = p_rec.ppm_information28,
147     ppm_information29               = p_rec.ppm_information29,
148     ppm_information30               = p_rec.ppm_information30
149     where   personal_payment_method_id = p_rec.personal_payment_method_id
150     and     effective_start_date = p_validation_start_date
151     and     effective_end_date   = p_validation_end_date;
152     --
153     pay_ppm_shd.g_api_dml := false;   -- Unset the api dml status
154     --
155     -- Set the effective start and end dates
156     --
157     p_rec.effective_start_date := p_validation_start_date;
158     p_rec.effective_end_date   := p_validation_end_date;
159   End If;
160 --
161 hr_utility.set_location(' Leaving:'||l_proc, 15);
162 Exception
163   When hr_api.check_integrity_violated Then
164     -- A check constraint has been violated
165     pay_ppm_shd.g_api_dml := false;   -- Unset the api dml status
166     pay_ppm_shd.constraint_error
167       (p_constraint_name => hr_api.strip_constraint_name(SQLERRM));
168   When hr_api.unique_integrity_violated Then
169     -- Unique integrity has been violated
170     pay_ppm_shd.g_api_dml := false;   -- Unset the api dml status
171     pay_ppm_shd.constraint_error
172       (p_constraint_name => hr_api.strip_constraint_name(SQLERRM));
173   When Others Then
174     pay_ppm_shd.g_api_dml := false;   -- Unset the api dml status
175     Raise;
176 End dt_update_dml;
177 --
178 -- ----------------------------------------------------------------------------
179 -- |------------------------------< update_dml >------------------------------|
180 -- ----------------------------------------------------------------------------
181 -- {Start Of Comments}
182 --
183 -- Description:
184 --   This procedure calls the dt_update_dml control logic which handles
185 --   the actual datetrack dml.
186 --
187 -- Pre Conditions:
188 --   This is an internal private procedure which must be called from the upd
189 --   procedure.
190 --
191 -- In Arguments:
192 --   A Pl/Sql record structre.
193 --
194 -- Post Success:
195 --   Processing contines.
196 --
197 -- Post Failure:
198 --   No specific error handling is required within this procedure.
199 --
200 -- Developer Implementation Notes:
201 --   The update 'set' arguments list should be modified if any of your
202 --   attributes are not updateable.
203 --
204 -- Access Status:
205 --   Internal Table Handler Use Only.
206 --
207 -- {End Of Comments}
208 -- ----------------------------------------------------------------------------
209 Procedure update_dml
210 	(p_rec 			 in out nocopy pay_ppm_shd.g_rec_type,
211 	 p_effective_date 	 in	date,
212 	 p_datetrack_mode	 in	varchar2,
213 	 p_validation_start_date in	date,
214 	 p_validation_end_date	 in	date) is
215 --
216   l_proc	varchar2(72) := g_package||'update_dml';
217 --
218 Begin
219   hr_utility.set_location('Entering:'||l_proc, 5);
220   --
221   dt_update_dml(p_rec			=> p_rec,
222 		p_effective_date	=> p_effective_date,
223 		p_datetrack_mode	=> p_datetrack_mode,
224 		p_validation_start_date	=> p_validation_start_date,
225 		p_validation_end_date	=> p_validation_end_date);
226   --
227   hr_utility.set_location(' Leaving:'||l_proc, 10);
228 End update_dml;
229 --
230 -- ----------------------------------------------------------------------------
231 -- |----------------------------< dt_pre_update >-----------------------------|
232 -- ----------------------------------------------------------------------------
233 -- {Start Of Comments}
234 --
235 -- Description:
236 --   The dt_pre_update procedure controls the execution
237 --   of dml for the datetrack modes of: UPDATE, UPDATE_OVERRIDE
238 --   and UPDATE_CHANGE_INSERT only. The execution required is as
239 --   follows:
240 --
241 --   1) Providing the datetrack update mode is not 'CORRECTION'
242 --      then set the effective end date of the current row (this
243 --      will be the validation_start_date - 1).
244 --   2) If the datetrack mode is 'UPDATE_OVERRIDE' then call the
245 --      corresponding delete_dml process to delete any future rows
246 --      where the effective_start_date is greater than or equal to
247 --the validation_start_date.
248 --   3) Call the insert_dml process to insert the new updated row
249 --      details..
250 --
251 -- Pre Conditions:
252 --   This is an internal procedure which is called from the
253 --   pre_update procedure.
254 --
255 -- In Arguments:
256 --
257 -- Post Success:
258 --   Processing continues.
259 --
260 -- Post Failure:
261 --   If an error has occurred, an error message and exception will be raised
262 --   but not handled.
263 --
264 -- Developer Implementation Notes:
265 --   This is an internal procedure which is required by Datetrack. Don't
266 --   remove or modify.
267 --
268 -- Access Status:
269 --   Internal Table Handler Use Only.
270 --
271 -- {End Of Comments}
272 -- ----------------------------------------------------------------------------
273 Procedure dt_pre_update
274 	(p_rec 			 in out	nocopy pay_ppm_shd.g_rec_type,
275 	 p_effective_date	 in	date,
276 	 p_datetrack_mode	 in	varchar2,
277 	 p_validation_start_date in	date,
278 	 p_validation_end_date	 in	date) is
279 --
280   l_proc                 varchar2(72) := g_package||'dt_pre_update';
281   l_dummy_version_number number;
282 --
283 Begin
284   hr_utility.set_location('Entering:'||l_proc, 5);
285   If (p_datetrack_mode <> 'CORRECTION') then
286     hr_utility.set_location(l_proc, 10);
287     --
288     -- Update the current effective end date
289     --
290     pay_ppm_shd.upd_effective_end_date
291      (p_effective_date	       => p_effective_date,
292       p_base_key_value	       => p_rec.personal_payment_method_id,
293       p_new_effective_end_date => (p_validation_start_date - 1),
294       p_validation_start_date  => p_validation_start_date,
295       p_validation_end_date    => p_validation_end_date,
296       p_object_version_number  => l_dummy_version_number);
297     --
298     If (p_datetrack_mode = 'UPDATE_OVERRIDE') then
299       hr_utility.set_location(l_proc, 15);
300       --
301       -- As the datetrack mode is 'UPDATE_OVERRIDE' then we must
302       -- delete any future rows
303       --
304       pay_ppm_del.delete_dml
305 	(p_rec			 => p_rec,
306 	 p_effective_date	 => p_effective_date,
307 	 p_datetrack_mode	 => p_datetrack_mode,
308 	 p_validation_start_date => p_validation_start_date,
309 	 p_validation_end_date   => p_validation_end_date);
310     End If;
311     hr_utility.set_location(l_proc, 20);
312     --
313     -- We must now insert the updated row
314     --
315     pay_ppm_ins.insert_dml
316       (p_rec			=> p_rec,
317        p_effective_date		=> p_effective_date,
318        p_datetrack_mode		=> p_datetrack_mode,
319        p_validation_start_date	=> p_validation_start_date,
320        p_validation_end_date	=> p_validation_end_date);
321   End If;
322   hr_utility.set_location(' Leaving:'||l_proc, 20);
323 End dt_pre_update;
324 --
325 -- ----------------------------------------------------------------------------
326 -- |------------------------------< pre_update >------------------------------|
327 -- ----------------------------------------------------------------------------
328 -- {Start Of Comments}
329 --
330 -- Description:
331 --   This private procedure contains any processing which is required before
332 --   the update dml.
333 --
334 -- Pre Conditions:
335 --   This is an internal procedure which is called from the upd procedure.
336 --
337 -- In Arguments:
338 --   A Pl/Sql record structre.
339 --
340 -- Post Success:
341 --   Processing continues.
342 --
343 -- Post Failure:
344 --   If an error has occurred, an error message and exception will be raised
345 --   but not handled.
346 --
347 -- Developer Implementation Notes:
348 --   Any pre-processing required before the update dml is issued should be
349 --   coded within this procedure. It is important to note that any 3rd party
350 --   maintenance should be reviewed before placing in this procedure. The call
351 --   to the dt_update_dml procedure should NOT be removed.
352 --
353 -- Access Status:
354 --   Internal Table Handler Use Only.
355 --
356 -- {End Of Comments}
357 -- ----------------------------------------------------------------------------
358 Procedure pre_update
359 	(p_rec 			 in out	nocopy pay_ppm_shd.g_rec_type,
360 	 p_effective_date	 in	date,
361 	 p_datetrack_mode	 in	varchar2,
362 	 p_validation_start_date in	date,
363 	 p_validation_end_date	 in	date) is
364 --
365   l_proc	varchar2(72) := g_package||'pre_update';
366 --
367 Begin
368   hr_utility.set_location('Entering:'||l_proc, 5);
369   --
370   --
371   -- Insert the comment text if comments exist
372   --
373   If (p_rec.comments is not null and p_rec.comment_id is null) then
374     hr_comm_api.ins(p_comment_id        => p_rec.comment_id,
375                     p_source_table_name => 'PAY_PERSONAL_PAYMENT_METHODS_F',
376                     p_comment_text      => p_rec.comments);
377   -- Update the comments if they have changed
378   ElsIf (p_rec.comment_id is not null and p_rec.comments <>
379          pay_ppm_shd.g_old_rec.comments) then
380     hr_comm_api.upd(p_comment_id        => p_rec.comment_id,
381                     p_source_table_name => 'PAY_PERSONAL_PAYMENT_METHODS_F',
382                     p_comment_text      => p_rec.comments);
383   End If;
384   --
385   dt_pre_update
386     (p_rec 		     => p_rec,
387      p_effective_date	     => p_effective_date,
388      p_datetrack_mode	     => p_datetrack_mode,
389      p_validation_start_date => p_validation_start_date,
390      p_validation_end_date   => p_validation_end_date);
391   --
392   hr_utility.set_location(' Leaving:'||l_proc, 10);
393 End pre_update;
394 --
395 -- ----------------------------------------------------------------------------
396 -- |-----------------------------< post_update >------------------------------|
397 -- ----------------------------------------------------------------------------
398 -- {Start Of Comments}
399 --
400 -- Description:
401 --   This private procedure contains any processing which is required after the
402 --   update dml.
403 --
404 -- Pre Conditions:
405 --   This is an internal procedure which is called from the upd procedure.
406 --
407 -- In Arguments:
408 --   A Pl/Sql record structre.
409 --
410 -- Post Success:
411 --   Processing continues.
412 --
413 -- Post Failure:
414 --   If an error has occurred, an error message and exception will be raised
415 --   but not handled.
416 --
417 -- Developer Implementation Notes:
418 --   Any post-processing required after the update dml is issued should be
419 --   coded within this procedure. It is important to note that any 3rd party
420 --   maintenance should be reviewed before placing in this procedure.
421 --
422 -- Access Status:
423 --   Internal Table Handler Use Only.
424 --
425 -- {End Of Comments}
426 -- ----------------------------------------------------------------------------
427 Procedure post_update
428 	(p_rec 			 in pay_ppm_shd.g_rec_type,
429 	 p_effective_date	 in date,
430 	 p_datetrack_mode	 in varchar2,
431 	 p_validation_start_date in date,
432 	 p_validation_end_date	 in date) is
433 --
434   l_proc	varchar2(72) := g_package||'post_update';
435 --
436 Begin
437   hr_utility.set_location('Entering:'||l_proc, 5);
438   --
439   -- Start of API User Hook for post_update.
440   begin
441     pay_ppm_rku.after_update
442       (p_effective_date                 => p_effective_date
443       ,p_datetrack_mode                 => p_datetrack_mode
444       ,p_validation_start_date          => p_validation_start_date
445       ,p_validation_end_date            => p_validation_end_date
446       ,p_personal_payment_method_id     => p_rec.personal_payment_method_id
447       ,p_effective_start_date           => p_rec.effective_start_date
448       ,p_effective_end_date             => p_rec.effective_end_date
449       ,p_external_account_id            => p_rec.external_account_id
450       ,p_amount                         => p_rec.amount
451       ,p_comment_id                     => p_rec.comment_id
452       ,p_comments                       => p_rec.comments
453       ,p_percentage                     => p_rec.percentage
454       ,p_priority                       => p_rec.priority
455       ,p_attribute_category             => p_rec.attribute_category
456       ,p_attribute1                     => p_rec.attribute1
457       ,p_attribute2                     => p_rec.attribute2
458       ,p_attribute3                     => p_rec.attribute3
459       ,p_attribute4                     => p_rec.attribute4
460       ,p_attribute5                     => p_rec.attribute5
461       ,p_attribute6                     => p_rec.attribute6
462       ,p_attribute7                     => p_rec.attribute7
463       ,p_attribute8                     => p_rec.attribute8
464       ,p_attribute9                     => p_rec.attribute9
465       ,p_attribute10                    => p_rec.attribute10
466       ,p_attribute11                    => p_rec.attribute11
467       ,p_attribute12                    => p_rec.attribute12
468       ,p_attribute13                    => p_rec.attribute13
469       ,p_attribute14                    => p_rec.attribute14
470       ,p_attribute15                    => p_rec.attribute15
471       ,p_attribute16                    => p_rec.attribute16
472       ,p_attribute17                    => p_rec.attribute17
473       ,p_attribute18                    => p_rec.attribute18
474       ,p_attribute19                    => p_rec.attribute19
475       ,p_attribute20                    => p_rec.attribute20
476       ,p_object_version_number          => p_rec.object_version_number
477       ,p_payee_type                     => p_rec.payee_type
478       ,p_payee_id                       => p_rec.payee_id
479       ,p_ppm_information_category       => p_rec.ppm_information_category
480       ,p_ppm_information1               => p_rec.ppm_information1
481       ,p_ppm_information2               => p_rec.ppm_information2
482       ,p_ppm_information3               => p_rec.ppm_information3
483       ,p_ppm_information4               => p_rec.ppm_information4
484       ,p_ppm_information5               => p_rec.ppm_information5
485       ,p_ppm_information6               => p_rec.ppm_information6
486       ,p_ppm_information7               => p_rec.ppm_information7
487       ,p_ppm_information8               => p_rec.ppm_information8
488       ,p_ppm_information9               => p_rec.ppm_information9
489       ,p_ppm_information10              => p_rec.ppm_information10
490       ,p_ppm_information11              => p_rec.ppm_information11
491       ,p_ppm_information12              => p_rec.ppm_information12
492       ,p_ppm_information13              => p_rec.ppm_information13
493       ,p_ppm_information14              => p_rec.ppm_information14
494       ,p_ppm_information15              => p_rec.ppm_information15
495       ,p_ppm_information16              => p_rec.ppm_information16
496       ,p_ppm_information17              => p_rec.ppm_information17
497       ,p_ppm_information18              => p_rec.ppm_information18
498       ,p_ppm_information19              => p_rec.ppm_information19
499       ,p_ppm_information20              => p_rec.ppm_information20
500       ,p_ppm_information21              => p_rec.ppm_information21
501       ,p_ppm_information22              => p_rec.ppm_information22
502       ,p_ppm_information23              => p_rec.ppm_information23
503       ,p_ppm_information24              => p_rec.ppm_information24
504       ,p_ppm_information25              => p_rec.ppm_information25
505       ,p_ppm_information26              => p_rec.ppm_information26
506       ,p_ppm_information27              => p_rec.ppm_information27
507       ,p_ppm_information28              => p_rec.ppm_information28
508       ,p_ppm_information29              => p_rec.ppm_information29
509       ,p_ppm_information30              => p_rec.ppm_information30
510       ,p_effective_start_date_o
511           => pay_ppm_shd.g_old_rec.effective_start_date
512       ,p_effective_end_date_o
513           => pay_ppm_shd.g_old_rec.effective_end_date
514       ,p_business_group_id_o
515           => pay_ppm_shd.g_old_rec.business_group_id
516       ,p_external_account_id_o
517           => pay_ppm_shd.g_old_rec.external_account_id
518       ,p_assignment_id_o
519           => pay_ppm_shd.g_old_rec.assignment_id
520       ,p_org_payment_method_id_o
521           => pay_ppm_shd.g_old_rec.org_payment_method_id
522       ,p_amount_o
523           => pay_ppm_shd.g_old_rec.amount
524       ,p_comment_id_o
525           => pay_ppm_shd.g_old_rec.comment_id
526       ,p_percentage_o
527           => pay_ppm_shd.g_old_rec.percentage
528       ,p_priority_o
529           => pay_ppm_shd.g_old_rec.priority
530       ,p_attribute_category_o
531           => pay_ppm_shd.g_old_rec.attribute_category
532       ,p_attribute1_o
533           => pay_ppm_shd.g_old_rec.attribute1
534       ,p_attribute2_o
535           => pay_ppm_shd.g_old_rec.attribute2
536       ,p_attribute3_o
537           => pay_ppm_shd.g_old_rec.attribute3
538       ,p_attribute4_o
539           => pay_ppm_shd.g_old_rec.attribute4
540       ,p_attribute5_o
541           => pay_ppm_shd.g_old_rec.attribute5
542       ,p_attribute6_o
543           => pay_ppm_shd.g_old_rec.attribute6
544       ,p_attribute7_o
545           => pay_ppm_shd.g_old_rec.attribute7
546       ,p_attribute8_o
547           => pay_ppm_shd.g_old_rec.attribute8
548       ,p_attribute9_o
549           => pay_ppm_shd.g_old_rec.attribute9
550       ,p_attribute10_o
551           => pay_ppm_shd.g_old_rec.attribute10
552       ,p_attribute11_o
553           => pay_ppm_shd.g_old_rec.attribute11
554       ,p_attribute12_o
555           => pay_ppm_shd.g_old_rec.attribute12
556       ,p_attribute13_o
557           => pay_ppm_shd.g_old_rec.attribute13
558       ,p_attribute14_o
559           => pay_ppm_shd.g_old_rec.attribute14
560       ,p_attribute15_o
561           => pay_ppm_shd.g_old_rec.attribute15
562       ,p_attribute16_o
563           => pay_ppm_shd.g_old_rec.attribute16
564       ,p_attribute17_o
565           => pay_ppm_shd.g_old_rec.attribute17
566       ,p_attribute18_o
567           => pay_ppm_shd.g_old_rec.attribute18
568       ,p_attribute19_o
569           => pay_ppm_shd.g_old_rec.attribute19
570       ,p_attribute20_o
571           => pay_ppm_shd.g_old_rec.attribute20
572       ,p_object_version_number_o
573           => pay_ppm_shd.g_old_rec.object_version_number
574       ,p_payee_type_o
575           => pay_ppm_shd.g_old_rec.payee_type
576       ,p_payee_id_o
577           => pay_ppm_shd.g_old_rec.payee_id
578       ,p_ppm_information_category_o
579           => pay_ppm_shd.g_old_rec.ppm_information_category
580       ,p_ppm_information1_o
581           => pay_ppm_shd.g_old_rec.ppm_information1
582       ,p_ppm_information2_o
583           => pay_ppm_shd.g_old_rec.ppm_information2
584       ,p_ppm_information3_o
585           => pay_ppm_shd.g_old_rec.ppm_information3
586       ,p_ppm_information4_o
587           => pay_ppm_shd.g_old_rec.ppm_information4
588       ,p_ppm_information5_o
589           => pay_ppm_shd.g_old_rec.ppm_information5
590       ,p_ppm_information6_o
591           => pay_ppm_shd.g_old_rec.ppm_information6
592       ,p_ppm_information7_o
593           => pay_ppm_shd.g_old_rec.ppm_information7
594       ,p_ppm_information8_o
595           => pay_ppm_shd.g_old_rec.ppm_information8
596       ,p_ppm_information9_o
597           => pay_ppm_shd.g_old_rec.ppm_information9
598       ,p_ppm_information10_o
599           => pay_ppm_shd.g_old_rec.ppm_information10
600       ,p_ppm_information11_o
601           => pay_ppm_shd.g_old_rec.ppm_information11
602       ,p_ppm_information12_o
603           => pay_ppm_shd.g_old_rec.ppm_information12
604       ,p_ppm_information13_o
605           => pay_ppm_shd.g_old_rec.ppm_information13
606       ,p_ppm_information14_o
607           => pay_ppm_shd.g_old_rec.ppm_information14
608       ,p_ppm_information15_o
609           => pay_ppm_shd.g_old_rec.ppm_information15
610       ,p_ppm_information16_o
611           => pay_ppm_shd.g_old_rec.ppm_information16
612       ,p_ppm_information17_o
613           => pay_ppm_shd.g_old_rec.ppm_information17
614       ,p_ppm_information18_o
615           => pay_ppm_shd.g_old_rec.ppm_information18
616       ,p_ppm_information19_o
617           => pay_ppm_shd.g_old_rec.ppm_information19
618       ,p_ppm_information20_o
619           => pay_ppm_shd.g_old_rec.ppm_information20
620       ,p_ppm_information21_o
621           => pay_ppm_shd.g_old_rec.ppm_information21
622       ,p_ppm_information22_o
623           => pay_ppm_shd.g_old_rec.ppm_information22
624       ,p_ppm_information23_o
625           => pay_ppm_shd.g_old_rec.ppm_information23
626       ,p_ppm_information24_o
627           => pay_ppm_shd.g_old_rec.ppm_information24
628       ,p_ppm_information25_o
629           => pay_ppm_shd.g_old_rec.ppm_information25
630       ,p_ppm_information26_o
631           => pay_ppm_shd.g_old_rec.ppm_information26
632       ,p_ppm_information27_o
633           => pay_ppm_shd.g_old_rec.ppm_information27
634       ,p_ppm_information28_o
635           => pay_ppm_shd.g_old_rec.ppm_information28
636       ,p_ppm_information29_o
637           => pay_ppm_shd.g_old_rec.ppm_information29
638       ,p_ppm_information30_o
639           => pay_ppm_shd.g_old_rec.ppm_information30
640       );
641   exception
642     when hr_api.cannot_find_prog_unit then
643       hr_api.cannot_find_prog_unit_error
644         (p_module_name => 'PAY_PERSONAL_PAYMENT_METHODS_F'
645         ,p_hook_type   => 'AU'
646         );
647   end;
648   -- End of API User Hook for post_update.
649   --
650   hr_utility.set_location(' Leaving:'||l_proc, 10);
651 End post_update;
652 --
653 -- ----------------------------------------------------------------------------
654 -- |-----------------------------< convert_defs >-----------------------------|
655 -- ----------------------------------------------------------------------------
656 --
657 procedure convert_defs(p_rec in out nocopy pay_ppm_shd.g_rec_type) is
658 --
659   l_proc  varchar2(72) := g_package||'convert_defs';
660 --
661 Begin
662   --
663   hr_utility.set_location('Entering:'||l_proc, 5);
664   --
665   -- We must now examine each argument value in the
666   -- p_rec plsql record structure
667   -- to see if a system default is being used. If a system default
668   -- is being used then we must set to the 'current' argument value.
669   --
670   If (p_rec.business_group_id = hr_api.g_number) then
671     p_rec.business_group_id :=
672     pay_ppm_shd.g_old_rec.business_group_id;
673   End If;
674   If (p_rec.external_account_id = hr_api.g_number) then
675     p_rec.external_account_id :=
676     pay_ppm_shd.g_old_rec.external_account_id;
677   End If;
678   If (p_rec.assignment_id = hr_api.g_number) then
679     p_rec.assignment_id :=
680     pay_ppm_shd.g_old_rec.assignment_id;
681   End If;
682   If (p_rec.run_Type_id = hr_api.g_number) then
683     p_rec.run_Type_id :=
684     pay_ppm_shd.g_old_rec.run_Type_id;
685   End If;
686   If (p_rec.org_payment_method_id = hr_api.g_number) then
687     p_rec.org_payment_method_id :=
688     pay_ppm_shd.g_old_rec.org_payment_method_id;
689   End If;
690   If (p_rec.amount = hr_api.g_number) then
691     p_rec.amount :=
692     pay_ppm_shd.g_old_rec.amount;
693   End If;
694   If (p_rec.comment_id = hr_api.g_number) then
695     p_rec.comment_id :=
696     pay_ppm_shd.g_old_rec.comment_id;
697   End If;
698   If (p_rec.comments = hr_api.g_varchar2) then
699     p_rec.comments :=
700     pay_ppm_shd.g_old_rec.comments;
701   End If;
702   If (p_rec.percentage = hr_api.g_number) then
703     p_rec.percentage :=
704     pay_ppm_shd.g_old_rec.percentage;
705   End If;
706   If (p_rec.priority = hr_api.g_number) then
707     p_rec.priority :=
708     pay_ppm_shd.g_old_rec.priority;
709   End If;
710   If (p_rec.attribute_category = hr_api.g_varchar2) then
711     p_rec.attribute_category :=
712     pay_ppm_shd.g_old_rec.attribute_category;
713   End If;
714   If (p_rec.attribute1 = hr_api.g_varchar2) then
715     p_rec.attribute1 :=
716     pay_ppm_shd.g_old_rec.attribute1;
717   End If;
718   If (p_rec.attribute2 = hr_api.g_varchar2) then
719     p_rec.attribute2 :=
720     pay_ppm_shd.g_old_rec.attribute2;
721   End If;
722   If (p_rec.attribute3 = hr_api.g_varchar2) then
723     p_rec.attribute3 :=
724     pay_ppm_shd.g_old_rec.attribute3;
725   End If;
726   If (p_rec.attribute4 = hr_api.g_varchar2) then
727     p_rec.attribute4 :=
728     pay_ppm_shd.g_old_rec.attribute4;
729   End If;
730   If (p_rec.attribute5 = hr_api.g_varchar2) then
731     p_rec.attribute5 :=
732     pay_ppm_shd.g_old_rec.attribute5;
733   End If;
734   If (p_rec.attribute6 = hr_api.g_varchar2) then
735     p_rec.attribute6 :=
736     pay_ppm_shd.g_old_rec.attribute6;
737   End If;
738   If (p_rec.attribute7 = hr_api.g_varchar2) then
739     p_rec.attribute7 :=
740     pay_ppm_shd.g_old_rec.attribute7;
741   End If;
742   If (p_rec.attribute8 = hr_api.g_varchar2) then
743     p_rec.attribute8 :=
744     pay_ppm_shd.g_old_rec.attribute8;
745   End If;
746   If (p_rec.attribute9 = hr_api.g_varchar2) then
747     p_rec.attribute9 :=
748     pay_ppm_shd.g_old_rec.attribute9;
749   End If;
750   If (p_rec.attribute10 = hr_api.g_varchar2) then
751     p_rec.attribute10 :=
752     pay_ppm_shd.g_old_rec.attribute10;
753   End If;
754   If (p_rec.attribute11 = hr_api.g_varchar2) then
755     p_rec.attribute11 :=
756     pay_ppm_shd.g_old_rec.attribute11;
757   End If;
758   If (p_rec.attribute12 = hr_api.g_varchar2) then
759     p_rec.attribute12 :=
760     pay_ppm_shd.g_old_rec.attribute12;
761   End If;
762   If (p_rec.attribute13 = hr_api.g_varchar2) then
763     p_rec.attribute13 :=
764     pay_ppm_shd.g_old_rec.attribute13;
765   End If;
766   If (p_rec.attribute14 = hr_api.g_varchar2) then
767     p_rec.attribute14 :=
768     pay_ppm_shd.g_old_rec.attribute14;
769   End If;
770   If (p_rec.attribute15 = hr_api.g_varchar2) then
771     p_rec.attribute15 :=
772     pay_ppm_shd.g_old_rec.attribute15;
773   End If;
774   If (p_rec.attribute16 = hr_api.g_varchar2) then
775     p_rec.attribute16 :=
776     pay_ppm_shd.g_old_rec.attribute16;
777   End If;
778   If (p_rec.attribute17 = hr_api.g_varchar2) then
779     p_rec.attribute17 :=
780     pay_ppm_shd.g_old_rec.attribute17;
781   End If;
782   If (p_rec.attribute18 = hr_api.g_varchar2) then
783     p_rec.attribute18 :=
784     pay_ppm_shd.g_old_rec.attribute18;
785   End If;
786   If (p_rec.attribute19 = hr_api.g_varchar2) then
787     p_rec.attribute19 :=
788     pay_ppm_shd.g_old_rec.attribute19;
789   End If;
790   If (p_rec.attribute20 = hr_api.g_varchar2) then
791     p_rec.attribute20 :=
792     pay_ppm_shd.g_old_rec.attribute20;
793   End If;
794   If (p_rec.payee_type = hr_api.g_varchar2) then
795     p_rec.payee_type :=
796     pay_ppm_shd.g_old_rec.payee_type;
797   End If;
798   If (p_rec.payee_id = hr_api.g_number) then
799     p_rec.payee_id :=
800     pay_ppm_shd.g_old_rec.payee_id;
801   End If;
802   If (p_rec.ppm_information_category = hr_api.g_varchar2) then
803     p_rec.ppm_information_category :=
804     pay_ppm_shd.g_old_rec.ppm_information_category;
805   End If;
806   If (p_rec.ppm_information1 = hr_api.g_varchar2) then
807     p_rec.ppm_information1 :=
808     pay_ppm_shd.g_old_rec.ppm_information1;
809   End If;
810   If (p_rec.ppm_information2 = hr_api.g_varchar2) then
811     p_rec.ppm_information2 :=
812     pay_ppm_shd.g_old_rec.ppm_information2;
813   End If;
814   If (p_rec.ppm_information3 = hr_api.g_varchar2) then
815     p_rec.ppm_information3 :=
816     pay_ppm_shd.g_old_rec.ppm_information3;
817   End If;
818   If (p_rec.ppm_information4 = hr_api.g_varchar2) then
819     p_rec.ppm_information4 :=
820     pay_ppm_shd.g_old_rec.ppm_information4;
821   End If;
822   If (p_rec.ppm_information5 = hr_api.g_varchar2) then
823     p_rec.ppm_information5 :=
824     pay_ppm_shd.g_old_rec.ppm_information5;
825   End If;
826   If (p_rec.ppm_information6 = hr_api.g_varchar2) then
827     p_rec.ppm_information6 :=
828     pay_ppm_shd.g_old_rec.ppm_information6;
829   End If;
830   If (p_rec.ppm_information7 = hr_api.g_varchar2) then
831     p_rec.ppm_information7 :=
832     pay_ppm_shd.g_old_rec.ppm_information7;
833   End If;
834   If (p_rec.ppm_information8 = hr_api.g_varchar2) then
835     p_rec.ppm_information8 :=
836     pay_ppm_shd.g_old_rec.ppm_information8;
837   End If;
838   If (p_rec.ppm_information9 = hr_api.g_varchar2) then
839     p_rec.ppm_information9 :=
840     pay_ppm_shd.g_old_rec.ppm_information9;
841   End If;
842   If (p_rec.ppm_information10 = hr_api.g_varchar2) then
843     p_rec.ppm_information10 :=
844     pay_ppm_shd.g_old_rec.ppm_information10;
845   End If;
846   If (p_rec.ppm_information11 = hr_api.g_varchar2) then
847     p_rec.ppm_information11 :=
848     pay_ppm_shd.g_old_rec.ppm_information11;
849   End If;
850   If (p_rec.ppm_information12 = hr_api.g_varchar2) then
851     p_rec.ppm_information12 :=
852     pay_ppm_shd.g_old_rec.ppm_information12;
853   End If;
854   If (p_rec.ppm_information13 = hr_api.g_varchar2) then
855     p_rec.ppm_information13 :=
856     pay_ppm_shd.g_old_rec.ppm_information13;
857   End If;
858   If (p_rec.ppm_information14 = hr_api.g_varchar2) then
859     p_rec.ppm_information14 :=
860     pay_ppm_shd.g_old_rec.ppm_information14;
861   End If;
862   If (p_rec.ppm_information15 = hr_api.g_varchar2) then
863     p_rec.ppm_information15 :=
864     pay_ppm_shd.g_old_rec.ppm_information15;
865   End If;
866   If (p_rec.ppm_information16 = hr_api.g_varchar2) then
867     p_rec.ppm_information16 :=
868     pay_ppm_shd.g_old_rec.ppm_information16;
869   End If;
870   If (p_rec.ppm_information17 = hr_api.g_varchar2) then
871     p_rec.ppm_information17 :=
872     pay_ppm_shd.g_old_rec.ppm_information17;
873   End If;
874   If (p_rec.ppm_information18 = hr_api.g_varchar2) then
875     p_rec.ppm_information18 :=
876     pay_ppm_shd.g_old_rec.ppm_information18;
877   End If;
878   If (p_rec.ppm_information19 = hr_api.g_varchar2) then
879     p_rec.ppm_information19 :=
880     pay_ppm_shd.g_old_rec.ppm_information19;
881   End If;
882   If (p_rec.ppm_information20 = hr_api.g_varchar2) then
883     p_rec.ppm_information20 :=
884     pay_ppm_shd.g_old_rec.ppm_information20;
885   End If;
886   If (p_rec.ppm_information21 = hr_api.g_varchar2) then
887     p_rec.ppm_information21 :=
888     pay_ppm_shd.g_old_rec.ppm_information21;
889   End If;
890   If (p_rec.ppm_information22 = hr_api.g_varchar2) then
891     p_rec.ppm_information22 :=
892     pay_ppm_shd.g_old_rec.ppm_information22;
893   End If;
894   If (p_rec.ppm_information23 = hr_api.g_varchar2) then
895     p_rec.ppm_information23 :=
896     pay_ppm_shd.g_old_rec.ppm_information23;
897   End If;
898   If (p_rec.ppm_information24 = hr_api.g_varchar2) then
899     p_rec.ppm_information24 :=
900     pay_ppm_shd.g_old_rec.ppm_information24;
901   End If;
902   If (p_rec.ppm_information25 = hr_api.g_varchar2) then
903     p_rec.ppm_information25 :=
904     pay_ppm_shd.g_old_rec.ppm_information25;
905   End If;
906   If (p_rec.ppm_information26 = hr_api.g_varchar2) then
907     p_rec.ppm_information26 :=
908     pay_ppm_shd.g_old_rec.ppm_information26;
909   End If;
910   If (p_rec.ppm_information27 = hr_api.g_varchar2) then
911     p_rec.ppm_information27 :=
912     pay_ppm_shd.g_old_rec.ppm_information27;
913   End If;
914   If (p_rec.ppm_information28 = hr_api.g_varchar2) then
915     p_rec.ppm_information28 :=
916     pay_ppm_shd.g_old_rec.ppm_information28;
917   End If;
918   If (p_rec.ppm_information29 = hr_api.g_varchar2) then
919     p_rec.ppm_information29 :=
920     pay_ppm_shd.g_old_rec.ppm_information29;
921   End If;
922   If (p_rec.ppm_information30 = hr_api.g_varchar2) then
923     p_rec.ppm_information30 :=
924     pay_ppm_shd.g_old_rec.ppm_information30;
925   End If;
926   --
927   -- Return the plsql record structure.
928   --
929   hr_utility.set_location(' Leaving:'||l_proc, 10);
930 --
931 End convert_defs;
932 --
933 -- ----------------------------------------------------------------------------
934 -- |---------------------------------< upd >----------------------------------|
935 -- ----------------------------------------------------------------------------
936 Procedure upd
937   (
938   p_rec			in out 	nocopy pay_ppm_shd.g_rec_type,
939   p_effective_date	in 	date,
940   p_datetrack_mode	in 	varchar2,
941   p_validate		in 	boolean default false
942   ) is
943 --
944   l_proc			varchar2(72) := g_package||'upd';
945   l_validation_start_date	date;
946   l_validation_end_date		date;
947 --
948 -- In Out parameter
949 --
950   l_object_version_number        number;
951 --
952 Begin
953   hr_utility.set_location('Entering:'||l_proc, 5);
954   --
955   -- Ensure that the DateTrack update mode is valid
956   --
957   dt_api.validate_dt_upd_mode(p_datetrack_mode => p_datetrack_mode);
958   --
959   -- Determine if the business process is to be validated.
960   --
961   If p_validate then
962     --
963     -- Assign out and in-out parameters to local variables
964     -- and issue the savepoint.
965     --
966     l_object_version_number := p_rec.object_version_number;
967     --
968     SAVEPOINT upd_pay_ppm;
969   End If;
970   --
971   -- We must lock the row which we need to update.
972   --
973   pay_ppm_shd.lck
974 	(p_effective_date	 => p_effective_date,
975       	 p_datetrack_mode	 => p_datetrack_mode,
976       	 p_personal_payment_method_id	 => p_rec.personal_payment_method_id,
977       	 p_object_version_number => p_rec.object_version_number,
978       	 p_validation_start_date => l_validation_start_date,
979       	 p_validation_end_date	 => l_validation_end_date);
980   --
981   -- 1. During an update system defaults are used to determine if
982   --    arguments have been defaulted or not. We must therefore
983   --    derive the full record structure values to be updated.
984   --
985   -- 2. Call the supporting update validate operations.
986   --
987   convert_defs(p_rec);
988   pay_ppm_bus.update_validate
989 	(p_rec			 => p_rec,
990 	 p_effective_date	 => p_effective_date,
991 	 p_datetrack_mode  	 => p_datetrack_mode,
992 	 p_validation_start_date => l_validation_start_date,
993 	 p_validation_end_date	 => l_validation_end_date);
994   --
995   -- Call the supporting pre-update operation
996   --
997   pre_update
998 	(p_rec			 => p_rec,
999 	 p_effective_date	 => p_effective_date,
1000 	 p_datetrack_mode	 => p_datetrack_mode,
1001 	 p_validation_start_date => l_validation_start_date,
1002 	 p_validation_end_date	 => l_validation_end_date);
1003   --
1004   -- Update the row.
1005   --
1006   update_dml
1007 	(p_rec			 => p_rec,
1008 	 p_effective_date	 => p_effective_date,
1009 	 p_datetrack_mode	 => p_datetrack_mode,
1010 	 p_validation_start_date => l_validation_start_date,
1011 	 p_validation_end_date	 => l_validation_end_date);
1012   --
1013   -- Call the supporting post-update operation
1014   --
1015   post_update
1016 	(p_rec			 => p_rec,
1017 	 p_effective_date	 => p_effective_date,
1018 	 p_datetrack_mode	 => p_datetrack_mode,
1019 	 p_validation_start_date => l_validation_start_date,
1020 	 p_validation_end_date	 => l_validation_end_date);
1021   --
1022   -- If we are validating then raise the Validate_Enabled exception
1023   --
1024   If p_validate then
1025     Raise HR_Api.Validate_Enabled;
1026   End If;
1027   --
1028   hr_utility.set_location(' Leaving:'||l_proc, 10);
1029 Exception
1030   When HR_Api.Validate_Enabled Then
1031     --
1032     -- As the Validate_Enabled exception has been raised
1033     -- we must rollback to the savepoint
1034     --
1035     p_rec.object_version_number := l_object_version_number;
1036     p_rec.effective_start_date  := null;
1037     p_rec.effective_end_date    := null;
1038     p_rec.comment_id            := null;
1039     --
1040     ROLLBACK TO upd_pay_ppm;
1041 End upd;
1042 --
1043 -- ----------------------------------------------------------------------------
1044 -- |---------------------------------< upd >----------------------------------|
1045 -- ----------------------------------------------------------------------------
1046 Procedure upd
1047   (
1048   p_personal_payment_method_id   in number,
1049   p_effective_start_date         out nocopy date,
1050   p_effective_end_date           out nocopy date,
1051   p_external_account_id          in number           default hr_api.g_number,
1052   p_amount                       in number           default hr_api.g_number,
1053   p_comment_id                   out nocopy number,
1054   p_comments                     in varchar2         default hr_api.g_varchar2,
1055   p_percentage                   in number           default hr_api.g_number,
1056   p_priority                     in number           default hr_api.g_number,
1057   p_attribute_category           in varchar2         default hr_api.g_varchar2,
1058   p_attribute1                   in varchar2         default hr_api.g_varchar2,
1059   p_attribute2                   in varchar2         default hr_api.g_varchar2,
1060   p_attribute3                   in varchar2         default hr_api.g_varchar2,
1061   p_attribute4                   in varchar2         default hr_api.g_varchar2,
1062   p_attribute5                   in varchar2         default hr_api.g_varchar2,
1063   p_attribute6                   in varchar2         default hr_api.g_varchar2,
1064   p_attribute7                   in varchar2         default hr_api.g_varchar2,
1065   p_attribute8                   in varchar2         default hr_api.g_varchar2,
1066   p_attribute9                   in varchar2         default hr_api.g_varchar2,
1067   p_attribute10                  in varchar2         default hr_api.g_varchar2,
1068   p_attribute11                  in varchar2         default hr_api.g_varchar2,
1069   p_attribute12                  in varchar2         default hr_api.g_varchar2,
1070   p_attribute13                  in varchar2         default hr_api.g_varchar2,
1071   p_attribute14                  in varchar2         default hr_api.g_varchar2,
1072   p_attribute15                  in varchar2         default hr_api.g_varchar2,
1073   p_attribute16                  in varchar2         default hr_api.g_varchar2,
1074   p_attribute17                  in varchar2         default hr_api.g_varchar2,
1075   p_attribute18                  in varchar2         default hr_api.g_varchar2,
1076   p_attribute19                  in varchar2         default hr_api.g_varchar2,
1077   p_attribute20                  in varchar2         default hr_api.g_varchar2,
1078   p_object_version_number        in out nocopy number,
1079   p_payee_type                   in varchar2         default hr_api.g_varchar2,
1080   p_payee_id                     in number           default hr_api.g_number,
1081   p_effective_date		 in date,
1082   p_datetrack_mode		 in varchar2,
1083   p_validate			 in boolean          default false,
1084   p_ppm_information_category     in varchar2         default hr_api.g_varchar2,
1085   p_ppm_information1             in varchar2         default hr_api.g_varchar2,
1086   p_ppm_information2             in varchar2         default hr_api.g_varchar2,
1087   p_ppm_information3             in varchar2         default hr_api.g_varchar2,
1088   p_ppm_information4             in varchar2         default hr_api.g_varchar2,
1089   p_ppm_information5             in varchar2         default hr_api.g_varchar2,
1090   p_ppm_information6             in varchar2         default hr_api.g_varchar2,
1091   p_ppm_information7             in varchar2         default hr_api.g_varchar2,
1092   p_ppm_information8             in varchar2         default hr_api.g_varchar2,
1093   p_ppm_information9             in varchar2         default hr_api.g_varchar2,
1094   p_ppm_information10            in varchar2         default hr_api.g_varchar2,
1095   p_ppm_information11            in varchar2         default hr_api.g_varchar2,
1096   p_ppm_information12            in varchar2         default hr_api.g_varchar2,
1097   p_ppm_information13            in varchar2         default hr_api.g_varchar2,
1098   p_ppm_information14            in varchar2         default hr_api.g_varchar2,
1099   p_ppm_information15            in varchar2         default hr_api.g_varchar2,
1100   p_ppm_information16            in varchar2         default hr_api.g_varchar2,
1101   p_ppm_information17            in varchar2         default hr_api.g_varchar2,
1102   p_ppm_information18            in varchar2         default hr_api.g_varchar2,
1103   p_ppm_information19            in varchar2         default hr_api.g_varchar2,
1104   p_ppm_information20            in varchar2         default hr_api.g_varchar2,
1105   p_ppm_information21            in varchar2         default hr_api.g_varchar2,
1106   p_ppm_information22            in varchar2         default hr_api.g_varchar2,
1107   p_ppm_information23            in varchar2         default hr_api.g_varchar2,
1108   p_ppm_information24            in varchar2         default hr_api.g_varchar2,
1109   p_ppm_information25            in varchar2         default hr_api.g_varchar2,
1110   p_ppm_information26            in varchar2         default hr_api.g_varchar2,
1111   p_ppm_information27            in varchar2         default hr_api.g_varchar2,
1112   p_ppm_information28            in varchar2         default hr_api.g_varchar2,
1113   p_ppm_information29            in varchar2         default hr_api.g_varchar2,
1114   p_ppm_information30            in varchar2         default hr_api.g_varchar2
1115   ) is
1116 --
1117   l_rec		pay_ppm_shd.g_rec_type;
1118   l_proc	varchar2(72) := g_package||'upd';
1119 --
1120 Begin
1121   hr_utility.set_location('Entering:'||l_proc, 5);
1122   --
1123   -- Call conversion function to turn arguments into the
1124   -- l_rec structure.
1125   --
1126   l_rec :=
1127   pay_ppm_shd.convert_args
1128   (
1129   p_personal_payment_method_id,
1130   null,
1131   null,
1132   hr_api.g_number,
1133   p_external_account_id,
1134   hr_api.g_number,
1135   hr_api.g_number,
1136   hr_api.g_number,
1137   p_amount,
1138   hr_api.g_number,
1139   p_comments,
1140   p_percentage,
1141   p_priority,
1142   p_attribute_category,
1143   p_attribute1,
1144   p_attribute2,
1145   p_attribute3,
1146   p_attribute4,
1147   p_attribute5,
1148   p_attribute6,
1149   p_attribute7,
1150   p_attribute8,
1151   p_attribute9,
1152   p_attribute10,
1153   p_attribute11,
1154   p_attribute12,
1155   p_attribute13,
1156   p_attribute14,
1157   p_attribute15,
1158   p_attribute16,
1159   p_attribute17,
1160   p_attribute18,
1161   p_attribute19,
1162   p_attribute20,
1163   p_object_version_number,
1164   p_payee_type,
1165   p_payee_id,
1166   p_ppm_information_category,
1167   p_ppm_information1,
1168   p_ppm_information2,
1169   p_ppm_information3,
1170   p_ppm_information4,
1171   p_ppm_information5,
1172   p_ppm_information6,
1173   p_ppm_information7,
1174   p_ppm_information8,
1175   p_ppm_information9,
1176   p_ppm_information10,
1177   p_ppm_information11,
1178   p_ppm_information12,
1179   p_ppm_information13,
1180   p_ppm_information14,
1181   p_ppm_information15,
1182   p_ppm_information16,
1183   p_ppm_information17,
1184   p_ppm_information18,
1185   p_ppm_information19,
1186   p_ppm_information20,
1187   p_ppm_information21,
1188   p_ppm_information22,
1189   p_ppm_information23,
1190   p_ppm_information24,
1191   p_ppm_information25,
1192   p_ppm_information26,
1193   p_ppm_information27,
1194   p_ppm_information28,
1195   p_ppm_information29,
1196   p_ppm_information30
1197   );
1198   --
1199   -- Having converted the arguments into the
1200   -- plsql record structure we call the corresponding record
1201   -- business process.
1202   --
1203   upd(l_rec, p_effective_date, p_datetrack_mode, p_validate);
1204   p_object_version_number       := l_rec.object_version_number;
1205   p_effective_start_date        := l_rec.effective_start_date;
1206   p_effective_end_date          := l_rec.effective_end_date;
1207   p_comment_id                  := l_rec.comment_id;
1208   --
1209   hr_utility.set_location(' Leaving:'||l_proc, 10);
1210 End upd;
1211 --
1212 end pay_ppm_upd;