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