预览加载中,请您耐心等待几秒...
1/7
2/7
3/7
4/7
5/7
6/7
7/7

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

SAPR/3接口技术老李整理SAPR/3提供了众多的API应用编程接口和接口工具以方便SAP二次开发和爱好者进行研究。RFC、ALE/IDocs是SAP公司早期为SAPR/3R4.6C版本所提供的接口机制目前应用最为广泛。在R4.0以后的版本中又添加了技术上先进的BAPI和DCOM。下面对这些接口方式以及其它可用的整合方式进行介绍。一、RFC(RomoteFunctionCall远程函数调用)。SAP系统RFC调用的原理其实很简单有一些类似于三层构架的C/S系统第三方的客户程序通过接口调用SAP内部的标准或自定义函数获得函数返回的数据进行处理后显示或打印。下面是RFC调用的模型:这里主要不是讨论SAPR/3函数的开发使用SAP的公司一般都有专门的ABAP开发人员通过事务代码SE37进入ABAP开发平台的“函数编制器”进行函数开发测试。以VB为例SAP接口RFC的开发思路如下。在SAP客户端SAPGuiClient安装的时候注意选择安装附带的SDK包。RFC接口程序开发主要用的是“SAP.Functions”这个控件通过控件在外部程序模拟SAPGuiClient的用户登录和函数调用然后返回函数的值。SAP的RFC调用是其接口技术中最简单和易用的一种方式该方式开发比较简便特别适合于外部报表开发但对于大数据量的查询效率相对较低。在附件中有VB中调用RFC的例程。在JAVA中也可以使用JCO接口来CALLSAP中的RFC相关包和demo也包含在附件中。二、ALE/IDOCALE是ApplicationLinkandEnabling的缩写是SAP专门为SAP与SAP之间所设计的整合中间件。IDocs是中介文本(IntermediateDOCument)的缩写是SAP提供的系统整合专用的数据/消息格式可用于EDI、ALE或导出导入(XMLASCII)文件等。当然也可ALE在SAP3.0版本开始就作为SAP整个应用体系的一部分为分布式数据交换提供了可靠安全的通讯机制。ALE的设计原本作为两个SAP流程之间的一种消息传递服务(MessagingService)使SAP与SAP的业务流程之间企业数据能够有效的交换为两个独立的SAP之间提供了的系统整合服务。不过随着应用的发展ALE/IDocs接口机制也已然成为与其它非SAP系统的标准的整合方式。ALE的设计结构可以分为三层即应用层数据/消息分配层和通讯层。通讯层是SAP整合机制的基础它利用远程功能呼叫RFC(RemoteFunctionCall)调用SAP系统的功能模块。数据/消息分配层主要提供三个关键服务:按数据分配模型决定数据接收者、消息的过滤和转换、数据/消息的压缩以提高传递效率。应用层直接与SAP系统接口生成或从其它系统接收含有路由信息的消息文本IDocs包括消息接收者的姓名要求发送的类型以及对消息进行处理的规则。ALE的机制代替了原来的SAP所提供的批数据通讯BDC(BatchDataCommunication)方式。顾名思义BDC为系统之间提供了简单的数据批处理服务还不能作为一种中间件技术它没有提供系统之间进行无缝整合所要求的纠错功能、系统管理和其它安全措施。总得说来应用SAP的ALE机制进行SAP与SAP或非SAP系统整合有以下几个好处:ALE技术不受SAP版本升级的影响它提供了版本向后兼容性。ALE定义于SAP应用层与SAP的逻辑层相对独立整个ALE中间件独立于发送和接收系统。ALE消息设计逻辑保证消息的“一次且只有一次”的消息传递。ALE采用“存储-发送”技术确保消息即使系统发生故障或接收方没有准备接收时也可以达到目的地。这样就保证接收方不至于收到重复消息。ALE也提供了IDocs管理功能。主要有文本缩减、文本版本控制以及文本数据过滤。三种控制机制使得SAP开发人员可以根据实际需要对IDocs文本在运行中进行动态处理。ALE提供了系统管理功能允许对ALE系统进行启动/复位/恢复等系统操作为开发人员提供了进一步的管理控制。IDoc几乎可以传带任何SAP应用的数据是一种“外围”定义格式与SAP的应用数据定义不直接相关。IDocs已经广泛应用于早期的SAP-EDI的数据交换因而它的设计有点类似于EDI的标准即EDIFACT标准。IDocs是以字符基础的因而是可读的。它有三种纪录类型即:控制纪录-含文本信息如IDoc类型发送/接收方信息以及文本标识。数据纪录-含管理和实际数据部分。状态纪录-用来追踪文本传递各点的状态如状态码系统时间错误标识等。再来看一下ALE/IDocs在系统整合过程中消息的实际传递情况:首先看发送过程。一个发送过程由事件触发文本生成数据打包以及交由传输媒介传递这四个步骤组成具体如下:a应用系统事件触发