非同步RFC呼叫例項

2021-10-09 15:01:48 字數 2210 閱讀 4827

非同步rfc:在非同步rfc中,執行不依賴與rfc伺服器是否可用。被呼叫的遠端功能啟動後,呼叫程式繼續執行,遠端功能和呼叫程式處理相互分離。遠端功能的結果可以延時接收。

rfc非同步呼叫只能使用tables、exporting和exceptions引數。呼叫程式不等待function返回結果,不能直接從被呼叫的函式中返回結果,可以在後續的回撥子程式中獲取結果。

parameters: plnum like plaf-plnum.

data: l_return like bapireturn1,

l_header like bapiplaf_e1,

l_ca like bapi_kbko,

l_ca1 like bapi_kbko,

l_ca2 like bapi_kbko,

l_com like table of bapi_pldordcomp_e1 with header line,

l_capa like table of bapi_pldordcapa_e1 with header line,

l_capa1 like table of bapi_pldordcapa_e1 with header line,

l_capa2 like table of bapi_pldordcapa_e1 with header line.

call function 'bapi_plannedorder_get_detail'

destination '目標系統'

starting new task

'b1'

//指明非同步呼叫模式

performing return on end of task//呼叫子程式接收返回結果

exporting

plannedorder = plnum.

if sy-subrc =

0. write:

/'success call'

.endif.

at user-command.

if sy-ucomm =

'ok'

. write:

/'header info'

. uline.

write:

/ l_header-plannedorder_num,

l_header-material,

l_header-plan_plant,

l_header-prod_plant ,

l_header-order_type,

l_header-total_plord_qty,

l_header-order_start_date,

l_header-order_fin_date.

uline.

write:

/'companentsdata info'

. uline.

loop at l_com.

write:

/ l_com-material.

endloop.

endif.

form return using taskname.

receive results from function 'bapi_plannedorder_get_detail'

keeping task//使已載入的遠端上下文保持至呼叫程式結束,直到遠端連線終止。

importing

return

= l_return

headerdata = l_header

capacityheaderdata1 = l_ca

capacityheaderdata2 = l_ca1

capacityheaderdata3 = l_ca2

tables

componentsdata = l_com

capacitydata1 = l_capa

capacitydata2 = l_capa1

capacitydata3 = l_capa2.

set user-command 'ok'

.endform.

通常情況下,回撥子程式不會自動執行,只有出現對話步驟或呼叫程式進入記憶體暫時掛起狀態時,才會觸發該子程式。

C 非同步呼叫例項小結

using system using system.collections.generic using system.componentmodel using system.data using system.drawing using syste程式設計客棧m.text using system....

C 同步和非同步呼叫方法例項

複製 如下 namespace consoletest wmlguijd console.writeline 完畢!consol程式設計客棧e.readline wmlguijd 同步方法 程式設計客棧param name a static int add int a,int b nbswww.cp...

用VB呼叫RFC,將資料寫入SAP!

sap這個玩意兒就是門檻太高,其實也不太難。在網上找個資料都很難,下面我把我做的這個例項公開給大家,希望大家能夠有所啟發。誰說vb過時了,我覺得還可以!這個就是vb的例項!例項 呼叫上面定義的zrfc 01 以表為引數傳入rfc private sub cmdadd click 新增記錄 dim l...