DBA Data[Home] [Help]

PACKAGE BODY: APPS.HXC_RESOURCE_RULES_API

Source


1 Package Body hxc_resource_rules_api as
2 /* $Header: hxchrrapi.pkb 120.2 2005/09/23 10:43:34 sechandr noship $ */
3 --
4 -- Package Variables
5 --
6 g_package  varchar2(33) := '  hxc_resource_rules_api.';
7 g_debug	boolean		:=hr_utility.debug_enabled;
8 --
9 -- ----------------------------------------------------------------------------
10 -- |--------------------------< create_resource_rules >-----------------------|
11 -- ----------------------------------------------------------------------------
12 --
13 procedure create_resource_rules
14   (p_validate                      in     boolean  default false
15   ,p_resource_rule_id              in out nocopy number
16   ,p_object_version_number         in out nocopy number
17   ,p_name                          in     varchar2
18   ,p_business_group_id	           in     number   default null
19   ,p_legislation_code              in     varchar2 default null
20   ,p_eligibility_criteria_type     in     varchar2
21   ,p_eligibility_criteria_id       in     varchar2    default null
22   ,p_pref_hierarchy_id             in     number
23   ,p_rule_evaluation_order         in     number
24   ,p_resource_type                 in     varchar2
25   ,p_start_date                    in     date      default null
26   ,p_end_date                      in     date      default null
27   ,p_effective_date                in     date      default null
28   ) is
29   --
30   -- Declare cursors and local variables
31   --
32 
33   l_proc                  varchar2(72);
34   l_object_version_number hxc_resource_rules.object_version_number%TYPE;
35   l_resource_rule_id      hxc_resource_rules.resource_rule_id%TYPE;
36 begin
37   g_debug:=hr_utility.debug_enabled;
38   if g_debug then
39 	l_proc := g_package||'create_resource_rules';
40 	hr_utility.set_location('Entering:'|| l_proc, 10);
41   end if;
42   --
43   -- Issue a savepoint
44   --
45   savepoint create_resource_rules;
46   --
47   if g_debug then
48 	hr_utility.set_location(l_proc, 20);
49   end if;
50   --
51   --
52   -- Truncate the time portion from all IN date parameters
53   --
54 
55   --
56   -- Call Before Process User Hook
57   --
58   begin
59     hxc_resource_rules_bk_1.create_resource_rules_b
60       (p_resource_rule_id          => p_resource_rule_id
61       ,p_object_version_number     => p_object_version_number
62       ,p_name                      => p_name
63       ,p_business_group_id        => p_business_group_id
64       ,p_legislation_code         => p_legislation_code
65       ,p_eligibility_criteria_type => p_eligibility_criteria_type
66       ,p_eligibility_criteria_id   => p_eligibility_criteria_id
67       ,p_pref_hierarchy_id         => p_pref_hierarchy_id
68       ,p_rule_evaluation_order     => p_rule_evaluation_order
69       ,p_resource_type             => p_resource_type
70       ,p_start_date                => p_start_date
71       ,p_end_date                  => p_end_date
72       ,p_effective_date            => p_effective_date
73       );
74   exception
75     when hr_api.cannot_find_prog_unit then
76       hr_api.cannot_find_prog_unit_error
77         (p_module_name => 'create_resource_rules'
78         ,p_hook_type   => 'BP'
79         );
80   end;
81   --
82   if g_debug then
83 	hr_utility.set_location(l_proc, 30);
84   end if;
85   --
86   --
87   -- Validation in addition to Row Handlers
88   --
89 
90 
91 
92   --
93   -- Process Logic
94   --
95   if g_debug then
96 	hr_utility.set_location(l_proc, 40);
97   end if;
98   --
99   -- call row handler
100   --
101   hxc_hrr_ins.ins
102   (p_effective_date             => p_effective_date
103   ,p_name                       => p_name
104   ,p_business_group_id        => p_business_group_id
105   ,p_legislation_code         => p_legislation_code
106   ,p_eligibility_criteria_type  => p_eligibility_criteria_type
107   ,p_eligibility_criteria_id    => p_eligibility_criteria_id
108   ,p_pref_hierarchy_id          => p_pref_hierarchy_id
109   ,p_rule_evaluation_order      => p_rule_evaluation_order
110   ,p_resource_type              => p_resource_type
111   ,p_start_date                 => p_start_date
112   ,p_end_date                   => p_end_date
113   ,p_resource_rule_id           => l_resource_rule_id
114   ,p_object_version_number      => l_object_version_number
115   );
116   --
117   if g_debug then
118 	hr_utility.set_location(l_proc, 50);
119   end if;
120   --
121   -- Call After Process User Hook
122   --
123   begin
124     hxc_resource_rules_bk_1.create_resource_rules_a
125       (p_resource_rule_id          => p_resource_rule_id
126       ,p_object_version_number     => p_object_version_number
127       ,p_name                      => p_name
128       ,p_business_group_id        => p_business_group_id
129       ,p_legislation_code         => p_legislation_code
130       ,p_eligibility_criteria_type => p_eligibility_criteria_type
131       ,p_eligibility_criteria_id   => p_eligibility_criteria_id
132       ,p_pref_hierarchy_id         => p_pref_hierarchy_id
133       ,p_rule_evaluation_order     => p_rule_evaluation_order
134       ,p_resource_type             => p_resource_type
135       ,p_start_date                => p_start_date
136       ,p_end_date                  => p_end_date
137       ,p_effective_date            => p_effective_date
138       );
139   exception
140     when hr_api.cannot_find_prog_unit then
141       hr_api.cannot_find_prog_unit_error
142         (p_module_name => 'create_resource_rules'
143         ,p_hook_type   => 'AP'
144         );
145   end;
146   --
147   if g_debug then
148 	hr_utility.set_location(l_proc, 60);
149   end if;
150   --
151   -- When in validation only mode raise the Validate_Enabled exception
152   --
153   if p_validate then
154     raise hr_api.validate_enabled;
155   end if;
156   --
157   --if g_debug then
158 	--hr_utility.set_location(' Leaving:'||l_proc, 70);
159   --end if;
160   --
161   --
162   -- Set all output arguments
163   --
164   p_resource_rule_id       := l_resource_rule_id;
165   p_object_version_number  := l_object_version_number;
166   --
167   if g_debug then
168 	hr_utility.set_location(' Leaving:'||l_proc, 70);
169   end if;
170 exception
171   when hr_api.validate_enabled then
172     --
173     -- As the Validate_Enabled exception has been raised
174     -- we must rollback to the savepoint
175     --
176     rollback to create_resource_rules;
177     --
178     -- Only set output warning arguments
179     -- (Any key or derived arguments must be set to null
180     -- when validation only mode is being used.)
181     --
182     p_resource_rule_id       := null;
183     p_object_version_number  := null;
184     if g_debug then
185 	hr_utility.set_location(' Leaving:'||l_proc, 80);
186     end if;
187   when others then
188     --
189     -- A validation or unexpected error has occured
190     --
191     rollback to create_resource_rules;
192     if g_debug then
193 	hr_utility.set_location(' Leaving:'||l_proc, 90);
194     end if;
195     raise;
196     --
197 end create_resource_rules;
198 --
199 --
200 -- ----------------------------------------------------------------------------
201 -- |------------------------< update_resource_rules>--------------------------|
202 -- ----------------------------------------------------------------------------
203 --
204 procedure update_resource_rules
205   (p_validate                      in     boolean  default false
206   ,p_resource_rule_id              in     number
207   ,p_object_version_number         in out nocopy number
208   ,p_name                          in     varchar2
209   ,p_business_group_id             in     number   default null
210   ,p_legislation_code              in     varchar2 default null
211   ,p_eligibility_criteria_type     in     varchar2
212   ,p_eligibility_criteria_id       in     varchar2    default null
213   ,p_pref_hierarchy_id             in     number
214   ,p_rule_evaluation_order         in     number
215   ,p_resource_type                 in     varchar2
216   ,p_start_date                    in     date      default null
217   ,p_end_date                      in     date      default null
218   ,p_effective_date                in     date      default null
219   ) is
220   --
221   -- Declare cursors and local variables
222   --
223   l_proc varchar2(72);
224   l_object_version_number hxc_resource_rules.object_version_number%TYPE := p_object_version_number;
225   --
226 Begin
227   --
228   g_debug:=hr_utility.debug_enabled;
229   if g_debug then
230 	l_proc := g_package||' update_resource_rules';
231 	hr_utility.set_location('Entering:'|| l_proc, 10);
232   end if;
233   --
234   -- Issue a savepoint if operating in validation only mode
235   --
236   savepoint update_resource_rules;
237   --
238   if g_debug then
239 	hr_utility.set_location(l_proc, 20);
240   end if;
241   --
242   -- Call Before Process User Hook
243   --
244   begin
245    hxc_resource_rules_bk_1.update_resource_rules_b
246     (p_resource_rule_id          => p_resource_rule_id
247     ,p_object_version_number     => p_object_version_number
248     ,p_name                      => p_name
249     ,p_business_group_id        => p_business_group_id
250     ,p_legislation_code         => p_legislation_code
251     ,p_eligibility_criteria_type => p_eligibility_criteria_type
252     ,p_eligibility_criteria_id   => p_eligibility_criteria_id
253     ,p_pref_hierarchy_id         => p_pref_hierarchy_id
254     ,p_rule_evaluation_order     => p_rule_evaluation_order
255     ,p_resource_type             => p_resource_type
256     ,p_start_date                => p_start_date
257     ,p_end_date                  => p_end_date
258     ,p_effective_date            => p_effective_date
259     );
260   exception
261     when hr_api.cannot_find_prog_unit then
262       hr_api.cannot_find_prog_unit_error
263         (p_module_name => 'update_resource_rules'
264         ,p_hook_type   => 'BP'
265         );
266   end;
267   --
268   --insert into mtemp values('out of comp_b');
269   --commit;
270   --if g_debug then
271 	--hr_utility.set_location(l_proc, 30);
272   --end if;
273   --
274   -- Process Logic
275 --
276 -- call row handler
277 --
278 --insert into mtemp values('calling hxc_hac_upd.upd');
279  -- commit;
280 hxc_hrr_upd.upd
281   (p_effective_date            => p_effective_date
282   ,p_resource_rule_id          => p_resource_rule_id
283   ,p_object_version_number     => l_object_version_number
284   ,p_name                      => p_name
285   ,p_business_group_id        => p_business_group_id
286   ,p_legislation_code         => p_legislation_code
287   ,p_eligibility_criteria_type => p_eligibility_criteria_type
288   ,p_eligibility_criteria_id   => p_eligibility_criteria_id
289   ,p_pref_hierarchy_id         => p_pref_hierarchy_id
290   ,p_rule_evaluation_order     => p_rule_evaluation_order
291   ,p_resource_type             => p_resource_type
292   ,p_start_date                => p_start_date
293   ,p_end_date                  => p_end_date
294   );
295 --
296   --
297   --insert into mtemp values('out of hax_hac_upd');
298   --commit;
299 
300   if g_debug then
301 	hr_utility.set_location(l_proc, 40);
302   end if;
303   --
304   -- Call After Process User Hook
305   --
306   begin
307    hxc_resource_rules_bk_1.update_resource_rules_a
308     (p_resource_rule_id          => p_resource_rule_id
309     ,p_object_version_number     => p_object_version_number
310     ,p_name                      => p_name
311     ,p_business_group_id        => p_business_group_id
312     ,p_legislation_code         => p_legislation_code
313     ,p_eligibility_criteria_type => p_eligibility_criteria_type
314     ,p_eligibility_criteria_id   => p_eligibility_criteria_id
315     ,p_pref_hierarchy_id         => p_pref_hierarchy_id
316     ,p_rule_evaluation_order     => p_rule_evaluation_order
317     ,p_resource_type             => p_resource_type
318     ,p_start_date                => p_start_date
319     ,p_end_date                  => p_end_date
320     ,p_effective_date            => p_effective_date
321     );
322   exception
323     when hr_api.cannot_find_prog_unit then
324       hr_api.cannot_find_prog_unit_error
325         (p_module_name => 'update_resource_rules'
326         ,p_hook_type   => 'AP'
327         );
328   end;
329   --
330   --insert into mtemp values('out of comp_a');
331   --commit;
332 
333   if g_debug then
334 	hr_utility.set_location(l_proc, 50);
335   end if;
336   --
337   -- When in validation only mode raise the Validate_Enabled exception
338   --
339   if p_validate then
340     raise hr_api.validate_enabled;
341   end if;
342   --
343   if g_debug then
344 	hr_utility.set_location(' Leaving:'||l_proc, 60);
345   end if;
346   --
347   -- Set all output arguments
348   --
349   --
350   --insert into mtemp values('setting OVN value ');
351   --commit;
352 
353   p_object_version_number := l_object_version_number;
354   --
355   --insert into mtemp values('OVN value set');
356   --commit;
357 
358 exception
359   --
360   when hr_api.validate_enabled then
361     --
362     -- As the Validate_Enabled exception has been raised
363     -- we must rollback to the savepoint
364     --
365     ROLLBACK TO update_resource_rules;
366     --
367     -- Only set output warning arguments
368     -- (Any key or derived arguments must be set to null
369     -- when validation only mode is being used.)
370     --
371     p_object_version_number  := null;
372     --
373     --insert into mtemp values('OVN set to null');
374     --commit;
375 
376     if g_debug then
377 	hr_utility.set_location(' Leaving:'||l_proc, 60);
378     end if;
379     --
380   when others then
381     --
382     -- A validation or unexpected error has occured
383     --
384     ROLLBACK TO update_resource_rules;
385     if g_debug then
386 	hr_utility.set_location(' Leaving:'||l_proc, 70);
387     end if;
388     raise;
389     --
390 END update_resource_rules;
391 --
392 -- ----------------------------------------------------------------------------
393 -- |------------------------< delete_resource_rules >--------------------------|
394 -- ----------------------------------------------------------------------------
395 --
396 procedure delete_resource_rules
397   (p_validate                       in  boolean  default false
398   ,p_resource_rule_id               in  number
399   ,p_object_version_number          in  number
400   ) is
401   --
402   -- Declare cursors and local variables
403   --
404   l_proc varchar2(72);
405   --
406 begin
407   --
408   --
409   g_debug:=hr_utility.debug_enabled;
410   if g_debug then
411 	l_proc := g_package||'delete_resource_rules';
412 	hr_utility.set_location('Entering:'|| l_proc, 10);
413   end if;
414   --
415   -- Issue a savepoint if operating in validation only mode
416   --
417   savepoint delete_resource_rules;
418   --
419   if g_debug then
420 	hr_utility.set_location(l_proc, 20);
421   end if;
422   --
423   -- Call Before Process User Hook
424   --
425   begin
426   --
427          hxc_resource_rules_bk_1.delete_resource_rules_b
428           (p_resource_rule_id      => p_resource_rule_id
429           ,p_object_version_number => p_object_version_number
430           );
431   exception
432     when hr_api.cannot_find_prog_unit then
433       hr_api.cannot_find_prog_unit_error
434         (p_module_name => 'delete_resource_rules'
435         ,p_hook_type   => 'BP'
436         );
437   end;
438   --
439   if g_debug then
440 	hr_utility.set_location(l_proc, 30);
441   end if;
442   --
443   -- Process Logic
444   --
445   hxc_hrr_del.del
446     (
447      p_resource_rule_id            => p_resource_rule_id
448     ,p_object_version_number       => p_object_version_number
449     );
450   --
451   if g_debug then
452 	hr_utility.set_location(l_proc, 40);
453   end if;
454   --
455   -- Call After Process User Hook
456   --
457   begin
458   --
459          hxc_resource_rules_bk_1.delete_resource_rules_a
460           (p_resource_rule_id       => p_resource_rule_id
461           ,p_object_version_number  => p_object_version_number
462           );
463   exception
464     when hr_api.cannot_find_prog_unit then
465       hr_api.cannot_find_prog_unit_error
466         (p_module_name => 'delete_resource_rules'
467         ,p_hook_type   => 'AP'
468         );
469   end;
470   --
471   -- When in validation only mode raise the Validate_Enabled exception
472   --
473   if p_validate then
474     raise hr_api.validate_enabled;
475   end if;
476   --
477   if g_debug then
478 	hr_utility.set_location(' Leaving:'||l_proc, 50);
479   end if;
480   --
481 exception
482   --
483   when hr_api.validate_enabled then
484     --
485     -- As the Validate_Enabled exception has been raised
486     -- we must rollback to the savepoint
487     --
488     ROLLBACK TO delete_resource_rules;
489     --
490   when others then
491     --
492     -- A validation or unexpected error has occured
493     --
494     ROLLBACK TO delete_resource_rules;
495     raise;
496     --
497 end delete_resource_rules;
498 --
499 end hxc_resource_rules_api;