details: /erp/stable/2.50/rev/d59568c5dcc3
changeset: 9547:d59568c5dcc3
user: Egoitz Castillo <egoitz.castillo <at> openbravo.com>
date: Tue Jun 21 10:19:00 2011 +0200
summary: Fixed issue 17753. Performance problem on ImportBudget Process
details: /erp/stable/2.50/rev/9b8312fc93b5
changeset: 9548:9b8312fc93b5
user: Egoitz Castillo <egoitz.castillo <at> openbravo.com>
date: Tue Jun 21 17:39:16 2011 +0200
summary: Fixed Issue 17755. Syncronize terminology on purchase elements
diffstat:
src-db/database/model/functions/AD_SYNCHRONIZE.xml | 28 +++++++--
src/org/openbravo/erpCommon/ad_process/ImportBudget.java | 9 ++-
src/org/openbravo/erpCommon/ad_process/ImportBudget_data.xsql | 31 +++++++++++
3 files changed, 59 insertions(+), 9 deletions(-)
diffs (137 lines):
diff -r 0b9a665f80c8 -r 9b8312fc93b5
src-db/database/model/functions/AD_SYNCHRONIZE.xml
--- a/src-db/database/model/functions/AD_SYNCHRONIZE.xml Mon Jul 04
08:22:27 2011 +0200
+++ b/src-db/database/model/functions/AD_SYNCHRONIZE.xml Tue Jun 21
17:39:16 2011 +0200
@@ -634,19 +634,25 @@
DBMS_OUTPUT.PUT_LINE('Synchronize PO Field Translations') ;
UPDATE AD_FIELD_TRL
SET NAME=
- (SELECT e.PO_Name
+ (SELECT (CASE WHEN e.PO_Name='' THEN e.Name
+ ELSE COALESCE(e.PO_Name, e.Name)
+ END)
FROM AD_ELEMENT_TRL e, AD_COLUMN c, AD_FIELD f
WHERE e.AD_LANGUAGE=AD_FIELD_TRL.AD_LANGUAGE AND
e.AD_Element_ID=c.AD_Element_ID
AND c.AD_Column_ID=f.AD_Column_ID AND
f.AD_Field_ID=AD_FIELD_TRL.AD_Field_ID
)
, Description=
- (SELECT e.PO_Description
+ (SELECT (CASE WHEN e.PO_Description='' THEN e.Description
+ ELSE COALESCE(e.PO_Description, e.Description)
+ END)
FROM AD_ELEMENT_TRL e, AD_COLUMN c, AD_FIELD f
WHERE e.AD_LANGUAGE=AD_FIELD_TRL.AD_LANGUAGE AND
e.AD_Element_ID=c.AD_Element_ID
AND c.AD_Column_ID=f.AD_Column_ID AND
f.AD_Field_ID=AD_FIELD_TRL.AD_Field_ID
)
, Help=
- (SELECT e.PO_Help
+ (SELECT (CASE WHEN e.PO_Help='' THEN e.Help
+ ELSE COALESCE(e.PO_Help, e.Help)
+ END)
FROM AD_ELEMENT_TRL e, AD_COLUMN c, AD_FIELD f
WHERE e.AD_LANGUAGE=AD_FIELD_TRL.AD_LANGUAGE AND
e.AD_Element_ID=c.AD_Element_ID
AND c.AD_Column_ID=f.AD_Column_ID AND
f.AD_Field_ID=AD_FIELD_TRL.AD_Field_ID
@@ -668,7 +674,7 @@
AND (M.ISINDEVELOPMENT='Y' OR v_TemplateInDev ='Y')
AND M.AD_LANGUAGE != E.AD_LANGUAGE
AND(AD_FIELD_TRL.NAME<>e.PO_Name OR
COALESCE(TO_CHAR(AD_FIELD_TRL.Description), '
')<>COALESCE(TO_CHAR(e.PO_Description), ' ')
- OR COALESCE(TO_CHAR(AD_FIELD_TRL.Help), '
')<>COALESCE(TO_CHAR(e.PO_Help), ' ')) AND (e.PO_Name IS NOT NULL AND e.PO_Name
<> '')
+ OR COALESCE(TO_CHAR(AD_FIELD_TRL.Help), '
')<>COALESCE(TO_CHAR(e.PO_Help), ' '))
)
AND EXISTS
(SELECT *
@@ -681,19 +687,25 @@
--Translation from non-trl table
UPDATE AD_FIELD_TRL
SET NAME=
- (SELECT e.PO_Name
+ (SELECT (CASE WHEN e.PO_Name='' THEN e.Name
+ ELSE COALESCE(e.PO_Name, e.Name)
+ END)
FROM AD_ELEMENT e, AD_COLUMN c, AD_FIELD f
WHERE e.AD_Element_ID=c.AD_Element_ID
AND c.AD_Column_ID=f.AD_Column_ID AND
f.AD_Field_ID=AD_FIELD_TRL.AD_Field_ID
)
, Description=
- (SELECT e.PO_Description
+ (SELECT (CASE WHEN e.PO_Description='' THEN e.Description
+ ELSE COALESCE(e.PO_Description, e.Description)
+ END)
FROM AD_ELEMENT e, AD_COLUMN c, AD_FIELD f
WHERE e.AD_Element_ID=c.AD_Element_ID
AND c.AD_Column_ID=f.AD_Column_ID AND
f.AD_Field_ID=AD_FIELD_TRL.AD_Field_ID
)
, Help=
- (SELECT e.PO_Help
+ (SELECT (CASE WHEN e.PO_Help='' THEN e.Help
+ ELSE COALESCE(e.PO_Help, e.Help)
+ END)
FROM AD_ELEMENT e, AD_COLUMN c, AD_FIELD f
WHERE e.AD_Element_ID=c.AD_Element_ID
AND c.AD_Column_ID=f.AD_Column_ID AND
f.AD_Field_ID=AD_FIELD_TRL.AD_Field_ID
@@ -712,7 +724,7 @@
AND M1.AD_MODULE_ID = E.AD_MODULE_ID
AND M.AD_LANGUAGE != M1.AD_LANGUAGE
AND(AD_FIELD_TRL.NAME<>e.PO_Name OR
COALESCE(TO_CHAR(AD_FIELD_TRL.Description), '
')<>COALESCE(TO_CHAR(e.PO_Description), ' ')
- OR COALESCE(TO_CHAR(AD_FIELD_TRL.Help), '
')<>COALESCE(TO_CHAR(e.PO_Help), ' ')) AND (e.PO_Name IS NOT NULL AND e.PO_Name
<> '')
+ OR COALESCE(TO_CHAR(AD_FIELD_TRL.Help), '
')<>COALESCE(TO_CHAR(e.PO_Help), ' '))
)
AND EXISTS
(SELECT *
diff -r 0b9a665f80c8 -r 9b8312fc93b5
src/org/openbravo/erpCommon/ad_process/ImportBudget.java
--- a/src/org/openbravo/erpCommon/ad_process/ImportBudget.java Mon Jul 04
08:22:27 2011 +0200
+++ b/src/org/openbravo/erpCommon/ad_process/ImportBudget.java Tue Jun 21
17:39:16 2011 +0200
@@ -153,7 +153,14 @@
log4j.debug("Invalid Activity = " + no);
// Account ID
- no = ImportBudgetData.updateAccountId(con, conn, vars.getLanguage(),
getAD_Client_ID());
+ ImportBudgetData[] dataElement = ImportBudgetData.selectElement(conn,
getAD_Client_ID(), vars
+ .getLanguage());
+ no = 0;
+ for (int i = 0; i < dataElement.length; i++) {
+ ImportBudgetData.updateElement(con, conn, dataElement[i].cBudgetlineId,
+ dataElement[i].iBudgetlineId);
+ no = no + 1;
+ }
if (log4j.isDebugEnabled())
log4j.debug("ImportBudget AccountID = " + no);
no = ImportBudgetData.updateAccountIdError(con, conn, getAD_Client_ID());
diff -r 0b9a665f80c8 -r 9b8312fc93b5
src/org/openbravo/erpCommon/ad_process/ImportBudget_data.xsql
--- a/src/org/openbravo/erpCommon/ad_process/ImportBudget_data.xsql Mon Jul
04 08:22:27 2011 +0200
+++ b/src/org/openbravo/erpCommon/ad_process/ImportBudget_data.xsql Tue Jun
21 17:39:16 2011 +0200
@@ -713,4 +713,35 @@
<Parameter name="client"/>
</SqlMethod>
+ <SqlMethod name="selectElement" type="preparedStatement" return="multiple">
+ <SqlMethodComment></SqlMethodComment>
+ <Sql>
+ <![CDATA[
+ select i_budgetline_id, c_budgetline_id from
+ (select i_budgetline_id , elementvalueident as eident,
ad_client_id from i_budgetline
+ where I_IsImported='N'
+ AND C_ELEMENTVALUE_ID IS NULL
+ AND ELEMENTVALUEIDENT IS NOT NULL
+ AND AD_Client_ID = ?) ib,
+ (select c_elementvalue_id as c_budgetline_id,
+ AD_COLUMN_IDENTIFIER('C_ELEMENTVALUE',
TO_CHAR(C_ELEMENTVALUE_ID), ?) as cidentifier,ad_client_id from c_elementvalue)
ce
+ where ib.eident=ce.cidentifier and ib.ad_client_id=ce.ad_client_id
+ ]]>
+ </Sql>
+ <Parameter name="ad_client_id"/>
+ <Parameter name="adlanguage"/>
+ </SqlMethod>
+
+ <SqlMethod name="updateElement" type="preparedStatement" connection="true"
return="rowCount">
+ <SqlMethodComment></SqlMethodComment>
+ <Sql>
+ <![CDATA[
+ UPDATE I_BudgetLine
+ SET C_ELEMENTVALUE_ID = ?
+ WHERE I_BudgetLine_id = ?
+ ]]>
+ </Sql>
+ <Parameter name="celementvalue_id"/>
+ <Parameter name="budgetline_id"/>
+ </SqlMethod>
</SqlClass>
------------------------------------------------------------------------------
All of the data generated in your IT infrastructure is seriously valuable.
Why? It contains a definitive record of application performance, security
threats, fraudulent activity, and more. Splunk takes this data and makes
sense of it. IT sense. And common sense.
http://p.sf.net/sfu/splunk-d2d-c2
_______________________________________________
Openbravo-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openbravo-commits