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