details:   /erp/devel/pi/rev/b1ac7d7024e4
changeset: 11595:b1ac7d7024e4
user:      Ainhoa Pagola <ainhoa.pagola <at> openbravo.com>
date:      Fri Apr 08 14:41:44 2011 +0200
summary:   Fixes bug 15820. Price List Report does not work properly with 
PriceList filter empty

details:   /erp/devel/pi/rev/48c2dc0d0441
changeset: 11596:48c2dc0d0441
user:      Ainhoa Pagola <ainhoa.pagola <at> openbravo.com>
date:      Fri Apr 08 14:42:31 2011 +0200
summary:   Fixes bug 16699. Product selector cleared ater searching in Price 
List Report

details:   /erp/devel/pi/rev/7cb2887553c9
changeset: 11597:7cb2887553c9
user:      Ainhoa Pagola <ainhoa.pagola <at> openbravo.com>
date:      Mon Apr 11 13:52:58 2011 +0200
summary:   Fixes issue 16671. Read only logic set for Internal Consuption Date

details:   /erp/devel/pi/rev/601527a7b71a
changeset: 11598:601527a7b71a
user:      Ainhoa Pagola <ainhoa.pagola <at> openbravo.com>
date:      Mon Apr 11 18:10:06 2011 +0200
summary:   Fixes issue 16512. Error in shipments with negative quantities and 
negative stock

details:   /erp/devel/pi/rev/0dae56698af3
changeset: 11599:0dae56698af3
user:      Ainhoa Pagola <ainhoa.pagola <at> openbravo.com>
date:      Wed Apr 13 19:55:23 2011 +0200
summary:   Fixes issue 16187. Wrong Message when process a batch

details:   /erp/devel/pi/rev/1d16cc5f261c
changeset: 11600:1d16cc5f261c
user:      Ainhoa Pagola <ainhoa.pagola <at> openbravo.com>
date:      Thu Apr 14 16:07:08 2011 +0200
summary:   Fixes issue 16008, fixes issue 16009. Error control added to 
M_freight_calculate function

diffstat:

 src-db/database/model/functions/GL_JOURNAL_POST.xml         |    4 +-
 src-db/database/model/functions/M_FREIGHT_CALCULATE.xml     |  126 +++++++++-
 src-db/database/model/functions/M_INOUT_CREATE.xml          |    2 +
 src-db/database/sourcedata/AD_COLUMN.xml                    |    3 +-
 src-db/database/sourcedata/AD_MESSAGE.xml                   |  165 ++++++++++++
 src/org/openbravo/erpCommon/ad_reports/ReportPricelist.html |    4 +-
 src/org/openbravo/erpCommon/ad_reports/ReportPricelist.java |   14 +-
 7 files changed, 301 insertions(+), 17 deletions(-)

diffs (truncated from 565 to 300 lines):

diff -r a73656f036c2 -r 1d16cc5f261c 
src-db/database/model/functions/GL_JOURNAL_POST.xml
--- a/src-db/database/model/functions/GL_JOURNAL_POST.xml       Wed Apr 20 
01:43:09 2011 +0200
+++ b/src-db/database/model/functions/GL_JOURNAL_POST.xml       Thu Apr 14 
16:07:08 2011 +0200
@@ -22,7 +22,7 @@
   * parts created by ComPiere are Copyright (C) ComPiere, Inc.;
   * All Rights Reserved.
   * Contributor(s): Openbravo SLU
-  * Contributions are Copyright (C) 2001-2009 Openbravo, S.L.U.
+  * Contributions are Copyright (C) 2001-2011 Openbravo, S.L.U.
   *
   * Specifically, this derivative work is based upon the following Compiere
   * file and version.
@@ -288,7 +288,7 @@
   IF(p_PInstance_ID IS NOT NULL) THEN
     AD_UPDATE_PINSTANCE(p_PInstance_ID, NULL, 'N', 0, v_ResultStr) ;
   ELSE
-    RAISE_APPLICATION_ERROR(-20100, v_ResultStr) ;
+    RAISE;
   END IF;
   RETURN;
 END GL_JOURNAL_POST
