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