[Home] [Help]
PACKAGE BODY: APPS.AMS_TRACKING_PVT
Source
1 PACKAGE BODY AMS_TRACKING_PVT as
2 /* $Header: amsvtrkb.pls 120.1 2006/10/27 23:35:17 rrajesh noship $ */
3 -- ===============================================================
4 -- Start of Comments
5 -- Package name
6 -- AMS_TRACKING_PVT
7 -- Purpose
8 --
9 -- History
10 --
11 -- NOTE
12 --
13 -- End of Comments
14 -- ===============================================================
15
16 G_PKG_NAME CONSTANT VARCHAR2(30):= 'AMS_TRACKING_PVT';
17 G_FILE_NAME CONSTANT VARCHAR2(12) := 'amsvtrkb.pls';
18
19 FUNCTION isMinisite_iStore(p_minisite_id IN NUMBER) RETURN BOOLEAN
20 IS
21 l_count NUMBER := 0;
22 BEGIN
23 SELECT COUNT(MSITE_ID) into l_count FROM IBE_MSITES_B where MSITE_ID = p_minisite_id;
24 IF l_count > 0 THEN
25 RETURN TRUE;
26 ELSE
27 RETURN FALSE;
28 END IF;
29 EXCEPTION
30 WHEN NO_DATA_FOUND THEN
31 RETURN FALSE;
32 END isMinisite_iStore;
33
34
35 /* PROCEDURE insert_log_mesg (p_mesg IN VARCHAR2)
36 IS
37 PRAGMA AUTONOMOUS_TRANSACTION;
38 BEGIN
39 insert into raghu_table values (p_mesg, sysdate);
40 commit;
41 END; */
42
43
44 PROCEDURE Log_interaction(
45 p_api_version_number IN NUMBER,
46 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
47 p_commit IN VARCHAR2 := FND_API.G_FALSE,
48 p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
49
50 x_return_status OUT NOCOPY VARCHAR2,
51 x_msg_count OUT NOCOPY NUMBER,
52 x_msg_data OUT NOCOPY VARCHAR2,
53 x_interaction_id OUT NOCOPY NUMBER,
54
55 p_track_rec IN interaction_track_rec_type := g_miss_ps_strats_rec
56 )
57 IS
58 L_API_NAME CONSTANT VARCHAR2(30) := 'Log_interaction';
59 L_API_VERSION_NUMBER CONSTANT NUMBER := 1.0;
60
61 l_interaction_rec JTF_IH_PUB.interaction_rec_type;
62 l_media_rec JTF_IH_PUB.media_rec_type;
63 l_activity_rec JTF_IH_PUB.activity_rec_type;
64 l_activity_tbl JTF_IH_PUB.activity_tbl_type;
65 l_media_id NUMBER;
66 l_return_status VARCHAR2(1);
67 l_msg_count NUMBER;
68 l_msg_data VARCHAR2(2000);
69 l_resource_id NUMBER;
70 l_interaction_id NUMBER := null;
71 code_id NUMBER := null;
72 l_activity_id NUMBER;
73 l_action_item_id NUMBER;
74 l_minisite_id NUMBER := null;
75 l_web_content_id NUMBER := null;
76 l_activity_type VARCHAR2(30);
77 obj_type VARCHAR2(4);
78
79 CURSOR c_minisite_id(p_webcontent_id NUMBER) IS
80 SELECT NVL(display_rule_id,0) FROM jtf_amv_attachments WHERE
81 attachment_id = p_webcontent_id;
82
83 CURSOR c_minisite_id_lite(p_webcontent_id NUMBER) IS
84 select p.action_param_value
85 from ams_ctds a, ams_ctd_param_values p
86 where a.ctd_id = p.ctd_id
87 and p.action_param_id in (21,31,41, 61)
88 and a.ctd_id = p_webcontent_id;
89
90 BEGIN
91 -- Standard Start of API savepoint
92 SAVEPOINT Log_interaction ;
93
94 -- Standard call to check for call compatibility.
95 IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
96 p_api_version_number,
97 l_api_name,
98 G_PKG_NAME)
99 THEN
100 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
101 END IF;
102
103 -- Initialize message list if p_init_msg_list is set to TRUE.
104 IF FND_API.to_Boolean( p_init_msg_list )
105 THEN
106 FND_MSG_PUB.initialize;
107 END IF;
108
109 -- Debug Message
110 AMS_UTILITY_PVT.debug_message('Private API: ' || l_api_name || 'start');
111
112 -- Initialize API return status to SUCCESS
113 l_return_status := FND_API.G_RET_STS_SUCCESS;
114 x_return_status := FND_API.G_RET_STS_SUCCESS;
115
116 -- JTF_IH_PUB.open_mediaitem
117 l_media_rec.start_date_time := SYSDATE;
118
119 -- IF (p_track_rec.obj_type = 'CSCH')
120 -- THEN
121 l_media_rec.media_item_type := 'WEB FORM';
122 -- ELSE
123 -- l_media_rec.media_item_type := 'WEB FORM';
124
125 -- Keeping it as WEB FORM for the time being,will change shortly.
126
127 -- END IF;
128
129 -- Validation for Minisite and Populate the media_rec
130 -- Validate for PHAT ONLY
131
132 IF (p_track_rec.web_content_id IS NOT NULL ) THEN
133 l_web_content_id := p_track_rec.web_content_id;
134 l_media_rec.source_id := l_web_content_id;
135
136 IF (p_track_rec.flavour <> 'LITE') THEN
137 OPEN c_minisite_id(l_web_content_id);
138 FETCH c_minisite_id INTO l_minisite_id;
139 CLOSE c_minisite_id;
140 ELSE -- LITE
141 /* l_web_content_id is CTDID */
142 OPEN c_minisite_id_lite(l_web_content_id);
143 FETCH c_minisite_id_lite INTO l_minisite_id;
144 CLOSE c_minisite_id_lite;
145 END IF;
146 END IF;
147
148 IF (l_minisite_id > 0) THEN
149 -- validate the minisite at iStore
150 IF (isMinisite_iStore(l_minisite_id)) THEN
151 l_media_rec.source_item_id := l_minisite_id;
152 l_media_rec.media_item_ref := '671';
153 END IF;
154 END IF;
155 -- End Minisite Population
156
157 JTF_IH_PUB.open_mediaitem(
158 p_api_version => 1.0,
159 p_init_msg_list => FND_API.g_false,
160 p_commit => FND_API.g_false,
161 p_resp_appl_id => FND_GLOBAL.resp_appl_id,
162 p_resp_id => FND_GLOBAL.resp_id,
163 p_user_id => FND_GLOBAL.user_id,
164 p_login_id => FND_GLOBAL.conc_login_id,
165 x_return_status => l_return_status,
166 x_msg_count => l_msg_count,
167 x_msg_data => l_msg_data,
168 p_media_rec => l_media_rec,
169 x_media_id => l_media_id
170 );
171
172 IF l_return_status <> FND_API.g_ret_sts_success THEN
173 RAISE FND_API.g_exc_error;
174 END IF;
175
176 -- JTF_IH_PUB.close_mediaitem
177 l_media_rec.media_id := l_media_id;
178
179 JTF_IH_PUB.close_mediaitem(
180 p_api_version => 1.0,
181 p_init_msg_list => FND_API.g_false,
182 p_commit => FND_API.g_false,
183 p_resp_appl_id => FND_GLOBAL.resp_appl_id,
184 p_resp_id => FND_GLOBAL.resp_id,
185 p_user_id => FND_GLOBAL.user_id,
186 p_login_id => FND_GLOBAL.conc_login_id,
187 x_return_status => l_return_status,
188 x_msg_count => l_msg_count,
189 x_msg_data => l_msg_data,
190 p_media_rec => l_media_rec
191 );
192
193 IF l_return_status <> FND_API.g_ret_sts_success THEN
194 RAISE FND_API.g_exc_error;
195 END IF;
196
197 /* Bug fix:5594167 */
198
199 select source_code_id,arc_source_code_for into code_id,obj_type from ams_source_codes ascd where (ascd.source_code=p_track_rec.obj_src_code);
200
201 --IF (p_track_rec.obj_type = 'CSCH')
202 --THEN
203
204 -- insert_log_mesg('obj_type from src_codes tbl::' || obj_type);
205
206 IF (obj_type = 'CSCH')
207 THEN
208 select distinct owner_user_id, activity_id, activity_type_code into l_resource_id, l_activity_id, l_activity_type from AMS_CAMPAIGN_SCHEDULES_B csched
209 where (csched.source_code=p_track_rec.obj_src_code);
210
211 ELSIF ( (obj_type = 'EONE') OR (obj_type = 'EVEO') )
212 THEN
213 -- l_resource_id := 100001738;
214 select owner_user_id into l_resource_id from ams_event_offers_all_b eve where (eve.source_code=p_track_rec.obj_src_code);
215 l_activity_id := 20;
216 l_activity_type := 'EMAIL';
217 ELSE
218 l_resource_id := 100001738;
219 l_activity_id := 20;
220 l_activity_type := 'EMAIL';
221 END IF;
222
223 /* insert_log_mesg('l_resource_id' || l_resource_id);
224 insert_log_mesg('l_activity_id' || l_activity_id);
225 insert_log_mesg('l_activity_type' || l_activity_type); */
226
227 -- select source_code_id into code_id from ams_source_codes ascd where (ascd.source_code=p_track_rec.obj_src_code); --Moving up
228
229 /* End bug fix: 5594167 */
230
231 if (l_activity_id = 40) then
232 l_action_item_id := 82; -- Web Offer
233 elsif (l_activity_id = 30) then
234 l_action_item_id := 81; -- Web Ad
235 elsif (l_activity_id = 20) then
236 l_action_item_id := 83; -- Email Link
237 elsif (l_activity_id = 510) then
238 l_action_item_id := 100; -- Web Prod
239 -- db added the following logic for Pretty url tracking in IH
240 elsif ((l_activity_id <> 20) and( l_activity_id <> 460)) then
241 l_action_item_id := 106; -- pretty URL.
242 elsif ((l_activity_type = 'BROADCAST') OR(l_activity_type = 'PUBLIC_RELATIONS')OR(l_activity_type= 'IN_STORE')) then
243 l_action_item_id := 106; -- All advertising and Press Relations.
244 -- END Pretty url tracking in IH
245 else
246 l_action_item_id := 81; -- Web ad for the others
247 end if;
248
249 IF (p_track_rec.flavour <> 'LITE') THEN
250 if(l_activity_id = 20) then
251 l_activity_rec.doc_ref := 'EMAIL';
252 else
253 l_activity_rec.doc_ref := 'POSTING';
254 end if;
255 ELSE
256 /* Not correct for emails */
257 --IF (p_track_rec.flavour = 'LITE') THEN
258 l_activity_rec.doc_ref := 'IMPRESSION_TRACK';
259 END IF;
260
261 l_activity_rec.start_date_time := SYSDATE;
262 l_activity_rec.end_date_time := SYSDATE;
263 l_activity_rec.media_id := l_media_id;
264 l_activity_rec.action_id := 79;
265 l_activity_rec.action_item_id := l_action_item_id;
266 l_activity_rec.outcome_id := 7;
267 l_activity_rec.result_id := 31;
268 l_activity_rec.source_code := p_track_rec.obj_src_code;
269 l_activity_rec.source_code_id := code_id;
270 IF (p_track_rec.flavour <> 'LITE') THEN
271 l_activity_rec.doc_id := p_track_rec.posting_id;
272 ELSE
273 l_activity_rec.doc_id := p_track_rec.web_tracking_id;
274 END IF;
275 l_activity_rec.doc_source_object_name := p_track_rec.offer_src_code;
276
277 SELECT jtf_ih_interactions_s1.NEXTVAL INTO l_interaction_id FROM dual;
278 x_interaction_id := l_interaction_id;
279
280 l_interaction_rec.interaction_id := l_interaction_id;
281 l_interaction_rec.start_date_time := SYSDATE;
282 l_interaction_rec.end_date_time := SYSDATE;
283 l_interaction_rec.handler_id := 530;
284 l_interaction_rec.outcome_id := 7;
285 l_interaction_rec.result_id := 31;
286 l_interaction_rec.resource_id := l_resource_id;
287 l_interaction_rec.party_id := p_track_rec.party_id;
288 l_interaction_rec.source_code := p_track_rec.obj_src_code;
289 l_interaction_rec.source_code_id := code_id;
290
291 l_activity_tbl(1) := l_activity_rec;
292
293 JTF_IH_PUB. create_interaction(
294 p_api_version => 1.0,
295 p_init_msg_list => FND_API.g_false,
296 p_commit => FND_API.g_false,
297 p_resp_appl_id => FND_GLOBAL.resp_appl_id,
298 p_resp_id => FND_GLOBAL.resp_id,
299 p_user_id => FND_GLOBAL.user_id,
300 p_login_id => FND_GLOBAL.conc_login_id,
301 x_return_status => l_return_status,
302 x_msg_count => l_msg_count,
303 x_msg_data => l_msg_data,
304 p_interaction_rec => l_interaction_rec,
305 p_activities => l_activity_tbl
306 );
307
308
309 IF l_return_status <> FND_API.g_ret_sts_success THEN
310 RAISE FND_API.g_exc_error;
311 END IF;
312
313 -- Standard check for p_commit
314 IF FND_API.to_Boolean( p_commit )
315 THEN
316 COMMIT WORK;
317 END IF;
318
319 -- Debug Message
323 FND_MSG_PUB.Count_And_Get
320 AMS_UTILITY_PVT.debug_message('Private API: ' || l_api_name || 'end');
321
322 -- Standard call to get message count and if count is 1, get message info.
324 (p_count => x_msg_count,
325 p_data => x_msg_data
326 );
327
328 EXCEPTION
329
330 WHEN FND_API.G_EXC_ERROR THEN
331 ROLLBACK TO Log_interaction;
332 x_return_status := FND_API.G_RET_STS_ERROR;
333 -- Standard call to get message count and if count=1, get the message
334 FND_MSG_PUB.Count_And_Get (
335 p_encoded => FND_API.G_FALSE,
336 p_count => x_msg_count,
337 p_data => x_msg_data
338 );
339
340 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
341 ROLLBACK TO Log_interaction;
342 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
343 -- Standard call to get message count and if count=1, get the message
344 FND_MSG_PUB.Count_And_Get (
345 p_encoded => FND_API.G_FALSE,
346 p_count => x_msg_count,
347 p_data => x_msg_data
348 );
349
350 WHEN OTHERS THEN
351 ROLLBACK TO Log_interaction;
352 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
353 IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
354 THEN
355 FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,l_api_name);
356 END IF;
357 -- Standard call to get message count and if count=1, get the message
358 FND_MSG_PUB.Count_And_Get (
359 p_encoded => FND_API.G_FALSE,
360 p_count => x_msg_count,
361 p_data => x_msg_data
362 );
363 End Log_interaction;
364
365
366 PROCEDURE Log_redirect(
367 tracking_rec IN interaction_track_rec_type := g_miss_ps_strats_rec,
368 x_redirect_url OUT NOCOPY VARCHAR2,
369 x_interaction_id OUT NOCOPY NUMBER ,
370 x_action_parameter_code OUT NOCOPY VARCHAR2
371 )
372 IS
373
374 L_API_NAME CONSTANT VARCHAR2(30) := 'Log_redirect';
375 L_API_VERSION_NUMBER CONSTANT NUMBER := 1.0;
376 -- Local Variables
377 l_profile VARCHAR2(1);
378 x_return_status VARCHAR2(1);
379 x_msg_count NUMBER;
380 x_msg_data VARCHAR2(2000);
381 p_init_msg_list VARCHAR2(2000);
382 p_commit VARCHAR2(2000);
383 l_interaction_id NUMBER := null;
384 l_action_parameter_code VARCHAR2(2000) := null;
385 l_redirect_url VARCHAR2(2000) := null;
386 BEGIN
387 -- Standard Start of API savepoint
388 SAVEPOINT Log_redirect;
389 p_init_msg_list := FND_API.G_FALSE;
390 p_commit := FND_API.G_FALSE;
391 -- Initialize message list if p_init_msg_list is set to TRUE.
392 IF FND_API.to_Boolean( p_init_msg_list )
393 THEN
394 FND_MSG_PUB.initialize;
395 END IF;
396
397 -- Debug Message
398 AMS_UTILITY_PVT.debug_message('Private API: ' || l_api_name || 'start');
399 x_return_status := FND_API.G_RET_STS_SUCCESS;
400 l_profile := FND_PROFILE.VALUE('AMS_LOG_INTERACTION') ;
401
402 IF (l_profile='Y' or tracking_rec.did <> null) THEN
403
404 Log_interaction( p_api_version_number => 1.0,
405 p_init_msg_list => FND_API.G_FALSE,
406 p_commit => FND_API.G_TRUE,
407 p_validation_level => FND_API.G_VALID_LEVEL_FULL,
408
409 x_return_status => x_return_status,
410 x_msg_count => x_msg_count,
411 x_msg_data => x_msg_data,
412 x_interaction_id => l_interaction_id,
413 p_track_rec => tracking_rec
414 );
415
416 IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
417 RAISE FND_API.G_EXC_ERROR;
418 END IF;
419 x_interaction_id := l_interaction_id;
420 get_redirect_url
421 (
422 tracking_rec.web_content_id,
423 l_redirect_url,
424 l_action_parameter_code
425 );
426 -- x_redirect_url := l_redirect_url;
427 -- x_action_parameter_code := l_action_parameter_code;
428
429 ELSE
430 get_redirect_url
431 (
432 tracking_rec.web_content_id,
433 l_redirect_url,
434 l_action_parameter_code
435 );
436 -- x_redirect_url := l_redirect_url;
437 -- x_action_parameter_code := l_action_parameter_code;
438
439 END IF;
440
441 x_redirect_url := l_redirect_url;
442 x_action_parameter_code := l_action_parameter_code;
443
444 -- End of API body.
445
446 -- Standard check for p_commit
447 IF FND_API.to_Boolean( p_commit ) THEN
448 COMMIT WORK;
449 END IF;
450
451 -- Debug Message
452 AMS_UTILITY_PVT.debug_message('Private API: ' || l_api_name || 'end');
453
454 EXCEPTION
455
456 WHEN FND_API.G_EXC_ERROR THEN
457 ROLLBACK TO Log_redirect;
458 x_return_status := FND_API.G_RET_STS_ERROR;
459 -- Standard call to get message count and if count=1, get the message
460 FND_MSG_PUB.Count_And_Get (
461 p_encoded => FND_API.G_FALSE,
462 p_count => x_msg_count,
463 p_data => x_msg_data
464 );
465
466 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
467 ROLLBACK TO Log_redirect;
468 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
469 -- Standard call to get message count and if count=1, get the message
470 FND_MSG_PUB.Count_And_Get (
471 p_encoded => FND_API.G_FALSE,
472 p_count => x_msg_count,
473 p_data => x_msg_data
477 ROLLBACK TO Log_redirect;
474 );
475
476 WHEN OTHERS THEN
478 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
479 IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
480 THEN
481 FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,l_api_name);
482 END IF;
483 -- Standard call to get message count and if count=1, get the message
484 FND_MSG_PUB.Count_And_Get (
485 p_encoded => FND_API.G_FALSE,
486 p_count => x_msg_count,
487 p_data => x_msg_data
488 );
489
490 End Log_redirect;
491
492
493
494 PROCEDURE get_redirect_url(
495 p_web_content_id IN NUMBER,
496 x_redirect_url OUT NOCOPY VARCHAR2,
497 x_action_parameter_code OUT NOCOPY VARCHAR2 )
498 IS
499 BEGIN
500 SAVEPOINT get_redirect_url;
501 x_redirect_url := NULL;
502 x_action_parameter_code := NULL;
503
504 IF (p_web_content_id IS NOT NULL) THEN
505 select display_url, link_to
506 into x_redirect_url, x_action_parameter_code
507 from jtf_amv_attachments
508 where attachment_id = p_web_content_id;
509 END IF;
510 End get_redirect_url;
511
512 PROCEDURE weblite_log(tracking_rec IN interaction_track_rec_type := g_miss_ps_strats_rec,
513 x_interaction_id OUT NOCOPY NUMBER,
514 x_msource OUT NOCOPY NUMBER,
515 x_return_status OUT NOCOPY VARCHAR2,
516 x_msg_count OUT NOCOPY NUMBER,
517 x_msg_data OUT NOCOPY VARCHAR2
518 )
519 IS
520
521 l_api_name CONSTANT VARCHAR2(30) := 'weblite_log';
522 l_api_version_number CONSTANT NUMBER := 1.0;
523 -- Local Variables
524 l_profile VARCHAR2(1);
525 l_msg_count NUMBER;
526 l_msg_data VARCHAR2(2000);
527 p_init_msg_list VARCHAR2(2000);
528 p_commit VARCHAR2(2000);
529 l_interaction_id NUMBER := null;
530 l_obj_src_code VARCHAR2(150);
531 l_code_id NUMBER := null;
532
533 CURSOR c_code_id(p_code VARCHAR2) IS
534 SELECT source_code_id FROM ams_source_codes
535 WHERE source_code = p_code;
536
537 BEGIN
538
539 --insert_log_mesg('Very first statement of weblite log');
540
541 -- Standard Start of API savepoint
542 SAVEPOINT weblite_log;
543 -- Debug Message
544 AMS_UTILITY_PVT.debug_message('Private API: ' || l_api_name || 'start');
545 p_init_msg_list := FND_API.G_FALSE;
546 p_commit := FND_API.G_FALSE;
547 -- Initialize message list if p_init_msg_list is set to TRUE.
548 IF FND_API.to_Boolean( p_init_msg_list ) THEN
549 FND_MSG_PUB.initialize;
550 END IF;
551
552 x_return_status := FND_API.G_RET_STS_SUCCESS;
553
554 l_profile := FND_PROFILE.VALUE('AMS_LOG_INTERACTION') ;
555
556 --insert_log_mesg('Profile: Log Interaction: '||l_profile);
557
558 IF (l_profile = 'Y') THEN
559 Log_interaction( p_api_version_number => 1.0,
560 p_init_msg_list => FND_API.G_FALSE,
561 p_commit => FND_API.G_TRUE,
562 p_validation_level => FND_API.G_VALID_LEVEL_FULL,
563 x_return_status => x_return_status,
564 x_msg_count => x_msg_count,
565 x_msg_data => x_msg_data,
566 x_interaction_id => l_interaction_id,
567 p_track_rec => tracking_rec
568 );
569 END IF;
570
571 --insert_log_mesg('Log Interaction return status: '||x_return_status);
572 --insert_log_mesg('Interaction Id: '||l_interaction_id);
573
574 --if (x_return_status <> FND_API.G_RET_STS_SUCCESS) then
575 --for i in 1..x_msg_count
576 --loop
577 --insert_log_mesg('Message count: '||x_msg_count);
578 --insert_log_mesg('Message Data: '||x_msg_data);
579 --end loop;
580 --end if;
581
582 --insert_log_mesg('Obj Source Code: '||tracking_rec.obj_src_code);
583
584 IF (tracking_rec.obj_src_code IS NOT NULL ) THEN
585 l_obj_src_code := tracking_rec.obj_src_code;
586 OPEN c_code_id(l_obj_src_code);
587 fetch c_code_id into l_code_id;
588 CLOSE c_code_id;
589 END IF;
590 --insert_log_mesg('Msource: '||l_code_id);
591
592 IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
593 RAISE FND_API.G_EXC_ERROR;
594 END IF;
595 x_return_status := FND_API.G_RET_STS_SUCCESS;
596 x_interaction_id := l_interaction_id;
597 x_msource := l_code_id;
598
599 -- End of API body.
600
601 -- Standard check for p_commit
602 IF FND_API.to_Boolean( p_commit ) THEN
603 COMMIT WORK;
604 END IF;
605
606 --insert_log_mesg('Leaving weblitelog Happily !!!:)');
607 -- Debug Message
608 AMS_UTILITY_PVT.debug_message('Private API: ' || l_api_name || 'end');
609
610 EXCEPTION
611
612 WHEN FND_API.G_EXC_ERROR THEN
613 ROLLBACK TO weblite_log;
614 x_return_status := FND_API.G_RET_STS_ERROR;
615 --insert_log_mesg('amsvtrkb:weblitelog:FND_API.G_EXC_ERROR');
616 -- Standard call to get message count and if count=1, get the message
617 FND_MSG_PUB.Count_And_Get (
618 p_encoded => FND_API.G_FALSE,
619 p_count => x_msg_count,
620 p_data => x_msg_data
621 );
622
623 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
624 ROLLBACK TO weblite_log;
625 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
626 --insert_log_mesg('amsvtrkb:weblitelog:FND_API.G_EXC_UNEXPECTED_ERROR');
627 -- Standard call to get message count and if count=1, get the message
628 FND_MSG_PUB.Count_And_Get (
629 p_encoded => FND_API.G_FALSE,
630 p_count => x_msg_count,
631 p_data => x_msg_data
632 );
633
634 WHEN OTHERS THEN
635 ROLLBACK TO weblite_log;
636 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
637 --insert_log_mesg('amsvtrkb:weblitelog:OTHERS');
638 IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
639 THEN
640 FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,l_api_name);
641 END IF;
642 -- Standard call to get message count and if count=1, get the message
643 FND_MSG_PUB.Count_And_Get (
644 p_encoded => FND_API.G_FALSE,
645 p_count => x_msg_count,
646 p_data => x_msg_data
647 );
648
649 End weblite_log;
650
651 END AMS_TRACKING_PVT;