150: X_RETURN_STATUS := FND_API.G_RET_STS_ERROR;
151: -- check if the category is deletable
152: -- i.e. it does not contain sub-categories nor PUBlished child solutions
153: if( n_child_solutions <> 0 OR n_subcatgories <> 0 ) then
154: FND_MSG_PUB.initialize;
155: FND_MESSAGE.set_name('CS', 'CS_KB_C_CAT_DELETE_FAILED');
156: FND_MSG_PUB.ADD;
157: X_RETURN_STATUS := FND_API.G_RET_STS_ERROR;
158: FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.G_FALSE ,
152: -- i.e. it does not contain sub-categories nor PUBlished child solutions
153: if( n_child_solutions <> 0 OR n_subcatgories <> 0 ) then
154: FND_MSG_PUB.initialize;
155: FND_MESSAGE.set_name('CS', 'CS_KB_C_CAT_DELETE_FAILED');
156: FND_MSG_PUB.ADD;
157: X_RETURN_STATUS := FND_API.G_RET_STS_ERROR;
158: FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.G_FALSE ,
159: p_count => X_MSG_COUNT,
160: p_data => X_MSG_DATA);
154: FND_MSG_PUB.initialize;
155: FND_MESSAGE.set_name('CS', 'CS_KB_C_CAT_DELETE_FAILED');
156: FND_MSG_PUB.ADD;
157: X_RETURN_STATUS := FND_API.G_RET_STS_ERROR;
158: FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.G_FALSE ,
159: p_count => X_MSG_COUNT,
160: p_data => X_MSG_DATA);
161:
162: ELSE
265: OPEN Get_Category_Fullpath_Name(p_category_id);
266: FETCH Get_Category_Fullpath_Name INTO l_category_fullpath_name;
267: CLOSE Get_Category_Fullpath_Name;
268:
269: FND_MSG_PUB.initialize;
270: FND_MESSAGE.set_name('CS', 'CS_KB_C_CAT_DELETE_CAS_FAILED');
271: FND_MESSAGE.SET_TOKEN(TOKEN => 'CATEGORY_FULLPATH_NAME',
272: VALUE => l_category_fullpath_name,
273: TRANSLATE => true);
270: FND_MESSAGE.set_name('CS', 'CS_KB_C_CAT_DELETE_CAS_FAILED');
271: FND_MESSAGE.SET_TOKEN(TOKEN => 'CATEGORY_FULLPATH_NAME',
272: VALUE => l_category_fullpath_name,
273: TRANSLATE => true);
274: FND_MSG_PUB.ADD;
275: FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.G_FALSE ,
276: p_count => X_MSG_COUNT,
277: p_data => X_MSG_DATA);
278: EXIT;
271: FND_MESSAGE.SET_TOKEN(TOKEN => 'CATEGORY_FULLPATH_NAME',
272: VALUE => l_category_fullpath_name,
273: TRANSLATE => true);
274: FND_MSG_PUB.ADD;
275: FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.G_FALSE ,
276: p_count => X_MSG_COUNT,
277: p_data => X_MSG_DATA);
278: EXIT;
279: END IF;
473:
474: EXCEPTION
475: WHEN CG_MEMBER_DEL_FAILED THEN
476: ROLLBACK TO updateCategory_PVT;
477: FND_MSG_PUB.initialize;
478: FND_MESSAGE.set_name('CS', 'CS_KB_C_DELETE_ERR');
479: FND_MSG_PUB.ADD;
480: X_RETURN_STATUS := FND_API.G_RET_STS_ERROR;
481: FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.G_FALSE ,
475: WHEN CG_MEMBER_DEL_FAILED THEN
476: ROLLBACK TO updateCategory_PVT;
477: FND_MSG_PUB.initialize;
478: FND_MESSAGE.set_name('CS', 'CS_KB_C_DELETE_ERR');
479: FND_MSG_PUB.ADD;
480: X_RETURN_STATUS := FND_API.G_RET_STS_ERROR;
481: FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.G_FALSE ,
482: p_count => X_MSG_COUNT,
483: p_data => X_MSG_DATA);
477: FND_MSG_PUB.initialize;
478: FND_MESSAGE.set_name('CS', 'CS_KB_C_DELETE_ERR');
479: FND_MSG_PUB.ADD;
480: X_RETURN_STATUS := FND_API.G_RET_STS_ERROR;
481: FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.G_FALSE ,
482: p_count => X_MSG_COUNT,
483: p_data => X_MSG_DATA);
484: WHEN INDEX_SYNC_FAILED THEN
485: ROLLBACK TO updateCategory_PVT;
482: p_count => X_MSG_COUNT,
483: p_data => X_MSG_DATA);
484: WHEN INDEX_SYNC_FAILED THEN
485: ROLLBACK TO updateCategory_PVT;
486: FND_MSG_PUB.initialize;
487: FND_MESSAGE.set_name('CS', 'CS_KB_SYNC_REQ_FAILED');
488: FND_MSG_PUB.ADD;
489: X_RETURN_STATUS := FND_API.G_RET_STS_ERROR;
490: FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.G_FALSE ,
484: WHEN INDEX_SYNC_FAILED THEN
485: ROLLBACK TO updateCategory_PVT;
486: FND_MSG_PUB.initialize;
487: FND_MESSAGE.set_name('CS', 'CS_KB_SYNC_REQ_FAILED');
488: FND_MSG_PUB.ADD;
489: X_RETURN_STATUS := FND_API.G_RET_STS_ERROR;
490: FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.G_FALSE ,
491: p_count => X_MSG_COUNT,
492: p_data => X_MSG_DATA);
486: FND_MSG_PUB.initialize;
487: FND_MESSAGE.set_name('CS', 'CS_KB_SYNC_REQ_FAILED');
488: FND_MSG_PUB.ADD;
489: X_RETURN_STATUS := FND_API.G_RET_STS_ERROR;
490: FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.G_FALSE ,
491: p_count => X_MSG_COUNT,
492: p_data => X_MSG_DATA);
493:
494: end updateCategory;