diff -r a73656f036c2 -r 1d16cc5f261c 
src-db/database/model/functions/M_FREIGHT_CALCULATE.xml
--- a/src-db/database/model/functions/M_FREIGHT_CALCULATE.xml   Wed Apr 20 
01:43:09 2011 +0200
+++ b/src-db/database/model/functions/M_FREIGHT_CALCULATE.xml   Thu Apr 14 
16:07:08 2011 +0200
@@ -16,7 +16,7 @@
 * under the License.
 * The Original Code is Openbravo ERP.
 * The Initial Developer of the Original Code is Openbravo SLU
-* All portions are Copyright (C) 2001-2009 Openbravo SLU
+* All portions are Copyright (C) 2001-2011 Openbravo SLU
 * All Rights Reserved.
 * Contributor(s):  ______________________________________.
 ************************************************************************/
@@ -47,6 +47,11 @@
     v_RoundLine CHAR(1) ;
     v_RoundTotal CHAR(1) ;
     v_FreightUnit VARCHAR2(60) ;
+    v_count NUMBER;
+    v_From_Region_ID VARCHAR2(32);
+    v_TO_Region_ID VARCHAR2(32);
+    v_QtyFrom NUMBER;
+    v_QtyTo NUMBER;
   BEGIN
     --  Get Parameters
     v_ResultStr:='ReadingParameters';
@@ -78,6 +83,11 @@
         DBMS_OUTPUT.PUT_LINE('  Calc_qty=' || v_Calc_Qty) ;
       END IF;
     END LOOP; --  Get Parameter
+
+    IF (v_Calc_Qty='N' AND v_Cheaper='N') THEN
+        RAISE_APPLICATION_ERROR(-20000, '@NoFreightParam@');
+    END IF;
+
     DBMS_OUTPUT.PUT_LINE('  v_Record_ID=' || v_Record_ID) ;
     v_ResultStr:='Select variables';
     SELECT M_Shipper_ID,
@@ -94,6 +104,11 @@
       v_Freight_Currency_ID
     FROM M_InOut
     WHERE M_InOut_ID=v_Record_ID;
+
+    IF (v_FreightCategory_ID IS NULL) THEN
+        RAISE_APPLICATION_ERROR(-20000, '@NoFreightCatSelected@');
+    END IF;
+
     v_ResultStr:='Set to and from region';
     IF(v_IsSOTrx='Y') THEN
       SELECT COALESCE(dl.C_REGION_ID, l.C_REGION_ID),
@@ -114,6 +129,14 @@
         AND i.M_WAREHOUSE_ID=w.M_WAREHOUSE_ID
         AND w.C_LOCATION_ID=wl.C_LOCATION_ID
         AND i.M_InOut_ID=v_Record_ID;
+
+      IF (v_To_ID IS NULL) THEN
+        RAISE_APPLICATION_ERROR(-20000, '@NoBPRegion@');
+      END IF;
+      IF (v_From_ID IS NULL) THEN
+        RAISE_APPLICATION_ERROR(-20000, '@NoWarehouseRegion@');
+      END IF;
+
     ELSE
       SELECT COALESCE(dl.C_REGION_ID, l.C_REGION_ID),
         wl.C_REGION_ID
@@ -133,6 +156,13 @@
         AND i.M_WAREHOUSE_ID=w.M_WAREHOUSE_ID
         AND w.C_LOCATION_ID=wl.C_LOCATION_ID
         AND i.M_InOut_ID=v_Record_ID;
+
+      IF (v_To_ID IS NULL) THEN
+        RAISE_APPLICATION_ERROR(-20000, '@NoWarehouseRegion@');
+      END IF;
+      IF (v_From_ID IS NULL) THEN
+        RAISE_APPLICATION_ERROR(-20000, '@NoBPRegion@');
+      END IF;
     END IF;
     SELECT TOTAL_ROUND,
       LINE_ROUND,
@@ -142,8 +172,37 @@
       v_FreightUnit
     FROM M_FreightCategory
     WHERE M_FreightCategory_ID=v_FreightCategory_ID;
+
+    IF v_RoundTotal IS NULL OR v_RoundLine IS NULL OR v_FreightUnit IS NULL 
THEN
+      RAISE_APPLICATION_ERROR(-20000, '@NoFreightCatRounding@');
+    END IF;
+
+    SELECT COUNT(*)
+    INTO v_Count
+    FROM M_InOutLine l,
+      M_Product p
+    WHERE l.M_Product_ID=p.M_Product_ID
+      AND M_InOut_ID=v_Record_ID;
+    IF (v_count=0) THEN
+      RAISE_APPLICATION_ERROR(-20000, '@FreightNoLines@');
+    END IF;
+
     v_ResultStr:='Calculate freight quantity';
     IF(v_Calc_Qty='Y') THEN
