DBA Data[Home] [Help]

PACKAGE BODY: APPS.PQH_RULE_SETS_SWI

Source


1 Package Body pqh_rule_sets_swi As
2 /* $Header: pqrstswi.pkb 120.0 2005/05/29 02:39:21 appldev noship $ */
3 --
4 -- Package variables
5 --
6 g_package  varchar2(33) := 'pqh_rule_sets_swi.';
7 --
8 -- ----------------------------------------------------------------------------
9 -- |----------------------------< create_rule_set >---------------------------|
10 -- ----------------------------------------------------------------------------
11 PROCEDURE create_rule_set
12   (p_validate                     in     number    default hr_api.g_false_num
13   ,p_business_group_id            in     number    default null
14   ,p_rule_set_id                     out nocopy number
15   ,p_rule_set_name                in     varchar2
16   ,p_description		  in     varchar2
17   ,p_organization_structure_id    in     number    default null
18   ,p_organization_id              in     number    default null
19   ,p_referenced_rule_set_id       in     number    default null
20   ,p_rule_level_cd                in     varchar2  default null
21   ,p_object_version_number           out nocopy number
22   ,p_short_name                   in     varchar2
23   ,p_effective_date               in     date
24   ,p_language_code                in     varchar2  default hr_api.userenv_lang
25   ,p_rule_applicability           in     varchar2
26   ,p_rule_category                in     varchar2
27   ,p_starting_organization_id     in     number    default null
28   ,p_seeded_rule_flag             in     varchar2  default 'N'
29   ,p_status                       in     varchar2  default null
30   ,p_return_status                   out nocopy varchar2
31   ) is
32   --
33   -- Variables for API Boolean parameters
34   l_validate                      boolean;
35   --
36   -- Variables for IN/OUT parameters
37   --
38   -- Other variables
39   l_proc    varchar2(72) := g_package ||'create_rule_set';
40 Begin
41   hr_utility.set_location(' Entering:' || l_proc,10);
42   --
43   -- Issue a savepoint
44   --
45   savepoint create_rule_set_swi;
46   --
47   -- Initialise Multiple Message Detection
48   --
49   hr_multi_message.enable_message_list;
50   --
51   -- Remember IN OUT parameter IN values
52   --
53   --
54   -- Convert constant values to their corresponding boolean value
55   --
56   l_validate :=
57     hr_api.constant_to_boolean
58       (p_constant_value => p_validate);
59   --
60   -- Register Surrogate ID or user key values
61   --
62   --
63   -- Call API
64   --
65   pqh_rule_sets_api.create_rule_set
66     (p_validate                     => l_validate
67     ,p_business_group_id            => p_business_group_id
68     ,p_rule_set_id                  => p_rule_set_id
69     ,p_rule_set_name                => p_rule_set_name
70     ,p_description		    => p_description
71     ,p_organization_structure_id    => p_organization_structure_id
72     ,p_organization_id              => p_organization_id
73     ,p_referenced_rule_set_id       => p_referenced_rule_set_id
74     ,p_rule_level_cd                => p_rule_level_cd
75     ,p_object_version_number        => p_object_version_number
76     ,p_short_name                   => p_short_name
77     ,p_effective_date               => p_effective_date
78     ,p_language_code                => p_language_code
79     ,p_rule_applicability           => p_rule_applicability
80     ,p_rule_category                => p_rule_category
81     ,p_starting_organization_id     => p_starting_organization_id
82     ,p_seeded_rule_flag             => p_seeded_rule_flag
83     ,p_status                       => p_status
84     );
85   --
86   -- Convert API warning boolean parameter values to specific
87   -- messages and add them to Multiple Message List
88   --
89   --
90   -- Convert API non-warning boolean parameter values
91   --
92   --
93   -- Derive the API return status value based on whether
94   -- messages of any type exist in the Multiple Message List.
95   -- Also disable Multiple Message Detection.
96   --
97   p_return_status := hr_multi_message.get_return_status_disable;
98   hr_utility.set_location(' Leaving:' || l_proc,20);
99   --
100 exception
101   when hr_multi_message.error_message_exist then
102     --
103     -- Catch the Multiple Message List exception which
104     -- indicates API processing has been aborted because
105     -- at least one message exists in the list.
106     --
107     rollback to create_rule_set_swi;
108     --
109     -- Reset IN OUT parameters and set OUT parameters
110     --
111     p_rule_set_id                  := null;
112     p_object_version_number        := null;
113     p_return_status := hr_multi_message.get_return_status_disable;
114     hr_utility.set_location(' Leaving:' || l_proc, 30);
115   when others then
116     --
117     -- When Multiple Message Detection is enabled catch
118     -- any Application specific or other unexpected
119     -- exceptions.  Adding appropriate details to the
120     -- Multiple Message List.  Otherwise re-raise the
121     -- error.
122     --
123     rollback to create_rule_set_swi;
124     if hr_multi_message.unexpected_error_add(l_proc) then
125        hr_utility.set_location(' Leaving:' || l_proc,40);
126        raise;
127     end if;
128     --
129     -- Reset IN OUT and set OUT parameters
130     --
131     p_rule_set_id                  := null;
132     p_object_version_number        := null;
133     p_return_status := hr_multi_message.get_return_status_disable;
134     hr_utility.set_location(' Leaving:' || l_proc,50);
135 end create_rule_set;
136 -- ----------------------------------------------------------------------------
137 -- |----------------------------< delete_rule_set >---------------------------|
138 -- ----------------------------------------------------------------------------
139 PROCEDURE delete_rule_set
140   (p_validate                     in     number    default hr_api.g_false_num
141   ,p_rule_set_id                  in     number
142   ,p_object_version_number        in     number
143   ,p_effective_date               in     date
144   ,p_return_status                   out nocopy varchar2
145   ) is
146   --
147   -- Variables for API Boolean parameters
148   l_validate                      boolean;
149   --
150   -- Variables for IN/OUT parameters
151   --
152   -- Other variables
153   l_proc    varchar2(72) := g_package ||'delete_rule_set';
154 Begin
155   hr_utility.set_location(' Entering:' || l_proc,10);
156   --
157   -- Issue a savepoint
158   --
159   savepoint delete_rule_set_swi;
160   --
161   -- Initialise Multiple Message Detection
162   --
163   hr_multi_message.enable_message_list;
164   --
165   -- Remember IN OUT parameter IN values
166   --
167   --
168   -- Convert constant values to their corresponding boolean value
169   --
170   l_validate :=
171     hr_api.constant_to_boolean
172       (p_constant_value => p_validate);
173   --
174   -- Register Surrogate ID or user key values
175   --
176   --
177   -- Call API
178   --
179   pqh_rule_sets_api.delete_rule_set
180     (p_validate                     => l_validate
181     ,p_rule_set_id                  => p_rule_set_id
182     ,p_object_version_number        => p_object_version_number
183     ,p_effective_date               => p_effective_date
184     );
185   --
186   -- Convert API warning boolean parameter values to specific
187   -- messages and add them to Multiple Message List
188   --
189   --
190   -- Convert API non-warning boolean parameter values
191   --
192   --
193   -- Derive the API return status value based on whether
194   -- messages of any type exist in the Multiple Message List.
195   -- Also disable Multiple Message Detection.
196   --
197   p_return_status := hr_multi_message.get_return_status_disable;
198   hr_utility.set_location(' Leaving:' || l_proc,20);
199   --
200 exception
201   when hr_multi_message.error_message_exist then
202     --
203     -- Catch the Multiple Message List exception which
204     -- indicates API processing has been aborted because
205     -- at least one message exists in the list.
206     --
207     rollback to delete_rule_set_swi;
208     --
209     -- Reset IN OUT parameters and set OUT parameters
210     --
211     p_return_status := hr_multi_message.get_return_status_disable;
212     hr_utility.set_location(' Leaving:' || l_proc, 30);
213   when others then
214     --
215     -- When Multiple Message Detection is enabled catch
216     -- any Application specific or other unexpected
217     -- exceptions.  Adding appropriate details to the
218     -- Multiple Message List.  Otherwise re-raise the
219     -- error.
220     --
221     rollback to delete_rule_set_swi;
222     if hr_multi_message.unexpected_error_add(l_proc) then
223        hr_utility.set_location(' Leaving:' || l_proc,40);
224        raise;
225     end if;
226     --
227     -- Reset IN OUT and set OUT parameters
228     --
229     p_return_status := hr_multi_message.get_return_status_disable;
230     hr_utility.set_location(' Leaving:' || l_proc,50);
231 end delete_rule_set;
232 -- ----------------------------------------------------------------------------
233 -- |----------------------------< update_rule_set >---------------------------|
234 -- ----------------------------------------------------------------------------
235 PROCEDURE update_rule_set
236   (p_validate                     in     number    default hr_api.g_false_num
237   ,p_business_group_id            in     number    default hr_api.g_number
238   ,p_rule_set_id                  in     number
239   ,p_rule_set_name                in     varchar2  default hr_api.g_varchar2
240   ,p_description                  in     varchar2  default hr_api.g_varchar2
241   ,p_organization_structure_id    in     number    default hr_api.g_number
242   ,p_organization_id              in     number    default hr_api.g_number
243   ,p_referenced_rule_set_id       in     number    default hr_api.g_number
244   ,p_rule_level_cd                in     varchar2  default hr_api.g_varchar2
245   ,p_object_version_number        in out nocopy number
246   ,p_short_name                   in     varchar2  default hr_api.g_varchar2
247   ,p_effective_date               in     date
248   ,p_language_code                in     varchar2  default hr_api.userenv_lang
249   ,p_rule_applicability           in     varchar2  default hr_api.g_varchar2
250   ,p_rule_category                in     varchar2  default hr_api.g_varchar2
251   ,p_starting_organization_id     in     number    default hr_api.g_number
252   ,p_seeded_rule_flag             in     varchar2  default hr_api.g_varchar2
253   ,p_status                       in     varchar2  default hr_api.g_varchar2
254   ,p_return_status                   out nocopy varchar2
255   ) is
256   --
257   -- Variables for API Boolean parameters
258   l_validate                      boolean;
259   --
260   -- Variables for IN/OUT parameters
261   l_object_version_number         number;
262   --
263   -- Other variables
264   l_proc    varchar2(72) := g_package ||'update_rule_set';
265 Begin
266   hr_utility.set_location(' Entering:' || l_proc,10);
267   --
268   -- Issue a savepoint
269   --
270   savepoint update_rule_set_swi;
271   --
272   -- Initialise Multiple Message Detection
273   --
274   hr_multi_message.enable_message_list;
275   --
276   -- Remember IN OUT parameter IN values
277   --
278   l_object_version_number         := p_object_version_number;
279   --
280   -- Convert constant values to their corresponding boolean value
281   --
282   l_validate :=
283     hr_api.constant_to_boolean
284       (p_constant_value => p_validate);
285   --
286   -- Register Surrogate ID or user key values
287   --
288   --
289   -- Call API
290   --
291   pqh_rule_sets_api.update_rule_set
292     (p_validate                     => l_validate
293     ,p_business_group_id            => p_business_group_id
294     ,p_rule_set_id                  => p_rule_set_id
295     ,p_rule_set_name                => p_rule_set_name
296     ,p_description		    => p_description
297     ,p_organization_structure_id    => p_organization_structure_id
298     ,p_organization_id              => p_organization_id
299     ,p_referenced_rule_set_id       => p_referenced_rule_set_id
300     ,p_rule_level_cd                => p_rule_level_cd
301     ,p_object_version_number        => p_object_version_number
302     ,p_short_name                   => p_short_name
303     ,p_effective_date               => p_effective_date
304     ,p_language_code                => p_language_code
305     ,p_rule_applicability           => p_rule_applicability
306     ,p_rule_category                => p_rule_category
307     ,p_starting_organization_id     => p_starting_organization_id
308     ,p_seeded_rule_flag             => p_seeded_rule_flag
309     ,p_status                       => p_status
310     );
311   --
312   -- Convert API warning boolean parameter values to specific
313   -- messages and add them to Multiple Message List
314   --
315   --
316   -- Convert API non-warning boolean parameter values
317   --
318   --
319   -- Derive the API return status value based on whether
320   -- messages of any type exist in the Multiple Message List.
321   -- Also disable Multiple Message Detection.
322   --
323   p_return_status := hr_multi_message.get_return_status_disable;
324   hr_utility.set_location(' Leaving:' || l_proc,20);
325   --
326 exception
327   when hr_multi_message.error_message_exist then
328     --
329     -- Catch the Multiple Message List exception which
330     -- indicates API processing has been aborted because
331     -- at least one message exists in the list.
332     --
333     rollback to update_rule_set_swi;
334     --
335     -- Reset IN OUT parameters and set OUT parameters
336     --
337     p_object_version_number        := l_object_version_number;
338     p_return_status := hr_multi_message.get_return_status_disable;
339     hr_utility.set_location(' Leaving:' || l_proc, 30);
340   when others then
341     --
342     -- When Multiple Message Detection is enabled catch
343     -- any Application specific or other unexpected
344     -- exceptions.  Adding appropriate details to the
345     -- Multiple Message List.  Otherwise re-raise the
346     -- error.
347     --
348     rollback to update_rule_set_swi;
349     if hr_multi_message.unexpected_error_add(l_proc) then
350        hr_utility.set_location(' Leaving:' || l_proc,40);
351        raise;
352     end if;
353     --
354     -- Reset IN OUT and set OUT parameters
355     --
356     p_object_version_number        := l_object_version_number;
357     p_return_status := hr_multi_message.get_return_status_disable;
358     hr_utility.set_location(' Leaving:' || l_proc,50);
359 end update_rule_set;
360 end pqh_rule_sets_swi;