Office 365 Zugriff auf SAP Daten per VBA

Hinweise, Tips und Tricks, FAQs - keine Anfragen!!
5 Beiträge • Seite 1 von 1
5 Beiträge Seite 1 von 1

Office 365 Zugriff auf SAP Daten per VBA

Beitrag von Volker Bunge (ForumUser / 3 / 1 / 0 ) »
Hallo zusammen,
ich habe ein großes Problem mit VBA und den Zugriff auf die Daten von SAP Geschäftspartnern.

Habe gestern mit einem fähigen SAP-Berater fast 3 Stunden versucht, auf die Adresse und Bankdaten eines Geschäftspartners (GP) zu kommen.
Ich arbeitet in der Energieversorgerwirtschaft mit ISU. Das Problem fing mit der Umstellung der Rechner von Windows 7 auf Windows 10 und das SAP GUI 740 auf 750 (Dateiversion 7500.2.8.1152, Build 188 1633, Patch-Level 8) an. Alle alten Rechner konnten noch mit der alten Methode super auf die Daten zugreifen (Es wurden mittlerweile alle in Frage kommenden Rechner umgestellt.)

Der Berater meinte, das der folgende Code eigentlich funktionieren muss, es aber nicht tut.
Wir haben gestern mit einer Access-Datenbank gearbeitet, die ich zum Testen diverser Daten einmal erstellt habe. Später sollen diese Aufrufe auch mit Word und Excel funktionieren. Ach so, um Zuge der Umstellung wurde von Office 2010 auf 2016/365 umgestellt.

Hier mal der Code der Probleme macht.

Code: Alles auswählen.

Public Function GPAdresse_zuweisen(Optional AnzeigeVorherlöschen As Boolean = True)
    ' Funktionsbaustein lesen
    Call SAP_Anmelden(SAPGeschäftspartner)
    
    Call Variablen_Löschen(Geschäftspartner)
    
    ' Prüfen, ob überhaupt eine Verbindung besteht.
    If boolLogon = False Then
        MsgBox "Bitte erst im SAP Anmelden"
        Exit Function
    End If
     
'    Call Vertragskonto_Daten_Lesen("00" & GP_Nr)
    
    Dim GPAdr As GP_Adresse ' legt die
    
    ' Für die Adressdaten
    Dim oBusinessPartner As Object ' Legt den Geschäftspartner fest

    Dim oPartnerData As Object ' Legt den Geschäftspartner fest
'    Dim oBVE_Kreditinstitut As Object ' greift auf die BVE_Kreditinstitutsliste zu
    Dim oBusinessPartnerAdressData As Object ' Aufrufvariable für die Adressdaten des GP's
    Dim oBusinessPartnerCentralData As Object '
    Dim oBusinessPartnerCentraldataPersonData As Object ' Für die Kundendaten einer Person
    Dim oBusinessPartnerCentraldataOrganizationData As Object ' Für die Kundendaten einer Organisation
    Dim oBusinessPartnerCentraldataGroupData As Object ' Für die Kundendaten einer Gruppe
    
    Dim oAdressbemerkung As Object ' Aufrufvariable für die Adressbemerkung des GP's
    Dim oTelefonnr As Object ' Für die Telefonnr.
    Dim oFaxNr As Object ' Für die Faxnr.
    
    Dim StandardAddressGuid As String ' Beinhaltet die AdressGUID-Nr., die die Adresse eindeutig identifiziert
            
    Dim oPartner   As Object
    Dim oTAddress  As Object
    Dim oTBankData As Object
        
    ' Den generellen Zugriff auf den Geschäftspartner setzen
    ' Objekt : Bodo Zugriff erlauben
    Dim oPartnerNumber As String
    oPartnerNumber = "Partner:= 00" & GP_Nr
    ' *************************************
   ' Diese nächste Zeile liefert kein Ergebnis und somit können die nachfolgenden Zeilen logischerweise auch nichts liefern
    ' *************************************
    Set oBusinessPartner = oBAPICtrl.GetSAPObject("UtilBusinessPartner", oPartnerNumber)
    
    ' Den Verwies auf die Ergebnisliste setzen
    ' Export-Parameter (Ergebnisliste)
    Set oPartnerData = oBAPICtrl.DimAs(oBusinessPartner, "GetDetail", "PartnerData") ' Partnerdaten
    Set oTAddress = oBAPICtrl.DimAs(oBusinessPartner, "GetDetail", "TAddress") ' Adressdaten
    Set oTBankData = oBAPICtrl.DimAs(oBusinessPartner, "GetDetail", "TBankData") ' Bankdaten
    
    ' SAP Daten tatsächlich abrufen
    oBusinessPartner.GetDetail PartnerData:=oPartnerData, TAddress:=oTAddres, TBankData:=oTBankData
    
    Exit Function
