[Home] [Help]
PACKAGE BODY: APPS.PAY_BALANCE_TYPES_API
Source
1 Package Body PAY_BALANCE_TYPES_API as
2 /* $Header: pybltapi.pkb 120.0 2005/05/29 03:20:37 appldev noship $ */
3 --
4 -- Package Variables
5 --
6 g_package varchar2(33) := ' PAY_BALANCE_TYPES_API.';
7 --
8 -- ----------------------------------------------------------------------------
9 -- |--------------------------< CREATE_BAL_TYPE >--------------------------|
10 -- ----------------------------------------------------------------------------
11 --
12 procedure create_bal_type
13 (p_validate in boolean default false
14 ,p_effective_date in date
15 ,p_language_code in varchar2 Default hr_api.userenv_lang
16 ,p_balance_name in varchar2
17 ,p_balance_uom in varchar2
18 ,p_business_group_id in number
19 ,p_legislation_code in varchar2 default null
20 ,p_currency_code in varchar2 default null
21 ,p_assignment_remuneration_flag in varchar2 default 'N'
22 ,p_comments in varchar2 default null
23 ,p_legislation_subgroup in varchar2 default null
24 ,p_reporting_name in varchar2 default null
25 ,p_attribute_category in varchar2 default null
26 ,p_attribute1 in varchar2 default null
27 ,p_attribute2 in varchar2 default null
28 ,p_attribute3 in varchar2 default null
29 ,p_attribute4 in varchar2 default null
30 ,p_attribute5 in varchar2 default null
31 ,p_attribute6 in varchar2 default null
35 ,p_attribute10 in varchar2 default null
32 ,p_attribute7 in varchar2 default null
33 ,p_attribute8 in varchar2 default null
34 ,p_attribute9 in varchar2 default null
36 ,p_attribute11 in varchar2 default null
37 ,p_attribute12 in varchar2 default null
38 ,p_attribute13 in varchar2 default null
39 ,p_attribute14 in varchar2 default null
40 ,p_attribute15 in varchar2 default null
41 ,p_attribute16 in varchar2 default null
42 ,p_attribute17 in varchar2 default null
43 ,p_attribute18 in varchar2 default null
44 ,p_attribute19 in varchar2 default null
45 ,p_attribute20 in varchar2 default null
46 ,p_jurisdiction_level in number default null
47 ,p_tax_type in varchar2 default null
48 ,p_balance_category_id in number default null
49 ,p_base_balance_type_id in number default null
50 ,p_input_value_id in number default null
51 ,p_balance_type_id out nocopy number
52 ,p_object_version_number out nocopy number
53 ) is
54 --
55 -- Declare cursors and local variables
56 --
57 l_in_out_parameter number;
58 l_effective_date date;
59 l_balance_type_id pay_balance_types.balance_type_id%type;
60 l_object_version_number pay_balance_types.object_version_number%type;
61 l_default_currency_code pay_balance_types.currency_code%type;
62 l_proc varchar2(72) := g_package||'create_bal_type';
63 begin
64 hr_utility.set_location('Entering:'|| l_proc, 10);
65 --
66 -- Issue a savepoint
67 --
68 savepoint CREATE_BAL_TYPE;
69 --
70 --
71 -- Truncate the time portion from all IN date parameters
72 --
73 l_effective_date := trunc(p_effective_date);
74 --
75 -- Validation in addition to Row Handlers
76 --
77 -- assign default value to currency
78
79 hr_utility.set_location('Entering:'|| l_proc, 20);
80
81 if (p_balance_uom = 'M' and p_currency_code is null) then
82 -- Get the default currency based on the legislation
83 --
84 BEGIN
85 l_default_currency_code :=
86 hr_general.default_currency_code(p_legislation_code);
87
88 EXCEPTION
89 WHEN others THEN
90 IF sqlcode = -20001 THEN
91 -- No default currency available from the legislation so
92 -- get the default currency based on the business group
93 --
94 l_default_currency_code :=
95 hr_general.default_currency_code(p_business_group_id);
96 END IF;
97 END;
98 else
99 l_default_currency_code := p_currency_code;
100 end if;
101 --
102 hr_utility.set_location('Entering:'|| l_proc, 30);
103 --
104 -- Call Before Process User Hook
105 --
106 begin
107 PAY_BALANCE_TYPES_BK1.create_bal_type_b
108 (p_effective_date => l_effective_date
109 ,p_language_code => p_language_code
110 ,p_balance_name => p_balance_name
111 ,p_balance_uom => p_balance_uom
112 ,p_business_group_id => p_business_group_id
113 ,p_legislation_code => p_legislation_code
114 ,p_currency_code => l_default_currency_code
115 ,p_assignment_remuneration_flag => p_assignment_remuneration_flag
116 ,p_comments => p_comments
117 ,p_legislation_subgroup => p_legislation_subgroup
118 ,p_reporting_name => p_reporting_name
119 ,p_attribute_category => p_attribute_category
120 ,p_attribute1 => p_attribute1
121 ,p_attribute2 => p_attribute2
122 ,p_attribute3 => p_attribute3
123 ,p_attribute4 => p_attribute4
124 ,p_attribute5 => p_attribute5
125 ,p_attribute6 => p_attribute6
126 ,p_attribute7 => p_attribute7
127 ,p_attribute8 => p_attribute8
128 ,p_attribute9 => p_attribute9
129 ,p_attribute10 => p_attribute10
130 ,p_attribute11 => p_attribute11
131 ,p_attribute12 => p_attribute12
132 ,p_attribute13 => p_attribute13
133 ,p_attribute14 => p_attribute14
134 ,p_attribute15 => p_attribute15
135 ,p_attribute16 => p_attribute16
136 ,p_attribute17 => p_attribute17
137 ,p_attribute18 => p_attribute18
138 ,p_attribute19 => p_attribute19
139 ,p_attribute20 => p_attribute20
140 ,p_jurisdiction_level => p_jurisdiction_level
141 ,p_tax_type => p_tax_type
142 ,p_balance_category_id => p_balance_category_id
143 ,p_base_balance_type_id => p_base_balance_type_id
144 ,p_input_value_id => p_input_value_id
145 );
146 exception
147 when hr_api.cannot_find_prog_unit then
148 hr_api.cannot_find_prog_unit_error
149 (p_module_name => 'CREATE_BAL_TYPE'
150 ,p_hook_type => 'BP'
151 );
152 end;
153 --
154 hr_utility.set_location('Entering:'|| l_proc, 40);
155 --
156 -- Process Logic
157 --
161 ,p_balance_uom => p_balance_uom
158 pay_blt_ins.ins
159 (p_effective_date => l_effective_date
160 ,p_assignment_remuneration_flag => p_assignment_remuneration_flag
162 ,p_business_group_id => p_business_group_id
163 ,p_legislation_code => p_legislation_code
164 ,p_currency_code => l_default_currency_code
165 ,p_balance_name => p_balance_name
166 ,p_comments => p_comments
167 ,p_legislation_subgroup => p_legislation_subgroup
168 ,p_reporting_name => p_reporting_name
169 ,p_attribute_category => p_attribute_category
170 ,p_attribute1 => p_attribute1
171 ,p_attribute2 => p_attribute2
172 ,p_attribute3 => p_attribute3
173 ,p_attribute4 => p_attribute4
174 ,p_attribute5 => p_attribute5
175 ,p_attribute6 => p_attribute6
176 ,p_attribute7 => p_attribute7
177 ,p_attribute8 => p_attribute8
178 ,p_attribute9 => p_attribute9
179 ,p_attribute10 => p_attribute10
180 ,p_attribute11 => p_attribute11
181 ,p_attribute12 => p_attribute12
182 ,p_attribute13 => p_attribute13
183 ,p_attribute14 => p_attribute14
184 ,p_attribute15 => p_attribute15
185 ,p_attribute16 => p_attribute16
186 ,p_attribute17 => p_attribute17
187 ,p_attribute18 => p_attribute18
188 ,p_attribute19 => p_attribute19
189 ,p_attribute20 => p_attribute20
190 ,p_jurisdiction_level => p_jurisdiction_level
191 ,p_tax_type => p_tax_type
192 ,p_balance_category_id => p_balance_category_id
193 ,p_base_balance_type_id => p_base_balance_type_id
194 ,p_input_value_id => p_input_value_id
195 ,p_balance_type_id => l_balance_type_id
196 ,p_object_version_number => l_object_version_number
197 );
198 --
199 hr_utility.set_location('Entering:'|| l_proc, 50);
200 --
201 -- Create default entries in pay_balance_types_tl table
202 --
203 pay_btt_ins.ins_tl
204 (p_language_code => p_language_code
205 ,p_balance_type_id => l_balance_type_id
206 ,p_balance_name => p_balance_name
207 ,p_reporting_name => p_reporting_name
208 );
209 --
210 -- Call After Process User Hook
211 --
212 --
213 hr_utility.set_location('Entering:'|| l_proc, 60);
214 --
215 begin
216 PAY_BALANCE_TYPES_BK1.create_bal_type_a
217 (p_effective_date => l_effective_date
218 ,p_language_code => p_language_code
219 ,p_balance_name => p_balance_name
220 ,p_balance_uom => p_balance_uom
221 ,p_business_group_id => p_business_group_id
222 ,p_legislation_code => p_legislation_code
223 ,p_currency_code => l_default_currency_code
224 ,p_assignment_remuneration_flag => p_assignment_remuneration_flag
225 ,p_comments => p_comments
226 ,p_legislation_subgroup => p_legislation_subgroup
227 ,p_reporting_name => p_reporting_name
228 ,p_attribute_category => p_attribute_category
229 ,p_attribute1 => p_attribute1
230 ,p_attribute2 => p_attribute2
231 ,p_attribute3 => p_attribute3
232 ,p_attribute4 => p_attribute4
233 ,p_attribute5 => p_attribute5
234 ,p_attribute6 => p_attribute6
235 ,p_attribute7 => p_attribute7
236 ,p_attribute8 => p_attribute8
237 ,p_attribute9 => p_attribute9
238 ,p_attribute10 => p_attribute10
239 ,p_attribute11 => p_attribute11
240 ,p_attribute12 => p_attribute12
241 ,p_attribute13 => p_attribute13
242 ,p_attribute14 => p_attribute14
243 ,p_attribute15 => p_attribute15
244 ,p_attribute16 => p_attribute16
245 ,p_attribute17 => p_attribute17
246 ,p_attribute18 => p_attribute18
247 ,p_attribute19 => p_attribute19
248 ,p_attribute20 => p_attribute20
249 ,p_jurisdiction_level => p_jurisdiction_level
250 ,p_tax_type => p_tax_type
251 ,p_balance_category_id => p_balance_category_id
252 ,p_base_balance_type_id => p_base_balance_type_id
253 ,p_input_value_id => p_input_value_id
254 ,p_balance_type_id => l_balance_type_id
255 ,p_object_version_number => l_object_version_number
256 );
257 exception
258 when hr_api.cannot_find_prog_unit then
259 hr_api.cannot_find_prog_unit_error
260 (p_module_name => 'CREATE_BAL_TYPE'
261 ,p_hook_type => 'AP'
262 );
263 end;
264 --
265 -- When in validation only mode raise the Validate_Enabled exception
266 --
267 if p_validate then
268 raise hr_api.validate_enabled;
269 end if;
270 --
271 -- Set all IN OUT and OUT parameters with out values
272 --
273 p_balance_type_id := l_balance_type_id;
274 p_object_version_number := l_object_version_number;
275
276 --
277 hr_utility.set_location(' Leaving:'||l_proc, 70);
278 exception
279 when hr_api.validate_enabled then
280 --
281 -- As the Validate_Enabled exception has been raised
282 -- we must rollback to the savepoint
283 --
284 rollback to CREATE_BAL_TYPE;
285 --
286 -- Reset IN OUT parameters and set OUT parameters
287 -- (Any key or derived arguments must be set to null
288 -- when validation only mode is being used.)
289 --
290 p_balance_type_id := null;
291 p_object_version_number := null;
292
293 hr_utility.set_location(' Leaving:'||l_proc, 80);
294 when others then
295 --
296 -- A validation or unexpected error has occured
297 --
298 rollback to CREATE_BAL_TYPE;
299 --
300 -- Reset IN OUT parameters and set all
301 -- OUT parameters, including warnings, to null
302 --
303 p_balance_type_id := null;
304 p_object_version_number := null;
305
306 hr_utility.set_location(' Leaving:'||l_proc, 90);
307 raise;
308 end CREATE_BAL_TYPE;
309 --
310 -- ----------------------------------------------------------------------------
311 -- |--------------------------< UPDATE_BAL_TYPE >--------------------------|
312 -- ----------------------------------------------------------------------------
313 --
314 procedure update_bal_type
315 (p_validate in boolean default false
316 ,p_effective_date in date
317 ,p_language_code in varchar2 Default hr_api.userenv_lang
318 ,p_balance_type_id in number
319 ,p_object_version_number in out nocopy number
320 ,p_balance_name in varchar2 default hr_api.g_varchar2
321 ,p_balance_uom in varchar2 default hr_api.g_varchar2
322 ,p_currency_code in varchar2 default hr_api.g_varchar2
323 ,p_assignment_remuneration_flag in varchar2 default hr_api.g_varchar2
324 ,p_comments in varchar2 default hr_api.g_varchar2
325 ,p_reporting_name in varchar2 default hr_api.g_varchar2
326 ,p_attribute_category in varchar2 default hr_api.g_varchar2
327 ,p_attribute1 in varchar2 default hr_api.g_varchar2
328 ,p_attribute2 in varchar2 default hr_api.g_varchar2
329 ,p_attribute3 in varchar2 default hr_api.g_varchar2
330 ,p_attribute4 in varchar2 default hr_api.g_varchar2
331 ,p_attribute5 in varchar2 default hr_api.g_varchar2
332 ,p_attribute6 in varchar2 default hr_api.g_varchar2
333 ,p_attribute7 in varchar2 default hr_api.g_varchar2
334 ,p_attribute8 in varchar2 default hr_api.g_varchar2
335 ,p_attribute9 in varchar2 default hr_api.g_varchar2
336 ,p_attribute10 in varchar2 default hr_api.g_varchar2
337 ,p_attribute11 in varchar2 default hr_api.g_varchar2
338 ,p_attribute12 in varchar2 default hr_api.g_varchar2
339 ,p_attribute13 in varchar2 default hr_api.g_varchar2
340 ,p_attribute14 in varchar2 default hr_api.g_varchar2
341 ,p_attribute15 in varchar2 default hr_api.g_varchar2
342 ,p_attribute16 in varchar2 default hr_api.g_varchar2
343 ,p_attribute17 in varchar2 default hr_api.g_varchar2
344 ,p_attribute18 in varchar2 default hr_api.g_varchar2
345 ,p_attribute19 in varchar2 default hr_api.g_varchar2
346 ,p_attribute20 in varchar2 default hr_api.g_varchar2
347 ,p_balance_category_id in number default hr_api.g_number
348 ,p_base_balance_type_id in number default hr_api.g_number
349 ,p_input_value_id in number default hr_api.g_number
350 ,p_balance_name_warning out nocopy number
351 ) is
352 --
353 -- Declare cursors and local variables
354 --
355 cursor csr_derived_values
356 is
357 select business_group_id,legislation_code,legislation_subgroup
358 from pay_balance_types
359 where balance_type_id = p_balance_type_id;
360
361
362 l_business_group_id pay_balance_types.business_group_id%type;
363 l_legislation_code pay_balance_types.legislation_code%type;
364 l_legislation_subgroup pay_balance_types.legislation_subgroup%type;
365 l_object_version_number pay_balance_types.object_version_number%type;
366 l_default_currency_code pay_balance_types.currency_code%type;
367 l_balance_name_warning number;
368 l_effective_date date;
369 l_proc varchar2(72) := g_package||'UPDATE_BAL_TYPE';
370 begin
371 hr_utility.set_location('Entering:'|| l_proc, 10);
372 --
373 -- Issue a savepoint
374 --
375 savepoint UPDATE_BAL_TYPE;
376 --
377 -- Remember IN OUT parameter IN values
378 --
379 l_object_version_number := p_object_version_number;
380
381 --
382 -- Truncate the time portion from all IN date parameters
383 --
384 l_effective_date := trunc(p_effective_date);
385 --
386 --
387 hr_utility.set_location('Entering:'|| l_proc, 20);
388 --
389 --
390 -- Call Before Process User Hook
391 --
392 begin
393 PAY_BALANCE_TYPES_BK2.update_bal_type_b
394 (p_effective_date => l_effective_date
395 ,p_language_code => p_language_code
396 ,p_balance_type_id => p_balance_type_id
397 ,p_object_version_number => l_object_version_number
398 ,p_balance_name => p_balance_name
399 ,p_balance_uom => p_balance_uom
400 ,p_currency_code => p_currency_code
401 ,p_assignment_remuneration_flag => p_assignment_remuneration_flag
402 ,p_comments => p_comments
403 ,p_reporting_name => p_reporting_name
404 ,p_attribute_category => p_attribute_category
405 ,p_attribute1 => p_attribute1
406 ,p_attribute2 => p_attribute2
407 ,p_attribute3 => p_attribute3
408 ,p_attribute4 => p_attribute4
409 ,p_attribute5 => p_attribute5
410 ,p_attribute6 => p_attribute6
411 ,p_attribute7 => p_attribute7
412 ,p_attribute8 => p_attribute8
413 ,p_attribute9 => p_attribute9
414 ,p_attribute10 => p_attribute10
415 ,p_attribute11 => p_attribute11
416 ,p_attribute12 => p_attribute12
417 ,p_attribute13 => p_attribute13
418 ,p_attribute14 => p_attribute14
419 ,p_attribute15 => p_attribute15
420 ,p_attribute16 => p_attribute16
421 ,p_attribute17 => p_attribute17
422 ,p_attribute18 => p_attribute18
423 ,p_attribute19 => p_attribute19
424 ,p_attribute20 => p_attribute20
425 ,p_balance_category_id => p_balance_category_id
426 ,p_base_balance_type_id => p_base_balance_type_id
427 ,p_input_value_id => p_input_value_id
428 );
429 exception
430 when hr_api.cannot_find_prog_unit then
431 hr_api.cannot_find_prog_unit_error
432 (p_module_name => 'UPDATE_BAL_TYPE'
433 ,p_hook_type => 'BP'
434 );
435 end;
436 --
437 -- Validation in addition to Row Handlers
438 --
439 --
440 hr_utility.set_location('Entering:'|| l_proc, 30);
441 --
442 --
443 open csr_derived_values;
444 fetch csr_derived_values into l_business_group_id,l_legislation_code,
445 l_legislation_subgroup;
446 close csr_derived_values;
447 --
448 --
449 hr_utility.set_location('Entering:'|| l_proc, 40);
450 --
451 -- assign default value to currency
452 if (p_balance_uom = 'M' and p_currency_code is null) then
453 -- Get the default currency based on the legislation
454 --
455 BEGIN
456 l_default_currency_code :=
457 hr_general.default_currency_code(l_legislation_code);
458 EXCEPTION
459 WHEN others THEN
460 IF sqlcode = -20001 THEN
461 -- No default currency available from the legislation so
462 -- get the default currency based on the business group
463 --
464 l_default_currency_code :=
465 hr_general.default_currency_code(l_business_group_id);
466 END IF;
467 END;
468 else
469 l_default_currency_code := p_currency_code;
470 end if;
471 --
472 hr_utility.set_location('Entering:'|| l_proc, 50);
473 --
474 --
475 -- Process Logic
476 --
477 pay_blt_upd.upd
478 ( p_effective_date => l_effective_date
479 ,p_balance_type_id => p_balance_type_id
480 ,p_object_version_number => l_object_version_number
481 ,p_assignment_remuneration_flag => p_assignment_remuneration_flag
482 ,p_balance_uom => p_balance_uom
483 ,p_business_group_id => l_business_group_id
484 ,p_legislation_code => l_legislation_code
485 ,p_currency_code => l_default_currency_code
486 ,p_balance_name => p_balance_name
487 ,p_comments => p_comments
488 ,p_legislation_subgroup => l_legislation_subgroup
489 ,p_reporting_name => p_reporting_name
490 ,p_attribute_category => p_attribute_category
491 ,p_attribute1 => p_attribute1
492 ,p_attribute2 => p_attribute2
493 ,p_attribute3 => p_attribute3
494 ,p_attribute4 => p_attribute4
495 ,p_attribute5 => p_attribute5
496 ,p_attribute6 => p_attribute6
497 ,p_attribute7 => p_attribute7
498 ,p_attribute8 => p_attribute8
499 ,p_attribute9 => p_attribute9
500 ,p_attribute10 => p_attribute10
501 ,p_attribute11 => p_attribute11
502 ,p_attribute12 => p_attribute12
503 ,p_attribute13 => p_attribute13
504 ,p_attribute14 => p_attribute14
505 ,p_attribute15 => p_attribute15
506 ,p_attribute16 => p_attribute16
507 ,p_attribute17 => p_attribute17
508 ,p_attribute18 => p_attribute18
509 ,p_attribute19 => p_attribute19
510 ,p_attribute20 => p_attribute20
511 ,p_balance_category_id => p_balance_category_id
512 ,p_base_balance_type_id => p_base_balance_type_id
513 ,p_input_value_id => p_input_value_id
514 ,p_balance_name_warning => l_balance_name_warning
515 );
516 --
517 hr_utility.set_location('Entering:'|| l_proc, 60);
518 --
519 --
520 -- Update the translation table values
521 --
522 pay_btt_upd.upd_tl
523 (p_language_code => p_language_code
524 ,p_balance_type_id => p_balance_type_id
525 ,p_balance_name => p_balance_name
526 ,p_reporting_name => p_reporting_name
527 );
528
529 --
530 --
531 hr_utility.set_location('Entering:'|| l_proc, 70);
532 --
533 --
534 -- Call After Process User Hook
535 --
536 begin
537 PAY_BALANCE_TYPES_BK2.update_bal_type_a
538 (p_effective_date => l_effective_date
539 ,p_language_code => p_language_code
540 ,p_balance_type_id => p_balance_type_id
541 ,p_object_version_number => l_object_version_number
542 ,p_balance_name => p_balance_name
543 ,p_balance_uom => p_balance_uom
544 ,p_currency_code => l_default_currency_code
545 ,p_assignment_remuneration_flag => p_assignment_remuneration_flag
546 ,p_comments => p_comments
547 ,p_reporting_name => p_reporting_name
548 ,p_attribute_category => p_attribute_category
549 ,p_attribute1 => p_attribute1
550 ,p_attribute2 => p_attribute2
551 ,p_attribute3 => p_attribute3
552 ,p_attribute4 => p_attribute4
553 ,p_attribute5 => p_attribute5
554 ,p_attribute6 => p_attribute6
555 ,p_attribute7 => p_attribute7
556 ,p_attribute8 => p_attribute8
557 ,p_attribute9 => p_attribute9
558 ,p_attribute10 => p_attribute10
559 ,p_attribute11 => p_attribute11
560 ,p_attribute12 => p_attribute12
561 ,p_attribute13 => p_attribute13
562 ,p_attribute14 => p_attribute14
563 ,p_attribute15 => p_attribute15
564 ,p_attribute16 => p_attribute16
565 ,p_attribute17 => p_attribute17
566 ,p_attribute18 => p_attribute18
567 ,p_attribute19 => p_attribute19
568 ,p_attribute20 => p_attribute20
569 ,p_balance_category_id => p_balance_category_id
570 ,p_base_balance_type_id => p_base_balance_type_id
571 ,p_input_value_id => p_input_value_id
572 ,p_balance_name_warning => l_balance_name_warning
573 );
574 exception
575 when hr_api.cannot_find_prog_unit then
576 hr_api.cannot_find_prog_unit_error
577 (p_module_name => 'UPDATE_BAL_TYPE'
578 ,p_hook_type => 'AP'
579 );
580 end;
581 --
582 -- When in validation only mode raise the Validate_Enabled exception
583 --
584 if p_validate then
585 raise hr_api.validate_enabled;
586 end if;
587 --
588 -- Set all IN OUT and OUT parameters with out values
589 --
590 p_object_version_number := l_object_version_number;
591 p_balance_name_warning := l_balance_name_warning;
592
593 --
594 hr_utility.set_location(' Leaving:'||l_proc, 80);
595 exception
596 when hr_api.validate_enabled then
597 --
598 -- As the Validate_Enabled exception has been raised
599 -- we must rollback to the savepoint
600 --
601 rollback to UPDATE_BAL_TYPE;
602 --
603 -- Reset IN OUT parameters and set OUT parameters
604 -- (Any key or derived arguments must be set to null
605 -- when validation only mode is being used.)
606 --
607 p_object_version_number := null;
608 p_balance_name_warning := l_balance_name_warning;
609 hr_utility.set_location(' Leaving:'||l_proc, 90);
610 when others then
611 --
612 -- A validation or unexpected error has occured
613 --
614 rollback to UPDATE_BAL_TYPE;
615 --
616 -- Reset IN OUT parameters and set all
617 -- OUT parameters, including warnings, to null
618 --
619
620 p_object_version_number := null;
621 p_balance_name_warning := null;
622 hr_utility.set_location(' Leaving:'||l_proc, 100);
623 raise;
624 end UPDATE_BAL_TYPE;
625 --
626 -- ----------------------------------------------------------------------------
627 -- |--------------------------< DELETE_BAL_TYPE >--------------------------|
628 -- ----------------------------------------------------------------------------
629 --
630 procedure DELETE_BAL_TYPE
631 (p_validate in boolean default false
632 ,p_balance_type_id in number
633 ,p_object_version_number in out nocopy number
634 ) is
635 --
636 -- Declare cursors and local variables
637 --
638 l_object_version_number number;
639 l_proc varchar2(72) := g_package||'DELETE_BAL_TYPE';
640 begin
641 hr_utility.set_location('Entering:'|| l_proc, 10);
642 --
643 -- Issue a savepoint
644 --
645 savepoint DELETE_BAL_TYPE;
646 --
647 -- Remember IN OUT parameter IN values
648 --
649 l_object_version_number := p_object_version_number;
650
651 --
652 hr_utility.set_location('Entering:'|| l_proc, 20);
653 --
654 --
655 -- Call Before Process User Hook
656 --
657 begin
658 PAY_BALANCE_TYPES_BK3.delete_bal_type_b
659 (p_balance_type_id => p_balance_type_id
660 ,p_object_version_number => l_object_version_number
661 );
662 exception
663 when hr_api.cannot_find_prog_unit then
664 hr_api.cannot_find_prog_unit_error
665 (p_module_name => 'DELETE_BAL_TYPE'
666 ,p_hook_type => 'BP'
667 );
668 end;
669 --
670 -- Validation in addition to Row Handlers
671 --
672 --
673 hr_utility.set_location('Entering:'|| l_proc, 30);
674 --
675 --
676 -- Process Logic
677 --
678 pay_blt_del.del
679 (p_balance_type_id => p_balance_type_id
680 ,p_object_version_number => l_object_version_number
681 );
682 --
683 -- delete from translation table
684 --
685 --
686 hr_utility.set_location('Entering:'|| l_proc, 40);
687 --
688 pay_btt_del.del_tl
689 (p_balance_type_id => p_balance_type_id
690 ,p_associated_column1 => null
691 );
692 --
693 --
694 hr_utility.set_location('Entering:'|| l_proc, 50);
695 --
696 --
697 -- Call After Process User Hook
698 --
699 begin
700 PAY_BALANCE_TYPES_BK3.delete_bal_type_a
701 (p_balance_type_id => p_balance_type_id
702 ,p_object_version_number => l_object_version_number
703 );
704 exception
705 when hr_api.cannot_find_prog_unit then
706 hr_api.cannot_find_prog_unit_error
707 (p_module_name => 'DELETE_BAL_TYPE'
708 ,p_hook_type => 'AP'
709 );
710 end;
711 --
712 -- When in validation only mode raise the Validate_Enabled exception
713 --
714 if p_validate then
715 raise hr_api.validate_enabled;
716 end if;
717 --
718 -- Set all IN OUT and OUT parameters with out values
719 --
720 p_object_version_number := l_object_version_number;
721 --
722 hr_utility.set_location(' Leaving:'||l_proc, 70);
723 exception
724 when hr_api.validate_enabled then
725 --
726 -- As the Validate_Enabled exception has been raised
727 -- we must rollback to the savepoint
728 --
729 rollback to DELETE_BAL_TYPE;
730 --
731 -- Reset IN OUT parameters and set OUT parameters
732 -- (Any key or derived arguments must be set to null
733 -- when validation only mode is being used.)
734 --
735 p_object_version_number := null;
736 hr_utility.set_location(' Leaving:'||l_proc, 80);
737 when others then
738 --
739 -- A validation or unexpected error has occured
740 --
741 rollback to DELETE_BAL_TYPE;
742 --
743 -- Reset IN OUT parameters and set all
744 -- OUT parameters, including warnings, to null
745 --
746
747 p_object_version_number := null;
748 hr_utility.set_location(' Leaving:'||l_proc, 90);
749 raise;
750 end DELETE_BAL_TYPE;
751 --
752 end PAY_BALANCE_TYPES_API;