有关vb通过rfc函数插入数据到sap问题
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim strStatus, a As String
Dim oConnection As Object
Dim oFunction As Object
Dim result As Single
Dim ofun As Object
Dim func As Object
Dim date1 As Date
' Dim i As Integer
' Dim table1 As DataTable
oFunction = CreateObject("SAP.LogonControl.1")
oConnection = oFunction.NewConnection
oConnection.Client = "600"
oConnection.Language = "zh"
oConnection.user = "****"
oConnection.Password = "123456"
oConnection.Applicati
oConnection.SystemNumber = "00"
result = oConnection.Logon(0, True)
If result <> True Then
oFunction = Nothing
oConnection = Nothing
strStatus = "No access to R/3 System"
Else
strStatus = "SAP R/3 Access OK "
End If
MsgBox(strStatus, , "LOGIN")
ofun = CreateObject("SAP.FUNCTIONS") ' FUNCTION NAME
ofun.Connection = oConnection
func = ofun.Add("ZIT_RFC_ZJ_UPLOAD")
date1 = "2008-07-02"
If func.Call = True Then
func.Tables("QUALITY_LIST").appendrow
func.Tables("QUALITY_LIST").value(1, "MANDT") = "600"
func.Tables("QUALITY_LIST").value(1, "ZYBBH") = "20080703A4"
func.Tables("QUALITY_LIST").value(1, "ZYBXH") = "0"
func.Tables("QUALITY_LIST").value(1, "MATNR") = "000000007000000139"
func.Tables("QUALITY_LIST").value(1, "WERKS") = "8300"
func.Tables("QUALITY_LIST").value(1, "ZYPLY") = "1"
func.Tables("QUALITY_LIST").value(1, "ZSCCJ") = "1"
func.Tables("QUALITY_LIST").value(1, "ZQYDD") = "3工区"
func.Tables("QUALITY_LIST").value(1, "ZQYR") = "吴雨1"
func.Tables("QUALITY_LIST").value(1, "ZZHL") = "85"
func.Tables("QUALITY_LIST").value(1, "ZHGZL") = "79"
func.Tables("QUALITY_LIST").value(1, "MENGE") = "45"
func.Tables("QUALITY_LIST").value(1, "ZHGSL") = "24"
func.Tables("QUALITY_LIST").value(1, "ZXZRQ") = date1
func.Tables("QUALITY_LIST").value(1, "ZHYFHR") = "张兰2"
func.Tables("QUALITY_LIST").value(1, "ZHYFHRQ") = date1
func.Tables("QUALITY_LIST").value(1, "ZDJ") = "合格"
func.Tables("QUALITY_LIST").value(1, "ZPDR") = "刘龚"
func.Tables("QUALITY_LIST").value(1, "ZPDRQ") = date1
func.Tables("QUALITY_LIST").value(1, "ZDJFHR") = "liuk"
func.Tables("QUALITY_LIST").value(1, "ZFHRQ") = date1
func.Tables("QUALITY_DETAIL_LIST").appendrow
func.Tables("QUALITY_DETAIL_LIST").value(1, "MANDT") = "600"
func.Tables("QUALITY_DETAIL_LIST").value(1, "ZYBBH") = "20080703A4"
func.Tables("QUALITY_DETAIL_LIST").value(1, "ZYBXH") = "0"
func.Tables("QUALITY_DETAIL_LIST").value(1, "MATNR") = "000000007000000139"
func.Tables("QUALITY_DETAIL_LIST").value(1, "WERKS") = "8300"
func.Tables("QUALITY_DETAIL_LIST").value(1, "ZJYZB") = "Al"
func.Tables("QUALITY_DETAIL_LIST").value(1, "ZDJ") = "合格"
func.Tables("QUALITY_DETAIL_LIST").value(1, "ZJYJG") = "99.99"
func.Tables("QUALITY_DETAIL_LIST").value(1, "ZHYDW") = "中心化验室2"
func.Tables("QUALITY_DETAIL_LIST").value(1, "ZHYR") = "梁山9"
func.Tables("QUALITY_DETAIL_LIST").value(1, "ZHYRQ") = date1
a = func.imports("SUBRC").value.ToString
MsgBox(a)
Else
MsgBox("Call ERROR")
End If
MsgBox("END PROCESS", , "END")
End Sub
以上代码正确运行,
但返回值SUBRC为4,表示插入数据失败
请问各位大大,我的 func.Tables("QUALITY_DETAIL_LIST").appendrow这样的语句正确吗
是不是表示新增一行呢,还是其他的代码有问题
但是以上相似代码在delphi运行成功插入数据
|