![]() |
Private Sub Command1_Click() ' 定義R/3用戶名和密碼變量(用戶名應由SAP管理員開運行函數的權限) Dim logname As String * 22, password As String * 22 Call logonr3(logname, password) ' 調用SAP登錄界面程序 If logflag Then ' 調用生產、開發系統開關 StatusBar1.Visible = True StatusBar1.SimpleText = "正在登錄SAP R/3系統..." Dim R3AppServer As String, R3Client As String, R3SystemNo As String If Form2.opPRD.Value Then ' 以下服務器參數請根據客戶配置情況更改 R3AppServer = "10.3.1.4" ' 生產系統服務器IP R3Client = "800" '生產系統集團代碼 R3SystemNo = "00" '生產系統號 Else R3AppServer = "10.3.3.1" ' 開發系統服務器IP R3Client = "101" R3SystemNo = "00" End If Unload Form2 ' 釋放 Form2 , 所有控件及值不可用 Set Functions = CreateObject("Sap.Functions") ' 創建RFC的本地對象 Set Connect = Functions.Connection ' 設置連接 Connect.ApplicationServer = R3AppServer ' 賦值服務器IP Connect.Client = R3Client ' 賦值SAP集團代碼 Connect.Language = "ZH" ' 置SAP系統界面中文 Connect.User = Trim(logname) ' 賦值SAP登錄用戶名 Connect.password = Trim(password) ' 賦值SAP登錄用戶密碼 Connect.SystemNumber = R3SystemNo ' 賦值SAP系統號 If Not Connect.Logon(0, True) Then ' 軟件登錄SAP并判斷 MsgBox "登錄SAP R/3失敗,請重新登錄!", vbOKOnly + vbExclamation, "系統提示" Command1.SetFocus Else ' 登錄SAP成功 Command1.Enabled = False Command2.Enabled = True test.Enabled = True End If StatusBar1.SimpleText = "" StatusBar1.Visible = False End If End Sub Private Sub Command2_Click() ' 注銷SAP登錄 Connect.LogOff Command2.Enabled = False Command1.Enabled = True test.Enabled = False End Sub Private Sub Command3_Click() ' 退出SAP接口演示程序 If Form1.Command2.Enabled Then MsgBox "退出前請斷開SAP R/3系統!", vbOKOnly + vbInformation, "系統提示" Else End End If End Sub Private Sub Form_Load() Command2.Enabled = False test.Enabled = False logoflag = False End Sub Private Sub test_Click() ' SAP RFC遠程調用處理主演示 Dim GetCustomers As Object Dim Customers As Object Dim i As Integer ' 通過RFC接口遠程運行SAP內部函數RFC_CUSTOMER_GET ' 賦要調用的SAP內建函數名 Set GetCustomers = Functions.Add("RFC_CUSTOMER_GET") GetCustomers.Exports("KUNNR") = "0000000103" ' 向函數入口賦值(客戶代碼) ' 向函數入口賦查詢表名稱 Set Customers = GetCustomers.Tables("CUSTOMER_T") If GetCustomers.Call Then ' 調用成功遍歷顯示客戶所有信息條目 For i = 1 To Customers.rowcount MsgBox Customers(i, "KUNNR") Next i Else MsgBox " 搜索出錯! 出錯信息: " + GetCustomers.Exception End If End Sub |
原文轉自:http://www.anti-gravitydesign.com