[Home] [Help]
PACKAGE BODY: APPS.AMS_WEB_TRACK_PVT
Source
1 PACKAGE BODY AMS_Web_Track_PVT as
2 /* $Header: amsvwtgb.pls 120.1 2005/06/27 05:42:14 appldev ship $ */
3 -- ===============================================================
4 -- Start of Comments
5 -- Package name
6 -- AMS_Web_Track_PVT
7 -- Purpose
8 --
9 -- History
10 --
11 -- NOTE
12 --
13 -- This Api is generated with Latest version of
14 -- Rosetta, where g_miss indicates NULL and
15 -- NULL indicates missing value. Rosetta Version 1.55
16 -- End of Comments
17 -- ===============================================================
18
19
20 G_PKG_NAME CONSTANT VARCHAR2(30):= 'AMS_Web_Track_PVT';
21 G_FILE_NAME CONSTANT VARCHAR2(12) := 'amsvwtgb.pls';
22
23 -- G_USER_ID NUMBER := FND_GLOBAL.USER_ID;
24 -- G_LOGIN_ID NUMBER := FND_GLOBAL.CONC_LOGIN_ID;
25 --
26 -- Foreward Procedure Declarations
27 --
28
29 /*
30 PROCEDURE insert_log_mesg (p_mesg IN VARCHAR2)
31 IS
32 PRAGMA AUTONOMOUS_TRANSACTION;
33 BEGIN
34 insert into raghu_table values (p_mesg,sysdate);
35 commit;
36 END;
37 */
38
39 PROCEDURE Default_Web_Track_Items (
40 p_web_track_rec IN web_track_rec_type ,
41 x_web_track_rec OUT NOCOPY web_track_rec_type
42 ) ;
43
44
45
46 -- Hint: Primary key needs to be returned.
47 -- ==============================================================================
48 -- Start of Comments
49 -- ==============================================================================
50 -- API Name
51 -- Create_Web_Track
52 -- Type
53 -- Private
54 -- Pre-Req
55 --
56 -- Parameters
57 --
58 -- IN
59 -- p_api_version_number IN NUMBER Required
60 -- p_init_msg_list IN VARCHAR2 Optional Default = FND_API_G_FALSE
61 -- p_commit IN VARCHAR2 Optional Default = FND_API.G_FALSE
62 -- p_validation_level IN NUMBER Optional Default = FND_API.G_VALID_LEVEL_FULL
63 -- p_web_track_rec IN web_track_rec_type Required
64 --
65 -- OUT
66 -- x_return_status OUT VARCHAR2
67 -- x_msg_count OUT NUMBER
68 -- x_msg_data OUT VARCHAR2
69 -- Version : Current version 1.0
70 -- Note: This automatic generated procedure definition, it includes standard IN/OUT parameters
71 -- and basic operation, developer must manually add parameters and business logic as necessary.
72 --
73 -- History
74 --
75 -- NOTE
76 --
77 -- End of Comments
78 -- ==============================================================================
79
80 PROCEDURE Create_Web_Track(
81 p_api_version_number IN NUMBER,
82 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
83 p_commit IN VARCHAR2 := FND_API.G_FALSE,
84 p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
85 x_return_status OUT NOCOPY VARCHAR2,
86 x_msg_count OUT NOCOPY NUMBER,
87 x_msg_data OUT NOCOPY VARCHAR2,
88 p_web_track_rec IN web_track_rec_type, -- := g_miss_web_track_rec,
89 x_web_tracking_id OUT NOCOPY NUMBER
90 )
91
92 IS
93 L_API_NAME CONSTANT VARCHAR2(30) := 'Create_Web_Track';
94 L_API_VERSION_NUMBER CONSTANT NUMBER := 1.0;
95 l_return_status_full VARCHAR2(1);
96 l_object_version_number NUMBER := 1;
97 l_org_id NUMBER := FND_API.G_MISS_NUM;
98 l_web_tracking_id NUMBER;
99 l_dummy NUMBER;
100 CURSOR c_id IS
101 SELECT AMS_WEB_TRACKING_S.NEXTVAL
102 FROM dual;
103
104 CURSOR c_id_exists (l_id IN NUMBER) IS
105 SELECT 1
106 FROM AMS_WEB_TRACKING
107 WHERE web_tracking_id = l_id;
108 BEGIN
109 -- Standard Start of API savepoint
110 SAVEPOINT create_web_track_pvt;
111
112 --insert_log_mesg('SAVEPOINT create_web_track_pvt ::::');
113
114 -- Standard call to check for call compatibility.
115 IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
116 p_api_version_number,
117 l_api_name,
118 G_PKG_NAME)
119 THEN
120 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
121 END IF;
122
123 --insert_log_mesg('Standard call to check for call compatibility');
124 -- Initialize message list if p_init_msg_list is set to TRUE.
125 IF FND_API.to_Boolean( p_init_msg_list )
126 THEN
127 FND_MSG_PUB.initialize;
128 END IF;
129
130
131
132 -- Debug Message
133 AMS_UTILITY_PVT.debug_message('Private API: ' || l_api_name || 'start');
134
135
136
137 -- Initialize API return status to SUCCESS
138 x_return_status := FND_API.G_RET_STS_SUCCESS;
139
140 -- =========================================================================
141 -- Validate Environment
142 -- =========================================================================
143
144 IF FND_GLOBAL.USER_ID IS NULL
145 THEN
146 AMS_Utility_PVT.Error_Message(p_message_name => 'USER_PROFILE_MISSING');
147 RAISE FND_API.G_EXC_ERROR;
148 END IF;
149
150 --insert_log_mesg('Validate Environment');
151
152 IF ( P_validation_level >= FND_API.G_VALID_LEVEL_FULL)
153 THEN
154 -- Debug message
155 AMS_UTILITY_PVT.debug_message('Private API: Validate_Web_Track');
156
157 -- Invoke validation procedures
158 Validate_web_track(
159 p_api_version_number => 1.0,
160 p_init_msg_list => FND_API.G_FALSE,
161 p_validation_level => p_validation_level,
162 p_validation_mode => JTF_PLSQL_API.g_create,
163 p_web_track_rec => p_web_track_rec,
164 x_return_status => x_return_status,
165 x_msg_count => x_msg_count,
166 x_msg_data => x_msg_data);
167 END IF;
168
169 --insert_log_mesg('Done Validate_web_track');
170 --insert_log_mesg('Done Validate_web_track'||x_return_status);
171 IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
172 RAISE FND_API.G_EXC_ERROR;
173 END IF;
174
175 -- Local variable initialization
176
177 --insert_log_mesg('Local variable initialization');
178
179
180 IF p_web_track_rec.web_tracking_id IS NULL OR p_web_track_rec.web_tracking_id = FND_API.g_miss_num THEN
181 LOOP
182 l_dummy := NULL;
183 OPEN c_id;
184 FETCH c_id INTO l_web_tracking_id;
185 CLOSE c_id;
186
187 OPEN c_id_exists(l_web_tracking_id);
188 FETCH c_id_exists INTO l_dummy;
189 CLOSE c_id_exists;
190 EXIT WHEN l_dummy IS NULL;
191 END LOOP;
192 ELSE
193 l_web_tracking_id := p_web_track_rec.web_tracking_id;
194 END IF;
195
196 -- Debug Message
197 AMS_UTILITY_PVT.debug_message( 'Private API: Calling create table handler');
198 --insert_log_mesg('Private API: Calling create table handler ::::');
199
200 -- Invoke table handler(Ams_Web_Track_Pkg.Insert_Row)
201 Ams_Web_Track_Pkg.Insert_Row(
202 px_web_tracking_id => l_web_tracking_id,
203 p_schedule_id => p_web_track_rec.schedule_id,
204 p_party_id => p_web_track_rec.party_id,
205 p_placement_id => p_web_track_rec.placement_id,
206 p_content_item_id => p_web_track_rec.content_item_id,
207 p_last_update_date => SYSDATE,
208 p_last_updated_by => FND_GLOBAL.USER_ID,
209 p_creation_date => SYSDATE,
210 p_created_by => FND_GLOBAL.USER_ID,
211 p_last_update_login => FND_GLOBAL.conc_login_id,
212 px_object_version_number => l_object_version_number,
213 p_attribute_category => p_web_track_rec.attribute_category,
214 p_attribute1 => p_web_track_rec.attribute1,
215 p_attribute2 => p_web_track_rec.attribute2,
216 p_attribute3 => p_web_track_rec.attribute3,
217 p_attribute4 => p_web_track_rec.attribute4,
218 p_attribute5 => p_web_track_rec.attribute5,
219 p_attribute6 => p_web_track_rec.attribute6,
220 p_attribute7 => p_web_track_rec.attribute7,
221 p_attribute8 => p_web_track_rec.attribute8,
222 p_attribute9 => p_web_track_rec.attribute9,
223 p_attribute10 => p_web_track_rec.attribute10,
224 p_attribute11 => p_web_track_rec.attribute11,
225 p_attribute12 => p_web_track_rec.attribute12,
226 p_attribute13 => p_web_track_rec.attribute13,
227 p_attribute14 => p_web_track_rec.attribute14,
228 p_attribute15 => p_web_track_rec.attribute15
229 );
230
231 x_web_tracking_id := l_web_tracking_id;
232 --insert_log_mesg('Web Tracking Id ::::'||x_web_tracking_id);
233 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
234 RAISE FND_API.G_EXC_ERROR;
235 END IF;
236 --
237 -- End of API body
238 --
239
240 -- Standard check for p_commit
241 IF FND_API.to_Boolean( p_commit )
242 THEN
243 COMMIT WORK;
244 END IF;
245
246
247 -- Debug Message
248 AMS_UTILITY_PVT.debug_message('Private API: ' || l_api_name || 'end');
249
250
251 -- Standard call to get message count and if count is 1, get message info.
252 FND_MSG_PUB.Count_And_Get
253 (p_count => x_msg_count,
254 p_data => x_msg_data
255 );
256 EXCEPTION
257
258 WHEN AMS_Utility_PVT.resource_locked THEN
259 x_return_status := FND_API.g_ret_sts_error;
260 AMS_Utility_PVT.Error_Message(p_message_name => 'AMS_API_RESOURCE_LOCKED');
261 --insert_log_mesg('AMS_API_RESOURCE_LOCKED');
262
263 WHEN FND_API.G_EXC_ERROR THEN
264 ROLLBACK TO create_web_track_pvt;
265 x_return_status := FND_API.G_RET_STS_ERROR;
266 -- Standard call to get message count and if count=1, get the message
267 FND_MSG_PUB.Count_And_Get (
268 p_encoded => FND_API.G_FALSE,
269 p_count => x_msg_count,
270 p_data => x_msg_data
271 );
272 --insert_log_mesg('x_return_status');
273
274 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
275 ROLLBACK TO create_web_track_pvt;
276 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
277 -- Standard call to get message count and if count=1, get the message
278 FND_MSG_PUB.Count_And_Get (
279 p_encoded => FND_API.G_FALSE,
280 p_count => x_msg_count,
281 p_data => x_msg_data
282 );
283
284 WHEN OTHERS THEN
285 ROLLBACK TO create_web_track_pvt;
286 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
287 IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
288 THEN
289 FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,l_api_name);
290 END IF;
291 -- Standard call to get message count and if count=1, get the message
292 FND_MSG_PUB.Count_And_Get (
293 p_encoded => FND_API.G_FALSE,
294 p_count => x_msg_count,
295 p_data => x_msg_data
296 );
297 --insert_log_mesg('Ams_Web_Track_Pkg.Insert_Row'||x_return_status);
298 End Create_Web_Track;
299
300
301 -- ==============================================================================
302 -- Start of Comments
303 -- ==============================================================================
304 -- API Name
305 -- Update_Web_Track
306 -- Type
307 -- Private
308 -- Pre-Req
309 --
310 -- Parameters
311 --
312 -- IN
313 -- p_api_version_number IN NUMBER Required
314 -- p_init_msg_list IN VARCHAR2 Optional Default = FND_API_G_FALSE
315 -- p_commit IN VARCHAR2 Optional Default = FND_API.G_FALSE
316 -- p_validation_level IN NUMBER Optional Default = FND_API.G_VALID_LEVEL_FULL
317 -- p_web_track_rec IN web_track_rec_type Required
318 --
319 -- OUT
320 -- x_return_status OUT VARCHAR2
321 -- x_msg_count OUT NUMBER
322 -- x_msg_data OUT VARCHAR2
323 -- Version : Current version 1.0
324 -- Note: This automatic generated procedure definition, it includes standard IN/OUT parameters
325 -- and basic operation, developer must manually add parameters and business logic as necessary.
326 --
327 -- History
328 --
329 -- NOTE
330 --
331 -- End of Comments
332 -- ==============================================================================
333
334 PROCEDURE Update_Web_Track(
335 p_api_version_number IN NUMBER,
336 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
337 p_commit IN VARCHAR2 := FND_API.G_FALSE,
338 p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
339
340 x_return_status OUT NOCOPY VARCHAR2,
341 x_msg_count OUT NOCOPY NUMBER,
342 x_msg_data OUT NOCOPY VARCHAR2,
343
344 p_web_track_rec IN web_track_rec_type
345 )
346
347 IS
348
349
350 CURSOR c_get_web_track(web_tracking_id NUMBER) IS
351 SELECT *
352 FROM AMS_WEB_TRACKING
353 WHERE web_tracking_id = p_web_track_rec.web_tracking_id;
354 -- Hint: Developer need to provide Where clause
355
356
357 L_API_NAME CONSTANT VARCHAR2(30) := 'Update_Web_Track';
358 L_API_VERSION_NUMBER CONSTANT NUMBER := 1.0;
359 -- Local Variables
360 l_object_version_number NUMBER;
361 l_web_tracking_id NUMBER;
362 l_ref_web_track_rec c_get_Web_Track%ROWTYPE ;
363 l_tar_web_track_rec web_track_rec_type := P_web_track_rec;
364 l_rowid ROWID;
365
366 BEGIN
367 -- Standard Start of API savepoint
368 SAVEPOINT update_web_track_pvt;
369
370 -- Standard call to check for call compatibility.
371 IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
372 p_api_version_number,
373 l_api_name,
374 G_PKG_NAME)
375 THEN
376 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
377 END IF;
378
379
380 -- Initialize message list if p_init_msg_list is set to TRUE.
381 IF FND_API.to_Boolean( p_init_msg_list )
382 THEN
383 FND_MSG_PUB.initialize;
384 END IF;
385
386
387
388 -- Debug Message
389 AMS_UTILITY_PVT.debug_message('Private API: ' || l_api_name || 'start');
390
391
392
393 -- Initialize API return status to SUCCESS
394 x_return_status := FND_API.G_RET_STS_SUCCESS;
395
396 -- Debug Message
397 AMS_UTILITY_PVT.debug_message('Private API: - Open Cursor to Select');
398
399 OPEN c_get_Web_Track( l_tar_web_track_rec.web_tracking_id);
400
401 FETCH c_get_Web_Track INTO l_ref_web_track_rec ;
402
403 If ( c_get_Web_Track%NOTFOUND) THEN
404 AMS_Utility_PVT.Error_Message(p_message_name => 'API_MISSING_UPDATE_TARGET',
405 p_token_name => 'INFO',
406 p_token_value => 'Web_Track') ;
407 RAISE FND_API.G_EXC_ERROR;
408 END IF;
409 -- Debug Message
410 AMS_UTILITY_PVT.debug_message('Private API: - Close Cursor');
411 CLOSE c_get_Web_Track;
412
413
414 If (l_tar_web_track_rec.object_version_number is NULL or
415 l_tar_web_track_rec.object_version_number = FND_API.G_MISS_NUM ) Then
416 AMS_Utility_PVT.Error_Message(p_message_name => 'API_VERSION_MISSING',
417 p_token_name => 'COLUMN',
418 p_token_value => 'Last_Update_Date') ;
419 raise FND_API.G_EXC_ERROR;
420 End if;
421 -- Check Whether record has been changed by someone else
422 If (l_tar_web_track_rec.object_version_number <> l_ref_web_track_rec.object_version_number) Then
423 AMS_Utility_PVT.Error_Message(p_message_name => 'API_RECORD_CHANGED',
424 p_token_name => 'INFO',
425 p_token_value => 'Web_Track') ;
426 raise FND_API.G_EXC_ERROR;
427 End if;
428
429
430 IF ( P_validation_level >= FND_API.G_VALID_LEVEL_FULL)
431 THEN
432 -- Debug message
433 AMS_UTILITY_PVT.debug_message('Private API: Validate_Web_Track');
434
435
436 -- Invoke validation procedures
437 Validate_web_track(
438 p_api_version_number => 1.0,
439 p_init_msg_list => FND_API.G_FALSE,
440 p_validation_level => p_validation_level,
441 p_validation_mode => JTF_PLSQL_API.g_update,
442 p_web_track_rec => p_web_track_rec,
443 x_return_status => x_return_status,
444 x_msg_count => x_msg_count,
445 x_msg_data => x_msg_data);
446 END IF;
447
448 IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
449 RAISE FND_API.G_EXC_ERROR;
450 END IF;
451
452
453 -- Debug Message
454 AMS_UTILITY_PVT.debug_message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'Private API: Calling update table handler');
455
456 -- Invoke table handler(Ams_Web_Track_Pkg.Update_Row)
457 Ams_Web_Track_Pkg.Update_Row(
458 p_web_tracking_id => p_web_track_rec.web_tracking_id,
459 p_schedule_id => p_web_track_rec.schedule_id,
460 p_party_id => p_web_track_rec.party_id,
461 p_placement_id => p_web_track_rec.placement_id,
462 p_content_item_id => p_web_track_rec.content_item_id,
463 p_last_update_date => SYSDATE,
464 p_last_updated_by => FND_GLOBAL.USER_ID,
465 p_last_update_login => FND_GLOBAL.conc_login_id,
466 p_object_version_number => p_web_track_rec.object_version_number,
467 p_attribute_category => p_web_track_rec.attribute_category,
468 p_attribute1 => p_web_track_rec.attribute1,
469 p_attribute2 => p_web_track_rec.attribute2,
470 p_attribute3 => p_web_track_rec.attribute3,
471 p_attribute4 => p_web_track_rec.attribute4,
472 p_attribute5 => p_web_track_rec.attribute5,
473 p_attribute6 => p_web_track_rec.attribute6,
474 p_attribute7 => p_web_track_rec.attribute7,
475 p_attribute8 => p_web_track_rec.attribute8,
476 p_attribute9 => p_web_track_rec.attribute9,
477 p_attribute10 => p_web_track_rec.attribute10,
478 p_attribute11 => p_web_track_rec.attribute11,
479 p_attribute12 => p_web_track_rec.attribute12,
480 p_attribute13 => p_web_track_rec.attribute13,
481 p_attribute14 => p_web_track_rec.attribute14,
482 p_attribute15 => p_web_track_rec.attribute15
483 );
484 --
485 -- End of API body.
486 --
487
488 -- Standard check for p_commit
489 IF FND_API.to_Boolean( p_commit )
490 THEN
491 COMMIT WORK;
492 END IF;
493
494
495 -- Debug Message
496 AMS_UTILITY_PVT.debug_message('Private API: ' || l_api_name || 'end');
497
498
499 -- Standard call to get message count and if count is 1, get message info.
500 FND_MSG_PUB.Count_And_Get
501 (p_count => x_msg_count,
502 p_data => x_msg_data
503 );
504 EXCEPTION
505
506 WHEN AMS_Utility_PVT.resource_locked THEN
507 x_return_status := FND_API.g_ret_sts_error;
508 AMS_Utility_PVT.Error_Message(p_message_name => 'AMS_API_RESOURCE_LOCKED');
509
510 WHEN FND_API.G_EXC_ERROR THEN
511 ROLLBACK TO UPDATE_Web_Track_PVT;
512 x_return_status := FND_API.G_RET_STS_ERROR;
513 -- Standard call to get message count and if count=1, get the message
514 FND_MSG_PUB.Count_And_Get (
515 p_encoded => FND_API.G_FALSE,
516 p_count => x_msg_count,
517 p_data => x_msg_data
518 );
519
520 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
521 ROLLBACK TO UPDATE_Web_Track_PVT;
522 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
523 -- Standard call to get message count and if count=1, get the message
524 FND_MSG_PUB.Count_And_Get (
525 p_encoded => FND_API.G_FALSE,
526 p_count => x_msg_count,
527 p_data => x_msg_data
528 );
529
530 WHEN OTHERS THEN
531 ROLLBACK TO UPDATE_Web_Track_PVT;
532 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
533 IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
534 THEN
535 FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,l_api_name);
536 END IF;
537 -- Standard call to get message count and if count=1, get the message
538 FND_MSG_PUB.Count_And_Get (
539 p_encoded => FND_API.G_FALSE,
540 p_count => x_msg_count,
541 p_data => x_msg_data
542 );
543 End Update_Web_Track;
544
545
546 -- ==============================================================================
547 -- Start of Comments
548 -- ==============================================================================
549 -- API Name
550 -- Delete_Web_Track
551 -- Type
552 -- Private
553 -- Pre-Req
554 --
555 -- Parameters
556 --
557 -- IN
558 -- p_api_version_number IN NUMBER Required
559 -- p_init_msg_list IN VARCHAR2 Optional Default = FND_API_G_FALSE
560 -- p_commit IN VARCHAR2 Optional Default = FND_API.G_FALSE
561 -- p_validation_level IN NUMBER Optional Default = FND_API.G_VALID_LEVEL_FULL
562 -- p_web_tracking_id IN NUMBER
563 -- p_object_version_number IN NUMBER Optional Default = NULL
564 --
565 -- OUT
566 -- x_return_status OUT VARCHAR2
567 -- x_msg_count OUT NUMBER
568 -- x_msg_data OUT VARCHAR2
569 -- Version : Current version 1.0
570 -- Note: This automatic generated procedure definition, it includes standard IN/OUT parameters
571 -- and basic operation, developer must manually add parameters and business logic as necessary.
572 --
573 -- History
574 --
575 -- NOTE
576 --
577 -- End of Comments
578 -- ==============================================================================
579
580 PROCEDURE Delete_Web_Track(
581 p_api_version_number IN NUMBER,
582 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
583 p_commit IN VARCHAR2 := FND_API.G_FALSE,
584 p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
585 x_return_status OUT NOCOPY VARCHAR2,
586 x_msg_count OUT NOCOPY NUMBER,
587 x_msg_data OUT NOCOPY VARCHAR2,
588 p_web_tracking_id IN NUMBER,
589 p_object_version_number IN NUMBER
590 )
591
592 IS
593 L_API_NAME CONSTANT VARCHAR2(30) := 'Delete_Web_Track';
594 L_API_VERSION_NUMBER CONSTANT NUMBER := 1.0;
595 l_object_version_number NUMBER;
596
597 BEGIN
598 -- Standard Start of API savepoint
599 SAVEPOINT delete_web_track_pvt;
600
601 -- Standard call to check for call compatibility.
602 IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
603 p_api_version_number,
604 l_api_name,
605 G_PKG_NAME)
606 THEN
607 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
608 END IF;
609
610
611 -- Initialize message list if p_init_msg_list is set to TRUE.
612 IF FND_API.to_Boolean( p_init_msg_list )
613 THEN
614 FND_MSG_PUB.initialize;
615 END IF;
616
617
618
619 -- Debug Message
620 AMS_UTILITY_PVT.debug_message('Private API: ' || l_api_name || 'start');
621
622
623
624 -- Initialize API return status to SUCCESS
625 x_return_status := FND_API.G_RET_STS_SUCCESS;
626
627 --
628 -- Api body
629 --
630 -- Debug Message
631 AMS_UTILITY_PVT.debug_message( 'Private API: Calling delete table handler');
632
633 -- Invoke table handler(Ams_Web_Track_Pkg.Delete_Row)
634 Ams_Web_Track_Pkg.Delete_Row(
635 p_web_tracking_id => p_web_tracking_id,
636 p_object_version_number => p_object_version_number );
637 --
638 -- End of API body
639 --
640
641 -- Standard check for p_commit
642 IF FND_API.to_Boolean( p_commit )
643 THEN
644 COMMIT WORK;
645 END IF;
646
647
648 -- Debug Message
649 AMS_UTILITY_PVT.debug_message('Private API: ' || l_api_name || 'end');
650
651
652 -- Standard call to get message count and if count is 1, get message info.
653 FND_MSG_PUB.Count_And_Get
654 (p_count => x_msg_count,
655 p_data => x_msg_data
656 );
657 EXCEPTION
658
659 WHEN AMS_Utility_PVT.resource_locked THEN
660 x_return_status := FND_API.g_ret_sts_error;
661 AMS_Utility_PVT.Error_Message(p_message_name => 'AMS_API_RESOURCE_LOCKED');
662
663 WHEN FND_API.G_EXC_ERROR THEN
664 ROLLBACK TO DELETE_Web_Track_PVT;
665 x_return_status := FND_API.G_RET_STS_ERROR;
666 -- Standard call to get message count and if count=1, get the message
667 FND_MSG_PUB.Count_And_Get (
668 p_encoded => FND_API.G_FALSE,
669 p_count => x_msg_count,
670 p_data => x_msg_data
671 );
672
673 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
674 ROLLBACK TO DELETE_Web_Track_PVT;
675 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
676 -- Standard call to get message count and if count=1, get the message
677 FND_MSG_PUB.Count_And_Get (
678 p_encoded => FND_API.G_FALSE,
679 p_count => x_msg_count,
680 p_data => x_msg_data
681 );
682
683 WHEN OTHERS THEN
684 ROLLBACK TO DELETE_Web_Track_PVT;
685 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
686 IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
687 THEN
688 FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,l_api_name);
689 END IF;
690 -- Standard call to get message count and if count=1, get the message
691 FND_MSG_PUB.Count_And_Get (
692 p_encoded => FND_API.G_FALSE,
693 p_count => x_msg_count,
694 p_data => x_msg_data
695 );
696 End Delete_Web_Track;
697
698
699
700 -- Hint: Primary key needs to be returned.
701 -- ==============================================================================
702 -- Start of Comments
703 -- ==============================================================================
704 -- API Name
705 -- Lock_Web_Track
706 -- Type
707 -- Private
708 -- Pre-Req
709 --
710 -- Parameters
711 --
712 -- IN
713 -- p_api_version_number IN NUMBER Required
714 -- p_init_msg_list IN VARCHAR2 Optional Default = FND_API_G_FALSE
715 -- p_commit IN VARCHAR2 Optional Default = FND_API.G_FALSE
716 -- p_validation_level IN NUMBER Optional Default = FND_API.G_VALID_LEVEL_FULL
717 -- p_web_track_rec IN web_track_rec_type Required
718 --
719 -- OUT
720 -- x_return_status OUT VARCHAR2
721 -- x_msg_count OUT NUMBER
722 -- x_msg_data OUT VARCHAR2
723 -- Version : Current version 1.0
724 -- Note: This automatic generated procedure definition, it includes standard IN/OUT parameters
725 -- and basic operation, developer must manually add parameters and business logic as necessary.
726 --
727 -- History
728 --
729 -- NOTE
730 --
731 -- End of Comments
732 -- ==============================================================================
733
734 PROCEDURE Lock_Web_Track(
735 p_api_version_number IN NUMBER,
736 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
737
738 x_return_status OUT NOCOPY VARCHAR2,
739 x_msg_count OUT NOCOPY NUMBER,
740 x_msg_data OUT NOCOPY VARCHAR2,
741
742 p_web_tracking_id IN NUMBER,
743 p_object_version IN NUMBER
744 )
745
746 IS
747 L_API_NAME CONSTANT VARCHAR2(30) := 'Lock_Web_Track';
748 L_API_VERSION_NUMBER CONSTANT NUMBER := 1.0;
749 L_FULL_NAME CONSTANT VARCHAR2(60) := g_pkg_name ||'.'|| l_api_name;
750 l_web_tracking_id NUMBER;
751
752 BEGIN
753
754 -- Debug Message
755 AMS_UTILITY_PVT.debug_message('Private API: ' || l_api_name || 'start');
756
757
758 -- Initialize message list if p_init_msg_list is set to TRUE.
759 IF FND_API.to_Boolean( p_init_msg_list )
760 THEN
761 FND_MSG_PUB.initialize;
762 END IF;
763
764
765
766 -- Standard call to check for call compatibility.
767 IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
768 p_api_version_number,
769 l_api_name,
770 G_PKG_NAME)
771 THEN
772 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
773 END IF;
774
775
776
777 -- Initialize API return status to SUCCESS
778 x_return_status := FND_API.G_RET_STS_SUCCESS;
779
780
781 ------------------------ lock -------------------------
782 Ams_Web_Track_Pkg.Lock_Row(l_web_tracking_id,p_object_version);
783
784
785 -------------------- finish --------------------------
786 FND_MSG_PUB.count_and_get(
787 p_encoded => FND_API.g_false,
788 p_count => x_msg_count,
789 p_data => x_msg_data);
790 AMS_Utility_PVT.debug_message(l_full_name ||': end');
791 EXCEPTION
792
793 WHEN AMS_Utility_PVT.resource_locked THEN
794 x_return_status := FND_API.g_ret_sts_error;
795 AMS_Utility_PVT.Error_Message(p_message_name => 'AMS_API_RESOURCE_LOCKED');
796
797 WHEN FND_API.G_EXC_ERROR THEN
798 ROLLBACK TO LOCK_Web_Track_PVT;
799 x_return_status := FND_API.G_RET_STS_ERROR;
800 -- Standard call to get message count and if count=1, get the message
801 FND_MSG_PUB.Count_And_Get (
802 p_encoded => FND_API.G_FALSE,
803 p_count => x_msg_count,
804 p_data => x_msg_data
805 );
806
807 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
808 ROLLBACK TO LOCK_Web_Track_PVT;
809 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
810 -- Standard call to get message count and if count=1, get the message
811 FND_MSG_PUB.Count_And_Get (
812 p_encoded => FND_API.G_FALSE,
813 p_count => x_msg_count,
814 p_data => x_msg_data
815 );
816
817 WHEN OTHERS THEN
818 ROLLBACK TO LOCK_Web_Track_PVT;
819 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
820 IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
821 THEN
822 FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,l_api_name);
823 END IF;
824 -- Standard call to get message count and if count=1, get the message
825 FND_MSG_PUB.Count_And_Get (
826 p_encoded => FND_API.G_FALSE,
827 p_count => x_msg_count,
828 p_data => x_msg_data
829 );
830 End Lock_Web_Track;
831
832
833
834
835 PROCEDURE check_Web_Track_Uk_Items(
836 p_web_track_rec IN web_track_rec_type,
837 p_validation_mode IN VARCHAR2 := JTF_PLSQL_API.g_create,
838 x_return_status OUT NOCOPY VARCHAR2)
839 IS
840 l_valid_flag VARCHAR2(1);
841
842 BEGIN
843 x_return_status := FND_API.g_ret_sts_success;
844 IF p_validation_mode = JTF_PLSQL_API.g_create
845 AND p_web_track_rec.web_tracking_id IS NOT NULL
846 THEN
847 l_valid_flag := AMS_Utility_PVT.check_uniqueness(
848 'ams_web_tracking',
849 'web_tracking_id = ''' || p_web_track_rec.web_tracking_id ||''''
850 );
851 END IF;
852
853 IF l_valid_flag = FND_API.g_false THEN
854 AMS_Utility_PVT.Error_Message(p_message_name => 'AMS_web_tracking_id_DUPLICATE');
855 x_return_status := FND_API.g_ret_sts_error;
856 END IF;
857
858 END check_Web_Track_Uk_Items;
859
860
861
862 PROCEDURE check_Web_Track_Req_Items(
863 p_web_track_rec IN web_track_rec_type,
864 p_validation_mode IN VARCHAR2 := JTF_PLSQL_API.g_create,
865 x_return_status OUT NOCOPY VARCHAR2
866 )
867 IS
868 BEGIN
869 x_return_status := FND_API.g_ret_sts_success;
870 --insert_log_mesg('check_Web_Track_Req_Items');
871 --insert_log_mesg(x_return_status);
872
873 IF p_validation_mode = JTF_PLSQL_API.g_create THEN
874
875 --insert_log_mesg('Web Tracking Id ::::'||p_web_track_rec.web_tracking_id);
876
877 -- IF p_web_track_rec.web_tracking_id = FND_API.G_MISS_NUM OR p_web_track_rec.web_tracking_id IS NULL THEN
878 --insert_log_mesg('error');
879 -- AMS_Utility_PVT.Error_Message('AMS_API_MISSING_FIELD', 'MISS_FIELD', 'WEB_TRACKING_ID' );
880 -- x_return_status := FND_API.g_ret_sts_error;
881 -- END IF;
882 --insert_log_mesg(x_return_status);
883
884 IF p_web_track_rec.schedule_id = FND_API.G_MISS_NUM OR p_web_track_rec.schedule_id IS NULL THEN
885 AMS_Utility_PVT.Error_Message('AMS_API_MISSING_FIELD', 'MISS_FIELD', 'SCHEDULE_ID' );
886 x_return_status := FND_API.g_ret_sts_error;
887 END IF;
888
889 --insert_log_mesg('Schedule Id ::::'||p_web_track_rec.schedule_id);
890 IF p_web_track_rec.party_id = FND_API.G_MISS_NUM OR p_web_track_rec.party_id IS NULL THEN
891 AMS_Utility_PVT.Error_Message('AMS_API_MISSING_FIELD', 'MISS_FIELD', 'PARTY_ID' );
892 x_return_status := FND_API.g_ret_sts_error;
893 END IF;
894
895 --insert_log_mesg(p_web_track_rec.placement_id);
896 IF p_web_track_rec.placement_id = FND_API.G_MISS_NUM OR p_web_track_rec.placement_id IS NULL THEN
897 AMS_Utility_PVT.Error_Message('AMS_API_MISSING_FIELD', 'MISS_FIELD', 'PLACEMENT_ID' );
898 x_return_status := FND_API.g_ret_sts_error;
899 END IF;
900
901
902 ELSE
903
904 --insert_log_mesg('else check_Web_Track_Req_Items');
905 IF p_web_track_rec.web_tracking_id = FND_API.G_MISS_NUM THEN
906 AMS_Utility_PVT.Error_Message('AMS_API_MISSING_FIELD', 'MISS_FIELD', 'WEB_TRACKING_ID' );
907 x_return_status := FND_API.g_ret_sts_error;
908 END IF;
909
910
911 IF p_web_track_rec.schedule_id = FND_API.G_MISS_NUM THEN
912 AMS_Utility_PVT.Error_Message('AMS_API_MISSING_FIELD', 'MISS_FIELD', 'SCHEDULE_ID' );
913 x_return_status := FND_API.g_ret_sts_error;
914 END IF;
915
916
917 IF p_web_track_rec.party_id = FND_API.G_MISS_NUM THEN
918 AMS_Utility_PVT.Error_Message('AMS_API_MISSING_FIELD', 'MISS_FIELD', 'PARTY_ID' );
919 x_return_status := FND_API.g_ret_sts_error;
920 END IF;
921
922
923 IF p_web_track_rec.placement_id = FND_API.G_MISS_NUM THEN
924 AMS_Utility_PVT.Error_Message('AMS_API_MISSING_FIELD', 'MISS_FIELD', 'PLACEMENT_ID' );
925 x_return_status := FND_API.g_ret_sts_error;
926 END IF;
927 END IF;
928
929 --insert_log_mesg('check_Web_Track_Req_Items done');
930
931 END check_Web_Track_Req_Items;
932
933
934
935 PROCEDURE check_Web_Track_Fk_Items(
936 p_web_track_rec IN web_track_rec_type,
937 x_return_status OUT NOCOPY VARCHAR2
938 )
939 IS
940 BEGIN
941 x_return_status := FND_API.g_ret_sts_success;
942
943 -- Enter custom code here
944
945 END check_Web_Track_Fk_Items;
946
947
948
949 PROCEDURE check_Web_Track_Lookup_Items(
950 p_web_track_rec IN web_track_rec_type,
951 x_return_status OUT NOCOPY VARCHAR2
952 )
953 IS
954 BEGIN
955 x_return_status := FND_API.g_ret_sts_success;
956
957 -- Enter custom code here
958
959 END check_Web_Track_Lookup_Items;
960
961
962
963 PROCEDURE Check_Web_Track_Items (
964 P_web_track_rec IN web_track_rec_type,
965 p_validation_mode IN VARCHAR2,
966 x_return_status OUT NOCOPY VARCHAR2
967 )
968 IS
969 l_return_status VARCHAR2(1);
970 BEGIN
971
972 l_return_status := FND_API.g_ret_sts_success;
973 -- Check Items Uniqueness API calls
974 --insert_log_mesg('inside Check_web_track_Items');
975 --insert_log_mesg(l_return_status);
976 check_Web_track_Uk_Items(
977 p_web_track_rec => p_web_track_rec,
978 p_validation_mode => p_validation_mode,
979 x_return_status => x_return_status);
980 --insert_log_mesg(x_return_status);
981 IF x_return_status <> FND_API.g_ret_sts_success THEN
982 l_return_status := FND_API.g_ret_sts_error;
983 END IF;
984 --insert_log_mesg('done check_Web_track_Uk_Items');
985
986 -- Check Items Required/NOT NULL API calls
987 --insert_log_mesg('start check_web_track_req_items');
988 check_web_track_req_items(
989 p_web_track_rec => p_web_track_rec,
990 p_validation_mode => p_validation_mode,
991 x_return_status => x_return_status);
992 --insert_log_mesg(x_return_status);
993 IF x_return_status <> FND_API.g_ret_sts_success THEN
994 l_return_status := FND_API.g_ret_sts_error;
995 END IF;
996
997 --insert_log_mesg('Check Items Required/NOT NULL API calls');
998 -- Check Items Foreign Keys API calls
999
1000 check_web_track_FK_items(
1001 p_web_track_rec => p_web_track_rec,
1002 x_return_status => x_return_status);
1003 --insert_log_mesg(x_return_status);
1004 IF x_return_status <> FND_API.g_ret_sts_success THEN
1005 l_return_status := FND_API.g_ret_sts_error;
1006 END IF;
1007 -- Check Items Lookups
1008 --insert_log_mesg('Check Items Lookups');
1009 check_web_track_Lookup_items(
1010 p_web_track_rec => p_web_track_rec,
1011 x_return_status => x_return_status);
1012 --insert_log_mesg(x_return_status);
1013 IF x_return_status <> FND_API.g_ret_sts_success THEN
1014 l_return_status := FND_API.g_ret_sts_error;
1015 END IF;
1016
1017 x_return_status := l_return_status;
1018 --insert_log_mesg(x_return_status);
1019
1020 END Check_web_track_Items;
1021
1022
1023
1024
1025
1026 PROCEDURE Complete_Web_Track_Rec (
1027 p_web_track_rec IN web_track_rec_type,
1028 x_complete_rec OUT NOCOPY web_track_rec_type)
1029 IS
1030 l_return_status VARCHAR2(1);
1031
1032 CURSOR c_complete IS
1033 SELECT *
1034 FROM ams_web_tracking
1035 WHERE web_tracking_id = p_web_track_rec.web_tracking_id;
1036 l_web_track_rec c_complete%ROWTYPE;
1037 BEGIN
1038 x_complete_rec := p_web_track_rec;
1039
1040
1041 OPEN c_complete;
1042 FETCH c_complete INTO l_web_track_rec;
1043 CLOSE c_complete;
1044
1045 -- web_tracking_id
1046 IF p_web_track_rec.web_tracking_id IS NULL THEN
1047 x_complete_rec.web_tracking_id := l_web_track_rec.web_tracking_id;
1048 END IF;
1049
1050 -- schedule_id
1051 IF p_web_track_rec.schedule_id IS NULL THEN
1052 x_complete_rec.schedule_id := l_web_track_rec.schedule_id;
1053 END IF;
1054
1055 -- party_id
1056 IF p_web_track_rec.party_id IS NULL THEN
1057 x_complete_rec.party_id := l_web_track_rec.party_id;
1058 END IF;
1059
1060 -- placement_id
1061 IF p_web_track_rec.placement_id IS NULL THEN
1062 x_complete_rec.placement_id := l_web_track_rec.placement_id;
1063 END IF;
1064
1065 -- content_item_id
1066 IF p_web_track_rec.content_item_id IS NULL THEN
1067 x_complete_rec.content_item_id := l_web_track_rec.content_item_id;
1068 END IF;
1069
1070 -- last_update_date
1071 IF p_web_track_rec.last_update_date IS NULL THEN
1072 x_complete_rec.last_update_date := l_web_track_rec.last_update_date;
1073 END IF;
1074
1075 -- last_updated_by
1076 IF p_web_track_rec.last_updated_by IS NULL THEN
1077 x_complete_rec.last_updated_by := l_web_track_rec.last_updated_by;
1078 END IF;
1079
1080 -- creation_date
1081 IF p_web_track_rec.creation_date IS NULL THEN
1082 x_complete_rec.creation_date := l_web_track_rec.creation_date;
1083 END IF;
1084
1085 -- created_by
1086 IF p_web_track_rec.created_by IS NULL THEN
1087 x_complete_rec.created_by := l_web_track_rec.created_by;
1088 END IF;
1089
1090 -- last_update_login
1091 IF p_web_track_rec.last_update_login IS NULL THEN
1092 x_complete_rec.last_update_login := l_web_track_rec.last_update_login;
1093 END IF;
1094
1095 -- object_version_number
1096 IF p_web_track_rec.object_version_number IS NULL THEN
1097 x_complete_rec.object_version_number := l_web_track_rec.object_version_number;
1098 END IF;
1099
1100 -- attribute_category
1101 IF p_web_track_rec.attribute_category IS NULL THEN
1102 x_complete_rec.attribute_category := l_web_track_rec.attribute_category;
1103 END IF;
1104
1105 -- attribute1
1106 IF p_web_track_rec.attribute1 IS NULL THEN
1107 x_complete_rec.attribute1 := l_web_track_rec.attribute1;
1108 END IF;
1109
1110 -- attribute2
1111 IF p_web_track_rec.attribute2 IS NULL THEN
1112 x_complete_rec.attribute2 := l_web_track_rec.attribute2;
1113 END IF;
1114
1115 -- attribute3
1116 IF p_web_track_rec.attribute3 IS NULL THEN
1117 x_complete_rec.attribute3 := l_web_track_rec.attribute3;
1118 END IF;
1119
1120 -- attribute4
1121 IF p_web_track_rec.attribute4 IS NULL THEN
1122 x_complete_rec.attribute4 := l_web_track_rec.attribute4;
1123 END IF;
1124
1125 -- attribute5
1126 IF p_web_track_rec.attribute5 IS NULL THEN
1127 x_complete_rec.attribute5 := l_web_track_rec.attribute5;
1128 END IF;
1129
1130 -- attribute6
1131 IF p_web_track_rec.attribute6 IS NULL THEN
1132 x_complete_rec.attribute6 := l_web_track_rec.attribute6;
1133 END IF;
1134
1135 -- attribute7
1136 IF p_web_track_rec.attribute7 IS NULL THEN
1137 x_complete_rec.attribute7 := l_web_track_rec.attribute7;
1138 END IF;
1139
1140 -- attribute8
1141 IF p_web_track_rec.attribute8 IS NULL THEN
1142 x_complete_rec.attribute8 := l_web_track_rec.attribute8;
1143 END IF;
1144
1145 -- attribute9
1146 IF p_web_track_rec.attribute9 IS NULL THEN
1147 x_complete_rec.attribute9 := l_web_track_rec.attribute9;
1148 END IF;
1149
1150 -- attribute10
1151 IF p_web_track_rec.attribute10 IS NULL THEN
1152 x_complete_rec.attribute10 := l_web_track_rec.attribute10;
1153 END IF;
1154
1155 -- attribute11
1156 IF p_web_track_rec.attribute11 IS NULL THEN
1157 x_complete_rec.attribute11 := l_web_track_rec.attribute11;
1158 END IF;
1159
1160 -- attribute12
1161 IF p_web_track_rec.attribute12 IS NULL THEN
1162 x_complete_rec.attribute12 := l_web_track_rec.attribute12;
1163 END IF;
1164
1165 -- attribute13
1166 IF p_web_track_rec.attribute13 IS NULL THEN
1167 x_complete_rec.attribute13 := l_web_track_rec.attribute13;
1168 END IF;
1169
1170 -- attribute14
1171 IF p_web_track_rec.attribute14 IS NULL THEN
1172 x_complete_rec.attribute14 := l_web_track_rec.attribute14;
1173 END IF;
1174
1175 -- attribute15
1176 IF p_web_track_rec.attribute15 IS NULL THEN
1177 x_complete_rec.attribute15 := l_web_track_rec.attribute15;
1178 END IF;
1179 -- Note: Developers need to modify the procedure
1180 -- to handle any business specific requirements.
1181 END Complete_Web_Track_Rec;
1182
1183
1184
1185
1186 PROCEDURE Default_Web_Track_Items ( p_web_track_rec IN web_track_rec_type ,
1187 x_web_track_rec OUT NOCOPY web_track_rec_type )
1188 IS
1189 l_web_track_rec web_track_rec_type := p_web_track_rec;
1190 BEGIN
1191 -- Developers should put their code to default the record type
1192 -- e.g. IF p_campaign_rec.status_code IS NULL
1193 -- OR p_campaign_rec.status_code = FND_API.G_MISS_CHAR THEN
1194 -- l_campaign_rec.status_code := 'NEW' ;
1195 -- END IF ;
1196 --
1197 NULL ;
1198 END;
1199
1200
1201
1202
1203 PROCEDURE Validate_Web_Track(
1204 p_api_version_number IN NUMBER,
1205 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
1206 p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
1207 p_web_track_rec IN web_track_rec_type,
1208 p_validation_mode IN VARCHAR2,
1209 x_return_status OUT NOCOPY VARCHAR2,
1210 x_msg_count OUT NOCOPY NUMBER,
1211 x_msg_data OUT NOCOPY VARCHAR2
1212 )
1213 IS
1214 L_API_NAME CONSTANT VARCHAR2(30) := 'Validate_Web_Track';
1215 L_API_VERSION_NUMBER CONSTANT NUMBER := 1.0;
1216 l_object_version_number NUMBER;
1217 l_web_track_rec web_track_rec_type;
1218
1219 BEGIN
1220 -- Standard Start of API savepoint
1221 SAVEPOINT validate_web_track_;
1222
1223 --insert_log_mesg('Standard Start of API savepoint');
1224
1225 -- Standard call to check for call compatibility.
1226 IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
1227 p_api_version_number,
1228 l_api_name,
1229 G_PKG_NAME)
1230 THEN
1231 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1232 END IF;
1233
1234 --insert_log_mesg('Standard call to check for call');
1235 -- Initialize message list if p_init_msg_list is set to TRUE.
1236 IF FND_API.to_Boolean( p_init_msg_list )
1237 THEN
1238 FND_MSG_PUB.initialize;
1239 END IF;
1240 --insert_log_mesg('Private API: Validate_Web_Track');
1241
1242 IF p_validation_level >= JTF_PLSQL_API.g_valid_level_item THEN
1243 --insert_log_mesg('Check_web_track_Items');
1244 Check_web_track_Items(
1245 p_web_track_rec => p_web_track_rec,
1246 p_validation_mode => p_validation_mode,
1247 x_return_status => x_return_status
1248 );
1249 --insert_log_mesg('done Check_web_track_Items');
1250 --insert_log_mesg(x_return_status);
1251 IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1252 RAISE FND_API.G_EXC_ERROR;
1253 ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1254 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1255 END IF;
1256 END IF;
1257
1258 IF p_validation_mode = JTF_PLSQL_API.g_create THEN
1259 --insert_log_mesg('before Default_Web_Track_Items');
1260 Default_Web_Track_Items (p_web_track_rec => p_web_track_rec ,
1261 x_web_track_rec => l_web_track_rec) ;
1262 END IF ;
1263 --insert_log_mesg('before Complete_web_track_Rec');
1264
1265 Complete_web_track_Rec(
1266 p_web_track_rec => l_web_track_rec,
1267 x_complete_rec => l_web_track_rec
1268 );
1269 --insert_log_mesg('Complete_web_track_Rec');
1270
1271 IF p_validation_level >= JTF_PLSQL_API.g_valid_level_item THEN
1272 Validate_web_track_Rec(
1273 p_api_version_number => 1.0,
1274 p_init_msg_list => FND_API.G_FALSE,
1275 x_return_status => x_return_status,
1276 x_msg_count => x_msg_count,
1277 x_msg_data => x_msg_data,
1278 p_web_track_rec => l_web_track_rec);
1279
1280 IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1281 RAISE FND_API.G_EXC_ERROR;
1282 ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1283 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1284 END IF;
1285 END IF;
1286
1287
1288 -- Debug Message
1289 AMS_UTILITY_PVT.debug_message('Private API: ' || l_api_name || 'start');
1290
1291
1292
1293 -- Initialize API return status to SUCCESS
1294 x_return_status := FND_API.G_RET_STS_SUCCESS;
1295
1296 --insert_log_mesg(x_return_status);
1297 -- Debug Message
1298 AMS_UTILITY_PVT.debug_message('Private API: ' || l_api_name || 'end');
1299
1300
1301 -- Standard call to get message count and if count is 1, get message info.
1302 FND_MSG_PUB.Count_And_Get
1303 (p_count => x_msg_count,
1304 p_data => x_msg_data
1305 );
1306 EXCEPTION
1307
1308 WHEN AMS_Utility_PVT.resource_locked THEN
1309 x_return_status := FND_API.g_ret_sts_error;
1310 AMS_Utility_PVT.Error_Message(p_message_name => 'AMS_API_RESOURCE_LOCKED');
1311
1312 WHEN FND_API.G_EXC_ERROR THEN
1313 ROLLBACK TO VALIDATE_Web_Track_;
1314 x_return_status := FND_API.G_RET_STS_ERROR;
1315 -- Standard call to get message count and if count=1, get the message
1316 FND_MSG_PUB.Count_And_Get (
1317 p_encoded => FND_API.G_FALSE,
1318 p_count => x_msg_count,
1319 p_data => x_msg_data
1320 );
1321
1322 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1323 ROLLBACK TO VALIDATE_Web_Track_;
1324 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1325 -- Standard call to get message count and if count=1, get the message
1326 FND_MSG_PUB.Count_And_Get (
1327 p_encoded => FND_API.G_FALSE,
1328 p_count => x_msg_count,
1329 p_data => x_msg_data
1330 );
1331
1332 WHEN OTHERS THEN
1333 ROLLBACK TO VALIDATE_Web_Track_;
1334 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1335 IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1336 THEN
1337 FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,l_api_name);
1338 END IF;
1339 -- Standard call to get message count and if count=1, get the message
1340 FND_MSG_PUB.Count_And_Get (
1341 p_encoded => FND_API.G_FALSE,
1342 p_count => x_msg_count,
1343 p_data => x_msg_data
1344 );
1345 End Validate_Web_Track;
1346
1347
1348 PROCEDURE Validate_Web_Track_Rec (
1349 p_api_version_number IN NUMBER,
1350 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
1351 x_return_status OUT NOCOPY VARCHAR2,
1352 x_msg_count OUT NOCOPY NUMBER,
1353 x_msg_data OUT NOCOPY VARCHAR2,
1354 p_web_track_rec IN web_track_rec_type
1355 )
1356 IS
1357 BEGIN
1358 -- Initialize message list if p_init_msg_list is set to TRUE.
1359 IF FND_API.to_Boolean( p_init_msg_list )
1360 THEN
1361 FND_MSG_PUB.initialize;
1362 END IF;
1363
1364
1365
1366 -- Initialize API return status to SUCCESS
1367 x_return_status := FND_API.G_RET_STS_SUCCESS;
1368
1369 -- Hint: Validate data
1370 -- If data not valid
1371 -- THEN
1372 -- x_return_status := FND_API.G_RET_STS_ERROR;
1373
1374 -- Debug Message
1375 AMS_UTILITY_PVT.debug_message('Private API: Validate_dm_model_rec');
1376 -- Standard call to get message count and if count is 1, get message info.
1377 FND_MSG_PUB.Count_And_Get
1378 (p_count => x_msg_count,
1379 p_data => x_msg_data
1380 );
1381 END Validate_web_track_Rec;
1382
1383 -- Foreward Procedure Declarations
1384 --
1385
1386 PROCEDURE Default_Web_Recomms_Items (
1387 p_web_recomms_rec IN web_recomms_rec_type ,
1388 x_web_recomms_rec OUT NOCOPY web_recomms_rec_type
1389 ) ;
1390
1391
1392
1393 -- Hint: Primary key needs to be returned.
1394 -- ==============================================================================
1395 -- Start of Comments
1396 -- ==============================================================================
1397 -- API Name
1398 -- Create_Web_Recomms
1399 -- Type
1400 -- Private
1401 -- Pre-Req
1402 --
1403 -- Parameters
1404 --
1405 -- IN
1406 -- p_api_version_number IN NUMBER Required
1407 -- p_init_msg_list IN VARCHAR2 Optional Default = FND_API_G_FALSE
1408 -- p_commit IN VARCHAR2 Optional Default = FND_API.G_FALSE
1409 -- p_validation_level IN NUMBER Optional Default = FND_API.G_VALID_LEVEL_FULL
1410 -- p_web_recomms_rec IN web_recomms_rec_type Required
1411 --
1412 -- OUT
1413 -- x_return_status OUT VARCHAR2
1414 -- x_msg_count OUT NUMBER
1415 -- x_msg_data OUT VARCHAR2
1416 -- Version : Current version 1.0
1417 -- Note: This automatic generated procedure definition, it includes standard IN/OUT parameters
1418 -- and basic operation, developer must manually add parameters and business logic as necessary.
1419 --
1420 -- History
1421 --
1422 -- NOTE
1423 --
1424 -- End of Comments
1425 -- ==============================================================================
1426
1427 PROCEDURE Create_Web_Recomms(
1428 p_api_version_number IN NUMBER,
1429 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
1430 p_commit IN VARCHAR2 := FND_API.G_FALSE,
1431 p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
1432 x_return_status OUT NOCOPY VARCHAR2,
1433 x_msg_count OUT NOCOPY NUMBER,
1434 x_msg_data OUT NOCOPY VARCHAR2,
1435 p_web_recomms_rec IN web_recomms_rec_type := g_miss_web_recomms_rec,
1436 x_web_recomm_id OUT NOCOPY NUMBER
1437 )
1438
1439 IS
1440 L_API_NAME CONSTANT VARCHAR2(30) := 'Create_Web_Recomms';
1441 L_API_VERSION_NUMBER CONSTANT NUMBER := 1.0;
1442 l_return_status_full VARCHAR2(1);
1443 l_object_version_number NUMBER := 1;
1444 l_org_id NUMBER := FND_API.G_MISS_NUM;
1445 l_web_recomm_id NUMBER;
1446 l_dummy NUMBER;
1447 CURSOR c_id IS
1448 SELECT ams_web_recomms_s.NEXTVAL
1449 FROM dual;
1450
1451 CURSOR c_id_exists (l_id IN NUMBER) IS
1452 SELECT 1
1453 FROM AMS_WEB_RECOMMS
1454 WHERE web_recomm_id = l_id;
1455 BEGIN
1456 -- Standard Start of API savepoint
1457 SAVEPOINT create_web_recomms_pvt;
1458
1459 -- Standard call to check for call compatibility.
1460 IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
1461 p_api_version_number,
1462 l_api_name,
1463 G_PKG_NAME)
1464 THEN
1465 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1466 END IF;
1467
1468
1469 -- Initialize message list if p_init_msg_list is set to TRUE.
1470 IF FND_API.to_Boolean( p_init_msg_list )
1471 THEN
1472 FND_MSG_PUB.initialize;
1473 END IF;
1474
1475
1476
1477 -- Debug Message
1478 AMS_UTILITY_PVT.debug_message('Private API: ' || l_api_name || 'start');
1479
1480
1481
1482 -- Initialize API return status to SUCCESS
1483 x_return_status := FND_API.G_RET_STS_SUCCESS;
1484
1485 -- =========================================================================
1486 -- Validate Environment
1487 -- =========================================================================
1488
1489 IF FND_GLOBAL.USER_ID IS NULL
1490 THEN
1491 AMS_Utility_PVT.Error_Message(p_message_name => 'USER_PROFILE_MISSING');
1492 RAISE FND_API.G_EXC_ERROR;
1493 END IF;
1494
1495
1496
1497 IF ( P_validation_level >= FND_API.G_VALID_LEVEL_FULL)
1498 THEN
1499 -- Debug message
1500 AMS_UTILITY_PVT.debug_message('Private API: Validate_Web_Recomms');
1501
1502 -- Invoke validation procedures
1503 Validate_web_recomms(
1504 p_api_version_number => 1.0,
1505 p_init_msg_list => FND_API.G_FALSE,
1506 p_validation_level => p_validation_level,
1507 p_validation_mode => JTF_PLSQL_API.g_create,
1508 p_web_recomms_rec => p_web_recomms_rec,
1509 x_return_status => x_return_status,
1510 x_msg_count => x_msg_count,
1511 x_msg_data => x_msg_data);
1512 END IF;
1513
1514 IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
1515 RAISE FND_API.G_EXC_ERROR;
1516 END IF;
1517
1518 -- Local variable initialization
1519
1520 IF p_web_recomms_rec.web_recomm_id IS NULL OR p_web_recomms_rec.web_recomm_id = FND_API.g_miss_num THEN
1521 LOOP
1522 l_dummy := NULL;
1523 OPEN c_id;
1524 FETCH c_id INTO l_web_recomm_id;
1525 CLOSE c_id;
1526
1527 OPEN c_id_exists(l_web_recomm_id);
1528 FETCH c_id_exists INTO l_dummy;
1529 CLOSE c_id_exists;
1530 EXIT WHEN l_dummy IS NULL;
1531 END LOOP;
1532 ELSE
1533 l_web_recomm_id := p_web_recomms_rec.web_recomm_id;
1534 END IF;
1535
1536 -- Debug Message
1537 AMS_UTILITY_PVT.debug_message( 'Private API: Calling create table handler');
1538
1539 -- Invoke table handler(Ams_Web_Recomms_Pkg.Insert_Row)
1540 Ams_Web_Recomms_Pkg.Insert_Row(
1541 px_web_recomm_id => l_web_recomm_id,
1542 p_web_tracking_id => p_web_recomms_rec.web_tracking_id,
1543 p_recomm_object_id => p_web_recomms_rec.recomm_object_id,
1544 p_recomm_type => p_web_recomms_rec.recomm_type,
1545 p_rule_id => p_web_recomms_rec.rule_id,
1546 p_offer_id => p_web_recomms_rec.offer_id,
1547 p_offer_src_code => p_web_recomms_rec.offer_src_code,
1548 p_last_update_date => SYSDATE,
1549 p_last_updated_by => FND_GLOBAL.USER_ID,
1550 p_creation_date => SYSDATE,
1551 p_created_by => FND_GLOBAL.USER_ID,
1552 p_last_update_login => FND_GLOBAL.conc_login_id,
1553 px_object_version_number => l_object_version_number,
1554 p_attribute_category => p_web_recomms_rec.attribute_category,
1555 p_attribute1 => p_web_recomms_rec.attribute1,
1556 p_attribute2 => p_web_recomms_rec.attribute2,
1557 p_attribute3 => p_web_recomms_rec.attribute3,
1558 p_attribute4 => p_web_recomms_rec.attribute4,
1559 p_attribute5 => p_web_recomms_rec.attribute5,
1560 p_attribute6 => p_web_recomms_rec.attribute6,
1561 p_attribute7 => p_web_recomms_rec.attribute7,
1562 p_attribute8 => p_web_recomms_rec.attribute8,
1563 p_attribute9 => p_web_recomms_rec.attribute9,
1564 p_attribute10 => p_web_recomms_rec.attribute10,
1565 p_attribute11 => p_web_recomms_rec.attribute11,
1566 p_attribute12 => p_web_recomms_rec.attribute12,
1567 p_attribute13 => p_web_recomms_rec.attribute13,
1568 p_attribute14 => p_web_recomms_rec.attribute14,
1569 p_attribute15 => p_web_recomms_rec.attribute15
1570 );
1571
1572 x_web_recomm_id := l_web_recomm_id;
1573 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1574 RAISE FND_API.G_EXC_ERROR;
1575 END IF;
1576 --
1577 -- End of API body
1578 --
1579
1580 -- Standard check for p_commit
1581 IF FND_API.to_Boolean( p_commit )
1582 THEN
1583 COMMIT WORK;
1584 END IF;
1585
1586
1587 -- Debug Message
1588 AMS_UTILITY_PVT.debug_message('Private API: ' || l_api_name || 'end');
1589
1590
1591 -- Standard call to get message count and if count is 1, get message info.
1592 FND_MSG_PUB.Count_And_Get
1593 (p_count => x_msg_count,
1594 p_data => x_msg_data
1595 );
1596 EXCEPTION
1597
1598 WHEN AMS_Utility_PVT.resource_locked THEN
1599 x_return_status := FND_API.g_ret_sts_error;
1600 AMS_Utility_PVT.Error_Message(p_message_name => 'AMS_API_RESOURCE_LOCKED');
1601
1602 WHEN FND_API.G_EXC_ERROR THEN
1603 ROLLBACK TO CREATE_Web_Recomms_PVT;
1604 x_return_status := FND_API.G_RET_STS_ERROR;
1605 -- Standard call to get message count and if count=1, get the message
1606 FND_MSG_PUB.Count_And_Get (
1607 p_encoded => FND_API.G_FALSE,
1608 p_count => x_msg_count,
1609 p_data => x_msg_data
1610 );
1611
1612 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1613 ROLLBACK TO CREATE_Web_Recomms_PVT;
1614 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1615 -- Standard call to get message count and if count=1, get the message
1616 FND_MSG_PUB.Count_And_Get (
1617 p_encoded => FND_API.G_FALSE,
1618 p_count => x_msg_count,
1619 p_data => x_msg_data
1620 );
1621
1622 WHEN OTHERS THEN
1623 ROLLBACK TO CREATE_Web_Recomms_PVT;
1624 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1625 IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1626 THEN
1627 FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,l_api_name);
1628 END IF;
1629 -- Standard call to get message count and if count=1, get the message
1630 FND_MSG_PUB.Count_And_Get (
1631 p_encoded => FND_API.G_FALSE,
1632 p_count => x_msg_count,
1633 p_data => x_msg_data
1634 );
1635 End Create_Web_Recomms;
1636
1637
1638 -- ==============================================================================
1639 -- Start of Comments
1640 -- ==============================================================================
1641 -- API Name
1642 -- Update_Web_Recomms
1643 -- Type
1644 -- Private
1645 -- Pre-Req
1646 --
1647 -- Parameters
1648 --
1649 -- IN
1650 -- p_api_version_number IN NUMBER Required
1651 -- p_init_msg_list IN VARCHAR2 Optional Default = FND_API_G_FALSE
1652 -- p_commit IN VARCHAR2 Optional Default = FND_API.G_FALSE
1653 -- p_validation_level IN NUMBER Optional Default = FND_API.G_VALID_LEVEL_FULL
1654 -- p_web_recomms_rec IN web_recomms_rec_type Required
1655 --
1656 -- OUT
1657 -- x_return_status OUT VARCHAR2
1658 -- x_msg_count OUT NUMBER
1659 -- x_msg_data OUT VARCHAR2
1660 -- Version : Current version 1.0
1661 -- Note: This automatic generated procedure definition, it includes standard IN/OUT parameters
1662 -- and basic operation, developer must manually add parameters and business logic as necessary.
1663 --
1664 -- History
1665 --
1666 -- NOTE
1667 --
1668 -- End of Comments
1669 -- ==============================================================================
1670
1671 PROCEDURE Update_Web_Recomms(
1672 p_api_version_number IN NUMBER,
1673 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
1674 p_commit IN VARCHAR2 := FND_API.G_FALSE,
1675 p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
1676
1677 x_return_status OUT NOCOPY VARCHAR2,
1678 x_msg_count OUT NOCOPY NUMBER,
1679 x_msg_data OUT NOCOPY VARCHAR2,
1680
1681 p_web_recomms_rec IN web_recomms_rec_type
1682 )
1683
1684 IS
1685
1686
1687 CURSOR c_get_web_recomms(web_recomm_id NUMBER) IS
1688 SELECT *
1689 FROM AMS_WEB_RECOMMS
1690 WHERE web_recomm_id = p_web_recomms_rec.web_recomm_id;
1691 -- Hint: Developer need to provide Where clause
1692
1693
1694 L_API_NAME CONSTANT VARCHAR2(30) := 'Update_Web_Recomms';
1695 L_API_VERSION_NUMBER CONSTANT NUMBER := 1.0;
1696 -- Local Variables
1697 l_object_version_number NUMBER;
1698 l_web_recomm_id NUMBER;
1699 l_ref_web_recomms_rec c_get_Web_Recomms%ROWTYPE ;
1700 l_tar_web_recomms_rec web_recomms_rec_type := P_web_recomms_rec;
1701 l_rowid ROWID;
1702
1703 BEGIN
1704 -- Standard Start of API savepoint
1705 SAVEPOINT update_web_recomms_pvt;
1706
1707 -- Standard call to check for call compatibility.
1708 IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
1709 p_api_version_number,
1710 l_api_name,
1711 G_PKG_NAME)
1712 THEN
1713 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1714 END IF;
1715
1716
1717 -- Initialize message list if p_init_msg_list is set to TRUE.
1718 IF FND_API.to_Boolean( p_init_msg_list )
1719 THEN
1720 FND_MSG_PUB.initialize;
1721 END IF;
1722
1723
1724
1725 -- Debug Message
1726 AMS_UTILITY_PVT.debug_message('Private API: ' || l_api_name || 'start');
1727
1728
1729
1730 -- Initialize API return status to SUCCESS
1731 x_return_status := FND_API.G_RET_STS_SUCCESS;
1732
1733 -- Debug Message
1734 AMS_UTILITY_PVT.debug_message('Private API: - Open Cursor to Select');
1735
1736 OPEN c_get_Web_Recomms( l_tar_web_recomms_rec.web_recomm_id);
1737
1738 FETCH c_get_Web_Recomms INTO l_ref_web_recomms_rec ;
1739
1740 If ( c_get_Web_Recomms%NOTFOUND) THEN
1741 AMS_Utility_PVT.Error_Message(p_message_name => 'API_MISSING_UPDATE_TARGET',
1742 p_token_name => 'INFO',
1743 p_token_value => 'Web_Recomms') ;
1744 RAISE FND_API.G_EXC_ERROR;
1745 END IF;
1746 -- Debug Message
1747 AMS_UTILITY_PVT.debug_message('Private API: - Close Cursor');
1748 CLOSE c_get_Web_Recomms;
1749
1750
1751 If (l_tar_web_recomms_rec.object_version_number is NULL or
1752 l_tar_web_recomms_rec.object_version_number = FND_API.G_MISS_NUM ) Then
1753 AMS_Utility_PVT.Error_Message(p_message_name => 'API_VERSION_MISSING',
1754 p_token_name => 'COLUMN',
1755 p_token_value => 'Last_Update_Date') ;
1756 raise FND_API.G_EXC_ERROR;
1757 End if;
1758 -- Check Whether record has been changed by someone else
1759 If (l_tar_web_recomms_rec.object_version_number <> l_ref_web_recomms_rec.object_version_number) Then
1760 AMS_Utility_PVT.Error_Message(p_message_name => 'API_RECORD_CHANGED',
1761 p_token_name => 'INFO',
1762 p_token_value => 'Web_Recomms') ;
1763 raise FND_API.G_EXC_ERROR;
1764 End if;
1765
1766
1767 IF ( P_validation_level >= FND_API.G_VALID_LEVEL_FULL)
1768 THEN
1769 -- Debug message
1770 AMS_UTILITY_PVT.debug_message('Private API: Validate_Web_Recomms');
1771
1772 -- Invoke validation procedures
1773 Validate_web_recomms(
1774 p_api_version_number => 1.0,
1775 p_init_msg_list => FND_API.G_FALSE,
1776 p_validation_level => p_validation_level,
1777 p_validation_mode => JTF_PLSQL_API.g_update,
1778 p_web_recomms_rec => p_web_recomms_rec,
1779 x_return_status => x_return_status,
1780 x_msg_count => x_msg_count,
1781 x_msg_data => x_msg_data);
1782 END IF;
1783
1784 IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
1785 RAISE FND_API.G_EXC_ERROR;
1786 END IF;
1787
1788
1789 -- Debug Message
1790 AMS_UTILITY_PVT.debug_message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'Private API: Calling update table handler');
1791
1792 -- Invoke table handler(Ams_Web_Recomms_Pkg.Update_Row)
1793 Ams_Web_Recomms_Pkg.Update_Row(
1794 p_web_recomm_id => p_web_recomms_rec.web_recomm_id,
1795 p_web_tracking_id => p_web_recomms_rec.web_tracking_id,
1796 p_recomm_object_id => p_web_recomms_rec.recomm_object_id,
1797 p_recomm_type => p_web_recomms_rec.recomm_type,
1798 p_rule_id => p_web_recomms_rec.rule_id,
1799 p_offer_id => p_web_recomms_rec.offer_id,
1800 p_offer_src_code => p_web_recomms_rec.offer_src_code,
1801 p_last_update_date => SYSDATE,
1802 p_last_updated_by => FND_GLOBAL.USER_ID,
1803 p_last_update_login => FND_GLOBAL.conc_login_id,
1804 p_object_version_number => p_web_recomms_rec.object_version_number,
1805 p_attribute_category => p_web_recomms_rec.attribute_category,
1806 p_attribute1 => p_web_recomms_rec.attribute1,
1807 p_attribute2 => p_web_recomms_rec.attribute2,
1808 p_attribute3 => p_web_recomms_rec.attribute3,
1809 p_attribute4 => p_web_recomms_rec.attribute4,
1810 p_attribute5 => p_web_recomms_rec.attribute5,
1811 p_attribute6 => p_web_recomms_rec.attribute6,
1812 p_attribute7 => p_web_recomms_rec.attribute7,
1813 p_attribute8 => p_web_recomms_rec.attribute8,
1814 p_attribute9 => p_web_recomms_rec.attribute9,
1815 p_attribute10 => p_web_recomms_rec.attribute10,
1816 p_attribute11 => p_web_recomms_rec.attribute11,
1817 p_attribute12 => p_web_recomms_rec.attribute12,
1818 p_attribute13 => p_web_recomms_rec.attribute13,
1819 p_attribute14 => p_web_recomms_rec.attribute14,
1820 p_attribute15 => p_web_recomms_rec.attribute15
1821 );
1822 --
1823 -- End of API body.
1824 --
1825
1826 -- Standard check for p_commit
1827 IF FND_API.to_Boolean( p_commit )
1828 THEN
1829 COMMIT WORK;
1830 END IF;
1831
1832
1833 -- Debug Message
1834 AMS_UTILITY_PVT.debug_message('Private API: ' || l_api_name || 'end');
1835
1836
1837 -- Standard call to get message count and if count is 1, get message info.
1838 FND_MSG_PUB.Count_And_Get
1839 (p_count => x_msg_count,
1840 p_data => x_msg_data
1841 );
1842 EXCEPTION
1843
1844 WHEN AMS_Utility_PVT.resource_locked THEN
1845 x_return_status := FND_API.g_ret_sts_error;
1846 AMS_Utility_PVT.Error_Message(p_message_name => 'AMS_API_RESOURCE_LOCKED');
1847
1848 WHEN FND_API.G_EXC_ERROR THEN
1849 ROLLBACK TO UPDATE_Web_Recomms_PVT;
1850 x_return_status := FND_API.G_RET_STS_ERROR;
1851 -- Standard call to get message count and if count=1, get the message
1852 FND_MSG_PUB.Count_And_Get (
1853 p_encoded => FND_API.G_FALSE,
1854 p_count => x_msg_count,
1855 p_data => x_msg_data
1856 );
1857
1858 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1859 ROLLBACK TO UPDATE_Web_Recomms_PVT;
1860 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1861 -- Standard call to get message count and if count=1, get the message
1862 FND_MSG_PUB.Count_And_Get (
1863 p_encoded => FND_API.G_FALSE,
1864 p_count => x_msg_count,
1865 p_data => x_msg_data
1866 );
1867
1868 WHEN OTHERS THEN
1869 ROLLBACK TO UPDATE_Web_Recomms_PVT;
1870 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1871 IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1872 THEN
1873 FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,l_api_name);
1874 END IF;
1875 -- Standard call to get message count and if count=1, get the message
1876 FND_MSG_PUB.Count_And_Get (
1877 p_encoded => FND_API.G_FALSE,
1878 p_count => x_msg_count,
1879 p_data => x_msg_data
1880 );
1881 End Update_Web_Recomms;
1882
1883
1884 -- ==============================================================================
1885 -- Start of Comments
1886 -- ==============================================================================
1887 -- API Name
1888 -- Delete_Web_Recomms
1889 -- Type
1890 -- Private
1891 -- Pre-Req
1892 --
1893 -- Parameters
1894 --
1895 -- IN
1896 -- p_api_version_number IN NUMBER Required
1897 -- p_init_msg_list IN VARCHAR2 Optional Default = FND_API_G_FALSE
1898 -- p_commit IN VARCHAR2 Optional Default = FND_API.G_FALSE
1899 -- p_validation_level IN NUMBER Optional Default = FND_API.G_VALID_LEVEL_FULL
1900 -- p_web_recomm_id IN NUMBER
1901 -- p_object_version_number IN NUMBER Optional Default = NULL
1902 --
1903 -- OUT
1904 -- x_return_status OUT VARCHAR2
1905 -- x_msg_count OUT NUMBER
1906 -- x_msg_data OUT VARCHAR2
1907 -- Version : Current version 1.0
1908 -- Note: This automatic generated procedure definition, it includes standard IN/OUT parameters
1909 -- and basic operation, developer must manually add parameters and business logic as necessary.
1910 --
1911 -- History
1912 --
1913 -- NOTE
1914 --
1915 -- End of Comments
1916 -- ==============================================================================
1917
1918 PROCEDURE Delete_Web_Recomms(
1919 p_api_version_number IN NUMBER,
1920 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
1921 p_commit IN VARCHAR2 := FND_API.G_FALSE,
1922 p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
1923 x_return_status OUT NOCOPY VARCHAR2,
1924 x_msg_count OUT NOCOPY NUMBER,
1925 x_msg_data OUT NOCOPY VARCHAR2,
1926 p_web_recomm_id IN NUMBER,
1927 p_object_version_number IN NUMBER
1928 )
1929
1930 IS
1931 L_API_NAME CONSTANT VARCHAR2(30) := 'Delete_Web_Recomms';
1932 L_API_VERSION_NUMBER CONSTANT NUMBER := 1.0;
1933 l_object_version_number NUMBER;
1934
1935 BEGIN
1936 -- Standard Start of API savepoint
1937 SAVEPOINT delete_web_recomms_pvt;
1938
1939 -- Standard call to check for call compatibility.
1940 IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
1941 p_api_version_number,
1942 l_api_name,
1943 G_PKG_NAME)
1944 THEN
1945 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1946 END IF;
1947
1948
1949 -- Initialize message list if p_init_msg_list is set to TRUE.
1950 IF FND_API.to_Boolean( p_init_msg_list )
1951 THEN
1952 FND_MSG_PUB.initialize;
1953 END IF;
1954
1955
1956
1957 -- Debug Message
1958 AMS_UTILITY_PVT.debug_message('Private API: ' || l_api_name || 'start');
1959
1960
1961
1962 -- Initialize API return status to SUCCESS
1963 x_return_status := FND_API.G_RET_STS_SUCCESS;
1964
1965 --
1966 -- Api body
1967 --
1968 -- Debug Message
1969 AMS_UTILITY_PVT.debug_message( 'Private API: Calling delete table handler');
1970
1971 -- Invoke table handler(Ams_Web_Recomms_Pkg.Delete_Row)
1972 Ams_Web_Recomms_Pkg.Delete_Row(
1973 p_web_recomm_id => p_web_recomm_id,
1974 p_object_version_number => p_object_version_number );
1975 --
1976 -- End of API body
1977 --
1978
1979 -- Standard check for p_commit
1980 IF FND_API.to_Boolean( p_commit )
1981 THEN
1982 COMMIT WORK;
1983 END IF;
1984
1985
1986 -- Debug Message
1987 AMS_UTILITY_PVT.debug_message('Private API: ' || l_api_name || 'end');
1988
1989
1990 -- Standard call to get message count and if count is 1, get message info.
1991 FND_MSG_PUB.Count_And_Get
1992 (p_count => x_msg_count,
1993 p_data => x_msg_data
1994 );
1995 EXCEPTION
1996
1997 WHEN AMS_Utility_PVT.resource_locked THEN
1998 x_return_status := FND_API.g_ret_sts_error;
1999 AMS_Utility_PVT.Error_Message(p_message_name => 'AMS_API_RESOURCE_LOCKED');
2000
2001 WHEN FND_API.G_EXC_ERROR THEN
2002 ROLLBACK TO DELETE_Web_Recomms_PVT;
2003 x_return_status := FND_API.G_RET_STS_ERROR;
2004 -- Standard call to get message count and if count=1, get the message
2005 FND_MSG_PUB.Count_And_Get (
2006 p_encoded => FND_API.G_FALSE,
2007 p_count => x_msg_count,
2008 p_data => x_msg_data
2009 );
2010
2011 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2012 ROLLBACK TO DELETE_Web_Recomms_PVT;
2013 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2014 -- Standard call to get message count and if count=1, get the message
2015 FND_MSG_PUB.Count_And_Get (
2016 p_encoded => FND_API.G_FALSE,
2017 p_count => x_msg_count,
2018 p_data => x_msg_data
2019 );
2020
2021 WHEN OTHERS THEN
2022 ROLLBACK TO DELETE_Web_Recomms_PVT;
2023 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2024 IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2025 THEN
2026 FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,l_api_name);
2027 END IF;
2028 -- Standard call to get message count and if count=1, get the message
2029 FND_MSG_PUB.Count_And_Get (
2030 p_encoded => FND_API.G_FALSE,
2031 p_count => x_msg_count,
2032 p_data => x_msg_data
2033 );
2034 End Delete_Web_Recomms;
2035
2036
2037
2038 -- Hint: Primary key needs to be returned.
2039 -- ==============================================================================
2040 -- Start of Comments
2041 -- ==============================================================================
2042 -- API Name
2043 -- Lock_Web_Recomms
2044 -- Type
2045 -- Private
2046 -- Pre-Req
2047 --
2048 -- Parameters
2049 --
2050 -- IN
2051 -- p_api_version_number IN NUMBER Required
2052 -- p_init_msg_list IN VARCHAR2 Optional Default = FND_API_G_FALSE
2053 -- p_commit IN VARCHAR2 Optional Default = FND_API.G_FALSE
2054 -- p_validation_level IN NUMBER Optional Default = FND_API.G_VALID_LEVEL_FULL
2055 -- p_web_recomms_rec IN web_recomms_rec_type Required
2056 --
2057 -- OUT
2058 -- x_return_status OUT VARCHAR2
2059 -- x_msg_count OUT NUMBER
2060 -- x_msg_data OUT VARCHAR2
2061 -- Version : Current version 1.0
2062 -- Note: This automatic generated procedure definition, it includes standard IN/OUT parameters
2063 -- and basic operation, developer must manually add parameters and business logic as necessary.
2064 --
2065 -- History
2066 --
2067 -- NOTE
2068 --
2069 -- End of Comments
2070 -- ==============================================================================
2071
2072 PROCEDURE Lock_Web_Recomms(
2073 p_api_version_number IN NUMBER,
2074 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
2075
2076 x_return_status OUT NOCOPY VARCHAR2,
2077 x_msg_count OUT NOCOPY NUMBER,
2078 x_msg_data OUT NOCOPY VARCHAR2,
2079
2080 p_web_recomm_id IN NUMBER,
2081 p_object_version IN NUMBER
2082 )
2083
2084 IS
2085 L_API_NAME CONSTANT VARCHAR2(30) := 'Lock_Web_Recomms';
2086 L_API_VERSION_NUMBER CONSTANT NUMBER := 1.0;
2087 L_FULL_NAME CONSTANT VARCHAR2(60) := g_pkg_name ||'.'|| l_api_name;
2088 l_web_recomm_id NUMBER;
2089
2090 BEGIN
2091
2092 -- Debug Message
2093 AMS_UTILITY_PVT.debug_message('Private API: ' || l_api_name || 'start');
2094
2095
2096 -- Initialize message list if p_init_msg_list is set to TRUE.
2097 IF FND_API.to_Boolean( p_init_msg_list )
2098 THEN
2099 FND_MSG_PUB.initialize;
2100 END IF;
2101
2102
2103
2104 -- Standard call to check for call compatibility.
2105 IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
2106 p_api_version_number,
2107 l_api_name,
2108 G_PKG_NAME)
2109 THEN
2110 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2111 END IF;
2112
2113
2114
2115 -- Initialize API return status to SUCCESS
2116 x_return_status := FND_API.G_RET_STS_SUCCESS;
2117
2118
2119 ------------------------ lock -------------------------
2120 Ams_Web_Recomms_Pkg.Lock_Row(l_web_recomm_id,p_object_version);
2121
2122
2123 -------------------- finish --------------------------
2124 FND_MSG_PUB.count_and_get(
2125 p_encoded => FND_API.g_false,
2126 p_count => x_msg_count,
2127 p_data => x_msg_data);
2128 AMS_Utility_PVT.debug_message(l_full_name ||': end');
2129 EXCEPTION
2130
2131 WHEN AMS_Utility_PVT.resource_locked THEN
2132 x_return_status := FND_API.g_ret_sts_error;
2133 AMS_Utility_PVT.Error_Message(p_message_name => 'AMS_API_RESOURCE_LOCKED');
2134
2135 WHEN FND_API.G_EXC_ERROR THEN
2136 ROLLBACK TO LOCK_Web_Recomms_PVT;
2137 x_return_status := FND_API.G_RET_STS_ERROR;
2138 -- Standard call to get message count and if count=1, get the message
2139 FND_MSG_PUB.Count_And_Get (
2140 p_encoded => FND_API.G_FALSE,
2141 p_count => x_msg_count,
2142 p_data => x_msg_data
2143 );
2144
2145 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2146 ROLLBACK TO LOCK_Web_Recomms_PVT;
2147 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2148 -- Standard call to get message count and if count=1, get the message
2149 FND_MSG_PUB.Count_And_Get (
2150 p_encoded => FND_API.G_FALSE,
2151 p_count => x_msg_count,
2152 p_data => x_msg_data
2153 );
2154
2155 WHEN OTHERS THEN
2156 ROLLBACK TO LOCK_Web_Recomms_PVT;
2157 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2158 IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2159 THEN
2160 FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,l_api_name);
2161 END IF;
2162 -- Standard call to get message count and if count=1, get the message
2163 FND_MSG_PUB.Count_And_Get (
2164 p_encoded => FND_API.G_FALSE,
2165 p_count => x_msg_count,
2166 p_data => x_msg_data
2167 );
2168 End Lock_Web_Recomms;
2169
2170
2171
2172
2173 PROCEDURE check_Web_Recomms_Uk_Items(
2174 p_web_recomms_rec IN web_recomms_rec_type,
2175 p_validation_mode IN VARCHAR2 := JTF_PLSQL_API.g_create,
2176 x_return_status OUT NOCOPY VARCHAR2)
2177 IS
2178 l_valid_flag VARCHAR2(1);
2179
2180 BEGIN
2181 x_return_status := FND_API.g_ret_sts_success;
2182 IF p_validation_mode = JTF_PLSQL_API.g_create
2183 AND p_web_recomms_rec.web_recomm_id IS NOT NULL
2184 THEN
2185 l_valid_flag := AMS_Utility_PVT.check_uniqueness(
2186 'ams_web_recomms',
2187 'web_recomm_id = ''' || p_web_recomms_rec.web_recomm_id ||''''
2188 );
2189 END IF;
2190
2191 IF l_valid_flag = FND_API.g_false THEN
2192 AMS_Utility_PVT.Error_Message(p_message_name => 'AMS_web_recomm_id_DUPLICATE');
2193 x_return_status := FND_API.g_ret_sts_error;
2194 END IF;
2195
2196 END check_Web_Recomms_Uk_Items;
2197
2198
2199
2200 PROCEDURE check_Web_Recomms_Req_Items(
2201 p_web_recomms_rec IN web_recomms_rec_type,
2202 p_validation_mode IN VARCHAR2 := JTF_PLSQL_API.g_create,
2203 x_return_status OUT NOCOPY VARCHAR2
2204 )
2205 IS
2206 BEGIN
2207 x_return_status := FND_API.g_ret_sts_success;
2208
2209 IF p_validation_mode = JTF_PLSQL_API.g_create THEN
2210
2211
2212 -- IF p_web_recomms_rec.web_recomm_id = FND_API.G_MISS_NUM OR p_web_recomms_rec.web_recomm_id IS NULL THEN
2213 -- AMS_Utility_PVT.Error_Message('AMS_API_MISSING_FIELD', 'MISS_FIELD', 'WEB_RECOMM_ID' );
2214 -- x_return_status := FND_API.g_ret_sts_error;
2215 -- END IF;
2216
2217
2218 IF p_web_recomms_rec.web_tracking_id = FND_API.G_MISS_NUM OR p_web_recomms_rec.web_tracking_id IS NULL THEN
2219 AMS_Utility_PVT.Error_Message('AMS_API_MISSING_FIELD', 'MISS_FIELD', 'WEB_TRACKING_ID' );
2220 x_return_status := FND_API.g_ret_sts_error;
2221 END IF;
2222
2223
2224 ELSE
2225
2226
2227 IF p_web_recomms_rec.web_recomm_id = FND_API.G_MISS_NUM THEN
2228 AMS_Utility_PVT.Error_Message('AMS_API_MISSING_FIELD', 'MISS_FIELD', 'WEB_RECOMM_ID' );
2229 x_return_status := FND_API.g_ret_sts_error;
2230 END IF;
2231
2232
2233 IF p_web_recomms_rec.web_tracking_id = FND_API.G_MISS_NUM THEN
2234 AMS_Utility_PVT.Error_Message('AMS_API_MISSING_FIELD', 'MISS_FIELD', 'WEB_TRACKING_ID' );
2235 x_return_status := FND_API.g_ret_sts_error;
2236 END IF;
2237 END IF;
2238
2239 END check_Web_Recomms_Req_Items;
2240
2241
2242
2243 PROCEDURE check_Web_Recomms_Fk_Items(
2244 p_web_recomms_rec IN web_recomms_rec_type,
2245 x_return_status OUT NOCOPY VARCHAR2
2246 )
2247 IS
2248 BEGIN
2249 x_return_status := FND_API.g_ret_sts_success;
2250
2251 -- Enter custom code here
2252
2253 END check_Web_Recomms_Fk_Items;
2254
2255
2256
2257 PROCEDURE check_Web_Recomms_Lookup_Items(
2258 p_web_recomms_rec IN web_recomms_rec_type,
2259 x_return_status OUT NOCOPY VARCHAR2
2260 )
2261 IS
2262 BEGIN
2263 x_return_status := FND_API.g_ret_sts_success;
2264
2265 -- Enter custom code here
2266
2267 END check_Web_Recomms_Lookup_Items;
2268
2269
2270
2271 PROCEDURE Check_Web_Recomms_Items (
2272 P_web_recomms_rec IN web_recomms_rec_type,
2273 p_validation_mode IN VARCHAR2,
2274 x_return_status OUT NOCOPY VARCHAR2
2275 )
2276 IS
2277 l_return_status VARCHAR2(1);
2278 BEGIN
2279
2280 l_return_status := FND_API.g_ret_sts_success;
2281 -- Check Items Uniqueness API calls
2282
2283 check_Web_recomms_Uk_Items(
2284 p_web_recomms_rec => p_web_recomms_rec,
2285 p_validation_mode => p_validation_mode,
2286 x_return_status => x_return_status);
2287 IF x_return_status <> FND_API.g_ret_sts_success THEN
2288 l_return_status := FND_API.g_ret_sts_error;
2289 END IF;
2290
2291 -- Check Items Required/NOT NULL API calls
2292
2293 check_web_recomms_req_items(
2294 p_web_recomms_rec => p_web_recomms_rec,
2295 p_validation_mode => p_validation_mode,
2296 x_return_status => x_return_status);
2297 IF x_return_status <> FND_API.g_ret_sts_success THEN
2298 l_return_status := FND_API.g_ret_sts_error;
2299 END IF;
2300 -- Check Items Foreign Keys API calls
2301
2302 check_web_recomms_FK_items(
2303 p_web_recomms_rec => p_web_recomms_rec,
2304 x_return_status => x_return_status);
2305 IF x_return_status <> FND_API.g_ret_sts_success THEN
2306 l_return_status := FND_API.g_ret_sts_error;
2307 END IF;
2308 -- Check Items Lookups
2309
2310 check_web_recomms_Lookup_items(
2311 p_web_recomms_rec => p_web_recomms_rec,
2312 x_return_status => x_return_status);
2313 IF x_return_status <> FND_API.g_ret_sts_success THEN
2314 l_return_status := FND_API.g_ret_sts_error;
2315 END IF;
2316
2317 x_return_status := l_return_status;
2318
2319 END Check_web_recomms_Items;
2320
2321
2322
2323
2324
2325 PROCEDURE Complete_Web_Recomms_Rec (
2326 p_web_recomms_rec IN web_recomms_rec_type,
2327 x_complete_rec OUT NOCOPY web_recomms_rec_type)
2328 IS
2329 l_return_status VARCHAR2(1);
2330
2331 CURSOR c_complete IS
2332 SELECT *
2333 FROM ams_web_recomms
2334 WHERE web_recomm_id = p_web_recomms_rec.web_recomm_id;
2335 l_web_recomms_rec c_complete%ROWTYPE;
2336 BEGIN
2337 x_complete_rec := p_web_recomms_rec;
2338
2339
2340 OPEN c_complete;
2341 FETCH c_complete INTO l_web_recomms_rec;
2342 CLOSE c_complete;
2343
2344 -- web_recomm_id
2345 IF p_web_recomms_rec.web_recomm_id IS NULL THEN
2346 x_complete_rec.web_recomm_id := l_web_recomms_rec.web_recomm_id;
2347 END IF;
2348
2349 -- web_tracking_id
2350 IF p_web_recomms_rec.web_tracking_id IS NULL THEN
2351 x_complete_rec.web_tracking_id := l_web_recomms_rec.web_tracking_id;
2352 END IF;
2353
2354 -- recomm_object_id
2355 IF p_web_recomms_rec.recomm_object_id IS NULL THEN
2356 x_complete_rec.recomm_object_id := l_web_recomms_rec.recomm_object_id;
2357 END IF;
2358
2359 -- recomm_type
2360 IF p_web_recomms_rec.recomm_type IS NULL THEN
2361 x_complete_rec.recomm_type := l_web_recomms_rec.recomm_type;
2362 END IF;
2363
2364 -- rule_id
2365 IF p_web_recomms_rec.rule_id IS NULL THEN
2366 x_complete_rec.rule_id := l_web_recomms_rec.rule_id;
2367 END IF;
2368
2369 -- offer_id
2370 IF p_web_recomms_rec.offer_id IS NULL THEN
2371 x_complete_rec.offer_id := l_web_recomms_rec.offer_id;
2372 END IF;
2373
2374 -- offer_src_code
2375 IF p_web_recomms_rec.offer_src_code IS NULL THEN
2376 x_complete_rec.offer_src_code := l_web_recomms_rec.offer_src_code;
2377 END IF;
2378
2379 -- last_update_date
2380 IF p_web_recomms_rec.last_update_date IS NULL THEN
2381 x_complete_rec.last_update_date := l_web_recomms_rec.last_update_date;
2382 END IF;
2383
2384 -- last_updated_by
2385 IF p_web_recomms_rec.last_updated_by IS NULL THEN
2386 x_complete_rec.last_updated_by := l_web_recomms_rec.last_updated_by;
2387 END IF;
2388
2389 -- creation_date
2390 IF p_web_recomms_rec.creation_date IS NULL THEN
2391 x_complete_rec.creation_date := l_web_recomms_rec.creation_date;
2392 END IF;
2393
2394 -- created_by
2395 IF p_web_recomms_rec.created_by IS NULL THEN
2396 x_complete_rec.created_by := l_web_recomms_rec.created_by;
2397 END IF;
2398
2399 -- last_update_login
2400 IF p_web_recomms_rec.last_update_login IS NULL THEN
2401 x_complete_rec.last_update_login := l_web_recomms_rec.last_update_login;
2402 END IF;
2403
2404 -- object_version_number
2405 IF p_web_recomms_rec.object_version_number IS NULL THEN
2406 x_complete_rec.object_version_number := l_web_recomms_rec.object_version_number;
2407 END IF;
2408
2409 -- attribute_category
2410 IF p_web_recomms_rec.attribute_category IS NULL THEN
2411 x_complete_rec.attribute_category := l_web_recomms_rec.attribute_category;
2412 END IF;
2413
2414 -- attribute1
2415 IF p_web_recomms_rec.attribute1 IS NULL THEN
2416 x_complete_rec.attribute1 := l_web_recomms_rec.attribute1;
2417 END IF;
2418
2419 -- attribute2
2420 IF p_web_recomms_rec.attribute2 IS NULL THEN
2421 x_complete_rec.attribute2 := l_web_recomms_rec.attribute2;
2422 END IF;
2423
2424 -- attribute3
2425 IF p_web_recomms_rec.attribute3 IS NULL THEN
2426 x_complete_rec.attribute3 := l_web_recomms_rec.attribute3;
2427 END IF;
2428
2429 -- attribute4
2430 IF p_web_recomms_rec.attribute4 IS NULL THEN
2431 x_complete_rec.attribute4 := l_web_recomms_rec.attribute4;
2432 END IF;
2433
2434 -- attribute5
2435 IF p_web_recomms_rec.attribute5 IS NULL THEN
2436 x_complete_rec.attribute5 := l_web_recomms_rec.attribute5;
2437 END IF;
2438
2439 -- attribute6
2440 IF p_web_recomms_rec.attribute6 IS NULL THEN
2441 x_complete_rec.attribute6 := l_web_recomms_rec.attribute6;
2442 END IF;
2443
2444 -- attribute7
2445 IF p_web_recomms_rec.attribute7 IS NULL THEN
2446 x_complete_rec.attribute7 := l_web_recomms_rec.attribute7;
2447 END IF;
2448
2449 -- attribute8
2450 IF p_web_recomms_rec.attribute8 IS NULL THEN
2451 x_complete_rec.attribute8 := l_web_recomms_rec.attribute8;
2452 END IF;
2453
2454 -- attribute9
2455 IF p_web_recomms_rec.attribute9 IS NULL THEN
2456 x_complete_rec.attribute9 := l_web_recomms_rec.attribute9;
2457 END IF;
2458
2459 -- attribute10
2460 IF p_web_recomms_rec.attribute10 IS NULL THEN
2461 x_complete_rec.attribute10 := l_web_recomms_rec.attribute10;
2462 END IF;
2463
2464 -- attribute11
2465 IF p_web_recomms_rec.attribute11 IS NULL THEN
2466 x_complete_rec.attribute11 := l_web_recomms_rec.attribute11;
2467 END IF;
2468
2469 -- attribute12
2470 IF p_web_recomms_rec.attribute12 IS NULL THEN
2471 x_complete_rec.attribute12 := l_web_recomms_rec.attribute12;
2472 END IF;
2473
2474 -- attribute13
2475 IF p_web_recomms_rec.attribute13 IS NULL THEN
2476 x_complete_rec.attribute13 := l_web_recomms_rec.attribute13;
2477 END IF;
2478
2479 -- attribute14
2480 IF p_web_recomms_rec.attribute14 IS NULL THEN
2481 x_complete_rec.attribute14 := l_web_recomms_rec.attribute14;
2482 END IF;
2483
2484 -- attribute15
2485 IF p_web_recomms_rec.attribute15 IS NULL THEN
2486 x_complete_rec.attribute15 := l_web_recomms_rec.attribute15;
2487 END IF;
2488 -- Note: Developers need to modify the procedure
2489 -- to handle any business specific requirements.
2490 END Complete_Web_Recomms_Rec;
2491
2492
2493
2494
2495 PROCEDURE Default_Web_Recomms_Items ( p_web_recomms_rec IN web_recomms_rec_type ,
2496 x_web_recomms_rec OUT NOCOPY web_recomms_rec_type )
2497 IS
2498 l_web_recomms_rec web_recomms_rec_type := p_web_recomms_rec;
2499 BEGIN
2500 -- Developers should put their code to default the record type
2501 -- e.g. IF p_campaign_rec.status_code IS NULL
2502 -- OR p_campaign_rec.status_code = FND_API.G_MISS_CHAR THEN
2503 -- l_campaign_rec.status_code := 'NEW' ;
2504 -- END IF ;
2505 --
2506 NULL ;
2507 END;
2508
2509
2510
2511
2512 PROCEDURE Validate_Web_Recomms(
2513 p_api_version_number IN NUMBER,
2514 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
2515 p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
2516 p_web_recomms_rec IN web_recomms_rec_type,
2517 p_validation_mode IN VARCHAR2,
2518 x_return_status OUT NOCOPY VARCHAR2,
2519 x_msg_count OUT NOCOPY NUMBER,
2520 x_msg_data OUT NOCOPY VARCHAR2
2521 )
2522 IS
2523 L_API_NAME CONSTANT VARCHAR2(30) := 'Validate_Web_Recomms';
2524 L_API_VERSION_NUMBER CONSTANT NUMBER := 1.0;
2525 l_object_version_number NUMBER;
2526 l_web_recomms_rec web_recomms_rec_type;
2527
2528 BEGIN
2529 -- Standard Start of API savepoint
2530 SAVEPOINT validate_web_recomms_;
2531
2532 -- Standard call to check for call compatibility.
2533 IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
2534 p_api_version_number,
2535 l_api_name,
2536 G_PKG_NAME)
2537 THEN
2538 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2539 END IF;
2540
2541
2542 -- Initialize message list if p_init_msg_list is set to TRUE.
2543 IF FND_API.to_Boolean( p_init_msg_list )
2544 THEN
2545 FND_MSG_PUB.initialize;
2546 END IF;
2547
2548
2549 IF p_validation_level >= JTF_PLSQL_API.g_valid_level_item THEN
2550 Check_web_recomms_Items(
2551 p_web_recomms_rec => p_web_recomms_rec,
2552 p_validation_mode => p_validation_mode,
2553 x_return_status => x_return_status
2554 );
2555
2556 IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2557 RAISE FND_API.G_EXC_ERROR;
2558 ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2559 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2560 END IF;
2561 END IF;
2562
2563 IF p_validation_mode = JTF_PLSQL_API.g_create THEN
2564 Default_Web_Recomms_Items (p_web_recomms_rec => p_web_recomms_rec ,
2565 x_web_recomms_rec => l_web_recomms_rec) ;
2566 END IF ;
2567
2568
2569 Complete_web_recomms_Rec(
2570 p_web_recomms_rec => l_web_recomms_rec,
2571 x_complete_rec => l_web_recomms_rec
2572 );
2573
2574 IF p_validation_level >= JTF_PLSQL_API.g_valid_level_item THEN
2575 Validate_web_recomms_Rec(
2576 p_api_version_number => 1.0,
2577 p_init_msg_list => FND_API.G_FALSE,
2578 x_return_status => x_return_status,
2579 x_msg_count => x_msg_count,
2580 x_msg_data => x_msg_data,
2581 p_web_recomms_rec => l_web_recomms_rec);
2582
2583 IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2584 RAISE FND_API.G_EXC_ERROR;
2585 ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2586 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2587 END IF;
2588 END IF;
2589
2590
2591 -- Debug Message
2592 AMS_UTILITY_PVT.debug_message('Private API: ' || l_api_name || 'start');
2593
2594
2595
2596 -- Initialize API return status to SUCCESS
2597 x_return_status := FND_API.G_RET_STS_SUCCESS;
2598
2599
2600 -- Debug Message
2601 AMS_UTILITY_PVT.debug_message('Private API: ' || l_api_name || 'end');
2602
2603
2604 -- Standard call to get message count and if count is 1, get message info.
2605 FND_MSG_PUB.Count_And_Get
2606 (p_count => x_msg_count,
2607 p_data => x_msg_data
2608 );
2609 EXCEPTION
2610
2611 WHEN AMS_Utility_PVT.resource_locked THEN
2612 x_return_status := FND_API.g_ret_sts_error;
2613 AMS_Utility_PVT.Error_Message(p_message_name => 'AMS_API_RESOURCE_LOCKED');
2614
2615 WHEN FND_API.G_EXC_ERROR THEN
2616 ROLLBACK TO VALIDATE_Web_Recomms_;
2617 x_return_status := FND_API.G_RET_STS_ERROR;
2618 -- Standard call to get message count and if count=1, get the message
2619 FND_MSG_PUB.Count_And_Get (
2620 p_encoded => FND_API.G_FALSE,
2621 p_count => x_msg_count,
2622 p_data => x_msg_data
2623 );
2624
2625 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2626 ROLLBACK TO VALIDATE_Web_Recomms_;
2627 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2628 -- Standard call to get message count and if count=1, get the message
2629 FND_MSG_PUB.Count_And_Get (
2630 p_encoded => FND_API.G_FALSE,
2631 p_count => x_msg_count,
2632 p_data => x_msg_data
2633 );
2634
2635 WHEN OTHERS THEN
2636 ROLLBACK TO VALIDATE_Web_Recomms_;
2637 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2638 IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2639 THEN
2640 FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,l_api_name);
2641 END IF;
2642 -- Standard call to get message count and if count=1, get the message
2643 FND_MSG_PUB.Count_And_Get (
2644 p_encoded => FND_API.G_FALSE,
2645 p_count => x_msg_count,
2646 p_data => x_msg_data
2647 );
2648 End Validate_Web_Recomms;
2649
2650
2651 PROCEDURE Validate_Web_Recomms_Rec (
2652 p_api_version_number IN NUMBER,
2653 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
2654 x_return_status OUT NOCOPY VARCHAR2,
2655 x_msg_count OUT NOCOPY NUMBER,
2656 x_msg_data OUT NOCOPY VARCHAR2,
2657 p_web_recomms_rec IN web_recomms_rec_type
2658 )
2659 IS
2660 BEGIN
2661 -- Initialize message list if p_init_msg_list is set to TRUE.
2662 IF FND_API.to_Boolean( p_init_msg_list )
2663 THEN
2664 FND_MSG_PUB.initialize;
2665 END IF;
2666
2667
2668
2669 -- Initialize API return status to SUCCESS
2670 x_return_status := FND_API.G_RET_STS_SUCCESS;
2671
2672 -- Hint: Validate data
2673 -- If data not valid
2674 -- THEN
2675 -- x_return_status := FND_API.G_RET_STS_ERROR;
2676
2677 -- Debug Message
2678 AMS_UTILITY_PVT.debug_message('Private API: Validate_dm_model_rec');
2679 -- Standard call to get message count and if count is 1, get message info.
2680 FND_MSG_PUB.Count_And_Get
2681 (p_count => x_msg_count,
2682 p_data => x_msg_data
2683 );
2684 END Validate_web_recomms_Rec;
2685
2686
2687
2688
2689 PROCEDURE Create_Web_Imp_Track (
2690 p_api_version_number IN NUMBER,
2691 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
2692 p_commit IN VARCHAR2 := FND_API.G_FALSE,
2693 p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
2694 p_web_track_rec IN web_track_rec_type,
2695 p_web_recomms_tbl IN web_recomms_tbl_type,
2696 --p_web_prod IN VARCHAR2,
2697 x_impr_obj_id_rec OUT NOCOPY impr_obj_id_tbl_type,
2698 x_return_status OUT NOCOPY VARCHAR2,
2699 x_msg_count OUT NOCOPY NUMBER,
2700 x_msg_data OUT NOCOPY VARCHAR2
2701 )
2702 IS
2703 L_API_NAME CONSTANT VARCHAR2(30) := 'CreateWebImpTrack';
2704 L_API_VERSION_NUMBER CONSTANT NUMBER := 1.0;
2705 l_object_version_number NUMBER;
2706 l_web_track_rec web_track_rec_type;
2707 l_web_recomms_rec web_recomms_rec_type;
2708 l_impr_obj_id_tbl impr_obj_id_tbl_type;
2709 l_web_tracking_id NUMBER;
2710 l_schedule_id NUMBER;
2711 l_party_id NUMBER;
2712 l_placement_id NUMBER;
2713 l_content_item_id NUMBER;
2714 l_web_recomm_id NUMBER;
2715 l_recomm_object_id NUMBER;
2716 l_recomm_type VARCHAR2(30);
2717 l_rule_id NUMBER;
2718 l_offer_src_code VARCHAR2(30);
2719 l_offer_id NUMBER;
2720
2721 BEGIN
2722
2723 -- Standard Start of API savepoint
2724 SAVEPOINT Create_Web_Imp_Track;
2725
2726 -- Initialize message list if p_init_msg_list is set to TRUE.
2727 IF FND_API.to_Boolean( p_init_msg_list )
2728 THEN
2729 FND_MSG_PUB.initialize;
2730 END IF;
2731
2732 -- Initialize API return status to SUCCESS
2733 x_return_status := FND_API.G_RET_STS_SUCCESS;
2734
2735 -- Hint: Validate data
2736 -- If data not valid
2737 -- THEN
2738 -- x_return_status := FND_API.G_RET_STS_ERROR;
2739
2740 -- Debug Message
2741 AMS_UTILITY_PVT.debug_message('Private API: Create_Web_Imp_Track');
2742 -- Standard call to get message count and if count is 1, get message info.
2743 FND_MSG_PUB.Count_And_Get
2744 (p_count => x_msg_count,
2745 p_data => x_msg_data
2746 );
2747
2748 --insert_log_mesg('Private API: Create_Web_Imp_Track');
2749
2750 --validate web_track_rec_type
2751 -- dbms_output.put_line('before inserting into AMS_Web_Tracking web_tracking_id'||l_web_tracking_id );
2752 -- dbms_output.put_line('before inserting into AMS_Web_Tracking schedule_id '||l_schedule_id );
2753 -- dbms_output.put_line('before inserting into AMS_Web_Tracking party_id'||l_party_id );
2754 -- dbms_output.put_line('before inserting into AMS_Web_Tracking placement_id '||l_placement_id );
2755 -- dbms_output.put_line('before inserting into AMS_Web_Tracking content_item_id'||l_content_item_id );
2756
2757 --insert_log_mesg(p_web_track_rec.schedule_id);
2758 l_web_track_rec.web_tracking_id := null;
2759 l_web_track_rec.schedule_id := p_web_track_rec.schedule_id;
2760 l_web_track_rec.party_id := p_web_track_rec.party_id ;
2761 l_web_track_rec.placement_id := p_web_track_rec.placement_id;
2762 l_web_track_rec.content_item_id := p_web_track_rec.content_item_id;
2763
2764
2765 IF (p_web_track_rec.schedule_id) IS NOT NULL THEN
2766 --insert_log_mesg('Calling Create_Web_Track ::::');
2767 Create_Web_Track(p_api_version_number => 1.0,
2768 p_init_msg_list => FND_API.G_FALSE,
2769 p_commit => FND_API.G_FALSE,
2770 p_validation_level => FND_API.G_VALID_LEVEL_FULL,
2771 x_return_status => x_return_status,
2772 x_msg_count => x_msg_count,
2773 x_msg_data => x_msg_data,
2774 p_web_track_rec => l_web_track_rec,
2775 x_web_tracking_id => l_web_tracking_id
2776 );
2777 --insert_log_mesg('Done Create_Web_Track ::::');
2778 --dbms_output.put_line('before inserting into AMS_Web_Tracking web_tracking_id'||l_web_tracking_id );
2779 --insert_log_mesg('l_web_tracking_id');
2780 --insert_log_mesg('Web Tracking Id ::::'||l_web_tracking_id);
2781
2782 IF l_web_tracking_id IS NULL THEN
2783 IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_error) THEN
2784 FND_MESSAGE.set_name('AMS', 'AMS_NO_PRIMARY_KEY');
2785 FND_MSG_PUB.add;
2786 END IF;
2787 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2788 END IF;
2789
2790 --dbms_output.put_line('after inserting into AMS_WEB_TRACKING '||l_web_tracking_id );
2791 --dbms_output.put_line('l_web_recomms_tbl_type.COUNT '||web_recomms_tbl_type.COUNT);
2792
2793 IF ( (p_web_track_rec.schedule_type = 'WEB_ADV') OR (p_web_track_rec.schedule_type = 'WEB_OFFER') ) THEN
2794 x_impr_obj_id_rec(0).impr_track_id := l_web_tracking_id;
2795 x_impr_obj_id_rec(0).obj_id := null;
2796 END IF;
2797
2798 --insert_log_mesg('RECORD POPULATED');
2799
2800 /* IF( (p_web_track_rec.schedule_type = 'AMS_WEB_ADV') OR (p_web_track_rec.schedule_type = 'AMS_WEB_OFFER') )
2801
2802 THEN
2803
2804 IF(p_web_recomms_tbl.COUNT = 0) THEN -- also compare for schedule_type
2805 l_web_recomms_rec.web_tracking_id := l_web_tracking_id;
2806 l_web_recomms_rec.recomm_type := 'IMPR_ONLY';
2807
2808 Create_Web_Recomms(p_api_version_number => 1.0,
2809 p_init_msg_list => FND_API.G_FALSE,
2810 p_commit => FND_API.G_FALSE,
2811 p_validation_level => FND_API.G_VALID_LEVEL_FULL,
2812 x_return_status => x_return_status,
2813 x_msg_count => x_msg_count,
2814 x_msg_data => x_msg_data,
2815 p_web_recomms_rec => l_web_recomms_rec,
2816 x_web_recomm_id => l_web_recomm_id
2817 );
2818 x_impr_obj_id_rec(1).impr_track_id := l_web_recomm_id;
2819 x_impr_obj_id_rec(1).obj_id := null;
2820 END IF;
2821
2822 IF(p_web_recomms_tbl.COUNT = 1) THEN -- also compare for schedule_type
2823 l_web_recomms_rec.web_tracking_id := l_web_tracking_id;
2824 l_web_recomms_rec.recomm_type := 'PROD';
2825
2826 Create_Web_Recomms(p_api_version_number => 1.0,
2827 p_init_msg_list => FND_API.G_FALSE,
2828 p_commit => FND_API.G_FALSE,
2829 p_validation_level => FND_API.G_VALID_LEVEL_FULL,
2830 x_return_status => x_return_status,
2831 x_msg_count => x_msg_count,
2832 x_msg_data => x_msg_data,
2833 p_web_recomms_rec => l_web_recomms_rec,
2834 x_web_recomm_id => l_web_recomm_id
2835 );
2836 x_impr_obj_id_rec(0).impr_track_id := l_web_recomm_id;
2837 x_impr_obj_id_rec(0).obj_id := null;
2838 END IF;
2839
2840
2841 END IF; -- compared WEB-ADV OR WEB-OFFER
2842 */
2843 --insert_log_mesg('Schedule Type ::::'||p_web_track_rec.schedule_type);
2844
2845 IF( p_web_track_rec.schedule_type = 'WEB_PRODUCT' )
2846 -- IF( p_web_track_rec.schedule_type = 'WEB_ADV' )
2847 THEN
2848 IF(p_web_recomms_tbl.COUNT > 0) THEN
2849
2850 FOR i IN 1..p_web_recomms_tbl.COUNT
2851 LOOP
2852 l_web_recomms_rec := p_web_recomms_tbl(i);
2853 l_web_recomms_rec.web_tracking_id := l_web_tracking_id;
2854 l_web_recomms_rec.recomm_type := 'WEB_PROD';
2855 Create_Web_Recomms(p_api_version_number => 1.0,
2856 p_init_msg_list => FND_API.G_FALSE,
2857 p_commit => FND_API.G_FALSE,
2858 p_validation_level => FND_API.G_VALID_LEVEL_FULL,
2859 x_return_status => x_return_status,
2860 x_msg_count => x_msg_count,
2861 x_msg_data => x_msg_data,
2862 p_web_recomms_rec => l_web_recomms_rec,
2863 x_web_recomm_id => l_web_recomm_id
2864 );
2865
2866 -- dbms_output.put_line('before inserting into AMS_Web_Recomms web recomm id '|| l_web_recomm_id );
2867 --insert_log_mesg('Web Recomm Id ::::'||l_web_recomm_id);
2868
2869 IF l_web_recomm_id IS NULL THEN
2870 IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_error) THEN
2871 FND_MESSAGE.set_name('AMS', 'AMS_NO_PRIMARY_KEY');
2872 FND_MSG_PUB.add;
2873 END IF;
2874 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2875 END IF;
2876 x_impr_obj_id_rec(i).impr_track_id := l_web_recomm_id;
2877 x_impr_obj_id_rec(i).obj_id := l_web_recomms_rec.recomm_object_id;
2878
2879
2880 END LOOP;
2881 END IF;
2882 END IF;
2883
2884 END IF; --
2885 --insert_log_mesg('Return Status ::::'||x_return_status);
2886 x_return_status := FND_API.g_ret_sts_success;
2887
2888 --insert_log_mesg(p_commit);
2889
2890 -- IF FND_API.to_Boolean( p_commit )
2891 -- THEN
2892 --insert_log_mesg('COMMIT WORK');
2893 COMMIT WORK;
2894 -- END IF;
2895
2896 --insert_log_mesg('FINALLY DONE ::::');
2897
2898 EXCEPTION
2899
2900 WHEN AMS_Utility_PVT.resource_locked THEN
2901 x_return_status := FND_API.g_ret_sts_error;
2902 AMS_Utility_PVT.Error_Message(p_message_name => 'AMS_API_RESOURCE_LOCKED');
2903 --insert_log_mesg(x_return_status);
2904
2905 WHEN FND_API.G_EXC_ERROR THEN
2906 ROLLBACK TO Create_Web_Imp_Track;
2907 x_return_status := FND_API.G_RET_STS_ERROR;
2908 -- Standard call to get message count and if count=1, get the message
2909 FND_MSG_PUB.Count_And_Get (
2910 p_encoded => FND_API.G_FALSE,
2911 p_count => x_msg_count,
2912 p_data => x_msg_data
2913 );
2914 --insert_log_mesg(x_return_status);
2915
2916 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2917 ROLLBACK TO Create_Web_Imp_Track;
2918 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2919 -- Standard call to get message count and if count=1, get the message
2920 FND_MSG_PUB.Count_And_Get (
2921 p_encoded => FND_API.G_FALSE,
2922 p_count => x_msg_count,
2923 p_data => x_msg_data
2924 );
2925 --insert_log_mesg(x_return_status);
2926
2927 WHEN OTHERS THEN
2928 ROLLBACK TO Create_Web_Imp_Track;
2929 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2930 IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2931 THEN
2932 FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,l_api_name);
2933 END IF;
2934 -- Standard call to get message count and if count=1, get the message
2935 FND_MSG_PUB.Count_And_Get (
2936 p_encoded => FND_API.G_FALSE,
2937 p_count => x_msg_count,
2938 p_data => x_msg_data
2939 );
2940 --insert_log_mesg(x_return_status);
2941
2942 END Create_Web_Imp_Track;
2943
2944
2945
2946 END AMS_Web_Track_PVT;