DBA Data[Home] [Help]

PACKAGE BODY: APPS.PSP_PEE_UPD

Source


1 Package Body psp_pee_upd as
2 /* $Header: PSPEERHB.pls 120.3 2006/02/08 05:35 dpaudel noship $ */
3 --
4 -- ----------------------------------------------------------------------------
5 -- |                     Private Global Definitions                           |
6 -- ----------------------------------------------------------------------------
7 --
8 g_package  varchar2(33) := '  psp_pee_upd.';  -- Global package name
9 --
10 -- ----------------------------------------------------------------------------
11 -- |------------------------------< update_dml >------------------------------|
12 -- ----------------------------------------------------------------------------
13 -- {Start Of Comments}
14 --
15 -- Description:
16 --   This procedure controls the actual dml update logic. The processing of
17 --   this procedure is:
18 --   1) Increment the object_version_number by 1 if the object_version_number
19 --      is defined as an attribute for this entity.
20 --   2) To set and unset the g_api_dml status as required (as we are about to
21 --      perform dml).
22 --   3) To update the specified row in the schema using the primary key in
23 --      the predicates.
24 --   4) To trap any constraint violations that may have occurred.
25 --   5) To raise any other errors.
26 --
27 -- Prerequisites:
28 --   This is an internal private procedure which must be called from the upd
29 --   procedure.
30 --
31 -- In Parameters:
32 --   A Pl/Sql record structre.
33 --
34 -- Post Success:
35 --   The specified row will be updated in the schema.
36 --
37 -- Post Failure:
38 --   On the update dml failure it is important to note that we always reset the
39 --   g_api_dml status to false.
40 --   If a check, unique or parent integrity constraint violation is raised the
41 --   constraint_error procedure will be called.
42 --   If any other error is reported, the error will be raised after the
43 --   g_api_dml status is reset.
44 --
45 -- Developer Implementation Notes:
46 --   The update 'set' attribute list should be modified if any of your
47 --   attributes are not updateable.
48 --
49 -- Access Status:
50 --   Internal Row Handler Use Only.
51 --
52 -- {End Of Comments}
53 -- ----------------------------------------------------------------------------
54 Procedure update_dml
55   (p_rec in out nocopy psp_pee_shd.g_rec_type
56   ) is
57 --
58   l_proc  varchar2(72) := g_package||'update_dml';
59 --
60 Begin
61   hr_utility.set_location('Entering:'||l_proc, 5);
62   --
63   -- Increment the object version
64   p_rec.object_version_number := p_rec.object_version_number + 1;
65   --
66   --
67   --
68   -- Update the psp_external_effort_lines Row
69   --
70   update psp_external_effort_lines
71     set
72      external_effort_line_id         = p_rec.external_effort_line_id
73     ,batch_name                      = p_rec.batch_name
74     ,object_version_number           = p_rec.object_version_number
75     ,distribution_date               = p_rec.distribution_date
76     ,person_id                       = p_rec.person_id
77     ,assignment_id                   = p_rec.assignment_id
78     ,currency_code                   = p_rec.currency_code
79     ,distribution_amount             = p_rec.distribution_amount
80     ,business_group_id               = p_rec.business_group_id
81     ,set_of_books_id                 = p_rec.set_of_books_id
82     ,gl_code_combination_id          = p_rec.gl_code_combination_id
83     ,project_id                      = p_rec.project_id
84     ,task_id                         = p_rec.task_id
85     ,award_id                        = p_rec.award_id
86     ,expenditure_organization_id     = p_rec.expenditure_organization_id
87     ,expenditure_type                = p_rec.expenditure_type
88     ,attribute_category              = p_rec.attribute_category
89     ,attribute1                      = p_rec.attribute1
90     ,attribute2                      = p_rec.attribute2
91     ,attribute3                      = p_rec.attribute3
92     ,attribute4                      = p_rec.attribute4
93     ,attribute5                      = p_rec.attribute5
94     ,attribute6                      = p_rec.attribute6
95     ,attribute7                      = p_rec.attribute7
96     ,attribute8                      = p_rec.attribute8
97     ,attribute9                      = p_rec.attribute9
98     ,attribute10                     = p_rec.attribute10
99     ,attribute11                     = p_rec.attribute11
100     ,attribute12                     = p_rec.attribute12
101     ,attribute13                     = p_rec.attribute13
102     ,attribute14                     = p_rec.attribute14
103     ,attribute15                     = p_rec.attribute15
104     where external_effort_line_id = p_rec.external_effort_line_id;
105   --
106   --
107   --
108   hr_utility.set_location(' Leaving:'||l_proc, 10);
109 --
110 Exception
111   When hr_api.check_integrity_violated Then
112     -- A check constraint has been violated
113     --
114     psp_pee_shd.constraint_error
115       (p_constraint_name => hr_api.strip_constraint_name(SQLERRM));
116   When hr_api.parent_integrity_violated Then
117     -- Parent integrity has been violated
118     --
119     psp_pee_shd.constraint_error
120       (p_constraint_name => hr_api.strip_constraint_name(SQLERRM));
121   When hr_api.unique_integrity_violated Then
122     -- Unique integrity has been violated
123     --
124     psp_pee_shd.constraint_error
125       (p_constraint_name => hr_api.strip_constraint_name(SQLERRM));
126   When Others Then
127     --
128     Raise;
129 End update_dml;
130 --
131 -- ----------------------------------------------------------------------------
132 -- |------------------------------< pre_update >------------------------------|
133 -- ----------------------------------------------------------------------------
134 -- {Start Of Comments}
135 --
136 -- Description:
137 --   This private procedure contains any processing which is required before
138 --   the update dml.
139 --
140 -- Prerequisites:
141 --   This is an internal procedure which is called from the upd procedure.
142 --
143 -- In Parameters:
144 --   A Pl/Sql record structure.
145 --
146 -- Post Success:
147 --   Processing continues.
148 --
149 -- Post Failure:
150 --   If an error has occurred, an error message and exception wil be raised
151 --   but not handled.
152 --
153 -- Developer Implementation Notes:
154 --   Any pre-processing required before the update dml is issued should be
155 --   coded within this procedure. It is important to note that any 3rd party
156 --   maintenance should be reviewed before placing in this procedure.
157 --
158 -- Access Status:
159 --   Internal Row Handler Use Only.
160 --
161 -- {End Of Comments}
162 -- ----------------------------------------------------------------------------
163 Procedure pre_update
164   (p_rec in psp_pee_shd.g_rec_type
165   ) is
166 --
167   l_proc  varchar2(72) := g_package||'pre_update';
168 --
169 Begin
170   hr_utility.set_location('Entering:'||l_proc, 5);
171   --
172   hr_utility.set_location(' Leaving:'||l_proc, 10);
173 End pre_update;
174 --
175 -- ----------------------------------------------------------------------------
176 -- |-----------------------------< post_update >------------------------------|
177 -- ----------------------------------------------------------------------------
178 -- {Start Of Comments}
179 --
180 -- Description:
181 --   This private procedure contains any processing which is required after
182 --   the update dml.
183 --
184 -- Prerequisites:
185 --   This is an internal procedure which is called from the upd procedure.
186 --
187 -- In Parameters:
188 --   A Pl/Sql record structure.
189 --
190 -- Post Success:
191 --   Processing continues.
192 --
193 -- Post Failure:
194 --   If an error has occurred, an error message and exception will be raised
195 --   but not handled.
196 --
197 -- Developer Implementation Notes:
198 --   Any post-processing required after the update dml is issued should be
199 --   coded within this procedure. It is important to note that any 3rd party
200 --   maintenance should be reviewed before placing in this procedure.
201 --
202 -- Access Status:
203 --   Internal Row Handler Use Only.
204 --
205 -- {End Of Comments}
206 -- ----------------------------------------------------------------------------
207 Procedure post_update
208   (p_rec                          in psp_pee_shd.g_rec_type
209   ) is
210 --
211   l_proc  varchar2(72) := g_package||'post_update';
212 --
213 Begin
214   hr_utility.set_location('Entering:'||l_proc, 5);
215   begin
216     --
217     psp_pee_rku.after_update
218       (p_external_effort_line_id
219       => p_rec.external_effort_line_id
220       ,p_batch_name
221       => p_rec.batch_name
222       ,p_object_version_number
223       => p_rec.object_version_number
224       ,p_distribution_date
225       => p_rec.distribution_date
226       ,p_person_id
227       => p_rec.person_id
228       ,p_assignment_id
229       => p_rec.assignment_id
230       ,p_currency_code
231       => p_rec.currency_code
232       ,p_distribution_amount
233       => p_rec.distribution_amount
234       ,p_business_group_id
235       => p_rec.business_group_id
236       ,p_set_of_books_id
237       => p_rec.set_of_books_id
238       ,p_gl_code_combination_id
239       => p_rec.gl_code_combination_id
240       ,p_project_id
241       => p_rec.project_id
242       ,p_task_id
243       => p_rec.task_id
244       ,p_award_id
245       => p_rec.award_id
246       ,p_expenditure_organization_id
247       => p_rec.expenditure_organization_id
248       ,p_expenditure_type
249       => p_rec.expenditure_type
250       ,p_attribute_category
251       => p_rec.attribute_category
252       ,p_attribute1
253       => p_rec.attribute1
254       ,p_attribute2
255       => p_rec.attribute2
256       ,p_attribute3
257       => p_rec.attribute3
258       ,p_attribute4
259       => p_rec.attribute4
260       ,p_attribute5
261       => p_rec.attribute5
262       ,p_attribute6
263       => p_rec.attribute6
264       ,p_attribute7
265       => p_rec.attribute7
266       ,p_attribute8
267       => p_rec.attribute8
268       ,p_attribute9
269       => p_rec.attribute9
270       ,p_attribute10
271       => p_rec.attribute10
272       ,p_attribute11
273       => p_rec.attribute11
274       ,p_attribute12
275       => p_rec.attribute12
276       ,p_attribute13
277       => p_rec.attribute13
278       ,p_attribute14
279       => p_rec.attribute14
280       ,p_attribute15
281       => p_rec.attribute15
282       ,p_batch_name_o
283       => psp_pee_shd.g_old_rec.batch_name
284       ,p_object_version_number_o
285       => psp_pee_shd.g_old_rec.object_version_number
286       ,p_distribution_date_o
287       => psp_pee_shd.g_old_rec.distribution_date
288       ,p_person_id_o
289       => psp_pee_shd.g_old_rec.person_id
290       ,p_assignment_id_o
291       => psp_pee_shd.g_old_rec.assignment_id
292       ,p_currency_code_o
293       => psp_pee_shd.g_old_rec.currency_code
294       ,p_distribution_amount_o
295       => psp_pee_shd.g_old_rec.distribution_amount
296       ,p_business_group_id_o
297       => psp_pee_shd.g_old_rec.business_group_id
298       ,p_set_of_books_id_o
299       => psp_pee_shd.g_old_rec.set_of_books_id
300       ,p_gl_code_combination_id_o
301       => psp_pee_shd.g_old_rec.gl_code_combination_id
302       ,p_project_id_o
303       => psp_pee_shd.g_old_rec.project_id
304       ,p_task_id_o
305       => psp_pee_shd.g_old_rec.task_id
306       ,p_award_id_o
307       => psp_pee_shd.g_old_rec.award_id
308       ,p_expenditure_organization_i_o
309       => psp_pee_shd.g_old_rec.expenditure_organization_id
310       ,p_expenditure_type_o
311       => psp_pee_shd.g_old_rec.expenditure_type
312       ,p_attribute_category_o
313       => psp_pee_shd.g_old_rec.attribute_category
314       ,p_attribute1_o
315       => psp_pee_shd.g_old_rec.attribute1
316       ,p_attribute2_o
317       => psp_pee_shd.g_old_rec.attribute2
318       ,p_attribute3_o
319       => psp_pee_shd.g_old_rec.attribute3
320       ,p_attribute4_o
321       => psp_pee_shd.g_old_rec.attribute4
322       ,p_attribute5_o
323       => psp_pee_shd.g_old_rec.attribute5
324       ,p_attribute6_o
325       => psp_pee_shd.g_old_rec.attribute6
326       ,p_attribute7_o
327       => psp_pee_shd.g_old_rec.attribute7
328       ,p_attribute8_o
329       => psp_pee_shd.g_old_rec.attribute8
330       ,p_attribute9_o
331       => psp_pee_shd.g_old_rec.attribute9
332       ,p_attribute10_o
333       => psp_pee_shd.g_old_rec.attribute10
334       ,p_attribute11_o
335       => psp_pee_shd.g_old_rec.attribute11
336       ,p_attribute12_o
337       => psp_pee_shd.g_old_rec.attribute12
338       ,p_attribute13_o
339       => psp_pee_shd.g_old_rec.attribute13
340       ,p_attribute14_o
341       => psp_pee_shd.g_old_rec.attribute14
342       ,p_attribute15_o
343       => psp_pee_shd.g_old_rec.attribute15
344       );
345     --
346   exception
347     --
348     when hr_api.cannot_find_prog_unit then
349       --
350       hr_api.cannot_find_prog_unit_error
351         (p_module_name => 'PSP_EXTERNAL_EFFORT_LINES'
352         ,p_hook_type   => 'AU');
353       --
354   end;
355   --
356   hr_utility.set_location(' Leaving:'||l_proc, 10);
357 End post_update;
358 --
359 -- ----------------------------------------------------------------------------
360 -- |-----------------------------< convert_defs >-----------------------------|
361 -- ----------------------------------------------------------------------------
362 -- {Start Of Comments}
363 --
364 -- Description:
365 --   The Convert_Defs procedure has one very important function:
366 --   It must return the record structure for the row with all system defaulted
367 --   values converted into its corresponding parameter value for update. When
368 --   we attempt to update a row through the Upd process , certain
369 --   parameters can be defaulted which enables flexibility in the calling of
370 --   the upd process (e.g. only attributes which need to be updated need to be
371 --   specified). For the upd process to determine which attributes
372 --   have NOT been specified we need to check if the parameter has a reserved
373 --   system default value. Therefore, for all parameters which have a
374 --   corresponding reserved system default mechanism specified we need to
375 --   check if a system default is being used. If a system default is being
376 --   used then we convert the defaulted value into its corresponding attribute
377 --   value held in the g_old_rec data structure.
378 --
379 -- Prerequisites:
380 --   This private function can only be called from the upd process.
381 --
382 -- In Parameters:
383 --   A Pl/Sql record structure.
384 --
385 -- Post Success:
386 --   The record structure will be returned with all system defaulted parameter
387 --   values converted into its current row attribute value.
388 --
389 -- Post Failure:
390 --   No direct error handling is required within this function. Any possible
391 --   errors within this procedure will be a PL/SQL value error due to
392 --   conversion of datatypes or data lengths.
393 --
394 -- Developer Implementation Notes:
395 --   None.
396 --
397 -- Access Status:
398 --   Internal Row Handler Use Only.
399 --
400 -- {End Of Comments}
401 -- ----------------------------------------------------------------------------
402 Procedure convert_defs
403   (p_rec in out nocopy psp_pee_shd.g_rec_type
404   ) is
405 --
406 Begin
407   --
408   -- We must now examine each argument value in the
409   -- p_rec plsql record structure
410   -- to see if a system default is being used. If a system default
411   -- is being used then we must set to the 'current' argument value.
412   --
413   If (p_rec.batch_name = hr_api.g_varchar2) then
414     p_rec.batch_name :=
415     psp_pee_shd.g_old_rec.batch_name;
416   End If;
417   If (p_rec.distribution_date = hr_api.g_date) then
418     p_rec.distribution_date :=
419     psp_pee_shd.g_old_rec.distribution_date;
420   End If;
421   If (p_rec.person_id = hr_api.g_number) then
422     p_rec.person_id :=
423     psp_pee_shd.g_old_rec.person_id;
424   End If;
425   If (p_rec.assignment_id = hr_api.g_number) then
426     p_rec.assignment_id :=
427     psp_pee_shd.g_old_rec.assignment_id;
428   End If;
429   If (p_rec.currency_code = hr_api.g_varchar2) then
430     p_rec.currency_code :=
431     psp_pee_shd.g_old_rec.currency_code;
432   End If;
433   If (p_rec.distribution_amount = hr_api.g_number) then
434     p_rec.distribution_amount :=
435     psp_pee_shd.g_old_rec.distribution_amount;
436   End If;
437   If (p_rec.business_group_id = hr_api.g_number) then
438     p_rec.business_group_id :=
439     psp_pee_shd.g_old_rec.business_group_id;
440   End If;
441   If (p_rec.set_of_books_id = hr_api.g_number) then
442     p_rec.set_of_books_id :=
443     psp_pee_shd.g_old_rec.set_of_books_id;
444   End If;
445   If (p_rec.gl_code_combination_id = hr_api.g_number) then
446     p_rec.gl_code_combination_id :=
447     psp_pee_shd.g_old_rec.gl_code_combination_id;
448   End If;
449   If (p_rec.project_id = hr_api.g_number) then
450     p_rec.project_id :=
451     psp_pee_shd.g_old_rec.project_id;
452   End If;
453   If (p_rec.task_id = hr_api.g_number) then
454     p_rec.task_id :=
455     psp_pee_shd.g_old_rec.task_id;
456   End If;
457   If (p_rec.award_id = hr_api.g_number) then
458     p_rec.award_id :=
459     psp_pee_shd.g_old_rec.award_id;
460   End If;
461   If (p_rec.expenditure_organization_id = hr_api.g_number) then
462     p_rec.expenditure_organization_id :=
463     psp_pee_shd.g_old_rec.expenditure_organization_id;
464   End If;
465   If (p_rec.expenditure_type = hr_api.g_varchar2) then
466     p_rec.expenditure_type :=
467     psp_pee_shd.g_old_rec.expenditure_type;
468   End If;
469   If (p_rec.attribute_category = hr_api.g_varchar2) then
470     p_rec.attribute_category :=
471     psp_pee_shd.g_old_rec.attribute_category;
472   End If;
473   If (p_rec.attribute1 = hr_api.g_varchar2) then
474     p_rec.attribute1 :=
475     psp_pee_shd.g_old_rec.attribute1;
476   End If;
477   If (p_rec.attribute2 = hr_api.g_varchar2) then
478     p_rec.attribute2 :=
479     psp_pee_shd.g_old_rec.attribute2;
480   End If;
481   If (p_rec.attribute3 = hr_api.g_varchar2) then
482     p_rec.attribute3 :=
483     psp_pee_shd.g_old_rec.attribute3;
484   End If;
485   If (p_rec.attribute4 = hr_api.g_varchar2) then
486     p_rec.attribute4 :=
487     psp_pee_shd.g_old_rec.attribute4;
488   End If;
489   If (p_rec.attribute5 = hr_api.g_varchar2) then
490     p_rec.attribute5 :=
491     psp_pee_shd.g_old_rec.attribute5;
492   End If;
493   If (p_rec.attribute6 = hr_api.g_varchar2) then
494     p_rec.attribute6 :=
495     psp_pee_shd.g_old_rec.attribute6;
496   End If;
497   If (p_rec.attribute7 = hr_api.g_varchar2) then
498     p_rec.attribute7 :=
499     psp_pee_shd.g_old_rec.attribute7;
500   End If;
501   If (p_rec.attribute8 = hr_api.g_varchar2) then
502     p_rec.attribute8 :=
503     psp_pee_shd.g_old_rec.attribute8;
504   End If;
505   If (p_rec.attribute9 = hr_api.g_varchar2) then
506     p_rec.attribute9 :=
507     psp_pee_shd.g_old_rec.attribute9;
508   End If;
509   If (p_rec.attribute10 = hr_api.g_varchar2) then
510     p_rec.attribute10 :=
511     psp_pee_shd.g_old_rec.attribute10;
512   End If;
513   If (p_rec.attribute11 = hr_api.g_varchar2) then
514     p_rec.attribute11 :=
515     psp_pee_shd.g_old_rec.attribute11;
516   End If;
517   If (p_rec.attribute12 = hr_api.g_varchar2) then
518     p_rec.attribute12 :=
519     psp_pee_shd.g_old_rec.attribute12;
520   End If;
521   If (p_rec.attribute13 = hr_api.g_varchar2) then
522     p_rec.attribute13 :=
523     psp_pee_shd.g_old_rec.attribute13;
524   End If;
525   If (p_rec.attribute14 = hr_api.g_varchar2) then
526     p_rec.attribute14 :=
527     psp_pee_shd.g_old_rec.attribute14;
528   End If;
529   If (p_rec.attribute15 = hr_api.g_varchar2) then
530     p_rec.attribute15 :=
531     psp_pee_shd.g_old_rec.attribute15;
532   End If;
533   --
534 End convert_defs;
535 --
536 -- ----------------------------------------------------------------------------
537 -- |---------------------------------< upd >----------------------------------|
538 -- ----------------------------------------------------------------------------
539 Procedure upd
540   (p_rec                          in out nocopy psp_pee_shd.g_rec_type
541   ) is
542 --
543   l_proc  varchar2(72) := g_package||'upd';
544 --
545 Begin
546   hr_utility.set_location('Entering:'||l_proc, 5);
547   --
548   -- We must lock the row which we need to update.
549   --
550   psp_pee_shd.lck
551     (p_rec.external_effort_line_id
552     ,p_rec.object_version_number
553     );
554   --
555   -- 1. During an update system defaults are used to determine if
556   --    arguments have been defaulted or not. We must therefore
557   --    derive the full record structure values to be updated.
558   --
559   -- 2. Call the supporting update validate operations.
560   --
561   convert_defs(p_rec);
562   psp_pee_bus.update_validate
563      (p_rec
564      );
565   --
566   -- Call to raise any errors on multi-message list
567   hr_multi_message.end_validation_set;
568   --
569   -- Call the supporting pre-update operation
570   --
571   psp_pee_upd.pre_update(p_rec);
572   --
573   -- Update the row.
574   --
575   psp_pee_upd.update_dml(p_rec);
576   --
577   -- Call the supporting post-update operation
578   --
579   psp_pee_upd.post_update
580      (p_rec
581      );
582   --
583   -- Call to raise any errors on multi-message list
584   hr_multi_message.end_validation_set;
585 End upd;
586 --
587 -- ----------------------------------------------------------------------------
588 -- |---------------------------------< upd >----------------------------------|
589 -- ----------------------------------------------------------------------------
590 Procedure upd
591   (p_external_effort_line_id      in     number
592   ,p_object_version_number        in out nocopy number
593   ,p_batch_name                   in     varchar2  default hr_api.g_varchar2
594   ,p_distribution_date            in     date      default hr_api.g_date
595   ,p_person_id                    in     number    default hr_api.g_number
596   ,p_assignment_id                in     number    default hr_api.g_number
597   ,p_currency_code                in     varchar2  default hr_api.g_varchar2
598   ,p_distribution_amount          in     number    default hr_api.g_number
599   ,p_business_group_id            in     number    default hr_api.g_number
600   ,p_set_of_books_id              in     number    default hr_api.g_number
601   ,p_gl_code_combination_id       in     number    default hr_api.g_number
602   ,p_project_id                   in     number    default hr_api.g_number
603   ,p_task_id                      in     number    default hr_api.g_number
604   ,p_award_id                     in     number    default hr_api.g_number
605   ,p_expenditure_organization_id  in     number    default hr_api.g_number
606   ,p_expenditure_type             in     varchar2  default hr_api.g_varchar2
607   ,p_attribute_category           in     varchar2  default hr_api.g_varchar2
608   ,p_attribute1                   in     varchar2  default hr_api.g_varchar2
609   ,p_attribute2                   in     varchar2  default hr_api.g_varchar2
610   ,p_attribute3                   in     varchar2  default hr_api.g_varchar2
611   ,p_attribute4                   in     varchar2  default hr_api.g_varchar2
612   ,p_attribute5                   in     varchar2  default hr_api.g_varchar2
613   ,p_attribute6                   in     varchar2  default hr_api.g_varchar2
614   ,p_attribute7                   in     varchar2  default hr_api.g_varchar2
615   ,p_attribute8                   in     varchar2  default hr_api.g_varchar2
616   ,p_attribute9                   in     varchar2  default hr_api.g_varchar2
617   ,p_attribute10                  in     varchar2  default hr_api.g_varchar2
618   ,p_attribute11                  in     varchar2  default hr_api.g_varchar2
619   ,p_attribute12                  in     varchar2  default hr_api.g_varchar2
620   ,p_attribute13                  in     varchar2  default hr_api.g_varchar2
621   ,p_attribute14                  in     varchar2  default hr_api.g_varchar2
622   ,p_attribute15                  in     varchar2  default hr_api.g_varchar2
623   ) is
624 --
625   l_rec   psp_pee_shd.g_rec_type;
626   l_proc  varchar2(72) := g_package||'upd';
627 --
628 Begin
629   hr_utility.set_location('Entering:'||l_proc, 5);
630   --
631   -- Call conversion function to turn arguments into the
632   -- l_rec structure.
633   --
634   l_rec :=
635   psp_pee_shd.convert_args
636   (p_external_effort_line_id
637   ,p_batch_name
638   ,p_object_version_number
639   ,p_distribution_date
640   ,p_person_id
641   ,p_assignment_id
642   ,p_currency_code
643   ,p_distribution_amount
644   ,p_business_group_id
645   ,p_set_of_books_id
646   ,p_gl_code_combination_id
647   ,p_project_id
648   ,p_task_id
649   ,p_award_id
650   ,p_expenditure_organization_id
651   ,p_expenditure_type
652   ,p_attribute_category
653   ,p_attribute1
654   ,p_attribute2
655   ,p_attribute3
656   ,p_attribute4
657   ,p_attribute5
658   ,p_attribute6
659   ,p_attribute7
660   ,p_attribute8
661   ,p_attribute9
662   ,p_attribute10
663   ,p_attribute11
664   ,p_attribute12
665   ,p_attribute13
666   ,p_attribute14
667   ,p_attribute15
668   );
669   --
670   -- Having converted the arguments into the
671   -- plsql record structure we call the corresponding record
672   -- business process.
673   --
674   psp_pee_upd.upd
675      (l_rec
676      );
677   p_object_version_number := l_rec.object_version_number;
678   --
679   hr_utility.set_location(' Leaving:'||l_proc, 10);
680 End upd;
681 --
682 end psp_pee_upd;