請嘗試使用以下指令碼 -Dim sapConn As Object \宣告一個連線物件 Set sapConn = CreateObject("SAP.Functions") \建立一個 ActiveX 物件 sapConn.Connection.user = "使用者名稱" sapConn.Connection.Password = "xxxx" sapConn.Connection.client = "客戶端號" sapConn.Connection.ApplicationServer = "應用伺服器” sapConn.Connection.Language = "PT" If sapConn.Connection.Logon(0, True) True Then //在此處檢查連線 MsgBox "無法登入到 SAP" Else MsgBox "登入成功!!" End If Dim rfcAcctDocCheck As Object Dim oAcctHeader As Object Dim otAcctAR, otAcctGL, otAcctAP, otAcctAMT, otReturn As Object Set rfcAcctDocCheck = sapConn.Add("BAPI_ACC_DOCUMENT_CHECK") Set oAcctHeader = rfcAcctDocCheck.Exports("DOCUMENTHEADER") Set otAcctGL = rfcAcctDocCheck.Tables("ACCOUNTGL") Set otAcctAR = rfcAcctDocCheck.Tables("ACCOUNTRECEIVABLE") Set otAcctAP = ... 閱讀更多
在結構中指定表的基本規則是,您必須為該欄位提供一個非唯一約束。TYPES: myType TYPE TABLE OF string WITH NON-UNIQUE DEFAULT KEY然後在結構定義中使用它:TYPES: BEGIN OF ty_itab, ….. myTable type myType, …….. TYPES: END OF ty_itab.
在 SAP 系統中,非同步呼叫 (aRFC) 是使用 RFC 介面在 func 中指定的遠端啟用功能模組。addition DESTINATION 用於在 dest 中指定單個目標,或使用 IN GROUP 指定一組應用伺服器。後者支援並行處理多個功能模組。檢視以下連結,其中介紹了非同步 RFC:https://help.sap.com/http.svc/rc/abapdocu_751_index_htm/7.51/en-US/abapcall_function_starting.htm#!ABAP_ADDITION_2@2@
檢視處理並行處理的程式碼-gv_semaphore = 0. DESCRIBE TABLE lt_itab LINES lv_lines. LOOP AT lt_itab INTO ls_itab. CALL FUNCTION 'ZABC' STARTING NEW TASK taskname DESTINATION IN GROUP srv_grp PERFORMING come_back ON END OF TASK EXPORTING ... EXCEPTIONS ... . "
當您想要修改內容並將其儲存到表中,以及新增一個用於值的列時,請使用類似以下內容DATA: my_string TYPE StringLOOP AT itab INTO wa_itab. my_string = sy-tabix. CONCATENATE some_text my_string more_text into wa_itab-my_field. MODIFY itab FROM wa_itab. CLEAR my_string. ENDLOOP.