details:   https://code.openbravo.com/erp/devel/pi/rev/12897abf99f7
changeset: 16605:12897abf99f7
user:      Jon Alegría <jon.alegria <at> openbravo.com>
date:      Wed May 23 18:06:42 2012 +0200
summary:   Fixes issue The organization in project phase and project task 
should change
if the header org changes.
Added control to execute the code only if the organization changes

diffstat:

 src-db/database/model/triggers/C_PROJECTPHASE_TRG.xml |  12 +++++++-----
 src-db/database/model/triggers/C_PROJECT_TRG.xml      |  18 ++++++++++--------
 2 files changed, 17 insertions(+), 13 deletions(-)

diffs (51 lines):

diff -r d94e3a7bc14b -r 12897abf99f7 
src-db/database/model/triggers/C_PROJECTPHASE_TRG.xml
--- a/src-db/database/model/triggers/C_PROJECTPHASE_TRG.xml     Wed May 23 
17:42:00 2012 +0200
+++ b/src-db/database/model/triggers/C_PROJECTPHASE_TRG.xml     Wed May 23 
18:06:42 2012 +0200
@@ -44,11 +44,13 @@
 END IF;
 
 IF UPDATING THEN
-  SELECT COUNT(*) INTO v_Count FROM C_PROJECTTASK WHERE C_PROJECTPHASE_ID = 
:NEW.C_PROJECTPHASE_ID;
-  IF(v_Count > 0) THEN
-    UPDATE C_PROJECTTASK
-    SET AD_ORG_ID = :NEW.AD_ORG_ID
-    WHERE C_PROJECTPHASE_ID = :NEW.C_PROJECTPHASE_ID;
+  IF (:new.AD_ORG_ID <> :old.AD_ORG_ID) THEN
+    SELECT COUNT(*) INTO v_Count FROM C_PROJECTTASK WHERE C_PROJECTPHASE_ID = 
:NEW.C_PROJECTPHASE_ID;
+    IF(v_Count > 0) THEN
+      UPDATE C_PROJECTTASK
+      SET AD_ORG_ID = :NEW.AD_ORG_ID
+      WHERE C_PROJECTPHASE_ID = :NEW.C_PROJECTPHASE_ID;
+    END IF;
   END IF;
 END IF;
 
diff -r d94e3a7bc14b -r 12897abf99f7 
src-db/database/model/triggers/C_PROJECT_TRG.xml
--- a/src-db/database/model/triggers/C_PROJECT_TRG.xml  Wed May 23 17:42:00 
2012 +0200
+++ b/src-db/database/model/triggers/C_PROJECT_TRG.xml  Wed May 23 18:06:42 
2012 +0200
@@ -111,15 +111,17 @@
       )
       ;
     ELSIF (UPDATING) THEN
-     SELECT COUNT(*) INTO v_Count FROM C_PROJECTPHASE WHERE C_PROJECT_ID = 
:new.C_PROJECT_ID;
-     IF(v_Count > 0) THEN
-      UPDATE C_PROJECTPHASE
-      SET AD_ORG_ID = :new.AD_ORG_ID
-      WHERE C_PROJECT_ID = :new.C_PROJECT_ID;
-     END IF;
+     IF (:new.AD_ORG_ID <> :old.AD_ORG_ID) THEN
+       SELECT COUNT(*) INTO v_Count FROM C_PROJECTPHASE WHERE C_PROJECT_ID = 
:new.C_PROJECT_ID;
+       IF(v_Count > 0) THEN
+        UPDATE C_PROJECTPHASE
+        SET AD_ORG_ID = :new.AD_ORG_ID
+        WHERE C_PROJECT_ID = :new.C_PROJECT_ID;
+       END IF;
      
-     UPDATE C_PROJECT_ACCT SET AD_ORG_ID = :new.AD_ORG_ID
-     WHERE C_PROJECT_ID = :new.C_PROJECT_ID;
+       UPDATE C_PROJECT_ACCT SET AD_ORG_ID = :new.AD_ORG_ID
+       WHERE C_PROJECT_ID = :new.C_PROJECT_ID;
+      END IF;
     END IF;
     -- Summary Nodes first
 EXCEPTION

------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
Openbravo-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openbravo-commits

Reply via email to