DBA Data[Home] [Help]

PACKAGE BODY: APPS.PQP_VEHICLE_ALLOCATIONS_SWI

Source


1 Package Body pqp_vehicle_allocations_swi As
2 /* $Header: pqvalswi.pkb 120.1 2012/01/05 07:03:39 vepravee ship $ */
3 --
4 -- Package variables
5 --
6 g_package  varchar2(33) := 'pqp_vehicle_allocations_swi.';
7 --
8 /*Added the below procedure as a part of bug#13547884*/
9 -- ----------------------------------------------------------------------------
10 -- |-----------------------< chk_pvt_contribution_limit >---------------------|
11 -- ----------------------------------------------------------------------------
12 
13 Procedure chk_pvt_contribution_limit(p_private_contribution IN NUMBER)
14 IS
15 BEGIN
16  IF p_private_contribution not between -999999999.99 and +999999999.99
17  THEN
18      fnd_message.set_name('PQP','PQP_INVALID_NUM_PRECISION');
19      fnd_message.set_token('ARG_NAME','Private Contribution');
20      fnd_message.raise_error;
21  END IF;
22 END;
23 
24 -- ----------------------------------------------------------------------------
25 -- |-----------------------< create_vehicle_allocation >----------------------|
26 -- ----------------------------------------------------------------------------
27 PROCEDURE create_vehicle_allocation
28   (p_validate                     in     number    default hr_api.g_false_num
29   ,p_effective_date               in     date
30   ,p_assignment_id                in     number
31   ,p_business_group_id            in     number
32   ,p_vehicle_repository_id        in     number    default null
33   ,p_across_assignments           in     varchar2  default null
34   ,p_usage_type                   in     varchar2  default null
35   ,p_capital_contribution         in     number    default null
36   ,p_private_contribution         in     number    default null
37   ,p_default_vehicle              in     varchar2  default null
38   ,p_fuel_card                    in     varchar2  default null
39   ,p_fuel_card_number             in     varchar2  default null
40   ,p_calculation_method           in     varchar2  default null
41   ,p_rates_table_id               in     number    default null
42   ,p_element_type_id              in     number    default null
43   ,p_private_use_flag		  in     varchar2 default null
44   ,p_insurance_number		  in     varchar2 default null
45   ,p_insurance_expiry_date		  in     date	    default null
46   ,p_val_attribute_category       in     varchar2  default null
47   ,p_val_attribute1               in     varchar2  default null
48   ,p_val_attribute2               in     varchar2  default null
49   ,p_val_attribute3               in     varchar2  default null
50   ,p_val_attribute4               in     varchar2  default null
51   ,p_val_attribute5               in     varchar2  default null
52   ,p_val_attribute6               in     varchar2  default null
53   ,p_val_attribute7               in     varchar2  default null
54   ,p_val_attribute8               in     varchar2  default null
55   ,p_val_attribute9               in     varchar2  default null
56   ,p_val_attribute10              in     varchar2  default null
57   ,p_val_attribute11              in     varchar2  default null
58   ,p_val_attribute12              in     varchar2  default null
59   ,p_val_attribute13              in     varchar2  default null
60   ,p_val_attribute14              in     varchar2  default null
61   ,p_val_attribute15              in     varchar2  default null
62   ,p_val_attribute16              in     varchar2  default null
63   ,p_val_attribute17              in     varchar2  default null
64   ,p_val_attribute18              in     varchar2  default null
65   ,p_val_attribute19              in     varchar2  default null
66   ,p_val_attribute20              in     varchar2  default null
67   ,p_val_information_category     in     varchar2  default null
68   ,p_val_information1             in     varchar2  default null
69   ,p_val_information2             in     varchar2  default null
70   ,p_val_information3             in     varchar2  default null
71   ,p_val_information4             in     varchar2  default null
72   ,p_val_information5             in     varchar2  default null
73   ,p_val_information6             in     varchar2  default null
74   ,p_val_information7             in     varchar2  default null
75   ,p_val_information8             in     varchar2  default null
79   ,p_val_information12            in     varchar2  default null
76   ,p_val_information9             in     varchar2  default null
77   ,p_val_information10            in     varchar2  default null
78   ,p_val_information11            in     varchar2  default null
80   ,p_val_information13            in     varchar2  default null
81   ,p_val_information14            in     varchar2  default null
82   ,p_val_information15            in     varchar2  default null
83   ,p_val_information16            in     varchar2  default null
84   ,p_val_information17            in     varchar2  default null
85   ,p_val_information18            in     varchar2  default null
86   ,p_val_information19            in     varchar2  default null
87   ,p_val_information20            in     varchar2  default null
88   ,p_fuel_benefit                 in     varchar2  default null
89   ,p_sliding_rates_info		  in     varchar2 default null
90   ,p_vehicle_allocation_id        in     number
91   ,p_object_version_number           out nocopy number
92   ,p_effective_start_date            out nocopy date
93   ,p_effective_end_date              out nocopy date
94   ,p_return_status                   out nocopy varchar2
95   ) is
96   --
97   -- Variables for API Boolean parameters
98   l_validate                      boolean;
99   --
100   -- Variables for IN/OUT parameters
101   --
102   -- Other variables
103   l_vehicle_allocation_id        number;
104   l_proc    varchar2(72) := g_package ||'create_vehicle_allocation';
105 Begin
106   hr_utility.set_location(' Entering:' || l_proc,10);
107   --
108   -- Issue a savepoint
109   --
110   savepoint create_vehicle_allocation_swi;
111   --
112   -- Initialise Multiple Message Detection
113   --
114   hr_multi_message.enable_message_list;
115   --
116   -- Remember IN OUT parameter IN values
117   --
118   --
119   -- Convert constant values to their corresponding boolean value
120   --
121   l_validate :=
122     hr_api.constant_to_boolean
123       (p_constant_value => p_validate);
124   --
125   -- Register Surrogate ID or user key values
126   --
127   pqp_val_ins.set_base_key_value
128     (p_vehicle_allocation_id => p_vehicle_allocation_id
129     );
130 
131 /* Added the following validation for checking private contribution
132    value as a apart og bug#13547884*/
133   --
134   -- Check the Private Contribution value
135   --
136   IF p_private_contribution is not null
137   THEN
138      chk_pvt_contribution_limit(p_private_contribution);
139   END IF;
140 
141   --
142   -- Call API
143   --
144   pqp_vehicle_allocations_api.create_vehicle_allocation
145     (p_validate                     => l_validate
146     ,p_effective_date               => p_effective_date
147     ,p_assignment_id                => p_assignment_id
148     ,p_business_group_id            => p_business_group_id
149     ,p_vehicle_repository_id        => p_vehicle_repository_id
150     ,p_across_assignments           => p_across_assignments
151     ,p_usage_type                   => p_usage_type
152     ,p_capital_contribution         => p_capital_contribution
153     ,p_private_contribution         => p_private_contribution
154     ,p_default_vehicle              => p_default_vehicle
155     ,p_fuel_card                    => p_fuel_card
156     ,p_fuel_card_number             => p_fuel_card_number
157     ,p_calculation_method           => p_calculation_method
158     ,p_rates_table_id               => p_rates_table_id
159     ,p_element_type_id              => p_element_type_id
160     ,p_private_use_flag		    => p_private_use_flag
161     ,p_insurance_number		    => p_insurance_number
162     ,p_insurance_expiry_date	    => p_insurance_expiry_date
163     ,p_val_attribute_category       => p_val_attribute_category
164     ,p_val_attribute1               => p_val_attribute1
165     ,p_val_attribute2               => p_val_attribute2
166     ,p_val_attribute3               => p_val_attribute3
167     ,p_val_attribute4               => p_val_attribute4
168     ,p_val_attribute5               => p_val_attribute5
169     ,p_val_attribute6               => p_val_attribute6
170     ,p_val_attribute7               => p_val_attribute7
171     ,p_val_attribute8               => p_val_attribute8
172     ,p_val_attribute9               => p_val_attribute9
173     ,p_val_attribute10              => p_val_attribute10
174     ,p_val_attribute11              => p_val_attribute11
175     ,p_val_attribute12              => p_val_attribute12
176     ,p_val_attribute13              => p_val_attribute13
177     ,p_val_attribute14              => p_val_attribute14
178     ,p_val_attribute15              => p_val_attribute15
179     ,p_val_attribute16              => p_val_attribute16
180     ,p_val_attribute17              => p_val_attribute17
181     ,p_val_attribute18              => p_val_attribute18
182     ,p_val_attribute19              => p_val_attribute19
183     ,p_val_attribute20              => p_val_attribute20
184     ,p_val_information_category     => p_val_information_category
185     ,p_val_information1             => p_val_information1
186     ,p_val_information2             => p_val_information2
187     ,p_val_information3             => p_val_information3
188     ,p_val_information4             => p_val_information4
189     ,p_val_information5             => p_val_information5
190     ,p_val_information6             => p_val_information6
191     ,p_val_information7             => p_val_information7
192     ,p_val_information8             => p_val_information8
193     ,p_val_information9             => p_val_information9
194     ,p_val_information10            => p_val_information10
195     ,p_val_information11            => p_val_information11
199     ,p_val_information15            => p_val_information15
196     ,p_val_information12            => p_val_information12
197     ,p_val_information13            => p_val_information13
198     ,p_val_information14            => p_val_information14
200     ,p_val_information16            => p_val_information16
201     ,p_val_information17            => p_val_information17
202     ,p_val_information18            => p_val_information18
203     ,p_val_information19            => p_val_information19
204     ,p_val_information20            => p_val_information20
205     ,p_fuel_benefit                 => p_fuel_benefit
206     ,p_sliding_rates_info	    => p_sliding_rates_info
207     ,p_vehicle_allocation_id        => l_vehicle_allocation_id
208     ,p_object_version_number        => p_object_version_number
209     ,p_effective_start_date         => p_effective_start_date
210     ,p_effective_end_date           => p_effective_end_date
211     );
212   --
213   -- Convert API warning boolean parameter values to specific
214   -- messages and add them to Multiple Message List
215   --
216   --
217   -- Convert API non-warning boolean parameter values
218   --
219   --
220   -- Derive the API return status value based on whether
221   -- messages of any type exist in the Multiple Message List.
222   -- Also disable Multiple Message Detection.
223   --
224   p_return_status := hr_multi_message.get_return_status_disable;
225   hr_utility.set_location(' Leaving:' || l_proc,20);
226   --
227 exception
228   when hr_multi_message.error_message_exist then
229     --
230     -- Catch the Multiple Message List exception which
231     -- indicates API processing has been aborted because
232     -- at least one message exists in the list.
233     --
234     rollback to create_vehicle_allocation_swi;
235     --
236     -- Reset IN OUT parameters and set OUT parameters
237     --
238     p_object_version_number        := null;
239     p_effective_start_date         := null;
240     p_effective_end_date           := null;
241     p_return_status := hr_multi_message.get_return_status_disable;
242     hr_utility.set_location(' Leaving:' || l_proc, 30);
243   when others then
244     --
245     -- When Multiple Message Detection is enabled catch
246     -- any Application specific or other unexpected
247     -- exceptions.  Adding appropriate details to the
248     -- Multiple Message List.  Otherwise re-raise the
249     -- error.
250     --
251     rollback to create_vehicle_allocation_swi;
252     if hr_multi_message.unexpected_error_add(l_proc) then
253        hr_utility.set_location(' Leaving:' || l_proc,40);
254        raise;
255     end if;
256     --
257     -- Reset IN OUT and set OUT parameters
258     --
259     p_object_version_number        := null;
260     p_effective_start_date         := null;
261     p_effective_end_date           := null;
262     p_return_status := hr_multi_message.get_return_status_disable;
263     hr_utility.set_location(' Leaving:' || l_proc,50);
264 end create_vehicle_allocation;
265 -- ----------------------------------------------------------------------------
266 -- |-----------------------< delete_vehicle_allocation >----------------------|
267 -- ----------------------------------------------------------------------------
268 PROCEDURE delete_vehicle_allocation
269   (p_validate                     in     number    default hr_api.g_false_num
270   ,p_effective_date               in     date
271   ,p_datetrack_mode               in     varchar2
272   ,p_vehicle_allocation_id        in     number
273   ,p_object_version_number        in out nocopy number
274   ,p_effective_start_date            out nocopy date
275   ,p_effective_end_date              out nocopy date
276   ,p_return_status                   out nocopy varchar2
277   ) is
278   --
279   -- Variables for API Boolean parameters
280   l_validate                      boolean;
281   --
282   -- Variables for IN/OUT parameters
283   l_object_version_number         number;
284   --
285   -- Other variables
286   l_proc    varchar2(72) := g_package ||'delete_vehicle_allocation';
287 Begin
288   hr_utility.set_location(' Entering:' || l_proc,10);
289   --
290   -- Issue a savepoint
291   --
292   savepoint delete_vehicle_allocation_swi;
293   --
294   -- Initialise Multiple Message Detection
295   --
296   hr_multi_message.enable_message_list;
297   --
298   -- Remember IN OUT parameter IN values
299   --
300   l_object_version_number         := p_object_version_number;
301   --
302   -- Convert constant values to their corresponding boolean value
303   --
304   l_validate :=
305     hr_api.constant_to_boolean
306       (p_constant_value => p_validate);
307   --
308   -- Register Surrogate ID or user key values
309   --
310   --
311   -- Call API
312   --
313   pqp_vehicle_allocations_api.delete_vehicle_allocation
314     (p_validate                     => l_validate
315     ,p_effective_date               => p_effective_date
316     ,p_datetrack_mode               => p_datetrack_mode
317     ,p_vehicle_allocation_id        => p_vehicle_allocation_id
318     ,p_object_version_number        => p_object_version_number
319     ,p_effective_start_date         => p_effective_start_date
320     ,p_effective_end_date           => p_effective_end_date
321     );
322   --
323   -- Convert API warning boolean parameter values to specific
324   -- messages and add them to Multiple Message List
325   --
326   --
327   -- Convert API non-warning boolean parameter values
328   --
329   --
330   -- Derive the API return status value based on whether
334   p_return_status := hr_multi_message.get_return_status_disable;
331   -- messages of any type exist in the Multiple Message List.
332   -- Also disable Multiple Message Detection.
333   --
335   hr_utility.set_location(' Leaving:' || l_proc,20);
336   --
337 exception
338   when hr_multi_message.error_message_exist then
339     --
340     -- Catch the Multiple Message List exception which
341     -- indicates API processing has been aborted because
342     -- at least one message exists in the list.
343     --
344     rollback to delete_vehicle_allocation_swi;
345     --
346     -- Reset IN OUT parameters and set OUT parameters
347     --
348     p_object_version_number        := l_object_version_number;
349     p_effective_start_date         := null;
350     p_effective_end_date           := null;
351     p_return_status := hr_multi_message.get_return_status_disable;
352     hr_utility.set_location(' Leaving:' || l_proc, 30);
353   when others then
354     --
355     -- When Multiple Message Detection is enabled catch
356     -- any Application specific or other unexpected
357     -- exceptions.  Adding appropriate details to the
358     -- Multiple Message List.  Otherwise re-raise the
359     -- error.
360     --
361     rollback to delete_vehicle_allocation_swi;
362     if hr_multi_message.unexpected_error_add(l_proc) then
363        hr_utility.set_location(' Leaving:' || l_proc,40);
364        raise;
365     end if;
366     --
367     -- Reset IN OUT and set OUT parameters
368     --
369     p_object_version_number        := l_object_version_number;
370     p_effective_start_date         := null;
371     p_effective_end_date           := null;
372     p_return_status := hr_multi_message.get_return_status_disable;
373     hr_utility.set_location(' Leaving:' || l_proc,50);
374     raise;
375 end delete_vehicle_allocation;
376 -- ----------------------------------------------------------------------------
377 -- |-----------------------< update_vehicle_allocation >----------------------|
378 -- ----------------------------------------------------------------------------
379 PROCEDURE update_vehicle_allocation
380   (p_validate                     in     number    default hr_api.g_false_num
381   ,p_effective_date               in     date
382   ,p_datetrack_mode               in     varchar2
383   ,p_vehicle_allocation_id        in     number
384   ,p_object_version_number        in out nocopy number
385   ,p_assignment_id                in     number    default hr_api.g_number
386   ,p_business_group_id            in     number    default hr_api.g_number
387   ,p_vehicle_repository_id        in     number    default hr_api.g_number
388   ,p_across_assignments           in     varchar2  default hr_api.g_varchar2
389   ,p_usage_type                   in     varchar2  default hr_api.g_varchar2
390   ,p_capital_contribution         in     number    default hr_api.g_number
391   ,p_private_contribution         in     number    default hr_api.g_number
392   ,p_default_vehicle              in     varchar2  default hr_api.g_varchar2
393   ,p_fuel_card                    in     varchar2  default hr_api.g_varchar2
394   ,p_fuel_card_number             in     varchar2  default hr_api.g_varchar2
395   ,p_calculation_method           in     varchar2  default hr_api.g_varchar2
396   ,p_rates_table_id               in     number    default hr_api.g_number
397   ,p_element_type_id              in     number    default hr_api.g_number
398   ,p_private_use_flag		  in     varchar2 default hr_api.g_varchar2
399   ,p_insurance_number		  in     varchar2 default hr_api.g_varchar2
400   ,p_insurance_expiry_date		  in     date	    default hr_api.g_date
401   ,p_val_attribute_category       in     varchar2  default hr_api.g_varchar2
402   ,p_val_attribute1               in     varchar2  default hr_api.g_varchar2
403   ,p_val_attribute2               in     varchar2  default hr_api.g_varchar2
404   ,p_val_attribute3               in     varchar2  default hr_api.g_varchar2
405   ,p_val_attribute4               in     varchar2  default hr_api.g_varchar2
406   ,p_val_attribute5               in     varchar2  default hr_api.g_varchar2
407   ,p_val_attribute6               in     varchar2  default hr_api.g_varchar2
408   ,p_val_attribute7               in     varchar2  default hr_api.g_varchar2
409   ,p_val_attribute8               in     varchar2  default hr_api.g_varchar2
410   ,p_val_attribute9               in     varchar2  default hr_api.g_varchar2
411   ,p_val_attribute10              in     varchar2  default hr_api.g_varchar2
412   ,p_val_attribute11              in     varchar2  default hr_api.g_varchar2
413   ,p_val_attribute12              in     varchar2  default hr_api.g_varchar2
414   ,p_val_attribute13              in     varchar2  default hr_api.g_varchar2
415   ,p_val_attribute14              in     varchar2  default hr_api.g_varchar2
416   ,p_val_attribute15              in     varchar2  default hr_api.g_varchar2
417   ,p_val_attribute16              in     varchar2  default hr_api.g_varchar2
418   ,p_val_attribute17              in     varchar2  default hr_api.g_varchar2
419   ,p_val_attribute18              in     varchar2  default hr_api.g_varchar2
420   ,p_val_attribute19              in     varchar2  default hr_api.g_varchar2
421   ,p_val_attribute20              in     varchar2  default hr_api.g_varchar2
422   ,p_val_information_category     in     varchar2  default hr_api.g_varchar2
423   ,p_val_information1             in     varchar2  default hr_api.g_varchar2
424   ,p_val_information2             in     varchar2  default hr_api.g_varchar2
425   ,p_val_information3             in     varchar2  default hr_api.g_varchar2
426   ,p_val_information4             in     varchar2  default hr_api.g_varchar2
427   ,p_val_information5             in     varchar2  default hr_api.g_varchar2
428   ,p_val_information6             in     varchar2  default hr_api.g_varchar2
429   ,p_val_information7             in     varchar2  default hr_api.g_varchar2
430   ,p_val_information8             in     varchar2  default hr_api.g_varchar2
431   ,p_val_information9             in     varchar2  default hr_api.g_varchar2
432   ,p_val_information10            in     varchar2  default hr_api.g_varchar2
433   ,p_val_information11            in     varchar2  default hr_api.g_varchar2
434   ,p_val_information12            in     varchar2  default hr_api.g_varchar2
435   ,p_val_information13            in     varchar2  default hr_api.g_varchar2
436   ,p_val_information14            in     varchar2  default hr_api.g_varchar2
437   ,p_val_information15            in     varchar2  default hr_api.g_varchar2
438   ,p_val_information16            in     varchar2  default hr_api.g_varchar2
439   ,p_val_information17            in     varchar2  default hr_api.g_varchar2
440   ,p_val_information18            in     varchar2  default hr_api.g_varchar2
441   ,p_val_information19            in     varchar2  default hr_api.g_varchar2
442   ,p_val_information20            in     varchar2  default hr_api.g_varchar2
443   ,p_fuel_benefit                 in     varchar2  default hr_api.g_varchar2
444   ,p_sliding_rates_info		  in     varchar2 default hr_api.g_varchar2
445   ,p_effective_start_date            out nocopy date
446   ,p_effective_end_date              out nocopy date
447   ,p_return_status                   out nocopy varchar2
448   ) is
449   --
450   -- Variables for API Boolean parameters
451   l_validate                      boolean;
452   --
453   -- Variables for IN/OUT parameters
454   l_object_version_number         number;
455   --
456   -- Other variables
457   l_proc    varchar2(72) := g_package ||'update_vehicle_allocation';
458 Begin
459   hr_utility.set_location(' Entering:' || l_proc,10);
460   --
461   -- Issue a savepoint
462   --
463   savepoint update_vehicle_allocation_swi;
464   --
465   -- Initialise Multiple Message Detection
466   --
467   hr_multi_message.enable_message_list;
468   --
469   -- Remember IN OUT parameter IN values
470   --
471   l_object_version_number         := p_object_version_number;
472   --
473   -- Convert constant values to their corresponding boolean value
474   --
475   l_validate :=
476     hr_api.constant_to_boolean
477       (p_constant_value => p_validate);
478   --
479   -- Register Surrogate ID or user key values
480   --
481 
482   /* Added the following validation for checking private contribution
483    value as a apart og bug#13547884*/
484   --
485   -- Check the Private Contribution value
486   --
487   IF p_private_contribution is not null
488   THEN
489      chk_pvt_contribution_limit(p_private_contribution);
490   END IF;
491 
492 
493   --
494   -- Call API
495   --
496   pqp_vehicle_allocations_api.update_vehicle_allocation
497     (p_validate                     => l_validate
498     ,p_effective_date               => p_effective_date
499     ,p_datetrack_mode               => p_datetrack_mode
500     ,p_vehicle_allocation_id        => p_vehicle_allocation_id
501     ,p_object_version_number        => p_object_version_number
502     ,p_assignment_id                => p_assignment_id
503     ,p_business_group_id            => p_business_group_id
504     ,p_vehicle_repository_id        => p_vehicle_repository_id
505     ,p_across_assignments           => p_across_assignments
506     ,p_usage_type                   => p_usage_type
507     ,p_capital_contribution         => p_capital_contribution
508     ,p_private_contribution         => p_private_contribution
509     ,p_default_vehicle              => p_default_vehicle
510     ,p_fuel_card                    => p_fuel_card
511     ,p_fuel_card_number             => p_fuel_card_number
512     ,p_calculation_method           => p_calculation_method
513     ,p_rates_table_id               => p_rates_table_id
514     ,p_element_type_id              => p_element_type_id
515     ,p_private_use_flag		    => p_private_use_flag
516     ,p_insurance_number		    => p_insurance_number
517     ,p_insurance_expiry_date	    => p_insurance_expiry_date
518     ,p_val_attribute_category       => p_val_attribute_category
519     ,p_val_attribute1               => p_val_attribute1
520     ,p_val_attribute2               => p_val_attribute2
521     ,p_val_attribute3               => p_val_attribute3
522     ,p_val_attribute4               => p_val_attribute4
523     ,p_val_attribute5               => p_val_attribute5
524     ,p_val_attribute6               => p_val_attribute6
525     ,p_val_attribute7               => p_val_attribute7
526     ,p_val_attribute8               => p_val_attribute8
527     ,p_val_attribute9               => p_val_attribute9
528     ,p_val_attribute10              => p_val_attribute10
529     ,p_val_attribute11              => p_val_attribute11
530     ,p_val_attribute12              => p_val_attribute12
531     ,p_val_attribute13              => p_val_attribute13
532     ,p_val_attribute14              => p_val_attribute14
533     ,p_val_attribute15              => p_val_attribute15
534     ,p_val_attribute16              => p_val_attribute16
535     ,p_val_attribute17              => p_val_attribute17
536     ,p_val_attribute18              => p_val_attribute18
537     ,p_val_attribute19              => p_val_attribute19
538     ,p_val_attribute20              => p_val_attribute20
539     ,p_val_information_category     => p_val_information_category
540     ,p_val_information1             => p_val_information1
541     ,p_val_information2             => p_val_information2
542     ,p_val_information3             => p_val_information3
543     ,p_val_information4             => p_val_information4
544     ,p_val_information5             => p_val_information5
545     ,p_val_information6             => p_val_information6
546     ,p_val_information7             => p_val_information7
547     ,p_val_information8             => p_val_information8
548     ,p_val_information9             => p_val_information9
549     ,p_val_information10            => p_val_information10
550     ,p_val_information11            => p_val_information11
551     ,p_val_information12            => p_val_information12
552     ,p_val_information13            => p_val_information13
553     ,p_val_information14            => p_val_information14
554     ,p_val_information15            => p_val_information15
555     ,p_val_information16            => p_val_information16
556     ,p_val_information17            => p_val_information17
557     ,p_val_information18            => p_val_information18
558     ,p_val_information19            => p_val_information19
559     ,p_val_information20            => p_val_information20
560     ,p_fuel_benefit                 => p_fuel_benefit
561     ,p_sliding_rates_info           =>p_sliding_rates_info
562     ,p_effective_start_date         => p_effective_start_date
563     ,p_effective_end_date           => p_effective_end_date
564     );
565   --
566   -- Convert API warning boolean parameter values to specific
567   -- messages and add them to Multiple Message List
568   --
569   --
570   -- Convert API non-warning boolean parameter values
571   --
572   --
573   -- Derive the API return status value based on whether
574   -- messages of any type exist in the Multiple Message List.
575   -- Also disable Multiple Message Detection.
576   --
577   p_return_status := hr_multi_message.get_return_status_disable;
578   hr_utility.set_location(' Leaving:' || l_proc,20);
579   --
580 exception
581   when hr_multi_message.error_message_exist then
582     --
583     -- Catch the Multiple Message List exception which
584     -- indicates API processing has been aborted because
585     -- at least one message exists in the list.
586     --
587     rollback to update_vehicle_allocation_swi;
588     --
589     -- Reset IN OUT parameters and set OUT parameters
590     --
591     p_object_version_number        := l_object_version_number;
592     p_effective_start_date         := null;
593     p_effective_end_date           := null;
594     p_return_status := hr_multi_message.get_return_status_disable;
595     hr_utility.set_location(' Leaving:' || l_proc, 30);
596   when others then
597     --
598     -- When Multiple Message Detection is enabled catch
599     -- any Application specific or other unexpected
600     -- exceptions.  Adding appropriate details to the
601     -- Multiple Message List.  Otherwise re-raise the
602     -- error.
603     --
604     rollback to update_vehicle_allocation_swi;
605     if hr_multi_message.unexpected_error_add(l_proc) then
606        hr_utility.set_location(' Leaving:' || l_proc,40);
607        raise;
608     end if;
609     --
610     -- Reset IN OUT and set OUT parameters
611     --
612     p_object_version_number        := l_object_version_number;
613     p_effective_start_date         := null;
614     p_effective_end_date           := null;
615     p_return_status := hr_multi_message.get_return_status_disable;
616     hr_utility.set_location(' Leaving:' || l_proc,50);
617 end update_vehicle_allocation;
618 end pqp_vehicle_allocations_swi;