深入理解 SAP ABAP CDS Scalar Function Implementation Reference,从 CDS 定义到 AMDP 与 SQL Engine 的完整执行链路
发布时间:2026/10/6 16:10:56 锦皓数字建站

在 ADT 里创建一个CDS Scalar Function时,很容易产生一个直觉,函数既然已经通过define scalar function定义出来,后面再写一个 AMDP method 完成计算逻辑,事情似乎就结束了。实际上,中间还缺少一个非常关键的 ABAP Repository 对象,Scalar Function Implementation Reference。这个对象本身并不负责完成业务计算,也不是另一份 CDS 源代码。打开它以后,看到的也不是熟悉的文本编辑器,而是 ADT 提供的 form-based editor,也就是表单式编辑器。它承担的是一种连接职责,把 CDS 层声明出来的 scalar function 与真正负责执行计算的 runtime 建立关系。对于 SQL-based scalar function,这个 runtime 就是SQL Engine,同时还要进一步指定一个 AMDP class 中的 AMDP method,由这个 method 提供真正的函数实现。SAP 官方文档也明确把 CDS scalar function 拆成两个核心 Repository 对象,一个负责 signature,也就是CDS Scalar Function Definition,另一个负责 implementation,也就是CDS Scalar Function Implementation Reference。把这一层关系理解清楚以后,整个设计会变得很自然。一条完整的调用链可以理解成下面这样。
锦
锦皓数字建站
深耕本土企业品牌数字化升级,专注原创端正雅致商务官网,从视觉设计到稳定运维全程保驾护航。