1 Package Body per_req_upd as
2 /* $Header: pereqrhi.pkb 120.0.12000000.2 2007/07/10 05:22:20 mkjayara noship $ */
3 --
4 -- ----------------------------------------------------------------------------
5 -- | Private Global Definitions |
6 -- ----------------------------------------------------------------------------
7 --
8 g_package varchar2(33) := ' per_req_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_req_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_requisitions Row
69 --
70 update per_requisitions
71 set
72 requisition_id = p_rec.requisition_id
73 ,business_group_id = p_rec.business_group_id
74 ,person_id = p_rec.person_id
75 ,date_from = p_rec.date_from
76 ,name = p_rec.name
77 ,comments = p_rec.comments
78 ,date_to = p_rec.date_to
79 ,description = p_rec.description
80 ,request_id = p_rec.request_id
81 ,program_application_id = p_rec.program_application_id
82 ,program_id = p_rec.program_id
83 ,program_update_date = p_rec.program_update_date
84 ,attribute_category = p_rec.attribute_category
85 ,attribute1 = p_rec.attribute1
86 ,attribute2 = p_rec.attribute2
87 ,attribute3 = p_rec.attribute3
88 ,attribute4 = p_rec.attribute4
89 ,attribute5 = p_rec.attribute5
90 ,attribute6 = p_rec.attribute6
91 ,attribute7 = p_rec.attribute7
92 ,attribute8 = p_rec.attribute8
93 ,attribute9 = p_rec.attribute9
94 ,attribute10 = p_rec.attribute10
95 ,attribute11 = p_rec.attribute11
96 ,attribute12 = p_rec.attribute12
97 ,attribute13 = p_rec.attribute13
98 ,attribute14 = p_rec.attribute14
99 ,attribute15 = p_rec.attribute15
100 ,attribute16 = p_rec.attribute16
101 ,attribute17 = p_rec.attribute17
102 ,attribute18 = p_rec.attribute18
103 ,attribute19 = p_rec.attribute19
104 ,attribute20 = p_rec.attribute20
105 ,object_version_number = p_rec.object_version_number
106 where requisition_id = p_rec.requisition_id;
107 --
108 --
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 --
116 per_req_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 --
121 per_req_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 --
126 per_req_shd.constraint_error
127 (p_constraint_name => hr_api.strip_constraint_name(SQLERRM));
128 When Others Then
129 --
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 per_req_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 per_req_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 per_req_rku.after_update
220 (p_requisition_id
221 => p_rec.requisition_id
222 ,p_business_group_id
223 => p_rec.business_group_id
224 ,p_person_id
225 => p_rec.person_id
226 ,p_date_from
227 => p_rec.date_from
228 ,p_name
229 => p_rec.name
230 ,p_comments
231 => p_rec.comments
232 ,p_date_to
233 => p_rec.date_to
234 ,p_description
235 => p_rec.description
236 ,p_request_id
237 => p_rec.request_id
238 ,p_program_application_id
239 => p_rec.program_application_id
240 ,p_program_id
241 => p_rec.program_id
242 ,p_program_update_date
243 => p_rec.program_update_date
244 ,p_attribute_category
245 => p_rec.attribute_category
246 ,p_attribute1
247 => p_rec.attribute1
248 ,p_attribute2
249 => p_rec.attribute2
250 ,p_attribute3
251 => p_rec.attribute3
252 ,p_attribute4
253 => p_rec.attribute4
254 ,p_attribute5
255 => p_rec.attribute5
256 ,p_attribute6
257 => p_rec.attribute6
258 ,p_attribute7
259 => p_rec.attribute7
260 ,p_attribute8
261 => p_rec.attribute8
262 ,p_attribute9
263 => p_rec.attribute9
264 ,p_attribute10
265 => p_rec.attribute10
266 ,p_attribute11
267 => p_rec.attribute11
268 ,p_attribute12
269 => p_rec.attribute12
270 ,p_attribute13
271 => p_rec.attribute13
272 ,p_attribute14
273 => p_rec.attribute14
274 ,p_attribute15
275 => p_rec.attribute15
276 ,p_attribute16
277 => p_rec.attribute16
278 ,p_attribute17
279 => p_rec.attribute17
280 ,p_attribute18
281 => p_rec.attribute18
282 ,p_attribute19
283 => p_rec.attribute19
284 ,p_attribute20
285 => p_rec.attribute20
286 ,p_object_version_number
287 => p_rec.object_version_number
288 ,p_business_group_id_o
289 => per_req_shd.g_old_rec.business_group_id
290 ,p_person_id_o
291 => per_req_shd.g_old_rec.person_id
292 ,p_date_from_o
293 => per_req_shd.g_old_rec.date_from
294 ,p_name_o
295 => per_req_shd.g_old_rec.name
296 ,p_comments_o
297 => per_req_shd.g_old_rec.comments
298 ,p_date_to_o
299 => per_req_shd.g_old_rec.date_to
300 ,p_description_o
301 => per_req_shd.g_old_rec.description
302 ,p_request_id_o
303 => per_req_shd.g_old_rec.request_id
304 ,p_program_application_id_o
305 => per_req_shd.g_old_rec.program_application_id
306 ,p_program_id_o
307 => per_req_shd.g_old_rec.program_id
308 ,p_program_update_date_o
309 => per_req_shd.g_old_rec.program_update_date
310 ,p_attribute_category_o
311 => per_req_shd.g_old_rec.attribute_category
312 ,p_attribute1_o
313 => per_req_shd.g_old_rec.attribute1
314 ,p_attribute2_o
315 => per_req_shd.g_old_rec.attribute2
316 ,p_attribute3_o
317 => per_req_shd.g_old_rec.attribute3
318 ,p_attribute4_o
319 => per_req_shd.g_old_rec.attribute4
320 ,p_attribute5_o
321 => per_req_shd.g_old_rec.attribute5
322 ,p_attribute6_o
323 => per_req_shd.g_old_rec.attribute6
324 ,p_attribute7_o
325 => per_req_shd.g_old_rec.attribute7
326 ,p_attribute8_o
327 => per_req_shd.g_old_rec.attribute8
328 ,p_attribute9_o
329 => per_req_shd.g_old_rec.attribute9
330 ,p_attribute10_o
331 => per_req_shd.g_old_rec.attribute10
332 ,p_attribute11_o
333 => per_req_shd.g_old_rec.attribute11
334 ,p_attribute12_o
335 => per_req_shd.g_old_rec.attribute12
336 ,p_attribute13_o
337 => per_req_shd.g_old_rec.attribute13
338 ,p_attribute14_o
339 => per_req_shd.g_old_rec.attribute14
340 ,p_attribute15_o
341 => per_req_shd.g_old_rec.attribute15
342 ,p_attribute16_o
343 => per_req_shd.g_old_rec.attribute16
344 ,p_attribute17_o
345 => per_req_shd.g_old_rec.attribute17
346 ,p_attribute18_o
347 => per_req_shd.g_old_rec.attribute18
348 ,p_attribute19_o
349 => per_req_shd.g_old_rec.attribute19
350 ,p_attribute20_o
351 => per_req_shd.g_old_rec.attribute20
352 ,p_object_version_number_o
353 => per_req_shd.g_old_rec.object_version_number
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 => 'PER_REQUISITIONS'
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 per_req_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.business_group_id = hr_api.g_number) then
424 p_rec.business_group_id :=
425 per_req_shd.g_old_rec.business_group_id;
426 End If;
427 If (p_rec.person_id = hr_api.g_number) then
428 p_rec.person_id :=
429 per_req_shd.g_old_rec.person_id;
430 End If;
431 If (p_rec.date_from = hr_api.g_date) then
432 p_rec.date_from :=
433 per_req_shd.g_old_rec.date_from;
434 End If;
435 If (p_rec.name = hr_api.g_varchar2) then
436 p_rec.name :=
437 per_req_shd.g_old_rec.name;
438 End If;
439 If (p_rec.comments = hr_api.g_varchar2) then
440 p_rec.comments :=
441 per_req_shd.g_old_rec.comments;
442 End If;
443 If (p_rec.date_to = hr_api.g_date) then
444 p_rec.date_to :=
445 per_req_shd.g_old_rec.date_to;
446 End If;
447 If (p_rec.description = hr_api.g_varchar2) then
448 p_rec.description :=
449 per_req_shd.g_old_rec.description;
450 End If;
451 If (p_rec.request_id = hr_api.g_number) then
452 p_rec.request_id :=
453 per_req_shd.g_old_rec.request_id;
454 End If;
455 If (p_rec.program_application_id = hr_api.g_number) then
456 p_rec.program_application_id :=
457 per_req_shd.g_old_rec.program_application_id;
458 End If;
459 If (p_rec.program_id = hr_api.g_number) then
460 p_rec.program_id :=
461 per_req_shd.g_old_rec.program_id;
462 End If;
463 If (p_rec.program_update_date = hr_api.g_date) then
464 p_rec.program_update_date :=
465 per_req_shd.g_old_rec.program_update_date;
466 End If;
467 If (p_rec.attribute_category = hr_api.g_varchar2) then
468 p_rec.attribute_category :=
469 per_req_shd.g_old_rec.attribute_category;
470 End If;
471 If (p_rec.attribute1 = hr_api.g_varchar2) then
472 p_rec.attribute1 :=
473 per_req_shd.g_old_rec.attribute1;
474 End If;
475 If (p_rec.attribute2 = hr_api.g_varchar2) then
476 p_rec.attribute2 :=
477 per_req_shd.g_old_rec.attribute2;
478 End If;
479 If (p_rec.attribute3 = hr_api.g_varchar2) then
480 p_rec.attribute3 :=
481 per_req_shd.g_old_rec.attribute3;
482 End If;
483 If (p_rec.attribute4 = hr_api.g_varchar2) then
484 p_rec.attribute4 :=
485 per_req_shd.g_old_rec.attribute4;
486 End If;
487 If (p_rec.attribute5 = hr_api.g_varchar2) then
488 p_rec.attribute5 :=
489 per_req_shd.g_old_rec.attribute5;
490 End If;
491 If (p_rec.attribute6 = hr_api.g_varchar2) then
492 p_rec.attribute6 :=
493 per_req_shd.g_old_rec.attribute6;
494 End If;
495 If (p_rec.attribute7 = hr_api.g_varchar2) then
496 p_rec.attribute7 :=
497 per_req_shd.g_old_rec.attribute7;
498 End If;
499 If (p_rec.attribute8 = hr_api.g_varchar2) then
500 p_rec.attribute8 :=
501 per_req_shd.g_old_rec.attribute8;
502 End If;
503 If (p_rec.attribute9 = hr_api.g_varchar2) then
504 p_rec.attribute9 :=
505 per_req_shd.g_old_rec.attribute9;
506 End If;
507 If (p_rec.attribute10 = hr_api.g_varchar2) then
508 p_rec.attribute10 :=
509 per_req_shd.g_old_rec.attribute10;
510 End If;
511 If (p_rec.attribute11 = hr_api.g_varchar2) then
512 p_rec.attribute11 :=
513 per_req_shd.g_old_rec.attribute11;
514 End If;
515 If (p_rec.attribute12 = hr_api.g_varchar2) then
516 p_rec.attribute12 :=
517 per_req_shd.g_old_rec.attribute12;
518 End If;
519 If (p_rec.attribute13 = hr_api.g_varchar2) then
520 p_rec.attribute13 :=
521 per_req_shd.g_old_rec.attribute13;
522 End If;
523 If (p_rec.attribute14 = hr_api.g_varchar2) then
524 p_rec.attribute14 :=
525 per_req_shd.g_old_rec.attribute14;
526 End If;
527 If (p_rec.attribute15 = hr_api.g_varchar2) then
528 p_rec.attribute15 :=
529 per_req_shd.g_old_rec.attribute15;
530 End If;
531 If (p_rec.attribute16 = hr_api.g_varchar2) then
532 p_rec.attribute16 :=
533 per_req_shd.g_old_rec.attribute16;
534 End If;
535 If (p_rec.attribute17 = hr_api.g_varchar2) then
536 p_rec.attribute17 :=
537 per_req_shd.g_old_rec.attribute17;
538 End If;
539 If (p_rec.attribute18 = hr_api.g_varchar2) then
540 p_rec.attribute18 :=
541 per_req_shd.g_old_rec.attribute18;
542 End If;
543 If (p_rec.attribute19 = hr_api.g_varchar2) then
544 p_rec.attribute19 :=
545 per_req_shd.g_old_rec.attribute19;
546 End If;
547 If (p_rec.attribute20 = hr_api.g_varchar2) then
548 p_rec.attribute20 :=
549 per_req_shd.g_old_rec.attribute20;
550 End If;
551 --
552 End convert_defs;
553 --
554 -- ----------------------------------------------------------------------------
555 -- |---------------------------------< upd >----------------------------------|
556 -- ----------------------------------------------------------------------------
557 Procedure upd
558 (p_rec in out nocopy per_req_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 per_req_shd.lck
569 (p_rec.requisition_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 per_req_bus.update_validate
581 (p_rec
582 );
583 --
584 -- Call the supporting pre-update operation
585 --
586 per_req_upd.pre_update(p_rec);
587 --
588 -- Update the row.
589 --
590 per_req_upd.update_dml(p_rec);
591 --
592 -- Call the supporting post-update operation
593 --
594 per_req_upd.post_update
595 (p_rec
596 );
597 End upd;
598 --
599 -- ----------------------------------------------------------------------------
600 -- |---------------------------------< upd >----------------------------------|
601 -- ----------------------------------------------------------------------------
602 Procedure upd
603 (p_requisition_id in number
604 ,p_object_version_number in out nocopy number
605 ,p_business_group_id in number default hr_api.g_number
606 ,p_date_from in date default hr_api.g_date
607 ,p_name in varchar2 default hr_api.g_varchar2
608 ,p_person_id in number default hr_api.g_number
609 ,p_comments in varchar2 default hr_api.g_varchar2
610 ,p_date_to in date default hr_api.g_date
611 ,p_description in varchar2 default hr_api.g_varchar2
612 ,p_request_id in number default hr_api.g_number
613 ,p_program_application_id in number default hr_api.g_number
614 ,p_program_id in number default hr_api.g_number
615 ,p_program_update_date in date default hr_api.g_date
616 ,p_attribute_category in varchar2 default hr_api.g_varchar2
617 ,p_attribute1 in varchar2 default hr_api.g_varchar2
618 ,p_attribute2 in varchar2 default hr_api.g_varchar2
619 ,p_attribute3 in varchar2 default hr_api.g_varchar2
620 ,p_attribute4 in varchar2 default hr_api.g_varchar2
621 ,p_attribute5 in varchar2 default hr_api.g_varchar2
622 ,p_attribute6 in varchar2 default hr_api.g_varchar2
623 ,p_attribute7 in varchar2 default hr_api.g_varchar2
624 ,p_attribute8 in varchar2 default hr_api.g_varchar2
625 ,p_attribute9 in varchar2 default hr_api.g_varchar2
626 ,p_attribute10 in varchar2 default hr_api.g_varchar2
627 ,p_attribute11 in varchar2 default hr_api.g_varchar2
628 ,p_attribute12 in varchar2 default hr_api.g_varchar2
629 ,p_attribute13 in varchar2 default hr_api.g_varchar2
630 ,p_attribute14 in varchar2 default hr_api.g_varchar2
631 ,p_attribute15 in varchar2 default hr_api.g_varchar2
632 ,p_attribute16 in varchar2 default hr_api.g_varchar2
633 ,p_attribute17 in varchar2 default hr_api.g_varchar2
634 ,p_attribute18 in varchar2 default hr_api.g_varchar2
635 ,p_attribute19 in varchar2 default hr_api.g_varchar2
636 ,p_attribute20 in varchar2 default hr_api.g_varchar2
637 ) is
638 --
639 l_rec per_req_shd.g_rec_type;
640 l_proc varchar2(72) := g_package||'upd';
641 --
642 Begin
643 hr_utility.set_location('Entering:'||l_proc, 5);
644 --
645 -- Call conversion function to turn arguments into the
646 -- l_rec structure.
647 --
648 l_rec :=
649 per_req_shd.convert_args
650 (p_requisition_id
651 ,p_business_group_id
652 ,p_person_id
653 ,p_date_from
654 ,p_name
655 ,p_comments
656 ,p_date_to
657 ,p_description
658 ,p_request_id
659 ,p_program_application_id
660 ,p_program_id
661 ,p_program_update_date
662 ,p_attribute_category
663 ,p_attribute1
664 ,p_attribute2
665 ,p_attribute3
666 ,p_attribute4
667 ,p_attribute5
668 ,p_attribute6
669 ,p_attribute7
670 ,p_attribute8
671 ,p_attribute9
672 ,p_attribute10
673 ,p_attribute11
674 ,p_attribute12
675 ,p_attribute13
676 ,p_attribute14
677 ,p_attribute15
678 ,p_attribute16
679 ,p_attribute17
680 ,p_attribute18
681 ,p_attribute19
682 ,p_attribute20
683 ,p_object_version_number
684 );
685 --
686 -- Having converted the arguments into the
687 -- plsql record structure we call the corresponding record
688 -- business process.
689 --
690 per_req_upd.upd
691 (l_rec
692 );
693 p_object_version_number := l_rec.object_version_number;
694 --
695 hr_utility.set_location(' Leaving:'||l_proc, 10);
696 End upd;
697 --
698 end per_req_upd;