details:   https://code.openbravo.com/erp/devel/pi/rev/ee8190ea9533
changeset: 20804:ee8190ea9533
user:      Pandeeswari Ramakrishnan <pandeeswari.ramakrishnan <at> 
openbravo.com>
date:      Thu Jul 25 21:25:09 2013 +0530
summary:   Fixes issue 24163: Global Use Products are wrongly distributed

details:   https://code.openbravo.com/erp/devel/pi/rev/203d9b62afa9
changeset: 20805:203d9b62afa9
user:      Pandeeswari Ramakrishnan <pandeeswari.ramakrishnan <at> 
openbravo.com>
date:      Tue Jul 23 16:22:22 2013 +0530
summary:   Fixes issue 24193: Production cost is wrongly calculated
When there are overlapped dates in the costing entries of a used product, 
production cost is wrongly calculated

diffstat:

 src-db/database/model/functions/MA_GLOBALUSE_DISTRIBUTE.xml |  11 +++++++++--
 src-db/database/model/functions/MA_PRODUCTION_COST.xml      |   9 ++++++---
 2 files changed, 15 insertions(+), 5 deletions(-)

diffs (68 lines):

diff -r decb43a5abed -r 203d9b62afa9 
src-db/database/model/functions/MA_GLOBALUSE_DISTRIBUTE.xml
--- a/src-db/database/model/functions/MA_GLOBALUSE_DISTRIBUTE.xml       Sun Jul 
28 17:10:02 2013 +0530
+++ b/src-db/database/model/functions/MA_GLOBALUSE_DISTRIBUTE.xml       Tue Jul 
23 16:22:22 2013 +0530
@@ -25,7 +25,7 @@
 * under the License.
 * The Original Code is Openbravo ERP.
 * The Initial Developer of the Original Code is Openbravo SLU
-* All portions are Copyright (C) 2001-2006 Openbravo SLU
+* All portions are Copyright (C) 2001-2013 Openbravo SLU
 * All Rights Reserved.
 * Contributor(s):  ______________________________________.
 ************************************************************************/
@@ -116,7 +116,14 @@
           AND pp.M_PRODUCTIONPLAN_ID=Cur_ProductionPlan.M_ProductionPlan_ID
           AND wp.GROUPUSE='Y'
           AND wpp.M_PRODUCT_ID=Cur_GlobalUse.M_Product_ID;
-        IF(v_Factor<>0) THEN
+
+        SELECT COUNT(*)
+        INTO v_Count
+        FROM M_PRODUCTIONLINE
+        WHERE M_PRODUCTIONPLAN_ID=Cur_ProductionPlan.M_ProductionPlan_ID
+        AND M_PRODUCT_ID=Cur_GlobalUse.M_Product_ID;
+        
+        IF(v_Factor<>0 AND v_Count = 0) THEN
           SELECT MAX(Line) +10
           INTO v_Line
           FROM M_PRODUCTIONLINE
diff -r decb43a5abed -r 203d9b62afa9 
src-db/database/model/functions/MA_PRODUCTION_COST.xml
--- a/src-db/database/model/functions/MA_PRODUCTION_COST.xml    Sun Jul 28 
17:10:02 2013 +0530
+++ b/src-db/database/model/functions/MA_PRODUCTION_COST.xml    Tue Jul 23 
16:22:22 2013 +0530
@@ -22,7 +22,7 @@
  * under the License.
  * The Original Code is Openbravo ERP.
  * The Initial Developer of the Original Code is Openbravo SLU
- * All portions are Copyright (C) 2001-2012 Openbravo SLU
+ * All portions are Copyright (C) 2001-2013 Openbravo SLU
  * All Rights Reserved.
  * Contributor(s):  ______________________________________.
  ************************************************************************/
@@ -178,7 +178,8 @@
                           AND TRUNC(c.DATETO) > v_ProductionDate
                           AND ppl.PRODUCTIONTYPE = '-'
                           AND ppl.M_PRODUCTIONPLAN_ID = 
Cur_ProductionPlan.M_PRODUCTIONPLAN_ID
-                          AND c.ISPRODUCTION='Y') LOOP
+                          AND c.ISPRODUCTION='Y'
+                          AND c.COSTTYPE <> 'STA') LOOP
           v_ProductionCost_Tmp := v_ProductionCost_Tmp + 
COALESCE(Cur_WIP.cost,0);
           UPDATE M_PRODUCTIONLINE
           SET calccost = COALESCE(Cur_WIP.cost, 0)
@@ -196,6 +197,7 @@
                                   AND ppl.PRODUCTIONTYPE = '-'
                                   AND ppl.M_PRODUCTIONPLAN_ID = 
Cur_ProductionPlan.M_PRODUCTIONPLAN_ID
                                   AND c.ISPRODUCTION='N'
+                                  AND c.COSTTYPE <> 'STA'
                                   AND NOT EXISTS (SELECT 1
                                                   FROM M_COSTING, 
M_PRODUCTIONLINE
                                                   WHERE M_COSTING.M_PRODUCT_ID 
= M_PRODUCTIONLINE.M_PRODUCT_ID
@@ -203,7 +205,8 @@
                                                     AND 
TRUNC(M_COSTING.DATETO) > v_ProductionDate
                                                     AND 
M_PRODUCTIONLINE.PRODUCTIONTYPE = '-'
                                                     AND 
M_PRODUCTIONLINE.M_PRODUCT_ID = c.M_Product_ID
-                                                    AND 
M_COSTING.ISPRODUCTION='Y')) LOOP
+                                                    AND 
M_COSTING.ISPRODUCTION='Y'
+                                                    AND M_COSTING.COSTTYPE <> 
'STA')) LOOP
           v_ProductionCost_Tmp := v_ProductionCost_Tmp + 
COALESCE(Cur_RawMaterial.cost,0);
           UPDATE M_PRODUCTIONLINE
           SET calccost = COALESCE(Cur_RawMaterial.cost, 0)

------------------------------------------------------------------------------
See everything from the browser to the database with AppDynamics
Get end-to-end visibility with application monitoring from AppDynamics
Isolate bottlenecks and diagnose root cause in seconds.
Start your free trial of AppDynamics Pro today!
http://pubads.g.doubleclick.net/gampad/clk?id=48808831&iu=/4140/ostg.clktrk
_______________________________________________
Openbravo-commits mailing list
Openbravo-commits@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/openbravo-commits

Reply via email to