SAP Jobsuche bei DV-Treff
SAP_Marco
  • SAP_Marco
  • SAP Forum - Neuling Thema Starter
vor 5 Jahre
Hallo Zusammen,

es gab bereits einige Foren über dieses Thema. Leider konnte ich jedoch keines der Skripte erfolgreich einsetzen. Das letzte Skript was ich im Internet fand:

If Not IsObject(SAPguiApp) Then

Set SAPguiApp = CreateObject("Sapgui.ScriptingCtrl.1")

End If

If Not IsObject(Connection) Then

Set Connection = SAPguiApp.OpenConnection("SystemName", True)

End If

If Not IsObject(Session) Then

Set Session = Connection.Children(0)

End If

Session.findById("wnd[0]/usr/txtRSYST-MANDT").Text = "123"

Session.findById("wnd[0]/usr/txtRSYST-BNAME").Text = "USER"

Session.findById("wnd[0]/usr/pwdRSYST-BCODE").Text = "PW"

Session.findById("wnd[0]/usr/txtRSYST-LANGU").Text = "DE"

Session.findById("wnd[0]/usr/txtRSYST-LANGU").SetFocus

Session.findById("wnd[0]/usr/txtRSYST-LANGU").caretPosition = 2

Session.findById("wnd[0]").sendVKey 0

Wir sind gerade bei einer RPA-Automatisierung dabei und würden gerne ein Script verwenden, dass sich automatisch an SAP anmeldet. Wir verwenden bereits mehrere aufgezeichnete Skripte die alle ohne Probleme laufen. Auch haben wir bereits eine automatische Anmeldung über eine Verknüpfung eingestellt. Nur ist diese Lösung nicht so optimal und ich würde gerne auf ein Skript umsteigen. Habt IHr Vielleicht eine Idee?

Die Fehlermeldung lautet bei den o.a. Skript ungültige Syntex.

Vielen Dank für eure Hilfe

Förderer

ScriptMan
vor 5 Jahre
Hallo,

hast du das hier  auch schon gesehen?

Grüße ScriptMan

SAP_Marco
  • SAP_Marco
  • SAP Forum - Neuling Thema Starter
vor 5 Jahre
Hallo Skriptman,

ja daher habe ich dein Skript kopiert. Ich muss gestehen, dass ich bereits öfter deine Skripte verwendet habe und diese immer tadellos funktioniert haben (Vielen Dank dafür). Nur leider bekomme ich kein Anmeldeskript von dir gestartet. Es erscheint immer die Fehlermeldung "Die ActiveX-Komponenten Kann kein Objekt für Sapgui.ScriptingCtrl.1 erstellen. Ich verstehe den Befehl in der ersten Zeile auch irgendwie nicht genau denn das Objekt scheint es nicht zu geben.

Vielen Dank für deine Hilfe

ScriptMan
vor 5 Jahre
Hallo SAP_Marco,

leider weiß ich nicht, an welcher Stelle man in meinem Link das Objekt

Sapgui.ScriptingCtrl.1 findet. Zur besseren Verständigung habe ich die

von mir gemeinte Passage aus dem Link herausgeholt. Es ist zwar ein

VBA Programm, das man aber ohne Probleme wieder in ein VB-Skript zurück

verwandeln kann.

z.B.:


'Sub SapGui()
'Dim oSapGui As Object
'Dim oApp As SAPFEWSELib.GuiApplication
'Dim oConn As SAPFEWSELib.GuiConnection
'Dim oSession As SAPFEWSELib.GuiSession

Set wshell = CreateObject("Wscript.Shell")

On Error Resume Next

Set oSapGui = GetObject("SAPGUI")
Set oApp = oSapGui.GetScriptingEngine

myError = Err.Number
On Error GoTo 0

If myError <> 0 Then

'Hier folgt ein Aufruf von LogonPad, das u.U. angepasst werden müsste.

wshell.Run Chr(34) & "C:\Program Files (x86)\SAP\FrontEnd\SAPgui\saplogon.exe" & Chr(34), 6, False

'Application.Wait (Now + TimeValue("00:00:04"))
wscript.sleep 4000

myError = 0
On Error Resume Next
Set oSapGui = GetObject("SAPGUI")
Set oApp = oSapGui.GetScriptingEngine

myError = Err.Number
On Error GoTo 0

If myError <> 0 Then
MsgBox "SAP Logon ist nicht installiert.", vbInformation
End If

End If

On Error Resume Next

Set oConn = oApp.Children(0)
myError = Err.Number


' 1. Session der Connection
Set oSession = oConn.Children(0)
myError = Err.Number


On Error GoTo 0

If myError <> 0 Then
Set oConn = oApp.OpenConnection("SystemName", False)
Set oSession = oConn.Children(0)
'oSession.findById("wnd[0]").iconify

oSession.findById("wnd[0]/usr/txtRSYST-MANDT").Text = "123"
oSession.findById("wnd[0]/usr/txtRSYST-BNAME").Text = "User"
oSession.findById("wnd[0]/usr/pwdRSYST-BCODE").Text = "PW"
oSession.findById("wnd[0]").SendVKey 0

'oSession.StartTransaction ("SM35")
Else
MsgBox "Sie sind bereits in SAP angemeldet.", vbInformation, "SAP - Anmeldung"

End If

Set oSession = Nothing
Set oConn = Nothing
Set oApp = Nothing
Set oSapGui = Nothing
'End Sub

Grüße, ScriptMan

SAP_Marco
  • SAP_Marco
  • SAP Forum - Neuling Thema Starter
vor 5 Jahre
Oh, dann hatte ich wohl ganze Zeit ein Fehler. Das funktioniert super. Ich danke dir Scriptman :)😁
Mr_Venom
vor 5 Jahre
Hallo zusammen,

Ich habe da mal eine Frage. Ich habe zwei Module. In Modul eins wird das Script abgearbeitet und ein Modul sind alle Prozeduren für SAP drin. Wenn jetzt aber das sub für login mach sind die Objekte danach nicht mehr deklariert