details: /erp/devel/pi/rev/f45b5982de9a
changeset: 12916:f45b5982de9a
user: Gorka Ion Damián <gorkaion.damian <at> openbravo.com>
date: Tue Jun 21 13:08:09 2011 +0200
summary: Fixed issue 16373.Modified views to avoid union clause.
diffstat:
modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/process/FIN_ExecutePayment.java
| 11 ++++-
src-db/database/model/views/M_PRODUCT_STOCK_V.xml
| 21 +++++----
src-db/database/model/views/M_PRODUCT_WAREHOUSE_QTYS_V.xml
| 16 +++---
3 files changed, 29 insertions(+), 19 deletions(-)
diffs (75 lines):
diff -r a205312e847b -r f45b5982de9a
modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/process/FIN_ExecutePayment.java
---
a/modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/process/FIN_ExecutePayment.java
Tue Jun 21 12:07:53 2011 +0200
+++
b/modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/process/FIN_ExecutePayment.java
Tue Jun 21 13:08:09 2011 +0200
@@ -99,8 +99,15 @@
} else
dao.setPaymentExecuting(paymentRunPayment.getPayment(), true);
}
-
- OBError result = paymentExecutionProcess.execute(paymentRun);
+ OBError result = null;
+ try {
+ result = paymentExecutionProcess.execute(paymentRun);
+ } catch (final Exception e) {
+ // Execution process should never throw exceptions. If an unhandled
exception is handled a
+ // rollback is performed.
+ OBDal.getInstance().rollbackAndClose();
+ throw e;
+ }
for (PaymentRunPayment paymentRunPayment : paymentRun
.getFinancialMgmtPaymentRunPaymentList()) {
diff -r a205312e847b -r f45b5982de9a
src-db/database/model/views/M_PRODUCT_STOCK_V.xml
--- a/src-db/database/model/views/M_PRODUCT_STOCK_V.xml Tue Jun 21 12:07:53
2011 +0200
+++ b/src-db/database/model/views/M_PRODUCT_STOCK_V.xml Tue Jun 21 13:08:09
2011 +0200
@@ -1,15 +1,18 @@
<?xml version="1.0"?>
<database name="VIEW M_PRODUCT_STOCK_V">
- <view name="M_PRODUCT_STOCK_V"><![CDATA[SELECT p.m_product_id ||
sd.m_storage_detail_id AS m_product_stock_v_id, l.ad_client_id, l.ad_org_id,
l.isactive, sd.created, sd.createdby, sd.updated, sd.updatedby,
sd.m_product_id, sd.qtyonhand, sd.qtyorderonhand, sd.preqtyonhand,
sd.preqtyorderonhand, sd.c_uom_id, sd.m_product_uom_id,
sd.m_attributesetinstance_id, sd.m_locator_id, 'Y' AS stocked
-FROM m_storage_detail sd
-JOIN m_locator l ON sd.m_locator_id = l.m_locator_id
-JOIN m_product p ON sd.m_product_id = p.m_product_id AND p.isactive = 'Y'
-WHERE sd.qtyonhand <> 0 OR COALESCE(sd.qtyorderonhand, 0) <> 0
-UNION
-SELECT p.m_product_id AS m_product_stock_v_id, p.ad_client_id, p.ad_org_id,
p.isactive, p.created, p.createdby, p.updated, p.updatedby, p.m_product_id, 0
AS qtyonhand, NULL AS qtyorderonhand, 0 AS preqtyonhand, NULL AS
preqtyorderonhand, p.c_uom_id, NULL AS m_product_uom_id,
+ <view name="M_PRODUCT_STOCK_V"><![CDATA[SELECT p.m_product_id ||
COALESCE(sd.m_storage_detail_id, '') AS m_product_stock_v_id, p.ad_client_id,
COALESCE(sd.ad_org_id, p.ad_org_id) AS ad_org_id, COALESCE(sd.isactive,
p.isactive) AS isactive, p.created, p.createdby, p.updated, p.updatedby,
p.m_product_id, COALESCE(sd.qtyonhand, 0) AS qtyonhand, sd.qtyorderonhand,
COALESCE(sd.preqtyonhand, 0) AS preqtyonhand, sd.preqtyorderonhand, p.c_uom_id,
sd.m_product_uom_id, COALESCE(sd.m_attributesetinstance_id,
CASE p.attrsetvaluetype
WHEN 'D' THEN p.m_attributesetinstance_id
ELSE NULL
-END AS m_attributesetinstance_id, NULL AS m_locator_id, 'N' AS stocked
-FROM m_product p]]></view>
+END) AS m_attributesetinstance_id, sd.m_locator_id,
+CASE
+WHEN sd.m_storage_detail_id IS NOT NULL THEN 'Y'
+ELSE 'N'
+END AS stocked
+FROM m_product p
+LEFT JOIN (SELECT p.m_product_id || sdd.m_storage_detail_id AS
m_product_stock_v_id, sdd.m_storage_detail_id, l.ad_client_id, l.ad_org_id,
l.isactive, sdd.created, sdd.createdby, sdd.updated, sdd.updatedby,
sdd.m_product_id, sdd.qtyonhand, sdd.qtyorderonhand, sdd.preqtyonhand,
sdd.preqtyorderonhand, sdd.c_uom_id, sdd.m_product_uom_id,
sdd.m_attributesetinstance_id, sdd.m_locator_id, 'Y' AS stocked
+FROM m_storage_detail sdd
+JOIN m_locator l ON sdd.m_locator_id = l.m_locator_id
+JOIN m_product p ON sdd.m_product_id = p.m_product_id AND p.isactive = 'Y'
+WHERE sdd.qtyonhand <> 0 OR COALESCE(sdd.qtyorderonhand, 0) <> 0) sd ON
p.m_product_id = sd.m_product_id]]></view>
</database>
diff -r a205312e847b -r f45b5982de9a
src-db/database/model/views/M_PRODUCT_WAREHOUSE_QTYS_V.xml
--- a/src-db/database/model/views/M_PRODUCT_WAREHOUSE_QTYS_V.xml Tue Jun
21 12:07:53 2011 +0200
+++ b/src-db/database/model/views/M_PRODUCT_WAREHOUSE_QTYS_V.xml Tue Jun
21 13:08:09 2011 +0200
@@ -1,11 +1,11 @@
<?xml version="1.0"?>
<database name="VIEW M_PRODUCT_WAREHOUSE_QTYS_V">
- <view name="M_PRODUCT_WAREHOUSE_QTYS_V"><![CDATA[SELECT s.m_product_id,
s.m_warehouse_id, sum(s.qtyonhand) AS qtyonhand, sum(s.qtyordered) AS
qtyordered, sum(s.qtyreserved) AS qtyreserved
-FROM (SELECT sd.m_product_id, l.m_warehouse_id, sd.qtyonhand, 0 AS qtyordered,
0 AS qtyreserved
-FROM m_storage_detail sd
-JOIN m_locator l ON sd.m_locator_id = l.m_locator_id
-UNION
-SELECT sp.m_product_id, sp.m_warehouse_id, 0 AS qtyonhand, sp.qtyordered,
sp.qtyreserved
-FROM m_storage_pending sp) s
-GROUP BY s.m_product_id, s.m_warehouse_id]]></view>
+ <view name="M_PRODUCT_WAREHOUSE_QTYS_V"><![CDATA[SELECT sd.m_product_id,
sd.m_warehouse_id, sd.qtyonhand, COALESCE(s.qtyordered, 0) AS qtyordered,
COALESCE(s.qtyreserved, 0) AS qtyreserved
+FROM (SELECT sdd.m_product_id, l.m_warehouse_id, sum(sdd.qtyonhand) AS
qtyonhand
+FROM m_storage_detail sdd
+JOIN m_locator l ON sdd.m_locator_id = l.m_locator_id
+GROUP BY sdd.m_product_id, l.m_warehouse_id) sd
+LEFT JOIN (SELECT sp.m_product_id, sp.m_warehouse_id, sum(sp.qtyordered) AS
qtyordered, sum(sp.qtyreserved) AS qtyreserved
+FROM m_storage_pending sp
+GROUP BY sp.m_product_id, sp.m_warehouse_id) s ON sd.m_product_id =
s.m_product_id AND sd.m_warehouse_id = s.m_warehouse_id]]></view>
</database>
------------------------------------------------------------------------------
EditLive Enterprise is the world's most technically advanced content
authoring tool. Experience the power of Track Changes, Inline Image
Editing and ensure content is compliant with Accessibility Checking.
http://p.sf.net/sfu/ephox-dev2dev
_______________________________________________
Openbravo-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openbravo-commits