理论教育 SAP系统中,重要的双向接口技术RFC接口详解

SAP系统中,重要的双向接口技术RFC接口详解

时间:2023-06-12 理论教育 版权反馈
【摘要】:RFC是Remote Function Call的简称,是SAP系统和其他系统之间重要而常用的双向接口技术,它包含同步RFC、异步RFC、事务性RFC、队列RFC和并行RFC。DESTINATION参数告诉SAP系统被调用的功能将在调用者之外的系统上运行,通过RFC接口与远程系统进行通信。

SAP系统中,重要的双向接口技术RFC接口详解

1.什么是RFC,有哪些通信模式?

RFC是Remote Function Call的简称,是SAP系统和其他系统之间重要而常用的双向接口技术,它包含同步RFC、异步RFC、事务性RFC、队列RFC和并行RFC。

2.RFC中涉及的常用事务代码有哪些?

■SM51:查看当前SAP系统中活动的应用服务器,包括Server_Names、Host name和Type(服务类型)。

■SM49:查看、设定并执行外部命令。

■SM59:配置RFC连接,其中相同类型的RFC目标被组合至同一个目录。这些远程目标的定义将保存在表RFCDES中。

3.根据调用的不同,RFC接口提供了什么样的服务?

■ABAP程序的调用接口:任何ABAP程序都可以使用CALL FUNCTION...DESTIN ATION预计调用远程函数。DESTINATION参数告诉SAP系统被调用的功能将在调用者之外的系统上运行,通过RFC接口与远程系统进行通信。如果远程函数来自SAP系统,则必须是时间的函数模块,并在功能库中注册为“支持远程调用REMOTE-FUNCTION-ENABLE”,通信规则都通过ABAP的RFC接口实现。

■非SAP ABAP程序的调用接口:在RFC的实现过程中,如果调用或被调用一方是非ABAP程序,则非ABAP程序必须以特定的规格进行编程,确保它可作为RFC通信的一方。SAP系统为外部程序提供RFC支持接口(RFC-supported interface)和GUI支持接口(GUI-supported interface)。这样,在非SAP系统中,外部程序就可以调用并执行SAP远程函数模块。

4.RFC接口的具体功能包括哪些?

■登录并退出远程系统,并执行权限检查。

■调用并管理远程系统会话所需的通信例程。

■将参数转换成远程系统所需的格式。

■处理通信过程中的错误。(www.daowen.com)

5.在通过CALL FUNCTION语句进行远程功能调用的基本模式有哪些?

■CALL FUNCTION-DESTINATION:以同步RFC方式实现的远程函数调用。如果DESTINATION后无其他附加项,则形成同步RFC调用,调用程序等待远程调用的结果以继续执行。

■CALL FUNCTION-STARTING NEW TASK:以异步RFC方式实现的远程函数调用。通过STARTING NEW TASK附加项形成异步RFC调用,调用程序不等待返回结果继续执行,结果将在回调子程序(CallBack SubRoutine)中接收。

■CALL FUNCTION-IN BACKGROUND TASK:以事务性RFC方式实现的远程函数调用。通过IN BACKGROUND TASK形成事务性RFC调用,远程功能暂不开始执行,等待COMMIT WORK语句出现时,一次性执行一个或多个远程功能。

6.怎么创建一个支持远程调用的RFC?

在SAP系统中,RFC的创建方式与普通函数模块类似,只是编写函数模块时需要在Attribute选项卡中将Processing Type选项设为Remote-Enable Module,在传入、传出参数那里需要选择参数为Passing Value。

7.怎么调用一个SAP标准RFC?

在SAP中,功能模块的调用通过CALL FUNCTION语句实现。远程功能作为普通函数模块调用的扩展,可通过在CALL FUNCTION语句中添加DESTINATION子句完成,其语法格式与普通调用完全相同。

8.怎样建立RFC程序?RFC程序传递的参数是传递值还是引用?如何建立函数组

在SE37中建立函数模块的时候,Attributes选项卡中选中Remote Function。RFC程序传递的参数都是值传递(选中Pass Value选项)。建立函数组可进入SE80,选中屏幕左边的Repository Browser选项,在第一个输入框中选中函数组,在第二个输入框中输入需建立的函数组名,再按回车键就可以了。或者从SE37进入,在菜单上选中go to→function group→create group。

9.怎么维护DESTINATION(远程目标)?

SM59中包含链接和登录远程系统所需的全部参数信息。还可以在远程调用时直接指定当前系统的应用服务器作为RFC目标。通过SM51查看当前SAP系统中活动的应用服务器。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