SAP R/3 接口技术
老李整理
SAP R/3 提供了众多的 API 应用编程接口和接口工具,以方便 SAP 二次开发和爱好者
进行研究。RFC、ALE/IDocs 是 SAP 公司早期为 SAP R/3 R4.6C 版本所提供的接口机制,
目前应用最为广泛。在 R4.0 以后的版本中,又添加了技术上先进的 BAPI 和 DCOM。下面
对这些接口方式以及其它可用的整合方式进行介绍。
一、RFC(Romote Function Call,远程函数调用)。
SAP 系统 RFC 调用的原理其实很简单,有一些类似于三层构架的 C/S 系统,第三方的
客户程序通过接口调用 SAP 内部的标准或自定义函数,获得函数返回的数据进行处理后显
示或打印。下面是 RFC 调用的模型:
这里主要不是讨论 SAP R/3 函数的开发,使用 SAP 的公司一般都有专门的 ABAP 开发
人员,通过事务代码 SE37 进入 ABAP 开发平台的“函数编制器”进行函数开发测试。
以 VB 为例,SAP 接口 RFC 的开发思路如下。在 SAP 客户端 SAP Gui Client 安装的时
候,注意选择安装附带的 SDK 包。RFC 接口程序开发,主要用的是“SAP.Functions”这个控
件,通过控件在外部程序模拟 SAP Gui Client 的用户登录和函数调用,然后返回函数的值。
SAP 的 RFC 调用是其接口技术中最简单和易用的一种方式,该方式开发比较简便,特
别适合于外部报表开发,但对于大数据量的查询效率相对较低。
在附件中有 VB 中调用 RFC 的例程。
在 JAVA 中也可以使用 JCO 接口来 CALL SAP 中的 RFC,相关包和 demo 也包含在附
件中。
二、ALE/IDOC
ALE 是 Application Link and Enabling 的缩写,是 SAP 专门为 SAP 与 SAP 之间所设计
的整合中间件。IDocs 是中介文本 (Intermediate DOCument) 的缩写,是 SAP 提供的系统整
合专用的数据/消息格式,可用于 EDI、ALE 或导出导入(XML,ASCII)文件等。当然也可
ALE 在 SAP 3.0 版本开始就作为 SAP 整个应用体系的一部分,为分布式数据交换提供了可
靠安全的通讯机制。ALE 的设计,原本作为两个 SAP 流程之间的一种消息传递服务
(Messaging Service) ,使 SAP 与 SAP 的业务流程之间企业数据能够有效的交换,为两个独
立的 SAP 之间提供了的系统整合服务。不过,随着应用的发展,ALE/IDocs 接口机制也已
然成为与其它非 SAP 系统的标准的整合方式。
ALE 的设计结构可以分为三层,即应用层,数据/消息分配层和通讯层。通讯层是 SAP
整合机制的基础,它利用远程功能呼叫 RFC(Remote Function Call) 调用 SAP 系统的功能模
块。
评论0