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