DBA Data[Home] [Help]

PACKAGE BODY: APPS.OTA_FRM_NOTIF_SUBSCRIBER_SWI

Source


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