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