SAP Jobsuche bei DV-Treff
Gynix
  • Gynix
  • SAP Forum - User Thema Starter
vor 19 Jahre
Hallo,

ich bin fast am verzweifeln....Ich versuche schon seit Tagen einen SAPConnect mit Vb.net zu erstellen (SAP Release 4.6C). In einem SAP-Heft wurden Beispiele mit dem Funktionsbaustein "RFC_CUSTOMER_GET" erläutert. Nun habe ich unter service.sap erfahren, dass dies nie ein offizieller Baustein war.
Daher meine Frage:
Könnte mir jemand einen einfachen VB-Code posten, wo auf einen Funktionsbaustein zugegriffen wird, den es in jedem(!) System gibt, und daraus ein oder zwei Daten auslese, damit ich endlich mal einen Erfolg habe.
Danke für eure Mühe

Gruß Roberto
Förderer

danielA.
vor 19 Jahre
Hallo Roberto,

versuch es mal über die OnlineDoku von SAP, es gibt dort ein wenig Beispielcode.

Such nach "sap.functions" + "sap.logoncontrol" + "sap.logoncontrol.1", dort solltest du fündig werden. Es werden Beispiele in Excel gezeigt, guck doch mal ob du damit klar kommst. Andernfalls kann ich dir da mal was geben.

Ein Fuba der immer vorhanden ist und mit dem man gut üben kann ist "rfc_read_table", dieser wertet dir eine Transparente Tabelle aus.....sowohl Felder als auch Inhalte.....wenn man will.

Gruß
Daniel A.
Gynix
  • Gynix
  • SAP Forum - User Thema Starter
vor 19 Jahre
http://help.sap.com/saphelp_erp2004/helpdata/en/76/4a42f7f16d11d1ad15080009b0fb56/frameset.htm 
fündig, aber das ist mir (für den Einstieg) zu komplex  ???

Ich habe in vb.net folgenden Code entworfen, aber leider funkt der nicht - die MsgBox kommt zwar, aber sie enthält nichts!?
Bin dankbar für jeden Hinweis oder ein anderes Beispiel (das funktioniert).
Hier der Code:

<
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
       Dim FunctionCtrl As Object
       Dim SapConnection As Object

       FunctionCtrl = CreateObject("SAP.Functions")
       SapConnection = FunctionCtrl.Connection

       SapConnection.client = "xxx"
       SapConnection.user = "xxx"
       SapConnection.password = "xxx"
       SapConnection.language = "xx"
       SapConnection.hostname = "xxx"
       SapConnection.systemnumber = "xx"

       If Not SapConnection.logon(0, True) Then
           MsgBox("Logon failed!!")
       Else
           MsgBox("Logon erfolgreich!")          
       End If

       Dim Func1 As Object
       Func1 = FunctionCtrl.Add("BAPI_CREDITOR_GETDETAIL")

       Func1.exports("CREDITORID") = "1000"
       Dim Ret, x
       Ret = Func1.call

       If Not Ret Then
           MsgBox("Fehler!")
       Else
           x = Func1.imports("CREDITORID")
           MsgBox(x)
       End If

       SapConnection.logoff()
       Close()
   End Sub
>
danielA.
vor 19 Jahre
Hi Roberto,

ich versuch mal den Code ohne System umzubauen ;-)

Private Sub Button1_Click()
Dim SapConnection As Object
Dim FunctionCtrl As Object
Dim Func1 As Object
Set SapConnection = CreateObject("SAP.Logoncontrol")
      SapConnection.System = "xx"
      SapConnection.ApplicationServer = "xxxx"
      SapConnection.SystemNumber = "xx"
      SapConnection.Client = "xxx"
      SapConnection.User = "xxx"
      SapConnection.Password = "????"
      SapConnection.Language = "DE"

      Call SapConnection.Logon(0, True) 'Silent Logon
      If SapConnection.IsConnected = 1 then
           Debug.Print "Verbindung OK"
      End if
     
      Set FunctionCtrl = CreateObject("Sap.Functions")
      FunctionCtrl.Connection = SapConnection

      Set Func1 = FunctionCtrl.Add("RFC_READ_TABLE")
      Func1.exports("langu") = "D"
      Func1.exports("query_table") = "T000"
      Func1.Call

      For Each Rows in Func1.Tables("Data").Rows
           Debug.Print Rows(1)
      Next Rows
End Sub

So könnte es gehen, ist halt ungeprüft 😉.

Gruß
Daniel A.
Gynix
  • Gynix
  • SAP Forum - User Thema Starter
vor 19 Jahre
Guten Morgen Daniel,

vielen Dank, nach ein paar kleinen Änderungen habe ich es hinbekommen  

Justin
vor 18 Jahre
Hallo,

würde dies unter VBS auch genauso aussehen?
Ist es überhaupt mit VBS möglich?

Wie müssten die Parameter in etwa aussehen in den
folgenden 3 Zeilen?

 SapConnection.System = "xxxx"
 SapConnection.ApplicationServer = "xxxx"
 SapConnection.SystemNumber = "xxxx"

Besten Dank im Voraus


- Justin