SAP Jobsuche bei DV-Treff


Suchen
Kukulkan
  • Kukulkan
  • SAP Forum - Neuling Thema Starter
vor 17 Jahre
Hallo,

Ich suche seit zwei Tagen verzweifelt ein Beispiel für die BAPI_BARCODE_SENDLIST RFC. Ich muss das in VB6 machen. So weit bin ich bereits:

Dim oConnection As SAPLogonCtrl.Connection

Dim oFunc As SAPFunctionsOCX.Function

Set oConnection = SAPBAPIControl1.Connection

' Verbindungsparameter

oConnection.System = "MBS Inspirant"

oConnection.ApplicationServer = "192.168.11.15"

oConnection.SystemNumber = 0

oConnection.Client = "000"

oConnection.Language = "de"

oConnection.User = "minisap"

oConnection.Password = "minisap"

' Verbindung aufbauen

Debug.Print "Logon gestartet"

If oConnection.Logon(Me.hWnd, True) = True Then

Debug.Print "Logon ok"

Else

' Fehler

Debug.Print "Logon failed"

MsgBox "Can't connect to SAP!"

Exit Sub

End If

' Verbindung steht! Erstellen einer RFC-Function...

SAPFunctions1.Connection = oConnection

' SENDLIST eintragen

Set oFunc = SAPFunctions1.Add("BAPI_BARCODE_SENDLIST")

Jetzt scheitere ich daran, die Werte zu übergeben. Das mit den Imports() und Exports() hab ich nicht begriffen und wie ich dann die Tabelle erstelle oder übergebe ist für mich ein Rätsel. Google und die Hilfeseiten von SAP helfen nicht wirklich weiter. Da geht es immer nur um ganz einfache übergaben von Strings (zB Namen) an SAP (mit Exports()). Ich muss ja aber eine ganze Tabelle übergeben und eine Return-Struktur entgegennehmen.


Hat jemand einen solchen Beispielcode für VB oder kann mir wenigstens ein Buch nennen das mir bei diesem Problem hilft?


Viele Grüsse,


Kukulkan

danielA.
vor 17 Jahre
Hi - ich hoffe dein name ist lediglich nur spaß......

in VB mußt du dir eine Instanz einer bzw. der Tabellen erstellen, die du übergeben möchtest. Ich hab leider kein System zur Hand!

Dim oTable as Object
Set oTable = DeineFunktion.tables("Tabelle")

Jetzt hast du eine Instanz der Tabelle ohne Zeilen bzw. mit einer Zeile. Mit
oTable.AppendRow kannst du weitere Zeilen anfügen. Werte in die kriegst du ganz einfach mit
oTable(Zeile, Spalte) = Wert 'bin mir nicht sicher, kann auch andersrum sein.
Die Exporttabelle kann man nun prüfen, aber braucht man nicht wenn´s einmal steht. Aber man würde es so machen wie das Auslesen der Importtabelle.
Ich bin mir nicht sicher ob man überhaupt eine Instanz der Tabellen erstellen muß!?!? Wahrscheinlich geht es auch ala
DeineFunktion.table("Tabelle").AppendRow usw.
Tabellen liest man dann so aus

For Each Row in DeineFunktion.table("Tabelle").row oder rows
   Debug.Print Row(Zeile, Spalte) 'Man kann als Zeilennummer auch Row.Index - 1 nehmen
Next Row

Die Importtabellen kann man natürlich erst nach dem Call Funktion auswerten, aber wie gesagt würde man so auch die Exporttabellen prüfen/auslesen können.

Wie gesagt, ist alles freihändig ohne System ......also ohne Garantie, aber so ist der Ansatz.
Viel Spaß beim Ausprobieren

Gruß
danielA.
Kukulkan
  • Kukulkan
  • SAP Forum - Neuling Thema Starter
vor 17 Jahre
Hallo DanielA,

Sorry, ich bin spät aber vielen Dank für deine Antwort! Ich denke jetzt sehe ich schon klarer. Ich werde das so probieren und das Ergebnis auf jeden Fall hier posten (evtl. hat ja auch mal jemand anderes das Problem).


Viele Grüsse,


Kukulkan (der eigentlich Volker heisst und den Namen und die Maya-Sagengestalt einfach gut findet 😉 )

Benutzer, die gerade dieses Thema lesen