請嘗試使用以下指令碼 -Dim sapConn As Object \宣告連線物件 Set sapConn = CreateObject("SAP.Functions") \建立 ActiveX 物件 sapConn.Connection.user = "username" sapConn.Connection.Password = "xxxx" sapConn.Connection.client = "client#" sapConn.Connection.ApplicationServer = "Application Server” 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 的遠端啟用功能模組。使用 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 ... . "
是的,這是可行的。您可以在 ABAP 中為 XML 建立簡單的轉換。您還可以使用 cl_proxy_xml_transform 在 XML 和 ABAP 之間轉換資料。假設您使用 T 程式碼:SPROXY 建立了 ABAP 代理,或者它是透過 WebService 生成實用程式生成的,您可以使用實用程式類“cl_proxy_xml_transform”將 ABAP 的資料轉換為 XML 格式,或者從 XML → ABAP。
當您想修改內容並將其儲存到表中,以及為該值新增一列時,請使用類似以下內容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.