Mit VBA Export-Parameter von BAPIs auslesen

ABAP, Java, BSP, etc.

Mit VBA Export-Parameter von BAPIs auslesen

Postby Eleanor4937 » Mon Sep 30, 2013 3:06 pm

Hallo zusammen,

ich habe in VBA in Excel einen Code geschrieben, mit dem ich Salden von Sachkonten auslesen möchte. Hierfür habe ich das BAPI GetGLAccountPeriodBalances vom Business Object GeneralLedger verwendet. Der Code sieht folgendermaßen aus:

Code: [Select all] [Expand/Collapse] [Download] (Untitled.txt)
  1. Sub Schaltfläche1_KlickenSieAuf()
  2.  
  3. Dim oBAPICtrl As Object
  4. Dim oGeneralLedger As Object
  5. Dim oCompanyCode As Variant
  6. Dim oGLAccount As Variant
  7. Dim oFiscalYear As Variant
  8. Dim oCurrencyType As Variant
  9. Dim oAccountBalances As Object
  10.  
  11. 'Erstellung des BAPI ActiveX Control Objekts
  12. Set oBAPICtrl = CreateObject("SAP.BAPI.1")
  13. oBAPICtrl.Connection.Logon
  14.  
  15. 'SAP Logon
  16. If oBAPICtrl.Connection.Logon(1, False) = True Then
  17. MsgBox ("SAP Logon erfolgreich")
  18. Else: MsgBox ("SAP Logon fehlgeschlagen")
  19. End If
  20.  
  21. 'Erstellung einer lokalen Instanz des Objekts GeneralLedger
  22. Set oGeneralLedger = oBAPICtrl.GetSAPObject("GeneralLedger", "0L")
  23.  
  24. 'Deklaration einer lokalen Instanz des Exportparameters AccountBalances
  25. Set oAccountBalances = oBAPICtrl.DimAs(oGeneralLedger, "GetGLAccountPeriodBalances", "AccountBalances")
  26.  
  27. oCompanyCode = Range("F1").Value '=0001
  28. oGLAccount = Range("F2").Value '=0000140000
  29. oFiscalYear = Range("F3").Value '=2013
  30. oCurrencyType = Range("F4").Value '=10
  31.  
  32.  
  33. oGeneralLedger.GetGLAccountPeriodBalances CompanyCode:=oCompanyCode, GLacct:=oGLAccount, _
  34. Fiscalyear:=oFiscalYear, CurrencyType:=oCurrencyType, AccountBalances:=oAccountBalances
  35.  
  36. Range("F10") = oAccountBalances.Data(1, 7)
  37.  
  38. End Sub
GeSHi ©


Mein Problem ist nun, dass der Export-Parameter AccountBalances zwar mit den gewünschten Daten gefüllt wird. Allerdings werden die Daten in Tabellenform zurückgegeben (siehe Screenshot des Lokalfensters im Anhang) und ich weiß nicht, wie man diese ins Excel bekommt. Ich habe es mit Range("F10") = oAccountBalances.Data(1, 7) probiert, aber dabei kommt ein Laufzeitfehler.

Wäre super, wenn mit einer von Euch hierbei weiterhelfen könnte.

Viele Grüße
tomtom82
Eleanor4937
.
.
 
Posts: 2
Joined: Mon Sep 30, 2013 3:06 pm

Re: Mit VBA Export-Parameter von BAPIs auslesen

Postby Tron » Tue Oct 01, 2013 1:32 pm

Moin.
Versuch mal
Code: [Select all] [Expand/Collapse] [Download] (Untitled.txt)
  1. for i = 0 to oaccountbalances.columncount-1
  2. Cells(1, i+1).Value =  oAccountBalances.Data(1, i+1)
  3. next i
  4.  
GeSHi ©

sollte eine Zeile ausgeben (mit 10 Werten)
wenn es für eine Zeile geht, brauchst Du noch 'ne FOR.. Next Schleife für die Zeilen.
gruß Jens
Tron
.....
.....
 
Posts: 1112
Joined: Sat Aug 04, 2007 10:21 pm

Re: Mit VBA Export-Parameter von BAPIs auslesen

Postby Eleanor4937 » Mon Oct 07, 2013 10:01 pm

Hallo Jens,

vielen Dank für Deine Antwort. Ich habe Deinen Vorschlag in den Code eingesetzt (und vorher Variable i entsprechend deklariert), aber leider kommt wieder der gleiche Laufzeitfehler: "Falsche Anzahl an Argumenten oder ungültige Zuweisung zu einer Eigenschaft".

Muss man evtl. andere Argumente oder vielleicht mehr Argumente bei oAccountBalances.Data eingeben?

Viele Grüße
Eleanor4937
.
.
 
Posts: 2
Joined: Mon Sep 30, 2013 3:06 pm


Return to Development Related

Who is online

Users browsing this forum: No registered users and 1 guest

cron