125: END IF;
126:
127: --Initialize message list if p_init_msg_list is set to TRUE.
128: IF FND_API.to_boolean( p_init_msg_list ) THEN
129: FND_MSG_PUB.initialize;
130: END IF;
131:
132: -- Get unit header id for the given work order (derived using Visit followed by Task instance if required)
133: p_unit_header_id := AHL_PRD_PARTS_CHANGE_PVT.Get_UnitConfig_ID (p_workorder_id);
349: COMMIT WORK;
350: END IF;
351:
352: -- Get all the error messages from the previous steps (if any) and raise the appropriate Exception
353: x_msg_count := FND_MSG_PUB.count_msg;
354: IF x_msg_count > 0 THEN
355: RAISE FND_API.G_EXC_ERROR;
356: END IF;
357:
355: RAISE FND_API.G_EXC_ERROR;
356: END IF;
357:
358: -- Count and Get messages (optional)
359: FND_MSG_PUB.count_and_get(
360: p_encoded => FND_API.G_FALSE,
361: p_count => x_msg_count,
362: p_data => x_msg_data);
363:
363:
364: EXCEPTION
365: WHEN FND_API.G_EXC_ERROR THEN
366: x_return_status := FND_API.G_RET_STS_ERROR ;
367: FND_MSG_PUB.count_and_get(
368: p_encoded => FND_API.G_FALSE,
369: p_count => x_msg_count,
370: p_data => x_msg_data);
371:
370: p_data => x_msg_data);
371:
372: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
373: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
374: FND_MSG_PUB.count_and_get(
375: p_encoded => FND_API.G_FALSE,
376: p_count => x_msg_count,
377: p_data => x_msg_data);
378:
377: p_data => x_msg_data);
378:
379: WHEN OTHERS THEN
380: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
381: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
382: THEN
383: FND_MSG_PUB.add_exc_msg(
384: p_pkg_name => G_PKG_NAME,
385: p_procedure_name => l_api_name,
379: WHEN OTHERS THEN
380: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
381: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
382: THEN
383: FND_MSG_PUB.add_exc_msg(
384: p_pkg_name => G_PKG_NAME,
385: p_procedure_name => l_api_name,
386: p_error_text => SUBSTRB(SQLERRM,1,240));
387: END IF;
384: p_pkg_name => G_PKG_NAME,
385: p_procedure_name => l_api_name,
386: p_error_text => SUBSTRB(SQLERRM,1,240));
387: END IF;
388: FND_MSG_PUB.count_and_get(
389: p_encoded => FND_API.G_FALSE,
390: p_count => x_msg_count,
391: p_data => x_msg_data);
392: END Get_Bulk_Part_Chg_Details;
2094:
2095: EXCEPTION
2096: WHEN FND_API.G_EXC_ERROR THEN
2097: x_return_status := FND_API.G_RET_STS_ERROR ;
2098: FND_MSG_PUB.count_and_get(
2099: p_encoded => FND_API.G_FALSE,
2100: p_count => x_msg_count,
2101: p_data => x_msg_data);
2102:
2101: p_data => x_msg_data);
2102:
2103: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2104: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
2105: FND_MSG_PUB.count_and_get(
2106: p_encoded => FND_API.G_FALSE,
2107: p_count => x_msg_count,
2108: p_data => x_msg_data);
2109:
2108: p_data => x_msg_data);
2109:
2110: WHEN OTHERS THEN
2111: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
2112: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2113: THEN
2114: FND_MSG_PUB.add_exc_msg(
2115: p_pkg_name => G_PKG_NAME,
2116: p_procedure_name => l_api_name,
2110: WHEN OTHERS THEN
2111: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
2112: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2113: THEN
2114: FND_MSG_PUB.add_exc_msg(
2115: p_pkg_name => G_PKG_NAME,
2116: p_procedure_name => l_api_name,
2117: p_error_text => SUBSTRB(SQLERRM,1,240));
2118: END IF;
2115: p_pkg_name => G_PKG_NAME,
2116: p_procedure_name => l_api_name,
2117: p_error_text => SUBSTRB(SQLERRM,1,240));
2118: END IF;
2119: FND_MSG_PUB.count_and_get(
2120: p_encoded => FND_API.G_FALSE,
2121: p_count => x_msg_count,
2122: p_data => x_msg_data);
2123: END Filter_records_uc_details;
2178: END IF;
2179:
2180: -- Initialize message list if p_init_msg_list is set to TRUE
2181: IF FND_API.TO_BOOLEAN(P_INIT_MSG_LIST) THEN
2182: FND_MSG_PUB.INITIALIZE;
2183: END IF;
2184:
2185: -- Initialize API return status to success
2186: X_RETURN_STATUS := FND_API.G_RET_STS_SUCCESS;
2357:
2358: IF ( X_RETURN_STATUS <> FND_API.G_RET_STS_SUCCESS) THEN
2359: -- Initialize message list if p_init_msg_list is set to TRUE
2360: IF FND_API.TO_BOOLEAN(P_INIT_MSG_LIST) THEN
2361: FND_MSG_PUB.INITIALIZE;
2362: END IF;
2363: FND_MESSAGE.Set_Name('AHL', 'AHL_PRD_BLK_PC_ERRORS');
2364: FND_MSG_PUB.ADD;
2365: RAISE FND_API.G_EXC_ERROR;
2360: IF FND_API.TO_BOOLEAN(P_INIT_MSG_LIST) THEN
2361: FND_MSG_PUB.INITIALIZE;
2362: END IF;
2363: FND_MESSAGE.Set_Name('AHL', 'AHL_PRD_BLK_PC_ERRORS');
2364: FND_MSG_PUB.ADD;
2365: RAISE FND_API.G_EXC_ERROR;
2366: END IF;
2367:
2368: GET_ORDERED_PCRECS(
2467: IF(l_MSG_COUNT = 1)THEN
2468: X_ERROR_MSG_TBL(l_error_msg_index).MESSAGE := X_ERROR_MSG_TBL(l_error_msg_index).MESSAGE || l_MSG_DATA ;
2469: ELSE
2470: FOR i IN 1..l_MSG_COUNT LOOP
2471: FND_MSG_PUB.get (
2472: p_msg_index => i,
2473: p_encoded => FND_API.G_FALSE,
2474: p_data => l_MSG_DATA,
2475: p_msg_index_out => l_msg_index_out );
2498: END LOOP;
2499: END IF;
2500: -- Initialize message list if p_init_msg_list is set to TRUE
2501: IF FND_API.TO_BOOLEAN(P_INIT_MSG_LIST) THEN
2502: FND_MSG_PUB.INITIALIZE;
2503: END IF;
2504: FND_MESSAGE.Set_Name('AHL', 'AHL_PRD_BLK_PC_ERRORS');
2505: FND_MSG_PUB.ADD;
2506: RAISE FND_API.G_EXC_ERROR;
2501: IF FND_API.TO_BOOLEAN(P_INIT_MSG_LIST) THEN
2502: FND_MSG_PUB.INITIALIZE;
2503: END IF;
2504: FND_MESSAGE.Set_Name('AHL', 'AHL_PRD_BLK_PC_ERRORS');
2505: FND_MSG_PUB.ADD;
2506: RAISE FND_API.G_EXC_ERROR;
2507: END IF;
2508: -- Standard check of p_commit
2509: IF FND_API.TO_BOOLEAN(P_COMMIT) THEN
2509: IF FND_API.TO_BOOLEAN(P_COMMIT) THEN
2510: COMMIT WORK;
2511: END IF;
2512: -- Standard call to get message count and if count is 1, get message
2513: FND_MSG_PUB.COUNT_AND_GET
2514: ( P_COUNT => X_MSG_COUNT,
2515: P_DATA => X_MSG_DATA,
2516: P_ENCODED => FND_API.G_FALSE);
2517:
2522: EXCEPTION
2523: WHEN FND_API.G_EXC_ERROR THEN
2524: X_RETURN_STATUS := FND_API.G_RET_STS_ERROR;
2525: ROLLBACK TO PRD_BLK_PARTS_CHNG_PVT;
2526: FND_MSG_PUB.COUNT_AND_GET( P_COUNT => X_MSG_COUNT,
2527: P_DATA => X_MSG_DATA,
2528: P_ENCODED => FND_API.G_FALSE);
2529:
2530: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2529:
2530: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2531: X_RETURN_STATUS := FND_API.G_RET_STS_UNEXP_ERROR;
2532: ROLLBACK TO PRD_BLK_PARTS_CHNG_PVT;
2533: FND_MSG_PUB.COUNT_AND_GET( P_COUNT => X_MSG_COUNT,
2534: P_DATA => X_MSG_DATA,
2535: P_ENCODED => FND_API.G_FALSE);
2536:
2537: WHEN OTHERS THEN
2537: WHEN OTHERS THEN
2538: X_RETURN_STATUS := FND_API.G_RET_STS_UNEXP_ERROR;
2539: ROLLBACK TO PRD_BLK_PARTS_CHNG_PVT;
2540:
2541: FND_MSG_PUB.ADD_EXC_MSG(P_PKG_NAME => 'AHL_PRD_BLK_PARTS_CHANGE_PVT',
2542: P_PROCEDURE_NAME => 'PROCESS_PART_CHANGES',
2543: P_ERROR_TEXT => SQLERRM);
2544: --END IF;
2545: FND_MSG_PUB.COUNT_AND_GET( P_COUNT => X_MSG_COUNT,
2541: FND_MSG_PUB.ADD_EXC_MSG(P_PKG_NAME => 'AHL_PRD_BLK_PARTS_CHANGE_PVT',
2542: P_PROCEDURE_NAME => 'PROCESS_PART_CHANGES',
2543: P_ERROR_TEXT => SQLERRM);
2544: --END IF;
2545: FND_MSG_PUB.COUNT_AND_GET( P_COUNT => X_MSG_COUNT,
2546: P_DATA => X_MSG_DATA,
2547: P_ENCODED => FND_API.G_FALSE);
2548:
2549: