SAP ABAP CDS External Entity 定义详解,从远程数据库对象映射到动态与静态数据联邦

发布时间:2026/10/13 9:51:30
SAP ABAP CDS External Entity 定义详解,从远程数据库对象映射到动态与静态数据联邦 在 SAP S/4HANA Cloud 或 SAP BTP ABAP environment 中做跨系统数据访问时,经常会碰到这样一种需求。业务数据并不真正存放在当前 ABAP 系统自己的数据库表里,而是存在另一个 SAP HANA 数据库、集团级数据平台,甚至其他外部数据库系统中,但 ABAP 应用仍希望像访问本地数据源一样,通过 ABAP SQL 读取这些数据。过去处理这类问题时,很容易想到 RFC、OData、REST API、SOAP,或者自己建立 HTTP Client 调用远端服务。但这些方案属于服务调用模式。如果需求本身具有非常明显的 SQL 数据访问特征,例如读取远端数据库里的订单分析表、财务汇总表、数据湖加工后的结果集,那么让 ABAP 应用继续停留在 SQL 编程模型里往往更加自然。CDS External Entity 正是为这类场景设计的。SAP 官方将 CDS External Entity 定义为一种可以让 AS ABAP 访问外部数据库系统数据的持久化 CDS Entity。外部系统既可以是 SAP HANA,也可以是非 SAP HANA 数据库。它与远端物理数据库之间的连接关系由 Logical External Schema 描述,底层的数据访问则与 SAP HANA Smart Data Access,也就是 SDA 数据联邦机制结合。这里最容易产生的误解,是把 External Entity 当成普通 CDS View Entity 的另一种写法。实际上两者承担的职责并不一样。普通 CDS View Entity 的数据来源通常是当前 ABAP 系统数据库中的表、其他 CDS Entity 或相关数据库对象。External