DBA Data[Home] [Help]

PACKAGE BODY: APPS.PSP_POA_UPD

Source


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