1 Package Body hr_trs_upd as
2 /* $Header: hrtrsrhi.pkb 120.2 2005/10/11 02:10:33 hpandya noship $ */
3 --
4 -- ----------------------------------------------------------------------------
5 -- | Private Global Definitions |
6 -- ----------------------------------------------------------------------------
7 --
8 g_package varchar2(33) := ' hr_trs_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 -- Pre Conditions:
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 Table Handler Use Only.
51 --
52 -- {End Of Comments}
53 -- ----------------------------------------------------------------------------
54 Procedure update_dml(p_rec in out nocopy hr_trs_shd.g_rec_type) is
55 --
56 l_proc varchar2(72) := g_package||'update_dml';
57 --
58 Begin
59 hr_utility.set_location('Entering:'||l_proc, 5);
60 --
61 -- Increment the object version
62 --
63 p_rec.object_version_number := p_rec.object_version_number + 1;
64 --
65 hr_trs_shd.g_api_dml := true; -- Set the api dml status
66 --
67 -- Update the hr_api_transaction_steps Row
68 --
69 update hr_api_transaction_steps
70 set
71 api_name = p_rec.api_name,
72 api_display_name = p_rec.api_display_name,
73 processing_order = p_rec.processing_order,
74 item_type = p_rec.item_type,
75 item_key = p_rec.item_key,
76 activity_id = p_rec.activity_id,
77 creator_person_id = p_rec.creator_person_id,
78 update_person_id = p_rec.update_person_id,
79 object_version_number = p_rec.object_version_number,
80 last_update_date = trunc(sysdate),
81 object_state = p_rec.object_state,
82 pk1 = p_rec.pk1,
83 pk2 = p_rec.pk2,
84 pk3 = p_rec.pk3,
85 pk4 = p_rec.pk4,
86 pk5 = p_rec.pk5,
87 information_category = p_rec.information_category,
88 information1 = p_rec.information1,
89 information2 = p_rec.information2,
90 information3 = p_rec.information3,
91 information4 = p_rec.information4,
92 information5 = p_rec.information5,
93 information6 = p_rec.information6,
94 information7 = p_rec.information7,
95 information8 = p_rec.information8,
96 information9 = p_rec.information9,
97 information10 = p_rec.information10,
98 information11 = p_rec.information11,
99 information12 = p_rec.information12,
100 information13 = p_rec.information13,
101 information14 = p_rec.information14,
102 information15 = p_rec.information15,
103 information16 = p_rec.information16,
104 information17 = p_rec.information17,
105 information18 = p_rec.information18,
106 information19 = p_rec.information19,
107 information20 = p_rec.information20,
108 information21 = p_rec.information21,
109 information22 = p_rec.information22,
110 information23 = p_rec.information23,
111 information24 = p_rec.information24,
112 information25 = p_rec.information25,
113 information26 = p_rec.information26,
114 information27 = p_rec.information27,
115 information28 = p_rec.information28,
116 information29 = p_rec.information29,
117 information30 = p_rec.information30
118 where transaction_step_id = p_rec.transaction_step_id;
119 --
120 hr_trs_shd.g_api_dml := false; -- Unset the api dml status
121 --
122 hr_utility.set_location(' Leaving:'||l_proc, 10);
123 --
124 Exception
125 When hr_api.check_integrity_violated Then
126 -- A check constraint has been violated
127 hr_trs_shd.g_api_dml := false; -- Unset the api dml status
128 hr_trs_shd.constraint_error
129 (p_constraint_name => hr_api.strip_constraint_name(SQLERRM));
130 When hr_api.parent_integrity_violated Then
131 -- Parent integrity has been violated
132 hr_trs_shd.g_api_dml := false; -- Unset the api dml status
133 hr_trs_shd.constraint_error
134 (p_constraint_name => hr_api.strip_constraint_name(SQLERRM));
135 When hr_api.unique_integrity_violated Then
136 -- Unique integrity has been violated
137 hr_trs_shd.g_api_dml := false; -- Unset the api dml status
138 hr_trs_shd.constraint_error
139 (p_constraint_name => hr_api.strip_constraint_name(SQLERRM));
140 When Others Then
141 hr_trs_shd.g_api_dml := false; -- Unset the api dml status
142 Raise;
143 End update_dml;
144 --
145 -- ----------------------------------------------------------------------------
146 -- |------------------------------< pre_update >------------------------------|
147 -- ----------------------------------------------------------------------------
148 -- {Start Of Comments}
149 --
150 -- Description:
151 -- This private procedure contains any processing which is required before
152 -- the update dml.
153 --
154 -- Pre Conditions:
155 -- This is an internal procedure which is called from the upd procedure.
156 --
157 -- In Parameters:
158 -- A Pl/Sql record structre.
159 --
160 -- Post Success:
161 -- Processing continues.
162 --
163 -- Post Failure:
164 -- If an error has occurred, an error message and exception will be raised
165 -- but not handled.
166 --
167 -- Developer Implementation Notes:
168 -- Any pre-processing required before the update dml is issued should be
169 -- coded within this procedure. It is important to note that any 3rd party
170 -- maintenance should be reviewed before placing in this procedure.
171 --
172 -- Access Status:
173 -- Internal Table Handler Use Only.
174 --
175 -- {End Of Comments}
176 -- ----------------------------------------------------------------------------
177 Procedure pre_update(p_rec in hr_trs_shd.g_rec_type) is
178 --
179 l_proc varchar2(72) := g_package||'pre_update';
180 --
181 Begin
182 hr_utility.set_location('Entering:'||l_proc, 5);
183 --
184 hr_utility.set_location(' Leaving:'||l_proc, 10);
185 End pre_update;
186 --
187 -- ----------------------------------------------------------------------------
188 -- |-----------------------------< post_update >------------------------------|
189 -- ----------------------------------------------------------------------------
190 -- {Start Of Comments}
191 --
192 -- Description:
193 -- This private procedure contains any processing which is required after the
194 -- update dml.
195 --
196 -- Pre Conditions:
197 -- This is an internal procedure which is called from the upd procedure.
198 --
199 -- In Parameters:
200 -- A Pl/Sql record structre.
201 --
202 -- Post Success:
203 -- Processing continues.
204 --
205 -- Post Failure:
206 -- If an error has occurred, an error message and exception will be raised
207 -- but not handled.
208 --
209 -- Developer Implementation Notes:
210 -- Any post-processing required after the update dml is issued should be
211 -- coded within this procedure. It is important to note that any 3rd party
212 -- maintenance should be reviewed before placing in this procedure.
213 --
214 -- Access Status:
215 -- Internal Table Handler Use Only.
216 --
217 -- {End Of Comments}
218 -- ----------------------------------------------------------------------------
219 Procedure post_update(p_rec in hr_trs_shd.g_rec_type) is
220 --
221 l_proc varchar2(72) := g_package||'post_update';
222 --
223 Begin
224 hr_utility.set_location('Entering:'||l_proc, 5);
225 --
226 hr_utility.set_location(' Leaving:'||l_proc, 10);
227 End post_update;
228 --
229 -- ----------------------------------------------------------------------------
230 -- |-----------------------------< convert_defs >-----------------------------|
231 -- ----------------------------------------------------------------------------
232 -- {Start Of Comments}
233 --
234 -- Description:
235 -- The Convert_Defs procedure has one very important function:
236 -- It must return the record structure for the row with all system defaulted
237 -- values converted into its corresponding parameter value for update. When
238 -- we attempt to update a row through the Upd process , certain
239 -- parameters can be defaulted which enables flexibility in the calling of
240 -- the upd process (e.g. only attributes which need to be updated need to be
241 -- specified). For the upd process to determine which attributes
242 -- have NOT been specified we need to check if the parameter has a reserved
243 -- system default value. Therefore, for all parameters which have a
244 -- corresponding reserved system default mechanism specified we need to
245 -- check if a system default is being used. If a system default is being
246 -- used then we convert the defaulted value into its corresponding attribute
247 -- value held in the g_old_rec data structure.
248 --
249 -- Pre Conditions:
250 -- This private function can only be called from the upd process.
251 --
252 -- In Parameters:
253 -- A Pl/Sql record structre.
254 --
255 -- Post Success:
256 -- The record structure will be returned with all system defaulted parameter
257 -- values converted into its current row attribute value.
258 --
259 -- Post Failure:
260 -- No direct error handling is required within this function. Any possible
261 -- errors within this procedure will be a PL/SQL value error due to conversion
262
263 -- of datatypes or data lengths.
264 --
265 -- Developer Implementation Notes:
266 -- None.
267 --
268 -- Access Status:
269 -- Internal Table Handler Use Only.
270 --
271 -- {End Of Comments}
272 -- ----------------------------------------------------------------------------
273 Procedure convert_defs(p_rec in out nocopy hr_trs_shd.g_rec_type) is
274 --
275 l_proc varchar2(72) := g_package||'convert_defs';
276 --
277 Begin
278 --
279 hr_utility.set_location('Entering:'||l_proc, 5);
280 --
281 -- We must now examine each argument value in the
282 -- p_rec plsql record structure
283 -- to see if a system default is being used. If a system default
284 -- is being used then we must set to the 'current' argument value.
285 --
286 If (p_rec.transaction_id = hr_api.g_number) then
287 p_rec.transaction_id :=
288 hr_trs_shd.g_old_rec.transaction_id;
289 End If;
290 If (p_rec.api_name = hr_api.g_varchar2) then
291 p_rec.api_name :=
292 hr_trs_shd.g_old_rec.api_name;
293 End If;
294 If (p_rec.api_display_name = hr_api.g_varchar2) then
295 p_rec.api_display_name :=
296 hr_trs_shd.g_old_rec.api_display_name;
297 End If;
298 If (p_rec.processing_order = hr_api.g_number) then
299 p_rec.processing_order :=
300 hr_trs_shd.g_old_rec.processing_order;
301 End If;
302 If (p_rec.item_type = hr_api.g_varchar2) then
303 p_rec.item_type :=
304 hr_trs_shd.g_old_rec.item_type;
305 End If;
306 If (p_rec.item_key = hr_api.g_varchar2) then
307 p_rec.item_key :=
308 hr_trs_shd.g_old_rec.item_key;
309 End If;
310 If (p_rec.activity_id = hr_api.g_number) then
311 p_rec.activity_id :=
312 hr_trs_shd.g_old_rec.activity_id;
313 End If;
314 If (p_rec.creator_person_id = hr_api.g_number) then
315 p_rec.creator_person_id :=
316 hr_trs_shd.g_old_rec.creator_person_id;
317 End If;
318 If (p_rec.update_person_id = hr_api.g_number) then
319 p_rec.update_person_id :=
320 hr_trs_shd.g_old_rec.update_person_id;
321 End If;
322
323 If (p_rec.pk1 = hr_api.g_varchar2) then
324 p_rec.pk1 := hr_trs_shd.g_old_rec.pk1;
325 End If;
326 If (p_rec.pk2 = hr_api.g_varchar2) then
327 p_rec.pk2 := hr_trs_shd.g_old_rec.pk2;
328 End If;
329 If (p_rec.pk3 = hr_api.g_varchar2) then
330 p_rec.pk3 := hr_trs_shd.g_old_rec.pk3;
331 End If;
332 If (p_rec.pk4 = hr_api.g_varchar2) then
333 p_rec.pk4 := hr_trs_shd.g_old_rec.pk4;
334 End If;
335 If (p_rec.pk5 = hr_api.g_varchar2) then
336 p_rec.pk5 := hr_trs_shd.g_old_rec.pk5;
337 End If;
338 If (p_rec.information_category = hr_api.g_varchar2) then
339 p_rec.information_category := hr_trs_shd.g_old_rec.information_category;
340 End If;
341 If (p_rec.information1 = hr_api.g_varchar2) then
342 p_rec.information1 := hr_trs_shd.g_old_rec.information1;
343 End If;
344 If (p_rec.information2 = hr_api.g_varchar2) then
345 p_rec.information2 := hr_trs_shd.g_old_rec.information2;
346 End If;
347 If (p_rec.information3 = hr_api.g_varchar2) then
348 p_rec.information3 := hr_trs_shd.g_old_rec.information3;
349 End If;
350 If (p_rec.information4 = hr_api.g_varchar2) then
351 p_rec.information4 := hr_trs_shd.g_old_rec.information4;
352 End If;
353 If (p_rec.information5 = hr_api.g_varchar2) then
354 p_rec.information5 := hr_trs_shd.g_old_rec.information5;
355 End If;
356 If (p_rec.information6 = hr_api.g_varchar2) then
357 p_rec.information6 := hr_trs_shd.g_old_rec.information6;
358 End If;
359 If (p_rec.information7 = hr_api.g_varchar2) then
360 p_rec.information7 := hr_trs_shd.g_old_rec.information7;
361 End If;
362 If (p_rec.information8 = hr_api.g_varchar2) then
363 p_rec.information8 := hr_trs_shd.g_old_rec.information8;
364 End If;
365 If (p_rec.information9 = hr_api.g_varchar2) then
366 p_rec.information9 := hr_trs_shd.g_old_rec.information9;
367 End If;
368 If (p_rec.information10 = hr_api.g_varchar2) then
369 p_rec.information10 := hr_trs_shd.g_old_rec.information10;
370 End If;
371 If (p_rec.information11 = hr_api.g_varchar2) then
372 p_rec.information11 := hr_trs_shd.g_old_rec.information11;
373 End If;
374 If (p_rec.information12 = hr_api.g_varchar2) then
375 p_rec.information12:= hr_trs_shd.g_old_rec.information12;
376 End If;
377 If (p_rec.information13 = hr_api.g_varchar2) then
378 p_rec.information13 := hr_trs_shd.g_old_rec.information1;
379 End If;
380 If (p_rec.information14 = hr_api.g_varchar2) then
381 p_rec.information14 := hr_trs_shd.g_old_rec.information14;
382 End If;
383 If (p_rec.information15= hr_api.g_varchar2) then
384 p_rec.information15 := hr_trs_shd.g_old_rec.information15;
385 End If;
386 If (p_rec.information16 = hr_api.g_varchar2) then
387 p_rec.information16 := hr_trs_shd.g_old_rec.information16;
388 End If;
389 If (p_rec.information17 = hr_api.g_varchar2) then
390 p_rec.information17 := hr_trs_shd.g_old_rec.information17;
391 End If;
392 If (p_rec.information18 = hr_api.g_varchar2) then
393 p_rec.information18 := hr_trs_shd.g_old_rec.information18;
394 End If;
395 If (p_rec.information19 = hr_api.g_varchar2) then
396 p_rec.information19 := hr_trs_shd.g_old_rec.information19;
397 End If;
398 If (p_rec.information20= hr_api.g_varchar2) then
399 p_rec.information20 := hr_trs_shd.g_old_rec.information20;
400 End If;
401 If (p_rec.information21 = hr_api.g_varchar2) then
402 p_rec.information21 := hr_trs_shd.g_old_rec.information21;
403 End If;
404 If (p_rec.information22 = hr_api.g_varchar2) then
405 p_rec.information22 := hr_trs_shd.g_old_rec.information22;
406 End If;
407 If (p_rec.information23 = hr_api.g_varchar2) then
408 p_rec.information23 := hr_trs_shd.g_old_rec.information23;
409 End If;
410 If (p_rec.information24 = hr_api.g_varchar2) then
411 p_rec.information24 := hr_trs_shd.g_old_rec.information24;
412 End If;
413 If (p_rec.information25 = hr_api.g_varchar2) then
414 p_rec.information25 := hr_trs_shd.g_old_rec.information25;
415 End If;
416 If (p_rec.information26 = hr_api.g_varchar2) then
417 p_rec.information26 := hr_trs_shd.g_old_rec.information26;
418 End If;
419 If (p_rec.information27 = hr_api.g_varchar2) then
420 p_rec.information27 := hr_trs_shd.g_old_rec.information27;
421 End If;
422 If (p_rec.information28 = hr_api.g_varchar2) then
423 p_rec.information28 := hr_trs_shd.g_old_rec.information28;
424 End If;
425 If (p_rec.information29 = hr_api.g_varchar2) then
426 p_rec.information29 := hr_trs_shd.g_old_rec.information29;
427 End If;
428 If (p_rec.information30 = hr_api.g_varchar2) then
429 p_rec.information30 := hr_trs_shd.g_old_rec.information30;
430 End If;
431
432
433 --
434 hr_utility.set_location(' Leaving:'||l_proc, 10);
435 --
436 End convert_defs;
437 --
438 -- ----------------------------------------------------------------------------
439 -- |---------------------------------< upd >----------------------------------|
440 -- ----------------------------------------------------------------------------
441 Procedure upd
442 (
443 p_rec in out nocopy hr_trs_shd.g_rec_type,
444 p_validate in boolean default false
445 ) is
446 --
447 l_proc varchar2(72) := g_package||'upd';
448 --
449 Begin
450 hr_utility.set_location('Entering:'||l_proc, 5);
451 --
452 -- Determine if the business process is to be validated.
453 --
454 If p_validate then
455 --
456 -- Issue the savepoint.
457 --
458 SAVEPOINT upd_hr_trs;
459 End If;
460 --
461 -- We must lock the row which we need to update.
462 --
463 hr_trs_shd.lck
464 (
465 p_rec.transaction_step_id,
466 p_rec.object_version_number
467 );
468 --
469 -- 1. During an update system defaults are used to determine if
470 -- arguments have been defaulted or not. We must therefore
471 -- derive the full record structure values to be updated.
472 --
473 -- 2. Call the supporting update validate operations.
474 --
475 convert_defs(p_rec);
476 hr_trs_bus.update_validate(p_rec);
477 --
478 -- Call the supporting pre-update operation
479 --
480 pre_update(p_rec);
481 --
482 -- Update the row.
483 --
484 update_dml(p_rec);
485 --
486 -- Call the supporting post-update operation
487 --
488 post_update(p_rec);
489 --
490 -- If we are validating then raise the Validate_Enabled exception
491 --
492 If p_validate then
493 Raise HR_Api.Validate_Enabled;
494 End If;
495 --
496 hr_utility.set_location(' Leaving:'||l_proc, 10);
497 Exception
498 When HR_Api.Validate_Enabled Then
499 --
500 -- As the Validate_Enabled exception has been raised
501 -- we must rollback to the savepoint
502 --
503 ROLLBACK TO upd_hr_trs;
504 End upd;
505 --
506 -- ----------------------------------------------------------------------------
507 -- |---------------------------------< upd >----------------------------------|
508 -- ----------------------------------------------------------------------------
509 Procedure upd
510 (
511 p_transaction_step_id in number,
512 p_transaction_id in number default hr_api.g_number,
513 p_api_name in varchar2 default hr_api.g_varchar2,
514 p_api_display_name in varchar2 default hr_api.g_varchar2,
515 p_processing_order in number default hr_api.g_number,
516 p_item_type in varchar2 default hr_api.g_varchar2,
517 p_item_key in varchar2 default hr_api.g_varchar2,
518 p_activity_id in number default hr_api.g_number,
519 p_creator_person_id in number default hr_api.g_number,
520 p_update_person_id in number default hr_api.g_number,
521 p_object_version_number in out nocopy number,
522 p_validate in boolean default false,
523 p_OBJECT_TYPE in VARCHAR2 default hr_api.g_varchar2,
524 p_OBJECT_NAME in VARCHAR2 default hr_api.g_varchar2,
525 p_OBJECT_IDENTIFIER in VARCHAR2 default hr_api.g_varchar2,
526 p_OBJECT_STATE in VARCHAR2 default hr_api.g_varchar2,
527 p_OBJECT_NAME_IDENTIFIER in VARCHAR2 default hr_api.g_varchar2,
528 p_PK1 in VARCHAR2 default hr_api.g_varchar2,
529 p_PK2 in VARCHAR2 default hr_api.g_varchar2,
530 p_PK3 in VARCHAR2 default hr_api.g_varchar2,
531 p_PK4 in VARCHAR2 default hr_api.g_varchar2,
532 p_PK5 in VARCHAR2 default hr_api.g_varchar2,
533 p_information_category in VARCHAR2 default hr_api.g_varchar2,
534 p_information1 in VARCHAR2 default hr_api.g_varchar2,
535 p_information2 in VARCHAR2 default hr_api.g_varchar2,
536 p_information3 in VARCHAR2 default hr_api.g_varchar2,
537 p_information4 in VARCHAR2 default hr_api.g_varchar2,
538 p_information5 in VARCHAR2 default hr_api.g_varchar2,
539 p_information6 in VARCHAR2 default hr_api.g_varchar2,
540 p_information7 in VARCHAR2 default hr_api.g_varchar2,
541 p_information8 in VARCHAR2 default hr_api.g_varchar2,
542 p_information9 in VARCHAR2 default hr_api.g_varchar2,
543 p_information10 in VARCHAR2 default hr_api.g_varchar2,
544 p_information11 in VARCHAR2 default hr_api.g_varchar2,
545 p_information12 in VARCHAR2 default hr_api.g_varchar2,
546 p_information13 in VARCHAR2 default hr_api.g_varchar2,
547 p_information14 in VARCHAR2 default hr_api.g_varchar2,
548 p_information15 in VARCHAR2 default hr_api.g_varchar2,
549 p_information16 in VARCHAR2 default hr_api.g_varchar2,
550 p_information17 in VARCHAR2 default hr_api.g_varchar2,
551 p_information18 in VARCHAR2 default hr_api.g_varchar2,
552 p_information19 in VARCHAR2 default hr_api.g_varchar2,
553 p_information20 in VARCHAR2 default hr_api.g_varchar2,
554 p_information21 in VARCHAR2 default hr_api.g_varchar2,
555 p_information22 in VARCHAR2 default hr_api.g_varchar2,
556 p_information23 in VARCHAR2 default hr_api.g_varchar2,
557 p_information24 in VARCHAR2 default hr_api.g_varchar2,
558 p_information25 in VARCHAR2 default hr_api.g_varchar2,
559 p_information26 in VARCHAR2 default hr_api.g_varchar2,
560 p_information27 in VARCHAR2 default hr_api.g_varchar2,
561 p_information28 in VARCHAR2 default hr_api.g_varchar2,
562 p_information29 in VARCHAR2 default hr_api.g_varchar2,
563 p_information30 in VARCHAR2 default hr_api.g_varchar2
564
565
566 ) is
567 --
568 l_rec hr_trs_shd.g_rec_type;
569 l_proc varchar2(72) := g_package||'upd';
570 --
571 Begin
572 hr_utility.set_location('Entering:'||l_proc, 5);
573 --
574 -- Call conversion function to turn arguments into the
575 -- l_rec structure.
576 --
577 l_rec :=
578 hr_trs_shd.convert_args
579 (
580 p_transaction_step_id,
581 p_transaction_id,
582 p_api_name,
583 p_api_display_name,
584 p_processing_order,
585 p_item_type,
586 p_item_key,
587 p_activity_id,
588 p_creator_person_id,
589 p_update_person_id,
590 p_object_version_number,
591 p_object_type,
592 p_object_name,
593 p_object_identifier,
594 p_object_state,
595 p_pk1,
596 p_pk2,
597 p_pk3,
598 p_pk4,
599 p_pk5,
600 p_information_category,
601 p_information1,
602 p_information2,
603 p_information3,
604 p_information4,
605 p_information5,
606 p_information6,
607 p_information7,
608 p_information8,
609 p_information9,
610 p_information10,
611 p_information11,
612 p_information12,
613 p_information13,
614 p_information14,
615 p_information15,
616 p_information16,
617 p_information17,
618 p_information18,
619 p_information19,
620 p_information20,
621 p_information21,
622 p_information22,
623 p_information23,
624 p_information24,
625 p_information25,
626 p_information26,
627 p_information27,
628 p_information28,
629 p_information29,
630 p_information30
631 );
632 --
633 -- Having converted the arguments into the
634 -- plsql record structure we call the corresponding record
635 -- business process.
636 --
637 upd(l_rec, p_validate);
638 p_object_version_number := l_rec.object_version_number;
639 --
640 hr_utility.set_location(' Leaving:'||l_proc, 10);
641 End upd;
642 --
643 end hr_trs_upd;