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