[Home] [Help]
PACKAGE BODY: APPS.OTA_CERT_MEMBER_SWI
Source
1 Package Body ota_cert_member_swi As
2 /* $Header: otcmbswi.pkb 120.1 2005/08/12 15:26 estreacy noship $ */
3 --
4 -- Package variables
5 --
6 g_package varchar2(33) := 'ota_cert_member_swi.';
7 --
8 -- ----------------------------------------------------------------------------
9 -- |----------------------< create_certification_member >---------------------|
10 -- ----------------------------------------------------------------------------
11 PROCEDURE create_certification_member
12 (p_validate in number default hr_api.g_false_num
13 ,p_effective_date in date
14 ,p_certification_id in number
15 ,p_object_id in number
16 ,p_object_type in varchar2
17 ,p_member_sequence in number
18 ,p_business_group_id in number
19 ,p_start_date_active in date default null
20 ,p_end_date_active in date default null
21 ,p_attribute_category in varchar2 default null
22 ,p_attribute1 in varchar2 default null
23 ,p_attribute2 in varchar2 default null
24 ,p_attribute3 in varchar2 default null
25 ,p_attribute4 in varchar2 default null
26 ,p_attribute5 in varchar2 default null
27 ,p_attribute6 in varchar2 default null
28 ,p_attribute7 in varchar2 default null
29 ,p_attribute8 in varchar2 default null
30 ,p_attribute9 in varchar2 default null
31 ,p_attribute10 in varchar2 default null
32 ,p_attribute11 in varchar2 default null
33 ,p_attribute12 in varchar2 default null
34 ,p_attribute13 in varchar2 default null
35 ,p_attribute14 in varchar2 default null
36 ,p_attribute15 in varchar2 default null
37 ,p_attribute16 in varchar2 default null
38 ,p_attribute17 in varchar2 default null
39 ,p_attribute18 in varchar2 default null
40 ,p_attribute19 in varchar2 default null
41 ,p_attribute20 in varchar2 default null
42 ,p_certification_member_id in number
43 ,p_object_version_number out nocopy number
44 ,p_return_status out nocopy varchar2
45 ) is
46 --
47 -- Variables for API Boolean parameters
48 l_validate boolean;
49 --
50 -- Variables for IN/OUT parameters
51 --
52 -- Other variables
53 l_certification_member_id number;
54 l_proc varchar2(72) := g_package ||'create_certification_member';
55 Begin
56 hr_utility.set_location(' Entering:' || l_proc,10);
57 --
58 -- Issue a savepoint
59 --
60 savepoint create_cert_member_swi;
61 --
62 -- Initialise Multiple Message Detection
63 --
64 hr_multi_message.enable_message_list;
65 --
66 -- Remember IN OUT parameter IN values
67 --
68 --
69 -- Convert constant values to their corresponding boolean value
70 --
71 l_validate :=
72 hr_api.constant_to_boolean
73 (p_constant_value => p_validate);
74 --
75 -- Register Surrogate ID or user key values
76 --
77 ota_cmb_ins.set_base_key_value
78 (p_certification_member_id => p_certification_member_id
79 );
80 --
81 -- Call API
82 --
83 ota_cert_member_api.create_certification_member
84 (p_validate => l_validate
85 ,p_effective_date => p_effective_date
86 ,p_certification_id => p_certification_id
87 ,p_object_id => p_object_id
88 ,p_object_type => p_object_type
89 ,p_member_sequence => p_member_sequence
90 ,p_business_group_id => p_business_group_id
91 ,p_start_date_active => p_start_date_active
92 ,p_end_date_active => p_end_date_active
93 ,p_attribute_category => p_attribute_category
94 ,p_attribute1 => p_attribute1
95 ,p_attribute2 => p_attribute2
96 ,p_attribute3 => p_attribute3
97 ,p_attribute4 => p_attribute4
98 ,p_attribute5 => p_attribute5
99 ,p_attribute6 => p_attribute6
100 ,p_attribute7 => p_attribute7
101 ,p_attribute8 => p_attribute8
102 ,p_attribute9 => p_attribute9
103 ,p_attribute10 => p_attribute10
104 ,p_attribute11 => p_attribute11
105 ,p_attribute12 => p_attribute12
106 ,p_attribute13 => p_attribute13
107 ,p_attribute14 => p_attribute14
108 ,p_attribute15 => p_attribute15
109 ,p_attribute16 => p_attribute16
110 ,p_attribute17 => p_attribute17
111 ,p_attribute18 => p_attribute18
112 ,p_attribute19 => p_attribute19
113 ,p_attribute20 => p_attribute20
114 ,p_certification_member_id => l_certification_member_id
115 ,p_object_version_number => p_object_version_number
116 );
117 --
118 -- Convert API warning boolean parameter values to specific
119 -- messages and add them to Multiple Message List
120 --
121 --
122 -- Convert API non-warning boolean parameter values
123 --
124 --
125 -- Derive the API return status value based on whether
126 -- messages of any type exist in the Multiple Message List.
127 -- Also disable Multiple Message Detection.
128 --
129 p_return_status := hr_multi_message.get_return_status_disable;
130 hr_utility.set_location(' Leaving:' || l_proc,20);
131 --
132 exception
133 when hr_multi_message.error_message_exist then
134 --
135 -- Catch the Multiple Message List exception which
136 -- indicates API processing has been aborted because
137 -- at least one message exists in the list.
138 --
139 rollback to create_cert_member_swi;
140 --
141 -- Reset IN OUT parameters and set OUT parameters
142 --
143 p_object_version_number := null;
144 p_return_status := hr_multi_message.get_return_status_disable;
145 hr_utility.set_location(' Leaving:' || l_proc, 30);
146 when others then
147 --
148 -- When Multiple Message Detection is enabled catch
149 -- any Application specific or other unexpected
150 -- exceptions. Adding appropriate details to the
151 -- Multiple Message List. Otherwise re-raise the
152 -- error.
153 --
154 rollback to create_cert_member_swi;
155 if hr_multi_message.unexpected_error_add(l_proc) then
156 hr_utility.set_location(' Leaving:' || l_proc,40);
157 raise;
158 end if;
159 --
160 -- Reset IN OUT and set OUT parameters
161 --
162 p_object_version_number := null;
163 p_return_status := hr_multi_message.get_return_status_disable;
164 hr_utility.set_location(' Leaving:' || l_proc,50);
165 end create_certification_member;
166 -- ----------------------------------------------------------------------------
167 -- |----------------------< update_certification_member >---------------------|
168 -- ----------------------------------------------------------------------------
169 PROCEDURE update_certification_member
170 (p_validate in number default hr_api.g_false_num
171 ,p_effective_date in date
172 ,p_certification_member_id in number
173 ,p_object_version_number in out nocopy number
174 ,p_object_id in number
175 ,p_object_type in varchar2
176 ,p_member_sequence in number
177 ,p_start_date_active in date default hr_api.g_date
178 ,p_end_date_active in date default hr_api.g_date
179 ,p_attribute_category in varchar2 default hr_api.g_varchar2
180 ,p_attribute1 in varchar2 default hr_api.g_varchar2
181 ,p_attribute2 in varchar2 default hr_api.g_varchar2
182 ,p_attribute3 in varchar2 default hr_api.g_varchar2
183 ,p_attribute4 in varchar2 default hr_api.g_varchar2
184 ,p_attribute5 in varchar2 default hr_api.g_varchar2
185 ,p_attribute6 in varchar2 default hr_api.g_varchar2
186 ,p_attribute7 in varchar2 default hr_api.g_varchar2
187 ,p_attribute8 in varchar2 default hr_api.g_varchar2
188 ,p_attribute9 in varchar2 default hr_api.g_varchar2
189 ,p_attribute10 in varchar2 default hr_api.g_varchar2
190 ,p_attribute11 in varchar2 default hr_api.g_varchar2
191 ,p_attribute12 in varchar2 default hr_api.g_varchar2
192 ,p_attribute13 in varchar2 default hr_api.g_varchar2
193 ,p_attribute14 in varchar2 default hr_api.g_varchar2
194 ,p_attribute15 in varchar2 default hr_api.g_varchar2
195 ,p_attribute16 in varchar2 default hr_api.g_varchar2
196 ,p_attribute17 in varchar2 default hr_api.g_varchar2
197 ,p_attribute18 in varchar2 default hr_api.g_varchar2
198 ,p_attribute19 in varchar2 default hr_api.g_varchar2
199 ,p_attribute20 in varchar2 default hr_api.g_varchar2
200 ,p_return_status out nocopy varchar2
201 ) is
202 --
203 -- Variables for API Boolean parameters
204 l_validate boolean;
205 --
206 -- Variables for IN/OUT parameters
207 l_object_version_number number;
208 --
209 -- Other variables
210 l_proc varchar2(72) := g_package ||'update_certification_member';
211 Begin
212 hr_utility.set_location(' Entering:' || l_proc,10);
213 --
214 -- Issue a savepoint
215 --
216 savepoint update_cert_member_swi;
217 --
218 -- Initialise Multiple Message Detection
219 --
220 hr_multi_message.enable_message_list;
221 --
222 -- Remember IN OUT parameter IN values
223 --
224 l_object_version_number := p_object_version_number;
225 --
226 -- Convert constant values to their corresponding boolean value
227 --
228 l_validate :=
229 hr_api.constant_to_boolean
230 (p_constant_value => p_validate);
231 --
232 -- Register Surrogate ID or user key values
233 --
234 --
235 -- Call API
236 --
237 ota_cert_member_api.update_certification_member
238 (p_validate => l_validate
239 ,p_effective_date => p_effective_date
240 ,p_certification_member_id => p_certification_member_id
241 ,p_object_version_number => p_object_version_number
242 ,p_object_id => p_object_id
243 ,p_object_type => p_object_type
244 ,p_member_sequence => p_member_sequence
245 ,p_start_date_active => p_start_date_active
246 ,p_end_date_active => p_end_date_active
247 ,p_attribute_category => p_attribute_category
248 ,p_attribute1 => p_attribute1
249 ,p_attribute2 => p_attribute2
250 ,p_attribute3 => p_attribute3
251 ,p_attribute4 => p_attribute4
252 ,p_attribute5 => p_attribute5
253 ,p_attribute6 => p_attribute6
254 ,p_attribute7 => p_attribute7
255 ,p_attribute8 => p_attribute8
256 ,p_attribute9 => p_attribute9
257 ,p_attribute10 => p_attribute10
258 ,p_attribute11 => p_attribute11
259 ,p_attribute12 => p_attribute12
260 ,p_attribute13 => p_attribute13
261 ,p_attribute14 => p_attribute14
262 ,p_attribute15 => p_attribute15
263 ,p_attribute16 => p_attribute16
264 ,p_attribute17 => p_attribute17
265 ,p_attribute18 => p_attribute18
266 ,p_attribute19 => p_attribute19
267 ,p_attribute20 => p_attribute20
268 );
269 --
270 -- Convert API warning boolean parameter values to specific
271 -- messages and add them to Multiple Message List
272 --
273 --
274 -- Convert API non-warning boolean parameter values
275 --
276 --
277 -- Derive the API return status value based on whether
278 -- messages of any type exist in the Multiple Message List.
279 -- Also disable Multiple Message Detection.
280 --
281 p_return_status := hr_multi_message.get_return_status_disable;
282 hr_utility.set_location(' Leaving:' || l_proc,20);
283 --
284 exception
285 when hr_multi_message.error_message_exist then
286 --
287 -- Catch the Multiple Message List exception which
288 -- indicates API processing has been aborted because
289 -- at least one message exists in the list.
290 --
291 rollback to update_cert_member_swi;
292 --
293 -- Reset IN OUT parameters 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, 30);
298 when others then
299 --
300 -- When Multiple Message Detection is enabled catch
301 -- any Application specific or other unexpected
302 -- exceptions. Adding appropriate details to the
303 -- Multiple Message List. Otherwise re-raise the
304 -- error.
305 --
306 rollback to update_cert_member_swi;
307 if hr_multi_message.unexpected_error_add(l_proc) then
308 hr_utility.set_location(' Leaving:' || l_proc,40);
309 raise;
310 end if;
311 --
312 -- Reset IN OUT and set OUT parameters
313 --
314 p_object_version_number := l_object_version_number;
315 p_return_status := hr_multi_message.get_return_status_disable;
316 hr_utility.set_location(' Leaving:' || l_proc,50);
317 end update_certification_member;
318 -- ----------------------------------------------------------------------------
319 -- |----------------------< delete_certification_member >---------------------|
320 -- ----------------------------------------------------------------------------
321 PROCEDURE delete_certification_member
322 (p_validate in number default hr_api.g_false_num
323 ,p_certification_member_id in number
324 ,p_object_version_number in number
325 ,p_return_status out nocopy varchar2
326 ) is
327 --
328 -- Variables for API Boolean parameters
329 l_validate boolean;
330 --
331 -- Variables for IN/OUT parameters
332 --
333 -- Other variables
334 l_proc varchar2(72) := g_package ||'delete_certification_member';
335 Begin
336 hr_utility.set_location(' Entering:' || l_proc,10);
337 --
338 -- Issue a savepoint
339 --
340 savepoint delete_cert_member_swi;
341 --
342 -- Initialise Multiple Message Detection
343 --
344 hr_multi_message.enable_message_list;
345 --
346 -- Remember IN OUT parameter IN values
347 --
348 --
349 -- Convert constant values to their corresponding boolean value
350 --
351 l_validate :=
352 hr_api.constant_to_boolean
353 (p_constant_value => p_validate);
354 --
355 -- Register Surrogate ID or user key values
356 --
357 --
358 -- Call API
359 --
360 ota_cert_member_api.delete_certification_member
361 (p_validate => l_validate
362 ,p_certification_member_id => p_certification_member_id
363 ,p_object_version_number => p_object_version_number
364 );
365 --
366 -- Convert API warning boolean parameter values to specific
367 -- messages and add them to Multiple Message List
368 --
369 --
370 -- Convert API non-warning boolean parameter values
371 --
372 --
373 -- Derive the API return status value based on whether
374 -- messages of any type exist in the Multiple Message List.
375 -- Also disable Multiple Message Detection.
376 --
377 p_return_status := hr_multi_message.get_return_status_disable;
378 hr_utility.set_location(' Leaving:' || l_proc,20);
379 --
380 exception
381 when hr_multi_message.error_message_exist then
382 --
383 -- Catch the Multiple Message List exception which
384 -- indicates API processing has been aborted because
385 -- at least one message exists in the list.
386 --
387 rollback to delete_cert_member_swi;
388 --
389 -- Reset IN OUT parameters and set OUT parameters
390 --
391 p_return_status := hr_multi_message.get_return_status_disable;
392 hr_utility.set_location(' Leaving:' || l_proc, 30);
393 when others then
394 --
395 -- When Multiple Message Detection is enabled catch
396 -- any Application specific or other unexpected
397 -- exceptions. Adding appropriate details to the
398 -- Multiple Message List. Otherwise re-raise the
399 -- error.
400 --
401 rollback to delete_cert_member_swi;
402 if hr_multi_message.unexpected_error_add(l_proc) then
403 hr_utility.set_location(' Leaving:' || l_proc,40);
404 raise;
405 end if;
406 --
407 -- Reset IN OUT and set OUT parameters
408 --
409 p_return_status := hr_multi_message.get_return_status_disable;
410 hr_utility.set_location(' Leaving:' || l_proc,50);
411 end delete_certification_member;
412
413 FUNCTION check_cmb_enrollments_exist
414 (p_cert_member_id in number
415 ) return varchar2 IS
416
417 CURSOR csr_chk_cme_exist is
418 SELECT 1
419 FROM ota_cert_mbr_enrollments cme
420 WHERE cme.cert_member_id = p_cert_member_id;
421
422 l_enroll_exist varchar2(1);
423 l_fetch number;
424 BEGIN
425
426 open csr_chk_cme_exist;
427 fetch csr_chk_cme_exist into l_fetch;
428 if csr_chk_cme_exist%FOUND then
429 l_enroll_exist := 'Y';
430 else
431 l_enroll_exist := 'N';
432 end if;
433 close csr_chk_cme_exist;
434
435 return l_enroll_exist;
436 END check_cmb_enrollments_exist;
437
438 end ota_cert_member_swi;