SAP 系统接口技术分析

时间:2022-07-24 04:41:21

SAP 系统接口技术分析

摘要:在 SAP 项目实施过程中,经常会碰到与其他系统的集成问题,在 SAP 项目范围之外,企业中还有大量的遗留系统、非 SAP 系统、外部系统,SAP 并不能满足企业所有的功能需求,需要同安全与访问控制等系统相互协作,共同来实现这些系统之间的数据交互,从而确保 SAP 投入使用后,与相关系统的接口也可用。SAP 项目实施过程中的定制操作,不会改变 SAP 系统本身,但通过 ABAP/4 开发平台则可以对 SAP 系统进行扩展,也就是通过 ABAP 开发,SAP 可以与其他 R/3 系统或者非 R/3 系统集成。目前 SAP R/3 与其他系统集成,除了可以采用 ABAP 开发实现,还可以采用如下三种技术来实现:RFC、IDoc、BAPI。采用这三种技术可以使 SAP 系统与其他技术构造自动集成。

关键词:SAP RFC BAPI ALE IDOC

RFC ( Romote Function Call,远程函数调用 )接口模式

RFC 是 SAP 系统和其他(SAP或非SAP)系统间的一个重要而常用的双向接口技术,也被视为 SAP 与外部通信的基本协议。简单地说, RFC 过程就是系统调用当前系统外的程序模块,从而实现某个功能,而且调用系统和被调用系统中至少有一个必须是 SAP ABAP 系统。这种远程功能调用也可在同一系统内部进行(如本地SAP 系统内的远程调用);但通常情况下,调用程序和被调用程序处于不同系统。

SAP 系统RFC应用的原理很简单,有一些类似于三层构架的C/S系统,第三方的客户程序通过接口调用 SAP 内部的标准或自定义函数,获得函数返回的数据进行处理后显示或打印。在 SAP 客户端 SAP Gui Client 安装的时候,注意选择安装附带的 SDK 包(最保险是选择完全安装)。RFC 接口程序开发,主要用的是“SAP.Functions”这个控件,通过控件在外部程序模拟 SAP Gui Client 的用户登录和函数调用,然后返回函数的值。

优点: SAP 的 RFC 调用是其接口技术中最简单和易用的一种方式,该方式开发比较简便,特别适合于外部报表开发。

缺点:但对于大数据量的查询效率相对较低。如果有大数据量开发很多使用 IDOC 和 BAPI 接口开发技术。

RFC 接口方案开发量小,实施简单,很快就能满足客户需求,如在外部系统打印报表,或外部系统获取 SAP 简单的数据信息进行加工处理等。但这种方案只能满足客户简单的需求。

BAPI (Business Application Programming Interface)接口模式

BAPI是Business Application Programming Interface的缩写,是 SAP 为3.0版本以上提供的基于企业目标(Business Object) 技术的接口应用界面。 SAP 在3.0版本以上采用了 Object-oriented 技术,逻辑定义了 SAP R/3系统的所有功能目标,并且将所有的目标(Objects) 和BAPIs存储于企业目标库BOR(Business Objects Repository). SAP R/3 企业目标的目标类型(Object Type) 相当于目标设计语言中类(Class) 的概念,其定义结构由以下几部分组成:

基本数据——所有目标类的通用属性,如目标标识和默认方法(Method) 。

接口界面——目标的方法(Method), 事件(Event), 特征(Attributes) 。

键(Key Fields)——供BOR中目标检索使用

方法(Methods)——对目标进行所要求的各种操作。

特征(Attibutes)——描述目标特征。

事件(Events)——触发以改变目标状态。

BAPI 是一个标准化的开放接口。 BAPI 是 SAP 提供给用户的一些标准函数,比如创建销售订单的函数 ,只要给定相应的参数,就可以实现特定的功能。它也克服了很多BDC 存在的固有BUG。

优点: BAPI 是外部系统对 SAP 标准业务进行调用的一种方式,当外部系统有对 SAP 标准业务关联较紧密的功能性开发调用时较适合。

缺点:但当外部系统与SAP系统间有大数据量的交付,并且分布广,网络状况较差情况下不适合。这种模式,也是只需写少量的代码就能实现,并且满足了客户对 SAP 业务模块对象化的应用,这种模式需要在 SAP 业务模块进行适量的配置,

这是目前小业务数据量交付的常用接口模式,因为外部系统只需给出调用的输入参数,在获取 SAP 的输出参数,但 SAP 系统自身处理相应业务逻辑,这增加了 SAP 服务器负载,并且不适宜分布较广的系统间大数据量的交付。

ALE(Application Link and Enabling )/IDocs(Intermediate DOCument)接口模式

ALE 是Application Link and Enabling的缩写,是 SAP 专门为 SAP 与 SAP 之间所设计的整合中间件。IDocs是中介文本 (Intermediate DOCument) 的缩写,是 SAP 提供的系统整合专用的数据/消息格式。ALE在SAP 3.0版本开始就作为 SAP 整个应用体系的一部分,为分布式数据交换提供了可靠安全的通讯机制。ALE的设计,原本作为两个SAP流程之间的一种消息传递服务(Messaging Service) ,使 SAP 与 SAP 的业务流程之间企业数据能够有效的交换,为两个独立的 SAP 之间提供了的系统整合服务。不过,随着应用的发展, ALE/IDocs 接口机制也已然成为与其它非 SAP 系统的标准的整合方式。 ALE 的机制代替了原来的SAP所提供的批数据通讯BDC(Batch Data Communication) 方式顾名思义,BDC为系统之间提供了简单的数据批处理服务,还不能作为一种中间件技术,它没有提供系统之间进行无缝整合所要求的纠错功能、系统管理和其它安全措施。ALE这些方面却处理的很好。

IDoc是EDI(电子数据接口)的一种标准,它是SAP系统支持的唯一一种EDI标准,所以,在SAP系统中,不用考虑EDI各个标准的转换问题。

ALE/IDocs模式适合有大数据量交付,系统间网络状况较差,且分布较广的SAP系统与非SAP系统间的集成接口模式。

SAP.接口实现: 可以实现与SAP系统的IDOC,FM,BAPI,RFC ,web service方式的连接,进行交互,其中web service是未来SAP与外界进行交互技术发展的趋势,也是ESOA的实现之一。

上一篇:线损过高的原因分析及改进措施 下一篇:浅论水利工程建筑技术与管理