DBA Data[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 ;