SAP Jobsuche bei DV-Treff
Thomas Schäfer
vor 10 Jahre
Guten Tag,

ich bin ein absoluter Neuling was SAP anbelangt.

Ich habe hier einige Beispiele gesehen um von Access aus auf SAP zuzugreifen, allerdings scheint es hier einige unterschiedliche Vorgehensweisen zu geben. Prinzipiell bin ich fit in VBA und plane ein kleines Freizeitprojekt_

Mittels CAT2 werden bei uns Stunden geschrieben. Oftmals ist aber das Problem, dass die Abrechnungsnummern geschlossen oder nicht mehr verfügbar sind.

Ist es möglich folgendes zu tun:

- Aus meiner Accessanwendung heraus auf SAP LESEND zugreifen

- Die Nummer eingeben und überprüfen ob sie buchbar ist

- Aus der Accessanwendung heraus Stunden für einen bestimmten Tag in das SAP zu SCHREIBEN

...und noch viel wichtiger: Wie muss ich mich (am liebsten mit VBA) mit SAP verbinden um das zu tun.

Für jede Hilfestellung bin ich sehr Dankbar. Schon mal ein schönes Wochenende.

Thomas

Förderer

Tobi_Tobsucht_1981
vor 10 Jahre
Hallo Thomas,

generell ist das Lesen und Schreiben von Daten aus und in SAP von Office Produkten aus mit VBA möglich. SAP bietet dafür eine Schnittstelle (BAPI - Business Application Programming Interface ) an, über die man Funktionsbausteine in SAP ausführen kann. Diese Funktionsbausteine müssen Remote-Fähig, also von außen Ausführbar sein. Dafür können vorhandene Remote-fähige Funktionsbausteine in SAP angesprochen werden oder auch eigene erstellt werden.

Für deine Bedürfnisse passende Funktionsbausteine kannst du z.B. mit der Transaktion SE37 suchen. Die ganze Geschichte ist allerdings nicht gerade Trivial und ob das für einen, wie du selber sagst, absoluten SAP Neuling geeignet ist, wage ich zu bezweifeln.

RFC über VBA

Die Anmeldung im SAP mit einem RFC-fähigen User ist die Grundvoraussetzung um RFC-fähige BAPI-Funktionsbausteine ausführen zu können. Folgende Berechtigungen werden benötigt:

Objekt: S_RFC

Berechtigungsfeld: RFC_TYPE = FUGR (Funktionsbaustein)

Berechtigungsfeld: RFC_NAME = SYST

Berechtigungsfeld: ACTVT = 16 (Ausführen)

Folgende Parameter müssen übergeben werden:

System

Systemnumber

Client

User

Passwort

Language

Hostname

Hier ein kleines Beispiel für die Anmeldung:

Public Function SAP_Logon(username As String, password As String) As Boolean

'*************************************************

' ANMELDUNG AN SAP

' ACHTUNG: USER MUSS BERECHTIGUNGEN HABEN!!!!

'*************************************************

Set FunctionCtrl = CreateObject("SAP.Functions")

'Objekt für die SAP Verbindung

Set SapConnection = FunctionCtrl.Connection

SapConnection.Client = "100"

SapConnection.User = username

SapConnection.Language = "DE"

SapConnection.password = password

SapConnection.hostname = "rechnername.firma.com" 'nicht das kuerzel wie DE9

SapConnection.systemnumber = "0"

If Not SapConnection.Logon(0, True) Then 'True silent - false offen

MsgBox "Logon failed!!!", vbCritical

CMS_Logon = False

Else

CMS_Logon = True

End If

End Function

Thomas Schäfer
vor 10 Jahre
Hallo,

leider bin ich eben erst zum genauen Lesen des Beitrages gekommen. Es scheint wirklich deutlich komplizierter zu sein, als ich gehofft hatte. Ich werde es einfach mal ausprobieren. Vielen Dank!

Liebe Grüße Thomas