在 SAP S/4HANA Cloud 或 SAP BTP ABAP environment 里做数据集成时,经常会碰到一种很现实的需求。业务逻辑运行在 ABAP 系统中,但真正需要查询的数据并不在当前系统自己的数据库里,而是在另一套 SAP HANA Cloud、另一套 SAP HANA,甚至某个非 SAP HANA 数据库中。传统做法通常有两条路。一条路是复制,把远端数据通过 ETL、Data Replication、接口程序或者定时任务搬到本地,再让 ABAP 查询本地表。另一条路是服务化,把远端数据包装成 OData、REST 或 RFC 接口,再由 ABAP 调用。CDS External Entity提供了第三种思路。ABAP 程序仍然写熟悉的ABAP SQL,数据却可以在执行 SQL 时实时来自远端数据库。整个过程不要求业务数据预先复制到本地,也不要求开发人员为了每张远程表额外设计一套 REST API。SAP 把这种能力称为 outbound SQL access,它背后的数据库基础设施则是 SAP HANA Smart Data Access,也就是常说的SDA。SAP 当前的 ABAP Cloud 文档明确把 CDS External Entity 定义为面向外部系统的 SQL 数据集成机制,远端对象可以来自 SAP HANA、非 SAP HANA 数据库,也可以来自远程 AS ABAP。
阅读完成 · 觉得有帮助?