[Home] [Help]
PACKAGE BODY: APPS.HXC_RET_RULE_GRP_COMP_API
Source
1 Package Body hxc_ret_rule_grp_comp_api as
2 /* $Header: hxcrrcapi.pkb 120.3 2005/10/25 22:40:48 nissharm noship $ */
3 --
4 -- Package Variables
5 --
6 g_package varchar2(33) := ' hxc_ret_rule_grp_comp_api.';
7
8 g_entity_type varchar2(16) := 'RETRIEVAL_RULES';
9
10 g_debug boolean := hr_utility.debug_enabled;
11
12 -- ----------------------------------------------------------------------------
13 -- |--------------------< create_ret_rule_grp_comp>--------------------------|
14 -- ----------------------------------------------------------------------------
15 --
16 procedure create_ret_rule_grp_comp
17 (p_validate in boolean default false
18 ,p_effective_date in date
19 ,p_ret_rule_grp_comp_id in out nocopy number
20 ,p_object_version_number in out nocopy number
21 ,p_retrieval_rule_id in number
22 ,p_retrieval_rule_grp_id in number
23 ,p_attribute_category in varchar2 default null
24 ,p_attribute1 in varchar2 default null
25 ,p_attribute2 in varchar2 default null
26 ,p_attribute3 in varchar2 default null
27 ,p_attribute4 in varchar2 default null
28 ,p_attribute5 in varchar2 default null
29 ,p_attribute6 in varchar2 default null
30 ,p_attribute7 in varchar2 default null
31 ,p_attribute8 in varchar2 default null
32 ,p_attribute9 in varchar2 default null
33 ,p_attribute10 in varchar2 default null
34 ,p_attribute11 in varchar2 default null
35 ,p_attribute12 in varchar2 default null
36 ,p_attribute13 in varchar2 default null
37 ,p_attribute14 in varchar2 default null
38 ,p_attribute15 in varchar2 default null
39 ,p_attribute16 in varchar2 default null
40 ,p_attribute17 in varchar2 default null
41 ,p_attribute18 in varchar2 default null
42 ,p_attribute19 in varchar2 default null
43 ,p_attribute20 in varchar2 default null
44 ,p_attribute21 in varchar2 default null
45 ,p_attribute22 in varchar2 default null
46 ,p_attribute23 in varchar2 default null
47 ,p_attribute24 in varchar2 default null
48 ,p_attribute25 in varchar2 default null
49 ,p_attribute26 in varchar2 default null
50 ,p_attribute27 in varchar2 default null
51 ,p_attribute28 in varchar2 default null
52 ,p_attribute29 in varchar2 default null
53 ,p_attribute30 in varchar2 default null
54 ,p_called_from_form in varchar2 default 'Y' -- NOTE: default to Y because no DF for Retrieval Rules
55 ) is
56 --
57 -- Declare cursors and local variables
58 --
59 l_proc varchar2(72);
60 l_object_version_number hxc_entity_group_comps.object_version_number%TYPE;
61 l_ret_rule_grp_comp_id hxc_entity_group_comps.entity_group_comp_id%TYPE;
62 --
63 begin
64 g_debug := hr_utility.debug_enabled;
65 --
66
67 --
68 if g_debug then
69 l_proc := g_package||' create_ret_rule_grp_comp';
70 hr_utility.set_location('Entering:'|| l_proc, 10);
71 end if;
72 --
73 -- Issue a savepoint if operating in validation only mode
74 --
75 savepoint create_ret_rule_grp_comp;
76 --
77 if g_debug then
78 hr_utility.set_location(l_proc, 20);
79 end if;
80
81 chk_rr_unique ( p_ret_rule_grp_comp_id => p_ret_rule_grp_comp_id
82 ,p_retrieval_rule_grp_id => p_retrieval_rule_grp_id
83 ,p_retrieval_rule_id => p_retrieval_rule_id );
84
85 --
86 -- Call Before Process User Hook
87 --
88 begin
89 hxc_ret_rule_grp_comp_BK_1.create_ret_rule_grp_comp_b
90 (p_ret_rule_grp_comp_id => p_ret_rule_grp_comp_id
91 ,p_object_version_number => p_object_version_number
92 ,p_retrieval_rule_id => p_retrieval_rule_id
93 ,p_retrieval_rule_grp_id => p_retrieval_rule_grp_id
94 ,p_attribute_category => p_attribute_category
95 ,p_attribute1 => p_attribute1
96 ,p_attribute2 => p_attribute2
97 ,p_attribute3 => p_attribute3
98 ,p_attribute4 => p_attribute4
99 ,p_attribute5 => p_attribute5
100 ,p_attribute6 => p_attribute6
101 ,p_attribute7 => p_attribute7
102 ,p_attribute8 => p_attribute8
103 ,p_attribute9 => p_attribute9
104 ,p_attribute10 => p_attribute10
105 ,p_attribute11 => p_attribute11
106 ,p_attribute12 => p_attribute12
107 ,p_attribute13 => p_attribute13
108 ,p_attribute14 => p_attribute14
109 ,p_attribute15 => p_attribute15
110 ,p_attribute16 => p_attribute16
111 ,p_attribute17 => p_attribute17
112 ,p_attribute18 => p_attribute18
113 ,p_attribute19 => p_attribute19
114 ,p_attribute20 => p_attribute20
115 ,p_attribute21 => p_attribute21
116 ,p_attribute22 => p_attribute22
117 ,p_attribute23 => p_attribute23
118 ,p_attribute24 => p_attribute24
119 ,p_attribute25 => p_attribute25
120 ,p_attribute26 => p_attribute26
121 ,p_attribute27 => p_attribute27
122 ,p_attribute28 => p_attribute28
123 ,p_attribute29 => p_attribute29
124 ,p_attribute30 => p_attribute30
125 );
126 exception
127 when hr_api.cannot_find_prog_unit then
128 hr_api.cannot_find_prog_unit_error
129 (p_module_name => 'create_ret_rule_grp_comp'
130 ,p_hook_type => 'BP'
131 );
132 end;
133 --
134 if g_debug then
135 hr_utility.set_location(l_proc, 30);
136 end if;
137 --
138 -- Process Logic
139 --
140 --
141 if g_debug then
142 hr_utility.set_location(l_proc, 40);
143 end if;
144 --
145 -- call row handler
146 --
147 hxc_egc_ins.ins (
148 p_effective_date => p_effective_date
149 ,p_entity_id => p_retrieval_rule_id
150 ,p_entity_type => g_entity_type
151 ,p_entity_group_id => p_retrieval_rule_grp_id
152 ,p_entity_group_comp_id => l_ret_rule_grp_comp_id
153 ,p_object_version_number => l_object_version_number
154 ,p_attribute_category => p_attribute_category
155 ,p_attribute1 => p_attribute1
156 ,p_attribute2 => p_attribute2
157 ,p_attribute3 => p_attribute3
158 ,p_attribute4 => p_attribute4
159 ,p_attribute5 => p_attribute5
160 ,p_attribute6 => p_attribute6
161 ,p_attribute7 => p_attribute7
162 ,p_attribute8 => p_attribute8
163 ,p_attribute9 => p_attribute9
164 ,p_attribute10 => p_attribute10
165 ,p_attribute11 => p_attribute11
166 ,p_attribute12 => p_attribute12
167 ,p_attribute13 => p_attribute13
168 ,p_attribute14 => p_attribute14
169 ,p_attribute15 => p_attribute15
170 ,p_attribute16 => p_attribute16
171 ,p_attribute17 => p_attribute17
172 ,p_attribute18 => p_attribute18
173 ,p_attribute19 => p_attribute19
174 ,p_attribute20 => p_attribute20
175 ,p_attribute21 => p_attribute21
176 ,p_attribute22 => p_attribute22
177 ,p_attribute23 => p_attribute23
178 ,p_attribute24 => p_attribute24
179 ,p_attribute25 => p_attribute25
180 ,p_attribute26 => p_attribute26
181 ,p_attribute27 => p_attribute27
182 ,p_attribute28 => p_attribute28
183 ,p_attribute29 => p_attribute29
184 ,p_attribute30 => p_attribute30
185 ,p_called_from_form => p_called_from_form );
186 --
187 if g_debug then
188 hr_utility.set_location(l_proc, 50);
189 end if;
190 --
191 -- Call After Process User Hook
192 --
193 begin
194 hxc_ret_rule_grp_comp_BK_1.create_ret_rule_grp_comp_a
195 (p_ret_rule_grp_comp_id => l_ret_rule_grp_comp_id
196 ,p_object_version_number => l_object_version_number
197 ,p_retrieval_rule_id => p_retrieval_rule_id
198 ,p_retrieval_rule_grp_id => p_retrieval_rule_grp_id
199 ,p_attribute_category => p_attribute_category
200 ,p_attribute1 => p_attribute1
201 ,p_attribute2 => p_attribute2
202 ,p_attribute3 => p_attribute3
203 ,p_attribute4 => p_attribute4
204 ,p_attribute5 => p_attribute5
205 ,p_attribute6 => p_attribute6
206 ,p_attribute7 => p_attribute7
207 ,p_attribute8 => p_attribute8
208 ,p_attribute9 => p_attribute9
209 ,p_attribute10 => p_attribute10
210 ,p_attribute11 => p_attribute11
211 ,p_attribute12 => p_attribute12
212 ,p_attribute13 => p_attribute13
213 ,p_attribute14 => p_attribute14
214 ,p_attribute15 => p_attribute15
215 ,p_attribute16 => p_attribute16
216 ,p_attribute17 => p_attribute17
217 ,p_attribute18 => p_attribute18
218 ,p_attribute19 => p_attribute19
219 ,p_attribute20 => p_attribute20
220 ,p_attribute21 => p_attribute21
221 ,p_attribute22 => p_attribute22
222 ,p_attribute23 => p_attribute23
223 ,p_attribute24 => p_attribute24
224 ,p_attribute25 => p_attribute25
225 ,p_attribute26 => p_attribute26
226 ,p_attribute27 => p_attribute27
227 ,p_attribute28 => p_attribute28
228 ,p_attribute29 => p_attribute29
229 ,p_attribute30 => p_attribute30 );
230 exception
231 when hr_api.cannot_find_prog_unit then
232 hr_api.cannot_find_prog_unit_error
233 (p_module_name => 'create_ret_rule_grp_comp'
234 ,p_hook_type => 'AP'
235 );
236 end;
237 --
238 if g_debug then
239 hr_utility.set_location(l_proc, 60);
240 end if;
241 --
242 -- When in validation only mode raise the Validate_Enabled exception
243 --
244 if p_validate then
245 raise hr_api.validate_enabled;
246 end if;
247 --
248 if g_debug then
249 hr_utility.set_location(' Leaving:'||l_proc, 70);
250 end if;
251 --
252 -- Set all output arguments
253 --
254 p_ret_rule_grp_comp_id := l_ret_rule_grp_comp_id;
255 p_object_version_number := l_object_version_number;
256 --
257 exception
258 --
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_ret_rule_grp_comp;
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_ret_rule_grp_comp_id := null;
271 p_object_version_number := null;
272 --
273 if g_debug then
274 hr_utility.set_location(' Leaving:'||l_proc, 80);
275 end if;
276 --
277 when others then
278 --
279 -- A validation or unexpected error has occured
280 --
281 if g_debug then
282 hr_utility.trace('In exeception');
283 end if;
284 ROLLBACK TO create_ret_rule_grp_comp;
285 raise;
286 --
287 END create_ret_rule_grp_comp;
288 --
289 -- ----------------------------------------------------------------------------
290 -- |---------------------< update_ret_rule_grp_comp>-------------------------|
291 -- ----------------------------------------------------------------------------
292 --
293 procedure update_ret_rule_grp_comp
294 (p_validate in boolean default false
295 ,p_effective_date in date
296 ,p_ret_rule_grp_comp_id in number
297 ,p_object_version_number in out nocopy number
298 ,p_retrieval_rule_id in number
299 ,p_retrieval_rule_grp_id in number
300 ,p_attribute_category in varchar2 default null
301 ,p_attribute1 in varchar2 default null
302 ,p_attribute2 in varchar2 default null
303 ,p_attribute3 in varchar2 default null
304 ,p_attribute4 in varchar2 default null
305 ,p_attribute5 in varchar2 default null
306 ,p_attribute6 in varchar2 default null
307 ,p_attribute7 in varchar2 default null
308 ,p_attribute8 in varchar2 default null
309 ,p_attribute9 in varchar2 default null
310 ,p_attribute10 in varchar2 default null
311 ,p_attribute11 in varchar2 default null
312 ,p_attribute12 in varchar2 default null
313 ,p_attribute13 in varchar2 default null
314 ,p_attribute14 in varchar2 default null
315 ,p_attribute15 in varchar2 default null
316 ,p_attribute16 in varchar2 default null
317 ,p_attribute17 in varchar2 default null
318 ,p_attribute18 in varchar2 default null
319 ,p_attribute19 in varchar2 default null
320 ,p_attribute20 in varchar2 default null
321 ,p_attribute21 in varchar2 default null
322 ,p_attribute22 in varchar2 default null
323 ,p_attribute23 in varchar2 default null
324 ,p_attribute24 in varchar2 default null
325 ,p_attribute25 in varchar2 default null
326 ,p_attribute26 in varchar2 default null
327 ,p_attribute27 in varchar2 default null
328 ,p_attribute28 in varchar2 default null
329 ,p_attribute29 in varchar2 default null
330 ,p_attribute30 in varchar2 default null
331 ,p_called_from_form in varchar2 default 'Y' -- NOTE: default to Y because no DF for Retrieval Rules
332 ) is
333 --
334 -- Declare cursors and local variables
335 --
336 l_proc varchar2(72);
337 l_object_version_number hxc_entity_group_comps.object_version_number%TYPE := p_object_version_number;
338 --
339 begin
340 g_debug := hr_utility.debug_enabled;
341 --
342 if g_debug then
343 l_proc := g_package||' update_ret_rule_grp_comp';
344 hr_utility.set_location('Entering:'|| l_proc, 10);
345 end if;
346 --
347 -- Issue a savepoint if operating in validation only mode
348 --
349 savepoint update_ret_rule_grp_comp;
350 --
351 if g_debug then
352 hr_utility.set_location(l_proc, 20);
353 end if;
354
355 chk_rr_unique ( p_ret_rule_grp_comp_id => p_ret_rule_grp_comp_id
356 ,p_retrieval_rule_grp_id => p_retrieval_rule_grp_id
357 ,p_retrieval_rule_id => p_retrieval_rule_id );
358
359 --
360 -- Call Before Process User Hook
361 --
362 begin
363 hxc_ret_rule_grp_comp_BK_2.update_ret_rule_grp_comp_b
364 (p_ret_rule_grp_comp_id => p_ret_rule_grp_comp_id
365 ,p_object_version_number => p_object_version_number
366 ,p_retrieval_rule_id => p_retrieval_rule_id
367 ,p_retrieval_rule_grp_id => p_retrieval_rule_grp_id
368 ,p_attribute_category => p_attribute_category
369 ,p_attribute1 => p_attribute1
370 ,p_attribute2 => p_attribute2
371 ,p_attribute3 => p_attribute3
372 ,p_attribute4 => p_attribute4
373 ,p_attribute5 => p_attribute5
374 ,p_attribute6 => p_attribute6
375 ,p_attribute7 => p_attribute7
376 ,p_attribute8 => p_attribute8
377 ,p_attribute9 => p_attribute9
378 ,p_attribute10 => p_attribute10
379 ,p_attribute11 => p_attribute11
380 ,p_attribute12 => p_attribute12
381 ,p_attribute13 => p_attribute13
382 ,p_attribute14 => p_attribute14
383 ,p_attribute15 => p_attribute15
384 ,p_attribute16 => p_attribute16
385 ,p_attribute17 => p_attribute17
386 ,p_attribute18 => p_attribute18
387 ,p_attribute19 => p_attribute19
388 ,p_attribute20 => p_attribute20
389 ,p_attribute21 => p_attribute21
390 ,p_attribute22 => p_attribute22
391 ,p_attribute23 => p_attribute23
392 ,p_attribute24 => p_attribute24
393 ,p_attribute25 => p_attribute25
394 ,p_attribute26 => p_attribute26
395 ,p_attribute27 => p_attribute27
396 ,p_attribute28 => p_attribute28
397 ,p_attribute29 => p_attribute29
398 ,p_attribute30 => p_attribute30
399 );
400 exception
401 when hr_api.cannot_find_prog_unit then
402 hr_api.cannot_find_prog_unit_error
403 (p_module_name => 'update_ret_rule_grp_comp'
404 ,p_hook_type => 'BP'
405 );
406 end;
407 --
408 if g_debug then
409 hr_utility.set_location(l_proc, 30);
410 end if;
411 --
412 -- Process Logic
413 --
414 -- call row handler
415 --
416 hxc_egc_upd.upd (
417 p_effective_date => p_effective_date
418 ,p_entity_id => p_retrieval_rule_id
419 ,p_entity_type => g_entity_type
420 ,p_entity_group_id => p_retrieval_rule_grp_id
421 ,p_entity_group_comp_id => p_ret_rule_grp_comp_id
422 ,p_object_version_number => l_object_version_number
423 ,p_attribute_category => p_attribute_category
424 ,p_attribute1 => p_attribute1
425 ,p_attribute2 => p_attribute2
426 ,p_attribute3 => p_attribute3
427 ,p_attribute4 => p_attribute4
428 ,p_attribute5 => p_attribute5
429 ,p_attribute6 => p_attribute6
430 ,p_attribute7 => p_attribute7
431 ,p_attribute8 => p_attribute8
432 ,p_attribute9 => p_attribute9
433 ,p_attribute10 => p_attribute10
434 ,p_attribute11 => p_attribute11
435 ,p_attribute12 => p_attribute12
436 ,p_attribute13 => p_attribute13
437 ,p_attribute14 => p_attribute14
438 ,p_attribute15 => p_attribute15
439 ,p_attribute16 => p_attribute16
440 ,p_attribute17 => p_attribute17
441 ,p_attribute18 => p_attribute18
442 ,p_attribute19 => p_attribute19
443 ,p_attribute20 => p_attribute20
444 ,p_attribute21 => p_attribute21
445 ,p_attribute22 => p_attribute22
446 ,p_attribute23 => p_attribute23
447 ,p_attribute24 => p_attribute24
448 ,p_attribute25 => p_attribute25
449 ,p_attribute26 => p_attribute26
450 ,p_attribute27 => p_attribute27
451 ,p_attribute28 => p_attribute28
452 ,p_attribute29 => p_attribute29
453 ,p_attribute30 => p_attribute30
454 ,p_called_from_form => p_called_from_form );
455 --
456 --
457 if g_debug then
458 hr_utility.set_location(l_proc, 40);
459 end if;
460 --
461 -- Call After Process User Hook
462 --
463 begin
464 hxc_ret_rule_grp_comp_BK_2.update_ret_rule_grp_comp_a
465 (p_ret_rule_grp_comp_id => p_ret_rule_grp_comp_id
466 ,p_object_version_number => l_object_version_number
467 ,p_retrieval_rule_id => p_retrieval_rule_id
468 ,p_retrieval_rule_grp_id => p_retrieval_rule_grp_id
469 ,p_attribute_category => p_attribute_category
470 ,p_attribute1 => p_attribute1
471 ,p_attribute2 => p_attribute2
472 ,p_attribute3 => p_attribute3
473 ,p_attribute4 => p_attribute4
474 ,p_attribute5 => p_attribute5
475 ,p_attribute6 => p_attribute6
476 ,p_attribute7 => p_attribute7
477 ,p_attribute8 => p_attribute8
478 ,p_attribute9 => p_attribute9
479 ,p_attribute10 => p_attribute10
480 ,p_attribute11 => p_attribute11
481 ,p_attribute12 => p_attribute12
482 ,p_attribute13 => p_attribute13
483 ,p_attribute14 => p_attribute14
484 ,p_attribute15 => p_attribute15
485 ,p_attribute16 => p_attribute16
486 ,p_attribute17 => p_attribute17
487 ,p_attribute18 => p_attribute18
488 ,p_attribute19 => p_attribute19
489 ,p_attribute20 => p_attribute20
490 ,p_attribute21 => p_attribute21
491 ,p_attribute22 => p_attribute22
492 ,p_attribute23 => p_attribute23
493 ,p_attribute24 => p_attribute24
494 ,p_attribute25 => p_attribute25
495 ,p_attribute26 => p_attribute26
496 ,p_attribute27 => p_attribute27
497 ,p_attribute28 => p_attribute28
498 ,p_attribute29 => p_attribute29
499 ,p_attribute30 => p_attribute30
500 );
501 exception
502 when hr_api.cannot_find_prog_unit then
503 hr_api.cannot_find_prog_unit_error
504 (p_module_name => 'update_ret_rule_grp_comp'
505 ,p_hook_type => 'AP'
506 );
507 end;
508 --
509 if g_debug then
510 hr_utility.set_location(l_proc, 50);
511 end if;
512 --
513 -- When in validation only mode raise the Validate_Enabled exception
514 --
515 if p_validate then
516 raise hr_api.validate_enabled;
517 end if;
518 --
519 if g_debug then
520 hr_utility.set_location(' Leaving:'||l_proc, 60);
521 end if;
522 --
523 -- Set all output arguments
524 --
525 p_object_version_number := l_object_version_number;
526 --
527 exception
528 --
529 when hr_api.validate_enabled then
530 --
531 -- As the Validate_Enabled exception has been raised
532 -- we must rollback to the savepoint
533 --
534 ROLLBACK TO update_ret_rule_grp_comp;
535 --
536 -- Only set output warning arguments
537 -- (Any key or derived arguments must be set to null
538 -- when validation only mode is being used.)
539 --
540 p_object_version_number := null;
541 --
542 if g_debug then
543 hr_utility.set_location(' Leaving:'||l_proc, 60);
544 end if;
545 --
546 when others then
547 --
548 -- A validation or unexpected error has occured
549 --
550 if g_debug then
551 hr_utility.trace('In exeception');
552 end if;
553 ROLLBACK TO update_ret_rule_grp_comp;
554 raise;
555 --
556 END update_ret_rule_grp_comp;
557 --
558 -- ----------------------------------------------------------------------------
559 -- |----------------< delete_ret_rule_grp_comp >---------------------|
560 -- ----------------------------------------------------------------------------
561 --
562 procedure delete_ret_rule_grp_comp
563 (p_validate in boolean default false
564 ,p_ret_rule_grp_comp_id in number
565 ,p_retrieval_rule_grp_id in number
566 ,p_object_version_number in number
567 ) is
568 --
569 -- Declare cursors and local variables
570 --
571 l_proc varchar2(72);
572 --
573 begin
574 g_debug := hr_utility.debug_enabled;
575 --
576
577 if g_debug then
578 l_proc := g_package||'delete_ret_rule_grp_comp';
579 hr_utility.set_location('Entering:'|| l_proc, 10);
580 end if;
581 --
582 -- Issue a savepoint if operating in validation only mode
583 --
584 savepoint delete_ret_rule_grp_comp;
585 --
586 if g_debug then
587 hr_utility.set_location(l_proc, 20);
588 end if;
589
590 -- Call Before Process User Hook
591
592 begin
593 --
594 hxc_ret_rule_grp_comp_BK_3.delete_ret_rule_grp_comp_b
595 (p_ret_rule_grp_comp_id => p_ret_rule_grp_comp_id
596 ,p_object_version_number => p_object_version_number
597 );
598 exception
599 when hr_api.cannot_find_prog_unit then
600 hr_api.cannot_find_prog_unit_error
601 (p_module_name => 'delete_ret_rule_grp_comp_b'
602 ,p_hook_type => 'BP'
603 );
604 end;
605 --
606 if g_debug then
607 hr_utility.set_location(l_proc, 30);
608 end if;
609 --
610 -- Process Logic
611 --
612 hxc_egc_del.del
613 (
614 p_entity_group_comp_id => p_ret_rule_grp_comp_id
615 ,p_object_version_number => p_object_version_number
616 );
617 --
618 if g_debug then
619 hr_utility.set_location(l_proc, 40);
620 end if;
621 --
622 -- Call After Process User Hook
623 --
624 begin
625 --
626 hxc_ret_rule_grp_comp_BK_3.delete_ret_rule_grp_comp_a
627 (p_ret_rule_grp_comp_id => p_ret_rule_grp_comp_id
628 ,p_object_version_number => p_object_version_number
629 );
630 exception
631 when hr_api.cannot_find_prog_unit then
632 hr_api.cannot_find_prog_unit_error
633 (p_module_name => 'delete_ret_rule_grp_comp_a'
634 ,p_hook_type => 'AP'
635 );
636 end;
637 --
638 -- When in validation only mode raise the Validate_Enabled exception
639 --
640 if p_validate then
641 raise hr_api.validate_enabled;
642 end if;
643 --
644 if g_debug then
645 hr_utility.set_location(' Leaving:'||l_proc, 50);
646 end if;
647 --
648 exception
649 --
650 when hr_api.validate_enabled then
651 --
652 -- As the Validate_Enabled exception has been raised
653 -- we must rollback to the savepoint
654 --
655 ROLLBACK TO delete_ret_rule_grp_comp;
656 --
657 when others then
658 --
659 -- A validation or unexpected error has occured
660 --
661 ROLLBACK TO delete_ret_rule_grp_comp;
662 raise;
663 --
664 end delete_ret_rule_grp_comp;
665 --
666 -- ----------------------------------------------------------------------------
667 -- |------------------------< chk_rr_unique >---------------------------------|
668 -- ----------------------------------------------------------------------------
669 --
670 -- Description:
671 -- This procedure insures a unique retrieval rule per grouping
672 -- and that the retrival process for a rule is not duplicated
673 --
674 -- Pre Conditions:
675 -- None
676 --
677 -- In Arguments:
678 -- ret_rule_grp_comp_id
679 -- retrieval_rule_grp_id
680 -- retrieval_rule_id
681 --
682 -- Post Success:
683 -- Processing continues if the entity id business rules
684 -- have not been violated
685 --
686 -- Post Failure:
687 -- An application error is raised if the as id is not unique
688 --
689 -- ----------------------------------------------------------------------------
690 Procedure chk_rr_unique
691 (
692 p_ret_rule_grp_comp_id in hxc_entity_group_comps.entity_group_comp_id%TYPE
693 , p_retrieval_rule_grp_id in hxc_entity_group_comps.entity_group_id%TYPE
694 , p_retrieval_rule_id in hxc_entity_group_comps.entity_id%TYPE
695 ) IS
696 --
697 l_proc varchar2(72);
698 --
699 -- cursor to check rr is unique
700 --
701 CURSOR csr_chk_rr IS
702 SELECT 'error'
703 FROM sys.dual
704 WHERE EXISTS (
705 SELECT 'x'
706 FROM hxc_entity_group_comps egc
707 WHERE egc.entity_group_id = p_retrieval_rule_grp_id
708 AND egc.entity_id = p_retrieval_rule_id
709 AND ( egc.entity_group_comp_id <> p_ret_rule_grp_comp_id
710 OR p_ret_rule_grp_comp_id IS NULL ));
711
712 CURSOR csr_chk_rr_ret_proc IS
713 SELECT 'error'
714 FROM hxc_retrieval_rules_v rr1
715 WHERE rr1.retrieval_rule_id = p_retrieval_rule_id
716 AND EXISTS (
717 SELECT 'x'
718 FROM hxc_retrieval_rules_v rr2
719 , hxc_retrieval_rule_grp_comps_v rrc
720 , hxc_retrieval_rule_groups_v rrg
721 WHERE rrg.retrieval_rule_group_id = p_retrieval_rule_grp_id
722 AND rrc.retrieval_rule_group_id = rrg.retrieval_rule_group_id
723 AND rr2.retrieval_rule_id = rrc.retrieval_rule_id
724 AND rr2.retrieval_rule_id <> rr1.retrieval_rule_id
725 AND rr2.retrieval_process_id = rr1.retrieval_process_id );
726
727 --
728 l_error varchar2(5) := NULL;
729 --
730 BEGIN
731 if g_debug then
732 l_proc := g_package||'chk_rr_unique';
733 hr_utility.set_location('Entering:'||l_proc, 5);
734 end if;
735
736 -- check that rr is unique within the grouping
737
738 OPEN csr_chk_rr;
739 FETCH csr_chk_rr INTO l_error;
740 CLOSE csr_chk_rr;
741 --
742 IF l_error IS NOT NULL
743 THEN
744 --
745 hr_utility.set_message(809, 'HXC_EGC_RR_NOT_UNIQUE');
746 hr_utility.raise_error;
747 --
748 END IF;
749 --
750 OPEN csr_chk_rr_ret_proc;
751 FETCH csr_chk_rr_ret_proc INTO l_error;
752 CLOSE csr_chk_rr_ret_proc;
753 --
754 IF l_error IS NOT NULL
755 THEN
756 --
757 hr_utility.set_message(809, 'HXC_EGC_RR_RETRIEVAL_DUP');
758 hr_utility.raise_error;
759 --
760 END IF;
761 --
762 if g_debug then
763 hr_utility.set_location('Leaving:'||l_proc, 20);
764 end if;
765 --
766 END chk_rr_unique;
767 --
768 END hxc_ret_rule_grp_comp_api;