diff --git a/org.adempiere.base.process/src/org/compiere/process/CommissionCalc.java b/org.adempiere.base.process/src/org/compiere/process/CommissionCalc.java index d35364b340..d5038761e3 100644 --- a/org.adempiere.base.process/src/org/compiere/process/CommissionCalc.java +++ b/org.adempiere.base.process/src/org/compiere/process/CommissionCalc.java @@ -109,8 +109,12 @@ public class CommissionCalc extends SvrProcess { if (m_com.isListDetails()) { - sql.append("SELECT h.C_Currency_ID, (l.LineNetAmt*al.Amount/h.GrandTotal) AS Amt,") - .append(" (l.QtyInvoiced*al.Amount/h.GrandTotal) AS Qty,") + sql.append("SELECT h.C_Currency_ID, CASE WHEN h.GrandTotal <> 0 ") + .append(" THEN (l.LineNetAmt*al.Amount/h.GrandTotal) ") + .append(" ELSE 0 END AS Amt,") + .append(" CASE WHEN h.GrandTotal <> 0 ") + .append(" THEN (l.QtyInvoiced*al.Amount/h.GrandTotal) ") + .append(" ELSE 0 END AS Qty,") .append(" NULL, l.C_InvoiceLine_ID, p.DocumentNo||'_'||h.DocumentNo,") .append(" COALESCE(prd.Value,l.Description), h.DateInvoiced ") .append("FROM C_Payment p") @@ -125,8 +129,11 @@ public class CommissionCalc extends SvrProcess } else { - sql.append("SELECT h.C_Currency_ID, SUM(l.LineNetAmt*al.Amount/h.GrandTotal) AS Amt,") - .append(" SUM(l.QtyInvoiced*al.Amount/h.GrandTotal) AS Qty,") + sql.append("SELECT h.C_Currency_ID, ") + .append(" SUM(CASE WHEN h.GrandTotal <> 0 ") + .append(" THEN l.LineNetAmt*al.Amount/h.GrandTotal ELSE 0 END) AS Amt,") + .append(" SUM(CASE WHEN h.GrandTotal <> 0 ") + .append(" THEN l.QtyInvoiced*al.Amount/h.GrandTotal ELSE 0 END) AS Qty,") .append(" NULL, NULL, NULL, NULL, MAX(h.DateInvoiced) ") .append("FROM C_Payment p") .append(" INNER JOIN C_AllocationLine al ON (p.C_Payment_ID=al.C_Payment_ID)") diff --git a/org.adempiere.base/src/org/compiere/model/GridTab.java b/org.adempiere.base/src/org/compiere/model/GridTab.java index 76781e59ea..ef2ee4ed9f 100644 --- a/org.adempiere.base/src/org/compiere/model/GridTab.java +++ b/org.adempiere.base/src/org/compiere/model/GridTab.java @@ -2953,7 +2953,7 @@ public class GridTab implements DataStatusListener, Evaluatee, Serializable if (!Util.isEmpty(retValue)) // interrupt on first error { - log.severe (retValue); + log.config(retValue); // no need to save an AD_Issue error on each callout return retValue; } } // for each callout diff --git a/org.adempiere.base/src/org/compiere/model/PO.java b/org.adempiere.base/src/org/compiere/model/PO.java index bf1b1222e9..627d95cbca 100644 --- a/org.adempiere.base/src/org/compiere/model/PO.java +++ b/org.adempiere.base/src/org/compiere/model/PO.java @@ -2312,8 +2312,8 @@ public abstract class PO } } m_newValues = new Object[size]; + m_createNew = false; } - m_createNew = false; if (!newRecord) CacheMgt.get().reset(p_info.getTableName()); else if (get_ID() > 0 && success) @@ -2678,10 +2678,10 @@ public abstract class PO else { if (m_trxName == null) - log.log(Level.WARNING, "Update return " + no + " instead of 1" + log.saveError("SaveError", "Update return " + no + " instead of 1" + " - " + p_info.getTableName() + "." + where); else - log.log(Level.WARNING, "Update return " + no + " instead of 1" + log.saveError("SaveError", "Update return " + no + " instead of 1" + " - [" + m_trxName + "] - " + p_info.getTableName() + "." + where); } return ok;