MS-Office-Forum

Zurück   MS-Office-Forum > Microsoft Office > Microsoft Excel
Registrieren Forum Hilfe Alle Foren als gelesen markieren

Banner und Co.

Antworten
Ads
Themen-Optionen Ansicht
Alt 09.04.2019, 21:33   #1
Zendom
Neuer Benutzer
Neuer Benutzer
Konfus VBA - Mit VBA über RFC Funktionsbaustein Daten aus SAP exportieren

Hallo zusammen,

ich bin Azubi als Fachinformatiker im dritten Lehrjahr und im Zuge meiner Ausbildung muss ich ein Abschlussprojekt erstellen.

Mein Abschlussprojekt ist mit Excel ein Tool zu erstellen, welches mithilfe von einem RFC Funktionsbaustein Daten aus SAP exportiert, diese bearbeitet und wieder über einen anderen Funktionsbaustein nach SAP importiert.

Ich hab mir leider da etwas zuviel vorgenommen und komme nun nicht weiter. Seit Tagen durchforste ich das Internet, finde jedoch keine Lösung.

Mir ist es gelungen über VBA eine Verbindung zu SAP aufzubauen jedoch schaffe ich es nicht Daten über RFC zu exportieren.

Der genutzte Funktionsbaustein wurde vor langer Zeit intern Entwickelt: Z_SD_PC_KALK

Dem Funktionsbaustein soll eine Auftragsnummer (XVBELN) und eine Position (XPOS) übermittelt werden und anhand dessen die Daten nach Excel exportiert werden.

Könnte mir vielleicht jemand behilflich sein, ich bin echt sehr verzweifelt und muss am 30. April mein Projekt abgeben

Wird der Quelltext vom Funktionsbaustein für die Verständnis benötigt?

Vielen Dank und freundliche Grüße
Zendom
Angehängte Grafiken
Dateityp: png SAP1.PNG (63,6 KB, 11x aufgerufen)
Dateityp: png SAP2.PNG (59,2 KB, 8x aufgerufen)
Zendom ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 10.04.2019, 08:08   #2
Storax
MOF Koryphäe
MOF Koryphäe
Standard

Hast Du das Buch hier
https://www.amazon.de/Kommunikation-.../dp/3528158786

Und Dein bisheriger Code wäre auch hilfreich. Der Code der FuBas wird nicht benötigt, nur die Import und Export Parameter, aber die hast Du ja gepostet, ggf. braucht man noch Details zu den Strukturen ZSD_..., die sind ja kundenspezifisch. Ich gehe mal davon aus, dass sich unter den Tabs Export und Ausnahmen keine Einträge befinden und der Austausch über die Tabs Import und Tabellen läuft.

Aber ohne eine Grundverständnis von IDocs usw. wird es schwer.

PS Und da Du anscheinend nicht weisst, wonach Du ggogeln sollst
https://blogs.sap.com/2017/06/05/bud...fc_read_table/
https://codezentrale.de/ms-excel-tab...m-importieren/

Und die einfache Suche nach "sap excel vba rfc call" liefert eine Menge Treffer.

__________________

How do I ask a good question?

In a lot questions the OP has no idea what they're doing, they've found code on the internet, mixed it around and got something. They don't understand why that something doesn't work.
Usually, in these questions, the original poster is rather clueless, helping them on the question is only spoon feeding them, and there is little to no chance the question will help anyone in the future.

Press any key to continue - or any other key to abort.

Spoon feeding: provide (someone) with so much help or information that they do not need to think for themselves.

Geändert von Storax (10.04.2019 um 08:44 Uhr).
Storax ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 14.04.2019, 20:01   #3
Zendom
Threadstarter Threadstarter
Neuer Benutzer
Neuer Benutzer
Standard Läuft einigermaßen

Hallo Storax,

Entschuldigung für die verspätete Antwort (E-Mail war im Junk-Mail).

Ich habe mittlerweile, die Verbindung und den Import der Daten von SAP in Excel geschafft.

Hier mein Code:

Code:

'Allgemeine SAP Objekte
'************************************************
Public Connection As Object
Public Login As Object
Public Functions As Object

'Objekte für Funktionsbaustein
'************************************************
Public ImportParameter As Object
Public ExportData As Object
Public LoginStatus As Integer

Public Sub Logon()

'Login Control erstellen
'************************************************
Set Login = CreateObject("SAP.Logoncontrol.1")

'Verbindungs Objekte
'************************************************
Set Connection = Login.NewConnection

'System Parameter festlegen
'************************************************
Connection.System = "Quality (Q14) - Central ERP"

'Benutzer Parameter festlegen (nicht benötigt)
'************************************************
Connection.User = " "
Connection.Password = " "
Connection.Client = "099"
Connection.Language = "DE"

'Verbindung zum SAP R/3 System
'************************************************
If Connection.Logon(0, False) = False Then
    MsgBox ("R/3 Verbindung fehlgeschlagen"), vbCritical + vbApplicationModal + vbMsgBoxSetForeground, "CalcToolExcel©"
    LoginStatus = 0
    Exit Sub
End If

LoginStatus = 1
Set Functions = CreateObject("SAP.Functions")

'Login
'************************************************
Set Functions.Connection = Connection
Set ImportParameter = Functions.Add("Z_SD_PC_KALK")

End Sub

Public Sub Read_Table()
Dim Row As Long
Dim Column As Long

'Import Parameter übergeben
'************************************************
ImportParameter.Exports("XVBELN") = DieseArbeitsmappe.xvbeln
ImportParameter.Exports("XPOS") = "000" + DieseArbeitsmappe.xpos

'Tabelle aufrufen
'************************************************

Set ExportData = ImportParameter.Tables("XBELINFO")
ExportData.freetable

If ImportParameter.Call = True Then

'Zelleninhalte löschen
'************************************************

Worksheets("ImportSAP").Range("A2:AT50").ClearContents

'Daten in Tabelle schreiben
'************************************************

For Row = 1 To ExportData.RowCount
    For Column = 1 To ExportData.ColumnCount
        Worksheets("ImportSAP").Cells(1 + Row, Column).Value = ExportData(Row, Column)
    Next Column
Next Row

Else
    MsgBox ImportParameter.Exception
End If

Logoff

End Sub

Public Sub Logoff()
'Ausloggen
'************************************************
If LoginStatus = 1 Then Connection.Logoff

End Sub
Wahrscheinlich nicht optimal aber es funktioniert, zumindest teilweise.. ich bekomme mit dem Code leider nur eine Tabelle.

Und wie kann ich die einzelnen Sub's Logon, Read_Table und Logoff in einzelne Module auslagern?

Gruß
Zendom
Zendom ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Ads
Antworten


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Besucher: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge anzufügen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

vB Code ist An.
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist An.
Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:01 Uhr.



Powered by: vBulletin Version 3.6.2 (Deutsch)
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.

Copyright ©2000-2018 MS-Office-Forum. Alle Rechte vorbehalten.
Copyright ©Design: Manuela Kulpa ©Rechte: Günter Kramer
Eine Verwendung der Inhalte in anderen Publikationen, auch auszugsweise,
ist ohne ausdrückliche Zustimmung der Autoren nicht gestattet.