399: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
400: END IF;
401: -- Initialize message list if p_init_msg_list is set to TRUE.
402: IF FND_API.to_Boolean( p_init_msg_list ) THEN
403: FND_MSG_PUB.initialize;
404: END IF;
405:
406: -- Initialize API return status to SUCCESS
407: x_return_status := FND_API.G_RET_STS_SUCCESS;
642: COMMIT WORK;
643: End if;
644:
645: --Standard call to get message count and if count is 1 then get message info
646: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
647:
648: EXCEPTION
649: WHEN FND_API.G_EXC_ERROR THEN
650: Rollback to Route_PUB;
649: WHEN FND_API.G_EXC_ERROR THEN
650: Rollback to Route_PUB;
651: x_return_status := FND_API.G_RET_STS_ERROR;
652:
653: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
654:
655: if l_exception_log then
656: errorMessage := '[' || sqlcode || sqlerrm || ']' || ' Execution Error';
657: FND_LOG.STRING(FND_LOG.LEVEL_EXCEPTION, 'IEM.PLSQL.IEM_ROUTE_PUB.ROUTE.EXEC_ERROR', errorMessage);
659:
660: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
661: Rollback to Route_PUB;
662: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
663: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
664: if l_exception_log then
665: errorMessage := '[' || sqlcode || sqlerrm || ']' || ' Unexpected Execution Error';
666: FND_LOG.STRING(FND_LOG.LEVEL_EXCEPTION, 'IEM.PLSQL.IEM_ROUTE_PUB.ROUTE.UNEXP_EXEC_ERROR', errorMessage);
667: end if;
668:
669: WHEN OTHERS THEN
670: Rollback to Route_PUB;
671: x_return_status := FND_API.G_RET_STS_ERROR;
672: IF fnd_msg_pub.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
673: FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME, l_api_name);
674: END IF;
675: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
676:
669: WHEN OTHERS THEN
670: Rollback to Route_PUB;
671: x_return_status := FND_API.G_RET_STS_ERROR;
672: IF fnd_msg_pub.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
673: FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME, l_api_name);
674: END IF;
675: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
676:
677: if l_exception_log then
671: x_return_status := FND_API.G_RET_STS_ERROR;
672: IF fnd_msg_pub.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
673: FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME, l_api_name);
674: END IF;
675: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
676:
677: if l_exception_log then
678: errorMessage := '[' || sqlcode || sqlerrm || ']' || ' Others';
679: FND_LOG.STRING(FND_LOG.LEVEL_EXCEPTION, 'IEM.PLSQL.IEM_ROUTE_PUB.ROUTE.OTHERS', errorMessage);