details: https://code.openbravo.com/erp/devel/pi/rev/ef9b9a588ce3
changeset: 16243:ef9b9a588ce3
user: Javier Etxarri <javier.echarri <at> openbravo.com>
date: Fri Apr 27 14:52:20 2012 +0200
summary: Fixes issue 20367: Create Standards can not be executed.
The problem was that in the create standares process, application create one
record in m_storage_detail with one product without any atrributeset and with
qty's zero.
So the m_update_inventory tries to delete but it has a related record in
m_stock_aux
diffstat:
src-db/database/model/functions/M_UPDATE_INVENTORY.xml | 6 ++-
src-db/database/model/functions/M_UPDATE_STOCKAUX.xml | 28 ++++++++++++++++++
2 files changed, 32 insertions(+), 2 deletions(-)
diffs (69 lines):
diff -r 0a1174509a27 -r ef9b9a588ce3
src-db/database/model/functions/M_UPDATE_INVENTORY.xml
--- a/src-db/database/model/functions/M_UPDATE_INVENTORY.xml Fri Apr 27
14:00:25 2012 +0200
+++ b/src-db/database/model/functions/M_UPDATE_INVENTORY.xml Fri Apr 27
14:52:20 2012 +0200
@@ -57,6 +57,7 @@
* Contributor(s): ______________________________________.
************************************************************************/
v_cuenta NUMBER;
+ v_count NUMBER;
v_qtyorder NUMBER;
v_preqtyorder NUMBER;
v_Storage_ID VARCHAR2(32);
@@ -132,9 +133,10 @@
AND (QTYORDERONHAND=0 OR QTYORDERONHAND IS NULL)
AND PREQTYONHAND=0
AND (PREQTYORDERONHAND=0 OR PREQTYORDERONHAND IS NULL)
- AND P.M_PRODUCT_ID=p_product;
+ AND P.M_PRODUCT_ID=p_product
+ AND NOT EXISTS (SELECT 1 FROM m_stock_aux WHERE M_STORAGE_DETAIL_ID =
SD.M_STORAGE_DETAIL_ID);
- IF (v_Storage_ID IS NOT NULL) THEN
+ IF (v_Storage_ID IS NOT NULL) THEN
DELETE FROM M_STORAGE_DETAIL WHERE M_STORAGE_DETAIL_ID =v_Storage_ID;
END IF;
diff -r 0a1174509a27 -r ef9b9a588ce3
src-db/database/model/functions/M_UPDATE_STOCKAUX.xml
--- a/src-db/database/model/functions/M_UPDATE_STOCKAUX.xml Fri Apr 27
14:00:25 2012 +0200
+++ b/src-db/database/model/functions/M_UPDATE_STOCKAUX.xml Fri Apr 27
14:52:20 2012 +0200
@@ -58,6 +58,7 @@
************************************************************************/
v_count NUMBER;
+ v_StorageAux_ID VARCHAR2(32);
v_StorageDetail_ID VARCHAR2(32);
BEGIN
@@ -104,6 +105,33 @@
SET QUANTITY = QUANTITY + p_qty, UPDATED = now()
WHERE M_STORAGE_DETAIL_ID = v_StorageDetail_ID;
END IF;
+
+ SELECT MAX(sa.m_stock_aux_id)
+ INTO v_StorageAux_ID
+ FROM m_stock_aux sa
+ WHERE m_storage_detail_id=v_StorageDetail_ID
+ AND COALESCE(quantity, 0) = 0
+ AND COALESCE(qtyorder, 0) = 0;
+
+ IF (v_StorageAux_ID IS NOT NULL) THEN
+ DELETE FROM M_STOCK_AUX WHERE M_STOCK_AUX_ID = v_StorageAux_ID;
+
+ SELECT COUNT(*)
+ INTO v_count
+ FROM M_STORAGE_DETAIL SD JOIN m_product p ON
SD.M_PRODUCT_ID=p.m_product_id
+ JOIN m_attributeset aset ON p.m_attributeset_id =
aset.m_attributeset_id
+ WHERE COALESCE(p.attrsetvaluetype, '-') <> 'F'
+ AND aset.isoneattrsetvalrequired = 'Y'
+ AND QTYONHAND = 0
+ AND COALESCE(QTYORDERONHAND, 0) = 0
+ AND PREQTYONHAND=0
+ AND COALESCE(PREQTYORDERONHAND, 0) = 0
+ AND SD.M_STORAGE_DETAIL_ID = v_StorageDetail_ID;
+
+ IF (v_count > 0) THEN
+ DELETE FROM M_STORAGE_DETAIL WHERE M_STORAGE_DETAIL_ID =
v_StorageDetail_ID;
+ END IF;
+ END IF;
END IF;
END M_UPDATE_STOCKAUX
]]></body>
------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and
threat landscape has changed and how IT managers can respond. Discussions
will include endpoint security, mobile security and the latest in malware
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
Openbravo-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openbravo-commits