60: END IF;
61:
62: -- Initialize message list if p_init_msg_list is set to TRUE.
63: IF FND_API.to_Boolean( p_init_msg_list ) THEN
64: FND_MSG_PUB.initialize;
65: END IF;
66:
67: -- Initialize API return status to success
68: x_return_status := FND_API.G_RET_STS_SUCCESS;
136:
137: if l_return_status <> FND_API.G_RET_STS_SUCCESS then
138: -- pass on warning on msg stack that plan type couldn't be created
139: FND_MESSAGE.SET_NAME('CN', 'CN_SRP_GROUP_ERR');
140: FND_MSG_PUB.ADD;
141: RAISE FND_API.G_EXC_ERROR;
142: end if;
143:
144: -- Standard check of p_commit.
145: IF FND_API.To_Boolean( p_commit ) THEN
146: COMMIT WORK;
147: END IF;
148:
149: FND_MSG_PUB.Count_And_Get
150: (p_count => x_msg_count,
151: p_data => x_msg_data,
152: p_encoded => FND_API.G_FALSE);
153: EXCEPTION
153: EXCEPTION
154: WHEN FND_API.G_EXC_ERROR THEN
155: ROLLBACK TO Create_TBH;
156: x_return_status := FND_API.G_RET_STS_ERROR;
157: FND_MSG_PUB.Count_And_Get
158: (p_count => x_msg_count,
159: p_data => x_msg_data,
160: p_encoded => FND_API.G_FALSE);
161: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
160: p_encoded => FND_API.G_FALSE);
161: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
162: ROLLBACK TO Create_TBH;
163: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
164: FND_MSG_PUB.Count_And_Get
165: (p_count => x_msg_count,
166: p_data => x_msg_data,
167: p_encoded => FND_API.G_FALSE);
168: WHEN OTHERS THEN
167: p_encoded => FND_API.G_FALSE);
168: WHEN OTHERS THEN
169: ROLLBACK TO Create_TBH;
170: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
171: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
172: FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME, l_api_name);
173: END IF;
174: FND_MSG_PUB.Count_And_Get
175: (p_count => x_msg_count,
168: WHEN OTHERS THEN
169: ROLLBACK TO Create_TBH;
170: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
171: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
172: FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME, l_api_name);
173: END IF;
174: FND_MSG_PUB.Count_And_Get
175: (p_count => x_msg_count,
176: p_data => x_msg_data,
170: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
171: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
172: FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME, l_api_name);
173: END IF;
174: FND_MSG_PUB.Count_And_Get
175: (p_count => x_msg_count,
176: p_data => x_msg_data,
177: p_encoded => FND_API.G_FALSE);
178: END Create_TBH;