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