VBA // RFC-Baustein mit Tabelle als Import Parameter abrufen

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

VBA // RFC-Baustein mit Tabelle als Import Parameter abrufen

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

ich möchte aus VBA (Excel) heraus Daten in SAP übertragen. Dazu nutze ich einen RFC-Baustein mit einer Tabelle als Import Parameter. Zu vergleichen mit: STFC_DEEP_TABLE
Leider bricht mein VBA-Code im With-Block mit dem Fehler „Objectvariable oder With-Blockvariable nicht festgelegt“ ab.
Kann mir jemand sagen, was ich falsch mache…?

Vorab für Eure Hilfe schon vielen Dank!

Viele Grüße
Carsten

Code: Alles auswählen.

Sub RFC_DEEP_TABLE()

Dim sapConn As Object
Set sapConn = CreateObject("SAP.Functions")

If sapConn.Connection.Logon(0, False) <> True Then
    MsgBox "Cannot Log on to SAP"
End If

Dim objRfcFunc As Object
Set objRfcFunc = sapConn.Add("STFC_DEEP_TABLE")

With objRfcFunc
    .Exports.Item("IMPORT_TAB").value("STR") = "X" 'Objectvariable oder With-Blockvariable nicht festgelegt
End With

If objRfcFunc.Call = False Then
    MsgBox objRfcFunc.Exception
End If

End Sub

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


Re: VBA // RFC-Baustein mit Tabelle als Import Parameter abr

Beitrag von Romaniac (Specialist / 221 / 65 / 27 ) »
Sag ich Dir morgen, hab gerade kein Beispiel verfügbar auf dem iPhone.
Geht nicht gibts nicht

Re: VBA // RFC-Baustein mit Tabelle als Import Parameter abr

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

jetzt schon mal vielen Dank!
Ich komm da echt nicht weiter...

Viele Grüße
Carsten

Re: VBA // RFC-Baustein mit Tabelle als Import Parameter abr

Beitrag von Tron (Top Expert / 1327 / 35 / 332 ) »
Moin Carsten.
Nimm doch dieses Coding als Vorlage.
http://www.tricktresor.de/blog/werte-pe ... mportieren
Anstelle von RFC_READ_TABLE kannst Du auch STFC_DEEP_TABLE nach ein paar Änderungen aufrufen.
gruß Jens
Restriktionen zu RFC Calls
https://help.sap.com/doc/abapdocu_750_i ... ations.htm
<:: 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: VBA // RFC-Baustein mit Tabelle als Import Parameter abr

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

Danke für Deine Antwort!
Leider bekomme ich es irgendwie nicht hin.
Es ist kein Problem, eine Tabelle zu füllen, die als Tabelle deklariert ist (wie es bei RFC_READ_TABLE der Fall ist).
Allerdings handelt es sich bei meinem RFC-Baustein um eine Tabelle, die als Input Parameter deklariert ist (vergleichbar mit STFC_DEEP_TABLE).
Dort funktionieren Befehle wie "freetable", "appendrow" oder dergleichen nicht.

Gibt es weitere Ideen...? Ich bin echt am verzweifeln...


Viele Grüße
Carsten

Re: VBA // RFC-Baustein mit Tabelle als Import Parameter abr

Beitrag von Tron (Top Expert / 1327 / 35 / 332 ) »
Hallo Carsten.
1.) Als Import- oder Exportparameter ist eine Zeile(Struktur) das maximal Mögliche.

Code: Alles auswählen.

objRfcFunc.Exports.Item("IMPORT_TAB").value("STR") = "X" 
wird nicht funktionieren, da Werte zu einer Struktur Zeile in etwa so definiert werden.

Code: Alles auswählen.

Dim objRfcFunc As Object
Dim objStructure As Object

Set objRfcFunc = sapConn.Add("STFC_DEEP_TABLE")

set objStructure = objRfcFunc.Exports("IMPORT_TAB")

objStructure.value("STR") = "X"
   :
   :
2.)Falls man eine "echte" tiefe Struktur vorliegen hat, müsste man einen Funktionsbaustein drumbauen, der dann RFC-fähig ist und die Bedingungen für RFC erfüllt .

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.

Re: VBA // RFC-Baustein mit Tabelle als Import Parameter abr

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

Danke für die Antwort!
Wenn ich das richtig verstanden habe, wird Deiner Meinung nach der untere Block funktionieren, oder?
Leider bricht aber auch der Code bei der Zeile

Code: Alles auswählen.

Set objStructure = objRfcFunc.Exports("IMPORT_TAB")
ab.
Fehler "Objektvariable oder With-Blockvariable nicht festgelegt."

Fehlt mir vielleicht eine Library, die ich noch als Verweis anhängen muss? Unten sind die bei mir eingerichteten Verweise.
Auf das RFC-Modul "RFC_READ_TABLE" kann ich einwandfrei drauf zugreifen.
Ich habe noch dieses Thema gefunden: http://www.abapforum.com/forum/viewtopi ... =1&t=20133
Dort schreibt der Fragesteller, dass sein Code prinzipiell funktioniert. Bei mir hingegen klappt es genauso nicht...


Viele Grüße
Carsten

Bild

Re: VBA // RFC-Baustein mit Tabelle als Import Parameter abr

Beitrag von Tron (Top Expert / 1327 / 35 / 332 ) »
... mußt Du noch ein wenig warten bis ich zu Hause bin :|
Die Verweise brauchst Du nicht, wenn du mit CreateObject("SAP.Functions") arbeitest.
bis den..
<:: 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: VBA // RFC-Baustein mit Tabelle als Import Parameter abr

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

ich warte gerne!
Wäre super, wenn ich diese Woche zu einer Lösung komme.
Danke!!

Viele Grüße
Carsten

Re: VBA // RFC-Baustein mit Tabelle als Import Parameter abr

Beitrag von Romaniac (Specialist / 221 / 65 / 27 ) »
Hallo zusammen,

ich habe jetzt mit Carsten auch per PN kommuniziert aber keine Lösung gefunden. Ich habe auch eine Hilfedatei zum SAP Assistent (BCFESDE5.HLP) aber die alten Hilfedateien kann man ja nicht mehr ohne viel Tricks öffnen unter Windows 10. Dank der laufenden Änderungen am SAP Hilfeportal funktionieren auch mühsam gesammelten links nicht mehr...

Aber ich habe dann doch noch eine Hilfe zum SAP Assistent und 4.6 gefunden, hat da vielleicht jemand was Neueres?
https://help.sap.com/doc/saphelp_46c/4. ... ameset.htm

So und zum eigentlichen Problem bin ich auch der Meinung dass Tabellen nur angesprochen werden können wenn Sie im FB unter TABLES definiert sind, Tabellentypen im IMPORT funktionieren nicht. Ich schaue mir aber die Doku nochmal genauer an vielleicht findet sich ja doch noch eine Methode dafür.

Gruß Wolfgang

Folgende Benutzer bedankten sich beim Autor Romaniac für den Beitrag:
Carsten31

Geht nicht gibts nicht

Re: VBA // RFC-Baustein mit Tabelle als Import Parameter abr

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

nur zur Info: Es ist nicht möglich.
Ich werde einen Funktionsbaustein basteln, welcher mir die Tabelle auch als "Tabelle" und nicht als "Import Parameter" zur Verfügung stellt und dann die Daten weitergibt zu meinem RFC-Baustein.

Viele Grüße
Carsten

Seite 1 von 1

Vergleichbare Themen

1
Antw.
1148
Views
RFC-Baustein: Optionale Parameter/Übernahme der Vorschlagswerte
von Thomas R. » 15.11.2019 15:59 • Verfasst in ABAP® Core
0
Antw.
1428
Views
Methode mit import parameter
von abapan222 » 22.06.2016 10:08 • Verfasst in ABAP Objects®
2
Antw.
2178
Views
Funktionsbaustein: Defaultwerte für IMPORT-Parameter setzen
von Orlando80 » 31.10.2006 14:04 • Verfasst in ABAP® Core
1
Antw.
4089
Views
Import-Parameter für Select-Options dynamisch vorbelegen
von sflight » 14.01.2014 14:46 • Verfasst in Web-Dynpro, BSP + BHTML
1
Antw.
760
Views
Vorgabewert mit Select-Join abrufen
von dorian34 » 17.08.2021 23:01 • 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 / 717
aRFC im OO-Kontext
vor 4 Wochen von ralf.wenzel 1 / 2343
Hilfe bei SWEC/SWE2
letzen Monat von retsch 1 / 8926