DBA Data[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