details:   https://code.openbravo.com/erp/devel/pi/rev/1669f11b74c1
changeset: 25771:1669f11b74c1
user:      Alvaro Ferraz <alvaro.ferraz <at> openbravo.com>
date:      Wed Jan 28 14:09:37 2015 +0100
summary:   Fix issue 28681: Return to Vendor Shipment pick/edit shows lines of 
any org

An extra condition has been added to Return to Vendor Shipment Pick/Edit Lines 
HQL Where Clause, in order to show only lines with warehouse belonging to 
natural organization's tree. Also M_RM_SHIPMENT_PICK_EDIT view has been 
modified to add a hack, to avoid having errors with pendingqty column when 
querying the view in Oracle

diffstat:

 src-db/database/model/views/M_RM_SHIPMENT_PICK_EDIT.xml |  2 +-
 src-db/database/sourcedata/AD_TAB.xml                   |  2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diffs (21 lines):

diff -r 4425f34e62c7 -r 1669f11b74c1 
src-db/database/model/views/M_RM_SHIPMENT_PICK_EDIT.xml
--- a/src-db/database/model/views/M_RM_SHIPMENT_PICK_EDIT.xml   Tue Jan 27 
20:28:05 2015 +0100
+++ b/src-db/database/model/views/M_RM_SHIPMENT_PICK_EDIT.xml   Wed Jan 28 
14:09:37 2015 +0100
@@ -1,4 +1,4 @@
 <?xml version="1.0"?>
   <database name="VIEW M_RM_SHIPMENT_PICK_EDIT">
-    <view name="M_RM_SHIPMENT_PICK_EDIT"><![CDATA[SELECT 
COALESCE(sd.m_storage_detail_id, '') || ol.c_orderline_id AS 
m_rm_shipment_pick_edit_id, ol.ad_client_id, COALESCE(iol.ad_org_id, 
ol.ad_org_id) AS ad_org_id, ol.isactive, ol.createdby, ol.created, 
ol.updatedby, ol.updated, o.documentno AS returnorderno, ol.m_product_id, 
ol.m_attributesetinstance_id, ol.c_uom_id, (-1) * ol.qtyordered AS returned, 
(-1) * iol.movementqty AS movementqty, sd.m_locator_id, CASE WHEN 
sd.m_locator_id IS NULL THEN (-1) * ol.qtyordered ELSE COALESCE(sd.qtyonhand, 
0) END AS availableqty, (-1) * (ol.qtyordered - COALESCE((SELECT 
sum(iol3.movementqty) AS sum FROM m_inoutline iol3 JOIN m_inout io3 ON 
iol3.m_inout_id = io3.m_inout_id AND io3.processed = 'Y' WHERE 
iol3.c_orderline_id = ol.c_orderline_id), 0)) AS pendingqty, iol.m_inout_id, 
CASE WHEN iol.m_inout_id IS NOT NULL THEN 'Y' ELSE 'N' END AS ob_selected, 
ol.c_orderline_id, ol.line, iol.m_inoutline_id FROM c_orderline ol JOIN c_order 
o ON o.c_order_id
  = ol.c_order_id AND o.processed = 'Y' AND o.issotrx = 'N' LEFT JOIN 
m_storage_detail sd ON sd.m_product_id = ol.m_product_id AND 
COALESCE(sd.m_attributesetinstance_id, '0') = 
COALESCE(ol.m_attributesetinstance_id, '0') AND sd.qtyonhand > 0 LEFT JOIN 
m_locator l ON sd.m_locator_id = l.m_locator_id JOIN c_doctype dt ON 
o.c_doctypetarget_id = dt.c_doctype_id AND dt.isreturn = 'Y' LEFT JOIN (SELECT 
iol2.m_inoutline_id, iol2.m_inout_id, iol2.movementqty, iol2.c_orderline_id, 
iol2.ad_org_id, iol2.m_locator_id FROM m_inoutline iol2 JOIN m_inout io2 ON 
iol2.m_inout_id = io2.m_inout_id AND io2.processed = 'N') iol ON 
iol.c_orderline_id = ol.c_orderline_id AND iol.m_locator_id = sd.m_locator_id 
WHERE o.docstatus = 'CO']]></view>
+    <view name="M_RM_SHIPMENT_PICK_EDIT"><![CDATA[SELECT 
COALESCE(sd.m_storage_detail_id, '') || ol.c_orderline_id AS 
m_rm_shipment_pick_edit_id, ol.ad_client_id, COALESCE(iol.ad_org_id, 
ol.ad_org_id) AS ad_org_id, ol.isactive, ol.createdby, ol.created, 
ol.updatedby, ol.updated, o.documentno AS returnorderno, ol.m_product_id, 
ol.m_attributesetinstance_id, ol.c_uom_id, (-1) * ol.qtyordered AS returned, 
(-1) * iol.movementqty AS movementqty, sd.m_locator_id, CASE WHEN 
sd.m_locator_id IS NULL THEN (-1) * ol.qtyordered ELSE COALESCE(sd.qtyonhand, 
0) END AS availableqty, (-1) * (ol.qtyordered - to_number(COALESCE((SELECT 
to_char(sum(COALESCE(iol3.movementqty, 0))) AS sum FROM m_inoutline iol3 JOIN 
m_inout io3 ON iol3.m_inout_id = io3.m_inout_id AND io3.processed = 'Y' WHERE 
iol3.c_orderline_id = ol.c_orderline_id), '0'))) AS pendingqty, iol.m_inout_id, 
CASE WHEN iol.m_inout_id IS NOT NULL THEN 'Y' ELSE 'N' END AS ob_selected, 
ol.c_orderline_id, ol.line, iol.m_inoutline_id FROM c_orderlin
 e ol JOIN c_order o ON o.c_order_id = ol.c_order_id AND o.processed = 'Y' AND 
o.issotrx = 'N' LEFT JOIN m_storage_detail sd ON sd.m_product_id = 
ol.m_product_id AND COALESCE(sd.m_attributesetinstance_id, '0') = 
COALESCE(ol.m_attributesetinstance_id, '0') AND sd.qtyonhand > 0 LEFT JOIN 
m_locator l ON sd.m_locator_id = l.m_locator_id JOIN c_doctype dt ON 
o.c_doctypetarget_id = dt.c_doctype_id AND dt.isreturn = 'Y' LEFT JOIN (SELECT 
iol2.m_inoutline_id, iol2.m_inout_id, iol2.movementqty, iol2.c_orderline_id, 
iol2.ad_org_id, iol2.m_locator_id FROM m_inoutline iol2 JOIN m_inout io2 ON 
iol2.m_inout_id = io2.m_inout_id AND io2.processed = 'N') iol ON 
iol.c_orderline_id = ol.c_orderline_id AND iol.m_locator_id = sd.m_locator_id 
WHERE o.docstatus = 'CO']]></view>
   </database>
