RFC BAPI Call mit Visual Basic

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

RFC BAPI Call mit Visual Basic

Beitrag von LosPablos (ForumUser / 35 / 0 / 0 ) »
Hi,

ich habe mit Visual Basic ein Programm geschrieben, was eine Verbindung zu einem SAP System aufbaut und einen BAPI aufruft.
Übergeben wird ein Equipment und zurück hätte ich gerne das Feld Material von der Tabelle "DATA_SPECIFIC_EXP".
Die Verbindung und der BAPI Aufruf funktionieren einwandfrei, aber bei der Rückgabe stimmt noch was nicht.
Ich bekomme folgenden Fehler beim Ausführen, aber erst nachdem die Verbindung aufgebaut und das Equipment exportiert wurde:

System.NullReferenceException: Objektvariable oder With-Blockvariable wurde nicht festgelegt.

Hab ich vielleicht einen Typ falsch definiert? Hier der Code mit dem BAPI aufruf:


Code: Alles auswählen.

        Dim inputTable As Object
        Dim i As Integer
        Dim material As String


        ' Die Function-Instanz wird erzeugt
        func1 = FunctionCtrl.Add("BAPI_EQUI_GETDETAIL")

        ' Export-Paramter definieren 
        func1.Exports("EQUIPMENT") = "P-1000-N999"

        inputTable = func1.Tables("DATA_SPECIFIC_EXP")

        If Not func1.Call Then
            If func1.exception <> "" Then
                MsgBox("Fehler: " & func1.exception)
            End If
        Else

            For i = 0 To inputTable.RowCount
                material = inputTable(i, "MATERIAL")
                txtFunctionOutput.Text = material
            Next

        End If
Hab ich vielleicht den Typ für inputTable falsch definiert? Bin dankbar für jeden Tip!

Gruss Arne

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


Beitrag von Gast ( / / 0 / 3 ) »
Eine kleine Frage: Benutzt Du den DCOM-Connector? Wenn ja, welche Version?

Beitrag von LosPablos (ForumUser / 35 / 0 / 0 ) »
Ich habe heute erst mit dem RFC Visual Basic Kram angefangen.... Was ist der DCom Connector? Macht man die Verbindung normal anders?

sorry, aber für mich alles neu!

Gruss Arne

Beitrag von Gast ( / / 0 / 3 ) »
Hallo Arne

sieht nach DCOM-Connector aus. Hier gibt es ein paar Beispiele. Wenn Du damit nicht weiterkommst, sag einfach nochmal Bescheid.

http://www.abapforum.com/forum/viewtopic.php?t=54

Beitrag von LosPablos (ForumUser / 35 / 0 / 0 ) »
Hi nochmal,

also ich weiss ehrlich gesagt nicht, was der DCOM Connector bringt bzw. genau macht. Bei den Beispielen, die ich bisher gesehen habe, wird der nicht verwendet, glaube ich.
Ich meine, der BAPI wird ja auch aufgerufen, nur kommt nix zurück! Und zwar genau an der Stelle, an der die Schleife mit der InputTable aufgerufen wird.

Was macht hier Patrick76 in seinem Beispiel richtig, was ich falsch mache? http://www.abapforum.com/forum/viewtopi ... rfc+visual

Stehe irgendwie momentan auf dem Schlauch....

Ich habe noch ein anderes Beispiel, in dem die Tables, Functions etc. komplett anders deklariert werden, und zwar irgendwie über OCX:

Code: Alles auswählen.

Dim Func As SAPFunctionsICX.Function
Private R§Connection As SAPLogonCtrl.Connection
Public iDate As SAPFunctionsOCX.Parameter
Public iTable As SAPTableFactoryCtrl.Table
Wenn ich das so definieren will, bekomme ich die Meldung, dass die Typen "SAPFunctionsOCX" usw. nicht bekannt sind....

Was macht der da? ;o)

Gruss Arne

Beitrag von Gast ( / / 0 / 3 ) »
Hallo Arne.

