DBA Data[Home] [Help]

PACKAGE BODY: APPS.PAY_BALANCE_CATEGORY_API

Source


1 Package Body PAY_BALANCE_CATEGORY_API as
2 /* $Header: pypbcapi.pkb 120.0 2005/05/29 07:18:50 appldev noship $ */
3 --
4 -- Package Variables
5 --
6 g_package  varchar2(33) := '  pay_balance_category_api.';
7 --
8 -- ----------------------------------------------------------------------------
9 -- |-----------------------< create_balance_category >------------------------|
10 -- ----------------------------------------------------------------------------
11 --
12 procedure create_balance_category
13   (p_validate                      in     boolean  default false
14   ,p_effective_date                in     date
15   ,p_category_name                 in     varchar2
16   ,p_business_group_id             in     number   default null
17   ,p_legislation_code              in     varchar2 default null
18   ,p_save_run_balance_enabled      in     varchar2 default null
19   ,p_user_category_name            in     varchar2 default null
20   ,p_pbc_information_category      in     varchar2 default null
21   ,p_pbc_information1              in     varchar2 default null
22   ,p_pbc_information2              in     varchar2 default null
23   ,p_pbc_information3              in     varchar2 default null
24   ,p_pbc_information4              in     varchar2 default null
25   ,p_pbc_information5              in     varchar2 default null
26   ,p_pbc_information6              in     varchar2 default null
27   ,p_pbc_information7              in     varchar2 default null
28   ,p_pbc_information8              in     varchar2 default null
29   ,p_pbc_information9              in     varchar2 default null
30   ,p_pbc_information10             in     varchar2 default null
31   ,p_pbc_information11             in     varchar2 default null
32   ,p_pbc_information12             in     varchar2 default null
33   ,p_pbc_information13             in     varchar2 default null
34   ,p_pbc_information14             in     varchar2 default null
35   ,p_pbc_information15             in     varchar2 default null
36   ,p_pbc_information16             in     varchar2 default null
37   ,p_pbc_information17             in     varchar2 default null
38   ,p_pbc_information18             in     varchar2 default null
39   ,p_pbc_information19             in     varchar2 default null
40   ,p_pbc_information20             in     varchar2 default null
41   ,p_pbc_information21             in     varchar2 default null
42   ,p_pbc_information22             in     varchar2 default null
43   ,p_pbc_information23             in     varchar2 default null
44   ,p_pbc_information24             in     varchar2 default null
45   ,p_pbc_information25             in     varchar2 default null
46   ,p_pbc_information26             in     varchar2 default null
47   ,p_pbc_information27             in     varchar2 default null
48   ,p_pbc_information28             in     varchar2 default null
49   ,p_pbc_information29             in     varchar2 default null
50   ,p_pbc_information30             in     varchar2 default null
51   ,p_balance_category_id              out nocopy number
52   ,p_effective_start_date             out nocopy date
53   ,p_effective_end_date               out nocopy date
54   ,p_object_version_number            out nocopy number
55   ) is
56   --
57   -- Declare cursors and local variables
58   --
59   l_proc                varchar2(72) := g_package||'create_balance_category';
60   l_effective_date      date;
61   --
62   -- Declare OUT variables
63   --
64   l_balance_category_id    pay_balance_categories_f.balance_category_id%TYPE;
65   l_object_version_number  pay_balance_categories_f.object_version_number%TYPE;
66   l_effective_start_date   pay_balance_categories_f.effective_start_date%TYPE;
67   l_effective_end_date     pay_balance_categories_f.effective_end_date%TYPE;
68   --
69 begin
70   hr_utility.set_location('Entering:'|| l_proc, 10);
71   --
72   -- Issue a savepoint
73   --
74   savepoint create_balance_category;
75   --
76   -- Truncate the time portion from all IN date parameters
77   --
78     l_effective_date := trunc(p_effective_date);
79     hr_utility.set_location(l_proc, 20);
80   --
81   -- Call Before Process User Hook
82   --
83   begin
84     pay_balance_category_bk1.create_balance_category_b
85       (p_effective_date           => l_effective_date
86       ,p_category_name            => p_category_name
87       ,p_business_group_id        => p_business_group_id
88       ,p_legislation_code         => p_legislation_code
89       ,p_save_run_balance_enabled => p_save_run_balance_enabled
90       ,p_user_category_name       => p_user_category_name
91       ,p_pbc_information_category => p_pbc_information_category
92       ,p_pbc_information1         => p_pbc_information1
93       ,p_pbc_information2         => p_pbc_information2
94       ,p_pbc_information3         => p_pbc_information3
95       ,p_pbc_information4         => p_pbc_information4
96       ,p_pbc_information5         => p_pbc_information5
97       ,p_pbc_information6         => p_pbc_information6
98       ,p_pbc_information7         => p_pbc_information7
99       ,p_pbc_information8         => p_pbc_information8
100       ,p_pbc_information9         => p_pbc_information9
101       ,p_pbc_information10        => p_pbc_information10
102       ,p_pbc_information11        => p_pbc_information11
103       ,p_pbc_information12        => p_pbc_information12
104       ,p_pbc_information13        => p_pbc_information13
105       ,p_pbc_information14        => p_pbc_information14
106       ,p_pbc_information15        => p_pbc_information15
107       ,p_pbc_information16        => p_pbc_information16
108       ,p_pbc_information17        => p_pbc_information17
109       ,p_pbc_information18        => p_pbc_information18
110       ,p_pbc_information19        => p_pbc_information19
111       ,p_pbc_information20        => p_pbc_information20
112       ,p_pbc_information21        => p_pbc_information21
113       ,p_pbc_information22        => p_pbc_information22
114       ,p_pbc_information23        => p_pbc_information23
115       ,p_pbc_information24        => p_pbc_information24
116       ,p_pbc_information25        => p_pbc_information25
117       ,p_pbc_information26        => p_pbc_information26
118       ,p_pbc_information27        => p_pbc_information27
119       ,p_pbc_information28        => p_pbc_information28
120       ,p_pbc_information29        => p_pbc_information29
121       ,p_pbc_information30        => p_pbc_information30
122       );
123   exception
124     when hr_api.cannot_find_prog_unit then
125       hr_api.cannot_find_prog_unit_error
126         (p_module_name => 'create_balance_category'
127         ,p_hook_type   => 'BP'
128         );
129   end;
130   hr_utility.set_location(l_proc, 30);
131   --
132   -- Validation in addition to Row Handlers
133   --
134   hr_utility.set_location(l_proc, 40);
135   --
136   -- Process Logic
137   --
138   pay_pbc_ins.ins
139      (p_effective_date           => l_effective_date
140      ,p_category_name            => p_category_name
141      ,p_business_group_id        => p_business_group_id
142      ,p_legislation_code         => p_legislation_code
143      ,p_save_run_balance_enabled => p_save_run_balance_enabled
144      ,p_user_category_name       => p_user_category_name
145      ,p_pbc_information_category => p_pbc_information_category
146      ,p_pbc_information1         => p_pbc_information1
147      ,p_pbc_information2         => p_pbc_information2
148      ,p_pbc_information3         => p_pbc_information3
149      ,p_pbc_information4         => p_pbc_information4
150      ,p_pbc_information5         => p_pbc_information5
151      ,p_pbc_information6         => p_pbc_information6
152      ,p_pbc_information7         => p_pbc_information7
153      ,p_pbc_information8         => p_pbc_information8
154      ,p_pbc_information9         => p_pbc_information9
155      ,p_pbc_information10        => p_pbc_information10
156      ,p_pbc_information11        => p_pbc_information11
157      ,p_pbc_information12        => p_pbc_information12
158      ,p_pbc_information13        => p_pbc_information13
159      ,p_pbc_information14        => p_pbc_information14
160      ,p_pbc_information15        => p_pbc_information15
161      ,p_pbc_information16        => p_pbc_information16
162      ,p_pbc_information17        => p_pbc_information17
163      ,p_pbc_information18        => p_pbc_information18
164      ,p_pbc_information19        => p_pbc_information19
165      ,p_pbc_information20        => p_pbc_information20
166      ,p_pbc_information21        => p_pbc_information21
167      ,p_pbc_information22        => p_pbc_information22
168      ,p_pbc_information23        => p_pbc_information23
169      ,p_pbc_information24        => p_pbc_information24
170      ,p_pbc_information25        => p_pbc_information25
171      ,p_pbc_information26        => p_pbc_information26
172      ,p_pbc_information27        => p_pbc_information27
173      ,p_pbc_information28        => p_pbc_information28
174      ,p_pbc_information29        => p_pbc_information29
175      ,p_pbc_information30        => p_pbc_information30
176      ,p_balance_category_id      => l_balance_category_id
177      ,p_object_version_number    => l_object_version_number
178      ,p_effective_start_date     => l_effective_start_date
179      ,p_effective_end_date       => l_effective_end_date
180      );
181   --
182   hr_utility.set_location(l_proc, 50);
183   --
184   -- Call After Process User Hook
185   --
186   begin
187     pay_balance_category_bk1.create_balance_category_a
188       (p_effective_date           => l_effective_date
189       ,p_category_name            => p_category_name
190       ,p_business_group_id        => p_business_group_id
191       ,p_legislation_code         => p_legislation_code
192       ,p_save_run_balance_enabled => p_save_run_balance_enabled
193       ,p_user_category_name       => p_user_category_name
194       ,p_pbc_information_category => p_pbc_information_category
195       ,p_pbc_information1         => p_pbc_information1
196       ,p_pbc_information2         => p_pbc_information2
197       ,p_pbc_information3         => p_pbc_information3
198       ,p_pbc_information4         => p_pbc_information4
199       ,p_pbc_information5         => p_pbc_information5
200       ,p_pbc_information6         => p_pbc_information6
201       ,p_pbc_information7         => p_pbc_information7
202       ,p_pbc_information8         => p_pbc_information8
203       ,p_pbc_information9         => p_pbc_information9
204       ,p_pbc_information10        => p_pbc_information10
205       ,p_pbc_information11        => p_pbc_information11
206       ,p_pbc_information12        => p_pbc_information12
207       ,p_pbc_information13        => p_pbc_information13
208       ,p_pbc_information14        => p_pbc_information14
209       ,p_pbc_information15        => p_pbc_information15
210       ,p_pbc_information16        => p_pbc_information16
211       ,p_pbc_information17        => p_pbc_information17
212       ,p_pbc_information18        => p_pbc_information18
213       ,p_pbc_information19        => p_pbc_information19
214       ,p_pbc_information20        => p_pbc_information20
215       ,p_pbc_information21        => p_pbc_information21
216       ,p_pbc_information22        => p_pbc_information22
217       ,p_pbc_information23        => p_pbc_information23
218       ,p_pbc_information24        => p_pbc_information24
219       ,p_pbc_information25        => p_pbc_information25
220       ,p_pbc_information26        => p_pbc_information26
221       ,p_pbc_information27        => p_pbc_information27
222       ,p_pbc_information28        => p_pbc_information28
223       ,p_pbc_information29        => p_pbc_information29
224       ,p_pbc_information30        => p_pbc_information30
225       ,p_balance_category_id      => l_balance_category_id
226       ,p_effective_start_date     => l_effective_start_date
227       ,p_effective_end_date       => l_effective_end_date
228       ,p_object_version_number    => l_object_version_number
229       );
230   exception
231     when hr_api.cannot_find_prog_unit then
232       hr_api.cannot_find_prog_unit_error
233         (p_module_name => 'create_balance_category_a'
234         ,p_hook_type   => 'AP'
235         );
236   end;
237   hr_utility.set_location(l_proc, 60);
238   --
239   -- When in validation only mode raise the Validate_Enabled exception
240   --
241   if p_validate then
242     raise hr_api.validate_enabled;
243   end if;
244   --
245   -- Set all output arguments
246   --
247   p_balance_category_id    := l_balance_category_id;
248   p_effective_start_date   := l_effective_start_date;
249   p_effective_end_date     := l_effective_end_date;
250   p_object_version_number  := l_object_version_number;
251   --
252 g_dml_status := TRUE;
253 --For MLS-----------------------------------------------------------------------
254 pay_tbc_ins.ins_tl(userenv('lang'),p_balance_category_id,p_user_category_name);
255 --------------------------------------------------------------------------------
256 g_dml_status := FALSE;
257   hr_utility.set_location(' Leaving:'||l_proc, 70);
258 exception
259   when hr_api.validate_enabled then
260     --
261     -- As the Validate_Enabled exception has been raised
262     -- we must rollback to the savepoint
263     --
264     rollback to create_balance_category;
265     --
266     -- Only set output warning arguments
267     -- (Any key or derived arguments must be set to null
268     -- when validation only mode is being used.)
269     --
270     p_balance_category_id    := null;
271     p_object_version_number  := null;
272     p_effective_start_date   := null;
273     p_effective_end_date     := null;
274     hr_utility.set_location(' Leaving:'||l_proc, 80);
275   when others then
276     --
277     -- A validation or unexpected error has occured
278     --
279     rollback to create_balance_category;
280     hr_utility.set_location(' Leaving:'||l_proc, 90);
281     g_dml_status := FALSE;
282     raise;
283 end create_balance_category;
284 --
285 -- ----------------------------------------------------------------------------
286 -- |----------------------< update_balance_category >-------------------------|
287 -- ----------------------------------------------------------------------------
288 procedure update_balance_category
289   (p_validate                      in     boolean  default false
290   ,p_effective_date                in     date
291   ,p_datetrack_update_mode         in     varchar2
292   ,p_balance_category_id           in     number
293   ,p_object_version_number         in out nocopy number
294   ,p_business_group_id             in     number   default hr_api.g_number
295   ,p_legislation_code              in     varchar2 default hr_api.g_varchar2
296   ,p_save_run_balance_enabled      in     varchar2 default hr_api.g_varchar2
297   ,p_user_category_name            in     varchar2 default hr_api.g_varchar2
298   ,p_pbc_information_category      in     varchar2 default hr_api.g_varchar2
299   ,p_pbc_information1              in     varchar2 default hr_api.g_varchar2
300   ,p_pbc_information2              in     varchar2 default hr_api.g_varchar2
304   ,p_pbc_information6              in     varchar2 default hr_api.g_varchar2
301   ,p_pbc_information3              in     varchar2 default hr_api.g_varchar2
302   ,p_pbc_information4              in     varchar2 default hr_api.g_varchar2
303   ,p_pbc_information5              in     varchar2 default hr_api.g_varchar2
305   ,p_pbc_information7              in     varchar2 default hr_api.g_varchar2
306   ,p_pbc_information8              in     varchar2 default hr_api.g_varchar2
307   ,p_pbc_information9              in     varchar2 default hr_api.g_varchar2
308   ,p_pbc_information10             in     varchar2 default hr_api.g_varchar2
309   ,p_pbc_information11             in     varchar2 default hr_api.g_varchar2
310   ,p_pbc_information12             in     varchar2 default hr_api.g_varchar2
311   ,p_pbc_information13             in     varchar2 default hr_api.g_varchar2
312   ,p_pbc_information14             in     varchar2 default hr_api.g_varchar2
313   ,p_pbc_information15             in     varchar2 default hr_api.g_varchar2
314   ,p_pbc_information16             in     varchar2 default hr_api.g_varchar2
315   ,p_pbc_information17             in     varchar2 default hr_api.g_varchar2
316   ,p_pbc_information18             in     varchar2 default hr_api.g_varchar2
317   ,p_pbc_information19             in     varchar2 default hr_api.g_varchar2
318   ,p_pbc_information20             in     varchar2 default hr_api.g_varchar2
319   ,p_pbc_information21             in     varchar2 default hr_api.g_varchar2
320   ,p_pbc_information22             in     varchar2 default hr_api.g_varchar2
321   ,p_pbc_information23             in     varchar2 default hr_api.g_varchar2
322   ,p_pbc_information24             in     varchar2 default hr_api.g_varchar2
323   ,p_pbc_information25             in     varchar2 default hr_api.g_varchar2
324   ,p_pbc_information26             in     varchar2 default hr_api.g_varchar2
325   ,p_pbc_information27             in     varchar2 default hr_api.g_varchar2
326   ,p_pbc_information28             in     varchar2 default hr_api.g_varchar2
327   ,p_pbc_information29             in     varchar2 default hr_api.g_varchar2
328   ,p_pbc_information30             in     varchar2 default hr_api.g_varchar2
329   ,p_effective_start_date             out nocopy date
330   ,p_effective_end_date               out nocopy date
331   ) is
332   --
333   -- Declare cursors and local variables
334   --
335   l_proc                varchar2(72) := g_package||'update_balance_category';
336   l_effective_date      date;
337   --
338   -- Declare OUT variables
339   --
340   l_effective_start_date     pay_run_types_f.effective_start_date%TYPE;
341   l_effective_end_date       pay_run_types_f.effective_end_date%TYPE;
342   --
343   -- Declare IN OUT variable
344   --
345   l_object_version_number    pay_run_types_f.object_version_number%TYPE;
346   --
347 begin
348   hr_utility.set_location('Entering:'|| l_proc, 10);
349   --
350   -- Issue a savepoint
351   --
352   l_object_version_number := p_object_version_number;
353   savepoint update_balance_category;
354   --
355   -- Truncate the time portion from all IN date parameters
356   --
357     l_effective_date := trunc(p_effective_date);
358     hr_utility.set_location(l_proc, 20);
359   --
360   -- Call Before Process User Hook
361   --
362   begin
363     pay_balance_category_bk2.update_balance_category_b
364       (p_effective_date                => l_effective_date
365       ,p_datetrack_update_mode         => p_datetrack_update_mode
366       ,p_balance_category_id           => p_balance_category_id
367       ,p_object_version_number         => p_object_version_number
368       ,p_save_run_balance_enabled      => p_save_run_balance_enabled
369       ,p_user_category_name            => p_user_category_name
370       ,p_pbc_information_category      => p_pbc_information_category
371       ,p_pbc_information1              => p_pbc_information1
372       ,p_pbc_information2              => p_pbc_information2
373       ,p_pbc_information3              => p_pbc_information3
374       ,p_pbc_information4              => p_pbc_information4
375       ,p_pbc_information5              => p_pbc_information5
376       ,p_pbc_information6              => p_pbc_information6
377       ,p_pbc_information7              => p_pbc_information7
378       ,p_pbc_information8              => p_pbc_information8
379       ,p_pbc_information9              => p_pbc_information9
380       ,p_pbc_information10             => p_pbc_information10
381       ,p_pbc_information11             => p_pbc_information11
382       ,p_pbc_information12             => p_pbc_information12
383       ,p_pbc_information13             => p_pbc_information13
384       ,p_pbc_information14             => p_pbc_information14
385       ,p_pbc_information15             => p_pbc_information15
386       ,p_pbc_information16             => p_pbc_information16
387       ,p_pbc_information17             => p_pbc_information17
388       ,p_pbc_information18             => p_pbc_information18
389       ,p_pbc_information19             => p_pbc_information19
390       ,p_pbc_information20             => p_pbc_information20
391       ,p_pbc_information21             => p_pbc_information21
392       ,p_pbc_information22             => p_pbc_information22
393       ,p_pbc_information23             => p_pbc_information23
394       ,p_pbc_information24             => p_pbc_information24
395       ,p_pbc_information25             => p_pbc_information25
396       ,p_pbc_information26             => p_pbc_information26
397       ,p_pbc_information27             => p_pbc_information27
398       ,p_pbc_information28             => p_pbc_information28
402   exception
399       ,p_pbc_information29             => p_pbc_information29
400       ,p_pbc_information30             => p_pbc_information30
401       );
403     when hr_api.cannot_find_prog_unit then
404       hr_api.cannot_find_prog_unit_error
405         (p_module_name => 'update_balance_category'
406         ,p_hook_type   => 'BP'
407         );
408   end;
409   hr_utility.set_location(l_proc, 30);
410   --
411   -- Validation in addition to Row Handlers
412   --
413   hr_utility.set_location(l_proc, 40);
414   --
415   -- Process Logic
416   --
417   -- Call the row handler
418   --
419     pay_pbc_upd.upd
420       (p_effective_date                => l_effective_date
421       ,p_datetrack_mode                => p_datetrack_update_mode
422       ,p_balance_category_id           => p_balance_category_id
423       ,p_object_version_number         => p_object_version_number
424       ,p_save_run_balance_enabled      => p_save_run_balance_enabled
425       ,p_user_category_name            => p_user_category_name
426       ,p_pbc_information_category      => p_pbc_information_category
427       ,p_pbc_information1              => p_pbc_information1
428       ,p_pbc_information2              => p_pbc_information2
429       ,p_pbc_information3              => p_pbc_information3
430       ,p_pbc_information4              => p_pbc_information4
431       ,p_pbc_information5              => p_pbc_information5
432       ,p_pbc_information6              => p_pbc_information6
433       ,p_pbc_information7              => p_pbc_information7
434       ,p_pbc_information8              => p_pbc_information8
435       ,p_pbc_information9              => p_pbc_information9
436       ,p_pbc_information10             => p_pbc_information10
437       ,p_pbc_information11             => p_pbc_information11
438       ,p_pbc_information12             => p_pbc_information12
439       ,p_pbc_information13             => p_pbc_information13
440       ,p_pbc_information14             => p_pbc_information14
441       ,p_pbc_information15             => p_pbc_information15
442       ,p_pbc_information16             => p_pbc_information16
443       ,p_pbc_information17             => p_pbc_information17
444       ,p_pbc_information18             => p_pbc_information18
445       ,p_pbc_information19             => p_pbc_information19
446       ,p_pbc_information20             => p_pbc_information20
447       ,p_pbc_information21             => p_pbc_information21
448       ,p_pbc_information22             => p_pbc_information22
449       ,p_pbc_information23             => p_pbc_information23
450       ,p_pbc_information24             => p_pbc_information24
451       ,p_pbc_information25             => p_pbc_information25
452       ,p_pbc_information26             => p_pbc_information26
453       ,p_pbc_information27             => p_pbc_information27
454       ,p_pbc_information28             => p_pbc_information28
455       ,p_pbc_information29             => p_pbc_information29
456       ,p_pbc_information30             => p_pbc_information30
457       ,p_effective_start_date          => l_effective_start_date
458       ,p_effective_end_date            => l_effective_end_date
459       );
460     --
461     hr_utility.set_location(l_proc, 50);
462   --
463   -- Call After Process User Hook
464   --
465   begin
466     pay_balance_category_bk2.update_balance_category_a
467       (p_effective_date                => l_effective_date
468       ,p_datetrack_update_mode         => p_datetrack_update_mode
469       ,p_balance_category_id           => p_balance_category_id
470       ,p_object_version_number         => p_object_version_number
471       ,p_save_run_balance_enabled      => p_save_run_balance_enabled
472       ,p_user_category_name            => p_user_category_name
473       ,p_pbc_information_category      => p_pbc_information_category
474       ,p_pbc_information1              => p_pbc_information1
475       ,p_pbc_information2              => p_pbc_information2
476       ,p_pbc_information3              => p_pbc_information3
477       ,p_pbc_information4              => p_pbc_information4
478       ,p_pbc_information5              => p_pbc_information5
479       ,p_pbc_information6              => p_pbc_information6
480       ,p_pbc_information7              => p_pbc_information7
481       ,p_pbc_information8              => p_pbc_information8
482       ,p_pbc_information9              => p_pbc_information9
483       ,p_pbc_information10             => p_pbc_information10
484       ,p_pbc_information11             => p_pbc_information11
485       ,p_pbc_information12             => p_pbc_information12
486       ,p_pbc_information13             => p_pbc_information13
487       ,p_pbc_information14             => p_pbc_information14
488       ,p_pbc_information15             => p_pbc_information15
489       ,p_pbc_information16             => p_pbc_information16
490       ,p_pbc_information17             => p_pbc_information17
491       ,p_pbc_information18             => p_pbc_information18
492       ,p_pbc_information19             => p_pbc_information19
493       ,p_pbc_information20             => p_pbc_information20
494       ,p_pbc_information21             => p_pbc_information21
495       ,p_pbc_information22             => p_pbc_information22
496       ,p_pbc_information23             => p_pbc_information23
497       ,p_pbc_information24             => p_pbc_information24
498       ,p_pbc_information25             => p_pbc_information25
499       ,p_pbc_information26             => p_pbc_information26
500       ,p_pbc_information27             => p_pbc_information27
504       ,p_effective_start_date          => l_effective_start_date
501       ,p_pbc_information28             => p_pbc_information28
502       ,p_pbc_information29             => p_pbc_information29
503       ,p_pbc_information30             => p_pbc_information30
505       ,p_effective_end_date            => l_effective_end_date
506       );
507   exception
508     when hr_api.cannot_find_prog_unit then
509       hr_api.cannot_find_prog_unit_error
510         (p_module_name => 'update_balance_category'
511         ,p_hook_type   => 'AP'
512         );
513   end;
514   hr_utility.set_location(l_proc, 60);
515   --
516   -- When in validation only mode raise the Validate_Enabled exception
517   --
518   if p_validate then
519     raise hr_api.validate_enabled;
520   end if;
521   --
522   -- Set all output arguments
523   --
524   p_effective_start_date   := l_effective_start_date;
525   p_effective_end_date     := l_effective_end_date;
526   p_object_version_number  := p_object_version_number;
527   --
528   g_dml_status := TRUE;
529 --For MLS-----------------------------------------------------------------------
530 pay_tbc_upd.upd_tl(userenv('lang'),p_balance_category_id,p_user_category_name);
531 --------------------------------------------------------------------------------
532 g_dml_status := FALSE;
533   hr_utility.set_location(' Leaving:'||l_proc, 70);
534 exception
535   when hr_api.validate_enabled then
536     --
537     -- As the Validate_Enabled exception has been raised
538     -- we must rollback to the savepoint
539     --
540     rollback to pay_balance_category;
541     --
542     -- Only set output warning arguments
543     -- (Any key or derived arguments must be set to null
544     -- when validation only mode is being used.)
545     --
546     p_object_version_number  := l_object_version_number;
547     p_effective_start_date   := null;
548     p_effective_end_date     := null;
549     hr_utility.set_location(' Leaving:'||l_proc, 80);
550   when others then
551     --
552     -- A validation or unexpected error has occured
553     --
554     rollback to update_balance_category;
555     hr_utility.set_location(' Leaving:'||l_proc, 90);
556     g_dml_status := FALSE;
557     raise;
558 end update_balance_category;
559 --
560 -- ----------------------------------------------------------------------------
561 -- |-----------------------< delete_balance_category >------------------------|
562 -- ----------------------------------------------------------------------------
563 --
564 procedure delete_balance_category
565   (p_validate                      in     boolean  default false
566   ,p_effective_date                in     date
567   ,p_datetrack_delete_mode         in     varchar2
568   ,p_balance_category_id           in     number
569   ,p_object_version_number         in out nocopy number
570   ,p_business_group_id             in     number   default hr_api.g_number
571   ,p_legislation_code              in     varchar2 default hr_api.g_varchar2
572   ,p_effective_start_date             out nocopy date
573   ,p_effective_end_date               out nocopy date
574   ) is
575   --
576   -- Declare cursors and local variables
577   --
578   l_proc               varchar2(72) := g_package||'delete_balance_category';
579   l_effective_date     date;
580   --
581   -- Declare OUT variables
582   --
583   l_effective_start_date  pay_balance_categories_f.effective_start_date%type;
584   l_effective_end_date    pay_balance_categories_f.effective_end_date%type;
585   l_validation_start_date date;
586   l_validation_end_date   date;
587   l_object_version_number pay_balance_categories_f.object_version_number%type;
588 begin
589   hr_utility.set_location('Entering:'|| l_proc, 5);
590   --
591   -- Issue a savepoint and assign in-out parameters to local variable
592   --
593   savepoint delete_balance_category;
594   l_object_version_number := p_object_version_number;
595   --
596   hr_utility.set_location(l_proc, 10);
597   --
598     l_effective_date := trunc(p_effective_date);
599   --
600   -- Call Before Process User Hook
601   --
602   begin
603     pay_balance_category_bk3.delete_balance_category_b
604       (p_effective_date                => l_effective_date
605       ,p_datetrack_delete_mode         => p_datetrack_delete_mode
606       ,p_balance_category_id           => p_balance_category_id
607       ,p_object_version_number         => p_object_version_number
608       ,p_business_group_id             => p_business_group_id
609       ,p_legislation_code              => p_legislation_code
610       );
611   exception
612     when hr_api.cannot_find_prog_unit then
613       hr_api.cannot_find_prog_unit_error
614         (p_module_name => 'delete_balance_category'
615         ,p_hook_type   => 'BP'
616         );
617   end;
618   --
619   hr_utility.set_location(l_proc, 20);
620   --
621   -- Validation in addition to Row Handlers
622   --
623     hr_utility.set_location(l_proc, 30);
624   --
625 begin
626   g_dml_status := TRUE;
627 --For MLS-----------------------------------------------------------------------
628 pay_tbc_del.del_tl(p_balance_category_id);
629 --------------------------------------------------------------------------------
630 g_dml_status := FALSE;
631 Exception
632   When Others then
633   g_dml_status := FALSE;
634   raise;
638   --
635 end;
636 
637   -- Call the row handler to delete the balance category
639     pay_pbc_del.del
640        (p_effective_date        => l_effective_date
641        ,p_datetrack_mode        => p_datetrack_delete_mode
642        ,p_balance_category_id   => p_balance_category_id
643        ,p_object_version_number => p_object_version_number
644        ,p_effective_start_date  => l_effective_start_date
645        ,p_effective_end_date    => l_effective_end_date
646        );
647   --
648   hr_utility.set_location(l_proc, 40);
649   --
650   -- Call After Process User Hook
651   --
652   begin
653    pay_balance_category_bk3.delete_balance_category_a
654       (p_effective_date        => l_effective_date
655       ,p_datetrack_delete_mode => p_datetrack_delete_mode
656       ,p_balance_category_id   => p_balance_category_id
657       ,p_object_version_number => p_object_version_number
658       ,p_business_group_id     => p_business_group_id
659       ,p_legislation_code      => p_legislation_code
660       ,p_effective_start_date  => l_effective_start_date
661       ,p_effective_end_date    => l_effective_end_date
662       );
663   exception
664     when hr_api.cannot_find_prog_unit then
665       hr_api.cannot_find_prog_unit_error
666         (p_module_name => 'delete_balance_category'
667         ,p_hook_type   => 'AP'
668         );
669   end;
670   hr_utility.set_location(l_proc, 60);
671   --
672   -- When in validation only mode raise the Validate_Enabled exception
673   --
674   if p_validate then
675     raise hr_api.validate_enabled;
676   end if;
677   --
678   -- Set all output arguments
679   --
680     p_object_version_number := p_object_version_number;
681     p_effective_start_date  := l_effective_start_date;
682     p_effective_end_date    := l_effective_end_date;
683   --
684   hr_utility.set_location(' Leaving:'||l_proc, 70);
685 exception
686   when hr_api.validate_enabled then
687     --
688     -- As the Validate_Enabled exception has been raised
689     -- we must rollback to the savepoint
690     --
691     rollback to delete_balance_category;
692     --
693     -- Only set output warning arguments
694     -- (Any key or derived arguments must be set to null
695     -- when validation only mode is being used.)
696     --
697     p_object_version_number := l_object_version_number;
698     p_effective_start_date  := null;
699     p_effective_end_date    := null;
700     --
701     hr_utility.set_location(' Leaving:'||l_proc, 80);
702   when others then
703     --
704     -- A validation or unexpected error has occured
705     --
706     rollback to delete_balance_category;
707     hr_utility.set_location(' Leaving:'||l_proc, 90);
708     raise;
709 end delete_balance_category;
710 --
711 function return_dml_status
712 return boolean
713 IS
714 begin
715 return g_dml_status;
716 end return_dml_status;
717 --
718 
719 end PAY_BALANCE_CATEGORY_API;