[Home] [Help]
PACKAGE BODY: APPS.PQP_VAL_UPD
Source
1 Package Body pqp_val_upd as
2 /* $Header: pqvalrhi.pkb 120.4 2011/09/16 06:12:51 vepravee noship $ */
3 --
4 -- ----------------------------------------------------------------------------
5 -- | Private Global Definitions |
6 -- ----------------------------------------------------------------------------
7 --
8 g_package varchar2(33) := ' pqp_val_upd.'; -- Global package name
9 --
10 -- ----------------------------------------------------------------------------
11 -- |----------------------------< dt_update_dml >-----------------------------|
12 -- ----------------------------------------------------------------------------
13 -- {Start Of Comments}
14 --
15 -- Description:
16 -- This procedure controls the execution of dml from the datetrack mode
17 -- of CORRECTION only. It is important to note that the object version
18 -- number is only increment by 1 because the datetrack correction is
19 -- soley for one datetracked row.
20 -- This procedure controls the actual dml update logic. The functions of
21 -- this procedure are as follows:
22 -- 1) Get the next object_version_number.
23 -- 2) To set and unset the g_api_dml status as required (as we are about to
24 -- perform dml).
25 -- 3) To update the specified row in the schema using the primary key in
26 -- the predicates.
27 -- 4) To trap any constraint violations that may have occurred.
28 -- 5) To raise any other errors.
29 --
30 -- Prerequisites:
31 -- This is an internal private procedure which must be called from the
32 -- update_dml procedure.
33 --
34 -- In Parameters:
35 -- A Pl/Sql record structure.
36 --
37 -- Post Success:
38 -- The specified row will be updated in the schema.
39 --
40 -- Post Failure:
41 -- On the update dml failure it is important to note that we always reset the
42 -- g_api_dml status to false.
43 -- If a check or unique integrity constraint violation is raised the
44 -- constraint_error procedure will be called.
45 -- If any other error is reported, the error will be raised after the
46 -- g_api_dml status is reset.
47 --
48 -- Developer Implementation Notes:
49 -- The update 'set' arguments list should be modified if any of your
50 -- attributes are not updateable.
51 --
52 -- Access Status:
53 -- Internal Row Handler Use Only.
54 --
55 -- {End Of Comments}
56 -- ----------------------------------------------------------------------------
57 Procedure dt_update_dml
58 (p_rec in out nocopy pqp_val_shd.g_rec_type
59 ,p_effective_date in date
60 ,p_datetrack_mode in varchar2
61 ,p_validation_start_date in date
62 ,p_validation_end_date in date
63 ) is
64 --
65 l_proc varchar2(72) := g_package||'dt_update_dml';
66 --
67 Begin
68 hr_utility.set_location('Entering:'||l_proc, 5);
69 --
70 If (p_datetrack_mode = hr_api.g_correction) then
71 hr_utility.set_location(l_proc, 10);
72 --
73 -- Because we are updating a row we must get the next object
74 -- version number.
75 --
76 p_rec.object_version_number :=
77 dt_api.get_object_version_number
78 (p_base_table_name => 'pqp_vehicle_allocations_f'
79 ,p_base_key_column => 'vehicle_allocation_id'
80 ,p_base_key_value => p_rec.vehicle_allocation_id
81 );
82 --
83 --
84 --
85 -- Update the pqp_vehicle_allocations_f Row
86 --
87 update pqp_vehicle_allocations_f
88 set
89 vehicle_allocation_id = p_rec.vehicle_allocation_id
90 ,assignment_id = p_rec.assignment_id
91 ,business_group_id = p_rec.business_group_id
92 ,across_assignments = p_rec.across_assignments
93 ,vehicle_repository_id = p_rec.vehicle_repository_id
94 ,usage_type = p_rec.usage_type
95 ,capital_contribution = p_rec.capital_contribution
96 ,private_contribution = p_rec.private_contribution
97 ,default_vehicle = p_rec.default_vehicle
98 ,fuel_card = p_rec.fuel_card
99 ,fuel_card_number = p_rec.fuel_card_number
100 ,calculation_method = p_rec.calculation_method
101 ,rates_table_id = p_rec.rates_table_id
102 ,element_type_id = p_rec.element_type_id
103 ,private_use_flag = p_rec.private_use_flag
104 ,insurance_number = p_rec.insurance_number
105 ,insurance_expiry_date = p_rec.insurance_expiry_date
106 ,val_attribute_category = p_rec.val_attribute_category
107 ,val_attribute1 = p_rec.val_attribute1
108 ,val_attribute2 = p_rec.val_attribute2
109 ,val_attribute3 = p_rec.val_attribute3
110 ,val_attribute4 = p_rec.val_attribute4
111 ,val_attribute5 = p_rec.val_attribute5
112 ,val_attribute6 = p_rec.val_attribute6
113 ,val_attribute7 = p_rec.val_attribute7
114 ,val_attribute8 = p_rec.val_attribute8
115 ,val_attribute9 = p_rec.val_attribute9
116 ,val_attribute10 = p_rec.val_attribute10
117 ,val_attribute11 = p_rec.val_attribute11
118 ,val_attribute12 = p_rec.val_attribute12
119 ,val_attribute13 = p_rec.val_attribute13
120 ,val_attribute14 = p_rec.val_attribute14
121 ,val_attribute15 = p_rec.val_attribute15
122 ,val_attribute16 = p_rec.val_attribute16
123 ,val_attribute17 = p_rec.val_attribute17
124 ,val_attribute18 = p_rec.val_attribute18
125 ,val_attribute19 = p_rec.val_attribute19
126 ,val_attribute20 = p_rec.val_attribute20
127 ,val_information_category = p_rec.val_information_category
128 ,val_information1 = p_rec.val_information1
129 ,val_information2 = p_rec.val_information2
130 ,val_information3 = p_rec.val_information3
131 ,val_information4 = p_rec.val_information4
132 ,val_information5 = p_rec.val_information5
133 ,val_information6 = p_rec.val_information6
134 ,val_information7 = p_rec.val_information7
135 ,val_information8 = p_rec.val_information8
136 ,val_information9 = p_rec.val_information9
137 ,val_information10 = p_rec.val_information10
138 ,val_information11 = p_rec.val_information11
139 ,val_information12 = p_rec.val_information12
140 ,val_information13 = p_rec.val_information13
141 ,val_information14 = p_rec.val_information14
142 ,val_information15 = p_rec.val_information15
143 ,val_information16 = p_rec.val_information16
144 ,val_information17 = p_rec.val_information17
145 ,val_information18 = p_rec.val_information18
146 ,val_information19 = p_rec.val_information19
147 ,val_information20 = p_rec.val_information20
148 ,object_version_number = p_rec.object_version_number
149 ,fuel_benefit = p_rec.fuel_benefit
150 ,sliding_rates_info =p_rec.sliding_rates_info
151 where vehicle_allocation_id = p_rec.vehicle_allocation_id
152 and effective_start_date = p_validation_start_date
153 and effective_end_date = p_validation_end_date;
154 --
155 --
156 --
157 -- Set the effective start and end dates
158 --
159 p_rec.effective_start_date := p_validation_start_date;
160 p_rec.effective_end_date := p_validation_end_date;
161 End If;
162 --
163 hr_utility.set_location(' Leaving:'||l_proc, 15);
164 Exception
165 When hr_api.check_integrity_violated Then
166 -- A check constraint has been violated
167 --
168 pqp_val_shd.constraint_error
169 (p_constraint_name => hr_api.strip_constraint_name(SQLERRM));
170 When hr_api.unique_integrity_violated Then
171 -- Unique integrity has been violated
172 --
173 pqp_val_shd.constraint_error
174 (p_constraint_name => hr_api.strip_constraint_name(SQLERRM));
175 When Others Then
176 --
177 Raise;
178 End dt_update_dml;
179 --
180 -- ----------------------------------------------------------------------------
181 -- |------------------------------< update_dml >------------------------------|
182 -- ----------------------------------------------------------------------------
183 -- {Start Of Comments}
184 --
185 -- Description:
186 -- This procedure calls the dt_update_dml control logic which handles
187 -- the actual datetrack dml.
188 --
189 -- Prerequisites:
190 -- This is an internal private procedure which must be called from the upd
191 -- procedure.
192 --
193 -- In Parameters:
194 -- A Pl/Sql record structre.
195 --
196 -- Post Success:
197 -- Processing contines.
198 --
199 -- Post Failure:
200 -- No specific error handling is required within this procedure.
201 --
202 -- Developer Implementation Notes:
203 -- The update 'set' arguments list should be modified if any of your
204 -- attributes are not updateable.
205 --
206 -- Access Status:
207 -- Internal Row Handler Use Only.
208 --
209 -- {End Of Comments}
210 -- ----------------------------------------------------------------------------
211 Procedure update_dml
212 (p_rec in out nocopy pqp_val_shd.g_rec_type
213 ,p_effective_date in date
214 ,p_datetrack_mode in varchar2
215 ,p_validation_start_date in date
216 ,p_validation_end_date in date
217 ) is
218 --
219 l_proc varchar2(72) := g_package||'update_dml';
220 --
221 Begin
222 hr_utility.set_location('Entering:'||l_proc, 5);
223 --
224 pqp_val_upd.dt_update_dml
225 (p_rec => p_rec
226 ,p_effective_date => p_effective_date
227 ,p_datetrack_mode => p_datetrack_mode
228 ,p_validation_start_date => p_validation_start_date
229 ,p_validation_end_date => p_validation_end_date
230 );
231 --
232 hr_utility.set_location(' Leaving:'||l_proc, 10);
233 End update_dml;
234 --
235 -- ----------------------------------------------------------------------------
236 -- |----------------------------< dt_pre_update >-----------------------------|
237 -- ----------------------------------------------------------------------------
238 -- {Start Of Comments}
239 --
240 -- Description:
241 -- The dt_pre_update procedure controls the execution
242 -- of dml for the datetrack modes of: UPDATE, UPDATE_OVERRIDE
243 -- and UPDATE_CHANGE_INSERT only. The execution required is as
244 -- follows:
245 --
246 -- 1) Providing the datetrack update mode is not 'CORRECTION'
247 -- then set the effective end date of the current row (this
248 -- will be the validation_start_date - 1).
249 -- 2) If the datetrack mode is 'UPDATE_OVERRIDE' then call the
250 -- corresponding delete_dml process to delete any future rows
251 -- where the effective_start_date is greater than or equal to
252 -- the validation_start_date.
253 -- 3) Call the insert_dml process to insert the new updated row
254 -- details.
255 --
256 -- Prerequisites:
257 -- This is an internal procedure which is called from the
258 -- pre_update procedure.
259 --
260 -- In Parameters:
261 --
262 -- Post Success:
263 -- Processing continues.
264 --
265 -- Post Failure:
266 -- If an error has occurred, an error message and exception will be raised
267 -- but not handled.
268 --
269 -- Developer Implementation Notes:
270 -- This is an internal procedure which is required by Datetrack. Don't
271 -- remove or modify.
272 --
273 -- Access Status:
274 -- Internal Row Handler Use Only.
275 --
276 -- {End Of Comments}
277 -- ----------------------------------------------------------------------------
278 Procedure dt_pre_update
279 (p_rec in out nocopy pqp_val_shd.g_rec_type
280 ,p_effective_date in date
281 ,p_datetrack_mode in varchar2
282 ,p_validation_start_date in date
283 ,p_validation_end_date in date
284 ) is
285 --
286 l_proc varchar2(72) := g_package||'dt_pre_update';
287 l_dummy_version_number number;
288 --
289 Begin
290 hr_utility.set_location('Entering:'||l_proc, 5);
291 If (p_datetrack_mode <> hr_api.g_correction) then
292 --
293 -- Update the current effective end date
294 --
295 pqp_val_shd.upd_effective_end_date
296 (p_effective_date => p_effective_date
297 ,p_base_key_value => p_rec.vehicle_allocation_id
298 ,p_new_effective_end_date => (p_validation_start_date - 1)
299 ,p_validation_start_date => p_validation_start_date
300 ,p_validation_end_date => p_validation_end_date
301 ,p_object_version_number => l_dummy_version_number
302 );
303 --
304 If (p_datetrack_mode = hr_api.g_update_override) then
305 --
306 -- As the datetrack mode is 'UPDATE_OVERRIDE' then we must
307 -- delete any future rows
308 --
309 pqp_val_del.delete_dml
310 (p_rec => p_rec
311 ,p_effective_date => p_effective_date
312 ,p_datetrack_mode => p_datetrack_mode
313 ,p_validation_start_date => p_validation_start_date
314 ,p_validation_end_date => p_validation_end_date
315 );
316 End If;
317 --
318 -- We must now insert the updated row
319 --
320 pqp_val_ins.insert_dml
321 (p_rec => p_rec
322 ,p_effective_date => p_effective_date
323 ,p_datetrack_mode => p_datetrack_mode
324 ,p_validation_start_date => p_validation_start_date
325 ,p_validation_end_date => p_validation_end_date
326 );
327 End If;
328 hr_utility.set_location(' Leaving:'||l_proc, 20);
329 End dt_pre_update;
330 --
331 -- ----------------------------------------------------------------------------
332 -- |------------------------------< pre_update >------------------------------|
333 -- ----------------------------------------------------------------------------
334 -- {Start Of Comments}
335 --
336 -- Description:
337 -- This private procedure contains any processing which is required before
338 -- the update dml.
339 --
340 -- Prerequisites:
341 -- This is an internal procedure which is called from the upd procedure.
342 --
343 -- In Parameters:
344 -- A Pl/Sql record structure.
345 --
346 -- Post Success:
347 -- Processing continues.
348 --
349 -- Post Failure:
350 -- If an error has occurred, an error message and exception will be raised
351 -- but not handled.
352 -- Developer Implementation Notes:
353 -- Any pre-processing required before the update dml is issued should be
354 -- coded within this procedure. It is important to note that any 3rd party
355 -- maintenance should be reviewed before placing in this procedure. The call
356 -- to the dt_update_dml procedure should NOT be removed.
357 --
358 -- Access Status:
359 -- Internal Row Handler Use Only.
360 --
361 -- {End Of Comments}
362 -- ----------------------------------------------------------------------------
363 Procedure pre_update
364 (p_rec in out nocopy pqp_val_shd.g_rec_type
365 ,p_effective_date in date
366 ,p_datetrack_mode in varchar2
367 ,p_validation_start_date in date
368 ,p_validation_end_date in date
369 ) is
370 --
371 l_proc varchar2(72) := g_package||'pre_update';
372 --
373 Begin
374 hr_utility.set_location('Entering:'||l_proc, 5);
375 --
376 --
377 --
378 dt_pre_update
379 (p_rec => p_rec
380 ,p_effective_date => p_effective_date
381 ,p_datetrack_mode => p_datetrack_mode
382 ,p_validation_start_date => p_validation_start_date
383 ,p_validation_end_date => p_validation_end_date
384 );
385 --
386 hr_utility.set_location(' Leaving:'||l_proc, 10);
387 End pre_update;
388 --
389 -- ----------------------------------------------------------------------------
390 -- |----------------------------< post_update >-------------------------------|
391 -- ----------------------------------------------------------------------------
392 -- {Start Of Comments}
393 --
394 -- Description:
395 -- This private procedure contains any processing which is required after
396 -- the update dml.
397 --
398 -- Prerequisites:
399 -- This is an internal procedure which is called from the upd procedure.
400 --
401 -- In Parameters:
402 -- A Pl/Sql record structure.
403 --
404 -- Post Success:
405 -- Processing continues.
406 --
407 -- Post Failure:
408 -- If an error has occurred, an error message and exception will be raised
409 -- but not handled.
410 --
411 -- Developer Implementation Notes:
412 -- Any post-processing required after the update dml is issued should be
413 -- coded within this procedure. It is important to note that any 3rd party
414 -- maintenance should be reviewed before placing in this procedure.
415 --
416 -- Access Status:
417 -- Internal Row Handler Use Only.
418 --
419 -- {End Of Comments}
420 -- ----------------------------------------------------------------------------
421 Procedure post_update
422 (p_rec in pqp_val_shd.g_rec_type
423 ,p_effective_date in date
424 ,p_datetrack_mode in varchar2
425 ,p_validation_start_date in date
426 ,p_validation_end_date in date
427 ) is
428 --
429 l_proc varchar2(72) := g_package||'post_update';
430 --
431 Begin
432 hr_utility.set_location('Entering:'||l_proc, 5);
433 begin
434 --
435 pqp_val_rku.after_update
436 (p_effective_date
437 => p_effective_date
438 ,p_datetrack_mode
439 => p_datetrack_mode
440 ,p_validation_start_date
441 => p_validation_start_date
442 ,p_validation_end_date
443 => p_validation_end_date
444 ,p_vehicle_allocation_id
445 => p_rec.vehicle_allocation_id
446 ,p_effective_start_date
447 => p_rec.effective_start_date
448 ,p_effective_end_date
449 => p_rec.effective_end_date
450 ,p_assignment_id
451 => p_rec.assignment_id
452 ,p_business_group_id
453 => p_rec.business_group_id
454 ,p_across_assignments
455 => p_rec.across_assignments
456 ,p_vehicle_repository_id
457 => p_rec.vehicle_repository_id
458 ,p_usage_type
459 => p_rec.usage_type
460 ,p_capital_contribution
461 => p_rec.capital_contribution
462 ,p_private_contribution
463 => p_rec.private_contribution
464 ,p_default_vehicle
465 => p_rec.default_vehicle
466 ,p_fuel_card
467 => p_rec.fuel_card
468 ,p_fuel_card_number
469 => p_rec.fuel_card_number
470 ,p_calculation_method
471 => p_rec.calculation_method
472 ,p_rates_table_id
473 => p_rec.rates_table_id
474 ,p_element_type_id
475 => p_rec.element_type_id
476 ,p_private_use_flag
477 => p_rec.private_use_flag
478 ,p_insurance_number
479 => p_rec.insurance_number
480 ,p_insurance_expiry_date
481 => p_rec.insurance_expiry_date
482 ,p_val_attribute_category
483 => p_rec.val_attribute_category
484 ,p_val_attribute1
485 => p_rec.val_attribute1
486 ,p_val_attribute2
487 => p_rec.val_attribute2
488 ,p_val_attribute3
489 => p_rec.val_attribute3
490 ,p_val_attribute4
491 => p_rec.val_attribute4
492 ,p_val_attribute5
493 => p_rec.val_attribute5
494 ,p_val_attribute6
495 => p_rec.val_attribute6
496 ,p_val_attribute7
497 => p_rec.val_attribute7
498 ,p_val_attribute8
499 => p_rec.val_attribute8
500 ,p_val_attribute9
501 => p_rec.val_attribute9
502 ,p_val_attribute10
503 => p_rec.val_attribute10
504 ,p_val_attribute11
505 => p_rec.val_attribute11
506 ,p_val_attribute12
507 => p_rec.val_attribute12
508 ,p_val_attribute13
509 => p_rec.val_attribute13
510 ,p_val_attribute14
511 => p_rec.val_attribute14
512 ,p_val_attribute15
513 => p_rec.val_attribute15
514 ,p_val_attribute16
515 => p_rec.val_attribute16
516 ,p_val_attribute17
517 => p_rec.val_attribute17
518 ,p_val_attribute18
519 => p_rec.val_attribute18
520 ,p_val_attribute19
521 => p_rec.val_attribute19
522 ,p_val_attribute20
523 => p_rec.val_attribute20
524 ,p_val_information_category
525 => p_rec.val_information_category
526 ,p_val_information1
527 => p_rec.val_information1
528 ,p_val_information2
529 => p_rec.val_information2
530 ,p_val_information3
531 => p_rec.val_information3
532 ,p_val_information4
533 => p_rec.val_information4
534 ,p_val_information5
535 => p_rec.val_information5
536 ,p_val_information6
537 => p_rec.val_information6
538 ,p_val_information7
539 => p_rec.val_information7
540 ,p_val_information8
541 => p_rec.val_information8
542 ,p_val_information9
543 => p_rec.val_information9
544 ,p_val_information10
545 => p_rec.val_information10
546 ,p_val_information11
547 => p_rec.val_information11
548 ,p_val_information12
549 => p_rec.val_information12
550 ,p_val_information13
551 => p_rec.val_information13
552 ,p_val_information14
553 => p_rec.val_information14
554 ,p_val_information15
555 => p_rec.val_information15
556 ,p_val_information16
557 => p_rec.val_information16
558 ,p_val_information17
559 => p_rec.val_information17
560 ,p_val_information18
561 => p_rec.val_information18
562 ,p_val_information19
563 => p_rec.val_information19
564 ,p_val_information20
565 => p_rec.val_information20
566 ,p_object_version_number
567 => p_rec.object_version_number
568 ,p_fuel_benefit
569 => p_rec.fuel_benefit
570 ,p_effective_start_date_o
571 => pqp_val_shd.g_old_rec.effective_start_date
572 ,p_effective_end_date_o
573 => pqp_val_shd.g_old_rec.effective_end_date
574 ,p_assignment_id_o
575 => pqp_val_shd.g_old_rec.assignment_id
576 ,p_business_group_id_o
577 => pqp_val_shd.g_old_rec.business_group_id
578 ,p_across_assignments_o
579 => pqp_val_shd.g_old_rec.across_assignments
580 ,p_vehicle_repository_id_o
581 => pqp_val_shd.g_old_rec.vehicle_repository_id
582 ,p_usage_type_o
583 => pqp_val_shd.g_old_rec.usage_type
584 ,p_capital_contribution_o
585 => pqp_val_shd.g_old_rec.capital_contribution
586 ,p_private_contribution_o
587 => pqp_val_shd.g_old_rec.private_contribution
588 ,p_default_vehicle_o
589 => pqp_val_shd.g_old_rec.default_vehicle
590 ,p_fuel_card_o
591 => pqp_val_shd.g_old_rec.fuel_card
592 ,p_fuel_card_number_o
593 => pqp_val_shd.g_old_rec.fuel_card_number
594 ,p_calculation_method_o
595 => pqp_val_shd.g_old_rec.calculation_method
596 ,p_rates_table_id_o
597 => pqp_val_shd.g_old_rec.rates_table_id
598 ,p_element_type_id_o
599 => pqp_val_shd.g_old_rec.element_type_id
600 ,p_private_use_flag_o
601 => pqp_val_shd.g_old_rec.private_use_flag
602 ,p_insurance_number_o
603 => pqp_val_shd.g_old_rec.insurance_number
604 ,p_insurance_expiry_date_o
605 => pqp_val_shd.g_old_rec.insurance_expiry_date
606 ,p_val_attribute_category_o
607 => pqp_val_shd.g_old_rec.val_attribute_category
608 ,p_val_attribute1_o
609 => pqp_val_shd.g_old_rec.val_attribute1
610 ,p_val_attribute2_o
611 => pqp_val_shd.g_old_rec.val_attribute2
612 ,p_val_attribute3_o
613 => pqp_val_shd.g_old_rec.val_attribute3
614 ,p_val_attribute4_o
615 => pqp_val_shd.g_old_rec.val_attribute4
616 ,p_val_attribute5_o
617 => pqp_val_shd.g_old_rec.val_attribute5
618 ,p_val_attribute6_o
619 => pqp_val_shd.g_old_rec.val_attribute6
620 ,p_val_attribute7_o
621 => pqp_val_shd.g_old_rec.val_attribute7
622 ,p_val_attribute8_o
623 => pqp_val_shd.g_old_rec.val_attribute8
624 ,p_val_attribute9_o
625 => pqp_val_shd.g_old_rec.val_attribute9
626 ,p_val_attribute10_o
627 => pqp_val_shd.g_old_rec.val_attribute10
628 ,p_val_attribute11_o
629 => pqp_val_shd.g_old_rec.val_attribute11
630 ,p_val_attribute12_o
631 => pqp_val_shd.g_old_rec.val_attribute12
632 ,p_val_attribute13_o
633 => pqp_val_shd.g_old_rec.val_attribute13
634 ,p_val_attribute14_o
635 => pqp_val_shd.g_old_rec.val_attribute14
636 ,p_val_attribute15_o
637 => pqp_val_shd.g_old_rec.val_attribute15
638 ,p_val_attribute16_o
639 => pqp_val_shd.g_old_rec.val_attribute16
640 ,p_val_attribute17_o
641 => pqp_val_shd.g_old_rec.val_attribute17
642 ,p_val_attribute18_o
643 => pqp_val_shd.g_old_rec.val_attribute18
644 ,p_val_attribute19_o
645 => pqp_val_shd.g_old_rec.val_attribute19
646 ,p_val_attribute20_o
647 => pqp_val_shd.g_old_rec.val_attribute20
648 ,p_val_information_category_o
649 => pqp_val_shd.g_old_rec.val_information_category
650 ,p_val_information1_o
651 => pqp_val_shd.g_old_rec.val_information1
652 ,p_val_information2_o
653 => pqp_val_shd.g_old_rec.val_information2
654 ,p_val_information3_o
655 => pqp_val_shd.g_old_rec.val_information3
656 ,p_val_information4_o
657 => pqp_val_shd.g_old_rec.val_information4
658 ,p_val_information5_o
659 => pqp_val_shd.g_old_rec.val_information5
660 ,p_val_information6_o
661 => pqp_val_shd.g_old_rec.val_information6
662 ,p_val_information7_o
663 => pqp_val_shd.g_old_rec.val_information7
664 ,p_val_information8_o
665 => pqp_val_shd.g_old_rec.val_information8
666 ,p_val_information9_o
667 => pqp_val_shd.g_old_rec.val_information9
668 ,p_val_information10_o
669 => pqp_val_shd.g_old_rec.val_information10
670 ,p_val_information11_o
671 => pqp_val_shd.g_old_rec.val_information11
672 ,p_val_information12_o
673 => pqp_val_shd.g_old_rec.val_information12
674 ,p_val_information13_o
675 => pqp_val_shd.g_old_rec.val_information13
676 ,p_val_information14_o
677 => pqp_val_shd.g_old_rec.val_information14
678 ,p_val_information15_o
679 => pqp_val_shd.g_old_rec.val_information15
680 ,p_val_information16_o
681 => pqp_val_shd.g_old_rec.val_information16
682 ,p_val_information17_o
683 => pqp_val_shd.g_old_rec.val_information17
684 ,p_val_information18_o
685 => pqp_val_shd.g_old_rec.val_information18
686 ,p_val_information19_o
687 => pqp_val_shd.g_old_rec.val_information19
688 ,p_val_information20_o
689 => pqp_val_shd.g_old_rec.val_information20
690 ,p_object_version_number_o
691 => pqp_val_shd.g_old_rec.object_version_number
692 ,p_fuel_benefit_o
693 => pqp_val_shd.g_old_rec.fuel_benefit
694
695 ,p_sliding_rates_info_o
696 => pqp_val_shd.g_old_rec.sliding_rates_info
697 );
698 --
699 exception
700 --
701 when hr_api.cannot_find_prog_unit then
702 --
703 hr_api.cannot_find_prog_unit_error
704 (p_module_name => 'PQP_VEHICLE_ALLOCATIONS_F'
705 ,p_hook_type => 'AU');
706 --
707 end;
708 --
709 hr_utility.set_location(' Leaving:'||l_proc, 10);
710 End post_update;
711 --
712 -- ----------------------------------------------------------------------------
713 -- |-----------------------------< convert_defs >-----------------------------|
714 -- ----------------------------------------------------------------------------
715 -- {Start Of Comments}
716 --
717 -- Description:
718 -- The Convert_Defs procedure has one very important function:
719 -- It must return the record structure for the row with all system defaulted
720 -- values converted into its corresponding parameter value for update. When
721 -- we attempt to update a row through the Upd process , certain
722 -- parameters can be defaulted which enables flexibility in the calling of
723 -- the upd process (e.g. only attributes which need to be updated need to be
724 -- specified). For the upd process to determine which attributes
725 -- have NOT been specified we need to check if the parameter has a reserved
726 -- system default value. Therefore, for all parameters which have a
727 -- corresponding reserved system default mechanism specified we need to
728 -- check if a system default is being used. If a system default is being
729 -- used then we convert the defaulted value into its corresponding attribute
730 -- value held in the g_old_rec data structure.
731 --
732 -- Prerequisites:
733 -- This private function can only be called from the upd process.
734 --
735 -- In Parameters:
736 -- A Pl/Sql record structure.
737 --
738 -- Post Success:
739 -- The record structure will be returned with all system defaulted parameter
740 -- values converted into its current row attribute value.
741 --
742 -- Post Failure:
743 -- No direct error handling is required within this function. Any possible
744 -- errors within this procedure will be a PL/SQL value error due to
745 -- conversion of datatypes or data lengths.
746 --
747 -- Developer Implementation Notes:
748 -- None.
749 --
750 -- Access Status:
751 -- Internal Row Handler Use Only.
752 --
753 -- {End Of Comments}
754 -- ----------------------------------------------------------------------------
755 Procedure convert_defs
756 (p_rec in out nocopy pqp_val_shd.g_rec_type
757 ) is
758 --
759 Begin
760 --
761 -- We must now examine each argument value in the
762 -- p_rec plsql record structure
763 -- to see if a system default is being used. If a system default
764 -- is being used then we must set to the 'current' argument value.
765 --
766 If (p_rec.assignment_id = hr_api.g_number) then
767 p_rec.assignment_id :=
768 pqp_val_shd.g_old_rec.assignment_id;
769 End If;
770 If (p_rec.business_group_id = hr_api.g_number) then
771 p_rec.business_group_id :=
772 pqp_val_shd.g_old_rec.business_group_id;
773 End If;
774 If (p_rec.across_assignments = hr_api.g_varchar2) then
775 p_rec.across_assignments :=
776 pqp_val_shd.g_old_rec.across_assignments;
777 End If;
778 If (p_rec.vehicle_repository_id = hr_api.g_number) then
779 p_rec.vehicle_repository_id :=
780 pqp_val_shd.g_old_rec.vehicle_repository_id;
781 End If;
782 If (p_rec.usage_type = hr_api.g_varchar2) then
783 p_rec.usage_type :=
784 pqp_val_shd.g_old_rec.usage_type;
785 End If;
786 If (p_rec.capital_contribution = hr_api.g_number) then
787 p_rec.capital_contribution :=
788 pqp_val_shd.g_old_rec.capital_contribution;
789 End If;
790 If (p_rec.private_contribution = hr_api.g_number) then
791 p_rec.private_contribution :=
792 pqp_val_shd.g_old_rec.private_contribution;
793 End If;
794 If (p_rec.default_vehicle = hr_api.g_varchar2) then
795 p_rec.default_vehicle :=
796 pqp_val_shd.g_old_rec.default_vehicle;
797 End If;
798 If (p_rec.fuel_card = hr_api.g_varchar2) then
799 p_rec.fuel_card :=
800 pqp_val_shd.g_old_rec.fuel_card;
801 End If;
802 If (p_rec.fuel_card_number = hr_api.g_varchar2) then
803 p_rec.fuel_card_number :=
804 pqp_val_shd.g_old_rec.fuel_card_number;
805 End If;
806 If (p_rec.calculation_method = hr_api.g_varchar2) then
807 p_rec.calculation_method :=
808 pqp_val_shd.g_old_rec.calculation_method;
809 End If;
810 If (p_rec.rates_table_id = hr_api.g_number) then
811 p_rec.rates_table_id :=
812 pqp_val_shd.g_old_rec.rates_table_id;
813 End If;
814 If (p_rec.element_type_id = hr_api.g_number) then
815 p_rec.element_type_id :=
816 pqp_val_shd.g_old_rec.element_type_id;
817 End If;
818 If (p_rec.private_use_flag = hr_api.g_varchar2) then
819 p_rec.private_use_flag :=
820 pqp_val_shd.g_old_rec.private_use_flag;
821 End If;
822 If (p_rec.insurance_number = hr_api.g_varchar2) then
823 p_rec.insurance_number :=
824 pqp_val_shd.g_old_rec.insurance_number;
825 End If;
826 If (p_rec.insurance_expiry_date = hr_api.g_date) then
827 p_rec.insurance_expiry_date :=
828 pqp_val_shd.g_old_rec.insurance_expiry_date;
829 End If;
830 If (p_rec.val_attribute_category = hr_api.g_varchar2) then
831 p_rec.val_attribute_category :=
832 pqp_val_shd.g_old_rec.val_attribute_category;
833 End If;
834 If (p_rec.val_attribute1 = hr_api.g_varchar2) then
835 p_rec.val_attribute1 :=
836 pqp_val_shd.g_old_rec.val_attribute1;
837 End If;
838 If (p_rec.val_attribute2 = hr_api.g_varchar2) then
839 p_rec.val_attribute2 :=
840 pqp_val_shd.g_old_rec.val_attribute2;
841 End If;
842 If (p_rec.val_attribute3 = hr_api.g_varchar2) then
843 p_rec.val_attribute3 :=
844 pqp_val_shd.g_old_rec.val_attribute3;
845 End If;
846 If (p_rec.val_attribute4 = hr_api.g_varchar2) then
847 p_rec.val_attribute4 :=
848 pqp_val_shd.g_old_rec.val_attribute4;
849 End If;
850 If (p_rec.val_attribute5 = hr_api.g_varchar2) then
851 p_rec.val_attribute5 :=
852 pqp_val_shd.g_old_rec.val_attribute5;
853 End If;
854 If (p_rec.val_attribute6 = hr_api.g_varchar2) then
855 p_rec.val_attribute6 :=
856 pqp_val_shd.g_old_rec.val_attribute6;
857 End If;
858 If (p_rec.val_attribute7 = hr_api.g_varchar2) then
859 p_rec.val_attribute7 :=
860 pqp_val_shd.g_old_rec.val_attribute7;
861 End If;
862 If (p_rec.val_attribute8 = hr_api.g_varchar2) then
863 p_rec.val_attribute8 :=
864 pqp_val_shd.g_old_rec.val_attribute8;
865 End If;
866 If (p_rec.val_attribute9 = hr_api.g_varchar2) then
867 p_rec.val_attribute9 :=
868 pqp_val_shd.g_old_rec.val_attribute9;
869 End If;
870 If (p_rec.val_attribute10 = hr_api.g_varchar2) then
871 p_rec.val_attribute10 :=
872 pqp_val_shd.g_old_rec.val_attribute10;
873 End If;
874 If (p_rec.val_attribute11 = hr_api.g_varchar2) then
875 p_rec.val_attribute11 :=
876 pqp_val_shd.g_old_rec.val_attribute11;
877 End If;
878 If (p_rec.val_attribute12 = hr_api.g_varchar2) then
879 p_rec.val_attribute12 :=
880 pqp_val_shd.g_old_rec.val_attribute12;
881 End If;
882 If (p_rec.val_attribute13 = hr_api.g_varchar2) then
883 p_rec.val_attribute13 :=
884 pqp_val_shd.g_old_rec.val_attribute13;
885 End If;
886 If (p_rec.val_attribute14 = hr_api.g_varchar2) then
887 p_rec.val_attribute14 :=
888 pqp_val_shd.g_old_rec.val_attribute14;
889 End If;
890 If (p_rec.val_attribute15 = hr_api.g_varchar2) then
891 p_rec.val_attribute15 :=
892 pqp_val_shd.g_old_rec.val_attribute15;
893 End If;
894 If (p_rec.val_attribute16 = hr_api.g_varchar2) then
895 p_rec.val_attribute16 :=
896 pqp_val_shd.g_old_rec.val_attribute16;
897 End If;
898 If (p_rec.val_attribute17 = hr_api.g_varchar2) then
899 p_rec.val_attribute17 :=
900 pqp_val_shd.g_old_rec.val_attribute17;
901 End If;
902 If (p_rec.val_attribute18 = hr_api.g_varchar2) then
903 p_rec.val_attribute18 :=
904 pqp_val_shd.g_old_rec.val_attribute18;
905 End If;
906 If (p_rec.val_attribute19 = hr_api.g_varchar2) then
907 p_rec.val_attribute19 :=
908 pqp_val_shd.g_old_rec.val_attribute19;
909 End If;
910 If (p_rec.val_attribute20 = hr_api.g_varchar2) then
911 p_rec.val_attribute20 :=
912 pqp_val_shd.g_old_rec.val_attribute20;
913 End If;
914 If (p_rec.val_information_category = hr_api.g_varchar2) then
915 p_rec.val_information_category :=
916 pqp_val_shd.g_old_rec.val_information_category;
917 End If;
918 If (p_rec.val_information1 = hr_api.g_varchar2) then
919 p_rec.val_information1 :=
920 pqp_val_shd.g_old_rec.val_information1;
921 End If;
922 If (p_rec.val_information2 = hr_api.g_varchar2) then
923 p_rec.val_information2 :=
924 pqp_val_shd.g_old_rec.val_information2;
925 End If;
926 If (p_rec.val_information3 = hr_api.g_varchar2) then
927 p_rec.val_information3 :=
928 pqp_val_shd.g_old_rec.val_information3;
929 End If;
930 If (p_rec.val_information4 = hr_api.g_varchar2) then
931 p_rec.val_information4 :=
932 pqp_val_shd.g_old_rec.val_information4;
933 End If;
934 If (p_rec.val_information5 = hr_api.g_varchar2) then
935 p_rec.val_information5 :=
936 pqp_val_shd.g_old_rec.val_information5;
937 End If;
938 If (p_rec.val_information6 = hr_api.g_varchar2) then
939 p_rec.val_information6 :=
940 pqp_val_shd.g_old_rec.val_information6;
941 End If;
942 If (p_rec.val_information7 = hr_api.g_varchar2) then
943 p_rec.val_information7 :=
944 pqp_val_shd.g_old_rec.val_information7;
945 End If;
946 If (p_rec.val_information8 = hr_api.g_varchar2) then
947 p_rec.val_information8 :=
948 pqp_val_shd.g_old_rec.val_information8;
949 End If;
950 If (p_rec.val_information9 = hr_api.g_varchar2) then
951 p_rec.val_information9 :=
952 pqp_val_shd.g_old_rec.val_information9;
953 End If;
954 If (p_rec.val_information10 = hr_api.g_varchar2) then
955 p_rec.val_information10 :=
956 pqp_val_shd.g_old_rec.val_information10;
957 End If;
958 If (p_rec.val_information11 = hr_api.g_varchar2) then
959 p_rec.val_information11 :=
960 pqp_val_shd.g_old_rec.val_information11;
961 End If;
962 If (p_rec.val_information12 = hr_api.g_varchar2) then
963 p_rec.val_information12 :=
964 pqp_val_shd.g_old_rec.val_information12;
965 End If;
966 If (p_rec.val_information13 = hr_api.g_varchar2) then
967 p_rec.val_information13 :=
968 pqp_val_shd.g_old_rec.val_information13;
969 End If;
970 If (p_rec.val_information14 = hr_api.g_varchar2) then
971 p_rec.val_information14 :=
972 pqp_val_shd.g_old_rec.val_information14;
973 End If;
974 If (p_rec.val_information15 = hr_api.g_varchar2) then
975 p_rec.val_information15 :=
976 pqp_val_shd.g_old_rec.val_information15;
977 End If;
978 If (p_rec.val_information16 = hr_api.g_varchar2) then
979 p_rec.val_information16 :=
980 pqp_val_shd.g_old_rec.val_information16;
981 End If;
982 If (p_rec.val_information17 = hr_api.g_varchar2) then
983 p_rec.val_information17 :=
984 pqp_val_shd.g_old_rec.val_information17;
985 End If;
986 If (p_rec.val_information18 = hr_api.g_varchar2) then
987 p_rec.val_information18 :=
988 pqp_val_shd.g_old_rec.val_information18;
989 End If;
990 If (p_rec.val_information19 = hr_api.g_varchar2) then
991 p_rec.val_information19 :=
992 pqp_val_shd.g_old_rec.val_information19;
993 End If;
994 If (p_rec.val_information20 = hr_api.g_varchar2) then
995 p_rec.val_information20 :=
996 pqp_val_shd.g_old_rec.val_information20;
997 End If;
998 If (p_rec.fuel_benefit = hr_api.g_varchar2) then
999 p_rec.fuel_benefit :=
1000 pqp_val_shd.g_old_rec.fuel_benefit;
1001 End If;
1002 If (p_rec.sliding_rates_info = hr_api.g_varchar2) then
1003 p_rec.sliding_rates_info :=
1004 pqp_val_shd.g_old_rec.sliding_rates_info;
1005 End If;
1006 --
1007 End convert_defs;
1008 --
1009 -- ----------------------------------------------------------------------------
1010 -- |---------------------------------< upd >----------------------------------|
1011 -- ----------------------------------------------------------------------------
1012 Procedure upd
1013 (p_effective_date in date
1014 ,p_datetrack_mode in varchar2
1015 ,p_rec in out nocopy pqp_val_shd.g_rec_type
1016 ) is
1017 --
1018 l_proc varchar2(72) := g_package||'upd';
1019 l_validation_start_date date;
1020 l_validation_end_date date;
1021 --
1022 Begin
1023 hr_utility.set_location('Entering:'||l_proc, 5);
1024 --
1025 -- Ensure that the DateTrack update mode is valid
1026 --
1027 dt_api.validate_dt_upd_mode(p_datetrack_mode => p_datetrack_mode);
1028 --
1029 -- We must lock the row which we need to update.
1030 --
1031 pqp_val_shd.lck
1032 (p_effective_date => p_effective_date
1033 ,p_datetrack_mode => p_datetrack_mode
1034 ,p_vehicle_allocation_id => p_rec.vehicle_allocation_id
1035 ,p_object_version_number => p_rec.object_version_number
1036 ,p_validation_start_date => l_validation_start_date
1037 ,p_validation_end_date => l_validation_end_date
1038 );
1039 --
1040 -- 1. During an update system defaults are used to determine if
1041 -- arguments have been defaulted or not. We must therefore
1042 -- derive the full record structure values to be updated.
1043 --
1044 -- 2. Call the supporting update validate operations.
1045 --
1046 pqp_val_upd.convert_defs(p_rec);
1047 --
1048 pqp_val_bus.update_validate
1049 (p_rec => p_rec
1050 ,p_effective_date => p_effective_date
1051 ,p_datetrack_mode => p_datetrack_mode
1052 ,p_validation_start_date => l_validation_start_date
1053 ,p_validation_end_date => l_validation_end_date
1054 );
1055 --
1056 -- Call to raise any errors on multi-message list
1057 hr_multi_message.end_validation_set;
1058 --
1059 -- Call the supporting pre-update operation
1060 --
1061 pre_update
1062 (p_rec => p_rec
1063 ,p_effective_date => p_effective_date
1064 ,p_datetrack_mode => p_datetrack_mode
1065 ,p_validation_start_date => l_validation_start_date
1066 ,p_validation_end_date => l_validation_end_date
1067 );
1068 --
1069 -- Update the row.
1070 --
1071 update_dml
1072 (p_rec => p_rec
1073 ,p_effective_date => p_effective_date
1074 ,p_datetrack_mode => p_datetrack_mode
1075 ,p_validation_start_date => l_validation_start_date
1076 ,p_validation_end_date => l_validation_end_date
1077 );
1078 --
1079 -- Call the supporting post-update operation
1080 --
1081 post_update
1082 (p_rec => p_rec
1083 ,p_effective_date => p_effective_date
1084 ,p_datetrack_mode => p_datetrack_mode
1085 ,p_validation_start_date => l_validation_start_date
1086 ,p_validation_end_date => l_validation_end_date
1087 );
1088 --
1089 -- Call to raise any errors on multi-message list
1090 hr_multi_message.end_validation_set;
1091 End upd;
1092 --
1093 -- ----------------------------------------------------------------------------
1094 -- |------------------------------< upd >-------------------------------------|
1095 -- ----------------------------------------------------------------------------
1096 Procedure upd
1097 (p_effective_date in date
1098 ,p_datetrack_mode in varchar2
1099 ,p_vehicle_allocation_id in number
1100 ,p_object_version_number in out nocopy number
1101 ,p_assignment_id in number
1102 ,p_business_group_id in number
1103 ,p_vehicle_repository_id in number
1104 ,p_across_assignments in varchar2
1105 ,p_usage_type in varchar2
1106 ,p_capital_contribution in number
1107 ,p_private_contribution in number
1108 ,p_default_vehicle in varchar2
1109 ,p_fuel_card in varchar2
1110 ,p_fuel_card_number in varchar2
1111 ,p_calculation_method in varchar2
1112 ,p_rates_table_id in number
1113 ,p_element_type_id in number
1114 ,p_private_use_flag in varchar2
1115 ,p_insurance_number in varchar2
1116 ,p_insurance_expiry_date in date
1117 ,p_val_attribute_category in varchar2
1118 ,p_val_attribute1 in varchar2
1119 ,p_val_attribute2 in varchar2
1120 ,p_val_attribute3 in varchar2
1121 ,p_val_attribute4 in varchar2
1122 ,p_val_attribute5 in varchar2
1123 ,p_val_attribute6 in varchar2
1124 ,p_val_attribute7 in varchar2
1125 ,p_val_attribute8 in varchar2
1126 ,p_val_attribute9 in varchar2
1127 ,p_val_attribute10 in varchar2
1128 ,p_val_attribute11 in varchar2
1129 ,p_val_attribute12 in varchar2
1130 ,p_val_attribute13 in varchar2
1131 ,p_val_attribute14 in varchar2
1132 ,p_val_attribute15 in varchar2
1133 ,p_val_attribute16 in varchar2
1134 ,p_val_attribute17 in varchar2
1135 ,p_val_attribute18 in varchar2
1136 ,p_val_attribute19 in varchar2
1137 ,p_val_attribute20 in varchar2
1138 ,p_val_information_category in varchar2
1139 ,p_val_information1 in varchar2
1140 ,p_val_information2 in varchar2
1141 ,p_val_information3 in varchar2
1142 ,p_val_information4 in varchar2
1143 ,p_val_information5 in varchar2
1144 ,p_val_information6 in varchar2
1145 ,p_val_information7 in varchar2
1146 ,p_val_information8 in varchar2
1147 ,p_val_information9 in varchar2
1148 ,p_val_information10 in varchar2
1149 ,p_val_information11 in varchar2
1150 ,p_val_information12 in varchar2
1151 ,p_val_information13 in varchar2
1152 ,p_val_information14 in varchar2
1153 ,p_val_information15 in varchar2
1154 ,p_val_information16 in varchar2
1155 ,p_val_information17 in varchar2
1156 ,p_val_information18 in varchar2
1157 ,p_val_information19 in varchar2
1158 ,p_val_information20 in varchar2
1159 ,p_fuel_benefit in varchar2
1160 ,p_sliding_rates_info in varchar2
1161 ,p_effective_start_date out nocopy date
1162 ,p_effective_end_date out nocopy date
1163 ) is
1164 --
1165 l_rec pqp_val_shd.g_rec_type;
1166 l_proc varchar2(72) := g_package||'upd';
1167 --
1168 Begin
1169 hr_utility.set_location('Entering:'||l_proc, 5);
1170 --
1171 -- Call conversion function to turn arguments into the
1172 -- l_rec structure.
1173 --
1174 l_rec :=
1175 pqp_val_shd.convert_args
1176 (p_vehicle_allocation_id
1177 ,null
1178 ,null
1179 ,p_assignment_id
1180 ,p_business_group_id
1181 ,p_across_assignments
1182 ,p_vehicle_repository_id
1183 ,p_usage_type
1184 ,p_capital_contribution
1185 ,p_private_contribution
1186 ,p_default_vehicle
1187 ,p_fuel_card
1188 ,p_fuel_card_number
1189 ,p_calculation_method
1190 ,p_rates_table_id
1191 ,p_element_type_id
1192 ,p_private_use_flag
1193 ,p_insurance_number
1194 ,p_insurance_expiry_date
1195 ,p_val_attribute_category
1196 ,p_val_attribute1
1197 ,p_val_attribute2
1198 ,p_val_attribute3
1199 ,p_val_attribute4
1200 ,p_val_attribute5
1201 ,p_val_attribute6
1202 ,p_val_attribute7
1203 ,p_val_attribute8
1204 ,p_val_attribute9
1205 ,p_val_attribute10
1206 ,p_val_attribute11
1207 ,p_val_attribute12
1208 ,p_val_attribute13
1209 ,p_val_attribute14
1210 ,p_val_attribute15
1211 ,p_val_attribute16
1212 ,p_val_attribute17
1213 ,p_val_attribute18
1214 ,p_val_attribute19
1215 ,p_val_attribute20
1216 ,p_val_information_category
1217 ,p_val_information1
1218 ,p_val_information2
1219 ,p_val_information3
1220 ,p_val_information4
1221 ,p_val_information5
1222 ,p_val_information6
1223 ,p_val_information7
1224 ,p_val_information8
1225 ,p_val_information9
1226 ,p_val_information10
1227 ,p_val_information11
1228 ,p_val_information12
1229 ,p_val_information13
1230 ,p_val_information14
1231 ,p_val_information15
1232 ,p_val_information16
1233 ,p_val_information17
1234 ,p_val_information18
1235 ,p_val_information19
1236 ,p_val_information20
1237 ,p_object_version_number
1238 ,p_fuel_benefit
1239 ,p_sliding_rates_info
1240 );
1241 --
1242 -- Having converted the arguments into the
1243 -- plsql record structure we call the corresponding record
1244 -- business process.
1245 --
1246 pqp_val_upd.upd
1247 (p_effective_date
1248 ,p_datetrack_mode
1249 ,l_rec
1250 );
1251 --
1252 -- Set the out parameters
1253 --
1254 p_object_version_number := l_rec.object_version_number;
1255 p_effective_start_date := l_rec.effective_start_date;
1256 p_effective_end_date := l_rec.effective_end_date;
1257 --
1258 --
1259 hr_utility.set_location(' Leaving:'||l_proc, 10);
1260 End upd;
1261 --
1262 end pqp_val_upd;