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