Willkommen Gast! Um alle Funktionen zu aktivieren müssen Sie sich Anmelden oder Registrieren.

Mitteilung

Icon
Error

Optionen
Gehe zum aktuellsten Beitrag Gehe zum letzten Ungelesenen
Offline SAP_Marco  
#1 Geschrieben : Dienstag, 14. Mai 2019 11:33:57(UTC)
SAP_Marco

Beiträge: 7
Germany
Wohnort: Bremen
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

Nehmen Sie an dieser Diskussion teil! SAP FORUM - SAP Community LoginHier registrieren.

Offline ScriptMan  
#2 Geschrieben : Donnerstag, 16. Mai 2019 07:44:43(UTC)
ScriptMan

Beiträge: 267
Hallo,

hast du das hier auch schon gesehen?

Grüße ScriptMan
Offline SAP_Marco  
#3 Geschrieben : Freitag, 17. Mai 2019 05:13:12(UTC)
SAP_Marco

Beiträge: 7
Germany
Wohnort: Bremen
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
Offline ScriptMan  
#4 Geschrieben : Freitag, 17. Mai 2019 06:55:08(UTC)
ScriptMan

Beiträge: 267
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.:

Code:

'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
Offline SAP_Marco  
#5 Geschrieben : Freitag, 17. Mai 2019 07:32:08(UTC)
SAP_Marco

Beiträge: 7
Germany
Wohnort: Bremen
Oh, dann hatte ich wohl ganze Zeit ein Fehler. Das funktioniert super. Ich danke dir Scriptman :)BigGrin
Offline Mr_Venom  
#6 Geschrieben : Dienstag, 4. Juni 2019 17:38:51(UTC)
Mr_Venom

Beiträge: 6
Germany
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
Benutzer, die gerade dieses Thema lesen
Das Forum wechseln  
Du kannst keine neue Themen in diesem Forum eröffnen.
Du kannst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge nicht löschen.
Du darfst deine Beiträge nicht editieren.
Du kannst keine Umfragen in diesem Forum erstellen.
Du kannst nicht an Umfragen teilnehmen.

- Impressum / Datenschutz -