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:

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:

AppParameter und AppParameter2

Je nach Funktion werden zusätzliche Angaben benötigt:

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:

$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:

$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:

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:

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:

$PROZESSE-BEENDEN

Beendet die Einträge einer Prozesslistendatei. Nach einer kurzen Wartezeit wird erneut geprüft und ein zweiter Beendigungsversuch durchgeführt.

Empfohlene Einstellungen:

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:

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:

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:

Der Zielordner muss bereits vorhanden sein und das verwendete Konto benötigt Schreibrechte.

$DELETEFILE

Löscht genau die unter AppParameter angegebene Datei.

Empfohlene Einstellungen:

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:

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:

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:

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:

Empfohlene Aufgabeneinstellungen:

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:

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:

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:

  1. Mit $AUSLOGGEN Benutzer zum Beenden der ERP-Suite-Sitzungen auffordern.
  2. Mit $CREATENOLOCKINI den Wartungszustand aktivieren.
  3. Mit $BÜROWARE-BEENDEN, $WEBWARE-BEENDEN oder $PROZESSE-BEENDEN benötigte Komponenten beenden.
  4. Sicherung, Aktualisierung oder andere Wartungsaufgabe durchführen.
  5. Mit $PROZESSE-STARTEN oder $STARTSERVICE benötigte Komponenten wieder starten.
  6. Mit $DELETENOLOCKINI den 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:

  1. Pfade, Dateimasken, Dienstnamen und Prozessnamen kontrollieren.
  2. Berechtigungen des Kontos prüfen, unter dem der BWScheduler ausgeführt wird.
  3. Zeitfenster und Wochentage kontrollieren.
  4. Bei Intervall 0 eine gültige Ausführungszeit innerhalb des Zeitfensters eintragen.
  5. Bei Intervall größer 0 die Ausführungszeit leer lassen.
  6. Eine geeignete modale Gruppe auswählen.
  7. Kritische Funktionen zunächst manuell in einer Testumgebung ausführen.
  8. 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.


Revision #1
Created 2026-09-08 11:35:00 CEST by Martin Dauwa
Updated 2026-09-08 11:35:23 CEST by Martin Dauwa