DBA Data[Home] [Help]

PACKAGE BODY: APPS.HR_SALARY_BASIS_API

Source


1 Package Body hr_salary_basis_api as
2 /* $Header: peppbapi.pkb 115.1 2003/02/07 11:23:14 pkakar noship $ */
3 --
4 -- Package Variables
5 --
6   g_package  varchar2(33) := '  hr_salary_basis_api.';
7 --
8 -- ---------------------------------------------------------------------------
9 -- |---------------------< create_salary_basis >-----------------------------|
10 -- ---------------------------------------------------------------------------
11 procedure create_salary_basis
12   (p_validate                      in     boolean  default false
13   ,p_business_group_id             in     number
14   ,p_input_value_id		   in     number
15   ,p_rate_id			   in 	  number   default null
16   ,p_name			   in     varchar2
17   ,p_pay_basis			   in     varchar2
18   ,p_rate_basis 		   in     varchar2
19   ,p_pay_annualization_factor      in 	  number   default null
20   ,p_grade_annualization_factor    in 	  number   default null
21   ,p_attribute_category            in     varchar2 default null
22   ,p_attribute1                    in     varchar2 default null
23   ,p_attribute2                    in     varchar2 default null
24   ,p_attribute3                    in     varchar2 default null
25   ,p_attribute4                    in     varchar2 default null
26   ,p_attribute5                    in     varchar2 default null
27   ,p_attribute6                    in     varchar2 default null
28   ,p_attribute7                    in     varchar2 default null
29   ,p_attribute8                    in     varchar2 default null
30   ,p_attribute9                    in     varchar2 default null
31   ,p_attribute10                   in     varchar2 default null
32   ,p_attribute11                   in     varchar2 default null
33   ,p_attribute12                   in     varchar2 default null
34   ,p_attribute13                   in     varchar2 default null
35   ,p_attribute14                   in     varchar2 default null
36   ,p_attribute15                   in     varchar2 default null
37   ,p_attribute16                   in     varchar2 default null
38   ,p_attribute17                   in     varchar2 default null
39   ,p_attribute18                   in     varchar2 default null
40   ,p_attribute19                   in     varchar2 default null
41   ,p_attribute20                   in     varchar2 default null
42   ,p_last_update_date              in 	  date     default null
43   ,p_last_updated_by               in 	  number   default null
44   ,p_last_update_login             in 	  number   default null
45   ,p_created_by                    in 	  number   default null
46   ,p_creation_date                 in 	  date     default null
47   ,p_information_category          in     varchar2 default null
48   ,p_information1 	           in     varchar2 default null
49   ,p_information2 	           in     varchar2 default null
50   ,p_information3 	           in     varchar2 default null
51   ,p_information4 	           in     varchar2 default null
52   ,p_information5 	           in     varchar2 default null
53   ,p_information6 	           in     varchar2 default null
54   ,p_information7 	           in     varchar2 default null
55   ,p_information8 	           in     varchar2 default null
56   ,p_information9 	           in     varchar2 default null
57   ,p_information10 	           in     varchar2 default null
58   ,p_information11 	           in     varchar2 default null
59   ,p_information12 	           in     varchar2 default null
60   ,p_information13 	           in     varchar2 default null
61   ,p_information14 	           in     varchar2 default null
62   ,p_information15 	           in     varchar2 default null
63   ,p_information16 	           in     varchar2 default null
64   ,p_information17 	           in     varchar2 default null
65   ,p_information18 	           in     varchar2 default null
66   ,p_information19 	           in     varchar2 default null
67   ,p_information20 	           in     varchar2 default null
68   ,p_pay_basis_id                  out    nocopy number
69   ,p_object_version_number         out    nocopy number
70    ) is
71 --
72 -- Declare cursors and local variables
73 --
74    l_pay_basis_id          per_pay_bases.pay_basis_id%TYPE;
75    l_business_group_id     per_pay_bases.business_group_id%TYPE;
76    l_name                  per_pay_bases.name%TYPE;
77    l_proc                  varchar2(72) := g_package||'create_salary_basis';
78    l_object_version_number per_pay_bases.object_version_number%TYPE;
79    l_input_value_id	   per_pay_bases.input_value_id%TYPE;
80    l_rate_id		   per_pay_bases.rate_id%TYPE;
81    l_pay_basis		   per_pay_bases.pay_basis%TYPE;
82    l_rate_basis 	   per_pay_bases.rate_basis%TYPE;
83    l_pay_annualization_factor per_pay_bases.pay_annualization_factor%TYPE;
84    l_grade_annualization_factor per_pay_bases.grade_annualization_factor%TYPE;
85    --
86 begin
87 --
88   hr_utility.set_location('Entering:'|| l_proc, 10);
89   --
90   -- Issue a savepoint
91   --
92   savepoint create_salary_basis;
93   --
94   -- check that flex structure is valid
95   --
96   begin
97   --
98   -- Call Before Process User hook for create_salary_basis
99   --
100   hr_salary_basis_bk1.create_salary_basis_b
101     (p_business_group_id             => p_business_group_id
102     ,p_input_value_id		     =>	p_input_value_id
103     ,p_rate_id			     =>	p_rate_id
104     ,p_name                          => p_name
105     ,p_pay_basis		     => p_pay_basis
106     ,p_rate_basis 		     => p_rate_basis
107     ,p_pay_annualization_factor      => p_pay_annualization_factor
108     ,p_grade_annualization_factor    => p_grade_annualization_factor
109     ,p_attribute_category            => p_attribute_category
110     ,p_attribute1                    => p_attribute1
111     ,p_attribute2                    => p_attribute2
112     ,p_attribute3                    => p_attribute3
113     ,p_attribute4                    => p_attribute4
114     ,p_attribute5                    => p_attribute5
115     ,p_attribute6                    => p_attribute6
116     ,p_attribute7                    => p_attribute7
117     ,p_attribute8                    => p_attribute8
118     ,p_attribute9                    => p_attribute9
119     ,p_attribute10                   => p_attribute10
120     ,p_attribute11                   => p_attribute11
121     ,p_attribute12                   => p_attribute12
122     ,p_attribute13                   => p_attribute13
123     ,p_attribute14                   => p_attribute14
124     ,p_attribute15                   => p_attribute15
125     ,p_attribute16                   => p_attribute16
126     ,p_attribute17                   => p_attribute17
127     ,p_attribute18                   => p_attribute18
128     ,p_attribute19                   => p_attribute19
129     ,p_attribute20                   => p_attribute20
130     ,p_last_update_date              => p_last_update_date
131     ,p_last_updated_by               => p_last_updated_by
132     ,p_last_update_login             => p_last_update_login
133     ,p_created_by                    => p_created_by
134     ,p_creation_date                 => p_creation_date
135     ,p_information_category          => p_information_category
136     ,p_information1                  => p_information1
137     ,p_information2                  => p_information2
138     ,p_information3                  => p_information3
139     ,p_information4                  => p_information4
140     ,p_information5                  => p_information5
141     ,p_information6                  => p_information6
142     ,p_information7                  => p_information7
143     ,p_information8                  => p_information8
144     ,p_information9                  => p_information9
145     ,p_information10                 => p_information10
146     ,p_information11                 => p_information11
147     ,p_information12                 => p_information12
148     ,p_information13                 => p_information13
149     ,p_information14                 => p_information14
150     ,p_information15                 => p_information15
151     ,p_information16                 => p_information16
152     ,p_information17                 => p_information17
153     ,p_information18                 => p_information18
154     ,p_information19                 => p_information19
155     ,p_information20 	             => p_information20
156     ,p_pay_basis_id                  => l_pay_basis_id
157     ,p_object_version_number         => l_object_version_number
158      );
159   exception
160     when hr_api.cannot_find_prog_unit then
161       hr_api.cannot_find_prog_unit_error
162         (p_module_name => 'CREATE_SALARY_BASIS'
163         ,p_hook_type   => 'BP'
164         );
165   --
166   -- End of before hook process (create_salary_basis)
167   --
168   end;
169   --
170   -- Process Logic
171   --
172   --
173   -- Insert Salary Basis.
174   --
175      hr_utility.set_location(l_proc, 30);
176      --
177      per_ppb_ins.ins
178     (p_input_value_id		     =>	p_input_value_id
179     ,p_business_group_id             => p_business_group_id
180     ,p_name                          => p_name
181     ,p_pay_basis		     => p_pay_basis
182     ,p_rate_id			     =>	p_rate_id
183     ,p_rate_basis 		     => p_rate_basis
184     ,p_attribute_category            => p_attribute_category
185     ,p_attribute1                    => p_attribute1
186     ,p_attribute2                    => p_attribute2
187     ,p_attribute3                    => p_attribute3
188     ,p_attribute4                    => p_attribute4
189     ,p_attribute5                    => p_attribute5
190     ,p_attribute6                    => p_attribute6
191     ,p_attribute7                    => p_attribute7
192     ,p_attribute8                    => p_attribute8
193     ,p_attribute9                    => p_attribute9
194     ,p_attribute10                   => p_attribute10
195     ,p_attribute11                   => p_attribute11
196     ,p_attribute12                   => p_attribute12
197     ,p_attribute13                   => p_attribute13
198     ,p_attribute14                   => p_attribute14
199     ,p_attribute15                   => p_attribute15
200     ,p_attribute16                   => p_attribute16
201     ,p_attribute17                   => p_attribute17
202     ,p_attribute18                   => p_attribute18
203     ,p_attribute19                   => p_attribute19
204     ,p_attribute20                   => p_attribute20
205     ,p_pay_annualization_factor      => p_pay_annualization_factor
206     ,p_grade_annualization_factor    => p_grade_annualization_factor
207     ,p_information_category          => p_information_category
208     ,p_information1                  => p_information1
209     ,p_information2                  => p_information2
210     ,p_information3                  => p_information3
211     ,p_information4                  => p_information4
212     ,p_information5                  => p_information5
213     ,p_information6                  => p_information6
214     ,p_information7                  => p_information7
215     ,p_information8                  => p_information8
216     ,p_information9                  => p_information9
217     ,p_information10                 => p_information10
218     ,p_information11                 => p_information11
219     ,p_information12                 => p_information12
220     ,p_information13                 => p_information13
221     ,p_information14                 => p_information14
222     ,p_information15                 => p_information15
223     ,p_information16                 => p_information16
224     ,p_information17                 => p_information17
225     ,p_information18                 => p_information18
226     ,p_information19                 => p_information19
227     ,p_information20 	             => p_information20
228     ,p_pay_basis_id                  => l_pay_basis_id
229     ,p_object_version_number         => l_object_version_number
230        );
231      --
232      hr_utility.set_location(l_proc, 40);
233   --
234   --
235   --
236   -- Call After Process hook for create_salary_basis
237   --
238   begin
239     hr_salary_basis_bk1.create_salary_basis_a
240     (p_business_group_id             => l_business_group_id
241     ,p_input_value_id		     =>	l_input_value_id
242     ,p_rate_id			     =>	l_rate_id
243     ,p_name                          => l_name
244     ,p_pay_basis		     => l_pay_basis
245     ,p_rate_basis 		     => l_rate_basis
246     ,p_pay_annualization_factor      => l_pay_annualization_factor
247     ,p_grade_annualization_factor    => l_grade_annualization_factor
248     ,p_attribute_category            => p_attribute_category
249     ,p_attribute1                    => p_attribute1
250     ,p_attribute2                    => p_attribute2
251     ,p_attribute3                    => p_attribute3
252     ,p_attribute4                    => p_attribute4
253     ,p_attribute5                    => p_attribute5
254     ,p_attribute6                    => p_attribute6
255     ,p_attribute7                    => p_attribute7
256     ,p_attribute8                    => p_attribute8
257     ,p_attribute9                    => p_attribute9
258     ,p_attribute10                   => p_attribute10
259     ,p_attribute11                   => p_attribute11
260     ,p_attribute12                   => p_attribute12
261     ,p_attribute13                   => p_attribute13
262     ,p_attribute14                   => p_attribute14
263     ,p_attribute15                   => p_attribute15
264     ,p_attribute16                   => p_attribute16
265     ,p_attribute17                   => p_attribute17
266     ,p_attribute18                   => p_attribute18
267     ,p_attribute19                   => p_attribute19
268     ,p_attribute20                   => p_attribute20
269     ,p_last_update_date              => p_last_update_date
270     ,p_last_updated_by               => p_last_updated_by
271     ,p_last_update_login             => p_last_update_login
272     ,p_created_by                    => p_created_by
273     ,p_creation_date                 => p_creation_date
274     ,p_information_category          => p_information_category
275     ,p_information1                  => p_information1
276     ,p_information2                  => p_information2
277     ,p_information3                  => p_information3
278     ,p_information4                  => p_information4
279     ,p_information5                  => p_information5
280     ,p_information6                  => p_information6
281     ,p_information7                  => p_information7
282     ,p_information8                  => p_information8
283     ,p_information9                  => p_information9
284     ,p_information10                 => p_information10
285     ,p_information11                 => p_information11
286     ,p_information12                 => p_information12
287     ,p_information13                 => p_information13
288     ,p_information14                 => p_information14
289     ,p_information15                 => p_information15
290     ,p_information16                 => p_information16
291     ,p_information17                 => p_information17
292     ,p_information18                 => p_information18
293     ,p_information19                 => p_information19
294     ,p_information20 	             => p_information20
295     ,p_pay_basis_id                  => l_pay_basis_id
296     ,p_object_version_number         => l_object_version_number
297       );
298   exception
299     when hr_api.cannot_find_prog_unit then
300       hr_api.cannot_find_prog_unit_error
301         (p_module_name => 'CREATE_SALARY_BASIS'
302         ,p_hook_type   => 'AP'
303         );
304     --
305     -- End of after hook process (create_salary_basis)
306     --
307   end;
308   --
309   -- When in validation only mode raise the Validate_Enabled exception
310   --
311   if p_validate
312   then
313      raise hr_api.validate_enabled;
314   end if;
315   --
316   hr_utility.set_location(' Leaving:'||l_proc, 50);
317   --
318   -- Set OUT parameters
319   --
320    p_pay_basis_id                := l_pay_basis_id;
321    p_object_version_number := l_object_version_number;
322    --
323    hr_utility.set_location(' Leaving:'||l_proc, 60);
324    --
325    exception
326    --
327    when hr_api.validate_enabled then
328      --
329      -- As the Validate_Enabled exception has been raised
330      -- we must rollback to the savepoint
331      --
332      ROLLBACK TO create_salary_basis;
333      --
334      -- Set OUT parameters to null
335      -- Only set output warning arguments
336      -- (Any key or derived arguments must be set to null
337      -- when validation only mode is being used.)
338      --
339      p_pay_basis_id              := null;
340      p_object_version_number     := null;
341 
342   --
343   hr_utility.set_location(' Leaving:'||l_proc, 70);
344   --
345   when others then
346      --
347      -- A validation or unexpected error has occurred
348      --
349      ROLLBACK TO create_salary_basis;
350      --
351      hr_utility.set_location(' Leaving:'||l_proc, 80);
352      --
353      raise;
354      --
355 end create_salary_basis;
356 --
357 -- ----------------------------------------------------------------------------
358 -- |----------------------< update_salary_basis >-----------------------------|
359 -- ----------------------------------------------------------------------------
360 --
361 procedure update_salary_basis
362   (P_VALIDATE			    IN	  BOOLEAN default false
363    ,P_PAY_BASIS_ID                  IN    NUMBER
364    ,P_INPUT_VALUE_ID                IN    NUMBER default hr_api.g_number
365    ,P_RATE_ID                       IN    NUMBER default hr_api.g_number
366    ,P_NAME                          IN    VARCHAR2 default hr_api.g_varchar2
367    ,P_PAY_BASIS                     IN    VARCHAR2 default hr_api.g_varchar2
368    ,P_RATE_BASIS                    IN    VARCHAR2 default hr_api.g_varchar2
369    ,P_PAY_ANNUALIZATION_FACTOR      IN    NUMBER default hr_api.g_number
370    ,P_GRADE_ANNUALIZATION_FACTOR    IN    NUMBER default hr_api.g_number
371    ,P_ATTRIBUTE_CATEGORY            IN    VARCHAR2 default hr_api.g_varchar2
372    ,P_ATTRIBUTE1                    IN    VARCHAR2 default hr_api.g_varchar2
373    ,P_ATTRIBUTE2                    IN    VARCHAR2 default hr_api.g_varchar2
374    ,P_ATTRIBUTE3                    IN    VARCHAR2 default hr_api.g_varchar2
375    ,P_ATTRIBUTE4                    IN    VARCHAR2 default hr_api.g_varchar2
376    ,P_ATTRIBUTE5                    IN    VARCHAR2 default hr_api.g_varchar2
377    ,P_ATTRIBUTE6                    IN    VARCHAR2 default hr_api.g_varchar2
378    ,P_ATTRIBUTE7                    IN    VARCHAR2 default hr_api.g_varchar2
379    ,P_ATTRIBUTE8                    IN    VARCHAR2 default hr_api.g_varchar2
380    ,P_ATTRIBUTE9                    IN    VARCHAR2 default hr_api.g_varchar2
381    ,P_ATTRIBUTE10                   IN    VARCHAR2 default hr_api.g_varchar2
382    ,P_ATTRIBUTE11                   IN    VARCHAR2 default hr_api.g_varchar2
383    ,P_ATTRIBUTE12                   IN    VARCHAR2 default hr_api.g_varchar2
384    ,P_ATTRIBUTE13                   IN    VARCHAR2 default hr_api.g_varchar2
385    ,P_ATTRIBUTE14                   IN    VARCHAR2 default hr_api.g_varchar2
386    ,P_ATTRIBUTE15                   IN    VARCHAR2 default hr_api.g_varchar2
387    ,P_ATTRIBUTE16                   IN    VARCHAR2 default hr_api.g_varchar2
388    ,P_ATTRIBUTE17                   IN    VARCHAR2 default hr_api.g_varchar2
389    ,P_ATTRIBUTE18                   IN    VARCHAR2 default hr_api.g_varchar2
390    ,P_ATTRIBUTE19                   IN    VARCHAR2 default hr_api.g_varchar2
391    ,P_ATTRIBUTE20                   IN    VARCHAR2 default hr_api.g_varchar2
392    ,P_INFORMATION_CATEGORY          IN    VARCHAR2 default hr_api.g_varchar2
393    ,P_INFORMATION1                  IN    VARCHAR2 default hr_api.g_varchar2
394    ,P_INFORMATION2                  IN    VARCHAR2 default hr_api.g_varchar2
395    ,P_INFORMATION3                  IN    VARCHAR2 default hr_api.g_varchar2
396    ,P_INFORMATION4                  IN    VARCHAR2 default hr_api.g_varchar2
397    ,P_INFORMATION5                  IN    VARCHAR2 default hr_api.g_varchar2
398    ,P_INFORMATION6                  IN    VARCHAR2 default hr_api.g_varchar2
399    ,P_INFORMATION7                  IN    VARCHAR2 default hr_api.g_varchar2
400    ,P_INFORMATION8                  IN    VARCHAR2 default hr_api.g_varchar2
401    ,P_INFORMATION9                  IN    VARCHAR2 default hr_api.g_varchar2
402    ,P_INFORMATION10                 IN    VARCHAR2 default hr_api.g_varchar2
403    ,P_INFORMATION11                 IN    VARCHAR2 default hr_api.g_varchar2
404    ,P_INFORMATION12                 IN    VARCHAR2 default hr_api.g_varchar2
405    ,P_INFORMATION13                 IN    VARCHAR2 default hr_api.g_varchar2
406    ,P_INFORMATION14                 IN    VARCHAR2 default hr_api.g_varchar2
407    ,P_INFORMATION15                 IN    VARCHAR2 default hr_api.g_varchar2
408    ,P_INFORMATION16                 IN    VARCHAR2 default hr_api.g_varchar2
409    ,P_INFORMATION17                 IN    VARCHAR2 default hr_api.g_varchar2
410    ,P_INFORMATION18                 IN    VARCHAR2 default hr_api.g_varchar2
411    ,P_INFORMATION19                 IN    VARCHAR2 default hr_api.g_varchar2
412    ,P_INFORMATION20                 IN    VARCHAR2 default hr_api.g_varchar2
413    ,P_LAST_UPDATE_DATE              IN    DATE default hr_api.g_date
414    ,P_LAST_UPDATED_BY               IN    NUMBER default hr_api.g_number
415    ,P_LAST_UPDATE_LOGIN             IN    NUMBER default hr_api.g_number
416    ,P_CREATED_BY                    IN    NUMBER default hr_api.g_number
417    ,P_CREATION_DATE                 IN    DATE default hr_api.g_date
418    ,P_OBJECT_VERSION_NUMBER	    IN OUT nocopy NUMBER
419     ) is
420 --
421 -- Declare cursors and local variables
422 --
423     --
424   l_object_version_number      per_pay_bases.object_version_number%TYPE;
425   l_api_updating               boolean;
426    l_pay_basis_id          per_pay_bases.pay_basis_id%TYPE;
427    l_business_group_id     per_pay_bases.business_group_id%TYPE;
428    l_name                  per_pay_bases.name%TYPE;
429    l_proc                  varchar2(72) := g_package||'update_salary_basis';
430    l_input_value_id	   per_pay_bases.input_value_id%TYPE;
431    l_rate_id		   per_pay_bases.rate_id%TYPE;
432    l_pay_basis		   per_pay_bases.pay_basis%TYPE;
433    l_rate_basis 	   per_pay_bases.rate_basis%TYPE;
434    l_pay_annualization_factor per_pay_bases.pay_annualization_factor%TYPE;
435    l_grade_annualization_factor per_pay_bases.grade_annualization_factor%TYPE;
436    --
437   --
438   -- Declare cursors
439   --
440 begin
441 --
442    hr_utility.set_location('Entering:'|| l_proc, 5);
443    --
444    -- Issue a savepoint
445    --
446    savepoint update_salary_basis;
447    --
448    hr_utility.set_location(l_proc, 10);
449    --
450    -- Validation in addition to Table Handlers
451    --
452 l_object_version_number := p_object_version_number;
453    l_api_updating := per_ppb_shd.api_updating
454      (p_pay_basis_id	        => p_pay_basis_id
455      ,p_object_version_number	=> p_object_version_number);
456    --
457    hr_utility.set_location(l_proc, 15);
458    --
459    if not l_api_updating
460    then
461       hr_utility.set_location(l_proc, 20);
462       --
463       -- As this an updating API, the salary basis should already exist.
464       --
465       hr_utility.set_message(801, 'HR_7220_INVALID_PRIMARY_KEY');
466       hr_utility.raise_error;
467 
468    end if;
469    --
470    hr_utility.set_location('Entering: call - update_salary_basis_b',35);
471    --
472    --
473    -- Call Before Process User Hook
474    --
475    begin
476    --
477      hr_salary_basis_bk2.update_salary_basis_b
478       (p_pay_basis_id	               => p_pay_basis_id
479       ,p_input_value_id                => p_input_value_id
480       ,p_rate_id		       => p_rate_id
481       ,p_name			       => p_name
482       ,p_pay_basis		       => p_pay_basis
483       ,p_rate_basis 		       => p_rate_basis
484       ,p_pay_annualization_factor      => p_pay_annualization_factor
485       ,p_grade_annualization_factor    => p_grade_annualization_factor
486       ,p_attribute_category            => p_attribute_category
487       ,p_attribute1                    => p_attribute1
488       ,p_attribute2                    => p_attribute2
489       ,p_attribute3                    => p_attribute3
490       ,p_attribute4                    => p_attribute4
491       ,p_attribute5                    => p_attribute5
492       ,p_attribute6                    => p_attribute6
493       ,p_attribute7                    => p_attribute7
494       ,p_attribute8                    => p_attribute8
495       ,p_attribute9                    => p_attribute9
496       ,p_attribute10                   => p_attribute10
497       ,p_attribute11                   => p_attribute11
498       ,p_attribute12                   => p_attribute12
499       ,p_attribute13                   => p_attribute13
500       ,p_attribute14                   => p_attribute14
501       ,p_attribute15                   => p_attribute15
502       ,p_attribute16                   => p_attribute16
503       ,p_attribute17                   => p_attribute17
504       ,p_attribute18                   => p_attribute18
505       ,p_attribute19                   => p_attribute19
506       ,p_attribute20                   => p_attribute20
507       ,p_last_update_date              => p_last_update_date
508       ,p_last_updated_by               => p_last_updated_by
509       ,p_last_update_login             => p_last_update_login
510       ,p_created_by                    => p_created_by
511       ,p_creation_date                 => p_creation_date
512       ,p_information_category          => p_information_category
513       ,p_information1                  => p_information1
514       ,p_information2                  => p_information2
515       ,p_information3                  => p_information3
516       ,p_information4                  => p_information4
517       ,p_information5                  => p_information5
518       ,p_information6                  => p_information6
519       ,p_information7                  => p_information7
520       ,p_information8                  => p_information8
521       ,p_information9                  => p_information9
522       ,p_information10                 => p_information10
523       ,p_information11                 => p_information11
524       ,p_information12                 => p_information12
525       ,p_information13                 => p_information13
526       ,p_information14                 => p_information14
527       ,p_information15                 => p_information15
528       ,p_information16                 => p_information16
529       ,p_information17                 => p_information17
530       ,p_information18                 => p_information18
531       ,p_information19                 => p_information19
532       ,p_information20                 => p_information20
533       ,p_object_version_number	       => l_object_version_number
534       );
535       --
536    exception
537      when hr_api.cannot_find_prog_unit
538      then
539         hr_api.cannot_find_prog_unit_error
540         (p_module_name => 'UPDATE_SALARY_BASIS'
541         ,p_hook_type   => 'BP'
542         );
543    end; -- End of API User Hook for the before hook of salary_basis
544    --
545    hr_utility.set_location('Entering:'|| l_proc, 30);
546    --
547    hr_utility.set_location('Entering:'|| l_proc, 36);
548 
549    --
550     select business_group_id
551     into l_business_group_id
552     from per_pay_bases
553     where pay_basis_id = p_pay_basis_id;
554 
555    per_ppb_upd.upd
556    (p_pay_basis_id                 => p_pay_basis_id
557    ,p_object_version_number        => l_object_version_number
558    ,p_input_value_id 		   => p_input_value_id
559    ,p_business_group_id		   => l_business_group_id
560    ,p_name                         => p_name
561    ,p_pay_basis			   => p_pay_basis
562    ,p_rate_id			   => p_rate_id
563    ,p_rate_basis		   => p_rate_basis
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_pay_annualization_factor     => p_pay_annualization_factor
586    ,p_grade_annualization_factor   => p_grade_annualization_factor
587    ,p_information_category         => p_information_category
588    ,p_information1                 => p_information1
589    ,p_information2                 => p_information2
590    ,p_information3                 => p_information3
591    ,p_information4                 => p_information4
592    ,p_information5                 => p_information5
593    ,p_information6                 => p_information6
594    ,p_information7                 => p_information7
595    ,p_information8                 => p_information8
596    ,p_information9                 => p_information9
597    ,p_information10                => p_information10
598    ,p_information11                => p_information11
599    ,p_information12                => p_information12
600    ,p_information13                => p_information13
601    ,p_information14                => p_information14
602    ,p_information15                => p_information15
603    ,p_information16                => p_information16
604    ,p_information17                => p_information17
605    ,p_information18                => p_information18
606    ,p_information19                => p_information19
607    ,p_information20                => p_information20
608    );
609 
610   --
611   hr_utility.set_location('Entering: call - update_salary_basis_a',55);
612   --
613   begin
614   --
615   hr_salary_basis_bk2.update_salary_basis_a
616      (p_pay_basis_id	               => p_pay_basis_id
617       ,p_input_value_id                => p_input_value_id
618       ,p_rate_id		       => p_rate_id
619       ,p_name			       => p_name
620       ,p_pay_basis		       => p_pay_basis
621       ,p_rate_basis 		       => p_rate_basis
622       ,p_pay_annualization_factor      => p_pay_annualization_factor
623       ,p_grade_annualization_factor    => p_grade_annualization_factor
624       ,p_attribute_category            => p_attribute_category
625       ,p_attribute1                    => p_attribute1
626       ,p_attribute2                    => p_attribute2
627       ,p_attribute3                    => p_attribute3
628       ,p_attribute4                    => p_attribute4
629       ,p_attribute5                    => p_attribute5
630       ,p_attribute6                    => p_attribute6
631       ,p_attribute7                    => p_attribute7
632       ,p_attribute8                    => p_attribute8
633       ,p_attribute9                    => p_attribute9
634       ,p_attribute10                   => p_attribute10
635       ,p_attribute11                   => p_attribute11
636       ,p_attribute12                   => p_attribute12
637       ,p_attribute13                   => p_attribute13
638       ,p_attribute14                   => p_attribute14
639       ,p_attribute15                   => p_attribute15
640       ,p_attribute16                   => p_attribute16
641       ,p_attribute17                   => p_attribute17
642       ,p_attribute18                   => p_attribute18
643       ,p_attribute19                   => p_attribute19
644       ,p_attribute20                   => p_attribute20
645       ,p_last_update_date              => p_last_update_date
646       ,p_last_updated_by               => p_last_updated_by
647       ,p_last_update_login             => p_last_update_login
648       ,p_created_by                    => p_created_by
649       ,p_creation_date                 => p_creation_date
650       ,p_information_category          => p_information_category
651       ,p_information1                  => p_information1
652       ,p_information2                  => p_information2
653       ,p_information3                  => p_information3
654       ,p_information4                  => p_information4
655       ,p_information5                  => p_information5
656       ,p_information6                  => p_information6
657       ,p_information7                  => p_information7
658       ,p_information8                  => p_information8
659       ,p_information9                  => p_information9
660       ,p_information10                 => p_information10
661       ,p_information11                 => p_information11
662       ,p_information12                 => p_information12
663       ,p_information13                 => p_information13
664       ,p_information14                 => p_information14
665       ,p_information15                 => p_information15
666       ,p_information16                 => p_information16
667       ,p_information17                 => p_information17
668       ,p_information18                 => p_information18
669       ,p_information19                 => p_information19
670       ,p_information20                 => p_information20
671       ,p_object_version_number	       => l_object_version_number
672      );
673    --
674    exception
675      when hr_api.cannot_find_prog_unit then
676        hr_api.cannot_find_prog_unit_error
677          (p_module_name => 'UPDATE_SALARY_BASIS'
678          ,p_hook_type   => 'AP'
679          );
680    end; -- End of API User Hook for the after hook of update_salary_basis
681    --
682    hr_utility.set_location(l_proc, 90);
683    --
684    -- When in validation only mode raise the Validate_Enabled exception
685    --
686    if p_validate
687    then
688       raise hr_api.validate_enabled;
689    end if;
690    --
691    p_object_version_number := l_object_version_number;
692 
693    --
694    hr_utility.set_location(' Leaving:'||l_proc, 100);
695    exception
696    when hr_api.validate_enabled then
697    --
698    -- As the Validate_Enabled exception has been raised
699    -- we must rollback to the savepoint
700    --
701    ROLLBACK TO update_salary_basis;
702    --
703    -- Only set output warning arguments
704    -- (Any key or derived arguments must be set to null
705    -- when validation only mode is being used.)
706    --
707    p_object_version_number := p_object_version_number;
708 
709    when others then
710    --
711    --
712    -- A validation or unexpected error has occured
713    --
714    rollback to update_salary_basis;
715    hr_utility.set_location(' Leaving:'||l_proc, 120);
716    raise;
717 end update_salary_basis;
718 --
719 -- ----------------------------------------------------------------------------
720 -- |---------------------< delete_salary_basis >-----------------------------|
721 -- ----------------------------------------------------------------------------
722 --
723 procedure delete_salary_basis
724   (p_validate                      in     boolean default false
725   ,p_pay_basis_id                  in     number
726   ,p_object_version_number         in out nocopy number) IS
727 
728   l_object_version_number       number(9);
729   l_proc                varchar2(72) := g_package||'delete_salary_basis';
730 begin
731   hr_utility.set_location('Entering:'|| l_proc, 10);
732 
733   --
734   -- Issue a savepoint
735   --
736   savepoint delete_salary_basis;
737 
738   --
739   -- Call Before Process User Hook
740   --
741   begin
742   hr_salary_basis_bk3.delete_salary_basis_b
743     (p_validate                   =>  p_validate
744     ,p_pay_basis_id               =>  p_pay_basis_id
745     ,p_object_version_number      =>  p_object_version_number
746     );
747   exception
748     when hr_api.cannot_find_prog_unit then
749       hr_api.cannot_find_prog_unit_error
750         (p_module_name => 'DELETE_SALARY_BASIS'
751         ,p_hook_type   => 'BP'
752         );
753   end;
754   -- Process Logic
755   --
756 l_object_version_number := p_object_version_number;
757 --
758 per_ppb_del.del
759   (p_pay_basis_id                      => p_pay_basis_id
760   ,p_object_version_number         => l_object_version_number);
761   --
762   -- Call After Process User Hook
763   --
764  begin
765   hr_salary_basis_bk3.delete_salary_basis_a
766     (p_validate                   =>  p_validate
767     ,p_pay_basis_id                   =>  p_pay_basis_id
768     ,p_object_version_number      =>  l_object_version_number);
769   exception
770     when hr_api.cannot_find_prog_unit then
771       hr_api.cannot_find_prog_unit_error
772         (p_module_name => 'DELETE_SALARY_BASIS'
773         ,p_hook_type   => 'AP'
774         );
775   end;
776   --
777   -- When in validation only mode raise the Validate_Enabled exception
778   --
779   if p_validate then
780     raise hr_api.validate_enabled;
781   end if;
782   --
783   -- Set all output arguments
784   --
785   --
786   p_object_version_number := l_object_version_number;
787 
788   hr_utility.set_location(' Leaving:'||l_proc, 70);
789 exception
790   when hr_api.validate_enabled then
791     --
792     -- As the Validate_Enabled exception has been raised
793     -- we must rollback to the savepoint
794     --
795     rollback to delete_salary_basis;
796     --
797     -- Only set output warning arguments
798     -- (Any key or derived arguments must be set to null
799     -- when validation only mode is being used.)
800     --
801     hr_utility.set_location(' Leaving:'||l_proc, 80);
802   when others then
803     --
804     -- A validation or unexpected error has occured
805     --
806     rollback to delete_salary_basis;
807     hr_utility.set_location(' Leaving:'||l_proc, 90);
808     raise;
809 end delete_salary_basis;
810 end hr_salary_basis_api;