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. 

 

posted @ 2018-01-05 17:34  明大叔  阅读(2398)  评论(0编辑  收藏  举报