DBA Data[Home] [Help]

PACKAGE BODY: APPS.PQH_RULE_ATTRIBUTES_SWI

Source


1 Package Body pqh_rule_attributes_swi As
2 /* $Header: pqrlaswi.pkb 115.0 2003/01/26 01:41:22 rpasapul noship $ */
3 --
4 -- Package variables
5 --
6 g_package  varchar2(33) := 'pqh_rule_attributes_swi.';
7 --
8 -- ----------------------------------------------------------------------------
9 -- |-------------------------< delete_rule_attribute >------------------------|
10 -- ----------------------------------------------------------------------------
11 PROCEDURE delete_rule_attribute
12   (p_rule_attribute_id            in     number
13   ,p_object_version_number        in     number
14   ,p_return_status                   out nocopy varchar2
15   ) is
16   --
17   -- Variables for API Boolean parameters
18   --
19   -- Variables for IN/OUT parameters
20   --
21   -- Other variables
22   l_proc    varchar2(72) := g_package ||'delete_rule_attribute';
23 Begin
24   hr_utility.set_location(' Entering:' || l_proc,10);
25   --
26   -- Issue a savepoint
27   --
28   savepoint delete_rule_attribute_swi;
29   --
30   -- Initialise Multiple Message Detection
31   --
32   hr_multi_message.enable_message_list;
33   --
34   -- Remember IN OUT parameter IN values
35   --
36   --
37   -- Convert constant values to their corresponding boolean value
38   --
39   --
40   -- Register Surrogate ID or user key values
41   --
42   --
43   -- Call API
44   --
45   pqh_rule_attributes_api.delete_rule_attribute
46     (p_rule_attribute_id            => p_rule_attribute_id
47     ,p_object_version_number        => p_object_version_number
48     );
49   --
50   -- Convert API warning boolean parameter values to specific
51   -- messages and add them to Multiple Message List
52   --
53   --
54   -- Convert API non-warning boolean parameter values
55   --
56   --
57   -- Derive the API return status value based on whether
58   -- messages of any type exist in the Multiple Message List.
59   -- Also disable Multiple Message Detection.
60   --
61   p_return_status := hr_multi_message.get_return_status_disable;
62   hr_utility.set_location(' Leaving:' || l_proc,20);
63   --
64 exception
65   when hr_multi_message.error_message_exist then
66     --
67     -- Catch the Multiple Message List exception which
68     -- indicates API processing has been aborted because
69     -- at least one message exists in the list.
70     --
71     rollback to delete_rule_attribute_swi;
72     --
73     -- Reset IN OUT parameters and set OUT parameters
74     --
75     p_return_status := hr_multi_message.get_return_status_disable;
76     hr_utility.set_location(' Leaving:' || l_proc, 30);
77   when others then
78     --
79     -- When Multiple Message Detection is enabled catch
80     -- any Application specific or other unexpected
81     -- exceptions.  Adding appropriate details to the
82     -- Multiple Message List.  Otherwise re-raise the
83     -- error.
84     --
85     rollback to delete_rule_attribute_swi;
86     if hr_multi_message.unexpected_error_add(l_proc) then
87        hr_utility.set_location(' Leaving:' || l_proc,40);
88        raise;
89     end if;
90     --
91     -- Reset IN OUT and set OUT parameters
92     --
93     p_return_status := hr_multi_message.get_return_status_disable;
94     hr_utility.set_location(' Leaving:' || l_proc,50);
95 end delete_rule_attribute;
96 -- ----------------------------------------------------------------------------
97 -- |-------------------------< insert_rule_attribute >------------------------|
98 -- ----------------------------------------------------------------------------
99 PROCEDURE insert_rule_attribute
100   (p_rule_set_id                  in     number
101   ,p_attribute_code               in     varchar2
102   ,p_operation_code               in     varchar2
103   ,p_attribute_value              in     varchar2
104   ,p_rule_attribute_id               out nocopy number
105   ,p_object_version_number           out nocopy number
106   ,p_return_status                   out nocopy varchar2
107   ) is
108   --
109   -- Variables for API Boolean parameters
110   --
111   -- Variables for IN/OUT parameters
112   --
113   -- Other variables
114   l_proc    varchar2(72) := g_package ||'insert_rule_attribute';
115 Begin
116   hr_utility.set_location(' Entering:' || l_proc,10);
117   --
118   -- Issue a savepoint
119   --
120   savepoint insert_rule_attribute_swi;
121   --
122   -- Initialise Multiple Message Detection
123   --
124   hr_multi_message.enable_message_list;
125   --
126   -- Remember IN OUT parameter IN values
127   --
128   --
129   -- Convert constant values to their corresponding boolean value
130   --
131   --
132   -- Register Surrogate ID or user key values
133   --
134   pqh_rla_ins.set_base_key_value
135     (p_rule_attribute_id => p_rule_attribute_id
136     );
137   --
138   -- Call API
139   --
140   pqh_rule_attributes_api.insert_rule_attribute
141     (p_rule_set_id                  => p_rule_set_id
142     ,p_attribute_code               => p_attribute_code
143     ,p_operation_code               => p_operation_code
144     ,p_attribute_value              => p_attribute_value
145     ,p_rule_attribute_id            => p_rule_attribute_id
146     ,p_object_version_number        => p_object_version_number
147     );
148   --
149   -- Convert API warning boolean parameter values to specific
150   -- messages and add them to Multiple Message List
151   --
152   --
153   -- Convert API non-warning boolean parameter values
154   --
155   --
156   -- Derive the API return status value based on whether
157   -- messages of any type exist in the Multiple Message List.
158   -- Also disable Multiple Message Detection.
159   --
160   p_return_status := hr_multi_message.get_return_status_disable;
161   hr_utility.set_location(' Leaving:' || l_proc,20);
162   --
163 exception
164   when hr_multi_message.error_message_exist then
165     --
166     -- Catch the Multiple Message List exception which
167     -- indicates API processing has been aborted because
168     -- at least one message exists in the list.
169     --
170     rollback to insert_rule_attribute_swi;
171     --
172     -- Reset IN OUT parameters and set OUT parameters
173     --
174     p_rule_attribute_id            := null;
175     p_object_version_number        := null;
176     p_return_status := hr_multi_message.get_return_status_disable;
177     hr_utility.set_location(' Leaving:' || l_proc, 30);
178   when others then
179     --
180     -- When Multiple Message Detection is enabled catch
181     -- any Application specific or other unexpected
182     -- exceptions.  Adding appropriate details to the
183     -- Multiple Message List.  Otherwise re-raise the
184     -- error.
185     --
186     rollback to insert_rule_attribute_swi;
187     if hr_multi_message.unexpected_error_add(l_proc) then
188        hr_utility.set_location(' Leaving:' || l_proc,40);
189        raise;
190     end if;
191     --
192     -- Reset IN OUT and set OUT parameters
193     --
194     p_rule_attribute_id            := null;
195     p_object_version_number        := null;
196     p_return_status := hr_multi_message.get_return_status_disable;
197     hr_utility.set_location(' Leaving:' || l_proc,50);
198 end insert_rule_attribute;
199 -- ----------------------------------------------------------------------------
200 -- |-------------------------< update_rule_attribute >------------------------|
201 -- ----------------------------------------------------------------------------
202 PROCEDURE update_rule_attribute
203   (p_rule_attribute_id            in     number
204   ,p_object_version_number        in out nocopy number
205   ,p_rule_set_id                  in     number    default hr_api.g_number
206   ,p_attribute_code               in     varchar2  default hr_api.g_varchar2
207   ,p_operation_code               in     varchar2  default hr_api.g_varchar2
208   ,p_attribute_value              in     varchar2  default hr_api.g_varchar2
209   ,p_return_status                   out nocopy varchar2
210   ) is
211   --
212   -- Variables for API Boolean parameters
213   --
214   -- Variables for IN/OUT parameters
215   l_object_version_number         number;
216   --
217   -- Other variables
218   l_proc    varchar2(72) := g_package ||'update_rule_attribute';
219 Begin
220   hr_utility.set_location(' Entering:' || l_proc,10);
221   --
222   -- Issue a savepoint
223   --
224   savepoint update_rule_attribute_swi;
225   --
226   -- Initialise Multiple Message Detection
227   --
228   hr_multi_message.enable_message_list;
229   --
230   -- Remember IN OUT parameter IN values
231   --
232   l_object_version_number         := p_object_version_number;
233   --
234   -- Convert constant values to their corresponding boolean value
235   --
236   --
237   -- Register Surrogate ID or user key values
238   --
239   --
240   -- Call API
241   --
242   pqh_rule_attributes_api.update_rule_attribute
243     (p_rule_attribute_id            => p_rule_attribute_id
244     ,p_object_version_number        => p_object_version_number
245     ,p_rule_set_id                  => p_rule_set_id
246     ,p_attribute_code               => p_attribute_code
247     ,p_operation_code               => p_operation_code
248     ,p_attribute_value              => p_attribute_value
249     );
250   --
251   -- Convert API warning boolean parameter values to specific
252   -- messages and add them to Multiple Message List
253   --
254   --
255   -- Convert API non-warning boolean parameter values
256   --
257   --
258   -- Derive the API return status value based on whether
259   -- messages of any type exist in the Multiple Message List.
260   -- Also disable Multiple Message Detection.
261   --
262   p_return_status := hr_multi_message.get_return_status_disable;
263   hr_utility.set_location(' Leaving:' || l_proc,20);
264   --
265 exception
266   when hr_multi_message.error_message_exist then
267     --
268     -- Catch the Multiple Message List exception which
269     -- indicates API processing has been aborted because
270     -- at least one message exists in the list.
271     --
272     rollback to update_rule_attribute_swi;
273     --
274     -- Reset IN OUT parameters and set OUT parameters
275     --
276     p_object_version_number        := l_object_version_number;
277     p_return_status := hr_multi_message.get_return_status_disable;
278     hr_utility.set_location(' Leaving:' || l_proc, 30);
279   when others then
280     --
281     -- When Multiple Message Detection is enabled catch
282     -- any Application specific or other unexpected
283     -- exceptions.  Adding appropriate details to the
284     -- Multiple Message List.  Otherwise re-raise the
285     -- error.
286     --
287     rollback to update_rule_attribute_swi;
288     if hr_multi_message.unexpected_error_add(l_proc) then
289        hr_utility.set_location(' Leaving:' || l_proc,40);
290        raise;
291     end if;
292     --
293     -- Reset IN OUT and set OUT parameters
294     --
295     p_object_version_number        := l_object_version_number;
296     p_return_status := hr_multi_message.get_return_status_disable;
297     hr_utility.set_location(' Leaving:' || l_proc,50);
298 end update_rule_attribute;
299 end pqh_rule_attributes_swi;