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