DBA Data[Home] [Help]

PACKAGE BODY: APPS.PQP_PENSION_TYPES_SWI

Source


1 Package Body PQP_Pension_Types_swi As
2 /* $Header: pqptyswi.pkb 120.0.12000000.1 2007/01/16 04:29:08 appldev noship $ */
3 --
4 -- Package variables
5 --
6 g_package  varchar2(33) := 'pqp_pension_types_swi.';
7 --
8 -- ----------------------------------------------------------------------------
9 -- |--------------------------< Create_Pension_Type >-------------------------|
10 -- ----------------------------------------------------------------------------
11 Procedure Create_Pension_Type
12   (p_validate                     in     number    default hr_api.g_false_num
13   ,p_effective_date               in     date
14   ,p_pension_type_name            in     varchar2
15   ,p_pension_category             in     varchar2
16   ,p_pension_provider_type        in     varchar2  default null
17   ,p_salary_calculation_method    in     varchar2  default null
18   ,p_threshold_conversion_rule    in     varchar2  default null
19   ,p_contribution_conversion_rule in     varchar2  default null
20   ,p_er_annual_limit              in     number    default null
21   ,p_ee_annual_limit              in     number    default null
22   ,p_er_annual_salary_threshold   in     number    default null
23   ,p_ee_annual_salary_threshold   in     number    default null
24   ,p_business_group_id            in     number    default null
25   ,p_legislation_code             in     varchar2  default null
26   ,p_description                  in     varchar2  default null
27   ,p_minimum_age                  in     number    default null
28   ,p_ee_contribution_percent      in     number    default null
29   ,p_maximum_age                  in     number    default null
30   ,p_er_contribution_percent      in     number    default null
31   ,p_ee_annual_contribution       in     number    default null
32   ,p_er_annual_contribution       in     number    default null
33   ,p_annual_premium_amount        in     number    default null
34   ,p_ee_contribution_bal_type_id  in     number    default null
35   ,p_er_contribution_bal_type_id  in     number    default null
39   ,p_pty_attribute_category       in     varchar2  default null
36   ,p_balance_init_element_type_id in     number    default null
37   ,p_ee_contribution_fixed_rate   in     number    default null --added for UK
38   ,p_er_contribution_fixed_rate   in     number    default null --added for UK
40   ,p_pty_attribute1               in     varchar2  default null
41   ,p_pty_attribute2               in     varchar2  default null
42   ,p_pty_attribute3               in     varchar2  default null
43   ,p_pty_attribute4               in     varchar2  default null
44   ,p_pty_attribute5               in     varchar2  default null
45   ,p_pty_attribute6               in     varchar2  default null
46   ,p_pty_attribute7               in     varchar2  default null
47   ,p_pty_attribute8               in     varchar2  default null
48   ,p_pty_attribute9               in     varchar2  default null
49   ,p_pty_attribute10              in     varchar2  default null
50   ,p_pty_attribute11              in     varchar2  default null
51   ,p_pty_attribute12              in     varchar2  default null
52   ,p_pty_attribute13              in     varchar2  default null
53   ,p_pty_attribute14              in     varchar2  default null
54   ,p_pty_attribute15              in     varchar2  default null
55   ,p_pty_attribute16              in     varchar2  default null
56   ,p_pty_attribute17              in     varchar2  default null
57   ,p_pty_attribute18              in     varchar2  default null
58   ,p_pty_attribute19              in     varchar2  default null
59   ,p_pty_attribute20              in     varchar2  default null
60   ,p_pty_information_category     in     varchar2  default null
61   ,p_pty_information1             in     varchar2  default null
62   ,p_pty_information2             in     varchar2  default null
63   ,p_pty_information3             in     varchar2  default null
64   ,p_pty_information4             in     varchar2  default null
65   ,p_pty_information5             in     varchar2  default null
66   ,p_pty_information6             in     varchar2  default null
67   ,p_pty_information7             in     varchar2  default null
68   ,p_pty_information8             in     varchar2  default null
69   ,p_pty_information9             in     varchar2  default null
70   ,p_pty_information10            in     varchar2  default null
71   ,p_pty_information11            in     varchar2  default null
72   ,p_pty_information12            in     varchar2  default null
73   ,p_pty_information13            in     varchar2  default null
74   ,p_pty_information14            in     varchar2  default null
75   ,p_pty_information15            in     varchar2  default null
76   ,p_pty_information16            in     varchar2  default null
77   ,p_pty_information17            in     varchar2  default null
78   ,p_pty_information18            in     varchar2  default null
79   ,p_pty_information19            in     varchar2  default null
80   ,p_pty_information20            in     varchar2  default null
81   ,p_special_pension_type_code    in     varchar2  default null  -- added for NL Phase 2B
82   ,p_pension_sub_category         in     varchar2  default null  -- added for NL Phase 2B
83   ,p_pension_basis_calc_method    in     varchar2  default null  -- added for NL Phase 2B
84   ,p_pension_salary_balance       in     number    default null  -- added for NL Phase 2B
85   ,p_recurring_bonus_percent      in     number    default null  -- added for NL Phase 2B
86   ,p_non_recurring_bonus_percent  in     number    default null  -- added for NL Phase 2B
87   ,p_recurring_bonus_balance      in     number    default null  -- added for NL Phase 2B
88   ,p_non_recurring_bonus_balance  in     number    default null  -- added for NL Phase 2B
89   ,p_std_tax_reduction            in     varchar2  default null  -- added for NL Phase 2B
90   ,p_spl_tax_reduction            in     varchar2  default null  -- added for NL Phase 2B
91   ,p_sig_sal_spl_tax_reduction    in     varchar2  default null  -- added for NL Phase 2B
92   ,p_sig_sal_non_tax_reduction    in     varchar2  default null  -- added for NL Phase 2B
93   ,p_sig_sal_std_tax_reduction    in     varchar2  default null  -- added for NL Phase 2B
94   ,p_sii_std_tax_reduction        in     varchar2  default null  -- added for NL Phase 2B
95   ,p_sii_spl_tax_reduction        in     varchar2  default null  -- added for NL Phase 2B
96   ,p_sii_non_tax_reduction        in     varchar2  default null  -- added for NL Phase 2B
97   ,p_previous_year_bonus_included in     varchar2  default null  -- added for NL Phase 2B
98   ,p_recurring_bonus_period       in     varchar2  default null  -- added for NL Phase 2B
99   ,p_non_recurring_bonus_period   in     varchar2  default null  -- added for NL Phase 2B
100   ,p_ee_age_threshold             in     varchar2  default null  -- added for ABP TAR Fixes
101   ,p_er_age_threshold             in     varchar2  default null  -- added for ABP TAR Fixes
102   ,p_ee_age_contribution          in     varchar2  default null  -- added for ABP TAR Fixes
103   ,p_er_age_contribution          in     varchar2  default null  -- added for ABP TAR Fixes
104   ,p_pension_type_id              out nocopy number
105   ,p_object_version_number           out nocopy number
106   ,p_effective_start_date            out nocopy date
107   ,p_effective_end_date              out nocopy date
108   ,p_api_warning                     out nocopy varchar2
109   ,p_return_status                   out nocopy varchar2
110   ) is
111   --
112   -- Variables for API Boolean parameters
113   l_validate                      boolean;
114   --
115   -- Variables for IN/OUT parameters
116   --
117   -- Other variables
118   l_pension_type_id              number;
119   l_proc    varchar2(72) := g_package ||'create_pension_type';
120 Begin
121 
122   hr_utility.set_location(' Entering:' || l_proc,10);
123 
124   --
125   -- Issue a savepoint
126   --
127   savepoint create_pension_type_swi;
128   --
129   -- Initialise Multiple Message Detection
130   --
134   --
131   hr_multi_message.enable_message_list;
132   --
133   -- Remember IN OUT parameter IN values
135   --
136   -- Convert constant values to their corresponding boolean value
137   --
138   l_validate :=
139     hr_api.constant_to_boolean
140       (p_constant_value => p_validate);
141   --
142   -- Register Surrogate ID or user key values
143   --
144   pqp_pty_ins.set_base_key_value
145     (p_pension_type_id => p_pension_type_id
146     );
147   --
148   -- Call API
149   --
150   pqp_pension_types_api.create_pension_type
151     (p_validate                     => l_validate
152     ,p_effective_date               => p_effective_date
153     ,p_pension_type_name            => p_pension_type_name
154     ,p_pension_category             => p_pension_category
155     ,p_pension_provider_type        => p_pension_provider_type
156     ,p_salary_calculation_method    => p_salary_calculation_method
157     ,p_threshold_conversion_rule    => p_threshold_conversion_rule
158     ,p_contribution_conversion_rule => p_contribution_conversion_rule
159     ,p_er_annual_limit              => p_er_annual_limit
160     ,p_ee_annual_limit              => p_ee_annual_limit
161     ,p_er_annual_salary_threshold   => p_er_annual_salary_threshold
162     ,p_ee_annual_salary_threshold   => p_ee_annual_salary_threshold
163     ,p_business_group_id            => p_business_group_id
164     ,p_legislation_code             => p_legislation_code
165     ,p_description                  => p_description
166     ,p_minimum_age                  => p_minimum_age
167     ,p_ee_contribution_percent      => p_ee_contribution_percent
168     ,p_maximum_age                  => p_maximum_age
169     ,p_er_contribution_percent      => p_er_contribution_percent
170     ,p_ee_annual_contribution       => p_ee_annual_contribution
171     ,p_er_annual_contribution       => p_er_annual_contribution
172     ,p_annual_premium_amount        => p_annual_premium_amount
173     ,p_ee_contribution_bal_type_id  => p_ee_contribution_bal_type_id
174     ,p_er_contribution_bal_type_id  => p_er_contribution_bal_type_id
175     ,p_balance_init_element_type_id => p_balance_init_element_type_id
176     ,p_ee_contribution_fixed_rate   => p_ee_contribution_fixed_rate   --added for UK
177     ,p_er_contribution_fixed_rate   => p_er_contribution_fixed_rate   --added for UK
178     ,p_pty_attribute_category       => p_pty_attribute_category
179     ,p_pty_attribute1               => p_pty_attribute1
180     ,p_pty_attribute2               => p_pty_attribute2
181     ,p_pty_attribute3               => p_pty_attribute3
182     ,p_pty_attribute4               => p_pty_attribute4
183     ,p_pty_attribute5               => p_pty_attribute5
184     ,p_pty_attribute6               => p_pty_attribute6
185     ,p_pty_attribute7               => p_pty_attribute7
186     ,p_pty_attribute8               => p_pty_attribute8
187     ,p_pty_attribute9               => p_pty_attribute9
188     ,p_pty_attribute10              => p_pty_attribute10
189     ,p_pty_attribute11              => p_pty_attribute11
190     ,p_pty_attribute12              => p_pty_attribute12
191     ,p_pty_attribute13              => p_pty_attribute13
192     ,p_pty_attribute14              => p_pty_attribute14
193     ,p_pty_attribute15              => p_pty_attribute15
194     ,p_pty_attribute16              => p_pty_attribute16
195     ,p_pty_attribute17              => p_pty_attribute17
196     ,p_pty_attribute18              => p_pty_attribute18
197     ,p_pty_attribute19              => p_pty_attribute19
198     ,p_pty_attribute20              => p_pty_attribute20
199     ,p_pty_information_category     => p_pty_information_category
200     ,p_pty_information1             => p_pty_information1
201     ,p_pty_information2             => p_pty_information2
202     ,p_pty_information3             => p_pty_information3
203     ,p_pty_information4             => p_pty_information4
204     ,p_pty_information5             => p_pty_information5
205     ,p_pty_information6             => p_pty_information6
206     ,p_pty_information7             => p_pty_information7
207     ,p_pty_information8             => p_pty_information8
208     ,p_pty_information9             => p_pty_information9
209     ,p_pty_information10            => p_pty_information10
210     ,p_pty_information11            => p_pty_information11
211     ,p_pty_information12            => p_pty_information12
212     ,p_pty_information13            => p_pty_information13
213     ,p_pty_information14            => p_pty_information14
214     ,p_pty_information15            => p_pty_information15
215     ,p_pty_information16            => p_pty_information16
216     ,p_pty_information17            => p_pty_information17
217     ,p_pty_information18            => p_pty_information18
218     ,p_pty_information19            => p_pty_information19
219     ,p_pty_information20            => p_pty_information20
220     ,p_special_pension_type_code    => p_special_pension_type_code     -- added for NL Phase 2B
221     ,p_pension_sub_category         => p_pension_sub_category          -- added for NL Phase 2B
222     ,p_pension_basis_calc_method    => p_pension_basis_calc_method     -- added for NL Phase 2B
223     ,p_pension_salary_balance       => p_pension_salary_balance        -- added for NL Phase 2B
224     ,p_recurring_bonus_percent      => p_recurring_bonus_percent       -- added for NL Phase 2B
225     ,p_non_recurring_bonus_percent  => p_non_recurring_bonus_percent   -- added for NL Phase 2B
226     ,p_recurring_bonus_balance      => p_recurring_bonus_balance       -- added for NL Phase 2B
227     ,p_non_recurring_bonus_balance  => p_non_recurring_bonus_balance   -- added for NL Phase 2B
231     ,p_sig_sal_non_tax_reduction    => p_sig_sal_non_tax_reduction     -- added for NL Phase 2B
228     ,p_std_tax_reduction            => p_std_tax_reduction             -- added for NL Phase 2B
229     ,p_spl_tax_reduction            => p_spl_tax_reduction             -- added for NL Phase 2B
230     ,p_sig_sal_spl_tax_reduction    => p_sig_sal_spl_tax_reduction     -- added for NL Phase 2B
232     ,p_sig_sal_std_tax_reduction    => p_sig_sal_std_tax_reduction     -- added for NL Phase 2B
233     ,p_sii_std_tax_reduction        => p_sii_std_tax_reduction         -- added for NL Phase 2B
234     ,p_sii_spl_tax_reduction        => p_sii_spl_tax_reduction         -- added for NL Phase 2B
235     ,p_sii_non_tax_reduction        => p_sii_non_tax_reduction         -- added for NL Phase 2B
236     ,p_previous_year_bonus_included => p_previous_year_bonus_included  -- added for NL Phase 2B
237     ,p_recurring_bonus_period       => p_recurring_bonus_period        -- added for NL Phase 2B
238     ,p_non_recurring_bonus_period   => p_non_recurring_bonus_period    -- added for NL Phase 2B
239     ,p_ee_age_threshold             => p_ee_age_threshold              -- added for ABP TAR Fixes
240     ,p_er_age_threshold             => p_er_age_threshold              -- added for ABP TAR Fixes
241     ,p_ee_age_contribution          => p_ee_age_contribution           -- added for ABP TAR Fixes
242     ,p_er_age_contribution          => p_er_age_contribution           -- added for ABP TAR Fixes
243     ,p_pension_type_id              => p_pension_type_id
244     ,p_object_version_number        => p_object_version_number
245     ,p_effective_start_date         => p_effective_start_date
246     ,p_effective_end_date           => p_effective_end_date
247     ,p_api_warning                  => p_api_warning
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 
263   hr_utility.set_location(' Leaving:' || l_proc,20);
264   --
265 exception
266   when hr_multi_message.error_message_exist then
267     --
268     -- Catch the Multiple Message List exception which
269     -- indicates API processing has been aborted because
270     -- at least one message exists in the list.
271     --
272     rollback to create_pension_type_swi;
273     --
274     -- Reset IN OUT parameters and set OUT parameters
275     --
276     p_object_version_number        := null;
277     p_effective_start_date         := null;
278     p_effective_end_date           := null;
279     p_return_status := hr_multi_message.get_return_status_disable;
280     hr_utility.set_location(' Leaving:' || l_proc, 30);
281   when others then
282     --
283     -- When Multiple Message Detection is enabled catch
284     -- any Application specific or other unexpected
285     -- exceptions.  Adding appropriate details to the
286     -- Multiple Message List.  Otherwise re-raise the
287     -- error.
288     --
289     rollback to create_pension_type_swi;
290     if hr_multi_message.unexpected_error_add(l_proc) then
291        hr_utility.set_location(' Leaving:' || l_proc,40);
292        raise;
293     end if;
294     --
295     -- Reset IN OUT and set OUT parameters
296     --
297     p_object_version_number        := null;
298     p_effective_start_date         := null;
299     p_effective_end_date           := null;
300     p_return_status := hr_multi_message.get_return_status_disable;
301 
302     hr_utility.set_location(' Leaving:' || l_proc,50);
303 
304 End Create_Pension_Type;
305 -- ----------------------------------------------------------------------------
306 -- |--------------------------< Delete_Pension_Type >-------------------------|
307 -- ----------------------------------------------------------------------------
308 Procedure Delete_Pension_Type
309   (p_validate                     in     number    default hr_api.g_false_num
310   ,p_effective_date               in     date
311   ,p_datetrack_mode               in     varchar2
312   ,p_pension_type_id              in     number
313   ,p_object_version_number        in out nocopy number
314   ,p_effective_start_date            out nocopy date
315   ,p_effective_end_date              out nocopy date
316   ,p_return_status                   out nocopy varchar2
317   ,p_api_warning                     out nocopy varchar2
318   ) is
319   --
320   -- Variables for API Boolean parameters
321   l_validate                      boolean;
322   --
323   -- Variables for IN/OUT parameters
324   l_object_version_number         number;
325   --
326   -- Other variables
327   l_proc    varchar2(72) := g_package ||'delete_pension_type';
328 Begin
329   hr_utility.set_location(' Entering:' || l_proc,10);
330   --
331   -- Issue a savepoint
332   --
333   savepoint delete_pension_type_swi;
334   --
335   -- Initialise Multiple Message Detection
336   --
337   hr_multi_message.enable_message_list;
338   --
339   -- Remember IN OUT parameter IN values
340   --
341   l_object_version_number         := p_object_version_number;
342   --
343   -- Convert constant values to their corresponding boolean value
344   --
345   l_validate :=
346     hr_api.constant_to_boolean
347       (p_constant_value => p_validate);
348   --
349   -- Register Surrogate ID or user key values
350   --
351   --
352   -- Call API
353   --
357     ,p_datetrack_mode               => p_datetrack_mode
354   pqp_pension_types_api.delete_pension_type
355     (p_validate                     => l_validate
356     ,p_effective_date               => p_effective_date
358     ,p_pension_type_id              => p_pension_type_id
359     ,p_object_version_number        => p_object_version_number
360     ,p_effective_start_date         => p_effective_start_date
361     ,p_effective_end_date           => p_effective_end_date
362     ,p_api_warning                  => p_api_warning
363     );
364   --
365   -- Convert API warning boolean parameter values to specific
366   -- messages and add them to Multiple Message List
367   --
368   --
369   -- Convert API non-warning boolean parameter values
370   --
371   --
372   -- Derive the API return status value based on whether
373   -- messages of any type exist in the Multiple Message List.
374   -- Also disable Multiple Message Detection.
375   --
376   p_return_status := hr_multi_message.get_return_status_disable;
377   hr_utility.set_location(' Leaving:' || l_proc,20);
378   --
379 exception
380   when hr_multi_message.error_message_exist then
381     --
382     -- Catch the Multiple Message List exception which
383     -- indicates API processing has been aborted because
384     -- at least one message exists in the list.
385     --
386     rollback to delete_pension_type_swi;
387     --
388     -- Reset IN OUT parameters and set OUT parameters
389     --
390     p_object_version_number        := l_object_version_number;
391     p_effective_start_date         := null;
392     p_effective_end_date           := null;
393     p_return_status := hr_multi_message.get_return_status_disable;
394     hr_utility.set_location(' Leaving:' || l_proc, 30);
395   when others then
396     --
397     -- When Multiple Message Detection is enabled catch
398     -- any Application specific or other unexpected
399     -- exceptions.  Adding appropriate details to the
400     -- Multiple Message List.  Otherwise re-raise the
401     -- error.
402     --
403     rollback to delete_pension_type_swi;
404     if hr_multi_message.unexpected_error_add(l_proc) then
405        hr_utility.set_location(' Leaving:' || l_proc,40);
406        raise;
407     end if;
408     --
409     -- Reset IN OUT and set OUT parameters
410     --
411     p_object_version_number        := l_object_version_number;
412     p_effective_start_date         := null;
413     p_effective_end_date           := null;
414     p_return_status := hr_multi_message.get_return_status_disable;
415     hr_utility.set_location(' Leaving:' || l_proc,50);
416 End Delete_Pension_Type;
417 -- ----------------------------------------------------------------------------
418 -- |--------------------------< Update_Pension_Type >-------------------------|
419 -- ----------------------------------------------------------------------------
420 Procedure Update_Pension_Type
421   (p_validate                     in     number    default hr_api.g_false_num
422   ,p_effective_date               in     date
423   ,p_datetrack_mode               in     varchar2
424   ,p_pension_type_id              in     number
425   ,p_object_version_number        in out nocopy number
426   ,p_pension_type_name            in     varchar2  default hr_api.g_varchar2
427   ,p_pension_category             in     varchar2  default hr_api.g_varchar2
428   ,p_pension_provider_type        in     varchar2  default hr_api.g_varchar2
429   ,p_salary_calculation_method    in     varchar2  default hr_api.g_varchar2
430   ,p_threshold_conversion_rule    in     varchar2  default hr_api.g_varchar2
431   ,p_contribution_conversion_rule in     varchar2  default hr_api.g_varchar2
432   ,p_er_annual_limit              in     number    default hr_api.g_number
433   ,p_ee_annual_limit              in     number    default hr_api.g_number
434   ,p_er_annual_salary_threshold   in     number    default hr_api.g_number
435   ,p_ee_annual_salary_threshold   in     number    default hr_api.g_number
436   ,p_business_group_id            in     number    default hr_api.g_number
437   ,p_legislation_code             in     varchar2  default hr_api.g_varchar2
438   ,p_description                  in     varchar2  default hr_api.g_varchar2
439   ,p_minimum_age                  in     number    default hr_api.g_number
440   ,p_ee_contribution_percent      in     number    default hr_api.g_number
441   ,p_maximum_age                  in     number    default hr_api.g_number
442   ,p_er_contribution_percent      in     number    default hr_api.g_number
443   ,p_ee_annual_contribution       in     number    default hr_api.g_number
444   ,p_er_annual_contribution       in     number    default hr_api.g_number
445   ,p_annual_premium_amount        in     number    default hr_api.g_number
446   ,p_ee_contribution_bal_type_id  in     number    default hr_api.g_number
447   ,p_er_contribution_bal_type_id  in     number    default hr_api.g_number
448   ,p_balance_init_element_type_id in     number    default hr_api.g_number
449   ,p_ee_contribution_fixed_rate   in     number    default hr_api.g_number --added for UK
450   ,p_er_contribution_fixed_rate   in     number    default hr_api.g_number --added for UK
451   ,p_pty_attribute_category       in     varchar2  default hr_api.g_varchar2
452   ,p_pty_attribute1               in     varchar2  default hr_api.g_varchar2
453   ,p_pty_attribute2               in     varchar2  default hr_api.g_varchar2
454   ,p_pty_attribute3               in     varchar2  default hr_api.g_varchar2
455   ,p_pty_attribute4               in     varchar2  default hr_api.g_varchar2
456   ,p_pty_attribute5               in     varchar2  default hr_api.g_varchar2
457   ,p_pty_attribute6               in     varchar2  default hr_api.g_varchar2
458   ,p_pty_attribute7               in     varchar2  default hr_api.g_varchar2
459   ,p_pty_attribute8               in     varchar2  default hr_api.g_varchar2
463   ,p_pty_attribute12              in     varchar2  default hr_api.g_varchar2
460   ,p_pty_attribute9               in     varchar2  default hr_api.g_varchar2
461   ,p_pty_attribute10              in     varchar2  default hr_api.g_varchar2
462   ,p_pty_attribute11              in     varchar2  default hr_api.g_varchar2
464   ,p_pty_attribute13              in     varchar2  default hr_api.g_varchar2
465   ,p_pty_attribute14              in     varchar2  default hr_api.g_varchar2
466   ,p_pty_attribute15              in     varchar2  default hr_api.g_varchar2
467   ,p_pty_attribute16              in     varchar2  default hr_api.g_varchar2
468   ,p_pty_attribute17              in     varchar2  default hr_api.g_varchar2
469   ,p_pty_attribute18              in     varchar2  default hr_api.g_varchar2
470   ,p_pty_attribute19              in     varchar2  default hr_api.g_varchar2
471   ,p_pty_attribute20              in     varchar2  default hr_api.g_varchar2
472   ,p_pty_information_category     in     varchar2  default hr_api.g_varchar2
473   ,p_pty_information1             in     varchar2  default hr_api.g_varchar2
474   ,p_pty_information2             in     varchar2  default hr_api.g_varchar2
475   ,p_pty_information3             in     varchar2  default hr_api.g_varchar2
476   ,p_pty_information4             in     varchar2  default hr_api.g_varchar2
477   ,p_pty_information5             in     varchar2  default hr_api.g_varchar2
478   ,p_pty_information6             in     varchar2  default hr_api.g_varchar2
479   ,p_pty_information7             in     varchar2  default hr_api.g_varchar2
480   ,p_pty_information8             in     varchar2  default hr_api.g_varchar2
481   ,p_pty_information9             in     varchar2  default hr_api.g_varchar2
482   ,p_pty_information10            in     varchar2  default hr_api.g_varchar2
483   ,p_pty_information11            in     varchar2  default hr_api.g_varchar2
484   ,p_pty_information12            in     varchar2  default hr_api.g_varchar2
485   ,p_pty_information13            in     varchar2  default hr_api.g_varchar2
486   ,p_pty_information14            in     varchar2  default hr_api.g_varchar2
487   ,p_pty_information15            in     varchar2  default hr_api.g_varchar2
488   ,p_pty_information16            in     varchar2  default hr_api.g_varchar2
489   ,p_pty_information17            in     varchar2  default hr_api.g_varchar2
490   ,p_pty_information18            in     varchar2  default hr_api.g_varchar2
491   ,p_pty_information19            in     varchar2  default hr_api.g_varchar2
492   ,p_pty_information20            in     varchar2  default hr_api.g_varchar2
493   ,p_special_pension_type_code    in     varchar2  default hr_api.g_varchar2  -- added for NL Phase 2B
494   ,p_pension_sub_category         in     varchar2  default hr_api.g_varchar2  -- added for NL Phase 2B
495   ,p_pension_basis_calc_method    in     varchar2  default hr_api.g_varchar2  -- added for NL Phase 2B
496   ,p_pension_salary_balance       in     number    default hr_api.g_number    -- added for NL Phase 2B
497   ,p_recurring_bonus_percent      in     number    default hr_api.g_number    -- added for NL Phase 2B
498   ,p_non_recurring_bonus_percent  in     number    default hr_api.g_number    -- added for NL Phase 2B
499   ,p_recurring_bonus_balance      in     number    default hr_api.g_number    -- added for NL Phase 2B
500   ,p_non_recurring_bonus_balance  in     number    default hr_api.g_number    -- added for NL Phase 2B
501   ,p_std_tax_reduction            in     varchar2  default hr_api.g_varchar2  -- added for NL Phase 2B
502   ,p_spl_tax_reduction            in     varchar2  default hr_api.g_varchar2  -- added for NL Phase 2B
503   ,p_sig_sal_spl_tax_reduction    in     varchar2  default hr_api.g_varchar2  -- added for NL Phase 2B
504   ,p_sig_sal_non_tax_reduction    in     varchar2  default hr_api.g_varchar2  -- added for NL Phase 2B
505   ,p_sig_sal_std_tax_reduction    in     varchar2  default hr_api.g_varchar2  -- added for NL Phase 2B
506   ,p_sii_std_tax_reduction        in     varchar2  default hr_api.g_varchar2  -- added for NL Phase 2B
507   ,p_sii_spl_tax_reduction        in     varchar2  default hr_api.g_varchar2  -- added for NL Phase 2B
508   ,p_sii_non_tax_reduction        in     varchar2  default hr_api.g_varchar2  -- added for NL Phase 2B
509   ,p_previous_year_bonus_included in     varchar2  default hr_api.g_varchar2  -- added for NL Phase 2B
510   ,p_recurring_bonus_period       in     varchar2  default hr_api.g_varchar2  -- added for NL Phase 2B
511   ,p_non_recurring_bonus_period   in     varchar2  default hr_api.g_varchar2  -- added for NL Phase 2B
512   ,p_ee_age_threshold             in     varchar2  default hr_api.g_varchar2  -- added for ABP TAR Fixes
513   ,p_er_age_threshold             in     varchar2  default hr_api.g_varchar2  -- added for ABP TAR Fixes
514   ,p_ee_age_contribution          in     varchar2  default hr_api.g_varchar2  -- added for ABP TAR Fixes
515   ,p_er_age_contribution          in     varchar2  default hr_api.g_varchar2  -- added for ABP TAR Fixes
516   ,p_effective_start_date            out nocopy date
517   ,p_effective_end_date              out nocopy date
518   ,p_return_status                   out nocopy varchar2
519   ,p_api_warning                     out nocopy varchar2
520   ) is
521   --
522   -- Variables for API Boolean parameters
523   l_validate                      boolean;
524   --
525   -- Variables for IN/OUT parameters
526   l_object_version_number         number;
527   --
528   -- Other variables
529   l_proc    varchar2(72) := g_package ||'update_pension_type';
530 Begin
531   hr_utility.set_location(' Entering:' || l_proc,10);
532   --
533   -- Issue a savepoint
534   --
535   savepoint update_pension_type_swi;
536   --
537   -- Initialise Multiple Message Detection
538   --
539   hr_multi_message.enable_message_list;
540   --
541   -- Remember IN OUT parameter IN values
542   --
543   l_object_version_number         := p_object_version_number;
544   --
545   -- Convert constant values to their corresponding boolean value
546   --
547   l_validate :=
548     hr_api.constant_to_boolean
552   --
549       (p_constant_value => p_validate);
550   --
551   -- Register Surrogate ID or user key values
553   --
554   -- Call API
555   --
556   pqp_pension_types_api.update_pension_type
557     (p_validate                     => l_validate
558     ,p_effective_date               => p_effective_date
559     ,p_datetrack_mode               => p_datetrack_mode
560     ,p_pension_type_id              => p_pension_type_id
561     ,p_object_version_number        => p_object_version_number
562     ,p_pension_type_name            => p_pension_type_name
563     ,p_pension_category             => p_pension_category
564     ,p_pension_provider_type        => p_pension_provider_type
565     ,p_salary_calculation_method    => p_salary_calculation_method
566     ,p_threshold_conversion_rule    => p_threshold_conversion_rule
567     ,p_contribution_conversion_rule => p_contribution_conversion_rule
568     ,p_er_annual_limit              => p_er_annual_limit
569     ,p_ee_annual_limit              => p_ee_annual_limit
570     ,p_er_annual_salary_threshold   => p_er_annual_salary_threshold
571     ,p_ee_annual_salary_threshold   => p_ee_annual_salary_threshold
572     ,p_business_group_id            => p_business_group_id
573     ,p_legislation_code             => p_legislation_code
574     ,p_description                  => p_description
575     ,p_minimum_age                  => p_minimum_age
576     ,p_ee_contribution_percent      => p_ee_contribution_percent
577     ,p_maximum_age                  => p_maximum_age
578     ,p_er_contribution_percent      => p_er_contribution_percent
579     ,p_ee_annual_contribution       => p_ee_annual_contribution
580     ,p_er_annual_contribution       => p_er_annual_contribution
581     ,p_annual_premium_amount        => p_annual_premium_amount
582     ,p_ee_contribution_bal_type_id  => p_ee_contribution_bal_type_id
583     ,p_er_contribution_bal_type_id  => p_er_contribution_bal_type_id
584     ,p_balance_init_element_type_id => p_balance_init_element_type_id
585     ,p_ee_contribution_fixed_rate   => p_ee_contribution_fixed_rate   --added for UK
586     ,p_er_contribution_fixed_rate   => p_er_contribution_fixed_rate   --added for UK
587     ,p_pty_attribute_category       => p_pty_attribute_category
588     ,p_pty_attribute1               => p_pty_attribute1
589     ,p_pty_attribute2               => p_pty_attribute2
590     ,p_pty_attribute3               => p_pty_attribute3
591     ,p_pty_attribute4               => p_pty_attribute4
592     ,p_pty_attribute5               => p_pty_attribute5
593     ,p_pty_attribute6               => p_pty_attribute6
594     ,p_pty_attribute7               => p_pty_attribute7
595     ,p_pty_attribute8               => p_pty_attribute8
596     ,p_pty_attribute9               => p_pty_attribute9
597     ,p_pty_attribute10              => p_pty_attribute10
598     ,p_pty_attribute11              => p_pty_attribute11
599     ,p_pty_attribute12              => p_pty_attribute12
600     ,p_pty_attribute13              => p_pty_attribute13
601     ,p_pty_attribute14              => p_pty_attribute14
602     ,p_pty_attribute15              => p_pty_attribute15
603     ,p_pty_attribute16              => p_pty_attribute16
604     ,p_pty_attribute17              => p_pty_attribute17
605     ,p_pty_attribute18              => p_pty_attribute18
606     ,p_pty_attribute19              => p_pty_attribute19
607     ,p_pty_attribute20              => p_pty_attribute20
608     ,p_pty_information_category     => p_pty_information_category
609     ,p_pty_information1             => p_pty_information1
610     ,p_pty_information2             => p_pty_information2
611     ,p_pty_information3             => p_pty_information3
612     ,p_pty_information4             => p_pty_information4
613     ,p_pty_information5             => p_pty_information5
614     ,p_pty_information6             => p_pty_information6
615     ,p_pty_information7             => p_pty_information7
616     ,p_pty_information8             => p_pty_information8
617     ,p_pty_information9             => p_pty_information9
618     ,p_pty_information10            => p_pty_information10
619     ,p_pty_information11            => p_pty_information11
620     ,p_pty_information12            => p_pty_information12
621     ,p_pty_information13            => p_pty_information13
622     ,p_pty_information14            => p_pty_information14
623     ,p_pty_information15            => p_pty_information15
624     ,p_pty_information16            => p_pty_information16
625     ,p_pty_information17            => p_pty_information17
626     ,p_pty_information18            => p_pty_information18
627     ,p_pty_information19            => p_pty_information19
628     ,p_pty_information20            => p_pty_information20
629     ,p_special_pension_type_code    => p_special_pension_type_code     -- added for NL Phase 2B
630     ,p_pension_sub_category         => p_pension_sub_category          -- added for NL Phase 2B
631     ,p_pension_basis_calc_method    => p_pension_basis_calc_method     -- added for NL Phase 2B
632     ,p_pension_salary_balance       => p_pension_salary_balance        -- added for NL Phase 2B
633     ,p_recurring_bonus_percent      => p_recurring_bonus_percent       -- added for NL Phase 2B
634     ,p_non_recurring_bonus_percent  => p_non_recurring_bonus_percent   -- added for NL Phase 2B
635     ,p_recurring_bonus_balance      => p_recurring_bonus_balance       -- added for NL Phase 2B
636     ,p_non_recurring_bonus_balance  => p_non_recurring_bonus_balance   -- added for NL Phase 2B
637     ,p_std_tax_reduction            => p_std_tax_reduction             -- added for NL Phase 2B
638     ,p_spl_tax_reduction            => p_spl_tax_reduction             -- added for NL Phase 2B
639     ,p_sig_sal_spl_tax_reduction    => p_sig_sal_spl_tax_reduction     -- added for NL Phase 2B
640     ,p_sig_sal_non_tax_reduction    => p_sig_sal_non_tax_reduction     -- added for NL Phase 2B
641     ,p_sig_sal_std_tax_reduction    => p_sig_sal_std_tax_reduction     -- added for NL Phase 2B
642     ,p_sii_std_tax_reduction        => p_sii_std_tax_reduction         -- added for NL Phase 2B
643     ,p_sii_spl_tax_reduction        => p_sii_spl_tax_reduction         -- added for NL Phase 2B
644     ,p_sii_non_tax_reduction        => p_sii_non_tax_reduction         -- added for NL Phase 2B
645     ,p_previous_year_bonus_included => p_previous_year_bonus_included  -- added for NL Phase 2B
646     ,p_recurring_bonus_period       => p_recurring_bonus_period        -- added for NL Phase 2B
647     ,p_non_recurring_bonus_period   => p_non_recurring_bonus_period    -- added for NL Phase 2B
648     ,p_ee_age_threshold             => p_ee_age_threshold              -- added for ABP TAR Fixes
649     ,p_er_age_threshold             => p_er_age_threshold              -- added for ABP TAR Fixes
650     ,p_ee_age_contribution          => p_ee_age_contribution           -- added for ABP TAR Fixes
651     ,p_er_age_contribution          => p_er_age_contribution           -- added for ABP TAR Fixes
652     ,p_effective_start_date         => p_effective_start_date
653     ,p_effective_end_date           => p_effective_end_date
654     ,p_api_warning                  => p_api_warning
655     );
656   --
657   -- Convert API warning boolean parameter values to specific
658   -- messages and add them to Multiple Message List
659   --
660   --
661   -- Convert API non-warning boolean parameter values
662   --
663   --
664   -- Derive the API return status value based on whether
665   -- messages of any type exist in the Multiple Message List.
666   -- Also disable Multiple Message Detection.
667   --
668   p_return_status := hr_multi_message.get_return_status_disable;
669   hr_utility.set_location(' Leaving:' || l_proc,20);
670   --
671 Exception
672   when hr_multi_message.error_message_exist then
673     --
674     -- Catch the Multiple Message List exception which
675     -- indicates API processing has been aborted because
676     -- at least one message exists in the list.
677     --
678     rollback to update_pension_type_swi;
679     --
680     -- Reset IN OUT parameters and set OUT parameters
681     --
682     p_object_version_number        := l_object_version_number;
683     p_effective_start_date         := null;
684     p_effective_end_date           := null;
685     p_return_status := hr_multi_message.get_return_status_disable;
686     hr_utility.set_location(' Leaving:' || l_proc, 30);
687   when others then
688     --
689     -- When Multiple Message Detection is enabled catch
690     -- any Application specific or other unexpected
691     -- exceptions.  Adding appropriate details to the
692     -- Multiple Message List.  Otherwise re-raise the
693     -- error.
694     --
695     rollback to update_pension_type_swi;
696     if hr_multi_message.unexpected_error_add(l_proc) then
697        hr_utility.set_location(' Leaving:' || l_proc,40);
698        raise;
699     end if;
700     --
701     -- Reset IN OUT and set OUT parameters
702     --
703     p_object_version_number        := l_object_version_number;
704     p_effective_start_date         := null;
705     p_effective_end_date           := null;
706     p_return_status := hr_multi_message.get_return_status_disable;
707     hr_utility.set_location(' Leaving:' || l_proc,50);
708 
709 End Update_Pension_Type;
710 
711 End PQP_Pension_Types_swi;