[Home] [Help]
PACKAGE BODY: APPS.OTA_FORUM_MESSAGE_SWI
Source
1 Package Body ota_forum_message_swi As
2 /* $Header: otfmsswi.pkb 120.3 2006/03/28 02:19 aabalakr noship $ */
3 --
4 -- Package variables
5 --
6 g_package varchar2(33) := 'ota_forum_message_swi.';
7 --
8 -- ----------------------------------------------------------------------------
9 -- |-------------------------< create_forum_message >-------------------------|
10 -- ----------------------------------------------------------------------------
11 PROCEDURE create_forum_message
12 (p_validate in number default hr_api.g_false_num
13 ,p_effective_date in date
14 ,p_forum_id in number
15 ,p_forum_thread_id in number
16 ,p_business_group_id in number
17 ,p_message_scope in varchar2
18 ,p_message_body in varchar2 default null
19 ,p_parent_message_id in number default null
20 ,p_person_id in number default null
21 ,p_contact_id in number default null
22 ,p_target_person_id in number default null
23 ,p_target_contact_id in number default null
24 ,p_forum_message_id in number
25 ,p_object_version_number out nocopy number
26 ,p_return_status out nocopy varchar2
27 ) is
28 --
29 -- Variables for API Boolean parameters
30 l_validate boolean;
31 --
32 -- Variables for IN/OUT parameters
33 --
34 -- Other variables
35 l_proc varchar2(72) := g_package ||'create_forum_message';
36 l_forum_message_id number;
37 Begin
38 hr_utility.set_location(' Entering:' || l_proc,10);
39 --
40 -- Issue a savepoint
41 --
42 savepoint create_forum_message_swi;
43 --
44 -- Initialise Multiple Message Detection
45 --
46 hr_multi_message.enable_message_list;
47 --
48 -- Remember IN OUT parameter IN values
49 --
50 --
51 -- Convert constant values to their corresponding boolean value
52 --
53 l_validate :=
54 hr_api.constant_to_boolean
55 (p_constant_value => p_validate);
56 --
57 --
58 -- Register Surrogate ID or user key values
59 --
60 ota_fms_ins.set_base_key_value
61 (
62 p_forum_message_id => p_forum_message_id
63 );
64
65 --
66 -- Call API
67 --
68 ota_forum_message_api.create_forum_message
69 (p_validate => l_validate
70 ,p_effective_date => p_effective_date
71 ,p_forum_id => p_forum_id
72 ,p_forum_thread_id => p_forum_thread_id
73 ,p_business_group_id => p_business_group_id
74 ,p_message_scope => p_message_scope
75 ,p_message_body => p_message_body
76 ,p_parent_message_id => p_parent_message_id
77 ,p_person_id => p_person_id
78 ,p_contact_id => p_contact_id
79 ,p_target_person_id => p_target_person_id
80 ,p_target_contact_id => p_target_contact_id
81 ,p_forum_message_id => l_forum_message_id
82 ,p_object_version_number => p_object_version_number
83 );
84 --
85 -- Convert API warning boolean parameter values to specific
86 -- messages and add them to Multiple Message List
87 --
88 --
89 -- Convert API non-warning boolean parameter values
90 --
91 --
92 -- Derive the API return status value based on whether
93 -- messages of any type exist in the Multiple Message List.
94 -- Also disable Multiple Message Detection.
95 --
96 p_return_status := hr_multi_message.get_return_status_disable;
97 hr_utility.set_location(' Leaving:' || l_proc,20);
98 --
99 exception
100 when hr_multi_message.error_message_exist then
101 --
102 -- Catch the Multiple Message List exception which
103 -- indicates API processing has been aborted because
104 -- at least one message exists in the list.
105 --
106 rollback to create_forum_message_swi;
107 --
108 -- Reset IN OUT parameters and set OUT parameters
109 --
110 l_forum_message_id := null;
111 p_object_version_number := null;
112 p_return_status := hr_multi_message.get_return_status_disable;
113 hr_utility.set_location(' Leaving:' || l_proc, 30);
114 when others then
115 --
116 -- When Multiple Message Detection is enabled catch
117 -- any Application specific or other unexpected
118 -- exceptions. Adding appropriate details to the
119 -- Multiple Message List. Otherwise re-raise the
120 -- error.
121 --
122 rollback to create_forum_message_swi;
123 if hr_multi_message.unexpected_error_add(l_proc) then
124 hr_utility.set_location(' Leaving:' || l_proc,40);
125 raise;
126 end if;
127 --
128 -- Reset IN OUT and set OUT parameters
129 --
130 l_forum_message_id := null;
131 p_object_version_number := null;
132 p_return_status := hr_multi_message.get_return_status_disable;
133 hr_utility.set_location(' Leaving:' || l_proc,50);
134 end create_forum_message;
135 -- ----------------------------------------------------------------------------
136 -- |-------------------------< update_forum_message >-------------------------|
137 -- ----------------------------------------------------------------------------
138 PROCEDURE update_forum_message
139 (p_validate in number default hr_api.g_false_num
140 ,p_effective_date in date
141 ,p_forum_id in number
142 ,p_forum_thread_id in number
143 ,p_business_group_id in number default hr_api.g_number
144 ,p_message_scope in varchar2 default hr_api.g_varchar2
145 ,p_message_body in varchar2 default hr_api.g_varchar2
146 ,p_parent_message_id in number default hr_api.g_number
147 ,p_person_id in number default hr_api.g_number
148 ,p_contact_id in number default hr_api.g_number
149 ,p_target_person_id in number default hr_api.g_number
150 ,p_target_contact_id in number default hr_api.g_number
151 ,p_forum_message_id in number
152 ,p_object_version_number in out nocopy number
153 ,p_return_status out nocopy varchar2
154 ) is
155 --
156 -- Variables for API Boolean parameters
157 l_validate boolean;
158 --
159 -- Variables for IN/OUT parameters
160 --
161 -- Other variables
162 l_proc varchar2(72) := g_package ||'update_forum_message';
163 l_forum_message_id number;
164 l_object_version_number number := p_object_version_number;
165
166 Begin
167 hr_utility.set_location(' Entering:' || l_proc,10);
168 --
169 -- Issue a savepoint
170 --
171 savepoint update_forum_message_swi;
172 --
173 -- Initialise Multiple Message Detection
174 --
175 hr_multi_message.enable_message_list;
176 --
177 -- Remember IN OUT parameter IN values
178 --
179 --
180 -- Convert constant values to their corresponding boolean value
181 --
182 l_validate :=
183 hr_api.constant_to_boolean
184 (p_constant_value => p_validate);
185 --
186 --
187 -- Call API
188 --
189 ota_forum_message_api.update_forum_message
190 (p_validate => l_validate
191 ,p_effective_date => p_effective_date
192 ,p_forum_id => p_forum_id
193 ,p_forum_thread_id => p_forum_thread_id
194 ,p_business_group_id => p_business_group_id
195 ,p_message_scope => p_message_scope
196 ,p_message_body => p_message_body
197 ,p_parent_message_id => p_parent_message_id
198 ,p_person_id => p_person_id
199 ,p_contact_id => p_contact_id
200 ,p_target_person_id => p_target_person_id
201 ,p_target_contact_id => p_target_contact_id
202 ,p_forum_message_id => p_forum_message_id
203 ,p_object_version_number => l_object_version_number
204 );
205 --
206 -- Convert API warning boolean parameter values to specific
207 -- messages and add them to Multiple Message List
208 --
209 --
210 -- Convert API non-warning boolean parameter values
211 --
212 --
213 -- Derive the API return status value based on whether
214 -- messages of any type exist in the Multiple Message List.
215 -- Also disable Multiple Message Detection.
216 --
217 p_return_status := hr_multi_message.get_return_status_disable;
218 p_object_version_number := l_object_version_number;
219
220 hr_utility.set_location(' Leaving:' || l_proc,20);
221 --
222 exception
223 when hr_multi_message.error_message_exist then
224 --
225 -- Catch the Multiple Message List exception which
226 -- indicates API processing has been aborted because
227 -- at least one message exists in the list.
228 --
229 rollback to update_forum_message_swi;
230 --
231 -- Reset IN OUT parameters and set OUT parameters
232 --
233 l_forum_message_id := null;
234 p_object_version_number := null;
235 p_return_status := hr_multi_message.get_return_status_disable;
236 hr_utility.set_location(' Leaving:' || l_proc, 30);
237 when others then
238 --
239 -- When Multiple Message Detection is enabled catch
240 -- any Application specific or other unexpected
241 -- exceptions. Adding appropriate details to the
242 -- Multiple Message List. Otherwise re-raise the
243 -- error.
244 --
245 rollback to update_forum_message_swi;
246 if hr_multi_message.unexpected_error_add(l_proc) then
247 hr_utility.set_location(' Leaving:' || l_proc,40);
248 raise;
249 end if;
250 --
251 -- Reset IN OUT and set OUT parameters
252 --
253 l_forum_message_id := null;
254 p_object_version_number := null;
255 p_return_status := hr_multi_message.get_return_status_disable;
256 hr_utility.set_location(' Leaving:' || l_proc,50);
257 end update_forum_message;
258 -- ----------------------------------------------------------------------------
259 -- |-------------------------< delete_forum_message >-------------------------|
260 -- ----------------------------------------------------------------------------
261 PROCEDURE delete_forum_message
262 (p_validate in number default hr_api.g_false_num
263 ,p_forum_message_id in number
264 ,p_object_version_number in number
265 ,p_return_status out nocopy varchar2
266 ) is
267 --
268 -- Variables for API Boolean parameters
269 l_validate boolean;
270 --
271 -- Variables for IN/OUT parameters
272 --
273 -- Other variables
274 l_proc varchar2(72) := g_package ||'delete_forum_message';
275 Begin
276 hr_utility.set_location(' Entering:' || l_proc,10);
277 --
278 -- Issue a savepoint
279 --
280 savepoint delete_forum_message_swi;
281 --
282 -- Initialise Multiple Message Detection
283 --
284 hr_multi_message.enable_message_list;
285 --
286 -- Remember IN OUT parameter IN values
287 --
288 --
289 -- Convert constant values to their corresponding boolean value
290 --
291 l_validate :=
292 hr_api.constant_to_boolean
293 (p_constant_value => p_validate);
294 --
295 -- Register Surrogate ID or user key values
296 --
297 --
298 -- Call API
299 --
300 ota_forum_message_api.delete_forum_message
301 (p_validate => l_validate
302 ,p_forum_message_id => p_forum_message_id
303 ,p_object_version_number => p_object_version_number
304 );
305 --
306 -- Convert API warning boolean parameter values to specific
307 -- messages and add them to Multiple Message List
308 --
309 --
310 -- Convert API non-warning boolean parameter values
311 --
312 --
313 -- Derive the API return status value based on whether
314 -- messages of any type exist in the Multiple Message List.
315 -- Also disable Multiple Message Detection.
316 --
317 p_return_status := hr_multi_message.get_return_status_disable;
318 hr_utility.set_location(' Leaving:' || l_proc,20);
319 --
320 exception
321 when hr_multi_message.error_message_exist then
322 --
323 -- Catch the Multiple Message List exception which
324 -- indicates API processing has been aborted because
325 -- at least one message exists in the list.
326 --
327 rollback to delete_forum_message_swi;
328 --
329 -- Reset IN OUT parameters and set OUT parameters
330 --
331 p_return_status := hr_multi_message.get_return_status_disable;
332 hr_utility.set_location(' Leaving:' || l_proc, 30);
333 when others then
334 --
335 -- When Multiple Message Detection is enabled catch
336 -- any Application specific or other unexpected
337 -- exceptions. Adding appropriate details to the
338 -- Multiple Message List. Otherwise re-raise the
339 -- error.
340 --
341 rollback to delete_forum_message_swi;
342 if hr_multi_message.unexpected_error_add(l_proc) then
343 hr_utility.set_location(' Leaving:' || l_proc,40);
344 raise;
345 end if;
346 --
347 -- Reset IN OUT and set OUT parameters
348 --
349 p_return_status := hr_multi_message.get_return_status_disable;
350 hr_utility.set_location(' Leaving:' || l_proc,50);
351 end delete_forum_message;
352 end ota_forum_message_swi;