DBA Data[Home] [Help]

PACKAGE BODY: APPS.PER_SOLUTIONS_SELECTED_SWI

Source


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