[Home] [Help]
PACKAGE BODY: APPS.PAY_ELEMENT_TYPES_MIG
Source
1 Package Body PAY_ELEMENT_TYPES_MIG as
2 /* $Header: pyetpmpi.pkb 120.1.12010000.2 2008/08/06 07:13:10 ubhat ship $ */
3 --
4 -- Package Variables
5 --
6 g_package varchar2(33) := ' PAY_ELEMENT_TYPES_API.';
7 --
8 -- ----------------------------------------------------------------------------
9 -- |--------------------------< CREATE_ELEMENT_TYPE >-------------------------|
10 -- ----------------------------------------------------------------------------
11 --
12 procedure CREATE_ELEMENT_TYPE
13 (p_validate in boolean default false
14 ,p_effective_date in date
15 ,p_classification_id in number
16 ,p_element_name in varchar2
17 ,p_input_currency_code in varchar2
18 ,p_output_currency_code in varchar2
19 ,p_multiple_entries_allowed_fla in varchar2
20 ,p_processing_type in varchar2
21 ,p_business_group_id in number default null
22 ,p_legislation_code in varchar2 default null
23 ,p_formula_id in number default null
24 ,p_benefit_classification_id in number default null
25 ,p_additional_entry_allowed_fla in varchar2 default 'N'
26 ,p_adjustment_only_flag in varchar2 default 'N'
27 ,p_closed_for_entry_flag in varchar2 default 'N'
28 ,p_reporting_name in varchar2 default null
29 ,p_description in varchar2 default null
30 ,p_indirect_only_flag in varchar2 default 'N'
31 ,p_multiply_value_flag in varchar2 default 'N'
32 ,p_post_termination_rule in varchar2 default 'L'
33 ,p_process_in_run_flag in varchar2 default 'Y'
34 ,p_processing_priority in number default null
35 ,p_standard_link_flag in varchar2 default 'N'
36 ,p_comments in varchar2 default null
37 ,p_third_party_pay_only_flag in varchar2 default null
38 ,p_iterative_flag in varchar2 default null
39 ,p_iterative_formula_id in number default null
40 ,p_iterative_priority in number default null
41 ,p_creator_type in varchar2 default null
42 ,p_retro_summ_ele_id in number default null
43 ,p_grossup_flag in varchar2 default null
44 ,p_process_mode in varchar2 default null
45 ,p_advance_indicator in varchar2 default null
46 ,p_advance_payable in varchar2 default null
47 ,p_advance_deduction in varchar2 default null
48 ,p_process_advance_entry in varchar2 default null
49 ,p_proration_group_id in number default null
50 ,p_proration_formula_id in number default null
51 ,p_recalc_event_group_id in number default null
52 ,p_legislation_subgroup in varchar2 default null
53 ,p_qualifying_age in number default null
54 ,p_qualifying_length_of_service in number default null
55 ,p_qualifying_units in varchar2 default null
56 ,p_advance_element_type_id in number default null
57 ,p_deduction_element_type_id in number default null
58 ,p_attribute_category in varchar2 default null
59 ,p_attribute1 in varchar2 default null
60 ,p_attribute2 in varchar2 default null
61 ,p_attribute3 in varchar2 default null
62 ,p_attribute4 in varchar2 default null
63 ,p_attribute5 in varchar2 default null
64 ,p_attribute6 in varchar2 default null
65 ,p_attribute7 in varchar2 default null
66 ,p_attribute8 in varchar2 default null
67 ,p_attribute9 in varchar2 default null
68 ,p_attribute10 in varchar2 default null
69 ,p_attribute11 in varchar2 default null
70 ,p_attribute12 in varchar2 default null
71 ,p_attribute13 in varchar2 default null
72 ,p_attribute14 in varchar2 default null
73 ,p_attribute15 in varchar2 default null
74 ,p_attribute16 in varchar2 default null
75 ,p_attribute17 in varchar2 default null
76 ,p_attribute18 in varchar2 default null
77 ,p_attribute19 in varchar2 default null
78 ,p_attribute20 in varchar2 default null
79 ,p_element_information_category in varchar2 default null
80 ,p_element_information1 in varchar2 default null
81 ,p_element_information2 in varchar2 default null
82 ,p_element_information3 in varchar2 default null
83 ,p_element_information4 in varchar2 default null
84 ,p_element_information5 in varchar2 default null
85 ,p_element_information6 in varchar2 default null
86 ,p_element_information7 in varchar2 default null
87 ,p_element_information8 in varchar2 default null
88 ,p_element_information9 in varchar2 default null
89 ,p_element_information10 in varchar2 default null
90 ,p_element_information11 in varchar2 default null
91 ,p_element_information12 in varchar2 default null
92 ,p_element_information13 in varchar2 default null
93 ,p_element_information14 in varchar2 default null
94 ,p_element_information15 in varchar2 default null
95 ,p_element_information16 in varchar2 default null
96 ,p_element_information17 in varchar2 default null
97 ,p_element_information18 in varchar2 default null
98 ,p_element_information19 in varchar2 default null
99 ,p_element_information20 in varchar2 default null
100 ,p_default_uom in varchar2 default null
101 ,p_once_each_period_flag in varchar2 default 'N'
102 ,p_language_code in varchar2 default hr_api.userenv_lang
103 ,p_time_definition_type in varchar2 default null
104 ,p_time_definition_id in number default null
105 ,p_element_type_id out nocopy number
106 ,p_effective_start_date out nocopy date
107 ,p_effective_end_date out nocopy date
108 ,p_object_version_number out nocopy number
109 ,p_comment_id out nocopy number
110 ,p_processing_priority_warning out nocopy boolean
111 ) is
112 --
113 -- Declare cursors and local variables
114 --
115 l_proc varchar2(72):=g_package||'CREATE_ELEMENT_TYPE';
116 l_effective_date date;
117 l_effective_start_date date;
118 l_effective_end_date date;
119 l_processing_priority_warning boolean;
120 l_non_payments_flag varchar2(30);
121 l_contributions_used varchar2(30);
122 l_generate_db_items_flag varchar2(30);
123 l_default_val_warning boolean;
124 l_min_max_warning boolean;
125 l_pay_basis_warning boolean;
126 l_formula_warning boolean;
127 l_assignment_id_warning boolean;
128 l_iv_effective_start_date date;
129 l_iv_effective_end_date date;
130 l_display_sequence number(1) := 0;
131 l_element_type_id pay_element_types_f.element_type_id%type;
132 l_object_version_number pay_element_types_f.object_version_number%type;
133 l_comment_id pay_element_types_f.comment_id%type;
134 l_input_currency_code pay_element_types_f.input_currency_code%type;
135 l_output_currency_code pay_element_types_f.output_currency_code%type;
136 l_default_priority pay_element_types_f.processing_priority%type;
137 l_processing_priority pay_element_types_f.processing_priority%type;
138 l_input_value_id pay_input_values_f.input_value_id%type;
139 l_iv_object_version_number pay_input_values_f.object_version_number%type;
140 l_formula_message fnd_new_messages.message_text%type;
141 l_language_code pay_element_types_f_tl.language%type;
142
143 --
144 Cursor c_non_payments
145 is
146 select non_payments_flag, default_priority
147 from pay_element_classifications
148 where classification_id = p_classification_id;
149
150 Cursor c_contributions_used
151 is
152 select contributions_used
153 from ben_benefit_classifications
154 where benefit_classification_id = p_benefit_classification_id;
155
156 --
157 begin
158 hr_utility.set_location('Entering:'|| l_proc, 10);
159 --
160 -- Issue a savepoint
161 --
162 savepoint CREATE_ELEMENT_TYPE;
163 --
164 -- Truncate the time portion from all IN date parameters
165 --
166 l_effective_date := trunc(p_effective_date);
167 --
168 -- Validate the language parameter. l_language_code should be passed to
169 -- functions instead of p_language_code from now on, to allow an IN OUT
170 -- parameter to be passed through.
171 --
172 l_language_code := p_language_code;
173 hr_api.validate_language_code(p_language_code => l_language_code);
174 --
175 --
176 -- Call Before Process User Hook
177 --
178 begin
179 PAY_ELEMENT_TYPES_BK1.CREATE_ELEMENT_TYPE_b
180 (p_effective_date => l_effective_date
181 ,p_classification_id => p_classification_id
182 ,p_element_name => p_element_name
183 ,p_business_group_id => p_business_group_id
184 ,p_legislation_code => p_legislation_code
185 ,p_formula_id => p_formula_id
186 ,p_input_currency_code => p_input_currency_code
187 ,p_output_currency_code => p_output_currency_code
188 ,p_benefit_classification_id => p_benefit_classification_id
189 ,p_additional_entry_allowed_fla => p_additional_entry_allowed_fla
190 ,p_adjustment_only_flag => p_adjustment_only_flag
191 ,p_closed_for_entry_flag => p_closed_for_entry_flag
192 ,p_reporting_name => p_reporting_name
193 ,p_description => p_description
194 ,p_indirect_only_flag => p_indirect_only_flag
195 ,p_multiple_entries_allowed_fla => p_multiple_entries_allowed_fla
196 ,p_multiply_value_flag => p_multiply_value_flag
197 ,p_post_termination_rule => p_post_termination_rule
198 ,p_process_in_run_flag => p_process_in_run_flag
199 ,p_processing_priority => p_processing_priority
200 ,p_processing_type => p_processing_type
201 ,p_standard_link_flag => p_standard_link_flag
202 ,p_comments => p_comments
203 ,p_legislation_subgroup => p_legislation_subgroup
204 ,p_qualifying_age => p_qualifying_age
205 ,p_qualifying_length_of_service => p_qualifying_length_of_service
206 ,p_qualifying_units => p_qualifying_units
207 ,p_attribute_category => p_attribute_category
208 ,p_attribute1 => p_attribute1
209 ,p_attribute2 => p_attribute2
210 ,p_attribute3 => p_attribute3
211 ,p_attribute4 => p_attribute4
212 ,p_attribute5 => p_attribute5
213 ,p_attribute6 => p_attribute6
214 ,p_attribute7 => p_attribute7
215 ,p_attribute8 => p_attribute8
216 ,p_attribute9 => p_attribute9
217 ,p_attribute10 => p_attribute10
218 ,p_attribute11 => p_attribute11
219 ,p_attribute12 => p_attribute12
220 ,p_attribute13 => p_attribute13
221 ,p_attribute14 => p_attribute14
222 ,p_attribute15 => p_attribute15
223 ,p_attribute16 => p_attribute16
224 ,p_attribute17 => p_attribute17
225 ,p_attribute18 => p_attribute18
226 ,p_attribute19 => p_attribute19
227 ,p_attribute20 => p_attribute20
228 ,p_element_information_category => p_element_information_category
229 ,p_element_information1 => p_element_information1
230 ,p_element_information2 => p_element_information2
231 ,p_element_information3 => p_element_information3
232 ,p_element_information4 => p_element_information4
233 ,p_element_information5 => p_element_information5
234 ,p_element_information6 => p_element_information6
235 ,p_element_information7 => p_element_information7
236 ,p_element_information8 => p_element_information8
237 ,p_element_information9 => p_element_information9
238 ,p_element_information10 => p_element_information10
239 ,p_element_information11 => p_element_information11
240 ,p_element_information12 => p_element_information12
241 ,p_element_information13 => p_element_information13
242 ,p_element_information14 => p_element_information14
243 ,p_element_information15 => p_element_information15
244 ,p_element_information16 => p_element_information16
245 ,p_element_information17 => p_element_information17
246 ,p_element_information18 => p_element_information18
247 ,p_element_information19 => p_element_information19
248 ,p_element_information20 => p_element_information20
249 ,p_third_party_pay_only_flag => p_third_party_pay_only_flag
250 ,p_iterative_flag => p_iterative_flag
251 ,p_iterative_formula_id => p_iterative_formula_id
252 ,p_iterative_priority => p_iterative_priority
253 ,p_creator_type => p_creator_type
254 ,p_retro_summ_ele_id => p_retro_summ_ele_id
255 ,p_grossup_flag => p_grossup_flag
256 ,p_process_mode => p_process_mode
257 ,p_advance_indicator => p_advance_indicator
258 ,p_advance_payable => p_advance_payable
259 ,p_advance_deduction => p_advance_deduction
260 ,p_process_advance_entry => p_process_advance_entry
261 ,p_proration_group_id => p_proration_group_id
262 ,p_proration_formula_id => p_proration_formula_id
263 ,p_recalc_event_group_id => p_recalc_event_group_id
264 ,p_default_uom => p_default_uom
265 ,p_once_each_period_flag => p_once_each_period_flag
266 ,p_language_code => l_language_code
267 ,p_time_definition_type => p_time_definition_type
268 ,p_time_definition_id => p_time_definition_id
269 ,p_advance_element_type_id => p_advance_element_type_id
270 ,p_deduction_element_type_id => p_deduction_element_type_id
271 );
272 exception
273 when hr_api.cannot_find_prog_unit then
274 hr_api.cannot_find_prog_unit_error
275 (p_module_name => 'CREATE_ELEMENT_TYPE'
276 ,p_hook_type => 'BP'
277 );
278 end;
279 --
280 -- Validation in addition to Row Handlers
281 --
282 Open c_non_payments;
283 Fetch c_non_payments into l_non_payments_flag, l_default_priority;
284 Close c_non_payments;
285 --
286 -- Default Processing Priority from the element classification
287 --
288 If p_processing_priority is null Then
289 l_processing_priority := l_default_priority;
290 Else
291 l_processing_priority := p_processing_priority;
292 End If;
293 --
294 -- Process Logic
295 --
296 pay_etp_ins_nd.ins
297 (p_effective_date => l_effective_date
298 ,p_classification_id => p_classification_id
299 ,p_additional_entry_allowed_fla => p_additional_entry_allowed_fla
300 ,p_adjustment_only_flag => p_adjustment_only_flag
301 ,p_closed_for_entry_flag => p_closed_for_entry_flag
302 ,p_element_name => p_element_name
303 ,p_indirect_only_flag => p_indirect_only_flag
304 ,p_multiple_entries_allowed_fla => p_multiple_entries_allowed_fla
305 ,p_multiply_value_flag => p_multiply_value_flag
306 ,p_post_termination_rule => p_post_termination_rule
307 ,p_process_in_run_flag => p_process_in_run_flag
308 ,p_processing_priority => l_processing_priority
309 ,p_processing_type => p_processing_type
310 ,p_standard_link_flag => p_standard_link_flag
311 ,p_business_group_id => p_business_group_id
312 ,p_legislation_code => p_legislation_code
313 ,p_formula_id => p_formula_id
314 ,p_input_currency_code => p_input_currency_code
315 ,p_output_currency_code => p_output_currency_code
316 ,p_benefit_classification_id => p_benefit_classification_id
317 ,p_comments => p_comments
318 ,p_description => p_description
319 ,p_legislation_subgroup => p_legislation_subgroup
320 ,p_qualifying_age => p_qualifying_age
321 ,p_qualifying_length_of_service => p_qualifying_length_of_service
322 ,p_qualifying_units => p_qualifying_units
323 ,p_reporting_name => p_reporting_name
324 ,p_attribute_category => p_attribute_category
325 ,p_attribute1 => p_attribute1
326 ,p_attribute2 => p_attribute2
327 ,p_attribute3 => p_attribute3
328 ,p_attribute4 => p_attribute4
329 ,p_attribute5 => p_attribute5
330 ,p_attribute6 => p_attribute6
331 ,p_attribute7 => p_attribute7
332 ,p_attribute8 => p_attribute8
333 ,p_attribute9 => p_attribute9
334 ,p_attribute10 => p_attribute10
335 ,p_attribute11 => p_attribute11
336 ,p_attribute12 => p_attribute12
337 ,p_attribute13 => p_attribute13
338 ,p_attribute14 => p_attribute14
339 ,p_attribute15 => p_attribute15
340 ,p_attribute16 => p_attribute16
341 ,p_attribute17 => p_attribute17
342 ,p_attribute18 => p_attribute18
343 ,p_attribute19 => p_attribute19
344 ,p_attribute20 => p_attribute20
345 ,p_element_information_category => p_element_information_category
346 ,p_element_information1 => p_element_information1
347 ,p_element_information2 => p_element_information2
348 ,p_element_information3 => p_element_information3
349 ,p_element_information4 => p_element_information4
350 ,p_element_information5 => p_element_information5
351 ,p_element_information6 => p_element_information6
352 ,p_element_information7 => p_element_information7
353 ,p_element_information8 => p_element_information8
354 ,p_element_information9 => p_element_information9
355 ,p_element_information10 => p_element_information10
356 ,p_element_information11 => p_element_information11
357 ,p_element_information12 => p_element_information12
358 ,p_element_information13 => p_element_information13
359 ,p_element_information14 => p_element_information14
360 ,p_element_information15 => p_element_information15
361 ,p_element_information16 => p_element_information16
362 ,p_element_information17 => p_element_information17
363 ,p_element_information18 => p_element_information18
364 ,p_element_information19 => p_element_information19
365 ,p_element_information20 => p_element_information20
366 ,p_third_party_pay_only_flag => p_third_party_pay_only_flag
367 ,p_iterative_flag => p_iterative_flag
368 ,p_iterative_formula_id => p_iterative_formula_id
369 ,p_iterative_priority => p_iterative_priority
370 ,p_creator_type => p_creator_type
371 ,p_retro_summ_ele_id => p_retro_summ_ele_id
372 ,p_grossup_flag => p_grossup_flag
373 ,p_process_mode => p_process_mode
374 ,p_advance_indicator => p_advance_indicator
375 ,p_advance_payable => p_advance_payable
376 ,p_advance_deduction => p_advance_deduction
377 ,p_process_advance_entry => p_process_advance_entry
378 ,p_proration_group_id => p_proration_group_id
379 ,p_proration_formula_id => p_proration_formula_id
380 ,p_recalc_event_group_id => p_recalc_event_group_id
381 ,p_once_each_period_flag => p_once_each_period_flag
382 ,p_time_definition_type => p_time_definition_type
383 ,p_time_definition_id => p_time_definition_id
384 ,p_element_type_id => l_element_type_id
385 ,p_object_version_number => l_object_version_number
386 ,p_effective_start_date => l_effective_start_date
387 ,p_effective_end_date => l_effective_end_date
388 ,p_comment_id => l_comment_id
389 ,p_processing_priority_warning => l_processing_priority_warning
390 );
391
392 --
393 -- Create default entries in pay_element_types_f_tl table
394 --
395 pay_ett_ins.ins_tl
396 (p_language_code => l_language_code
397 ,p_element_type_id => l_element_type_id
398 ,p_element_name => p_element_name
399 ,p_reporting_name => p_reporting_name
400 ,p_description => p_description
401 );
402 --
403 -- Create element DB items on the entity horizon
404 --
405 hrdyndbi.create_element_type_dict(l_element_type_id,
406 l_effective_start_date);
407
408
409 If (p_process_in_run_flag = 'Y' and nvl(l_non_payments_flag,'Y') = 'N') Then
410 --
411 -- Create default input value
412 --
413 -- Bug 4445125. generate_db_items_flag must be always 'Y' for
414 -- default input value.
415 --
416 l_generate_db_items_flag := 'Y';
417 --
418 l_display_sequence := l_display_sequence + 1;
419 --
420 pay_input_value_api.create_input_value
421 (p_validate => false
422 ,p_effective_date => l_effective_date
423 ,p_element_type_id => l_element_type_id
424 ,p_name => 'Pay Value'
425 ,p_uom => 'M'
426 ,p_display_sequence => l_display_sequence
427 ,p_generate_db_items_flag => l_generate_db_items_flag
428 ,p_input_value_id => l_input_value_id
429 ,p_object_version_number => l_iv_object_version_number
430 ,p_effective_start_date => l_iv_effective_start_date
431 ,p_effective_end_date => l_iv_effective_end_date
432 ,p_default_val_warning => l_default_val_warning
433 ,p_min_max_warning => l_min_max_warning
434 ,p_pay_basis_warning => l_pay_basis_warning
435 ,p_formula_warning => l_formula_warning
436 ,p_assignment_id_warning => l_assignment_id_warning
437 ,p_formula_message => l_formula_message
438 );
439 --
440 End If;
441 --
442 Open c_contributions_used;
443 Fetch c_contributions_used into l_contributions_used;
444 Close c_contributions_used;
445 --
446 If nvl(l_contributions_used,'N') = 'Y' Then
447 --
448 -- Create default benefit input values for type A benefit plans
449 --
450 pay_input_value_api.create_input_value
451 (p_validate => false
452 ,p_effective_date => l_effective_date
453 ,p_element_type_id => l_element_type_id
454 ,p_name => 'Coverage'
455 ,p_uom => 'C'
456 ,p_display_sequence => (l_display_sequence + 1)
457 ,p_generate_db_items_flag => 'Y'
458 ,p_hot_default_flag => 'N'
459 ,p_input_value_id => l_input_value_id
460 ,p_object_version_number => l_iv_object_version_number
461 ,p_effective_start_date => l_iv_effective_start_date
462 ,p_effective_end_date => l_iv_effective_end_date
463 ,p_default_val_warning => l_default_val_warning
464 ,p_min_max_warning => l_min_max_warning
465 ,p_pay_basis_warning => l_pay_basis_warning
466 ,p_formula_warning => l_formula_warning
467 ,p_assignment_id_warning => l_assignment_id_warning
468 ,p_formula_message => l_formula_message
469 );
470 --
471 pay_input_value_api.create_input_value
472 (p_validate => false
473 ,p_effective_date => l_effective_date
474 ,p_element_type_id => l_element_type_id
475 ,p_name => 'ER Contr'
476 ,p_uom => p_default_uom
477 ,p_display_sequence => (l_display_sequence + 2)
478 ,p_generate_db_items_flag => 'Y'
479 ,p_hot_default_flag => 'N'
480 ,p_input_value_id => l_input_value_id
481 ,p_object_version_number => l_iv_object_version_number
482 ,p_effective_start_date => l_iv_effective_start_date
483 ,p_effective_end_date => l_iv_effective_end_date
484 ,p_default_val_warning => l_default_val_warning
485 ,p_min_max_warning => l_min_max_warning
486 ,p_pay_basis_warning => l_pay_basis_warning
487 ,p_formula_warning => l_formula_warning
488 ,p_assignment_id_warning => l_assignment_id_warning
489 ,p_formula_message => l_formula_message
490 );
491 --
492 pay_input_value_api.create_input_value
493 (p_validate => false
494 ,p_effective_date => l_effective_date
495 ,p_element_type_id => l_element_type_id
496 ,p_name => 'EE Contr'
497 ,p_uom => p_default_uom
498 ,p_display_sequence => (l_display_sequence + 3)
499 ,p_generate_db_items_flag => 'Y'
500 ,p_hot_default_flag => 'N'
501 ,p_input_value_id => l_input_value_id
502 ,p_object_version_number => l_iv_object_version_number
503 ,p_effective_start_date => l_iv_effective_start_date
504 ,p_effective_end_date => l_iv_effective_end_date
505 ,p_default_val_warning => l_default_val_warning
506 ,p_min_max_warning => l_min_max_warning
507 ,p_pay_basis_warning => l_pay_basis_warning
508 ,p_formula_warning => l_formula_warning
509 ,p_assignment_id_warning => l_assignment_id_warning
510 ,p_formula_message => l_formula_message
511 );
512 --
513 End If;
514 --
515 -- Create sub-classification rules
516 --
517 pay_sub_class_rules_pkg.insert_defaults
518 (l_element_type_id
519 ,p_classification_id
520 ,l_effective_start_date
521 ,l_effective_end_date
522 ,p_business_group_id
523 ,null);
524 --
525 -- Populate the retro component usages for the element type.
526 --
527 pay_retro_comp_usage_internal.populate_retro_comp_usages
528 (p_effective_date => l_effective_date
529 ,p_element_type_id => l_element_type_id
530 );
531 --
532 --
533 -- Call After Process User Hook
534 --
535 begin
536 PAY_ELEMENT_TYPES_BK1.CREATE_ELEMENT_TYPE_a
537 (p_effective_date => p_effective_date
538 ,p_classification_id => p_classification_id
539 ,p_element_name => p_element_name
540 ,p_business_group_id => p_business_group_id
541 ,p_legislation_code => p_legislation_code
542 ,p_formula_id => p_formula_id
543 ,p_input_currency_code => l_input_currency_code
544 ,p_output_currency_code => l_output_currency_code
545 ,p_benefit_classification_id => p_benefit_classification_id
546 ,p_additional_entry_allowed_fla => p_additional_entry_allowed_fla
547 ,p_adjustment_only_flag => p_adjustment_only_flag
548 ,p_closed_for_entry_flag => p_closed_for_entry_flag
549 ,p_reporting_name => p_reporting_name
550 ,p_description => p_description
551 ,p_indirect_only_flag => p_indirect_only_flag
552 ,p_multiple_entries_allowed_fla => p_multiple_entries_allowed_fla
553 ,p_multiply_value_flag => p_multiply_value_flag
554 ,p_post_termination_rule => p_post_termination_rule
555 ,p_process_in_run_flag => p_process_in_run_flag
556 ,p_processing_priority => l_processing_priority
557 ,p_processing_type => p_processing_type
558 ,p_standard_link_flag => p_standard_link_flag
559 ,p_comments => p_comments
560 ,p_legislation_subgroup => p_legislation_subgroup
561 ,p_qualifying_age => p_qualifying_age
562 ,p_qualifying_length_of_service => p_qualifying_length_of_service
563 ,p_qualifying_units => p_qualifying_units
564 ,p_attribute_category => p_attribute_category
565 ,p_attribute1 => p_attribute1
566 ,p_attribute2 => p_attribute2
567 ,p_attribute3 => p_attribute3
568 ,p_attribute4 => p_attribute4
569 ,p_attribute5 => p_attribute5
570 ,p_attribute6 => p_attribute6
571 ,p_attribute7 => p_attribute7
572 ,p_attribute8 => p_attribute8
573 ,p_attribute9 => p_attribute9
574 ,p_attribute10 => p_attribute10
575 ,p_attribute11 => p_attribute11
576 ,p_attribute12 => p_attribute12
577 ,p_attribute13 => p_attribute13
578 ,p_attribute14 => p_attribute14
579 ,p_attribute15 => p_attribute15
580 ,p_attribute16 => p_attribute16
581 ,p_attribute17 => p_attribute17
582 ,p_attribute18 => p_attribute18
583 ,p_attribute19 => p_attribute19
584 ,p_attribute20 => p_attribute20
585 ,p_element_information_category => p_element_information_category
586 ,p_element_information1 => p_element_information1
587 ,p_element_information2 => p_element_information2
588 ,p_element_information3 => p_element_information3
589 ,p_element_information4 => p_element_information4
590 ,p_element_information5 => p_element_information5
591 ,p_element_information6 => p_element_information6
592 ,p_element_information7 => p_element_information7
593 ,p_element_information8 => p_element_information8
594 ,p_element_information9 => p_element_information9
595 ,p_element_information10 => p_element_information10
596 ,p_element_information11 => p_element_information11
597 ,p_element_information12 => p_element_information12
598 ,p_element_information13 => p_element_information13
599 ,p_element_information14 => p_element_information14
600 ,p_element_information15 => p_element_information15
601 ,p_element_information16 => p_element_information16
602 ,p_element_information17 => p_element_information17
603 ,p_element_information18 => p_element_information18
604 ,p_element_information19 => p_element_information19
605 ,p_element_information20 => p_element_information20
606 ,p_third_party_pay_only_flag => p_third_party_pay_only_flag
607 ,p_iterative_flag => p_iterative_flag
608 ,p_iterative_formula_id => p_iterative_formula_id
609 ,p_iterative_priority => p_iterative_priority
610 ,p_creator_type => p_creator_type
611 ,p_retro_summ_ele_id => p_retro_summ_ele_id
612 ,p_grossup_flag => p_grossup_flag
613 ,p_process_mode => p_process_mode
614 ,p_advance_indicator => p_advance_indicator
615 ,p_advance_payable => p_advance_payable
616 ,p_advance_deduction => p_advance_deduction
617 ,p_process_advance_entry => p_process_advance_entry
618 ,p_proration_group_id => p_proration_group_id
619 ,p_proration_formula_id => p_proration_formula_id
620 ,p_recalc_event_group_id => p_recalc_event_group_id
621 ,p_default_uom => p_default_uom
622 ,p_once_each_period_flag => p_once_each_period_flag
623 ,p_language_code => l_language_code
624 ,p_time_definition_type => p_time_definition_type
625 ,p_time_definition_id => p_time_definition_id
626 ,p_advance_element_type_id => p_advance_element_type_id
627 ,p_deduction_element_type_id => p_deduction_element_type_id
628 ,p_element_type_id => l_element_type_id
629 ,p_effective_start_date => l_effective_start_date
630 ,p_effective_end_date => l_effective_end_date
631 ,p_object_version_number => l_object_version_number
632 ,p_comment_id => l_comment_id
633 ,p_processing_priority_warning => l_processing_priority_warning
634 );
635 exception
636 when hr_api.cannot_find_prog_unit then
637 hr_api.cannot_find_prog_unit_error
638 (p_module_name => 'CREATE_ELEMENT_TYPE'
639 ,p_hook_type => 'AP'
640 );
641 end;
642 --
643 -- When in validation only mode raise the Validate_Enabled exception
644 --
645 if p_validate then
646 raise hr_api.validate_enabled;
647 end if;
648 --
649 -- Set all output arguments
650 --
651 p_element_type_id := l_element_type_id;
652 p_effective_start_date := l_effective_start_date;
653 p_effective_end_date := l_effective_end_date;
654 p_object_version_number := l_object_version_number;
655 p_comment_id := l_comment_id;
656 p_processing_priority_warning := l_processing_priority_warning;
657 --
658 hr_utility.set_location(' Leaving:'||l_proc, 70);
659 exception
660 when hr_api.validate_enabled then
661 --
662 -- As the Validate_Enabled exception has been raised
663 -- we must rollback to the savepoint
664 --
665 rollback to CREATE_ELEMENT_TYPE;
666 --
667 -- Only set output warning arguments
668 -- (Any key or derived arguments must be set to null
669 -- when validation only mode is being used.)
670 --
671 p_element_type_id := null;
672 p_object_version_number := null;
673 p_effective_start_date := null;
674 p_effective_end_date := null;
675 p_comment_id := null;
676 p_processing_priority_warning := l_processing_priority_warning;
677 --
678 hr_utility.set_location(' Leaving:'||l_proc, 80);
679 when others then
680 --
681 -- A validation or unexpected error has occured
682 --
683 rollback to CREATE_ELEMENT_TYPE;
684 hr_utility.set_location(' Leaving:'||l_proc, 90);
685 raise;
686 end CREATE_ELEMENT_TYPE;
687 --
688 -- ----------------------------------------------------------------------------
689 -- |--------------------------< UPDATE_ELEMENT_TYPE >-------------------------|
690 -- ----------------------------------------------------------------------------
691 --
692 procedure UPDATE_ELEMENT_TYPE
693 (p_validate in boolean default false
694 ,p_effective_date in date
695 ,p_datetrack_update_mode in varchar2
696 ,p_element_type_id in number
697 ,p_object_version_number in out nocopy number
698 ,p_formula_id in number default hr_api.g_number
699 ,p_benefit_classification_id in number default hr_api.g_number
700 ,p_additional_entry_allowed_fla in varchar2 default hr_api.g_varchar2
701 ,p_adjustment_only_flag in varchar2 default hr_api.g_varchar2
702 ,p_closed_for_entry_flag in varchar2 default hr_api.g_varchar2
703 ,p_element_name in varchar2 default hr_api.g_varchar2
704 ,p_reporting_name in varchar2 default hr_api.g_varchar2
705 ,p_description in varchar2 default hr_api.g_varchar2
706 ,p_indirect_only_flag in varchar2 default hr_api.g_varchar2
707 ,p_multiple_entries_allowed_fla in varchar2 default hr_api.g_varchar2
708 ,p_multiply_value_flag in varchar2 default hr_api.g_varchar2
709 ,p_post_termination_rule in varchar2 default hr_api.g_varchar2
710 ,p_process_in_run_flag in varchar2 default hr_api.g_varchar2
711 ,p_processing_priority in number default hr_api.g_number
712 ,p_standard_link_flag in varchar2 default hr_api.g_varchar2
713 ,p_comments in varchar2 default hr_api.g_varchar2
714 ,p_third_party_pay_only_flag in varchar2 default hr_api.g_varchar2
715 ,p_iterative_flag in varchar2 default hr_api.g_varchar2
716 ,p_iterative_formula_id in number default hr_api.g_number
717 ,p_iterative_priority in number default hr_api.g_number
718 ,p_creator_type in varchar2 default hr_api.g_varchar2
719 ,p_retro_summ_ele_id in number default hr_api.g_number
720 ,p_grossup_flag in varchar2 default hr_api.g_varchar2
721 ,p_process_mode in varchar2 default hr_api.g_varchar2
722 ,p_advance_indicator in varchar2 default hr_api.g_varchar2
723 ,p_advance_payable in varchar2 default hr_api.g_varchar2
724 ,p_advance_deduction in varchar2 default hr_api.g_varchar2
725 ,p_process_advance_entry in varchar2 default hr_api.g_varchar2
726 ,p_proration_group_id in number default hr_api.g_number
727 ,p_proration_formula_id in number default hr_api.g_number
728 ,p_recalc_event_group_id in number default hr_api.g_number
729 ,p_qualifying_age in number default hr_api.g_number
730 ,p_qualifying_length_of_service in number default hr_api.g_number
731 ,p_qualifying_units in varchar2 default hr_api.g_varchar2
732 ,p_advance_element_type_id in number default hr_api.g_number
733 ,p_deduction_element_type_id in number default hr_api.g_number
734 ,p_attribute_category in varchar2 default hr_api.g_varchar2
735 ,p_attribute1 in varchar2 default hr_api.g_varchar2
736 ,p_attribute2 in varchar2 default hr_api.g_varchar2
737 ,p_attribute3 in varchar2 default hr_api.g_varchar2
738 ,p_attribute4 in varchar2 default hr_api.g_varchar2
739 ,p_attribute5 in varchar2 default hr_api.g_varchar2
740 ,p_attribute6 in varchar2 default hr_api.g_varchar2
741 ,p_attribute7 in varchar2 default hr_api.g_varchar2
742 ,p_attribute8 in varchar2 default hr_api.g_varchar2
743 ,p_attribute9 in varchar2 default hr_api.g_varchar2
744 ,p_attribute10 in varchar2 default hr_api.g_varchar2
745 ,p_attribute11 in varchar2 default hr_api.g_varchar2
746 ,p_attribute12 in varchar2 default hr_api.g_varchar2
747 ,p_attribute13 in varchar2 default hr_api.g_varchar2
748 ,p_attribute14 in varchar2 default hr_api.g_varchar2
749 ,p_attribute15 in varchar2 default hr_api.g_varchar2
750 ,p_attribute16 in varchar2 default hr_api.g_varchar2
751 ,p_attribute17 in varchar2 default hr_api.g_varchar2
752 ,p_attribute18 in varchar2 default hr_api.g_varchar2
753 ,p_attribute19 in varchar2 default hr_api.g_varchar2
754 ,p_attribute20 in varchar2 default hr_api.g_varchar2
755 ,p_element_information_category in varchar2 default hr_api.g_varchar2
756 ,p_element_information1 in varchar2 default hr_api.g_varchar2
757 ,p_element_information2 in varchar2 default hr_api.g_varchar2
758 ,p_element_information3 in varchar2 default hr_api.g_varchar2
759 ,p_element_information4 in varchar2 default hr_api.g_varchar2
760 ,p_element_information5 in varchar2 default hr_api.g_varchar2
761 ,p_element_information6 in varchar2 default hr_api.g_varchar2
762 ,p_element_information7 in varchar2 default hr_api.g_varchar2
763 ,p_element_information8 in varchar2 default hr_api.g_varchar2
764 ,p_element_information9 in varchar2 default hr_api.g_varchar2
765 ,p_element_information10 in varchar2 default hr_api.g_varchar2
766 ,p_element_information11 in varchar2 default hr_api.g_varchar2
767 ,p_element_information12 in varchar2 default hr_api.g_varchar2
768 ,p_element_information13 in varchar2 default hr_api.g_varchar2
769 ,p_element_information14 in varchar2 default hr_api.g_varchar2
770 ,p_element_information15 in varchar2 default hr_api.g_varchar2
771 ,p_element_information16 in varchar2 default hr_api.g_varchar2
772 ,p_element_information17 in varchar2 default hr_api.g_varchar2
773 ,p_element_information18 in varchar2 default hr_api.g_varchar2
774 ,p_element_information19 in varchar2 default hr_api.g_varchar2
775 ,p_element_information20 in varchar2 default hr_api.g_varchar2
776 ,p_once_each_period_flag in varchar2 default hr_api.g_varchar2
777 ,p_language_code in varchar2 default hr_api.userenv_lang
778 ,p_time_definition_type in varchar2 default hr_api.g_varchar2
779 ,p_time_definition_id in number default hr_api.g_number
780 ,p_effective_start_date out nocopy date
781 ,p_effective_end_date out nocopy date
782 ,p_comment_id out nocopy number
783 ,p_processing_priority_warning out nocopy boolean
784 ,p_element_name_warning out nocopy boolean
785 ,p_element_name_change_warning out nocopy boolean
786 ) is
787 --
788 -- Declare cursors and local variables
789 --
790
791 l_proc varchar2(72):=g_package||'UPDATE_ELEMENT_TYPE';
792 l_effective_date date;
793 l_effective_start_date date;
794 l_effective_end_date date;
795 l_processing_priority_warning boolean;
796 l_element_name_warning boolean;
797 l_element_name_change_warning boolean;
798 l_rowcount number;
799 l_datetrack_update_mode varchar2(30) := p_datetrack_update_mode;
800 l_object_version_number pay_element_types_f.object_version_number%type;
801 l_comment_id pay_element_types_f.comment_id%type;
802 l_old_rec pay_element_types_f%rowtype;
803 l_current_rec pay_element_types_f_tl%rowtype;
804 l_base_element_name pay_element_types_f.element_name%type;
805 l_recreate_db_items varchar2(1) := 'N';
806 l_language_code pay_element_types_f_tl.language%type;
807
808
809 Cursor c_old_rec (v_effective_date date)
810 is
811 select etp.*
812 from pay_element_types_f etp
813 where element_type_id = p_element_type_id
814 and nvl(v_effective_date,effective_start_date) >= effective_start_date
815 and nvl(v_effective_date,effective_end_date) <= effective_end_date;
816 --
817 CURSOR elem_cursor (p_language_code in varchar2)
818 IS
819 SELECT source_lang, element_name, element_type_id
820 FROM pay_element_types_f_tl ett
821 WHERE ett.element_type_id = p_element_type_id
822 AND ett.language = nvl(p_language_code,ett.language);
823
824 begin
825 hr_utility.set_location('Entering:'|| l_proc, 10);
826 --
827 -- Issue a savepoint
828 --
829 savepoint UPDATE_ELEMENT_TYPE;
830 --
831 -- Truncate the time portion from all IN date parameters
832 --
833 l_effective_date := trunc(p_effective_date);
834 l_object_version_number := p_object_version_number;
835 --
836 -- Validate the language parameter. l_language_code should be passed to
837 -- functions instead of p_language_code from now on, to allow an IN OUT
838 -- parameter to be passed through.
839 --
840 l_language_code := p_language_code;
841 hr_api.validate_language_code(p_language_code => l_language_code);
842 --
843 l_element_name_warning := false;
844 l_element_name_change_warning := false;
845 --
846 -- Call Before Process User Hook
847 --
848 begin
849 PAY_ELEMENT_TYPES_BK2.UPDATE_ELEMENT_TYPE_b
850 (p_effective_date => l_effective_date
851 ,p_datetrack_update_mode => p_datetrack_update_mode
852 ,p_element_type_id => p_element_type_id
853 ,p_object_version_number => l_object_version_number
854 ,p_formula_id => p_formula_id
855 ,p_benefit_classification_id => p_benefit_classification_id
856 ,p_additional_entry_allowed_fla => p_additional_entry_allowed_fla
857 ,p_adjustment_only_flag => p_adjustment_only_flag
858 ,p_closed_for_entry_flag => p_closed_for_entry_flag
859 ,p_element_name => p_element_name
860 ,p_reporting_name => p_reporting_name
861 ,p_description => p_description
862 ,p_indirect_only_flag => p_indirect_only_flag
863 ,p_multiple_entries_allowed_fla => p_multiple_entries_allowed_fla
864 ,p_multiply_value_flag => p_multiply_value_flag
865 ,p_post_termination_rule => p_post_termination_rule
866 ,p_process_in_run_flag => p_process_in_run_flag
867 ,p_processing_priority => p_processing_priority
868 ,p_standard_link_flag => p_standard_link_flag
869 ,p_comments => p_comments
870 ,p_qualifying_age => p_qualifying_age
871 ,p_qualifying_length_of_service => p_qualifying_length_of_service
872 ,p_qualifying_units => p_qualifying_units
873 ,p_attribute_category => p_attribute_category
874 ,p_attribute1 => p_attribute1
875 ,p_attribute2 => p_attribute2
876 ,p_attribute3 => p_attribute3
877 ,p_attribute4 => p_attribute4
878 ,p_attribute5 => p_attribute5
879 ,p_attribute6 => p_attribute6
880 ,p_attribute7 => p_attribute7
881 ,p_attribute8 => p_attribute8
882 ,p_attribute9 => p_attribute9
883 ,p_attribute10 => p_attribute10
884 ,p_attribute11 => p_attribute11
885 ,p_attribute12 => p_attribute12
886 ,p_attribute13 => p_attribute13
887 ,p_attribute14 => p_attribute14
888 ,p_attribute15 => p_attribute15
889 ,p_attribute16 => p_attribute16
890 ,p_attribute17 => p_attribute17
891 ,p_attribute18 => p_attribute18
892 ,p_attribute19 => p_attribute19
893 ,p_attribute20 => p_attribute20
894 ,p_element_information_category => p_element_information_category
895 ,p_element_information1 => p_element_information1
896 ,p_element_information2 => p_element_information2
897 ,p_element_information3 => p_element_information3
898 ,p_element_information4 => p_element_information4
899 ,p_element_information5 => p_element_information5
900 ,p_element_information6 => p_element_information6
901 ,p_element_information7 => p_element_information7
902 ,p_element_information8 => p_element_information8
903 ,p_element_information9 => p_element_information9
904 ,p_element_information10 => p_element_information10
905 ,p_element_information11 => p_element_information11
906 ,p_element_information12 => p_element_information12
907 ,p_element_information13 => p_element_information13
908 ,p_element_information14 => p_element_information14
909 ,p_element_information15 => p_element_information15
910 ,p_element_information16 => p_element_information16
911 ,p_element_information17 => p_element_information17
912 ,p_element_information18 => p_element_information18
913 ,p_element_information19 => p_element_information19
914 ,p_element_information20 => p_element_information20
915 ,p_third_party_pay_only_flag => p_third_party_pay_only_flag
916 ,p_iterative_flag => p_iterative_flag
917 ,p_iterative_formula_id => p_iterative_formula_id
918 ,p_iterative_priority => p_iterative_priority
919 ,p_creator_type => p_creator_type
920 ,p_retro_summ_ele_id => p_retro_summ_ele_id
921 ,p_grossup_flag => p_grossup_flag
922 ,p_process_mode => p_process_mode
923 ,p_advance_indicator => p_advance_indicator
924 ,p_advance_payable => p_advance_payable
925 ,p_advance_deduction => p_advance_deduction
926 ,p_process_advance_entry => p_process_advance_entry
927 ,p_proration_group_id => p_proration_group_id
928 ,p_proration_formula_id => p_proration_formula_id
929 ,p_recalc_event_group_id => p_recalc_event_group_id
930 ,p_once_each_period_flag => p_once_each_period_flag
931 ,p_language_code => l_language_code
932 ,p_time_definition_type => p_time_definition_type
933 ,p_time_definition_id => p_time_definition_id
934 ,p_advance_element_type_id => p_advance_element_type_id
935 ,p_deduction_element_type_id => p_deduction_element_type_id
936 );
937 exception
938 when hr_api.cannot_find_prog_unit then
939 hr_api.cannot_find_prog_unit_error
940 (p_module_name => 'UPDATE_ELEMENT_TYPE'
941 ,p_hook_type => 'BP'
942 );
943 end;
944 --
945 -- Validation in addition to Row Handlers
946 --
947 Open c_old_rec(l_effective_date);
948 Fetch c_old_rec into l_old_rec;
949 If c_old_rec%notfound then
950 Close c_old_rec;
951 --
952 -- The primary key is invalid therefore we must error
953 --
954 fnd_message.set_name('PAY', 'HR_7220_INVALID_PRIMARY_KEY');
955 fnd_message.raise_error;
956 End If;
957 Close c_old_rec;
958 --
959 -- Enforce datetrack mode to 'CORRECTION' if certain columns are updated.
960 --
961 If (
962 (p_element_name <> hr_api.g_varchar2 and
963 p_element_name <> l_old_rec.element_name)
964 or
965 (p_reporting_name <> hr_api.g_varchar2 and
966 p_reporting_name <> l_old_rec.reporting_name)
967 or
968 (p_indirect_only_flag <> hr_api.g_varchar2 and
969 p_indirect_only_flag <> l_old_rec.indirect_only_flag)
970 or
971 (p_additional_entry_allowed_fla <> hr_api.g_varchar2 and
972 p_additional_entry_allowed_fla <>
973 l_old_rec.additional_entry_allowed_flag)
974 or
975 (p_standard_link_flag <> hr_api.g_varchar2 and
976 p_standard_link_flag <> l_old_rec.standard_link_flag)
977 or
978 (p_adjustment_only_flag <> hr_api.g_varchar2 and
979 p_adjustment_only_flag <> l_old_rec.adjustment_only_flag)
980 or
981 (p_post_termination_rule <> hr_api.g_varchar2 and
982 p_post_termination_rule <> l_old_rec.post_termination_rule)
983 or
984 (p_process_in_run_flag <> hr_api.g_varchar2 and
985 p_process_in_run_flag <> l_old_rec.process_in_run_flag)
986 or
987 (p_third_party_pay_only_flag <> hr_api.g_varchar2 and
988 p_third_party_pay_only_flag <> l_old_rec.third_party_pay_only_flag)
989 or
990 (p_once_each_period_flag <> hr_api.g_varchar2 and
991 p_once_each_period_flag <> l_old_rec.once_each_period_flag)
992 ) Then
993 --
994 Open c_old_rec(null);
995 Loop
996 Fetch c_old_rec into l_old_rec;
997 Exit When c_old_rec%notfound;
998 End Loop;
999 l_rowcount := c_old_rec%rowcount;
1000 Close c_old_rec;
1001 --
1002 If l_rowcount > 1 then
1003 --
1004 -- Update not allowed if element has already been date-effectively
1005 -- updated.
1006 --
1007 fnd_message.set_name('PAY', 'PAY_34151_ELE_NO_DATE_UPD');
1008 fnd_message.raise_error;
1009 End If;
1010 --
1011 If nvl(p_datetrack_update_mode,hr_api.g_correction)
1012 <> hr_api.g_correction Then
1013 l_datetrack_update_mode := hr_api.g_correction;
1014 End if;
1015 --
1016 End If;
1017 --
1018 l_base_element_name := l_old_rec.element_name;
1019 --
1020 -- Fetch the TL row for the userenv language
1021 --
1022 Open elem_cursor(l_language_code);
1023 Fetch elem_cursor into l_current_rec.source_lang,
1024 l_current_rec.element_name,
1025 l_current_rec.element_type_id;
1026 Close elem_cursor;
1027 --
1028 If (p_element_name <> hr_api.g_varchar2 and
1029 p_element_name <> l_current_rec.element_name) then
1030 --
1031 -- Fetch all the TL rows for the element
1032 --
1033 for elem_record in elem_cursor (null)
1034 loop
1035 if l_current_rec.element_name = elem_record.element_name then
1036 if elem_record.source_lang = l_language_code then
1037 l_base_element_name := p_element_name;
1038 l_recreate_db_items := 'Y';
1039 else
1040 l_element_name_warning := true;
1041 end if;
1042 end if;
1043 end loop;
1044 --
1045 l_element_name_change_warning := true;
1046 --
1047 End If;
1048 --
1049 --
1050 -- Process Logic
1051 --
1052 pay_etp_upd_nd.upd
1053 (p_effective_date => l_effective_date
1054 ,p_datetrack_mode => l_datetrack_update_mode
1055 ,p_element_type_id => p_element_type_id
1056 ,p_object_version_number => l_object_version_number
1057 ,p_additional_entry_allowed_fla => p_additional_entry_allowed_fla
1058 ,p_adjustment_only_flag => p_adjustment_only_flag
1059 ,p_closed_for_entry_flag => p_closed_for_entry_flag
1060 ,p_element_name => l_base_element_name
1061 ,p_indirect_only_flag => p_indirect_only_flag
1062 ,p_multiple_entries_allowed_fla => p_multiple_entries_allowed_fla
1063 ,p_multiply_value_flag => p_multiply_value_flag
1064 ,p_post_termination_rule => p_post_termination_rule
1065 ,p_process_in_run_flag => p_process_in_run_flag
1066 ,p_processing_priority => p_processing_priority
1067 ,p_standard_link_flag => p_standard_link_flag
1068 ,p_formula_id => p_formula_id
1069 ,p_benefit_classification_id => p_benefit_classification_id
1070 ,p_description => p_description
1071 ,p_qualifying_age => p_qualifying_age
1072 ,p_qualifying_length_of_service => p_qualifying_length_of_service
1073 ,p_qualifying_units => p_qualifying_units
1074 ,p_reporting_name => p_reporting_name
1075 ,p_attribute_category => p_attribute_category
1076 ,p_attribute1 => p_attribute1
1077 ,p_attribute2 => p_attribute2
1078 ,p_attribute3 => p_attribute3
1079 ,p_attribute4 => p_attribute4
1080 ,p_attribute5 => p_attribute5
1081 ,p_attribute6 => p_attribute6
1082 ,p_attribute7 => p_attribute7
1083 ,p_attribute8 => p_attribute8
1084 ,p_attribute9 => p_attribute9
1085 ,p_attribute10 => p_attribute10
1086 ,p_attribute11 => p_attribute11
1087 ,p_attribute12 => p_attribute12
1088 ,p_attribute13 => p_attribute13
1089 ,p_attribute14 => p_attribute14
1090 ,p_attribute15 => p_attribute15
1091 ,p_attribute16 => p_attribute16
1092 ,p_attribute17 => p_attribute17
1093 ,p_attribute18 => p_attribute18
1094 ,p_attribute19 => p_attribute19
1095 ,p_attribute20 => p_attribute20
1096 ,p_element_information_category => p_element_information_category
1097 ,p_element_information1 => p_element_information1
1098 ,p_element_information2 => p_element_information2
1099 ,p_element_information3 => p_element_information3
1100 ,p_element_information4 => p_element_information4
1101 ,p_element_information5 => p_element_information5
1102 ,p_element_information6 => p_element_information6
1103 ,p_element_information7 => p_element_information7
1104 ,p_element_information8 => p_element_information8
1105 ,p_element_information9 => p_element_information9
1106 ,p_element_information10 => p_element_information10
1107 ,p_element_information11 => p_element_information11
1108 ,p_element_information12 => p_element_information12
1109 ,p_element_information13 => p_element_information13
1110 ,p_element_information14 => p_element_information14
1111 ,p_element_information15 => p_element_information15
1112 ,p_element_information16 => p_element_information16
1113 ,p_element_information17 => p_element_information17
1114 ,p_element_information18 => p_element_information18
1115 ,p_element_information19 => p_element_information19
1116 ,p_element_information20 => p_element_information20
1117 ,p_third_party_pay_only_flag => p_third_party_pay_only_flag
1118 ,p_iterative_flag => p_iterative_flag
1119 ,p_iterative_formula_id => p_iterative_formula_id
1120 ,p_iterative_priority => p_iterative_priority
1121 ,p_creator_type => p_creator_type
1122 ,p_retro_summ_ele_id => p_retro_summ_ele_id
1123 ,p_grossup_flag => p_grossup_flag
1124 ,p_process_mode => p_process_mode
1125 ,p_advance_indicator => p_advance_indicator
1126 ,p_advance_payable => p_advance_payable
1127 ,p_advance_deduction => p_advance_deduction
1128 ,p_process_advance_entry => p_process_advance_entry
1129 ,p_proration_group_id => p_proration_group_id
1130 ,p_proration_formula_id => p_proration_formula_id
1131 ,p_recalc_event_group_id => p_recalc_event_group_id
1132 ,p_once_each_period_flag => p_once_each_period_flag
1133 ,p_time_definition_type => p_time_definition_type
1134 ,p_time_definition_id => p_time_definition_id
1135 ,p_effective_start_date => l_effective_start_date
1136 ,p_effective_end_date => l_effective_end_date
1137 ,p_comment_id => l_comment_id
1138 ,p_processing_priority_warning => l_processing_priority_warning
1139 );
1140
1141 --
1142 -- Update the translation table values
1143 --
1144 pay_ett_upd.upd_tl
1145 (p_language_code => l_language_code
1146 ,p_element_type_id => p_element_type_id
1147 ,p_element_name => p_element_name
1148 ,p_reporting_name => p_reporting_name
1149 ,p_description => p_description
1150 );
1151
1152 -- If the element name is updated then drop and recreate DB items
1153 --
1154 If l_recreate_db_items = 'Y' then
1155 pay_element_types_pkg.recreate_db_items
1156 (p_element_type_id,
1157 l_effective_date);
1158 End If;
1159
1160 -- If the Multiple Entries Allowed is updated then Re-create all the input
1161 -- value DB items for the element.
1162 --
1163 If nvl(p_multiple_entries_allowed_fla,hr_api.g_varchar2)
1164 <> hr_api.g_varchar2 Then
1165 pay_input_values_pkg.recreate_db_items(p_element_type_id);
1166 End If;
1167 --
1168 -- Call After Process User Hook
1169 --
1170 begin
1171 PAY_ELEMENT_TYPES_BK2.UPDATE_ELEMENT_TYPE_a
1172 (p_effective_date => l_effective_date
1173 ,p_datetrack_update_mode => l_datetrack_update_mode
1174 ,p_element_type_id => p_element_type_id
1175 ,p_object_version_number => l_object_version_number
1176 ,p_formula_id => p_formula_id
1177 ,p_benefit_classification_id => p_benefit_classification_id
1178 ,p_additional_entry_allowed_fla => p_additional_entry_allowed_fla
1179 ,p_adjustment_only_flag => p_adjustment_only_flag
1180 ,p_closed_for_entry_flag => p_closed_for_entry_flag
1181 ,p_element_name => p_element_name
1182 ,p_reporting_name => p_reporting_name
1183 ,p_description => p_description
1184 ,p_indirect_only_flag => p_indirect_only_flag
1185 ,p_multiple_entries_allowed_fla => p_multiple_entries_allowed_fla
1186 ,p_multiply_value_flag => p_multiply_value_flag
1187 ,p_post_termination_rule => p_post_termination_rule
1188 ,p_process_in_run_flag => p_process_in_run_flag
1189 ,p_processing_priority => p_processing_priority
1190 ,p_standard_link_flag => p_standard_link_flag
1191 ,p_comments => p_comments
1192 ,p_comment_id => l_comment_id
1193 ,p_qualifying_age => p_qualifying_age
1194 ,p_qualifying_length_of_service => p_qualifying_length_of_service
1195 ,p_qualifying_units => p_qualifying_units
1196 ,p_attribute_category => p_attribute_category
1197 ,p_attribute1 => p_attribute1
1198 ,p_attribute2 => p_attribute2
1199 ,p_attribute3 => p_attribute3
1200 ,p_attribute4 => p_attribute4
1201 ,p_attribute5 => p_attribute5
1202 ,p_attribute6 => p_attribute6
1203 ,p_attribute7 => p_attribute7
1204 ,p_attribute8 => p_attribute8
1205 ,p_attribute9 => p_attribute9
1206 ,p_attribute10 => p_attribute10
1207 ,p_attribute11 => p_attribute11
1208 ,p_attribute12 => p_attribute12
1209 ,p_attribute13 => p_attribute13
1210 ,p_attribute14 => p_attribute14
1211 ,p_attribute15 => p_attribute15
1212 ,p_attribute16 => p_attribute16
1213 ,p_attribute17 => p_attribute17
1214 ,p_attribute18 => p_attribute18
1215 ,p_attribute19 => p_attribute19
1216 ,p_attribute20 => p_attribute20
1217 ,p_element_information_category => p_element_information_category
1218 ,p_element_information1 => p_element_information1
1219 ,p_element_information2 => p_element_information2
1220 ,p_element_information3 => p_element_information3
1221 ,p_element_information4 => p_element_information4
1222 ,p_element_information5 => p_element_information5
1223 ,p_element_information6 => p_element_information6
1224 ,p_element_information7 => p_element_information7
1225 ,p_element_information8 => p_element_information8
1226 ,p_element_information9 => p_element_information9
1227 ,p_element_information10 => p_element_information10
1228 ,p_element_information11 => p_element_information11
1229 ,p_element_information12 => p_element_information12
1230 ,p_element_information13 => p_element_information13
1231 ,p_element_information14 => p_element_information14
1232 ,p_element_information15 => p_element_information15
1233 ,p_element_information16 => p_element_information16
1234 ,p_element_information17 => p_element_information17
1235 ,p_element_information18 => p_element_information18
1236 ,p_element_information19 => p_element_information19
1237 ,p_element_information20 => p_element_information20
1238 ,p_third_party_pay_only_flag => p_third_party_pay_only_flag
1239 ,p_iterative_flag => p_iterative_flag
1240 ,p_iterative_formula_id => p_iterative_formula_id
1241 ,p_iterative_priority => p_iterative_priority
1242 ,p_creator_type => p_creator_type
1243 ,p_retro_summ_ele_id => p_retro_summ_ele_id
1244 ,p_grossup_flag => p_grossup_flag
1245 ,p_process_mode => p_process_mode
1246 ,p_advance_indicator => p_advance_indicator
1247 ,p_advance_payable => p_advance_payable
1248 ,p_advance_deduction => p_advance_deduction
1249 ,p_process_advance_entry => p_process_advance_entry
1250 ,p_proration_group_id => p_proration_group_id
1251 ,p_proration_formula_id => p_proration_formula_id
1252 ,p_recalc_event_group_id => p_recalc_event_group_id
1253 ,p_once_each_period_flag => p_once_each_period_flag
1254 ,p_language_code => l_language_code
1255 ,p_time_definition_type => p_time_definition_type
1256 ,p_time_definition_id => p_time_definition_id
1257 ,p_advance_element_type_id => p_advance_element_type_id
1258 ,p_deduction_element_type_id => p_deduction_element_type_id
1259 ,p_effective_start_date => l_effective_start_date
1260 ,p_effective_end_date => l_effective_end_date
1261 ,p_processing_priority_warning => l_processing_priority_warning
1262 ,p_element_name_warning => l_element_name_warning
1263 ,p_element_name_change_warning => l_element_name_change_warning
1264 );
1265 exception
1266 when hr_api.cannot_find_prog_unit then
1267 hr_api.cannot_find_prog_unit_error
1268 (p_module_name => 'UPDATE_ELEMENT_TYPE'
1269 ,p_hook_type => 'AP'
1270 );
1271 end;
1272 --
1273 -- When in validation only mode raise the Validate_Enabled exception
1274 --
1275 if p_validate then
1276 raise hr_api.validate_enabled;
1277 end if;
1278 --
1279 -- Set all output arguments
1280 --
1281 p_effective_start_date := l_effective_start_date;
1282 p_effective_end_date := l_effective_end_date;
1283 p_object_version_number := l_object_version_number;
1284 p_comment_id := l_comment_id;
1285 p_processing_priority_warning := l_processing_priority_warning;
1286 p_element_name_warning := l_element_name_warning;
1287 p_element_name_change_warning := l_element_name_change_warning;
1288 --
1289 hr_utility.set_location(' Leaving:'||l_proc, 70);
1290 exception
1291 when hr_api.validate_enabled then
1292 --
1293 -- As the Validate_Enabled exception has been raised
1294 -- we must rollback to the savepoint
1295 --
1296 rollback to UPDATE_ELEMENT_TYPE;
1297 --
1298 -- Only set output warning arguments
1299 -- (Any key or derived arguments must be set to null
1300 -- when validation only mode is being used.)
1301 --
1302 p_effective_start_date := null;
1303 p_effective_end_date := null;
1304 p_object_version_number := null;
1305 p_comment_id := null;
1306 p_processing_priority_warning := l_processing_priority_warning;
1307 p_element_name_warning := l_element_name_warning;
1308 p_element_name_change_warning := l_element_name_change_warning;
1309 --
1310 hr_utility.set_location(' Leaving:'||l_proc, 80);
1311 when others then
1312 --
1313 -- A validation or unexpected error has occured
1314 --
1315 rollback to UPDATE_ELEMENT_TYPE;
1316 hr_utility.set_location(' Leaving:'||l_proc, 90);
1317 raise;
1318 end UPDATE_ELEMENT_TYPE;
1319 --
1320 -- ----------------------------------------------------------------------------
1321 -- |--------------------------< DELETE_ELEMENT_TYPE >-------------------------|
1322 -- ----------------------------------------------------------------------------
1323 --
1324 procedure DELETE_ELEMENT_TYPE
1325 (p_validate in boolean default false
1326 ,p_effective_date in date
1327 ,p_datetrack_delete_mode in varchar2
1328 ,p_element_type_id in number
1329 ,p_object_version_number in out nocopy number
1330 ,p_effective_start_date out nocopy date
1331 ,p_effective_end_date out nocopy date
1332 ,p_balance_feeds_warning out nocopy boolean
1333 ,p_processing_rules_warning out nocopy boolean
1334 ) is
1335 --
1336 -- Declare cursors and local variables
1337 --
1338
1339 l_proc varchar2(72):=g_package||'DELETE_ELEMENT_TYP';
1340 l_effective_date date;
1341 l_effective_start_date date;
1342 l_effective_end_date date;
1343 l_balance_feeds_warning boolean;
1344 l_processing_rules_warning boolean;
1345 l_object_version_number pay_element_types_f.object_version_number%type;
1346 --
1347 begin
1348 hr_utility.set_location('Entering:'|| l_proc, 10);
1349 --
1350 -- Issue a savepoint
1351 --
1352 savepoint DELETE_ELEMENT_TYPE;
1353 --
1354 -- Truncate the time portion from all IN date parameters
1355 --
1356 l_effective_date := trunc(p_effective_date);
1357 l_object_version_number := p_object_version_number;
1358 --
1359 -- Call Before Process User Hook
1360 --
1361 begin
1362 PAY_ELEMENT_TYPES_BK3.DELETE_ELEMENT_TYPE_b
1363 (p_effective_date => l_effective_date
1364 ,p_datetrack_delete_mode => p_datetrack_delete_mode
1365 ,p_element_type_id => p_element_type_id
1366 ,p_object_version_number => l_object_version_number
1367 );
1368 exception
1369 when hr_api.cannot_find_prog_unit then
1370 hr_api.cannot_find_prog_unit_error
1371 (p_module_name => 'DELETE_ELEMENT_TYPE'
1372 ,p_hook_type => 'BP'
1373 );
1374 end;
1375 --
1376 -- Validation in addition to Row Handlers
1377 --
1378
1379 --
1380 -- Process Logic
1381 --
1382 pay_etp_del_nd.del
1383 (p_effective_date => l_effective_date
1384 ,p_datetrack_mode => p_datetrack_delete_mode
1385 ,p_element_type_id => p_element_type_id
1386 ,p_object_version_number => l_object_version_number
1387 ,p_effective_start_date => l_effective_start_date
1388 ,p_effective_end_date => l_effective_end_date
1389 ,p_balance_feeds_warning => l_balance_feeds_warning
1390 ,p_processing_rules_warning => l_processing_rules_warning
1391 );
1392
1393 --
1394 -- Call After Process User Hook
1395 --
1396 begin
1397 PAY_ELEMENT_TYPES_BK3.DELETE_ELEMENT_TYPE_a
1398 (p_effective_date => p_effective_date
1399 ,p_datetrack_delete_mode => p_datetrack_delete_mode
1400 ,p_element_type_id => p_element_type_id
1401 ,p_object_version_number => l_object_version_number
1402 ,p_effective_start_date => l_effective_start_date
1403 ,p_effective_end_date => l_effective_end_date
1404 ,p_balance_feeds_warning => l_balance_feeds_warning
1405 ,p_processing_rules_warning => l_processing_rules_warning
1406 );
1407 exception
1408 when hr_api.cannot_find_prog_unit then
1409 hr_api.cannot_find_prog_unit_error
1410 (p_module_name => 'DELETE_ELEMENT_TYPE'
1411 ,p_hook_type => 'AP'
1412 );
1413 end;
1414 --
1415 -- When in validation only mode raise the Validate_Enabled exception
1416 --
1417 if p_validate then
1418 raise hr_api.validate_enabled;
1419 end if;
1420 --
1421 -- Set all output arguments
1422 --
1423 p_effective_start_date := l_effective_start_date;
1424 p_effective_end_date := l_effective_end_date;
1425 p_object_version_number := l_object_version_number;
1426 p_balance_feeds_warning := l_balance_feeds_warning;
1427 p_processing_rules_warning := l_processing_rules_warning;
1428 --
1429 hr_utility.set_location(' Leaving:'||l_proc, 70);
1430 exception
1431 when hr_api.validate_enabled then
1432 --
1433 -- As the Validate_Enabled exception has been raised
1434 -- we must rollback to the savepoint
1435 --
1436 rollback to DELETE_ELEMENT_TYPE;
1437 --
1438 -- Only set output warning arguments
1439 -- (Any key or derived arguments must be set to null
1440 -- when validation only mode is being used.)
1441 --
1442 p_effective_start_date := null;
1443 p_effective_end_date := null;
1444 p_object_version_number := null;
1445 p_balance_feeds_warning := l_balance_feeds_warning;
1446 p_processing_rules_warning := l_processing_rules_warning;
1447 --
1448 hr_utility.set_location(' Leaving:'||l_proc, 80);
1449 when others then
1450 --
1451 -- A validation or unexpected error has occured
1452 --
1453 rollback to DELETE_ELEMENT_TYPE;
1454 hr_utility.set_location(' Leaving:'||l_proc, 90);
1455 raise;
1456 end DELETE_ELEMENT_TYPE;
1457 --
1458
1459 end PAY_ELEMENT_TYPES_MIG;