[Home] [Help]
PACKAGE BODY: APPS.OTA_EVENT_API
Source
1 PACKAGE BODY OTA_EVENT_API as
2 /* $Header: otevtapi.pkb 120.5.12020000.2 2012/06/29 12:44:48 rpahune ship $ */
3 --
4 -- Package Variables
5 --
6 g_package varchar2(33) := ' OTA_EVENT_API.';
7 --
8 --
9 --
10 FUNCTION istimezonechanged (p_event_id NUMBER, p_timezone VARCHAR2)
11 RETURN BOOLEAN
12 IS
13 l_timezone VARCHAR2 (30);
14
15 CURSOR csr_evt_tz (p_event_id NUMBER)
16 IS
17 SELECT TIMEZONE
18 FROM ota_events
19 WHERE event_id = p_event_id
20 AND event_type IN ('SCHEDULED', 'SELFPACED');
21 BEGIN
22
23 OPEN csr_evt_tz (p_event_id);
24
25 FETCH csr_evt_tz
26 INTO l_timezone;
27 CLOSE csr_evt_tz;
28
29 IF l_timezone IS NOT NULL AND p_timezone <> l_timezone
30 THEN
31 RETURN TRUE;
32 ELSE
33 RETURN FALSE;
34 END IF;
35 END;
36
37 --
38 --
39 --
40 PROCEDURE proc_upd_evt_chat_sess (
41 p_event_id IN NUMBER,
42 p_timezone IN VARCHAR2,
43 p_effective_date IN DATE
44 )
45 IS
46
47 CURSOR csr_chats (
48 p_event_id IN NUMBER
49 )
50 IS
51 SELECT cht.chat_id, cht.NAME, cht.description,chb.business_group_id,chb.object_version_number
52 FROM ota_chats_tl cht, ota_chat_obj_inclusions coi, ota_chats_b chb
53 WHERE coi.chat_id = cht.chat_id
54 AND coi.object_id = p_event_id
55 and cht.language = userenv('LANG')
56 AND chb.chat_id = coi.chat_id;
57
58
59 CURSOR csr_sess (
60 p_event_id IN NUMBER
61 )
62 IS
63 SELECT event_id,business_group_id,object_version_number
64 FROM ota_events
65 WHERE parent_event_id = p_event_id;
66 BEGIN
67
68 for csr_chats_row in csr_chats(p_event_id)
69 loop
70
71 ota_chat_api.update_chat
72 (p_effective_date => p_effective_date,
73 p_name => csr_chats_row.name,
74 p_description => csr_chats_row.description,
75 p_business_group_id => csr_chats_row.business_group_id,
76 p_timezone_code => p_timezone,
77 p_chat_id => csr_chats_row.chat_id,
78 p_object_version_number => csr_chats_row.object_version_number
79 );
80
81 end loop;
82
83 for csr_sess_row in csr_sess(p_event_id)
84 loop
85
86
87 ota_event_api.update_class
88 (p_event_id => csr_sess_row.event_id,
89 p_effective_date => p_effective_date,
90 p_business_group_id => csr_sess_row.business_group_id,
91 p_object_version_number => csr_sess_row.object_version_number,
92 p_timezone => p_timezone
93 );
94 end loop;
95
96
97
98 END;
99
100
101 -- ----------------------------------------------------------------------------
102 -- |-----------------------------< CREATE_CLASS >-----------------------------|
103 -- ----------------------------------------------------------------------------
104 --
105 procedure create_class(
106 p_effective_date in date,
107 p_event_id out nocopy number,
108 p_vendor_id in number default null,
109 p_activity_version_id in number default null,
110 p_business_group_id in number,
111 p_organization_id in number default null,
112 p_event_type in varchar2,
113 p_object_version_number out nocopy number,
114 p_title in varchar2,
115 p_budget_cost in number default null,
116 p_actual_cost in number default null,
117 p_budget_currency_code in varchar2 default null,
118 p_centre in varchar2 default null,
119 p_comments in varchar2 default null,
120 p_course_end_date in date default null,
121 p_course_end_time in varchar2 default null,
122 p_course_start_date in date default null,
123 p_course_start_time in varchar2 default null,
124 p_duration in number default null,
125 p_duration_units in varchar2 default null,
126 p_enrolment_end_date in date default null,
127 p_enrolment_start_date in date default null,
128 p_language_id in number default null,
129 p_user_status in varchar2 default null,
130 p_development_event_type in varchar2 default null,
131 p_event_status in varchar2 default null,
132 p_price_basis in varchar2 default null,
133 p_currency_code in varchar2 default null,
134 p_maximum_attendees in number default null,
135 p_maximum_internal_attendees in number default null,
136 p_minimum_attendees in number default null,
137 p_standard_price in number default null,
138 p_category_code in varchar2 default null,
139 p_parent_event_id in number default null,
140 p_book_independent_flag in varchar2 default null,
141 p_public_event_flag in varchar2 default null,
142 p_secure_event_flag in varchar2 default null,
143 p_evt_information_category in varchar2 default null,
144 p_evt_information1 in varchar2 default null,
145 p_evt_information2 in varchar2 default null,
146 p_evt_information3 in varchar2 default null,
147 p_evt_information4 in varchar2 default null,
148 p_evt_information5 in varchar2 default null,
149 p_evt_information6 in varchar2 default null,
150 p_evt_information7 in varchar2 default null,
151 p_evt_information8 in varchar2 default null,
152 p_evt_information9 in varchar2 default null,
153 p_evt_information10 in varchar2 default null,
154 p_evt_information11 in varchar2 default null,
155 p_evt_information12 in varchar2 default null,
156 p_evt_information13 in varchar2 default null,
157 p_evt_information14 in varchar2 default null,
158 p_evt_information15 in varchar2 default null,
159 p_evt_information16 in varchar2 default null,
160 p_evt_information17 in varchar2 default null,
161 p_evt_information18 in varchar2 default null,
162 p_evt_information19 in varchar2 default null,
163 p_evt_information20 in varchar2 default null,
164 p_project_id in number default null,
165 p_owner_id in number default null,
166 p_line_id in number default null,
167 p_org_id in number default null,
168 p_training_center_id in number default null,
169 p_location_id in number default null,
170 p_offering_id in number default null,
171 p_timezone in varchar2 default null,
172 p_parent_offering_id in number default null,
173 p_data_source in varchar2 default null,
174 p_validate in boolean default false,
175 p_event_availability in varchar2 default null
176 ) is
177 --
178 -- Declare cursors and local variables
179 --
180 l_proc varchar2(72) := g_package||' Create Class';
181 l_event_id number;
182 l_object_version_number number;
183 l_effective_date date;
184 begin
185 hr_utility.set_location('Entering:'|| l_proc, 10);
186 --
187 -- Issue a savepoint
188 --
189 savepoint CREATE_CLASS;
190 --
191 -- Truncate the time portion from all IN date parameters
192 --
193 l_effective_date := trunc(p_effective_date);
194 --
195 -- Call Before Process User Hook
196 --
197
198 begin
199 ota_event_bk1.create_class_b
200 (p_effective_date => l_effective_date,
201 p_vendor_id => p_vendor_id,
202 p_activity_version_id => p_activity_version_id,
203 p_business_group_id => p_business_group_id,
204 p_organization_id => p_organization_id,
205 p_event_type => p_event_type,
206 p_object_version_number => l_object_version_number,
207 p_title => p_title,
208 p_budget_cost => p_budget_cost,
209 p_actual_cost => p_actual_cost,
210 p_budget_currency_code => p_budget_currency_code,
211 p_centre => p_centre,
212 p_comments => p_comments,
213 p_course_end_date => p_course_end_date,
214 p_course_end_time => p_course_end_time,
215 p_course_start_date => p_course_start_date,
216 p_course_start_time => p_course_start_time,
217 p_duration => p_duration,
218 p_duration_units => p_duration_units,
219 p_enrolment_end_date => p_enrolment_end_date,
220 p_enrolment_start_date => p_enrolment_start_date,
221 p_language_id => p_language_id,
222 p_user_status => p_user_status,
223 p_development_event_type => p_development_event_type,
224 p_event_status => p_event_status,
225 p_price_basis => p_price_basis,
226 p_currency_code => p_currency_code,
227 p_maximum_attendees => p_maximum_attendees,
228 p_maximum_internal_attendees => p_maximum_internal_attendees,
229 p_minimum_attendees => p_minimum_attendees,
230 p_standard_price => p_standard_price,
231 p_category_code => p_category_code,
232 p_parent_event_id => p_parent_event_id,
233 p_book_independent_flag => p_book_independent_flag,
234 p_public_event_flag => p_public_event_flag,
235 p_secure_event_flag => p_secure_event_flag,
236 p_evt_information_category => p_evt_information_category,
237 p_evt_information1 => p_evt_information1,
238 p_evt_information2 => p_evt_information2,
239 p_evt_information3 => p_evt_information3,
240 p_evt_information4 => p_evt_information4,
241 p_evt_information5 => p_evt_information5,
242 p_evt_information6 => p_evt_information6,
243 p_evt_information7 => p_evt_information7,
244 p_evt_information8 => p_evt_information8,
245 p_evt_information9 => p_evt_information9,
246 p_evt_information10 => p_evt_information10,
247 p_evt_information11 => p_evt_information11,
248 p_evt_information12 => p_evt_information12,
249 p_evt_information13 => p_evt_information13,
250 p_evt_information14 => p_evt_information14,
251 p_evt_information15 => p_evt_information15,
252 p_evt_information16 => p_evt_information16,
253 p_evt_information17 => p_evt_information17,
254 p_evt_information18 => p_evt_information18,
255 p_evt_information19 => p_evt_information19,
256 p_evt_information20 => p_evt_information20,
257 p_project_id => p_project_id,
258 p_owner_id => p_owner_id,
259 p_line_id => p_line_id,
260 p_org_id => p_org_id,
261 p_training_center_id => p_training_center_id,
262 p_location_id => p_location_id,
263 p_offering_id => p_offering_id,
264 p_timezone => p_timezone,
265 p_parent_offering_id => p_parent_offering_id,
266 p_data_source => p_data_source,
267 p_event_availability => p_event_availability);
268
269 exception
270 when hr_api.cannot_find_prog_unit then
271 hr_api.cannot_find_prog_unit_error
272 (p_module_name => 'CREATE_CLASS'
273 ,p_hook_type => 'BP'
274 );
275 end;
276 --
277
278 -- Validation in addition to Row Handlers
279 --
280 --
281 -- Process Logic
282 --
283 ota_evt_ins.ins(
284 p_vendor_id => p_vendor_id,
285 p_activity_version_id => p_activity_version_id,
286 p_business_group_id => p_business_group_id,
287 p_organization_id => p_organization_id,
288 p_event_type => p_event_type,
289 p_title => p_title,
290 p_budget_cost => p_budget_cost,
291 p_actual_cost => p_actual_cost,
292 p_budget_currency_code => p_budget_currency_code,
293 p_centre => p_centre,
294 p_comments => p_comments,
295 p_course_end_date => p_course_end_date,
296 p_course_end_time => p_course_end_time,
297 p_course_start_date => p_course_start_date,
298 p_course_start_time => p_course_start_time,
299 p_duration => p_duration,
300 p_duration_units => p_duration_units,
301 p_enrolment_end_date => p_enrolment_end_date,
302 p_enrolment_start_date => p_enrolment_start_date,
303 p_language_id => p_language_id,
304 p_user_status => p_user_status,
305 p_development_event_type => p_development_event_type,
306 p_event_status => p_event_status,
307 p_price_basis => p_price_basis,
308 p_currency_code => p_currency_code,
309 p_maximum_attendees => p_maximum_attendees,
310 p_maximum_internal_attendees => p_maximum_internal_attendees,
311 p_minimum_attendees => p_minimum_attendees,
312 p_standard_price => p_standard_price,
313 p_category_code => p_category_code,
314 p_parent_event_id => p_parent_event_id,
315 p_book_independent_flag => p_book_independent_flag,
316 p_public_event_flag => p_public_event_flag,
317 p_secure_event_flag => p_secure_event_flag,
318 p_evt_information_category => p_evt_information_category,
319 p_evt_information1 => p_evt_information1,
320 p_evt_information2 => p_evt_information2,
321 p_evt_information3 => p_evt_information3,
322 p_evt_information4 => p_evt_information4,
323 p_evt_information5 => p_evt_information5,
324 p_evt_information6 => p_evt_information6,
325 p_evt_information7 => p_evt_information7,
326 p_evt_information8 => p_evt_information8,
327 p_evt_information9 => p_evt_information9,
328 p_evt_information10 => p_evt_information10,
329 p_evt_information11 => p_evt_information11,
330 p_evt_information12 => p_evt_information12,
331 p_evt_information13 => p_evt_information13,
332 p_evt_information14 => p_evt_information14,
333 p_evt_information15 => p_evt_information15,
334 p_evt_information16 => p_evt_information16,
335 p_evt_information17 => p_evt_information17,
336 p_evt_information18 => p_evt_information18,
337 p_evt_information19 => p_evt_information19,
338 p_evt_information20 => p_evt_information20,
339 p_project_id => p_project_id,
340 p_owner_id => p_owner_id,
341 p_line_id => p_line_id,
342 p_org_id => p_org_id,
343 p_training_center_id => p_training_center_id,
344 p_location_id => p_location_id,
345 p_offering_id => p_offering_id,
346 p_timezone => p_timezone,
347 p_parent_offering_id => p_parent_offering_id,
348 p_data_source => p_data_source,
349 p_validate => p_validate,
350 p_event_id => l_event_id,
351 p_object_version_number => l_object_version_number,
352 p_event_availability => p_event_availability
353 );
354 -- Set all output arguments
355 --
356 p_event_id := l_event_id;
357 p_object_version_number := l_object_version_number;
358
359 -- Modified for the Bug 7238412
360 if not p_validate then
361 ota_ent_ins.ins_tl(
362 p_effective_date => p_effective_date,
363 p_language_code => USERENV('LANG'),
364 p_event_id => p_event_id,
365 p_title => p_title
366 );
367 end if;
368 --
369 --Adding evaluation at class level from the default
370 --class evaluation at the course level.
371 add_evaluation(p_event_id,p_activity_version_id);
372
373 --
374 -- Call After Process User Hook
375 --
376 begin
377 ota_event_bk1.create_class_a
378 (p_effective_date => l_effective_date,
379 p_event_id => l_event_id,
380 p_vendor_id => p_vendor_id,
381 p_activity_version_id => p_activity_version_id,
382 p_business_group_id => p_business_group_id,
383 p_organization_id => p_organization_id,
384 p_event_type => p_event_type,
385 p_object_version_number => l_object_version_number,
386 p_title => p_title,
387 p_budget_cost => p_budget_cost,
388 p_actual_cost => p_actual_cost,
389 p_budget_currency_code => p_budget_currency_code,
390 p_centre => p_centre,
391 p_comments => p_comments,
392 p_course_end_date => p_course_end_date,
393 p_course_end_time => p_course_end_time,
394 p_course_start_date => p_course_start_date,
395 p_course_start_time => p_course_start_time,
396 p_duration => p_duration,
397 p_duration_units => p_duration_units,
398 p_enrolment_end_date => p_enrolment_end_date,
399 p_enrolment_start_date => p_enrolment_start_date,
400 p_language_id => p_language_id,
401 p_user_status => p_user_status,
402 p_development_event_type => p_development_event_type,
403 p_event_status => p_event_status,
404 p_price_basis => p_price_basis,
405 p_currency_code => p_currency_code,
406 p_maximum_attendees => p_maximum_attendees,
407 p_maximum_internal_attendees => p_maximum_internal_attendees,
408 p_minimum_attendees => p_minimum_attendees,
409 p_standard_price => p_standard_price,
410 p_category_code => p_category_code,
411 p_parent_event_id => p_parent_event_id,
412 p_book_independent_flag => p_book_independent_flag,
413 p_public_event_flag => p_public_event_flag,
414 p_secure_event_flag => p_secure_event_flag,
415 p_evt_information_category => p_evt_information_category,
416 p_evt_information1 => p_evt_information1,
417 p_evt_information2 => p_evt_information2,
418 p_evt_information3 => p_evt_information3,
419 p_evt_information4 => p_evt_information4,
420 p_evt_information5 => p_evt_information5,
421 p_evt_information6 => p_evt_information6,
422 p_evt_information7 => p_evt_information7,
423 p_evt_information8 => p_evt_information8,
424 p_evt_information9 => p_evt_information9,
425 p_evt_information10 => p_evt_information10,
426 p_evt_information11 => p_evt_information11,
427 p_evt_information12 => p_evt_information12,
428 p_evt_information13 => p_evt_information13,
429 p_evt_information14 => p_evt_information14,
430 p_evt_information15 => p_evt_information15,
431 p_evt_information16 => p_evt_information16,
432 p_evt_information17 => p_evt_information17,
433 p_evt_information18 => p_evt_information18,
434 p_evt_information19 => p_evt_information19,
435 p_evt_information20 => p_evt_information20,
436 p_project_id => p_project_id,
437 p_owner_id => p_owner_id,
438 p_line_id => p_line_id,
439 p_org_id => p_org_id,
440 p_training_center_id => p_training_center_id,
441 p_location_id => p_location_id,
442 p_offering_id => p_offering_id,
443 p_timezone => p_timezone,
444 p_parent_offering_id => p_parent_offering_id,
445 p_data_source => p_data_source,
446 p_event_availability => p_event_availability);
447 exception
448 when hr_api.cannot_find_prog_unit then
449 hr_api.cannot_find_prog_unit_error
450 (p_module_name => 'CREATE_CLASS'
451 ,p_hook_type => 'AP'
452 );
453 end;
454
455 --
456 -- When in validation only mode raise the Validate_Enabled exception
457 --
458 if p_validate then
459 raise hr_api.validate_enabled;
460 end if;
461 --
462 -- Set all output arguments
463 --
464 p_event_id := l_event_id;
465 p_object_version_number := l_object_version_number;
466 --
467 hr_utility.set_location(' Leaving:'||l_proc, 70);
468 exception
469 when hr_api.validate_enabled then
470 --
471 -- As the Validate_Enabled exception has been raised
472 -- we must rollback to the savepoint
473 --
474 rollback to CREATE_CLASS;
475 --
476 -- Only set output warning arguments
477 -- (Any key or derived arguments must be set to null
478 -- when validation only mode is being used.)
479 --
480 p_event_id := null;
481 p_object_version_number := null;
482 hr_utility.set_location(' Leaving:'||l_proc, 80);
483 when others then
484 --
485 -- A validation or unexpected error has occured
486 --
487 rollback to CREATE_CLASS;
488 p_event_id := null;
489 p_object_version_number := null;
490 hr_utility.set_location(' Leaving:'||l_proc, 90);
491 raise;
492 end create_class;
493 -- ----------------------------------------------------------------------------
494 -- |-------------------------< UPDATE_CLASS >---------------------------------|
495 -- ----------------------------------------------------------------------------
496 --
497 procedure update_class
498 (p_event_id in number,
499 p_effective_date in date,
500 p_vendor_id in number default hr_api.g_number,
501 p_activity_version_id in number default hr_api.g_number,
502 p_business_group_id in number default hr_api.g_number,
503 p_organization_id in number default hr_api.g_number,
504 p_event_type in varchar2 default hr_api.g_varchar2,
505 p_object_version_number in out nocopy number,
506 p_title in varchar2 default hr_api.g_varchar2,
507 p_budget_cost in number default hr_api.g_number,
508 p_actual_cost in number default hr_api.g_number,
509 p_budget_currency_code in varchar2 default hr_api.g_varchar2,
510 p_centre in varchar2 default hr_api.g_varchar2,
511 p_comments in varchar2 default hr_api.g_varchar2,
512 p_course_end_date in date default hr_api.g_date,
513 p_course_end_time in varchar2 default hr_api.g_varchar2,
514 p_course_start_date in date default hr_api.g_date,
515 p_course_start_time in varchar2 default hr_api.g_varchar2,
516 p_duration in number default hr_api.g_number,
517 p_duration_units in varchar2 default hr_api.g_varchar2,
518 p_enrolment_end_date in date default hr_api.g_date,
519 p_enrolment_start_date in date default hr_api.g_date,
520 p_language_id in number default hr_api.g_number,
521 p_user_status in varchar2 default hr_api.g_varchar2,
522 p_development_event_type in varchar2 default hr_api.g_varchar2,
523 p_event_status in varchar2 default hr_api.g_varchar2,
524 p_price_basis in varchar2 default hr_api.g_varchar2,
525 p_currency_code in varchar2 default hr_api.g_varchar2,
526 p_maximum_attendees in number default hr_api.g_number,
527 p_maximum_internal_attendees in number default hr_api.g_number,
528 p_minimum_attendees in number default hr_api.g_number,
529 p_standard_price in number default hr_api.g_number,
530 p_category_code in varchar2 default hr_api.g_varchar2,
531 p_parent_event_id in number default hr_api.g_number,
532 p_book_independent_flag in varchar2 default hr_api.g_varchar2,
533 p_public_event_flag in varchar2 default hr_api.g_varchar2,
534 p_secure_event_flag in varchar2 default hr_api.g_varchar2,
535 p_evt_information_category in varchar2 default hr_api.g_varchar2,
536 p_evt_information1 in varchar2 default hr_api.g_varchar2,
537 p_evt_information2 in varchar2 default hr_api.g_varchar2,
538 p_evt_information3 in varchar2 default hr_api.g_varchar2,
539 p_evt_information4 in varchar2 default hr_api.g_varchar2,
540 p_evt_information5 in varchar2 default hr_api.g_varchar2,
541 p_evt_information6 in varchar2 default hr_api.g_varchar2,
542 p_evt_information7 in varchar2 default hr_api.g_varchar2,
543 p_evt_information8 in varchar2 default hr_api.g_varchar2,
544 p_evt_information9 in varchar2 default hr_api.g_varchar2,
545 p_evt_information10 in varchar2 default hr_api.g_varchar2,
546 p_evt_information11 in varchar2 default hr_api.g_varchar2,
547 p_evt_information12 in varchar2 default hr_api.g_varchar2,
548 p_evt_information13 in varchar2 default hr_api.g_varchar2,
549 p_evt_information14 in varchar2 default hr_api.g_varchar2,
550 p_evt_information15 in varchar2 default hr_api.g_varchar2,
551 p_evt_information16 in varchar2 default hr_api.g_varchar2,
552 p_evt_information17 in varchar2 default hr_api.g_varchar2,
553 p_evt_information18 in varchar2 default hr_api.g_varchar2,
554 p_evt_information19 in varchar2 default hr_api.g_varchar2,
555 p_evt_information20 in varchar2 default hr_api.g_varchar2,
556 p_project_id in number default hr_api.g_number,
557 p_owner_id in number default hr_api.g_number,
558 p_line_id in number default hr_api.g_number,
559 p_org_id in number default hr_api.g_number,
560 p_training_center_id in number default hr_api.g_number,
561 p_location_id in number default hr_api.g_number,
562 p_offering_id in number default hr_api.g_number,
563 p_timezone in varchar2 default hr_api.g_varchar2,
564 -- Bug#2200078 Corrected default value for offering_id and timezone
565 -- p_offering_id in number default null,
566 -- p_timezone in varchar2 default null,
567 p_parent_offering_id in number default hr_api.g_number,
568 p_data_source in varchar2 default hr_api.g_varchar2,
569 p_validate in boolean default false,
570 p_event_availability in varchar2 default hr_api.g_varchar2
571 ) is
572 --
573 -- Declare cursors and local variables
574 --
575 l_proc varchar2(72) := g_package||' Update Class';
576 l_effective_date date;
577 l_object_version_number number := p_object_version_number;
578 l_timezonechanged BOOLEAN := false;
579 begin
580 hr_utility.set_location('Entering:'|| l_proc, 10);
581 --
582 -- Issue a savepoint
583 --
584 savepoint UPDATE_CLASS;
585 --
586 -- Truncate the time portion from all IN date parameters
587 --
588 IF p_timezone <> hr_api.g_varchar2 THEN
589 l_timezonechanged := istimezonechanged(p_event_id, p_timezone);
590 END IF;
591 --
592 l_effective_date := trunc(p_effective_date);
593 --
594 -- Call Before Process User Hook
595 --
596
597 begin
598 ota_event_bk2.update_class_b
599 (p_effective_date => l_effective_date,
600 p_event_id => p_event_id,
601 p_vendor_id => p_vendor_id,
602 p_activity_version_id => p_activity_version_id,
603 p_business_group_id => p_business_group_id,
604 p_organization_id => p_organization_id,
605 p_event_type => p_event_type,
606 p_object_version_number => l_object_version_number,
607 p_title => p_title,
608 p_budget_cost => p_budget_cost,
609 p_actual_cost => p_actual_cost,
610 p_budget_currency_code => p_budget_currency_code,
611 p_centre => p_centre,
612 p_comments => p_comments,
613 p_course_end_date => p_course_end_date,
614 p_course_end_time => p_course_end_time,
615 p_course_start_date => p_course_start_date,
616 p_course_start_time => p_course_start_time,
617 p_duration => p_duration,
618 p_duration_units => p_duration_units,
619 p_enrolment_end_date => p_enrolment_end_date,
620 p_enrolment_start_date => p_enrolment_start_date,
621 p_language_id => p_language_id,
622 p_user_status => p_user_status,
623 p_development_event_type => p_development_event_type,
624 p_event_status => p_event_status,
625 p_price_basis => p_price_basis,
626 p_currency_code => p_currency_code,
627 p_maximum_attendees => p_maximum_attendees,
628 p_maximum_internal_attendees => p_maximum_internal_attendees,
629 p_minimum_attendees => p_minimum_attendees,
630 p_standard_price => p_standard_price,
631 p_category_code => p_category_code,
632 p_parent_event_id => p_parent_event_id,
633 p_book_independent_flag => p_book_independent_flag,
634 p_public_event_flag => p_public_event_flag,
635 p_secure_event_flag => p_secure_event_flag,
636 p_evt_information_category => p_evt_information_category,
637 p_evt_information1 => p_evt_information1,
638 p_evt_information2 => p_evt_information2,
639 p_evt_information3 => p_evt_information3,
640 p_evt_information4 => p_evt_information4,
641 p_evt_information5 => p_evt_information5,
642 p_evt_information6 => p_evt_information6,
643 p_evt_information7 => p_evt_information7,
644 p_evt_information8 => p_evt_information8,
645 p_evt_information9 => p_evt_information9,
646 p_evt_information10 => p_evt_information10,
647 p_evt_information11 => p_evt_information11,
648 p_evt_information12 => p_evt_information12,
649 p_evt_information13 => p_evt_information13,
650 p_evt_information14 => p_evt_information14,
651 p_evt_information15 => p_evt_information15,
652 p_evt_information16 => p_evt_information16,
653 p_evt_information17 => p_evt_information17,
654 p_evt_information18 => p_evt_information18,
655 p_evt_information19 => p_evt_information19,
656 p_evt_information20 => p_evt_information20,
657 p_project_id => p_project_id,
658 p_owner_id => p_owner_id,
659 p_line_id => p_line_id,
660 p_org_id => p_org_id,
661 p_training_center_id => p_training_center_id,
662 p_location_id => p_location_id,
663 p_offering_id => p_offering_id,
664 p_timezone => p_timezone,
665 p_parent_offering_id => p_parent_offering_id,
666 p_data_source => p_data_source,
667 p_event_availability => p_event_availability);
668
669 exception
670 when hr_api.cannot_find_prog_unit then
671 hr_api.cannot_find_prog_unit_error
672 (p_module_name => 'UPDATE_CLASS'
673 ,p_hook_type => 'BP'
674 );
675 end;
676 --
677
678 -- Validation in addition to Row Handlers
679 --
680 --
681 -- Process Logic
682 --
683 ota_evt_upd.upd(
684 p_vendor_id => p_vendor_id,
685 p_activity_version_id => p_activity_version_id,
686 p_business_group_id => p_business_group_id,
687 p_organization_id => p_organization_id,
688 p_event_type => p_event_type,
689 p_title => p_title,
690 p_budget_cost => p_budget_cost,
691 p_actual_cost => p_actual_cost,
692 p_budget_currency_code => p_budget_currency_code,
693 p_centre => p_centre,
694 p_comments => p_comments,
695 p_course_end_date => p_course_end_date,
696 p_course_end_time => p_course_end_time,
697 p_course_start_date => p_course_start_date,
698 p_course_start_time => p_course_start_time,
699 p_duration => p_duration,
700 p_duration_units => p_duration_units,
701 p_enrolment_end_date => p_enrolment_end_date,
702 p_enrolment_start_date => p_enrolment_start_date,
703 p_language_id => p_language_id,
704 p_user_status => p_user_status,
705 p_development_event_type => p_development_event_type,
706 p_event_status => p_event_status,
707 p_price_basis => p_price_basis,
708 p_currency_code => p_currency_code,
709 p_maximum_attendees => p_maximum_attendees,
710 p_maximum_internal_attendees => p_maximum_internal_attendees,
711 p_minimum_attendees => p_minimum_attendees,
712 p_standard_price => p_standard_price,
713 p_category_code => p_category_code,
714 p_parent_event_id => p_parent_event_id,
715 p_book_independent_flag => p_book_independent_flag,
716 p_public_event_flag => p_public_event_flag,
717 p_secure_event_flag => p_secure_event_flag,
718 p_evt_information_category => p_evt_information_category,
719 p_evt_information1 => p_evt_information1,
720 p_evt_information2 => p_evt_information2,
721 p_evt_information3 => p_evt_information3,
722 p_evt_information4 => p_evt_information4,
723 p_evt_information5 => p_evt_information5,
724 p_evt_information6 => p_evt_information6,
725 p_evt_information7 => p_evt_information7,
726 p_evt_information8 => p_evt_information8,
727 p_evt_information9 => p_evt_information9,
728 p_evt_information10 => p_evt_information10,
729 p_evt_information11 => p_evt_information11,
730 p_evt_information12 => p_evt_information12,
731 p_evt_information13 => p_evt_information13,
732 p_evt_information14 => p_evt_information14,
733 p_evt_information15 => p_evt_information15,
734 p_evt_information16 => p_evt_information16,
735 p_evt_information17 => p_evt_information17,
736 p_evt_information18 => p_evt_information18,
737 p_evt_information19 => p_evt_information19,
738 p_evt_information20 => p_evt_information20,
739 p_project_id => p_project_id,
740 p_owner_id => p_owner_id,
741 p_line_id => p_line_id,
742 p_org_id => p_org_id,
743 p_training_center_id => p_training_center_id,
744 p_location_id => p_location_id,
745 p_offering_id => p_offering_id,
746 p_timezone => p_timezone,
747 p_parent_offering_id => p_parent_offering_id,
748 p_data_source => p_data_source,
749 p_validate => p_validate,
750 p_event_id => p_event_id,
751 p_object_version_number => l_object_version_number,
752 p_event_availability => p_event_availability
753 );
754
755 ota_ent_upd.upd_tl(
756 p_effective_date => p_effective_date,
757 p_language_code => USERENV('LANG'),
758 p_event_id => p_event_id,
759 p_title => p_title
760 );
761
762
763
764 --
765 -- Call After Process User Hook
766 --
767 begin
768 ota_event_bk2.update_class_a
769 (p_effective_date => l_effective_date,
770 p_event_id => p_event_id,
771 p_vendor_id => p_vendor_id,
772 p_activity_version_id => p_activity_version_id,
773 p_business_group_id => p_business_group_id,
774 p_organization_id => p_organization_id,
775 p_event_type => p_event_type,
776 p_object_version_number => l_object_version_number,
777 p_title => p_title,
778 p_budget_cost => p_budget_cost,
779 p_actual_cost => p_actual_cost,
780 p_budget_currency_code => p_budget_currency_code,
781 p_centre => p_centre,
782 p_comments => p_comments,
783 p_course_end_date => p_course_end_date,
784 p_course_end_time => p_course_end_time,
785 p_course_start_date => p_course_start_date,
786 p_course_start_time => p_course_start_time,
787 p_duration => p_duration,
788 p_duration_units => p_duration_units,
789 p_enrolment_end_date => p_enrolment_end_date,
790 p_enrolment_start_date => p_enrolment_start_date,
791 p_language_id => p_language_id,
792 p_user_status => p_user_status,
793 p_development_event_type => p_development_event_type,
794 p_event_status => p_event_status,
795 p_price_basis => p_price_basis,
796 p_currency_code => p_currency_code,
797 p_maximum_attendees => p_maximum_attendees,
798 p_maximum_internal_attendees => p_maximum_internal_attendees,
799 p_minimum_attendees => p_minimum_attendees,
800 p_standard_price => p_standard_price,
801 p_category_code => p_category_code,
802 p_parent_event_id => p_parent_event_id,
803 p_book_independent_flag => p_book_independent_flag,
804 p_public_event_flag => p_public_event_flag,
805 p_secure_event_flag => p_secure_event_flag,
806 p_evt_information_category => p_evt_information_category,
807 p_evt_information1 => p_evt_information1,
808 p_evt_information2 => p_evt_information2,
809 p_evt_information3 => p_evt_information3,
810 p_evt_information4 => p_evt_information4,
811 p_evt_information5 => p_evt_information5,
812 p_evt_information6 => p_evt_information6,
813 p_evt_information7 => p_evt_information7,
814 p_evt_information8 => p_evt_information8,
815 p_evt_information9 => p_evt_information9,
816 p_evt_information10 => p_evt_information10,
817 p_evt_information11 => p_evt_information11,
818 p_evt_information12 => p_evt_information12,
819 p_evt_information13 => p_evt_information13,
820 p_evt_information14 => p_evt_information14,
821 p_evt_information15 => p_evt_information15,
822 p_evt_information16 => p_evt_information16,
823 p_evt_information17 => p_evt_information17,
824 p_evt_information18 => p_evt_information18,
825 p_evt_information19 => p_evt_information19,
826 p_evt_information20 => p_evt_information20,
827 p_project_id => p_project_id,
828 p_owner_id => p_owner_id,
829 p_line_id => p_line_id,
830 p_org_id => p_org_id,
831 p_training_center_id => p_training_center_id,
832 p_location_id => p_location_id,
833 p_offering_id => p_offering_id,
834 p_timezone => p_timezone,
835 p_parent_offering_id => p_parent_offering_id,
836 p_data_source => p_data_source,
837 p_event_availability => p_event_availability);
838
839 exception
840 when hr_api.cannot_find_prog_unit then
841 hr_api.cannot_find_prog_unit_error
842 (p_module_name => 'UPDATE_CLASS'
843 ,p_hook_type => 'AP'
844 );
845 end;
846
847 --
848
849 IF l_timezonechanged
850 THEN
851 proc_upd_evt_chat_sess (p_event_id,
852 p_timezone,
853 p_effective_date
854 );
855 END IF;
856 --
857 -- When in validation only mode raise the Validate_Enabled exception
858 --
859 if p_validate then
860 raise hr_api.validate_enabled;
861 end if;
862 --
863 -- Set all output arguments
864 --
865 hr_utility.set_location(' Leaving:'||l_proc, 70);
866 exception
867 when hr_api.validate_enabled then
868 --
869 -- As the Validate_Enabled exception has been raised
870 -- we must rollback to the savepoint
871 --
872 rollback to UPDATE_CLASS;
873 --
874 -- Only set output warning arguments
875 -- (Any key or derived arguments must be set to null
876 -- when validation only mode is being used.)
877 --
878 p_object_version_number := null;
879 hr_utility.set_location(' Leaving:'||l_proc, 80);
880 when others then
881 --
882 -- A validation or unexpected error has occured
883 --
884 rollback to UPDATE_CLASS;
885 p_object_version_number := l_object_version_number;
886 hr_utility.set_location(' Leaving:'||l_proc, 90);
887 raise;
888 end update_class;
889 --
890 -- ----------------------------------------------------------------------------
891 -- |-------------------------< DELETE_CLASS >---------------------------------|
892 -- ----------------------------------------------------------------------------
893 --
894 procedure delete_class
895 (p_validate in boolean default false
896 ,p_event_id in number
897 ,p_object_version_number in number
898 ) is
899 --
900 -- Declare cursors and local variables
901 --
902 l_proc varchar2(72) := g_package||' Delete Class';
903 l_object_version_id number;
904 --
905 --
906 begin
907 hr_utility.set_location('Entering:'|| l_proc, 10);
908 --
909 -- Issue a savepoint
910 --
911 savepoint DELETE_CLASS;
912 --
913 -- Truncate the time portion from all IN date parameters
914 --
915 --
916
917 -- Call Before Process User Hook
918 --
919 begin
920 ota_event_bk3.delete_class_b
921 (p_event_id => p_event_id,
922 p_object_version_number => p_object_version_number
923 );
924 exception
925 when hr_api.cannot_find_prog_unit then
926 hr_api.cannot_find_prog_unit_error
927 (p_module_name => 'DELETE_CLASS'
928 ,p_hook_type => 'BP'
929 );
930 end;
931 --
932
933 -- Validation in addition to Row Handlers
934 --
935 --
936 -- Process Logic
937 --
938 --
939 ota_ent_del.del_tl
940 (p_event_id => p_event_id
941 );
942 --
943
944 ota_evt_del.del
945 (p_event_id => p_event_id
946 ,p_object_version_number => p_object_version_number
947 );
948 --
949
950 -- Call After Process User Hook
951 --
952 begin
953 ota_event_bk3.delete_class_a
954 (p_event_id => p_event_id,
955 p_object_version_number => p_object_version_number
956 );
957 exception
958 when hr_api.cannot_find_prog_unit then
959 hr_api.cannot_find_prog_unit_error
960 (p_module_name => 'DELETE_CLASS'
961 ,p_hook_type => 'AP'
962 );
963 end;
964
965 --
966 -- When in validation only mode raise the Validate_Enabled exception
967 --
968 if p_validate then
969 raise hr_api.validate_enabled;
970 end if;
971 --
972 -- Set all output arguments
973 --
974 --
975 hr_utility.set_location(' Leaving:'||l_proc, 170);
976 exception
977 when hr_api.validate_enabled then
978 --
979 -- As the Validate_Enabled exception has been raised
980 -- we must rollback to the savepoint
981 --
982 rollback to DELETE_CLASS;
983 --
984 -- Only set output warning arguments
985 -- (Any key or derived arguments must be set to null
986 -- when validation only mode is being used.)
987 --
988 hr_utility.set_location(' Leaving:'||l_proc, 180);
989 when others then
990 --
991 -- A validation or unexpected error has occured
992 --
993 rollback to DELETE_CLASS;
994 hr_utility.set_location(' Leaving:'||l_proc, 190);
995 raise;
996 end delete_class;
997 --
998 -- ----------------------------------------------------------------------------
999 -- |-----------------------------< add_evaluation >----------------------------|
1000 -- ----------------------------------------------------------------------------
1001 procedure add_evaluation(p_event_id in number,
1002 p_activity_version_id in number
1003 ) is
1004
1005 l_eval_id ota_tests.test_id%type :=null;
1006 l_mand_flag ota_evaluations.eval_mandatory_flag%type;
1007
1008 Cursor c_dflt_eval is
1009 select dflt_class_eval_id,eval_mandatory_flag
1010 into l_eval_id,l_mand_flag
1011 from ota_evaluations
1012 where object_id = p_activity_version_id
1013 and object_type = 'A';
1014
1015 l_proc varchar2(72) := g_package ||'add_evaluation';
1016 Begin
1017 hr_utility.set_location(' Entering:' || l_proc,10);
1018 open c_dflt_eval;
1019 fetch c_dflt_eval into l_eval_id, l_mand_flag;
1020 close c_dflt_eval;
1021 if l_eval_id is not null then
1022 insert into ota_evaluations (evaluation_id,
1023 eval_mandatory_flag,
1024 object_id,
1025 object_type,
1026 object_version_number) values
1027 (l_eval_id,
1028 l_mand_flag,
1029 p_event_id,
1030 'E',
1031 1);
1032 end if;
1033 hr_utility.set_location(' Exiting:' || l_proc,15);
1034 end add_evaluation;
1035
1036 end OTA_EVENT_API;