Zeit-Trigger

Einführung in Zeit-Trigger

Zeit-Trigger sind Interrupts, die signalisieren, dass nach dem Eintreten des Vorgangs in einen Bereich oder eine Aktivität eine bestimmte Zeitspanne verstrichen ist. Sie können an Bereichen und Aktivitäten hängen. Ein Zeit-Trigger, der an einem Bereich hängt, wird initialisiert, wenn ein Vorgang in den Bereich eintritt. Bereiche können mehrere Zeit-Trigger haben. Ein Zeit-Trigger, der an einer Aktivität hängt, wird initialisiert, wenn diese Aktivität durchgeführt wurde. Eine Aktivität kann nur einen Zeit-Trigger haben. Die Aktionen, die durchgeführt werden sollen, wenn die eingestellte Zeit abgelaufen ist, müssen im Skript einer mit dem Trigger verbundenen automatischen Aktivität implementiert werden.

Beispiele für die Verwendung von Zeit-Triggern:

Prozesslogik mit Zeit-Triggern

Für Zeit-Trigger gilt die folgende allgemeine Logik:

Die Zeitmessung eines Triggers beginnt (d. h. der Trigger wird initialisiert), wenn der Vorgang in den Bereich bzw. in die Aktivität eintritt. Sie endet (d. h. der Trigger feuert), wenn die definierte Zeitspanne, die als fester Wert gesetzt wurde (Minuten/Stunden/Tage), oder die manuell definierte Zeit abgelaufen ist.

  1. Der Trigger wird initialisiert, d. h. die Zeitmessung beginnt, wenn der Vorgang in den Bereich oder in die Aktivität eintritt.

  2. Der Trigger feuert, wenn die definierte Zeitspanne abgelaufen ist.

    • Bei manuellen Triggern an Aktivitäten ist dies die Zeit, die der Benutzer setzt, wenn er die Aktivität ausführt.

    • Bei automatischen Triggern an Aktivitäten oder Bereichen ist dies die in Minuten, Stunden und Tagen definierte Zeit.

    • Sie können eine andere Zeit einstellen, wenn der Timer initialisiert wird oder läuft, siehe Ändern von Timern in Skripten.

    Wenn bei der Zeitmessung ein Arbeitszeitkalender berücksichtigt werden soll, müssen Sie die Option Kalender verwenden setzen und der Queue einen Arbeitszeitkalender zuweisen, siehe Verwenden eines Arbeitszeitkalenders.

  3. Wenn der Trigger feuert, wird das Trigger-Skript ausgeführt. Gibt es true zurück, wird die folgende automatische Aktivität oder der Entscheidungsknoten mit zwei folgenden automatischen Aktivitäten ausgeführt.

Verfügbare Einstellungen für Zeit-Trigger

Aufgaben

Verwenden eines Arbeitszeitkalenders

Standardmäßig basiert die Zeitberechnung, wann ein Trigger feuert, auf absoluten Zeiten. Sie können einen Arbeitszeitkalender verwenden, um die Berechnung an Ihre Arbeitszeiten anzupassen. Damit verhindern Sie, dass Zeit-Trigger während des Wochenendes oder außerhalb Ihrer Geschäftszeiten feuern.

Führen Sie die folgenden Schritte aus, wenn Sie einen Arbeitszeitkalender verwenden möchten:

  1. Definieren Sie einen Arbeitszeitkalender, siehe Kalender.

  2. Weisen Sie den Arbeitszeitkalender den Queues zu, die den Workflow verwenden, siehe Queues.

  3. Markieren Sie die Checkbox Kalender verwenden für alle Zeit-Trigger, für die der Arbeitszeitkalender gelten soll, siehe Verfügbare Einstellungen für Zeit-Trigger.

Beispiel: Ein Zeit-Trigger soll nach einem Tag feuern.

Ohne Arbeitszeitkalender:

Der Trigger feuert 24 Stunden später, d. h. zur selben Zeit am nächsten Tag.

Mit Arbeitszeitkalender:

Es gibt einen Arbeitszeitkalender, im dem die Arbeitsstunden von Montag bis Freitag von 9 bis 17 Uhr definiert sind. Der Trigger feuert 24 Geschäftsstunden später.

Die folgende Abbildung zeigt ein Beispiel für einen Arbeitszeitkalender, der für die Berechnung von SLA-Zeiten verwendet wird.

Abbildung 16: ConSol CM - Arbeitszeitkalender

Sie können die Methoden der Klasse BusinessCalendarUtil verwenden, um Zeitspannen zu berechnen, die auf einem Arbeitszeitkalender basieren.

Ändern von Timern in Skripten

Sie können Timer auf unterschiedliche Weise ändern, abhängig von der aktuellen Position im Prozess.

Timer wird initialisiert

Der Timer wird initialisiert, wenn der Vorgang in den entsprechenden Bereich oder die entsprechende Aktivität eintritt. An dieser Stelle kann der Timer über das Initialisierungsskript geändert werden. Sie können das Skript, zum Beispiel, dazu verwenden, um die Reaktionszeit anhand der Priorität des Vorgangs zu berechnen oder um den Timer zu deaktivieren, wenn er für den Vorgang nicht relevant ist.

Der Trigger ist implizit als trigger (Klasse TimerTrigger) im Skript verfügbar. Sie können zwei Aktionen im Skript ausführen:

Timer läuft

Der Timer läuft, solange sich der Vorgang im Bereich oder in der Aktivität befindet, an dem bzw. an der der Trigger hängt. Sie können den Timer über Methoden aus workflowApi ändern.

Die Operationen müssen in einer Aktivität außerhalb des Trigger-Flows durchgeführt werden. Der Trigger wird durch seinen Pfad referenziert.

Zeit ist abgelaufen

Der Trigger feuert, wenn die konfigurierte Zeit abgelaufen ist. Dann wird das Trigger-Skript ausgeführt. Wenn es true zurückgibt, wird die automatische Aktivität oder der Entscheidungsknoten nach dem Trigger ausgeführt. Wenn es false zurückgibt, werden sie nicht ausgeführt, d. h. der Trigger hat keinen Einfluss auf den Vorgang.