[Home] [Help]
PACKAGE BODY: APPS.HR_AU_SUPER_API
Source
1 package body hr_au_super_api as
2 /* $Header: hrauwrsu.pkb 115.10 2004/06/07 04:21:16 srrajago ship $ */
3 /*
4 +==========================================================================================
5 | Copyright (c) 1999 Oracle Corporation Ltd
6 | All rights reserved.
7 +==========================================================================================
8 | Description : Super API Wrapper for AU
9 |
10 | Name Date Version Bug Text
11 | -------------- ---------- ------- ----- ----
12 | sclarke 11-APR-2000 115.0 Created for AU
13 | sclarke 18-APR-2000 115.1 1272400 change type of p_member_number
14 | sclarke 27-APR-2000 115.3 1281637 add p_element_entry_id parameter
15 | sclarke 02-MAY-2000 115.4 1286209 Also changed super_fund_id, procedure now
16 | validates the super fund given
17 | apunekar 24-MAY-2001 115.5 1620646 Changed query in get_payment_id
18 | function
19 | jkarouza 05-MAR-2002 115.6 2246310 Added new parameter p_override_user_ent_chk
20 | in calls to py_element_entry_api.
21 | jkarouza 22-MAR-2002 115.7 Added set verify off.
22 | Ragovind 20-NOV-2002 115.8 2665475 Modified the cursor csr_get_super_fund for Performance and removed default for gscc compliance.
23 | Ragovind 04-DEC-2002 115.9 2665475 Modified the cursor csr_get_super_fund for performance improvement and to avoid FTS and added NOCOPY
24 | srrajago 07-JUN-2004 115.10 3648796 Performance Fix to remove FTS. Assigned the correct element name to the variable
25 | g_super_element (as in seed). In the cursor csr_super_element,removed the UPPER function.
26 | Removed GSCC warnings(File.Sql.35).
27 |
28 |NOTES
29 +==========================================================================================
30 */
31 -----------------------------------
32 -- PRIVATE constants and variables
33 -----------------------------------
34 type number_table is table of number not null index by binary_integer;
35 type varchar2_table is table of varchar2(60) index by binary_integer;
36
37 g_package constant varchar2(33) := 'hr_au_super_api.';
38 g_super_element constant varchar2(60) := 'Superannuation Contribution'; -- Bug: 3648796
39 g_super_input1 constant varchar2(60) := 'PAY VALUE';
40 g_super_input2 constant varchar2(60) := 'MEMBER NUMBER';
41 g_super_input3 constant varchar2(60) := 'SG AMOUNT';
42 g_super_input4 constant varchar2(60) := 'SG PERCENT';
43 g_super_input5 constant varchar2(60) := 'NON SG AMOUNT';
44 g_super_input6 constant varchar2(60) := 'NON SG PERCENT';
45 g_legislation_code constant varchar2(2) := 'AU';
46 --
47 function get_payment_method
48 (p_assignment_id number
49 ,p_super_fund_name varchar2
50 ,p_effective_date date
51 ) return number is
52 --
53 cursor csr_get_super_fund
54 (p_assignment_id number
55 ,p_super_fund_name varchar2
56 ,p_effective_date date
57 ) is
58 select pppmf.personal_payment_method_id
59 from pay_personal_payment_methods_f pppmf
60 , hr_organization_information hou
61 , per_all_assignments_f paaf
62 where paaf.assignment_id = p_assignment_id
63 and pppmf.payee_type = 'O'
64 and pppmf.payee_id = hou.organization_id
65 and pppmf.assignment_id = paaf.assignment_id
66 and upper(p_super_fund_name) = upper(hou.org_information2)
67 and p_effective_date between pppmf.effective_start_date and pppmf.effective_end_date
68 and p_effective_date between paaf.effective_start_date and paaf.effective_end_date;
69 --
70 l_personal_payment_method_id number;
71 l_procedure constant varchar2(60) := 'get_payment_method';
72 --
73 begin
74 hr_utility.set_location(g_package||l_procedure, 1);
75 open csr_get_super_fund
76 (p_assignment_id
77 ,p_super_fund_name
78 ,p_effective_date
79 );
80 fetch csr_get_super_fund
81 into l_personal_payment_method_id;
82 if csr_get_super_fund%notfound
83 then
84 close csr_get_super_fund;
85 hr_utility.trace('Invalid super fund: '||p_super_fund_name||' for assignment_id = '||to_char(p_assignment_id));
86 hr_utility.set_message(801,'HR_AU_SUPER_FUND_NOT_VALID');
87 hr_utility.raise_error;
88 end if;
89 close csr_get_super_fund;
90 return l_personal_payment_method_id;
91 --
92 hr_utility.set_location(g_package||l_procedure, 99);
93 end get_payment_method;
94 --
95 ---------------------------------------------------------------------------------------------
96 -- PRIVATE FUNCTION valid_business_group
97 ---------------------------------------------------------------------------------------------
98 --
99 function valid_business_group
100 (p_business_group_id number
101 ) return boolean is
102 --
103 l_procedure constant varchar2(60) := 'valid_business_group';
104 l_legislation_code varchar2(30);
105 --
106 cursor csr_per_business_groups
107 is
108 select legislation_code
109 from per_business_groups
110 where business_group_id = p_business_group_id;
111 --
112 begin
113 hr_utility.set_location(g_package||l_procedure, 1);
114 open csr_per_business_groups;
115 fetch csr_per_business_groups
116 into l_legislation_code;
117 if csr_per_business_groups%notfound
118 then
119 close csr_per_business_groups;
120 hr_utility.set_location(g_package||l_procedure, 2);
121 hr_utility.trace('p_business_group_id: '||to_char(p_business_group_id));
122 return false;
123 end if;
124 close csr_per_business_groups;
125 --
126 hr_utility.set_location(g_package||l_procedure, 10);
127 if l_legislation_code = g_legislation_code
128 then
129 return true;
130 else
131 return false;
132 end if;
133 --
134 end valid_business_group;
135 --
136 ---------------------------------------------------------------------------------------------
137 -- PRIVATE FUNCTION validate_percent_variables
138 ---------------------------------------------------------------------------------------------
139 --
140 function validate_percent_variables
141 (p_sg_percent number
142 ,p_non_sg_percent number
143 ) return boolean is
144 --
145 l_procedure constant varchar2(60) := 'validate_percent_variables';
146 --
147 begin
148 hr_utility.set_location(g_package||l_procedure,1);
149 --
150 -- Check perentage amounts are between 0 and 100
151 --
152 if (p_sg_percent is not null)
153 then
154 if (p_sg_percent not between 0 and 100)
155 then
156 hr_utility.trace('p_sg_percent: '||to_char(p_sg_percent));
157 return false;
158 end if;
159 end if;
160 --
161 if (p_non_sg_percent is not null)
162 then
163 if (p_non_sg_percent not between 0 and 100)
164 then
165 hr_utility.trace('p_non_sg_percent: '||to_char(p_non_sg_percent));
166 return false;
167 end if;
168 end if;
169 hr_utility.set_location(g_package||l_procedure,10);
170 return true;
171 end validate_percent_variables;
172 --
173 ---------------------------------------------------------------------------------------------
174 -- PRIVATE PROCEDURE get_super_input_ids
175 ---------------------------------------------------------------------------------------------
176 --
177 procedure get_super_input_ids
178 (p_effective_date in date
179 ,p_element_type_id in out NOCOPY pay_element_types_f.element_type_id%type
180 ,p_inp_value_id_table in out NOCOPY number_table
181 ) is
182 --
183 l_procedure constant varchar2(60) := 'get_super_input_ids';
184 --
185 cursor csr_super_input_values
186 (p_element_type_id pay_input_values_f.element_type_id%type
187 ,p_effective_date date
188 ) is
189 select piv.input_value_id
190 , piv.name
191 from pay_input_values_f piv
192 where piv.element_type_id = p_element_type_id
193 and p_effective_date between piv.effective_start_date and piv.effective_end_date;
194 --
195 cursor csr_super_element
196 (p_effective_date date
197 ) is
198 select pet.element_type_id
199 from pay_element_types_f pet
200 where pet.element_name = g_super_element -- Bug: 3648796
201 and p_effective_date between pet.effective_start_date and pet.effective_end_date
202 and legislation_code = g_legislation_code;
203 --
204 begin
205 --
206 -- get the element type id for the super element
207 --
208 hr_utility.set_location(g_package||l_procedure, 1);
209 --
210 open csr_super_element(p_effective_date);
211 fetch csr_super_element
212 into p_element_type_id;
213 if (csr_super_element%notfound)
214 then
215 close csr_super_element;
216 hr_utility.trace('p_effective_date: '||to_char(p_effective_date,'MM/DD/YYYY'));
217 hr_utility.set_message(801,'HR_AU_NZ_ELE_TYP_NOT_FND');
218 hr_utility.raise_error;
219 end if;
220 close csr_super_element;
221 --
222 -- get the input value id for each tax input
223 --
224 for rec_super_element in csr_super_input_values(p_element_type_id, p_effective_date)
225 loop
226 if upper(rec_super_element.name) = g_super_input1
227 then
228 p_inp_value_id_table(1) := rec_super_element.input_value_id;
229 --
230 elsif upper(rec_super_element.name) = g_super_input2
231 then
232 p_inp_value_id_table(2) := rec_super_element.input_value_id;
233 --
234 elsif upper(rec_super_element.name) = g_super_input3
235 then
236 p_inp_value_id_table(3) := rec_super_element.input_value_id;
237 --
238 elsif upper(rec_super_element.name) = g_super_input4
239 then
240 p_inp_value_id_table(4) := rec_super_element.input_value_id;
241 --
242 elsif upper(rec_super_element.name) = g_super_input5
243 then
244 p_inp_value_id_table(5) := rec_super_element.input_value_id;
245 --
246 elsif upper(rec_super_element.name) = g_super_input6
247 then
248 p_inp_value_id_table(6) := rec_super_element.input_value_id;
249 --
250 else
251 hr_utility.trace('p_element_type_id: '||to_char(p_element_type_id));
252 hr_utility.trace('Input name: '||rec_super_element.name);
253 hr_utility.trace('p_effective_date: '||to_char(p_effective_date,'MM/DD/YYYY'));
254 hr_utility.set_message(801,'HR_NZ_INPUT_VALUE_NOT_FOUND');
255 hr_utility.raise_error;
256 end if;
257 end loop;
258 --
259 hr_utility.set_location(g_package||l_procedure, 10);
260 --
261 end get_super_input_ids;
262 --
263 ---------------------------------------------------------------------------------------------
264 -- PUBLIC PROCEDURE update_super_contribution
265 ---------------------------------------------------------------------------------------------
266 -- 27-apr-2000 added parameter for p_element_entry_id
267 -- because this Element accepts multiple entries
268 --
269 procedure update_super_contribution
270 (p_validate in boolean
271 ,p_assignment_id in number
272 ,p_session_date in date
273 ,p_mode in varchar2
274 ,p_business_group_id in number
275 ,p_element_entry_id in number
276 ,p_super_fund_name in varchar2
277 ,p_attribute_category in varchar2
278 ,p_attribute1 in varchar2
279 ,p_attribute2 in varchar2
280 ,p_attribute3 in varchar2
281 ,p_attribute4 in varchar2
282 ,p_attribute5 in varchar2
283 ,p_attribute6 in varchar2
284 ,p_attribute7 in varchar2
285 ,p_attribute8 in varchar2
286 ,p_attribute9 in varchar2
287 ,p_attribute10 in varchar2
288 ,p_attribute11 in varchar2
289 ,p_attribute12 in varchar2
290 ,p_attribute13 in varchar2
291 ,p_attribute14 in varchar2
292 ,p_attribute15 in varchar2
293 ,p_attribute16 in varchar2
294 ,p_attribute17 in varchar2
295 ,p_attribute18 in varchar2
296 ,p_attribute19 in varchar2
297 ,p_attribute20 in varchar2
298 ,p_pay_value in number
299 ,p_member_number in varchar2
300 ,p_sg_amount in number
301 ,p_sg_percent in number
302 ,p_non_sg_amount in number
303 ,p_non_sg_percent in number
304 ,p_effective_start_date out NOCOPY date
305 ,p_effective_end_date out NOCOPY date
306 ,p_update_warning out NOCOPY boolean
307 ) is
308 l_inp_value_id_table number_table;
309 l_scr_value_table varchar2_table;
310
311 l_dummy number := null;
312 l_element_type_id number :=0;
313 l_element_link_id number :=0;
314 l_element_entry_id number :=0;
315 l_object_version_number number;
316 l_effective_start_date date;
317 l_effective_end_date date;
318 l_super_fund_id number;
319 l_session_date date;
320 l_procedure varchar2(33); -- Bug: 3648796
321 --
322 cursor csr_ele_entry
323 (p_element_link number
324 ,p_inp_val number
325 ,p_element_entry_id number
326 )is
327 select pee.element_entry_id
328 , object_version_number
329 from pay_element_entries_f pee
330 , pay_element_entry_values_f pev
331 where pee.assignment_id = p_assignment_id
332 and l_session_date between pee.effective_start_date and pee.effective_end_date
333 and pee.element_link_id = p_element_link
334 and pev.element_entry_id = pee.element_entry_id
335 and l_session_date between pev.effective_start_date and pev.effective_end_date
336 and pee.element_entry_id = p_element_entry_id
337 and pev.input_value_id = p_inp_val;
338 --
339 begin
340 l_procedure := 'update_super_contribution'; -- Bug: 3648796
341
342 hr_utility.set_location(g_package||l_procedure, 1);
343
344 l_session_date := trunc(p_session_date);
345 --
346 -- Ensure business group supplied is Australian
347 --
348 if not valid_business_group(p_business_group_id)
349 then
350 hr_utility.set_location(g_package||l_procedure, 2);
351 hr_utility.set_message(801,'HR_7208_API_BUS_GRP_INVALID');
352 hr_utility.raise_error;
353 end if;
354 --
355 -- Check perentage amounts are between 0 and 100
356 --
357 if not validate_percent_variables(p_sg_percent, p_non_sg_percent)
358 then
359 hr_utility.set_message(801,'HR_AU_PERCENT_NOT_VALID');
360 hr_utility.raise_error;
361 end if;
362 --
363 -- Get Element type id and input value ids
364 --
365 get_super_input_ids(l_session_date, l_element_type_id, l_inp_value_id_table);
366 --
367 -- Get the element link id for the Superannuation Contribution element
368 --
369 l_element_link_id := hr_entry_api.get_link
370 (p_assignment_id => p_assignment_id
371 ,p_element_type_id => l_element_type_id
372 ,p_session_date => l_session_date
373 );
374 if (l_element_link_id is null or l_element_link_id = 0)
375 then
376 hr_utility.set_message(801,'HR_AU_NZ_ELE_LNK_NOT_FND');
377 hr_utility.raise_error;
378 end if;
379
380 -----------------------------------------------------------------------------
381 -- verify the element entry is the super entry that is to be updated
382 ------------------------------------------------------------------------------
383 hr_utility.set_location(g_package||l_procedure ,7);
384 --
385 open csr_ele_entry(l_element_link_id, l_inp_value_id_table(1), p_element_entry_id);
386 fetch csr_ele_entry into l_element_entry_id, l_object_version_number;
387 if (csr_ele_entry%notfound)
388 then
389 close csr_ele_entry;
390 hr_utility.set_message(801,'HR_AU_NZ_ELE_ENT_NOT_FND');
391 hr_utility.raise_error;
392 end if;
393 close csr_ele_entry;
394 --
395 -- Get the personal_payment_method_id for the super fund
396 --
397 l_super_fund_id := get_payment_method
398 (p_assignment_id
399 ,p_super_fund_name
400 ,l_session_date
401 );
402 --
403 py_element_entry_api.update_element_entry
404 (p_validate => p_validate
405 ,p_datetrack_update_mode => p_mode
406 ,p_effective_date => l_session_date
407 ,p_business_group_id => p_business_group_id
408 ,p_element_entry_id => l_element_entry_id
409 ,p_object_version_number => l_object_version_number
410 ,p_personal_payment_method_id => l_super_fund_id
411 ,p_attribute_category => p_attribute_category
412 ,p_attribute1 => p_attribute1
413 ,p_attribute2 => p_attribute2
414 ,p_attribute3 => p_attribute3
415 ,p_attribute4 => p_attribute4
416 ,p_attribute5 => p_attribute5
417 ,p_attribute6 => p_attribute6
418 ,p_attribute7 => p_attribute7
419 ,p_attribute8 => p_attribute8
420 ,p_attribute9 => p_attribute9
421 ,p_attribute10 => p_attribute10
422 ,p_attribute11 => p_attribute11
423 ,p_attribute12 => p_attribute12
424 ,p_attribute13 => p_attribute13
425 ,p_attribute14 => p_attribute14
426 ,p_attribute15 => p_attribute15
427 ,p_attribute16 => p_attribute16
428 ,p_attribute17 => p_attribute17
429 ,p_attribute18 => p_attribute18
430 ,p_attribute19 => p_attribute19
431 ,p_attribute20 => p_attribute20
432 ,p_input_value_id1 => l_inp_value_id_table(1)
433 ,p_input_value_id2 => l_inp_value_id_table(2)
434 ,p_input_value_id3 => l_inp_value_id_table(3)
435 ,p_input_value_id4 => l_inp_value_id_table(4)
436 ,p_input_value_id5 => l_inp_value_id_table(5)
437 ,p_input_value_id6 => l_inp_value_id_table(6)
438 ,p_entry_value1 => p_pay_value
439 ,p_entry_value2 => p_member_number
440 ,p_entry_value3 => p_sg_amount
441 ,p_entry_value4 => p_sg_percent
442 ,p_entry_value5 => p_non_sg_amount
443 ,p_entry_value6 => p_non_sg_percent
444 ,p_effective_start_date => l_effective_start_date
445 ,p_effective_end_date => l_effective_end_date
446 ,p_override_user_ent_chk => 'Y'
447 ,p_update_warning => p_update_warning
448 );
449 p_effective_start_date := l_effective_start_date;
450 p_effective_end_date := l_effective_end_date;
451 hr_utility.set_location(g_package||l_procedure, 30);
452 end update_super_contribution;
453 --
454 ---------------------------------------------------------------------------------------------
455 -- PUBLIC PROCEDURE create_super_contribution
456 ---------------------------------------------------------------------------------------------
457 --
458 procedure create_super_contribution
459 (p_validate in boolean
460 ,p_effective_date in date
461 ,p_business_group_id in number
462 ,p_original_entry_id in number
463 ,p_assignment_id in number
464 ,p_entry_type in varchar2
465 ,p_cost_allocation_keyflex_id in number
466 ,p_updating_action_id in number
467 ,p_comment_id in number
468 ,p_reason in varchar2
469 ,p_target_entry_id in number
470 ,p_subpriority in number
471 ,p_date_earned in date
472 ,p_super_fund_name in varchar2
473 ,p_attribute_category in varchar2
474 ,p_attribute1 in varchar2
475 ,p_attribute2 in varchar2
476 ,p_attribute3 in varchar2
477 ,p_attribute4 in varchar2
478 ,p_attribute5 in varchar2
479 ,p_attribute6 in varchar2
480 ,p_attribute7 in varchar2
481 ,p_attribute8 in varchar2
482 ,p_attribute9 in varchar2
483 ,p_attribute10 in varchar2
484 ,p_attribute11 in varchar2
485 ,p_attribute12 in varchar2
486 ,p_attribute13 in varchar2
487 ,p_attribute14 in varchar2
488 ,p_attribute15 in varchar2
489 ,p_attribute16 in varchar2
490 ,p_attribute17 in varchar2
491 ,p_attribute18 in varchar2
492 ,p_attribute19 in varchar2
493 ,p_attribute20 in varchar2
494 ,p_pay_value in number
495 ,p_member_number in varchar2
496 ,p_sg_amount in number
497 ,p_sg_percent in number
498 ,p_non_sg_amount in number
499 ,p_non_sg_percent in number
500 ,p_effective_start_date out NOCOPY date
501 ,p_effective_end_date out NOCOPY date
502 ,p_element_entry_id out NOCOPY number
503 ,p_object_version_number out NOCOPY number
504 ,p_create_warning out NOCOPY boolean
505 ) is
506 --
507 l_procedure varchar2(33);
508 l_inp_value_id_table number_table;
509 l_effective_start_date date;
510 l_effective_end_date date;
511 l_element_entry_id number;
512 l_object_version_number number;
513 l_create_warning boolean;
514 l_element_type_id number;
515 l_element_link_id number;
516 l_super_fund_id number;
517 --
518 begin
519 l_procedure := 'create_super_contribution'; -- Bug: 3648796
520
521 hr_utility.set_location(g_package||l_procedure, 1);
522
523 --
524 -- Ensure business group supplied is Australian
525 --
526 if not valid_business_group(p_business_group_id)
527 then
528 hr_utility.set_location(g_package||l_procedure, 2);
529 hr_utility.set_message(801,'HR_7208_API_BUS_GRP_INVALID');
530 hr_utility.raise_error;
531 end if;
532 --
533 -- Check perentage amounts are between 0 and 100
534 --
535 if not validate_percent_variables(p_sg_percent, p_non_sg_percent)
536 then
537 hr_utility.set_message(801,'HR_AU_PERCENT_NOT_VALID');
538 hr_utility.raise_error;
539 end if;
540 --
541 -- Get Element type id and input value ids
542 --
543 get_super_input_ids(p_effective_date, l_element_type_id, l_inp_value_id_table);
544 --
545 -- Get the element link id for the Superannuation Contribution element
546 --
547 l_element_link_id := hr_entry_api.get_link
548 (p_assignment_id => p_assignment_id
549 ,p_element_type_id => l_element_type_id
550 ,p_session_date => p_effective_date
551 );
552 if (l_element_link_id is null or l_element_link_id = 0)
553 then
554 hr_utility.set_message(801,'HR_AU_NZ_ELE_LNK_NOT_FND');
555 hr_utility.raise_error;
556 end if;
557 --
558 --
559 -- Get the personal_payment_method_id for the super fund
560 --
561 l_super_fund_id := get_payment_method
562 (p_assignment_id
563 ,p_super_fund_name
564 ,p_effective_date
565 );
566 --
567 py_element_entry_api.create_element_entry
568 (p_validate => p_validate
569 ,p_effective_date => p_effective_date
570 ,p_business_group_id => p_business_group_id
571 ,p_original_entry_id => p_original_entry_id
572 ,p_assignment_id => p_assignment_id
573 ,p_element_link_id => l_element_link_id
574 ,p_entry_type => p_entry_type
575 ,p_cost_allocation_keyflex_id => p_cost_allocation_keyflex_id
576 ,p_updating_action_id => p_updating_action_id
577 ,p_comment_id => p_comment_id
578 ,p_reason => p_reason
579 ,p_target_entry_id => p_target_entry_id
580 ,p_subpriority => p_subpriority
581 ,p_date_earned => p_date_earned
582 ,p_personal_payment_method_id => l_super_fund_id
583 ,p_attribute_category => p_attribute_category
584 ,p_attribute1 => p_attribute1
585 ,p_attribute2 => p_attribute2
586 ,p_attribute3 => p_attribute3
587 ,p_attribute4 => p_attribute4
588 ,p_attribute5 => p_attribute5
589 ,p_attribute6 => p_attribute6
590 ,p_attribute7 => p_attribute7
591 ,p_attribute8 => p_attribute8
592 ,p_attribute9 => p_attribute9
593 ,p_attribute10 => p_attribute10
594 ,p_attribute11 => p_attribute11
595 ,p_attribute12 => p_attribute12
596 ,p_attribute13 => p_attribute13
597 ,p_attribute14 => p_attribute14
598 ,p_attribute15 => p_attribute15
599 ,p_attribute16 => p_attribute16
600 ,p_attribute17 => p_attribute17
601 ,p_attribute18 => p_attribute18
602 ,p_attribute19 => p_attribute19
603 ,p_attribute20 => p_attribute20
604 ,p_input_value_id1 => l_inp_value_id_table(1)
605 ,p_input_value_id2 => l_inp_value_id_table(2)
606 ,p_input_value_id3 => l_inp_value_id_table(3)
607 ,p_input_value_id4 => l_inp_value_id_table(4)
608 ,p_input_value_id5 => l_inp_value_id_table(5)
609 ,p_input_value_id6 => l_inp_value_id_table(6)
610 ,p_entry_value1 => p_pay_value
611 ,p_entry_value2 => p_member_number
612 ,p_entry_value3 => p_sg_amount
613 ,p_entry_value4 => p_sg_percent
614 ,p_entry_value5 => p_non_sg_amount
615 ,p_entry_value6 => p_non_sg_percent
616 ,p_effective_start_date => p_effective_start_date
617 ,p_effective_end_date => p_effective_end_date
618 ,p_override_user_ent_chk => 'Y'
619 ,p_element_entry_id => l_element_entry_id
620 ,p_object_version_number => l_object_version_number
621 ,p_create_warning => l_create_warning
622 );
623 --
624 hr_utility.set_location(g_package||l_procedure, 30);
625 end create_super_contribution;
626
627 end hr_au_super_api ;