462: EXCEPTION
463: WHEN MISSING_PARENT_ID THEN
464: P_return_status := FND_API.G_RET_STS_ERROR;
465: FND_MESSAGE.SET_NAME('GMA', 'SY_KEYMISSING');
466: FND_MSG_PUB.ADD;
467: FND_MSG_PUB.COUNT_AND_GET (P_count => P_msg_count,
468: P_data => P_msg_stack);
469: WHEN LOAD_STEPS_FAILED THEN
470: P_return_status := FND_API.G_RET_STS_ERROR;
463: WHEN MISSING_PARENT_ID THEN
464: P_return_status := FND_API.G_RET_STS_ERROR;
465: FND_MESSAGE.SET_NAME('GMA', 'SY_KEYMISSING');
466: FND_MSG_PUB.ADD;
467: FND_MSG_PUB.COUNT_AND_GET (P_count => P_msg_count,
468: P_data => P_msg_stack);
469: WHEN LOAD_STEPS_FAILED THEN
470: P_return_status := FND_API.G_RET_STS_ERROR;
471: FND_MSG_PUB.COUNT_AND_GET (P_count => P_msg_count,
467: FND_MSG_PUB.COUNT_AND_GET (P_count => P_msg_count,
468: P_data => P_msg_stack);
469: WHEN LOAD_STEPS_FAILED THEN
470: P_return_status := FND_API.G_RET_STS_ERROR;
471: FND_MSG_PUB.COUNT_AND_GET (P_count => P_msg_count,
472: P_data => P_msg_stack);
473: WHEN STEPS_UOM_NOT_MASS_VOLUME_TYPE THEN
474: P_return_status := FND_API.G_RET_STS_ERROR;
475: FND_MESSAGE.SET_NAME('GMD', 'GMD_STEP_NOT_MASS_VOL_UOM');
472: P_data => P_msg_stack);
473: WHEN STEPS_UOM_NOT_MASS_VOLUME_TYPE THEN
474: P_return_status := FND_API.G_RET_STS_ERROR;
475: FND_MESSAGE.SET_NAME('GMD', 'GMD_STEP_NOT_MASS_VOL_UOM');
476: FND_MSG_PUB.ADD;
477: FND_MSG_PUB.COUNT_AND_GET (P_count => P_msg_count,
478: P_data => P_msg_stack);
479: WHEN GET_STEP_MATERIAL_LINES_FAILED THEN
480: P_return_status := FND_API.G_RET_STS_ERROR;
473: WHEN STEPS_UOM_NOT_MASS_VOLUME_TYPE THEN
474: P_return_status := FND_API.G_RET_STS_ERROR;
475: FND_MESSAGE.SET_NAME('GMD', 'GMD_STEP_NOT_MASS_VOL_UOM');
476: FND_MSG_PUB.ADD;
477: FND_MSG_PUB.COUNT_AND_GET (P_count => P_msg_count,
478: P_data => P_msg_stack);
479: WHEN GET_STEP_MATERIAL_LINES_FAILED THEN
480: P_return_status := FND_API.G_RET_STS_ERROR;
481: FND_MSG_PUB.COUNT_AND_GET (P_count => P_msg_count,
477: FND_MSG_PUB.COUNT_AND_GET (P_count => P_msg_count,
478: P_data => P_msg_stack);
479: WHEN GET_STEP_MATERIAL_LINES_FAILED THEN
480: P_return_status := FND_API.G_RET_STS_ERROR;
481: FND_MSG_PUB.COUNT_AND_GET (P_count => P_msg_count,
482: P_data => P_msg_stack);
483: WHEN ERROR_SORTING_STEPS THEN
484: P_return_status := FND_API.G_RET_STS_ERROR;
485: FND_MSG_PUB.COUNT_AND_GET (P_count => P_msg_count,
481: FND_MSG_PUB.COUNT_AND_GET (P_count => P_msg_count,
482: P_data => P_msg_stack);
483: WHEN ERROR_SORTING_STEPS THEN
484: P_return_status := FND_API.G_RET_STS_ERROR;
485: FND_MSG_PUB.COUNT_AND_GET (P_count => P_msg_count,
486: P_data => P_msg_stack);
487: WHEN OTHERS THEN
488: P_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
489: FND_MSG_PUB.COUNT_AND_GET (P_count => P_msg_count,
485: FND_MSG_PUB.COUNT_AND_GET (P_count => P_msg_count,
486: P_data => P_msg_stack);
487: WHEN OTHERS THEN
488: P_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
489: FND_MSG_PUB.COUNT_AND_GET (P_count => P_msg_count,
490: P_data => P_msg_stack);
491: END calc_step_qty;
492:
493: /*======================================================================
784: EXCEPTION
785: WHEN NO_ROUTING_ASSOCIATED THEN
786: P_return_status := FND_API.G_RET_STS_ERROR;
787: FND_MESSAGE.SET_NAME('GMD', 'GMD_AUTO_STEP_QTY_NEEDS_ROUT');
788: FND_MSG_PUB.ADD;
789: WHEN ROUTING_DETAILS_MISSING THEN
790: P_return_status := FND_API.G_RET_STS_ERROR;
791: FND_MESSAGE.SET_NAME('GMD', 'FMROUTINGSTEPNOTFOUND');
792: FND_MSG_PUB.ADD;
788: FND_MSG_PUB.ADD;
789: WHEN ROUTING_DETAILS_MISSING THEN
790: P_return_status := FND_API.G_RET_STS_ERROR;
791: FND_MESSAGE.SET_NAME('GMD', 'FMROUTINGSTEPNOTFOUND');
792: FND_MSG_PUB.ADD;
793: --Following messages added for bug 2077203
794: WHEN CIRCULAR_REFERENCE THEN
795: P_return_status := FND_API.G_RET_STS_ERROR;
796: FND_MESSAGE.SET_NAME('GMD', 'GMD_CIRCULAR_DEPEN_DETECT');
793: --Following messages added for bug 2077203
794: WHEN CIRCULAR_REFERENCE THEN
795: P_return_status := FND_API.G_RET_STS_ERROR;
796: FND_MESSAGE.SET_NAME('GMD', 'GMD_CIRCULAR_DEPEN_DETECT');
797: FND_MSG_PUB.ADD;
798: WHEN OTHERS THEN
799: P_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
800: FND_MESSAGE.SET_NAME('GMD', 'GMD_UNEXPECTED_ERROR');
801: FND_MESSAGE.SET_TOKEN('ERROR', SQLERRM);
798: WHEN OTHERS THEN
799: P_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
800: FND_MESSAGE.SET_NAME('GMD', 'GMD_UNEXPECTED_ERROR');
801: FND_MESSAGE.SET_TOKEN('ERROR', SQLERRM);
802: FND_MSG_PUB.ADD;
803: END load_steps;
804:
805: /*======================================================================
806: -- FUNCTION :
1255: FND_MESSAGE.SET_NAME('GMI', 'IC_API_UOM_CONVERSION_ERROR');
1256: FND_MESSAGE.SET_TOKEN('ITEM_NO', X_item_no);
1257: FND_MESSAGE.SET_TOKEN('FROM_UOM', X_from_uom);
1258: FND_MESSAGE.SET_TOKEN('TO_UOM', X_to_uom);
1259: FND_MSG_PUB.ADD;
1260: WHEN NO_MATERIAL_STEP_ASSOC THEN
1261: P_return_status := FND_API.G_RET_STS_ERROR;
1262: FND_MESSAGE.SET_NAME('GMD', 'GMD_MISSING_MATL_STEP_ASSOC');
1263: FND_MSG_PUB.ADD;
1259: FND_MSG_PUB.ADD;
1260: WHEN NO_MATERIAL_STEP_ASSOC THEN
1261: P_return_status := FND_API.G_RET_STS_ERROR;
1262: FND_MESSAGE.SET_NAME('GMD', 'GMD_MISSING_MATL_STEP_ASSOC');
1263: FND_MSG_PUB.ADD;
1264: WHEN OTHERS THEN
1265: P_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1266: FND_MSG_PUB.ADD;
1267: END get_step_material_lines;
1262: FND_MESSAGE.SET_NAME('GMD', 'GMD_MISSING_MATL_STEP_ASSOC');
1263: FND_MSG_PUB.ADD;
1264: WHEN OTHERS THEN
1265: P_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1266: FND_MSG_PUB.ADD;
1267: END get_step_material_lines;
1268:
1269:
1270: /* Added by Shyam for GMF */
1568: FND_MESSAGE.SET_NAME('GMI', 'IC_API_UOM_CONVERSION_ERROR');
1569: FND_MESSAGE.SET_TOKEN('ITEM_NO', X_item_no);
1570: FND_MESSAGE.SET_TOKEN('FROM_UOM', X_from_uom);
1571: FND_MESSAGE.SET_TOKEN('TO_UOM', X_to_uom);
1572: FND_MSG_PUB.ADD;
1573: WHEN NO_MATERIAL_STEP_ASSOC THEN
1574: P_return_status := FND_API.G_RET_STS_ERROR;
1575: FND_MESSAGE.SET_NAME('GMD', 'GMD_MISSING_MATL_STEP_ASSOC');
1576: FND_MSG_PUB.ADD;
1572: FND_MSG_PUB.ADD;
1573: WHEN NO_MATERIAL_STEP_ASSOC THEN
1574: P_return_status := FND_API.G_RET_STS_ERROR;
1575: FND_MESSAGE.SET_NAME('GMD', 'GMD_MISSING_MATL_STEP_ASSOC');
1576: FND_MSG_PUB.ADD;
1577: WHEN COST_SCALING_ERROR THEN
1578: P_return_status := FND_API.G_RET_STS_ERROR;
1579: WHEN OTHERS THEN
1580: P_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1577: WHEN COST_SCALING_ERROR THEN
1578: P_return_status := FND_API.G_RET_STS_ERROR;
1579: WHEN OTHERS THEN
1580: P_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1581: FND_MSG_PUB.ADD;
1582: END get_step_material_lines;
1583:
1584:
1585: /*======================================================================
1683: END LOOP; /* FOR i IN 1..X_count */
1684: EXCEPTION
1685: WHEN OTHERS THEN
1686: P_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1687: FND_MSG_PUB.ADD;
1688: END sort_step_lines;
1689:
1690:
1691: /*======================================================================
1833: ALL_MTL_LINES_NOT_ASSOC EXCEPTION;
1834: UOM_CONVERSION_ERROR EXCEPTION;
1835: BEGIN
1836: P_return_status := FND_API.G_RET_STS_SUCCESS;
1837: FND_MSG_PUB.INITIALIZE;
1838:
1839: /* If recipe id is null it implies that the material
1840: step association has not been done */
1841: IF P_check.parent_id IS NULL THEN
2000: EXCEPTION
2001: WHEN NO_ROUTING_ASSOCIATED THEN
2002: P_return_status := FND_API.G_RET_STS_ERROR;
2003: FND_MESSAGE.SET_NAME('GMD', 'GMD_AUTO_STEP_QTY_NEEDS_ROUT');
2004: FND_MSG_PUB.ADD;
2005: FND_MSG_PUB.COUNT_AND_GET (P_count => P_msg_count,
2006: P_data => P_msg_stack);
2007: WHEN ROUTING_DETAILS_MISSING THEN
2008: P_return_status := FND_API.G_RET_STS_ERROR;
2001: WHEN NO_ROUTING_ASSOCIATED THEN
2002: P_return_status := FND_API.G_RET_STS_ERROR;
2003: FND_MESSAGE.SET_NAME('GMD', 'GMD_AUTO_STEP_QTY_NEEDS_ROUT');
2004: FND_MSG_PUB.ADD;
2005: FND_MSG_PUB.COUNT_AND_GET (P_count => P_msg_count,
2006: P_data => P_msg_stack);
2007: WHEN ROUTING_DETAILS_MISSING THEN
2008: P_return_status := FND_API.G_RET_STS_ERROR;
2009: FND_MESSAGE.SET_NAME('GMD', 'FMROUTINGSTEPNOTFOUND');
2006: P_data => P_msg_stack);
2007: WHEN ROUTING_DETAILS_MISSING THEN
2008: P_return_status := FND_API.G_RET_STS_ERROR;
2009: FND_MESSAGE.SET_NAME('GMD', 'FMROUTINGSTEPNOTFOUND');
2010: FND_MSG_PUB.ADD;
2011: FND_MSG_PUB.COUNT_AND_GET (P_count => P_msg_count,
2012: P_data => P_msg_stack);
2013: WHEN NO_MATERIAL_STEP_ASSOC THEN
2014: P_return_status := FND_API.G_RET_STS_ERROR;
2007: WHEN ROUTING_DETAILS_MISSING THEN
2008: P_return_status := FND_API.G_RET_STS_ERROR;
2009: FND_MESSAGE.SET_NAME('GMD', 'FMROUTINGSTEPNOTFOUND');
2010: FND_MSG_PUB.ADD;
2011: FND_MSG_PUB.COUNT_AND_GET (P_count => P_msg_count,
2012: P_data => P_msg_stack);
2013: WHEN NO_MATERIAL_STEP_ASSOC THEN
2014: P_return_status := FND_API.G_RET_STS_ERROR;
2015: -- debug line p_return_status := 'Z';
2013: WHEN NO_MATERIAL_STEP_ASSOC THEN
2014: P_return_status := FND_API.G_RET_STS_ERROR;
2015: -- debug line p_return_status := 'Z';
2016: FND_MESSAGE.SET_NAME('GMD', 'GMD_MISSING_MATL_STEP_ASSOC');
2017: FND_MSG_PUB.ADD;
2018: FND_MSG_PUB.COUNT_AND_GET (P_count => P_msg_count,
2019: P_data => P_msg_stack);
2020: WHEN ALL_MTL_LINES_NOT_ASSOC THEN
2021: P_return_status := FND_API.G_RET_STS_ERROR;
2014: P_return_status := FND_API.G_RET_STS_ERROR;
2015: -- debug line p_return_status := 'Z';
2016: FND_MESSAGE.SET_NAME('GMD', 'GMD_MISSING_MATL_STEP_ASSOC');
2017: FND_MSG_PUB.ADD;
2018: FND_MSG_PUB.COUNT_AND_GET (P_count => P_msg_count,
2019: P_data => P_msg_stack);
2020: WHEN ALL_MTL_LINES_NOT_ASSOC THEN
2021: P_return_status := FND_API.G_RET_STS_ERROR;
2022: -- debug line p_return_status := 'Y';
2020: WHEN ALL_MTL_LINES_NOT_ASSOC THEN
2021: P_return_status := FND_API.G_RET_STS_ERROR;
2022: -- debug line p_return_status := 'Y';
2023: FND_MESSAGE.SET_NAME('GMD', 'GMD_ALL_MATL_STEP_NOT_ASSOC');
2024: FND_MSG_PUB.ADD;
2025: FND_MSG_PUB.COUNT_AND_GET (P_count => P_msg_count,
2026: P_data => P_msg_stack);
2027: WHEN UOM_CONVERSION_ERROR THEN
2028: P_return_status := FND_API.G_RET_STS_ERROR;
2021: P_return_status := FND_API.G_RET_STS_ERROR;
2022: -- debug line p_return_status := 'Y';
2023: FND_MESSAGE.SET_NAME('GMD', 'GMD_ALL_MATL_STEP_NOT_ASSOC');
2024: FND_MSG_PUB.ADD;
2025: FND_MSG_PUB.COUNT_AND_GET (P_count => P_msg_count,
2026: P_data => P_msg_stack);
2027: WHEN UOM_CONVERSION_ERROR THEN
2028: P_return_status := FND_API.G_RET_STS_ERROR;
2029: OPEN Cur_get_item;
2032: FND_MESSAGE.SET_NAME('GMI', 'IC_API_UOM_CONVERSION_ERROR');
2033: FND_MESSAGE.SET_TOKEN('ITEM_NO', X_item_no);
2034: FND_MESSAGE.SET_TOKEN('FROM_UOM', X_from_uom);
2035: FND_MESSAGE.SET_TOKEN('TO_UOM', X_to_uom);
2036: FND_MSG_PUB.ADD;
2037: FND_MSG_PUB.COUNT_AND_GET (P_count => P_msg_count,
2038: P_data => P_msg_stack);
2039: WHEN OTHERS THEN
2040: P_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2033: FND_MESSAGE.SET_TOKEN('ITEM_NO', X_item_no);
2034: FND_MESSAGE.SET_TOKEN('FROM_UOM', X_from_uom);
2035: FND_MESSAGE.SET_TOKEN('TO_UOM', X_to_uom);
2036: FND_MSG_PUB.ADD;
2037: FND_MSG_PUB.COUNT_AND_GET (P_count => P_msg_count,
2038: P_data => P_msg_stack);
2039: WHEN OTHERS THEN
2040: P_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2041: fnd_message.set_name('GMD',SQLERRM);
2038: P_data => P_msg_stack);
2039: WHEN OTHERS THEN
2040: P_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2041: fnd_message.set_name('GMD',SQLERRM);
2042: fnd_msg_pub.add;
2043: FND_MSG_PUB.COUNT_AND_GET (P_count => P_msg_count,
2044: P_data => P_msg_stack);
2045: END check_step_qty_calculatable;
2046:
2039: WHEN OTHERS THEN
2040: P_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2041: fnd_message.set_name('GMD',SQLERRM);
2042: fnd_msg_pub.add;
2043: FND_MSG_PUB.COUNT_AND_GET (P_count => P_msg_count,
2044: P_data => P_msg_stack);
2045: END check_step_qty_calculatable;
2046:
2047:
2123: WHEN OTHERS THEN
2124: -- It is OK if no rows are found in step/mat table.
2125: -- This exception is for database errors
2126: P_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2127: FND_MSG_PUB.COUNT_AND_GET (P_count => P_msg_count,
2128: P_data => P_msg_stack);
2129: END check_del_from_step_mat;
2130:
2131:
2302: END IF; -- end if there are any recipes affected by the formulaline or routingstep delete
2303:
2304: EXCEPTION
2305: WHEN debug_msg THEN
2306: FND_MSG_PUB.ADD;
2307: FND_MSG_PUB.COUNT_AND_GET (P_count => P_msg_count,
2308: P_data => P_msg_stack);
2309: -- debug dbms_output.put_line ('in exception ' || p_return_status);
2310:
2303:
2304: EXCEPTION
2305: WHEN debug_msg THEN
2306: FND_MSG_PUB.ADD;
2307: FND_MSG_PUB.COUNT_AND_GET (P_count => P_msg_count,
2308: P_data => P_msg_stack);
2309: -- debug dbms_output.put_line ('in exception ' || p_return_status);
2310:
2311: WHEN ALL_MTL_LINES_NOT_ASSOC THEN
2310:
2311: WHEN ALL_MTL_LINES_NOT_ASSOC THEN
2312: P_return_status := FND_API.G_RET_STS_ERROR;
2313: FND_MESSAGE.SET_NAME('GMD', 'GMD_ALL_MATL_STEP_NOT_ASSOC');
2314: FND_MSG_PUB.ADD;
2315: FND_MSG_PUB.COUNT_AND_GET (P_count => P_msg_count,
2316: P_data => P_msg_stack);
2317: WHEN OTHERS THEN
2318: -- It is OK if no rows are found in step/mat table.
2311: WHEN ALL_MTL_LINES_NOT_ASSOC THEN
2312: P_return_status := FND_API.G_RET_STS_ERROR;
2313: FND_MESSAGE.SET_NAME('GMD', 'GMD_ALL_MATL_STEP_NOT_ASSOC');
2314: FND_MSG_PUB.ADD;
2315: FND_MSG_PUB.COUNT_AND_GET (P_count => P_msg_count,
2316: P_data => P_msg_stack);
2317: WHEN OTHERS THEN
2318: -- It is OK if no rows are found in step/mat table.
2319: -- The 3 procedures called have their own error handling.
2317: WHEN OTHERS THEN
2318: -- It is OK if no rows are found in step/mat table.
2319: -- The 3 procedures called have their own error handling.
2320: P_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2321: FND_MSG_PUB.COUNT_AND_GET (P_count => P_msg_count,
2322: P_data => P_msg_stack);
2323: END cascade_del_to_step_mat;
2324:
2325: