184: xTable_out => pTable_out,
185: xReturn => x_return_status);
186: IF (x_return_status <> 'S') THEN
187: IF (p_formula_detail_rec.formula_no IS NULL) THEN
188: FND_MESSAGE.SET_NAME('GMD', 'FM_MISSING_FORMULA_NO');
189: FND_MSG_PUB.Add;
190: ELSIF (p_formula_detail_rec.formula_vers IS NULL) THEN
191: FND_MESSAGE.SET_NAME('GMD', 'FM_MISSING_FORMULA_VERS');
192: FND_MSG_PUB.Add;
187: IF (p_formula_detail_rec.formula_no IS NULL) THEN
188: FND_MESSAGE.SET_NAME('GMD', 'FM_MISSING_FORMULA_NO');
189: FND_MSG_PUB.Add;
190: ELSIF (p_formula_detail_rec.formula_vers IS NULL) THEN
191: FND_MESSAGE.SET_NAME('GMD', 'FM_MISSING_FORMULA_VERS');
192: FND_MSG_PUB.Add;
193: ELSE
194: FND_MESSAGE.SET_NAME('GMD', 'FM_INVFORMULANO');
195: FND_MESSAGE.SET_TOKEN('FORMULA_NO',p_formula_detail_rec.formula_no);
190: ELSIF (p_formula_detail_rec.formula_vers IS NULL) THEN
191: FND_MESSAGE.SET_NAME('GMD', 'FM_MISSING_FORMULA_VERS');
192: FND_MSG_PUB.Add;
193: ELSE
194: FND_MESSAGE.SET_NAME('GMD', 'FM_INVFORMULANO');
195: FND_MESSAGE.SET_TOKEN('FORMULA_NO',p_formula_detail_rec.formula_no);
196: FND_MSG_PUB.Add;
197: END IF;
198: RAISE FND_API.G_EXC_ERROR;
191: FND_MESSAGE.SET_NAME('GMD', 'FM_MISSING_FORMULA_VERS');
192: FND_MSG_PUB.Add;
193: ELSE
194: FND_MESSAGE.SET_NAME('GMD', 'FM_INVFORMULANO');
195: FND_MESSAGE.SET_TOKEN('FORMULA_NO',p_formula_detail_rec.formula_no);
196: FND_MSG_PUB.Add;
197: END IF;
198: RAISE FND_API.G_EXC_ERROR;
199: ELSE
209:
210: p_formula_detail_rec.owner_organization_id := l_org_id;
211:
212: IF (p_formula_detail_rec.inventory_item_id is NULL AND p_formula_detail_rec.item_no IS NULL) THEN
213: FND_MESSAGE.SET_NAME('GMI', 'GMI_API_ITEM_NOT_FOUND');
214: FND_MSG_PUB.Add;
215: ELSE
216: GMDFMVAL_PUB.get_item_id(pitem_no => p_formula_detail_rec.item_no,
217: pinventory_item_id => p_formula_detail_rec.inventory_item_id,
219: xitem_id => l_item_id,
220: xitem_um => l_inv_uom,
221: xreturn_code => l_return_val);
222: IF (l_return_val < 0) THEN
223: FND_MESSAGE.SET_NAME('GMI','IC_API_INVALID_ITEM_NO');
224: FND_MESSAGE.SET_TOKEN('ITEM_NO',p_formula_detail_rec.item_no);
225: FND_MSG_PUB.Add;
226: RAISE FND_API.G_EXC_ERROR;
227: END IF;
220: xitem_um => l_inv_uom,
221: xreturn_code => l_return_val);
222: IF (l_return_val < 0) THEN
223: FND_MESSAGE.SET_NAME('GMI','IC_API_INVALID_ITEM_NO');
224: FND_MESSAGE.SET_TOKEN('ITEM_NO',p_formula_detail_rec.item_no);
225: FND_MSG_PUB.Add;
226: RAISE FND_API.G_EXC_ERROR;
227: END IF;
228: END IF;
244: p_data => x_msg_data );
245: END;
246:
247: IF v_recipe_enabled <> 'Y' THEN
248: FND_MESSAGE.SET_NAME('GMD', 'GMD_ITEM_NOT_RECIPE_ENABLED');
249: FND_MESSAGE.SET_TOKEN('ITEM_NO', v_item_no);
250: FND_MSG_PUB.Add;
251: RAISE FND_API.G_EXC_ERROR;
252: END IF ;
245: END;
246:
247: IF v_recipe_enabled <> 'Y' THEN
248: FND_MESSAGE.SET_NAME('GMD', 'GMD_ITEM_NOT_RECIPE_ENABLED');
249: FND_MESSAGE.SET_TOKEN('ITEM_NO', v_item_no);
250: FND_MSG_PUB.Add;
251: RAISE FND_API.G_EXC_ERROR;
252: END IF ;
253:
258: END IF;
259: -- Bug 4603060 Use the user from context
260: l_user_id := FND_GLOBAL.user_id;
261: IF (l_user_id IS NULL) THEN
262: FND_MESSAGE.SET_NAME('GMD', 'GMD_USER_CONTEXT_NOT_SET');
263: FND_MSG_PUB.Add;
264: RAISE FND_API.G_EXC_ERROR;
265: END IF;
266:
292: (l_formula_id,
293: p_formula_detail_rec.line_no,
294: p_formula_detail_rec.line_type);
295: IF (l_return_val <> 0) THEN
296: FND_MESSAGE.SET_NAME('GMD','FM_DUPLICATE_LINE_NO');
297: FND_MESSAGE.SET_TOKEN('ITEM_NO', p_formula_detail_rec.item_no);
298: FND_MESSAGE.SET_TOKEN('FORMULA_NO', p_formula_detail_rec.formula_no);
299: FND_MESSAGE.SET_TOKEN('FORMULA_VERS',p_formula_detail_rec.formula_vers );
300: FND_MSG_PUB.Add;
293: p_formula_detail_rec.line_no,
294: p_formula_detail_rec.line_type);
295: IF (l_return_val <> 0) THEN
296: FND_MESSAGE.SET_NAME('GMD','FM_DUPLICATE_LINE_NO');
297: FND_MESSAGE.SET_TOKEN('ITEM_NO', p_formula_detail_rec.item_no);
298: FND_MESSAGE.SET_TOKEN('FORMULA_NO', p_formula_detail_rec.formula_no);
299: FND_MESSAGE.SET_TOKEN('FORMULA_VERS',p_formula_detail_rec.formula_vers );
300: FND_MSG_PUB.Add;
301: RAISE FND_API.G_EXC_ERROR;
294: p_formula_detail_rec.line_type);
295: IF (l_return_val <> 0) THEN
296: FND_MESSAGE.SET_NAME('GMD','FM_DUPLICATE_LINE_NO');
297: FND_MESSAGE.SET_TOKEN('ITEM_NO', p_formula_detail_rec.item_no);
298: FND_MESSAGE.SET_TOKEN('FORMULA_NO', p_formula_detail_rec.formula_no);
299: FND_MESSAGE.SET_TOKEN('FORMULA_VERS',p_formula_detail_rec.formula_vers );
300: FND_MSG_PUB.Add;
301: RAISE FND_API.G_EXC_ERROR;
302: END IF;
295: IF (l_return_val <> 0) THEN
296: FND_MESSAGE.SET_NAME('GMD','FM_DUPLICATE_LINE_NO');
297: FND_MESSAGE.SET_TOKEN('ITEM_NO', p_formula_detail_rec.item_no);
298: FND_MESSAGE.SET_TOKEN('FORMULA_NO', p_formula_detail_rec.formula_no);
299: FND_MESSAGE.SET_TOKEN('FORMULA_VERS',p_formula_detail_rec.formula_vers );
300: FND_MSG_PUB.Add;
301: RAISE FND_API.G_EXC_ERROR;
302: END IF;
303:
318: IF (p_formula_detail_rec.formulaline_id IS NULL) THEN
319: l_surrogate := GMDSURG.get_surrogate('formulaline_id');
320: /* Call for private API */
321: IF (l_surrogate < 1) THEN
322: FND_MESSAGE.SET_NAME('GMD','FM_INVALID_FMLINE_ID');
323: FND_MSG_PUB.Add;
324: RAISE FND_API.G_EXC_ERROR;
325: END IF;
326: ELSE
360: IF l_auto_calc = 'Y' THEN
361: IF l_formula_calc_flag = 'Y' AND p_formula_detail_rec.line_type = 1
362: AND p_formula_detail_rec.scale_type_dtl =1 AND p_formula_detail_rec.prod_percent IS NULL THEN
363: /* Error to be raised for Proportional Products when Percentages are not passed */
364: FND_MESSAGE.SET_NAME('GMD', 'GMD_ENTER_PERCENTAGE_YES');
365: FND_MSG_PUB.Add;
366: RAISE FND_API.G_EXC_ERROR;
367: ELSIF l_formula_calc_flag = 'Y' AND (p_formula_detail_rec.prod_percent IS NOT NULL )
368: AND ( p_formula_detail_rec.line_type IN (-1,2) OR
368: AND ( p_formula_detail_rec.line_type IN (-1,2) OR
369: ( p_formula_detail_rec.line_type = 1 AND p_formula_detail_rec.scale_type_dtl = 0 ) ) THEN
370: /* Error to be raised when Percentages are passed for Ingredients/By-Products or Fixed
371: Products */
372: FND_MESSAGE.SET_NAME('GMD', 'GMD_ENTER_PERCENTAGE_CANNOT');
373: FND_MSG_PUB.Add;
374: RAISE FND_API.G_EXC_ERROR;
375: END IF;
376: END IF;
378: IF ( ( l_auto_calc IS NULL OR l_auto_calc = 'N') OR (l_formula_calc_flag IS NULL OR l_formula_calc_flag = 'N' ))
379: AND p_formula_detail_rec.prod_percent IS NOT NULL THEN
380: /* Error to be raised when Percentages are passed when Parameter is not Set tp
381: Calculate Product qty */
382: FND_MESSAGE.SET_NAME('GMD', 'GMD_ENTER_PERCENTAGE_NO');
383: FND_MSG_PUB.Add;
384: RAISE FND_API.G_EXC_ERROR;
385: END IF;
386: -- Kapil ME Auto-Prod :Bug#5716318
739: p_formula_detail_rec.formula_vers,
740: l_formula_id, l_return_val);
741: IF (l_return_val <> 0) THEN
742: IF (p_formula_detail_rec.formula_no IS NULL) THEN
743: FND_MESSAGE.SET_NAME('GMD', 'FM_MISSING_FORMULA_NO');
744: FND_MSG_PUB.Add;
745: RAISE FND_API.G_EXC_ERROR;
746: ELSIF (p_formula_detail_rec.formula_vers IS NULL) THEN
747: FND_MESSAGE.SET_NAME('GMD', 'FM_MISSING_FORMULA_VERS');
743: FND_MESSAGE.SET_NAME('GMD', 'FM_MISSING_FORMULA_NO');
744: FND_MSG_PUB.Add;
745: RAISE FND_API.G_EXC_ERROR;
746: ELSIF (p_formula_detail_rec.formula_vers IS NULL) THEN
747: FND_MESSAGE.SET_NAME('GMD', 'FM_MISSING_FORMULA_VERS');
748: FND_MSG_PUB.Add;
749: RAISE FND_API.G_EXC_ERROR;
750: ELSE
751: FND_MESSAGE.SET_NAME('GMD', 'FM_INVFORMULANO');
747: FND_MESSAGE.SET_NAME('GMD', 'FM_MISSING_FORMULA_VERS');
748: FND_MSG_PUB.Add;
749: RAISE FND_API.G_EXC_ERROR;
750: ELSE
751: FND_MESSAGE.SET_NAME('GMD', 'FM_INVFORMULANO');
752: FND_MESSAGE.SET_TOKEN('FORMULA_NO', p_formula_detail_rec.formula_no);
753: FND_MSG_PUB.Add;
754: RAISE FND_API.G_EXC_ERROR;
755: END IF;
748: FND_MSG_PUB.Add;
749: RAISE FND_API.G_EXC_ERROR;
750: ELSE
751: FND_MESSAGE.SET_NAME('GMD', 'FM_INVFORMULANO');
752: FND_MESSAGE.SET_TOKEN('FORMULA_NO', p_formula_detail_rec.formula_no);
753: FND_MSG_PUB.Add;
754: RAISE FND_API.G_EXC_ERROR;
755: END IF;
756: END IF;
763: On-Hold or Obsolete or Frozen or Requested for Approval -
764: the change of this formula is prevented */
765: /* Check if update is allowed */
766: IF NOT GMD_COMMON_VAL.Update_Allowed('FORMULA',l_formula_id) THEN
767: FND_MESSAGE.SET_NAME('GMD','GMD_CANNOT_UPD_ENTITY');
768: FND_MESSAGE.SET_TOKEN('NAME', 'formula');
769: FND_MESSAGE.SET_TOKEN('ID', l_formula_id);
770: FND_MESSAGE.SET_TOKEN('NO', p_formula_detail_rec.formula_no);
771: FND_MESSAGE.SET_TOKEN('VERS', p_formula_detail_rec.formula_vers);
764: the change of this formula is prevented */
765: /* Check if update is allowed */
766: IF NOT GMD_COMMON_VAL.Update_Allowed('FORMULA',l_formula_id) THEN
767: FND_MESSAGE.SET_NAME('GMD','GMD_CANNOT_UPD_ENTITY');
768: FND_MESSAGE.SET_TOKEN('NAME', 'formula');
769: FND_MESSAGE.SET_TOKEN('ID', l_formula_id);
770: FND_MESSAGE.SET_TOKEN('NO', p_formula_detail_rec.formula_no);
771: FND_MESSAGE.SET_TOKEN('VERS', p_formula_detail_rec.formula_vers);
772: FND_MESSAGE.SET_TOKEN('STATUS',
765: /* Check if update is allowed */
766: IF NOT GMD_COMMON_VAL.Update_Allowed('FORMULA',l_formula_id) THEN
767: FND_MESSAGE.SET_NAME('GMD','GMD_CANNOT_UPD_ENTITY');
768: FND_MESSAGE.SET_TOKEN('NAME', 'formula');
769: FND_MESSAGE.SET_TOKEN('ID', l_formula_id);
770: FND_MESSAGE.SET_TOKEN('NO', p_formula_detail_rec.formula_no);
771: FND_MESSAGE.SET_TOKEN('VERS', p_formula_detail_rec.formula_vers);
772: FND_MESSAGE.SET_TOKEN('STATUS',
773: GMD_FORMULA_DETAIL_PUB.get_fm_status_meaning(l_formula_id));
766: IF NOT GMD_COMMON_VAL.Update_Allowed('FORMULA',l_formula_id) THEN
767: FND_MESSAGE.SET_NAME('GMD','GMD_CANNOT_UPD_ENTITY');
768: FND_MESSAGE.SET_TOKEN('NAME', 'formula');
769: FND_MESSAGE.SET_TOKEN('ID', l_formula_id);
770: FND_MESSAGE.SET_TOKEN('NO', p_formula_detail_rec.formula_no);
771: FND_MESSAGE.SET_TOKEN('VERS', p_formula_detail_rec.formula_vers);
772: FND_MESSAGE.SET_TOKEN('STATUS',
773: GMD_FORMULA_DETAIL_PUB.get_fm_status_meaning(l_formula_id));
774: FND_MSG_PUB.Add;
767: FND_MESSAGE.SET_NAME('GMD','GMD_CANNOT_UPD_ENTITY');
768: FND_MESSAGE.SET_TOKEN('NAME', 'formula');
769: FND_MESSAGE.SET_TOKEN('ID', l_formula_id);
770: FND_MESSAGE.SET_TOKEN('NO', p_formula_detail_rec.formula_no);
771: FND_MESSAGE.SET_TOKEN('VERS', p_formula_detail_rec.formula_vers);
772: FND_MESSAGE.SET_TOKEN('STATUS',
773: GMD_FORMULA_DETAIL_PUB.get_fm_status_meaning(l_formula_id));
774: FND_MSG_PUB.Add;
775: RAISE FND_API.G_EXC_ERROR;
768: FND_MESSAGE.SET_TOKEN('NAME', 'formula');
769: FND_MESSAGE.SET_TOKEN('ID', l_formula_id);
770: FND_MESSAGE.SET_TOKEN('NO', p_formula_detail_rec.formula_no);
771: FND_MESSAGE.SET_TOKEN('VERS', p_formula_detail_rec.formula_vers);
772: FND_MESSAGE.SET_TOKEN('STATUS',
773: GMD_FORMULA_DETAIL_PUB.get_fm_status_meaning(l_formula_id));
774: FND_MSG_PUB.Add;
775: RAISE FND_API.G_EXC_ERROR;
776: END IF;
782: END IF;
783: -- Bug 4603060 User the user_id from context
784: l_user_id := FND_GLOBAL.user_id;
785: IF (l_user_id IS NULL) THEN
786: FND_MESSAGE.SET_NAME('GMD', 'GMD_USER_CONTEXT_NOT_SET');
787: FND_MSG_PUB.Add;
788: RAISE FND_API.G_EXC_ERROR;
789: END IF;
790:
798: END IF;
799: IF (p_formula_detail_rec.formulaline_id IS NOT NULL) THEN /* if invalid formula no */
800: GMDFMVAL_PUB.get_formulaline_id(p_formula_detail_rec.formulaline_id,l_return_val);
801: IF (l_return_val <> 0) THEN
802: FND_MESSAGE.SET_NAME('GMD','FM_INVALID_FMLINE_ID');
803: FND_MSG_PUB.Add;
804: RAISE FND_API.G_EXC_ERROR;
805: END IF;
806: ELSIF (p_formula_detail_rec.formulaline_id IS NULL) THEN /* missing formula no */
803: FND_MSG_PUB.Add;
804: RAISE FND_API.G_EXC_ERROR;
805: END IF;
806: ELSIF (p_formula_detail_rec.formulaline_id IS NULL) THEN /* missing formula no */
807: FND_MESSAGE.SET_NAME('GMD','FM_MISSING_FMLINE_ID');
808: FND_MSG_PUB.Add;
809: RAISE FND_API.G_EXC_ERROR;
810: END IF;
811:
810: END IF;
811:
812: -- Bug# 5554631 KMOTUPAL - TO prevent Update of Item Revision
813: IF (p_formula_detail_rec.revision IS NOT NULL) THEN
814: FND_MESSAGE.SET_NAME('GMD','GMD_INVALID_COL_UPDATES');
815: FND_MESSAGE.SET_TOKEN('NAME','REVISION');
816: FND_MSG_PUB.Add;
817: END IF;
818:
811:
812: -- Bug# 5554631 KMOTUPAL - TO prevent Update of Item Revision
813: IF (p_formula_detail_rec.revision IS NOT NULL) THEN
814: FND_MESSAGE.SET_NAME('GMD','GMD_INVALID_COL_UPDATES');
815: FND_MESSAGE.SET_TOKEN('NAME','REVISION');
816: FND_MSG_PUB.Add;
817: END IF;
818:
819: OPEN C_get_orgid (l_formula_id);
944: OR (fmline_not_null.line_type IN (-1,2) OR
945: (p_formula_detail_rec.line_type = 1 And p_formula_detail_rec.scale_type_dtl = 0 ) ) THEN
946: /* Error to be raised if Percentages are passed for Ingredients/By-Products or when
947: when the Parameter is not set to calculate Product Qty */
948: FND_MESSAGE.SET_NAME('GMD', 'GMD_ENTER_PERCENTAGES_NOT');
949: FND_MSG_PUB.Add;
950: RAISE FND_API.G_EXC_ERROR;
951: END IF;
952: END IF;
1663: /* Check if there is a valid userid */
1664: -- Bug 4603060
1665: l_user_id := FND_GLOBAL.user_id;
1666: IF (l_user_id IS NULL) THEN
1667: FND_MESSAGE.SET_NAME('GMD', 'GMD_USER_CONTEXT_NOT_SET');
1668: FND_MSG_PUB.Add;
1669: RAISE FND_API.G_EXC_ERROR;
1670: END IF;
1671:
1673: /* Check if an appropriate action_code */
1674: /* has been supplied */
1675: /* ================================== */
1676: IF (p_formula_detail_rec.record_type <> 'D')THEN
1677: FND_MESSAGE.SET_NAME('GMD', 'FM_INVALID_ACTION');
1678: FND_MESSAGE.SET_TOKEN('FORMULA_NO', p_formula_detail_rec.formula_no);
1679: FND_MESSAGE.SET_TOKEN('FORMULA_VERS', p_formula_detail_rec.formula_vers);
1680: FND_MSG_PUB.Add;
1681: RAISE FND_API.G_EXC_ERROR;
1674: /* has been supplied */
1675: /* ================================== */
1676: IF (p_formula_detail_rec.record_type <> 'D')THEN
1677: FND_MESSAGE.SET_NAME('GMD', 'FM_INVALID_ACTION');
1678: FND_MESSAGE.SET_TOKEN('FORMULA_NO', p_formula_detail_rec.formula_no);
1679: FND_MESSAGE.SET_TOKEN('FORMULA_VERS', p_formula_detail_rec.formula_vers);
1680: FND_MSG_PUB.Add;
1681: RAISE FND_API.G_EXC_ERROR;
1682: END IF;
1675: /* ================================== */
1676: IF (p_formula_detail_rec.record_type <> 'D')THEN
1677: FND_MESSAGE.SET_NAME('GMD', 'FM_INVALID_ACTION');
1678: FND_MESSAGE.SET_TOKEN('FORMULA_NO', p_formula_detail_rec.formula_no);
1679: FND_MESSAGE.SET_TOKEN('FORMULA_VERS', p_formula_detail_rec.formula_vers);
1680: FND_MSG_PUB.Add;
1681: RAISE FND_API.G_EXC_ERROR;
1682: END IF;
1683:
1689: IF (p_formula_detail_rec.formulaline_id IS NOT NULL) THEN /* if invalid formulaline no */
1690:
1691: GMDFMVAL_PUB.get_formulaline_id(p_formula_detail_rec.formulaline_id,l_return_val);
1692: IF (l_return_val <> 0) THEN
1693: FND_MESSAGE.SET_NAME('GMD','FM_MISSING_FMLINE_ID');
1694: FND_MSG_PUB.Add;
1695: RAISE FND_API.G_EXC_ERROR;
1696: END IF;
1697: ELSIF (p_formula_detail_rec.formulaline_id IS NULL) THEN
1694: FND_MSG_PUB.Add;
1695: RAISE FND_API.G_EXC_ERROR;
1696: END IF;
1697: ELSIF (p_formula_detail_rec.formulaline_id IS NULL) THEN
1698: FND_MESSAGE.SET_NAME('GMD','FM_MISSING_FMLINE_ID');
1699: FND_MSG_PUB.Add;
1700: RAISE FND_API.G_EXC_ERROR;
1701: END IF;
1702:
1711: IF (p_formula_detail_rec.formula_id is NULL) THEN
1712: OPEN get_formula_id(p_formula_detail_rec.formulaline_id);
1713: FETCH get_formula_id INTO l_formula_id;
1714: IF (get_formula_id%NOTFOUND) THEN
1715: FND_MESSAGE.SET_NAME('GMD', 'FM_INVFORMULANO');
1716: FND_MESSAGE.SET_TOKEN('FORMULA_NO', p_formula_detail_rec.formula_no);
1717: FND_MSG_PUB.Add;
1718: CLOSE get_formula_id;
1719: RAISE FND_API.G_EXC_ERROR;
1712: OPEN get_formula_id(p_formula_detail_rec.formulaline_id);
1713: FETCH get_formula_id INTO l_formula_id;
1714: IF (get_formula_id%NOTFOUND) THEN
1715: FND_MESSAGE.SET_NAME('GMD', 'FM_INVFORMULANO');
1716: FND_MESSAGE.SET_TOKEN('FORMULA_NO', p_formula_detail_rec.formula_no);
1717: FND_MSG_PUB.Add;
1718: CLOSE get_formula_id;
1719: RAISE FND_API.G_EXC_ERROR;
1720: END IF;
1723: l_formula_id := p_formula_detail_rec.formula_id;
1724: END IF;
1725:
1726: IF NOT GMD_COMMON_VAL.Update_Allowed('FORMULA',l_formula_id) THEN
1727: FND_MESSAGE.SET_NAME('GMD','GMD_CANNOT_UPD_ENTITY');
1728: FND_MESSAGE.SET_TOKEN('NAME', 'formula');
1729: FND_MESSAGE.SET_TOKEN('ID', l_formula_id);
1730: FND_MESSAGE.SET_TOKEN('NO', p_formula_detail_rec.formula_no);
1731: FND_MESSAGE.SET_TOKEN('VERS', p_formula_detail_rec.formula_vers);
1724: END IF;
1725:
1726: IF NOT GMD_COMMON_VAL.Update_Allowed('FORMULA',l_formula_id) THEN
1727: FND_MESSAGE.SET_NAME('GMD','GMD_CANNOT_UPD_ENTITY');
1728: FND_MESSAGE.SET_TOKEN('NAME', 'formula');
1729: FND_MESSAGE.SET_TOKEN('ID', l_formula_id);
1730: FND_MESSAGE.SET_TOKEN('NO', p_formula_detail_rec.formula_no);
1731: FND_MESSAGE.SET_TOKEN('VERS', p_formula_detail_rec.formula_vers);
1732: FND_MESSAGE.SET_TOKEN('STATUS',
1725:
1726: IF NOT GMD_COMMON_VAL.Update_Allowed('FORMULA',l_formula_id) THEN
1727: FND_MESSAGE.SET_NAME('GMD','GMD_CANNOT_UPD_ENTITY');
1728: FND_MESSAGE.SET_TOKEN('NAME', 'formula');
1729: FND_MESSAGE.SET_TOKEN('ID', l_formula_id);
1730: FND_MESSAGE.SET_TOKEN('NO', p_formula_detail_rec.formula_no);
1731: FND_MESSAGE.SET_TOKEN('VERS', p_formula_detail_rec.formula_vers);
1732: FND_MESSAGE.SET_TOKEN('STATUS',
1733: GMD_FORMULA_DETAIL_PUB.get_fm_status_meaning(l_formula_id));
1726: IF NOT GMD_COMMON_VAL.Update_Allowed('FORMULA',l_formula_id) THEN
1727: FND_MESSAGE.SET_NAME('GMD','GMD_CANNOT_UPD_ENTITY');
1728: FND_MESSAGE.SET_TOKEN('NAME', 'formula');
1729: FND_MESSAGE.SET_TOKEN('ID', l_formula_id);
1730: FND_MESSAGE.SET_TOKEN('NO', p_formula_detail_rec.formula_no);
1731: FND_MESSAGE.SET_TOKEN('VERS', p_formula_detail_rec.formula_vers);
1732: FND_MESSAGE.SET_TOKEN('STATUS',
1733: GMD_FORMULA_DETAIL_PUB.get_fm_status_meaning(l_formula_id));
1734: FND_MSG_PUB.Add;
1727: FND_MESSAGE.SET_NAME('GMD','GMD_CANNOT_UPD_ENTITY');
1728: FND_MESSAGE.SET_TOKEN('NAME', 'formula');
1729: FND_MESSAGE.SET_TOKEN('ID', l_formula_id);
1730: FND_MESSAGE.SET_TOKEN('NO', p_formula_detail_rec.formula_no);
1731: FND_MESSAGE.SET_TOKEN('VERS', p_formula_detail_rec.formula_vers);
1732: FND_MESSAGE.SET_TOKEN('STATUS',
1733: GMD_FORMULA_DETAIL_PUB.get_fm_status_meaning(l_formula_id));
1734: FND_MSG_PUB.Add;
1735: RAISE FND_API.G_EXC_ERROR;
1728: FND_MESSAGE.SET_TOKEN('NAME', 'formula');
1729: FND_MESSAGE.SET_TOKEN('ID', l_formula_id);
1730: FND_MESSAGE.SET_TOKEN('NO', p_formula_detail_rec.formula_no);
1731: FND_MESSAGE.SET_TOKEN('VERS', p_formula_detail_rec.formula_vers);
1732: FND_MESSAGE.SET_TOKEN('STATUS',
1733: GMD_FORMULA_DETAIL_PUB.get_fm_status_meaning(l_formula_id));
1734: FND_MSG_PUB.Add;
1735: RAISE FND_API.G_EXC_ERROR;
1736: END IF;
1744: FETCH check_num_details INTO l_count;
1745: /* If there s only 1 ingredient or product, stop the delete */
1746: IF (l_count < 2) THEN
1747: IF p_formula_detail_rec.line_type = 1 THEN
1748: FND_MESSAGE.SET_NAME('GMD', 'GMD_MUST_HAVE_PRODUCT');
1749: ELSE
1750: FND_MESSAGE.SET_NAME('GMD', 'GMD_MUST_HAVE_INGREDIENT');
1751: END IF;
1752: FND_MSG_PUB.Add;
1746: IF (l_count < 2) THEN
1747: IF p_formula_detail_rec.line_type = 1 THEN
1748: FND_MESSAGE.SET_NAME('GMD', 'GMD_MUST_HAVE_PRODUCT');
1749: ELSE
1750: FND_MESSAGE.SET_NAME('GMD', 'GMD_MUST_HAVE_INGREDIENT');
1751: END IF;
1752: FND_MSG_PUB.Add;
1753: RAISE FND_API.G_EXC_ERROR;
1754: END IF;
1761: OPEN check_validity_rules (l_formula_id,p_formula_detail_rec.item_no);
1762: FETCH check_validity_rules INTO l_count;
1763: /* If there are valid validity rules, stop the delete */
1764: IF (check_validity_rules%FOUND) THEN
1765: FND_MESSAGE.SET_NAME('GMD', 'GMD_VALID_VALIDITY');
1766: FND_MSG_PUB.Add;
1767: RAISE FND_API.G_EXC_ERROR;
1768: END IF;
1769: CLOSE check_validity_rules;