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