vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
sevAniGif - als kostenlose Vollversion auf unserer vb@rchiv CD Vol.5  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

ActiveX-Programmierung
Re: ActiveX Control und SAP Dataprovider 
Autor: Peter71
Datum: 15.03.10 07:40

Hallo,

ich weis nicht genau, was Du vorhast, aber mit folgendem Beispiel kannst Du über den
Funktionsbaustein RFC_READ_TABLE komplette Tabellen auslesen. Um Daten zu schreiben,
musst Du nur den Vorgang umdrehen und natürlich an einen Funktionsbaustein adressieren,
der die Daten aufnehmen kann.

Für die Anmeldung am SAP System:
Global connect, func As Object
Global result As Boolean
Global myfunc As Object
Global data As Object
Global fields As Object
 
Private Sub anmelden()
  Set func = CreateObject("SAP.Functions")
  Set connect = func.Connection
  If func.Connection.logon <> True Then
    func.RemoveAll
    MsgBox prompt:="Anmeldung fehlgeschlagen! Bitte verständigen Sie den _
      Administrator (Datei wdtfuncs.ocx registriert?)!"
    Exit Sub
  End If
End sub
Um nun Tabellen auszulesen:
Public Sub daten_lesen()
  call anmelden
  On Error GoTo errhandler
  Set myfunc = func.Add("RFC_READ_TABLE")
  myfunc.exports("QUERY_TABLE") = "T003"
  myfunc.exports("DELIMITER") = ","
  result = myfunc.Call
  Set fields = myfunc.tables.Item("FIELDS")
  Set data = myfunc.tables.Item("DATA")
  GoTo ende
errhandler:
  msgbox prompt:="Bei der Verarbeitung ist ein Fehler aufgetreten!"
ende:
  call create_table
End Sub
Und um die Daten in eine ADO Tabelle zu bringen:
Public mytab As ADODB.Recordset
  Dim fnameAs String
  Dim flangAs Integer
  Dim ftypeAs String
  Dim sa As Long
  Dim cc As Long
  Public Sub create_table()
  Set mytab = New ADODB.Recordset
  For sa = 1 To fields.RowCount
    fname = fields(sa, 1)
    flang = fields(sa, 3)
    With mytab
      Select Case fields(sa, 4)
        Case "C"
          .fields.Append fname, adChar, flang
        Case "N"
          .fields.Append fname, adNumeric, flang
        Case "D"
          .fields.Append fname, adDate, flang
        Case "P"
          .fields.Append fname, adDouble, flang
      End Select
    End With
  Next sa
  mytab.Open
  For sa = 1 To data.RowCount
    For cc = 0 To (UBound(Split(data(1, 1), ",")))
      With mytab
        .AddNew
        .fields.Item(cc).Value = Split(data(sa, 1), ",")(cc)
        .Update
      End With
    Next cc
  Next sa
 
  Set func = Nothing
  Set connect = Nothing
End Sub
Gruss

Peter71

alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
ActiveX Control und SAP Dataprovider5.585ewx01.12.09 23:20
Re: ActiveX Control und SAP Dataprovider3.807Peter7115.03.10 07:40
Re: ActiveX Control und SAP Dataprovider3.258ewx16.03.10 22:36

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel