点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
嗨,
我在VB中使用excel-
'示例调用BAPI RFC_GET_TABLE_ENTRIES
选项显式
将公共函数作为SAPFunctionsOCX.SAPFunctions
将私有LogonControl作为SAPLogonCtrl.SAPLogonControl
将私有objConnection作为SAPLogonCtrl.Connection
Dim Func作为SAPFunctionsOCX .Function
公共eNUMBER_OF_ENTRIES作为SAPFunctionsOCX.Parameter
公共tENTRIES作为SAPTableFactoryCtrl.Table
公共TableFactory作为SAPTableFactory
私有LogCount作为整数
公共shScript,shLog作为工作表
< br>
子TableEntriesRFC()
将Dim i转换为整数
将Dim retcd转换为布尔值
将Dim SilentLogon转换为布尔值
设置shScript = Worksheets(" Script")
ResetLog < br>
设置LogonControl = CreateObject(" SAP.LogonControl.1")
设置功能= CreateObject(" SAP.Functions")
设置TableFactory = CreateObject(" SAP.TableFactory.1")
设置objConnection = LogonControl.NewConnection
SilentLogon = False
'设置沙漏指针
'Application.Cursor = xlWait
AddLog" Logon", "登录到SAP ...",vbBlack
'登录到SAP
如果objConnection.Logon(0,SilentLogon)然后
'登录成功
AddLog"登录","成功 已登录到SAP",vbBlack
'创建一个对象以调用RFC FM
Functions.Connection = objConnection
AddLog" RFC","准备接口",vbBlack
'实际FM 在此处添加
Set Func = Functions.Add(" RFC_GET_TABLE_ENTRIES")
'填充导入参数
Func.Exports(" TABLE_NAME")。Value = Range(" TableName")。Value
'声明导出参数和表
设置eNUMBER_OF_ENTRIES = Func.Imports(" NUMBER_OF_ENTRIES")
设置tENTRIES = Func.Tables(" ENTRIES")
'执行FM
AddLog" RFC","执行呼叫",vbBlack
Func.Call
AddLog" RFC","条目数:" + CStr(eNUMBER_OF_ENTRIES),vbBlack
'将结果提取到Excel到D10 向下
对于i = 1到tENTRIES.RowCount
单元格(9 + i,4)。值= tENTRIES(i,1)
下一步
其他
'Exec 如果登录失败,则将此块删除。
Dim msg As String
msg ="登录到SAP失败。 验证凭据或访问权限。"
AddLog" Logon",msg,vbRed
Application.Cursor = xlDefault
MsgBox msg
转到Cleanup
如果结束
我要-
RFC_ERROR_COMMUNICATION
消息
本地主机上具有Unicode
ERROR伙伴'xx.xx.xx.xx:3300'的位置CPIC(TCP/IP)
TIME Tue Aug 20 09:45:42 2019
版本40
LINE 3428
详细信息NiPConnect2:xx.xx.xx.xx:3300 <系统>系统调用连接
ERRNO 10060
ERRNO TEXT WSAETIMEDOUT:连接超时 out
COUNTER 18
我尝试过
1。 在主机文件中添加条目
2。 添加...蒙版
3。 我选择了sap路由器-因此应该不会有问题-因为当它选择时也会带来路由器-
会发生什么?
谢谢
您好,玛丽亚
,您可以找到此处的答案。 请不要多次问相同的问题。
最诚挚的问候
Stefan
一周热门 更多>