[Home] [Help]
PACKAGE BODY: APPS.AME_ITEM_CLASS_API
Source
1 Package Body AME_ITEM_CLASS_API as
2 /* $Header: amitcapi.pkb 120.1 2005/12/08 21:00 santosin noship $ */
3 --
4 -- Package Variables
5 --
6 g_package varchar2(33) := 'AME_ITEM_CLASS_API.';
7 --
8 -- ----------------------------------------------------------------------------
9 -- |----------------------< CREATE_AME_ITEM_CLASS >---------------------------|
10 -- ----------------------------------------------------------------------------
11 --
12 Procedure create_ame_item_class
13 (p_validate in boolean default false
14 ,p_language_code in varchar2 default
15 hr_api.userenv_lang
16 ,p_name in varchar2
17 ,p_user_item_class_name in varchar2
18 ,p_item_class_id out nocopy number
19 ,p_object_version_number out nocopy number
20 ,p_start_date out nocopy date
21 ,p_end_date out nocopy date
22 ) is
23 --
24 -- Declare cursors and local variables
25 --
26 l_item_class_id number;
27 l_proc varchar2(72) := g_package||'create_ame_item_class';
28 l_object_version_number number;
29 l_start_date date;
30 l_end_date date;
31 l_language_code varchar2(30);
32 --
33 begin
34 hr_utility.set_location('Entering:'|| l_proc, 10);
35 --
36 -- Issue a savepoint
37 --
38 savepoint create_ame_item_class;
39 --
40 -- Remember IN OUT parameter IN values. None here.
41 --
42 -- Call Before Process User Hook
43 --
44 begin
45 --(sri: change the signature to include language_code
46 ame_item_class_bk1.create_ame_item_class_b
47 (p_name => p_name);
48 exception
49 when hr_api.cannot_find_prog_unit then
50 hr_api.cannot_find_prog_unit_error
51 (p_module_name => 'create_ame_item_class'
52 ,p_hook_type => 'BP'
53 );
54 end;
55 --
56 -- Validate the language provided
57 --
58 l_language_code := p_language_code;
59 hr_api.validate_language_code(p_language_code => l_language_code);
60 --
61 -- Process Logic
62 --
63 ame_itc_ins.ins (p_effective_date => sysdate
64 ,p_name => p_name
65 ,p_item_class_id => l_item_class_id
66 ,p_object_version_number => l_object_version_number
67 ,p_start_date => l_start_date
68 ,p_end_date => l_end_date
69 );
70 --
71 -- Create the translation rows
72 --
73 ame_itl_ins.ins_tl
74 (p_language_code => l_language_code
75 ,p_item_class_id => l_item_class_id
76 ,p_user_item_class_name => p_user_item_class_name
77 );
78 --
79 -- Call After Process User Hook
80 --
81 begin
82 ame_item_class_bk1.create_ame_item_class_a
83 (p_name => p_name
84 ,p_item_class_id => l_item_class_id
85 ,p_object_version_number => l_object_version_number
86 ,p_start_date => l_start_date
87 ,p_end_date => l_end_date
88 );
89 exception
90 when hr_api.cannot_find_prog_unit then
91 hr_api.cannot_find_prog_unit_error
92 (p_module_name => 'create_ame_item_class'
93 ,p_hook_type => 'AP'
94 );
95 end;
96 --
97 -- When in validation only mode raise the Validate_Enabled exception
98 --
99 if p_validate then
100 raise hr_api.validate_enabled;
101 end if;
102 --
103 -- Set all IN OUT and OUT parameters with out values
104 --
105 p_item_class_id := l_item_class_id;
106 p_object_version_number := l_object_version_number;
107 p_start_date := l_start_date;
108 p_end_date := l_end_date;
109 --
110 hr_utility.set_location(' Leaving:'||l_proc, 70);
111 exception
112 when hr_api.validate_enabled then
113 --
114 -- As the Validate_Enabled exception has been raised
115 -- we must rollback to the savepoint
116 --
117 rollback to create_ame_item_class;
118 --
119 -- Reset IN OUT parameters and set OUT parameters
120 -- (Any key or derived arguments must be set to null
121 -- when validation only mode is being used.)
122 p_item_class_id := null;
123 p_object_version_number := null;
124 p_start_date := null;
125 p_end_date := null;
126 --
127 hr_utility.set_location(' Leaving:'||l_proc, 80);
128 when others then
129 --
130 -- A validation or unexpected error has occured
131 --
132 rollback to create_ame_item_class;
133 --
134 -- Reset IN OUT parameters and set all
135 -- OUT parameters, including warnings, to null
136 --
137 p_item_class_id := null;
138 p_object_version_number := null;
139 p_start_date := null;
140 p_end_date := null;
141 --
142 hr_utility.set_location(' Leaving:'||l_proc, 90);
143 raise;
144 end create_ame_item_class;
145 --
146 -- ----------------------------------------------------------------------------
147 -- |-----------------------<UPDATE_AME_ITEM_CLASS>----------------------------|
148 -- ----------------------------------------------------------------------------
149 procedure update_ame_item_class
150 (p_validate in boolean default false
151 ,p_language_code in varchar2 default
152 hr_api.userenv_lang
153 ,p_item_class_id in number
154 ,p_user_item_class_name in varchar2 default hr_api.g_varchar2
155 ,p_object_version_number in out nocopy number
156 ,p_start_date out nocopy date
157 ,p_end_date out nocopy date
158 ) is
159 --
160 -- Declare cursors and local variables
161 --
162 l_proc varchar2(72) := g_package||'update_ame_item_class';
163 l_object_version_number number;
164 l_start_date date;
165 l_end_date date;
166 l_language_code varchar2(30);
167 --
168 begin
169 hr_utility.set_location('Entering:'|| l_proc, 10);
170 --
171 -- Issue a savepoint
172 --
173 savepoint update_ame_item_class;
174 --
175 -- Remember IN OUT parameter IN values
176 --
177 l_object_version_number := p_object_version_number;
178 --
179 -- Call Before Process User Hook
180 --
181 begin
182 --(sri: change the signature to include language_code
183 ame_item_class_bk2.update_ame_item_class_b
184 (p_item_class_id => p_item_class_id
185 ,p_user_item_class_name => p_user_item_class_name
186 ,p_object_version_number => p_object_version_number
187 );
188 exception
189 when hr_api.cannot_find_prog_unit then
190 hr_api.cannot_find_prog_unit_error
191 (p_module_name => 'update_ame_item_class'
192 ,p_hook_type => 'BP'
193 );
194 end;
195 --validate the language provided
196 l_language_code := p_language_code;
197 hr_api.validate_language_code(p_language_code => l_language_code);
198 --
199 -- Process Logic
200 --
201 /* ame_itc_upd.upd
202 (p_effective_date => sysdate
203 ,p_datetrack_mode => hr_api.g_update
204 ,p_item_class_id => p_item_class_id
205 ,p_object_version_number => p_object_version_number
206 ,p_name => hr_api.g_varchar2
207 ,p_start_date => l_start_date
208 ,p_end_date => l_end_date
209 );
210 --*/
211 -- Create the translation rows
212 --
213 ame_itl_upd.upd_tl
214 (p_language_code => l_language_code
215 ,p_item_class_id => p_item_class_id
216 ,p_user_item_class_name => p_user_item_class_name
217 );
218 --
219 -- Call After Process User Hook
220 --
221 begin
222 ame_item_class_bk2.update_ame_item_class_a
223 (p_item_class_id => p_item_class_id
224 ,p_object_version_number => p_object_version_number
225 ,p_user_item_class_name => p_user_item_class_name
226 ,p_start_date => l_start_date
227 ,p_end_date => l_end_date
228 );
229 exception
230 when hr_api.cannot_find_prog_unit then
231 hr_api.cannot_find_prog_unit_error
232 (p_module_name => 'update_ame_item_class'
233 ,p_hook_type => 'AP'
234 );
235 end;
236 --
237 -- When in validation only mode raise the Validate_Enabled exception
238 --
239 if p_validate then
240 raise hr_api.validate_enabled;
241 end if;
242 --
243 -- Set all OUT parameters with out values.
244 --
245 p_start_date := l_start_date;
246 p_end_date := l_end_date;
247 --
248 hr_utility.set_location(' Leaving:'||l_proc, 70);
249 exception
250 when hr_api.validate_enabled then
251 --
252 -- As the Validate_Enabled exception has been raised
253 -- we must rollback to the savepoint
254 --
255 rollback to update_ame_item_class;
256 --
257 -- Reset IN OUT parameters and set OUT parameters
258 -- (Any key or derived arguments must be set to null
259 -- when validation only mode is being used.)
260 --
261 p_object_version_number := l_object_version_number;
262 p_start_date := null;
263 p_end_date := null;
264 --
265 hr_utility.set_location(' Leaving:'||l_proc, 80);
266 when others then
267 --
268 -- A validation or unexpected error has occured
269 --
270 rollback to update_ame_item_class;
271 --
272 -- Reset IN OUT parameters and set all
273 -- OUT parameters, including warnings, to null
274 --
275 p_object_version_number := l_object_version_number;
276 p_start_date := null;
277 p_end_date := null;
278 --
279 hr_utility.set_location(' Leaving:'||l_proc, 90);
280 raise;
281 end update_ame_item_class;
282 --
283 -- ----------------------------------------------------------------------------
284 -- |--------------------< DELETE_AME_ITEM_CLASS >-----------------------------|
285 -- ----------------------------------------------------------------------------
286 procedure delete_ame_item_class
287 (p_validate in boolean default false
288 ,p_item_class_id in number
289 ,p_object_version_number in out nocopy number
290 ,p_start_date out nocopy date
291 ,p_end_date out nocopy date
292 ) is
293 --
294 -- Declare cursors and local variables
295 --
296 cursor getItemClassUsageCur is
297 select application_id,
298 object_version_number
299 from ame_item_class_usages
300 where item_class_id = p_item_class_id
301 and sysdate between start_date and
302 nvl(end_date - ame_util.oneSecond, sysdate);
303 l_proc varchar2(72) := g_package||'delete_ame_item_class';
304 l_object_version_number number;
305 l_start_date date;
306 l_end_date date;
307 l_start_date_child date;
308 l_end_date_child date;
309 l_applicationIds ame_util.idList;
310 l_objectVersionNumbers ame_util.idList;
311 --
312 begin
313 hr_utility.set_location('Entering:'|| l_proc, 10);
314 --
315 -- Issue a savepoint
316 --
317 savepoint delete_ame_item_class;
318 --
319 -- Remember IN OUT parameter IN values
320 --
321 l_object_version_number := p_object_version_number;
322 --
323 -- Call Before Process User Hook
324 --
325 begin
326 ame_item_class_bk3.delete_ame_item_class_b
327 (p_item_class_id => p_item_class_id
328 ,p_object_version_number => p_object_version_number
329 );
330 exception
331 when hr_api.cannot_find_prog_unit then
332 hr_api.cannot_find_prog_unit_error
333 (p_module_name => 'delete_ame_item_class'
334 ,p_hook_type => 'BP'
335 );
336 end;
337 --
338 -- Process Logic
339 --
340 -- Remove the usages for the item_class.
341 --
342 open getItemClassUsageCur;
343 fetch getItemClassUsageCur bulk collect into l_applicationIds,
344 l_objectVersionNumbers;
345 close getItemClassUsageCur;
346 for indx in 1..l_applicationIds.count
347 loop
348 delete_ame_item_class_usage
349 (p_validate => p_validate
350 ,p_application_id => l_applicationIds(indx)
351 ,p_item_class_id => p_item_class_id
352 ,p_object_version_number => l_objectVersionNumbers(indx)
353 ,p_start_date => l_start_date_child
354 ,p_end_date => l_end_date_child
355 );
356 end loop;
357 --
358 -- Remove the Item Class
359 --
360 ame_itc_del.del
361 (p_effective_date => sysdate
362 ,p_datetrack_mode => hr_api.g_delete
363 ,p_item_class_id => p_item_class_id
364 ,p_object_version_number => p_object_version_number
365 ,p_start_date => l_start_date
366 ,p_end_date => l_end_date
367 );
368 --
369 -- Call After Process User Hook
370 --
371 begin
372 ame_item_class_bk3.delete_ame_item_class_a
373 (p_item_class_id => p_item_class_id
374 ,p_object_version_number => p_object_version_number
375 ,p_start_date => l_start_date
376 ,p_end_date => l_end_date
377 );
378 exception
379 when hr_api.cannot_find_prog_unit then
380 hr_api.cannot_find_prog_unit_error
381 (p_module_name => 'delete_ame_item_class'
382 ,p_hook_type => 'AP'
383 );
384 end;
385 --
386 -- When in validation only mode raise the Validate_Enabled exception
387 --
388 if p_validate then
389 raise hr_api.validate_enabled;
390 end if;
391 --
392 -- Set all IN OUT and OUT parameters with out values.
393 --
394 p_start_date := l_start_date;
395 p_end_date := l_end_date;
396 --
397 hr_utility.set_location(' Leaving:'||l_proc, 70);
398 exception
399 when hr_api.validate_enabled then
400 --
401 -- As the Validate_Enabled exception has been raised
402 -- we must rollback to the savepoint
403 --
404 rollback to delete_ame_item_class;
405 --
406 -- Reset IN OUT parameters and set OUT parameters
407 -- (Any key or derived arguments must be set to null
408 -- when validation only mode is being used.)
409 --
410 p_object_version_number := l_object_version_number;
411 p_start_date := null;
412 p_end_date := null;
413 --
414 hr_utility.set_location(' Leaving:'||l_proc, 80);
415 when others then
416 --
417 -- A validation or unexpected error has occured
418 --
419 rollback to delete_ame_item_class;
420 --
421 -- Reset IN OUT parameters and set all
422 -- OUT parameters, including warnings, to null
423 --
424 p_object_version_number := l_object_version_number;
425 p_start_date := null;
426 p_end_date := null;
427 --
428 hr_utility.set_location(' Leaving:'||l_proc, 90);
429 raise;
430 end delete_ame_item_class;
431 --
432 -- ----------------------------------------------------------------------------
433 -- |-------------------< CREATE_AME_ITEM_CLASS_USAGE >------------------------|
434 -- ----------------------------------------------------------------------------
435 --
436 Procedure create_ame_item_class_usage
437 (p_validate in boolean default false
438 ,p_item_id_query in varchar2
439 ,p_item_class_order_number in number
440 ,p_item_class_par_mode in varchar2
441 ,p_item_class_sublist_mode in varchar2
442 ,p_application_id in out nocopy number
443 ,p_item_class_id in out nocopy number
444 ,p_object_version_number out nocopy number
445 ,p_start_date out nocopy date
446 ,p_end_date out nocopy date
447 ) is
448 -- Declare cursors and local variables
449 --
450 l_application_id number;
451 l_item_class_id number;
452 l_proc varchar2(72) := g_package||'create_ame_item_class_usage';
453 l_object_version_number number;
454 l_start_date date;
455 l_end_date date;
456 --
457 begin
458 hr_utility.set_location('Entering:'|| l_proc, 10);
459 l_application_id := p_application_id;
460 l_item_class_id := p_item_class_id;
461 --
462 -- Issue a savepoint
463 --
464 savepoint create_ame_item_class_usage;
465 --
466 -- Remember IN OUT parameter IN values. None here.
467 --
468 -- Call Before Process User Hook
469 --
470 begin
471 ame_item_class_bk4.create_ame_item_class_usage_b
472 (p_item_id_query => p_item_id_query
473 ,p_item_class_order_number => p_item_class_order_number
474 ,p_item_class_par_mode => p_item_class_par_mode
475 ,p_item_class_sublist_mode => p_item_class_sublist_mode
476 ,p_application_id => p_application_id
477 ,p_item_class_id => p_item_class_id
478 );
479 exception
480 when hr_api.cannot_find_prog_unit then
481 hr_api.cannot_find_prog_unit_error
482 (p_module_name => 'create_ame_item_class_usage'
483 ,p_hook_type => 'BP'
484 );
485 end;
486 --
487 -- Process Logic
488 --
489 ame_itu_ins.ins
490 (p_effective_date => sysdate
491 ,p_item_id_query => p_item_id_query
492 ,p_item_class_order_number => p_item_class_order_number
493 ,p_item_class_par_mode => p_item_class_par_mode
494 ,p_item_class_sublist_mode => p_item_class_sublist_mode
495 ,p_application_id => l_application_id
496 ,p_item_class_id => l_item_class_id
497 ,p_object_version_number => l_object_version_number
498 ,p_start_date => l_start_date
499 ,p_end_date => l_end_date
500 );
501 --
502 -- Call After Process User Hook
503 --
504 begin
505 ame_item_class_bk4.create_ame_item_class_usage_a
506 (p_item_id_query => p_item_id_query
507 ,p_item_class_order_number => p_item_class_order_number
508 ,p_item_class_par_mode => p_item_class_par_mode
509 ,p_item_class_sublist_mode => p_item_class_sublist_mode
510 ,p_application_id => l_application_id
511 ,p_item_class_id => l_item_class_id
512 ,p_object_version_number => l_object_version_number
513 ,p_start_date => l_start_date
514 ,p_end_date => l_end_date
515 );
516 exception
517 when hr_api.cannot_find_prog_unit then
518 hr_api.cannot_find_prog_unit_error
519 (p_module_name => 'create_ame_item_class_usage'
520 ,p_hook_type => 'AP'
521 );
522 end;
523 --
524 -- When in validation only mode raise the Validate_Enabled exception
525 --
526 if p_validate then
527 raise hr_api.validate_enabled;
528 end if;
529 --
530 -- Set all IN OUT and OUT parameters with out values
531 --
532 p_application_id := l_application_id;
533 p_item_class_id := l_item_class_id;
534 p_object_version_number := l_object_version_number;
535 p_start_date := l_start_date;
536 p_end_date := l_end_date;
537 --
538 hr_utility.set_location(' Leaving:'||l_proc, 70);
539 exception
540 when hr_api.validate_enabled then
541 --
542 -- As the Validate_Enabled exception has been raised
543 -- we must rollback to the savepoint
544 --
545 rollback to create_ame_item_class_usage;
546 --
547 -- Reset IN OUT parameters and set OUT parameters
548 -- (Any key or derived arguments must be set to null
549 -- when validation only mode is being used.)
550 p_application_id := null;
551 p_item_class_id := null;
552 p_object_version_number := null;
553 p_start_date := null;
554 p_end_date := null;
555 --
556 hr_utility.set_location(' Leaving:'||l_proc, 80);
557 when others then
558 --
559 -- A validation or unexpected error has occured
560 --
561 rollback to create_ame_item_class_usage;
562 --
563 -- Reset IN OUT parameters and set all
564 -- OUT parameters, including warnings, to null
565 --
566 p_application_id := null;
567 p_item_class_id := null;
568 p_object_version_number := null;
569 p_start_date := null;
570 p_end_date := null;
571 --
572 hr_utility.set_location(' Leaving:'||l_proc, 90);
573 raise;
574 end create_ame_item_class_usage;
575 --
576 -- ----------------------------------------------------------------------------
577 -- |---------------------<UPDATE_AME_ITEM_CLASS_USAGE>------------------------|
578 -- ----------------------------------------------------------------------------
579 procedure update_ame_item_class_usage
580 (p_validate in boolean default false
581 ,p_application_id in number
582 ,p_item_class_id in number
583 ,p_item_id_query in varchar2 default hr_api.g_varchar2
584 ,p_item_class_order_number in number default hr_api.g_number
585 ,p_item_class_par_mode in varchar2 default hr_api.g_varchar2
586 ,p_item_class_sublist_mode in varchar2 default hr_api.g_varchar2
587 ,p_object_version_number in out nocopy number
588 ,p_start_date out nocopy date
589 ,p_end_date out nocopy date
590 ) is
591 --
592 -- Declare cursors and local variables
593 --
594 l_proc varchar2(72) := g_package||'update_ame_item_class_usage';
595 l_object_version_number number;
596 l_start_date date;
597 l_end_date date;
598 --
599 begin
600 hr_utility.set_location('Entering:'|| l_proc, 10);
601 --
602 -- Issue a savepoint
603 --
604 savepoint update_ame_item_class_usage;
605 --
606 -- Remember IN OUT parameter IN values
607 --
608 l_object_version_number := p_object_version_number;
609 --
610 -- Call Before Process User Hook
611 --
612 begin
613 ame_item_class_bk5.update_ame_item_class_usage_b
614 (p_application_id => p_application_id
615 ,p_item_class_id => p_item_class_id
616 ,p_object_version_number => p_object_version_number
617 ,p_item_id_query => p_item_id_query
618 ,p_item_class_order_number => p_item_class_order_number
619 ,p_item_class_par_mode => p_item_class_par_mode
620 ,p_item_class_sublist_mode => p_item_class_sublist_mode
621 );
622 exception
623 when hr_api.cannot_find_prog_unit then
624 hr_api.cannot_find_prog_unit_error
625 (p_module_name => 'update_ame_item_class_usage'
626 ,p_hook_type => 'BP'
627 );
628 end;
629 --
630 -- Process Logic
631 --
632 ame_itu_upd.upd
633 (p_effective_date => sysdate
634 ,p_datetrack_mode => hr_api.g_update
635 ,p_application_id => p_application_id
636 ,p_item_class_id => p_item_class_id
637 ,p_object_version_number => p_object_version_number
638 ,p_item_id_query => p_item_id_query
639 ,p_item_class_order_number => p_item_class_order_number
640 ,p_item_class_par_mode => p_item_class_par_mode
641 ,p_item_class_sublist_mode => p_item_class_sublist_mode
642 ,p_start_date => l_start_date
643 ,p_end_date => l_end_date
644 );
645 --
646 -- Call After Process User Hook
647 --
648 begin
649 ame_item_class_bk5.update_ame_item_class_usage_a
650 (p_application_id => p_application_id
651 ,p_item_class_id => p_item_class_id
652 ,p_object_version_number => p_object_version_number
653 ,p_item_id_query => p_item_id_query
654 ,p_item_class_order_number => p_item_class_order_number
655 ,p_item_class_par_mode => p_item_class_par_mode
656 ,p_item_class_sublist_mode => p_item_class_sublist_mode
657 ,p_start_date => l_start_date
658 ,p_end_date => l_end_date
659 );
660
661 exception
662 when hr_api.cannot_find_prog_unit then
663 hr_api.cannot_find_prog_unit_error
664 (p_module_name => 'update_ame_item_class_usage'
665 ,p_hook_type => 'AP'
666 );
667 end;
668 --
669 -- When in validation only mode raise the Validate_Enabled exception
670 --
671 if p_validate then
672 raise hr_api.validate_enabled;
673 end if;
674 --
675 -- Set all OUT parameters with out values.
676 --
677 p_start_date := l_start_date;
678 p_end_date := l_end_date;
679 --
680 hr_utility.set_location(' Leaving:'||l_proc, 70);
681 exception
682 when hr_api.validate_enabled then
683 --
684 -- As the Validate_Enabled exception has been raised
685 -- we must rollback to the savepoint
686 --
687 rollback to update_ame_item_class_usage;
688 --
689 -- Reset IN OUT parameters and set OUT parameters
690 -- (Any key or derived arguments must be set to null
691 -- when validation only mode is being used.)
692 --
693 p_object_version_number := l_object_version_number;
694 p_start_date := null;
695 p_end_date := null;
696 --
697 hr_utility.set_location(' Leaving:'||l_proc, 80);
698 when others then
699 --
700 -- A validation or unexpected error has occured
701 --
702 rollback to update_ame_item_class_usage;
703 --
704 -- Reset IN OUT parameters and set all
705 -- OUT parameters, including warnings, to null
706 --
707 p_object_version_number := l_object_version_number;
708 p_start_date := null;
709 p_end_date := null;
710 --
711 hr_utility.set_location(' Leaving:'||l_proc, 90);
712 raise;
713 end update_ame_item_class_usage;
714 --
715 -- ----------------------------------------------------------------------------
716 -- |-------------------< DELETE_AME_ITEM_CLASS_USAGE >------------------------|
717 -- ----------------------------------------------------------------------------
718 procedure delete_ame_item_class_usage
719 (p_validate in boolean default false
720 ,p_application_id in number
721 ,p_item_class_id in number
722 ,p_object_version_number in out nocopy number
723 ,p_start_date out nocopy date
724 ,p_end_date out nocopy date
725 ) is
726 --
727 -- Declare cursors and local variables
728 --
729 l_proc varchar2(72) := g_package||'delete_ame_item_class_usage';
730 l_object_version_number number;
731 l_start_date date;
732 l_end_date date;
733 --
734 begin
735 hr_utility.set_location('Entering:'|| l_proc, 10);
736 --
737 -- Issue a savepoint
738 --
739 savepoint delete_ame_item_class_usage;
740 --
741 -- Remember IN OUT parameter IN values
742 --
743 l_object_version_number := p_object_version_number;
744 --
745 -- Call Before Process User Hook
746 --
747 begin
748 ame_item_class_bk6.delete_ame_item_class_usage_b
749 (p_application_id => p_application_id
750 ,p_item_class_id => p_item_class_id
751 ,p_object_version_number => p_object_version_number
752 );
753
754 exception
755 when hr_api.cannot_find_prog_unit then
756 hr_api.cannot_find_prog_unit_error
757 (p_module_name => 'delete_ame_item_class_usage'
758 ,p_hook_type => 'BP'
759 );
760 end;
761 --
762 -- Process Logic
763 --
764 ame_itu_del.del
765 (p_effective_date => sysdate
766 ,p_datetrack_mode => hr_api.g_delete
767 ,p_application_id => p_application_id
768 ,p_item_class_id => p_item_class_id
769 ,p_object_version_number => p_object_version_number
770 ,p_start_date => l_start_date
771 ,p_end_date => l_end_date
772 );
773 --
774 -- Call After Process User Hook
775 --
776 begin
777 ame_item_class_bk6.delete_ame_item_class_usage_a
778 (p_application_id => p_application_id
779 ,p_item_class_id => p_item_class_id
780 ,p_object_version_number => p_object_version_number
781 ,p_start_date => l_start_date
782 ,p_end_date => l_end_date
783 );
784 exception
785 when hr_api.cannot_find_prog_unit then
786 hr_api.cannot_find_prog_unit_error
787 (p_module_name => 'delete_ame_item_class_usage'
788 ,p_hook_type => 'AP'
789 );
790 end;
791 --
792 -- When in validation only mode raise the Validate_Enabled exception
793 --
794 if p_validate then
795 raise hr_api.validate_enabled;
796 end if;
797 --
798 -- Set all IN OUT and OUT parameters with out values.
799 --
800 p_start_date := l_start_date;
801 p_end_date := l_end_date;
802 --
803 hr_utility.set_location(' Leaving:'||l_proc, 70);
804 exception
805 when hr_api.validate_enabled then
806 --
807 -- As the Validate_Enabled exception has been raised
808 -- we must rollback to the savepoint
809 --
810 rollback to delete_ame_item_class_usage;
811 --
812 -- Reset IN OUT parameters and set OUT parameters
813 -- (Any key or derived arguments must be set to null
814 -- when validation only mode is being used.)
815 --
816 p_object_version_number := l_object_version_number;
817 p_start_date := null;
818 p_end_date := null;
819 --
820 hr_utility.set_location(' Leaving:'||l_proc, 80);
821 when others then
822 --
823 -- A validation or unexpected error has occured
824 --
825 rollback to delete_ame_item_class_usage;
826 --
827 -- Reset IN OUT parameters and set all
828 -- OUT parameters, including warnings, to null
829 --
830 p_object_version_number := l_object_version_number;
831 p_start_date := null;
832 p_end_date := null;
833 --
834 hr_utility.set_location(' Leaving:'||l_proc, 90);
835 raise;
836 end delete_ame_item_class_usage;
837 --
838 end AME_ITEM_CLASS_API;