Trigger
Der Bereich Trigger enthält die für dieses Ablaufobjekt definierten Trigger. Ein Trigger dient der dynamischen Ausführung von Ablaufobjekten, falls für ein aus diesen Ablaufobjekten erzeugtes Laufzeitobjekt oder eines seiner Kinder ein konfigurierbares Ereignis auftritt. Damit können etwa Benachrichtigungen verschickt werden, wenn ein Job beendet wurde. Ebenso können zum Beispiel Nachfolgeverarbeitungen oder eine Fehlerbehandlung bei Problemen automatisch gestartet werden. Eine weitere Anwendung von Triggern ist die Implementierung von Verarbeitungsschleifen.

Der Bereich Trigger enthält folgende Spalten:
Wählen
Die Checkbox in der Spalte Wählen dient der Auswahl von Zeilen, um diese zu kopieren, auszuschneiden oder zu löschen. Mehr Informationen finden Sie im Kapitel Tabellen .
Name
Wenn Sie mit Anfügen einen neuen Job in die Liste einfügen, ist der Name des Triggers NEW_TRIGGER. Es empfiehlt sich, den Trigger umzubenennen.
Trigger Status
Dieses Feld zeigt in einer kommaseparierten Liste an, welche Exit Status des Laufzeitobjektes diesen Trigger auslösen sollen. Ein Klick auf das Symbol Bearbeiten (Stift) öffnet eine Dialogbox zur Bearbeitung dieser Liste.
Ablaufobjekt
Dieses Feld zeigt das Ablaufobjekt, welches das über den Trigger zur Ausführung gebracht werden soll. Über das voranstehende Symbol Wählen kann ein Ablaufobjekt ausgewählt, bzw. ausgetauscht werden.
Bedingung
Optional kann für Trigger auch eine Bedingung definiert werden, welche erfüllt sein muss, um den Trigger auszulösen. Die Bedingung wird verkürzt angezeigt. Über das Symbol Bearbeiten kann die vollständige Bedingung angelegt, bzw. angezeigt und bearbeitet werden.
Trigger Parameter
Trigger Parameter erlauben die Parametrisierung des durch diesen Trigger zur Ausführung gebrachten Ablaufobjektes. Das Symbol Bearbeiten öffnet ein Popup, in welchem diese bearbeitet werden können. Mit Anfügen können Sie neue Parameter definieren, indem Sie ihm im Feld Name einen Namen zuweisen und im Feld Wert den Wert des Parameters definieren.
Trigger Typ
Hier handelt es sich um die Art des Ereignisses, welches den Trigger auslösen soll. Es gibt folgende Ereignisse:
IMMEDIATE MERGE
Das Laufzeitobjekt hat einen Status angenommen, welcher in der Liste Trigger Status aufgeführt ist. Ist dort kein Status eingetragen, wird der Trigger bei jedem Statuswechsel gefeuert.
Beispiel
Falls das Laufzeitobjekt oder eines seiner Kinder einen Fehler hat, soll eine SMS gesendet werden.

xxx
IMMEDIATE LOCAL
Der Job selbst hat einen Status in der Trigger Status-Liste angenommen. Ist kein Wert eingetragen, wird der Trigger bei Beenden des Jobs gefeuert. Der Status der Kinder wird nicht berücksichtigt.
Beispiel
Falls der Job einen Fehler hat, soll eine SMS an den Projektverantwortlichen
gesendet werden. Für den Fall, dass eines der Kinder einen Fehler hat, wird
im Kind ein zweiter Trigger implementiert, der eine SMS an einen der verantwortlichen Programmierer schickt.

BEFORE FINAL
Die Trigger-Bedingung wird, kurz bevor das Ausführungsobjekt einen Final State erreichen würde, evaluiert. Die Trigger On-Liste muss hierbei nur aus Final State (oder keinen, dann wird auf jeden Final State getriggert) bestehen, da der Trigger sonst nicht feuert. Wird das zu triggernde Scheduling Entity nicht als Master submitted, kann das Scheduling Entity erst wieder Final werden, nachdem das durch den Trigger gestartete Scheduling Entity ebenfalls Final geworden ist.
Beispiel
Job C wird erneut aufgerufen, falls der Job fehlschlägt. Da dies ein Before Final Trigger ist, kann damit Job 1 nicht Final werden, solange
Job C ohne FAILURE beendet wurde.

FINISH CHILD
Der Trigger wird ausgeführt, wenn ein direktes oder indirektes Kind des triggernden Jobs einen Status in der Trigger On-Liste erreicht. Hiermit ist es möglich, eine Überwachung an zentraler Stelle zu implementieren.
Beispiel
Es wird eine SMS mit einer Fehlermeldung gesendet, falls einer der Kind-Jobs einen Failure State annimmt. Falls der eigene Job (Job 1)
erfolgreich ist, wird die Erfolgsmeldung per SMS geschickt.

AFTER FINAL
Der Trigger wird kurz nachdem der Job einen Final State erreicht hat ausgeführt. Die Trigger On-Liste sollte hierbei nur aus Final States bestehen (oder keinem, dann wird auf jeden Final State getriggert), da der Trigger sonst nicht feuert.
Beispiel

