ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

深入理解 SAP ABAP CDS Derivation Functions,如何让 Analytical Query 自动推导上下文参数

深入理解 SAP ABAP CDS Derivation Functions,如何让 Analytical Query 自动推导上下文参数 做 SAP Analytical Query 时,经常会碰到一种很典型的需求。报表只希望业务人员输入一个关键日期,但真正执行查询时,系统还需要知道这个日期所在月份的第一天。业务人员输入 2024 年 9 月 9 日以后,查询条件实际上应该变成 2024 年 9 月 1 日到 2024 年 9 月 9 日。当然,我们完全可以在应用层写代码计算月初日期,也可以让前端同时传两个日期参数。但站在 CDS Analytical Query 的角度看,这两种方案都显得有些笨重。更符合 SAP Analytical Engine 思路的做法,是只暴露真正需要业务人员决定的参数,其他能够根据上下文计算出来的值交给 Derivation Function。SAP 官方对 Derivation Function 的定位很明确,它用于根据当前上下文派生值,这些值又可以继续参与 CDS Query 的数据限制。典型场景包括当前会计年度、当前用户负责的成本中心、指定日期所属期间、用户语言相关数据等。SAP 在 ABAP Cloud 的2508What’s New 中也把 Derivation Functions 作为分析能力的一项新增功能记录下来。从开发者的视角看,Derivation Function 可以理解成 Analytical Query 参数体系中的一条自动求值链。我们提供一个输入值,Analytical Runtime 根据这个输入访问一个 Lookup Entity,从中取回目标字段,再把结果赋给另一个参数。后面的查询条件继续消费这个派生参数。整个过程可以抽象成下面这条数据流。业务输入参数 →
返回列表