【问题标题】:Add delivery info to query in SAP Crystal Reports在 SAP Crystal Reports 中添加交付信息以进行查询
【发布时间】:2017-07-27 02:01:20
【问题描述】:

以下是将采购订单链接到销售订单的查询。我的理解是,为了在此报告中包含交付文档#,我需要再添加一个表 - ODLN(因此会有一个名为“交付文档#”的附加字段,又名 [ODLN.DocNum ])。我的问题是我不确定如何在下面的查询中加入 ODLN 而不会弄乱任何东西。

ODLN.DocNum 几乎可以验证 PO 确实在 SO 提交时被放置。

SELECT DISTINCT
       o.CardName AS 'Customer Name'
       ,(isnull(c1.Street,'') + ', ' + isnull(c1.Block,'') + ', ' + isnull(c1.City,'') + ', ' + isnull(c1.[State],'') + ' ' + isnull(c1.ZipCode,'')) AS 'Customer Address'
       ,cpr.[Name] AS 'Customer Contact'
       ,cpr.Tel1 AS 'Customer Phone'
       ,cpr.E_MailL AS 'Customer Email'
       ,o.DocNum AS 'Sales Order #'
       ,p.DocNum AS 'PO # to Barracuda'
       ,l.ItemCode AS 'SKU'
       ,l.Dscription AS 'Desc'
       ,l.Quantity AS 'Qty'
       ,l.Price
       ,s.SlpName AS 'Sales Rep'
FROM 
       ORDR o
       INNER JOIN RDR1 l ON o.DocEntry = l.DocEntry
       LEFT JOIN POR1 p1 ON l.DocEntry = p1.BaseEntry AND l.LineNum = p1.BaseLine
       LEFT JOIN OPOR p ON p1.DocEntry = p.DocEntry
       INNER JOIN OCRD c ON o.CardCode = c.CardCode
       INNER JOIN CRD1 c1 ON c.CardCode = c1.CardCode AND c.BillToDef = c1.[Address]
       LEFT JOIN OCPR cpr ON c.CntctPrsn = cpr.[Name] AND c.CardCode = cpr.CardCode
       INNER JOIN OITM itm ON l.ItemCode = itm.ItemCode
       INNER JOIN OITB i ON itm.ItmsGrpCod = i.itmsGrpCod
       INNER JOIN OSLP s ON o.SlpCode = s.SlpCode
WHERE
       o.Canceled = 'N'
       AND c1.AdresType = 'B'
       AND i.ItmsGrpCod = 109
       AND o.DocDate BETWEEN '6/01/2014 00:00:00.000' AND '9/30/2014 00:00:00.000'
ORDER BY
       o.DocNum

【问题讨论】:

  • ODLN.DocNum 与现有表/列有何关系?
  • 交付文档验证 PO 确实在 SO 提交时被放置。
  • 该表与其他表的关系如何,以便我们找出联接?
  • 您是说 PO 在 SO 之前可能无法获得 doc num 吗?在这种情况下,左加入 ODLN 到 PO。
  • 您可以在确保它们是旧表中的相关字段之后插入另一个表 OLDN。

标签: sql crystal-reports sap business-intelligence


【解决方案1】:

从 cmets 可以清楚地看出,您不确定要使用哪些字段将 ODLN 连接到当前查询。

我会跟着钱走。

如果我没记错的话,ODLN.TransId 加入了 OJDT.TransId,而 OJDT.BaseRef 加入了 OPOR.DocNum。

您的问题不清楚的是,您是否只想要那些具有交货单据的 PO,只想要那些没有交货单的 PO,或所有 PO(由具有交货单据的那些订购或不订购)。一旦我们知道了,我们就可以告诉你是使用left还是inner,如何处理Null等等。但坦率地说,当涉及到SAP时,这部分是微不足道的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-12-22
    • 1970-01-01
    • 1970-01-01
    • 2014-05-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-20
    相关资源
    最近更新 更多