UNTIL FINISHED
Dieser Trigger überprüft periodisch die Condition. Wenn die Condition ”true” ist, wird solange getriggert, bis der State ”Finished” erreicht wird. Anschließend wird die Condition zum letzten Mal ausgewertet, und wenn sie ”true” ist, wird getriggert.
UNTIL FINAL
Der Trigger überprüft periodisch die Condition. Wenn die Condition ”true” ist, wird solange getriggert, bis der Status FINAL erreicht wird. Anschließend wird die Condition zum letzten Mal ausgewertet, und wenn sie ”true” ist, wird getriggert.
WARNING
Diese Trigger werden gefeuert, wenn das Warning Flag für ein Job gesetzt wird.
Prüfintervall
Diese Spalte wird nur aktiv, wenn im Trigger Typ die Option UNTIL FINISHED ausgewählt wurde. Bitte geben Sie hier den gewünschten Wert als Zahl ein, dem Sie in der Spalte Intervall Einheit die gewünschte Zeiteinheit zuweisen.
Intervall Einheit
Das Feld bietet die Optionen MINUTE, HOUR, DAY, WEEK, MONTH und YEAR und ist mit dem Wert im Feld Prüfintervall verbunden. Möchten Sie also alle zwei Minuten prüfen wollen, ob das Objekt finished ist, geben Sie im Prüfintervall 2 ein und wählen in der Intervall Einheit die Option MINUTE aus. .
Ausführung als Master
Wurde das Flag ”Ausführung als Master” gesetzt, so wird der Job, der durch den Trigger gestartet wird, als eigener Master Job submitted und hat keinen Einfluss auf den aktuellen Master Job-Lauf des triggernden Jobs. Wird das Flag nicht gesetzt, wird der getriggerte Job als Kind des zu triggernden Jobs gestartet. Das bedeutet auch, dass der Job auf den getriggert wird, nicht beendet ist (einen Final State bekommen kann), solange der getriggerte Job noch läuft. Als einzige Ausnahme gilt der Trigger Type After Final, bei dem der Trigger erst ausgelöst wird, nachdem der getriggerte Job Final geworden ist. Ist dies der Fall, wird der getriggerte Job als Kind des übergeordneten Ausführungsobjektes (Parent) des triggernden Jobs gestartet. Wenn es sich bei dem getriggerten Job um das gleiche Scheduling Entity handelt wie der des triggernden Jobs, nimmt der getriggerte Job den Platz des triggernden Jobs ein.
Gruppe
In diesem Feld wählen Sie aus, welcher Gruppe der Trigger zugewiesen sein soll.
Max. Ausführungen
Hier geben Sie die maximale Anzahl an Auslösungen des Triggers innerhalb eines Ablaufes an. Ist die Maximalanzahl der Trigger-Auslösungen erreicht, so wird kein weiterer Trigger mehr ausgelöst und kein neuer Job mehr gestartet.
In der Server-Konfigurations-Datei $BICSUITECONFIG/server.conf gibt es zwei Einstellungen, die hierbei eine Rolle spielen: Das TriggerSoftLimit gibt die maximale Anzahl von Trigger-Ausführungen, wenn Max. Ausführungen nicht gesetzt sind. Das TriggerHardLimit definiert eine obere Grenze für Max. Ausführungen, die auch durch einen höheren Wert an dieser Stelle nicht überschritten werden kann. Der Grund für dieses harte Limit ist die Verhinderung von Trigger-Loops, welche zu einem Total-Ausfall des Systems führen könnten.
Warnung bei Erreichen des Limits
Mit dieser Checkbox können Sie festlegen, dass ein Job eine Warnung bekommt (Warn-Flag gesetzt, Eintrag in Audit) wenn das Limit erreicht wird. Dies gilt nur für Job Trigger. Per Default wird keine Warnung ausgegeben.
Anhalten
Mit dieser Checkbox legen Sie durch Aktivierung fest, dass das getriggerte Objekt als ”Suspended” gestartet werden soll.
Fortsetzen
Wird nur angezeigt, falls Anhalten aktiv gesetzt wurde. Hier können Sie auswählen, ob ein automatischer Resume stattfinden soll. Es gibt folgende Möglichkeiten:
-
NO
Wählt diese Funktionalität ab -
AT
Wählt einen automatischen Resume zu einem festen Zeitpunkt. Das Eingabefeld Fortsetzen um wird aktiv. -
IN
Wählt einen automatischen Resume nach Ablauf einer Zeit. Die Eingabefelder Fortsetzen in und Einheit werden aktiv.
Fortsetzen um
Wird nur aktiv, wenn im Feld Fortsetzen die Option ”AT” ausgewählt wurde. Hier wird der gewünschte Resume Zeitpunkt im Format ”YYYY-MM-DDTHH:MI:SS” eingegeben. Das Format orientiert sich an der ISO Norm 8601 und erlaubt auch unvollständige Angaben. Die Eingabe von ’T16:00’ wird den Job um 16:00 Uhr resumen (ausgehend von der Zeit der Triggerauslösung).
Fortfahren in
Wird nur aktiv, wenn im Feld Fortsetzen die Option ”IN” gewählt wurde. Hier wird angegeben, wie viele Zeiteinheiten bis zum Resume gewartet werden soll.
Einheit
Wird nur angezeigt, falls im Resume ”IN” gewählt wurde. Hier wird angegeben, ob es sich bei der Eingabe im Feld Fortsetzen um um Minuten (MINUTE), Stunden (HOUR), oder Tage (DAY) handeln soll.