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;