SAP系统中RFC技术的基本原理及在企业中的应用
2015-07-27张建来长春轨道客车股份有限公司信息化部长春130000
张建来(长春轨道客车股份有限公司 信息化部,长春 130000)
SAP系统中RFC技术的基本原理及在企业中的应用
张建来
(长春轨道客车股份有限公司信息化部,长春130000)
摘要:本文主要介绍RFC的基本应用原理及该技术在企业中的应用。让广大读者了解SAP系统中IDoc、BAPI、WebSerivce等接口技术的基础RFC的基本运行原理,及在企业中的应用。
关键词:SAP 系统;RFC;远程功能调用
1 引言
随着企业的不断发展,对信息化的要求不断提升。单一的公司主系统(SAP系统)已经不能够满足部分个性化的需求。在个性化的子系统中又与公司主系统的数据具有高度的集成关系。SAP接口技术在各个信息系统之间架起了沟通的桥梁,提高了系统的整合能力。
2 RFC技术的基本原理
(1)RFC基础。RFC是SAP系统之间以及SAP与外部系统之间的通信的基本接口技术。诸多其他更高层的SAP接口和通信技术(比如BAPI、ALE等)都是基于RFC实现的。RFC过程就是系统调用当前系统外的程序模块,从而实现某个功能,而且调用系统和被调用系统中至少有一个必须是SAPABAP系统。在SAP中,可以提供给其他系统进行远程调用的程序模块是支持RFC的功能模块。
SAP提供的外部接口有三种,分别是:
程序通信接口(与其他系统进行数据交换的通路);文件I/O接口(与其他系统进行文件数据交换的通路;例如将数据从文件上载到程序中,或将运行时数据下载至文件);数据接口(与数据库的数据交换通路:批输入、SAPSQL)。
RFC位于程序通讯接口中,RFC是基于CPI-C实现的。而CPI-C是比RFC更底层的数据交换接口。
1)RFC调用过程。在系统间通信过程中,需要区分发送系统和接受系统,RFC调用请求从发送系统中传至接收系统(被调用系统,也称为远程系统或目标系统)。发送请求的系统在通信过程中称为RFC客户端,通信的另一方则称为RFC服务器RFC客户端发起远程功能调用以执行RFC服务器提供的功能调用系统和被调用系统均可以使SAP系统或非SAP系统
2)RFC通信的情况。根据通信方式和系统类型,共有如下3 中RFC通信:两个独立的SAP系统之间通信;SAP系统作为调用系统,与外部远程系统(非SAPABAP系统)通信;外部系统作为调用系统,与SAP系统通信
3)SAP接口系统。SAP调用远程功能的能力是通过RFC接口系统(RFCinterfacesystem)实现的。根据调用方向的不同,RFC接口提供以下两种服务:
ABAP程序的调用接口(CALLFUNCTION...DESTINATION,SAP系统间调用);非SAPABAP程序的调用接口(SAP系统为外部程序提供RFC支持接口和GUI支持接口,这样非SAP系统中的外部程序和SAP系统就可以互相调用)。
(2)RFC通讯模式。在SAP系统中的RFC过程扩展为下述几种不同的模式。
同步RFC:调用系统需要立即接收返回结果
异步RFC:调用系统不需要立即返回结果
并行RFC,实际上是异步RFC
事务性RFC,广义上也属于异步通信模式,相关联的RFC可捆绑至一个事物
队列RFC,对事务性RFC功能的进一步扩展,实现事务性RFC中各LUW按指定的顺序执行
(3)RFC调用总结。各种RFM调用特征及其差异简要总结如下:
同步RFC必须显示地通过DESTINATION附加项指定远程目标。对于异步RFC或事物性RFC实现的RFM调用则可以不显示地指定远程目标,系统将使用本地系统的RFC接口。
同步RFC调用需要等待RFM返回结果;异步RFC不需要,但需要通过RECEVICE语句在回调子程序中接收结果;事务性RFM不能接收RFM返回值。
同步异步RFC调用过程,服务器系统必须在调用时可用;事务性RFC无此限制。
同步异步RFC调用过程,允许用户与远程系统进行交互对话;事务性RFC不允许。
同步异步RFC调用过程,参数值将直接传输至支持远程调用的功能模块;事务性RFC的参数值暂时存储在数据库中
对于异步RFC,只适用于SAP系统内部或SAP系统之间的调用,不能通过T类型目标连接至外部系统;同步RFC和事物RFC还可以调用非SAP应用。
事务性RFC、队列RFC支持状态查询。
3 传统的外部编程接口和SAP连接器
(1)RFCAPI简介。RFCSDK中的RFCAPI,我们可以实现外部应用程序访问SAP以及SAP访问外部应用。SAP为不同的操作系统提供不同版本的RFCSDK;(2)SAPJCo。SAPJCo是SAP组件和Java应用程序之间的中间件和接口实现机制。JCo支持JAVA调用ABAP及ABAP调用JAVA。要使用JCo的前提条件是系统已经安装了JRE;(3)SAPNCo。SAPNCo是SAP系统和microsoft.Net平台之间通信的纽带及开发中间件,该连接器支持RFC和WEB服务,并支持多种MicrosoftVisualStudio.NET应用程序的开发,如Web应用程序、Windows应用程序。
4 RFC在企业中的应用
(1)异步处理应用。1)关键部件车组层级结构的自动变更;2)跨工厂物料领取。(2)JCo应用。PDMLINK及VPM与SAP系统接口。实现物料、bom、工程更改、的同步。(3)并行处理。应用于较大数据报表的查询工作,通过后台作业运行。
5 总结
SAP系统为企业带来了先进的管理思想,随着企业不断发展,外围系统不断增加。为了满足用户需求,SAP系统提供了丰富的接口技术。本文重点分析了SAP系统接口的基础RFC技术。只有对RFC技术熟练的掌握,才能更好的应用SAP系统其他的接口技术。
参考文献:
[1]东方先生. SAP ABAP开发技术详解(实例篇).电子工业出版社,2014。
[2]文洋,尹凤霞 . SAP从入门到精通[M].人民邮电出版社,2010.
[2]黄佳.SAP高级应用开发[M].人民邮电出版社,北京:2008.