End Function
Und hier mal der Aufruf, den wir gestern hinbekommen haben und somit den Namen des GP ermitteln können. Über eine entsprechende Auswertung der Daten kann ich hier noch herausbekommen, um welchen Geschäftspartnertyp es sich handelt (Einzelperson, Gruppe, Organisation). Aber leider fehlen mir halt die Adresse und die Bankdaten des GP.

Code: Alles auswählen.

    ' Den generellen Zugriff auf den Geschäftspartner setzen
    Set oBusinessPartner = oBAPICtrl.GetSAPObject("UtilBusinessPartner")
            
    ' Für die spätere Filterung den Verweis setzen
    ' Import-Parameter (Filter)
    Set oTPartner = oBAPICtrl.DimAs(oBusinessPartner, "GetList", "TPartner") ' Geschäftspartner
    
    ' Den Verwies auf die Ergebnisliste setzen
    ' Export-Parameter (Ergebnisliste)
    Set oTList = oBAPICtrl.DimAs(oBusinessPartner, "GetList", "TList") ' Endergebnis
    
    ' Die Filterwerte für Geschäftspartner einstellen
    Set oRangeRow = oTPartner.ROWs.Add ' Geschäftspartner
    oRangeRow("SIGN_ISU") = "I" ' Inkludieren (einschließen)
    oRangeRow("OPTION_ISU") = "EQ" ' Equals (Gleich)
    oRangeRow("LOW_ISU") = "00" & GP_Nr ' GP-Nr incl, führende Nullen
    
    ' SAP Daten tatsächlich abrufen
    oBusinessPartner.GetList TPartner:=oTPartner, TList:=oTList
       
    ' Die Daten in die entsprechenden Variablen schreiben
    ' ES gibt imer nur eine Zeile, da ich ja nur 1 GP abfrage
    Dim oZeile As Object
    For Each oZeile In oTList.ROWs
      Msgbox oZeile("NAME_LAST")
      Msgbox oZeile("NAME_FIRST")
  Next
(Der Code ist ggf. noch aufzuräumen und die Kommentare sind auch noch so nicht richtig, aber all das kommt noch, wenn es läuft.)

Die beiden Codeblöcke bringen keine Fehlermeldungen und funktionieren "grundsätzlich" eigentlich. Der zweite Codeblock liefert mir den Vorname und Nachname einwandfrei zurück. Nur der erste Codeblock liefert kein Ergebnis in den einzelnen Variablen.
Es wäre echt super, wenn mir jemand von Euch helfen könnte.
Vielen Dank schon einmal für Eure Hilfe
Volker

gesponsert
Stellenangebote auf ABAPforum.com schalten
kostenfrei für Ausbildungsberufe und Werksstudenten


Re: Office 365 Zugriff auf SAP Daten per VBA

Beitrag von Tron (Top Expert / 1327 / 35 / 332 ) »
Moin.
Mit SAPGUI 750 gingen ein paar grundlegende Änderungen für RFC Zufgriffe einher.
Deshalb habe ich auch meine VBA Programme anpassen müssen.
Siehe https://abapforum.com/forum/viewtopic.php?f=18&t=23202
gruß Jens

Folgende Benutzer bedankten sich beim Autor Tron für den Beitrag (Insgesamt 2):
ewxVolker Bunge

<:: XING-Gruppe Tricktresor::>
Die deutsche Rechtschreibung ist Freeware, du darfst sie kostenlos nutzen –
Aber sie ist nicht Open Source, d. h. du darfst sie nicht verändern oder in veränderter Form veröffentlichen.

Re: Office 365 Zugriff auf SAP Daten per VBA

Beitrag von Volker Bunge (ForumUser / 3 / 1 / 0 ) »
Hallo Jens,

vielen Dank erst einmal für die schnelle Rückmeldung.

Könntest Du mir mal kurz erklären, was der Unterschied zwischen 740 und 750 ist bzw. wie Dein Bsp. arbeitet?

Wenn ich das richtig sehe, logst Du Dich als erstes ein, danach rufst Du die Tabelle T001W auf und legst dort ein Werk (8000) als Filter fest. Die Spalten "Werks" und "Name1" sind dann die Spalten, die später durchlaufen bzw. angezeigt werden.

Gleiches machst Du dann mit der Tabelle MSEG.

