ABAP 调用远程rfc
ABAP 调用rfc
DESTINATION附加项后面接的是远程目标名称,该目标在事务SM59中设定,其中包含连接和登录远程系统所需的全部参数信息。
如果调用的就是本机的RFC目标,则DESTINATION可以使用<主机名>_<系统标识>_<实例编号>来指定(就是指下图中的Server Names),
可以通过SM51查看当前SAP系统中活动的应用服务器.
CALL FUNCTION 'ZR####' DESTINATION 'ZD_TEST' EXPORTING I_VBELN = 'XA...' IMPORTING E_STATU = E_STATU E_MESS = E_MESS TABLES ITAB = ITAB .
l 目标NONE:指定该远程目标意味着将运行当前程序的应用服务器作为目标系统,但是调用过程将通过RFC接口实现,并拥有自己的RFC上下文。该目标可以应用于任意调用类型。
l 目标BACK:用于被远程调用的RFM程序内部的CALL FUNCTION语句中的目标指定,通过已建立的RFC连接反过来调用该函数的主调者系统中的其他功能模块(即主调程序—>远程系统中的RFM—>又回调主调程序所在系统中的其他函数)
l 目标SPACE: DESTINATION选项将会被忽略,被调功能函数将作为普通函数在本机调用
同步远程rfc的会话处理
异步调用rfc STARTING NEW TASK
l 主调程序的执行并不依赖于RFC服务器系统的可用性,被调用的远程功能启动后,调用程序继续运行,远程功能和调用程序处理相互分离,远程功能的结果可以稍后接收:
CALL FUNCTION func STARTING NEW TASK task [DESTINATION {dest|{IN GROUP {group|DEFAULT}}}] [{PERFORMING subr}|{CALLING meth} ON END OF TASK] parameter_list.