[Home] [Help]
PACKAGE BODY: APPS.PQP_VRE_DEL
Source
1 PACKAGE BODY pqp_vre_del AS
2 /* $Header: pqvrerhi.pkb 120.0.12010000.2 2008/08/08 07:23:09 ubhat ship $ */
3 --
4 -- ----------------------------------------------------------------------------
5 -- | Private Global Definitions |
6 -- ----------------------------------------------------------------------------
7 --
8 g_package varchar2(33) := ' pqp_vre_del.'; -- Global package name
9 --
10 -- ----------------------------------------------------------------------------
11 -- |----------------------------< dt_delete_dml >-----------------------------|
12 -- ----------------------------------------------------------------------------
13 -- {Start Of Comments}
14 --
15 -- Description:
16 -- This procedure controls the actual dml delete logic for the datetrack
17 -- delete modes: ZAP, DELETE, FUTURE_CHANGE and DELETE_NEXT_CHANGE. The
18 -- execution is as follows:
19 -- 1) To set and unset the g_api_dml status as required (as we are about to
20 -- perform dml).
21 -- 2) IF the delete mode is DELETE_NEXT_CHANGE then delete where the
22 -- effective start date is equal to the validation start date.
23 -- 3) If the delete mode is not DELETE_NEXT_CHANGE then delete
24 -- all rows for the entity where the effective start date is greater
25 -- than or equal to the validation start date.
26 -- 4) To raise any errors.
27 --
28 -- Prerequisites:
29 -- This is an internal private procedure which must be called from the
30 -- delete_dml procedure.
31 --
32 -- In Parameters:
33 -- A Pl/Sql record structure.
34 --
35 -- Post Success:
36 -- The specified row will be delete from the schema.
37 --
38 -- Post Failure:
39 -- On the delete dml failure it is important to note that we always reset the
40 -- g_api_dml status to false.
41 -- If any other error is reported, the error will be raised after the
42 -- g_api_dml status is reset.
43 --
44 -- Developer Implementation Notes:
45 -- This is an internal private procedure which must be called from the
46 -- delete_dml procedure.
47 --
48 -- Access Status:
49 -- Internal Row Handler Use Only.
50 --
51 -- {End Of Comments}
52 -- ----------------------------------------------------------------------------
53 PROCEDURE dt_delete_dml
54 (p_rec IN OUT NOCOPY pqp_vre_shd.g_rec_type
55 ,p_effective_date IN DATE
56 ,p_datetrack_mode IN VARCHAR2
57 ,p_validation_start_date IN DATE
58 ,p_validation_end_date IN DATE
59 ) IS
60 --
61 l_proc varchar2(72) := g_package||'dt_delete_dml';
62 --
63 BEGIN
64 hr_utility.set_location('Entering:'||l_proc, 5);
65 IF (p_datetrack_mode = hr_api.g_delete_next_change) THEN
66 --
67 --
68 -- Delete the where the effective start date is equal
69 -- to the validation end date.
70 --
71 DELETE
72 FROM pqp_vehicle_repository_f
73 WHERE vehicle_repository_id = p_rec.vehicle_repository_id
74 AND effective_start_date = p_validation_start_date;
75 --
76 --
77 Else
78 --
79 --
80 -- Delete the row(s) where the effective start date is greater than
81 -- or equal to the validation start date.
82 --
83 delete from pqp_vehicle_repository_f
84 where vehicle_repository_id = p_rec.vehicle_repository_id
85 and effective_start_date >= p_validation_start_date;
86 --
87 --
88 END IF;
89 --
90 hr_utility.set_location(' Leaving:'||l_proc, 20);
91 --
92 End dt_delete_dml;
93 --
94 -- ----------------------------------------------------------------------------
95 -- |------------------------------< delete_dml >------------------------------|
96 -- ----------------------------------------------------------------------------
97 PROCEDURE delete_dml
98 (p_rec IN OUT NOCOPY pqp_vre_shd.g_rec_type
99 ,p_effective_date IN DATE
100 ,p_datetrack_mode IN VARCHAR2
101 ,p_validation_start_date IN DATE
102 ,p_validation_end_date IN DATE
103 ) is
104 --
105 l_proc varchar2(72) := g_package||'delete_dml';
106 --
107 BEGIN
108 hr_utility.set_location('Entering:'||l_proc, 5);
109 --
110 pqp_vre_del.dt_delete_dml
111 (p_rec => p_rec
112 ,p_effective_date => p_effective_date
113 ,p_datetrack_mode => p_datetrack_mode
114 ,p_validation_start_date => p_validation_start_date
115 ,p_validation_end_date => p_validation_end_date
116 );
117 --
118 hr_utility.set_location(' Leaving:'||l_proc, 10);
119 END delete_dml;
120 --
121 -- ----------------------------------------------------------------------------
122 -- |----------------------------< dt_pre_delete >-----------------------------|
123 -- ----------------------------------------------------------------------------
124 -- {Start Of Comments}
125 --
126 -- Description:
127 -- The dt_pre_delete process controls the execution of dml
128 -- for the datetrack modes: DELETE, FUTURE_CHANGE
129 -- and DELETE_NEXT_CHANGE only.
130 --
131 -- Prerequisites:
132 -- This is an internal procedure which is called from the pre_delete
133 -- procedure.
134 --
135 -- In Parameters:
136 -- A Pl/Sql record structure.
137 --
138 -- Post Success:
139 -- Processing continues.
140 --
141 -- Post Failure:
142 -- If an error has occurred, an error message and exception will be raised
143 -- but not handled.
144 --
145 -- Developer Implementation Notes:
146 -- This is an internal procedure which is required by Datetrack. Don't
147 -- remove or modify.
148 --
149 -- Access Status:
150 -- Internal Row Handler Use Only.
151 --
152 -- {End Of Comments}
153 -- ----------------------------------------------------------------------------
154 PROCEDURE dt_pre_delete
155 (p_rec IN OUT NOCOPY pqp_vre_shd.g_rec_type
156 ,p_effective_date IN DATE
157 ,p_datetrack_mode IN VARCHAR2
158 ,p_validation_start_date IN DATE
159 ,p_validation_end_date IN DATE
160 ) IS
161 --
162 l_proc varchar2(72) := g_package||'dt_pre_delete';
163 --
164 BEGIN
165 hr_utility.set_location('Entering:'||l_proc, 5);
166 --
167 IF (p_datetrack_mode <> hr_api.g_zap) THEN
168 --
169 p_rec.effective_start_date
170 := pqp_vre_shd.g_old_rec.effective_start_date;
171 --
172 IF (p_datetrack_mode = hr_api.g_delete) THEN
173 p_rec.effective_end_date := p_validation_start_date - 1;
174 Else
175 p_rec.effective_end_date := p_validation_end_date;
176 END IF;
177 --
178 -- Update the current effective end date record
179 --
180 pqp_vre_shd.upd_effective_end_date
181 (p_effective_date => p_effective_date
182 ,p_base_key_value => p_rec.vehicle_repository_id
183 ,p_new_effective_end_date => p_rec.effective_end_date
184 ,p_validation_start_date => p_validation_start_date
185 ,p_validation_end_date => p_validation_end_date
186 ,p_object_version_number => p_rec.object_version_number
187 );
188 ELSE
189 p_rec.effective_start_date := null;
190 p_rec.effective_end_date := null;
191 END IF;
192 hr_utility.set_location(' Leaving:'||l_proc, 10);
193 END dt_pre_delete;
194 --
195 -- ----------------------------------------------------------------------------
196 -- |------------------------------< pre_delete >------------------------------|
197 -- ----------------------------------------------------------------------------
198 -- {Start Of Comments}
199 --
200 -- Description:
201 -- This private procedure contains any processing which is required before
202 -- the delete dml.
203 --
204 -- Prerequisites:
205 -- This is an internal procedure which is called from the del procedure.
206 --
207 -- In Parameters:
208 -- A Pl/Sql record structure.
209 --
210 -- Post Success:
211 -- Processing continues.
212 --
213 -- Post Failure:
214 -- If an error has occurred, an error message and exception will be raised
215 -- but not handled.
216 --
217 -- Developer Implementation Notes:
218 -- Any pre-processing required before the delete dml is issued should be
219 -- coded within this procedure. It is important to note that any 3rd party
220 -- maintenance should be reviewed before placing in this procedure. The call
221 -- to the dt_delete_dml procedure should NOT be removed.
222 --
223 -- Access Status:
224 -- Internal Row Handler Use Only.
225 --
226 -- {End Of Comments}
227 -- ----------------------------------------------------------------------------
228 PROCEDURE pre_delete
229 (p_rec IN OUT NOCOPY pqp_vre_shd.g_rec_type
230 ,p_effective_date IN DATE
231 ,p_datetrack_mode IN VARCHAR2
232 ,p_validation_start_date IN DATE
233 ,p_validation_end_date IN DATE
234 ) IS
235 --
236 l_proc varchar2(72) := g_package||'pre_delete';
237 --
238 cursor c_get_id (cp_vehicle_repository_id number)
239 is
240 select pve.veh_repos_extra_info_id
241 ,pve.object_version_number
242 from pqp_veh_repos_extra_info pve
243 where pve.vehicle_repository_id = cp_vehicle_repository_id;
244
245 --
246 BEGIN
247 hr_utility.set_location('Entering:'||l_proc, 5);
248 --
249 pqp_vre_del.dt_pre_delete
250 (p_rec => p_rec
251 ,p_effective_date => p_effective_date
252 ,p_datetrack_mode => p_datetrack_mode
253 ,p_validation_start_date => p_validation_start_date
254 ,p_validation_end_date => p_validation_end_date
255 );
256 --
257 -- Delete the rows from the table pqp_veh_repos_extra_info when the
258 -- vehicle is being purged from vehicle rep. table.
259 --
260 If p_datetrack_mode ='ZAP' Then
261 For vri_rec in c_get_id (p_rec.vehicle_repository_id)
262 Loop
263 pqp_veh_repos_extra_info_api.delete_veh_repos_extra_info
264 (p_veh_repos_extra_info_id => vri_rec.veh_repos_extra_info_id
265 ,p_object_version_number => vri_rec.object_version_number
266 );
267 End Loop;
268 End If;
269 --
270 hr_utility.set_location(' Leaving:'||l_proc, 10);
271 END pre_delete;
272 --
273 -- ----------------------------------------------------------------------------
274 -- |----------------------------< post_delete >-------------------------------|
275 -- ----------------------------------------------------------------------------
276 -- {Start Of Comments}
277 --
278 -- Description:
279 -- This private procedure contains any processing which is required after
280 -- the delete dml.
281 --
282 -- Prerequisites:
283 -- This is an internal procedure which is called from the del procedure.
284 --
285 -- In Parameters:
286 -- A Pl/Sql record structure.
287 --
288 -- Post Success:
289 -- Processing continues.
290 --
291 -- Post Failure:
292 -- If an error has occurred, an error message and exception will be raised
293 -- but not handled.
294 --
295 -- Developer Implementation Notes:
296 -- Any post-processing required after the delete dml is issued should be
297 -- coded within this procedure. It is important to note that any 3rd party
298 -- maintenance should be reviewed before placing in this procedure.
299 --
300 -- Access Status:
301 -- Internal Row Handler Use Only.
302 --
303 -- {End Of Comments}
304 -- ----------------------------------------------------------------------------
305 PROCEDURE post_delete
306 (p_rec in pqp_vre_shd.g_rec_type
307 ,p_effective_date in date
308 ,p_datetrack_mode in varchar2
309 ,p_validation_start_date in date
310 ,p_validation_end_date in date
311 ) is
312 --
313 l_proc varchar2(72) := g_package||'post_delete';
314 --
315 Begin
316 hr_utility.set_location('Entering:'||l_proc, 5);
317 begin
318 --
319 pqp_vre_rkd.after_delete
320 (p_effective_date
321 => p_effective_date
322 ,p_datetrack_mode
323 => p_datetrack_mode
324 ,p_validation_start_date
325 => p_validation_start_date
326 ,p_validation_end_date
327 => p_validation_end_date
328 ,p_vehicle_repository_id
329 => p_rec.vehicle_repository_id
330 ,p_effective_start_date
331 => p_rec.effective_start_date
332 ,p_effective_end_date
333 => p_rec.effective_end_date
334 ,p_effective_start_date_o
335 => pqp_vre_shd.g_old_rec.effective_start_date
336 ,p_effective_end_date_o
337 => pqp_vre_shd.g_old_rec.effective_end_date
338 ,p_registration_number_o
339 => pqp_vre_shd.g_old_rec.registration_number
340 ,p_vehicle_type_o
341 => pqp_vre_shd.g_old_rec.vehicle_type
342 ,p_vehicle_id_number_o
343 => pqp_vre_shd.g_old_rec.vehicle_id_number
344 ,p_business_group_id_o
345 => pqp_vre_shd.g_old_rec.business_group_id
346 ,p_make_o
347 => pqp_vre_shd.g_old_rec.make
348 ,p_model_o
349 => pqp_vre_shd.g_old_rec.model
350 ,p_initial_registration_o
351 => pqp_vre_shd.g_old_rec.initial_registration
352 ,p_last_registration_renew_da_o
353 => pqp_vre_shd.g_old_rec.last_registration_renew_date
354 ,p_engine_capacity_in_cc_o
355 => pqp_vre_shd.g_old_rec.engine_capacity_in_cc
356 ,p_fuel_type_o
357 => pqp_vre_shd.g_old_rec.fuel_type
358 ,p_currency_code_o
359 => pqp_vre_shd.g_old_rec.currency_code
360 ,p_list_price_o
361 => pqp_vre_shd.g_old_rec.list_price
362 ,p_accessory_value_at_startda_o
363 => pqp_vre_shd.g_old_rec.accessory_value_at_startdate
364 ,p_accessory_value_added_late_o
365 => pqp_vre_shd.g_old_rec.accessory_value_added_later
366 ,p_market_value_classic_car_o
367 => pqp_vre_shd.g_old_rec.market_value_classic_car
368 ,p_fiscal_ratings_o
369 => pqp_vre_shd.g_old_rec.fiscal_ratings
370 ,p_fiscal_ratings_uom_o
371 => pqp_vre_shd.g_old_rec.fiscal_ratings_uom
372 ,p_vehicle_provider_o
373 => pqp_vre_shd.g_old_rec.vehicle_provider
374 ,p_vehicle_ownership_o
375 => pqp_vre_shd.g_old_rec.vehicle_ownership
376 ,p_shared_vehicle_o
377 => pqp_vre_shd.g_old_rec.shared_vehicle
378 ,p_vehicle_status_o
379 => pqp_vre_shd.g_old_rec.vehicle_status
380 ,p_vehicle_inactivity_reason_o
381 => pqp_vre_shd.g_old_rec.vehicle_inactivity_reason
382 ,p_asset_number_o
383 => pqp_vre_shd.g_old_rec.asset_number
384 ,p_lease_contract_number_o
385 => pqp_vre_shd.g_old_rec.lease_contract_number
386 ,p_lease_contract_expiry_date_o
387 => pqp_vre_shd.g_old_rec.lease_contract_expiry_date
388 ,p_taxation_method_o
389 => pqp_vre_shd.g_old_rec.taxation_method
390 ,p_fleet_info_o
391 => pqp_vre_shd.g_old_rec.fleet_info
392 ,p_fleet_transfer_date_o
393 => pqp_vre_shd.g_old_rec.fleet_transfer_date
394 ,p_object_version_number_o
395 => pqp_vre_shd.g_old_rec.object_version_number
396 ,p_color_o
397 => pqp_vre_shd.g_old_rec.color
398 ,p_seating_capacity_o
399 => pqp_vre_shd.g_old_rec.seating_capacity
400 ,p_weight_o
401 => pqp_vre_shd.g_old_rec.weight
402 ,p_weight_uom_o
403 => pqp_vre_shd.g_old_rec.weight_uom
404 ,p_model_year_o
405 => pqp_vre_shd.g_old_rec.model_year
406 ,p_insurance_number_o
407 => pqp_vre_shd.g_old_rec.insurance_number
408 ,p_insurance_expiry_date_o
409 => pqp_vre_shd.g_old_rec.insurance_expiry_date
410 ,p_comments_o
411 => pqp_vre_shd.g_old_rec.comments
412 ,p_vre_attribute_category_o
413 => pqp_vre_shd.g_old_rec.vre_attribute_category
414 ,p_vre_attribute1_o
415 => pqp_vre_shd.g_old_rec.vre_attribute1
416 ,p_vre_attribute2_o
417 => pqp_vre_shd.g_old_rec.vre_attribute2
418 ,p_vre_attribute3_o
419 => pqp_vre_shd.g_old_rec.vre_attribute3
420 ,p_vre_attribute4_o
421 => pqp_vre_shd.g_old_rec.vre_attribute4
422 ,p_vre_attribute5_o
423 => pqp_vre_shd.g_old_rec.vre_attribute5
424 ,p_vre_attribute6_o
425 => pqp_vre_shd.g_old_rec.vre_attribute6
426 ,p_vre_attribute7_o
427 => pqp_vre_shd.g_old_rec.vre_attribute7
428 ,p_vre_attribute8_o
429 => pqp_vre_shd.g_old_rec.vre_attribute8
430 ,p_vre_attribute9_o
431 => pqp_vre_shd.g_old_rec.vre_attribute9
432 ,p_vre_attribute10_o
433 => pqp_vre_shd.g_old_rec.vre_attribute10
434 ,p_vre_attribute11_o
435 => pqp_vre_shd.g_old_rec.vre_attribute11
436 ,p_vre_attribute12_o
437 => pqp_vre_shd.g_old_rec.vre_attribute12
438 ,p_vre_attribute13_o
439 => pqp_vre_shd.g_old_rec.vre_attribute13
440 ,p_vre_attribute14_o
441 => pqp_vre_shd.g_old_rec.vre_attribute14
442 ,p_vre_attribute15_o
443 => pqp_vre_shd.g_old_rec.vre_attribute15
444 ,p_vre_attribute16_o
445 => pqp_vre_shd.g_old_rec.vre_attribute16
446 ,p_vre_attribute17_o
447 => pqp_vre_shd.g_old_rec.vre_attribute17
448 ,p_vre_attribute18_o
449 => pqp_vre_shd.g_old_rec.vre_attribute18
450 ,p_vre_attribute19_o
451 => pqp_vre_shd.g_old_rec.vre_attribute19
452 ,p_vre_attribute20_o
453 => pqp_vre_shd.g_old_rec.vre_attribute20
454 ,p_vre_information_category_o
455 => pqp_vre_shd.g_old_rec.vre_information_category
456 ,p_vre_information1_o
457 => pqp_vre_shd.g_old_rec.vre_information1
458 ,p_vre_information2_o
459 => pqp_vre_shd.g_old_rec.vre_information2
460 ,p_vre_information3_o
461 => pqp_vre_shd.g_old_rec.vre_information3
462 ,p_vre_information4_o
463 => pqp_vre_shd.g_old_rec.vre_information4
464 ,p_vre_information5_o
465 => pqp_vre_shd.g_old_rec.vre_information5
466 ,p_vre_information6_o
467 => pqp_vre_shd.g_old_rec.vre_information6
468 ,p_vre_information7_o
469 => pqp_vre_shd.g_old_rec.vre_information7
470 ,p_vre_information8_o
471 => pqp_vre_shd.g_old_rec.vre_information8
472 ,p_vre_information9_o
473 => pqp_vre_shd.g_old_rec.vre_information9
474 ,p_vre_information10_o
475 => pqp_vre_shd.g_old_rec.vre_information10
476 ,p_vre_information11_o
477 => pqp_vre_shd.g_old_rec.vre_information11
478 ,p_vre_information12_o
479 => pqp_vre_shd.g_old_rec.vre_information12
480 ,p_vre_information13_o
481 => pqp_vre_shd.g_old_rec.vre_information13
482 ,p_vre_information14_o
483 => pqp_vre_shd.g_old_rec.vre_information14
484 ,p_vre_information15_o
485 => pqp_vre_shd.g_old_rec.vre_information15
486 ,p_vre_information16_o
487 => pqp_vre_shd.g_old_rec.vre_information16
488 ,p_vre_information17_o
489 => pqp_vre_shd.g_old_rec.vre_information17
490 ,p_vre_information18_o
491 => pqp_vre_shd.g_old_rec.vre_information18
492 ,p_vre_information19_o
493 => pqp_vre_shd.g_old_rec.vre_information19
494 ,p_vre_information20_o
495 => pqp_vre_shd.g_old_rec.vre_information20
496 );
497 --
498 exception
499 --
500 when hr_api.cannot_find_prog_unit then
501 --
502 hr_api.cannot_find_prog_unit_error
503 (p_module_name => 'PQP_VEHICLE_REPOSITORY_F'
504 ,p_hook_type => 'AD');
505 --
506 end;
507 hr_utility.set_location(' Leaving:'||l_proc, 10);
508 End post_delete;
509 --
510 -- ----------------------------------------------------------------------------
511 -- |---------------------------------< del >----------------------------------|
512 -- ----------------------------------------------------------------------------
513 PROCEDURE del
514 (p_effective_date IN DATE
515 ,p_datetrack_mode IN VARCHAR2
516 ,p_rec IN OUT NOCOPY pqp_vre_shd.g_rec_type
517 ) IS
518 --
519 l_proc varchar2(72) := g_package||'del';
520 l_validation_start_date date;
521 l_validation_end_date date;
522 --
523 Begin
524 hr_utility.set_location('Entering:'||l_proc, 5);
525 --
526 -- Ensure that the DateTrack delete mode is valid
527 --
528 dt_api.validate_dt_del_mode(p_datetrack_mode => p_datetrack_mode);
529 --
530 -- We must lock the row which we need to delete.
531 --
532 pqp_vre_shd.lck
533 (p_effective_date => p_effective_date
534 ,p_datetrack_mode => p_datetrack_mode
535 ,p_vehicle_repository_id => p_rec.vehicle_repository_id
536 ,p_object_version_number => p_rec.object_version_number
537 ,p_validation_start_date => l_validation_start_date
538 ,p_validation_end_date => l_validation_end_date
539 );
540 --
541 -- Call the supporting delete validate operation
542 --
543 pqp_vre_bus.delete_validate
544 (p_rec => p_rec
545 ,p_effective_date => p_effective_date
546 ,p_datetrack_mode => p_datetrack_mode
547 ,p_validation_start_date => l_validation_start_date
548 ,p_validation_end_date => l_validation_end_date
549 );
550 --
551 -- Call to raise any errors on multi-message list
552 hr_multi_message.end_validation_set;
553 --
554 -- Call the supporting pre-delete operation
555 --
556 pqp_vre_del.pre_delete
557 (p_rec => p_rec
558 ,p_effective_date => p_effective_date
559 ,p_datetrack_mode => p_datetrack_mode
560 ,p_validation_start_date => l_validation_start_date
561 ,p_validation_end_date => l_validation_end_date
562 );
563 --
564 -- Delete the row.
565 --
566 pqp_vre_del.delete_dml
567 (p_rec => p_rec
568 ,p_effective_date => p_effective_date
569 ,p_datetrack_mode => p_datetrack_mode
570 ,p_validation_start_date => l_validation_start_date
571 ,p_validation_end_date => l_validation_end_date
572 );
573 -- Call the supporting post-delete operation
574 --
575 pqp_vre_del.post_delete
576 (p_rec => p_rec
577 ,p_effective_date => p_effective_date
578 ,p_datetrack_mode => p_datetrack_mode
579 ,p_validation_start_date => l_validation_start_date
580 ,p_validation_end_date => l_validation_end_date
581 );
582 --
583 -- Call to raise any errors on multi-message list
584 hr_multi_message.end_validation_set;
585 --
586 hr_utility.set_location(' Leaving:'||l_proc, 5);
587 End del;
588 --
589 -- ----------------------------------------------------------------------------
590 -- |--------------------------------< del >-----------------------------------|
591 -- ----------------------------------------------------------------------------
592 PROCEDURE del
593 (p_effective_date IN DATE
594 ,p_datetrack_mode IN VARCHAR2
595 ,p_vehicle_repository_id IN NUMBER
596 ,p_object_version_number IN OUT NOCOPY NUMBER
597 ,p_effective_start_date OUT NOCOPY DATE
598 ,p_effective_end_date OUT NOCOPY DATE
599 ) IS
600 --
601 l_rec pqp_vre_shd.g_rec_type;
602 l_proc varchar2(72) := g_package||'del';
603 --
604 Begin
605 hr_utility.set_location('Entering:'||l_proc, 5);
606 --
607 -- As the delete procedure accepts a plsql record structure we do need to
608 -- convert the arguments into the record structure.
609 -- We don't need to call the supplied conversion argument routine as we
610 -- only need a few attributes.
611 --
612 l_rec.vehicle_repository_id := p_vehicle_repository_id;
613 l_rec.object_version_number := p_object_version_number;
614 --
615 -- Having converted the arguments into the pqp_vre_rec
616 -- plsql record structure we must call the corresponding entity
617 -- business process
618 --
619 pqp_vre_del.del
620 (p_effective_date
621 ,p_datetrack_mode
622 ,l_rec
623 );
624 --
625 --
626 -- Set the out arguments
627 --
628 p_object_version_number := l_rec.object_version_number;
629 p_effective_start_date := l_rec.effective_start_date;
630 p_effective_end_date := l_rec.effective_end_date;
631 --
632 hr_utility.set_location(' Leaving:'||l_proc, 10);
633 End del;
634 --
635 end pqp_vre_del;