details:   https://code.openbravo.com/erp/devel/pi/rev/042fe61f85f7
changeset: 32266:042fe61f85f7
user:      Armaignac <collazoandy4 <at> gmail.com>
date:      Fri Jun 02 17:55:47 2017 -0400
summary:   Fixes issue 36005: Wrong cost for produced product in a work effort

When exist a consume product with duplicated cost entry both cost was used to 
calculate the cost of the produced product.

Now to compute the cost of the produced product will only take the min cost of 
the consume product.

details:   https://code.openbravo.com/erp/devel/pi/rev/6a40dea2c773
changeset: 32267:6a40dea2c773
user:      Atul Gaware <atul.gaware <at> openbravo.com>
date:      Fri Jun 02 23:55:38 2017 +0530
summary:   Fixes Issue 36091:ProcessID parameter is not available in the 
extension
points of M_GET_STOCK_PARAM function

Each DB procedure calling M_GET_STOCK_PARAM send its own process id to
M_GET_STOCK_PARAM. v_ProcessID is sent insert as PInstance Parameter
instead of '---'.
To avoid unique constraint ad_pinstance_para_pinstance_un error on
table ad_pinstance_para for columns ad_pinstance_id and seqno, as 160
seqno is already used for "Available" parameter, 190 seqno is set for
v_ProcessID parameter.

details:   https://code.openbravo.com/erp/devel/pi/rev/9a60d02449ed
changeset: 32268:9a60d02449ed
user:      Alvaro Ferraz <alvaro.ferraz <at> openbravo.com>
date:      Mon Jun 05 18:11:34 2017 +0200
summary:   Related to issue 36091: Code review improvements

diffstat:

 src-db/database/model/functions/MA_PRODUCTION_COST.xml |  12 +++++++-----
 src-db/database/model/functions/M_GET_STOCK_PARAM.xml  |  17 ++++++-----------
 2 files changed, 13 insertions(+), 16 deletions(-)

diffs (84 lines):

diff -r bd09a9d5ffa8 -r 9a60d02449ed 
src-db/database/model/functions/MA_PRODUCTION_COST.xml
--- a/src-db/database/model/functions/MA_PRODUCTION_COST.xml    Wed May 31 
23:40:24 2017 -0400
+++ b/src-db/database/model/functions/MA_PRODUCTION_COST.xml    Mon Jun 05 
18:11:34 2017 +0200
@@ -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-2016 Openbravo SLU
+ * All portions are Copyright (C) 2001-2017 Openbravo SLU
  * All Rights Reserved.
  * Contributor(s):  ______________________________________.
  ************************************************************************/
@@ -186,7 +186,7 @@
         v_ResultStr := 'WIP cost';
         v_ProductionCost_Tmp := 0;
 
-        FOR Cur_WIP IN (SELECT c.COST*ppl.MOVEMENTQTY AS cost, 
ppl.M_PRODUCTIONLINE_ID
+        FOR Cur_WIP IN (SELECT min(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
@@ -195,7 +195,8 @@
                           AND ppl.M_PRODUCTIONPLAN_ID = 
Cur_ProductionPlan.M_PRODUCTIONPLAN_ID
                           AND c.ISPRODUCTION='Y'
                           AND ((c.COSTTYPE = (CASE WHEN (SELECT COUNT(1) FROM 
M_PRODUCT WHERE M_PRODUCT_ID = ppl.M_PRODUCT_ID AND PRODUCTTYPE = 'I' AND 
ISSTOCKED = 'Y') > 0 THEN 'AVA' ELSE 'STA' END) AND v_iscostmigrated = 'Y')
-                               OR (c.COSTTYPE IN ('AV','ST') AND 
v_iscostmigrated = 'N'))) LOOP
+                               OR (c.COSTTYPE IN ('AV','ST') AND 
v_iscostmigrated = 'N'))
+                        GROUP BY ppl.M_PRODUCTIONLINE_ID, ppl.MOVEMENTQTY) LOOP
           v_ProductionCost_Tmp := v_ProductionCost_Tmp + 
COALESCE(Cur_WIP.cost,0);
           UPDATE M_PRODUCTIONLINE
           SET calccost = COALESCE(Cur_WIP.cost, 0)
@@ -205,7 +206,7 @@
         v_ProductionCost_Tmp := 0;
         --Second sum of raw materials that had not been added previously as WIP
         v_ResultStr := 'Raw Material cost';
