SAP GUI Scripting ist ein mächtiges Werkzeug, um wiederkehrende Aufgaben in SAP zu automatisieren – vom Datenexport bis zur Berichtsaufbereitung.
Doch der wahre Effizienzgewinn entsteht erst, wenn das Script automatisch und zeitgesteuert läuft – z. B. jeden Morgen um 6 Uhr.
Genau dafür eignet sich der Windows Task Scheduler.
In diesem Beitrag zeige ich dir Schritt für Schritt, wie du dein SAP-Script mit dem Task Scheduler kombinierst und Reports vollautomatisch – auch über Nacht – exportierst.
1. Voraussetzungen: Was du brauchst
Bevor du loslegst, stelle sicher, dass folgende Punkte erfüllt sind:
- SAP GUI ist auf dem Rechner installiert.
- GUI Scripting ist auf Server- und Client-Seite aktiviert
(sapgui/user_scripting = TRUEin Transaktion RZ11). - Ein funktionsfähiges VBS-Script liegt lokal vor (z. B.
C:\SAP_Scripts\Export.vbs). - Der Windows-Benutzer hat Berechtigung, das Script auszuführen.
💡 Tipp: Teste dein Script immer zuerst manuell durch Doppelklick, bevor du es in den Task Scheduler einbindest.
2. Task Scheduler öffnen und neuen Task anlegen
- Öffne das Windows-Startmenü und suche nach „Aufgabenplanung“ oder „Task Scheduler“.
- Wähle „Aufgabe erstellen“ aus.
- Unter dem Tab Allgemein gibst du deiner Aufgabe einen Namen, z. B.
SAP Export Nachtschicht. - Aktiviere „Mit höchsten Privilegien ausführen“.
Das ist wichtig, da SAP GUI erhöhte Rechte für GUI-Scripting benötigt.
3. Trigger: Wann soll das Script laufen?
Unter „Trigger“ → „Neu“ legst du fest, wann das Script gestartet werden soll.
Beispiele:
- Täglich um 06:00 Uhr
- Wöchentlich montags um 04:00 Uhr
- Einmalig für Testzwecke
Wenn du nachts Exporte durchführen willst, wähle eine Uhrzeit, zu der dein Rechner eingeschaltet und SAP zugänglich ist.
4. Aktion: Das Script starten
Unter „Aktionen“ → „Neu“ stellst du ein, was ausgeführt wird:
- Aktion: Programm starten
- Programm/Skript:
wscript.exe - Argumente hinzufügen (optional):
"C:\SAP_Scripts\Export.vbs"
Damit führst du dein gespeichertes SAP-Script automatisch aus.
💡 Tipp: Wenn du mehrere SAP-Exporte kombinieren willst, kannst du in deinem VBS-Script nacheinander verschiedene Transaktionen öffnen und exportieren.
5. Benutzeranmeldung und Ausführungskontext
Ein wichtiger Punkt: SAP GUI Scripting funktioniert nicht im echten Hintergrundmodus.
Das bedeutet – dein Benutzer muss angemeldet sein, und der Desktop aktiv.
Für Serverumgebungen bietet sich alternativ ein SAP-Job über SM36 an.
Wenn du den Rechner aber dauerhaft an hast (z. B. Büro-PC oder VM), kannst du das Script bedenkenlos automatisiert ausführen lassen.
6. Beispiel: Automatischer Monatsreport-Export
Ein klassischer Anwendungsfall ist der monatliche Berichtsexport.
Dein Script könnte z. B. so aussehen:
Set SapGuiAuto = GetObject("SAPGUI")
Set App = SapGuiAuto.GetScriptingEngine
Set Connection = App.Children(0)
Set Session = Connection.Children(0)
Session.FindById("wnd[0]/tbar[0]/okcd").Text = "ZSALES_REPORT"
Session.FindById("wnd[0]").SendVKey 0
Session.FindById("wnd[0]/usr/ctxtP_DATE").Text = DateAdd("m", -1, Date)
Session.FindById("wnd[0]/tbar[1]/btn[8]").Press
Session.FindById("wnd[1]/usr/ctxtDY_PATH").Text = "C:\Exports"
Session.FindById("wnd[1]/usr/ctxtDY_FILENAME").Text = "Sales_" & Year(Date) & "_" & Month(Date) & ".xlsx"
Session.FindById("wnd[1]/tbar[0]/btn[11]").Press
Dieses Script öffnet eine Transaktion, wählt automatisch den Vormonat aus und speichert die Datei lokal ab – perfekt für wiederkehrende Reports.
7. Kontrolle und Logging
Damit du nachvollziehen kannst, ob der Export erfolgreich war, kannst du im Task Scheduler unter „Verlauf“ prüfen, wann die Aufgabe zuletzt ausgeführt wurde.
Ergänze optional im Script eine Log-Zeile, z. B.:
Set fso = CreateObject("Scripting.FileSystemObject")
Set log = fso.OpenTextFile("C:\SAP_Scripts\Log.txt", 8, True)
log.WriteLine "Export abgeschlossen: " & Now
log.Close
Fazit
Mit dem Windows Task Scheduler wird dein SAP GUI Script zum echten Automatisierungs-Tool:
Du kannst tägliche oder monatliche Exporte planen, Reports vor Arbeitsbeginn generieren lassen und so wertvolle Zeit sparen.
Gerade in Data-Warehouse- oder Controlling-Umgebungen ist das ein enormer Effizienzgewinn – und ein erster Schritt in Richtung vollautomatisiertes Reporting.
📺 Weitere Tutorials zu SAP GUI Scripting und Automatisierung findest du auf meinem YouTube-Kanal:
👉 https://www.youtube.com/@datenanalyst
