DBA Data[Home] [Help]

PACKAGE BODY: APPS.PQP_VEHICLE_REPOSITORY_SWI

Source


1 Package Body pqp_vehicle_repository_swi As
2 /* $Header: pqvreswi.pkb 120.0 2005/05/29 02:18:49 appldev noship $ */
3 --
4 -- Package variables
5 --
6 g_package  varchar2(33) := 'pqp_vehicle_repository_swi.';
7 --
8 -- ----------------------------------------------------------------------------
9 -- |----------------------------< create_vehicle >----------------------------|
10 -- ----------------------------------------------------------------------------
11 PROCEDURE create_vehicle
12   (p_validate                     in     number
13   ,p_effective_date               in     date
14   ,p_registration_number          in     varchar2
15   ,p_vehicle_type                 in     varchar2
16   ,p_vehicle_id_number            in     varchar2
17   ,p_business_group_id            in     number
18   ,p_make                         in     varchar2
19   ,p_engine_capacity_in_cc        in     number
20   ,p_fuel_type                    in     varchar2
21   ,p_currency_code                in     varchar2
22   ,p_vehicle_status               in     varchar2
23   ,p_vehicle_inactivity_reason    in     varchar2
24   ,p_model                        in     varchar2
25   ,p_initial_registration         in     date
26   ,p_last_registration_renew_date in     date
27   ,p_list_price                   in     number
28   ,p_accessory_value_at_startdate in     number
29   ,p_accessory_value_added_later  in     number
30   ,p_market_value_classic_car     in     number
31   ,p_fiscal_ratings               in     number
32   ,p_fiscal_ratings_uom           in     varchar2
33   ,p_vehicle_provider             in     varchar2
34   ,p_vehicle_ownership            in     varchar2
35   ,p_shared_vehicle               in     varchar2
36   ,p_asset_number                 in     varchar2
37   ,p_lease_contract_number        in     varchar2
38   ,p_lease_contract_expiry_date   in     date
39   ,p_taxation_method              in     varchar2
40   ,p_fleet_info                   in     varchar2
41   ,p_fleet_transfer_date          in     date
42   ,p_color                        in     varchar2
43   ,p_seating_capacity             in     number
44   ,p_weight                       in     number
45   ,p_weight_uom                   in     varchar2
46   ,p_model_year                   in     number
47   ,p_insurance_number             in     varchar2
48   ,p_insurance_expiry_date        in     date
49   ,p_comments                     in     varchar2
50   ,p_vre_attribute_category       in     varchar2
51   ,p_vre_attribute1               in     varchar2
52   ,p_vre_attribute2               in     varchar2
53   ,p_vre_attribute3               in     varchar2
54   ,p_vre_attribute4               in     varchar2
55   ,p_vre_attribute5               in     varchar2
56   ,p_vre_attribute6               in     varchar2
57   ,p_vre_attribute7               in     varchar2
58   ,p_vre_attribute8               in     varchar2
59   ,p_vre_attribute9               in     varchar2
60   ,p_vre_attribute10              in     varchar2
61   ,p_vre_attribute11              in     varchar2
62   ,p_vre_attribute12              in     varchar2
63   ,p_vre_attribute13              in     varchar2
64   ,p_vre_attribute14              in     varchar2
65   ,p_vre_attribute15              in     varchar2
66   ,p_vre_attribute16              in     varchar2
67   ,p_vre_attribute17              in     varchar2
68   ,p_vre_attribute18              in     varchar2
69   ,p_vre_attribute19              in     varchar2
70   ,p_vre_attribute20              in     varchar2
71   ,p_vre_information_category     in     varchar2
72   ,p_vre_information1             in     varchar2
73   ,p_vre_information2             in     varchar2
74   ,p_vre_information3             in     varchar2
75   ,p_vre_information4             in     varchar2
76   ,p_vre_information5             in     varchar2
77   ,p_vre_information6             in     varchar2
78   ,p_vre_information7             in     varchar2
79   ,p_vre_information8             in     varchar2
80   ,p_vre_information9             in     varchar2
81   ,p_vre_information10            in     varchar2
82   ,p_vre_information11            in     varchar2
83   ,p_vre_information12            in     varchar2
84   ,p_vre_information13            in     varchar2
85   ,p_vre_information14            in     varchar2
86   ,p_vre_information15            in     varchar2
87   ,p_vre_information16            in     varchar2
88   ,p_vre_information17            in     varchar2
89   ,p_vre_information18            in     varchar2
90   ,p_vre_information19            in     varchar2
91   ,p_vre_information20            in     varchar2
92   ,p_vehicle_repository_id        in     number
93   ,p_object_version_number           out nocopy number
94   ,p_effective_start_date            out nocopy date
95   ,p_effective_end_date              out nocopy date
96   ,p_return_status                   out nocopy varchar2
97   ) is
98   --
99   -- Variables for API Boolean parameters
100   l_validate                      boolean;
101   --
102   ---
103  CURSOR c_fiscal_uom IS
104    SELECT hrl.lookup_code
105      FROM hr_lookups hrl
106     WHERE lookup_type = 'PQP_FISCAL_RATINGS_UOM'
107       AND enabled_flag    = 'Y';
108 
109 
110 
111 ---
112 
113   -- Variables for IN/OUT parameters
114   --
115   -- Other variables
116   l_vehicle_repository_id        number;
117   l_proc    varchar2(72) := g_package ||'create_vehicle';
118   l_lookup_code         hr_lookups.lookup_code%TYPE;
119   l_leg_code            pqp_configuration_values.legislation_code%TYPE;
120 
121 Begin
122   hr_utility.set_location(' Entering:' || l_proc,10);
123   --
124   Begin
125 
126    --Getting the legislationId for business groupId
127    l_leg_code :=
128                   pqp_vre_bus.get_legislation_code(p_business_group_id);
129    --setting the lg context
130    hr_api.set_legislation_context(l_leg_code);
131    OPEN c_fiscal_uom;
132    FETCH c_fiscal_uom INTO  l_lookup_code;
133    CLOSE c_fiscal_uom;
134  EXCEPTION
135  WHEN no_data_found THEN
136   l_lookup_code := NULL;
137  End ;
138   -- Issue a savepoint
139   --
140   savepoint create_vehicle_swi;
141   --
142   -- Initialise Multiple Message Detection
143   --
144   hr_multi_message.enable_message_list;
145   --
146   -- Remember IN OUT parameter IN values
147   --
148   --
149   -- Convert constant values to their corresponding boolean value
150   --
151   l_validate :=
152     hr_api.constant_to_boolean
153       (p_constant_value => p_validate);
154   --
155   -- Register Surrogate ID or user key values
156   --
157   pqp_vre_ins.set_base_key_value
158     (p_vehicle_repository_id => p_vehicle_repository_id
159     );
160   --
161   -- Call API
162   --
163   pqp_vehicle_repository_api.create_vehicle
164     (p_validate                     => l_validate
165     ,p_effective_date               => p_effective_date
166     ,p_registration_number          => p_registration_number
167     ,p_vehicle_type                 => p_vehicle_type
168     ,p_vehicle_id_number            => p_vehicle_id_number
169     ,p_business_group_id            => p_business_group_id
170     ,p_make                         => p_make
171     ,p_engine_capacity_in_cc        => p_engine_capacity_in_cc
172     ,p_fuel_type                    => p_fuel_type
173     ,p_currency_code                => p_currency_code
174     ,p_vehicle_status               => p_vehicle_status
175     ,p_vehicle_inactivity_reason    => p_vehicle_inactivity_reason
176     ,p_model                        => p_model
177     ,p_initial_registration         => p_initial_registration
178     ,p_last_registration_renew_date => p_last_registration_renew_date
179     ,p_list_price                   => p_list_price
180     ,p_accessory_value_at_startdate => p_accessory_value_at_startdate
181     ,p_accessory_value_added_later  => p_accessory_value_added_later
182     ,p_market_value_classic_car     => p_market_value_classic_car
183     ,p_fiscal_ratings               => p_fiscal_ratings
184     ,p_fiscal_ratings_uom           => l_lookup_code --p_fiscal_ratings_uom
185     ,p_vehicle_provider             => p_vehicle_provider
186     ,p_vehicle_ownership            => p_vehicle_ownership
187     ,p_shared_vehicle               => p_shared_vehicle
188     ,p_asset_number                 => p_asset_number
189     ,p_lease_contract_number        => p_lease_contract_number
190     ,p_lease_contract_expiry_date   => p_lease_contract_expiry_date
191     ,p_taxation_method              => p_taxation_method
192     ,p_fleet_info                   => p_fleet_info
193     ,p_fleet_transfer_date          => p_fleet_transfer_date
194     ,p_color                        => p_color
195     ,p_seating_capacity             => p_seating_capacity
196     ,p_weight                       => p_weight
197     ,p_weight_uom                   => p_weight_uom
198     ,p_model_year                   => p_model_year
199     ,p_insurance_number             => p_insurance_number
200     ,p_insurance_expiry_date        => p_insurance_expiry_date
201     ,p_comments                     => p_comments
202     ,p_vre_attribute_category       => p_vre_attribute_category
203     ,p_vre_attribute1               => p_vre_attribute1
204     ,p_vre_attribute2               => p_vre_attribute2
205     ,p_vre_attribute3               => p_vre_attribute3
206     ,p_vre_attribute4               => p_vre_attribute4
207     ,p_vre_attribute5               => p_vre_attribute5
208     ,p_vre_attribute6               => p_vre_attribute6
209     ,p_vre_attribute7               => p_vre_attribute7
210     ,p_vre_attribute8               => p_vre_attribute8
211     ,p_vre_attribute9               => p_vre_attribute9
212     ,p_vre_attribute10              => p_vre_attribute10
213     ,p_vre_attribute11              => p_vre_attribute11
214     ,p_vre_attribute12              => p_vre_attribute12
215     ,p_vre_attribute13              => p_vre_attribute13
216     ,p_vre_attribute14              => p_vre_attribute14
217     ,p_vre_attribute15              => p_vre_attribute15
218     ,p_vre_attribute16              => p_vre_attribute16
219     ,p_vre_attribute17              => p_vre_attribute17
220     ,p_vre_attribute18              => p_vre_attribute18
221     ,p_vre_attribute19              => p_vre_attribute19
222     ,p_vre_attribute20              => p_vre_attribute20
223     ,p_vre_information_category     => p_vre_information_category
224     ,p_vre_information1             => p_vre_information1
225     ,p_vre_information2             => p_vre_information2
226     ,p_vre_information3             => p_vre_information3
227     ,p_vre_information4             => p_vre_information4
228     ,p_vre_information5             => p_vre_information5
229     ,p_vre_information6             => p_vre_information6
230     ,p_vre_information7             => p_vre_information7
231     ,p_vre_information8             => p_vre_information8
232     ,p_vre_information9             => p_vre_information9
233     ,p_vre_information10            => p_vre_information10
234     ,p_vre_information11            => p_vre_information11
235     ,p_vre_information12            => p_vre_information12
236     ,p_vre_information13            => p_vre_information13
237     ,p_vre_information14            => p_vre_information14
238     ,p_vre_information15            => p_vre_information15
239     ,p_vre_information16            => p_vre_information16
240     ,p_vre_information17            => p_vre_information17
241     ,p_vre_information18            => p_vre_information18
242     ,p_vre_information19            => p_vre_information19
243     ,p_vre_information20            => p_vre_information20
244     ,p_vehicle_repository_id        => l_vehicle_repository_id
245     ,p_object_version_number        => p_object_version_number
246     ,p_effective_start_date         => p_effective_start_date
247     ,p_effective_end_date           => p_effective_end_date
248     );
249   --
250   -- Convert API warning boolean parameter values to specific
251   -- messages and add them to Multiple Message List
252   --
253   --
254   -- Convert API non-warning boolean parameter values
255   --
256   --
257   -- Derive the API return status value based on whether
258   -- messages of any type exist in the Multiple Message List.
259   -- Also disable Multiple Message Detection.
260   --
261   p_return_status := hr_multi_message.get_return_status_disable;
262   hr_utility.set_location(' Leaving:' || l_proc,20);
263   --
264 exception
265   when hr_multi_message.error_message_exist then
266     --
267     -- Catch the Multiple Message List exception which
268     -- indicates API processing has been aborted because
269     -- at least one message exists in the list.
270     --
271     rollback to create_vehicle_swi;
272     --
273     -- Reset IN OUT parameters and set OUT parameters
274     --
275     p_object_version_number        := null;
276     p_effective_start_date         := null;
277     p_effective_end_date           := null;
278     p_return_status := hr_multi_message.get_return_status_disable;
279     hr_utility.set_location(' Leaving:' || l_proc, 30);
280   when others then
281     --
282     -- When Multiple Message Detection is enabled catch
283     -- any Application specific or other unexpected
284     -- exceptions.  Adding appropriate details to the
285     -- Multiple Message List.  Otherwise re-raise the
286     -- error.
287     --
288     rollback to create_vehicle_swi;
289     if hr_multi_message.unexpected_error_add(l_proc) then
290        hr_utility.set_location(' Leaving:' || l_proc,40);
291        raise;
292     end if;
293     --
294     -- Reset IN OUT and set OUT parameters
295     --
296     p_object_version_number        := null;
297     p_effective_start_date         := null;
298     p_effective_end_date           := null;
299     p_return_status := hr_multi_message.get_return_status_disable;
300     hr_utility.set_location(' Leaving:' || l_proc,50);
301     raise;
302 end create_vehicle;
303 -- ----------------------------------------------------------------------------
304 -- |----------------------------< delete_vehicle >----------------------------|
305 -- ----------------------------------------------------------------------------
306 PROCEDURE delete_vehicle
307   (p_validate                     in     number
308   ,p_effective_date               in     date
309   ,p_datetrack_mode               in     varchar2
310   ,p_vehicle_repository_id        in     number
311   ,p_object_version_number        in out nocopy number
312   ,p_effective_start_date            out nocopy date
313   ,p_effective_end_date              out nocopy date
314   ,p_return_status                   out nocopy varchar2
315   ) is
316   --
317   -- Variables for API Boolean parameters
318   l_validate                      boolean;
319   --
320   -- Variables for IN/OUT parameters
321   l_object_version_number         number;
322   --
323   -- Other variables
324   l_proc    varchar2(72) := g_package ||'delete_vehicle';
325 Begin
326   hr_utility.set_location(' Entering:' || l_proc,10);
327   --
328   -- Issue a savepoint
329   --
330   savepoint delete_vehicle_swi;
331   --
332   -- Initialise Multiple Message Detection
333   --
334   hr_multi_message.enable_message_list;
335   --
336   -- Remember IN OUT parameter IN values
337   --
338   l_object_version_number         := p_object_version_number;
339   --
340   -- Convert constant values to their corresponding boolean value
341   --
342   l_validate :=
343     hr_api.constant_to_boolean
344       (p_constant_value => p_validate);
345   --
346   -- Register Surrogate ID or user key values
347   --
348   --
349   -- Call API
350   --
351   pqp_vehicle_repository_api.delete_vehicle
352     (p_validate                     => l_validate
353     ,p_effective_date               => p_effective_date
354     ,p_datetrack_mode               => p_datetrack_mode
355     ,p_vehicle_repository_id        => p_vehicle_repository_id
356     ,p_object_version_number        => p_object_version_number
357     ,p_effective_start_date         => p_effective_start_date
358     ,p_effective_end_date           => p_effective_end_date
359     );
360   --
361   -- Convert API warning boolean parameter values to specific
362   -- messages and add them to Multiple Message List
363   --
364   --
368   -- Derive the API return status value based on whether
365   -- Convert API non-warning boolean parameter values
366   --
367   --
369   -- messages of any type exist in the Multiple Message List.
370   -- Also disable Multiple Message Detection.
371   --
372   p_return_status := hr_multi_message.get_return_status_disable;
373   hr_utility.set_location(' Leaving:' || l_proc,20);
374   --
375 exception
376   when hr_multi_message.error_message_exist then
377     --
378     -- Catch the Multiple Message List exception which
379     -- indicates API processing has been aborted because
380     -- at least one message exists in the list.
381     --
382     rollback to delete_vehicle_swi;
383     --
384     -- Reset IN OUT parameters and set OUT parameters
385     --
386     p_object_version_number        := l_object_version_number;
387     p_effective_start_date         := null;
388     p_effective_end_date           := null;
389     p_return_status := hr_multi_message.get_return_status_disable;
390     hr_utility.set_location(' Leaving:' || l_proc, 30);
391   when others then
392     --
393     -- When Multiple Message Detection is enabled catch
394     -- any Application specific or other unexpected
395     -- exceptions.  Adding appropriate details to the
396     -- Multiple Message List.  Otherwise re-raise the
397     -- error.
398     --
399     rollback to delete_vehicle_swi;
400     if hr_multi_message.unexpected_error_add(l_proc) then
401        hr_utility.set_location(' Leaving:' || l_proc,40);
402        raise;
403     end if;
404     --
405     -- Reset IN OUT and set OUT parameters
406     --
407     p_object_version_number        := l_object_version_number;
408     p_effective_start_date         := null;
409     p_effective_end_date           := null;
410     p_return_status := hr_multi_message.get_return_status_disable;
411     hr_utility.set_location(' Leaving:' || l_proc,50);
412      raise;
413 end delete_vehicle;
414 -- ----------------------------------------------------------------------------
415 -- |----------------------------< update_vehicle >----------------------------|
416 -- ----------------------------------------------------------------------------
417 PROCEDURE update_vehicle
418   (p_validate                     in     number
419   ,p_effective_date               in     date
420   ,p_datetrack_mode               in     varchar2
421   ,p_vehicle_repository_id        in     number
422   ,p_object_version_number        in out nocopy number
423   ,p_registration_number          in     varchar2
424   ,p_vehicle_type                 in     varchar2
425   ,p_vehicle_id_number            in     varchar2
426   ,p_business_group_id            in     number
427   ,p_make                         in     varchar2
428   ,p_engine_capacity_in_cc        in     number
429   ,p_fuel_type                    in     varchar2
430   ,p_currency_code                in     varchar2
431   ,p_vehicle_status               in     varchar2
432   ,p_vehicle_inactivity_reason    in     varchar2
433   ,p_model                        in     varchar2
434   ,p_initial_registration         in     date
435   ,p_last_registration_renew_date in     date
436   ,p_list_price                   in     number
437   ,p_accessory_value_at_startdate in     number
438   ,p_accessory_value_added_later  in     number
439   ,p_market_value_classic_car     in     number
440   ,p_fiscal_ratings               in     number
441   ,p_fiscal_ratings_uom           in     varchar2
442   ,p_vehicle_provider             in     varchar2
443   ,p_vehicle_ownership            in     varchar2
444   ,p_shared_vehicle               in     varchar2
445   ,p_asset_number                 in     varchar2
446   ,p_lease_contract_number        in     varchar2
447   ,p_lease_contract_expiry_date   in     date
448   ,p_taxation_method              in     varchar2
449   ,p_fleet_info                   in     varchar2
450   ,p_fleet_transfer_date          in     date
451   ,p_color                        in     varchar2
452   ,p_seating_capacity             in     number
453   ,p_weight                       in     number
454   ,p_weight_uom                   in     varchar2
455   ,p_model_year                   in     number
456   ,p_insurance_number             in     varchar2
457   ,p_insurance_expiry_date        in     date
458   ,p_comments                     in     varchar2
459   ,p_vre_attribute_category       in     varchar2
460   ,p_vre_attribute1               in     varchar2
461   ,p_vre_attribute2               in     varchar2
462   ,p_vre_attribute3               in     varchar2
463   ,p_vre_attribute4               in     varchar2
464   ,p_vre_attribute5               in     varchar2
465   ,p_vre_attribute6               in     varchar2
466   ,p_vre_attribute7               in     varchar2
467   ,p_vre_attribute8               in     varchar2
468   ,p_vre_attribute9               in     varchar2
469   ,p_vre_attribute10              in     varchar2
470   ,p_vre_attribute11              in     varchar2
471   ,p_vre_attribute12              in     varchar2
472   ,p_vre_attribute13              in     varchar2
473   ,p_vre_attribute14              in     varchar2
474   ,p_vre_attribute15              in     varchar2
475   ,p_vre_attribute16              in     varchar2
476   ,p_vre_attribute17              in     varchar2
477   ,p_vre_attribute18              in     varchar2
478   ,p_vre_attribute19              in     varchar2
482   ,p_vre_information2             in     varchar2
479   ,p_vre_attribute20              in     varchar2
480   ,p_vre_information_category     in     varchar2
481   ,p_vre_information1             in     varchar2
483   ,p_vre_information3             in     varchar2
484   ,p_vre_information4             in     varchar2
485   ,p_vre_information5             in     varchar2
486   ,p_vre_information6             in     varchar2
487   ,p_vre_information7             in     varchar2
488   ,p_vre_information8             in     varchar2
489   ,p_vre_information9             in     varchar2
490   ,p_vre_information10            in     varchar2
491   ,p_vre_information11            in     varchar2
492   ,p_vre_information12            in     varchar2
493   ,p_vre_information13            in     varchar2
494   ,p_vre_information14            in     varchar2
495   ,p_vre_information15            in     varchar2
496   ,p_vre_information16            in     varchar2
497   ,p_vre_information17            in     varchar2
498   ,p_vre_information18            in     varchar2
499   ,p_vre_information19            in     varchar2
500   ,p_vre_information20            in     varchar2
501   ,p_effective_start_date            out nocopy date
502   ,p_effective_end_date              out nocopy date
503   ,p_return_status                   out nocopy varchar2
504   ) is
505   --
506   -- Variables for API Boolean parameters
507   l_validate                      boolean;
508   --
509   -- Variables for IN/OUT parameters
510   l_object_version_number         number;
511   --
512   -- Other variables
513   l_proc    varchar2(72) := g_package ||'update_vehicle';
514 Begin
515   hr_utility.set_location(' Entering:' || l_proc,10);
516   --
517   -- Issue a savepoint
518   --
519   savepoint update_vehicle_swi;
520   --
521   -- Initialise Multiple Message Detection
522   --
523   hr_multi_message.enable_message_list;
524   --
525   -- Remember IN OUT parameter IN values
526   --
527   l_object_version_number         := p_object_version_number;
528   --
529   -- Convert constant values to their corresponding boolean value
530   --
531   l_validate :=
532     hr_api.constant_to_boolean
533       (p_constant_value => p_validate);
534   --
535   -- Register Surrogate ID or user key values
536   --
537   --
538   -- Call API
539   --
540   pqp_vehicle_repository_api.update_vehicle
541     (p_validate                     => l_validate
542     ,p_effective_date               => p_effective_date
543     ,p_datetrack_mode               => p_datetrack_mode
544     ,p_vehicle_repository_id        => p_vehicle_repository_id
545     ,p_object_version_number        => p_object_version_number
546     ,p_registration_number          => p_registration_number
547     ,p_vehicle_type                 => p_vehicle_type
548     ,p_vehicle_id_number            => p_vehicle_id_number
549     ,p_business_group_id            => p_business_group_id
550     ,p_make                         => p_make
551     ,p_engine_capacity_in_cc        => p_engine_capacity_in_cc
552     ,p_fuel_type                    => p_fuel_type
553     ,p_currency_code                => p_currency_code
554     ,p_vehicle_status               => p_vehicle_status
555     ,p_vehicle_inactivity_reason    => p_vehicle_inactivity_reason
556     ,p_model                        => p_model
557     ,p_initial_registration         => p_initial_registration
558     ,p_last_registration_renew_date => p_last_registration_renew_date
559     ,p_list_price                   => p_list_price
560     ,p_accessory_value_at_startdate => p_accessory_value_at_startdate
561     ,p_accessory_value_added_later  => p_accessory_value_added_later
562     ,p_market_value_classic_car     => p_market_value_classic_car
563     ,p_fiscal_ratings               => p_fiscal_ratings
564     ,p_fiscal_ratings_uom           => p_fiscal_ratings_uom
565     ,p_vehicle_provider             => p_vehicle_provider
566     ,p_vehicle_ownership            => p_vehicle_ownership
567     ,p_shared_vehicle               => p_shared_vehicle
568     ,p_asset_number                 => p_asset_number
569     ,p_lease_contract_number        => p_lease_contract_number
570     ,p_lease_contract_expiry_date   => p_lease_contract_expiry_date
571     ,p_taxation_method              => p_taxation_method
572     ,p_fleet_info                   => p_fleet_info
573     ,p_fleet_transfer_date          => p_fleet_transfer_date
574     ,p_color                        => p_color
575     ,p_seating_capacity             => p_seating_capacity
576     ,p_weight                       => p_weight
577     ,p_weight_uom                   => p_weight_uom
578     ,p_model_year                   => p_model_year
579     ,p_insurance_number             => p_insurance_number
580     ,p_insurance_expiry_date        => p_insurance_expiry_date
581     ,p_comments                     => p_comments
582     ,p_vre_attribute_category       => p_vre_attribute_category
583     ,p_vre_attribute1               => p_vre_attribute1
584     ,p_vre_attribute2               => p_vre_attribute2
585     ,p_vre_attribute3               => p_vre_attribute3
586     ,p_vre_attribute4               => p_vre_attribute4
587     ,p_vre_attribute5               => p_vre_attribute5
591     ,p_vre_attribute9               => p_vre_attribute9
588     ,p_vre_attribute6               => p_vre_attribute6
589     ,p_vre_attribute7               => p_vre_attribute7
590     ,p_vre_attribute8               => p_vre_attribute8
592     ,p_vre_attribute10              => p_vre_attribute10
593     ,p_vre_attribute11              => p_vre_attribute11
594     ,p_vre_attribute12              => p_vre_attribute12
595     ,p_vre_attribute13              => p_vre_attribute13
596     ,p_vre_attribute14              => p_vre_attribute14
597     ,p_vre_attribute15              => p_vre_attribute15
598     ,p_vre_attribute16              => p_vre_attribute16
599     ,p_vre_attribute17              => p_vre_attribute17
600     ,p_vre_attribute18              => p_vre_attribute18
601     ,p_vre_attribute19              => p_vre_attribute19
602     ,p_vre_attribute20              => p_vre_attribute20
603     ,p_vre_information_category     => p_vre_information_category
604     ,p_vre_information1             => p_vre_information1
605     ,p_vre_information2             => p_vre_information2
606     ,p_vre_information3             => p_vre_information3
607     ,p_vre_information4             => p_vre_information4
608     ,p_vre_information5             => p_vre_information5
609     ,p_vre_information6             => p_vre_information6
610     ,p_vre_information7             => p_vre_information7
611     ,p_vre_information8             => p_vre_information8
612     ,p_vre_information9             => p_vre_information9
613     ,p_vre_information10            => p_vre_information10
614     ,p_vre_information11            => p_vre_information11
615     ,p_vre_information12            => p_vre_information12
616     ,p_vre_information13            => p_vre_information13
617     ,p_vre_information14            => p_vre_information14
618     ,p_vre_information15            => p_vre_information15
619     ,p_vre_information16            => p_vre_information16
620     ,p_vre_information17            => p_vre_information17
621     ,p_vre_information18            => p_vre_information18
622     ,p_vre_information19            => p_vre_information19
623     ,p_vre_information20            => p_vre_information20
624     ,p_effective_start_date         => p_effective_start_date
625     ,p_effective_end_date           => p_effective_end_date
626     );
627   --
628   -- Convert API warning boolean parameter values to specific
629   -- messages and add them to Multiple Message List
630   --
631   --
635   -- Derive the API return status value based on whether
632   -- Convert API non-warning boolean parameter values
633   --
634   --
636   -- messages of any type exist in the Multiple Message List.
637   -- Also disable Multiple Message Detection.
638   --
639   p_return_status := hr_multi_message.get_return_status_disable;
640   hr_utility.set_location(' Leaving:' || l_proc,20);
641   --
642 exception
643   when hr_multi_message.error_message_exist then
644     --
645     -- Catch the Multiple Message List exception which
646     -- indicates API processing has been aborted because
647     -- at least one message exists in the list.
648     --
649     rollback to update_vehicle_swi;
650     --
651     -- Reset IN OUT parameters and set OUT parameters
652     --
653     p_object_version_number        := l_object_version_number;
654     p_effective_start_date         := null;
655     p_effective_end_date           := null;
656     p_return_status := hr_multi_message.get_return_status_disable;
657     hr_utility.set_location(' Leaving:' || l_proc, 30);
658   when others then
659     --
660     -- When Multiple Message Detection is enabled catch
661     -- any Application specific or other unexpected
662     -- exceptions.  Adding appropriate details to the
663     -- Multiple Message List.  Otherwise re-raise the
664     -- error.
665     --
666     rollback to update_vehicle_swi;
667     if hr_multi_message.unexpected_error_add(l_proc) then
668        hr_utility.set_location(' Leaving:' || l_proc,40);
669        raise;
670     end if;
671     --
672     -- Reset IN OUT and set OUT parameters
673     --
674     p_object_version_number        := l_object_version_number;
675     p_effective_start_date         := null;
676     p_effective_end_date           := null;
677     p_return_status := hr_multi_message.get_return_status_disable;
678     hr_utility.set_location(' Leaving:' || l_proc,50);
679     raise;
680 end update_vehicle;
681 end pqp_vehicle_repository_swi;