Hallo Zusammen,
hat schon jemand Erfahrung mit dem Sap .Net Connector 3.0 ?
Ich bekomme für die Function RFC_READ_Table einfach keine Werte zurück.
Die Verbindung zu SAP steht, das habe ich mit einer anderen Function 'BAPI_COMPANYCODE_GETLIST' getestet.
Sub ReadTable()
If Not SapLogin(TextBoxSapSys.Text.ToUpper) Then Exit Sub
Try
Dim sTable As String = InputBox("SAP-Table", "Table", "DRAW").ToUpper
Dim sFields As String = InputBox("Return Fields"Fields", "DOKNR DOKAR DOKVR").ToUpper
Dim sOpts As String = InputBox("Options"Options", "DOKNR EQ '987654321'").ToUpper
Dim repo As RfcRepository = SapDest.Repository
Dim testfn As IRfcFunction = repo.CreateFunction("RFC_READ_TABLE")
testfn.SetValue("QUERY_TABLE", sTable)
'testfn.SetValue("DELIMITER", "@")
'testfn.SetValue("ROWCOUNT", "20")
testfn.SetValue("NO_DATA", "FALSE")
testfn.Invoke(SapDest)
Dim inputTableFields As IRfcTable = testfn.GetTable("FIELDS")
Dim arrTmp() As String = Split(sFields, " ")
For Each xFld In arrTmp
If xFld <> "" Then
inputTableFields.Append()
inputTableFields(inputTableFields.RowCount - 1).SetValue("FIELDNAME", xFld)
End If
Next
Dim inputTableOptions As IRfcTable = testfn.GetTable("OPTIONS")
sOpts = sOpts.Replace(" AND ", " |AND ").Replace(" OR ", " |OR ")
arrTmp = Split(sOpts, "|")
For Each xOpt In arrTmp
If xOpt <> "" Then
inputTableOptions.Append()
inputTableOptions(inputTableOptions.RowCount - 1).SetValue("TEXT", xOpt)
End If
Next
Dim ReturnList As IRfcTable = testfn.GetTable("DATA")
If ReturnList.Count > 0 Then
Dim datRtn As DataTable = ToDataTable(ReturnList, sTable)
DataGridView1.DataSource = datRtn
Me.RichTextBoxLog.Text &= Now & " ... Ok " & DataGridView1.RowCount & vbCrLf
Else
Me.RichTextBoxLog.Text &= Now & " ... NoData " & vbCrLf
End If
repo.ClearAllMetadata()
Catch ex As Exception
Me.RichTextBoxLog.Text &= "Error " & ex.Message & vbCrLf
MsgBox(ex.Message, MsgBoxStyle.Exclamation + MsgBoxStyle.OkOnly)
End Try
End Sub
Hat einer eine Idee ?
Gruß
Roland
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP