Aufruf von BAPI-Funktion (Rückgabewerte) in VBA

Alles rund um die Sprache ABAP®: Funktionsbausteine, Listen, ALV
4 Beiträge • Seite 1 von 1
4 Beiträge Seite 1 von 1

Aufruf von BAPI-Funktion (Rückgabewerte) in VBA

Beitrag von stori (ForumUser / 4 / 0 / 0 ) »
Hallo,

habe eine neue Funktion und weiß nicht, wie ich die Tabellenwerte auslesen kann.

Lokale Schnittstelle:
*" IMPORTING
*" VALUE(MATERIAL)LIKE CSAP_MBOM-MATNR
*" VALUE(BOM_USAGE)LIKE CSAP_MBOM-STLAN
*" .....
*" weitere 8 VALUES()... OPTIONAL
*" EXPORTING
*" VALUE(FL_WARNING) LIKE CAPIFLAG-FLWARNING
*" TABLES
*" T_STPO STRUCTURE STPO_API02 OPTIONAL
*" T_STKO STRUCTURE STPO_API02 OPTIONAL
*" .....
*" wietere tables STRUCTURE... OPTIONAL

Der Quellcode dazu:

Public SAPConnestion()
...
Set theFunc = FunctionCtrl.Add("FUNKTIONSNAME")
Set Tabelle1 = theFunc.Tables("T_STPO")

theFunc.Exports("MATERIAL")="12345678"
theFunc.Exports("BOM_USAGE")="2"
...
Debug.Print Tabelle1.RowCount ' hier:1
Debug.Print Tabelle1.ColumnCount ' hier:88

If Tabelle1.RowCount<>0 ' es dibt eine Stückliste

For wert =1 To Tabelle1.ColumnCount

' hier müsste ich die Spaltenwerte der Tabelle
zurückbekommen, weiß aber nicht wie
Next
End If
...
End sub

Grüße
stori

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


Beitrag von Kaiwalker (Specialist / 165 / 0 / 0 ) »
Auf die Werte in der Tabelle kann man per Array zugreifen.
debug.print Tabelle(Zeile, Spalte)
Man muss also eine For-To-Next Schleife über die Zeilen und eine über die Spalten machen.
z.B so.
for Zeile = 1 to Tabelle.RowCount
for Spalte = 1 to Tabelle.ColumnCount
debug.print Tabelle(Zeile, Spalte)
next
next

Dies gibt im Direktfenster dann alle Werte untereinander aus.

MfG
Kaiwalker

Beitrag von danielA. (ForumUser / 97 / 0 / 0 ) »
Hallo stori,

ich würde es so machen:

For Each Row In theFunc.tables("T_STPO").Rows
debug.print Row(Row.Index)
Next Rows

Das ist jetzt ungetestet, bei Row(Row.Index) bin ich mir nicht ganz sicher.

Analog dazu kannst du dir auch die Spaltenüberschriften holen:

For Each Column in theFunc.tables("T_STPO").Columns
debug.print Column.ColumnName
debug.print Column.intlength
Next Column

Die Anzahl der Spalten kann man auch so ermitteln:

debug.print theFunc.tables("T_STPO").ColumnCount
oder Zeilen
debug.print theFunc.tables("T_STPO").RowCount

Und wenn man es so macht, spart man sich Schreibarbeit

Private Sub blablabla
Dim T_STPO as Object
.....dein Code .....set theFunc = sowieso
und dann
Set T_STPO = theFunc.tables("T_STPO")
......und weiter
For Each Row in T_STPO
..... blabla
Next Row
End Sub

Wie gesagt, ist ungeprüft ,-)

gruß´
danielA.

Aufruf von BAPI-Funktion (Rückgabewerte) in VBA

Beitrag von stori (ForumUser / 4 / 0 / 0 ) »
Hallo, an alle!

Danke für die Antwort!

Ich habe nicht daran gedacht, dass ich einen Vektor übergeben muss.

Grüße
stori

Seite 1 von 1

Vergleichbare Themen

3
Antw.
2292
Views
Aufruf Funktion IMPRT im Schema
von Diko » 03.06.2012 23:48 • Verfasst in Human Resources
6
Antw.
4081
Views
ALV: Programmabbruch bei Aufruf Funktion aus Toolbar
von toto » 04.07.2007 14:17 • Verfasst in ABAP Objects®
2
Antw.
1058
Views
Aufruf eines Programms über die SUBMIT Funktion hängt sich auf
von maxra » 04.07.2023 15:45 • Verfasst in ABAP® für Anfänger
0
Antw.
1026
Views
BAPI Aufruf mit TABLES
von dori79 » 27.05.2009 21:47 • Verfasst in ABAP® für Anfänger
3
Antw.
2644
Views
Kundenerweitertes BAPI mit Fuba Aufruf
von Miss » 17.07.2016 18:16 • 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.

Unbeantwortete Forenbeiträge

Daten an Tabelle binden
vor 2 Tagen von Bright4.5 1 / 732
aRFC im OO-Kontext
vor 4 Wochen von ralf.wenzel 1 / 2358
Hilfe bei SWEC/SWE2
letzen Monat von retsch 1 / 8942