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 :
1249: FND_MESSAGE.SET_NAME('GMI', 'IC_API_UOM_CONVERSION_ERROR');
1250: FND_MESSAGE.SET_TOKEN('ITEM_NO', X_item_no);
1251: FND_MESSAGE.SET_TOKEN('FROM_UOM', X_from_uom);
1252: FND_MESSAGE.SET_TOKEN('TO_UOM', X_to_uom);
1253: FND_MSG_PUB.ADD;
1254: WHEN NO_MATERIAL_STEP_ASSOC THEN
1255: P_return_status := FND_API.G_RET_STS_ERROR;
1256: FND_MESSAGE.SET_NAME('GMD', 'GMD_MISSING_MATL_STEP_ASSOC');
1257: FND_MSG_PUB.ADD;
1253: FND_MSG_PUB.ADD;
1254: WHEN NO_MATERIAL_STEP_ASSOC THEN
1255: P_return_status := FND_API.G_RET_STS_ERROR;
1256: FND_MESSAGE.SET_NAME('GMD', 'GMD_MISSING_MATL_STEP_ASSOC');
1257: FND_MSG_PUB.ADD;
1258: WHEN OTHERS THEN
1259: P_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1260: FND_MSG_PUB.ADD;
1261: END get_step_material_lines;
1256: FND_MESSAGE.SET_NAME('GMD', 'GMD_MISSING_MATL_STEP_ASSOC');
1257: FND_MSG_PUB.ADD;
1258: WHEN OTHERS THEN
1259: P_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1260: FND_MSG_PUB.ADD;
1261: END get_step_material_lines;
1262:
1263:
1264: /* Added by Shyam for GMF */
1562: FND_MESSAGE.SET_NAME('GMI', 'IC_API_UOM_CONVERSION_ERROR');
1563: FND_MESSAGE.SET_TOKEN('ITEM_NO', X_item_no);
1564: FND_MESSAGE.SET_TOKEN('FROM_UOM', X_from_uom);
1565: FND_MESSAGE.SET_TOKEN('TO_UOM', X_to_uom);
1566: FND_MSG_PUB.ADD;
1567: WHEN NO_MATERIAL_STEP_ASSOC THEN
1568: P_return_status := FND_API.G_RET_STS_ERROR;
1569: FND_MESSAGE.SET_NAME('GMD', 'GMD_MISSING_MATL_STEP_ASSOC');
1570: FND_MSG_PUB.ADD;
1566: FND_MSG_PUB.ADD;
1567: WHEN NO_MATERIAL_STEP_ASSOC THEN
1568: P_return_status := FND_API.G_RET_STS_ERROR;
1569: FND_MESSAGE.SET_NAME('GMD', 'GMD_MISSING_MATL_STEP_ASSOC');
1570: FND_MSG_PUB.ADD;
1571: WHEN COST_SCALING_ERROR THEN
1572: P_return_status := FND_API.G_RET_STS_ERROR;
1573: WHEN OTHERS THEN
1574: P_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1571: WHEN COST_SCALING_ERROR THEN
1572: P_return_status := FND_API.G_RET_STS_ERROR;
1573: WHEN OTHERS THEN
1574: P_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1575: FND_MSG_PUB.ADD;
1576: END get_step_material_lines;
1577:
1578:
1579: /*======================================================================
1677: END LOOP; /* FOR i IN 1..X_count */
1678: EXCEPTION
1679: WHEN OTHERS THEN
1680: P_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1681: FND_MSG_PUB.ADD;
1682: END sort_step_lines;
1683:
1684:
1685: /*======================================================================
1825: ALL_MTL_LINES_NOT_ASSOC EXCEPTION;
1826: UOM_CONVERSION_ERROR EXCEPTION;
1827: BEGIN
1828: P_return_status := FND_API.G_RET_STS_SUCCESS;
1829: FND_MSG_PUB.INITIALIZE;
1830:
1831: /* If recipe id is null it implies that the material
1832: step association has not been done */
1833: IF P_check.parent_id IS NULL THEN
1992: EXCEPTION
1993: WHEN NO_ROUTING_ASSOCIATED THEN
1994: P_return_status := FND_API.G_RET_STS_ERROR;
1995: FND_MESSAGE.SET_NAME('GMD', 'GMD_AUTO_STEP_QTY_NEEDS_ROUT');
1996: FND_MSG_PUB.ADD;
1997: FND_MSG_PUB.COUNT_AND_GET (P_count => P_msg_count,
1998: P_data => P_msg_stack);
1999: WHEN ROUTING_DETAILS_MISSING THEN
2000: P_return_status := FND_API.G_RET_STS_ERROR;
1993: WHEN NO_ROUTING_ASSOCIATED THEN
1994: P_return_status := FND_API.G_RET_STS_ERROR;
1995: FND_MESSAGE.SET_NAME('GMD', 'GMD_AUTO_STEP_QTY_NEEDS_ROUT');
1996: FND_MSG_PUB.ADD;
1997: FND_MSG_PUB.COUNT_AND_GET (P_count => P_msg_count,
1998: P_data => P_msg_stack);
1999: WHEN ROUTING_DETAILS_MISSING THEN
2000: P_return_status := FND_API.G_RET_STS_ERROR;
2001: FND_MESSAGE.SET_NAME('GMD', 'FMROUTINGSTEPNOTFOUND');
1998: P_data => P_msg_stack);
1999: WHEN ROUTING_DETAILS_MISSING THEN
2000: P_return_status := FND_API.G_RET_STS_ERROR;
2001: FND_MESSAGE.SET_NAME('GMD', 'FMROUTINGSTEPNOTFOUND');
2002: FND_MSG_PUB.ADD;
2003: FND_MSG_PUB.COUNT_AND_GET (P_count => P_msg_count,
2004: P_data => P_msg_stack);
2005: WHEN NO_MATERIAL_STEP_ASSOC THEN
2006: P_return_status := FND_API.G_RET_STS_ERROR;
1999: WHEN ROUTING_DETAILS_MISSING THEN
2000: P_return_status := FND_API.G_RET_STS_ERROR;
2001: FND_MESSAGE.SET_NAME('GMD', 'FMROUTINGSTEPNOTFOUND');
2002: FND_MSG_PUB.ADD;
2003: FND_MSG_PUB.COUNT_AND_GET (P_count => P_msg_count,
2004: P_data => P_msg_stack);
2005: WHEN NO_MATERIAL_STEP_ASSOC THEN
2006: P_return_status := FND_API.G_RET_STS_ERROR;
2007: -- debug line p_return_status := 'Z';
2005: WHEN NO_MATERIAL_STEP_ASSOC THEN
2006: P_return_status := FND_API.G_RET_STS_ERROR;
2007: -- debug line p_return_status := 'Z';
2008: FND_MESSAGE.SET_NAME('GMD', 'GMD_MISSING_MATL_STEP_ASSOC');
2009: FND_MSG_PUB.ADD;
2010: FND_MSG_PUB.COUNT_AND_GET (P_count => P_msg_count,
2011: P_data => P_msg_stack);
2012: WHEN ALL_MTL_LINES_NOT_ASSOC THEN
2013: P_return_status := FND_API.G_RET_STS_ERROR;
2006: P_return_status := FND_API.G_RET_STS_ERROR;
2007: -- debug line p_return_status := 'Z';
2008: FND_MESSAGE.SET_NAME('GMD', 'GMD_MISSING_MATL_STEP_ASSOC');
2009: FND_MSG_PUB.ADD;
2010: FND_MSG_PUB.COUNT_AND_GET (P_count => P_msg_count,
2011: P_data => P_msg_stack);
2012: WHEN ALL_MTL_LINES_NOT_ASSOC THEN
2013: P_return_status := FND_API.G_RET_STS_ERROR;
2014: -- debug line p_return_status := 'Y';
2012: WHEN ALL_MTL_LINES_NOT_ASSOC THEN
2013: P_return_status := FND_API.G_RET_STS_ERROR;
2014: -- debug line p_return_status := 'Y';
2015: FND_MESSAGE.SET_NAME('GMD', 'GMD_ALL_MATL_STEP_NOT_ASSOC');
2016: FND_MSG_PUB.ADD;
2017: FND_MSG_PUB.COUNT_AND_GET (P_count => P_msg_count,
2018: P_data => P_msg_stack);
2019: WHEN UOM_CONVERSION_ERROR THEN
2020: P_return_status := FND_API.G_RET_STS_ERROR;
2013: P_return_status := FND_API.G_RET_STS_ERROR;
2014: -- debug line p_return_status := 'Y';
2015: FND_MESSAGE.SET_NAME('GMD', 'GMD_ALL_MATL_STEP_NOT_ASSOC');
2016: FND_MSG_PUB.ADD;
2017: FND_MSG_PUB.COUNT_AND_GET (P_count => P_msg_count,
2018: P_data => P_msg_stack);
2019: WHEN UOM_CONVERSION_ERROR THEN
2020: P_return_status := FND_API.G_RET_STS_ERROR;
2021: OPEN Cur_get_item;
2024: FND_MESSAGE.SET_NAME('GMI', 'IC_API_UOM_CONVERSION_ERROR');
2025: FND_MESSAGE.SET_TOKEN('ITEM_NO', X_item_no);
2026: FND_MESSAGE.SET_TOKEN('FROM_UOM', X_from_uom);
2027: FND_MESSAGE.SET_TOKEN('TO_UOM', X_to_uom);
2028: FND_MSG_PUB.ADD;
2029: FND_MSG_PUB.COUNT_AND_GET (P_count => P_msg_count,
2030: P_data => P_msg_stack);
2031: WHEN OTHERS THEN
2032: P_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2025: FND_MESSAGE.SET_TOKEN('ITEM_NO', X_item_no);
2026: FND_MESSAGE.SET_TOKEN('FROM_UOM', X_from_uom);
2027: FND_MESSAGE.SET_TOKEN('TO_UOM', X_to_uom);
2028: FND_MSG_PUB.ADD;
2029: FND_MSG_PUB.COUNT_AND_GET (P_count => P_msg_count,
2030: P_data => P_msg_stack);
2031: WHEN OTHERS THEN
2032: P_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2033: fnd_message.set_name('GMD',SQLERRM);
2030: P_data => P_msg_stack);
2031: WHEN OTHERS THEN
2032: P_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2033: fnd_message.set_name('GMD',SQLERRM);
2034: fnd_msg_pub.add;
2035: FND_MSG_PUB.COUNT_AND_GET (P_count => P_msg_count,
2036: P_data => P_msg_stack);
2037: END check_step_qty_calculatable;
2038:
2031: WHEN OTHERS THEN
2032: P_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2033: fnd_message.set_name('GMD',SQLERRM);
2034: fnd_msg_pub.add;
2035: FND_MSG_PUB.COUNT_AND_GET (P_count => P_msg_count,
2036: P_data => P_msg_stack);
2037: END check_step_qty_calculatable;
2038:
2039:
2115: WHEN OTHERS THEN
2116: -- It is OK if no rows are found in step/mat table.
2117: -- This exception is for database errors
2118: P_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2119: FND_MSG_PUB.COUNT_AND_GET (P_count => P_msg_count,
2120: P_data => P_msg_stack);
2121: END check_del_from_step_mat;
2122:
2123:
2294: END IF; -- end if there are any recipes affected by the formulaline or routingstep delete
2295:
2296: EXCEPTION
2297: WHEN debug_msg THEN
2298: FND_MSG_PUB.ADD;
2299: FND_MSG_PUB.COUNT_AND_GET (P_count => P_msg_count,
2300: P_data => P_msg_stack);
2301: -- debug dbms_output.put_line ('in exception ' || p_return_status);
2302:
2295:
2296: EXCEPTION
2297: WHEN debug_msg THEN
2298: FND_MSG_PUB.ADD;
2299: FND_MSG_PUB.COUNT_AND_GET (P_count => P_msg_count,
2300: P_data => P_msg_stack);
2301: -- debug dbms_output.put_line ('in exception ' || p_return_status);
2302:
2303: WHEN ALL_MTL_LINES_NOT_ASSOC THEN
2302:
2303: WHEN ALL_MTL_LINES_NOT_ASSOC THEN
2304: P_return_status := FND_API.G_RET_STS_ERROR;
2305: FND_MESSAGE.SET_NAME('GMD', 'GMD_ALL_MATL_STEP_NOT_ASSOC');
2306: FND_MSG_PUB.ADD;
2307: FND_MSG_PUB.COUNT_AND_GET (P_count => P_msg_count,
2308: P_data => P_msg_stack);
2309: WHEN OTHERS THEN
2310: -- It is OK if no rows are found in step/mat table.
2303: WHEN ALL_MTL_LINES_NOT_ASSOC THEN
2304: P_return_status := FND_API.G_RET_STS_ERROR;
2305: FND_MESSAGE.SET_NAME('GMD', 'GMD_ALL_MATL_STEP_NOT_ASSOC');
2306: FND_MSG_PUB.ADD;
2307: FND_MSG_PUB.COUNT_AND_GET (P_count => P_msg_count,
2308: P_data => P_msg_stack);
2309: WHEN OTHERS THEN
2310: -- It is OK if no rows are found in step/mat table.
2311: -- The 3 procedures called have their own error handling.
2309: WHEN OTHERS THEN
2310: -- It is OK if no rows are found in step/mat table.
2311: -- The 3 procedures called have their own error handling.
2312: P_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2313: FND_MSG_PUB.COUNT_AND_GET (P_count => P_msg_count,
2314: P_data => P_msg_stack);
2315: END cascade_del_to_step_mat;
2316:
2317: