details:   https://code.openbravo.com/erp/devel/main/rev/ad4323ff5630
changeset: 18516:ad4323ff5630
user:      Shankar Balachandran <shankar.balachandran <at> openbravo.com>
date:      Mon Nov 12 15:47:01 2012 +0100
summary:   Fixes Issue 0022267: 'Column' not shown by default in Fields.

Column field not displayed by default when creating manually a field. Only when 
something is typed in property field, it was displayed.

details:   https://code.openbravo.com/erp/devel/main/rev/a08684f5dc57
changeset: 18517:a08684f5dc57
user:      Naiara Garcia <naiara.garcia <at> openbravo.com>
date:      Mon Nov 12 15:12:34 2012 +0100
summary:   22264: Some default accounts of General Ledger are mandatory but 
were set to
inactive

details:   https://code.openbravo.com/erp/devel/main/rev/4eb028c733a4
changeset: 18518:4eb028c733a4
user:      Sandra Huguet <sandra.huguet <at> openbravo.com>
date:      Mon Nov 12 19:34:06 2012 +0100
summary:   Fixed issue 22275

diffstat:

 src-db/database/model/tables/C_ACCTSCHEMA_DEFAULT.xml                       |  
 6 +-
 src-db/database/model/tables/C_CASHBOOK_ACCT.xml                            |  
 4 +-
 src-db/database/sourcedata/AD_FIELD.xml                                     |  
 2 +-
 src/org/openbravo/erpCommon/ad_reports/ReportGeneralLedgerJournal.java      |  
 8 +-
 src/org/openbravo/erpCommon/ad_reports/ReportGeneralLedgerJournal_data.xsql |  
32 +++++-----
 5 files changed, 26 insertions(+), 26 deletions(-)

diffs (186 lines):

diff -r b0eb45e159c6 -r 4eb028c733a4 
src-db/database/model/tables/C_ACCTSCHEMA_DEFAULT.xml
--- a/src-db/database/model/tables/C_ACCTSCHEMA_DEFAULT.xml     Mon Nov 12 
10:35:30 2012 +0100
+++ b/src-db/database/model/tables/C_ACCTSCHEMA_DEFAULT.xml     Mon Nov 12 
19:34:06 2012 +0100
@@ -221,7 +221,7 @@
         <default/>
         <onCreateDefault/>
       </column>
-      <column name="CH_EXPENSE_ACCT" primaryKey="false" required="true" 
type="VARCHAR" size="32" autoIncrement="false">
+      <column name="CH_EXPENSE_ACCT" primaryKey="false" required="false" 
type="VARCHAR" size="32" autoIncrement="false">
         <default/>
         <onCreateDefault/>
       </column>
@@ -257,11 +257,11 @@
         <default/>
         <onCreateDefault/>
       </column>
-      <column name="CB_EXPENSE_ACCT" primaryKey="false" required="true" 
type="VARCHAR" size="32" autoIncrement="false">
+      <column name="CB_EXPENSE_ACCT" primaryKey="false" required="false" 
type="VARCHAR" size="32" autoIncrement="false">
         <default/>
         <onCreateDefault/>
       </column>
-      <column name="CB_RECEIPT_ACCT" primaryKey="false" required="true" 
type="VARCHAR" size="32" autoIncrement="false">
+      <column name="CB_RECEIPT_ACCT" primaryKey="false" required="false" 
type="VARCHAR" size="32" autoIncrement="false">
         <default/>
         <onCreateDefault/>
       </column>
diff -r b0eb45e159c6 -r 4eb028c733a4 
src-db/database/model/tables/C_CASHBOOK_ACCT.xml
--- a/src-db/database/model/tables/C_CASHBOOK_ACCT.xml  Mon Nov 12 10:35:30 
2012 +0100
+++ b/src-db/database/model/tables/C_CASHBOOK_ACCT.xml  Mon Nov 12 19:34:06 
2012 +0100
@@ -53,11 +53,11 @@
         <default/>
         <onCreateDefault/>
       </column>
-      <column name="CB_EXPENSE_ACCT" primaryKey="false" required="true" 
type="VARCHAR" size="32" autoIncrement="false">
+      <column name="CB_EXPENSE_ACCT" primaryKey="false" required="false" 
type="VARCHAR" size="32" autoIncrement="false">
         <default/>
         <onCreateDefault/>
       </column>
-      <column name="CB_RECEIPT_ACCT" primaryKey="false" required="true" 
type="VARCHAR" size="32" autoIncrement="false">
+      <column name="CB_RECEIPT_ACCT" primaryKey="false" required="false" 
type="VARCHAR" size="32" autoIncrement="false">
         <default/>
         <onCreateDefault/>
       </column>
diff -r b0eb45e159c6 -r 4eb028c733a4 src-db/database/sourcedata/AD_FIELD.xml
--- a/src-db/database/sourcedata/AD_FIELD.xml   Mon Nov 12 10:35:30 2012 +0100
+++ b/src-db/database/sourcedata/AD_FIELD.xml   Mon Nov 12 19:34:06 2012 +0100
@@ -688,7 +688,7 @@
 <!--130-->  <AD_COLUMN_ID><![CDATA[174]]></AD_COLUMN_ID>
 <!--130-->  <IGNOREINWAD><![CDATA[N]]></IGNOREINWAD>
 <!--130-->  <ISDISPLAYED><![CDATA[Y]]></ISDISPLAYED>
-<!--130-->  <DISPLAYLOGIC><![CDATA[@property@='']]></DISPLAYLOGIC>
+<!--130-->  <DISPLAYLOGIC><![CDATA[@property@='' | 
@ad_column_id@!'']]></DISPLAYLOGIC>
 <!--130-->  <DISPLAYLENGTH><![CDATA[44]]></DISPLAYLENGTH>
 <!--130-->  <ISREADONLY><![CDATA[N]]></ISREADONLY>
 <!--130-->  <SEQNO><![CDATA[30]]></SEQNO>
diff -r b0eb45e159c6 -r 4eb028c733a4 
src/org/openbravo/erpCommon/ad_reports/ReportGeneralLedgerJournal.java
--- a/src/org/openbravo/erpCommon/ad_reports/ReportGeneralLedgerJournal.java    
Mon Nov 12 10:35:30 2012 +0100
+++ b/src/org/openbravo/erpCommon/ad_reports/ReportGeneralLedgerJournal.java    
Mon Nov 12 19:34:06 2012 +0100
@@ -447,7 +447,7 @@
         vars.setSessionValue(PREVIOUS_RANGE_OLD, 
vars.getSessionValue(PREVIOUS_RANGE));
         vars.setSessionValue(PREVIOUS_RANGE,
             String.valueOf(intRecordRangeUsed) + "," + 
vars.getSessionValue(PREVIOUS_RANGE));
-        data = ReportGeneralLedgerJournalData.select(this,
+        data = ReportGeneralLedgerJournalData.select(this, "'N'",
             Utility.getContext(this, vars, "#User_Client", 
"ReportGeneralLedger"),
             Utility.getContext(this, vars, "#AccessibleOrgTree", 
"ReportGeneralLedger"),
             strDateFrom, DateTimeData.nDaysAfter(this, strDateTo, "1"), 
strDocument,
@@ -643,9 +643,9 @@
 
     } else if (strRecord.equals("")) {
       String strCheck = buildCheck(strShowClosing, strShowReg, strShowOpening, 
strShowRegular);
-      data = ReportGeneralLedgerJournalData.select(this,
-          Utility.getContext(this, vars, "#User_Client", 
"ReportGeneralLedger"),
-          Utility.getContext(this, vars, "#AccessibleOrgTree", 
"ReportGeneralLedger"), strDateFrom,
+      data = ReportGeneralLedgerJournalData.select(this, 
"Y".equals(strShowDescription) ? "'Y'"
+          : "'N'", Utility.getContext(this, vars, "#User_Client", 
"ReportGeneralLedger"), Utility
+          .getContext(this, vars, "#AccessibleOrgTree", 
"ReportGeneralLedger"), strDateFrom,
           DateTimeData.nDaysAfter(this, strDateTo, "1"), strDocument, 
strcAcctSchemaId,
           strOrgFamily, strCheck, vars.getLanguage());
     } else
diff -r b0eb45e159c6 -r 4eb028c733a4 
src/org/openbravo/erpCommon/ad_reports/ReportGeneralLedgerJournal_data.xsql
--- 
a/src/org/openbravo/erpCommon/ad_reports/ReportGeneralLedgerJournal_data.xsql   
    Mon Nov 12 10:35:30 2012 +0100
+++ 
b/src/org/openbravo/erpCommon/ad_reports/ReportGeneralLedgerJournal_data.xsql   
    Mon Nov 12 19:34:06 2012 +0100
@@ -31,11 +31,10 @@
       SELECT SCHEMA_ID, SCHEMA_NAME, IDENTIFIER, DATEACCT, AA.VALUE, AA.NAME, 
ID, AD_TABLE_ID, DOCBASETYPE,AR.NAME as DOCNAME, SEQNO, '' AS TOTAL, 
DESCRIPTION,
       (CASE FACTACCTTYPE WHEN 'O' THEN 1 WHEN 'N' THEN 2 WHEN 'R' THEN 3 ELSE 
4 END) AS FACTACCTTYPE2,
       (CASE AMTACCTDR WHEN 0 THEN NULL ELSE AMTACCTDR END) AS AMTACCTDR, (CASE 
AMTACCTCR WHEN 0 THEN NULL ELSE AMTACCTCR END) AS AMTACCTCR, 
-      '' AS GROUPEDLINES, '' AS TAXID, AD_GETTAB_FROM_TABLE(AA.AD_TABLE_ID, 
AA.DOCBASETYPE, AA.AD_CLIENT_ID) AS TAB_ID,
-      (CASE AMTACCTCR WHEN 0 THEN 0 ELSE 1 END) AS ORD  , '' as newStyle
+      '' AS GROUPEDLINES, '' AS TAXID, AD_GETTAB_FROM_TABLE(AA.AD_TABLE_ID, 
AA.DOCBASETYPE, AA.AD_CLIENT_ID) AS TAB_ID  , '' as newStyle
       FROM 
       (SELECT F.C_ACCTSCHEMA_ID AS SCHEMA_ID, SC.NAME AS SCHEMA_NAME, 
F.FACT_ACCT_GROUP_ID AS IDENTIFIER, F.DATEACCT,
-      F.ACCTVALUE AS VALUE, F.ACCTDESCRIPTION AS NAME, F.DESCRIPTION, 
F.RECORD_ID AS ID, F.AD_TABLE_ID, F.DOCBASETYPE,
+      F.ACCTVALUE AS VALUE, F.ACCTDESCRIPTION AS NAME, CASE WHEN 'Y' = 'Y' 
THEN TO_CHAR(F.DESCRIPTION) ELSE TO_CHAR('') END AS DESCRIPTION, F.RECORD_ID AS 
ID, F.AD_TABLE_ID, F.DOCBASETYPE,
       sum(F.AMTACCTDR) AS AMTACCTDR, sum(F.AMTACCTCR) AS AMTACCTCR, MIN(SEQNO) 
AS SEQNO, F.FACTACCTTYPE AS FACTACCTTYPE, F.AD_CLIENT_ID
       FROM FACT_ACCT F, C_ACCTSCHEMA SC  
       WHERE F.AD_CLIENT_ID IN ('1')
@@ -44,14 +43,15 @@
       AND f.AD_ORG_ID IN('2')
       AND F.FactAcctType IN ('C','N','O','R')
       AND f.C_ACCTSCHEMA_ID = SC.C_ACCTSCHEMA_ID
-      GROUP BY f.C_ACCTSCHEMA_ID, SC.NAME, F.AD_TABLE_ID, F.DATEACCT, 
F.ACCTDESCRIPTION, F.DESCRIPTION, F.ACCTVALUE, F.DOCBASETYPE, F.RECORD_ID, 
+      GROUP BY f.C_ACCTSCHEMA_ID, SC.NAME, F.AD_TABLE_ID, F.DATEACCT, 
F.ACCTDESCRIPTION, CASE WHEN 'Y' = 'Y' THEN TO_CHAR(F.DESCRIPTION) ELSE 
TO_CHAR('') END, F.ACCTVALUE, F.DOCBASETYPE, F.RECORD_ID, 
       F.FACT_ACCT_GROUP_ID, F.ACCOUNT_ID,F.FACTACCTTYPE,
       (CASE F.AMTACCTDR WHEN 0 THEN (CASE SIGN(F.AMTACCTCR) WHEN -1 THEN 1 
ELSE 2 END) ELSE (CASE SIGN(F.AMTACCTDR) WHEN -1 THEN 3 ELSE 4 END) END), 
F.AD_CLIENT_ID
       HAVING (sum(F.AMTACCTDR) <> 0 OR sum(F.AMTACCTCR) <> 0)) AA
       LEFT JOIN (select * from AD_REF_LIST_V WHERE AD_REFERENCE_ID = '183'  
AND AD_LANGUAGE=?) AR  ON AR.VALUE=AA.DOCBASETYPE 
-      ORDER BY SCHEMA_NAME, DATEACCT, FACTACCTTYPE2, IDENTIFIER, ORD, SEQNO
+      ORDER BY SCHEMA_NAME, DATEACCT, FACTACCTTYPE2, IDENTIFIER, AA.AMTACCTDR 
DESC, AA.AMTACCTCR DESC, SEQNO
       ]]></Sql>
     <Field name="rownum" value="count"/>
+    <Parameter name="descriptionGrouping" type="replace" optional="true" 
after="AS NAME, CASE WHEN " text="'Y'"/>
     <Parameter name="adUserClient" type="replace" optional="true" after="WHERE 
F.AD_CLIENT_ID IN (" text="'1'"/>
     <Parameter name="adUserOrg" type="replace" optional="true" after="AND 
F.AD_ORG_ID IN(" text="'1'"/>
     <Parameter name="parDateFrom" optional="true" after="AND 1=1"><![CDATA[ 
AND f.dateacct >= TO_DATE(?)]]></Parameter>
@@ -60,6 +60,7 @@
     <Parameter name="acctschema" optional="true" after="AND 1=1"><![CDATA[ AND 
f.C_ACCTSCHEMA_ID = ?]]></Parameter>
     <Parameter name="orgFamily" type="replace" optional="true" after="AND 
f.AD_ORG_ID IN(" text="'2'"/>
     <Parameter name="checks" type="replace" optional="true" after="AND 
F.FactAcctType IN (" text="'C','N','O','R'"/>
+    <Parameter name="descriptionGrouping" type="replace" optional="true" 
after="F.ACCTDESCRIPTION, CASE WHEN " text="'Y'"/>
     <!--Parameter name="closing" optional="true" type="none" after="2=2" 
text=" AND F.FactAcctType = 'C'"/>
     <Parameter name="regularization" optional="true" type="none" after="2=2" 
text=" AND F.FactAcctType = 'R'"/>
     <Parameter name="opening" optional="true" type="none" after="2=2" text=" 
AND F.FactAcctType = 'O'"/-->
@@ -153,13 +154,13 @@
     <SqlMethodComment></SqlMethodComment>
     <Sql>
     <![CDATA[
-      SELECT SCHEMA_ID, SCHEMA_NAME, IDENTIFIER, DATEACCT, AA.VALUE, AA.NAME, 
ID, AD_TABLE_ID, DOCBASETYPE,AR.NAME as DOCNAME, SEQNO, '' AS TOTAL,  
DESCRIPTION,
+      SELECT SCHEMA_ID, SCHEMA_NAME, IDENTIFIER, DATEACCT, AA.VALUE, AA.NAME, 
ID, AD_TABLE_ID, DOCBASETYPE,AR.NAME as DOCNAME, SEQNO, '' AS TOTAL, 
       (CASE FACTACCTTYPE WHEN 'O' THEN 1 WHEN 'N' THEN 2 WHEN 'R' THEN 3 ELSE 
4 END) AS FACTACCTTYPE2,
       (CASE AMTACCTDR WHEN 0 THEN NULL ELSE AMTACCTDR END) AS AMTACCTDR, (CASE 
AMTACCTCR WHEN 0 THEN NULL ELSE AMTACCTCR END) AS AMTACCTCR,
-      AD_GETTAB_FROM_TABLE(AA.AD_TABLE_ID, AA.DOCBASETYPE, AA.AD_CLIENT_ID) AS 
TAB_ID, (CASE AMTACCTCR WHEN 0 THEN 0 ELSE 1 END) AS ORD  , '' as newStyle
+      AD_GETTAB_FROM_TABLE(AA.AD_TABLE_ID, AA.DOCBASETYPE, AA.AD_CLIENT_ID) AS 
TAB_ID  , '' as newStyle
       FROM 
       (SELECT F.C_ACCTSCHEMA_ID AS SCHEMA_ID, SC.NAME AS SCHEMA_NAME, 
F.FACT_ACCT_GROUP_ID AS IDENTIFIER, F.DATEACCT,
-      F.ACCTVALUE AS VALUE, F.ACCTDESCRIPTION AS NAME, F.DESCRIPTION, 
F.RECORD_ID AS ID, F.AD_TABLE_ID, F.DOCBASETYPE,
+      F.ACCTVALUE AS VALUE, F.ACCTDESCRIPTION AS NAME, F.RECORD_ID AS ID, 
F.AD_TABLE_ID, F.DOCBASETYPE,
       sum(F.AMTACCTDR) AS AMTACCTDR, sum(F.AMTACCTCR) AS AMTACCTCR, MIN(SEQNO) 
AS SEQNO, F.FACTACCTTYPE AS FACTACCTTYPE, F.AD_CLIENT_ID
       FROM FACT_ACCT F, C_ACCTSCHEMA SC 
       WHERE F.AD_CLIENT_ID IN ('1')
@@ -167,12 +168,12 @@
       AND 1=1
       AND f.C_ACCTSCHEMA_ID = SC.C_ACCTSCHEMA_ID
       AND f.C_ACCTSCHEMA_ID = ?
-      GROUP BY f.C_ACCTSCHEMA_ID, SC.NAME, F.AD_TABLE_ID, F.DATEACCT, 
F.ACCTDESCRIPTION, F.DESCRIPTION, F.ACCTVALUE, F.DOCBASETYPE, F.RECORD_ID, 
+      GROUP BY f.C_ACCTSCHEMA_ID, SC.NAME, F.AD_TABLE_ID, F.DATEACCT, 
F.ACCTDESCRIPTION,  F.ACCTVALUE, F.DOCBASETYPE, F.RECORD_ID, 
       F.FACT_ACCT_GROUP_ID, F.ACCOUNT_ID,F.FACTACCTTYPE,
       (CASE F.AMTACCTDR WHEN 0 THEN (CASE SIGN(F.AMTACCTCR) WHEN -1 THEN 1 
ELSE 2 END) ELSE (CASE SIGN(F.AMTACCTDR) WHEN -1 THEN 3 ELSE 4 END) END), 
F.AD_CLIENT_ID
       HAVING (sum(F.AMTACCTDR) <> 0 OR sum(F.AMTACCTCR) <> 0)) AA
       LEFT JOIN (select * from AD_REF_LIST_V WHERE AD_REFERENCE_ID = '183'  
AND AD_LANGUAGE=?) AR  ON AR.VALUE=AA.DOCBASETYPE 
-      ORDER BY SCHEMA_NAME, DATEACCT, FACTACCTTYPE2, IDENTIFIER, ORD, SEQNO
+      ORDER BY SCHEMA_NAME, DATEACCT, FACTACCTTYPE2, IDENTIFIER, AA.AMTACCTDR 
DESC, AA.AMTACCTCR DESC, SEQNO
       ]]></Sql>
     <Field name="rownum" value="count"/>
     <Parameter name="adUserClient" type="replace" optional="true" after="WHERE 
F.AD_CLIENT_ID IN (" text="'1'"/>
@@ -216,25 +217,24 @@
     <SqlMethodComment></SqlMethodComment>
     <Sql>
     <![CDATA[
-      SELECT SCHEMA_ID, SCHEMA_NAME, IDENTIFIER, DATEACCT, AA.VALUE, AA.NAME, 
ID, AD_TABLE_ID, DOCBASETYPE,AR.NAME as DOCNAME, SEQNO, '' AS TOTAL,  
DESCRIPTION,
-      (CASE FACTACCTTYPE WHEN 'O' THEN 1 WHEN 'N' THEN 2 WHEN 'R' THEN 3 ELSE 
4 END) AS FACTACCTTYPE2,
+      SELECT SCHEMA_ID, SCHEMA_NAME, IDENTIFIER, DATEACCT, AA.VALUE, AA.NAME, 
ID, AD_TABLE_ID, DOCBASETYPE,AR.NAME as DOCNAME, SEQNO, '' AS TOTAL,  (CASE 
FACTACCTTYPE WHEN 'O' THEN 1 WHEN 'N' THEN 2 WHEN 'R' THEN 3 ELSE 4 END) AS 
FACTACCTTYPE2,
       (CASE AMTACCTDR WHEN 0 THEN NULL ELSE AMTACCTDR END) AS AMTACCTDR, (CASE 
AMTACCTCR WHEN 0 THEN NULL ELSE AMTACCTCR END) AS AMTACCTCR,
-      AD_GETTAB_FROM_TABLE(AA.AD_TABLE_ID, AA.DOCBASETYPE, AA.AD_CLIENT_ID) AS 
TAB_ID, (CASE AMTACCTCR WHEN 0 THEN 0 ELSE 1 END) AS ORD  , '' as newStyle
+      AD_GETTAB_FROM_TABLE(AA.AD_TABLE_ID, AA.DOCBASETYPE, AA.AD_CLIENT_ID) AS 
TAB_ID  , '' as newStyle
       FROM 
       (SELECT F.C_ACCTSCHEMA_ID AS SCHEMA_ID, SC.NAME AS SCHEMA_NAME, 
F.FACT_ACCT_GROUP_ID AS IDENTIFIER, F.DATEACCT,
-      F.ACCTVALUE AS VALUE, F.ACCTDESCRIPTION AS NAME, F.DESCRIPTION, 
F.RECORD_ID AS ID, F.AD_TABLE_ID, F.DOCBASETYPE,
+      F.ACCTVALUE AS VALUE, F.ACCTDESCRIPTION AS NAME, F.RECORD_ID AS ID, 
F.AD_TABLE_ID, F.DOCBASETYPE,
       sum(F.AMTACCTDR) AS AMTACCTDR, sum(F.AMTACCTCR) AS AMTACCTCR, MIN(SEQNO) 
AS SEQNO, F.FACTACCTTYPE AS FACTACCTTYPE, F.AD_CLIENT_ID
       FROM FACT_ACCT F, C_ACCTSCHEMA SC 
       WHERE F.AD_CLIENT_ID IN ('1')
       AND F.AD_ORG_ID IN('1')
       AND f.C_ACCTSCHEMA_ID = SC.C_ACCTSCHEMA_ID
       AND F.Fact_Acct_Group_ID = ?
-      GROUP BY f.C_ACCTSCHEMA_ID, SC.NAME, F.AD_TABLE_ID, F.DATEACCT, 
F.ACCTDESCRIPTION, F.DESCRIPTION , F.ACCTVALUE, F.DOCBASETYPE, F.RECORD_ID, 
+      GROUP BY f.C_ACCTSCHEMA_ID, SC.NAME, F.AD_TABLE_ID, F.DATEACCT, 
F.ACCTDESCRIPTION, F.ACCTVALUE, F.DOCBASETYPE, F.RECORD_ID, 
       F.FACT_ACCT_GROUP_ID, F.ACCOUNT_ID,F.FACTACCTTYPE,
       (CASE F.AMTACCTDR WHEN 0 THEN (CASE SIGN(F.AMTACCTCR) WHEN -1 THEN 1 
ELSE 2 END) ELSE (CASE SIGN(F.AMTACCTDR) WHEN -1 THEN 3 ELSE 4 END) END), 
F.AD_CLIENT_ID
       HAVING (sum(F.AMTACCTDR) <> 0 OR sum(F.AMTACCTCR) <> 0)) AA
       LEFT JOIN (select * from AD_REF_LIST_V WHERE AD_REFERENCE_ID = '183'  
AND AD_LANGUAGE=?) AR  ON AR.VALUE=AA.DOCBASETYPE 
-      ORDER BY SCHEMA_NAME, DATEACCT, FACTACCTTYPE2, IDENTIFIER, ORD, SEQNO
+      ORDER BY SCHEMA_NAME, DATEACCT, FACTACCTTYPE2, IDENTIFIER, AA.AMTACCTDR 
DESC, AA.AMTACCTCR DESC, SEQNO
       ]]></Sql>
     <Field name="rownum" value="count"/>
     <Parameter name="adUserClient" type="replace" optional="true" after="WHERE 
F.AD_CLIENT_ID IN (" text="'1'"/>

------------------------------------------------------------------------------
Monitor your physical, virtual and cloud infrastructure from a single
web console. Get in-depth insight into apps, servers, databases, vmware,
SAP, cloud infrastructure, etc. Download 30-day Free Trial.
Pricing starts from $795 for 25 servers or applications!
http://p.sf.net/sfu/zoho_dev2dev_nov
_______________________________________________
Openbravo-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openbravo-commits

Reply via email to