DBA Data[Home] [Help]

PACKAGE BODY: APPS.PQP_VEHICLE_ALLOCATIONS_API

Source


1 Package Body PQP_VEHICLE_ALLOCATIONS_API as
2 /* $Header: pqvalapi.pkb 120.0.12010000.2 2008/08/08 07:21:04 ubhat ship $ */
3 --
4 -- Package Variables
5 --
6 g_package  varchar2(33) := '  PQP_VEHICLE_ALLOCATIONS_API.';
7 --
8 -- ----------------------------------------------------------------------------
9 -- |-----------------------< CREATE_VEHICLE_ALLOCATION >----------------------|
10 -- ----------------------------------------------------------------------------
11 --
12 procedure create_vehicle_allocation
13   (p_validate                       in     boolean
14   ,p_effective_date                 in     date
15   ,p_assignment_id                  in     number
16   ,p_business_group_id              in     number
17   ,p_vehicle_repository_id          in     number
18   ,p_across_assignments             in     varchar2
19   ,p_usage_type                     in     varchar2
20   ,p_capital_contribution           in     number
21   ,p_private_contribution           in     number
22   ,p_default_vehicle                in     varchar2
23   ,p_fuel_card                      in     varchar2
24   ,p_fuel_card_number               in     varchar2
25   ,p_calculation_method             in     varchar2
26   ,p_rates_table_id                 in     number
27   ,p_element_type_id                in     number
28   ,p_private_use_flag		    in     varchar2
29   ,p_insurance_number		    in     varchar2
30   ,p_insurance_expiry_date		    in     date
31   ,p_val_attribute_category         in     varchar2
32   ,p_val_attribute1                 in     varchar2
33   ,p_val_attribute2                 in     varchar2
34   ,p_val_attribute3                 in     varchar2
35   ,p_val_attribute4                 in     varchar2
36   ,p_val_attribute5                 in     varchar2
37   ,p_val_attribute6                 in     varchar2
38   ,p_val_attribute7                 in     varchar2
39   ,p_val_attribute8                 in     varchar2
40   ,p_val_attribute9                 in     varchar2
41   ,p_val_attribute10                in     varchar2
42   ,p_val_attribute11                in     varchar2
43   ,p_val_attribute12                in     varchar2
44   ,p_val_attribute13                in     varchar2
45   ,p_val_attribute14                in     varchar2
46   ,p_val_attribute15                in     varchar2
47   ,p_val_attribute16                in     varchar2
48   ,p_val_attribute17                in     varchar2
49   ,p_val_attribute18                in     varchar2
50   ,p_val_attribute19                in     varchar2
51   ,p_val_attribute20                in     varchar2
52   ,p_val_information_category       in     varchar2
53   ,p_val_information1               in     varchar2
54   ,p_val_information2               in     varchar2
55   ,p_val_information3               in     varchar2
56   ,p_val_information4               in     varchar2
57   ,p_val_information5               in     varchar2
58   ,p_val_information6               in     varchar2
59   ,p_val_information7               in     varchar2
60   ,p_val_information8               in     varchar2
61   ,p_val_information9               in     varchar2
62   ,p_val_information10              in     varchar2
63   ,p_val_information11              in     varchar2
64   ,p_val_information12              in     varchar2
65   ,p_val_information13              in     varchar2
66   ,p_val_information14              in     varchar2
67   ,p_val_information15              in     varchar2
68   ,p_val_information16              in     varchar2
69   ,p_val_information17              in     varchar2
70   ,p_val_information18              in     varchar2
71   ,p_val_information19              in     varchar2
72   ,p_val_information20              in     varchar2
73   ,p_fuel_benefit                   in     varchar2
74   ,p_sliding_rates_info             in     varchar2
75   ,p_vehicle_allocation_id          out    nocopy number
76   ,p_object_version_number          out    nocopy number
77   ,p_effective_start_date           out    nocopy date
78   ,p_effective_end_date             out    nocopy date
79   )
80    is
81   --
82   -- Declare cursors and local variables
83   --
84 
85   l_proc       varchar2(72) := g_package||'CREATE_VEHICLE_ALLOCATION';
86   l_effective_date date;
87   l_fuel_card  pqp_vehicle_allocations_f.fuel_card%TYPE;
88 begin
89   hr_utility.set_location('Entering:'|| l_proc, 10);
90   --
91   -- Issue a savepoint
92   --
93   savepoint CREATE_VEHICLE_ALLOCATION;
94   hr_utility.set_location(l_proc, 20);
95   --
96   --Truncate date parameter
97   l_effective_date :=TRUNC(p_effective_date);
98 
99  --If fuel card is NULL then make it 'N';
100    IF p_fuel_card IS NULL THEN
101 
102     l_fuel_card :='N';
103    ELSE
104     l_fuel_card:=p_fuel_card;
105    END IF;
106   -- Call Before Process User Hook
107   --
108   begin
109   PQP_VEHICLE_ALLOCATIONS_BK1.create_vehicle_allocation_b
110   (p_effective_date                     =>l_effective_date
111   ,p_assignment_id                  	=> p_assignment_id
112   ,p_business_group_id                	=> p_business_group_id
113   ,p_vehicle_repository_id         	=> p_vehicle_repository_id
114   ,p_across_assignments            	=> p_across_assignments
115   ,p_usage_type                    	=> p_usage_type
116   ,p_capital_contribution           	=> p_capital_contribution
117   ,p_private_contribution           	=> p_private_contribution
118   ,p_default_vehicle                	=> p_default_vehicle
119   ,p_fuel_card                      	=> l_fuel_card
120   ,p_fuel_card_number               	=> p_fuel_card_number
121   ,p_calculation_method             	=> p_calculation_method
122   ,p_rates_table_id                 	=> p_rates_table_id
123   ,p_element_type_id                	=> p_element_type_id
124   ,p_private_use_flag		    	=> p_private_use_flag
125   ,p_insurance_number		    	=> p_insurance_number
126   ,p_insurance_expiry_date		=> p_insurance_expiry_date
127   ,p_val_attribute_category         	=> p_val_attribute_category
128   ,p_val_attribute1                 	=> p_val_attribute1
129   ,p_val_attribute2                 	=> p_val_attribute2
130   ,p_val_attribute3                 	=> p_val_attribute3
131   ,p_val_attribute4                	=> p_val_attribute4
132   ,p_val_attribute5                 	=> p_val_attribute5
133   ,p_val_attribute6                	=> p_val_attribute6
134   ,p_val_attribute7                	=> p_val_attribute7
135   ,p_val_attribute8                 	=> p_val_attribute8
136   ,p_val_attribute9                	=> p_val_attribute9
137   ,p_val_attribute10                	=> p_val_attribute10
138   ,p_val_attribute11               	=> p_val_attribute11
139   ,p_val_attribute12                	=> p_val_attribute12
140   ,p_val_attribute13                	=> p_val_attribute13
141   ,p_val_attribute14                	=> p_val_attribute14
142   ,p_val_attribute15                	=> p_val_attribute15
143   ,p_val_attribute16                	=> p_val_attribute16
144   ,p_val_attribute17                	=> p_val_attribute17
145   ,p_val_attribute18                	=> p_val_attribute18
146   ,p_val_attribute19                	=> p_val_attribute19
147   ,p_val_attribute20                	=> p_val_attribute20
148   ,p_val_information_category       	=> p_val_information_category
149   ,p_val_information1               	=> p_val_information1
150   ,p_val_information2               	=> p_val_information2
151   ,p_val_information3               	=> p_val_information3
152   ,p_val_information4               	=> p_val_information4
153   ,p_val_information5               	=> p_val_information5
154   ,p_val_information6               	=> p_val_information6
155   ,p_val_information7               	=> p_val_information7
156   ,p_val_information8               	=> p_val_information8
157   ,p_val_information9               	=> p_val_information9
158   ,p_val_information10              	=> p_val_information10
159   ,p_val_information11              	=> p_val_information11
160   ,p_val_information12              	=> p_val_information12
161   ,p_val_information13              	=> p_val_information13
162   ,p_val_information14              	=> p_val_information14
163   ,p_val_information15              	=> p_val_information15
164   ,p_val_information16              	=> p_val_information16
165   ,p_val_information17              	=> p_val_information17
166   ,p_val_information18              	=> p_val_information18
167   ,p_val_information19              	=> p_val_information19
168   ,p_val_information20              	=> p_val_information20
169   ,p_fuel_benefit                   	=> p_fuel_benefit
170   ,p_sliding_rates_info			=>p_sliding_rates_info
171   ) ;
172 
173   exception
174     when hr_api.cannot_find_prog_unit then
175       hr_api.cannot_find_prog_unit_error
176         (p_module_name => 'PQP_VEHICLE_ALLOCATIONS_API'
177         ,p_hook_type   => 'BP'
178         );
179   end;
180   --
181   -- Validation in addition to Row Handlers
182   --
183   --
184   -- Process Logic
185   --
186 pqp_val_ins.ins
187   (p_effective_date                     => l_effective_date
188   ,p_assignment_id                    	=> p_assignment_id
189   ,p_business_group_id                	=> p_business_group_id
190   ,p_vehicle_repository_id         	=> p_vehicle_repository_id
191   ,p_across_assignments            	=> p_across_assignments
192   ,p_usage_type                    	=> p_usage_type
193   ,p_capital_contribution           	=> p_capital_contribution
194   ,p_private_contribution           	=> p_private_contribution
195   ,p_default_vehicle                	=> p_default_vehicle
196   ,p_fuel_card                      	=> l_fuel_card
197   ,p_fuel_card_number               	=> p_fuel_card_number
198   ,p_calculation_method             	=> p_calculation_method
199   ,p_rates_table_id                 	=> p_rates_table_id
200   ,p_element_type_id                	=> p_element_type_id
201   ,p_private_use_flag		    	=> p_private_use_flag
202   ,p_insurance_number		    	=> p_insurance_number
203   ,p_insurance_expiry_date	    	=> p_insurance_expiry_date
204   ,p_val_attribute_category         	=> p_val_attribute_category
205   ,p_val_attribute1                 	=> p_val_attribute1
206   ,p_val_attribute2                 	=> p_val_attribute2
207   ,p_val_attribute3                 	=> p_val_attribute3
208   ,p_val_attribute4                	=> p_val_attribute4
209   ,p_val_attribute5                 	=> p_val_attribute5
210   ,p_val_attribute6                	=> p_val_attribute6
211   ,p_val_attribute7                	=> p_val_attribute7
212   ,p_val_attribute8                 	=> p_val_attribute8
213   ,p_val_attribute9                	=> p_val_attribute9
214   ,p_val_attribute10                	=> p_val_attribute10
215   ,p_val_attribute11               	=> p_val_attribute11
216   ,p_val_attribute12                	=> p_val_attribute12
217   ,p_val_attribute13                	=> p_val_attribute13
218   ,p_val_attribute14                	=> p_val_attribute14
219   ,p_val_attribute15                	=> p_val_attribute15
220   ,p_val_attribute16                	=> p_val_attribute16
221   ,p_val_attribute17                	=> p_val_attribute17
222   ,p_val_attribute18                	=> p_val_attribute18
223   ,p_val_attribute19                	=> p_val_attribute19
224   ,p_val_attribute20                	=> p_val_attribute20
225   ,p_val_information_category       	=> p_val_information_category
226   ,p_val_information1               	=> p_val_information1
227   ,p_val_information2               	=> p_val_information2
228   ,p_val_information3               	=> p_val_information3
229   ,p_val_information4               	=> p_val_information4
230   ,p_val_information5               	=> p_val_information5
231   ,p_val_information6               	=> p_val_information6
232   ,p_val_information7               	=> p_val_information7
233   ,p_val_information8               	=> p_val_information8
234   ,p_val_information9               	=> p_val_information9
235   ,p_val_information10              	=> p_val_information10
236   ,p_val_information11              	=> p_val_information11
237   ,p_val_information12              	=> p_val_information12
238   ,p_val_information13              	=> p_val_information13
239   ,p_val_information14              	=> p_val_information14
240   ,p_val_information15              	=> p_val_information15
241   ,p_val_information16              	=> p_val_information16
242   ,p_val_information17              	=> p_val_information17
243   ,p_val_information18              	=> p_val_information18
244   ,p_val_information19              	=> p_val_information19
245   ,p_val_information20              	=> p_val_information20
246   ,p_fuel_benefit                   	=> p_fuel_benefit
247   ,p_sliding_rates_info			=> p_sliding_rates_info
248   ,p_vehicle_allocation_id             	=> p_vehicle_allocation_id
249   ,p_object_version_number             	=> p_object_version_number
250   ,p_effective_start_date              	=> p_effective_start_date
251   ,p_effective_end_date               	=> p_effective_end_date
252   );
253 
254  IF p_across_assignments='Y' THEN
255   pqp_veh_multi_alloc.create_veh_multi_alloc
256   ( p_validate                          =>p_validate
257    ,p_effective_date                    => l_effective_date
258    ,p_assignment_id                    	=> p_assignment_id
259    ,p_business_group_id                	=> p_business_group_id
260    ,p_vehicle_repository_id         	=> p_vehicle_repository_id
261    ,p_across_assignments            	=> p_across_assignments
262    ,p_usage_type                    	=> p_usage_type
263    ,p_capital_contribution           	=> p_capital_contribution
264    ,p_private_contribution           	=> p_private_contribution
265    ,p_default_vehicle                	=> p_default_vehicle
266    ,p_fuel_card                      	=> l_fuel_card
267    ,p_fuel_card_number               	=> p_fuel_card_number
268    ,p_calculation_method             	=> p_calculation_method
269    ,p_rates_table_id                 	=> p_rates_table_id
270    ,p_element_type_id                	=> p_element_type_id
271    ,p_private_use_flag		    	=> p_private_use_flag
272    ,p_insurance_number		    	=> p_insurance_number
273    ,p_insurance_expiry_date		=> p_insurance_expiry_date
274    ,p_val_attribute_category         	=> p_val_attribute_category
275    ,p_val_attribute1                 	=> p_val_attribute1
276    ,p_val_attribute2                 	=> p_val_attribute2
277    ,p_val_attribute3                 	=> p_val_attribute3
278    ,p_val_attribute4                	=> p_val_attribute4
279    ,p_val_attribute5                 	=> p_val_attribute5
280    ,p_val_attribute6                	=> p_val_attribute6
281    ,p_val_attribute7                	=> p_val_attribute7
282    ,p_val_attribute8                 	=> p_val_attribute8
283    ,p_val_attribute9                	=> p_val_attribute9
284    ,p_val_attribute10                	=> p_val_attribute10
285    ,p_val_attribute11               	=> p_val_attribute11
286    ,p_val_attribute12                	=> p_val_attribute12
287    ,p_val_attribute13                	=> p_val_attribute13
288    ,p_val_attribute14                	=> p_val_attribute14
289    ,p_val_attribute15                	=> p_val_attribute15
290    ,p_val_attribute16                	=> p_val_attribute16
291    ,p_val_attribute17                	=> p_val_attribute17
292    ,p_val_attribute18                	=> p_val_attribute18
293    ,p_val_attribute19                	=> p_val_attribute19
294    ,p_val_attribute20                	=> p_val_attribute20
295    ,p_val_information_category       	=> p_val_information_category
296    ,p_val_information1               	=> p_val_information1
297    ,p_val_information2               	=> p_val_information2
298    ,p_val_information3               	=> p_val_information3
299    ,p_val_information4               	=> p_val_information4
300    ,p_val_information5               	=> p_val_information5
301    ,p_val_information6               	=> p_val_information6
302    ,p_val_information7               	=> p_val_information7
303    ,p_val_information8               	=> p_val_information8
304    ,p_val_information9               	=> p_val_information9
305    ,p_val_information10              	=> p_val_information10
306    ,p_val_information11              	=> p_val_information11
307    ,p_val_information12              	=> p_val_information12
308    ,p_val_information13              	=> p_val_information13
309    ,p_val_information14              	=> p_val_information14
310    ,p_val_information15              	=> p_val_information15
311    ,p_val_information16              	=> p_val_information16
312    ,p_val_information17              	=> p_val_information17
313    ,p_val_information18              	=> p_val_information18
314    ,p_val_information19              	=> p_val_information19
315    ,p_val_information20              	=> p_val_information20
316    ,p_fuel_benefit                   	=> p_fuel_benefit
317    ,p_sliding_rates_info		=>p_sliding_rates_info
318 
319     );
320  END IF;
321   --
322   -- Call After Process User Hook
323   --
324   begin
325   PQP_VEHICLE_ALLOCATIONS_BK1.create_vehicle_allocation_a
326   (p_effective_date                     =>l_effective_date
327   ,p_assignment_id                    	=> p_assignment_id
328   ,p_business_group_id                	=> p_business_group_id
329   ,p_vehicle_repository_id         	=> p_vehicle_repository_id
330   ,p_across_assignments            	=> p_across_assignments
331   ,p_usage_type                    	=> p_usage_type
332   ,p_capital_contribution           	=> p_capital_contribution
333   ,p_private_contribution           	=> p_private_contribution
334   ,p_default_vehicle                	=> p_default_vehicle
335   ,p_fuel_card                      	=> l_fuel_card
336   ,p_fuel_card_number               	=> p_fuel_card_number
337   ,p_calculation_method             	=> p_calculation_method
338   ,p_rates_table_id                 	=> p_rates_table_id
339   ,p_element_type_id                	=> p_element_type_id
340   ,p_private_use_flag		    	=> p_private_use_flag
341   ,p_insurance_number		    	=> p_insurance_number
342   ,p_insurance_expiry_date		=> p_insurance_expiry_date
343   ,p_val_attribute_category         	=> p_val_attribute_category
344   ,p_val_attribute1                 	=> p_val_attribute1
345   ,p_val_attribute2                 	=> p_val_attribute2
346   ,p_val_attribute3                 	=> p_val_attribute3
347   ,p_val_attribute4                	=> p_val_attribute4
348   ,p_val_attribute5                 	=> p_val_attribute5
349   ,p_val_attribute6                	=> p_val_attribute6
350   ,p_val_attribute7                	=> p_val_attribute7
351   ,p_val_attribute8                 	=> p_val_attribute8
352   ,p_val_attribute9                	=> p_val_attribute9
353   ,p_val_attribute10                	=> p_val_attribute10
354   ,p_val_attribute11               	=> p_val_attribute11
355   ,p_val_attribute12                	=> p_val_attribute12
356   ,p_val_attribute13                	=> p_val_attribute13
357   ,p_val_attribute14                	=> p_val_attribute14
358   ,p_val_attribute15                	=> p_val_attribute15
359   ,p_val_attribute16                	=> p_val_attribute16
360   ,p_val_attribute17                	=> p_val_attribute17
361   ,p_val_attribute18                	=> p_val_attribute18
362   ,p_val_attribute19                	=> p_val_attribute19
363   ,p_val_attribute20                	=> p_val_attribute20
364   ,p_val_information_category       	=> p_val_information_category
365   ,p_val_information1               	=> p_val_information1
366   ,p_val_information2               	=> p_val_information2
367   ,p_val_information3               	=> p_val_information3
368   ,p_val_information4               	=> p_val_information4
369   ,p_val_information5               	=> p_val_information5
370   ,p_val_information6               	=> p_val_information6
371   ,p_val_information7               	=> p_val_information7
372   ,p_val_information8               	=> p_val_information8
373   ,p_val_information9               	=> p_val_information9
374   ,p_val_information10              	=> p_val_information10
375   ,p_val_information11              	=> p_val_information11
376   ,p_val_information12              	=> p_val_information12
377   ,p_val_information13              	=> p_val_information13
378   ,p_val_information14              	=> p_val_information14
379   ,p_val_information15              	=> p_val_information15
380   ,p_val_information16              	=> p_val_information16
381   ,p_val_information17              	=> p_val_information17
382   ,p_val_information18              	=> p_val_information18
383   ,p_val_information19              	=> p_val_information19
384   ,p_val_information20              	=> p_val_information20
385   ,p_fuel_benefit                   	=> p_fuel_benefit
386   ,p_sliding_rates_info			=>p_sliding_rates_info
387   ,p_vehicle_allocation_id             	=> p_vehicle_allocation_id
388   ,p_object_version_number             	=> p_object_version_number
389   ,p_effective_start_date              	=> p_effective_start_date
390   ,p_effective_end_date               	=> p_effective_end_date
391   );
392 
393    exception
394     when hr_api.cannot_find_prog_unit then
395       hr_api.cannot_find_prog_unit_error
396         (p_module_name => 'PQP_VEHICLE_ALLOCATIONS_API'
397         ,p_hook_type   => 'AP'
398         );
399   end;
400   --
401   -- When in validation only mode raise the Validate_Enabled exception
402   --
403   if p_validate then
404     raise hr_api.validate_enabled;
405   end if;
406   --
407   -- Set all output arguments
408   --
409   p_vehicle_allocation_id             	:= p_vehicle_allocation_id ;
410   p_object_version_number             	:= p_object_version_number;
411   p_effective_start_date              	:= p_effective_start_date;
412   p_effective_end_date               	:= p_effective_end_date ;
413   --
414   hr_utility.set_location(' Leaving:'||l_proc, 70);
415 exception
416   when hr_api.validate_enabled then
417     --
418     -- As the Validate_Enabled exception has been raised
419     -- we must rollback to the savepoint
420     --
421     rollback to CREATE_VEHICLE_ALLOCATION;
422     --
423     -- Only set output warning arguments
424     -- (Any key or derived arguments must be set to null
425     -- when validation only mode is being used.)
426     --
427     p_vehicle_allocation_id         := null;
428     p_object_version_number         := null;
429     p_effective_start_date          := null;
430     p_effective_end_date            := null ;
431     hr_utility.set_location(' Leaving:'||l_proc, 80);
432   when others then
433     --
434     -- A validation or unexpected error has occured
435     --
436     rollback to CREATE_VEHICLE_ALLOCATION;
437     --
438     -- Only set output warning arguments
439     -- (Any key or derived arguments must be set to null
440     -- when validation only mode is being used.)
441     --
442     p_vehicle_allocation_id         := null;
443     p_object_version_number         := null;
444     p_effective_start_date          := null;
445     p_effective_end_date            := null ;
446 
447     hr_utility.set_location(' Leaving:'||l_proc, 90);
448     raise;
449 end create_vehicle_allocation;
450 --
451 
452 
453 --
454 -- ----------------------------------------------------------------------------
455 -- |----------------------< UPDATE_VEHICLE_ALLOCATION >-----------------------|
456 -- ----------------------------------------------------------------------------
457 
458 procedure update_vehicle_allocation
459   (p_validate                       in     boolean
460   ,p_effective_date               in     date
461   ,p_datetrack_mode               in     varchar2
462   ,p_vehicle_allocation_id        in     number
463   ,p_object_version_number        in out nocopy number
464   ,p_assignment_id                in     number
465   ,p_business_group_id            in     number
466   ,p_vehicle_repository_id        in     number
467   ,p_across_assignments           in     varchar2
468   ,p_usage_type                   in     varchar2
469   ,p_capital_contribution         in     number
470   ,p_private_contribution         in     number
471   ,p_default_vehicle              in     varchar2
472   ,p_fuel_card                    in     varchar2
473   ,p_fuel_card_number             in     varchar2
474   ,p_calculation_method           in     varchar2
475   ,p_rates_table_id               in     number
476   ,p_element_type_id              in     number
477   ,p_private_use_flag		  in     varchar2
478   ,p_insurance_number		  in     varchar2
479   ,p_insurance_expiry_date		  in     date
480   ,p_val_attribute_category       in     varchar2
481   ,p_val_attribute1               in     varchar2
482   ,p_val_attribute2               in     varchar2
483   ,p_val_attribute3               in     varchar2
484   ,p_val_attribute4               in     varchar2
485   ,p_val_attribute5               in     varchar2
486   ,p_val_attribute6               in     varchar2
487   ,p_val_attribute7               in     varchar2
488   ,p_val_attribute8               in     varchar2
489   ,p_val_attribute9               in     varchar2
490   ,p_val_attribute10              in     varchar2
491   ,p_val_attribute11              in     varchar2
492   ,p_val_attribute12              in     varchar2
493   ,p_val_attribute13              in     varchar2
494   ,p_val_attribute14              in     varchar2
495   ,p_val_attribute15              in     varchar2
496   ,p_val_attribute16              in     varchar2
497   ,p_val_attribute17              in     varchar2
498   ,p_val_attribute18              in     varchar2
499   ,p_val_attribute19              in     varchar2
500   ,p_val_attribute20              in     varchar2
501   ,p_val_information_category     in     varchar2
502   ,p_val_information1             in     varchar2
503   ,p_val_information2             in     varchar2
504   ,p_val_information3             in     varchar2
505   ,p_val_information4             in     varchar2
506   ,p_val_information5             in     varchar2
507   ,p_val_information6             in     varchar2
508   ,p_val_information7             in     varchar2
509   ,p_val_information8             in     varchar2
510   ,p_val_information9             in     varchar2
511   ,p_val_information10            in     varchar2
512   ,p_val_information11            in     varchar2
513   ,p_val_information12            in     varchar2
514   ,p_val_information13            in     varchar2
515   ,p_val_information14            in     varchar2
516   ,p_val_information15            in     varchar2
517   ,p_val_information16            in     varchar2
518   ,p_val_information17            in     varchar2
519   ,p_val_information18            in     varchar2
520   ,p_val_information19            in     varchar2
521   ,p_val_information20            in     varchar2
522   ,p_fuel_benefit                 in     varchar2
523   ,p_sliding_rates_info  	  in     varchar2
524   ,p_effective_start_date         out nocopy date
525   ,p_effective_end_date           out nocopy date
526   )
527 IS
528   l_proc      varchar2(72) := g_package||'update_vehicle_allocation';
529   l_effective_date  date;
530   l_fuel_card   pqp_vehicle_allocations_f.fuel_card%TYPE;
531 BEGIN
532   --
533   -- Issue a savepoint
534   --
535   savepoint update_vehicle_allocation;
536 
537   hr_utility.set_location(l_proc, 20);
538   --Truncate effective date parameter
539    l_effective_date :=TRUNC(p_effective_date);
540 
541  --If fuel card is NULL then make it 'N';
542    IF p_fuel_card IS NULL THEN
543 
544     l_fuel_card :='N';
545    ELSE
546     l_fuel_card:=p_fuel_card;
547    END IF;
548   --
549   -- Call Before Process User Hook
550   --
551   begin
552   PQP_VEHICLE_ALLOCATIONS_BK2.update_vehicle_allocation_b
553   (p_effective_date                     => l_effective_date
554   ,p_datetrack_mode                     => p_datetrack_mode
555   ,p_vehicle_allocation_id              => p_vehicle_allocation_id
556   ,p_object_version_number              => p_object_version_number
557   ,p_assignment_id                  	=> p_assignment_id
558   ,p_business_group_id                	=> p_business_group_id
559   ,p_vehicle_repository_id         	=> p_vehicle_repository_id
560   ,p_across_assignments            	=> p_across_assignments
561   ,p_usage_type                    	=> p_usage_type
562   ,p_capital_contribution           	=> p_capital_contribution
563   ,p_private_contribution           	=> p_private_contribution
564   ,p_default_vehicle                	=> p_default_vehicle
565   ,p_fuel_card                      	=> l_fuel_card
566   ,p_fuel_card_number               	=> p_fuel_card_number
567   ,p_calculation_method             	=> p_calculation_method
568   ,p_rates_table_id                 	=> p_rates_table_id
569   ,p_element_type_id                	=> p_element_type_id
570   ,p_private_use_flag		    	=> p_private_use_flag
571   ,p_insurance_number		    	=> p_insurance_number
572   ,p_insurance_expiry_date		    	=> p_insurance_expiry_date
573   ,p_val_attribute_category         	=> p_val_attribute_category
574   ,p_val_attribute1                 	=> p_val_attribute1
575   ,p_val_attribute2                 	=> p_val_attribute2
576   ,p_val_attribute3                 	=> p_val_attribute3
577   ,p_val_attribute4                	=> p_val_attribute4
578   ,p_val_attribute5                 	=> p_val_attribute5
579   ,p_val_attribute6                	=> p_val_attribute6
580   ,p_val_attribute7                	=> p_val_attribute7
581   ,p_val_attribute8                 	=> p_val_attribute8
582   ,p_val_attribute9                	=> p_val_attribute9
583   ,p_val_attribute10                	=> p_val_attribute10
584   ,p_val_attribute11               	=> p_val_attribute11
585   ,p_val_attribute12                	=> p_val_attribute12
586   ,p_val_attribute13                	=> p_val_attribute13
587   ,p_val_attribute14                	=> p_val_attribute14
588   ,p_val_attribute15                	=> p_val_attribute15
589   ,p_val_attribute16                	=> p_val_attribute16
590   ,p_val_attribute17                	=> p_val_attribute17
591   ,p_val_attribute18                	=> p_val_attribute18
592   ,p_val_attribute19                	=> p_val_attribute19
593   ,p_val_attribute20                	=> p_val_attribute20
594   ,p_val_information_category       	=> p_val_information_category
595   ,p_val_information1               	=> p_val_information1
596   ,p_val_information2               	=> p_val_information2
597   ,p_val_information3               	=> p_val_information3
598   ,p_val_information4               	=> p_val_information4
599   ,p_val_information5               	=> p_val_information5
600   ,p_val_information6               	=> p_val_information6
601   ,p_val_information7               	=> p_val_information7
602   ,p_val_information8               	=> p_val_information8
603   ,p_val_information9               	=> p_val_information9
604   ,p_val_information10              	=> p_val_information10
605   ,p_val_information11              	=> p_val_information11
606   ,p_val_information12              	=> p_val_information12
607   ,p_val_information13              	=> p_val_information13
608   ,p_val_information14              	=> p_val_information14
609   ,p_val_information15              	=> p_val_information15
610   ,p_val_information16              	=> p_val_information16
611   ,p_val_information17              	=> p_val_information17
612   ,p_val_information18              	=> p_val_information18
613   ,p_val_information19              	=> p_val_information19
614   ,p_val_information20              	=> p_val_information20
615   ,p_fuel_benefit                   	=> p_fuel_benefit
616   ,p_sliding_rates_info			=>p_sliding_rates_info
617 
618   ) ;
619 
620   exception
621     when hr_api.cannot_find_prog_unit then
622       hr_api.cannot_find_prog_unit_error
623         (p_module_name => 'PQP_VEHICLE_ALLOCATIONS_API'
624         ,p_hook_type   => 'BP'
625         );
626   end;
627 
628 pqp_val_upd.upd
629   (p_effective_date                  => l_effective_date
630   ,p_datetrack_mode                  => p_datetrack_mode
631   ,p_vehicle_allocation_id           => p_vehicle_allocation_id
632   ,p_object_version_number           => p_object_version_number
633   ,p_assignment_id                   => p_assignment_id
634   ,p_business_group_id               => p_business_group_id
635   ,p_vehicle_repository_id           => p_vehicle_repository_id
636   ,p_across_assignments              => p_across_assignments
637   ,p_usage_type                      => p_usage_type
638   ,p_capital_contribution            => p_capital_contribution
639   ,p_private_contribution            => p_private_contribution
640   ,p_default_vehicle                 => p_default_vehicle
641   ,p_fuel_card                       => l_fuel_card
642   ,p_fuel_card_number                => p_fuel_card_number
643   ,p_calculation_method              => p_calculation_method
644   ,p_rates_table_id                  => p_rates_table_id
645   ,p_element_type_id                 => p_element_type_id
646   ,p_private_use_flag		     => p_private_use_flag
647   ,p_insurance_number		     => p_insurance_number
648   ,p_insurance_expiry_date		     => p_insurance_expiry_date
649   ,p_val_attribute_category          => p_val_attribute_category
650   ,p_val_attribute1                  => p_val_attribute1
651   ,p_val_attribute2                  => p_val_attribute2
652   ,p_val_attribute3                  => p_val_attribute3
653   ,p_val_attribute4                  => p_val_attribute4
654   ,p_val_attribute5                  => p_val_attribute5
655   ,p_val_attribute6                  => p_val_attribute6
656   ,p_val_attribute7                  => p_val_attribute7
657   ,p_val_attribute8                  => p_val_attribute8
658   ,p_val_attribute9                  => p_val_attribute9
659   ,p_val_attribute10                 => p_val_attribute10
660   ,p_val_attribute11                 => p_val_attribute11
661   ,p_val_attribute12                 => p_val_attribute12
662   ,p_val_attribute13                 => p_val_attribute13
663   ,p_val_attribute14                 => p_val_attribute14
664   ,p_val_attribute15                 => p_val_attribute15
665   ,p_val_attribute16                 => p_val_attribute16
666   ,p_val_attribute17                 => p_val_attribute17
667   ,p_val_attribute18                 => p_val_attribute18
668   ,p_val_attribute19                 => p_val_attribute19
669   ,p_val_attribute20                 => p_val_attribute20
670   ,p_val_information_category        => p_val_information_category
671   ,p_val_information1                => p_val_information1
672   ,p_val_information2                => p_val_information2
673   ,p_val_information3                => p_val_information3
674   ,p_val_information4                => p_val_information4
675   ,p_val_information5                => p_val_information5
676   ,p_val_information6                => p_val_information6
677   ,p_val_information7                => p_val_information7
678   ,p_val_information8                => p_val_information8
679   ,p_val_information9                => p_val_information9
680   ,p_val_information10               => p_val_information10
681   ,p_val_information11               => p_val_information11
682   ,p_val_information12               => p_val_information12
683   ,p_val_information13               => p_val_information13
684   ,p_val_information14               => p_val_information14
685   ,p_val_information15               => p_val_information15
686   ,p_val_information16               => p_val_information16
687   ,p_val_information17               => p_val_information17
688   ,p_val_information18               => p_val_information18
689   ,p_val_information19               => p_val_information19
690   ,p_val_information20               => p_val_information20
691   ,p_fuel_benefit                    => p_fuel_benefit
692   ,p_sliding_rates_info	 	     =>p_sliding_rates_info
693   ,p_effective_start_date            => p_effective_start_date
694   ,p_effective_end_date              => p_effective_end_date
695   );
696 
697  pqp_veh_multi_alloc.update_veh_multi_alloc
698   ( p_validate                        => p_validate
699    ,p_effective_date                  => l_effective_date
700    ,p_datetrack_mode                  => p_datetrack_mode
701    ,p_vehicle_allocation_id           => p_vehicle_allocation_id
702    ,p_object_version_number           => p_object_version_number
703    ,p_assignment_id                   => p_assignment_id
704    ,p_business_group_id               => p_business_group_id
705    ,p_vehicle_repository_id           => p_vehicle_repository_id
706    ,p_across_assignments              => p_across_assignments
707    ,p_usage_type                      => p_usage_type
708    ,p_capital_contribution            => p_capital_contribution
709    ,p_private_contribution            => p_private_contribution
710    ,p_default_vehicle                 => p_default_vehicle
711    ,p_fuel_card                       => l_fuel_card
712    ,p_fuel_card_number                => p_fuel_card_number
713    ,p_calculation_method              => p_calculation_method
714    ,p_rates_table_id                  => p_rates_table_id
715    ,p_element_type_id                 => p_element_type_id
716    ,p_private_use_flag		      => p_private_use_flag
717    ,p_insurance_number		      => p_insurance_number
718    ,p_insurance_expiry_date	      => p_insurance_expiry_date
719    ,p_val_attribute_category          => p_val_attribute_category
720    ,p_val_attribute1                  => p_val_attribute1
721    ,p_val_attribute2                  => p_val_attribute2
722    ,p_val_attribute3                  => p_val_attribute3
723    ,p_val_attribute4                  => p_val_attribute4
724    ,p_val_attribute5                  => p_val_attribute5
725    ,p_val_attribute6                  => p_val_attribute6
726    ,p_val_attribute7                  => p_val_attribute7
727    ,p_val_attribute8                  => p_val_attribute8
728    ,p_val_attribute9                  => p_val_attribute9
729    ,p_val_attribute10                 => p_val_attribute10
730    ,p_val_attribute11                 => p_val_attribute11
731    ,p_val_attribute12                 => p_val_attribute12
732    ,p_val_attribute13                 => p_val_attribute13
733    ,p_val_attribute14                 => p_val_attribute14
734    ,p_val_attribute15                 => p_val_attribute15
735    ,p_val_attribute16                 => p_val_attribute16
736    ,p_val_attribute17                 => p_val_attribute17
737    ,p_val_attribute18                 => p_val_attribute18
738    ,p_val_attribute19                 => p_val_attribute19
739    ,p_val_attribute20                 => p_val_attribute20
740    ,p_val_information_category        => p_val_information_category
741    ,p_val_information1                => p_val_information1
742    ,p_val_information2                => p_val_information2
743    ,p_val_information3                => p_val_information3
744    ,p_val_information4                => p_val_information4
745    ,p_val_information5                => p_val_information5
746    ,p_val_information6                => p_val_information6
747    ,p_val_information7                => p_val_information7
748    ,p_val_information8                => p_val_information8
749    ,p_val_information9                => p_val_information9
750    ,p_val_information10               => p_val_information10
751    ,p_val_information11               => p_val_information11
752    ,p_val_information12               => p_val_information12
753    ,p_val_information13               => p_val_information13
754    ,p_val_information14               => p_val_information14
755    ,p_val_information15               => p_val_information15
756    ,p_val_information16               => p_val_information16
757    ,p_val_information17               => p_val_information17
758    ,p_val_information18               => p_val_information18
759    ,p_val_information19               => p_val_information19
760    ,p_val_information20               => p_val_information20
761    ,p_fuel_benefit                    => p_fuel_benefit
762    ,p_sliding_rates_info  	      =>p_sliding_rates_info
763 
764     );
765 
766 
767   --
768   -- Call After Process User Hook
769   --
770   begin
771   PQP_VEHICLE_ALLOCATIONS_BK2.update_vehicle_allocation_a
772   (p_effective_date                     => l_effective_date
773   ,p_datetrack_mode                     => p_datetrack_mode
774   ,p_vehicle_allocation_id              => p_vehicle_allocation_id
775   ,p_object_version_number              => p_object_version_number
776   ,p_assignment_id                  	=> p_assignment_id
777   ,p_business_group_id                	=> p_business_group_id
778   ,p_vehicle_repository_id         	=> p_vehicle_repository_id
779   ,p_across_assignments            	=> p_across_assignments
780   ,p_usage_type                    	=> p_usage_type
781   ,p_capital_contribution           	=> p_capital_contribution
782   ,p_private_contribution           	=> p_private_contribution
783   ,p_default_vehicle                	=> p_default_vehicle
784   ,p_fuel_card                      	=> l_fuel_card
785   ,p_fuel_card_number               	=> p_fuel_card_number
786   ,p_calculation_method             	=> p_calculation_method
787   ,p_rates_table_id                 	=> p_rates_table_id
788   ,p_element_type_id                	=> p_element_type_id
789   ,p_private_use_flag		    	=> p_private_use_flag
790   ,p_insurance_number		    	=> p_insurance_number
791   ,p_insurance_expiry_date	    	=> p_insurance_expiry_date
792   ,p_val_attribute_category         	=> p_val_attribute_category
793   ,p_val_attribute1                 	=> p_val_attribute1
794   ,p_val_attribute2                 	=> p_val_attribute2
795   ,p_val_attribute3                 	=> p_val_attribute3
796   ,p_val_attribute4                	=> p_val_attribute4
797   ,p_val_attribute5                 	=> p_val_attribute5
798   ,p_val_attribute6                	=> p_val_attribute6
799   ,p_val_attribute7                	=> p_val_attribute7
800   ,p_val_attribute8                 	=> p_val_attribute8
801   ,p_val_attribute9                	=> p_val_attribute9
802   ,p_val_attribute10                	=> p_val_attribute10
803   ,p_val_attribute11               	=> p_val_attribute11
804   ,p_val_attribute12                	=> p_val_attribute12
805   ,p_val_attribute13                	=> p_val_attribute13
806   ,p_val_attribute14                	=> p_val_attribute14
807   ,p_val_attribute15                	=> p_val_attribute15
808   ,p_val_attribute16                	=> p_val_attribute16
809   ,p_val_attribute17                	=> p_val_attribute17
810   ,p_val_attribute18                	=> p_val_attribute18
811   ,p_val_attribute19                	=> p_val_attribute19
812   ,p_val_attribute20                	=> p_val_attribute20
813   ,p_val_information_category       	=> p_val_information_category
814   ,p_val_information1               	=> p_val_information1
815   ,p_val_information2               	=> p_val_information2
816   ,p_val_information3               	=> p_val_information3
817   ,p_val_information4               	=> p_val_information4
818   ,p_val_information5               	=> p_val_information5
819   ,p_val_information6               	=> p_val_information6
820   ,p_val_information7               	=> p_val_information7
821   ,p_val_information8               	=> p_val_information8
822   ,p_val_information9               	=> p_val_information9
823   ,p_val_information10              	=> p_val_information10
824   ,p_val_information11              	=> p_val_information11
825   ,p_val_information12              	=> p_val_information12
826   ,p_val_information13              	=> p_val_information13
827   ,p_val_information14              	=> p_val_information14
828   ,p_val_information15              	=> p_val_information15
829   ,p_val_information16              	=> p_val_information16
830   ,p_val_information17              	=> p_val_information17
831   ,p_val_information18              	=> p_val_information18
832   ,p_val_information19              	=> p_val_information19
833   ,p_val_information20              	=> p_val_information20
834   ,p_fuel_benefit                   	=> p_fuel_benefit
835   ,p_sliding_rates_info			=> p_sliding_rates_info
836   ,p_effective_start_date               => p_effective_start_date
837   ,p_effective_end_date                 => p_effective_end_date
838   ) ;
839 
840   exception
841     when hr_api.cannot_find_prog_unit then
842       hr_api.cannot_find_prog_unit_error
843         (p_module_name => 'PQP_VEHICLE_ALLOCATIONS_API'
844         ,p_hook_type   => 'AP'
845         );
846   end;
847 
848   hr_utility.set_location(l_proc, 60);
849   --
850   -- When in validation only mode raise the Validate_Enabled exception
851   --
852   if p_validate then
853     raise hr_api.validate_enabled;
854   end if;
855   --
856   -- Set all output arguments
857   --
858   p_effective_start_date              	:= p_effective_start_date;
859   p_effective_end_date               	:= p_effective_end_date ;
860   hr_utility.set_location(' Leaving:'||l_proc, 70);
861 exception
862   when hr_api.validate_enabled then
863     --
864     -- As the Validate_Enabled exception has been raised
865     -- we must rollback to the savepoint
866     --
867     rollback to update_vehicle_allocation;
868     --
869     -- Only set output warning arguments
870     -- (Any key or derived arguments must be set to null
871     -- when validation only mode is being used.)
872     --
873      p_effective_start_date        	:= null;
874      p_effective_end_date              	:= null;
875     hr_utility.set_location(' Leaving:'||l_proc, 80);
876   when others then
877     --
878     -- A validation or unexpected error has occured
879     --
880      rollback to update_vehicle_allocation;
881      p_effective_start_date        	:= null;
882      p_effective_end_date              	:= null;
883     hr_utility.set_location(' Leaving:'||l_proc, 90);
884     raise;
885 END update_vehicle_allocation;
886 --
887 -- ----------------------------------------------------------------------------
888 -- |---------------------< DELETE_VEHICLE_ALLOCATION >------------------------|
889 -- ----------------------------------------------------------------------------
890 procedure delete_vehicle_allocation
891   (p_validate                     in     boolean
892   ,p_effective_date               in     date
893   ,p_datetrack_mode               in     varchar2
894   ,p_vehicle_allocation_id        in     number
895   ,p_object_version_number        in out nocopy number
896   ,p_effective_start_date         out    nocopy date
897   ,p_effective_end_date           out    nocopy date
898   ) IS
899 
900  l_proc       varchar2(72) := g_package||'delete_vehicle_allocation';
901  l_effective_date date;
902 
903   BEGIN
904 
905   hr_utility.set_location('Entering:'|| l_proc, 10);
906   --
907   -- Issue a savepoint
908   --
909   savepoint delete_vehicle_allocation;
910   --
911   hr_utility.set_location(l_proc, 20);
912   --truncate effective_date parameter
913    l_effective_date :=TRUNC(p_effective_date);
914 
915   --
916   -- Call Before Process User Hook
917   --
918   begin
919 
920   PQP_VEHICLE_ALLOCATIONS_BK3.DELETE_VEHICLE_ALLOCATION_b
921   (p_validate                           =>p_validate
922   ,p_effective_date                     =>l_effective_date
923   ,p_datetrack_mode                     =>p_datetrack_mode
924   ,p_vehicle_allocation_id              =>p_vehicle_allocation_id
925   ,p_object_version_number              =>p_object_version_number
926   ) ;
927 
928   exception
929     when hr_api.cannot_find_prog_unit then
930       hr_api.cannot_find_prog_unit_error
931         (p_module_name => 'PQP_VEHICLE_ALLOCATIONS_API'
932         ,p_hook_type   => 'BP'
933         );
934   end;
935 
936 
937   pqp_val_del.del
938   (p_effective_date             => l_effective_date
939   ,p_datetrack_mode             => p_datetrack_mode
940   ,p_vehicle_allocation_id      => p_vehicle_allocation_id
941   ,p_object_version_number      => p_object_version_number
942   ,p_effective_start_date       => p_effective_start_date
943   ,p_effective_end_date         => p_effective_end_date
944   );
945 
946  -- comented as this procedure does not do anything now ( Bug 5634880)
947  /*
948    pqp_veh_multi_alloc.delete_veh_multi_alloc
949   (p_validate                      =>p_validate
950   ,p_effective_date                =>l_effective_date
951   ,p_datetrack_mode                =>p_datetrack_mode
952   ,p_vehicle_allocation_id         =>p_vehicle_allocation_id
953   );
954   */
955   --
956   -- Call after Process User Hook
957   --
958   begin
959 
960   PQP_VEHICLE_ALLOCATIONS_BK3.delete_vehicle_allocation_a
961   (p_validate                           =>p_validate
962   ,p_effective_date                     =>l_effective_date
963   ,p_datetrack_mode                     =>p_datetrack_mode
964   ,p_vehicle_allocation_id              =>p_vehicle_allocation_id
965   ,p_object_version_number              =>p_object_version_number
966   ,p_effective_start_date              => p_effective_start_date
967   ,p_effective_end_date                 =>p_effective_end_date
968 
969   ) ;
970 
971   exception
972     when hr_api.cannot_find_prog_unit then
973       hr_api.cannot_find_prog_unit_error
974         (p_module_name => 'PQP_VEHICLE_ALLOCATIONS_API'
975         ,p_hook_type   => 'AP'
976         );
977   end;
978   hr_utility.set_location(l_proc, 60);
979   --
980   -- When in validation only mode raise the Validate_Enabled exception
981   --
982   if p_validate then
983     raise hr_api.validate_enabled;
984   end if;
985   --
986   -- Set all output arguments
987   --
988   --
989   p_object_version_number             	:= p_object_version_number;
990   p_effective_start_date              	:= p_effective_start_date;
991   p_effective_end_date               	:= p_effective_end_date ;
992   hr_utility.set_location(' Leaving:'||l_proc, 70);
993 exception
994   when hr_api.validate_enabled then
995     --
996     -- As the Validate_Enabled exception has been raised
997     -- we must rollback to the savepoint
998     --
999     rollback to delete_vehicle_allocation;
1000     --
1001     -- Only set output warning arguments
1002     -- (Any key or derived arguments must be set to null
1003     -- when validation only mode is being used.)
1004     --
1005     p_object_version_number         := null;
1006     p_effective_start_date          := null;
1007     p_effective_end_date            := null ;
1008 
1009     hr_utility.set_location(' Leaving:'||l_proc, 80);
1010   when others then
1011     --
1012     -- A validation or unexpected error has occured
1013     --
1014     rollback to delete_vehicle_allocation;
1015     p_object_version_number         := null;
1016     p_effective_start_date          := null;
1017     p_effective_end_date            := null ;
1018 
1019     hr_utility.set_location(' Leaving:'||l_proc, 90);
1020     raise;
1021 
1022   END delete_vehicle_allocation;
1023 
1024 end PQP_VEHICLE_ALLOCATIONS_API;