[Home] [Help]
PACKAGE BODY: APPS.AMS_EVENTSCHEDULE_COPY_PVT
Source
1 PACKAGE BODY AMS_EventSchedule_Copy_PVT AS
2 /* $Header: amsvescb.pls 120.6 2006/05/16 02:04:26 batoleti noship $ */
3
4 g_pkg_name CONSTANT VARCHAR2(30):='AMS_EventSchedule_Copy_PVT';
5 g_file_name CONSTANT VARCHAR2(12):='amsvescb.pls';
6 G_OBJECT_TYPE_MODEL CONSTANT VARCHAR2(30) := 'EVEO';
7
8 G_ATTRIBUTE_GEOS CONSTANT VARCHAR2(30) := 'GEOS';
9 G_ATTRIBUTE_CELL CONSTANT VARCHAR2(30) := 'CELL';
10 -- Debug mode
11 -- g_debug boolean := FALSE;
12 -- g_debug boolean := TRUE;
13
14 -- ==============================================================================
15 -- Start of Comments
16 -- ==============================================================================
17 -- API Name
18 -- Copy_event_offer
19 --
20 -- Description
21 -- To support the "Copy Event Schedules" functionality from the events overview
22 -- and detail pages.
23 --
24 -- History
25 -- 12-MAY-2001 PMOTHUKU Created this available procedures below
26 -- Implemented the procedures separetly so that they
27 -- 31-Jul-2002 GMADANA Copying Start date time and End date time for
28 -- Event Schedule.
29 -- ==============================================================================
30
31 AMS_DEBUG_HIGH_ON CONSTANT boolean := FND_MSG_PUB.CHECK_MSG_LEVEL(FND_MSG_PUB.G_MSG_LVL_DEBUG_HIGH);
32 AMS_DEBUG_LOW_ON CONSTANT boolean := FND_MSG_PUB.CHECK_MSG_LEVEL(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW);
33 AMS_DEBUG_MEDIUM_ON CONSTANT boolean := FND_MSG_PUB.CHECK_MSG_LEVEL(FND_MSG_PUB.G_MSG_LVL_DEBUG_MEDIUM);
34
35 FUNCTION get_agenda_name (p_agenda_id IN NUMBER)
36 RETURN VARCHAR2
37 IS
38 -- PL/SQL Block
39 l_name VARCHAR2 (256);
40 CURSOR c_agenda_name(p_agenda_id IN NUMBER) IS
41 SELECT event_offer_name
42 FROM ams_event_offers_vl
43 WHERE parent_event_offer_id = p_agenda_id;
44
45 BEGIN
46
47 OPEN c_agenda_name(p_agenda_id);
48 FETCH c_agenda_name INTO l_name;
49 CLOSE c_agenda_name;
50
51 RETURN '"' || l_name || '" ';
52 EXCEPTION
53 WHEN OTHERS
54 THEN
55 RETURN '"' || p_agenda_id || '"';
56 END get_agenda_name;
57
58 PROCEDURE copy_act_delivery_method(
59 p_src_act_type IN VARCHAR2,
60 p_new_act_type IN VARCHAR2 := NULL,
61 p_src_act_id IN NUMBER,
62 p_new_act_id IN NUMBER,
63 p_errnum OUT NOCOPY NUMBER,
64 p_errcode OUT NOCOPY VARCHAR2,
65 p_errmsg OUT NOCOPY VARCHAR2
66 )
67 IS
68 -- PL/SQL Block
69 l_stmt_num NUMBER;
70 l_name VARCHAR2 (80);
71 l_mesg_text VARCHAR2 (2000);
72 l_api_version NUMBER;
73 l_return_status VARCHAR2 (1);
74 x_msg_count NUMBER;
75 l_msg_data VARCHAR2 (512);
76 l_act_deliverable_id NUMBER;
77 l_deliverables_rec ams_associations_pvt.association_rec_type;
78 l_temp_deliverables_rec ams_associations_pvt.association_rec_type;
79 l_lookup_meaning VARCHAR2 (80);
80
81 CURSOR deliverable_cur
82 IS
83 SELECT
84 DLT.deliverable_name ,
85 DLV.custom_setup_id,
86 CAT.category_id,
87 OBJ.master_object_id,
88 OBJ.object_association_id,
89 OBJ.using_object_id,
90 CAT.category_name ,
91 OBJ.object_version_number,
92 OBJ.quantity_needed,
93 OBJ.fulfill_on_type_code,
94 OBJ.master_object_type,
95 OBJ.quantity_needed_by_date,
96 OBJ.USING_OBJECT_TYPE,
97 OBJ.primary_flag,
98 OBJ.USAGE_TYPE
99 FROM
100 AMS_OBJECT_ASSOCIATIONS OBJ,
101 AMS_DELIVERABLES_ALL_B DLV,
102 AMS_DELIVERABLES_ALL_TL DLT,
103 AMS_CATEGORIES_TL CAT
104 WHERE
105 OBJ.master_object_id = p_src_act_id AND
106 OBJ.USING_OBJECT_TYPE = 'DELV' AND
107 OBJ.USING_OBJECT_ID = DLV.DELIVERABLE_ID AND
108 OBJ.USING_OBJECT_ID = DLT.DELIVERABLE_ID AND
109 DLT.LANGUAGE = USERENV('LANG') AND
110 DLV.CATEGORY_TYPE_ID = CAT.CATEGORY_ID AND
111 CAT.LANGUAGE = USERENV('LANG') AND
112 OBJ.master_object_type =p_src_act_type;
113 BEGIN
114 p_errcode := NULL;
115 p_errnum := 0;
116 p_errmsg := NULL;
117 l_stmt_num := 1;
118 IF p_src_act_id IS NOT NULL THEN
119 IF (AMS_DEBUG_HIGH_ON) THEN
120
121 AMS_UTILITY_PVT.debug_message('the deliverable copying: ');
122 END IF;
123 IF (AMS_DEBUG_HIGH_ON) THEN
124
125 AMS_UTILITY_PVT.debug_message('the p_src_act_id: ' || p_src_act_id||'\n');
126 END IF;
127 IF (AMS_DEBUG_HIGH_ON) THEN
128
129 AMS_UTILITY_PVT.debug_message('the p_new_act_id: ' || p_new_act_id||'\n');
130 END IF;
131 END IF;
132 FOR deliverable_rec IN deliverable_cur
133 LOOP
134 BEGIN
135 p_errcode := NULL;
136 p_errnum := 0;
137 p_errmsg := NULL;
138 l_deliverables_rec := l_temp_deliverables_rec;
139 l_deliverables_rec.master_object_id:= p_new_act_id;
140 l_deliverables_rec.master_object_type:= NVL(p_new_act_type,p_src_act_type);
141
142 l_deliverables_rec.using_object_id:= deliverable_rec.using_object_id;
143 l_deliverables_rec.object_version_number:= deliverable_rec.object_version_number;
144 l_deliverables_rec.quantity_needed := NULL;
145 l_deliverables_rec.fulfill_on_type_code := deliverable_rec.fulfill_on_type_code;
146 l_deliverables_rec.quantity_needed_by_date := deliverable_rec.quantity_needed_by_date;
147 l_deliverables_rec.using_object_type:= deliverable_rec.using_object_type;
148 l_deliverables_rec.usage_type:= deliverable_rec.usage_type;
149 l_deliverables_rec.primary_flag:= deliverable_rec.primary_flag;
150 l_api_version := 1.0;
151 l_return_status := NULL;
152 x_msg_count := 0;
153 l_msg_data := NULL;
154 ams_associations_pvt.create_association(
155 p_api_version => l_api_version,
156 p_init_msg_list => fnd_api.g_true,
157 p_commit=>fnd_api.g_true,
158 p_validation_level=> FND_API.g_valid_level_full,
159 x_return_status => l_return_status,
160 x_msg_count => x_msg_count,
161 x_msg_data => l_msg_data,
162 p_association_rec => l_deliverables_rec,
163 x_object_association_id => l_act_deliverable_id
164 );
165
166
167 IF l_return_status = fnd_api.g_ret_sts_error
168 OR l_return_status = fnd_api.g_ret_sts_unexp_error THEN
169 FOR l_counter IN 1 .. x_msg_count
170 LOOP
171 l_mesg_text := fnd_msg_pub.get (p_encoded => fnd_api.g_false);
172 l_stmt_num := 2;
173 p_errnum := 1;
174 p_errmsg := substr(l_mesg_text||' , '|| TO_CHAR (l_stmt_num) ||
175 ' , ' || '): ' || l_counter ||
176 ' OF ' || x_msg_count, 1, 4000);
177 ams_cpyutility_pvt.write_log_mesg( p_src_act_type,
178 p_src_act_id,
179 p_errmsg,
180 'ERROR'
181 );
182 END LOOP;
183 END IF;
184 EXCEPTION
185 WHEN OTHERS THEN p_errcode := SQLCODE;
186 p_errnum := 3;
187 l_stmt_num := 4;
188 END;
189 END LOOP;
190 EXCEPTION
191 WHEN OTHERS
192 THEN
193 p_errcode := SQLCODE;
194 p_errnum := 4;
195 l_stmt_num := 5;
196 fnd_message.set_name ('AMS', 'AMS_COPY_ERROR3');
197 fnd_message.set_token ('ELEMENTS','AMS_COPY_DELIVMETHODS', TRUE);
198 l_mesg_text := fnd_message.get;
199 p_errmsg := SUBSTR ( l_mesg_text || TO_CHAR (l_stmt_num) ||
200 ',' || '): ' || p_errcode || SQLERRM, 1, 4000);
201 ams_cpyutility_pvt.write_log_mesg ( p_src_act_type,
202 p_src_act_id,
203 p_errmsg,
204 'ERROR'
205 );
206 END copy_act_delivery_method;
207
208 /* PROCEDURE copy_event_schedule_agenda(
209 p_src_act_type IN VARCHAR2,
210 p_new_act_type IN VARCHAR2 := NULL,
211 p_src_act_id IN NUMBER,
212 p_new_act_id IN NUMBER,
213 p_errnum OUT NOCOPY NUMBER,
214 p_errcode OUT NOCOPY VARCHAR2,
215 p_errmsg OUT NOCOPY VARCHAR2
216 )
217 IS
218 l_stmt_num NUMBER;
219 l_name VARCHAR2 (80);
220 l_mesg_text VARCHAR2 (2000);
221 l_api_version NUMBER;
222 l_return_status VARCHAR2 (1);
223 x_msg_count NUMBER;
224 l_msg_data VARCHAR2 (512);
225 l_act_agenda_id NUMBER;
226 l_agenda_rec AMS_EventOffer_PVT.evo_rec_type;
227 temp_agenda_rec AMS_EventOffer_PVT.evo_rec_type;
228 l_lookup_meaning VARCHAR2 (80);
229 CURSOR agenda_cur IS
230 select
231 EVENT_OFFER_ID
232 ,LAST_UPDATE_DATE
233 ,LAST_UPDATED_BY
234 ,CREATION_DATE
235 ,CREATED_BY
236 ,LAST_UPDATE_LOGIN
237 ,OBJECT_VERSION_NUMBER
238 ,APPLICATION_ID
239 ,PRIVATE_FLAG
240 ,ACTIVE_FLAG
241 ,SOURCE_CODE
242 ,EVENT_LEVEL
243 ,USER_STATUS_ID
244 ,LAST_STATUS_DATE
245 ,SYSTEM_STATUS_CODE
246 ,EVENT_TYPE_CODE
247 ,EVENT_DELIVERY_METHOD_ID
248 ,''
249 ,EVENT_REQUIRED_FLAG
250 ,EVENT_LANGUAGE_CODE
251 ,EVENT_LOCATION_ID
252 ,''
253 ,''
254 ,''
255 ,''
256 ,OVERFLOW_FLAG
257 ,PARTNER_FLAG
258 ,EVENT_STANDALONE_FLAG
259 ,REG_FROZEN_FLAG
260 ,REG_REQUIRED_FLAG
261 ,REG_CHARGE_FLAG
262 ,REG_INVITED_ONLY_FLAG
263 ,REG_WAITLIST_ALLOWED_FLAG
264 ,REG_OVERBOOK_ALLOWED_FLAG
265 ,PARENT_EVENT_OFFER_ID
266 ,EVENT_DURATION
267 ,EVENT_DURATION_UOM_CODE
268 , EVENT_START_DATE
269 ,EVENT_START_DATE_TIME
270 ,EVENT_END_DATE
271 ,EVENT_END_DATE_TIME
272 ,REG_START_DATE
273 ,REG_START_TIME
274 ,REG_END_DATE
275 ,REG_END_TIME
276 ,REG_MAXIMUM_CAPACITY
277 ,REG_OVERBOOK_PCT
278 ,REG_EFFECTIVE_CAPACITY
279 ,REG_WAITLIST_PCT
280 ,REG_MINIMUM_CAPACITY
281 ,REG_MINIMUM_REQ_BY_DATE
282 ,INVENTORY_ITEM_ID
283 ,''
284 ,ORGANIZATION_ID
285 ,PRICELIST_header_ID
286 ,PRICELIST_LINE_ID
287 ,ORG_ID
288 ,WAITLIST_ACTION_TYPE_CODE
289 ,STREAM_TYPE_CODE
290 ,OWNER_USER_ID
291 ,EVENT_FULL_FLAG
292 ,FORECASTED_REVENUE
293 ,ACTUAL_REVENUE
294 ,FORECASTED_COST
295 ,ACTUAL_COST
296 ,FUND_SOURCE_TYPE_CODE
297 ,FUND_SOURCE_ID
298 ,CERT_CREDIT_TYPE_CODE
299 ,CERTIFICATION_CREDITS
300 ,COORDINATOR_ID
301 ,PRIORITY_TYPE_CODE
302 ,CANCELLATION_REASON_CODE
303 ,AUTO_REGISTER_FLAG
304 ,EMAIL
305 ,PHONE
306 ,FUND_AMOUNT_TC
307 ,FUND_AMOUNT_FC
308 ,CURRENCY_CODE_TC
309 ,CURRENCY_CODE_FC
310 ,URL
311 ,TIMEZONE_ID
312 ,EVENT_VENUE_ID
313 ,''
314 ,''
315 ,INBOUND_SCRIPT_NAME
316 ,ATTRIBUTE_CATEGORY
317 ,ATTRIBUTE1
318 ,ATTRIBUTE2
319 ,ATTRIBUTE3
320 ,ATTRIBUTE4
321 ,ATTRIBUTE5
322 ,ATTRIBUTE6
323 ,ATTRIBUTE7
324 ,ATTRIBUTE8
325 ,ATTRIBUTE9
326 ,ATTRIBUTE10
327 ,ATTRIBUTE11
328 ,ATTRIBUTE12
329 ,ATTRIBUTE13
330 ,ATTRIBUTE14
331 ,ATTRIBUTE15
332 ,EVENT_OFFER_NAME
333 ,EVENT_MKTG_MESSAGE
334 ,DESCRIPTION
335 ,SETUP_TYPE_ID
336 ,COUNTRY_CODE
337 ,BUSINESS_UNIT_ID
338 ,EVENT_CALENDAR
339 ,START_PERIOD_NAME
340 ,END_PERIOD_NAME
341 ,GLOBAL_FLAG
342 ,TASK_ID
343 --PROGRAM_ID
344 ,PARENT_TYPE
345 ,PARENT_ID
346 ,CREATE_ATTENDANT_LEAD_FLAG
347 ,CREATE_REGISTRANT_LEAD_FLAG
348 ,EVENT_OBJECT_TYPE
349 ,REG_TIMEZONE_ID
350 ,event_password
351 ,record_event_flag
352 ,allow_register_in_middle_flag
353 ,publish_attendees_flag
354 ,direct_join_flag
355 ,event_notification_method
356 ,actual_start_time
357 ,actual_end_time
358 ,SERVER_ID
359 ,owner_fnd_user_id
360 ,meeting_dial_in_info
361 ,meeting_email_subject
362 ,meeting_schedule_type
363 ,meeting_status
364 ,meeting_misc_info
365 ,publish_flag
366 ,meeting_encryption_key_code
367 ,number_of_attendees
368 ,EVENT_PURPOSE_CODE
369 FROM ams_event_offers_vl
370 WHERE parent_event_offer_id = p_src_act_id
371 AND event_level='SUB';
372 BEGIN
373 p_errcode := NULL;
374 p_errnum := 0;
375 p_errmsg := NULL;
376 ams_utility_pvt.get_lookup_meaning ( 'AMS_SYS_ARC_QUALIFIER',
377 'AGEN',
378 l_return_status,
379 l_lookup_meaning
380 );
381 fnd_message.set_name ('AMS', 'AMS_COPY_ELEMENTS');
382 fnd_message.set_token ('ELEMENTS', l_lookup_meaning, TRUE);
383 l_mesg_text := fnd_message.get;
384 ams_cpyutility_pvt.write_log_mesg ( p_src_act_type,
385 p_src_act_id,
386 l_mesg_text,
387 'GENERAL'
388 );
389 l_stmt_num := 1;
390 IF p_src_act_id IS NOT NULL THEN
391 IF (AMS_DEBUG_HIGH_ON) THEN
392
393 AMS_UTILITY_PVT.debug_message('the p_src_act_id: ' || p_src_act_id||'\n');
394 END IF;
395 IF (AMS_DEBUG_HIGH_ON) THEN
396
397 AMS_UTILITY_PVT.debug_message('the p_new_act_id: ' || p_new_act_id||'\n');
398 END IF;
399 END IF;
400 FOR agenda_rec IN agenda_cur
401 LOOP
402 BEGIN
403 p_errcode := NULL;
404 p_errnum := 0;
405 p_errmsg := NULL;
406 l_api_version := 1.0;
407 l_return_status := NULL;
408 x_msg_count := 0;
409 l_msg_data := NULL;
410 l_act_agenda_id:=0;
411 l_agenda_rec.parent_event_offer_id := p_new_act_id;
412 l_agenda_rec.event_object_type:= agenda_rec.event_object_type;
413 l_agenda_rec.event_offer_name:= agenda_rec.event_offer_name;
414 l_agenda_rec.EVENT_START_DATE:= agenda_rec.EVENT_START_DATE;
415 l_agenda_rec.EVENT_START_DATE:= agenda_rec.EVENT_START_DATE;
416 l_agenda_rec.application_id:=530;
417 l_agenda_rec.EVENT_START_DATE_TIME:= agenda_rec.EVENT_START_DATE_TIME;
418
419 l_agenda_rec.EVENT_END_DATE_TIME:= agenda_rec.EVENT_END_DATE_TIME;
420 l_agenda_rec.EVENT_START_DATE:= agenda_rec.EVENT_START_DATE;
421 l_agenda_rec.owner_user_id:=agenda_rec.owner_user_id;
422 l_agenda_rec.event_level:='SUB';
423 l_agenda_rec.user_status_id:=agenda_rec.user_status_id;
424
425 AMS_EventOffer_PVT.create_event_offer (
426 p_api_version => 1.0,
427 p_init_msg_list => FND_API.G_FALSE,
428 p_commit => FND_API.G_FALSE,
429 p_validation_level => FND_API.g_valid_level_full,
430 p_evo_rec => l_agenda_rec,
431 x_return_status => l_return_status,
432 x_msg_count => x_msg_count,
433 x_msg_data => l_msg_data,
434 x_evo_id => l_act_agenda_id
435 );
436
437 IF (AMS_DEBUG_HIGH_ON) THEN
438
439
440
441 AMS_UTILITY_PVT.debug_message('the p_act_agenda_id: ' || l_act_agenda_id||'\n');
442
443 END IF;
444
445
446
447
448 IF l_return_status = fnd_api.g_ret_sts_error
449 OR l_return_status = fnd_api.g_ret_sts_unexp_error THEN
450 FOR l_counter IN 1 .. x_msg_count
451 LOOP
452 l_mesg_text := fnd_msg_pub.get (p_encoded => fnd_api.g_false);
453 l_stmt_num := 2;
454 p_errnum := 1;
455 p_errmsg := substr(l_mesg_text||' , '|| TO_CHAR (l_stmt_num) ||
456 ' , ' || '): ' || l_counter ||
457 ' OF ' || x_msg_count, 1, 4000);
458 ams_cpyutility_pvt.write_log_mesg( p_src_act_type,
459 p_src_act_id,
460 p_errmsg,
461 'ERROR'
462 );
463 END LOOP;
464 fnd_message.set_name ('AMS', 'AMS_COPY_ERROR2');
465 fnd_message.set_token ('ELEMENTS', l_lookup_meaning, TRUE);
466 l_mesg_text := fnd_message.get;
467
468 p_errmsg := SUBSTR ( l_mesg_text || ' - ' ||
469 AMS_EventSchedule_Copy_PVT.get_agenda_name (
470 agenda_rec.parent_event_offer_id
471 ), 1, 4000);
472 ams_cpyutility_pvt.write_log_mesg ( p_src_act_type,
473 p_src_act_id,
474 p_errmsg,
475 'ERROR'
476 );
477 END IF;
478 EXCEPTION
479 WHEN OTHERS THEN
480 p_errcode := SQLCODE;
481 p_errnum := 3;
482 l_stmt_num := 4;
483 fnd_message.set_name ('AMS', 'AMS_COPY_ERROR');
484 fnd_message.set_token ('ELEMENTS', l_lookup_meaning, TRUE);
485 l_mesg_text := fnd_message.get;
486 p_errmsg := SUBSTR ( l_mesg_text ||
487 ',' || TO_CHAR (l_stmt_num) ||
488 ',' || '): ' || p_errcode ||
489 SQLERRM, 1, 4000);
490 fnd_message.set_name ('AMS', 'AMS_COPY_ERROR2');
491 fnd_message.set_token ('ELEMENTS', l_lookup_meaning, TRUE);
492 l_mesg_text := fnd_message.get;
493 p_errmsg := SUBSTR ( l_mesg_text ||
494 AMS_EventSchedule_Copy_PVT.get_agenda_name (
495 agenda_rec.parent_event_offer_id
496 ) || p_errmsg, 1, 4000);
497 ams_cpyutility_pvt.write_log_mesg ( p_src_act_type,
498 p_src_act_id,
499 p_errmsg,
500 'ERROR'
501 );
502 END;
503 END LOOP;
504
505 EXCEPTION
506 WHEN OTHERS
507 THEN
508 p_errcode := SQLCODE;
509 p_errnum := 4;
510 l_stmt_num := 5;
511 fnd_message.set_name ('AMS', 'AMS_COPY_ERROR3');
512 fnd_message.set_token ('ELEMENTS', l_lookup_meaning, TRUE);
513 l_mesg_text := fnd_message.get;
514 p_errmsg := SUBSTR ( l_mesg_text || TO_CHAR (l_stmt_num) ||
515 ',' || '): ' || p_errcode || SQLERRM,
516 1, 4000);
517 ams_cpyutility_pvt.write_log_mesg ( p_src_act_type,
518 p_src_act_id,
519 p_errmsg,
520 'ERROR'
521 );
522 END copy_event_schedule_agenda;
523 */
524
525 -- soagrawa 12-may-2003 recoded the following procedure for bug# 2949268 for 11.5.8
526 PROCEDURE copy_event_schedule_agenda(
527 p_src_act_type IN VARCHAR2,
528 p_new_act_type IN VARCHAR2 := NULL,
529 p_src_act_id IN NUMBER,
530 p_new_act_id IN NUMBER,
531 p_errnum OUT NOCOPY NUMBER,
532 p_errcode OUT NOCOPY VARCHAR2,
533 p_errmsg OUT NOCOPY VARCHAR2
534 )
535 IS
536 l_stmt_num NUMBER;
537 l_name VARCHAR2 (80);
538 l_mesg_text VARCHAR2 (2000);
539 l_api_version NUMBER;
540 l_return_status VARCHAR2 (1);
541 x_msg_count NUMBER;
542 l_msg_data VARCHAR2 (512);
543 l_act_track_id NUMBER;
544 l_act_session_id NUMBER;
545 l_lookup_meaning VARCHAR2 (80);
546
547 l_new_track_cur Ams_agendas_pvt.agenda_rec_type ;
548 l_new_session_cur Ams_agendas_pvt.agenda_rec_type ;
549
550 l_old_ev_st_dt DATE;
551 l_old_ev_end_dt DATE;
552 l_new_ev_st_dt DATE;
553 l_new_ev_end_dt DATE;
554
555 l_old_ev_duration NUMBER;
556 l_new_ev_duration NUMBER;
557
558 CURSOR c_track_cur IS
559 SELECT coordinator_id, parent_type,parent_id,agenda_name,description,agenda_type, b.agenda_id --* perf fix
560 FROM ams_agendas_b b, ams_agendas_tl tl--ams_agendas_v SQL Rep perf fix
561 WHERE b.agenda_id = tl.agenda_id
562 AND tl.language = USERENV('LANG')
563 AND parent_id = p_src_act_id
564 AND agenda_type = 'TRACK'
565 AND active_flag = 'Y'; --bug fix 3097466 by anchaudh on 14-Aug-2003.
566
567 CURSOR c_session_cur(p_track_id NUMBER) IS
568 SELECT coordinator_id,parent_type,parent_id,agenda_name,description,agenda_type,b.agenda_id,
569 start_date_time, end_date_time
570 FROM ams_agendas_b b, ams_agendas_tl tl --ams_agendas_v SQL Rep Perf Fix
571 WHERE b.agenda_id = tl.agenda_id
572 AND tl.language = USERENV('LANG')
573 AND parent_id = p_track_id
574 AND agenda_type = 'SESSION'
575 AND active_flag = 'Y'; --bug fix 3097466 by anchaudh on 14-Aug-2003.
576
577 CURSOR c_ev_offer_det (p_event_offer_id NUMBER) IS
578 SELECT event_start_date, event_end_date
579 FROM ams_event_offers_all_b
580 WHERE event_offer_id = p_event_offer_id;
581
582 BEGIN
583 p_errcode := NULL;
584 p_errnum := 0;
585 p_errmsg := NULL;
586
587 ams_utility_pvt.get_lookup_meaning ( 'AMS_SYS_ARC_QUALIFIER',
588 'AGEN',
589 l_return_status,
590 l_lookup_meaning
591 );
592
593 fnd_message.set_name ('AMS', 'AMS_COPY_ELEMENTS');
594 fnd_message.set_token ('ELEMENTS', l_lookup_meaning, TRUE);
595
596 l_mesg_text := fnd_message.get;
597 ams_cpyutility_pvt.write_log_mesg ( p_src_act_type,
598 p_src_act_id,
599 l_mesg_text,
600 'GENERAL'
601 );
602
603 l_stmt_num := 1;
604 IF p_src_act_id IS NOT NULL THEN
605 IF (AMS_DEBUG_HIGH_ON) THEN
606 AMS_UTILITY_PVT.debug_message('the p_src_act_id: ' || p_src_act_id||'\n');
607 END IF;
608 IF (AMS_DEBUG_HIGH_ON) THEN
609 AMS_UTILITY_PVT.debug_message('the p_new_act_id: ' || p_new_act_id||'\n');
610 END IF;
611 END IF;
612
613 OPEN c_ev_offer_det (p_src_act_id);
614 FETCH c_ev_offer_det INTO l_old_ev_st_dt, l_old_ev_end_dt;
615 CLOSE c_ev_offer_det;
616
617 l_old_ev_duration := l_old_ev_end_dt - l_old_ev_st_dt;
618
619 OPEN c_ev_offer_det (p_new_act_id);
620 FETCH c_ev_offer_det INTO l_new_ev_st_dt, l_new_ev_end_dt;
621 CLOSE c_ev_offer_det;
622
623 l_new_ev_duration := l_new_ev_end_dt - l_new_ev_st_dt;
624
625 FOR l_track_cur IN c_track_cur
626 LOOP
627 BEGIN
628
629 p_errcode := NULL;
630 p_errnum := 0;
631 p_errmsg := NULL;
632 l_api_version := 1.0;
633 l_return_status := NULL;
634 x_msg_count := 0;
635 l_msg_data := NULL;
636 l_act_track_id :=0;
637
638 l_new_track_cur.coordinator_id := l_track_cur.coordinator_id;
639 l_new_track_cur.parent_type := l_track_cur.parent_type;
640 l_new_track_cur.agenda_name := l_track_cur.agenda_name;
641 l_new_track_cur.description := l_track_cur.description;
642 l_new_track_cur.agenda_type := 'TRACK';
643 l_new_track_cur.application_id := 530;
644 l_new_track_cur.parent_id := p_new_act_id;
645
646 AMS_AGENDAS_PVT.create_agenda (
647 p_api_version => 1.0,
648 p_init_msg_list => FND_API.G_FALSE,
649 p_commit => FND_API.G_FALSE,
650 p_validation_level => FND_API.g_valid_level_full,
651 p_agenda_rec => l_new_track_cur,
652 x_return_status => l_return_status,
653 x_msg_count => x_msg_count,
654 x_msg_data => l_msg_data,
655 x_agenda_id => l_act_track_id
656 );
657
658 IF (AMS_DEBUG_HIGH_ON) THEN
659 AMS_UTILITY_PVT.debug_message('the p_act_agenda_id: ' || l_act_track_id||'\n');
660 END IF;
661 IF l_return_status = fnd_api.g_ret_sts_error
662 OR l_return_status = fnd_api.g_ret_sts_unexp_error
663 THEN
664 FOR l_counter IN 1 .. x_msg_count
665 LOOP
666 l_mesg_text := fnd_msg_pub.get (p_encoded => fnd_api.g_false);
667 l_stmt_num := 2;
668 p_errnum := 1;
669 p_errmsg := substr(l_mesg_text||' , '|| TO_CHAR (l_stmt_num) ||
670 ' , ' || '): ' || l_counter ||
671 ' OF ' || x_msg_count, 1, 4000);
672 ams_cpyutility_pvt.write_log_mesg( p_src_act_type,
673 p_src_act_id,
674 p_errmsg,
675 'ERROR'
676 );
677 END LOOP;
678
679 fnd_message.set_name ('AMS', 'AMS_COPY_ERROR2');
680 fnd_message.set_token ('ELEMENTS', l_lookup_meaning, TRUE);
681 l_mesg_text := fnd_message.get;
682
683 p_errmsg := SUBSTR ( l_mesg_text || ' - ' ||
684 AMS_EventSchedule_Copy_PVT.get_agenda_name (
685 l_track_cur.agenda_id
686 ), 1, 4000);
687 ams_cpyutility_pvt.write_log_mesg ( p_src_act_type,
688 p_src_act_id,
689 p_errmsg,
690 'ERROR'
691 );
692 ELSE
693 -- creating track was successful
694 -- now create sessions
695 FOR l_session_cur IN c_session_cur(l_track_cur.agenda_id)
696 LOOP
697
698 p_errcode := NULL;
699 p_errnum := 0;
700 p_errmsg := NULL;
701 l_api_version := 1.0;
702 l_return_status := NULL;
703 x_msg_count := 0;
704 l_msg_data := NULL;
705 l_act_session_id := null;
706
707 l_new_session_cur.coordinator_id := l_session_cur.coordinator_id;
708 l_new_session_cur.parent_type := 'TRACK';
709 l_new_session_cur.agenda_name := l_session_cur.agenda_name;
710 l_new_session_cur.description := l_session_cur.description;
711 l_new_session_cur.agenda_type := 'SESSION';
712 l_new_session_cur.application_id := 530;
713 l_new_session_cur.parent_id := l_act_track_id;
714 -- soagrawa 28-may-2003 removed copying room for reopened bug# 2949268
715 --l_new_session_cur.room_id := l_session_cur.room_id;
716
717
718 l_new_session_cur.start_date_time := l_new_ev_st_dt + (l_session_cur.start_date_time - l_old_ev_st_dt ) ;
719 l_new_session_cur.end_date_time := l_new_session_cur.start_date_time + (l_session_cur.end_date_time - l_session_cur.start_date_time);
720
721 IF l_new_ev_duration < l_old_ev_duration
722 THEN
723 IF l_new_session_cur.start_date_time < l_new_ev_st_dt
724 OR l_new_session_cur.end_date_time > l_new_ev_end_dt
725 THEN
726 l_new_session_cur.start_date_time := l_new_ev_end_dt - (l_session_cur.end_date_time - l_session_cur.start_date_time);
727 l_new_session_cur.end_date_time := l_new_ev_end_dt;
728 END IF;
729 END IF;
730
731 AMS_AGENDAS_PVT.create_agenda (
732 p_api_version => 1.0,
733 p_init_msg_list => FND_API.G_FALSE,
734 p_commit => FND_API.G_FALSE,
735 p_validation_level => FND_API.g_valid_level_full,
736 p_agenda_rec => l_new_session_cur,
737 x_return_status => l_return_status,
738 x_msg_count => x_msg_count,
739 x_msg_data => l_msg_data,
740 x_agenda_id => l_act_session_id
741 );
742
743 IF l_return_status = fnd_api.g_ret_sts_error
744 OR l_return_status = fnd_api.g_ret_sts_unexp_error
745 THEN
746
747 FOR l_counter IN 1 .. x_msg_count
748 LOOP
749 l_mesg_text := fnd_msg_pub.get (p_encoded => fnd_api.g_false);
750 l_stmt_num := 2;
751 p_errnum := 1;
752 p_errmsg := substr(l_mesg_text||' , '|| TO_CHAR (l_stmt_num) ||
753 ' , ' || '): ' || l_counter ||
754 ' OF ' || x_msg_count, 1, 4000);
755 ams_cpyutility_pvt.write_log_mesg( p_src_act_type,
756 p_src_act_id,
757 p_errmsg,
758 'ERROR'
759 );
760 END LOOP;
761
762 fnd_message.set_name ('AMS', 'AMS_COPY_ERROR2');
763 fnd_message.set_token ('ELEMENTS', l_lookup_meaning, TRUE);
764 l_mesg_text := fnd_message.get;
765
766 p_errmsg := SUBSTR ( l_mesg_text || ' - ' ||
767 AMS_EventSchedule_Copy_PVT.get_agenda_name (
768 l_session_cur.agenda_id
769 ), 1, 4000);
770 ams_cpyutility_pvt.write_log_mesg ( p_src_act_type,
771 p_src_act_id,
772 p_errmsg,
773 'ERROR'
774 );
775 END IF;
776
777 END LOOP;
778 END IF;
779
780 EXCEPTION
781 WHEN OTHERS THEN
782 p_errcode := SQLCODE;
783 p_errnum := 3;
784 l_stmt_num := 4;
785 fnd_message.set_name ('AMS', 'AMS_COPY_ERROR');
786 fnd_message.set_token ('ELEMENTS', l_lookup_meaning, TRUE);
787 l_mesg_text := fnd_message.get;
788 p_errmsg := SUBSTR ( l_mesg_text ||
789 ',' || TO_CHAR (l_stmt_num) ||
790 ',' || '): ' || p_errcode ||
791 SQLERRM, 1, 4000);
792 fnd_message.set_name ('AMS', 'AMS_COPY_ERROR2');
793 fnd_message.set_token ('ELEMENTS', l_lookup_meaning, TRUE);
794 l_mesg_text := fnd_message.get;
795 p_errmsg := SUBSTR ( l_mesg_text ||
796 AMS_EventSchedule_Copy_PVT.get_agenda_name (
797 l_new_track_cur.agenda_id
798 ) || p_errmsg, 1, 4000);
799 ams_cpyutility_pvt.write_log_mesg ( p_src_act_type,
800 p_src_act_id,
801 p_errmsg,
802 'ERROR'
803 );
804 END;
805 END LOOP;
806
807 EXCEPTION
808 WHEN OTHERS
809 THEN
810 p_errcode := SQLCODE;
811 p_errnum := 4;
812 l_stmt_num := 5;
813 fnd_message.set_name ('AMS', 'AMS_COPY_ERROR3');
814 fnd_message.set_token ('ELEMENTS', l_lookup_meaning, TRUE);
815 l_mesg_text := fnd_message.get;
816 p_errmsg := SUBSTR ( l_mesg_text || TO_CHAR (l_stmt_num) ||
817 ',' || '): ' || p_errcode || SQLERRM,
818 1, 4000);
819 ams_cpyutility_pvt.write_log_mesg ( p_src_act_type,
820 p_src_act_id,
821 p_errmsg,
822 'ERROR'
823 );
824 END copy_event_schedule_agenda;
825
826
827
828 PROCEDURE copy_event_schedule(
829 p_api_version IN NUMBER,
830 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
831 p_commit IN VARCHAR2 := FND_API.G_FALSE,
832 p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
833
834 x_return_status OUT NOCOPY VARCHAR2,
835 x_msg_count OUT NOCOPY NUMBER,
836 x_msg_data OUT NOCOPY VARCHAR2,
837
838 p_source_object_id IN NUMBER,
839 p_attributes_table IN AMS_CpyUtility_PVT.copy_attributes_table_type,
840 p_copy_columns_table IN AMS_CpyUtility_PVT.copy_columns_table_type,
841
842 x_new_object_id OUT NOCOPY NUMBER,
843 x_custom_setup_id OUT NOCOPY NUMBER
844 )
845 IS
846
847 L_API_NAME CONSTANT VARCHAR2(30) := 'create_event_offer';
848 L_API_VERSION_NUMBER CONSTANT NUMBER := 1.0;
849 l_return_status_full VARCHAR2(1);
850 l_object_version_number NUMBER := 2;
851 l_org_id NUMBER := FND_API.G_MISS_NUM;
852 l_event_offer_id NUMBER :=p_source_object_id;
853 l_new_event_offer_id NUMBER;
854 l_dummy NUMBER;
855 p_event_offer_rec AMS_EVENTOFFER_PVT.evo_rec_type;
856 l_evo_rec AMS_EVENTOFFER_PVT.evo_rec_type;
857 l_reference_rec AMS_EventOffer_PVT.evo_rec_type;
858 l_event_offer_rec AMS_EventOffer_PVT.evo_rec_type;
859 l_new_reference_rec AMS_EventOffer_PVT.evo_rec_type;
860 l_return_status VARCHAR2(1);
861 l_errnum NUMBER;
862 l_errcode VARCHAR2(30);
863 l_errmsg VARCHAR2(4000);
864 --l_msg_count NUMBER;
865 --l_msg_data VARCHAR2;
866 l_custom_setup_id NUMBER := 1;
867 l_event_object_type VARCHAR2(30);
868 l_dlvmthd_code VARCHAR2(30);
869 l_start_date DATE := NULL;
870 l_end_date DATE := NULL;
871 l_ARC_ACT_CATEGORY_USED_BY VARCHAR2(30);
872 l_rec_cnt NUMBER;
873
874 CURSOR c_dlvmthd_code( event_offer_id IN NUMBER) IS
875 SELECT delivery_media_type_code
876 FROM Ams_act_delivery_methods
877 WHERE act_delivery_method_used_by_id = event_offer_id;
878
879 CURSOR c_event_times( event_offer_id_in IN NUMBER) IS
880 SELECT event_start_date, event_end_date
881 FROM ams_event_offers_vl
882 WHERE event_offer_id = event_offer_id_in;
883
884
885 BEGIN
886
887 -- Standard Start of API savepoint
888 SAVEPOINT copy_event_schedule;
889
890 -- Standard call to check for call compatibility.
891 IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
892 p_api_version,
893 l_api_name,
894 G_PKG_NAME)
895 THEN
896 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
897 END IF;
898
899 -- Initialize message list if p_init_msg_list is set to TRUE.
900 IF FND_API.to_Boolean( p_init_msg_list )
901 THEN
902 FND_MSG_PUB.initialize;
903 END IF;
904
905 -- Debug Message
906 IF (AMS_DEBUG_HIGH_ON) THEN
907
908 AMS_UTILITY_PVT.debug_message('Private API: ' || l_api_name || 'start');
909 END IF;
910 IF (AMS_DEBUG_HIGH_ON) THEN
911
912 AMS_UTILITY_PVT.debug_message('the source object id: ' || p_source_object_id||'\n');
913 END IF;
914 IF (AMS_DEBUG_HIGH_ON) THEN
915
916 AMS_UTILITY_PVT.debug_message('the new source object id: ' || x_new_object_id||'\n');
917 END IF;
918 IF (AMS_DEBUG_HIGH_ON) THEN
919
920 AMS_UTILITY_PVT.debug_message('the source custom setup id: ' || x_custom_setup_id||'\n');
921 END IF;
922 FOR i IN 1..p_copy_columns_table.COUNT LOOP
923 IF (AMS_DEBUG_HIGH_ON) THEN
924
925 AMS_UTILITY_PVT.debug_message('the'||i||'copy column name: '|| p_copy_columns_table(i).column_name||'\n');
926 END IF;
927 IF (AMS_DEBUG_HIGH_ON) THEN
928
929 AMS_UTILITY_PVT.debug_message('the'||i||'copy column value: '|| p_copy_columns_table(i).column_value||'\n');
930 END IF;
931 END LOOP;
932 FOR i IN 1..p_attributes_table.COUNT LOOP
933 IF (AMS_DEBUG_HIGH_ON) THEN
934
935 AMS_UTILITY_PVT.debug_message('the'||i||'attibute: '||p_attributes_table(i));
936 END IF;
937 END LOOP;
938 -- Initialize API return status to SUCCESS
939 -- x_return_status := FND_API.G_RET_STS_SUCCESS;
940
941
942 --
943 -- Start of API body
944 --
945
946 -- ----------------------------
947 -- fetch source object details
948 -- ----------------------------
949 AMS_EVENTOFFER_PVT.init_evo_rec(p_event_offer_rec);
950 p_event_offer_rec.event_offer_id:=p_source_object_id;
951 p_event_offer_rec.EVENT_DELIVERY_METHOD_CODE :=NULL;
952 AMS_EVENTOFFER_PVT.complete_evo_rec(p_event_offer_rec,l_evo_rec);
953 l_event_object_type:=l_evo_rec.event_object_type;
954 l_reference_rec:=l_evo_rec;
955 l_event_offer_rec:=l_evo_rec;
956 l_event_offer_rec.event_offer_id := null;
957 -- l_event_offer_rec.source_code := null;
958 -- ------------------------------
959 -- copy all required fields
960 -- i.e. copy values of all mandatory columns from the copy UI
961 -- Mandatory fields for EVEH are EventName,EventOfferId,Start Date and End Date
962 -- for ams_event_evos_all_b table :
963 -- ------------------------------
964
965 OPEN c_event_times(p_event_offer_rec.event_offer_id);
966 FETCH c_event_times INTO l_start_date, l_end_date;
967 CLOSE c_event_times;
968
969
970 AMS_CpyUtility_PVT.get_column_value ('startDate', p_copy_columns_table, l_event_offer_rec.EVENT_START_DATE);
971 l_event_offer_rec.EVENT_START_DATE:= NVL (l_event_offer_rec.EVENT_START_DATE,l_reference_rec.EVENT_START_DATE);
972 AMS_CpyUtility_PVT.get_column_value ('endDate', p_copy_columns_table, l_event_offer_rec.EVENT_END_DATE);
973 l_event_offer_rec.EVENT_END_DATE:= NVL ( l_event_offer_rec.EVENT_END_DATE, l_reference_rec.EVENT_END_DATE);
974
975 IF(l_start_date = l_event_offer_rec.EVENT_START_DATE)
976 THEN
977 AMS_CpyUtility_PVT.get_column_value ('startTime', p_copy_columns_table, l_event_offer_rec.EVENT_START_DATE_TIME);
978 l_event_offer_rec.EVENT_START_DATE_TIME:= NVL (l_event_offer_rec.EVENT_START_DATE_TIME,l_reference_rec.EVENT_START_DATE_TIME);
979 ELSE
980 l_event_offer_rec.EVENT_START_DATE_TIME:=NULL;
981 END IF;
982
983 IF(l_end_date = l_event_offer_rec.EVENT_END_DATE)
984 THEN
985 AMS_CpyUtility_PVT.get_column_value ('endTime', p_copy_columns_table, l_event_offer_rec.EVENT_END_DATE_TIME);
986 l_event_offer_rec.EVENT_END_DATE_TIME:= NVL ( l_event_offer_rec.EVENT_END_DATE_TIME, l_reference_rec.EVENT_END_DATE_TIME);
987 ELSE
988 l_event_offer_rec.EVENT_END_DATE_TIME:=NULL;
989 END IF;
990
991 AMS_CpyUtility_PVT.get_column_value ('newObjName', p_copy_columns_table, l_event_offer_rec.event_offer_name);
992 l_event_offer_rec.event_offer_name:= NVL ( l_event_offer_rec.event_offer_name, l_reference_rec.event_offer_name);
993 AMS_CpyUtility_PVT.get_column_value ('ownerId', p_copy_columns_table, l_event_offer_rec.owner_user_id);
994 l_event_offer_rec.owner_user_id:= NVL (l_event_offer_rec.owner_user_id, l_reference_rec.owner_user_id);
995 AMS_CpyUtility_PVT.get_column_value ('newSrcCode', p_copy_columns_table, l_event_offer_rec.source_code);
996 l_event_offer_rec.source_code:= NVL (l_event_offer_rec.source_code, NULL);
997 AMS_CpyUtility_PVT.get_column_value ('countryId', p_copy_columns_table, l_event_offer_rec.country_code);
998 l_event_offer_rec.country_code:= NVL (l_event_offer_rec.country_code, l_reference_rec.country_code);
999 AMS_CpyUtility_PVT.get_column_value ('langCode', p_copy_columns_table, l_reference_rec.event_language_code);
1000 l_event_offer_rec.event_language_code:= NVL (l_event_offer_rec.event_language_code, l_reference_rec.event_language_code);
1001 AMS_CpyUtility_PVT.get_column_value ('currency', p_copy_columns_table, l_reference_rec.currency_code_tc);
1002 l_event_offer_rec.currency_code_tc:= NVL (l_event_offer_rec.currency_code_tc, l_reference_rec.currency_code_tc);
1003
1004 -- -------------------------------------------
1005 -- fields not to be copied
1006 -- -------------------------------------------
1007
1008
1009
1010
1011 l_event_offer_rec.event_venue_id := NULL;
1012 l_event_offer_rec.business_unit_id := NULL;
1013 l_event_offer_rec.reg_start_date := NULL;
1014 l_event_offer_rec.reg_end_date := NULL;
1015 -- l_event_offer_rec.event_delivery_method_id := NULL;
1016 l_event_offer_rec.city :=NULL;
1017 l_event_offer_rec.state :=NULL;
1018 l_event_offer_rec.country :=NULL;
1019 l_event_offer_rec.description :=NULL;
1020 l_event_offer_rec.start_period_name :=NULL;
1021 l_event_offer_rec.end_period_name := NULL;
1022 l_event_offer_rec.user_status_id :=NULL;
1023 l_event_offer_rec.priority_type_code :=NULL;
1024 l_event_offer_rec.INVENTORY_ITEM_ID :=NULL;
1025 l_event_offer_rec.PRICELIST_HEADER_ID :=NULL;
1026 l_event_offer_rec.PRICELIST_LINE_ID :=NULL;
1027 l_event_offer_rec.FORECASTED_REVENUE :=NULL;
1028 l_event_offer_rec.ACTUAL_REVENUE :=NULL;
1029 l_event_offer_rec.FORECASTED_COST :=NULL;
1030 l_event_offer_rec.ACTUAL_COST :=NULL;
1031 l_event_offer_rec.FUND_SOURCE_TYPE_CODE :=NULL;
1032 l_event_offer_rec.FUND_SOURCE_ID :=NULL;
1033 l_event_offer_rec.FUND_AMOUNT_FC :=NULL;
1034 l_event_offer_rec.FUND_AMOUNT_TC :=NULL;
1035
1036
1037 -- Get the Delivery Method Code of the Event Schedule to be Copied(Source)
1038 -- and copy it for the new Event Schedule to be created.
1039 open c_dlvmthd_code(l_event_offer_id);
1040 fetch c_dlvmthd_code into l_dlvmthd_code;
1041 IF c_dlvmthd_code%NOTFOUND THEN
1042 close c_dlvmthd_code;
1043 ELSE
1044 l_event_offer_rec.event_delivery_method_code := l_dlvmthd_code;
1045 close c_dlvmthd_code;
1046 END IF;
1047
1048 -- ----------------------------
1049 -- call create api
1050 IF (AMS_DEBUG_HIGH_ON) THEN
1051
1052 AMS_UTILITY_PVT.debug_message('offerId: ' || l_event_offer_rec.event_offer_id || 'start\n');
1053 END IF;
1054 IF (AMS_DEBUG_HIGH_ON) THEN
1055
1056 AMS_UTILITY_PVT.debug_message('deliverable stuff: ' || l_event_offer_rec.event_delivery_method_code);
1057 END IF;
1058
1059 l_event_offer_rec.object_version_number := 2;
1060 -- DBMS_OUTPUT.put_line('calling create with ');
1061 AMS_EventOffer_PVT.create_event_offer (
1062 p_api_version => 1.0,
1063 p_init_msg_list => FND_API.G_FALSE,
1064 p_commit => FND_API.G_FALSE,
1065 p_validation_level => FND_API.g_valid_level_full,
1066 p_evo_rec => l_event_offer_rec,
1067 x_return_status => x_return_status,
1068 x_msg_count => x_msg_count,
1069 x_msg_data => x_msg_data,
1070
1071 x_evo_id => l_new_event_offer_id
1072 );
1073
1074 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1075 RAISE FND_API.G_EXC_ERROR;
1076 END IF;
1077 IF (AMS_DEBUG_HIGH_ON) THEN
1078
1079 AMS_UTILITY_PVT.debug_message('the l_event_header_id: ' || l_event_offer_id||'\n');
1080 END IF;
1081 IF (AMS_DEBUG_HIGH_ON) THEN
1082
1083 AMS_UTILITY_PVT.debug_message('the l_new_event_header_id: ' || l_new_event_offer_id||'\n');
1084 END IF;
1085 -- copy agenda
1086
1087 -- soagrawa 12-may-2003 uncommented for bug# 2949268 for 11.5.10
1088 IF AMS_CpyUtility_PVT.is_copy_attribute (AMS_EventSchedule_Copy_PVT.G_ATTRIBUTE_AGEN , p_attributes_table) = FND_API.G_TRUE THEN
1089 copy_event_schedule_agenda (
1090 p_src_act_type => l_event_object_type,
1091 p_new_act_type => l_event_object_type,
1092 p_src_act_id => l_event_offer_id,
1093 p_new_act_id => l_new_event_offer_id,
1094 p_errnum => l_errnum,
1095 p_errcode => l_errcode,
1096 p_errmsg => l_errmsg
1097 );
1098 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1099 RAISE FND_API.G_EXC_ERROR;
1100 END IF;
1101 END IF;
1102
1103 -- copy resources
1104 /*Commented by mukemar on may14 2002 we are not supporting the resource copy
1105 IF AMS_CpyUtility_PVT.is_copy_attribute (AMS_EventSchedule_Copy_PVT.G_ATTRIBUTE_RESC, p_attributes_table) = FND_API.G_TRUE THEN
1106 AMS_CopyElements_PVT.copy_act_resources (
1107 p_src_act_type => l_event_object_type,
1108 p_new_act_type => l_event_object_type,
1109 p_src_act_id => l_event_offer_id,
1110 p_new_act_id => l_new_event_offer_id,
1111 p_errnum => l_errnum,
1112 p_errcode => l_errcode,
1113 p_errmsg => l_errmsg
1114 );
1115 END IF;
1116 */
1117 -- copy categories
1118 IF AMS_CpyUtility_PVT.is_copy_attribute (AMS_EventSchedule_Copy_PVT.G_ATTRIBUTE_CATG, p_attributes_table) = FND_API.G_TRUE THEN
1119 -- batoleti Ref bug# 5213664
1120 -- get the object type from act_actegories based on the original evet_offer_id..
1121
1122 l_ARC_ACT_CATEGORY_USED_BY := NULL;
1123 l_rec_cnt := 0;
1124
1125 select count(*) into l_rec_cnt
1126 FROM ams_act_categories
1127 where ACT_CATEGORY_USED_BY_ID = l_event_offer_id;
1128
1129 IF (l_rec_cnt > 0) THEN
1130
1131 SELECT ARC_ACT_CATEGORY_USED_BY
1132 INTO l_ARC_ACT_CATEGORY_USED_BY
1133 FROM ams_act_categories
1134 where ACT_CATEGORY_USED_BY_ID = l_event_offer_id;
1135
1136 END IF;
1137
1138 AMS_CopyElements_PVT.copy_act_categories (
1139 p_src_act_type => nvl(l_ARC_ACT_CATEGORY_USED_BY,G_OBJECT_TYPE_MODEL),
1140 p_new_act_type => nvl(l_ARC_ACT_CATEGORY_USED_BY,G_OBJECT_TYPE_MODEL),
1141 p_src_act_id => l_event_offer_id,
1142 p_new_act_id => l_new_event_offer_id,
1143 p_errnum => l_errnum,
1144 p_errcode => l_errcode,
1145 p_errmsg => l_errmsg
1146 );
1147 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1148 RAISE FND_API.G_EXC_ERROR;
1149 END IF;
1150 END IF;
1151 IF AMS_CpyUtility_PVT.is_copy_attribute (AMS_EventSchedule_Copy_PVT.G_ATTRIBUTE_PROD, p_attributes_table) = FND_API.G_TRUE THEN
1152 AMS_CopyElements_PVT.copy_act_prod (
1153 p_src_act_type => l_event_object_type,
1154 p_new_act_type => l_event_object_type,
1155 p_src_act_id => l_event_offer_id,
1156 p_new_act_id => l_new_event_offer_id,
1157 p_errnum => l_errnum,
1158 p_errcode => l_errcode,
1159 p_errmsg => l_errmsg
1160 );
1161 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1162 RAISE FND_API.G_EXC_ERROR;
1163 END IF;
1164 END IF;
1165 IF AMS_CpyUtility_PVT.is_copy_attribute (G_ATTRIBUTE_GEOS, p_attributes_table) = FND_API.G_TRUE THEN
1166 AMS_CopyElements_PVT.copy_act_geo_areas (
1167 p_src_act_type => l_event_object_type,
1168 p_new_act_type => l_event_object_type,
1169 p_src_act_id => l_event_offer_id,
1170 p_new_act_id => l_new_event_offer_id,
1171 p_errnum => l_errnum,
1172 p_errcode => l_errcode,
1173 p_errmsg => l_errmsg
1174 );
1175 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1176 RAISE FND_API.G_EXC_ERROR;
1177 END IF;
1178 END IF;
1179 IF AMS_CpyUtility_PVT.is_copy_attribute (G_ATTRIBUTE_CELL, p_attributes_table) = FND_API.G_TRUE THEN
1180 AMS_CopyElements_PVT.copy_act_market_segments (
1181 p_src_act_type => l_event_object_type,
1182 p_new_act_type => l_event_object_type,
1183 p_src_act_id => l_event_offer_id,
1184 p_new_act_id => l_new_event_offer_id,
1185 p_errnum => l_errnum,
1186 p_errcode => l_errcode,
1187 p_errmsg => l_errmsg
1188 );
1189 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1190 RAISE FND_API.G_EXC_ERROR;
1191 END IF;
1192 END IF;
1193
1194 IF AMS_CpyUtility_PVT.is_copy_attribute (AMS_EventSchedule_Copy_PVT.G_ATTRIBUTE_MESG, p_attributes_table) = FND_API.G_TRUE THEN
1195 AMS_CopyElements_PVT.copy_act_messages(
1196 p_src_act_type => l_event_object_type,
1197 p_new_act_type => l_event_object_type,
1198 p_src_act_id => l_event_offer_id,
1199 p_new_act_id => l_new_event_offer_id,
1200 p_errnum => l_errnum,
1201 p_errcode => l_errcode,
1202 p_errmsg => l_errmsg
1203 );
1204 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1205 RAISE FND_API.G_EXC_ERROR;
1206 END IF;
1207 END IF;
1208 IF AMS_CpyUtility_PVT.is_copy_attribute(AMS_Event_Objects_Copy_PVT.G_ATTRIBUTE_DELV, p_attributes_table) = FND_API.G_TRUE THEN
1209 copy_act_delivery_method(
1210 p_src_act_type => l_event_object_type,
1211 p_new_act_type => l_event_object_type,
1212 p_src_act_id => l_event_offer_id,
1213 p_new_act_id => l_new_event_offer_id,
1214 p_errnum => l_errnum,
1215 p_errcode => l_errcode,
1216 p_errmsg => l_errmsg
1217 );
1218
1219
1220
1221
1222 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1223 RAISE FND_API.G_EXC_ERROR;
1224 END IF;
1225 END IF;
1226 p_event_offer_rec.event_offer_id:=l_new_event_offer_id;
1227 AMS_EVENTOFFER_PVT.complete_evo_rec(p_event_offer_rec,l_new_reference_rec);
1228
1229 x_new_object_id:= l_new_event_offer_id;
1230 x_custom_setup_id:= l_new_reference_rec.custom_setup_id;
1231
1232
1233 IF FND_API.to_Boolean( p_commit )
1234 THEN
1235 COMMIT WORK;
1236 END IF;
1237
1238 -- Debug Message
1239 IF (AMS_DEBUG_HIGH_ON) THEN
1240
1241 AMS_UTILITY_PVT.debug_message('Private API: ' || l_api_name || 'end');
1242 END IF;
1243
1244 -- Standard call to get message count and if count is 1, get message info.
1245 FND_MSG_PUB.Count_And_Get
1246 (p_count => x_msg_count,
1247 p_data => x_msg_data
1248 );
1249
1250
1251 EXCEPTION
1252 WHEN FND_API.G_EXC_ERROR THEN
1253 ROLLBACK TO copy_event_schedule;
1254 x_return_status := FND_API.G_RET_STS_ERROR;
1255 -- Standard call to get message count and if count=1, get the message
1256 FND_MSG_PUB.Count_And_Get (
1257 p_encoded => FND_API.G_FALSE,
1258 p_count => x_msg_count,
1259 p_data => x_msg_data
1260 );
1261 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1262 ROLLBACK TO copy_event_schedule;
1263 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1264 -- Standard call to get message count and if count=1, get the message
1265 FND_MSG_PUB.Count_And_Get (
1266 p_encoded => FND_API.G_FALSE,
1267 p_count => x_msg_count,
1268 p_data => x_msg_data
1269 );
1270 WHEN OTHERS THEN
1271 ROLLBACK TO copy_event_schedule;
1272 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1273 IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
1274 FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,l_api_name);
1275 END IF;
1276 -- Standard call to get message count and if count=1, get the message
1277 FND_MSG_PUB.Count_And_Get (
1278 p_encoded => FND_API.G_FALSE,
1279 p_count => x_msg_count,
1280 p_data => x_msg_data
1281 );
1282
1283
1284 END copy_event_schedule;
1285
1286 END AMS_EventSchedule_Copy_PVT;