details:   https://code.openbravo.com/erp/devel/pi/rev/81d75586c6c4
changeset: 26260:81d75586c6c4
user:      Eduardo Argal Guibert <eduardo.argal <at> openbravo.com>
date:      Tue Mar 10 13:57:41 2015 +0100
summary:   Fixes issue 29218
Cannot save a Stock Reservation in PostgreSQL 8.4. 'If' changed inside trigger

details:   https://code.openbravo.com/erp/devel/pi/rev/b4859e1bdcf6
changeset: 26261:b4859e1bdcf6
user:      Víctor Martínez Romanos <victor.martinez <at> openbravo.com>
date:      Wed Mar 25 16:02:54 2015 +0100
summary:   Related to issue 29218: fixed bug detected in code review:
pl/sql variable assignment is := instead of =

diffstat:

 src-db/database/model/triggers/M_RESERVATION_TRG.xml |  12 ++++++++++--
 1 files changed, 10 insertions(+), 2 deletions(-)

diffs (29 lines):

diff -r 123a19555c0f -r b4859e1bdcf6 
src-db/database/model/triggers/M_RESERVATION_TRG.xml
--- a/src-db/database/model/triggers/M_RESERVATION_TRG.xml      Wed Mar 25 
06:29:38 2015 +0000
+++ b/src-db/database/model/triggers/M_RESERVATION_TRG.xml      Wed Mar 25 
16:02:54 2015 +0100
@@ -28,6 +28,7 @@
   v_dummy               VARCHAR2(2000);
   v_productname         m_product.name%TYPE;
   v_isgeneric           CHAR(1);
+  v_updateOrderAndLines           CHAR(1) := 'N';
   -- Parameter
   TYPE RECORD IS REF CURSOR;
   cur_reservationstock                                 RECORD;
@@ -47,8 +48,15 @@
     END IF;
 
   END IF;
-  
-  IF (INSERTING OR (UPDATING AND (:NEW.quantity <> :old.quantity OR 
:NEW.reservedqty <> :OLD.reservedqty))) THEN
+  IF (UPDATING) THEN
+    IF ( :NEW.quantity <> :old.quantity OR :NEW.reservedqty <> 
:OLD.reservedqty) THEN
+      v_updateOrderAndLines := 'Y';
+    END IF;
+  END IF;
+  IF (INSERTING) THEN 
+    v_updateOrderAndLines := 'Y';
+  END IF;
+  IF (v_updateOrderAndLines = 'Y') THEN
     IF (:NEW.res_status NOT IN ('DR', 'CL') AND :NEW.c_orderline_id IS NOT 
NULL) THEN
       UPDATE c_orderline
       SET so_res_status = CASE WHEN :NEW.quantity = :NEW.reservedqty THEN 'CR'

------------------------------------------------------------------------------
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the 
conversation now. http://goparallel.sourceforge.net/
_______________________________________________
Openbravo-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openbravo-commits

Reply via email to