SAP und Windows mit einer Transaktion beenden

Das folgende Programm ist mehr eine kleine Fingerübung und eine Demonstration, um zu zeigen, was man alles mit SAP anstellen kann. Dennoch ist es für mich ganz hilfreich, denn wenn ich es mal wieder eilig habe und meinen Zug bekommen muss, kommt es auf jede Sekunde an (falls der Zug mal pünktlich ist… 😉 ). Meist muss ich mich noch schnell im SAP abmelden und dann noch Windows runterfahren. Mit folgenden Programm kann man diese Schritte direkt aus dem SAP heraus anstoßen: Zuerst wird auf der Windows-Kommandozeile der Befehl SHUTDOWN aufgerufen – dazu wird der Funktionsbaustein WS_EXECUTE verwendet. Und da noch ein wenig Zeit bleibt, bis der Rechner runterfährt, wird noch der Systembestehl zum Abmelden aus dem aktuellen SAP-System gesendet. Spätestens nach 30 Sekunden ist dann der Rechner ausgeschaltet. Ordnet man diesem Programm noch einen Tcode zu (z.B. zoff), dann kann man den Rechner mit /nzoff bequem runterfahren.

REPORT zoff.

*--------------------------------------------------------------------*
* Usage on your own risk 
*--------------------------------------------------------------------*

*--------------------------------------------------------------------*
* Shutdown Windows
*--------------------------------------------------------------------*
call FUNCTION 'WS_EXECUTE'
  exporting
     commandline = '/c shutdown -s'
     program     = 'cmd.exe'.

*--------------------------------------------------------------------*
* Log off from SAP
*--------------------------------------------------------------------*
call 'SYST_LOGOFF'.

Achtung! Der Systembefehl zum Abmelden vom System hat dieselbe Wirkung wie ein “/nex” im Transaktionscodefeld: Man ist sofort abgemeldet und etwaige nicht gespeicherte Daten gehen verloren. Auch der Befehl “SHUTDOWN -s” ist sehr rigoros – offene Anwendungen werden geschlossen und keine Daten gesichert. Dementsprechend ist also das Programm mit Vorsicht zu genießen.

Be the first to comment

Leave a Reply

Your email address will not be published.


*