diff -r 4425f34e62c7 -r 1669f11b74c1 src-db/database/sourcedata/AD_TAB.xml
--- a/src-db/database/sourcedata/AD_TAB.xml     Tue Jan 27 20:28:05 2015 +0100
+++ b/src-db/database/sourcedata/AD_TAB.xml     Wed Jan 28 14:09:37 2015 +0100
@@ -16857,7 +16857,7 @@
 <!--9195CC43B5A4419195030A4DB17D8737-->  <UIPATTERN><![CDATA[STD]]></UIPATTERN>
 <!--9195CC43B5A4419195030A4DB17D8737-->  
<HQLWHERECLAUSE><![CDATA[COALESCE(e.goodsShipment.id, 
@MaterialMgmtShipmentInOut.id@) = @MaterialMgmtShipmentInOut.id@
 AND @MaterialMgmtShipmentInOut.businessPartner@ = 
e.orderLine.salesOrder.businessPartner.id
-AND e.pending <> 0]]></HQLWHERECLAUSE>
+AND e.pending <> 0 AND 
ad_org_isinnaturaltree(@MaterialMgmtShipmentInOut.organization@, 
e.storageBin.organization.id, @MaterialMgmtShipmentInOut.client@) = 
'Y']]></HQLWHERECLAUSE>
 <!--9195CC43B5A4419195030A4DB17D8737-->  <HQLORDERBYCLAUSE><![CDATA[obSelected 
DESC, rMOrderNo, product]]></HQLORDERBYCLAUSE>
 <!--9195CC43B5A4419195030A4DB17D8737-->  
<SHOWPARENTBUTTONS><![CDATA[Y]]></SHOWPARENTBUTTONS>
 <!--9195CC43B5A4419195030A4DB17D8737-->  
<DISABLE_PARENT_KEY_PROPERTY><![CDATA[N]]></DISABLE_PARENT_KEY_PROPERTY>

------------------------------------------------------------------------------
Dive into the World of Parallel Programming. The Go Parallel Website,
sponsored by Intel and developed in partnership with Slashdot Media, is your
hub for all things parallel software development, from weekly thought
leadership blogs to news, videos, case studies, tutorials and more. Take a
look and join the conversation now. http://goparallel.sourceforge.net/
_______________________________________________
Openbravo-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openbravo-commits

Reply via email to