资讯动态

从 CDS 到 HANA SQLScript,彻底理解 ABAP CDS Table Functions 的运行机制与工程边界

发布时间:2026/10/4 12:53:55 来源:尧图企业网站定制
在 SAP S/4HANA 项目里,CDS 经常会走到一个很微妙的临界点。普通的数据读取、关联、聚合、条件表达式、类型转换,使用 CDS View 或 CDS View Entity 已经足够优雅,但业务逻辑一旦进入复杂日期计算、窗口分析、特殊字符串处理、递归计算或者只有 SAP HANA SQLScript 才提供的数据库能力,单纯继续堆 CDS 表达式就会越来越吃力。CDS Table Function 就出现在这个位置。它并不是另一种普通 CDS View,而是给 CDS 打开了一条通向 SAP HANA 原生数据库计算能力的通道。CDS 负责定义一个具有明确输入和输出结构的数据实体,真正的数据读取和计算工作则交给 AMDP,也就是 ABAP Managed Database Procedures,并最终以 SQLScript 的形式在 SAP HANA 数据库内部执行。SAP 官方对 CDS Table Function 的定位非常明确,它允许 CDS 调用原生实现于数据库中的函数,从而把普通 CDS 难以表达的计算下推到 SAP HANA。Table Function 返回的是一个表状结果集,因此既可以被其他 CDS Entity 当作数据源,也可以通过 ABAP SQL 读取。从调用链看,一次访问大致经历下面这条路径。ABAP SQL 或 CDS Entity 发起查询,进入 CDS Table Function,Table Function 根据定义找到对应的 AMDP Method,AMDP Method 执行 SAP HANA SQLScript,SQLScript 读取数据库对象并完成计算,生成表状结果集,再沿原来的路径返回给 CDS 和 ABAP。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