[Home] [Help]
PACKAGE BODY: APPS.PQH_RULE_SETS_API
Source
1 Package Body pqh_RULE_SETS_api as
2 /* $Header: pqrstapi.pkb 120.0 2005/05/29 02:38:40 appldev noship $ */
3
4 --
5 -- Package Variables
6 --
7 g_package varchar2(33) := ' pqh_RULE_SETS_api.';
8 --
9 -- ----------------------------------------------------------------------------
10 -- |------------------------< create_RULE_SET >----------------------|
11 -- ----------------------------------------------------------------------------
12 --
13 procedure create_RULE_SET
14 (p_validate in boolean default false
15 ,p_business_group_id in number
16 ,p_rule_set_id out nocopy number
17 ,p_rule_set_name in varchar2
18 ,p_description in varchar2
19 ,p_organization_structure_id in number default null
20 ,p_organization_id in number default null
21 ,p_referenced_rule_set_id in number default null
22 ,p_rule_level_cd in varchar2
23 ,p_object_version_number out nocopy number
24 ,p_short_name in varchar2
25 ,p_effective_date in date
26 ,p_language_code in varchar2 default hr_api.userenv_lang
27 ,p_rule_applicability in varchar2
28 ,p_rule_category in varchar2
29 ,p_starting_organization_id in number default null
30 ,p_seeded_rule_flag in varchar2 default 'N'
31 ,p_status in varchar2 default null
32 ) is
33 --
34 -- Declare cursors and local variables
35 --
36 l_rule_set_id pqh_rule_sets.rule_set_id%TYPE;
37 l_proc varchar2(72) := g_package||'create_RULE_SET';
38 l_object_version_number pqh_rule_sets.object_version_number%TYPE;
39 --
40 begin
41 --
42 hr_utility.set_location('Entering:'|| l_proc, 10);
43 --
44 -- Issue a savepoint if operating in validation only mode
45 --
46 savepoint create_RULE_SET;
47 --
48 hr_utility.set_location(l_proc, 20);
49 --
50 -- Process Logic
51 --
52 begin
53 --
54 -- Start of API User Hook for the before hook of create_RULE_SET
55 --
56 pqh_RULE_SETS_bk1.create_RULE_SET_b
57 (
58 p_business_group_id => p_business_group_id
59 ,p_rule_set_name => p_rule_set_name
60 ,p_description => p_description
61 ,p_organization_structure_id => p_organization_structure_id
62 ,p_organization_id => p_organization_id
63 ,p_referenced_rule_set_id => p_referenced_rule_set_id
64 ,p_rule_level_cd => p_rule_level_cd
65 ,p_short_name => p_short_name
66 ,p_effective_date => trunc(p_effective_date)
67 ,p_rule_applicability => p_rule_applicability
68 ,p_rule_category => p_rule_category
69 ,p_starting_organization_id => p_starting_organization_id
70 ,p_seeded_rule_flag => p_seeded_rule_flag
71 ,p_status => p_status
72 );
73 exception
74 when hr_api.cannot_find_prog_unit then
75 hr_api.cannot_find_prog_unit_error
76 (
77 p_module_name => 'CREATE_RULE_SET'
78 ,p_hook_type => 'BP'
79 );
80 --
81 -- End of API User Hook for the before hook of create_RULE_SET
82 --
83 end;
84 --
85 pqh_rst_ins.ins
86 (
87 p_rule_set_id => l_rule_set_id
88 ,p_business_group_id => p_business_group_id
89 ,p_rule_set_name => p_rule_set_name
90 ,p_organization_structure_id => p_organization_structure_id
91 ,p_organization_id => p_organization_id
92 ,p_referenced_rule_set_id => p_referenced_rule_set_id
93 ,p_rule_level_cd => p_rule_level_cd
94 ,p_object_version_number => l_object_version_number
95 ,p_short_name => p_short_name
96 ,p_effective_date => trunc(p_effective_date)
97 ,p_rule_applicability => p_rule_applicability
98 ,p_rule_category => p_rule_category
99 ,p_starting_organization_id => p_starting_organization_id
100 ,p_seeded_rule_flag => p_seeded_rule_flag
101 ,p_status => p_status
102 );
103 --
104 p_rule_set_id := l_rule_set_id ;
105 pqh_rtl_ins.ins_tl(
106 p_language_code => p_language_code,
107 p_rule_set_id => l_rule_set_id ,
108 p_rule_set_name => p_rule_set_name,
109 p_description => p_description
110 );
111 --
112
113 --
114 begin
115 --
116 -- Start of API User Hook for the after hook of create_RULE_SET
117 --
118 pqh_RULE_SETS_bk1.create_RULE_SET_a
119 (
120 p_business_group_id => p_business_group_id
121 ,p_rule_set_id => l_rule_set_id
122 ,p_rule_set_name => p_rule_set_name
123 ,p_description => p_description
124 ,p_organization_structure_id => p_organization_structure_id
125 ,p_organization_id => p_organization_id
126 ,p_referenced_rule_set_id => p_referenced_rule_set_id
127 ,p_rule_level_cd => p_rule_level_cd
128 ,p_object_version_number => l_object_version_number
129 ,p_short_name => p_short_name
130 ,p_effective_date => trunc(p_effective_date)
131 ,p_rule_applicability => p_rule_applicability
132 ,p_rule_category => p_rule_category
133 ,p_starting_organization_id => p_starting_organization_id
134 ,p_seeded_rule_flag => p_seeded_rule_flag
135 ,p_status => p_status
136 );
137 exception
138 when hr_api.cannot_find_prog_unit then
139 hr_api.cannot_find_prog_unit_error
140 (p_module_name => 'CREATE_RULE_SET'
141 ,p_hook_type => 'AP'
142 );
143 --
144 -- End of API User Hook for the after hook of create_RULE_SET
145 --
146 end;
147 --
148 hr_utility.set_location(l_proc, 60);
149 --
150 -- When in validation only mode raise the Validate_Enabled exception
151 --
152 if p_validate then
153 raise hr_api.validate_enabled;
154 end if;
155 --
156 -- Set all output arguments
157 --
158 p_rule_set_id := l_rule_set_id;
159 p_object_version_number := l_object_version_number;
160 --
161 hr_utility.set_location(' Leaving:'||l_proc, 70);
162 --
163 exception
164 --
165 when hr_api.validate_enabled then
166 --
167 -- As the Validate_Enabled exception has been raised
168 -- we must rollback to the savepoint
169 --
170 ROLLBACK TO create_RULE_SET;
171 --
172 -- Only set output warning arguments
173 -- (Any key or derived arguments must be set to null
174 -- when validation only mode is being used.)
175 --
176 p_rule_set_id := null;
177 p_object_version_number := null;
178 hr_utility.set_location(' Leaving:'||l_proc, 80);
179 --
180 when others then
181 p_rule_set_id := null;
182 p_object_version_number := null;
183 --
184 -- A validation or unexpected error has occured
185 --
186 ROLLBACK TO create_RULE_SET;
187 raise;
188 --
189 end create_RULE_SET;
190 -- ----------------------------------------------------------------------------
191 -- |------------------------< update_RULE_SET >--- ------------------|
192 -- ----------------------------------------------------------------------------
193 --
194 procedure update_RULE_SET
195 (p_validate in boolean default false
196 ,p_business_group_id in number default hr_api.g_number
197 ,p_rule_set_id in number
198 ,p_rule_set_name in varchar2 default hr_api.g_varchar2
199 ,p_description in varchar2 default hr_api.g_varchar2
200 ,p_organization_structure_id in number default hr_api.g_number
201 ,p_organization_id in number default hr_api.g_number
202 ,p_referenced_rule_set_id in number default hr_api.g_number
203 ,p_rule_level_cd in varchar2 default hr_api.g_varchar2
204 ,p_object_version_number in out nocopy number
205 ,p_short_name in varchar2 default hr_api.g_varchar2
206 ,p_effective_date in date
207 ,p_language_code in varchar2 default hr_api.userenv_lang
208 ,p_rule_applicability in varchar2 default hr_api.g_varchar2
209 ,p_rule_category in varchar2 default hr_api.g_varchar2
210 ,p_starting_organization_id in number default hr_api.g_number
211 ,p_seeded_rule_flag in varchar2 default hr_api.g_varchar2
212 ,p_status in varchar2 default hr_api.g_varchar2
213 ) is
214 --
215 -- Declare cursors and local variables
216 --
217 l_proc varchar2(72) := g_package||'update_RULE_SET';
218 l_object_version_number pqh_rule_sets.object_version_number%TYPE;
219 --
220 begin
221 --
222 hr_utility.set_location('Entering:'|| l_proc, 10);
223 --
224 -- Issue a savepoint if operating in validation only mode
225 --
226 savepoint update_RULE_SET;
227 --
228 hr_utility.set_location(l_proc, 20);
229 hr_utility.set_location('description passed is'||p_description, 20);
230 hr_utility.set_location('rule_set_name passed is'||p_rule_set_name, 30);
231 --
232 -- Process Logic
233 --
234 l_object_version_number := p_object_version_number;
235 --
236 begin
237 --
238 -- Start of API User Hook for the before hook of update_RULE_SET
239 --
240 pqh_RULE_SETS_bk2.update_RULE_SET_b
241 (
242 p_business_group_id => p_business_group_id
243 ,p_rule_set_id => p_rule_set_id
244 ,p_rule_set_name => p_rule_set_name
245 ,p_description => p_description
246 ,p_organization_structure_id => p_organization_structure_id
247 ,p_organization_id => p_organization_id
248 ,p_referenced_rule_set_id => p_referenced_rule_set_id
249 ,p_rule_level_cd => p_rule_level_cd
250 ,p_object_version_number => p_object_version_number
251 ,p_short_name => p_short_name
252 ,p_effective_date => trunc(p_effective_date)
253 ,p_rule_applicability => p_rule_applicability
254 ,p_rule_category => p_rule_category
255 ,p_starting_organization_id => p_starting_organization_id
256 ,p_seeded_rule_flag => p_seeded_rule_flag
257 ,p_status => p_status
258 );
259 exception
260 when hr_api.cannot_find_prog_unit then
261 hr_api.cannot_find_prog_unit_error
262 (p_module_name => 'UPDATE_RULE_SET'
263 ,p_hook_type => 'BP'
264 );
265 --
266 -- End of API User Hook for the before hook of update_RULE_SET
267 --
268 end;
269 --
270 pqh_rst_upd.upd
271 (
272 p_rule_set_id => p_rule_set_id
273 ,p_business_group_id => p_business_group_id
274 ,p_rule_set_name => p_rule_set_name
275 ,p_organization_structure_id => p_organization_structure_id
276 ,p_organization_id => p_organization_id
277 ,p_referenced_rule_set_id => p_referenced_rule_set_id
278 ,p_rule_level_cd => p_rule_level_cd
279 ,p_object_version_number => l_object_version_number
280 ,p_short_name => p_short_name
281 ,p_effective_date => trunc(p_effective_date)
282 ,p_rule_applicability => p_rule_applicability
283 ,p_rule_category => p_rule_category
284 ,p_starting_organization_id => p_starting_organization_id
285 ,p_seeded_rule_flag => p_seeded_rule_flag
286 ,p_status => p_status
287 );
288 --
289 hr_utility.set_location('description passed is'||p_description, 70);
290 hr_utility.set_location('rule_set_name passed is'||p_rule_set_name, 80);
291 --
292 pqh_rtl_upd.upd_tl(
293 p_language_code => p_language_code,
294 p_rule_set_id => p_rule_set_id ,
295 p_rule_set_name => p_rule_set_name,
296 p_description => p_description
297 );
298
299 begin
300 --
301 -- Start of API User Hook for the after hook of update_RULE_SET
302 --
303 pqh_RULE_SETS_bk2.update_RULE_SET_a
304 (
305 p_business_group_id => p_business_group_id
306 ,p_rule_set_id => p_rule_set_id
307 ,p_rule_set_name => p_rule_set_name
308 ,p_description => p_description
309 ,p_organization_structure_id => p_organization_structure_id
310 ,p_organization_id => p_organization_id
311 ,p_referenced_rule_set_id => p_referenced_rule_set_id
312 ,p_rule_level_cd => p_rule_level_cd
313 ,p_object_version_number => l_object_version_number
314 ,p_short_name => p_short_name
315 ,p_effective_date => trunc(p_effective_date)
316 ,p_rule_applicability => p_rule_applicability
317 ,p_rule_category => p_rule_category
318 ,p_starting_organization_id => p_starting_organization_id
319 ,p_seeded_rule_flag => p_seeded_rule_flag
320 ,p_status => p_status
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_RULE_SET'
326 ,p_hook_type => 'AP'
327 );
328 --
329 -- End of API User Hook for the after hook of update_RULE_SET
330 --
331 end;
332 --
333 hr_utility.set_location(l_proc, 60);
334 --
335 -- When in validation only mode raise the Validate_Enabled exception
336 --
337 if p_validate then
338 raise hr_api.validate_enabled;
339 end if;
340 --
341 -- Set all output arguments
342 --
343 p_object_version_number := l_object_version_number;
344 --
345 --
346 hr_utility.set_location('description passed is'||p_description, 170);
347 hr_utility.set_location('rule_set_name passed is'||p_rule_set_name, 180);
348 --
349 hr_utility.set_location(' Leaving:'||l_proc, 70);
350 --
351 exception
352 --
353 when hr_api.validate_enabled then
354 --
355 -- As the Validate_Enabled exception has been raised
356 -- we must rollback to the savepoint
357 --
358 ROLLBACK TO update_RULE_SET;
359 --
360 -- Only set output warning arguments
361 -- (Any key or derived arguments must be set to null
362 -- when validation only mode is being used.)
363 --
364 hr_utility.set_location(' Leaving:'||l_proc, 80);
365 --
366 when others then
367 p_object_version_number := l_object_version_number;
368 --
369 -- A validation or unexpected error has occured
370 --
371 ROLLBACK TO update_RULE_SET;
372 raise;
373 --
374 end update_RULE_SET;
375 -- ----------------------------------------------------------------------------
376 -- |------------------------< delete_RULE_SET >----------------------|
377 -- ----------------------------------------------------------------------------
378 --
379 procedure delete_RULE_SET
380 (p_validate in boolean default false
381 ,p_rule_set_id in number
382 ,p_object_version_number in number
383 ,p_effective_date in date
384 ) is
385 --
386 -- Declare cursors and local variables
387 --
388 l_proc varchar2(72) := g_package||'delete_RULE_SET';
389 l_object_version_number pqh_rule_sets.object_version_number%TYPE;
390 --
391 --Declare cursor for pqh_rule_attributes.
392 --
393 cursor c1 is
394 select rule_attribute_id, object_version_number
395 from pqh_rule_attributes where rule_set_id = p_rule_set_id;
396
397 begin
398 --
399 hr_utility.set_location('Entering:'|| l_proc, 10);
400 --
401 -- Issue a savepoint if operating in validation only mode
402 --
403 savepoint delete_RULE_SET;
404 --
405 hr_utility.set_location(l_proc, 20);
406 --
407 -- Process Logic
408 --
409 l_object_version_number := p_object_version_number;
410 --
411 --
412 begin
413 --
414 -- Start of API User Hook for the before hook of delete_RULE_SET
415 --
416 pqh_RULE_SETS_bk3.delete_RULE_SET_b
417 (
418 p_rule_set_id => p_rule_set_id
419 ,p_object_version_number => p_object_version_number
420 ,p_effective_date => trunc(p_effective_date)
421 );
422 exception
423 when hr_api.cannot_find_prog_unit then
424 hr_api.cannot_find_prog_unit_error
425 (p_module_name => 'DELETE_RULE_SET'
426 ,p_hook_type => 'BP'
427 );
428 --
429 -- End of API User Hook for the before hook of delete_RULE_SET
430 --
431 end;
432 --
433 pqh_rst_shd.lck
434 (
435 p_rule_set_id => p_rule_set_id
436 ,p_object_version_number => l_object_version_number
437 );
438 --
439 --Delete from pqh_rule_attributes
440 --
441 for rule_att in c1 loop
442 pqh_rla_del.del(p_rule_attribute_id => rule_att.rule_attribute_id
443 ,p_object_version_number => rule_att.object_version_number);
444 end loop;
445
446 delete from pqh_rules where rule_set_id = p_rule_set_id;
447
448
449 pqh_rtl_del.del_tl(
450 p_rule_set_id => p_rule_set_id );
451 --
452 pqh_rst_del.del
453 (
454 p_rule_set_id => p_rule_set_id
455 ,p_object_version_number => l_object_version_number
456 ,p_effective_date => p_effective_date
457 );
458 --
459 --
460 begin
461 --
462 -- Start of API User Hook for the after hook of delete_RULE_SET
463 --
464 pqh_RULE_SETS_bk3.delete_RULE_SET_a
465 (
466 p_rule_set_id => p_rule_set_id
467 ,p_object_version_number => l_object_version_number
468 ,p_effective_date => trunc(p_effective_date)
469 );
470 exception
471 when hr_api.cannot_find_prog_unit then
472 hr_api.cannot_find_prog_unit_error
473 (p_module_name => 'DELETE_RULE_SET'
474 ,p_hook_type => 'AP'
475 );
476 --
477 -- End of API User Hook for the after hook of delete_RULE_SET
478 --
479 end;
480 --
481 hr_utility.set_location(l_proc, 60);
482 --
483 -- When in validation only mode raise the Validate_Enabled exception
484 --
485 if p_validate then
486 raise hr_api.validate_enabled;
487 end if;
488 --
489 hr_utility.set_location(' Leaving:'||l_proc, 70);
490 --
491 exception
492 --
493 when hr_api.validate_enabled then
494 --
495 -- As the Validate_Enabled exception has been raised
496 -- we must rollback to the savepoint
497 --
498 ROLLBACK TO delete_RULE_SET;
499 --
500 -- Only set output warning arguments
501 -- (Any key or derived arguments must be set to null
502 -- when validation only mode is being used.)
503 --
504 --
505 when others then
506 --
507 -- A validation or unexpected error has occured
508 --
509 ROLLBACK TO delete_RULE_SET;
510 raise;
511 --
512 end delete_RULE_SET;
513 --
514 -- ----------------------------------------------------------------------------
515 -- |-------------------------------< lck >------------------------------------|
516 -- ----------------------------------------------------------------------------
517 --
518 procedure lck
519 (
520 p_rule_set_id in number
521 ,p_object_version_number in number
522 ) is
523 --
524 --
525 -- Declare cursors and local variables
526 --
527 l_proc varchar2(72) := g_package||'lck';
528 --
529 begin
530 --
531 hr_utility.set_location('Entering:'|| l_proc, 10);
532 --
533 pqh_rst_shd.lck
534 (
535 p_rule_set_id => p_rule_set_id
536 ,p_object_version_number => p_object_version_number
537 );
538 --
539 hr_utility.set_location(' Leaving:'||l_proc, 70);
540 --
541 end lck;
542 --
543 end pqh_RULE_SETS_api;