您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 信息化管理 > SAP培训材料_RFC接口
2009年2月8日辽宁省电力有限公司ERP系统实施项目ABAP培训讲义-RFC接口技术简介-第3页SAP接口技术简介•SAPR/3(及以后的ERP和其他系统)做为企业业务操作的基础平台,不可避免的要跟其他系统(如数据分析、办公自动化等)进行数据交互。同时随着企业应用SAP范围的增加,会出现很多不同版本或不同功能的SAP系统。如何让这些系统之间能够实现信息共享和业务互操作,就成为SAP扩展应用的重要课题。•SAP提供了RFC(RemoteFunctionCalls)来解决这些问题。RFC是一个概念,它包含了软件技术发展和SAP开发过程中的很多具体技术,如OLE、DCOM等公共技术以及IDoc、BAPI等SAP专有技术第4页选择和设计接口在一个集成项目中,选择合适的接口技术是一项中心任务。在选择接口技术和合适设计接口时,接口顾问可以提供必要的支持。SAP集成技术,一个知识产品,会在实现接口时提供细节信息。第5页SAPR/3内部的RFC当本地调用一个函数模块时,它跟调用程序运行在相同工作进程。远程调用一个函数模块时,如果远程系统是一个SAPR/3系统,它运行在自己的工作进程(它自己的SAPLUW)。远程目的地可以是相同或者不同的SAPR/3系统、SAPR/2系统或者一个外部的非SAP系统上的应用服务器。注意,调用程序在每个远程函数调用(RFC)上执行转出(rollout),也就触发一个隐式的数据库提交。第6页RFC目的地使用事务码SM59,可以在RFC端信息表RFCDES中维护RFC目的地。只能在源系统中维护RFC目的地。根据远程系统,维护相应类型中的一个目的地。在SAPR/34.7版或者SAPWeb应用服务器6.2之后,有两个新的HTTP目的地类型。使用这些目的地类型,可以在ABAP程序与基于HTTP协议基础(代替了RFC协议)的在互联网上的应用之间交换数据。第7页RFC目的地的维护RFC目的地类型包括:•R/2连接、•R/3连接、•对SAPR/3系统的HTTP连接、•对外部服务器的HTTP连接、•互联网连接、•逻辑连接、•TCP/IP连接、•使用ABAP驱动程序的连接。第8页R/3到R/3连接的目的地R/3到R/3连接的目的地如果想要连接到另一个R/3系统,需要一个类型为3的目的地。注意类型3的目的地是大小写敏感的,就是说,目的地区分大写和小写字母。第9页什么是BAPI什么是BAPI?BAPI是特殊的、允许远程调用的业务对象的方法,它们做为允许远程RFC的函数模块实现。BAPI可以执行各种功能,例如:•创建对象•查询一个对象的属性•修改一个对象的属性•BAPI是到R/3数据的接口第10页BAPI的使用BAPI的使用可以在不同的应用中使用BAPI,例如:互联网应用组件:在互联网或内部网中为没有R/3经验的用户实现的独立R/3功能。创建R/3组件:在来自不同R/3组件(应用)的业务对象间通讯。VisualBasic/Java/C++:外部客户端(例如其他的GUI)通过BAPI访问和处理R/3数据。第11页BAPI的属性可以从外部系统中象访问对象的方法一样访问BAPI,它们本身都是客户端的示例。SAP保障BAPI接口不会造成不一致的变更。还可以在R/3系统中使用BAPI访问业务数据。这让客户和合作伙伴可以更容易的添加R/3系统提供的功能。显示传递给BAPI或者从BAPI返回的数据的工作必须在调用程序中完成。返回参数RETURN包含了BAPI成功或错误的消息,并且,根据R/3版本,具有下列其中一个字典结构:BAPIRETURN、BAPIRETURN1、BAPIRET1、BAPIRET2或者BAPIRET2_FIX。这些结构通常都包含下列相关字段:•TYPE:消息类型,S(uccess)、E(rror)、W(arning)、I(nformation);ID:消息类;NUMBER:消息号;MESSAGE:消息文本;MESSAGE_V1、MESSAGE_V2、MESSAGE_V3、MESSAGE_V4:消息变量;如果传输成功,RETURN或者是空的(所有字段都是初始值),或只有TYPE字段的值为S。参考所使用BAPI的联机文档查找相关信息。第12页标准BAPI和BAPI浏览器下列BAPI存在于很多业务对象中。•GetList•GetDetail•CreateFromData根据对象,可以使用附加的BAPI(例如:业务对象Customer的CheckPassword)。BAPI浏览器(事务码BAPI)显示所有业务对象及BAPI,按照应用分组。附录中有一个例子教你如何创建自己的BAPI。关于BAPI变成的更多细节和方针,参考BAPI浏览器的“项目”选项卡。第13页从外部系统访问BAPI程序员需要知道哪个BAPI作用于哪个业务对象,以及它的接口。BAPI浏览器时一个BOR的逻辑视图,只显示具有BAPI的对象,并显示每个BAPI的完整接口。SAP交付的BAPI库可以用于各种开发环境(VisualBasic、C++、Java)。这些库包含了通讯的技术细节,允许开发者在系统外调用BAPI而不需要担心BAPI实际在系统中如何实现。第14页从ABAP访问BAPI当前,只能从ABAP程序中直接使用相关的函数调用(本地或远程)来访问BAPI。SAP计划在以后版本中把所有BOR业务对象集成到ABAP的类库中,这样就可以从ABAP中以面向对象的方式访问BAPI了。BAPI函数模块的命名规则是:BAPI_businessobject_method。BAPI函数模块中没有异常。成功或者错误消息通过RETURN导出参数来返回,根据R/3版本不同,这个参数的字典结构也不同。
本文标题:SAP培训材料_RFC接口
链接地址:https://www.777doc.com/doc-14911 .html