details:   /erp/devel/pi/rev/d24e1139ded8
changeset: 7907:d24e1139ded8
user:      Adrián Romero <adrianromero <at> openbravo.com>
date:      Thu Jul 22 18:22:49 2010 +0200
summary:   Fixes issue 0013959: Error division by zero when processing 
Purchasing Plan
It has been added a check that verifies when the capacity is zero and raises an 
error message explaining it

diffstat:

 src-db/database/model/functions/MRP_PURCHASEPLAN.xml |  12 ++++++++++--
 src-db/database/sourcedata/AD_MESSAGE.xml            |  11 +++++++++++
 2 files changed, 21 insertions(+), 2 deletions(-)

diffs (64 lines):

diff -r 5013a579164c -r d24e1139ded8 
src-db/database/model/functions/MRP_PURCHASEPLAN.xml
--- a/src-db/database/model/functions/MRP_PURCHASEPLAN.xml      Thu Jul 22 
10:02:25 2010 +0530
+++ b/src-db/database/model/functions/MRP_PURCHASEPLAN.xml      Thu Jul 22 
18:22:49 2010 +0200
@@ -72,7 +72,7 @@
     v_ResultStr := 'Purchase mrp';
 
     FOR Cur_PlanProduct IN (
-        SELECT MRP_RUN_PURCHASELINE.M_PRODUCT_ID,
+        SELECT MRP_RUN_PURCHASELINE.M_PRODUCT_ID, M_PRODUCT.NAME AS 
PRODUCTNAME,
           COALESCE(M_PRODUCT_PO.CAPACITY, M_PRODUCT_ORG.CAPACITY, 
M_PRODUCT.CAPACITY) AS CAPACITY,
           COALESCE(M_PRODUCT_PO.DELIVERYTIME_PROMISED, M_PRODUCT_ORG.DELAYMIN, 
M_PRODUCT.DELAYMIN, 0) AS DELAYMIN,
           COALESCE(M_PRODUCT_PO.QTYTYPE, M_PRODUCT_ORG.QTYTYPE, 
M_PRODUCT_ORG.QTYTYPE, 'E') AS qtytype,
@@ -93,7 +93,7 @@
           AND PRODUCT_PO.C_BPARTNER_ID = M_PRODUCT_PO.C_BPARTNER_ID
           AND PRODUCT_PO.M_PRODUCT_ID = M_PRODUCT_PO.M_PRODUCT_ID
           AND M_PRODUCT.ISPURCHASED = 'Y'
-      GROUP BY MRP_RUN_PURCHASELINE.M_PRODUCT_ID, M_PRODUCT_PO.CAPACITY, 
M_PRODUCT_ORG.CAPACITY, M_PRODUCT.CAPACITY,
+      GROUP BY MRP_RUN_PURCHASELINE.M_PRODUCT_ID, M_PRODUCT.NAME, 
M_PRODUCT_PO.CAPACITY, M_PRODUCT_ORG.CAPACITY, M_PRODUCT.CAPACITY,
         M_PRODUCT_PO.DELIVERYTIME_PROMISED, M_PRODUCT_ORG.DELAYMIN, 
M_PRODUCT.DELAYMIN,
         M_PRODUCT_PO.QTYTYPE, M_PRODUCT_ORG.QTYTYPE, M_PRODUCT_ORG.QTYTYPE,
         M_PRODUCT_PO.ORDER_MIN, M_PRODUCT_ORG.QTYMIN, M_PRODUCT_ORG.QTYMIN,
@@ -133,6 +133,10 @@
               v_Qty_new := 
CEIL(v_qty_new/Cur_PlanProduct.qtystd)*Cur_PlanProduct.qtystd;
             END IF;
 
+            IF (Cur_PlanProduct.CAPACITY = 0) THEN
+               RAISE_APPLICATION_ERROR(-20000, '@CapacityZero@ ' || 
Cur_PlanProduct.PRODUCTNAME);
+            END IF;
+
             v_plannedorderdate_new := TRUNC(v_planneddate_new -
                                       GREATEST(Cur_PlanProduct.DELAYMIN, (CASE 
WHEN Cur_PlanProduct.CAPACITY IS NULL THEN 0
                                                                   ELSE 
CEIL(v_Qty_new/Cur_PlanProduct.CAPACITY)
@@ -148,6 +152,10 @@
               v_Qty_new := 
CEIL(v_qty_new/Cur_PlanProduct.qtystd)*Cur_PlanProduct.qtystd;
             END IF;
 
+            IF (Cur_PlanProduct.CAPACITY = 0) THEN
+               RAISE_APPLICATION_ERROR(-20000, '@CapacityZero@ ' || 
Cur_PlanProduct.PRODUCTNAME);
+            END IF;
+
             v_plannedorderdate_new := TRUNC(v_planneddate_old -
                                       GREATEST(Cur_PlanProduct.DELAYMIN, (CASE 
WHEN Cur_PlanProduct.CAPACITY IS NULL THEN 0
                                                                   ELSE 
CEIL(v_Qty_new/Cur_PlanProduct.CAPACITY)
diff -r 5013a579164c -r d24e1139ded8 src-db/database/sourcedata/AD_MESSAGE.xml
--- a/src-db/database/sourcedata/AD_MESSAGE.xml Thu Jul 22 10:02:25 2010 +0530
+++ b/src-db/database/sourcedata/AD_MESSAGE.xml Thu Jul 22 18:22:49 2010 +0200
@@ -31791,6 +31791,17 @@
 <!--8B03AFC7AAEC4EEBB7364F2BB9A80C99-->  
<AD_MODULE_ID><![CDATA[0]]></AD_MODULE_ID>
 <!--8B03AFC7AAEC4EEBB7364F2BB9A80C99--></AD_MESSAGE>
 
+<!--8D490FAC95814DD2BC9C061E9FAC4568--><AD_MESSAGE>
+<!--8D490FAC95814DD2BC9C061E9FAC4568-->  
<AD_MESSAGE_ID><![CDATA[8D490FAC95814DD2BC9C061E9FAC4568]]></AD_MESSAGE_ID>
+<!--8D490FAC95814DD2BC9C061E9FAC4568-->  
<AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--8D490FAC95814DD2BC9C061E9FAC4568-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--8D490FAC95814DD2BC9C061E9FAC4568-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--8D490FAC95814DD2BC9C061E9FAC4568-->  
<VALUE><![CDATA[CapacityZero]]></VALUE>
+<!--8D490FAC95814DD2BC9C061E9FAC4568-->  <MSGTEXT><![CDATA[The following 
product has capacity 0. Please set a proper capacity and run the process 
again:]]></MSGTEXT>
+<!--8D490FAC95814DD2BC9C061E9FAC4568-->  <MSGTYPE><![CDATA[E]]></MSGTYPE>
+<!--8D490FAC95814DD2BC9C061E9FAC4568-->  
<AD_MODULE_ID><![CDATA[0]]></AD_MODULE_ID>
+<!--8D490FAC95814DD2BC9C061E9FAC4568--></AD_MESSAGE>
+
 <!--8D7E3ABF6E02498FBCB36040FBCB82AC--><AD_MESSAGE>
 <!--8D7E3ABF6E02498FBCB36040FBCB82AC-->  
<AD_MESSAGE_ID><![CDATA[8D7E3ABF6E02498FBCB36040FBCB82AC]]></AD_MESSAGE_ID>
 <!--8D7E3ABF6E02498FBCB36040FBCB82AC-->  
<AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>

------------------------------------------------------------------------------
This SF.net email is sponsored by Sprint
What will you do first with EVO, the first 4G phone?
Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
_______________________________________________
Openbravo-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openbravo-commits

Reply via email to