Index: CalloutInventory.java =================================================================== --- CalloutInventory.java (Revision 7341) +++ CalloutInventory.java (Arbeitskopie) @@ -44,11 +44,12 @@ public String product (Properties ctx, int WindowNo, GridTab mTab, GridField mField, Object value) { if (isCalloutActive()) - return ""; + return "0"; + Integer InventoryLine = (Integer)mTab.getValue("M_InventoryLine_ID"); - if (InventoryLine != null && InventoryLine.intValue() != 0) - return ""; - + //if (InventoryLine != null && InventoryLine.intValue() != 0) //comment by faaguilar OFB + // return ""; //comment by faaguilar OFB + // New Line - Get Book Value int M_Product_ID = 0; Integer Product = (Integer)mTab.getValue("M_Product_ID"); @@ -120,6 +121,10 @@ + ", M_Locator_ID=" + M_Locator_ID + ", M_AttributeSetInstance_ID=" + M_AttributeSetInstance_ID + " - QtyBook=" + bd); + //faaguilar OFB fix + if(bd==null) + mTab.setValue("QtyBook", Env.ZERO); + //faaguilar OFB fix END return ""; } // product Index: MStorage.java =================================================================== --- MStorage.java (Revision 7341) +++ MStorage.java (Arbeitskopie) @@ -245,6 +245,11 @@ allAttributeInstances = true; } + //faaguilar OFB special indicator to order + Object[] arr=null; + boolean byQtyandPriority="Y".equals(DB.getSQLValueString("AD_Client","select QtyPriority from AD_Client where AD_Client_ID="+Env.getAD_Client_ID(Env.getCtx()),arr)); + //faaguilar OFB END + ArrayList list = new ArrayList(); // Specific Attribute Set Instance String sql = "SELECT s.M_Product_ID,s.M_Locator_ID,s.M_AttributeSetInstance_ID," @@ -255,7 +260,7 @@ + "WHERE l.M_Warehouse_ID=?" + " AND s.M_Product_ID=?" + " AND COALESCE(s.M_AttributeSetInstance_ID,0)=? " - + "ORDER BY l.PriorityNo DESC, M_AttributeSetInstance_ID"; + + "ORDER BY l.PriorityNo ASC, M_AttributeSetInstance_ID"; //faaguilar OFB l.PriorityNo ASC if (!FiFo) sql += " DESC"; // All Attribute Set Instances @@ -268,6 +273,7 @@ + " INNER JOIN M_Locator l ON (l.M_Locator_ID=s.M_Locator_ID)" + " LEFT OUTER JOIN M_AttributeSetInstance asi ON (s.M_AttributeSetInstance_ID=asi.M_AttributeSetInstance_ID) " + "WHERE l.M_Warehouse_ID=?" + + " AND s.QtyOnHand>0 " //faaguilar OFB add AND s.QtyOnHand>0 + " AND s.M_Product_ID=? "; if (minGuaranteeDate != null) { @@ -275,8 +281,13 @@ + "ORDER BY asi.GuaranteeDate, M_AttributeSetInstance_ID"; if (!FiFo) sql += " DESC"; - sql += ", l.PriorityNo DESC, s.QtyOnHand DESC"; + sql += ", l.PriorityNo DESC, s.QtyOnHand DESC"; } + else if(byQtyandPriority)//faaguilar OFB special case to order + { + sql += "ORDER BY l.PriorityNo DESC,(select sum(ss.QtyOnHand) from M_Storage ss "+ + "where ss.M_Product_ID=s.M_Product_ID and ss.M_Locator_ID=l.M_Locator_ID) ASC"; + } else { sql += "ORDER BY l.PriorityNo DESC, l.M_Locator_ID, s.M_AttributeSetInstance_ID";