Sub Click(Source As Button)
Dim Funcs As Variant
Dim Connect As Variant
Dim RFCFunction As Variant
Dim Rows As Integer
Set Funcs = CreateObject("SAP.Functions")
Set Connect = Funcs.Connection
Connect.ApplicationServer = "10.17.15.36"
Connect.SystemNumber = "00"
Connect.System = "R/3"
Connect.Client = "800"
Connect.User = "INTERFACE"
Connect.Password = "MIS"
Connect.Language = "zh"
If Connect.Logon(0, True) = False Then
Msgbox "NO CONNET"
Exit Sub
End If
'得到一个RFC函数
Set RFCFunction = Funcs.Add("ZFEIS_GET_VENDOR_F")
'给这个RFC函数传参数
RFCFunction.exports("LIFNR") = "#ALL"
'运行这个RFC函数
If RFCFunction.Call = True Then
'得到RFC函数中生成的表的内容
Set Table = RFCFunction.TABLES("ZVENDOR")
Msgbox Table.RowCount
Call S_ImportToVendormas( Table )
Else
Msgbox "Call ERROR"
Exit Sub
End If
End Sub
******************************
Function F_GetRecord( Table,IntLoop,ValueTmp )
%REM
ValueTmp的格式
ValueTmp(0)----供应商编号
ValueTmp(1)----名称
ValueTmp(2)----代表名称
ValueTmp(3)----简称
ValueTmp(4)----邮编
ValueTmp(5)----公司电话
ValueTmp(6)----传真
ValueTmp(7)----Email地址
ValueTmp(8)----存款帐户
ValueTmp(9)----增值税登记号
ValueTmp(10)----银行代码
ValueTmp(11)----银行名称
ValueTmp(12)----街道
ValueTmp(13)----房号
ValueTmp(14)----销售员
ValueTmp(15)----联络电话
ValueTmp(16)----收付条件代码
ValueTmp(17)----收付条件描述
ValueTmp(18)----采购订单货币
ValueTmp(19)----国际贸易条件
ValueTmp(20)----国际贸易条件描述
%END REM
On Error Goto ErrorHandle
ValueTmp(0) = Table( IntLoop, "LIFNR" )
ValueTmp(1) = Table( IntLoop, "NAME1" )
ValueTmp(2) = Table( IntLoop, "J_1KFREPRE" )
ValueTmp(3) = Table( IntLoop, "SORTL" )
ValueTmp(4) = Table( IntLoop, "PSTLZ" )
ValueTmp(5) = Table( IntLoop, "TELF1" )
ValueTmp(6) = Table( IntLoop, "TELFX" )
ValueTmp(7) = Table( IntLoop, "SMTP_ADDR" )
ValueTmp(8) = Table( IntLoop, "KOINH" )
ValueTmp(9) = Table( IntLoop, "STCEG" )
ValueTmp(10) = Table( IntLoop, "BANKL" )
ValueTmp(11) = Table( IntLoop, "BANKA" )
ValueTmp(12) = Table( IntLoop, "STREET" )
ValueTmp(13) = Table( IntLoop, "HOUSE_NUM1" )
ValueTmp(14) = Table( IntLoop, "VERKF" )
ValueTmp(15) = Table( IntLoop, "TELF3" )
ValueTmp(16) = Table( IntLoop, "ZTERM" )
ValueTmp(17) = Table( IntLoop, "VTEXT" )
ValueTmp(18) = Table( IntLoop, "WAERS" )
ValueTmp(19) = Table( IntLoop, "INCO1" )
ValueTmp(20) = Table( IntLoop, "BEZEI" )
F_GetRecord = True
Exit Function
ErrorHandle:
F_GetRecord = False
Exit Function
End Function
**********************
Sub S_ImportToVendormas( Table)
%REM
ValueTmp的格式
ValueTmp(0)----供应商编号
ValueTmp(1)----名称
ValueTmp(2)----代表名称
ValueTmp(3)----简称
ValueTmp(4)----邮编
ValueTmp(5)----公司电话
ValueTmp(6)----传真
ValueTmp(7)----Email地址
ValueTmp(8)----存款帐户
ValueTmp(9)----增值税登记号
ValueTmp(10)----银行代码
ValueTmp(11)----银行名称
ValueTmp(12)----街道
ValueTmp(13)----房号
ValueTmp(14)----销售员
ValueTmp(15)----联络电话
ValueTmp(16)----收付条件代码
ValueTmp(17)----收付条件描述
ValueTmp(18)----采购订单货币
ValueTmp(19)----国际贸易条件
ValueTmp(20)----国际贸易条件描述
%END REM
Dim Session As New NotesSession
Dim DB As NotesDatabase
Dim Doc_Tmp As NotesDocument
Dim ValueTmp(20) As Variant
Set DB = Session.CurrentDatabase
Rows = Table.RowCount
Msgbox Rows
'Exit Sub
If Rows = 0 Then
Msgbox "找不到记录!"
Exit Sub
End If
For IntLoop = 1 To Rows
'得到表里面的一条记录
If F_GetRecord( Table,IntLoop,ValueTmp ) = True Then
If TmpLifnr <> "" Then
Call Doc_Tmp.ComputeWithForm( False, False )
Call doc_tmp.save(True,True)
End If
Set Doc_Tmp = DB.CreateDocument
Doc_Tmp.Form = "Vendormas"
Doc_Tmp.Code = ValueTmp(0)
Doc_Tmp.Name = ValueTmp(1)
Doc_Tmp.FirstPerson = ValueTmp(2)
Doc_Tmp.ShortName = ValueTmp(3)
Doc_Tmp.PostNumber = ValueTmp(4)
Doc_Tmp.CompanyTel = ValueTmp(5)
Doc_Tmp.Fax = ValueTmp(6)
Doc_Tmp.Email = ValueTmp(7)
Doc_Tmp.Count = ValueTmp(8)
Doc_Tmp.VAT_Resign_Number = ValueTmp(9)
Doc_Tmp.BankNumber = ValueTmp(10)
Doc_Tmp.BankName = ValueTmp(11)
Doc_Tmp.Street = ValueTmp(12)
Doc_Tmp.House = ValueTmp(13)
Doc_Tmp.Sales = ValueTmp(14)
Doc_Tmp.SalesTel = ValueTmp(15)
Doc_Tmp.PaymentKey = ValueTmp(16)
Doc_Tmp.PaymentKeyText = ValueTmp(17)
Doc_Tmp.Currency = ValueTmp(18)
Doc_Tmp.Incoterms = ValueTmp(19)
Doc_Tmp.IncotermsText = ValueTmp(20)
Else
Exit Sub
End If
TmpLifnr = ValueTmp(0)
Next
If Not Doc_Tmp Is Nothing Then
Call Doc_Tmp.ComputeWithForm( False, False )
Call doc_tmp.save(True,True)
End If
End Sub
,
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/617619/viewspace-224897/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/617619/viewspace-224897/