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;