details:   https://code.openbravo.com/erp/devel/pi/rev/c0b047987095
changeset: 20678:c0b047987095
user:      Ioritz Cia <ioritz.cia <at> openbravo.com>
date:      Mon Jul 01 17:59:17 2013 +0200
summary:   Related to issue 23999: Backout of changeset 167acdfcb2b0.

diffstat:

 src-db/database/model/functions/MA_PRODUCTION_COST.xml |  73 ++++++-----------
 1 files changed, 27 insertions(+), 46 deletions(-)

diffs (175 lines):

diff -r e0b70ce43672 -r c0b047987095 
src-db/database/model/functions/MA_PRODUCTION_COST.xml
--- a/src-db/database/model/functions/MA_PRODUCTION_COST.xml    Mon Jul 01 
15:53:41 2013 +0200
+++ b/src-db/database/model/functions/MA_PRODUCTION_COST.xml    Mon Jul 01 
17:59:17 2013 +0200
@@ -41,7 +41,6 @@
   v_count3                              VARCHAR2(32);
   v_productName                         M_Product.Name%TYPE;
   v_ProductionDate                      DATE;
-  v_CostingDate                         DATE;
   v_Result NUMBER:= 1;
   v_ProductionCost                      NUMBER;
   v_ProductionCost_Tmp                  NUMBER;
@@ -101,31 +100,13 @@
                         AND pl.CALCULATED = 'N'
                         AND pl.M_PRODUCT_ID = M_PRODUCTIONLINE.M_PRODUCT_ID);
 
-    SELECT count(1) INTO v_count
-    FROM DUAL WHERE EXISTS (SELECT 1 FROM ad_preference
-                      WHERE attribute = 'Cost_Eng_Ins_Migrated');
-
-    IF (v_count > 0) THEN
-      -- Costing engine migrated
-      SELECT MAX(pr.ad_client_id), MAX(pr.ad_org_id), MAX(pr.movementdate), 
MAX(trxprocessdate), COUNT (*), MAX(pr.DOCUMENTNO)
-      INTO v_Client_ID, v_Org_ID, v_ProductionDate, v_CostingDate, v_count, 
v_ProductionNo
-      FROM M_PRODUCTION pr, M_PRODUCTIONLINE pl
-        LEFT JOIN M_TRANSACTION t ON t.m_productionline_id = 
pl.m_productionline_id
-        , M_PRODUCTIONPLAN pp
-      WHERE pr.m_production_id = p_Production_ID
-        AND pr.m_production_id = pp.m_production_id
-        AND pp.m_productionplan_id = pl.m_productionplan_id
-        AND pl.calculated = 'N';
-    ELSE
-      -- Costing engine not migrated
-      SELECT MAX(pr.ad_client_id), MAX(pr.ad_org_id), MAX(movementdate), 
MAX(movementdate), COUNT (*), MAX(pr.DOCUMENTNO)
-      INTO v_Client_ID, v_Org_ID, v_ProductionDate, v_CostingDate, v_count, 
v_ProductionNo
-      FROM M_PRODUCTION pr, M_PRODUCTIONLINE pl, M_PRODUCTIONPLAN pp
-      WHERE pr.m_production_id = p_Production_ID
-        AND pr.m_production_id = pp.m_production_id
-        AND pp.m_productionplan_id = pl.m_productionplan_id
-        AND pl.calculated = 'N';
-    END IF;
+    SELECT MAX(pr.ad_client_id), MAX(pr.ad_org_id), MAX(movementdate), COUNT 
(*), MAX(pr.DOCUMENTNO)
+    INTO v_Client_ID, v_Org_ID, v_ProductionDate, v_count, v_ProductionNo
+    FROM M_PRODUCTION pr, M_PRODUCTIONLINE pl, M_PRODUCTIONPLAN pp
+    WHERE pr.m_production_id = p_Production_ID
+      AND pr.m_production_id = pp.m_production_id
+      AND pp.m_productionplan_id = pl.m_productionplan_id
+      AND pl.calculated = 'N';
 
     SELECT CASE COUNT(1) WHEN 0 THEN 'N' ELSE 'Y' END INTO v_iscostmigrated
     FROM DUAL
@@ -193,8 +174,8 @@
         FOR Cur_WIP IN (SELECT c.COST*ppl.MOVEMENTQTY AS cost, 
ppl.M_PRODUCTIONLINE_ID
                         FROM M_COSTING c, M_PRODUCTIONLINE ppl
                         WHERE c.M_PRODUCT_ID = ppl.M_PRODUCT_ID
-                          AND TRUNC(c.DATEFROM) <= v_CostingDate
-                          AND TRUNC(c.DATETO) > v_CostingDate
+                          AND TRUNC(c.DATEFROM) <= v_ProductionDate
+                          AND TRUNC(c.DATETO) > v_ProductionDate
                           AND ppl.PRODUCTIONTYPE = '-'
                           AND ppl.M_PRODUCTIONPLAN_ID = 
Cur_ProductionPlan.M_PRODUCTIONPLAN_ID
                           AND c.ISPRODUCTION='Y') LOOP
