在传统 ABAP 开发里,只要看到SELECT,大多数人的第一反应都是从当前 AS ABAP 所连接的数据库读取数据。无论底层是 SAP HANA,还是早期系统里的其他数据库,ABAP SQL 面向的基本都是当前 ABAP System 自己的数据空间。CDS External Entity改变了这个边界。它让一段看起来仍然属于 ABAP SQL 和 ABAP CDS 世界的访问逻辑,可以把真正的数据源放到另一个系统中。那个系统可以是另一个 SAP HANA Database,可以是非 SAP HANA 数据库,也可以是远程 AS ABAP。应用程序仍然工作在 ABAP 编程模型里,但数据并不一定存放在当前系统。SAP 将这种能力归入 Outbound SQL Data Integration,也就是从当前 ABAP System 主动访问外部数据。这和传统 RFC、OData、REST API 的思路很不一样。RFC 和 OData 更像调用远端系统暴露出来的业务接口。External Entity 则把远程数据源进一步抽象成一个可以被 SQL 消费的数据对象。对于应用层代码而言,开发人员面对的不再是 HTTP Request、JSON Payload 或 RFC Function Module,而更接近一张能够参与 SQL 查询的数据表。SAP 对 External Entity 的定位非常明确,它属于 CDS Entity 的一种,并且被归入 Persistent Entity。这里很容易产生一个误会。所谓 Persistent,并不是说远程业务数据会被持久化复制进当前 ABAP System。这里的