Mobile: 135 8576 5961 / WeChat: IM_WILLIAM_C / Mail: william.chen.cn@outlook.com /
分类: IT职场
2013-03-07 22:53:31
是系统和其他(SAP或非SAP)系统间的一个重要而常用的双向接口技术,也被视为SAP与外部通信的基本协议。简单地说,RFC过程就是系统调用当前系统外的程序模块,从而实现某个功能,而且调用系统和被调用系统中至少有一个必须是SAP系统。这种远程功能调用也可在同一系统内部进行(如本地SAP系统内的远程调用);但通常情况下,调用程序和被调用程序处于不同系统。
SAP所提供的外部接口包括程序通信接口(communication interface)、文件I/O接口(file I/O interface)以及(data interface)。数据接口用于在系统内部对程序运行时数据和数据库数据进行传递,其实现技术包括批输入(batch input)、SAP SQL等。程序通信接口和文件I/O接口则是与其他系统进行数据交换的通路。文件I/O实现文件中数据和运行时数据间的交换(即将数据从文件上载到程序中。或将运行时数据下载至文件)。RFC位于程序通信接口中,以实现外部程序对SAP系统内部数据的访问。
RFC是基于CPI-C实现的。CPI-C是比RFC更底层的数据交换接口,它基于或LU6.2协议,其使用比RFC更复杂,一般情况不直接使用。RFC就可在实现逻辑上位于CPI-C的上层,所有RFC的调用都将转换为CPI-C的调用完成,但作为程序设计人员则不必了解CPI-C的实现细节。
1.RFC调用过程
在系统间通信过程中,需区分发送系统和接受系统。RFC调用请求从发送系统(调用系统)中传至接收系统(被调用系统,也称远程系统或目标系统),发送请求的系统在通信过程中又称为RFC客户端,通信另一方则称为RFC服务器。RFC客户端发起远程功能调用以执行RFC服务器提供的功能。
其中,调用系统和被调用系统均可以是SAP系统和非SAP系统,此外还可以在SAP系统内部将特定应用服务器指定为目标系统。
2.RFC通信的情况
根据通信方向和系统类型,共有如下三种RFC通信:
*两个独立的SAP系统之间的通信;
*SAPA系统作为调用系统,与外部远程系统(非SAP ABAP系统)通信;
*外部系统作为调用系统,与SAP系统通信。
3.RFC接口系统
SAP调用远程功能的能力是通过RFC接口系统(RFC interface system)实现的。根据调用方向的不同(SAP系统调用其他模块或其他系统调用SAP模块),RFC接口提供以下两种服务。
(1)ABAP程序的调用接口
(2)非SAP ABAP程序的调用接口。