[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
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
39 ,p_pty_attribute_category in varchar2 default null
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 --
131 hr_multi_message.enable_message_list;
132 --
133 -- Remember IN OUT parameter IN values
134 --
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
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
231 ,p_sig_sal_non_tax_reduction => p_sig_sal_non_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 --
354 pqp_pension_types_api.delete_pension_type
355 (p_validate => l_validate
356 ,p_effective_date => p_effective_date
357 ,p_datetrack_mode => p_datetrack_mode
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
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
463 ,p_pty_attribute12 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
549 (p_constant_value => p_validate);
550 --
551 -- Register Surrogate ID or user key values
552 --
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;