+
+      IF v_FreightUnit='P' THEN
+        SELECT COUNT(*)
+        INTO v_count
+        FROM M_InOutLine l,
+          M_Product p
+        WHERE l.M_Product_ID=p.M_Product_ID
+          AND M_InOut_ID=v_Record_ID
+          AND (p.unitsperpallet IS NULL OR p.unitsperpallet = 0);
+        IF (v_count>0) THEN
+          RAISE_APPLICATION_ERROR(-20000, '@FreightNoUnitsPerPallet@');
+        END IF;
+      END IF;
+
       SELECT
         CASE v_RoundLine WHEN 'N' THEN
           CASE v_RoundTotal WHEN 'N' THEN sum(QTY) WHEN 'I' THEN 
trunc(sum(QTY)) WHEN 'U' THEN CEIL(sum(QTY)) WHEN 'R' THEN ROUND(sum(QTY), 0)
@@ -169,11 +228,23 @@
       UPDATE M_InOut  SET NoPackages=v_Qty  WHERE M_InOut_ID=v_Record_ID;
     END IF;
   BEGIN
+
     IF(v_Cheaper='Y') THEN
       v_ResultStr:='Calculate cheaper amount';
       DECLARE
         Cur_M_FreightSelect RECORD;
       BEGIN
+
+        SELECT COUNT(*)
+        INTO v_Count
+        FROM M_Freight
+        WHERE M_FreightCategory_ID=v_FreightCategory_ID
+          AND ValidFrom<v_date
+          AND (v_Freight_Currency_ID IS NULL OR 
C_Currency_ID=v_Freight_Currency_ID);
+        IF (v_count=0) THEN
+          RAISE_APPLICATION_ERROR(-20000, '@FreightNotDefined@');
+        END IF;
+
         FOR Cur_M_FreightSelect IN
           (SELECT f.M_Shipper_ID, f.C_Currency_ID,
             CASE isprice WHEN 'Y' THEN freightamt*v_Qty ELSE freightamt
@@ -207,12 +278,61 @@
           v_Currency_ID:=Cur_M_FreightSelect.C_Currency_ID;
           EXIT;
         END LOOP;
+        IF v_Amt IS NULL THEN
+          RAISE_APPLICATION_ERROR(-20000, '@FreightNotConfigured@');
+        END IF;
       END;
     ELSE
       v_ResultStr:='Calculate amount';
       DECLARE
         Cur_M_FreightSelect RECORD;
       BEGIN
+
+        IF (v_Shipper_ID IS NULL) THEN
+          RAISE_APPLICATION_ERROR(-20000, '@NoShipperSelected@');
+        END IF;
+
+        SELECT COUNT(*)
+        INTO v_Count
+        FROM M_Freight
+        WHERE M_FreightCategory_ID=v_FreightCategory_ID
+          AND ValidFrom<v_date
+          AND M_Shipper_ID=v_Shipper_ID
+          AND (v_Freight_Currency_ID IS NULL OR 
C_Currency_ID=v_Freight_Currency_ID);
+        IF (v_count=0) THEN
+          RAISE_APPLICATION_ERROR(-20000, '@FreightNotDefined@');
+        END IF;
+
+        SELECT C_Region_ID, TO_Region_ID, QtyFrom, QtyTo
+        INTO v_From_Region_ID, v_TO_Region_ID, v_QtyFrom, v_QtyTo
+        FROM M_Freight
+        WHERE M_FreightCategory_ID=v_FreightCategory_ID
+          AND ValidFrom<v_date
+          AND M_Shipper_ID=v_Shipper_ID
+          AND (v_Freight_Currency_ID IS NULL OR 
C_Currency_ID=v_Freight_Currency_ID)
+          AND validFrom = (SELECT max(validFrom)
+                           FROM M_Freight
+                           WHERE M_FreightCategory_ID=v_FreightCategory_ID
+                           AND ValidFrom<v_date
+                           AND M_Shipper_ID=v_Shipper_ID
+                           AND (v_Freight_Currency_ID IS NULL OR 
C_Currency_ID=v_Freight_Currency_ID));
+
+        IF v_From_Region_ID IS NULL OR v_TO_Region_ID IS NULL THEN
+          RAISE_APPLICATION_ERROR(-20000, '@NoFreightRegion@');
+        END IF;
+
+        IF v_QtyFrom IS NULL OR v_QtyTo IS NULL THEN
+          RAISE_APPLICATION_ERROR(-20000, '@FreightMinMaxQuantity@');
+        END IF;
+
+        IF v_Qty<v_QtyFrom THEN
+          RAISE_APPLICATION_ERROR(-20000, '@FreightMinQuantity@');
+        END IF;
+
+        IF v_Qty>v_QtyTo THEN
+          RAISE_APPLICATION_ERROR(-20000, '@FreightMaxQuantity@');
+        END IF;
+
         FOR Cur_M_FreightSelect IN
           (SELECT M_Shipper_ID, C_Currency_ID,
             CASE isprice WHEN 'Y' THEN freightamt*v_Qty ELSE freightamt
@@ -234,6 +354,10 @@
           v_Currency_ID:=Cur_M_FreightSelect.C_Currency_ID;
           EXIT;
         END LOOP;
+
+        IF v_Amt IS NULL THEN
+          RAISE_APPLICATION_ERROR(-20000, '@FreightNotFound@');
+        END IF;
       END;
     END IF;
   EXCEPTION
diff -r a73656f036c2 -r 1d16cc5f261c 
src-db/database/model/functions/M_INOUT_CREATE.xml
--- a/src-db/database/model/functions/M_INOUT_CREATE.xml        Wed Apr 20 
01:43:09 2011 +0200
+++ b/src-db/database/model/functions/M_INOUT_CREATE.xml        Thu Apr 14 
16:07:08 2011 +0200
@@ -418,6 +418,8 @@
                         FETCH Cur_Storage INTO v_storage;
                         IF Cur_Storage%NOTFOUND THEN
                           NEXT_PRODUCT:=true;
+                          CLOSE Cur_Storage;
+                          Cur_Storage_ISOPEN:=false;
                         END IF;
                         IF(NOT NEXT_PRODUCT) THEN
                           v_QtyStorage:=v_storage.QtyOnHand;
diff -r a73656f036c2 -r 1d16cc5f261c src-db/database/sourcedata/AD_COLUMN.xml
--- a/src-db/database/sourcedata/AD_COLUMN.xml  Wed Apr 20 01:43:09 2011 +0200
+++ b/src-db/database/sourcedata/AD_COLUMN.xml  Thu Apr 14 16:07:08 2011 +0200
@@ -217403,6 +217403,7 @@
 <!--802758-->  <ISPARENT><![CDATA[N]]></ISPARENT>
 <!--802758-->  <ISMANDATORY><![CDATA[Y]]></ISMANDATORY>
 <!--802758-->  <ISUPDATEABLE><![CDATA[Y]]></ISUPDATEABLE>
+<!--802758-->  <READONLYLOGIC><![CDATA[@Processed@='Y']]></READONLYLOGIC>
 <!--802758-->  <ISIDENTIFIER><![CDATA[N]]></ISIDENTIFIER>
 <!--802758-->  <SEQNO><![CDATA[110]]></SEQNO>
 <!--802758-->  <ISTRANSLATED><![CDATA[N]]></ISTRANSLATED>
@@ -217478,7 +217479,7 @@
 <!--802760-->  <ISENCRYPTED><![CDATA[N]]></ISENCRYPTED>
 <!--802760-->  <ISSELECTIONCOLUMN><![CDATA[N]]></ISSELECTIONCOLUMN>
 <!--802760-->  <AD_ELEMENT_ID><![CDATA[1047]]></AD_ELEMENT_ID>
-<!--802760-->  <ISSESSIONATTR><![CDATA[N]]></ISSESSIONATTR>
+<!--802760-->  <ISSESSIONATTR><![CDATA[Y]]></ISSESSIONATTR>
 <!--802760-->  <ISSECONDARYKEY><![CDATA[N]]></ISSECONDARYKEY>
 <!--802760-->  <ISDESENCRYPTABLE><![CDATA[N]]></ISDESENCRYPTABLE>
 <!--802760-->  <DEVELOPMENTSTATUS><![CDATA[RE]]></DEVELOPMENTSTATUS>
diff -r a73656f036c2 -r 1d16cc5f261c src-db/database/sourcedata/AD_MESSAGE.xml
--- a/src-db/database/sourcedata/AD_MESSAGE.xml Wed Apr 20 01:43:09 2011 +0200
+++ b/src-db/database/sourcedata/AD_MESSAGE.xml Thu Apr 14 16:07:08 2011 +0200
@@ -29785,6 +29785,17 @@
 <!--0EABAB89726A4A3C800199142CF8E17F-->  
<AD_MODULE_ID><![CDATA[0]]></AD_MODULE_ID>
 <!--0EABAB89726A4A3C800199142CF8E17F--></AD_MESSAGE>
 
+<!--0FB62BBD5E134E3C972A446ACC687715--><AD_MESSAGE>
+<!--0FB62BBD5E134E3C972A446ACC687715-->  
<AD_MESSAGE_ID><![CDATA[0FB62BBD5E134E3C972A446ACC687715]]></AD_MESSAGE_ID>
+<!--0FB62BBD5E134E3C972A446ACC687715-->  
<AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--0FB62BBD5E134E3C972A446ACC687715-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--0FB62BBD5E134E3C972A446ACC687715-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--0FB62BBD5E134E3C972A446ACC687715-->  
<VALUE><![CDATA[NoFreightCatSelected]]></VALUE>
+<!--0FB62BBD5E134E3C972A446ACC687715-->  <MSGTEXT><![CDATA[There is no freight 
category selected]]></MSGTEXT>
+<!--0FB62BBD5E134E3C972A446ACC687715-->  <MSGTYPE><![CDATA[E]]></MSGTYPE>
+<!--0FB62BBD5E134E3C972A446ACC687715-->  
<AD_MODULE_ID><![CDATA[0]]></AD_MODULE_ID>
+<!--0FB62BBD5E134E3C972A446ACC687715--></AD_MESSAGE>
+
 <!--0FC7B0C6F4FC4F04BEAD06F30E895516--><AD_MESSAGE>
 <!--0FC7B0C6F4FC4F04BEAD06F30E895516-->  
<AD_MESSAGE_ID><![CDATA[0FC7B0C6F4FC4F04BEAD06F30E895516]]></AD_MESSAGE_ID>
 <!--0FC7B0C6F4FC4F04BEAD06F30E895516-->  
<AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
@@ -30082,6 +30093,28 @@
 <!--1860E10DED5C486D8CF33B7C8104448E-->  
<AD_MODULE_ID><![CDATA[0]]></AD_MODULE_ID>
 <!--1860E10DED5C486D8CF33B7C8104448E--></AD_MESSAGE>
 
+<!--1961EDB8E6F743B29134D8DA4E411528--><AD_MESSAGE>
+<!--1961EDB8E6F743B29134D8DA4E411528-->  
<AD_MESSAGE_ID><![CDATA[1961EDB8E6F743B29134D8DA4E411528]]></AD_MESSAGE_ID>
+<!--1961EDB8E6F743B29134D8DA4E411528-->  
<AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--1961EDB8E6F743B29134D8DA4E411528-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--1961EDB8E6F743B29134D8DA4E411528-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--1961EDB8E6F743B29134D8DA4E411528-->  
<VALUE><![CDATA[FreightNoLines]]></VALUE>
+<!--1961EDB8E6F743B29134D8DA4E411528-->  <MSGTEXT><![CDATA[Freight amount 
cannot be calculated because there is no lines]]></MSGTEXT>
+<!--1961EDB8E6F743B29134D8DA4E411528-->  <MSGTYPE><![CDATA[E]]></MSGTYPE>
+<!--1961EDB8E6F743B29134D8DA4E411528-->  
<AD_MODULE_ID><![CDATA[0]]></AD_MODULE_ID>
+<!--1961EDB8E6F743B29134D8DA4E411528--></AD_MESSAGE>

------------------------------------------------------------------------------
Benefiting from Server Virtualization: Beyond Initial Workload 
Consolidation -- Increasing the use of server virtualization is a top
priority.Virtualization can reduce costs, simplify management, and improve 
application availability and disaster protection. Learn more about boosting 
the value of server virtualization. http://p.sf.net/sfu/vmware-sfdev2dev
_______________________________________________
Openbravo-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openbravo-commits

Reply via email to