Was ich noch nicht verstehe, warum Du die Subs jeweils 3 Mal aufrufst?

Wie ich in meinem Beispiel gezeigt habe, will ich die Daten des Geschäftspartners haben (hier speziell die Adresse und die Bankdaten.

Was für einen Zugriffsfehler mache ich in meinem Code bzw. woran liegt es, dass ich keine Daten mehr abfragen kann?

Wäre schön, wenn Du oder jemand anderes mir bei meinem Problem helfen könnstes.

Vielen Dank

Volker

Re: Office 365 Zugriff auf SAP Daten per VBA

Beitrag von Volker Bunge (ForumUser / 3 / 1 / 0 ) »
Hallo Jens, Hallo zusammen,

war leider recht lang nicht mehr hier.

Da leider bisher keiner auf meine Frage / letzte Antwort für mich zufriedenstellend geantwortet hat, hohle ich den Beitrag jetzt einmal wieder nach vorne.

Wie gesagt, ich bräuchte am besten ein kleines Beispiel, mit dem ich die Adressdaten eines Geschäftspartners (also Str., PLZ, Ort usw.) im SAP ISU-Modul und der SAP-Gui 7.5 abrufen kann.

Wenn jemand eine funktionierende Lösung hat, dann würde ich mich sehr freuen.

Hoffe, dass Jens bzw. jemand anderes eine brauchbare Lösung oder Link hat, damit ich mit meinem Problem endlich weiterkomme.

Gruß

Volker

Re: Office 365 Zugriff auf SAP Daten per VBA

Beitrag von Tron (Top Expert / 1327 / 35 / 332 ) »
Moin.
Also prinzipell kannst Du das Coding für RFC_READ_TABLE verwenden.
Die Kundenadressnummer steht in der Tabelle KNA1 und die Adresse in der Tabelle ADRC.
Sind diese Informationen ausreichend ?
gruß Jens
<:: XING-Gruppe Tricktresor::>
Die deutsche Rechtschreibung ist Freeware, du darfst sie kostenlos nutzen –
Aber sie ist nicht Open Source, d. h. du darfst sie nicht verändern oder in veränderter Form veröffentlichen.

Seite 1 von 1

Vergleichbare Themen

12
Antw.
6428
Views
Daten-Zugriff transaktionsübergreifend
von David11384 » 05.11.2013 09:42 • Verfasst in Dialogprogrammierung
1
Antw.
1396
Views
Zugriff auf Daten via Webdav
von msfox » 28.03.2024 13:42 • Verfasst in Basis
0
Antw.
1539
Views
Zugriff auf historische CO-Daten
von Anfänger » 23.04.2014 14:29 • Verfasst in Sonstige Module
7
Antw.
6104
Views
Zugriff auf Daten des Subscreens im Hauptprogramm
von Nautilus » 05.12.2005 11:16 • Verfasst in Dialogprogrammierung
3
Antw.
2170
Views
Zugriff auf bestimmte Daten in Tabelle
von tech » 16.09.2008 08:49 • Verfasst in ABAP® Core

Über diesen Beitrag



Unterstütze die Community und teile den Beitrag für mehr Leser und Austausch

Aktuelle Forenbeiträge

Dialog-Container mit Toolbar/Status
vor 16 Stunden von black_adept gelöst 23 / 3777
User Exit EXIT_RQCPRM10_001
vor 16 Stunden von a-dead-trousers 2 / 307
Trennen Strasse und Hausnummer
vor 22 Stunden von payten 13 / 10663
Daten an Tabelle binden
Gestern von Lukas Sanders 2 / 1356

Newsletter Anmeldung

Keine Beiträge verpassen! Wöchentlich versenden wir lesenwerte Beiträge aus unserer Community.
Die letzte Ausgabe findest du hier.
Details zum Versandverfahren und zu Ihren Widerrufsmöglichkeiten findest du in unserer Datenschutzerklärung.

Aktuelle Forenbeiträge

Dialog-Container mit Toolbar/Status
vor 16 Stunden von black_adept gelöst 23 / 3777
User Exit EXIT_RQCPRM10_001
vor 16 Stunden von a-dead-trousers 2 / 307
Trennen Strasse und Hausnummer
vor 22 Stunden von payten 13 / 10663
Daten an Tabelle binden
Gestern von Lukas Sanders 2 / 1356

Unbeantwortete Forenbeiträge

aRFC im OO-Kontext
vor 4 Wochen von ralf.wenzel 1 / 2889
Hilfe bei SWEC/SWE2
September 2024 von retsch 1 / 9483