从 CDS External Entity 到 HANA Virtual Table,彻底理解 ABAP Outbound SQL Access 的工作流与运行时产物

发布时间:2026/10/5 16:55:43
从 CDS External Entity 到 HANA Virtual Table,彻底理解 ABAP Outbound SQL Access 的工作流与运行时产物 在传统的 SAP ABAP 开发里,SELECT后面通常跟着透明表、CDS View、CDS View Entity 或其他由当前 ABAP 系统管理的数据源。数据在哪里,ABAP Dictionary 基本也就在哪里。进入 SAP BTP ABAP environment 和新一代 SAP S/4HANA Cloud 开发模型之后,这条边界开始发生变化。ABAP 应用现在可以继续使用熟悉的 SQL 编程模型,却把数据真正读取自另一个数据库系统,甚至另一个远程 AS ABAP。承载这套能力的核心对象,就是CDS External Entity。SAP 官方将这种能力称为 outbound data integration using SQL。CDS External Entity可以把外部数据库中的对象映射成 ABAP 开发世界里的持久化 CDS 实体,使 ABAP 应用能够通过 SQL 访问另一个 SAP HANA 数据库、非 SAP HANA 数据库,或者远程 AS ABAP。底层连接建立在 SAP HANA Smart Data Access,也就是SDA的数据联邦能力之上。这里很容易产生一个误解。看到 External Entity 之后,很容易把它理解成另一种 RFC、OData Client Proxy,或者把它当成远程数据库连接对象。实际上都不准确。External Entity 自己并不保存数据库地址,也不应该携带用户名、密码、端口之类的环境配置。它更接近一份由 ABAP 开发者维护的远程数据结构契约。它告诉 ABAP 编译器和运行时,我们准备读取一个