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