[Home] [Help]
PACKAGE BODY: APPS.AMS_EVENT_OBJECTS_COPY_PVT
Source
1 PACKAGE BODY AMS_Event_Objects_Copy_PVT AS
2 /* $Header: amsveocb.pls 120.3 2006/07/14 03:53:04 batoleti noship $ */
3
4 g_pkg_name CONSTANT VARCHAR2(30):='AMS_Event_Objects_Copy_PVT';
5 g_file_name CONSTANT VARCHAR2(12):='amsveocb.pls';
6 G_OBJECT_TYPE_MODEL CONSTANT VARCHAR2(30) := 'EVEH';
7 G_ATTRIBUTE_GEOS CONSTANT VARCHAR2(30) := 'GEOS';
8 G_ATTRIBUTE_CELL CONSTANT VARCHAR2(30) := 'CELL';
9 -- Debug mode
10 -- g_debug boolean := FALSE;
11 -- g_debug boolean := TRUE;
12 --Added for the bug fix : 5213670
13 g_commit VARCHAR2(30) := 'T';
14 -- ==============================================================================
15 -- Start of Comments
16 -- ==============================================================================
17 -- API Name
18 -- Copy_event_header
19 --
20 -- Description
21 -- To support the "Copy Event Headers" 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 --
28 -- ==============================================================================
29 AMS_DEBUG_HIGH_ON CONSTANT boolean := FND_MSG_PUB.CHECK_MSG_LEVEL(FND_MSG_PUB.G_MSG_LVL_DEBUG_HIGH);
30 AMS_DEBUG_LOW_ON CONSTANT boolean := FND_MSG_PUB.CHECK_MSG_LEVEL(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW);
31 AMS_DEBUG_MEDIUM_ON CONSTANT boolean := FND_MSG_PUB.CHECK_MSG_LEVEL(FND_MSG_PUB.G_MSG_LVL_DEBUG_MEDIUM);
32
33 FUNCTION get_agenda_name (p_agenda_id IN NUMBER)
34 RETURN VARCHAR2
35 IS
36 -- PL/SQL Block
37 l_name VARCHAR2 (256);
38 CURSOR c_agenda_name(p_agenda_id IN NUMBER) IS
39 SELECT event_header_name
40 FROM ams_event_headers_vl
41 WHERE parent_event_header_id = p_agenda_id;
42
43 BEGIN
44
45 OPEN c_agenda_name(p_agenda_id);
46 FETCH c_agenda_name INTO l_name;
47 CLOSE c_agenda_name;
48
49 RETURN '"' || l_name || '" ';
50 EXCEPTION
51 WHEN OTHERS
52 THEN
53 RETURN '"' || p_agenda_id || '"';
54 END get_agenda_name;
55
56
57 FUNCTION get_offer_name (p_offer_id IN NUMBER)
58 RETURN VARCHAR2
59 IS
60 -- PL/SQL Block
61 l_name VARCHAR2 (256);
62 CURSOR c_offer_name(p_offer_id IN NUMBER) IS
63 SELECT event_offer_name
64 FROM ams_event_offers_vl
65 WHERE parent_event_offer_id = p_offer_id;
66
67 BEGIN
68
69 OPEN c_offer_name(p_offer_id);
70 FETCH c_offer_name INTO l_name;
71 CLOSE c_offer_name;
72
73 RETURN '"' || l_name || '" ';
74 EXCEPTION
75 WHEN OTHERS
76 THEN
77 RETURN '"' || p_offer_id || '"';
78 END get_offer_name;
79
80 PROCEDURE copy_act_offers (
81 p_src_act_type IN VARCHAR2,
82 p_new_act_type IN VARCHAR2 := NULL,
83 p_src_act_id IN NUMBER,
84 p_new_act_id IN NUMBER,
85 p_errnum OUT NOCOPY NUMBER,
86 p_errcode OUT NOCOPY VARCHAR2,
87 p_errmsg OUT NOCOPY VARCHAR2
88 )
89 IS
90 -- PL/SQL Block
91 l_stmt_num NUMBER;
92 l_name VARCHAR2 (80);
93 l_mesg_text VARCHAR2 (2000);
94 l_api_version NUMBER;
95 l_return_status VARCHAR2 (1);
96 x_msg_count NUMBER;
97 l_msg_data VARCHAR2 (512);
98 l_act_offer_id NUMBER;
99 l_evo_rec AMS_EventOffer_PVT.evo_rec_type;
100 l_offers_rec AMS_EventOffer_PVT.evo_rec_type;
101 temp_offers_rec AMS_EventOffer_PVT.evo_rec_type;
102 l_lookup_meaning VARCHAR2 (80);
103 l_event_header_id NUMBER;
104 l_new_object_id NUMBER;
105 x_custom_setup_id NUMBER;
106
107
108
109 CURSOR offers_cur(l_event_offer_id NUMBER) IS
110 SELECT event_header_id
111 FROM ams_event_offers_vl
112 WHERE event_offer_id=l_event_offer_id;
113
114 l_attributes_table AMS_CpyUtility_PVT.copy_attributes_table_type;
115 l_copy_columns_table AMS_CpyUtility_PVT.copy_columns_table_type;
116
117 CURSOR new_event_dates (l_new_event_header_id NUMBER) IS
118 SELECT ACTIVE_FROM_DATE, ACTIVE_TO_DATE
119 FROM ams_event_headers_vl
120 WHERE EVENT_HEADER_ID = l_new_event_header_id;
121
122 l_event_new_start_date DATE;
123 l_event_new_end_date DATE;
124
125 BEGIN
126 OPEN offers_cur(p_src_act_id);
127 fetch offers_cur into l_event_header_id;
128 close offers_cur;
129
130 --l_attributes_table(1) := 'DETL';
131 l_attributes_table(1) := 'CATG';
132 l_attributes_table(2) := 'MESG';
133 l_attributes_table(3) := 'GEOS';
134 l_attributes_table(4) := 'AGEN';
135 l_attributes_table(5) := 'DELV';
136 l_attributes_table(6) := 'PROD';
137
138
139 OPEN new_event_dates(p_new_act_id);
140 FETCH new_event_dates INTO l_event_new_start_date, l_event_new_end_date;
141 CLOSE new_event_dates;
142
143 IF (AMS_DEBUG_HIGH_ON) THEN
144 AMS_UTILITY_PVT.debug_message('CG: the new_event_dates = ' || l_event_new_start_date || ' ' || l_event_new_end_date);
145 END IF;
146
147
148 l_copy_columns_table(1).column_name := 'EVENT_HEADER_ID';
149 l_copy_columns_table(1).column_value := p_new_act_id;
150 l_copy_columns_table(2).column_name := 'EVENT_NEW_START_DATE';
151 l_copy_columns_table(2).column_value := l_event_new_start_date;
152 l_copy_columns_table(3).column_name := 'EVENT_NEW_END_DATE';
153 l_copy_columns_table(3).column_value := l_event_new_end_date;
154
155 p_errcode := NULL;
156 p_errnum := 0;
157 p_errmsg := NULL;
158 ams_utility_pvt.get_lookup_meaning ('AMS_SYS_ARC_QUALIFIER',
159 'EVEO',
160 l_return_status,
161 l_lookup_meaning
162 );
163 fnd_message.set_name ('AMS', 'AMS_COPY_ELEMENTS');
164 fnd_message.set_token ('ELEMENTS', l_lookup_meaning, TRUE);
165 l_mesg_text := fnd_message.get;
166 ams_cpyutility_pvt.write_log_mesg ( p_src_act_type,
167 l_event_header_id,
168 l_mesg_text,
169 'GENERAL'
170 );
171 l_stmt_num := 1;
172
173 AMS_EventSchedule_Copy_PVT.copy_event_schedule(
174 p_api_version => 1.0,
175 p_init_msg_list => FND_API.G_FALSE,
176 p_commit => FND_API.G_FALSE,
177 p_validation_level => FND_API.G_VALID_LEVEL_FULL,
178
179 x_return_status => l_return_status,
180 x_msg_count => x_msg_count,
181 x_msg_data => l_msg_data,
182
183 p_source_object_id => p_src_act_id,
184 p_attributes_table => l_attributes_table,
185 p_copy_columns_table => l_copy_columns_table,
186
187 x_new_object_id => l_new_object_id,
188 x_custom_setup_id => x_custom_setup_id
189 );
190
191 /* Adding the event_header_id to the event_offer_created.
192 This way we are attaching the offers to a particular
193 event header .
194 */
195
196 IF l_return_status <> Fnd_Api.G_RET_STS_SUCCESS THEN
197 RAISE Fnd_Api.G_EXC_ERROR;
198 END IF;
199
200 -- IF l_return_status = FND_API.G_RET_STS_SUCCESS THEN
201 UPDATE ams_event_offers_all_b
202 SET event_header_id = p_new_act_id
203 WHERE event_offer_id = l_new_object_id;
204 -- END IF;
205
206 -- dbms_output.put_line('the new rec with new header/offer ids are '|| p_src_act_id ||'/'|| l_new_object_id);
207
208
209 IF l_return_status = fnd_api.g_ret_sts_error
210 OR l_return_status = fnd_api.g_ret_sts_unexp_error THEN
211 FOR l_counter IN 1 .. x_msg_count
212 LOOP
213 l_mesg_text := fnd_msg_pub.get (p_encoded => fnd_api.g_false);
214 l_stmt_num := 2;
215 p_errnum := 1;
216 p_errmsg := substr(l_mesg_text||' , '|| TO_CHAR (l_stmt_num) ||
217 ' , ' || '): ' || l_counter ||
218 ' OF ' || x_msg_count, 1, 4000);
219 ams_cpyutility_pvt.write_log_mesg( p_src_act_type,
220 l_event_header_id,
221 p_errmsg,
222 'ERROR'
223 );
224 END LOOP;
225 fnd_message.set_name ('AMS', 'AMS_COPY_ERROR2');
226 fnd_message.set_token ('ELEMENTS', l_lookup_meaning, TRUE);
227 l_mesg_text := fnd_message.get;
228 p_errmsg := SUBSTR ( l_mesg_text || ' - ' ||
229 AMS_Event_Objects_Copy_PVT.get_offer_name (
230 p_src_act_id
231 ), 1, 4000);
232 ams_cpyutility_pvt.write_log_mesg ( p_src_act_type,
233 l_event_header_id,
234 p_errmsg,
235 'ERROR'
236 );
237 END IF;
238
239
240 END copy_act_offers;
241 PROCEDURE copy_act_delivery_method(
242 p_src_act_type IN VARCHAR2,
243 p_new_act_type IN VARCHAR2 := NULL,
244 p_src_act_id IN NUMBER,
245 p_new_act_id IN NUMBER,
246 p_errnum OUT NOCOPY NUMBER,
247 p_errcode OUT NOCOPY VARCHAR2,
248 p_errmsg OUT NOCOPY VARCHAR2
249 )
250 IS
251 -- PL/SQL Block
252 l_stmt_num NUMBER;
253 l_name VARCHAR2 (80);
254 l_mesg_text VARCHAR2 (2000);
255 l_api_version NUMBER;
256 l_return_status VARCHAR2 (1);
257 x_msg_count NUMBER;
258 l_msg_data VARCHAR2 (512);
259 l_act_deliverable_id NUMBER;
260 l_deliverables_rec ams_associations_pvt.association_rec_type;
261 l_temp_deliverables_rec ams_associations_pvt.association_rec_type;
262 l_lookup_meaning VARCHAR2 (80);
263
264 CURSOR deliverable_cur
265 IS
266 SELECT
267 DLT.deliverable_name ,
268 DLV.custom_setup_id,
269 CAT.category_id,
270 OBJ.master_object_id,
271 OBJ.object_association_id,
272 OBJ.using_object_id,
273 CAT.category_name ,
274 OBJ.object_version_number,
275 OBJ.quantity_needed,
276 OBJ.fulfill_on_type_code,
277 OBJ.master_object_type,
278 OBJ.quantity_needed_by_date,
279 OBJ.USING_OBJECT_TYPE,
280 OBJ.primary_flag,
281 OBJ.USAGE_TYPE
282 FROM
283 AMS_OBJECT_ASSOCIATIONS OBJ,
284 AMS_DELIVERABLES_ALL_B DLV,
285 AMS_DELIVERABLES_ALL_TL DLT,
286 AMS_CATEGORIES_TL CAT
287 WHERE
288 OBJ.master_object_id = p_src_act_id AND
289 OBJ.USING_OBJECT_TYPE = 'DELV' AND
290 OBJ.USING_OBJECT_ID = DLV.DELIVERABLE_ID AND
291 OBJ.USING_OBJECT_ID = DLT.DELIVERABLE_ID AND
292 DLT.LANGUAGE = USERENV('LANG') AND
293 DLV.CATEGORY_TYPE_ID = CAT.CATEGORY_ID AND
294 CAT.LANGUAGE = USERENV('LANG') AND
295 OBJ.master_object_type =p_src_act_type;
296 BEGIN
297 p_errcode := NULL;
298 p_errnum := 0;
299 p_errmsg := NULL;
300 l_stmt_num := 1;
301 IF p_src_act_id IS NOT NULL THEN
302 IF (AMS_DEBUG_HIGH_ON) THEN
303
304 AMS_UTILITY_PVT.debug_message('the deliverable copying: ');
305 END IF;
306 IF (AMS_DEBUG_HIGH_ON) THEN
307
308 AMS_UTILITY_PVT.debug_message('the p_src_act_id: ' || p_src_act_id||'\n');
309 END IF;
310 IF (AMS_DEBUG_HIGH_ON) THEN
311
312 AMS_UTILITY_PVT.debug_message('the p_new_act_id: ' || p_new_act_id||'\n');
313 END IF;
314 END IF;
315 FOR deliverable_rec IN deliverable_cur
316 LOOP
317 BEGIN
318 p_errcode := NULL;
319 p_errnum := 0;
320 p_errmsg := NULL;
321 l_deliverables_rec := l_temp_deliverables_rec;
322 l_deliverables_rec.master_object_id:= p_new_act_id;
323 l_deliverables_rec.master_object_type:= NVL(p_new_act_type,p_src_act_type);
324
325 l_deliverables_rec.using_object_id:= deliverable_rec.using_object_id;
326 l_deliverables_rec.object_version_number:= deliverable_rec.object_version_number;
327 l_deliverables_rec.quantity_needed := NULL;
328 l_deliverables_rec.fulfill_on_type_code := deliverable_rec.fulfill_on_type_code;
329 l_deliverables_rec.quantity_needed_by_date := deliverable_rec.quantity_needed_by_date;
330 l_deliverables_rec.using_object_type:= deliverable_rec.using_object_type;
331 l_deliverables_rec.usage_type:= deliverable_rec.usage_type;
332 l_deliverables_rec.primary_flag:= deliverable_rec.primary_flag;
333 l_api_version := 1.0;
334 l_return_status := NULL;
335 x_msg_count := 0;
336 l_msg_data := NULL;
337 --Added for the bug fix : 5213670
338 if g_commit = null OR trim(g_commit) ='' THEN
339 g_commit:='T';
340 END IF;
341 --End Added for the bug fix : 5213670
342 ams_associations_pvt.create_association(
343 p_api_version => l_api_version,
344 p_init_msg_list => fnd_api.g_true,
345 p_commit=>g_commit,
346 p_validation_level=> FND_API.g_valid_level_full,
347 x_return_status => l_return_status,
348 x_msg_count => x_msg_count,
349 x_msg_data => l_msg_data,
350 p_association_rec => l_deliverables_rec,
351 x_object_association_id => l_act_deliverable_id
352 );
353 --Added for the bug fix : 5213670
354 g_commit:='T';
355 IF l_return_status = fnd_api.g_ret_sts_error
356 OR l_return_status = fnd_api.g_ret_sts_unexp_error THEN
357 FOR l_counter IN 1 .. x_msg_count
358 LOOP
359 l_mesg_text := fnd_msg_pub.get (p_encoded => fnd_api.g_false);
360 l_stmt_num := 2;
361 p_errnum := 1;
362 p_errmsg := substr(l_mesg_text||' , '|| TO_CHAR (l_stmt_num) ||
363 ' , ' || '): ' || l_counter ||
364 ' OF ' || x_msg_count, 1, 4000);
365 ams_cpyutility_pvt.write_log_mesg( p_src_act_type,
366 p_src_act_id,
367 p_errmsg,
368 'ERROR'
369 );
370 END LOOP;
371 END IF;
372 EXCEPTION
373 WHEN OTHERS THEN p_errcode := SQLCODE;
374 p_errnum := 3;
375 l_stmt_num := 4;
376 END;
377 END LOOP;
378 EXCEPTION
379 WHEN OTHERS
380 THEN
381 p_errcode := SQLCODE;
382 p_errnum := 4;
383 l_stmt_num := 5;
384 fnd_message.set_name ('AMS', 'AMS_COPY_ERROR3');
385 fnd_message.set_token ('ELEMENTS','AMS_COPY_DELIVMETHODS', TRUE);
386 l_mesg_text := fnd_message.get;
387 p_errmsg := SUBSTR ( l_mesg_text || TO_CHAR (l_stmt_num) ||
388 ',' || '): ' || p_errcode || SQLERRM, 1, 4000);
389 ams_cpyutility_pvt.write_log_mesg ( p_src_act_type,
390 p_src_act_id,
391 p_errmsg,
392 'ERROR'
393 );
394 END copy_act_delivery_method;
395
396 PROCEDURE copy_event_header_agenda(
397 p_src_act_type IN VARCHAR2,
398 p_new_act_type IN VARCHAR2 := NULL,
399 p_src_act_id IN NUMBER,
400 p_new_act_id IN NUMBER,
401 p_errnum OUT NOCOPY NUMBER,
402 p_errcode OUT NOCOPY VARCHAR2,
403 p_errmsg OUT NOCOPY VARCHAR2
404 )
405 IS
406 l_stmt_num NUMBER;
407 l_name VARCHAR2 (80);
408 l_mesg_text VARCHAR2 (2000);
409 l_api_version NUMBER;
410 l_return_status VARCHAR2 (1);
411 x_msg_count NUMBER;
412 l_msg_data VARCHAR2 (512);
413 l_act_agenda_id NUMBER;
414 l_agenda_rec AMS_EventHeader_PVT.evh_rec_type;
415 temp_agenda_rec AMS_EventHeader_PVT.evh_rec_type;
416 l_lookup_meaning VARCHAR2 (80);
417
418 CURSOR agenda_cur IS
419 SELECT
420 event_header_id
421 ,last_update_date
422 ,last_updated_by
423 ,creation_date
424 ,created_by
425 ,last_update_login
426 ,object_version_number
427 ,event_level
428 ,application_id
429 ,event_type_code
430 ,active_flag
431 ,private_flag
432 ,user_status_id
433 ,system_status_code
434 ,last_status_date
435 ,stream_type_code
436 ,source_code
437 ,event_standalone_flag
438 ,day_of_event
439 ,agenda_start_time
440 ,agenda_end_time
441 ,reg_required_flag
442 ,reg_charge_flag
443 ,reg_invited_only_flag
444 ,partner_flag
445 ,overflow_flag
446 ,parent_event_header_id
447 ,duration
448 ,duration_uom_code
449 ,active_from_date
450 ,active_to_date
451 ,reg_maximum_capacity
452 ,reg_minimum_capacity
453 ,main_language_code
454 ,cert_credit_type_code
455 ,certification_credits
456 ,inventory_item_id
457 ,organization_id
458 ,org_id
459 ,forecasted_revenue
460 ,actual_revenue
461 ,forecasted_cost
462 ,actual_cost
463 ,coordinator_id
464 ,fund_source_type_code
465 ,fund_source_id
466 ,fund_amount_tc
467 ,fund_amount_fc
468 ,currency_code_tc
469 ,currency_code_fc
470 ,owner_user_id
471 ,url
472 ,email
473 ,phone
474 ,priority_type_code
475 ,cancellation_reason_code
476 ,inbound_script_name
477 ,attribute_category
478 ,attribute1
479 ,attribute2
480 ,attribute3
481 ,attribute4
482 ,attribute5
483 ,attribute6
484 ,attribute7
485 ,attribute8
486 ,attribute9
487 ,attribute10
488 ,attribute11
489 ,attribute12
490 ,attribute13
491 ,attribute14
492 ,attribute15
493 ,event_header_name
494 ,event_mktg_message
495 ,description
496 ,setup_type_id
497 ,country_code
498 ,business_unit_id
499 ,event_calendar
500 ,start_period_name
501 ,end_period_name
502 ,global_flag
503 ,task_id
504 ,program_id
505 ,CREATE_ATTENDANT_LEAD_FLAG
506 ,CREATE_REGISTRANT_LEAD_FLAG
507 ,EVENT_PURPOSE_CODE
508 FROM ams_event_headers_vl
509 WHERE parent_event_header_id = p_src_act_id
510 AND event_level='SUB';
511 BEGIN
512 p_errcode := NULL;
513 p_errnum := 0;
514 p_errmsg := NULL;
515 ams_utility_pvt.get_lookup_meaning ( 'AMS_SYS_ARC_QUALIFIER',
516 'AGEN',
517 l_return_status,
518 l_lookup_meaning
519 );
520 fnd_message.set_name ('AMS', 'AMS_COPY_ELEMENTS');
521 fnd_message.set_token ('ELEMENTS', l_lookup_meaning, TRUE);
522 l_mesg_text := fnd_message.get;
523 ams_cpyutility_pvt.write_log_mesg ( p_src_act_type,
524 p_src_act_id,
525 l_mesg_text,
526 'GENERAL'
527 );
528 l_stmt_num := 1;
529 -- copy agenda
530 IF p_src_act_id IS NOT NULL THEN
531 IF (AMS_DEBUG_HIGH_ON) THEN
532
533 AMS_UTILITY_PVT.debug_message('the p_src_act_id: ' || p_src_act_id||'\n');
534 END IF;
535 IF (AMS_DEBUG_HIGH_ON) THEN
536
537 AMS_UTILITY_PVT.debug_message('the p_new_act_id: ' || p_new_act_id||'\n');
538 END IF;
539 END IF;
540 FOR agenda_rec IN agenda_cur
541 LOOP
542 BEGIN
543 p_errcode := NULL;
544 p_errnum := 0;
545 p_errmsg := NULL;
546 l_api_version := 1.0;
547 l_return_status := NULL;
548 x_msg_count := 0;
549 l_msg_data := NULL;
550 l_act_agenda_id:=0;
551 l_agenda_rec.parent_event_header_id := p_new_act_id;
552 l_agenda_rec.event_header_name:= agenda_rec.event_header_name;
553 l_agenda_rec.active_from_date:= agenda_rec.active_from_date;
554 l_agenda_rec.active_to_date:= agenda_rec.active_to_date;
555 l_agenda_rec.application_id:=530;
556 l_agenda_rec.agenda_start_time := agenda_rec.agenda_start_time;
557
558 l_agenda_rec.agenda_end_time := agenda_rec.agenda_end_time;
559 l_agenda_rec.day_of_event := agenda_rec.day_of_event;
560 l_agenda_rec.owner_user_id:=agenda_rec.owner_user_id;
561 l_agenda_rec.event_level:='SUB';
562 l_agenda_rec.user_status_id:=agenda_rec.user_status_id;
563 AMS_EventHeader_PVT.create_event_header (
564 p_api_version => 1.0,
565 p_init_msg_list => FND_API.G_FALSE,
566 p_commit => FND_API.G_FALSE,
567 p_validation_level => FND_API.g_valid_level_full,
568 x_return_status => l_return_status,
569 x_msg_count => x_msg_count,
570 x_msg_data => l_msg_data,
571 p_evh_rec => l_agenda_rec,
572 x_evh_id => l_act_agenda_id
573 );
574
575 IF (AMS_DEBUG_HIGH_ON) THEN
576
577
578
579 AMS_UTILITY_PVT.debug_message('the p_act_agenda_id: ' || l_act_agenda_id||'\n');
580
581 END IF;
582
583
584 IF l_return_status = fnd_api.g_ret_sts_error
585 OR l_return_status = fnd_api.g_ret_sts_unexp_error THEN
586 FOR l_counter IN 1 .. x_msg_count
587 LOOP
588 l_mesg_text := fnd_msg_pub.get (p_encoded => fnd_api.g_false);
589 l_stmt_num := 2;
590 p_errnum := 1;
591 p_errmsg := substr(l_mesg_text||' , '|| TO_CHAR (l_stmt_num) ||
592 ' , ' || '): ' || l_counter ||
593 ' OF ' || x_msg_count, 1, 4000);
594 ams_cpyutility_pvt.write_log_mesg( p_src_act_type,
595 p_src_act_id,
596 p_errmsg,
597 'ERROR'
598 );
599 END LOOP;
600 fnd_message.set_name ('AMS', 'AMS_COPY_ERROR2');
601 fnd_message.set_token ('ELEMENTS', l_lookup_meaning, TRUE);
602 l_mesg_text := fnd_message.get;
603
604 p_errmsg := SUBSTR ( l_mesg_text || ' - ' ||
605 AMS_Event_Objects_Copy_PVT.get_agenda_name (
606 agenda_rec.parent_event_header_id
607 ), 1, 4000);
608 ams_cpyutility_pvt.write_log_mesg ( p_src_act_type,
609 p_src_act_id,
610 p_errmsg,
611 'ERROR'
612 );
613 END IF;
614 EXCEPTION
615 WHEN OTHERS THEN
616 p_errcode := SQLCODE;
617 p_errnum := 3;
618 l_stmt_num := 4;
619 fnd_message.set_name ('AMS', 'AMS_COPY_ERROR');
620 fnd_message.set_token ('ELEMENTS', l_lookup_meaning, TRUE);
621 l_mesg_text := fnd_message.get;
622 p_errmsg := SUBSTR ( l_mesg_text ||
623 ',' || TO_CHAR (l_stmt_num) ||
624 ',' || '): ' || p_errcode ||
625 SQLERRM, 1, 4000);
626 fnd_message.set_name ('AMS', 'AMS_COPY_ERROR2');
627 fnd_message.set_token ('ELEMENTS', l_lookup_meaning, TRUE);
628 l_mesg_text := fnd_message.get;
629 p_errmsg := SUBSTR ( l_mesg_text ||
630 AMS_Event_Objects_Copy_PVT.get_agenda_name (
631 agenda_rec.parent_event_header_id
632 ) || p_errmsg, 1, 4000);
633 ams_cpyutility_pvt.write_log_mesg ( p_src_act_type,
634 p_src_act_id,
635 p_errmsg,
636 'ERROR'
637 );
638 END;
639 END LOOP;
640
641 EXCEPTION
642 WHEN OTHERS
643 THEN
644 p_errcode := SQLCODE;
645 p_errnum := 4;
646 l_stmt_num := 5;
647 fnd_message.set_name ('AMS', 'AMS_COPY_ERROR3');
648 fnd_message.set_token ('ELEMENTS', l_lookup_meaning, TRUE);
649 l_mesg_text := fnd_message.get;
650 p_errmsg := SUBSTR ( l_mesg_text || TO_CHAR (l_stmt_num) ||
651 ',' || '): ' || p_errcode || SQLERRM,
652 1, 4000);
653 ams_cpyutility_pvt.write_log_mesg ( p_src_act_type,
654 p_src_act_id,
655 p_errmsg,
656 'ERROR'
657 );
658 END copy_event_header_agenda;
659
660
661 PROCEDURE copy_event_header(
662 p_api_version IN NUMBER,
663 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
664 p_commit IN VARCHAR2 := FND_API.G_FALSE,
665 p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
666
667 x_return_status OUT NOCOPY VARCHAR2,
668 x_msg_count OUT NOCOPY NUMBER,
669 x_msg_data OUT NOCOPY VARCHAR2,
670
671 p_source_object_id IN NUMBER,
672 p_attributes_table IN AMS_CpyUtility_PVT.copy_attributes_table_type,
673 p_copy_columns_table IN AMS_CpyUtility_PVT.copy_columns_table_type,
674
675 x_new_object_id OUT NOCOPY NUMBER,
676 x_custom_setup_id OUT NOCOPY NUMBER
677 )
678 IS
679
680 L_API_NAME CONSTANT VARCHAR2(30) := 'create_event_header';
681 L_API_VERSION_NUMBER CONSTANT NUMBER := 1.0;
682 l_return_status_full VARCHAR2(1);
683 l_object_version_number NUMBER(9) := 2;-- Copy 5171873
684 l_org_id NUMBER := FND_API.G_MISS_NUM;
685 l_event_header_id NUMBER:=p_source_object_id;
686 l_new_event_header_id NUMBER;
687 l_dummy NUMBER;
688 p_event_header_rec AMS_EventHeader_PVT.evh_rec_type;
689 l_evh_rec AMS_EventHeader_PVT.evh_rec_type;
690 l_reference_rec AMS_EventHeader_PVT.evh_rec_type;
691 l_event_header_rec AMS_EventHeader_PVT.evh_rec_type;
692 l_new_reference_rec AMS_EventHeader_PVT.evh_rec_type;
693 l_return_status VARCHAR2(1);
694 l_errnum NUMBER;
695 l_errcode VARCHAR2(30);
696 l_errmsg VARCHAR2(4000);
697 --l_msg_count NUMBER;
698 --l_msg_data VARCHAR2;
699 l_custom_setup_id NUMBER := 1;
700 -- these variables are for selective copying of event schedules with a particular parent event name
701 l_new_event_schedule_id NUMBER;
702 l_tmp_event_schedule_id NUMBER;
703 x_event_schedule_ids VARCHAR2(3000);
704 l_event_schedule_ids VARCHAR2(3000);
705 l_index NUMBER ;
706 l_length NUMBER;
707 l_counter NUMBER;
708 l_str_event_schedule_id VARCHAR2(20);
709 l_copy_sched_cont_flag VARCHAR2(1) := 'Y';
710
711 BEGIN
712
713 -- Standard Start of API savepoint
714 SAVEPOINT copy_event_header;
715
716 -- Standard call to check for call compatibility.
717 IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
718 p_api_version,
719 l_api_name,
720 G_PKG_NAME)
721 THEN
722 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
723 END IF;
724
725 -- Initialize message list if p_init_msg_list is set to TRUE.
726 IF FND_API.to_Boolean( p_init_msg_list )
727 THEN
728 FND_MSG_PUB.initialize;
729 END IF;
730
731 -- Debug Message
732 IF (AMS_DEBUG_HIGH_ON) THEN
733
734 AMS_UTILITY_PVT.debug_message('Private API: ' || l_api_name || 'start');
735 END IF;
736 IF (AMS_DEBUG_HIGH_ON) THEN
737
738 AMS_UTILITY_PVT.debug_message('the source object id: ' || p_source_object_id||'\n');
739 END IF;
740 IF (AMS_DEBUG_HIGH_ON) THEN
741
742 AMS_UTILITY_PVT.debug_message('the new source object id: ' || x_new_object_id||'\n');
743 END IF;
744 IF (AMS_DEBUG_HIGH_ON) THEN
745
746 AMS_UTILITY_PVT.debug_message('the source custom setup id: ' || x_custom_setup_id||'\n');
747 END IF;
748 FOR i IN 1..p_copy_columns_table.COUNT LOOP
749 IF (AMS_DEBUG_HIGH_ON) THEN
750
751 AMS_UTILITY_PVT.debug_message('the'||i||'copy column name: '|| p_copy_columns_table(i).column_name||'\n');
752 END IF;
753 IF (AMS_DEBUG_HIGH_ON) THEN
754
755 AMS_UTILITY_PVT.debug_message('the'||i||'copy column value: '|| p_copy_columns_table(i).column_value||'\n');
756 END IF;
757
758 END LOOP;
759
760 FOR i IN 1..p_attributes_table.COUNT LOOP
761 IF (AMS_DEBUG_HIGH_ON) THEN
762
763 AMS_UTILITY_PVT.debug_message('the'||i||'attibute: '||p_attributes_table(i));
764 END IF;
765 END LOOP;
766 -- Initialize API return status to SUCCESS
767 x_return_status := FND_API.G_RET_STS_SUCCESS;
768
769
770 --
771 -- Start of API body
772 --
773
774 -- ----------------------------
775 -- fetch source object details
776 -- ----------------------------
777
778 AMS_EventHeader_PVT.init_evh_rec(p_event_header_rec);
779 p_event_header_rec.event_header_id:=p_source_object_id;
780 AMS_EventHeader_PVT.complete_evh_rec(p_event_header_rec,l_evh_rec);
781
782 l_reference_rec:=l_evh_rec;
783 l_event_header_rec:=l_evh_rec;
784 l_event_header_rec.event_header_id := null;
785 l_event_header_rec.object_version_number := 2; -- Copy 5171873
786 -- l_event_header_rec.source_code := null;
787
788
789 -- ------------------------------
790 -- copy all required fields
791 -- i.e. copy values of all mandatory columns from the copy UI
792 -- Mandatory fields for EVEH are EventName,EventHeaderId,Start Date and End Date
793 -- for ams_event_headers_all_b table :
794 -- ------------------------------
795
796 AMS_CpyUtility_PVT.get_column_value('startDate', p_copy_columns_table, l_event_header_rec.active_from_date);
797 l_event_header_rec.active_from_date:= NVL(l_event_header_rec.active_from_date , l_reference_rec.active_from_date);
798 AMS_CpyUtility_PVT.get_column_value('endDate', p_copy_columns_table, l_event_header_rec.active_to_date);
799 l_event_header_rec.active_to_date:= NVL( l_event_header_rec.active_to_date, l_reference_rec.active_to_date);
800 AMS_CpyUtility_PVT.get_column_value('newObjName', p_copy_columns_table, l_event_header_rec.event_header_name);
801 l_event_header_rec.event_header_name:= NVL( l_event_header_rec.event_header_name, l_reference_rec.event_header_name);
802 AMS_CpyUtility_PVT.get_column_value('ownerId', p_copy_columns_table,l_event_header_rec.owner_user_id);
803 l_event_header_rec.owner_user_id:= NVL(l_event_header_rec.owner_user_id, l_reference_rec.owner_user_id);
804 AMS_CpyUtility_PVT.get_column_value('newSrcCode', p_copy_columns_table, l_event_header_rec.source_code);
805 l_event_header_rec.source_code:= NVL(l_event_header_rec.source_code, NULL);
806 IF (AMS_DEBUG_HIGH_ON) THEN
807
808 AMS_UTILITY_PVT.debug_message('the l_event_header_rec.source_code: '||l_event_header_rec.source_code);
809 END IF;
810 AMS_CpyUtility_PVT.get_column_value('countryId', p_copy_columns_table, l_event_header_rec.country_code);
811 l_event_header_rec.country_code:= NVL( l_event_header_rec.country_code, l_reference_rec.country_code);
812 AMS_CpyUtility_PVT.get_column_value('programId', p_copy_columns_table, l_event_header_rec.program_id);
813 -- batoleti commneted the below stmt. Refer bug# 5388748 for more details on this.
814 --l_event_header_rec.program_id:= NVL(l_event_header_rec.program_id, l_reference_rec.program_id);
815 --
816 -- mandatory fields for eveh create are
817 -- name, lang, coordinator, currency, startDate,endDate
818 --
819
820 AMS_CpyUtility_PVT.get_column_value ('langCode', p_copy_columns_table, l_event_header_rec.main_language_code );
821 l_event_header_rec.main_language_code := NVL (l_event_header_rec.main_language_code, l_reference_rec.main_language_code );
822
823 AMS_CpyUtility_PVT.get_column_value ('currency', p_copy_columns_table, l_event_header_rec.currency_code_tc);
824 l_event_header_rec.currency_code_tc:= NVL (l_event_header_rec.currency_code_tc, l_reference_rec.currency_code_tc);
825
826 -- Fields not to be copied
827
828
829
830 l_event_header_rec.business_unit_id:= NULL;
831 l_event_header_rec.description:=NULL;
832 l_event_header_rec.start_period_name:= NULL;
833 l_event_header_rec.end_period_name:= NULL;
834 l_event_header_rec.user_status_id:=NULL;
835 l_event_header_rec.priority_type_code:=NULL;
836 l_event_header_rec.fund_amount_tc:= NULL;
837
838 l_event_header_rec.INVENTORY_ITEM_ID:=NULL;
839 l_event_header_rec.FORECASTED_REVENUE:=NULL;
840 l_event_header_rec.ACTUAL_REVENUE:=NULL;
841 l_event_header_rec.FORECASTED_COST:=NULL;
842 l_event_header_rec.ACTUAL_COST:=NULL;
843 l_event_header_rec.FUND_SOURCE_TYPE_CODE:=NULL;
844 l_event_header_rec.FUND_SOURCE_ID:=NULL;
845 l_event_header_rec.FUND_AMOUNT_FC:=NULL;
846
847
848
849
850
851
852 -- ----------------------------
853 -- call create api
854 IF (AMS_DEBUG_HIGH_ON) THEN
855
856 AMS_UTILITY_PVT.debug_message('HeaderId: ' || l_event_header_rec.event_header_id || 'start\n');
857 END IF;
858
859 AMS_EventHeader_PVT.create_event_header (
860 p_api_version => 1.0,
861 p_init_msg_list => FND_API.G_FALSE,
862 p_commit => FND_API.G_FALSE,
863 p_validation_level => FND_API.g_valid_level_full,
864 x_return_status => x_return_status,
865 x_msg_count => x_msg_count,
866 x_msg_data => x_msg_data,
867 p_evh_rec => l_event_header_rec,
868 x_evh_id => l_new_event_header_id
869 );
870
871 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
872 RAISE FND_API.G_EXC_ERROR;
873 END IF;
874 -- copy agenda
875 IF l_event_header_id IS NOT NULL THEN
876
877 IF (AMS_DEBUG_HIGH_ON) THEN
878
879
880
881 AMS_UTILITY_PVT.debug_message('the l_event_header_id: ' || l_event_header_id||'\n');
882
883 END IF;
884
885 IF (AMS_DEBUG_HIGH_ON) THEN
886
887 AMS_UTILITY_PVT.debug_message('the l_new_event_header_id: ' || l_new_event_header_id||'\n');
888 END IF;
889
890 END IF;
891 IF AMS_CpyUtility_PVT.is_copy_attribute (AMS_Event_Objects_Copy_PVT.G_ATTRIBUTE_AGEN , p_attributes_table) = FND_API.G_TRUE THEN
892 copy_event_header_agenda (
893 p_src_act_type => G_OBJECT_TYPE_MODEL,
894 p_new_act_type => G_OBJECT_TYPE_MODEL,
895 p_src_act_id => l_event_header_id,
896 p_new_act_id => l_new_event_header_id,
897 p_errnum => l_errnum,
898 p_errcode => l_errcode,
899 p_errmsg => l_errmsg
900 );
901 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
902 RAISE FND_API.G_EXC_ERROR;
903 END IF;
904 END IF;
905
906 -- copy resources
907 /* Commented by mukemar on may14 2002 we are not supporting the resource copy
908 IF AMS_CpyUtility_PVT.is_copy_attribute (AMS_Event_Objects_Copy_PVT.G_ATTRIBUTE_RESC, p_attributes_table) = FND_API.G_TRUE THEN
909 AMS_CopyElements_PVT.copy_act_resources (
910 p_src_act_type => G_OBJECT_TYPE_MODEL,
911 p_new_act_type => G_OBJECT_TYPE_MODEL,
912 p_src_act_id => l_event_header_id,
913 p_new_act_id => l_new_event_header_id,
914 p_errnum => l_errnum,
915 p_errcode => l_errcode,
916 p_errmsg => l_errmsg
917 );
918 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
919 RAISE FND_API.G_EXC_ERROR;
920 END IF;
921 END IF;
922 */
923 IF AMS_CpyUtility_PVT.is_copy_attribute (AMS_Event_Objects_Copy_PVT.G_ATTRIBUTE_PROD, p_attributes_table) = FND_API.G_TRUE THEN
924 AMS_CopyElements_PVT.copy_act_prod (
925 p_src_act_type => G_OBJECT_TYPE_MODEL,
926 p_new_act_type => G_OBJECT_TYPE_MODEL,
927 p_src_act_id => l_event_header_id,
928 p_new_act_id => l_new_event_header_id,
929 p_errnum => l_errnum,
930 p_errcode => l_errcode,
931 p_errmsg => l_errmsg
932 );
933 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
934 RAISE FND_API.G_EXC_ERROR;
935 END IF;
936 END IF;
937 IF AMS_CpyUtility_PVT.is_copy_attribute (AMS_Event_Objects_Copy_PVT.G_ATTRIBUTE_GEOS, p_attributes_table) = FND_API.G_TRUE THEN
938 AMS_CopyElements_PVT.copy_act_geo_areas (
939 p_src_act_type => G_OBJECT_TYPE_MODEL,
940 p_new_act_type => G_OBJECT_TYPE_MODEL,
941 p_src_act_id => l_event_header_id,
942 p_new_act_id => l_new_event_header_id,
943 p_errnum => l_errnum,
944 p_errcode => l_errcode,
945 p_errmsg => l_errmsg
946 );
947 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
948 RAISE FND_API.G_EXC_ERROR;
949 END IF;
950 END IF;
951 IF AMS_CpyUtility_PVT.is_copy_attribute (AMS_Event_Objects_Copy_PVT.G_ATTRIBUTE_CELL, p_attributes_table) = FND_API.G_TRUE THEN
952 AMS_CopyElements_PVT.copy_act_market_segments (
953 p_src_act_type => G_OBJECT_TYPE_MODEL,
954 p_new_act_type => G_OBJECT_TYPE_MODEL,
955 p_src_act_id => l_event_header_id,
956 p_new_act_id => l_new_event_header_id,
957 p_errnum => l_errnum,
958 p_errcode => l_errcode,
959 p_errmsg => l_errmsg
960 );
961 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
962 RAISE FND_API.G_EXC_ERROR;
963 END IF;
964 END IF;
965
966 -- copy categories
967 IF AMS_CpyUtility_PVT.is_copy_attribute (AMS_Event_Objects_Copy_PVT.G_ATTRIBUTE_CATG, p_attributes_table) = FND_API.G_TRUE THEN
968 AMS_CopyElements_PVT.copy_act_categories (
969 p_src_act_type => G_OBJECT_TYPE_MODEL,
970 p_new_act_type => G_OBJECT_TYPE_MODEL,
971 p_src_act_id => l_event_header_id,
972 p_new_act_id => l_new_event_header_id,
973 p_errnum => l_errnum,
974 p_errcode => l_errcode,
975 p_errmsg => l_errmsg
976 );
977 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
978 RAISE FND_API.G_EXC_ERROR;
979 END IF;
980 END IF;
981 IF AMS_CpyUtility_PVT.is_copy_attribute (AMS_EventSchedule_Copy_PVT.G_ATTRIBUTE_ATCH, p_attributes_table) = FND_API.G_TRUE THEN
982 AMS_CopyElements_PVT.copy_act_attachments (
983 p_src_act_type => G_OBJECT_TYPE_MODEL,
984 p_new_act_type => G_OBJECT_TYPE_MODEL,
985 p_src_act_id => l_event_header_id,
986 p_new_act_id => l_new_event_header_id,
987 p_errnum => l_errnum,
988 p_errcode => l_errcode,
989 p_errmsg => l_errmsg
990 );
991 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
992 RAISE FND_API.G_EXC_ERROR;
993 END IF;
994 END IF;
995
996 IF AMS_CpyUtility_PVT.is_copy_attribute (AMS_Event_Objects_Copy_PVT.G_ATTRIBUTE_MESG, p_attributes_table) = FND_API.G_TRUE THEN
997 AMS_CopyElements_PVT.copy_act_messages(
998 p_src_act_type => G_OBJECT_TYPE_MODEL,
999 p_new_act_type => G_OBJECT_TYPE_MODEL,
1000 p_src_act_id => l_event_header_id,
1001 p_new_act_id => l_new_event_header_id,
1002 p_errnum => l_errnum,
1003 p_errcode => l_errcode,
1004 p_errmsg => l_errmsg
1005 );
1006 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1007 RAISE FND_API.G_EXC_ERROR;
1008 END IF;
1009 END IF;
1010
1011 IF AMS_CpyUtility_PVT.is_copy_attribute (AMS_Event_Objects_Copy_PVT.G_ATTRIBUTE_DELV, p_attributes_table) = FND_API.G_TRUE THEN
1012 --Added for the bug fix : 5213670
1013 g_commit:='F';
1014 copy_act_delivery_method(
1015 p_src_act_type => G_OBJECT_TYPE_MODEL,
1016 p_new_act_type => G_OBJECT_TYPE_MODEL,
1017 p_src_act_id => l_event_header_id,
1018 p_new_act_id => l_new_event_header_id,
1019 p_errnum => l_errnum,
1020 p_errcode => l_errcode,
1021 p_errmsg => l_errmsg
1022 );
1023
1024 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1025 RAISE FND_API.G_EXC_ERROR;
1026 END IF;
1027 END IF;
1028
1029
1030 IF AMS_CpyUtility_PVT.is_copy_attribute (AMS_Event_Objects_Copy_PVT.G_ATTRIBUTE_EVEO, p_attributes_table) = FND_API.G_TRUE THEN
1031
1032 -- Get the Schedule Ids as comma separated variables.
1033 IF (AMS_DEBUG_HIGH_ON) THEN
1034
1035 AMS_UTILITY_PVT.debug_message('Getting scheduleid values');
1036 END IF;
1037
1038 AMS_CpyUtility_PVT.get_column_value ('eventScheduleIdRec', p_copy_columns_table, x_event_schedule_ids);
1039 l_event_schedule_ids := NVL (x_event_schedule_ids, '');
1040
1041 FOR i IN 1..p_copy_columns_table.COUNT LOOP
1042 -- IF (AMS_DEBUG_HIGH_ON) THEN Ams_Utility_Pvt.debug_message('The Initial Vlues:' || p_copy_columns_table(i).column_name); END IF;
1043 -- IF (AMS_DEBUG_HIGH_ON) THEN Ams_Utility_Pvt.debug_message('The Initial Vlues:' || p_copy_columns_table(i).column_value); END IF;
1044 IF (p_copy_columns_table(i).column_name = 'eventScheduleIdRec'
1045 AND p_copy_columns_table(i).column_value = 'undefined' )THEN
1046 l_copy_sched_cont_flag := 'N';
1047 END IF;
1048
1049 END LOOP;
1050
1051 IF (AMS_DEBUG_HIGH_ON) THEN
1052
1053
1054
1055 AMS_UTILITY_PVT.debug_message('eventScheduleId Rec:' || l_event_schedule_ids);
1056
1057 END IF;
1058
1059 WHILE (l_copy_sched_cont_flag <> 'N') LOOP
1060
1061 -- Separate comma separated l_schedule_ids to number values and use for copy
1062 l_index := INSTR(l_event_schedule_ids,',');
1063
1064 IF l_index > 0 THEN
1065 l_str_event_schedule_id := SUBSTR(l_event_schedule_ids, 1, l_index-1);
1066 l_tmp_event_schedule_id := TO_NUMBER(l_str_event_schedule_id);
1067 l_event_schedule_ids := SUBSTR(l_event_schedule_ids, l_index+1);
1068 ELSE
1069 l_copy_sched_cont_flag := 'N';
1070 l_tmp_event_schedule_id := TO_NUMBER(l_event_schedule_ids);
1071 END IF;
1072
1073
1074 IF l_tmp_event_schedule_id IS NOT NULL THEN
1075 IF (AMS_DEBUG_HIGH_ON) THEN
1076
1077 AMS_UTILITY_PVT.debug_message('calling event schedule copy for event_schedule id:' || l_tmp_event_schedule_id);
1078 END IF;
1079
1080 copy_act_offers(
1081 p_src_act_type => G_OBJECT_TYPE_MODEL,
1082 p_new_act_type => G_OBJECT_TYPE_MODEL,
1083 p_src_act_id => l_tmp_event_schedule_id,
1084 p_new_act_id => l_new_event_header_id,
1085 p_errnum => l_errnum,
1086 p_errcode => l_errcode,
1087 p_errmsg => l_errmsg
1088 );
1089
1090
1091 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1092 RAISE FND_API.G_EXC_ERROR;
1093 END IF;
1094 END IF;
1095
1096 END LOOP; -- WHILE (l_copy_sched_cont_flag <> 'N')
1097 END IF;
1098
1099
1100 p_event_header_rec.event_header_id:=l_new_event_header_id;
1101 AMS_EVENTHEADER_PVT.complete_evh_rec(p_event_header_rec,l_new_reference_rec);
1102 x_new_object_id:= l_new_event_header_id;
1103 x_custom_setup_id:= l_new_reference_rec.custom_setup_id;
1104
1105
1106
1107 IF FND_API.to_Boolean( p_commit )
1108 THEN
1109 COMMIT WORK;
1110 END IF;
1111
1112 -- Debug Message
1113 IF (AMS_DEBUG_HIGH_ON) THEN
1114
1115 AMS_UTILITY_PVT.debug_message('Private API: ' || l_api_name || 'end');
1116 END IF;
1117
1118 -- Standard call to get message count and if count is 1, get message info.
1119 FND_MSG_PUB.Count_And_Get
1120 (p_count => x_msg_count,
1121 p_data => x_msg_data
1122 );
1123
1124
1125 EXCEPTION
1126 WHEN FND_API.G_EXC_ERROR THEN
1127 ROLLBACK TO copy_event_header;
1128 x_return_status := FND_API.G_RET_STS_ERROR;
1129 -- Standard call to get message count and if count=1, get the message
1130 FND_MSG_PUB.Count_And_Get (
1131 p_encoded => FND_API.G_FALSE,
1132 p_count => x_msg_count,
1133 p_data => x_msg_data
1134 );
1135 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1136 ROLLBACK TO copy_event_header;
1137 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1138 -- Standard call to get message count and if count=1, get the message
1139 FND_MSG_PUB.Count_And_Get (
1140 p_encoded => FND_API.G_FALSE,
1141 p_count => x_msg_count,
1142 p_data => x_msg_data
1143 );
1144
1145 WHEN OTHERS THEN
1146 ROLLBACK TO copy_event_header;
1147 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1148 IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
1149 FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,l_api_name);
1150 END IF;
1151 -- Standard call to get message count and if count=1, get the message
1152 FND_MSG_PUB.Count_And_Get (
1153 p_encoded => FND_API.G_FALSE,
1154 p_count => x_msg_count,
1155 p_data => x_msg_data
1156 );
1157
1158
1159 END copy_event_header;
1160
1161 END AMS_Event_Objects_Copy_PVT;