Leider kenne ich nur den Fall mit DCOM-Connector. Das ist quasi eine Schnittstelle für VB, mit der man den Zugriff auf R/3 bewerkstelligen kann.
Wenn Du das installierst, hast Du einige Controls (ocx) mit denen Du den Verbindungsaufbau machen kannst, sowie die Daten in speziellen TableControls o.ä. darstellen kannst.

Das was Du machst scheint von VB über OLE zu laufen. Kannst Du mal posten, wie Du die Objekte für den Verbindungsaufbau definiert hast?

Machst Du das auch so?

Code: Alles auswählen.

Private oBAPICtrl As Object            'BAPI Control

Private oConnection As Objec       'Connection object

Private oPersonalData As Object    'Table object

Dim boolLogon As Boolean           'Logon help variable

Const APPID = "Employee Example Program "

 

Private Sub Form_Load()

'

'Creating BAPI object

   Set oBAPICtrl = CreateObject("SAP.BAPI.1")

'

'Creating Connection object

   Set oConnection = oBAPICtrl.Connection


   cmdList.Enabled = False

   mnuEmployeeList.Enabled = False

   boolLogon = False

End Sub


Beitrag von Gast ( / / 0 / 3 ) »
Hi,

also ich habe es jetzt gestern doch noch hinbekommen! Yeeh! ;o)
Bei mir ist es ein klein bisschen anders. Die verbindung wird bei mir folgender Maßen hergstellt:

Code: Alles auswählen.

    'Deklarationen
    Public FunctionCtrl As Object     
    Public sapConnection As Object     
    Public SilentLogon As Boolean 


    ' FunctionCtrl
    FunctionCtrl = CreateObject("SAP.Functions")
    sapConnection = FunctionCtrl.Connection
    SilentLogon = True

    sapConnection.Logon(0, SilentLogon)
    FunctionCtrl.Connection = sapConnection

Besten Dank nochmal für die Antworten. Das einzige, was mir jetzt noch fehlt, ist das Ausgeben von einzelnen Felder (nicht Tabellen) aus Bausteinen aus SAP heraus. Wenn da jemand noch einen Tip hat, würde ich mich freuen!

Gruss Arne

Seite 1 von 1

Vergleichbare Themen

1
Antw.
2343
Views
per BAPI-Control über Visual Basic ein BAPI aufrufen
von Kaiwalker » 25.07.2005 15:22 • Verfasst in ABAP® Core
6
Antw.
2515
Views
Problem mit BAPI in Visual Basic
von reini69 » 20.06.2008 13:16 • Verfasst in ABAP® Core
0
Antw.
977
Views
BAPI-Aufruf von Visual Basic und Verarb. von überg. Tabellen
von Ornella Santini » 25.08.2005 15:24 • Verfasst in ABAP® Core
2
Antw.
2507
Views
Aufruf BAPI aus Visual Basic heraus in einem Unicode-System
von bjepegw » 20.01.2005 14:44 • Verfasst in ABAP® Core
4
Antw.
2060
Views
RFC und Visual Basic
von cellin » 12.12.2006 08:09 • Verfasst in ABAP® für Anfänger

Über diesen Beitrag


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

Aktuelle Forenbeiträge

Updates der Daten, Fehlermeldung
vor 23 Stunden von Egzon gelöst 1 / 50
Wie benutze ich COMMIT WORK richtig
vor 2 Tagen von msfox 17 / 431

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

Updates der Daten, Fehlermeldung
vor 23 Stunden von Egzon gelöst 1 / 50
Wie benutze ich COMMIT WORK richtig
vor 2 Tagen von msfox 17 / 431

Unbeantwortete Forenbeiträge

Updates der Daten, Fehlermeldung
vor 23 Stunden von Egzon 1 / 50
Zwischensumme Adobe Forms
vor 5 Wochen von Lucyalison 1 / 269
Group Items auf einer Filterbar
letzen Monat von Bright4.5 1 / 321