Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1128to1132
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

SAP Zugriff via Excel VBA | Herbers Excel-Forum

SAP Zugriff via Excel VBA
14.01.2010 14:43:25
Space

Hey,
ich würde gerne auf SAP zugreifen und aus einer bestimmten Tabelle Daten auslesen, die ich dann _
in Excel anzeigen lasse. Hierfür benötige ich allerdings den sogenannten "Funktionsbaustein" von _
SAP. Weiß jemand wie man den bekommen kann? Mir wurde gesagt eine Übersicht bekommt man mit der _
Transaktion SE37 für die ich allerdings keine Berechtigung habe. Kann man den Funktionsbaustein _ nicht einfach im offenen Fenster irgendwo ablesen. Hier ist mal mein Code, vielleicht hat ja jemand von euch auch schon mal mit VBA Excel auf SAP zugegriffen und eine Tabelle anzeigen lassen.


Private Sub CommandButton1_Click()
'Deklaration der Objekte und Variablen
Dim functionCtrl As Object          'Function Control (Sammelobjekt)
Dim sapConnection As Object         'Verbindungsobjekt
Dim theFunc As Object               'Function Objekt
'Erstellen eines Funktionsobjektes
Set functionCtrl = CreateObject("SAP.Functions")
'Kontakt zu SAP aufnehmen
Set sapConnection = functionCtrl.Connection
'Logon mit Initialwerten
sapConnection.Client = "000"
sapConnection.user = "SAPuser"
sapConnection.Language = "DE"
If sapConnection.logon(0, False) <> True Then
MsgBox "Keine Verbindung zum R/3!"
Exit Sub            'Programm beenden
End If
'Referenz auf Funktionsobjekt "FUNKTIONSBAUSTEIN"
Set theFunc = functionCtrl.Add("FUNKTIONSBAUSTEIN")
'Vorbereitung der Ausgabe auf EXCEL-Sheet
Worksheets(1).Select
Cells.Clear
'Deklaration
Dim customers As Object
Dim returnFunc As Boolean
Dim startzeil As Integer
Dim endcol As Integer
Dim the_name As String
startzeil = 1
'Festlegen der Importparameter für Funktionsaufruf
For start_char = Asc("A") To Asc("Z")
the_name = Chr$(start_char) + "*"
theFunc.exports("NAME1") = the_name
theFunc.exports("KUNNR") = "*"
returnFunc = theFunc.Call
die_exception = theFunc.Exception
If returnFunc = True Then
Set customers = theFunc.tables.Item("CUSTOMER_T")
endcol = 0
Call tt(the_name, customers, startzeil, endcol)
startzeil = endcol
Set customers = Nothing
Else
If die_exception = "NO_RECORD_FOUND" Then
Cells(startzeil, 1) = "Keine Werte vorhanden für " + the_name
startzeil = startzeil + 1
Else
MsgBox "Fehler beim Zugriff auf Funktion im R/3 ! "
Exit Sub
End If
End If
Next start_char
'Vebindung zum R/3 beenden !
functionCtrl.Connection.logoff
'Objekte und damit Speicherplatz freigeben
Set sapConnection = Nothing
Set functionCtrl = Nothing
MsgBox "Programm beendet!", 16, "Beenden"
End Sub

'Die Ausgabe der Ergebnisse erfolgt über ein seperates Modul mit dem Code:
Sub tt(aName As String, ByRef customers_table As Object, start_zeil As Integer, ByRef end_col As Integer)
'Anzeige des Tabellenkopfes
Cells(start_zeil, 1) = "KundenNr."
Cells(start_zeil, 2) = "Anrede "
Cells(start_zeil, 3) = "Kundenname " + aName
Cells(start_zeil, 4) = "PLZ"
Cells(start_zeil, 5) = "Ort"
Cells(start_zeil, 6) = "Tel.Nr "
'Hervorhebung der Fonts
Range(Cells(start_zeil, 1), Cells(start_zeil, 6)).Font.Bold = True
'Zeigt Inhalte der Kundentabelle an
bManyCustomers = False
If (bManyCustomers = False) Then
i = start_zeil + 2
For Each Customer In customers_table.Rows
Cells(i, 1) = Trim(Customer("KUNNR"))
Cells(i, 2) = Customer("ANRED")
Cells(i, 3) = Customer("NAME1")
Cells(i, 4) = Customer("PSTLZ")
Cells(i, 5) = Customer("ORT01")
Cells(i, 6) = Customer("TELF1")
i = i + 1
Next
End If
end_col = i
End Sub Das Login Fenster geht auf aber es kommt nach Eingabe der Zugangsdaten immer nur der Fehler RFC: error
Kann mir jemand sagen, was man dagegen machen kann. Wäre super, wenn sich jemand mal den Code vornehmen kann und etwas dazu sagen könnte. Ich habe mir den aus div. Tutorials zusammen kopiert und geschrieben.
Vielen, vielen Dank im Voraus!
Gruß
Space

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige