details:   https://code.openbravo.com/erp/devel/pi/rev/c91c09a9f155
changeset: 21424:c91c09a9f155
user:      Javier Etxarri <javier.echarri <at> openbravo.com>
date:      Thu Nov 07 12:05:31 2013 +0100
summary:   Fixes issue 24833: Pareto product stock has performance problems

diffstat:

 src-db/database/model/functions/M_GET_PARETO_ABC.xml |  14 ++++++++++----
 1 files changed, 10 insertions(+), 4 deletions(-)

diffs (39 lines):

diff -r 792f4a583b0f -r c91c09a9f155 
src-db/database/model/functions/M_GET_PARETO_ABC.xml
--- a/src-db/database/model/functions/M_GET_PARETO_ABC.xml      Wed Nov 06 
14:01:19 2013 +0100
+++ b/src-db/database/model/functions/M_GET_PARETO_ABC.xml      Thu Nov 07 
12:05:31 2013 +0100
@@ -71,12 +71,15 @@
               TC.C_CURRENCY_ID, v_currency, now(), NULL, p_client_id, 
AD_GET_ORG_LE_BU (p_org_ID, 'LE')) AS COST_PER_CURRENCY
     FROM M_TRANSACTION_COST TC, M_TRANSACTION T
       LEFT JOIN M_LOCATOR L ON (T.M_LOCATOR_ID=L.M_LOCATOR_ID)
-      LEFT JOIN M_WAREHOUSE W ON (L.M_WAREHOUSE_ID=W.M_WAREHOUSE_ID)
+      LEFT JOIN M_WAREHOUSE W ON (L.M_WAREHOUSE_ID=W.M_WAREHOUSE_ID),
+      (select A.AD_ORG_ID,A.AD_CLIENT_ID FROM
+      AD_ORG A
+      WHERE ad_isorgincluded(A.AD_ORG_ID, p_org_ID, A.AD_CLIENT_ID) <> -1) AUX
     WHERE TC.M_TRANSACTION_ID = T.M_TRANSACTION_ID
       AND T.ISCOSTCALCULATED = 'Y'
       AND T.TRANSACTIONCOST IS NOT NULL
       AND (p_warehouse_ID IS NULL OR L.M_WAREHOUSE_ID = p_warehouse_ID)
-      AND ad_isorgincluded(W.AD_ORG_ID, p_org_ID, T.AD_CLIENT_ID) <> -1
+      AND W.AD_ORG_ID=AUX.AD_ORG_ID
       AND (p_client_id IS NULL OR T.AD_CLIENT_ID = p_client_id)
     GROUP BY TC.C_CURRENCY_ID
     HAVING SUM(T.MOVEMENTQTY) > 0
@@ -96,12 +99,15 @@
                 T.M_PRODUCT_ID
         FROM M_TRANSACTION_COST TC, M_TRANSACTION T
           LEFT JOIN M_LOCATOR L ON (T.M_LOCATOR_ID=L.M_LOCATOR_ID)
-          LEFT JOIN M_WAREHOUSE W ON (L.M_WAREHOUSE_ID=W.M_WAREHOUSE_ID)
+          LEFT JOIN M_WAREHOUSE W ON (L.M_WAREHOUSE_ID=W.M_WAREHOUSE_ID),
+           (select A.AD_ORG_ID,A.AD_CLIENT_ID FROM
+           AD_ORG A
+           WHERE ad_isorgincluded(A.AD_ORG_ID, p_org_ID, A.AD_CLIENT_ID) <> 
-1) AUX
         WHERE TC.M_TRANSACTION_ID = T.M_TRANSACTION_ID
           AND T.ISCOSTCALCULATED = 'Y'
           AND T.TRANSACTIONCOST IS NOT NULL
           AND (p_warehouse_ID IS NULL OR L.M_WAREHOUSE_ID = p_warehouse_ID)
-          AND ad_isorgincluded(W.AD_ORG_ID, p_org_ID, T.AD_CLIENT_ID) <> -1
+          AND W.AD_ORG_ID=AUX.AD_ORG_ID
           AND (p_client_id IS NULL OR T.AD_CLIENT_ID = p_client_id)
         GROUP BY T.M_PRODUCT_ID, TC.C_CURRENCY_ID
         HAVING SUM(T.MOVEMENTQTY) > 0

------------------------------------------------------------------------------
November Webinars for C, C++, Fortran Developers
Accelerate application performance with scalable programming models. Explore
techniques for threading, error checking, porting, and tuning. Get the most 
from the latest Intel processors and coprocessors. See abstracts and register
http://pubads.g.doubleclick.net/gampad/clk?id=60136231&iu=/4140/ostg.clktrk
_______________________________________________
Openbravo-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openbravo-commits

Reply via email to