-        FOR Cur_RawMaterial IN (SELECT c.COST*ppl.MOVEMENTQTY AS cost, 
ppl.M_PRODUCTIONLINE_ID
+        FOR Cur_RawMaterial IN (SELECT min(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
@@ -224,7 +225,8 @@
                                                     AND 
M_PRODUCTIONLINE.M_PRODUCT_ID = c.M_Product_ID
                                                     AND 
M_COSTING.ISPRODUCTION='Y'
                                                    AND ((M_COSTING.COSTTYPE = 
(CASE WHEN (SELECT COUNT(1) FROM M_PRODUCT WHERE M_PRODUCT_ID = 
ppl.M_PRODUCT_ID AND PRODUCTTYPE = 'I' AND ISSTOCKED = 'Y') > 0 THEN 'AVA' ELSE 
'STA' END) AND v_iscostmigrated = 'Y')
-                                                       OR (M_COSTING.COSTTYPE 
IN ('AV','ST') AND v_iscostmigrated = 'N')))) LOOP
+                                                       OR (M_COSTING.COSTTYPE 
IN ('AV','ST') AND v_iscostmigrated = 'N')))
+                                GROUP BY ppl.M_PRODUCTIONLINE_ID, 
ppl.MOVEMENTQTY) LOOP
           v_ProductionCost_Tmp := v_ProductionCost_Tmp + 
COALESCE(Cur_RawMaterial.cost,0);
           UPDATE M_PRODUCTIONLINE
           SET calccost = COALESCE(Cur_RawMaterial.cost, 0)
diff -r bd09a9d5ffa8 -r 9a60d02449ed 
src-db/database/model/functions/M_GET_STOCK_PARAM.xml
--- a/src-db/database/model/functions/M_GET_STOCK_PARAM.xml     Wed May 31 
23:40:24 2017 -0400
+++ b/src-db/database/model/functions/M_GET_STOCK_PARAM.xml     Mon Jun 05 
18:11:34 2017 +0200
@@ -335,10 +335,7 @@
              AD_PINSTANCE_PARA_INSERT(p_uuid, '160', 'Available', v_avail, 
null, null, null, null, null);
              AD_PINSTANCE_PARA_INSERT(p_uuid, '170', 'Nettable', v_nett, null, 
null, null, null, null);
              AD_PINSTANCE_PARA_INSERT(p_uuid, '180', 'OverIssue', v_overissue, 
null, null, null, null, null);
-             /*
-             * ADD PROPER PROCESS ID!
-             */
-             AD_PINSTANCE_PARA_INSERT(p_uuid, '160', 'ProcessID', '---', null, 
null, null, null, null);
+             AD_PINSTANCE_PARA_INSERT(p_uuid, '190', 'ProcessID', v_ProcessID, 
null, null, null, null, null);
       END IF;
       v_ep_instance := get_uuid();
 
@@ -468,13 +465,11 @@
              AD_PINSTANCE_PARA_INSERT(p_uuid, '140', 'LineNo', null, null, 
v_LineNo, null, null, null);
              AD_PINSTANCE_PARA_INSERT(p_uuid, '150', 'M_Reservation_ID', 
v_reservation_id, null, null, null, null, null);
              AD_PINSTANCE_PARA_INSERT(p_uuid, '160', 'Available', v_avail, 
null, null, null, null, null);
-               AD_PINSTANCE_PARA_INSERT(p_uuid, '170', 'Nettable', v_nett, 
null, null, null, null, null);
-               AD_PINSTANCE_PARA_INSERT(p_uuid, '180', 'OverIssue', 
v_overissue, null, null, null, null, null);
-             /*
-             * ADD PROPER PROCESS ID!
-             */
-             AD_PINSTANCE_PARA_INSERT(p_uuid, '160', 'ProcessID', '---', null, 
null, null, null, null);
-          AD_UPDATE_PINSTANCE(p_uuid, NULL, 'N', 1, '', p_calledfromapp) ;
+             AD_PINSTANCE_PARA_INSERT(p_uuid, '170', 'Nettable', v_nett, null, 
null, null, null, null);
+             AD_PINSTANCE_PARA_INSERT(p_uuid, '180', 'OverIssue', v_overissue, 
null, null, null, null, null);
+             AD_PINSTANCE_PARA_INSERT(p_uuid, '190', 'ProcessID', v_ProcessID, 
null, null, null, null, null);
+
+             AD_UPDATE_PINSTANCE(p_uuid, NULL, 'N', 1, '', p_calledfromapp) ;
         END IF;
         IF (AD_GET_RDBMS() = 'ORACLE') THEN
           v_Sql := 'CALL ' || cur_warehouse.procedurename || 
'('''||p_uuid||''', '''||cur_warehouse.m_warehouse_id||''')';

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Openbravo-commits mailing list
Openbravo-commits@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/openbravo-commits

Reply via email to