@@ -210,16 +191,16 @@
         FOR Cur_RawMaterial IN (SELECT c.COST*ppl.MOVEMENTQTY AS cost, 
ppl.M_PRODUCTIONLINE_ID
                                 FROM M_COSTING c, M_PRODUCTIONLINE ppl
                                 WHERE c.M_PRODUCT_ID = ppl.M_PRODUCT_ID
-                                  AND TRUNC(c.DATEFROM) <= v_CostingDate
-                                  AND TRUNC(c.DATETO) > v_CostingDate
+                                  AND TRUNC(c.DATEFROM) <= v_ProductionDate
+                                  AND TRUNC(c.DATETO) > v_ProductionDate
                                   AND ppl.PRODUCTIONTYPE = '-'
                                   AND ppl.M_PRODUCTIONPLAN_ID = 
Cur_ProductionPlan.M_PRODUCTIONPLAN_ID
                                   AND c.ISPRODUCTION='N'
                                   AND NOT EXISTS (SELECT 1
                                                   FROM M_COSTING, 
M_PRODUCTIONLINE
                                                   WHERE M_COSTING.M_PRODUCT_ID 
= M_PRODUCTIONLINE.M_PRODUCT_ID
-                                                    AND 
TRUNC(M_COSTING.DATEFROM) <= v_CostingDate
-                                                    AND 
TRUNC(M_COSTING.DATETO) > v_CostingDate
+                                                    AND 
TRUNC(M_COSTING.DATEFROM) <= v_ProductionDate
+                                                    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
@@ -238,7 +219,7 @@
             AND pl.productiontype = '-'
             AND pl.calccost IS NULL;
           IF (v_count2 > 0) THEN
-            v_message := '@NoAvgCostDefined@ @Product@: ' || v_productname || 
', @Date@:' || v_CostingDate;
+            v_message := '@NoAvgCostDefined@ @Product@: ' || v_productname || 
', @Date@:' || v_ProductionDate;
             RAISE_APPLICATION_ERROR(-20000, v_message);
           END IF;
         END IF;
@@ -385,16 +366,16 @@
           SELECT COUNT(*) INTO v_count2
           FROM M_COSTING
           WHERE M_Product_ID = Cur_ProductionLine.M_PRODUCT_ID
-            AND TRUNC(DATETO) > v_CostingDate
-            AND TRUNC(DATEFROM) <=v_CostingDate
+            AND TRUNC(DATETO) > v_ProductionDate
+            AND TRUNC(DATEFROM) <=v_ProductionDate
             AND ISPRODUCTION='Y';
           v_ResultStr := 'previous costs ' || v_count2 || ' product: ' || 
Cur_ProductionLine.M_Product_ID;
           IF (v_count2 IS NOT NULL AND v_count2 <> 0) THEN
             SELECT COALESCE(COST,0) INTO v_CostOld
             FROM M_COSTING
             WHERE M_Product_ID = Cur_ProductionLine.M_PRODUCT_ID
-              AND TRUNC(DATETO) > v_CostingDate
-              AND TRUNC(DATEFROM) <=v_CostingDate
+              AND TRUNC(DATETO) > v_ProductionDate
+              AND TRUNC(DATEFROM) <=v_ProductionDate
               AND ISPRODUCTION='Y';
           ELSE
             v_CostOld := 0;
@@ -443,7 +424,7 @@
                             PRICE,  CUMQTY,
                             COST, ISPERMANENT, ISPRODUCTION, COSTTYPE)
                      VALUES (v_NextNo,now(), p_User_ID, now(), p_User_ID, 
Cur_ProductionLine.AD_CLIENT_ID,
-                            Cur_ProductionLine.AD_ORG_ID, 
Cur_ProductionLine.M_PRODUCT_ID, TO_DATE('31-12-9999','DD-MM-YYYY'), 
v_CostingDate, 'N',
+                            Cur_ProductionLine.AD_ORG_ID, 
Cur_ProductionLine.M_PRODUCT_ID, TO_DATE('31-12-9999','DD-MM-YYYY'), 
v_ProductionDate, 'N',
                             Cur_ProductionLine.M_PRODUCTIONLINE_ID, 
Cur_ProductionLine.MOVEMENTQTY,
                             ROUND(v_Cost/Cur_ProductionLine.MOVEMENTQTY,4), 
COALESCE(v_Qty,0) + Cur_ProductionLine.MOVEMENTQTY,
                             (CASE (Cur_ProductionLine.MOVEMENTQTY) WHEN 0 THEN 
0 ELSE ROUND(v_Cost/Cur_ProductionLine.MOVEMENTQTY,4) END), 'N', 'Y', 'AV');
@@ -454,8 +435,8 @@
               SELECT COUNT(*) INTO v_count2
               FROM M_COSTING
               WHERE M_Product_ID = Cur_ProductionLine.M_PRODUCT_ID
-                AND DATETO > v_CostingDate
-                AND DATEFROM <= v_CostingDate
+                AND DATETO > v_ProductionDate
+                AND DATEFROM <= v_ProductionDate
                 AND ISPRODUCTION = 'Y';
               IF (v_count2 = 1) THEN
                 --The previous calculated cost of the product must change its
@@ -463,12 +444,12 @@
                 SELECT M_Costing_ID, DATETO INTO v_Costing_ID, v_DateTo
                 FROM M_COSTING
                 WHERE M_Product_ID = Cur_ProductionLine.M_PRODUCT_ID
-                  AND DATETO > v_CostingDate
-                  AND DATEFROM <=v_CostingDate
+                  AND DATETO > v_ProductionDate
+                  AND DATEFROM <=v_ProductionDate
                   AND ISPRODUCTION='Y';
 
                 UPDATE M_COSTING
-                SET DATETO = v_CostingDate
+                SET DATETO = v_ProductionDate
                 WHERE M_Costing_ID = v_Costing_ID
                   AND ISPRODUCTION = 'Y';
 
@@ -501,7 +482,7 @@
                             COST,
                             ISPERMANENT, ISPRODUCTION, COSTTYPE)
                        VALUES (v_NextNo,now(), p_User_ID, now(), p_User_ID, 
Cur_ProductionLine.AD_CLIENT_ID,
-                            Cur_ProductionLine.AD_ORG_ID, 
Cur_ProductionLine.M_PRODUCT_ID, v_DateTo, v_CostingDate, 'N',
+                            Cur_ProductionLine.AD_ORG_ID, 
Cur_ProductionLine.M_PRODUCT_ID, v_DateTo, v_ProductionDate, 'N',
                             Cur_ProductionLine.M_PRODUCTIONLINE_ID, 
Cur_ProductionLine.MOVEMENTQTY,
                             ROUND(v_Cost/Cur_ProductionLine.MOVEMENTQTY,4), 
COALESCE(v_Qty,0) + Cur_ProductionLine.MOVEMENTQTY,
                             (CASE (v_Qty+Cur_ProductionLine.MOVEMENTQTY) WHEN 
0 THEN 0 ELSE 
ROUND(((v_Qty*v_CostOld)+(v_Cost))/(v_Qty+Cur_ProductionLine.MOVEMENTQTY),4)END),
@@ -509,7 +490,7 @@
               ELSIF (v_count2 = 0) THEN
                 SELECT COALESCE(MIN(DATEFROM), 
TO_DATE('31-12-9999','DD-MM-YYYY')) INTO v_DateTo
                 FROM M_COSTING
-                WHERE DATEFROM > v_CostingDate
+                WHERE DATEFROM > v_ProductionDate
                   AND M_PRODUCT_ID = Cur_ProductionLine.M_PRODUCT_ID;
 
                 --Calculate stocked product quantity just before production
@@ -531,7 +512,7 @@
                             COST,
                             ISPERMANENT, ISPRODUCTION, COSTTYPE)
                        VALUES (v_NextNo,now(), p_User_ID, now(), p_User_ID, 
Cur_ProductionLine.AD_CLIENT_ID,
-                            Cur_ProductionLine.AD_ORG_ID, 
Cur_ProductionLine.M_PRODUCT_ID, v_DateTo, v_CostingDate, 'N',
+                            Cur_ProductionLine.AD_ORG_ID, 
Cur_ProductionLine.M_PRODUCT_ID, v_DateTo, v_ProductionDate, 'N',
                             Cur_ProductionLine.M_PRODUCTIONLINE_ID, 
Cur_ProductionLine.MOVEMENTQTY,
                             ROUND(v_Cost/Cur_ProductionLine.MOVEMENTQTY,4), 
COALESCE(v_Qty,0) + Cur_ProductionLine.MOVEMENTQTY,
                             (CASE (v_Qty+Cur_ProductionLine.MOVEMENTQTY) WHEN 
0 THEN 0 ELSE 
ROUND(((v_Qty*v_CostOld)+(v_Cost))/(v_Qty+Cur_ProductionLine.MOVEMENTQTY),4)END),

------------------------------------------------------------------------------
This SF.net email is sponsored by Windows:

Build for Windows Store.

http://p.sf.net/sfu/windows-dev2dev
_______________________________________________
Openbravo-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openbravo-commits

Reply via email to