104: PROCEDURE_NAME CONSTANT VARCHAR2(30) := 'IS_SYSTEM_URL_UNIQ';
105:
106: BEGIN
107:
108: x_return_status := FND_API.g_ret_sts_success;
109: l_api_name :='IS_SYSTEM_URL_UNIQ';
110: WRITE_LOG(l_api_name, 'Entering AMS_PRETTY_URL_PVT.IS_SYSTEM_URL_UNIQ ');
111:
112: IF p_sys_url IS NULL THEN
119: OPEN c_is_prettyUrl_supported;
120: FETCH c_is_prettyUrl_supported into l_activity_type_code, l_activity_id ;
121: IF c_is_prettyUrl_supported%NOTFOUND THEN
122: CLOSE c_is_prettyUrl_supported;
123: x_return_status := FND_API.g_ret_sts_error;
124: WRITE_LOG(l_api_name, 'No schedule found with id '||p_current_used_by_id);
125: AMS_Utility_PVT.error_message('AMS_CSCH_NO_MEDIA_TYPE'); -- need to seed message here
126: END IF;
127: CLOSE c_is_prettyUrl_supported;
128:
129: IF l_activity_type_code IS NULL THEN
130: WRITE_LOG(l_api_name, 'Activity type code not found for schedule '||p_current_used_by_id);
131: AMS_Utility_PVT.error_message('AMS_CSCH_NO_MEDIA_TYPE');
132: x_return_status := FND_API.g_ret_sts_error;
133: RETURN;
134: END IF;
135:
136: IF l_activity_type_code <>'DIRECT_MARKETING'
137: AND l_activity_type_code <> 'BROADCAST'
138: AND l_activity_type_code <> 'PUBLIC_RELATIONS'
139: THEN
140: WRITE_LOG(l_api_name, 'Pretty url is not supported for schedule '||p_current_used_by_id||'. Skipping the rest of the check');
141: x_return_status := FND_API.g_ret_sts_success;
142: RETURN;
143: END IF;
144:
145: -- Check if channel not Email, Telemarketing, or if template is Advertising or Public_relations
155:
156: IF l_scheduleName is not null
157: THEN
158: WRITE_LOG(l_api_name, p_sys_url||' is also used by ' ||p_current_used_by_id);
159: x_return_status := FND_API.g_ret_sts_error;
160: FND_MESSAGE.set_name('AMS', 'AMS_PRETTY_URL_NOT_UNIQUE_ERR');
161: FND_MESSAGE.set_token('SCHEDULENAME', l_scheduleName);
162: FND_MESSAGE.set_token('OWNER', l_ownerName);
163: FND_MSG_PUB.add;
169: END IS_SYSTEM_URL_UNIQ;
170: -- Hint: Primary key needs to be returned.
171: PROCEDURE Create_Pretty_Url(
172: p_api_version_number IN NUMBER,
173: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
174: p_commit IN VARCHAR2 := FND_API.G_FALSE,
175: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
176:
177: x_return_status OUT NOCOPY VARCHAR2,
170: -- Hint: Primary key needs to be returned.
171: PROCEDURE Create_Pretty_Url(
172: p_api_version_number IN NUMBER,
173: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
174: p_commit IN VARCHAR2 := FND_API.G_FALSE,
175: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
176:
177: x_return_status OUT NOCOPY VARCHAR2,
178: x_msg_count OUT NOCOPY NUMBER,
171: PROCEDURE Create_Pretty_Url(
172: p_api_version_number IN NUMBER,
173: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
174: p_commit IN VARCHAR2 := FND_API.G_FALSE,
175: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
176:
177: x_return_status OUT NOCOPY VARCHAR2,
178: x_msg_count OUT NOCOPY NUMBER,
179: x_msg_data OUT NOCOPY VARCHAR2,
186: L_API_NAME CONSTANT VARCHAR2(30) := 'Create_Pretty_Url';
187: L_API_VERSION_NUMBER CONSTANT NUMBER := 1.0;
188: l_return_status_full VARCHAR2(1);
189: l_object_version_number NUMBER := 1;
190: l_org_id NUMBER := FND_API.G_MISS_NUM;
191: l_PRETTY_URL_ID NUMBER;
192: l_dummy NUMBER;
193:
194: CURSOR c_id IS
204: -- Standard Start of API savepoint
205: SAVEPOINT CREATE_Pretty_Url_PVT;
206:
207: -- Standard call to check for call compatibility.
208: IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
209: p_api_version_number,
210: l_api_name,
211: G_PKG_NAME)
212: THEN
209: p_api_version_number,
210: l_api_name,
211: G_PKG_NAME)
212: THEN
213: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
214: END IF;
215:
216: -- Initialize message list if p_init_msg_list is set to TRUE.
217: IF FND_API.to_Boolean( p_init_msg_list )
213: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
214: END IF;
215:
216: -- Initialize message list if p_init_msg_list is set to TRUE.
217: IF FND_API.to_Boolean( p_init_msg_list )
218: THEN
219: FND_MSG_PUB.initialize;
220: END IF;
221:
223: AMS_UTILITY_PVT.debug_message('Private API: ' || l_api_name || 'start');
224:
225:
226: -- Initialize API return status to SUCCESS
227: x_return_status := FND_API.G_RET_STS_SUCCESS;
228:
229: -- Local variable initialization
230:
231: IF p_pretty_url_rec.PRETTY_URL_ID IS NULL OR p_pretty_url_rec.PRETTY_URL_ID = FND_API.g_miss_num THEN
227: x_return_status := FND_API.G_RET_STS_SUCCESS;
228:
229: -- Local variable initialization
230:
231: IF p_pretty_url_rec.PRETTY_URL_ID IS NULL OR p_pretty_url_rec.PRETTY_URL_ID = FND_API.g_miss_num THEN
232: LOOP
233: l_dummy := NULL;
234: OPEN c_id;
235: FETCH c_id INTO l_PRETTY_URL_ID;
248:
249: IF FND_GLOBAL.User_Id IS NULL
250: THEN
251: AMS_Utility_PVT.Error_Message(p_message_name => 'USER_PROFILE_MISSING');
252: RAISE FND_API.G_EXC_ERROR;
253: END IF;
254:
255: IF ( P_validation_level >= FND_API.G_VALID_LEVEL_FULL)
256: THEN
251: AMS_Utility_PVT.Error_Message(p_message_name => 'USER_PROFILE_MISSING');
252: RAISE FND_API.G_EXC_ERROR;
253: END IF;
254:
255: IF ( P_validation_level >= FND_API.G_VALID_LEVEL_FULL)
256: THEN
257: -- Debug message
258: AMS_UTILITY_PVT.debug_message('Private API: Validate_Pretty_Url');
259:
259:
260: -- Invoke validation procedures
261: Validate_pretty_url(
262: p_api_version_number => 1.0,
263: p_init_msg_list => FND_API.G_FALSE,
264: p_validation_level => p_validation_level,
265: p_pretty_url_rec => p_pretty_url_rec,
266: x_return_status => x_return_status,
267: x_msg_count => x_msg_count,
267: x_msg_count => x_msg_count,
268: x_msg_data => x_msg_data);
269: END IF;
270:
271: IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
272: RAISE FND_API.G_EXC_ERROR;
273: END IF;
274:
275:
268: x_msg_data => x_msg_data);
269: END IF;
270:
271: IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
272: RAISE FND_API.G_EXC_ERROR;
273: END IF;
274:
275:
276: -- Debug Message
285: p_last_updated_by => G_USER_ID,
286: p_last_update_login => G_LOGIN_ID,
287: px_object_version_number => l_object_version_number,
288: p_landing_page_url => p_pretty_url_rec.landing_page_url);
289: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
290: RAISE FND_API.G_EXC_ERROR;
291: END IF;
292:
293: x_pretty_url_id := l_pretty_url_id;
286: p_last_update_login => G_LOGIN_ID,
287: px_object_version_number => l_object_version_number,
288: p_landing_page_url => p_pretty_url_rec.landing_page_url);
289: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
290: RAISE FND_API.G_EXC_ERROR;
291: END IF;
292:
293: x_pretty_url_id := l_pretty_url_id;
294: --
295: -- End of API body
296: --
297:
298: -- Standard check for p_commit
299: IF FND_API.to_Boolean( p_commit )
300: THEN
301: COMMIT WORK;
302: END IF;
303:
312: );
313: EXCEPTION
314:
315: WHEN AMS_Utility_PVT.resource_locked THEN
316: x_return_status := FND_API.g_ret_sts_error;
317: AMS_Utility_PVT.Error_Message(p_message_name => 'AMS_API_RESOURCE_LOCKED');
318:
319: WHEN FND_API.G_EXC_ERROR THEN
320: ROLLBACK TO CREATE_Pretty_Url_PVT;
315: WHEN AMS_Utility_PVT.resource_locked THEN
316: x_return_status := FND_API.g_ret_sts_error;
317: AMS_Utility_PVT.Error_Message(p_message_name => 'AMS_API_RESOURCE_LOCKED');
318:
319: WHEN FND_API.G_EXC_ERROR THEN
320: ROLLBACK TO CREATE_Pretty_Url_PVT;
321: x_return_status := FND_API.G_RET_STS_ERROR;
322: -- Standard call to get message count and if count=1, get the message
323: FND_MSG_PUB.Count_And_Get (
317: AMS_Utility_PVT.Error_Message(p_message_name => 'AMS_API_RESOURCE_LOCKED');
318:
319: WHEN FND_API.G_EXC_ERROR THEN
320: ROLLBACK TO CREATE_Pretty_Url_PVT;
321: x_return_status := FND_API.G_RET_STS_ERROR;
322: -- Standard call to get message count and if count=1, get the message
323: FND_MSG_PUB.Count_And_Get (
324: p_encoded => FND_API.G_FALSE,
325: p_count => x_msg_count,
320: ROLLBACK TO CREATE_Pretty_Url_PVT;
321: x_return_status := FND_API.G_RET_STS_ERROR;
322: -- Standard call to get message count and if count=1, get the message
323: FND_MSG_PUB.Count_And_Get (
324: p_encoded => FND_API.G_FALSE,
325: p_count => x_msg_count,
326: p_data => x_msg_data
327: );
328:
325: p_count => x_msg_count,
326: p_data => x_msg_data
327: );
328:
329: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
330: ROLLBACK TO CREATE_Pretty_Url_PVT;
331: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
332: -- Standard call to get message count and if count=1, get the message
333: FND_MSG_PUB.Count_And_Get (
327: );
328:
329: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
330: ROLLBACK TO CREATE_Pretty_Url_PVT;
331: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
332: -- Standard call to get message count and if count=1, get the message
333: FND_MSG_PUB.Count_And_Get (
334: p_encoded => FND_API.G_FALSE,
335: p_count => x_msg_count,
330: ROLLBACK TO CREATE_Pretty_Url_PVT;
331: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
332: -- Standard call to get message count and if count=1, get the message
333: FND_MSG_PUB.Count_And_Get (
334: p_encoded => FND_API.G_FALSE,
335: p_count => x_msg_count,
336: p_data => x_msg_data
337: );
338:
337: );
338:
339: WHEN OTHERS THEN
340: ROLLBACK TO CREATE_Pretty_Url_PVT;
341: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
342: IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
343: THEN
344: FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,l_api_name);
345: END IF;
344: FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,l_api_name);
345: END IF;
346: -- Standard call to get message count and if count=1, get the message
347: FND_MSG_PUB.Count_And_Get (
348: p_encoded => FND_API.G_FALSE,
349: p_count => x_msg_count,
350: p_data => x_msg_data
351: );
352: End Create_Pretty_Url;
353:
354:
355: PROCEDURE Update_Pretty_Url(
356: p_api_version_number IN NUMBER,
357: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
358: p_commit IN VARCHAR2 := FND_API.G_FALSE,
359: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
360:
361: x_return_status OUT NOCOPY VARCHAR2,
354:
355: PROCEDURE Update_Pretty_Url(
356: p_api_version_number IN NUMBER,
357: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
358: p_commit IN VARCHAR2 := FND_API.G_FALSE,
359: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
360:
361: x_return_status OUT NOCOPY VARCHAR2,
362: x_msg_count OUT NOCOPY NUMBER,
355: PROCEDURE Update_Pretty_Url(
356: p_api_version_number IN NUMBER,
357: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
358: p_commit IN VARCHAR2 := FND_API.G_FALSE,
359: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
360:
361: x_return_status OUT NOCOPY VARCHAR2,
362: x_msg_count OUT NOCOPY NUMBER,
363: x_msg_data OUT NOCOPY VARCHAR2,
384: -- Standard Start of API savepoint
385: SAVEPOINT UPDATE_Pretty_Url_PVT;
386:
387: -- Standard call to check for call compatibility.
388: IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
389: p_api_version_number,
390: l_api_name,
391: G_PKG_NAME)
392: THEN
389: p_api_version_number,
390: l_api_name,
391: G_PKG_NAME)
392: THEN
393: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
394: END IF;
395:
396: -- Initialize message list if p_init_msg_list is set to TRUE.
397: IF FND_API.to_Boolean( p_init_msg_list )
393: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
394: END IF;
395:
396: -- Initialize message list if p_init_msg_list is set to TRUE.
397: IF FND_API.to_Boolean( p_init_msg_list )
398: THEN
399: FND_MSG_PUB.initialize;
400: END IF;
401:
403: AMS_UTILITY_PVT.debug_message('Private API: ' || l_api_name || 'start');
404:
405:
406: -- Initialize API return status to SUCCESS
407: x_return_status := FND_API.G_RET_STS_SUCCESS;
408:
409: -- Debug Message
410: AMS_UTILITY_PVT.debug_message('Private API: - Open Cursor to Select');
411:
417: If ( c_get_Pretty_Url%NOTFOUND) THEN
418: AMS_Utility_PVT.Error_Message(p_message_name => 'API_MISSING_UPDATE_TARGET',
419: p_token_name => 'INFO',
420: p_token_value => 'Pretty_Url') ;
421: RAISE FND_API.G_EXC_ERROR;
422: END IF;
423: -- Debug Message
424: AMS_UTILITY_PVT.debug_message('Private API: - Close Cursor');
425: CLOSE c_get_Pretty_Url;
426: */
427:
428:
429: If (l_tar_pretty_url_rec.object_version_number is NULL or
430: l_tar_pretty_url_rec.object_version_number = FND_API.G_MISS_NUM ) Then
431: AMS_Utility_PVT.Error_Message(p_message_name => 'API_VERSION_MISSING',
432: p_token_name => 'COLUMN',
433: p_token_value => 'Last_Update_Date') ;
434: raise FND_API.G_EXC_ERROR;
430: l_tar_pretty_url_rec.object_version_number = FND_API.G_MISS_NUM ) Then
431: AMS_Utility_PVT.Error_Message(p_message_name => 'API_VERSION_MISSING',
432: p_token_name => 'COLUMN',
433: p_token_value => 'Last_Update_Date') ;
434: raise FND_API.G_EXC_ERROR;
435: End if;
436: -- Check Whether record has been changed by someone else
437: If (l_tar_pretty_url_rec.object_version_number <> l_ref_pretty_url_rec.object_version_number) Then
438: AMS_Utility_PVT.Error_Message(p_message_name => 'API_RECORD_CHANGED',
437: If (l_tar_pretty_url_rec.object_version_number <> l_ref_pretty_url_rec.object_version_number) Then
438: AMS_Utility_PVT.Error_Message(p_message_name => 'API_RECORD_CHANGED',
439: p_token_name => 'INFO',
440: p_token_value => 'Pretty_Url') ;
441: raise FND_API.G_EXC_ERROR;
442: End if;
443: IF ( P_validation_level >= FND_API.G_VALID_LEVEL_FULL)
444: THEN
445: -- Debug message
439: p_token_name => 'INFO',
440: p_token_value => 'Pretty_Url') ;
441: raise FND_API.G_EXC_ERROR;
442: End if;
443: IF ( P_validation_level >= FND_API.G_VALID_LEVEL_FULL)
444: THEN
445: -- Debug message
446: AMS_UTILITY_PVT.debug_message('Private API: Validate_Pretty_Url');
447:
447:
448: -- Invoke validation procedures
449: Validate_pretty_url(
450: p_api_version_number => 1.0,
451: p_init_msg_list => FND_API.G_FALSE,
452: p_validation_level => p_validation_level,
453: p_pretty_url_rec => p_pretty_url_rec,
454: x_return_status => x_return_status,
455: x_msg_count => x_msg_count,
455: x_msg_count => x_msg_count,
456: x_msg_data => x_msg_data);
457: END IF;
458:
459: IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
460: RAISE FND_API.G_EXC_ERROR;
461: END IF;
462:
463:
456: x_msg_data => x_msg_data);
457: END IF;
458:
459: IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
460: RAISE FND_API.G_EXC_ERROR;
461: END IF;
462:
463:
464: -- Debug Message
478: -- End of API body.
479: --
480:
481: -- Standard check for p_commit
482: IF FND_API.to_Boolean( p_commit )
483: THEN
484: COMMIT WORK;
485: END IF;
486:
495: );
496: EXCEPTION
497:
498: WHEN AMS_Utility_PVT.resource_locked THEN
499: x_return_status := FND_API.g_ret_sts_error;
500: AMS_Utility_PVT.Error_Message(p_message_name => 'AMS_API_RESOURCE_LOCKED');
501:
502: WHEN FND_API.G_EXC_ERROR THEN
503: ROLLBACK TO UPDATE_Pretty_Url_PVT;
498: WHEN AMS_Utility_PVT.resource_locked THEN
499: x_return_status := FND_API.g_ret_sts_error;
500: AMS_Utility_PVT.Error_Message(p_message_name => 'AMS_API_RESOURCE_LOCKED');
501:
502: WHEN FND_API.G_EXC_ERROR THEN
503: ROLLBACK TO UPDATE_Pretty_Url_PVT;
504: x_return_status := FND_API.G_RET_STS_ERROR;
505: -- Standard call to get message count and if count=1, get the message
506: FND_MSG_PUB.Count_And_Get (
500: AMS_Utility_PVT.Error_Message(p_message_name => 'AMS_API_RESOURCE_LOCKED');
501:
502: WHEN FND_API.G_EXC_ERROR THEN
503: ROLLBACK TO UPDATE_Pretty_Url_PVT;
504: x_return_status := FND_API.G_RET_STS_ERROR;
505: -- Standard call to get message count and if count=1, get the message
506: FND_MSG_PUB.Count_And_Get (
507: p_encoded => FND_API.G_FALSE,
508: p_count => x_msg_count,
503: ROLLBACK TO UPDATE_Pretty_Url_PVT;
504: x_return_status := FND_API.G_RET_STS_ERROR;
505: -- Standard call to get message count and if count=1, get the message
506: FND_MSG_PUB.Count_And_Get (
507: p_encoded => FND_API.G_FALSE,
508: p_count => x_msg_count,
509: p_data => x_msg_data
510: );
511:
508: p_count => x_msg_count,
509: p_data => x_msg_data
510: );
511:
512: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
513: ROLLBACK TO UPDATE_Pretty_Url_PVT;
514: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
515: -- Standard call to get message count and if count=1, get the message
516: FND_MSG_PUB.Count_And_Get (
510: );
511:
512: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
513: ROLLBACK TO UPDATE_Pretty_Url_PVT;
514: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
515: -- Standard call to get message count and if count=1, get the message
516: FND_MSG_PUB.Count_And_Get (
517: p_encoded => FND_API.G_FALSE,
518: p_count => x_msg_count,
513: ROLLBACK TO UPDATE_Pretty_Url_PVT;
514: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
515: -- Standard call to get message count and if count=1, get the message
516: FND_MSG_PUB.Count_And_Get (
517: p_encoded => FND_API.G_FALSE,
518: p_count => x_msg_count,
519: p_data => x_msg_data
520: );
521:
520: );
521:
522: WHEN OTHERS THEN
523: ROLLBACK TO UPDATE_Pretty_Url_PVT;
524: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
525: IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
526: THEN
527: FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,l_api_name);
528: END IF;
527: FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,l_api_name);
528: END IF;
529: -- Standard call to get message count and if count=1, get the message
530: FND_MSG_PUB.Count_And_Get (
531: p_encoded => FND_API.G_FALSE,
532: p_count => x_msg_count,
533: p_data => x_msg_data
534: );
535: End Update_Pretty_Url;
536:
537:
538: PROCEDURE Delete_Pretty_Url(
539: p_api_version_number IN NUMBER,
540: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
541: p_commit IN VARCHAR2 := FND_API.G_FALSE,
542: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
543: x_return_status OUT NOCOPY VARCHAR2,
544: x_msg_count OUT NOCOPY NUMBER,
537:
538: PROCEDURE Delete_Pretty_Url(
539: p_api_version_number IN NUMBER,
540: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
541: p_commit IN VARCHAR2 := FND_API.G_FALSE,
542: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
543: x_return_status OUT NOCOPY VARCHAR2,
544: x_msg_count OUT NOCOPY NUMBER,
545: x_msg_data OUT NOCOPY VARCHAR2,
538: PROCEDURE Delete_Pretty_Url(
539: p_api_version_number IN NUMBER,
540: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
541: p_commit IN VARCHAR2 := FND_API.G_FALSE,
542: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
543: x_return_status OUT NOCOPY VARCHAR2,
544: x_msg_count OUT NOCOPY NUMBER,
545: x_msg_data OUT NOCOPY VARCHAR2,
546: p_pretty_url_id IN NUMBER,
556: -- Standard Start of API savepoint
557: SAVEPOINT DELETE_Pretty_Url_PVT;
558:
559: -- Standard call to check for call compatibility.
560: IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
561: p_api_version_number,
562: l_api_name,
563: G_PKG_NAME)
564: THEN
561: p_api_version_number,
562: l_api_name,
563: G_PKG_NAME)
564: THEN
565: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
566: END IF;
567:
568: -- Initialize message list if p_init_msg_list is set to TRUE.
569: IF FND_API.to_Boolean( p_init_msg_list )
565: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
566: END IF;
567:
568: -- Initialize message list if p_init_msg_list is set to TRUE.
569: IF FND_API.to_Boolean( p_init_msg_list )
570: THEN
571: FND_MSG_PUB.initialize;
572: END IF;
573:
575: AMS_UTILITY_PVT.debug_message('Private API: ' || l_api_name || 'start');
576:
577:
578: -- Initialize API return status to SUCCESS
579: x_return_status := FND_API.G_RET_STS_SUCCESS;
580:
581: --
582: -- Api body
583: --
591: -- End of API body
592: --
593:
594: -- Standard check for p_commit
595: IF FND_API.to_Boolean( p_commit )
596: THEN
597: COMMIT WORK;
598: END IF;
599:
608: );
609: EXCEPTION
610:
611: WHEN AMS_Utility_PVT.resource_locked THEN
612: x_return_status := FND_API.g_ret_sts_error;
613: AMS_Utility_PVT.Error_Message(p_message_name => 'AMS_API_RESOURCE_LOCKED');
614:
615: WHEN FND_API.G_EXC_ERROR THEN
616: ROLLBACK TO DELETE_Pretty_Url_PVT;
611: WHEN AMS_Utility_PVT.resource_locked THEN
612: x_return_status := FND_API.g_ret_sts_error;
613: AMS_Utility_PVT.Error_Message(p_message_name => 'AMS_API_RESOURCE_LOCKED');
614:
615: WHEN FND_API.G_EXC_ERROR THEN
616: ROLLBACK TO DELETE_Pretty_Url_PVT;
617: x_return_status := FND_API.G_RET_STS_ERROR;
618: -- Standard call to get message count and if count=1, get the message
619: FND_MSG_PUB.Count_And_Get (
613: AMS_Utility_PVT.Error_Message(p_message_name => 'AMS_API_RESOURCE_LOCKED');
614:
615: WHEN FND_API.G_EXC_ERROR THEN
616: ROLLBACK TO DELETE_Pretty_Url_PVT;
617: x_return_status := FND_API.G_RET_STS_ERROR;
618: -- Standard call to get message count and if count=1, get the message
619: FND_MSG_PUB.Count_And_Get (
620: p_encoded => FND_API.G_FALSE,
621: p_count => x_msg_count,
616: ROLLBACK TO DELETE_Pretty_Url_PVT;
617: x_return_status := FND_API.G_RET_STS_ERROR;
618: -- Standard call to get message count and if count=1, get the message
619: FND_MSG_PUB.Count_And_Get (
620: p_encoded => FND_API.G_FALSE,
621: p_count => x_msg_count,
622: p_data => x_msg_data
623: );
624:
621: p_count => x_msg_count,
622: p_data => x_msg_data
623: );
624:
625: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
626: ROLLBACK TO DELETE_Pretty_Url_PVT;
627: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
628: -- Standard call to get message count and if count=1, get the message
629: FND_MSG_PUB.Count_And_Get (
623: );
624:
625: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
626: ROLLBACK TO DELETE_Pretty_Url_PVT;
627: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
628: -- Standard call to get message count and if count=1, get the message
629: FND_MSG_PUB.Count_And_Get (
630: p_encoded => FND_API.G_FALSE,
631: p_count => x_msg_count,
626: ROLLBACK TO DELETE_Pretty_Url_PVT;
627: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
628: -- Standard call to get message count and if count=1, get the message
629: FND_MSG_PUB.Count_And_Get (
630: p_encoded => FND_API.G_FALSE,
631: p_count => x_msg_count,
632: p_data => x_msg_data
633: );
634:
633: );
634:
635: WHEN OTHERS THEN
636: ROLLBACK TO DELETE_Pretty_Url_PVT;
637: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
638: IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
639: THEN
640: FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,l_api_name);
641: END IF;
640: FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,l_api_name);
641: END IF;
642: -- Standard call to get message count and if count=1, get the message
643: FND_MSG_PUB.Count_And_Get (
644: p_encoded => FND_API.G_FALSE,
645: p_count => x_msg_count,
646: p_data => x_msg_data
647: );
648: End Delete_Pretty_Url;
651:
652: -- Hint: Primary key needs to be returned.
653: PROCEDURE Lock_Pretty_Url(
654: p_api_version_number IN NUMBER,
655: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
656:
657: x_return_status OUT NOCOPY VARCHAR2,
658: x_msg_count OUT NOCOPY NUMBER,
659: x_msg_data OUT NOCOPY VARCHAR2,
680: -- Debug Message
681: AMS_UTILITY_PVT.debug_message('Private API: ' || l_api_name || 'start');
682:
683: -- Initialize message list if p_init_msg_list is set to TRUE.
684: IF FND_API.to_Boolean( p_init_msg_list )
685: THEN
686: FND_MSG_PUB.initialize;
687: END IF;
688:
686: FND_MSG_PUB.initialize;
687: END IF;
688:
689: -- Standard call to check for call compatibility.
690: IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
691: p_api_version_number,
692: l_api_name,
693: G_PKG_NAME)
694: THEN
691: p_api_version_number,
692: l_api_name,
693: G_PKG_NAME)
694: THEN
695: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
696: END IF;
697:
698:
699: -- Initialize API return status to SUCCESS
696: END IF;
697:
698:
699: -- Initialize API return status to SUCCESS
700: x_return_status := FND_API.G_RET_STS_SUCCESS;
701:
702:
703: ------------------------ lock -------------------------
704:
712: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_error) THEN
713: FND_MESSAGE.set_name('AMS', 'AMS_API_RECORD_NOT_FOUND');
714: FND_MSG_PUB.add;
715: END IF;
716: RAISE FND_API.g_exc_error;
717: END IF;
718:
719: CLOSE c_Pretty_Url;
720:
719: CLOSE c_Pretty_Url;
720:
721: -------------------- finish --------------------------
722: FND_MSG_PUB.count_and_get(
723: p_encoded => FND_API.g_false,
724: p_count => x_msg_count,
725: p_data => x_msg_data);
726: AMS_Utility_PVT.debug_message(l_full_name ||': end');
727: EXCEPTION
726: AMS_Utility_PVT.debug_message(l_full_name ||': end');
727: EXCEPTION
728:
729: WHEN AMS_Utility_PVT.resource_locked THEN
730: x_return_status := FND_API.g_ret_sts_error;
731: AMS_Utility_PVT.Error_Message(p_message_name => 'AMS_API_RESOURCE_LOCKED');
732:
733: WHEN FND_API.G_EXC_ERROR THEN
734: ROLLBACK TO LOCK_Pretty_Url_PVT;
729: WHEN AMS_Utility_PVT.resource_locked THEN
730: x_return_status := FND_API.g_ret_sts_error;
731: AMS_Utility_PVT.Error_Message(p_message_name => 'AMS_API_RESOURCE_LOCKED');
732:
733: WHEN FND_API.G_EXC_ERROR THEN
734: ROLLBACK TO LOCK_Pretty_Url_PVT;
735: x_return_status := FND_API.G_RET_STS_ERROR;
736: -- Standard call to get message count and if count=1, get the message
737: FND_MSG_PUB.Count_And_Get (
731: AMS_Utility_PVT.Error_Message(p_message_name => 'AMS_API_RESOURCE_LOCKED');
732:
733: WHEN FND_API.G_EXC_ERROR THEN
734: ROLLBACK TO LOCK_Pretty_Url_PVT;
735: x_return_status := FND_API.G_RET_STS_ERROR;
736: -- Standard call to get message count and if count=1, get the message
737: FND_MSG_PUB.Count_And_Get (
738: p_encoded => FND_API.G_FALSE,
739: p_count => x_msg_count,
734: ROLLBACK TO LOCK_Pretty_Url_PVT;
735: x_return_status := FND_API.G_RET_STS_ERROR;
736: -- Standard call to get message count and if count=1, get the message
737: FND_MSG_PUB.Count_And_Get (
738: p_encoded => FND_API.G_FALSE,
739: p_count => x_msg_count,
740: p_data => x_msg_data
741: );
742:
739: p_count => x_msg_count,
740: p_data => x_msg_data
741: );
742:
743: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
744: ROLLBACK TO LOCK_Pretty_Url_PVT;
745: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
746: -- Standard call to get message count and if count=1, get the message
747: FND_MSG_PUB.Count_And_Get (
741: );
742:
743: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
744: ROLLBACK TO LOCK_Pretty_Url_PVT;
745: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
746: -- Standard call to get message count and if count=1, get the message
747: FND_MSG_PUB.Count_And_Get (
748: p_encoded => FND_API.G_FALSE,
749: p_count => x_msg_count,
744: ROLLBACK TO LOCK_Pretty_Url_PVT;
745: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
746: -- Standard call to get message count and if count=1, get the message
747: FND_MSG_PUB.Count_And_Get (
748: p_encoded => FND_API.G_FALSE,
749: p_count => x_msg_count,
750: p_data => x_msg_data
751: );
752:
751: );
752:
753: WHEN OTHERS THEN
754: ROLLBACK TO LOCK_Pretty_Url_PVT;
755: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
756: IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
757: THEN
758: FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,l_api_name);
759: END IF;
758: FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,l_api_name);
759: END IF;
760: -- Standard call to get message count and if count=1, get the message
761: FND_MSG_PUB.Count_And_Get (
762: p_encoded => FND_API.G_FALSE,
763: p_count => x_msg_count,
764: p_data => x_msg_data
765: );
766: End Lock_Pretty_Url;
773: IS
774: l_valid_flag VARCHAR2(1);
775:
776: BEGIN
777: x_return_status := FND_API.g_ret_sts_success;
778: IF p_validation_mode = JTF_PLSQL_API.g_create THEN
779: l_valid_flag := AMS_Utility_PVT.check_uniqueness(
780: 'AMS_PRETTY_URL',
781: 'PRETTY_URL_ID = ''' || p_pretty_url_rec.PRETTY_URL_ID ||''''
787: ''' AND PRETTY_URL_ID <> ' || p_pretty_url_rec.PRETTY_URL_ID
788: );
789: END IF;
790:
791: IF l_valid_flag = FND_API.g_false THEN
792: AMS_Utility_PVT.Error_Message(p_message_name => 'AMS_PRETTY_URL_ID_DUPLICATE');
793: x_return_status := FND_API.g_ret_sts_error;
794: RETURN;
795: END IF;
789: END IF;
790:
791: IF l_valid_flag = FND_API.g_false THEN
792: AMS_Utility_PVT.Error_Message(p_message_name => 'AMS_PRETTY_URL_ID_DUPLICATE');
793: x_return_status := FND_API.g_ret_sts_error;
794: RETURN;
795: END IF;
796:
797: END check_pretty_url_uk_items;
802: x_return_status OUT NOCOPY VARCHAR2
803: )
804: IS
805: BEGIN
806: x_return_status := FND_API.g_ret_sts_success;
807:
808: IF p_validation_mode = JTF_PLSQL_API.g_create THEN
809:
810:
807:
808: IF p_validation_mode = JTF_PLSQL_API.g_create THEN
809:
810:
811: IF p_pretty_url_rec.pretty_url_id = FND_API.g_miss_num OR p_pretty_url_rec.pretty_url_id IS NULL THEN
812: AMS_Utility_PVT.Error_Message(p_message_name => 'AMS_pretty_url_NO_pretty_url_id');
813: x_return_status := FND_API.g_ret_sts_error;
814: RETURN;
815: END IF;
809:
810:
811: IF p_pretty_url_rec.pretty_url_id = FND_API.g_miss_num OR p_pretty_url_rec.pretty_url_id IS NULL THEN
812: AMS_Utility_PVT.Error_Message(p_message_name => 'AMS_pretty_url_NO_pretty_url_id');
813: x_return_status := FND_API.g_ret_sts_error;
814: RETURN;
815: END IF;
816:
817:
814: RETURN;
815: END IF;
816:
817:
818: IF p_pretty_url_rec.creation_date = FND_API.g_miss_date OR p_pretty_url_rec.creation_date IS NULL THEN
819: AMS_Utility_PVT.Error_Message(p_message_name => 'AMS_pretty_url_NO_creation_date');
820: x_return_status := FND_API.g_ret_sts_error;
821: RETURN;
822: END IF;
816:
817:
818: IF p_pretty_url_rec.creation_date = FND_API.g_miss_date OR p_pretty_url_rec.creation_date IS NULL THEN
819: AMS_Utility_PVT.Error_Message(p_message_name => 'AMS_pretty_url_NO_creation_date');
820: x_return_status := FND_API.g_ret_sts_error;
821: RETURN;
822: END IF;
823:
824:
821: RETURN;
822: END IF;
823:
824:
825: IF p_pretty_url_rec.created_by = FND_API.g_miss_num OR p_pretty_url_rec.created_by IS NULL THEN
826: AMS_Utility_PVT.Error_Message(p_message_name => 'AMS_pretty_url_NO_created_by');
827: x_return_status := FND_API.g_ret_sts_error;
828: RETURN;
829: END IF;
823:
824:
825: IF p_pretty_url_rec.created_by = FND_API.g_miss_num OR p_pretty_url_rec.created_by IS NULL THEN
826: AMS_Utility_PVT.Error_Message(p_message_name => 'AMS_pretty_url_NO_created_by');
827: x_return_status := FND_API.g_ret_sts_error;
828: RETURN;
829: END IF;
830:
831:
828: RETURN;
829: END IF;
830:
831:
832: IF p_pretty_url_rec.last_update_date = FND_API.g_miss_date OR p_pretty_url_rec.last_update_date IS NULL THEN
833: AMS_Utility_PVT.Error_Message(p_message_name => 'AMS_pretty_url_NO_last_update_date');
834: x_return_status := FND_API.g_ret_sts_error;
835: RETURN;
836: END IF;
830:
831:
832: IF p_pretty_url_rec.last_update_date = FND_API.g_miss_date OR p_pretty_url_rec.last_update_date IS NULL THEN
833: AMS_Utility_PVT.Error_Message(p_message_name => 'AMS_pretty_url_NO_last_update_date');
834: x_return_status := FND_API.g_ret_sts_error;
835: RETURN;
836: END IF;
837:
838:
835: RETURN;
836: END IF;
837:
838:
839: IF p_pretty_url_rec.last_updated_by = FND_API.g_miss_num OR p_pretty_url_rec.last_updated_by IS NULL THEN
840: AMS_Utility_PVT.Error_Message(p_message_name => 'AMS_pretty_url_NO_last_updated_by');
841: x_return_status := FND_API.g_ret_sts_error;
842: RETURN;
843: END IF;
837:
838:
839: IF p_pretty_url_rec.last_updated_by = FND_API.g_miss_num OR p_pretty_url_rec.last_updated_by IS NULL THEN
840: AMS_Utility_PVT.Error_Message(p_message_name => 'AMS_pretty_url_NO_last_updated_by');
841: x_return_status := FND_API.g_ret_sts_error;
842: RETURN;
843: END IF;
844:
845:
842: RETURN;
843: END IF;
844:
845:
846: IF p_pretty_url_rec.landing_page_url = FND_API.g_miss_char OR p_pretty_url_rec.landing_page_url IS NULL THEN
847: AMS_Utility_PVT.Error_Message(p_message_name => 'AMS_pretty_url_NO_landing_page_url');
848: x_return_status := FND_API.g_ret_sts_error;
849: RETURN;
850: END IF;
844:
845:
846: IF p_pretty_url_rec.landing_page_url = FND_API.g_miss_char OR p_pretty_url_rec.landing_page_url IS NULL THEN
847: AMS_Utility_PVT.Error_Message(p_message_name => 'AMS_pretty_url_NO_landing_page_url');
848: x_return_status := FND_API.g_ret_sts_error;
849: RETURN;
850: END IF;
851: ELSE
852:
852:
853:
854: IF p_pretty_url_rec.pretty_url_id IS NULL THEN
855: AMS_Utility_PVT.Error_Message(p_message_name => 'AMS_pretty_url_NO_pretty_url_id');
856: x_return_status := FND_API.g_ret_sts_error;
857: RETURN;
858: END IF;
859:
860:
859:
860:
861: IF p_pretty_url_rec.creation_date IS NULL THEN
862: AMS_Utility_PVT.Error_Message(p_message_name => 'AMS_pretty_url_NO_creation_date');
863: x_return_status := FND_API.g_ret_sts_error;
864: RETURN;
865: END IF;
866:
867:
866:
867:
868: IF p_pretty_url_rec.created_by IS NULL THEN
869: AMS_Utility_PVT.Error_Message(p_message_name => 'AMS_pretty_url_NO_created_by');
870: x_return_status := FND_API.g_ret_sts_error;
871: RETURN;
872: END IF;
873:
874:
873:
874:
875: IF p_pretty_url_rec.last_update_date IS NULL THEN
876: AMS_Utility_PVT.Error_Message(p_message_name => 'AMS_pretty_url_NO_last_update_date');
877: x_return_status := FND_API.g_ret_sts_error;
878: RETURN;
879: END IF;
880:
881:
880:
881:
882: IF p_pretty_url_rec.last_updated_by IS NULL THEN
883: AMS_Utility_PVT.Error_Message(p_message_name => 'AMS_pretty_url_NO_last_updated_by');
884: x_return_status := FND_API.g_ret_sts_error;
885: RETURN;
886: END IF;
887:
888:
887:
888:
889: IF p_pretty_url_rec.landing_page_url IS NULL THEN
890: AMS_Utility_PVT.Error_Message(p_message_name => 'AMS_pretty_url_NO_landing_page_url');
891: x_return_status := FND_API.g_ret_sts_error;
892: RETURN;
893: END IF;
894: END IF;
895:
900: x_return_status OUT NOCOPY VARCHAR2
901: )
902: IS
903: BEGIN
904: x_return_status := FND_API.g_ret_sts_success;
905:
906: -- Enter custom code here
907:
908: END check_pretty_url_FK_items;
912: x_return_status OUT NOCOPY VARCHAR2
913: )
914: IS
915: BEGIN
916: x_return_status := FND_API.g_ret_sts_success;
917:
918: -- Enter custom code here
919:
920: END check_pretty_url_Lookup_items;
932: check_pretty_url_uk_items(
933: p_pretty_url_rec => p_pretty_url_rec,
934: p_validation_mode => p_validation_mode,
935: x_return_status => x_return_status);
936: IF x_return_status <> FND_API.g_ret_sts_success THEN
937: RETURN;
938: END IF;
939:
940: -- Check Items Required/NOT NULL API calls
942: check_pretty_url_req_items(
943: p_pretty_url_rec => p_pretty_url_rec,
944: p_validation_mode => p_validation_mode,
945: x_return_status => x_return_status);
946: IF x_return_status <> FND_API.g_ret_sts_success THEN
947: RETURN;
948: END IF;
949: -- Check Items Foreign Keys API calls
950:
950:
951: check_pretty_url_FK_items(
952: p_pretty_url_rec => p_pretty_url_rec,
953: x_return_status => x_return_status);
954: IF x_return_status <> FND_API.g_ret_sts_success THEN
955: RETURN;
956: END IF;
957: -- Check Items Lookups
958:
958:
959: check_pretty_url_Lookup_items(
960: p_pretty_url_rec => p_pretty_url_rec,
961: x_return_status => x_return_status);
962: IF x_return_status <> FND_API.g_ret_sts_success THEN
963: RETURN;
964: END IF;
965:
966: END Check_pretty_url_Items;
985: FETCH c_complete INTO l_pretty_url_rec;
986: CLOSE c_complete;
987:
988: -- pretty_url_id
989: IF p_pretty_url_rec.pretty_url_id = FND_API.g_miss_num THEN
990: x_complete_rec.pretty_url_id := l_pretty_url_rec.pretty_url_id;
991: END IF;
992:
993: -- creation_date
990: x_complete_rec.pretty_url_id := l_pretty_url_rec.pretty_url_id;
991: END IF;
992:
993: -- creation_date
994: IF p_pretty_url_rec.creation_date = FND_API.g_miss_date THEN
995: x_complete_rec.creation_date := l_pretty_url_rec.creation_date;
996: END IF;
997:
998: -- created_by
995: x_complete_rec.creation_date := l_pretty_url_rec.creation_date;
996: END IF;
997:
998: -- created_by
999: IF p_pretty_url_rec.created_by = FND_API.g_miss_num THEN
1000: x_complete_rec.created_by := l_pretty_url_rec.created_by;
1001: END IF;
1002:
1003: -- last_update_date
1000: x_complete_rec.created_by := l_pretty_url_rec.created_by;
1001: END IF;
1002:
1003: -- last_update_date
1004: IF p_pretty_url_rec.last_update_date = FND_API.g_miss_date THEN
1005: x_complete_rec.last_update_date := l_pretty_url_rec.last_update_date;
1006: END IF;
1007:
1008: -- last_updated_by
1005: x_complete_rec.last_update_date := l_pretty_url_rec.last_update_date;
1006: END IF;
1007:
1008: -- last_updated_by
1009: IF p_pretty_url_rec.last_updated_by = FND_API.g_miss_num THEN
1010: x_complete_rec.last_updated_by := l_pretty_url_rec.last_updated_by;
1011: END IF;
1012:
1013: -- last_update_login
1010: x_complete_rec.last_updated_by := l_pretty_url_rec.last_updated_by;
1011: END IF;
1012:
1013: -- last_update_login
1014: IF p_pretty_url_rec.last_update_login = FND_API.g_miss_num THEN
1015: x_complete_rec.last_update_login := l_pretty_url_rec.last_update_login;
1016: END IF;
1017:
1018: -- object_version_number
1015: x_complete_rec.last_update_login := l_pretty_url_rec.last_update_login;
1016: END IF;
1017:
1018: -- object_version_number
1019: IF p_pretty_url_rec.object_version_number = FND_API.g_miss_num THEN
1020: x_complete_rec.object_version_number := l_pretty_url_rec.object_version_number;
1021: END IF;
1022:
1023: -- landing_page_url
1020: x_complete_rec.object_version_number := l_pretty_url_rec.object_version_number;
1021: END IF;
1022:
1023: -- landing_page_url
1024: IF p_pretty_url_rec.landing_page_url = FND_API.g_miss_char THEN
1025: x_complete_rec.landing_page_url := l_pretty_url_rec.landing_page_url;
1026: END IF;
1027: -- Note: Developers need to modify the procedure
1028: -- to handle any business specific requirements.
1028: -- to handle any business specific requirements.
1029: END Complete_pretty_url_Rec;
1030: PROCEDURE Validate_pretty_url(
1031: p_api_version_number IN NUMBER,
1032: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
1033: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
1034: p_pretty_url_rec IN pretty_url_rec_type,
1035: x_return_status OUT NOCOPY VARCHAR2,
1036: x_msg_count OUT NOCOPY NUMBER,
1029: END Complete_pretty_url_Rec;
1030: PROCEDURE Validate_pretty_url(
1031: p_api_version_number IN NUMBER,
1032: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
1033: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
1034: p_pretty_url_rec IN pretty_url_rec_type,
1035: x_return_status OUT NOCOPY VARCHAR2,
1036: x_msg_count OUT NOCOPY NUMBER,
1037: x_msg_data OUT NOCOPY VARCHAR2
1046: -- Standard Start of API savepoint
1047: SAVEPOINT VALIDATE_Pretty_Url_;
1048:
1049: -- Standard call to check for call compatibility.
1050: IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
1051: p_api_version_number,
1052: l_api_name,
1053: G_PKG_NAME)
1054: THEN
1051: p_api_version_number,
1052: l_api_name,
1053: G_PKG_NAME)
1054: THEN
1055: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1056: END IF;
1057:
1058: -- Initialize message list if p_init_msg_list is set to TRUE.
1059: IF FND_API.to_Boolean( p_init_msg_list )
1055: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1056: END IF;
1057:
1058: -- Initialize message list if p_init_msg_list is set to TRUE.
1059: IF FND_API.to_Boolean( p_init_msg_list )
1060: THEN
1061: FND_MSG_PUB.initialize;
1062: END IF;
1063: IF p_validation_level >= JTF_PLSQL_API.g_valid_level_item THEN
1066: p_validation_mode => JTF_PLSQL_API.g_update,
1067: x_return_status => x_return_status
1068: );
1069:
1070: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1071: RAISE FND_API.G_EXC_ERROR;
1072: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1073: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1074: END IF;
1067: x_return_status => x_return_status
1068: );
1069:
1070: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1071: RAISE FND_API.G_EXC_ERROR;
1072: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1073: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1074: END IF;
1075: END IF;
1068: );
1069:
1070: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1071: RAISE FND_API.G_EXC_ERROR;
1072: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1073: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1074: END IF;
1075: END IF;
1076:
1069:
1070: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1071: RAISE FND_API.G_EXC_ERROR;
1072: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1073: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1074: END IF;
1075: END IF;
1076:
1077: Complete_pretty_url_Rec(
1081:
1082: IF p_validation_level >= JTF_PLSQL_API.g_valid_level_item THEN
1083: Validate_pretty_url_Rec(
1084: p_api_version_number => 1.0,
1085: p_init_msg_list => FND_API.G_FALSE,
1086: x_return_status => x_return_status,
1087: x_msg_count => x_msg_count,
1088: x_msg_data => x_msg_data,
1089: p_pretty_url_rec => l_pretty_url_rec);
1087: x_msg_count => x_msg_count,
1088: x_msg_data => x_msg_data,
1089: p_pretty_url_rec => l_pretty_url_rec);
1090:
1091: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1092: RAISE FND_API.G_EXC_ERROR;
1093: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1094: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1095: END IF;
1088: x_msg_data => x_msg_data,
1089: p_pretty_url_rec => l_pretty_url_rec);
1090:
1091: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1092: RAISE FND_API.G_EXC_ERROR;
1093: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1094: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1095: END IF;
1096: END IF;
1089: p_pretty_url_rec => l_pretty_url_rec);
1090:
1091: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1092: RAISE FND_API.G_EXC_ERROR;
1093: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1094: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1095: END IF;
1096: END IF;
1097:
1090:
1091: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1092: RAISE FND_API.G_EXC_ERROR;
1093: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1094: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1095: END IF;
1096: END IF;
1097:
1098:
1100: AMS_UTILITY_PVT.debug_message('Private API: ' || l_api_name || 'start');
1101:
1102:
1103: -- Initialize API return status to SUCCESS
1104: x_return_status := FND_API.G_RET_STS_SUCCESS;
1105:
1106:
1107: -- Debug Message
1108: AMS_UTILITY_PVT.debug_message('Private API: ' || l_api_name || 'end');
1114: );
1115: EXCEPTION
1116:
1117: WHEN AMS_Utility_PVT.resource_locked THEN
1118: x_return_status := FND_API.g_ret_sts_error;
1119: AMS_Utility_PVT.Error_Message(p_message_name => 'AMS_API_RESOURCE_LOCKED');
1120:
1121: WHEN FND_API.G_EXC_ERROR THEN
1122: ROLLBACK TO VALIDATE_Pretty_Url_;
1117: WHEN AMS_Utility_PVT.resource_locked THEN
1118: x_return_status := FND_API.g_ret_sts_error;
1119: AMS_Utility_PVT.Error_Message(p_message_name => 'AMS_API_RESOURCE_LOCKED');
1120:
1121: WHEN FND_API.G_EXC_ERROR THEN
1122: ROLLBACK TO VALIDATE_Pretty_Url_;
1123: x_return_status := FND_API.G_RET_STS_ERROR;
1124: -- Standard call to get message count and if count=1, get the message
1125: FND_MSG_PUB.Count_And_Get (
1119: AMS_Utility_PVT.Error_Message(p_message_name => 'AMS_API_RESOURCE_LOCKED');
1120:
1121: WHEN FND_API.G_EXC_ERROR THEN
1122: ROLLBACK TO VALIDATE_Pretty_Url_;
1123: x_return_status := FND_API.G_RET_STS_ERROR;
1124: -- Standard call to get message count and if count=1, get the message
1125: FND_MSG_PUB.Count_And_Get (
1126: p_encoded => FND_API.G_FALSE,
1127: p_count => x_msg_count,
1122: ROLLBACK TO VALIDATE_Pretty_Url_;
1123: x_return_status := FND_API.G_RET_STS_ERROR;
1124: -- Standard call to get message count and if count=1, get the message
1125: FND_MSG_PUB.Count_And_Get (
1126: p_encoded => FND_API.G_FALSE,
1127: p_count => x_msg_count,
1128: p_data => x_msg_data
1129: );
1130:
1127: p_count => x_msg_count,
1128: p_data => x_msg_data
1129: );
1130:
1131: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1132: ROLLBACK TO VALIDATE_Pretty_Url_;
1133: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1134: -- Standard call to get message count and if count=1, get the message
1135: FND_MSG_PUB.Count_And_Get (
1129: );
1130:
1131: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1132: ROLLBACK TO VALIDATE_Pretty_Url_;
1133: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1134: -- Standard call to get message count and if count=1, get the message
1135: FND_MSG_PUB.Count_And_Get (
1136: p_encoded => FND_API.G_FALSE,
1137: p_count => x_msg_count,
1132: ROLLBACK TO VALIDATE_Pretty_Url_;
1133: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1134: -- Standard call to get message count and if count=1, get the message
1135: FND_MSG_PUB.Count_And_Get (
1136: p_encoded => FND_API.G_FALSE,
1137: p_count => x_msg_count,
1138: p_data => x_msg_data
1139: );
1140:
1139: );
1140:
1141: WHEN OTHERS THEN
1142: ROLLBACK TO VALIDATE_Pretty_Url_;
1143: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1144: IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1145: THEN
1146: FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,l_api_name);
1147: END IF;
1146: FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,l_api_name);
1147: END IF;
1148: -- Standard call to get message count and if count=1, get the message
1149: FND_MSG_PUB.Count_And_Get (
1150: p_encoded => FND_API.G_FALSE,
1151: p_count => x_msg_count,
1152: p_data => x_msg_data
1153: );
1154: End Validate_Pretty_Url;
1155:
1156:
1157: PROCEDURE Validate_pretty_url_rec(
1158: p_api_version_number IN NUMBER,
1159: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
1160: x_return_status OUT NOCOPY VARCHAR2,
1161: x_msg_count OUT NOCOPY NUMBER,
1162: x_msg_data OUT NOCOPY VARCHAR2,
1163: p_pretty_url_rec IN pretty_url_rec_type
1164: )
1165: IS
1166: BEGIN
1167: -- Initialize message list if p_init_msg_list is set to TRUE.
1168: IF FND_API.to_Boolean( p_init_msg_list )
1169: THEN
1170: FND_MSG_PUB.initialize;
1171: END IF;
1172:
1170: FND_MSG_PUB.initialize;
1171: END IF;
1172:
1173: -- Initialize API return status to SUCCESS
1174: x_return_status := FND_API.G_RET_STS_SUCCESS;
1175:
1176: -- Hint: Validate data
1177: -- If data not valid
1178: -- THEN
1175:
1176: -- Hint: Validate data
1177: -- If data not valid
1178: -- THEN
1179: -- x_return_status := FND_API.G_RET_STS_ERROR;
1180:
1181: -- Debug Message
1182: AMS_UTILITY_PVT.debug_message('Private API: Validate_dm_model_rec');
1183: -- Standard call to get message count and if count is 1, get message info.
1206:
1207: IS
1208: l_api_name VARCHAR2(30) := 'CHECK_PU_MANDATORY_FIELDS';
1209: BEGIN
1210: x_return_status := FND_API.g_ret_sts_success;
1211:
1212:
1213: IF p_pretty_url_rec.pretty_url_id = FND_API.g_miss_num OR p_pretty_url_rec.pretty_url_id IS NULL THEN
1214: WRITE_LOG(l_api_name, 'Pretty Url Id not found');
1209: BEGIN
1210: x_return_status := FND_API.g_ret_sts_success;
1211:
1212:
1213: IF p_pretty_url_rec.pretty_url_id = FND_API.g_miss_num OR p_pretty_url_rec.pretty_url_id IS NULL THEN
1214: WRITE_LOG(l_api_name, 'Pretty Url Id not found');
1215: --AMS_Utility_PVT.error_message('AMS_pretty_url_NO_pretty_url_id'); -- need to seed message here
1216: x_return_status := FND_API.g_ret_sts_error;
1217: FND_MESSAGE.set_name('AMS', 'AMS_pretty_url_NO_pretty_url_id');
1212:
1213: IF p_pretty_url_rec.pretty_url_id = FND_API.g_miss_num OR p_pretty_url_rec.pretty_url_id IS NULL THEN
1214: WRITE_LOG(l_api_name, 'Pretty Url Id not found');
1215: --AMS_Utility_PVT.error_message('AMS_pretty_url_NO_pretty_url_id'); -- need to seed message here
1216: x_return_status := FND_API.g_ret_sts_error;
1217: FND_MESSAGE.set_name('AMS', 'AMS_pretty_url_NO_pretty_url_id');
1218: FND_MSG_PUB.add;
1219: RETURN;
1220: END IF;
1218: FND_MSG_PUB.add;
1219: RETURN;
1220: END IF;
1221:
1222: IF p_pretty_url_rec.landing_page_url = FND_API.g_miss_char OR p_pretty_url_rec.landing_page_url IS NULL THEN
1223: WRITE_LOG(l_api_name, 'Landing page Url not found');
1224: --AMS_Utility_PVT.Error_Message('AMS_REQ_FIELDS_NOT_MAPPED');
1225: x_return_status := FND_API.g_ret_sts_error;
1226: FND_MESSAGE.set_name('AMS', 'AMS_PU_REQ_FIELDS_NOT_MAPPED');
1221:
1222: IF p_pretty_url_rec.landing_page_url = FND_API.g_miss_char OR p_pretty_url_rec.landing_page_url IS NULL THEN
1223: WRITE_LOG(l_api_name, 'Landing page Url not found');
1224: --AMS_Utility_PVT.Error_Message('AMS_REQ_FIELDS_NOT_MAPPED');
1225: x_return_status := FND_API.g_ret_sts_error;
1226: FND_MESSAGE.set_name('AMS', 'AMS_PU_REQ_FIELDS_NOT_MAPPED');
1227: FND_MSG_PUB.add;
1228: RETURN;
1229: END IF;