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