3:
4: G_PKG_NAME CONSTANT VARCHAR2(50) := 'jtf.plsql.jtfvfmub.JTF_FM_UTL_V';
5: G_FILE_NAME CONSTANT VARCHAR2(12) := 'jtfgfmub.pls';
6: --
7: G_VALID_LEVEL_LOGIN CONSTANT NUMBER := FND_API.G_VALID_LEVEL_FULL;
8:
9:
10: --Code for adding Pasta Printable Flag-- ggulati
11: --Updated to take into account the fact that for a multi-channel request
224: ---------------------------------------------------------------------
225: PROCEDURE Get_Message
226: (
227: p_api_version IN NUMBER,
228: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
229: p_commit IN VARCHAR2 := FND_API.G_FALSE,
230: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
231: x_return_status OUT NOCOPY VARCHAR2,
232: x_msg_count OUT NOCOPY NUMBER,
225: PROCEDURE Get_Message
226: (
227: p_api_version IN NUMBER,
228: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
229: p_commit IN VARCHAR2 := FND_API.G_FALSE,
230: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
231: x_return_status OUT NOCOPY VARCHAR2,
232: x_msg_count OUT NOCOPY NUMBER,
233: x_msg_data OUT NOCOPY VARCHAR2,
226: (
227: p_api_version IN NUMBER,
228: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
229: p_commit IN VARCHAR2 := FND_API.G_FALSE,
230: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
231: x_return_status OUT NOCOPY VARCHAR2,
232: x_msg_count OUT NOCOPY NUMBER,
233: x_msg_data OUT NOCOPY VARCHAR2,
234: p_application_code IN VARCHAR2,
244: BEGIN
245: -- Standard begin of API savepoint
246: SAVEPOINT Get_Message;
247:
248: IF NOT FND_API.Compatible_API_Call (
249: l_api_version,
250: p_api_version,
251: l_api_name,
252: G_PKG_NAME)
250: p_api_version,
251: l_api_name,
252: G_PKG_NAME)
253: THEN
254: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
255: END IF;
256:
257: --Initialize message list if p_init_msg_list is TRUE.
258: IF FND_API.To_Boolean (p_init_msg_list) THEN
254: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
255: END IF;
256:
257: --Initialize message list if p_init_msg_list is TRUE.
258: IF FND_API.To_Boolean (p_init_msg_list) THEN
259: FND_MSG_PUB.initialize;
260: END IF;
261:
262: -- Initialize API return status to success
259: FND_MSG_PUB.initialize;
260: END IF;
261:
262: -- Initialize API return status to success
263: x_return_status := FND_API.G_RET_STS_SUCCESS;
264:
265: FND_MESSAGE.Set_Name(p_application_code, p_message_nm);
266: IF (p_arg1 IS NOT NULL) THEN
267: FND_MESSAGE.Set_Token('ARG1', p_arg1);
271: END IF;
272: x_message := FND_MESSAGE.Get;
273:
274: --Standard check of commit
275: IF FND_API.To_Boolean ( p_commit ) THEN
276: COMMIT WORK;
277: END IF;
278:
279: --Standard call to get message count and if count=1, get the message
277: END IF;
278:
279: --Standard call to get message count and if count=1, get the message
280: FND_MSG_PUB.count_and_get(
281: p_encoded => FND_API.g_false,
282: p_count => x_msg_count,
283: p_data => x_msg_data
284: );
285: EXCEPTION
282: p_count => x_msg_count,
283: p_data => x_msg_data
284: );
285: EXCEPTION
286: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
287: ROLLBACK TO Start_Request;
288: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
289: -- Standard call to get message count and if count=1, get the message
290: FND_MSG_PUB.count_and_get(
284: );
285: EXCEPTION
286: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
287: ROLLBACK TO Start_Request;
288: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
289: -- Standard call to get message count and if count=1, get the message
290: FND_MSG_PUB.count_and_get(
291: p_encoded => FND_API.g_false,
292: p_count => x_msg_count,
287: ROLLBACK TO Start_Request;
288: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
289: -- Standard call to get message count and if count=1, get the message
290: FND_MSG_PUB.count_and_get(
291: p_encoded => FND_API.g_false,
292: p_count => x_msg_count,
293: p_data => x_msg_data
294: );
295: WHEN FND_API.G_EXC_ERROR THEN
291: p_encoded => FND_API.g_false,
292: p_count => x_msg_count,
293: p_data => x_msg_data
294: );
295: WHEN FND_API.G_EXC_ERROR THEN
296: ROLLBACK TO Start_Request;
297: x_return_status := FND_API.G_RET_STS_ERROR;
298: -- Standard call to get message count and if count=1, get the message
299: FND_MSG_PUB.count_and_get(
293: p_data => x_msg_data
294: );
295: WHEN FND_API.G_EXC_ERROR THEN
296: ROLLBACK TO Start_Request;
297: x_return_status := FND_API.G_RET_STS_ERROR;
298: -- Standard call to get message count and if count=1, get the message
299: FND_MSG_PUB.count_and_get(
300: p_encoded => FND_API.g_false,
301: p_count => x_msg_count,
296: ROLLBACK TO Start_Request;
297: x_return_status := FND_API.G_RET_STS_ERROR;
298: -- Standard call to get message count and if count=1, get the message
299: FND_MSG_PUB.count_and_get(
300: p_encoded => FND_API.g_false,
301: p_count => x_msg_count,
302: p_data => x_msg_data
303: );
304: WHEN OTHERS THEN
302: p_data => x_msg_data
303: );
304: WHEN OTHERS THEN
305: ROLLBACK TO Start_Request;
306: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
307: IF FND_MSG_PUB.Check_Msg_Level
308: (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
309: THEN
310: FND_MSG_PUB.Add_Exc_Msg
311: (G_PKG_NAME, l_api_name);
312: END IF;
313: -- Standard call to get message count and if count=1, get the message
314: FND_MSG_PUB.count_and_get(
315: p_encoded => FND_API.g_false,
316: p_count => x_msg_count,
317: p_data => x_msg_data
318: );
319:
339: ---------------------------------------------------------------------
340: PROCEDURE Post_Message
341: (
342: p_api_version IN NUMBER,
343: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
344: p_commit IN VARCHAR2 := FND_API.G_FALSE,
345: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
346: x_return_status OUT NOCOPY VARCHAR2,
347: x_msg_count OUT NOCOPY NUMBER,
340: PROCEDURE Post_Message
341: (
342: p_api_version IN NUMBER,
343: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
344: p_commit IN VARCHAR2 := FND_API.G_FALSE,
345: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
346: x_return_status OUT NOCOPY VARCHAR2,
347: x_msg_count OUT NOCOPY NUMBER,
348: x_msg_data OUT NOCOPY VARCHAR2,
341: (
342: p_api_version IN NUMBER,
343: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
344: p_commit IN VARCHAR2 := FND_API.G_FALSE,
345: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
346: x_return_status OUT NOCOPY VARCHAR2,
347: x_msg_count OUT NOCOPY NUMBER,
348: x_msg_data OUT NOCOPY VARCHAR2,
349: p_application_code IN VARCHAR2,
358: BEGIN
359: -- Standard begin of API savepoint
360: SAVEPOINT Post_Message;
361:
362: IF NOT FND_API.Compatible_API_Call (
363: l_api_version,
364: p_api_version,
365: l_api_name,
366: G_PKG_NAME)
364: p_api_version,
365: l_api_name,
366: G_PKG_NAME)
367: THEN
368: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
369: END IF;
370:
371: --Initialize message list if p_init_msg_list is TRUE.
372: IF FND_API.To_Boolean (p_init_msg_list) THEN
368: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
369: END IF;
370:
371: --Initialize message list if p_init_msg_list is TRUE.
372: IF FND_API.To_Boolean (p_init_msg_list) THEN
373: FND_MSG_PUB.initialize;
374: END IF;
375:
376: -- Initialize API return status to success
373: FND_MSG_PUB.initialize;
374: END IF;
375:
376: -- Initialize API return status to success
377: x_return_status := FND_API.G_RET_STS_SUCCESS;
378:
379:
380: IF FND_MSG_PUB.Check_Msg_level (FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW) THEN
381: FND_MESSAGE.Set_Name(p_application_code, p_message_nm);
388: FND_MSG_PUB.Add;
389: END IF;
390:
391: --Standard check of commit
392: IF FND_API.To_Boolean ( p_commit ) THEN
393: COMMIT WORK;
394: END IF;
395:
396: --Standard call to get message count and if count=1, get the message
394: END IF;
395:
396: --Standard call to get message count and if count=1, get the message
397: FND_MSG_PUB.count_and_get(
398: p_encoded => FND_API.g_false,
399: p_count => x_msg_count,
400: p_data => x_msg_data
401: );
402: EXCEPTION
399: p_count => x_msg_count,
400: p_data => x_msg_data
401: );
402: EXCEPTION
403: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
404: ROLLBACK TO Post_Message;
405: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
406: -- Standard call to get message count and if count=1, get the message
407: FND_MSG_PUB.count_and_get(
401: );
402: EXCEPTION
403: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
404: ROLLBACK TO Post_Message;
405: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
406: -- Standard call to get message count and if count=1, get the message
407: FND_MSG_PUB.count_and_get(
408: p_encoded => FND_API.g_false,
409: p_count => x_msg_count,
404: ROLLBACK TO Post_Message;
405: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
406: -- Standard call to get message count and if count=1, get the message
407: FND_MSG_PUB.count_and_get(
408: p_encoded => FND_API.g_false,
409: p_count => x_msg_count,
410: p_data => x_msg_data
411: );
412: WHEN FND_API.G_EXC_ERROR THEN
408: p_encoded => FND_API.g_false,
409: p_count => x_msg_count,
410: p_data => x_msg_data
411: );
412: WHEN FND_API.G_EXC_ERROR THEN
413: ROLLBACK TO Post_Message;
414: x_return_status := FND_API.G_RET_STS_ERROR;
415: -- Standard call to get message count and if count=1, get the message
416: FND_MSG_PUB.count_and_get(
410: p_data => x_msg_data
411: );
412: WHEN FND_API.G_EXC_ERROR THEN
413: ROLLBACK TO Post_Message;
414: x_return_status := FND_API.G_RET_STS_ERROR;
415: -- Standard call to get message count and if count=1, get the message
416: FND_MSG_PUB.count_and_get(
417: p_encoded => FND_API.g_false,
418: p_count => x_msg_count,
413: ROLLBACK TO Post_Message;
414: x_return_status := FND_API.G_RET_STS_ERROR;
415: -- Standard call to get message count and if count=1, get the message
416: FND_MSG_PUB.count_and_get(
417: p_encoded => FND_API.g_false,
418: p_count => x_msg_count,
419: p_data => x_msg_data
420: );
421: WHEN OTHERS THEN
419: p_data => x_msg_data
420: );
421: WHEN OTHERS THEN
422: ROLLBACK TO Post_Message;
423: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
424: IF FND_MSG_PUB.Check_Msg_Level
425: (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
426: THEN
427: FND_MSG_PUB.Add_Exc_Msg
428: (G_PKG_NAME, l_api_name);
429: END IF;
430: -- Standard call to get message count and if count=1, get the message
431: FND_MSG_PUB.count_and_get(
432: p_encoded => FND_API.g_false,
433: p_count => x_msg_count,
434: p_data => x_msg_data
435: );
436:
458:
459: PROCEDURE Get_Post_Message
460: (
461: p_api_version IN NUMBER,
462: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
463: p_commit IN VARCHAR2 := FND_API.G_FALSE,
464: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
465: x_return_status OUT NOCOPY VARCHAR2,
466: x_msg_count OUT NOCOPY NUMBER,
459: PROCEDURE Get_Post_Message
460: (
461: p_api_version IN NUMBER,
462: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
463: p_commit IN VARCHAR2 := FND_API.G_FALSE,
464: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
465: x_return_status OUT NOCOPY VARCHAR2,
466: x_msg_count OUT NOCOPY NUMBER,
467: x_msg_data OUT NOCOPY VARCHAR2,
460: (
461: p_api_version IN NUMBER,
462: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
463: p_commit IN VARCHAR2 := FND_API.G_FALSE,
464: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
465: x_return_status OUT NOCOPY VARCHAR2,
466: x_msg_count OUT NOCOPY NUMBER,
467: x_msg_data OUT NOCOPY VARCHAR2,
468: p_application_code IN VARCHAR2,
478: BEGIN
479: -- Standard begin of API savepoint
480: SAVEPOINT Get_Post_Message;
481:
482: IF NOT FND_API.Compatible_API_Call (
483: l_api_version,
484: p_api_version,
485: l_api_name,
486: G_PKG_NAME)
484: p_api_version,
485: l_api_name,
486: G_PKG_NAME)
487: THEN
488: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
489: END IF;
490:
491: --Initialize message list if p_init_msg_list is TRUE.
492: IF FND_API.To_Boolean (p_init_msg_list) THEN
488: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
489: END IF;
490:
491: --Initialize message list if p_init_msg_list is TRUE.
492: IF FND_API.To_Boolean (p_init_msg_list) THEN
493: FND_MSG_PUB.initialize;
494: END IF;
495:
496: -- Initialize API return status to success
493: FND_MSG_PUB.initialize;
494: END IF;
495:
496: -- Initialize API return status to success
497: x_return_status := FND_API.G_RET_STS_SUCCESS;
498:
499:
500: IF FND_MSG_PUB.Check_Msg_level (FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW) THEN
501: FND_MESSAGE.Set_Name(p_application_code, p_message_nm);
517: END IF;
518: x_message := FND_MESSAGE.Get;
519:
520: --Standard check of commit
521: IF FND_API.To_Boolean ( p_commit ) THEN
522: COMMIT WORK;
523: END IF;
524:
525: --Standard call to get message count and if count=1, get the message
523: END IF;
524:
525: --Standard call to get message count and if count=1, get the message
526: FND_MSG_PUB.count_and_get(
527: p_encoded => FND_API.g_false,
528: p_count => x_msg_count,
529: p_data => x_msg_data
530: );
531: EXCEPTION
528: p_count => x_msg_count,
529: p_data => x_msg_data
530: );
531: EXCEPTION
532: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
533: ROLLBACK TO Get_Post_Message;
534: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
535: -- Standard call to get message count and if count=1, get the message
536: FND_MSG_PUB.count_and_get(
530: );
531: EXCEPTION
532: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
533: ROLLBACK TO Get_Post_Message;
534: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
535: -- Standard call to get message count and if count=1, get the message
536: FND_MSG_PUB.count_and_get(
537: p_encoded => FND_API.g_false,
538: p_count => x_msg_count,
533: ROLLBACK TO Get_Post_Message;
534: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
535: -- Standard call to get message count and if count=1, get the message
536: FND_MSG_PUB.count_and_get(
537: p_encoded => FND_API.g_false,
538: p_count => x_msg_count,
539: p_data => x_msg_data
540: );
541: WHEN FND_API.G_EXC_ERROR THEN
537: p_encoded => FND_API.g_false,
538: p_count => x_msg_count,
539: p_data => x_msg_data
540: );
541: WHEN FND_API.G_EXC_ERROR THEN
542: ROLLBACK TO Get_Post_Message;
543: x_return_status := FND_API.G_RET_STS_ERROR;
544: -- Standard call to get message count and if count=1, get the message
545: FND_MSG_PUB.count_and_get(
539: p_data => x_msg_data
540: );
541: WHEN FND_API.G_EXC_ERROR THEN
542: ROLLBACK TO Get_Post_Message;
543: x_return_status := FND_API.G_RET_STS_ERROR;
544: -- Standard call to get message count and if count=1, get the message
545: FND_MSG_PUB.count_and_get(
546: p_encoded => FND_API.g_false,
547: p_count => x_msg_count,
542: ROLLBACK TO Get_Post_Message;
543: x_return_status := FND_API.G_RET_STS_ERROR;
544: -- Standard call to get message count and if count=1, get the message
545: FND_MSG_PUB.count_and_get(
546: p_encoded => FND_API.g_false,
547: p_count => x_msg_count,
548: p_data => x_msg_data
549: );
550: WHEN OTHERS THEN
548: p_data => x_msg_data
549: );
550: WHEN OTHERS THEN
551: ROLLBACK TO Get_Post_Message;
552: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
553: IF FND_MSG_PUB.Check_Msg_Level
554: (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
555: THEN
556: FND_MSG_PUB.Add_Exc_Msg
557: (G_PKG_NAME, l_api_name);
558: END IF;
559: -- Standard call to get message count and if count=1, get the message
560: FND_MSG_PUB.count_and_get(
561: p_encoded => FND_API.g_false,
562: p_count => x_msg_count,
563: p_data => x_msg_data
564: );
565:
672: x_msg_data := NULL;
673: l_count := FND_MSG_PUB.Count_Msg;
674: IF l_count > 0 THEN
675: FND_MSG_PUB.Get(p_msg_index => l_count,
676: p_encoded => FND_API.G_FALSE,
677: p_data => x_msg_data,
678: p_msg_index_out => l_msg_index_out);
679: END IF;
680: END Get_Error_Message;
709: FND_MESSAGE.set_name('JTF', p_name);
710: FND_MESSAGE.Set_Token('ARG1',p_token);
711: FND_MSG_PUB.Add;
712: END IF;
713: RAISE FND_API.G_EXC_ERROR;
714:
715: END HANDLE_ERROR;
716:
717: PROCEDURE HANDLE_ERROR(
724: THEN
725: FND_MESSAGE.set_name('JTF', p_name);
726: FND_MSG_PUB.Add;
727: END IF;
728: RAISE FND_API.G_EXC_ERROR;
729:
730: END HANDLE_ERROR;
731:
732: FUNCTION VALIDATE_BYPASS(p_string IN VARCHAR2) RETURN VARCHAR2
793:
794: BEGIN
795: JTF_FM_UTL_V.PRINT_MESSAGE('Begin function'||l_full_name || p_string, JTF_FM_UTL_V.G_LEVEL_PROCEDURE ,l_full_name);
796:
797: IF(p_string IS NOT NULL AND p_string <> FND_API.G_MISS_CHAR)
798: THEN
799: x_result := true;
800: ELSE
801: NULL;
825: BEGIN
826: JTF_FM_UTL_V.PRINT_MESSAGE('Begin function'||l_full_name, JTF_FM_UTL_V.G_LEVEL_PROCEDURE ,l_full_name);
827: JTF_FM_UTL_V.PRINT_MESSAGE(to_char(p_number), JTF_FM_UTL_V.G_LEVEL_PROCEDURE ,l_full_name);
828: JTF_FM_UTL_V.PRINT_MESSAGE('G MISS VALUE IS :'||l_full_name, JTF_FM_UTL_V.G_LEVEL_PROCEDURE ,l_full_name);
829: JTF_FM_UTL_V.PRINT_MESSAGE(to_char(FND_API.G_MISS_NUM), JTF_FM_UTL_V.G_LEVEL_PROCEDURE ,l_full_name);
830:
831: IF(p_number IS NOT NULL AND p_number <> FND_API.G_MISS_NUM)
832: THEN
833: x_result := true;
827: JTF_FM_UTL_V.PRINT_MESSAGE(to_char(p_number), JTF_FM_UTL_V.G_LEVEL_PROCEDURE ,l_full_name);
828: JTF_FM_UTL_V.PRINT_MESSAGE('G MISS VALUE IS :'||l_full_name, JTF_FM_UTL_V.G_LEVEL_PROCEDURE ,l_full_name);
829: JTF_FM_UTL_V.PRINT_MESSAGE(to_char(FND_API.G_MISS_NUM), JTF_FM_UTL_V.G_LEVEL_PROCEDURE ,l_full_name);
830:
831: IF(p_number IS NOT NULL AND p_number <> FND_API.G_MISS_NUM)
832: THEN
833: x_result := true;
834: ELSE
835: NULL;
1275:
1276:
1277: SAVEPOINT FM_SUBMIT_REQ_V1;
1278: a := '';
1279: IF NOT FND_API.Compatible_API_Call (l_api_version,p_api_version,
1280: l_api_name,G_PKG_NAME)
1281: THEN
1282: RAISE
1283: FND_API.G_EXC_UNEXPECTED_ERROR;
1279: IF NOT FND_API.Compatible_API_Call (l_api_version,p_api_version,
1280: l_api_name,G_PKG_NAME)
1281: THEN
1282: RAISE
1283: FND_API.G_EXC_UNEXPECTED_ERROR;
1284: END IF; -- IF NOT FND_API.Compatible_API_Call
1285:
1286: --Initialize message list if p_init_msg_list is TRUE.
1287:
1280: l_api_name,G_PKG_NAME)
1281: THEN
1282: RAISE
1283: FND_API.G_EXC_UNEXPECTED_ERROR;
1284: END IF; -- IF NOT FND_API.Compatible_API_Call
1285:
1286: --Initialize message list if p_init_msg_list is TRUE.
1287:
1288: IF FND_API.To_Boolean (p_init_msg_list)
1284: END IF; -- IF NOT FND_API.Compatible_API_Call
1285:
1286: --Initialize message list if p_init_msg_list is TRUE.
1287:
1288: IF FND_API.To_Boolean (p_init_msg_list)
1289: THEN
1290: FND_MSG_PUB.initialize;
1291: END IF; -- FND_API.To_Boolean
1292:
1287:
1288: IF FND_API.To_Boolean (p_init_msg_list)
1289: THEN
1290: FND_MSG_PUB.initialize;
1291: END IF; -- FND_API.To_Boolean
1292:
1293: -- Debug Message
1294:
1295: IF FND_MSG_PUB.Check_Msg_level (FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW)
1300: END IF; -- IF FND_MSG_PUB.Check_Msg_Level
1301:
1302: -- Initialize API return status to success
1303:
1304: x_return_status := FND_API.G_RET_STS_SUCCESS;
1305: -- Check if the user_id(agent_id) is NULL
1306:
1307: IF (p_fulfill_electronic_rec.requestor_id IS NULL)
1308: THEN
1311: THEN
1312: FND_MESSAGE.set_name('JTF', 'JTF_FM_API_MISSING_USER_ID');
1313: FND_MSG_PUB.Add;
1314: END IF; -- FND_MSG_PUB.check_msg_level
1315: RAISE FND_API.G_EXC_ERROR;
1316:
1317: -- Check if the Content_XML is NULL
1318: ELSIF(fm_pvt_rec.content_XML IS NULL) -- IF (p_user_id IS NULL
1319: THEN
1322: THEN
1323: FND_MESSAGE.set_name('JTF', 'JTF_FM_API_MISSING_CONTENT_XML');
1324: FND_MSG_PUB.Add;
1325: END IF; -- IF FND_MSG_PUB.check_msg_level
1326: RAISE FND_API.G_EXC_ERROR;
1327:
1328: ELSIF(fm_pvt_rec.request_id IS NULL) -- IF (p_user_id IS NULL
1329: THEN
1330: l_Error_Msg := 'Must pass p_request_id parameter';
1332: THEN
1333: FND_MESSAGE.set_name('JTF', 'JTF_FM_API_MISSING_REQUEST_ID');
1334: FND_MSG_PUB.Add;
1335: END IF; -- IF FND_MSG_PUB.check_msg_level
1336: RAISE FND_API.G_EXC_ERROR;
1337: ELSE -- IF (p_user_id IS NULL)
1338: OPEN CREQID;
1339: FETCH CREQID INTO l_count;
1340: CLOSE CREQID;
1348: FND_MESSAGE.set_name('JTF', 'JTF_FM_API_REQUESTID_REUSED');
1349: FND_MSG_PUB.Add;
1350: END IF; -- IF FND_MSG_PUB.check_msg_level
1351:
1352: RAISE FND_API.G_EXC_ERROR;
1353: END IF; -- IF l_count >= 1
1354:
1355: -- if server_id has not been passed, get it from the fulfillment tables
1356: -- based on the user_id passed
1353: END IF; -- IF l_count >= 1
1354:
1355: -- if server_id has not been passed, get it from the fulfillment tables
1356: -- based on the user_id passed
1357: IF (p_fulfill_electronic_rec.server_group = FND_API.G_MISS_NUM OR p_fulfill_electronic_rec.server_group IS NULL)
1358: THEN
1359: OPEN CSERV;
1360: FETCH CSERV INTO l_server_id;
1361: IF (CSERV%NOTFOUND)
1369: JTF_FM_UTL_V.PRINT_MESSAGE('No Default Server found',JTF_FM_UTL_V.G_LEVEL_STATEMENT,l_full_name);
1370: l_Error_Msg := 'Could not find server_id for the user passed';
1371: JTF_FM_UTL_V.HANDLE_ERROR('JTF_FM_API_MISSING_SERVER_ID',p_fulfill_electronic_rec.server_group);
1372: END IF;
1373: --RAISE FND_API.G_EXC_ERROR;
1374: END IF; -- IF (CSERV%NOTFOUND)
1375: CLOSE CSERV;
1376: ELSE -- IF (p_server_id = FND_API.G_MISS_NUM OR p_server_id IS NULL)
1377: l_server_id := p_fulfill_electronic_rec.server_group;
1372: END IF;
1373: --RAISE FND_API.G_EXC_ERROR;
1374: END IF; -- IF (CSERV%NOTFOUND)
1375: CLOSE CSERV;
1376: ELSE -- IF (p_server_id = FND_API.G_MISS_NUM OR p_server_id IS NULL)
1377: l_server_id := p_fulfill_electronic_rec.server_group;
1378: END IF; -- IF (p_server_id = FND_API.G_MISS_NUM OR p_server_id IS NULL)
1379: JTF_FM_UTL_V.PRINT_MESSAGE('Server_id Got: ' || l_server_id,JTF_FM_UTL_V.G_LEVEL_STATEMENT,l_full_name);
1380: JTF_FM_UTL_V.PRINT_MESSAGE('p_queue_response: ' || fm_pvt_rec.queue,JTF_FM_UTL_V.G_LEVEL_STATEMENT,l_full_name);
1374: END IF; -- IF (CSERV%NOTFOUND)
1375: CLOSE CSERV;
1376: ELSE -- IF (p_server_id = FND_API.G_MISS_NUM OR p_server_id IS NULL)
1377: l_server_id := p_fulfill_electronic_rec.server_group;
1378: END IF; -- IF (p_server_id = FND_API.G_MISS_NUM OR p_server_id IS NULL)
1379: JTF_FM_UTL_V.PRINT_MESSAGE('Server_id Got: ' || l_server_id,JTF_FM_UTL_V.G_LEVEL_STATEMENT,l_full_name);
1380: JTF_FM_UTL_V.PRINT_MESSAGE('p_queue_response: ' || fm_pvt_rec.queue,JTF_FM_UTL_V.G_LEVEL_STATEMENT,l_full_name);
1381: OPEN CREQ_Q;
1382: FETCH CREQ_Q INTO l_request_queue;
1385: JTF_FM_UTL_V.PRINT_MESSAGE('Fetched queue unsuccessful',JTF_FM_UTL_V.G_LEVEL_STATEMENT,l_full_name);
1386: l_Error_Msg := 'Could not find request_queue_name in the database';
1387: JTF_FM_UTL_V.HANDLE_ERROR('JTF_FM_API_QUEUE_NOTFOUND',to_char(l_server_id));
1388: RAISE
1389: FND_API.G_EXC_ERROR;
1390: END IF;
1391: CLOSE CREQ_Q;
1392: JTF_FM_UTL_V.PRINT_MESSAGE('Updating record in history',JTF_FM_UTL_V.G_LEVEL_STATEMENT,l_full_name);
1393: l_submit_dt := sysdate;
1470: EXCEPTION
1471: WHEN NO_DATA_FOUND THEN
1472: l_Error_Msg := 'Data not found for the request_id passed';
1473: JTF_FM_UTL_V.HANDLE_ERROR('JTF_FM_API_REQUEST_NOTFOUND',fm_pvt_rec.request_id);
1474: RAISE FND_API.G_EXC_ERROR;
1475:
1476:
1477: END;
1478:
1487: l_message := l_message||'
1489: --l_message := l_message || 'status="NEW_REQUEST" '||a;
1490: -- new code added for previewing
1491: IF fm_pvt_rec.preview = FND_API.G_TRUE
1492: THEN
1493: l_message := l_message || 'status="PREVIEW" '||a;
1494: ELSIF fm_pvt_rec.preview = 'TEST'
1495: THEN
1515:
1516: -- add the application info
1517:
1518: l_message := l_message || 'user_id="'||to_char(p_fulfill_electronic_rec.requestor_id)||'" '||a;
1519: IF (fm_pvt_rec.party_id <> FND_API.G_MISS_NUM AND fm_pvt_rec.party_id >= 0)
1520: THEN
1521: l_message := l_message || 'party_id="'||to_char(fm_pvt_rec.party_id)||'" '||a;
1522: END IF; -- IF (p_party_id
1523:
1695: JTF_FM_UTL_V.G_LEVEL_STATEMENT,l_full_name);
1696:
1697:
1698:
1699: --- Determine the request type as follows because the p_queue_response can be set to FND_API.G_TRUE
1700: -- The value then is 'T' which can be misinterpreted as Test Req.
1701: -- So, check to make sure it is really test req before updating the table.
1702: IF fm_pvt_rec.preview = 'TEST' THEN
1703: l_request_type := 'T';
1711: BEGIN
1712:
1713: UPDATE JTF_FM_REQUEST_HISTORY_ALL
1714: SET
1715: TEMPLATE_ID = decode(p_fulfill_electronic_rec.template_id, FND_API.G_MISS_NUM,
1716: NULL,p_fulfill_electronic_rec.template_id),
1717: USER_ID = p_fulfill_electronic_rec.requestor_id,
1718: PRIORITY = fm_pvt_rec.priority,
1719: LAST_UPDATE_DATE = sysdate,
1718: PRIORITY = fm_pvt_rec.priority,
1719: LAST_UPDATE_DATE = sysdate,
1720: LAST_UPDATED_BY = FND_GLOBAL.USER_ID,
1721: LAST_UPDATE_LOGIN = FND_GLOBAL.CONC_LOGIN_ID,
1722: SOURCE_CODE_ID = decode(p_fulfill_electronic_rec.source_code_id, FND_API.G_MISS_NUM,
1723: NULL,p_fulfill_electronic_rec.source_code_id),
1724: SOURCE_CODE = decode(p_fulfill_electronic_rec.source_code, FND_API.G_MISS_CHAR,
1725: NULL,p_fulfill_electronic_rec.source_code),
1726: OBJECT_TYPE = decode(p_fulfill_electronic_rec.object_type, FND_API.G_MISS_CHAR,
1720: LAST_UPDATED_BY = FND_GLOBAL.USER_ID,
1721: LAST_UPDATE_LOGIN = FND_GLOBAL.CONC_LOGIN_ID,
1722: SOURCE_CODE_ID = decode(p_fulfill_electronic_rec.source_code_id, FND_API.G_MISS_NUM,
1723: NULL,p_fulfill_electronic_rec.source_code_id),
1724: SOURCE_CODE = decode(p_fulfill_electronic_rec.source_code, FND_API.G_MISS_CHAR,
1725: NULL,p_fulfill_electronic_rec.source_code),
1726: OBJECT_TYPE = decode(p_fulfill_electronic_rec.object_type, FND_API.G_MISS_CHAR,
1727: NULL,p_fulfill_electronic_rec.object_type),
1728: OBJECT_ID = decode(p_fulfill_electronic_rec.object_id, FND_API.G_MISS_NUM,
1722: SOURCE_CODE_ID = decode(p_fulfill_electronic_rec.source_code_id, FND_API.G_MISS_NUM,
1723: NULL,p_fulfill_electronic_rec.source_code_id),
1724: SOURCE_CODE = decode(p_fulfill_electronic_rec.source_code, FND_API.G_MISS_CHAR,
1725: NULL,p_fulfill_electronic_rec.source_code),
1726: OBJECT_TYPE = decode(p_fulfill_electronic_rec.object_type, FND_API.G_MISS_CHAR,
1727: NULL,p_fulfill_electronic_rec.object_type),
1728: OBJECT_ID = decode(p_fulfill_electronic_rec.object_id, FND_API.G_MISS_NUM,
1729: NULL,p_fulfill_electronic_rec.object_id),
1730: ORDER_ID = decode(p_fulfill_electronic_rec.order_id, FND_API.G_MISS_NUM,
1724: SOURCE_CODE = decode(p_fulfill_electronic_rec.source_code, FND_API.G_MISS_CHAR,
1725: NULL,p_fulfill_electronic_rec.source_code),
1726: OBJECT_TYPE = decode(p_fulfill_electronic_rec.object_type, FND_API.G_MISS_CHAR,
1727: NULL,p_fulfill_electronic_rec.object_type),
1728: OBJECT_ID = decode(p_fulfill_electronic_rec.object_id, FND_API.G_MISS_NUM,
1729: NULL,p_fulfill_electronic_rec.object_id),
1730: ORDER_ID = decode(p_fulfill_electronic_rec.order_id, FND_API.G_MISS_NUM,
1731: NULL,p_fulfill_electronic_rec.order_id),
1732: RESUBMIT_COUNT = 1,
1726: OBJECT_TYPE = decode(p_fulfill_electronic_rec.object_type, FND_API.G_MISS_CHAR,
1727: NULL,p_fulfill_electronic_rec.object_type),
1728: OBJECT_ID = decode(p_fulfill_electronic_rec.object_id, FND_API.G_MISS_NUM,
1729: NULL,p_fulfill_electronic_rec.object_id),
1730: ORDER_ID = decode(p_fulfill_electronic_rec.order_id, FND_API.G_MISS_NUM,
1731: NULL,p_fulfill_electronic_rec.order_id),
1732: RESUBMIT_COUNT = 1,
1733: SERVER_ID = l_server_id,
1734: MESSAGE_ID = l_message_handle,
1743: EXCEPTION
1744: WHEN NO_DATA_FOUND THEN
1745: l_Error_Msg := 'Data not found for the request_id passed';
1746: JTF_FM_UTL_V.HANDLE_ERROR('JTF_FM_API_REQUEST_NOTFOUND',fm_pvt_rec.request_id);
1747: RAISE FND_API.G_EXC_ERROR;
1748:
1749:
1750: END;
1751:
1758: -- Updating the status table
1759: BEGIN
1760: UPDATE JTF_FM_STATUS_ALL
1761: SET
1762: TEMPLATE_ID = decode(p_fulfill_electronic_rec.template_id, FND_API.G_MISS_NUM,
1763: NULL,p_fulfill_electronic_rec.template_id),
1764: USER_ID = p_fulfill_electronic_rec.requestor_id,
1765: PRIORITY = fm_pvt_rec.priority,
1766: LAST_UPDATE_DATE = sysdate,
1765: PRIORITY = fm_pvt_rec.priority,
1766: LAST_UPDATE_DATE = sysdate,
1767: LAST_UPDATED_BY = FND_GLOBAL.USER_ID,
1768: LAST_UPDATE_LOGIN = FND_GLOBAL.CONC_LOGIN_ID,
1769: SOURCE_CODE_ID = decode(p_fulfill_electronic_rec.source_code_id, FND_API.G_MISS_NUM,
1770: NULL,p_fulfill_electronic_rec.source_code_id),
1771: SOURCE_CODE = decode(p_fulfill_electronic_rec.source_code, FND_API.G_MISS_CHAR,
1772: NULL,p_fulfill_electronic_rec.source_code),
1773: OBJECT_TYPE = decode(p_fulfill_electronic_rec.object_type, FND_API.G_MISS_CHAR,
1767: LAST_UPDATED_BY = FND_GLOBAL.USER_ID,
1768: LAST_UPDATE_LOGIN = FND_GLOBAL.CONC_LOGIN_ID,
1769: SOURCE_CODE_ID = decode(p_fulfill_electronic_rec.source_code_id, FND_API.G_MISS_NUM,
1770: NULL,p_fulfill_electronic_rec.source_code_id),
1771: SOURCE_CODE = decode(p_fulfill_electronic_rec.source_code, FND_API.G_MISS_CHAR,
1772: NULL,p_fulfill_electronic_rec.source_code),
1773: OBJECT_TYPE = decode(p_fulfill_electronic_rec.object_type, FND_API.G_MISS_CHAR,
1774: NULL,p_fulfill_electronic_rec.object_type),
1775: OBJECT_ID = decode(p_fulfill_electronic_rec.object_id, FND_API.G_MISS_NUM,
1769: SOURCE_CODE_ID = decode(p_fulfill_electronic_rec.source_code_id, FND_API.G_MISS_NUM,
1770: NULL,p_fulfill_electronic_rec.source_code_id),
1771: SOURCE_CODE = decode(p_fulfill_electronic_rec.source_code, FND_API.G_MISS_CHAR,
1772: NULL,p_fulfill_electronic_rec.source_code),
1773: OBJECT_TYPE = decode(p_fulfill_electronic_rec.object_type, FND_API.G_MISS_CHAR,
1774: NULL,p_fulfill_electronic_rec.object_type),
1775: OBJECT_ID = decode(p_fulfill_electronic_rec.object_id, FND_API.G_MISS_NUM,
1776: NULL,p_fulfill_electronic_rec.object_id),
1777: ORDER_ID = decode(p_fulfill_electronic_rec.order_id, FND_API.G_MISS_NUM, NULL,
1771: SOURCE_CODE = decode(p_fulfill_electronic_rec.source_code, FND_API.G_MISS_CHAR,
1772: NULL,p_fulfill_electronic_rec.source_code),
1773: OBJECT_TYPE = decode(p_fulfill_electronic_rec.object_type, FND_API.G_MISS_CHAR,
1774: NULL,p_fulfill_electronic_rec.object_type),
1775: OBJECT_ID = decode(p_fulfill_electronic_rec.object_id, FND_API.G_MISS_NUM,
1776: NULL,p_fulfill_electronic_rec.object_id),
1777: ORDER_ID = decode(p_fulfill_electronic_rec.order_id, FND_API.G_MISS_NUM, NULL,
1778: p_fulfill_electronic_rec.order_id),
1779: SERVER_ID = l_server_id,REQUEUE_COUNT = 1,
1773: OBJECT_TYPE = decode(p_fulfill_electronic_rec.object_type, FND_API.G_MISS_CHAR,
1774: NULL,p_fulfill_electronic_rec.object_type),
1775: OBJECT_ID = decode(p_fulfill_electronic_rec.object_id, FND_API.G_MISS_NUM,
1776: NULL,p_fulfill_electronic_rec.object_id),
1777: ORDER_ID = decode(p_fulfill_electronic_rec.order_id, FND_API.G_MISS_NUM, NULL,
1778: p_fulfill_electronic_rec.order_id),
1779: SERVER_ID = l_server_id,REQUEUE_COUNT = 1,
1780: MESSAGE_ID = l_message_handle,
1781: REQUEST_STATUS = l_meaning,
1789: EXCEPTION
1790: WHEN NO_DATA_FOUND THEN
1791: l_Error_Msg := 'Data not found for the request_id passed';
1792: JTF_FM_UTL_V.HANDLE_ERROR('JTF_FM_API_REQUEST_NOTFOUND',fm_pvt_rec.request_id);
1793: RAISE FND_API.G_EXC_ERROR;
1794:
1795:
1796: END;
1797:
1810: END IF; -- IF FND_MSG_PUB.Check_Msg_Level
1811:
1812: --Standard check of commit
1813:
1814: IF FND_API.To_Boolean(p_commit)
1815: THEN
1816: COMMIT WORK;
1817: END IF; -- IF FND_API.To_Boolean
1818:
1813:
1814: IF FND_API.To_Boolean(p_commit)
1815: THEN
1816: COMMIT WORK;
1817: END IF; -- IF FND_API.To_Boolean
1818:
1819: -- Debug Message
1820: IF FND_MSG_PUB.Check_Msg_level (FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW)
1821: THEN
1824: FND_MSG_PUB.Add;
1825: END IF; -- IF FND_MSG.PUB.Check_Msg_level
1826:
1827: --Standard call to get message count and if count=1, get the message
1828: FND_MSG_PUB.Count_And_Get (p_encoded => FND_API.g_false,
1829: p_count => x_msg_count,
1830: p_data => x_msg_data
1831: );
1832: EXCEPTION
1831: );
1832: EXCEPTION
1833: -----------------EXCEPTION BLOCK-------------------
1834:
1835: WHEN FND_API.G_EXC_UNEXPECTED_ERROR
1836: THEN
1837: ROLLBACK TO FM_SUBMIT_REQ_V1;
1838: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1839: JTF_FM_UTL_V.ADD_ERROR_MESSAGE (l_api_name, l_Error_Msg);
1834:
1835: WHEN FND_API.G_EXC_UNEXPECTED_ERROR
1836: THEN
1837: ROLLBACK TO FM_SUBMIT_REQ_V1;
1838: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1839: JTF_FM_UTL_V.ADD_ERROR_MESSAGE (l_api_name, l_Error_Msg);
1840: -- Standard call to get message count and if count=1, get the message
1841: FND_MSG_PUB.Count_And_Get (p_encoded => FND_API.g_false,
1842: p_count => x_msg_count,
1837: ROLLBACK TO FM_SUBMIT_REQ_V1;
1838: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1839: JTF_FM_UTL_V.ADD_ERROR_MESSAGE (l_api_name, l_Error_Msg);
1840: -- Standard call to get message count and if count=1, get the message
1841: FND_MSG_PUB.Count_And_Get (p_encoded => FND_API.g_false,
1842: p_count => x_msg_count,
1843: p_data => x_msg_data
1844: );
1845: JTF_FM_UTL_V.GET_ERROR_MESSAGE(x_msg_data);
1843: p_data => x_msg_data
1844: );
1845: JTF_FM_UTL_V.GET_ERROR_MESSAGE(x_msg_data);
1846:
1847: WHEN FND_API.G_EXC_ERROR
1848: THEN
1849: ROLLBACK TO FM_SUBMIT_REQ_V1;
1850: x_return_status := FND_API.G_RET_STS_ERROR;
1851: JTF_FM_UTL_V.ADD_ERROR_MESSAGE (l_api_name, l_Error_Msg);
1846:
1847: WHEN FND_API.G_EXC_ERROR
1848: THEN
1849: ROLLBACK TO FM_SUBMIT_REQ_V1;
1850: x_return_status := FND_API.G_RET_STS_ERROR;
1851: JTF_FM_UTL_V.ADD_ERROR_MESSAGE (l_api_name, l_Error_Msg);
1852: JTF_FM_UTL_V.PRINT_MESSAGE('Expected Error Occured'||
1853: l_Error_Msg,JTF_FM_UTL_V.G_LEVEL_STATEMENT,l_full_name);
1854: -- Standard call to get message count and if count=1, get the message
1851: JTF_FM_UTL_V.ADD_ERROR_MESSAGE (l_api_name, l_Error_Msg);
1852: JTF_FM_UTL_V.PRINT_MESSAGE('Expected Error Occured'||
1853: l_Error_Msg,JTF_FM_UTL_V.G_LEVEL_STATEMENT,l_full_name);
1854: -- Standard call to get message count and if count=1, get the message
1855: FND_MSG_PUB.Count_And_Get (p_encoded => FND_API.g_false,
1856: p_count => x_msg_count,
1857: p_data => x_msg_data
1858: );
1859: JTF_FM_UTL_V.GET_ERROR_MESSAGE(x_msg_data);
1860:
1861: WHEN OTHERS
1862: THEN
1863: ROLLBACK TO FM_SUBMIT_REQ_V1;
1864: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1865: JTF_FM_UTL_V.ADD_ERROR_MESSAGE (l_api_name, SQLERRM);
1866:
1867: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1868: THEN
1869: FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME, l_api_name);
1870: END IF; -- IF FND_MSG_PUB.Check_Msg_Level
1871:
1872: -- Standard call to get message count and if count=1, get the message
1873: FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.g_false,
1874: p_count => x_msg_count,
1875: p_data => x_msg_data
1876: );
1877: JTF_FM_UTL_V.GET_ERROR_MESSAGE(x_msg_data);