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