Funktionsaufrufe im BWScheduler
Überblick
Der BWScheduler stellt integrierte Funktionen bereit, die über einen Namen mit vorangestelltem $ ausgewählt werden. Damit können beispielsweise NoLock-Dateien verwaltet, Dateien überwacht, Windows-Dienste gesteuert oder Datenimporte gestartet werden.
Diese Dokumentation richtet sich an Anwender und Administratoren. Vor dem Einsatz von Funktionen, die Dateien, Prozesse, Dienste oder Benutzersitzungen beenden, sollte die Aufgabe zuerst in einer Testumgebung geprüft werden.
Allgemeine Einrichtung
Für die nachfolgend beschriebenen Funktionen wird bei der Aufgabe grundsätzlich Folgendes eingestellt:
| Einstellung | Empfohlener Wert |
|---|---|
| Aktiv | aktiviert |
| Aufgabenart | Funktionsaufruf |
| App | gewünschte $-Funktion |
| Wochentag | gewünschte Ausführungstage |
| Ausführungsintervall | meistens Täglich |
| Ausführungsbedingung | keine Einschränkung, sofern keine besondere Prüfung benötigt wird |
| Modale Gruppe | passend zum betroffenen System oder Arbeitsablauf |
Einmalige tägliche Ausführung
Für eine einmalige Ausführung zu einer festen Uhrzeit:
- Intervall:
0 - Ausführungszeit: gewünschte Startzeit
- Zeit von: Beginn des erlaubten Zeitraums
- Zeit bis: Ende des erlaubten Zeitraums
Beispiel:
| Einstellung | Wert |
|---|---|
| Zeit von | 05:30 |
| Ausführungszeit | 05:31 |
| Zeit bis | 06:00 |
| Intervall | 0 |
Die Ausführungszeit muss innerhalb des erlaubten Zeitraums liegen. Für einen Zeitraum innerhalb desselben Tages muss Zeit bis später als Zeit von sein.
Wiederkehrende Ausführung
Für eine wiederkehrende Ausführung:
- Intervall: Abstand in Minuten, beispielsweise
15 - Ausführungszeit: leer lassen
- Zeit von / Zeit bis: Zeitraum, in dem die Wiederholungen erlaubt sind
AppParameter und AppParameter2
Je nach Funktion werden zusätzliche Angaben benötigt:
- AppParameter: meistens Dateipfad, Ordnerpfad oder eine Funktionsoption
- AppParameter2: zusätzliche Angabe, beispielsweise Dateialter oder Zielaufgabe
- Dienstname: Name eines Windows-Dienstes oder Prozesses
Nicht benötigte Felder bleiben leer.
Kurzreferenz
| Funktion | Zweck | AppParameter | AppParameter2 | Dienstname |
|---|---|---|---|---|
$CREATENOLOCKINI |
NoLock.INI erstellen | leer | leer | leer |
$DELETENOLOCKINI |
Vom Scheduler erstellte NoLock.INI entfernen | leer | leer | leer |
$DELETEALLNOLOCKINI |
Alle gefundenen NoLock.INI entfernen | leer | leer | leer |
$AUSLOGGEN |
NoLock.INI vorübergehend setzen | leer | leer | leer |
$BÜROWARE-BEENDEN |
ERP-Suite-Prozesse und zugehörige Dienste beenden | optional: Prozesslistendatei | leer | leer |
$WEBWARE-BEENDEN |
Webware-Prozesse und zugehörige Dienste beenden | optional: Prozesslistendatei | leer | leer |
$PROZESSE-BEENDEN |
Mehrere definierte Prozesse oder Dienste beenden | optional: Prozesslistendatei | leer | leer |
$PROZESSE-STARTEN |
Mehrere definierte Prozesse oder Dienste starten | optional: Prozesslistendatei | leer | leer |
$CREATEFILE |
Datei erstellen oder ersetzen | vollständiger Dateipfad | leer | leer |
$DELETEFILE |
Einzelne Datei löschen | vollständiger Dateipfad | leer | leer |
$DELETEFILES |
Mehrere ältere Dateien löschen | Pfad mit Dateimaske | Alter in Tagen | leer |
$DATEIÜBERWACHUNG |
Dateiänderung überwachen und Aufgabe einplanen | vollständiger Dateipfad | RUN(n) |
leer |
$DTAIMPORT |
DTA-Dateien importieren | Importordner | Bediener und optional Mandant | leer |
$NETZWERKLAUFWERK-VERBINDEN |
Hinterlegte Netzlaufwerke verbinden | leer | leer | leer |
$STARTSERVICE |
Windows-Dienst starten | leer | leer | Dienstname |
$STOPSERVICE |
Windows-Dienst stoppen | leer | leer | Dienstname |
$RESTARTSERVICE |
Windows-Dienst neu starten | leer | leer | Dienstname |
$KILLPROCESS |
Einzelnen Prozess sofort beenden | leer | leer | Prozessname |
$RDS-LOGOFF |
Remotedesktop-Sitzungen abmelden | Option, z. B. /all |
leer | leer |
$SOFTWAREAUDIT |
ERP-Suite Software-Audit durchführen | leer | leer | leer |
NoLock- und Wartungsfunktionen
$CREATENOLOCKINI
Erstellt im eingestellten ERP-Suite-Programmpfad eine NoLock.ini. Dadurch werden ERP-Suite und zugehörige Dienste in den vorgesehenen Wartungszustand versetzt. Solange die NoLock-Datei vorhanden ist, werden normale Scheduler-Aufgaben angehalten.
Empfohlene Einstellungen:
| Einstellung | Wert |
|---|---|
| Aufgabenart | Funktionsaufruf |
| App | $CREATENOLOCKINI |
| AppParameter | leer |
| Intervall | 0 |
| Zeit von | 05:30 |
| Ausführungszeit | 05:31 |
| Zeit bis | 06:00 |
| Modale Gruppe | keine (Global) |
Voraussetzungen:
- Der globale ERP-Suite-Pfad muss richtig eingestellt und erreichbar sein.
- Das Benutzerkonto des BWSchedulers benötigt Schreibrechte im ERP-Suite-Ordner.
- Es sollte eine passende Aufgabe zum späteren Entfernen der NoLock-Datei vorhanden sein.
$DELETENOLOCKINI
Entfernt NoLock-Dateien, die vom BWScheduler selbst erstellt wurden. Fremd oder manuell angelegte NoLock-Dateien bleiben zum Schutz erhalten.
Empfohlene Einstellungen:
| Einstellung | Wert |
|---|---|
| Aufgabenart | Funktionsaufruf |
| App | $DELETENOLOCKINI |
| AppParameter | leer |
| Intervall | 0 |
| Zeit von | 05:30 |
| Ausführungszeit | 05:32 oder gewünschter Freigabezeitpunkt |
| Zeit bis | 06:00 oder passend zum Wartungsfenster |
| Modale Gruppe | keine (Global) |
Wird die NoLock-Datei für längere Wartungsarbeiten benötigt, muss die Löschaufgabe entsprechend später eingeplant werden.
$DELETEALLNOLOCKINI
Entfernt alle vom BWScheduler gefundenen NoLock-Dateien – unabhängig davon, wodurch sie angelegt wurden.
Achtung: Diese Funktion kann auch eine bewusst manuell gesetzte Wartungssperre entfernen. Sie sollte nur durch berechtigte Administratoren und nur für eindeutig definierte Wartungsabläufe verwendet werden.
Empfohlene Einstellungen:
- Aufgabenart: Funktionsaufruf
- App:
$DELETEALLNOLOCKINI - AppParameter / AppParameter2: leer
- Modale Gruppe: keine (Global)
- Zeitpunkt: nur innerhalb eines kontrollierten Wartungsfensters
$AUSLOGGEN
Erstellt eine NoLock-Datei, wartet ungefähr 30 Sekunden und entfernt sie anschließend wieder. Die Funktion ist dafür vorgesehen, laufende ERP-Suite-Module zum geordneten Beenden beziehungsweise Abmelden aufzufordern.
Empfohlene Einstellungen:
- App:
$AUSLOGGEN - AppParameter / AppParameter2: leer
- Intervall: 0
- Modale Gruppe: keine (Global)
- Ausreichend Abstand zu nachfolgenden Aufgaben einplanen
Beispiel: Ausführung um 23:00 innerhalb eines erlaubten Zeitraums von 19:30 bis 23:55.
ERP-Suite- und Prozesssteuerung
$BÜROWARE-BEENDEN
Versetzt die ERP-Suite zunächst in den Wartungszustand, wartet ungefähr 30 Sekunden und beendet danach die vorgesehenen ERP-Suite-Prozesse und Dienste. Nach einer weiteren Kontrolle werden noch vorhandene Prozesse erneut beendet. Anschließend wird die vom Scheduler erstellte NoLock-Datei entfernt.
Empfohlene Einstellungen:
- App:
$BÜROWARE-BEENDEN - AppParameter: Pfad zur vorgesehenen ERP-Suite-Prozesslistendatei oder leer für die Standardliste
- Intervall: 0
- Modale Gruppe: keine (Global)
- Zeitfenster: außerhalb der normalen Arbeitszeit
Achtung: Offene ERP-Suite-Sitzungen können beendet werden. Stimmen Sie die Ausführung mit den Anwendern ab und prüfen Sie die verwendete Prozessliste sorgfältig.
$WEBWARE-BEENDEN
Entspricht dem Ablauf von $BÜROWARE-BEENDEN, verwendet jedoch die für Webware vorgesehenen Prozesse und Dienste.
Empfohlene Einstellungen:
- App:
$WEBWARE-BEENDEN - AppParameter: Pfad zur Webware-Prozesslistendatei oder leer für die Standardliste
- Intervall: 0
- Modale Gruppe: keine (Global)
- Zeitfenster: außerhalb der normalen Nutzung
$PROZESSE-BEENDEN
Beendet die Einträge einer Prozesslistendatei. Nach einer kurzen Wartezeit wird erneut geprüft und ein zweiter Beendigungsversuch durchgeführt.
Empfohlene Einstellungen:
- App:
$PROZESSE-BEENDEN - AppParameter: vollständiger Pfad zur Prozesslistendatei; leer verwendet die allgemeine Standardliste
- Intervall: 0
- Modale Gruppe: eigene Farbgruppe für den betroffenen Arbeitsablauf oder Global
Achtung: Prüfen Sie jeden Eintrag der Prozessliste. Eine falsche Liste kann nicht vorgesehene Anwendungen oder Dienste beenden.
$PROZESSE-STARTEN
Startet die in einer Prozesslistendatei hinterlegten Prozesse und Dienste.
Empfohlene Einstellungen:
- App:
$PROZESSE-STARTEN - AppParameter: vollständiger Pfad zur Prozesslistendatei; leer verwendet die allgemeine Standardliste
- Netzwerklaufwerk verbinden: aktivieren, wenn Programme oder Dateien über ein Laufwerk im Netzwerk erreicht werden
- Modale Gruppe: dieselbe Gruppe wie die zugehörige Beendigungs- oder Wartungsaufgabe
Planen Sie den Start erst nach Abschluss aller Wartungs- und Sicherungsarbeiten ein.
$KILLPROCESS
Beendet alle laufenden Prozesse mit dem angegebenen Prozessnamen sofort.
Empfohlene Einstellungen:
| Einstellung | Wert |
|---|---|
| App | $KILLPROCESS |
| Dienstname | Prozessname ohne .exe, beispielsweise bwwin32 |
| AppParameter | leer |
| Intervall | 0 |
| Modale Gruppe | passend zum betroffenen System |
Achtung: Diese Funktion ermöglicht kein geordnetes Speichern oder Beenden. Sie sollte nur verwendet werden, wenn ein normales Beenden nicht möglich oder ausdrücklich unerwünscht ist.
Windows-Dienste steuern
$STARTSERVICE
Startet den unter Dienstname angegebenen Windows-Dienst. Läuft der Dienst bereits, bleibt er unverändert.
$STOPSERVICE
Stoppt den unter Dienstname angegebenen Windows-Dienst. Ist der Dienst bereits beendet, ist keine weitere Aktion erforderlich.
$RESTARTSERVICE
Stoppt den angegebenen Windows-Dienst und startet ihn anschließend erneut. Der BWScheduler wartet auf das Beenden des Dienstes und versucht danach den Start.
Empfohlene Einstellungen für alle drei Dienstfunktionen:
| Einstellung | Wert |
|---|---|
| Aufgabenart | Funktionsaufruf |
| App | $STARTSERVICE, $STOPSERVICE oder $RESTARTSERVICE |
| Dienstname | Anzeigename oder Dienstname des gewünschten Windows-Dienstes |
| AppParameter / AppParameter2 | leer |
| Intervall | normalerweise 0 |
| Modale Gruppe | eine gemeinsame Farbe für zusammengehörige Dienste |
Voraussetzungen:
- Der angegebene Dienst muss auf demselben Windows-System vorhanden sein.
- Das Benutzerkonto des BWSchedulers benötigt die Berechtigung zum Steuern des Dienstes.
- Bei abhängigen Diensten muss eine sinnvolle Reihenfolge und ausreichend Zeitabstand eingeplant werden.
Dateifunktionen
$CREATEFILE
Erstellt eine Datei am angegebenen Ort. Eine bereits vorhandene Datei wird ersetzt. Die Funktion eignet sich insbesondere zum Erzeugen von Steuer- oder Triggerdateien.
Empfohlene Einstellungen:
- App:
$CREATEFILE - AppParameter: vollständiger Dateipfad, beispielsweise
C:\ERP\Export\run.ini - AppParameter2: leer
- Netzwerklaufwerk verbinden: aktivieren, wenn ein hinterlegtes Netzlaufwerk verwendet wird
Der Zielordner muss bereits vorhanden sein und das verwendete Konto benötigt Schreibrechte.
$DELETEFILE
Löscht genau die unter AppParameter angegebene Datei.
Empfohlene Einstellungen:
- App:
$DELETEFILE - AppParameter: vollständiger Dateipfad
- AppParameter2: leer
- Modale Gruppe: dieselbe Gruppe wie eine zugehörige Erstellungs- oder Verarbeitungsaufgabe
Achtung: Kontrollieren Sie den vollständigen Pfad vor der Aktivierung. Die gelöschte Datei wird nicht in den Windows-Papierkorb verschoben.
$DELETEFILES
Löscht mehrere Dateien eines bestimmten Musters, sobald sie das angegebene Alter erreicht haben.
Beispiel:
| Einstellung | Wert |
|---|---|
| App | $DELETEFILES |
| AppParameter | C:\ERP\Log\*.log |
| AppParameter2 | 30 |
In diesem Beispiel werden passende Protokolldateien berücksichtigt, die älter als 30 Tage sind.
Hinweise:
- Verwenden Sie im AppParameter einen vollständigen Ordnerpfad mit Dateimaske.
- Prüfen Sie die Dateimaske besonders sorgfältig.
- Der Ordner muss erreichbar sein.
- Verwenden Sie möglichst ein eigenes, klar begrenztes Archiv- oder Protokollverzeichnis.
Dateiüberwachung
$DATEIÜBERWACHUNG
Überwacht eine bestimmte Datei auf Änderungen. Wird eine Änderung erkannt, plant der BWScheduler eine andere Aufgabe zur Ausführung ein.
Empfohlene Einstellungen der Überwachungsaufgabe:
| Einstellung | Wert |
|---|---|
| Aufgabenart | Funktionsaufruf |
| App | $DATEIÜBERWACHUNG |
| AppParameter | vollständiger Pfad der zu überwachenden Datei |
| AppParameter2 | RUN(n) mit der Nummer der Zielaufgabe |
| Intervall | 0 |
| Zeit von / Zeit bis | Zeitraum, in dem Änderungen verarbeitet werden dürfen |
Beispiel:
AppParameter: C:\ERP\Import\auftrag.dat
AppParameter2: RUN(5)
Damit wird bei einer Änderung der Datei die Aufgabe 5 eingeplant.
Voraussetzungen für die Zielaufgabe:
- Die Zielaufgabe muss aktiviert sein.
- Die Zielaufgabe muss Intervall 0 verwenden.
- Überwachungsaufgabe und Zielaufgabe dürfen nicht dieselbe Aufgabe sein.
- Unter Mindestwartezeit bei Triggerausführung sollte ein ausreichender Abstand eingestellt werden, damit mehrere unmittelbar aufeinanderfolgende Dateiänderungen nicht zu wiederholten Starts führen.
Bei Netzwerkpfaden muss der Pfad aus dem Ausführungskonto des BWSchedulers erreichbar sein.
DTA-Datenimport
$DTAIMPORT
Importiert .dta-Dateien aus einem angegebenen Ordner. Erfolgreich verarbeitete Dateien werden in den Unterordner Importiert verschoben.
Empfohlene Einstellungen:
| Einstellung | Wert |
|---|---|
| App | $DTAIMPORT |
| AppParameter | vollständiger Pfad des DTA-Importordners |
| AppParameter2 | Bedienernummer und optional Mandant, z. B. 000 000001 |
| Intervall | z. B. 15 Minuten |
| Ausführungszeit | bei Intervallausführung leer |
| Modale Gruppe | eigene Gruppe für den jeweiligen Importbereich |
Alternativ können Bedienernummer, Mandantennummer und Importmodul zentral im Bereich Datenimport eingestellt werden.
Zu prüfen sind:
- Importordner ist vorhanden und beschreibbar.
- ERP-Suite-Programmpfad ist korrekt.
- Bedienernummer und Mandantennummer sind gültig.
- Gewünschtes Importmodul ist ausgewählt: WAWI, FIBU oder automatische Erkennung über den Dateinamen.
- Bei automatischer Erkennung sollte der Dateiname eindeutig
WAWIoderFIBUenthalten.
Während einer aktiven NoLock-Sperre beziehungsweise Wartung wird kein DTA-Import durchgeführt.
Netzlaufwerke verbinden
$NETZWERKLAUFWERK-VERBINDEN
Verbindet die im Bereich Netzwerk hinterlegten Netzlaufwerke.
Für bis zu drei Verbindungen können eingestellt werden:
- Server-Pfad, beispielsweise
\\Server\Freigabe - Zugewiesener Laufwerksbuchstabe
- Benutzer
- Kennwort
- Persistente Verbindung
Empfohlene Aufgabeneinstellungen:
- App:
$NETZWERKLAUFWERK-VERBINDEN - AppParameter / AppParameter2: leer
- Zeitpunkt: vor allen Aufgaben, die diese Laufwerke benötigen
- Modale Gruppe: passend zu den abhängigen Aufgaben
Die Einstellung Netzwerklaufwerk verbinden innerhalb einer einzelnen Aufgabe kann zusätzlich verwendet werden, damit die hinterlegten Verbindungen unmittelbar vor dieser Aufgabe hergestellt werden.
Remotedesktop-Sitzungen abmelden
$RDS-LOGOFF
Meldet Remotedesktop-Benutzersitzungen entsprechend der gewählten Option ab.
| AppParameter | Wirkung |
|---|---|
| leer | getrennte Sitzungen abmelden |
/all |
alle vorgesehenen Remotedesktop-Sitzungen abmelden |
/U=benutzername |
den angegebenen Benutzer abmelden |
Beispiel:
/U=m.mustermann
Empfohlene Einstellungen:
- App:
$RDS-LOGOFF - Intervall: 0
- Modale Gruppe: keine (Global)
- Zeitfenster: außerhalb der normalen Arbeitszeit
Achtung: Nicht gespeicherte Benutzerdaten können verloren gehen. Informieren Sie betroffene Benutzer vor einer automatischen Abmeldung.
Bestimmte administrative Benutzer können über die Datei rds-logoff-blacklist.txt von der automatischen Abmeldung ausgenommen werden. Änderungen an dieser Liste sollten nur durch die zuständige Administration erfolgen.
ERP-Suite Software-Audit
$SOFTWAREAUDIT
Erfasst die vorgesehenen ERP-Suite-Systeminformationen und führt den eingerichteten Datenabgleich durch.
Empfohlene Einstellungen:
- Verwenden Sie vorzugsweise die vorbereitete Aufgabe ERP-Suite Software Audit.
- Hinterlegen Sie bei der Einrichtung die korrekte Kundennummer und die vom Anbieter bereitgestellte Freigabe.
- Stellen Sie sicher, dass der ERP-Suite-Pfad korrekt ist.
- Planen Sie die Aufgabe einmal täglich außerhalb der Hauptarbeitszeit ein.
- AppParameter / AppParameter2: leer
Diese Funktion sollte nur verwendet werden, wenn der Software-Audit für das jeweilige Kundensystem eingerichtet und freigegeben wurde.
Empfohlene Reihenfolge für ein Wartungsfenster
Ein möglicher Ablauf ist:
- Mit
$AUSLOGGENBenutzer zum Beenden der ERP-Suite-Sitzungen auffordern. - Mit
$CREATENOLOCKINIden Wartungszustand aktivieren. - Mit
$BÜROWARE-BEENDEN,$WEBWARE-BEENDENoder$PROZESSE-BEENDENbenötigte Komponenten beenden. - Sicherung, Aktualisierung oder andere Wartungsaufgabe durchführen.
- Mit
$PROZESSE-STARTENoder$STARTSERVICEbenötigte Komponenten wieder starten. - Mit
$DELETENOLOCKINIden Wartungszustand aufheben.
Verwenden Sie für den gesamten Ablauf dieselbe modale Farbgruppe oder keine (Global), wenn während der Wartung keine andere modale Aufgabe laufen darf. Planen Sie zwischen den einzelnen Schritten ausreichend Zeit ein.
Sicherheits- und Prüfhinweise
Vor der Aktivierung einer neuen Funktionsaufgabe:
- Pfade, Dateimasken, Dienstnamen und Prozessnamen kontrollieren.
- Berechtigungen des Kontos prüfen, unter dem der BWScheduler ausgeführt wird.
- Zeitfenster und Wochentage kontrollieren.
- Bei Intervall 0 eine gültige Ausführungszeit innerhalb des Zeitfensters eintragen.
- Bei Intervall größer 0 die Ausführungszeit leer lassen.
- Eine geeignete modale Gruppe auswählen.
- Kritische Funktionen zunächst manuell in einer Testumgebung ausführen.
- Nach der Ausführung die Aufgabenanzeige und das Protokoll kontrollieren.
Besondere Vorsicht ist bei $DELETEALLNOLOCKINI, $DELETEFILE, $DELETEFILES, $KILLPROCESS, $PROZESSE-BEENDEN, $BÜROWARE-BEENDEN, $WEBWARE-BEENDEN und $RDS-LOGOFF erforderlich.