SAP B1:销售和 Returns 在一个查询中

SAP B1: Sales and Returns in one query

我是 SAP B1 的新人。 有一项任务是在一个查询中按 BP 显示该时期的销售额和 Returns,然后根据数据创建 Crystal 报告。 ORDR 和 RDR1 - 销售 ORDN 和 RDN1 - Returns。 你能告诉我如何加入他们吗? 提前致谢。

要从两个业务对象(订单和 returns)接收数据,您应该考虑对它们进行 UNIONing 而不是 JOINing。 纯 SQL 查询(在此示例中为 HANA 风格)将如下所示:

SELECT 
     "CardCode"
    ,"ItemCode"
    ,SUM("Total Sale") AS "Total Sale"
    ,SUM("Total Return") AS "Total Return"
FROM
(
    SELECT
         ORDR."CardCode"
        ,RDR1."ItemCode"
        ,RDR1."Quantity" AS "Total Sale"
        ,0 AS "Total Return"
    FROM ORDR
    JOIN RDR1
        ON ORDR."DocEntry" = RDR1."DocEntry"
    WHERE ORDR."DocDate" BETWEEN '2020-01-01' AND '2020-06-30'
    UNION ALL
    SELECT
         ORDN."CardCode"
        ,RDN1."ItemCode"
        ,0 AS "Total Sale"
        ,RDN1."Quantity" AS "Total Return"
    FROM ORDN
    JOIN RDN1
        ON ORDN."DocEntry" = RDN1."DocEntry"
    WHERE ORDN."DocDate" BETWEEN '2020-01-01' AND '2020-06-30'
)
GROUP BY
     "CardCode"
    ,"ItemCode" 

要将结果放入 Crystal 报告 (CR) 中,有很多选择。你可以试试

  • 根据上面显示的查询创建数据库视图并从 CR
  • 查询该视图
  • 或者从上面的内部查询(即圆括号中的那个)创建一个数据库视图,从 CR 中查询,然后在 CR 中进行分组
  • 或使用 CR 的“命令”作为数据源,并像创建数据库视图一样构建命令。