[Home] [Help]
PACKAGE BODY: APPS.PAY_ITERATIVE_RULES_API
Source
1 Package body pay_iterative_rules_api as
2 /* $Header: pyitrapi.pkb 120.0 2005/05/29 06:02:58 appldev noship $ */
3 --
4 --
5 -- Package Variables
6 --
7 g_package varchar2(33) := ' pay_iterative_rules_api.';
8 --
9 -- ----------------------------------------------------------------------------
10 -- |------------------------< create_iterative_rule >------------------------|
11 -- ----------------------------------------------------------------------------
12 -- {Start Of Comments}
13 --
14 -- Description:
15 --
16 -- Prerequisites:
17 --
18 --
19 -- In Parameters:
20 -- Name Reqd Type Description
21 --
22 -- Post Success:
23 --
24 -- Out Parameters:
25 -- Name Type Description
26 --
27 -- Post Failure:
28 --
29 -- Access Status:
30 -- Public.
31 --
32 -- {End Of Comments}
33 --
34 procedure create_iterative_rule
35 ( p_validate in boolean default false
36 ,p_effective_date in date
37 ,p_element_type_id in number
38 ,p_result_name in varchar2
39 ,p_iterative_rule_type in varchar2
40 ,p_input_value_id in number default null
41 ,p_severity_level in varchar2 default null
42 ,p_business_group_id in number default null
43 ,p_legislation_code in varchar2 default null
44 ,p_iterative_rule_id out nocopy number
45 ,p_object_version_number out nocopy number
46 ,p_effective_start_date out nocopy date
47 ,p_effective_end_date out nocopy date
48 ) is
49 --
50 l_proc varchar2(72) := g_package||'create_iterative_rule';
51 l_effective_date date;
52 l_iterative_rule_id pay_iterative_rules_f.iterative_rule_id%TYPE;
53 l_object_version_number pay_iterative_rules_f.object_version_number%TYPE;
54 l_effective_start_date pay_iterative_rules_f.effective_start_date%TYPE;
55 l_effective_end_date pay_iterative_rules_f.effective_end_date%TYPE;
56 --
57 begin
58 --
59 hr_utility.set_location('Entering:'|| l_proc, 10);
60 --
61 savepoint CREATE_ITERATIVE_RULE;
62 --
63 -- Truncate the time portion from all IN date parameters
64 --
65 l_effective_date := trunc(p_effective_date);
66 --
67 -- Call Before Process User Hook
68 --
69 begin
70 pay_iterative_rules_bk1.create_iterative_rule_b
71 (p_effective_date => l_effective_date
72 ,p_element_type_id => p_element_type_id
73 ,p_result_name => p_result_name
74 ,p_iterative_rule_type => p_iterative_rule_type
75 ,p_input_value_id => p_input_value_id
76 ,p_severity_level => p_severity_level
77 ,p_business_group_id => p_business_group_id
78 ,p_legislation_code => p_legislation_code
79 );
80 exception
81 when hr_api.cannot_find_prog_unit then
82 hr_api.cannot_find_prog_unit_error
83 (p_module_name => 'CREATE_ITERATIVE_RULE'
84 ,p_hook_type => 'BP'
85 );
86 end;
87 --
88 hr_utility.set_location(l_proc, 20);
89 --
90 -- Process Logic
91 --
92 pay_itr_ins.ins
93 (
94 p_effective_date => l_effective_date
95 ,p_element_type_id => p_element_type_id
96 ,p_result_name => p_result_name
97 ,p_iterative_rule_type => p_iterative_rule_type
98 ,p_input_value_id => p_input_value_id
99 ,p_severity_level => p_severity_level
100 ,p_business_group_id => p_business_group_id
101 ,p_legislation_code => p_legislation_code
102 ,p_iterative_rule_id => l_iterative_rule_id
103 ,p_object_version_number => l_object_version_number
104 ,p_effective_start_date => l_effective_start_date
105 ,p_effective_end_date => l_effective_end_date
106 );
107 --
108 --
109 -- Call After Process User Hook
110 --
111 begin
112 pay_iterative_rules_bk1.create_iterative_rule_a
113 (p_effective_date => l_effective_date
114 ,p_element_type_id => p_element_type_id
115 ,p_result_name => p_result_name
116 ,p_iterative_rule_type => p_iterative_rule_type
117 ,p_input_value_id => p_input_value_id
118 ,p_severity_level => p_severity_level
119 ,p_business_group_id => p_business_group_id
120 ,p_legislation_code => p_legislation_code
121 ,p_iterative_rule_id => l_iterative_rule_id
122 ,p_object_version_number => l_object_version_number
123 ,p_effective_start_date => l_effective_start_date
124 ,p_effective_end_date => l_effective_end_date
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_ITERATIVE_RULE'
130 ,p_hook_type => 'AP'
131 );
132 end;
133 --
134 -- Bug no. 4038593
135 -- When in validation only mode raise the Validate_Enabled exception
136 --
137 if p_validate then
138 raise hr_api.validate_enabled;
139 end if;
140 --
141 p_iterative_rule_id := l_iterative_rule_id;
142 p_object_version_number := l_object_version_number;
143 p_effective_start_date := l_effective_start_date;
144 p_effective_end_date := l_effective_end_date;
145
146 exception
147 --
148 when hr_api.validate_enabled then
149 --
150 -- As the Validate_Enabled exception has been raised
151 -- we must rollback to the savepoint
152 --
153 rollback to CREATE_ITERATIVE_RULE;
154 --
155 -- Only set output warning arguments
156 -- (Any key or derived arguments must be set to null
157 -- when validation only mode is being used.)
158 --
159 p_iterative_rule_id := null;
160 p_object_version_number := null;
161 p_effective_start_date := null;
162 p_effective_end_date := null;
163 --
164 hr_utility.set_location(' Leaving:'||l_proc, 80);
165 when others then
166 --
167 -- A validation or unexpected error has occured
168 --
169 rollback to CREATE_ITERATIVE_RULE;
170 --
171 -- Reset IN OUT parameters and set all
172 -- OUT parameters, including warnings, to null
173 --
174 p_iterative_rule_id := null;
175 p_object_version_number := null;
176 p_effective_start_date := null;
177 p_effective_end_date := null;
178
179 hr_utility.set_location(' Leaving:'||l_proc, 90);
180 raise;
181 --
182 end create_iterative_rule;
183 --
184 -- ----------------------------------------------------------------------------
185 -- |------------------------< update_iterative_rule >------------------------|
186 -- ----------------------------------------------------------------------------
187 -- {Start Of Comments}
188 --
189 -- Description:
190 --
191 -- Prerequisites:
192 --
193 --
194 -- In Parameters:
195 -- Name Reqd Type Description
196 --
197 -- Post Success:
198 --
199 -- Out Parameters:
200 -- Name Type Description
201 --
202 -- Post Failure:
203 --
204 -- Access Status:
205 -- Public.
206 --
207 -- {End Of Comments}
208 --
209 procedure update_iterative_rule
210 ( p_validate in boolean default false
211 ,p_effective_date in date
212 ,p_datetrack_mode in varchar2
213 ,p_iterative_rule_id in number
214 ,p_object_version_number in out nocopy number
215 ,p_element_type_id in number default hr_api.g_number
216 ,p_result_name in varchar2 default hr_api.g_varchar2
217 ,p_iterative_rule_type in varchar2 default hr_api.g_varchar2
218 ,p_input_value_id in number default hr_api.g_number
219 ,p_severity_level in varchar2 default hr_api.g_varchar2
220 ,p_business_group_id in number default hr_api.g_number
221 ,p_legislation_code in varchar2 default hr_api.g_varchar2
222 ,p_effective_start_date out nocopy date
223 ,p_effective_end_date out nocopy date
224 ) is
225 --
226 -- Declare cursors and local variables
227 --
228 l_proc varchar2(72) := g_package||'update_iterative_rule';
229 l_effective_date date;
230 l_object_version_number pay_iterative_rules_f.object_version_number%TYPE;
231 l_effective_start_date pay_iterative_rules_f.effective_start_date%TYPE;
232 l_effective_end_date pay_iterative_rules_f.effective_end_date%TYPE;
233 --
234 begin
235 --
236 hr_utility.set_location('Entering:'|| l_proc, 10);
237 --
238 -- Issue a savepoint
239 --
240 savepoint UPDATE_ITERATIVE_RULE;
241 --
242 -- Truncate the time portion from all IN date parameters
243 --
244 l_effective_date := trunc(p_effective_date);
245 --
246 l_object_version_number := p_object_version_number;
247 --
248 --
249 -- Call Before Process User Hook
250 --
251 begin
252 pay_iterative_rules_bk2.update_iterative_rule_b
253 (p_effective_date => l_effective_date
254 ,p_datetrack_mode => p_datetrack_mode
255 ,p_iterative_rule_id => p_iterative_rule_id
256 ,p_object_version_number => l_object_version_number
257 ,p_element_type_id => p_element_type_id
258 ,p_result_name => p_result_name
259 ,p_iterative_rule_type => p_iterative_rule_type
260 ,p_input_value_id => p_input_value_id
261 ,p_severity_level => p_severity_level
262 ,p_business_group_id => p_business_group_id
263 ,p_legislation_code => p_legislation_code
264 );
265 exception
266 when hr_api.cannot_find_prog_unit then
267 hr_api.cannot_find_prog_unit_error
268 (p_module_name => 'UPDATE_ITERATIVE_RULE'
269 ,p_hook_type => 'BP'
270 );
271 end;
272
273 pay_itr_upd.upd
274 (
275 p_effective_date => l_effective_date
276 ,p_datetrack_mode => p_datetrack_mode
277 ,p_iterative_rule_id => p_iterative_rule_id
278 ,p_object_version_number => l_object_version_number
279 ,p_element_type_id => p_element_type_id
280 ,p_result_name => p_result_name
281 ,p_iterative_rule_type => p_iterative_rule_type
282 ,p_input_value_id => p_input_value_id
283 ,p_severity_level => p_severity_level
284 ,p_business_group_id => p_business_group_id
285 ,p_legislation_code => p_legislation_code
286 ,p_effective_start_date => l_effective_start_date
287 ,p_effective_end_date => l_effective_end_date
288 );
289 --
290 -- Call After Process User Hook
291 --
292 begin
293 pay_iterative_rules_bk2.update_iterative_rule_a
294 (p_effective_date => l_effective_date
295 ,p_datetrack_mode => p_datetrack_mode
296 ,p_iterative_rule_id => p_iterative_rule_id
297 ,p_object_version_number => l_object_version_number
298 ,p_element_type_id => p_element_type_id
299 ,p_result_name => p_result_name
300 ,p_iterative_rule_type => p_iterative_rule_type
301 ,p_input_value_id => p_input_value_id
302 ,p_severity_level => p_severity_level
303 ,p_business_group_id => p_business_group_id
304 ,p_legislation_code => p_legislation_code
305 ,p_effective_start_date => l_effective_start_date
306 ,p_effective_end_date => l_effective_end_date
307 );
308 exception
309 when hr_api.cannot_find_prog_unit then
310 hr_api.cannot_find_prog_unit_error
311 (p_module_name => 'UPDATE_ITERATIVE_RULE'
312 ,p_hook_type => 'AP'
313 );
314 end;
315 --
316 hr_utility.set_location('Entering:'|| l_proc, 20);
317 --
318 -- Bug no. 4038593
319 -- When in validation only mode raise the Validate_Enabled exception
320 --
321 if p_validate then
322 raise hr_api.validate_enabled;
323 end if;
324 --
325 p_object_version_number := l_object_version_number;
326 p_effective_start_date := l_effective_start_date;
327 p_effective_end_date := l_effective_end_date;
328
329 exception
330 --
331 when hr_api.validate_enabled then
332 --
333 -- As the Validate_Enabled exception has been raised
334 -- we must rollback to the savepoint
335 --
336 rollback to UPDATE_ITERATIVE_RULE;
337 --
338 -- Only set output warning arguments
339 -- (Any key or derived arguments must be set to null
340 -- when validation only mode is being used.)
341 --
342 p_object_version_number := l_object_version_number;
343 p_effective_start_date := null;
344 p_effective_end_date := null;
345 --
346 hr_utility.set_location(' Leaving:'||l_proc, 40);
347 when others then
348 --
349 -- A validation or unexpected error has occured
350 --
351 rollback to UPDATE_ITERATIVE_RULE;
352 --
353 -- Reset IN OUT parameters and set all
354 -- OUT parameters, including warnings, to null
355 --
356 p_object_version_number := l_object_version_number;
357 p_effective_start_date := null;
358 p_effective_end_date := null;
359
360 hr_utility.set_location(' Leaving:'||l_proc, 50);
361 raise;
362 --
363 end update_iterative_rule;
364 --
365 --
366 -- ----------------------------------------------------------------------------
367 -- |------------------------< delete_iterative_rule >------------------------|
368 -- ----------------------------------------------------------------------------
369 -- {Start Of Comments}
370 --
371 -- Description:
372 --
373 -- Prerequisites:
374 --
375 --
376 -- In Parameters:
377 -- Name Reqd Type Description
378 --
379 -- Post Success:
380 --
381 -- Out Parameters:
382 -- Name Type Description
383 --
384 -- Post Failure:
385 --
386 -- Access Status:
387 -- Public.
388 --
389 -- {End Of Comments}
390 --
391 procedure delete_iterative_rule
392 ( p_validate in boolean default false
393 ,p_effective_date in date
394 ,p_datetrack_mode in varchar2
395 ,p_iterative_rule_id in number
396 ,p_object_version_number in out nocopy number
397 ,p_effective_start_date out nocopy date
398 ,p_effective_end_date out nocopy date
399 ) is
400 --
401 -- Declare cursors and local variables
402 --
403 l_proc varchar2(72) := g_package||'delete_iterative_rule';
404 l_effective_date date;
405 l_object_version_number pay_iterative_rules_f.object_version_number%TYPE;
406 l_effective_start_date pay_iterative_rules_f.effective_start_date%TYPE;
407 l_effective_end_date pay_iterative_rules_f.effective_end_date%TYPE;
408 --
409 begin
410 --
411 hr_utility.set_location('Entering:'|| l_proc, 10);
412 --
413 -- Issue a savepoint
414 --
415 savepoint DELETE_ITERATIVE_RULE;
416 --
417 -- Truncate the time portion from all IN date parameters
418 --
419 l_effective_date := trunc(p_effective_date);
420 --
421 l_object_version_number:= p_object_version_number;
422 --
423 --
424 -- Call Before Process User Hook
425 --
426 begin
427 pay_iterative_rules_bk3.delete_iterative_rule_b
428 (p_effective_date => l_effective_date
429 ,p_datetrack_mode => p_datetrack_mode
430 ,p_iterative_rule_id => p_iterative_rule_id
431 ,p_object_version_number => l_object_version_number
432 );
433 exception
434 when hr_api.cannot_find_prog_unit then
435 hr_api.cannot_find_prog_unit_error
436 (p_module_name => 'DELETE_ITERATIVE_RULE'
437 ,p_hook_type => 'BP'
438 );
439 end;
440 --
441
442 pay_itr_del.del
443 (
444 p_effective_date => l_effective_date
445 ,p_datetrack_mode => p_datetrack_mode
446 ,p_iterative_rule_id => p_iterative_rule_id
447 ,p_object_version_number => l_object_version_number
448 ,p_effective_start_date => l_effective_start_date
449 ,p_effective_end_date => l_effective_end_date
450 );
451 --
452 -- Call After Process User Hook
453 --
454 begin
455 pay_iterative_rules_bk3.delete_iterative_rule_a
456 (p_effective_date => l_effective_date
457 ,p_datetrack_mode => p_datetrack_mode
458 ,p_iterative_rule_id => p_iterative_rule_id
459 ,p_object_version_number => l_object_version_number
460 ,p_effective_start_date => l_effective_start_date
461 ,p_effective_end_date => l_effective_end_date
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_ITERATIVE_RULE'
467 ,p_hook_type => 'AP'
468 );
469 end;
470 --
471 hr_utility.set_location(' Leaving:'||l_proc, 70);
472 --
473 --
474 -- Bug no. 4038593
475 -- When in validation only mode raise the Validate_Enabled exception
476 --
477 if p_validate then
478 raise hr_api.validate_enabled;
479 end if;
480 --
481 p_object_version_number := l_object_version_number;
482 p_effective_start_date := l_effective_start_date;
483 p_effective_end_date := l_effective_end_date;
484 --
485 exception
486 --
487 when hr_api.validate_enabled then
488 --
492 rollback to DELETE_ITERATIVE_RULE;
489 -- As the Validate_Enabled exception has been raised
490 -- we must rollback to the savepoint
491 --
493 --
494 -- Only set output warning arguments
495 -- (Any key or derived arguments must be set to null
496 -- when validation only mode is being used.)
497 --
498 p_object_version_number := l_object_version_number;
499 p_effective_start_date := null;
500 p_effective_end_date := null;
501 --
502 hr_utility.set_location(' Leaving:'||l_proc, 40);
503 when others then
504 --
505 -- A validation or unexpected error has occured
506 --
507 rollback to DELETE_ITERATIVE_RULE;
508 --
509 -- Reset IN OUT parameters and set all
510 -- OUT parameters, including warnings, to null
511 --
512 p_object_version_number := l_object_version_number;
513 p_effective_start_date := null;
514 p_effective_end_date := null;
515
516 hr_utility.set_location(' Leaving:'||l_proc, 50);
517 raise;
518 --
519 end delete_iterative_rule ;
520 --
521 --
522 -- ----------------------------------------------------------------------------
523 -- |------------------------< lck_iterative_rule >------------------------|
524 -- ----------------------------------------------------------------------------
525 -- {Start Of Comments}
526 --
527 -- Description:
528 --
529 -- Prerequisites:
530 --
531 --
532 -- In Parameters:
533 -- Name Reqd Type Description
534 --
535 -- Post Success:
536 --
537 -- Out Parameters:
538 -- Name Type Description
539 --
540 -- Post Failure:
541 --
542 -- Access Status:
543 -- Public.
544 --
545 -- {End Of Comments}
546 --
547 /*procedure lck_iterative_rule
548 (
549 p_effective_date in date
550 ,p_datetrack_mode in varchar2
551 ,p_iterative_rule_id in number
552 ,p_object_version_number in number
553 ,p_validation_start_date out nocopy date
554 ,p_validation_end_date out nocopy date
555 ) is
556 --
557 --
558 -- Declare cursors and local variables
559 l_proc varchar2(72) := g_package||'lck_iterative_rule.';
560 l_validation_start_date date;
561 l_validation_end_date date;
562 --
563 begin
564 --
565 hr_utility.set_location('Entering:'|| l_proc, 10);
566 --
567 pay_itr_shd.lck
568 (
569 p_effective_date => p_effective_date
570 ,p_datetrack_mode => p_datetrack_mode
571 ,p_iterative_rule_id => p_iterative_rule_id
572 ,p_object_version_number => p_object_version_number
573 ,p_validation_start_date => l_validation_start_date
574 ,p_validation_end_date => l_validation_end_date
575 );
576 --
577 hr_utility.set_location(' Leaving:'||l_proc, 70);
578 --
579 end lck_iterative_rule;
580 */
581 --
582 --
583 end pay_iterative_rules_api;