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