details:   https://code.openbravo.com/erp/stable/2.50/rev/9410fface38a
changeset: 9745:9410fface38a
user:      Mikel Irurita <mikel.irurita <at> openbravo.com>
date:      Wed Nov 16 09:23:46 2011 +0100
summary:   Fixes issue 19064: Error when opening year with several 
organizations and same calendar

diffstat:

 src-db/database/model/functions/C_PERIOD_PROCESS.xml |  31 ++++++++++++++++---
 1 files changed, 25 insertions(+), 6 deletions(-)

diffs (45 lines):

diff -r 27920a54cb71 -r 9410fface38a 
src-db/database/model/functions/C_PERIOD_PROCESS.xml
--- a/src-db/database/model/functions/C_PERIOD_PROCESS.xml      Tue Nov 15 
14:44:16 2011 +0100
+++ b/src-db/database/model/functions/C_PERIOD_PROCESS.xml      Wed Nov 16 
09:23:46 2011 +0100
@@ -77,16 +77,35 @@
       WHERE C_PeriodControl_Log_ID=v_Record_ID_Log;   
       -- Action: Open if not permanently closed
       IF(p_PeriodAction='O') THEN
-
-        SELECT COUNT(DISTINCT C_YEAR.YEAR) INTO v_Count2 FROM C_PERIOD, 
C_PERIODCONTROL, C_YEAR WHERE
-          C_PERIODCONTROL.C_PERIOD_ID=C_PERIOD.C_PERIOD_ID AND 
C_PERIOD.C_YEAR_ID=C_YEAR.C_YEAR_ID AND C_PERIODCONTROL.PERIODSTATUS IN ('C') 
AND C_YEAR.YEAR>p_YearName
-          AND C_PERIODCONTROL.AD_CLIENT_ID = v_AD_Client_ID AND 
C_YEAR.C_CALENDAR_ID = p_Calendar;
+        SELECT COUNT(DISTINCT C_YEAR.YEAR) INTO v_Count2
+        FROM C_PERIOD, C_PERIODCONTROL, C_YEAR
+        WHERE C_PERIODCONTROL.C_PERIOD_ID=C_PERIOD.C_PERIOD_ID
+              AND C_PERIOD.C_YEAR_ID=C_YEAR.C_YEAR_ID
+              AND C_PERIODCONTROL.AD_Org_ID IN (SELECT AD_Org_ID
+                                                FROM AD_Org
+                                                WHERE 
AD_ISORGINCLUDED(ad_org.ad_org_id, p_Organization, ad_org.ad_client_id)<>-1)
+              AND C_PERIODCONTROL.PERIODSTATUS IN ('C')
+              AND C_YEAR.YEAR>p_YearName
+              AND C_PERIODCONTROL.AD_CLIENT_ID = v_AD_Client_ID
+              AND C_YEAR.C_CALENDAR_ID = p_Calendar;
         IF (v_Count2>=1) THEN
           RAISE_APPLICATION_ERROR(-20000, '@FeatureYearClosed@');
         END IF;
-        
-              
+   
         IF (p_IsRecursive='N') THEN
+          SELECT COUNT(DISTINCT C_YEAR.YEAR) INTO v_Count2
+          FROM C_PERIOD, C_PERIODCONTROL, C_YEAR
+          WHERE C_PERIODCONTROL.C_PERIOD_ID=C_PERIOD.C_PERIOD_ID
+              AND C_PERIOD.C_YEAR_ID=C_YEAR.C_YEAR_ID
+              AND C_PERIODCONTROL.AD_Org_ID=p_Organization
+              AND C_PERIODCONTROL.PERIODSTATUS IN ('C')
+              AND C_YEAR.YEAR>p_YearName
+              AND C_PERIODCONTROL.AD_CLIENT_ID = v_AD_Client_ID
+              AND C_YEAR.C_CALENDAR_ID = p_Calendar;
+          IF (v_Count2>=1) THEN
+            RAISE_APPLICATION_ERROR(-20000, '@FeatureYearClosed@');
+          END IF;
+
           FOR Cur_Document IN
             (SELECT C_PERIODCONTROL_ID
               FROM C_PERIODCONTROL, C_PERIOD 

------------------------------------------------------------------------------
RSA(R) Conference 2012
Save $700 by Nov 18
Register now
http://p.sf.net/sfu/rsa-sfdev2dev1
_______________________________________________
Openbravo-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openbravo-commits

Reply via email to