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