core-jgi/db/ddlutils/postgresql/views/RV_WAREHOUSEPRICE.sql

37 lines
1.9 KiB
MySQL
Raw Normal View History

CREATE OR REPLACE VIEW RV_WAREHOUSEPRICE
(AD_CLIENT_ID, AD_ORG_ID, ISACTIVE, CREATED, CREATEDBY,
UPDATED, UPDATEDBY, M_PRODUCT_ID, M_PRICELIST_VERSION_ID, M_WAREHOUSE_ID,
VALUE, NAME, UPC, SKU, C_UOM_ID,
UOMSYMBOL, PRICELIST, PRICESTD, MARGIN, PRICELIMIT,
WAREHOUSENAME, QTYAVAILABLE, QTYONHAND, QTYRESERVED, QTYORDERED,
ISINSTANCEATTRIBUTE)
AS
SELECT w.AD_Client_ID, w.AD_Org_ID,
CASE WHEN p.Discontinued='N' THEN 'Y' ELSE 'N' END AS IsActive,
pr.Created, pr.CreatedBy, pr.Updated, pr.UpdatedBy,
p.M_Product_ID, pr.M_PriceList_Version_ID, w.M_Warehouse_ID,
p.Value, p.Name, p.UPC, p.SKU,
uom.C_UOM_ID, uom.UOMSymbol,
bomPriceList(p.M_Product_ID, pr.M_PriceList_Version_ID) AS PriceList,
bomPriceStd(p.M_Product_ID, pr.M_PriceList_Version_ID) AS PriceStd,
bomPriceStd(p.M_Product_ID, pr.M_PriceList_Version_ID)-bomPriceLimit(p.M_Product_ID, pr.M_PriceList_Version_ID) AS Margin,
bomPriceLimit(p.M_Product_ID, pr.M_PriceList_Version_ID) AS PriceLimit,
w.Name AS WarehouseName,
bomQtyAvailable(p.M_Product_ID,w.M_Warehouse_ID,0) AS QtyAvailable,
bomQtyOnHand(p.M_Product_ID,w.M_Warehouse_ID,0) AS QtyOnHand,
bomQtyReserved(p.M_Product_ID,w.M_Warehouse_ID,0) AS QtyReserved,
bomQtyOrdered(p.M_Product_ID,w.M_Warehouse_ID,0) AS QtyOrdered,
COALESCE (pa.IsInstanceAttribute, 'N') AS IsInstanceAttribute
FROM M_Product p
INNER JOIN M_ProductPrice pr ON (p.M_Product_ID=pr.M_Product_ID)
INNER JOIN C_UOM uom ON (p.C_UOM_ID=uom.C_UOM_ID)
LEFT OUTER JOIN M_AttributeSet pa ON (p.M_AttributeSet_ID=pa.M_AttributeSet_ID)
INNER JOIN M_Warehouse w ON (p.AD_Client_ID=w.AD_Client_ID)
WHERE p.IsSummary='N' AND p.IsActive='Y' AND pr.IsActive='Y' AND w.IsActive='Y';
--AND pr.M_PriceList_Version_ID=?
--AND w.M_Warehouse_ID=?
--AND UPPER(p.Value) LIKE ? AND UPPER(p.Name) LIKE ?
--AND UPPER(p.UPC) LIKE ? AND UPPER(p.SKU) LIKE ?
--ORDER BY QtyAvailable DESC, Margin DESC;