测试
全部博文(931)
分类: 架构设计与优化
2019-04-13 17:36:04
效果:在excel里创建一个按钮,开发一些VB script,可以连接指定的ABAP系统并执行系统里的ABAP function module。
在这里例子里执行ABAP系统的函数TH_USER_LIST, 把当前系统登录的用户取回来显示在excel里。
该按钮的点击响应函数实现代码:
Sub CommandButton1_Click()
Set R3 = CreateObject("SAP.Functions")
Set myConnction = R3.Connection
myConnction.ApplicationServer = "ag3.xxx.sap.corp" myConnction.SystemNumber = 54 myConnction.Client = "001" myConnction.user = "WANGJER" myConnction.Password = "your password" If myConnction.Logon(0, True) <> True Then
MsgBox "Logon failed" Exit Sub
End If Dim callFunctionModule As Object
Set callFunctionModule = R3.Add("TH_USER_LIST")
callFunctionModule.Call If callFunctionModule.Exception <> "" Then
MsgBox callFunctionModule.Exception End If If callFunctionModule.Call = True Then
Dim result As Object
Set result = callFunctionModule.tables("USRLIST")
Dim aSheet As Worksheet
Dim sheetCol As New Collection
sheetCol.Add ActiveWorkbook.Sheets(1) For Each aSheet In sheetCol
Dim i As Integer
i = 1 For Each user In result.Rows
Client = user(2)
UserName = user(3)
Terminal = user(5)
IP = user(16)
aSheet.Cells(i, 1) = Client
aSheet.Cells(i, 2) = UserName
aSheet.Cells(i, 3) = Terminal
aSheet.Cells(i, 4) = IP
i = i + 1 Next
Next Else MsgBox " Call Failed! error: " End If 'log off
myConnction.logoff
End Sub
要获取更多Jerry的原创技术文章,请关注公众号"汪子熙"或者扫描下面二维码: