更多文章正在写作中
在实际 SAP ABAP 项目开发中,在一个 ABAP 系统消费另一个 ABAP 系统的数据,是一个常见的实现需求,特别是在系统集成项目中更是如此。
理论上,实现这种跨系统间数据交换的场景,技术上有多种选择,比如 RFC(Remote Function Call,远程函数调用),OData,Web Service 等等。如果两个系统都是 SAP ABAP 系统,那么最简单高效的手段,当然就是本文标题的 RFC 调用。采用 RFC 调用,可以省去 OData 或者 Web Service 开发的步骤,在 ABAP 系统 A 直接能够调用 ABAP 系统 B 里实现的函数(Function Module)。
SAP 标准产品里也有不少采取 RFC 实现数据交换的案例,比如 SAP CRM 通过中间件(Middleware) 从 SAP ERP 读取数据,进行主数据同步(Master Data Exchange)。
本文我们就来介绍从 ABAP 系统 A 如何采取 RFC 直接调用 ABAP 系统 B 的函数。
在学习本步骤之前,请确保已经掌握了 ABAP Function Module 的基本用法:
7. ABAP function module 的使用
通过 RFC 实现跨 ABAP 系统间函数调用的示意图如下所示,下面我们通过一个具体的例子来讲解。
为了表述方便,本文余下部分,将发起 RFC 调用的 ABAP 系统 A,称之为 本地 ABAP 系统,将通过 RFC 实际执行 Function Module 的 ABAP 系统 B ,称之为 远端 ABAP 系统。
总结
本文通过一个实际的例子,介绍了如何在本地 ABAP 系统,通过 RFC 执行远端 ABAP 系统上的函数。在实际的 ABAP 系统间集成项目里,ABAP RFC 调用是使用得比较多的一种简单高效的数据交互手段。