Die Aufgabenwarteschlange ist das Mittel der Wahl in Business Central, wenn es darum geht, gewisse Funktionen automatisiert im Hintergrund zu bestimmten Uhrzeiten auszuführen. Dabei kann es sich um alle möglichen Aktionen handeln, die nicht durch eine direkte Benutzeraktion ausgelöst werden. Welche Parameter es gibt und wie sich diese auswirken, erfahren Sie in diesem Beitrag.
Nutzung der Parameter in der Praxis
Typische Beispiele sind die Buchung der Lagerregulierung am Abend, das automatisierte Löschen erledigter Bestellungen oder Aufträge, die automatische Erzeugung von Berichten, das automatische Abrufen und Verarbeiten von Daten von externen Webdiensten oder auch das Übertragen von Daten an externe Dienste.
Weiterentwicklung seitens Microsoft
In den letzten Jahren hat Microsoft viele Optimierungen auf technischer Ebene vorgenommen, wodurch die Zuverlässigkeit unserer Erfahrung nach immer weiter verbessert wurde.
Die Aufgabenwarteschlange in Business Central arbeitet auf Basis der Aufgabenwarteschlangenposten. Jede Funktion, die automatisiert im Hintergrund zu einem bestimmten Zeitpunkt ausgeführt werden soll, wird durch einen Aufgabenwarteschlangenposten repräsentiert.
Es muss sich dabei nicht zwangsläufig immer um eine Funktion handeln, die regelmäßig immer wieder ausgeführt werden soll. Es können auch Aufgabenwarteschlangenposten für eine einmalige Ausführung einer Funktion zu einem bestimmten Zeitpunkt im Hintergrund angelegt werden.
Im Folgenden werden die wichtigsten Parameter zur Einrichtung dieser Posten beschrieben. Ein zusätzlicher Schwerpunkt liegt dabei auf der Steuerung wiederholender Ausführungen. Außerdem sei erwähnt, dass sich dieser Beitrag ausschließlich auf die aktuelle Business Central-Version 27 in der Cloud bezieht. In älteren Versionen kann es kleinere Abweichungen geben. Im Kern hat sich die zugrundeliegende Logik jedoch nicht verändert.
Allgemeine Parameter im Überblick
Jedes Objekt hat dabei eine eindeutige ID, bei der es sich um den zweiten Parameter handelt („ID des auszuführenden Objekts“). In der Regel führt ein Objekt eine bestimmte Aufgabe aus, so wird zum Beispiel der Bericht 1002 „Lagerregulierung buchen“ für das Buchen der Lagerregulierung verwendet.
Die Parameterzeichenfolge wird bei der Ausführung an das Objekt übergeben und kann von Entwicklern genutzt werden, um das Verhalten bei der Ausführung zu steuern. Die möglichen Zeichenfolgen müssen entsprechend vom Entwickler des Objekts vorhergesehen sein. Dieser Parameter wird verhältnismäßig selten genutzt.
Der Aufgabenwarteschlangen-Kategoriencode ermöglicht eine Kategorisierung der verschiedenen Aufgabenwarteschlangenposten. Ein wichtiges Detail ist dabei, dass Aufgabenwarteschlangenposten innerhalb der gleichen Kategorie niemals parallel ausgeführt werden.
Die Benutzer-ID enthält den Benutzer, der den Aufgabenwarteschlangenposten erstellt, bzw. zuletzt auf den Status „Bereit“ gesetzt hat. Wichtig in dem Zusammenhang ist, dass die Ausführung in dessen Benutzerkontext durchgeführt wird. Das heißt, dass die Ausführung nur möglich ist, wenn es die Berechtigungen dieses Benutzers zulassen. Falls bei der Ausführung Datensätze erstellt oder gebucht werden, enthalten diese ebenfalls die jeweilige Benutzer-ID.
.png?width=842&height=358&name=Bild%20(6).png)
.png?width=854&height=321&name=Bild%20(7).png)
Der Parameter für die „Maximale Anzahl der Ausführungsversuchen“ steuert, wie oft eine weitere Ausführung gestartet wird, nachdem ein Fehler aufgetreten ist. Das Limit liegt in der aktuellen BC-Version dabei auf 10 Versuchen. Dabei muss man berücksichtigen, dass BC in der aktuellen Version selbstständig die Verzögerung erhöht, je öfter die Ausführung auf Fehler läuft. Aktuell liegt die Verzögerung für die ersten 5 Versuche im Bereich weniger Sekunden, steigt dann auf mehrere Minuten an bis hin zu einer Verzögerung von mehreren Stunden bei den letzten Versuchen.
Das „Früheste Startdatum mit Uhrzeit“ zeigt den nächstmöglichen frühesten Ausführungszeitpunkt. Es ist allerdings nicht garantiert, dass die Ausführung tatsächlich zu diesem Zeitpunkt gestartet wird, z.B. durch Abhängigkeiten zu anderen Aufgabenwarteschlangenposten. Das früheste Startdatum wird entweder automatisch berechnet, wenn der Posten auf den Status „Bereit“ gesetzt wird oder bei wiederholenden Posten nach einer Ausführung.
Das „Ablaufdatum mit Uhrzeit“ beschreibt den Zeitpunkt, nach dem die Ausführung nicht mehr gestartet wird, falls sie bis dahin noch nicht gestartet hat.
Die „Zeitüberschreitung bei Aufgabe“ beschreibt die Dauer, nach der die Ausführung abgebrochen wird, falls sie bis dahin noch nicht erfolgreich beendet wurde oder auf Fehler gelaufen ist.
Ein Aufgabenwarteschlangenposten wird prinzipiell nur ausgeführt, wenn der Status „Bereit“ ist. Um einen Posten zu bearbeiten, muss der Status zuvor auf „Abwarten“ gesetzt werden. Der Status wird über die Funktionen verändert, das Feld kann nicht direkt bearbeitet werden.
Falls das auszuführende Objekt ein Bericht ist, bei dem über eine Berichtsanfrageseite eigene Parameter und Filter konfiguriert werden können, ist es über die Aufgabenwarteschlange auch möglich, diese Berichtsanfrageseite zu konfigurieren. Auf diese Weise wird die hinterlegte Konfiguration bei der Ausführung berücksichtigt.
Wiederholung
Die Parameter zur Steuerung der regelmäßigen Ausführung finden sich im Register „Wiederholung“. Prinzipiell funktioniert die Logik generell so, dass nach einer Ausführung das nächste (früheste) Ausführungsdatum mit Uhrzeit kalkuliert wird. Dabei werden unterschiedliche Parameter berücksichtigt, die im Folgenden näher beschrieben werden. Einige Parameter konkurrieren miteinander und sind dementsprechend nicht alle frei miteinander kombinierbar.
Dabei kann es möglicherweise durchaus unterschiedliche Konfigurationen geben, die zum gleichen Ziel führen. Prinzipiell muss bei der Konfiguration berücksichtigt werden, dass es durchaus Aufgaben gibt, deren Ausführung eine gewisse Zeitspanne dauert, während andere Aufgaben innerhalb von einer Sekunde durchgeführt werden können.
Natürlich muss klar sein, wie oft eine Funktion ausgeführt werden soll und wie lange eine Ausführung ungefähr dauert. Die Lagerregulierung wird klassischerweise einmal am Tag außerhalb der regulären Arbeitszeit gebucht. Ein Posten zur Kommunikation mit externen Diensten soll wahrscheinlich deutlich häufiger ausgeführt werden.
.png?width=422&height=360&name=Bild%20(9).png)
.png?width=860&height=212&name=Bild%20(10).png)
Zunächst eine einfache Definition der zur Verfügung stehenden Parameter, im Anschluss ein paar Beispiele zur Veranschaulichung.
- Der Parameter „Wiederkehrende Aufgabe“ wird automatisch gesetzt, sobald irgendeine Form der Wiederholung konfiguriert ist. Es ist damit das Kennzeichen, anhand dessen sofort erkannt werden kann, ob ein Aufgabenwarteschlangenposten einmalig oder regelmäßig ausgeführt.
- Die Parameter für die Wochentage steuern, an welchen Tagen der Posten ausgeführt wird.
- Die „Datumsformel für die nächste Ausführung“ stellt eine Alternative zu den Wochentagen dar. Die Datumsformel wird dabei auf den Zeitpunkt angewendet, zu dem die Ausführung beendet ist.
- Die „Start- und Endzeit“ beschreiben die Uhrzeiten vor und nach denen keine Ausführung gestartet wird.
- Die „Anzahl der Minuten zwischen Ausführungen“ beschreibt die Zeit, die zwischen zwei Ausführungen mindestens vergehen muss. Auch hier wird die Anzahl der Minuten auf den Zeitpunkt angewendet, zu dem die Ausführung beendet ist.
Tägliche Ausführung 1
.png?width=416&height=359&name=Bild%20(11).png)
.png?width=842&height=209&name=Bild%20(12).png)
Dieser Posten wird täglich um 21 Uhr ausgeführt. Sonderfall: Sollte die Ausführung länger als drei Stunden dauern, addiert sich die Datumsformel auf die Endzeit nach 12 Uhr nachts. Bei Start an einem Montagabend um 21 Uhr und Beendigung am Dienstagmorgen um 01 Uhr wäre die nächste Ausführung erst am Mittwochabend um 21 Uhr.
.png?width=427&height=357&name=Bild%20(13).png)
.png?width=840&height=199&name=Bild%20(14).png)
Dieser Posten wird täglich um 20 Uhr ausgeführt. Durch die 60 Minuten rutscht die nächste Ausführung nach 21 Uhr und liegt damit nach der Endzeit, sodass der nächste früheste Zeitpunkt für die Ausführung 20 Uhr am Folgetag ist. Samstags und sonntags findet keine Ausführung statt.
.png?width=418&height=356&name=Bild%20(15).png)
.png?width=848&height=202&name=Bild%20(16).png)
Dieser Posten startet immer 24 Stunden nach der letzten Ausführung. Die Startzeit verschiebt sich somit immer um die Ausführungsdauer. In Kombination mit einer Start- und Endzeit kann es passieren, dass es Tage gibt, an denen der Posten nicht ausgeführt wird.
Wird beispielsweise eine Start- und Endzeit zwischen 8 und 9 Uhr definiert, führt eine Fertigstellung am Montag um 09:05 dazu, dass die nächste Ausführung erst am Mittwoch um 08:00 stattfindet.
Mehrfache Ausführungen
.png?width=418&height=356&name=Bild%20(15).png)
.png?width=848&height=207&name=Bild%20(18).png)
Alle Wochentage, 1 Minute zwischen den Ausführungen.
Dieser Posten wird immer eine Minute nach dem Ausführungsende erneut gestartet. Der Startzeitpunkt verschiebt sich immer genau um die Dauer. Startet die Ausführung 08:00 und dauert bis 08:02 startet die nächste Ausführung um 08:03.
Mein Fazit:
Die Aufgabenwarteschlange ist ein mächtiges Tool zur Steuerung automatisierter Aufgaben in Business Central. Während die vielen Parameter zur Steuerung der Wiederholungen zu Beginn sicherlich eine Herausforderung darstellen können, ist die tatsächliche Komplexität eigentlich gar nicht so hoch.
Neben der korrekten Konfiguration ist das Tracking fehlgeschlagener Ausführungen sicherlich genauso wichtig. Die beste Wiederholungskonfiguration ist nutzlos, wenn niemand bemerkt, dass der Aufgabenwarteschlangenposten auf Fehler gelaufen ist und damit nicht mehr regelmäßig ausgeführt wird.
Mittlerweile ist es im Standard möglich, dass der jeweilige Benutzer eine Benachrichtigung erhält, wenn einer seiner Posten auf Fehler gelaufen ist. Unserer Erfahrung nach gehen genau diese Benachrichtigungen jedoch gerne mal unter. Deshalb sind auch hier kleinere Erweiterungen denkbar, wie z.B. Kacheln für fehlgeschlagene Posten im Rollencenter, Benachrichtigungen in Teams-Kanälen oder auch Benachrichtigungen per E-Mail.
Sprechen Sie uns gerne an bei weiteren Fragen zu diesen Themen oder wenn Sie sich Unterstützung bei Ihren individuellen Anforderungen wünschen.
Für weitere hilfreiche Tipps & Tricks in Dynamics NAV / Business Central klicken Sie einfach oben auf den orangefarbenen Tag "Tipps & Tricks", dann finden Sie alle Beiträge im Überblick.
Möchten Sie keinen Beitrag mehr verpassen? Dann abonnieren Sie einfach den Blog und Sie werden automatisch per E-Mail benachrichtigt.




