[Home] [Help]
PACKAGE BODY: APPS.OTA_CERT_ENROLLMENT_SWI
Source
1 Package Body ota_cert_enrollment_swi As
2 /* $Header: otcreswi.pkb 120.3 2005/09/22 05:11 dbatra noship $ */
3 --
4 -- Package variables
5 --
6 g_package varchar2(33) := 'ota_cert_enrollment_swi.';
7 --
8 -- ----------------------------------------------------------------------------
9 -- |------------------------< create_cert_enrollment >------------------------|
10 -- ----------------------------------------------------------------------------
11 PROCEDURE create_cert_enrollment
12 (p_effective_date in date
13 ,p_validate in number default hr_api.g_false_num
14 ,p_certification_id in number
15 ,p_person_id in number default null
16 ,p_contact_id in number default null
17 ,p_certification_status_code in varchar2
18 ,p_completion_date in date default null
19 ,p_unenrollment_date in date default null
20 ,p_expiration_date in date default null
21 ,p_earliest_enroll_date in date default null
22 ,p_is_history_flag in varchar2
23 ,p_business_group_id in number
24 ,p_attribute_category in varchar2 default null
25 ,p_attribute1 in varchar2 default null
26 ,p_attribute2 in varchar2 default null
27 ,p_attribute3 in varchar2 default null
28 ,p_attribute4 in varchar2 default null
29 ,p_attribute5 in varchar2 default null
30 ,p_attribute6 in varchar2 default null
31 ,p_attribute7 in varchar2 default null
32 ,p_attribute8 in varchar2 default null
33 ,p_attribute9 in varchar2 default null
34 ,p_attribute10 in varchar2 default null
35 ,p_attribute11 in varchar2 default null
36 ,p_attribute12 in varchar2 default null
37 ,p_attribute13 in varchar2 default null
38 ,p_attribute14 in varchar2 default null
39 ,p_attribute15 in varchar2 default null
40 ,p_attribute16 in varchar2 default null
41 ,p_attribute17 in varchar2 default null
42 ,p_attribute18 in varchar2 default null
43 ,p_attribute19 in varchar2 default null
44 ,p_attribute20 in varchar2 default null
45 ,p_enrollment_date in date default null
46 ,p_cert_enrollment_id in number
47 ,p_object_version_number out nocopy number
48 ,p_return_status out nocopy varchar2
49 ) is
50 --
51 -- Variables for API Boolean parameters
52 l_validate boolean;
53 --
54 -- Variables for IN/OUT parameters
55 --
56 -- Other variables
57 l_cert_enrollment_id number;
58 l_proc varchar2(72) := g_package ||'create_cert_enrollment';
59 Begin
60 hr_utility.set_location(' Entering:' || l_proc,10);
61 --
62 -- Issue a savepoint
63 --
64 savepoint create_cert_enrollment_swi;
65 --
66 -- Initialise Multiple Message Detection
67 --
68 hr_multi_message.enable_message_list;
69 --
70 -- Remember IN OUT parameter IN values
71 --
72 --
73 -- Convert constant values to their corresponding boolean value
74 --
75 l_validate :=
76 hr_api.constant_to_boolean
77 (p_constant_value => p_validate);
78 --
79 -- Register Surrogate ID or user key values
80 --
81 ota_cre_ins.set_base_key_value
82 (p_cert_enrollment_id => p_cert_enrollment_id
83 );
84 --
85 -- Call API
86 --
87 ota_cert_enrollment_api.create_cert_enrollment
88 (p_effective_date => p_effective_date
89 ,p_validate => l_validate
90 ,p_certification_id => p_certification_id
91 ,p_person_id => p_person_id
92 ,p_contact_id => p_contact_id
93 ,p_certification_status_code => p_certification_status_code
94 ,p_completion_date => p_completion_date
95 ,p_unenrollment_date => p_unenrollment_date
96 ,p_expiration_date => p_expiration_date
97 ,p_earliest_enroll_date => p_earliest_enroll_date
98 ,p_is_history_flag => p_is_history_flag
99 ,p_business_group_id => p_business_group_id
100 ,p_attribute_category => p_attribute_category
101 ,p_attribute1 => p_attribute1
102 ,p_attribute2 => p_attribute2
103 ,p_attribute3 => p_attribute3
104 ,p_attribute4 => p_attribute4
105 ,p_attribute5 => p_attribute5
106 ,p_attribute6 => p_attribute6
107 ,p_attribute7 => p_attribute7
108 ,p_attribute8 => p_attribute8
109 ,p_attribute9 => p_attribute9
110 ,p_attribute10 => p_attribute10
111 ,p_attribute11 => p_attribute11
112 ,p_attribute12 => p_attribute12
113 ,p_attribute13 => p_attribute13
114 ,p_attribute14 => p_attribute14
115 ,p_attribute15 => p_attribute15
116 ,p_attribute16 => p_attribute16
117 ,p_attribute17 => p_attribute17
118 ,p_attribute18 => p_attribute18
119 ,p_attribute19 => p_attribute19
120 ,p_attribute20 => p_attribute20
121 ,p_enrollment_date => p_enrollment_date
122 ,p_cert_enrollment_id => l_cert_enrollment_id
123 ,p_object_version_number => p_object_version_number
124 );
125 --
126 -- Convert API warning boolean parameter values to specific
127 -- messages and add them to Multiple Message List
128 --
129 --
130 -- Convert API non-warning boolean parameter values
131 --
132 --
133 -- Derive the API return status value based on whether
134 -- messages of any type exist in the Multiple Message List.
135 -- Also disable Multiple Message Detection.
136 --
137 p_return_status := hr_multi_message.get_return_status_disable;
138 hr_utility.set_location(' Leaving:' || l_proc,20);
139 --
140 exception
141 when hr_multi_message.error_message_exist then
142 --
143 -- Catch the Multiple Message List exception which
144 -- indicates API processing has been aborted because
145 -- at least one message exists in the list.
146 --
147 rollback to create_cert_enrollment_swi;
148 --
149 -- Reset IN OUT parameters and set OUT parameters
150 --
151 p_object_version_number := null;
152 p_return_status := hr_multi_message.get_return_status_disable;
153 hr_utility.set_location(' Leaving:' || l_proc, 30);
154 when others then
155 --
156 -- When Multiple Message Detection is enabled catch
157 -- any Application specific or other unexpected
158 -- exceptions. Adding appropriate details to the
159 -- Multiple Message List. Otherwise re-raise the
160 -- error.
161 --
162 rollback to create_cert_enrollment_swi;
163 if hr_multi_message.unexpected_error_add(l_proc) then
164 hr_utility.set_location(' Leaving:' || l_proc,40);
165 raise;
166 end if;
167 --
168 -- Reset IN OUT and set OUT parameters
169 --
170 p_object_version_number := null;
171 p_return_status := hr_multi_message.get_return_status_disable;
172 hr_utility.set_location(' Leaving:' || l_proc,50);
173 end create_cert_enrollment;
174 -- ----------------------------------------------------------------------------
175 -- |------------------------< update_cert_enrollment >------------------------|
176 -- ----------------------------------------------------------------------------
177 PROCEDURE update_cert_enrollment
178 (p_effective_date in date
179 ,p_cert_enrollment_id in number
180 ,p_object_version_number in out nocopy number
181 ,p_certification_id in number
182 ,p_person_id in number default hr_api.g_number
183 ,p_contact_id in number default hr_api.g_number
184 ,p_certification_status_code in varchar2 default hr_api.g_varchar2
185 ,p_completion_date in date default hr_api.g_date
186 ,p_unenrollment_date in date default hr_api.g_date
187 ,p_expiration_date in date default hr_api.g_date
188 ,p_earliest_enroll_date in date default hr_api.g_date
189 ,p_is_history_flag in varchar2 default hr_api.g_varchar2
190 ,p_business_group_id in number default hr_api.g_number
191 ,p_attribute_category in varchar2 default hr_api.g_varchar2
192 ,p_attribute1 in varchar2 default hr_api.g_varchar2
193 ,p_attribute2 in varchar2 default hr_api.g_varchar2
194 ,p_attribute3 in varchar2 default hr_api.g_varchar2
195 ,p_attribute4 in varchar2 default hr_api.g_varchar2
196 ,p_attribute5 in varchar2 default hr_api.g_varchar2
197 ,p_attribute6 in varchar2 default hr_api.g_varchar2
198 ,p_attribute7 in varchar2 default hr_api.g_varchar2
199 ,p_attribute8 in varchar2 default hr_api.g_varchar2
200 ,p_attribute9 in varchar2 default hr_api.g_varchar2
201 ,p_attribute10 in varchar2 default hr_api.g_varchar2
202 ,p_attribute11 in varchar2 default hr_api.g_varchar2
203 ,p_attribute12 in varchar2 default hr_api.g_varchar2
204 ,p_attribute13 in varchar2 default hr_api.g_varchar2
205 ,p_attribute14 in varchar2 default hr_api.g_varchar2
206 ,p_attribute15 in varchar2 default hr_api.g_varchar2
207 ,p_attribute16 in varchar2 default hr_api.g_varchar2
208 ,p_attribute17 in varchar2 default hr_api.g_varchar2
209 ,p_attribute18 in varchar2 default hr_api.g_varchar2
210 ,p_attribute19 in varchar2 default hr_api.g_varchar2
211 ,p_attribute20 in varchar2 default hr_api.g_varchar2
212 ,p_enrollment_date in date default hr_api.g_date
213 ,p_validate in number default hr_api.g_false_num
214 ,p_return_status out nocopy varchar2
215 ) is
216 --
217 -- Variables for API Boolean parameters
218 l_validate boolean;
219 --
220 -- Variables for IN/OUT parameters
221 l_object_version_number number;
222 --
223 -- Other variables
224 l_proc varchar2(72) := g_package ||'update_cert_enrollment';
225 Begin
226 hr_utility.set_location(' Entering:' || l_proc,10);
227 --
228 -- Issue a savepoint
229 --
230 savepoint update_cert_enrollment_swi;
231 --
232 -- Initialise Multiple Message Detection
233 --
234 hr_multi_message.enable_message_list;
235 --
236 -- Remember IN OUT parameter IN values
237 --
238 l_object_version_number := p_object_version_number;
239 --
240 -- Convert constant values to their corresponding boolean value
241 --
242 l_validate :=
243 hr_api.constant_to_boolean
244 (p_constant_value => p_validate);
245 --
246 -- Register Surrogate ID or user key values
247 --
248 --
249 -- Call API
250 --
251 ota_cert_enrollment_api.update_cert_enrollment
252 (p_effective_date => p_effective_date
253 ,p_cert_enrollment_id => p_cert_enrollment_id
254 ,p_object_version_number => p_object_version_number
255 ,p_certification_id => p_certification_id
256 ,p_person_id => p_person_id
257 ,p_contact_id => p_contact_id
258 ,p_certification_status_code => p_certification_status_code
259 ,p_completion_date => p_completion_date
260 ,p_unenrollment_date => p_unenrollment_date
261 ,p_expiration_date => p_expiration_date
262 ,p_earliest_enroll_date => p_earliest_enroll_date
263 ,p_is_history_flag => p_is_history_flag
264 ,p_business_group_id => p_business_group_id
265 ,p_attribute_category => p_attribute_category
266 ,p_attribute1 => p_attribute1
267 ,p_attribute2 => p_attribute2
268 ,p_attribute3 => p_attribute3
269 ,p_attribute4 => p_attribute4
270 ,p_attribute5 => p_attribute5
271 ,p_attribute6 => p_attribute6
272 ,p_attribute7 => p_attribute7
273 ,p_attribute8 => p_attribute8
274 ,p_attribute9 => p_attribute9
275 ,p_attribute10 => p_attribute10
276 ,p_attribute11 => p_attribute11
277 ,p_attribute12 => p_attribute12
278 ,p_attribute13 => p_attribute13
279 ,p_attribute14 => p_attribute14
280 ,p_attribute15 => p_attribute15
281 ,p_attribute16 => p_attribute16
282 ,p_attribute17 => p_attribute17
283 ,p_attribute18 => p_attribute18
284 ,p_attribute19 => p_attribute19
285 ,p_attribute20 => p_attribute20
286 ,p_enrollment_date => p_enrollment_date
287 ,p_validate => l_validate
288 );
289 --
290 -- Convert API warning boolean parameter values to specific
291 -- messages and add them to Multiple Message List
292 --
293 --
294 -- Convert API non-warning boolean parameter values
295 --
296 --
297 -- Derive the API return status value based on whether
298 -- messages of any type exist in the Multiple Message List.
299 -- Also disable Multiple Message Detection.
300 --
301 p_return_status := hr_multi_message.get_return_status_disable;
302 hr_utility.set_location(' Leaving:' || l_proc,20);
303 --
304 exception
305 when hr_multi_message.error_message_exist then
306 --
307 -- Catch the Multiple Message List exception which
308 -- indicates API processing has been aborted because
309 -- at least one message exists in the list.
310 --
311 rollback to update_cert_enrollment_swi;
312 --
313 -- Reset IN OUT parameters and set OUT parameters
314 --
315 p_object_version_number := l_object_version_number;
316 p_return_status := hr_multi_message.get_return_status_disable;
317 hr_utility.set_location(' Leaving:' || l_proc, 30);
318 when others then
319 --
320 -- When Multiple Message Detection is enabled catch
321 -- any Application specific or other unexpected
322 -- exceptions. Adding appropriate details to the
323 -- Multiple Message List. Otherwise re-raise the
324 -- error.
325 --
326 rollback to update_cert_enrollment_swi;
327 if hr_multi_message.unexpected_error_add(l_proc) then
328 hr_utility.set_location(' Leaving:' || l_proc,40);
329 raise;
330 end if;
331 --
332 -- Reset IN OUT and set OUT parameters
333 --
334 p_object_version_number := l_object_version_number;
335 p_return_status := hr_multi_message.get_return_status_disable;
336 hr_utility.set_location(' Leaving:' || l_proc,50);
337 end update_cert_enrollment;
338 -- ----------------------------------------------------------------------------
339 -- |------------------------< delete_cert_enrollment >------------------------|
340 -- ----------------------------------------------------------------------------
341 PROCEDURE delete_cert_enrollment
342 (p_cert_enrollment_id in number
343 ,p_object_version_number in number
344 ,p_validate in number default hr_api.g_false_num
345 ,p_return_status out nocopy varchar2
346 ) is
347 --
348 -- Variables for API Boolean parameters
349 l_validate boolean;
350 --
351 -- Variables for IN/OUT parameters
352 --
353 -- Other variables
354 l_proc varchar2(72) := g_package ||'delete_cert_enrollment';
355 Begin
356 hr_utility.set_location(' Entering:' || l_proc,10);
357 --
358 -- Issue a savepoint
359 --
360 savepoint delete_cert_enrollment_swi;
361 --
362 -- Initialise Multiple Message Detection
363 --
364 hr_multi_message.enable_message_list;
365 --
366 -- Remember IN OUT parameter IN values
367 --
368 --
369 -- Convert constant values to their corresponding boolean value
370 --
371 l_validate :=
372 hr_api.constant_to_boolean
373 (p_constant_value => p_validate);
374 --
375 -- Register Surrogate ID or user key values
376 --
377 --
378 -- Call API
379 --
380 ota_cert_enrollment_api.delete_cert_enrollment
381 (p_cert_enrollment_id => p_cert_enrollment_id
382 ,p_object_version_number => p_object_version_number
383 ,p_validate => l_validate
384 );
385 --
386 -- Convert API warning boolean parameter values to specific
387 -- messages and add them to Multiple Message List
388 --
389 --
390 -- Convert API non-warning boolean parameter values
391 --
392 --
393 -- Derive the API return status value based on whether
394 -- messages of any type exist in the Multiple Message List.
395 -- Also disable Multiple Message Detection.
396 --
397 p_return_status := hr_multi_message.get_return_status_disable;
398 hr_utility.set_location(' Leaving:' || l_proc,20);
399 --
400 exception
401 when hr_multi_message.error_message_exist then
402 --
403 -- Catch the Multiple Message List exception which
404 -- indicates API processing has been aborted because
405 -- at least one message exists in the list.
406 --
407 rollback to delete_cert_enrollment_swi;
408 --
409 -- Reset IN OUT parameters and set OUT parameters
410 --
411 p_return_status := hr_multi_message.get_return_status_disable;
412 hr_utility.set_location(' Leaving:' || l_proc, 30);
413 when others then
414 --
415 -- When Multiple Message Detection is enabled catch
416 -- any Application specific or other unexpected
420 --
417 -- exceptions. Adding appropriate details to the
418 -- Multiple Message List. Otherwise re-raise the
419 -- error.
421 rollback to delete_cert_enrollment_swi;
422 if hr_multi_message.unexpected_error_add(l_proc) then
423 hr_utility.set_location(' Leaving:' || l_proc,40);
424 raise;
425 end if;
426 --
427 -- Reset IN OUT and set OUT parameters
428 --
429 p_return_status := hr_multi_message.get_return_status_disable;
430 hr_utility.set_location(' Leaving:' || l_proc,50);
431 end delete_cert_enrollment;
432
433 -- ----------------------------------------------------------------------------
434 -- |--------------------------< SUBSCRIBE_TO_CERTIFICATION>--------------------|
435 -- ----------------------------------------------------------------------------
436 procedure subscribe_to_certification
437 (p_validate in number default hr_api.g_false_num
438 ,p_certification_id IN NUMBER
439 ,p_person_id IN NUMBER default null
440 ,p_contact_id IN NUMBER default null
441 ,p_business_group_id IN NUMBER
442 ,p_approval_flag IN VARCHAR2
443 ,p_completion_date in date default null
444 ,p_unenrollment_date in date default null
445 ,p_expiration_date in date default null
446 ,p_earliest_enroll_date in date default null
447 ,p_is_history_flag in varchar2
448 ,p_attribute_category in varchar2 default null
449 ,p_attribute1 in varchar2 default null
450 ,p_attribute2 in varchar2 default null
451 ,p_attribute3 in varchar2 default null
452 ,p_attribute4 in varchar2 default null
453 ,p_attribute5 in varchar2 default null
454 ,p_attribute6 in varchar2 default null
455 ,p_attribute7 in varchar2 default null
456 ,p_attribute8 in varchar2 default null
457 ,p_attribute9 in varchar2 default null
458 ,p_attribute10 in varchar2 default null
459 ,p_attribute11 in varchar2 default null
460 ,p_attribute12 in varchar2 default null
461 ,p_attribute13 in varchar2 default null
462 ,p_attribute14 in varchar2 default null
463 ,p_attribute15 in varchar2 default null
464 ,p_attribute16 in varchar2 default null
465 ,p_attribute17 in varchar2 default null
466 ,p_attribute18 in varchar2 default null
467 ,p_attribute19 in varchar2 default null
468 ,p_attribute20 in varchar2 default null
469 ,p_cert_enrollment_id OUT NOCOPY number
470 ,p_certification_status_code OUT NOCOPY VARCHAR2
471 ,p_return_status OUT NOCOPY VARCHAR2
472 ,p_enroll_from in varchar2 default null
473 ) IS
474
475 l_proc varchar2(72) := g_package || ' subscribe_to_certification';
476 l_validate boolean;
477
478 BEGIN
479
480 hr_multi_message.enable_message_list;
481 savepoint create_cert_subscription_swi;
482
483 l_validate :=
484 hr_api.constant_to_boolean
485 (p_constant_value => p_validate);
486
487 ota_cert_enrollment_api.subscribe_to_certification(
488 p_validate => l_validate
489 ,p_certification_id => p_certification_id
490 ,p_person_id => p_person_id
491 ,p_contact_id => p_contact_id
492 ,p_business_group_id => p_business_group_id
493 ,p_approval_flag => p_approval_flag
494 ,p_completion_date => p_completion_date
495 ,p_unenrollment_date => p_unenrollment_date
496 ,p_expiration_date => p_expiration_date
497 ,p_earliest_enroll_date => p_earliest_enroll_date
498 ,p_is_history_flag => p_is_history_flag
499 ,p_attribute_category => p_attribute_category
500 ,p_attribute1 => p_attribute1
501 ,p_attribute2 => p_attribute2
502 ,p_attribute3 => p_attribute3
503 ,p_attribute4 => p_attribute4
504 ,p_attribute5 => p_attribute5
505 ,p_attribute6 => p_attribute6
506 ,p_attribute7 => p_attribute7
507 ,p_attribute8 => p_attribute8
508 ,p_attribute9 => p_attribute9
509 ,p_attribute10 => p_attribute10
510 ,p_attribute11 => p_attribute11
511 ,p_attribute12 => p_attribute12
512 ,p_attribute13 => p_attribute13
513 ,p_attribute14 => p_attribute14
514 ,p_attribute15 => p_attribute15
515 ,p_attribute16 => p_attribute16
516 ,p_attribute17 => p_attribute17
517 ,p_attribute18 => p_attribute18
518 ,p_attribute19 => p_attribute19
519 ,p_attribute20 => p_attribute20
520 ,p_cert_enrollment_id => p_cert_enrollment_id
521 ,p_certification_status_code => p_certification_status_code
522 ,p_enroll_from => p_enroll_from);
523
524 --
525 -- Convert API warning boolean parameter values to specific
526 -- messages and add them to Multiple Message List
527 --
528 --
529 -- Convert API non-warning boolean parameter values
530 --
531 --
532 -- Derive the API return status value based on whether
533 -- messages of any type exist in the Multiple Message List.
534 -- Also disable Multiple Message Detection.
535 --
536 p_return_status := hr_multi_message.get_return_status_disable;
537 hr_utility.set_location(' Leaving:' || l_proc,20);
538
539 exception
540 when hr_multi_message.error_message_exist then
541 --
542 -- Catch the Multiple Message List exception which
543 -- indicates API processing has been aborted because
544 -- at least one message exists in the list.
545 --
546 rollback to create_cert_subscription_swi;
547 --
548 -- Reset IN OUT parameters and set OUT parameters
549 --
550 p_cert_enrollment_id := null;
551 p_certification_status_code := null;
552 p_return_status := hr_multi_message.get_return_status_disable;
553 hr_utility.set_location(' Leaving:' || l_proc, 30);
554
555 when hr_api.validate_enabled then
556 --
557 -- As the Validate_Enabled exception has been raised
558 -- we must rollback to the savepoint
559 --
560 rollback to create_cert_subscription_swi;
561 --
562 -- Only set output warning arguments
563 -- (Any key or derived arguments must be set to null
564 -- when validation only mode is being used.)
565 --
566 p_cert_enrollment_id := null;
567 p_certification_status_code := null;
568 hr_utility.set_location(' Leaving:'||l_proc, 80);
569 when others then
570 --
571 -- When Multiple Message Detection is enabled catch
572 -- any Application specific or other unexpected
573 -- exceptions. Adding appropriate details to the
574 -- Multiple Message List. Otherwise re-raise the
575 -- error.
576 --
577 rollback to create_cert_subscription_swi;
578 if hr_multi_message.unexpected_error_add(l_proc) then
579 hr_utility.set_location(' Leaving:' || l_proc,40);
580 raise;
581 end if;
582 --
583 -- Reset IN OUT and set OUT parameters
584 --
585 p_cert_enrollment_id := null;
586 p_certification_status_code := null;
587 p_return_status := hr_multi_message.get_return_status_disable;
588 hr_utility.set_location(' Leaving:' || l_proc,50);
589 END subscribe_to_certification;
590
591 end ota_cert_enrollment_swi;
592