[Home] [Help]
PACKAGE BODY: APPS.PAY_ELEMENT_TYPES_SWI_ND
Source
1 Package Body pay_element_types_swi_nd As
2 /* $Header: paycreleswi.pkb 120.3 2006/02/28 14:29 ndorai noship $ */
3 --
4 -- Package variables
5 --
6 g_package varchar2(33) := 'pay_element_types_swi.';
7 --
8 -- ---------------------------------------------------------------------------+
9 -- |--------------------------< create_element_type >------------------------|+
10 -- ---------------------------------------------------------------------------+
11 PROCEDURE create_element_type
12 (p_validate in number default hr_api.g_false_num
13 ,p_effective_date in date
14 ,p_classification_id in number
15 ,p_element_name in varchar2
16 ,p_input_currency_code in varchar2
17 ,p_output_currency_code in varchar2
18 ,p_multiple_entries_allowed_fla in varchar2
19 ,p_processing_type in varchar2
20 ,p_business_group_id in number default null
21 ,p_legislation_code in varchar2 default null
22 ,p_formula_id in number default null
23 ,p_benefit_classification_id in number default null
24 ,p_additional_entry_allowed_fla in varchar2 default null
25 ,p_adjustment_only_flag in varchar2 default null
26 ,p_closed_for_entry_flag in varchar2 default null
27 ,p_reporting_name in varchar2 default null
28 ,p_description in varchar2 default null
29 ,p_indirect_only_flag in varchar2 default null
30 ,p_multiply_value_flag in varchar2 default null
31 ,p_post_termination_rule in varchar2 default null
32 ,p_process_in_run_flag in varchar2 default null
33 ,p_processing_priority in number default null
34 ,p_standard_link_flag in varchar2 default null
35 ,p_comments in varchar2 default null
36 ,p_third_party_pay_only_flag in varchar2 default null
37 ,p_iterative_flag in varchar2 default null
38 ,p_iterative_formula_id in number default null
39 ,p_iterative_priority in number default null
40 ,p_creator_type in varchar2 default null
41 ,p_retro_summ_ele_id in number default null
42 ,p_grossup_flag in varchar2 default null
43 ,p_process_mode in varchar2 default null
44 ,p_advance_indicator in varchar2 default null
45 ,p_advance_payable in varchar2 default null
46 ,p_advance_deduction in varchar2 default null
47 ,p_process_advance_entry in varchar2 default null
48 ,p_proration_group_id in number default null
49 ,p_proration_formula_id in number default null
50 ,p_recalc_event_group_id in number default null
51 ,p_legislation_subgroup in varchar2 default null
52 ,p_qualifying_age in number default null
53 ,p_qualifying_length_of_service in number default null
54 ,p_qualifying_units in varchar2 default null
55 ,p_attribute_category in varchar2 default null
56 ,p_attribute1 in varchar2 default null
57 ,p_attribute2 in varchar2 default null
58 ,p_attribute3 in varchar2 default null
59 ,p_attribute4 in varchar2 default null
60 ,p_attribute5 in varchar2 default null
61 ,p_attribute6 in varchar2 default null
62 ,p_attribute7 in varchar2 default null
63 ,p_attribute8 in varchar2 default null
64 ,p_attribute9 in varchar2 default null
65 ,p_attribute10 in varchar2 default null
66 ,p_attribute11 in varchar2 default null
67 ,p_attribute12 in varchar2 default null
68 ,p_attribute13 in varchar2 default null
69 ,p_attribute14 in varchar2 default null
70 ,p_attribute15 in varchar2 default null
71 ,p_attribute16 in varchar2 default null
72 ,p_attribute17 in varchar2 default null
73 ,p_attribute18 in varchar2 default null
74 ,p_attribute19 in varchar2 default null
75 ,p_attribute20 in varchar2 default null
76 ,p_element_information_category in varchar2 default null
77 ,p_element_information1 in varchar2 default null
78 ,p_element_information2 in varchar2 default null
79 ,p_element_information3 in varchar2 default null
80 ,p_element_information4 in varchar2 default null
81 ,p_element_information5 in varchar2 default null
82 ,p_element_information6 in varchar2 default null
83 ,p_element_information7 in varchar2 default null
84 ,p_element_information8 in varchar2 default null
85 ,p_element_information9 in varchar2 default null
86 ,p_element_information10 in varchar2 default null
87 ,p_element_information11 in varchar2 default null
88 ,p_element_information12 in varchar2 default null
89 ,p_element_information13 in varchar2 default null
90 ,p_element_information14 in varchar2 default null
91 ,p_element_information15 in varchar2 default null
92 ,p_element_information16 in varchar2 default null
93 ,p_element_information17 in varchar2 default null
94 ,p_element_information18 in varchar2 default null
95 ,p_element_information19 in varchar2 default null
96 ,p_element_information20 in varchar2 default null
97 ,p_default_uom in varchar2 default null
98 ,p_once_each_period_flag in varchar2 default null
99 ,p_language_code in varchar2 default null
100 ,p_element_type_id out nocopy number
101 ,p_effective_start_date out nocopy date
102 ,p_effective_end_date out nocopy date
103 ,p_object_version_number out nocopy number
104 ,p_comment_id out nocopy number
105 ,p_return_status out nocopy varchar2
106 ,p_time_definition_type in varchar2 default null
107 ,p_time_definition_id in number default null
108 ) is
109 --
110 -- Variables for API Boolean parameters
111 l_validate boolean;
112 l_processing_priority_warning boolean;
113 --
114 -- Variables for IN/OUT parameters
115 --
116 -- Other variables
117 l_proc varchar2(72) := g_package ||'create_element_type';
118 Begin
119 hr_utility.set_location(' Entering:' || l_proc,10);
120 --
121 -- Issue a savepoint
122 --
123 savepoint create_element_type_swi;
124 --
125 -- Initialise Multiple Message Detection
126 --
127 hr_multi_message.enable_message_list;
128 --
129 -- Remember IN OUT parameter IN values
130 --
131 --
132 -- Convert constant values to their corresponding boolean value
133 --
134 l_validate :=
135 hr_api.constant_to_boolean
136 (p_constant_value => p_validate);
137 --
138 -- Register Surrogate ID or user key values
139 --
140 --
141 -- Call API
142 --
143 pay_element_types_mig.create_element_type
144 (p_validate => l_validate
145 ,p_effective_date => p_effective_date
146 ,p_classification_id => p_classification_id
147 ,p_element_name => p_element_name
148 ,p_input_currency_code => p_input_currency_code
149 ,p_output_currency_code => p_output_currency_code
150 ,p_multiple_entries_allowed_fla => p_multiple_entries_allowed_fla
151 ,p_processing_type => p_processing_type
152 ,p_business_group_id => p_business_group_id
153 ,p_legislation_code => p_legislation_code
154 ,p_formula_id => p_formula_id
155 ,p_benefit_classification_id => p_benefit_classification_id
156 ,p_additional_entry_allowed_fla => p_additional_entry_allowed_fla
157 ,p_adjustment_only_flag => p_adjustment_only_flag
158 ,p_closed_for_entry_flag => p_closed_for_entry_flag
159 ,p_reporting_name => p_reporting_name
160 ,p_description => p_description
161 ,p_indirect_only_flag => p_indirect_only_flag
162 ,p_multiply_value_flag => p_multiply_value_flag
163 ,p_post_termination_rule => p_post_termination_rule
164 ,p_process_in_run_flag => p_process_in_run_flag
165 ,p_processing_priority => p_processing_priority
166 ,p_standard_link_flag => p_standard_link_flag
167 ,p_comments => p_comments
168 ,p_third_party_pay_only_flag => p_third_party_pay_only_flag
169 ,p_iterative_flag => p_iterative_flag
170 ,p_iterative_formula_id => p_iterative_formula_id
171 ,p_iterative_priority => p_iterative_priority
172 ,p_creator_type => p_creator_type
173 ,p_retro_summ_ele_id => p_retro_summ_ele_id
174 ,p_grossup_flag => p_grossup_flag
175 ,p_process_mode => p_process_mode
176 ,p_advance_indicator => p_advance_indicator
177 ,p_advance_payable => p_advance_payable
178 ,p_advance_deduction => p_advance_deduction
179 ,p_process_advance_entry => p_process_advance_entry
180 ,p_proration_group_id => p_proration_group_id
181 ,p_proration_formula_id => p_proration_formula_id
182 ,p_recalc_event_group_id => p_recalc_event_group_id
183 ,p_legislation_subgroup => p_legislation_subgroup
184 ,p_qualifying_age => p_qualifying_age
185 ,p_qualifying_length_of_service => p_qualifying_length_of_service
186 ,p_qualifying_units => p_qualifying_units
187 ,p_attribute_category => p_attribute_category
188 ,p_attribute1 => p_attribute1
189 ,p_attribute2 => p_attribute2
190 ,p_attribute3 => p_attribute3
191 ,p_attribute4 => p_attribute4
192 ,p_attribute5 => p_attribute5
193 ,p_attribute6 => p_attribute6
194 ,p_attribute7 => p_attribute7
195 ,p_attribute8 => p_attribute8
196 ,p_attribute9 => p_attribute9
197 ,p_attribute10 => p_attribute10
198 ,p_attribute11 => p_attribute11
199 ,p_attribute12 => p_attribute12
200 ,p_attribute13 => p_attribute13
201 ,p_attribute14 => p_attribute14
202 ,p_attribute15 => p_attribute15
203 ,p_attribute16 => p_attribute16
204 ,p_attribute17 => p_attribute17
205 ,p_attribute18 => p_attribute18
206 ,p_attribute19 => p_attribute19
207 ,p_attribute20 => p_attribute20
208 ,p_element_information_category => p_element_information_category
209 ,p_element_information1 => p_element_information1
210 ,p_element_information2 => p_element_information2
211 ,p_element_information3 => p_element_information3
212 ,p_element_information4 => p_element_information4
213 ,p_element_information5 => p_element_information5
214 ,p_element_information6 => p_element_information6
215 ,p_element_information7 => p_element_information7
216 ,p_element_information8 => p_element_information8
217 ,p_element_information9 => p_element_information9
218 ,p_element_information10 => p_element_information10
219 ,p_element_information11 => p_element_information11
220 ,p_element_information12 => p_element_information12
221 ,p_element_information13 => p_element_information13
222 ,p_element_information14 => p_element_information14
223 ,p_element_information15 => p_element_information15
224 ,p_element_information16 => p_element_information16
225 ,p_element_information17 => p_element_information17
226 ,p_element_information18 => p_element_information18
227 ,p_element_information19 => p_element_information19
228 ,p_element_information20 => p_element_information20
229 ,p_default_uom => p_default_uom
230 ,p_once_each_period_flag => p_once_each_period_flag
231 ,p_language_code => p_language_code
232 ,p_element_type_id => p_element_type_id
233 ,p_effective_start_date => p_effective_start_date
234 ,p_effective_end_date => p_effective_end_date
235 ,p_object_version_number => p_object_version_number
236 ,p_comment_id => p_comment_id
237 ,p_processing_priority_warning => l_processing_priority_warning
238 ,p_time_definition_type => p_time_definition_type
239 ,p_time_definition_id => p_time_definition_id
240 );
241 --
242 -- Convert API warning boolean parameter values to specific
243 -- messages and add them to Multiple Message List
244 --
245 --if l_processing_priority_warning then
246 -- fnd_message.set_name('PAY', 'PAY_6149_ELEMENT_PRIORITY_UPD');
247 -- hr_multi_message.add
248 -- (p_message_type => hr_multi_message.g_warning_msg
249 -- );
250 --end if; --
251 -- Convert API non-warning boolean parameter values
252 --
253 --
254 -- Derive the API return status value based on whether
255 -- messages of any type exist in the Multiple Message List.
256 -- Also disable Multiple Message Detection.
257 --
258 p_return_status := hr_multi_message.get_return_status_disable;
259 hr_utility.set_location(' Leaving:' || l_proc,20);
260 --
261 exception
262 when hr_multi_message.error_message_exist then
263 --
264 -- Catch the Multiple Message List exception which
265 -- indicates API processing has been aborted because
266 -- at least one message exists in the list.
267 --
268 rollback to create_element_type_swi;
269 --
270 -- Reset IN OUT parameters and set OUT parameters
271 --
272 p_element_type_id := null;
273 p_effective_start_date := null;
274 p_effective_end_date := null;
275 p_object_version_number := null;
276 p_comment_id := null;
277 p_return_status := hr_multi_message.get_return_status_disable;
278 hr_utility.set_location(' Leaving:' || l_proc, 30);
279 when others then
280 --
281 -- When Multiple Message Detection is enabled catch
282 -- any Application specific or other unexpected
283 -- exceptions. Adding appropriate details to the
284 -- Multiple Message List. Otherwise re-raise the
285 -- error.
286 --
287 rollback to create_element_type_swi;
288 if hr_multi_message.unexpected_error_add(l_proc) then
289 hr_utility.set_location(' Leaving:' || l_proc,40);
290 raise;
291 end if;
292 --
293 -- Reset IN OUT and set OUT parameters
294 --
295 p_element_type_id := null;
296 p_effective_start_date := null;
297 p_effective_end_date := null;
298 p_object_version_number := null;
299 p_comment_id := null;
300 p_return_status := hr_multi_message.get_return_status_disable;
301 hr_utility.set_location(' Leaving:' || l_proc,50);
302 end create_element_type;
303 -- ----------------------------------------------------------------------------
304 -- |--------------------------< update_element_type >-------------------------|
305 -- ----------------------------------------------------------------------------
306 PROCEDURE update_element_type
307 (p_validate in number default hr_api.g_false_num
308 ,p_effective_date in date
309 ,p_datetrack_update_mode in varchar2
310 ,p_element_type_id in number
311 ,p_object_version_number in out nocopy number
312 ,p_formula_id in number default hr_api.g_number
313 ,p_benefit_classification_id in number default hr_api.g_number
314 ,p_additional_entry_allowed_fla in varchar2 default hr_api.g_varchar2
315 ,p_adjustment_only_flag in varchar2 default hr_api.g_varchar2
316 ,p_closed_for_entry_flag in varchar2 default hr_api.g_varchar2
317 ,p_element_name in varchar2 default hr_api.g_varchar2
318 ,p_reporting_name in varchar2 default hr_api.g_varchar2
319 ,p_description in varchar2 default hr_api.g_varchar2
320 ,p_indirect_only_flag in varchar2 default hr_api.g_varchar2
321 ,p_multiple_entries_allowed_fla in varchar2 default hr_api.g_varchar2
322 ,p_multiply_value_flag in varchar2 default hr_api.g_varchar2
323 ,p_post_termination_rule in varchar2 default hr_api.g_varchar2
324 ,p_process_in_run_flag in varchar2 default hr_api.g_varchar2
325 ,p_processing_priority in number default hr_api.g_number
326 ,p_standard_link_flag in varchar2 default hr_api.g_varchar2
327 ,p_comments in varchar2 default hr_api.g_varchar2
328 ,p_third_party_pay_only_flag in varchar2 default hr_api.g_varchar2
329 ,p_iterative_flag in varchar2 default hr_api.g_varchar2
330 ,p_iterative_formula_id in number default hr_api.g_number
331 ,p_iterative_priority in number default hr_api.g_number
332 ,p_creator_type in varchar2 default hr_api.g_varchar2
333 ,p_retro_summ_ele_id in number default hr_api.g_number
334 ,p_grossup_flag in varchar2 default hr_api.g_varchar2
335 ,p_process_mode in varchar2 default hr_api.g_varchar2
336 ,p_advance_indicator in varchar2 default hr_api.g_varchar2
337 ,p_advance_payable in varchar2 default hr_api.g_varchar2
338 ,p_advance_deduction in varchar2 default hr_api.g_varchar2
339 ,p_process_advance_entry in varchar2 default hr_api.g_varchar2
340 ,p_proration_group_id in number default hr_api.g_number
341 ,p_proration_formula_id in number default hr_api.g_number
342 ,p_recalc_event_group_id in number default hr_api.g_number
343 ,p_qualifying_age in number default hr_api.g_number
344 ,p_qualifying_length_of_service in number default hr_api.g_number
345 ,p_qualifying_units in varchar2 default hr_api.g_varchar2
346 ,p_attribute_category in varchar2 default hr_api.g_varchar2
347 ,p_attribute1 in varchar2 default hr_api.g_varchar2
348 ,p_attribute2 in varchar2 default hr_api.g_varchar2
349 ,p_attribute3 in varchar2 default hr_api.g_varchar2
350 ,p_attribute4 in varchar2 default hr_api.g_varchar2
351 ,p_attribute5 in varchar2 default hr_api.g_varchar2
352 ,p_attribute6 in varchar2 default hr_api.g_varchar2
353 ,p_attribute7 in varchar2 default hr_api.g_varchar2
354 ,p_attribute8 in varchar2 default hr_api.g_varchar2
355 ,p_attribute9 in varchar2 default hr_api.g_varchar2
356 ,p_attribute10 in varchar2 default hr_api.g_varchar2
357 ,p_attribute11 in varchar2 default hr_api.g_varchar2
358 ,p_attribute12 in varchar2 default hr_api.g_varchar2
359 ,p_attribute13 in varchar2 default hr_api.g_varchar2
360 ,p_attribute14 in varchar2 default hr_api.g_varchar2
361 ,p_attribute15 in varchar2 default hr_api.g_varchar2
362 ,p_attribute16 in varchar2 default hr_api.g_varchar2
363 ,p_attribute17 in varchar2 default hr_api.g_varchar2
364 ,p_attribute18 in varchar2 default hr_api.g_varchar2
365 ,p_attribute19 in varchar2 default hr_api.g_varchar2
366 ,p_attribute20 in varchar2 default hr_api.g_varchar2
367 ,p_element_information_category in varchar2 default hr_api.g_varchar2
368 ,p_element_information1 in varchar2 default hr_api.g_varchar2
369 ,p_element_information2 in varchar2 default hr_api.g_varchar2
370 ,p_element_information3 in varchar2 default hr_api.g_varchar2
371 ,p_element_information4 in varchar2 default hr_api.g_varchar2
372 ,p_element_information5 in varchar2 default hr_api.g_varchar2
373 ,p_element_information6 in varchar2 default hr_api.g_varchar2
374 ,p_element_information7 in varchar2 default hr_api.g_varchar2
375 ,p_element_information8 in varchar2 default hr_api.g_varchar2
376 ,p_element_information9 in varchar2 default hr_api.g_varchar2
377 ,p_element_information10 in varchar2 default hr_api.g_varchar2
378 ,p_element_information11 in varchar2 default hr_api.g_varchar2
379 ,p_element_information12 in varchar2 default hr_api.g_varchar2
380 ,p_element_information13 in varchar2 default hr_api.g_varchar2
381 ,p_element_information14 in varchar2 default hr_api.g_varchar2
382 ,p_element_information15 in varchar2 default hr_api.g_varchar2
383 ,p_element_information16 in varchar2 default hr_api.g_varchar2
384 ,p_element_information17 in varchar2 default hr_api.g_varchar2
385 ,p_element_information18 in varchar2 default hr_api.g_varchar2
386 ,p_element_information19 in varchar2 default hr_api.g_varchar2
387 ,p_element_information20 in varchar2 default hr_api.g_varchar2
388 ,p_once_each_period_flag in varchar2 default hr_api.g_varchar2
389 ,p_language_code in varchar2 default hr_api.g_varchar2
390 ,p_effective_start_date out nocopy date
391 ,p_effective_end_date out nocopy date
392 ,p_comment_id out nocopy number
393 ,p_return_status out nocopy varchar2
394 ,p_time_definition_type in varchar2 default hr_api.g_varchar2
395 ,p_time_definition_id in number default hr_api.g_number
396 ) is
397 --
398 -- Variables for API Boolean parameters
399 l_validate boolean;
400 l_processing_priority_warning boolean;
401 l_element_name_warning boolean;
402 l_element_name_change_warning boolean;
403 --
404 -- Variables for IN/OUT parameters
405 l_object_version_number number;
406 --
407 -- Other variables
408 l_proc varchar2(72) := g_package ||'update_element_type';
409 Begin
410 hr_utility.set_location(' Entering:' || l_proc,10);
411 --
412 -- Issue a savepoint
413 --
414 savepoint update_element_type_swi;
415 --
416 -- Initialise Multiple Message Detection
417 --
418 hr_multi_message.enable_message_list;
419 --
420 -- Remember IN OUT parameter IN values
421 --
422 l_object_version_number := p_object_version_number;
423 --
424 -- Convert constant values to their corresponding boolean value
425 --
426 l_validate :=
427 hr_api.constant_to_boolean
428 (p_constant_value => p_validate);
429 --
430 -- Register Surrogate ID or user key values
431 --
432 --
433 -- Call API
434 --
435 pay_element_types_api.update_element_type
436 (p_validate => l_validate
437 ,p_effective_date => p_effective_date
438 ,p_datetrack_update_mode => p_datetrack_update_mode
439 ,p_element_type_id => p_element_type_id
440 ,p_object_version_number => p_object_version_number
441 ,p_formula_id => p_formula_id
442 ,p_benefit_classification_id => p_benefit_classification_id
443 ,p_additional_entry_allowed_fla => p_additional_entry_allowed_fla
444 ,p_adjustment_only_flag => p_adjustment_only_flag
445 ,p_closed_for_entry_flag => p_closed_for_entry_flag
446 ,p_element_name => p_element_name
447 ,p_reporting_name => p_reporting_name
448 ,p_description => p_description
449 ,p_indirect_only_flag => p_indirect_only_flag
450 ,p_multiple_entries_allowed_fla => p_multiple_entries_allowed_fla
451 ,p_multiply_value_flag => p_multiply_value_flag
452 ,p_post_termination_rule => p_post_termination_rule
453 ,p_process_in_run_flag => p_process_in_run_flag
454 ,p_processing_priority => p_processing_priority
455 ,p_standard_link_flag => p_standard_link_flag
456 ,p_comments => p_comments
457 ,p_third_party_pay_only_flag => p_third_party_pay_only_flag
458 ,p_iterative_flag => p_iterative_flag
459 ,p_iterative_formula_id => p_iterative_formula_id
460 ,p_iterative_priority => p_iterative_priority
461 ,p_creator_type => p_creator_type
462 ,p_retro_summ_ele_id => p_retro_summ_ele_id
463 ,p_grossup_flag => p_grossup_flag
464 ,p_process_mode => p_process_mode
465 ,p_advance_indicator => p_advance_indicator
466 ,p_advance_payable => p_advance_payable
467 ,p_advance_deduction => p_advance_deduction
468 ,p_process_advance_entry => p_process_advance_entry
469 ,p_proration_group_id => p_proration_group_id
470 ,p_proration_formula_id => p_proration_formula_id
471 ,p_recalc_event_group_id => p_recalc_event_group_id
472 ,p_qualifying_age => p_qualifying_age
473 ,p_qualifying_length_of_service => p_qualifying_length_of_service
474 ,p_qualifying_units => p_qualifying_units
475 ,p_attribute_category => p_attribute_category
476 ,p_attribute1 => p_attribute1
477 ,p_attribute2 => p_attribute2
478 ,p_attribute3 => p_attribute3
479 ,p_attribute4 => p_attribute4
480 ,p_attribute5 => p_attribute5
481 ,p_attribute6 => p_attribute6
482 ,p_attribute7 => p_attribute7
483 ,p_attribute8 => p_attribute8
484 ,p_attribute9 => p_attribute9
485 ,p_attribute10 => p_attribute10
486 ,p_attribute11 => p_attribute11
487 ,p_attribute12 => p_attribute12
488 ,p_attribute13 => p_attribute13
489 ,p_attribute14 => p_attribute14
490 ,p_attribute15 => p_attribute15
491 ,p_attribute16 => p_attribute16
492 ,p_attribute17 => p_attribute17
493 ,p_attribute18 => p_attribute18
494 ,p_attribute19 => p_attribute19
495 ,p_attribute20 => p_attribute20
496 ,p_element_information_category => p_element_information_category
497 ,p_element_information1 => p_element_information1
498 ,p_element_information2 => p_element_information2
499 ,p_element_information3 => p_element_information3
500 ,p_element_information4 => p_element_information4
501 ,p_element_information5 => p_element_information5
502 ,p_element_information6 => p_element_information6
503 ,p_element_information7 => p_element_information7
504 ,p_element_information8 => p_element_information8
505 ,p_element_information9 => p_element_information9
506 ,p_element_information10 => p_element_information10
507 ,p_element_information11 => p_element_information11
508 ,p_element_information12 => p_element_information12
509 ,p_element_information13 => p_element_information13
510 ,p_element_information14 => p_element_information14
511 ,p_element_information15 => p_element_information15
512 ,p_element_information16 => p_element_information16
513 ,p_element_information17 => p_element_information17
514 ,p_element_information18 => p_element_information18
515 ,p_element_information19 => p_element_information19
516 ,p_element_information20 => p_element_information20
517 ,p_once_each_period_flag => p_once_each_period_flag
518 ,p_language_code => p_language_code
519 ,p_effective_start_date => p_effective_start_date
520 ,p_effective_end_date => p_effective_end_date
521 ,p_comment_id => p_comment_id
522 ,p_processing_priority_warning => l_processing_priority_warning
523 ,p_element_name_warning => l_element_name_warning
524 ,p_element_name_change_warning => l_element_name_change_warning
525 ,p_time_definition_type => p_time_definition_type
526 ,p_time_definition_id => p_time_definition_id
527 );
528 --
529 -- Convert API warning boolean parameter values to specific
530 -- messages and add them to Multiple Message List
531 --
532 if l_processing_priority_warning then
533 fnd_message.set_name('PAY','PAY_6149_ELEMENT_PRIORITY_UPD');
534 hr_multi_message.add
535 (p_message_type => hr_multi_message.g_warning_msg
536 );
537 end if;
538 if l_element_name_warning then
539 fnd_message.set_name('PAY','PAY_6365_ELEMENT_NO_DB_NAME');
540 hr_multi_message.add
541 (p_message_type => hr_multi_message.g_warning_msg
542 );
543 end if;
544 if l_element_name_change_warning then
545 fnd_message.set_name('PAY','PAY_6137_ELEMENT_DUP_NAME');
546 hr_multi_message.add
547 (p_message_type => hr_multi_message.g_warning_msg
548 );
549 end if; --
550 -- Convert API non-warning boolean parameter values
551 --
552 --
553 -- Derive the API return status value based on whether
554 -- messages of any type exist in the Multiple Message List.
555 -- Also disable Multiple Message Detection.
556 --
557 p_return_status := hr_multi_message.get_return_status_disable;
558 hr_utility.set_location(' Leaving:' || l_proc,20);
559 --
560 exception
561 when hr_multi_message.error_message_exist then
562 --
563 -- Catch the Multiple Message List exception which
564 -- indicates API processing has been aborted because
565 -- at least one message exists in the list.
566 --
567 rollback to update_element_type_swi;
568 --
569 -- Reset IN OUT parameters and set OUT parameters
570 --
571 p_object_version_number := l_object_version_number;
572 p_effective_start_date := null;
573 p_effective_end_date := null;
574 p_comment_id := null;
575 p_return_status := hr_multi_message.get_return_status_disable;
576 hr_utility.set_location(' Leaving:' || l_proc, 30);
577 when others then
578 --
579 -- When Multiple Message Detection is enabled catch
580 -- any Application specific or other unexpected
581 -- exceptions. Adding appropriate details to the
582 -- Multiple Message List. Otherwise re-raise the
583 -- error.
584 --
585 rollback to update_element_type_swi;
586 if hr_multi_message.unexpected_error_add(l_proc) then
587 hr_utility.set_location(' Leaving:' || l_proc,40);
588 raise;
589 end if;
590 --
591 -- Reset IN OUT and set OUT parameters
592 --
593 p_object_version_number := l_object_version_number;
594 p_effective_start_date := null;
595 p_effective_end_date := null;
596 p_comment_id := null;
597 p_return_status := hr_multi_message.get_return_status_disable;
598 hr_utility.set_location(' Leaving:' || l_proc,50);
599 end update_element_type;
600 -- ----------------------------------------------------------------------------
601 -- |--------------------------< delete_element_type >-------------------------|
602 -- ----------------------------------------------------------------------------
603 PROCEDURE delete_element_type
604 (p_validate in number default hr_api.g_false_num
605 ,p_effective_date in date
606 ,p_datetrack_delete_mode in varchar2
607 ,p_element_type_id in number
608 ,p_object_version_number in out nocopy number
609 ,p_effective_start_date out nocopy date
610 ,p_effective_end_date out nocopy date
611 ,p_return_status out nocopy varchar2
612 ) is
613 --
614 -- Variables for API Boolean parameters
615 l_validate boolean;
616 l_balance_feeds_warning boolean;
617 l_processing_rules_warning boolean;
618 --
619 -- Variables for IN/OUT parameters
620 l_object_version_number number;
621 --
622 -- Other variables
623 l_proc varchar2(72) := g_package ||'delete_element_type';
624 Begin
625 hr_utility.set_location(' Entering:' || l_proc,10);
626 --
627 -- Issue a savepoint
628 --
629 savepoint delete_element_type_swi;
630 --
631 -- Initialise Multiple Message Detection
632 --
633 hr_multi_message.enable_message_list;
634 --
635 -- Remember IN OUT parameter IN values
636 --
637 l_object_version_number := p_object_version_number;
638 --
639 -- Convert constant values to their corresponding boolean value
640 --
641 l_validate :=
642 hr_api.constant_to_boolean
643 (p_constant_value => p_validate);
644 --
645 -- Register Surrogate ID or user key values
646 --
647 --
648 -- Call API
649 --
650 pay_element_types_api.delete_element_type
651 (p_validate => l_validate
652 ,p_effective_date => p_effective_date
653 ,p_datetrack_delete_mode => p_datetrack_delete_mode
654 ,p_element_type_id => p_element_type_id
655 ,p_object_version_number => p_object_version_number
656 ,p_effective_start_date => p_effective_start_date
657 ,p_effective_end_date => p_effective_end_date
658 ,p_balance_feeds_warning => l_balance_feeds_warning
659 ,p_processing_rules_warning => l_processing_rules_warning
660 );
661 --
662 -- Convert API warning boolean parameter values to specific
663 -- messages and add them to Multiple Message List
664 --
665 if l_balance_feeds_warning then
666 fnd_message.set_name('PAY', 'HR_6208_BAL_DEL_NOT_AUTO');
667 hr_multi_message.add
668 (p_message_type => hr_multi_message.g_warning_msg
669 );
670 end if;
671 if l_processing_rules_warning then
672 fnd_message.set_name('PAY', 'PAY_6156_ELEMENT_NO_DEL_SPR');
673 hr_multi_message.add
674 (p_message_type => hr_multi_message.g_warning_msg
675 );
676 end if; --
677 -- Convert API non-warning boolean parameter values
678 --
679 --
680 -- Derive the API return status value based on whether
681 -- messages of any type exist in the Multiple Message List.
682 -- Also disable Multiple Message Detection.
683 --
684 p_return_status := hr_multi_message.get_return_status_disable;
685 hr_utility.set_location(' Leaving:' || l_proc,20);
686 --
687 exception
688 when hr_multi_message.error_message_exist then
689 --
690 -- Catch the Multiple Message List exception which
691 -- indicates API processing has been aborted because
692 -- at least one message exists in the list.
693 --
694 rollback to delete_element_type_swi;
695 --
696 -- Reset IN OUT parameters and set OUT parameters
697 --
698 p_object_version_number := l_object_version_number;
699 p_effective_start_date := null;
700 p_effective_end_date := null;
701 p_return_status := hr_multi_message.get_return_status_disable;
702 hr_utility.set_location(' Leaving:' || l_proc, 30);
703 when others then
704 --
705 -- When Multiple Message Detection is enabled catch
706 -- any Application specific or other unexpected
707 -- exceptions. Adding appropriate details to the
708 -- Multiple Message List. Otherwise re-raise the
709 -- error.
710 --
711 rollback to delete_element_type_swi;
712 if hr_multi_message.unexpected_error_add(l_proc) then
713 hr_utility.set_location(' Leaving:' || l_proc,40);
714 raise;
715 end if;
716 --
717 -- Reset IN OUT and set OUT parameters
718 --
719 p_object_version_number := l_object_version_number;
720 p_effective_start_date := null;
721 p_effective_end_date := null;
722 p_return_status := hr_multi_message.get_return_status_disable;
723 hr_utility.set_location(' Leaving:' || l_proc,50);
724 end delete_element_type;
725 -- ---------------------------------------------------------------------------+
726 -- |--------------------------< create_class_balance_feeds >-----------------|+
727 -- ---------------------------------------------------------------------------+
728 Procedure create_class_balance_feeds
729 (p_balance_name VARCHAR2,
730 p_business_group_id NUMBER,
731 p_legislation_code VARCHAR2,
732 p_effective_start_date DATE,
733 p_effective_end_date DATE) AS
734 l_row_id rowid;
735 l_balance_feed_id pay_balance_feeds_f.balance_feed_id%type;
736 l_proc varchar2(160);
737 l_count number(9);
738 --
739 cursor c1_get_reg_earn_feeds is
740 select bt.balance_name
741 ,bc.classification_id
742 ,iv.input_value_id
743 ,bf.scale
744 ,et.element_type_id
745 ,bt.legislation_code
746 from PAY_BALANCE_FEEDS_F BF,
747 PAY_BALANCE_TYPES BT,
748 PAY_INPUT_VALUES_F IV,
749 PAY_ELEMENT_TYPES_F ET,
750 PAY_ELEMENT_CLASSIFICATIONS EC,
751 --FND_LOOKUPS HL,
752 --FND_LOOKUPS HL2,
753 pay_balance_classifications bc
754 WHERE BT.BALANCE_TYPE_ID = BF.BALANCE_TYPE_ID
755 AND IV.INPUT_VALUE_ID = BF.INPUT_VALUE_ID
756 AND ET.ELEMENT_TYPE_ID = IV.ELEMENT_TYPE_ID
757 AND EC.CLASSIFICATION_ID = ET.CLASSIFICATION_ID
758 --AND HL.LOOKUP_TYPE = 'ADD_SUBTRACT'
759 --AND HL.LOOKUP_CODE = BF.SCALE
760 --AND HL2.LOOKUP_TYPE = 'UNITS'
761 --AND HL2.LOOKUP_CODE = IV.UOM
762 and nvl(ec.balance_initialization_flag,'N') = 'N'
763 and nvl(bt.business_group_id,p_business_group_id) = p_business_group_id
764 and nvl(bt.legislation_code, 'US') = 'US'
765 and bt.balance_name = 'Regular Earnings'
766 and bc.balance_type_id = bt.balance_type_id
767 order by et.element_name;
768 -- To get the balance type id
769 cursor c2_balance_type is
770 select balance_type_id
771 from pay_balance_types
772 where business_group_id = p_business_group_id
773 and ( balance_name like p_balance_name || ' Eligible Comp'
774 OR balance_name like p_balance_name || ' Roth Eligible Comp'
775 OR balance_name like p_balance_name || ' AT Eligible Comp');
776 --and balance_name = p_balance_name;
777 begin
778 hr_utility.set_location('Entering: '||l_proc, 5);
779 for c1_rec in c1_get_reg_earn_feeds loop
780 for c2_rec in c2_balance_type loop
781 begin
782 select count(*) into l_count
783 from pay_balance_feeds_f
784 where balance_type_id = c2_rec.balance_type_id
785 and input_value_id = c1_rec.input_value_id
786 and business_group_id = p_business_group_id
787 and effective_start_date = p_effective_start_date
788 and effective_end_date = p_effective_end_date
789 and nvl(legislation_code,'US') = c1_rec.legislation_code;
790 if l_count = 0 then
791 pay_balance_feeds_f_pkg.insert_row
792 (x_rowid => l_row_id,
793 x_balance_feed_id => l_balance_feed_id,
794 x_effective_start_date => p_effective_start_date,
795 x_effective_end_date => hr_api.g_eot,
796 x_business_group_id => p_business_group_id,
797 x_legislation_code => null,
798 x_balance_type_id => c2_rec.balance_type_id,
799 x_input_value_id => c1_rec.input_value_id,
800 x_scale => c1_rec.scale,
801 x_legislation_subgroup => null,
802 x_initial_balance_feed => false
803 );
804 end if;
805 l_balance_feed_id := null;
806 l_row_id := null;
807
808 end;
809 end loop;
810 end loop;
811 hr_utility.set_location('Leaving: '||l_proc, 10);
812 END create_class_balance_feeds;
813 end pay_element_types_swi_nd;