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系统中活动的应用服务器。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。