📄 views.sql
字号:
o.SalesRep_ID, COALESCE(ubp.Name, u.Name) AS SalesRep_Name,
o.DateOrdered, o.DatePromised,
bpg.Greeting AS BPGreeting,
bp.Name, bp.Name2,
bpcg.Greeting AS BPContactGreeting,
bpc.Title, bpc.Phone,
NULLIF (bpc.Name, bp.Name) AS ContactName,
bpl.C_Location_ID,
bp.ReferenceNo,
-- Bill to
o.Bill_BPartner_ID, o.Bill_Location_ID, o.Bill_User_ID,
bbp.Value AS Bill_BPValue, bbp.TaxID AS Bill_BPTaxID,
bbp.Name AS Bill_Name, bbp.Name2 AS Bill_Name2,
bbpc.Title AS Bill_Title, bbpc.Phone AS Bill_Phone,
NULLIF (bbpc.Name, bbp.Name) AS Bill_ContactName,
bbpl.C_Location_ID AS Bill_C_Location_ID,
o.Description,
o.POReference,
o.C_Currency_ID,
pt.Name AS PaymentTerm, pt.DocumentNote AS PaymentTermNote,
o.C_Charge_ID, o.ChargeAmt,
o.TotalLines,
o.GrandTotal, o.GrandTotal AS AmtInWords,
o.M_PriceList_ID,
o.IsTaxIncluded,
o.C_Campaign_ID, o.C_Project_ID, o.C_Activity_ID,
o.M_Shipper_ID, o.DeliveryRule, o.DeliveryViaRule, o.PriorityRule, o.InvoiceRule
FROM C_Order o
INNER JOIN C_DocType dt ON (o.C_DocType_ID=dt.C_DocType_ID)
INNER JOIN M_Warehouse wh ON (o.M_Warehouse_ID=wh.M_Warehouse_ID)
INNER JOIN C_PaymentTerm pt ON (o.C_PaymentTerm_ID=pt.C_PaymentTerm_ID)
INNER JOIN C_BPartner bp ON (o.C_BPartner_ID=bp.C_BPartner_ID)
LEFT OUTER JOIN C_Greeting bpg ON (bp.C_Greeting_ID=bpg.C_Greeting_ID)
INNER JOIN C_BPartner_Location bpl ON (o.C_BPartner_Location_ID=bpl.C_BPartner_Location_ID)
LEFT OUTER JOIN AD_User bpc ON (o.AD_User_ID=bpc.AD_User_ID)
LEFT OUTER JOIN C_Greeting bpcg ON (bpc.C_Greeting_ID=bpcg.C_Greeting_ID)
INNER JOIN AD_OrgInfo oi ON (o.AD_Org_ID=oi.AD_Org_ID)
LEFT OUTER JOIN AD_User u ON (o.SalesRep_ID=u.AD_User_ID)
LEFT OUTER JOIN C_BPartner ubp ON (u.C_BPartner_ID=ubp.C_BPartner_ID)
INNER JOIN C_BPartner bbp ON (o.Bill_BPartner_ID=bbp.C_BPartner_ID)
INNER JOIN C_BPartner_Location bbpl ON (o.Bill_Location_ID=bbpl.C_BPartner_Location_ID)
LEFT OUTER JOIN AD_User bbpc ON (o.Bill_User_ID=bbpc.AD_User_ID)
/
--
-- VIEW: C_Order_Header_vt
--
CREATE OR REPLACE VIEW C_Order_Header_vt
AS
SELECT o.AD_Client_ID, o.AD_Org_ID, o.IsActive, o.Created, o.CreatedBy, o.Updated, o.UpdatedBy,
dt.AD_Language,
o.C_Order_ID, o.IsSOTrx, o.DocumentNo, o.DocStatus, o.C_DocType_ID,
o.C_BPartner_ID, bp.Value AS BPValue, bp.TaxID AS BPTaxID, bp.NAICS, bp.DUNS,
oi.C_Location_ID AS Org_Location_ID, oi.TaxID,
o.M_Warehouse_ID, wh.C_Location_ID AS Warehouse_Location_ID,
dt.PrintName AS DocumentType, dt.DocumentNote AS DocumentTypeNote,
o.SalesRep_ID, COALESCE(ubp.Name, u.Name) AS SalesRep_Name,
o.DateOrdered, o.DatePromised,
bpg.Greeting AS BPGreeting,
bp.Name, bp.Name2,
bpcg.Greeting AS BPContactGreeting,
bpc.Title, bpc.Phone,
NULLIF (bpc.Name, bp.Name) AS ContactName,
bpl.C_Location_ID,
-- Bill to
o.Bill_BPartner_ID, o.Bill_Location_ID, o.Bill_User_ID,
bbp.Value AS Bill_BPValue, bbp.TaxID AS Bill_BPTaxID,
bbp.Name AS Bill_Name, bbp.Name2 AS Bill_Name2,
bbpc.Title AS Bill_Title, bbpc.Phone AS Bill_Phone,
NULLIF (bbpc.Name, bbp.Name) AS Bill_ContactName,
bbpl.C_Location_ID AS Bill_C_Location_ID,
bp.ReferenceNo,
o.Description,
o.POReference,
o.C_Currency_ID,
pt.Name AS PaymentTerm, pt.DocumentNote AS PaymentTermNote,
o.C_Charge_ID, o.ChargeAmt,
o.TotalLines,
o.GrandTotal, o.GrandTotal AS AmtInWords,
o.M_PriceList_ID,
o.IsTaxIncluded,
o.C_Campaign_ID, o.C_Project_ID, o.C_Activity_ID,
o.M_Shipper_ID, o.DeliveryRule, o.DeliveryViaRule, o.PriorityRule, o.InvoiceRule
FROM C_Order o
INNER JOIN C_DocType_Trl dt ON (o.C_DocType_ID=dt.C_DocType_ID)
INNER JOIN M_Warehouse wh ON (o.M_Warehouse_ID=wh.M_Warehouse_ID)
INNER JOIN C_PaymentTerm_Trl pt ON (o.C_PaymentTerm_ID=pt.C_PaymentTerm_ID AND dt.AD_Language=pt.AD_Language)
INNER JOIN C_BPartner bp ON (o.C_BPartner_ID=bp.C_BPartner_ID)
LEFT OUTER JOIN C_Greeting_Trl bpg ON (bp.C_Greeting_ID=bpg.C_Greeting_ID AND dt.AD_Language=bpg.AD_Language)
INNER JOIN C_BPartner_Location bpl ON (o.C_BPartner_Location_ID=bpl.C_BPartner_Location_ID)
LEFT OUTER JOIN AD_User bpc ON (o.AD_User_ID=bpc.AD_User_ID)
LEFT OUTER JOIN C_Greeting_Trl bpcg ON (bpc.C_Greeting_ID=bpcg.C_Greeting_ID AND dt.AD_Language=bpcg.AD_Language)
INNER JOIN AD_OrgInfo oi ON (o.AD_Org_ID=oi.AD_Org_ID)
LEFT OUTER JOIN AD_User u ON (o.SalesRep_ID=u.AD_User_ID)
LEFT OUTER JOIN C_BPartner ubp ON (u.C_BPartner_ID=ubp.C_BPartner_ID)
INNER JOIN C_BPartner bbp ON (o.Bill_BPartner_ID=bbp.C_BPartner_ID)
INNER JOIN C_BPartner_Location bbpl ON (o.Bill_Location_ID=bbpl.C_BPartner_Location_ID)
LEFT OUTER JOIN AD_User bbpc ON (o.Bill_User_ID=bbpc.AD_User_ID)
/
--
-- VIEW: C_Order_LineTax_v
--
CREATE OR REPLACE VIEW C_Order_LineTax_v
AS
SELECT ol.AD_Client_ID, ol.AD_Org_ID, ol.IsActive, ol.Created, ol.CreatedBy, ol.Updated, ol.UpdatedBy,
'en_US' AS AD_Language,
ol.C_Order_ID, ol.C_OrderLine_ID, ol.C_Tax_ID, t.TaxIndicator,
ol.C_BPartner_ID, ol.C_BPartner_Location_ID, bp.Name AS BPName, bpl.C_Location_ID,
ol.Line,
CASE WHEN ol.QtyOrdered<>0 OR ol.M_Product_ID IS NOT NULL THEN ol.QtyOrdered END AS QtyOrdered,
CASE WHEN ol.QtyEntered<>0 OR ol.M_Product_ID IS NOT NULL THEN ol.QtyEntered END AS QtyEntered,
CASE WHEN ol.QtyEntered<>0 OR ol.M_Product_ID IS NOT NULL THEN uom.UOMSymbol END AS UOMSymbol,
COALESCE(c.Name,p.Name||productAttribute(ol.M_AttributeSetInstance_ID), ol.Description) AS Name, -- main line
CASE WHEN COALESCE(c.Name,p.Name) IS NOT NULL THEN ol.Description END AS Description, -- second line
p.DocumentNote, -- third line
p.UPC, p.SKU, COALESCE(pp.VendorProductNo,p.Value) AS ProductValue,
ra.Description AS ResourceDescription, -- forth line
CASE WHEN i.IsDiscountPrinted='Y' AND ol.PriceList<>0
THEN ol.PriceList END AS PriceList,
CASE WHEN i.IsDiscountPrinted='Y' AND ol.PriceList<>0 AND ol.QtyEntered<>0
THEN ol.PriceList*ol.QtyOrdered/ol.QtyEntered END AS PriceEnteredList,
CASE WHEN i.IsDiscountPrinted='Y' AND ol.PriceList>ol.PriceActual AND ol.PriceList<>0
THEN (ol.PriceList-ol.PriceActual)/ol.PriceList*100 END AS Discount,
CASE WHEN ol.PriceActual<>0 OR ol.M_Product_ID IS NOT NULL THEN ol.PriceActual END AS PriceActual,
CASE WHEN ol.PriceEntered<>0 OR ol.M_Product_ID IS NOT NULL THEN ol.PriceEntered END AS PriceEntered,
CASE WHEN ol.LineNetAmt<>0 OR ol.M_Product_ID IS NOT NULL THEN ol.LineNetAmt END AS LineNetAmt,
p.Description as ProductDescription, p.ImageURL
FROM C_OrderLine ol
INNER JOIN C_UOM uom ON (ol.C_UOM_ID=uom.C_UOM_ID)
INNER JOIN C_Order i ON (ol.C_Order_ID=i.C_Order_ID)
LEFT OUTER JOIN M_Product p ON (ol.M_Product_ID=p.M_Product_ID)
LEFT OUTER JOIN S_ResourceAssignment ra ON (ol.S_ResourceAssignment_ID=ra.S_ResourceAssignment_ID)
LEFT OUTER JOIN C_Charge c ON (ol.C_Charge_ID=c.C_Charge_ID)
LEFT OUTER JOIN C_BPartner_Product pp ON (ol.M_Product_ID=pp.M_Product_ID AND i.C_BPartner_ID=pp.C_BPartner_ID)
INNER JOIN C_BPartner bp ON (ol.C_BPartner_ID=bp.C_BPartner_ID)
INNER JOIN C_BPartner_Location bpl ON (ol.C_BPartner_Location_ID=bpl.C_BPartner_Location_ID)
LEFT OUTER JOIN C_Tax t ON (ol.C_Tax_ID=t.C_Tax_ID)
UNION
SELECT ol.AD_Client_ID, ol.AD_Org_ID, ol.IsActive, ol.Created, ol.CreatedBy, ol.Updated, ol.UpdatedBy,
'en_US' AS AD_Language,
ol.C_Order_ID, ol.C_OrderLine_ID, ol.C_Tax_ID, null,
null, null, null, null,
ol.Line+(b.Line/100) AS Line,
ol.QtyOrdered*b.BOMQty AS QtyInvoiced, ol.QtyEntered*b.BOMQty AS QtyEntered, uom.UOMSymbol,
p.Name, -- main
b.Description,
p.DocumentNote, p.UPC, p.SKU, p.Value AS ProductValue,
null, null, null, null, null, null, null, p.Description as ProductDescription, p.ImageURL
FROM M_Product_BOM b -- BOM lines
INNER JOIN C_OrderLine ol ON (b.M_Product_ID=ol.M_Product_ID)
INNER JOIN M_Product bp ON (bp.M_Product_ID=ol.M_Product_ID -- BOM Product
AND bp.IsBOM='Y' AND bp.IsVerified='Y' AND bp.IsInvoicePrintDetails='Y')
INNER JOIN M_Product p ON (b.M_ProductBOM_ID=p.M_Product_ID) -- BOM line product
INNER JOIN C_UOM uom ON (p.C_UOM_ID=uom.C_UOM_ID)
UNION
SELECT AD_Client_ID, AD_Org_ID, IsActive, Created, CreatedBy, Updated, UpdatedBy,
'en_US', C_Order_ID, null, null, null,
null,
null, null, null,
null, null, null, null,
null,
null, null, null, null, null, null,
null, null, null, null, null, null, null, null
FROM C_Order
UNION
SELECT ot.AD_Client_ID, ot.AD_Org_ID, ot.IsActive, ot.Created, ot.CreatedBy, ot.Updated, ot.UpdatedBy,
'en_US', ot.C_Order_ID, null, ot.C_Tax_ID, t.TaxIndicator,
null, null, null, null,
null,
null, null, null,
t.Name,
null, null, null, null, null, null,
null, null, null,
CASE WHEN ot.IsTaxIncluded='Y' THEN ot.TaxAmt ELSE ot.TaxBaseAmt END,
CASE WHEN ot.IsTaxIncluded='Y' THEN ot.TaxAmt ELSE ot.TaxBaseAmt END,
CASE WHEN ot.IsTaxIncluded='Y' THEN NULL ELSE ot.TaxAmt END,
null, null
FROM C_OrderTax ot
INNER JOIN C_Tax t ON (ot.C_Tax_ID=t.C_Tax_ID)
/
--
-- VIEW: C_Order_LineTax_vt
--
CREATE OR REPLACE VIEW C_Order_LineTax_vt
AS
SELECT ol.AD_Client_ID, ol.AD_Org_ID, ol.IsActive, ol.Created, ol.CreatedBy, ol.Updated, ol.UpdatedBy,
uom.AD_Language,
ol.C_Order_ID, ol.C_OrderLine_ID, ol.C_Tax_ID, t.TaxIndicator,
ol.C_BPartner_ID, ol.C_BPartner_Location_ID, bp.Name AS BPName, bpl.C_Location_ID,
ol.Line,
CASE WHEN ol.QtyOrdered<>0 OR ol.M_Product_ID IS NOT NULL THEN ol.QtyOrdered END AS QtyOrdered,
CASE WHEN ol.QtyEntered<>0 OR ol.M_Product_ID IS NOT NULL THEN ol.QtyEntered END AS QtyEntered,
CASE WHEN ol.QtyEntered<>0 OR ol.M_Product_ID IS NOT NULL THEN uom.UOMSymbol END AS UOMSymbol,
COALESCE(c.Name,p.Name||productAttribute(ol.M_AttributeSetInstance_ID), ol.Description) AS Name, -- main line
CASE WHEN COALESCE(c.Name,pt.Name, p.Name) IS NOT NULL THEN ol.Description END AS Description, -- second line
COALESCE(pt.DocumentNote, p.DocumentNote) AS DocumentNote, -- third line
p.UPC, p.SKU, COALESCE(pp.VendorProductNo,p.Value) AS ProductValue,
ra.Description AS ResourceDescription, -- forth line
CASE WHEN i.IsDiscountPrinted='Y' AND ol.PriceList<>0
THEN ol.PriceList END AS PriceList,
CASE WHEN i.IsDiscountPrinted='Y' AND ol.PriceList<>0 AND ol.QtyEntered<>0
THEN ol.PriceList*ol.QtyOrdered/ol.QtyEntered END AS PriceEnteredList,
CASE WHEN i.IsDiscountPrinted='Y' AND ol.PriceList>ol.PriceActual AND ol.PriceList<>0
THEN (ol.PriceList-ol.PriceActual)/ol.PriceList*100 END AS Discount,
CASE WHEN ol.PriceActual<>0 OR ol.M_Product_ID IS NOT NULL THEN ol.PriceActual END AS PriceActual,
CASE WHEN ol.PriceEntered<>0 OR ol.M_Product_ID IS NOT NULL THEN ol.PriceEntered END AS PriceEntered,
CASE WHEN ol.LineNetAmt<>0 OR ol.M_Product_ID IS NOT NULL THEN ol.LineNetAmt END AS LineNetAmt,
pt.Description as ProductDescription, p.ImageURL
FROM C_OrderLine ol
INNER JOIN C_UOM_Trl uom ON (ol.C_UOM_ID=uom.C_UOM_ID)
INNER JOIN C_Order i ON (ol.C_Order_ID=i.C_Order_ID)
LEFT OUTER JOIN M_Product p ON (ol.M_Product_ID=p.M_Product_ID)
LEFT OUTER JOIN M_Product_Trl pt ON (ol.M_Product_ID=pt.M_Product_ID AND uom.AD_Language=pt.AD_Language)
LEFT OUTER JOIN S_ResourceAssignment ra ON (ol.S_ResourceAssignment_ID=ra.S_ResourceAssignment_ID)
LEFT OUTER JOIN C_Charge c ON (ol.C_Charge_ID=c.C_Charge_ID)
LEFT OUTER JOIN C_BPartner_Product pp ON (ol.M_Product_ID=pp.M_Product_ID AND i.C_BPartner_ID=pp.C_BPartner_ID)
INNER JOIN C_BPartner bp ON (ol.C_BPartner_ID=bp.C_BPartner_ID)
INNER JOIN C_BPartner_Location bpl ON (ol.C_BPartner_Location_ID=bpl.C_BPartner_Location_ID)
LEFT OUTER JOIN C_Tax_Trl t ON (ol.C_Tax_ID=t.C_Tax_ID AND uom.AD_Language=t.AD_Language)
UNION
SELECT ol.AD_Client_ID, ol.AD_Org_ID, ol.IsActive, ol.Created, ol.CreatedBy, ol.Updated, ol.UpdatedBy,
uom.AD_Language,
ol.C_Order_ID, ol.C_OrderLine_ID, ol.C_Tax_ID, null,
null, null, null, null,
ol.Line+(b.Line/100) AS Line,
ol.QtyOrdered*b.BOMQty AS QtyInvoiced, ol.QtyEntered*b.BOMQty AS QtyEntered, uom.UOMSymbol,
COALESCE(pt.Name, p.Name) AS Name, -- main
b.Description,
COALESCE(pt.DocumentNote, p.DocumentNote) AS DocumentNote, p.UPC, p.SKU, p.Value AS ProductValue,
null, null, null, null, null, null, null, pt.Description AS ProductDescription, p.ImageURL
FROM M_Product_BOM b -- BOM lines
INNER JOIN C_OrderLine ol ON (b.M_Product_ID=ol.M_Product_ID)
INNER JOIN M_Product bp ON (bp.M_Product_ID=ol.M_Product_ID -- BOM Product
AND bp.IsBOM='Y' AND bp.IsVerified='Y' AND bp.IsInvoicePrintDetails='Y')
INNER JOIN M_Product p ON (b.M_ProductBOM_ID=p.M_Product_ID) -- BOM line product
INNER JOIN C_UOM_Trl uom ON (p.C_UOM_ID=uom.C_UOM_ID)
INNER JOIN M_Product_Trl pt ON (b.M_ProductBOM_ID=pt.M_Product_ID AND uom.AD_Language=pt.AD_Language)
UNION
SELECT o.AD_Client_ID, o.AD_Org_ID, o.IsActive, o.Created, o.CreatedBy, o.Updated, o.UpdatedBy,
l.AD_Language, o.C_Order_ID, null, null, null,
null,
null, null, null,
null, null, null, null,
null,
null, null, null, null, null, null,
null, null, null, null, null, null, null, null
FROM C_Order o, AD_Language l
WHERE l.IsBaseLanguage='N' AND l.IsSystemLanguage='Y'
UNION
SELECT ot.AD_Client_ID, ot.AD_Org_ID, ot.IsActive, ot.Created, ot.CreatedBy, ot.Updated, ot.UpdatedBy,
t.AD_Language, ot.C_Order_ID, null, ot.C_Tax_ID, t.TaxIndicator,
null, null, null, null,
null,
null, null, null,
t.Name,
null, null, null, null, null, null,
null, null, null,
CASE WHEN ot.IsTaxIncluded='Y' THEN ot.TaxAmt ELSE ot.TaxBaseAmt END,
CASE WHEN ot.IsTaxIncluded='Y' THEN ot.TaxAmt ELSE ot.TaxBaseAmt END,
CASE WHEN ot.IsTaxIncluded='Y' THEN NULL ELSE ot.TaxAmt END,
null, null
FROM C_OrderTax ot
INNER JOIN C_Tax_Trl t ON (ot.C_Tax_ID=t.C_Tax_ID)
/
--
-- VIEW: C_PaySelection_Check_v
--
CREATE OR REPLACE VIEW C_PaySelection_Check_v
AS
SELECT psc.AD_Client_ID, psc.AD_Org_ID,
'en_US' AS AD_Language,
psc.C_PaySelection_ID, psc.C_PaySelectionCheck_ID,
oi.C_Location_ID AS Org_Location_ID, oi.TaxID, 0 AS C_DocType_ID,
bp.C_BPartner_ID, bp.Value AS BPValue, bp.TaxID AS BPTaxID, bp.NAICS, bp.DUNS,
bpg.Greeting AS BPGreeting,
bp.Name, bp.Name2,
bpartnerRemitLocation(bp.C_BPartner_ID) AS C_Location_ID,
bp.ReferenceNo, bp.POReference,
ps.PayDate,
psc.PayAmt, psc.PayAmt AS AmtInWords,
psc.Qty, psc.PaymentRule, psc.DocumentNo
FROM C_PaySelectionCheck psc
INNER JOIN C_PaySelection ps ON (psc.C_PaySelection_ID=ps.C_PaySelection_ID)
INNER JOIN C_BPartner bp ON (psc.C_BPartner_ID=bp.C_BPartner_ID)
LEFT OUTER JOIN C_Greeting bpg on (bp.C_Greeting_ID=bpg.C_Greeting_ID)
INNER JOIN AD_OrgInfo oi ON (psc.AD_Org_ID=oi.AD_Org_ID)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -