Bapi aus VBA aufrufen // Probleme mit einer Tabelle

Getting started ... Alles für einen gelungenen Start.
7 Beiträge • Seite 1 von 1
7 Beiträge Seite 1 von 1

Bapi aus VBA aufrufen // Probleme mit einer Tabelle

Beitrag von Carsten31 (ForumUser / 13 / 1 / 0 ) »
Hallo!

Ich habe ein Problem mit einem Bapi.

Gerne möchte ich über VBA das Bapi BAPI_BUS1077_GETDETAIL aufrufen.

Zuerst muss, um Werte abrufen zu können, die Tabelle SUB_HEADER mit Werte befüllt werden.
Dazu versuche ich die Tabelle mit folgendem Quelltext zu befüllen oder besser, vorerst zu definieren:

Dim oRangeSubNr As Object
Set oRangeSubNr = SAPBAPIControl.DimAs(oSpe, "GETDETAIL", "SUB_HEADER")

Leider kommt dann immer die Meldung: Parameter SUB_HEADER not found.

Ich habe das Bapi mit SE37 getestet.

Ändere ich das "SUB_HEADER" in meinem Quelltext zu "REFSUBS", einer anderen Tabelle in diesem Bapi, geht es weiter. Also diese Tabelle kann gefunden werden.
Bei anderen Bapi's habe ich dieses Problem nicht...

Woran liegt das oder was mache ich falsch?
Ist es eventuell nicht möglich, diese Tabelle "von außen" aufzurufen? (Was ja, wenn ich es richtig verstanden habe, nicht sein kann, da dass Bapi ja freigegeben ist für Remote-Funktionen, oder...?)

Danke für Eure Antworten!!

Viele Grüße
Carsten

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


Re: Bapi aus VBA aufrufen // Probleme mit einer Tabelle

Beitrag von Tron (Top Expert / 1327 / 35 / 331 ) »
Moin Carsten.
probier es bitte mit http://www.tricktresor.de/blog/werte-pe ... portieren/
mit ein paar Anpassungen dürfte das kein Problem sein.

lg 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.

Re: Bapi aus VBA aufrufen // Probleme mit einer Tabelle

Beitrag von Carsten31 (ForumUser / 13 / 1 / 0 ) »
Hallo Jens,

vielen Dank für Deine Antwort!
Mit der RFC_READ_TABLE - Funktion wollte ich erst arbeiten.
Das Problem ist, dass in die Tabelle erst Daten geschrieben werden müssen, um dann andere Tabellen abzurufen.

Habe schon mit BAPI_MATERIAL_GETDETAIL gearbeitet, womit es auch klappt. Nur mit dieser Tabelle von BAPI_BUS1077_GETDETAIL klappt es nicht...

Viele Grüße
Carsten

Re: Bapi aus VBA aufrufen // Probleme mit einer Tabelle

Beitrag von Tron (Top Expert / 1327 / 35 / 331 ) »
Nun.

Beispiel schreibe 10 Zeilen Tabelle

Code: Alles auswählen.

Set SMDTabObj = SMDFunc.Tables("SUB_HEADER")
SMDTabObj.freetable

For i = 0 To 9
    SMDTabObj.appendrow
    SMDTabObj.cell(i + 1, "FUNCTION") = "jdsjfj"
    SMDTabObj.cell(i + 1, "LOGLOCKMOD") = "fhdsdfjk"
    SMDTabObj.cell(i + 1, "IEXTINFO") = "fkskfhsjkdh"
Next i
bzw

Code: Alles auswählen.

For i = 1  To 10
    SMDTabObj.appendrow
    SMDTabObj.cell(1, "FUNCTION") = "jdsjfj"
    SMDTabObj.cell(1, "LOGLOCKMOD") = "fhdsdfjk"
    SMDTabObj.cell(1, "IEXTINFO") = "fkskfhsjkdh"
Next i
bzw

Code: Alles auswählen.

For i = 1  To 10
    SMDTabObj.appendrow
    SMDTabObj.cell(1, 1) = "jdsjfj"
    SMDTabObj.cell(1, 2) = "fhdsdfjk"
    SMDTabObj.cell(1, 3) = "fkskfhsjkdh"
Next i
lg 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.

Re: Bapi aus VBA aufrufen // Probleme mit einer Tabelle

Beitrag von Carsten31 (ForumUser / 13 / 1 / 0 ) »
Hallo Jens!

Vielen Dank für Deine Antwort!
Ich habe mich heute mal wieder dran gesetzt, das Problem zu beheben. Leider noch nicht erfolgreich...

Ich habe einiges probiert, verstehe jedoch noch nicht, wie genau ich Deinen Code einbringen kann (Sorry, bin nicht wirklich der VBA-Experte...)

Mein Code sieht wie folgt aus

Code: Alles auswählen.

Dim SAPBAPIControl1 As Object
Set SAPBAPIControl1 = CreateObject("SAP.BAPI.1")

If Not SAPBAPIControl1.Connection.Logon(0, False) Then
    MsgBox "Login failed"
    Exit Sub
End If

Dim oMat As Object
Set oMat = SAPBAPIControl1.GetSAPObject("BUS1077")

Dim oRangeSubNr As Object
Set oRangeSubNr = SAPBAPIControl1.DimAs(oMat, "GETDETAIL", "SUB_HEADER")
In der letzten Zeile bricht VBA ab und sagt mir, dass die Tabelle "SUB_HEADER" nicht gefunden werden kann.
Dieser Code umgeändert um Materialen rauszuziehen funktioniert hingegen einwandfrei. Ich brauche die Tabelle "SUB_HEADER" um festzulegen, welche Materialen ausgegeben werden sollen.

Vielleicht hast Du noch eine Idee (oder jemand anders)

Viele Grüße
Carsten

Re: Bapi aus VBA aufrufen // Probleme mit einer Tabelle

Beitrag von Tron (Top Expert / 1327 / 35 / 331 ) »
Moin Carsten.
Hast ne PN bekommen.
Aus dem kurzen Abschnitt kann ich nichts generieren.
lg 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.

Re: Bapi aus VBA aufrufen // Probleme mit einer Tabelle

Beitrag von Carsten31 (ForumUser / 13 / 1 / 0 ) »
Hallo Jens!

Ich habe es soeben geschafft...
Vielen Dank für Deine Unterstützung!

Carsten

Seite 1 von 1

Vergleichbare Themen

1
Antw.
2339
Views
per BAPI-Control über Visual Basic ein BAPI aufrufen
von Kaiwalker » 25.07.2005 15:22 • Verfasst in ABAP® Core
1
Antw.
1922
Views
BSP berechtignungs probleme beim aufrufen
von Gast » 13.07.2005 10:04 • Verfasst in Web-Dynpro, BSP + BHTML
0
Antw.
2685
Views
Aus PL/SQL einen BAPI aufrufen
von joern » 29.03.2005 17:57 • Verfasst in Exchange Infrastructure
2
Antw.
1497
Views
Funktionsbaustein mit nicht typisierter Tabelle aufrufen
von jokabi » 05.11.2014 17:38 • Verfasst in ABAP® für Anfänger
4
Antw.
2389
Views
Probleme mit der internen Tabelle
von swonny » 09.01.2007 09:11 • Verfasst in ABAP® für Anfänger

Über diesen Beitrag


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

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.