Skip to main content

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 WAWI oder FIBU enthalten.

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:

  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.