DBA Data[Home] [Help]

PACKAGE BODY: APPS.PER_BPA_UPD

Source


1 Package Body per_bpa_upd as
2 /* $Header: pebparhi.pkb 115.6 2002/12/02 13:36:46 apholt noship $ */
3 --
4 -- ----------------------------------------------------------------------------
5 -- |                     Private Global Definitions                           |
6 -- ----------------------------------------------------------------------------
7 --
8 g_package  varchar2(33)	:= '  per_bpa_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 per_bpa_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 per_bf_processed_assignments Row
69   --
70   update per_bf_processed_assignments
71     set
72     processed_assignment_id         = p_rec.processed_assignment_id,
73     payroll_run_id                  = p_rec.payroll_run_id,
74     assignment_id                   = p_rec.assignment_id,
75     object_version_number           = p_rec.object_version_number,
76     bpa_attribute_category              = p_rec.bpa_attribute_category,
77     bpa_attribute1                      = p_rec.bpa_attribute1,
78     bpa_attribute2                      = p_rec.bpa_attribute2,
79     bpa_attribute3                      = p_rec.bpa_attribute3,
80     bpa_attribute4                      = p_rec.bpa_attribute4,
81     bpa_attribute5                      = p_rec.bpa_attribute5,
82     bpa_attribute6                      = p_rec.bpa_attribute6,
83     bpa_attribute7                      = p_rec.bpa_attribute7,
84     bpa_attribute8                      = p_rec.bpa_attribute8,
85     bpa_attribute9                      = p_rec.bpa_attribute9,
86     bpa_attribute10                     = p_rec.bpa_attribute10,
87     bpa_attribute11                     = p_rec.bpa_attribute11,
88     bpa_attribute12                     = p_rec.bpa_attribute12,
89     bpa_attribute13                     = p_rec.bpa_attribute13,
90     bpa_attribute14                     = p_rec.bpa_attribute14,
91     bpa_attribute15                     = p_rec.bpa_attribute15,
92     bpa_attribute16                     = p_rec.bpa_attribute16,
93     bpa_attribute17                     = p_rec.bpa_attribute17,
94     bpa_attribute18                     = p_rec.bpa_attribute18,
95     bpa_attribute19                     = p_rec.bpa_attribute19,
96     bpa_attribute20                     = p_rec.bpa_attribute20,
97     bpa_attribute21                     = p_rec.bpa_attribute21,
98     bpa_attribute22                     = p_rec.bpa_attribute22,
99     bpa_attribute23                     = p_rec.bpa_attribute23,
100     bpa_attribute24                     = p_rec.bpa_attribute24,
101     bpa_attribute25                     = p_rec.bpa_attribute25,
102     bpa_attribute26                     = p_rec.bpa_attribute26,
103     bpa_attribute27                     = p_rec.bpa_attribute27,
104     bpa_attribute28                     = p_rec.bpa_attribute28,
105     bpa_attribute29                     = p_rec.bpa_attribute29,
106     bpa_attribute30                     = p_rec.bpa_attribute30
107     where processed_assignment_id = p_rec.processed_assignment_id;
108   --
109   --
110   --
111   hr_utility.set_location(' Leaving:'||l_proc, 10);
112 --
113 Exception
114   When hr_api.check_integrity_violated Then
115     -- A check constraint has been violated
116     --
117     per_bpa_shd.constraint_error
118       (p_constraint_name => hr_api.strip_constraint_name(SQLERRM));
119   When hr_api.parent_integrity_violated Then
120     -- Parent integrity has been violated
121     --
122     per_bpa_shd.constraint_error
123       (p_constraint_name => hr_api.strip_constraint_name(SQLERRM));
124   When hr_api.unique_integrity_violated Then
125     -- Unique integrity has been violated
126     --
127     per_bpa_shd.constraint_error
128       (p_constraint_name => hr_api.strip_constraint_name(SQLERRM));
129   When Others Then
130     --
131     Raise;
132 End update_dml;
133 --
134 -- ----------------------------------------------------------------------------
135 -- |------------------------------< pre_update >------------------------------|
136 -- ----------------------------------------------------------------------------
137 -- {Start Of Comments}
138 --
139 -- Description:
140 --   This private procedure contains any processing which is required before
141 --   the update dml.
142 --
143 -- Prerequisites:
144 --   This is an internal procedure which is called from the upd procedure.
145 --
146 -- In Parameters:
147 --   A Pl/Sql record structure.
148 --
149 -- Post Success:
150 --   Processing continues.
151 --
152 -- Post Failure:
153 --   If an error has occurred, an error message and exception wil be raised
154 --   but not handled.
155 --
156 -- Developer Implementation Notes:
157 --   Any pre-processing required before the update dml is issued should be
158 --   coded within this procedure. It is important to note that any 3rd party
159 --   maintenance should be reviewed before placing in this procedure.
160 --
161 -- Access Status:
162 --   Internal Row Handler Use Only.
163 --
164 -- {End Of Comments}
165 -- ----------------------------------------------------------------------------
166 Procedure pre_update
167   (p_rec in per_bpa_shd.g_rec_type
168   ) is
169 --
170   l_proc  varchar2(72) := g_package||'pre_update';
171 --
172 Begin
173   hr_utility.set_location('Entering:'||l_proc, 5);
174   --
175   hr_utility.set_location(' Leaving:'||l_proc, 10);
176 End pre_update;
177 --
178 -- ----------------------------------------------------------------------------
179 -- |-----------------------------< post_update >------------------------------|
180 -- ----------------------------------------------------------------------------
181 -- {Start Of Comments}
182 --
183 -- Description:
184 --   This private procedure contains any processing which is required after the
185 --   update dml.
186 --
187 -- Prerequisites:
188 --   This is an internal procedure which is called from the upd procedure.
189 --
190 -- In Parameters:
191 --   A Pl/Sql record structre.
192 --
193 -- Post Success:
194 --   Processing continues.
195 --
196 -- Post Failure:
197 --   If an error has occurred, an error message and exception will be raised
198 --   but not handled.
199 --
200 -- Developer Implementation Notes:
201 --   Any post-processing required after the update dml is issued should be
202 --   coded within this procedure. It is important to note that any 3rd party
203 --   maintenance should be reviewed before placing in this procedure.
204 --
205 -- Access Status:
206 --   Internal Row Handler Use Only.
207 --
208 -- {End Of Comments}
209 -- ----------------------------------------------------------------------------
210 Procedure post_update
211   (p_effective_date               in date
212   ,p_rec                         in per_bpa_shd.g_rec_type
213   ) is
214 --
215   l_proc  varchar2(72) := g_package||'post_update';
216 --
217 Begin
218   hr_utility.set_location('Entering:'||l_proc, 5);
219   begin
220     --
221     per_bpa_rku.after_update
222       (p_effective_date              => p_effective_date,
223       p_processed_assignment_id       => p_rec.processed_assignment_id,
224       p_object_version_number        => p_rec.object_version_number,
225       p_bpa_attribute_category         => p_rec.bpa_attribute_category,
226       p_bpa_attribute1                 => p_rec.bpa_attribute1,
227       p_bpa_attribute2                 => p_rec.bpa_attribute2,
228       p_bpa_attribute3                 => p_rec.bpa_attribute3,
229       p_bpa_attribute4                 => p_rec.bpa_attribute4,
230       p_bpa_attribute5                 => p_rec.bpa_attribute5,
231       p_bpa_attribute6                 => p_rec.bpa_attribute6,
232       p_bpa_attribute7                 => p_rec.bpa_attribute7,
233       p_bpa_attribute8                 => p_rec.bpa_attribute8,
234       p_bpa_attribute9                 => p_rec.bpa_attribute9,
235       p_bpa_attribute10                => p_rec.bpa_attribute10,
236       p_bpa_attribute11                => p_rec.bpa_attribute11,
237       p_bpa_attribute12                => p_rec.bpa_attribute12,
238       p_bpa_attribute13                => p_rec.bpa_attribute13,
239       p_bpa_attribute14                => p_rec.bpa_attribute14,
240       p_bpa_attribute15                => p_rec.bpa_attribute15,
241       p_bpa_attribute16                => p_rec.bpa_attribute16,
242       p_bpa_attribute17                => p_rec.bpa_attribute17,
243       p_bpa_attribute18                => p_rec.bpa_attribute18,
244       p_bpa_attribute19                => p_rec.bpa_attribute19,
245       p_bpa_attribute20                => p_rec.bpa_attribute20,
246       p_bpa_attribute21                => p_rec.bpa_attribute21,
247       p_bpa_attribute22                => p_rec.bpa_attribute22,
248       p_bpa_attribute23                => p_rec.bpa_attribute23,
249       p_bpa_attribute24                => p_rec.bpa_attribute24,
250       p_bpa_attribute25                => p_rec.bpa_attribute25,
251       p_bpa_attribute26                => p_rec.bpa_attribute26,
252       p_bpa_attribute27                => p_rec.bpa_attribute27,
253       p_bpa_attribute28                => p_rec.bpa_attribute28,
254       p_bpa_attribute29                => p_rec.bpa_attribute29,
255       p_bpa_attribute30                => p_rec.bpa_attribute30,
256       p_payroll_run_id_o
257       => per_bpa_shd.g_old_rec.payroll_run_id,
258       p_assignment_id_o
259       => per_bpa_shd.g_old_rec.assignment_id,
260       p_object_version_number_o
261       => per_bpa_shd.g_old_rec.object_version_number,
262       p_bpa_attribute_category_o
263       => per_bpa_shd.g_old_rec.bpa_attribute_category,
264       p_bpa_attribute1_o
265       => per_bpa_shd.g_old_rec.bpa_attribute1,
266       p_bpa_attribute2_o
267       => per_bpa_shd.g_old_rec.bpa_attribute2,
268       p_bpa_attribute3_o
269       => per_bpa_shd.g_old_rec.bpa_attribute3,
270       p_bpa_attribute4_o
271       => per_bpa_shd.g_old_rec.bpa_attribute4,
272       p_bpa_attribute5_o
273       => per_bpa_shd.g_old_rec.bpa_attribute5,
274       p_bpa_attribute6_o
275       => per_bpa_shd.g_old_rec.bpa_attribute6,
276       p_bpa_attribute7_o
277       => per_bpa_shd.g_old_rec.bpa_attribute7,
278       p_bpa_attribute8_o
279       => per_bpa_shd.g_old_rec.bpa_attribute8,
280       p_bpa_attribute9_o
281       => per_bpa_shd.g_old_rec.bpa_attribute9,
282       p_bpa_attribute10_o
283       => per_bpa_shd.g_old_rec.bpa_attribute10,
284       p_bpa_attribute11_o
285       => per_bpa_shd.g_old_rec.bpa_attribute11,
286       p_bpa_attribute12_o
287       => per_bpa_shd.g_old_rec.bpa_attribute12,
288       p_bpa_attribute13_o
289       => per_bpa_shd.g_old_rec.bpa_attribute13,
290       p_bpa_attribute14_o
291       => per_bpa_shd.g_old_rec.bpa_attribute14,
292       p_bpa_attribute15_o
293       => per_bpa_shd.g_old_rec.bpa_attribute15,
294       p_bpa_attribute16_o
295       => per_bpa_shd.g_old_rec.bpa_attribute16,
296       p_bpa_attribute17_o
297       => per_bpa_shd.g_old_rec.bpa_attribute17,
298       p_bpa_attribute18_o
299       => per_bpa_shd.g_old_rec.bpa_attribute18,
300       p_bpa_attribute19_o
301       => per_bpa_shd.g_old_rec.bpa_attribute19,
302       p_bpa_attribute20_o
303       => per_bpa_shd.g_old_rec.bpa_attribute20,
304       p_bpa_attribute21_o
305       => per_bpa_shd.g_old_rec.bpa_attribute21,
306       p_bpa_attribute22_o
307       => per_bpa_shd.g_old_rec.bpa_attribute22,
308       p_bpa_attribute23_o
309       => per_bpa_shd.g_old_rec.bpa_attribute23,
310       p_bpa_attribute24_o
311       => per_bpa_shd.g_old_rec.bpa_attribute24,
312       p_bpa_attribute25_o
313       => per_bpa_shd.g_old_rec.bpa_attribute25,
314       p_bpa_attribute26_o
315       => per_bpa_shd.g_old_rec.bpa_attribute26,
316       p_bpa_attribute27_o
317       => per_bpa_shd.g_old_rec.bpa_attribute27,
318       p_bpa_attribute28_o
319       => per_bpa_shd.g_old_rec.bpa_attribute28,
320       p_bpa_attribute29_o
321       => per_bpa_shd.g_old_rec.bpa_attribute29,
322       p_bpa_attribute30_o
323       => per_bpa_shd.g_old_rec.bpa_attribute30
324       );
325     --
326   exception
327     --
328     when hr_api.cannot_find_prog_unit then
329       --
330       hr_api.cannot_find_prog_unit_error
331         (p_module_name => 'PER_BF_PROCESSED_ASSIGNMENTS'
332         ,p_hook_type   => 'AU');
333       --
334   end;
335   --
336   hr_utility.set_location(' Leaving:'||l_proc, 10);
337 End post_update;
338 --
339 -- ----------------------------------------------------------------------------
340 -- |-----------------------------< convert_defs >-----------------------------|
341 -- ----------------------------------------------------------------------------
342 -- {Start Of Comments}
343 --
344 -- Description:
345 --   The Convert_Defs procedure has one very important function:
346 --   It must return the record structure for the row with all system defaulted
347 --   values converted into its corresponding parameter value for update. When
348 --   we attempt to update a row through the Upd process , certain
349 --   parameters can be defaulted which enables flexibility in the calling of
350 --   the upd process (e.g. only attributes which need to be updated need to be
351 --   specified). For the upd process to determine which attributes
352 --   have NOT been specified we need to check if the parameter has a reserved
353 --   system default value. Therefore, for all parameters which have a
354 --   corresponding reserved system default mechanism specified we need to
355 --   check if a system default is being used. If a system default is being
356 --   used then we convert the defaulted value into its corresponding attribute
357 --   value held in the g_old_rec data structure.
358 --
359 -- Prerequisites:
360 --   This private function can only be called from the upd process.
361 --
362 -- In Parameters:
363 --   A Pl/Sql record structre.
364 --
365 -- Post Success:
366 --   The record structure will be returned with all system defaulted parameter
367 --   values converted into its current row attribute value.
368 --
369 -- Post Failure:
370 --   No direct error handling is required within this function. Any possible
371 --   errors within this procedure will be a PL/SQL value error due to
372 --   conversion of datatypes or data lengths.
373 --
374 -- Developer Implementation Notes:
375 --   None.
376 --
377 -- Access Status:
378 --   Internal Row Handler Use Only.
379 --
380 -- {End Of Comments}
381 -- ----------------------------------------------------------------------------
382 Procedure convert_defs
383   (p_rec in out nocopy per_bpa_shd.g_rec_type
384   ) is
385 --
386   l_proc  varchar2(72) := g_package||'convert_defs';
387 --
388 Begin
389   --
390   hr_utility.set_location('Entering:'||l_proc, 5);
391   --
392   -- We must now examine each argument value in the
393   -- p_rec plsql record structure
394   -- to see if a system default is being used. If a system default
395   -- is being used then we must set to the 'current' argument value.
396   --
397   If (p_rec.payroll_run_id = hr_api.g_number) then
398     p_rec.payroll_run_id :=
399     per_bpa_shd.g_old_rec.payroll_run_id;
400   End If;
401   If (p_rec.assignment_id = hr_api.g_number) then
402     p_rec.assignment_id :=
403     per_bpa_shd.g_old_rec.assignment_id;
404   End If;
405   If (p_rec.bpa_attribute_category = hr_api.g_varchar2) then
406     p_rec.bpa_attribute_category :=
407     per_bpa_shd.g_old_rec.bpa_attribute_category;
408   End If;
409   If (p_rec.bpa_attribute1 = hr_api.g_varchar2) then
410     p_rec.bpa_attribute1:=
411     per_bpa_shd.g_old_rec.bpa_attribute1;
412   End If;
413   If (p_rec.bpa_attribute2 = hr_api.g_varchar2) then
414     p_rec.bpa_attribute2:=
415     per_bpa_shd.g_old_rec.bpa_attribute2;
416   End If;
417   If (p_rec.bpa_attribute3 = hr_api.g_varchar2) then
418     p_rec.bpa_attribute3:=
419     per_bpa_shd.g_old_rec.bpa_attribute3;
420   End If;
421   If (p_rec.bpa_attribute4 = hr_api.g_varchar2) then
422     p_rec.bpa_attribute4:=
423     per_bpa_shd.g_old_rec.bpa_attribute4;
424   End If;
425   If (p_rec.bpa_attribute5 = hr_api.g_varchar2) then
426     p_rec.bpa_attribute5:=
427     per_bpa_shd.g_old_rec.bpa_attribute5;
428   End If;
429   If (p_rec.bpa_attribute6 = hr_api.g_varchar2) then
430     p_rec.bpa_attribute6:=
431     per_bpa_shd.g_old_rec.bpa_attribute6;
432   End If;
433   If (p_rec.bpa_attribute7 = hr_api.g_varchar2) then
434     p_rec.bpa_attribute7:=
435     per_bpa_shd.g_old_rec.bpa_attribute7;
436   End If;
437   If (p_rec.bpa_attribute8 = hr_api.g_varchar2) then
438     p_rec.bpa_attribute8:=
439     per_bpa_shd.g_old_rec.bpa_attribute8;
440   End If;
441   If (p_rec.bpa_attribute9 = hr_api.g_varchar2) then
442     p_rec.bpa_attribute9:=
443     per_bpa_shd.g_old_rec.bpa_attribute9;
444   End If;
445   If (p_rec.bpa_attribute10 = hr_api.g_varchar2) then
446     p_rec.bpa_attribute10:=
447     per_bpa_shd.g_old_rec.bpa_attribute10;
448   End If;
449   If (p_rec.bpa_attribute11 = hr_api.g_varchar2) then
450     p_rec.bpa_attribute11:=
451     per_bpa_shd.g_old_rec.bpa_attribute11;
452   End If;
453   If (p_rec.bpa_attribute12 = hr_api.g_varchar2) then
454     p_rec.bpa_attribute12:=
455     per_bpa_shd.g_old_rec.bpa_attribute12;
456   End If;
457   If (p_rec.bpa_attribute13 = hr_api.g_varchar2) then
458     p_rec.bpa_attribute13:=
459   per_bpa_shd.g_old_rec.bpa_attribute13;
460   End If;
461   If (p_rec.bpa_attribute14 = hr_api.g_varchar2) then
462     p_rec.bpa_attribute14:=
463     per_bpa_shd.g_old_rec.bpa_attribute14;
464   End If;
465   If (p_rec.bpa_attribute15 = hr_api.g_varchar2) then
466     p_rec.bpa_attribute15:=
467     per_bpa_shd.g_old_rec.bpa_attribute15;
468   End If;
469   If (p_rec.bpa_attribute16 = hr_api.g_varchar2) then
470     p_rec.bpa_attribute16:=
471     per_bpa_shd.g_old_rec.bpa_attribute16;
472   End If;
473   If (p_rec.bpa_attribute17 = hr_api.g_varchar2) then
474     p_rec.bpa_attribute17:=
475     per_bpa_shd.g_old_rec.bpa_attribute17;
476   End If;
477   If (p_rec.bpa_attribute18 = hr_api.g_varchar2) then
478     p_rec.bpa_attribute18:=
479     per_bpa_shd.g_old_rec.bpa_attribute18;
480   End If;
481   If (p_rec.bpa_attribute19 = hr_api.g_varchar2) then
482     p_rec.bpa_attribute19:=
483     per_bpa_shd.g_old_rec.bpa_attribute19;
484   End If;
485   If (p_rec.bpa_attribute20 = hr_api.g_varchar2) then
486     p_rec.bpa_attribute20:=
487     per_bpa_shd.g_old_rec.bpa_attribute20;
488   End If;
489   If (p_rec.bpa_attribute21 = hr_api.g_varchar2) then
490     p_rec.bpa_attribute21:=
491     per_bpa_shd.g_old_rec.bpa_attribute21;
492    End If;
493   If (p_rec.bpa_attribute22 = hr_api.g_varchar2) then
494     p_rec.bpa_attribute22:=
495     per_bpa_shd.g_old_rec.bpa_attribute22;
496   End If;
497   If (p_rec.bpa_attribute23 = hr_api.g_varchar2) then
498   p_rec.bpa_attribute23:=
499     per_bpa_shd.g_old_rec.bpa_attribute23;
500   End If;
501   If (p_rec.bpa_attribute24 = hr_api.g_varchar2) then
502     p_rec.bpa_attribute24:=
503     per_bpa_shd.g_old_rec.bpa_attribute24;
504   End If;
505   If (p_rec.bpa_attribute25 = hr_api.g_varchar2) then
506     p_rec.bpa_attribute25:=
507     per_bpa_shd.g_old_rec.bpa_attribute25;
508   End If;
509   If (p_rec.bpa_attribute26 = hr_api.g_varchar2) then
510     p_rec.bpa_attribute26:=
511     per_bpa_shd.g_old_rec.bpa_attribute26;
512   End If;
513   If (p_rec.bpa_attribute27 = hr_api.g_varchar2) then
514     p_rec.bpa_attribute27:=
515     per_bpa_shd.g_old_rec.bpa_attribute27;
516   End If;
517   If (p_rec.bpa_attribute28 = hr_api.g_varchar2) then
518     p_rec.bpa_attribute28:=
519     per_bpa_shd.g_old_rec.bpa_attribute28;
520   End If;
521   If (p_rec.bpa_attribute29 = hr_api.g_varchar2) then
522     p_rec.bpa_attribute29:=
523     per_bpa_shd.g_old_rec.bpa_attribute29;
524   End If;
525   If (p_rec.bpa_attribute30 = hr_api.g_varchar2) then
526     p_rec.bpa_attribute30:=
527     per_bpa_shd.g_old_rec.bpa_attribute30;
528   End If;
529 --
530   hr_utility.set_location(' Leaving:'||l_proc, 10);
531 --
532 End convert_defs;
533 --
534 -- ----------------------------------------------------------------------------
535 -- |---------------------------------< upd >----------------------------------|
536 -- ----------------------------------------------------------------------------
537 Procedure upd
538   (p_effective_date               in date
539   ,p_rec                          in out nocopy per_bpa_shd.g_rec_type
540   ) is
541 --
542   l_proc  varchar2(72) := g_package||'upd';
543 --
544 Begin
545   hr_utility.set_location('Entering:'||l_proc, 5);
546   --
547   -- We must lock the row which we need to update.
548   --
549   per_bpa_shd.lck
550     (p_rec.processed_assignment_id
551     ,p_rec.object_version_number
552     );
553   --
554   -- 1. During an update system defaults are used to determine if
555   --    arguments have been defaulted or not. We must therefore
556   --    derive the full record structure values to be updated.
557   --
558   -- 2. Call the supporting update validate operations.
559   --
560   convert_defs(p_rec);
561   per_bpa_bus.update_validate
562      (p_effective_date
563      ,p_rec
564      );
565   --
566   -- Call the supporting pre-update operation
567   --
568   pre_update(p_rec);
569   --
570   -- Update the row.
571   --
572   update_dml(p_rec);
573   --
574   -- Call the supporting post-update operation
575   --
576   post_update
577      (p_effective_date
578      ,p_rec
579      );
580 End upd;
581 --
582 -- ----------------------------------------------------------------------------
583 -- |---------------------------------< upd >----------------------------------|
584 -- ----------------------------------------------------------------------------
585 Procedure upd
586   (p_effective_date              in date,
587   p_processed_assignment_id      in number,
588   p_object_version_number        in out nocopy number,
589   p_bpa_attribute_category       in varchar2       default hr_api.g_varchar2,
590   p_bpa_attribute1               in varchar2       default hr_api.g_varchar2,
591   p_bpa_attribute2               in varchar2       default hr_api.g_varchar2,
592   p_bpa_attribute3               in varchar2       default hr_api.g_varchar2,
593   p_bpa_attribute4               in varchar2       default hr_api.g_varchar2,
594   p_bpa_attribute5               in varchar2       default hr_api.g_varchar2,
595   p_bpa_attribute6               in varchar2       default hr_api.g_varchar2,
596   p_bpa_attribute7               in varchar2       default hr_api.g_varchar2,
597   p_bpa_attribute8               in varchar2       default hr_api.g_varchar2,
598   p_bpa_attribute9               in varchar2       default hr_api.g_varchar2,
599   p_bpa_attribute10              in varchar2       default hr_api.g_varchar2,
600   p_bpa_attribute11              in varchar2       default hr_api.g_varchar2,
601   p_bpa_attribute12              in varchar2       default hr_api.g_varchar2,
602   p_bpa_attribute13              in varchar2       default hr_api.g_varchar2,
603   p_bpa_attribute14              in varchar2       default hr_api.g_varchar2,
604   p_bpa_attribute15              in varchar2       default hr_api.g_varchar2,
605   p_bpa_attribute16              in varchar2       default hr_api.g_varchar2,
606   p_bpa_attribute17              in varchar2       default hr_api.g_varchar2,
607   p_bpa_attribute18              in varchar2       default hr_api.g_varchar2,
608   p_bpa_attribute19              in varchar2       default hr_api.g_varchar2,
609   p_bpa_attribute20              in varchar2       default hr_api.g_varchar2,
610   p_bpa_attribute21              in varchar2       default hr_api.g_varchar2,
611   p_bpa_attribute22              in varchar2       default hr_api.g_varchar2,
612   p_bpa_attribute23              in varchar2       default hr_api.g_varchar2,
613   p_bpa_attribute24              in varchar2       default hr_api.g_varchar2,
614   p_bpa_attribute25              in varchar2       default hr_api.g_varchar2,
615   p_bpa_attribute26              in varchar2       default hr_api.g_varchar2,
616   p_bpa_attribute27              in varchar2       default hr_api.g_varchar2,
617   p_bpa_attribute28              in varchar2       default hr_api.g_varchar2,
618   p_bpa_attribute29              in varchar2       default hr_api.g_varchar2,
619   p_bpa_attribute30              in varchar2       default hr_api.g_varchar2
620   ) is
621 --
622   l_rec	  per_bpa_shd.g_rec_type;
623   l_proc  varchar2(72) := g_package||'upd';
624 --
625 Begin
626   hr_utility.set_location('Entering:'||l_proc, 5);
627   --
628   -- Call conversion function to turn arguments into the
629   -- l_rec structure.
630   --
631   l_rec :=
632   per_bpa_shd.convert_args
633   (p_processed_assignment_id,
634   hr_api.g_number,
635   hr_api.g_number,
636   p_object_version_number,
637   p_bpa_attribute_category,
638   p_bpa_attribute1,
639   p_bpa_attribute2,
640   p_bpa_attribute3,
641   p_bpa_attribute4,
642   p_bpa_attribute5,
643   p_bpa_attribute6,
644   p_bpa_attribute7,
645   p_bpa_attribute8,
646   p_bpa_attribute9,
647   p_bpa_attribute10,
648   p_bpa_attribute11,
649   p_bpa_attribute12,
650   p_bpa_attribute13,
651   p_bpa_attribute14,
652   p_bpa_attribute15,
653   p_bpa_attribute16,
654   p_bpa_attribute17,
655   p_bpa_attribute18,
656   p_bpa_attribute19,
657   p_bpa_attribute20,
658   p_bpa_attribute21,
659   p_bpa_attribute22,
660   p_bpa_attribute23,
661   p_bpa_attribute24,
662   p_bpa_attribute25,
663   p_bpa_attribute26,
664   p_bpa_attribute27,
665   p_bpa_attribute28,
666   p_bpa_attribute29,
667   p_bpa_attribute30
668   );
669   --
670   -- Having converted the arguments into the
671   -- plsql record structure we call the corresponding record
672   -- business process.
673   --
674   upd(p_effective_date
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 per_bpa_upd;