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.