Beispiel: Einen Job aufgrund einer SLM-Übertretung überspringen

In diesem Beispiel muss jeden Tag ein aus drei Jobs bestehender Workflow so früh wie möglich abgeschlossen werden. Der dritte Job in diesem Workflow muss nicht unbedingt an jedem Tag ausgeführt werden. Falls die Ausführung des ersten Jobs in diesem Workflow länger dauert oder die ihm zugewiesene maximale Laufzeit (MRT) überschreitet, soll der dritte Job übersprungen werden; dies soll nur bei dieser bestimmten Ausführung (RunID) des Workflows passieren. Das stellt sicher, dass der Workflow pünktlich abgeschlossen wird.

Diese Seite beinhaltet Folgendes:

Was werde ich lernen?

Was wird in diesem Anwendungsfall beschrieben?

Ein Workflow mit dem Namen JOBP_ACC_203040 enthält drei Jobs: JOBS_ACC_9020, JOBS_ACC_9030 und JOBS_ACC_9040. Die ersten beiden Jobs müssen zwingend jeden Tag ausgeführt werden, aber der dritte ist nicht essenziell. Es ist allerdings von Bedeutung, dass der Workflow so schnell wie möglich abgeschlossen wird. Die gewöhnliche Laufzeit des ersten Jobs ist bekannt und es wurde eine spezifische maximale Laufzeit (MRT) dafür festgelegt. Sie wissen, dass die Laufzeit manchmal länger ist, was zur Folge hätte, dass der Workflow nicht rechtzeitig abgeschlossen wird. Um in so einem Fall sicherzustellen, dass der Workflow rechtzeitig abgeschlossen wird, möchten Sie, dass der optionale Job übersprungen wird, wenn die MRT des ersten Jobs überschritten wird.

Ein SLO-Objekt überwacht die MRT des ersten Jobs. Sie müssen dem SLO-Objekt mitteilen, welche Aktion im Falle einer Übertretung ausgelöst werden soll; dabei wird es sich um die Ausführung eines Script-Objekts handeln, das bestimmte Werte in ein VARA-Objekt schreibt, welches dem dritten (optionalen) Job zugewiesen ist. Das VARA-Objekt erlaubt das Erstellen einer Vorbedingung, die auch dem dritten Job zugewiesen wird, um zu evaluieren, ob dieser übersprungen werden soll (aufgrund der Übertretung) oder nicht (aufgrund der Erfüllung).

Voraussetzungen

Die folgenden Objekte und Abhängigkeiten zwischen Objekten müssen definiert werden:

In diesem Beispiel verwendet

Grafik, die die in diesem Beispiel verwendeten Objekte veranschaulicht

Erstellen Sie einen Workflow mit drei Jobs

Screenshot des Workflows

Überwachen Sie die maximale Laufzeit des ersten Jobs

  1. Öffnen Sie JOBS_ACC_9020. Das können Sie direkt im Workflow machen, indem Sie durch einen Klick mit der rechten Maustaste auf den entsprechenden Eintrag das Kontextmenü öffnen und dort Bearbeiten auswählen.

    Anschließend öffnen sich die Seiten der Jobdefinition und zeigen das agentenspezifische Blatt an.

  2. Erweitern Sie die Registerkarte Allgemein und wählen Sie Laufzeit.

  3. Aktivieren Sie im Abschnitt Max./Min. Laufzeiten das Kontrollkästchen MRT überwachen.

  4. In diesem Beispiel verwenden wir die Berechnungsmethode Fixwert. Aktivieren Sie diese Option und geben Sie die Dauer ein. Zum Beispiel:

    Screenshot mit den maximalen Laufzeiteinstellungen

    Hinweis: Es gibt auch noch andere Methoden zur Berechnung der MRT. Der Abschnitt Nützliche Links am Ende dieser Seite ermöglicht Ihnen den direkten Zugriff auf die Themen, die diese Methoden näher beschreiben.

  5. Speichern Sie Ihre Änderungen.

Erstellen Sie ein statisches VARA-Objekt

Fügen Sie ein statisches VARA-Objekt hinzu und ändern Sie nichts an den Standardeinstellungen der Variablen. In unserem Beispiel heißt dieses Objekt VARA_ACC_9040:

Screenshot mit dem statischen VARA-Objekt

Später werden die Felder der Variable durch das Script-Objekt wie folgt befüllt:

  1. Öffnen Sie JOBS_ACC_9040.

  2. Erweitern Sie die Registerkarte Variablen und Aufforderungen, und wählen Sie Variablen.
  3. Geben Sie in Name den Namen des VARA-Objekts ein, das Sie gerade erstellt haben, nämlich VARA_ACC_9040.
  4. Geben Sie in Wertno ein.

  5. Speichern Sie Ihre Änderungen.

Erstellen Sie ein SLO-Objekt, das die Laufzeit des ersten Jobs überwacht

Falls Sie die dafür notwendigen Rechte besitzen, können Sie dieses das SLO-Objekt in den Perspektiven Process Assembly oder Administration definieren.

In diesem Beispiel werden wir uns nicht näher mit der Definition der allgemeinen SLO-Objekt-Seiten befassen (Seite "Allgemein", Seite "Versionsmanagement", Seite "Dokumentation"), sondern uns auf die objektspezifischen Einstellungen konzentrieren.

  1. Öffnen Sie die Seite Dienstauswahl. Hier geben Sie die Dienst-Begünstigten und den zu überwachenden Dienst (der Job) selbst an. In unserem Beispiel legen wir keine Begünstigten fest.

  2. Definieren Sie ein Objekt, das die zu überwachenden Ergebnisse darstellen muss. In diesem Fall ist das JOBS_ACC_9020.

    1. Verändern Sie nichts an der Dropdown-Liste oben.

    2. Klicken Sie auf Kriterium hinzufügen, um das zu überwachende Objekt einzufügen.
    3. Die folgende Filterbox öffnet sich:

      Screenshot mit den Filteroptionen

      Sie können verschiedene Kriterien für das SLO auswählen, um zu evaluieren, was überwacht werden soll. Wir nutzen den Objektnamen.

    4. Wählen Sie in der Dropdown-Liste Attribut die Option Objektname, falls diese noch nicht ausgewählt ist.

    5. Unter Operation wählen Sie gleich, falls es noch nicht ausgewählt ist.

    6. Geben Sie in das Feld Wert den Namen des Jobs ein. In unserem Fall ist das JOBS_ACC_9020.

    7. Klicken Sie auf OK.

    Hinweis: Das Dienstauswahlkriterium ist nun definiert:

    Screenshot mit dem Kriterium für die Dienstauswahl

  3. Wechseln Sie zur Seite Erfüllungskriterien. Hier definieren Sie die Kriterien, die der Job JOBS_ACC_9020 erfüllen muss, und die Aktionen, die bei Erfüllung/Nichterfüllung ausgeführt werden. Aktivieren Sie im Abschnitt Dienst-Abwicklung die Option Laufzeit: Läuft kürzer als die maximale Laufzeit (MRT) des Dienstes:

    Screenshot mit den Erfüllungskriterien nach Laufzeit

    Später definieren Sie, welche Aktion im Falle einer Übertretung dieses Dienstes ausgeführt wird.

  4. Speichern Sie Ihre Änderungen.

Erstellen Sie ein Script-Objekt, das im Falle einer Übertretung ausgeführt wird

Fügen Sie ein Script-Objekt hinzu, das ausgeführt wird, wenn das SLO-Objekt eine Übertretung der Dienste erkennt.

Screenshot der Prozessseite des Script-Objekts

In unserem Beispiel erhält dieses Script den Namen SCRI.SET_VAR. Das Script wird Folgendes durchführen:

Wählen Sie das Script als Aktion bei Übertretungen aus

Gehen Sie zurück zum SLO-Objekt und definieren Sie das Script als Aktion, die ausgeführt werden soll, wenn der überwachte Job seine MRT überschreitet.

Screenshot des Abschnitts Aktionen

Definieren Sie eine Vorbedingung für den optionalen Job

Wechseln Sie zum Workflow, um eine Vorbedingung für den optionalen Job zu definieren. Die Vorbedingung soll die von VARA_ACC_9040 ermittelten Daten überprüfen und eine bestimmte Aktion (Job überspringen) auslösen, wenn diese Daten einen bestimmten Wert enthalten:

Führen Sie die folgenden Schritte aus:

  1. Wählen Sie den Job JOBS_ACC_9040 aus und klicken Sie in der Workflow-Symbolleiste auf Eigenschaften. Im unteren Teil des Workflow-Editors öffnet sich der Eigenschaftenbereich.

  2. Öffnen Sie die Registerkarte Vorbedingungen.

  3. Klicken Sie auf Vorbedingungen anlegen, um den Bedingungen-Editor zu öffnen:

    Screenshot mit den Vorbedingungen für den Job

    Im linken Bereich finden Sie drei Registerkarten, auf denen Sie Bedingungen, reguläre Aktionen und finale Aktionen auswählen können. Im rechten Bereich legen Sie Ihre Bedingungen fest.

    • Klicken Sie auf Screenshot der Schaltfläche (Erweitern), um den Dialog auf das gesamte Fenster zu vergrößern. Klicken Sie auf Screenshot der Schaltfläche (Reduzieren), um ihn zu reduzieren.
    • Klicken Sie auf Screenshot der Schaltfläche (Bearbeiten) in der rechten oberen Ecke des Dialogs, um später bereits eingefügte Bedingungen zu bearbeiten.
  4. Öffnen Sie die Registerkarte Bedingungen und wählen Sie Benutzerdefiniert aus.

  5. Ziehen Sie die Bedingung in den linken Bereich. Die Bedingung ist zur Definition bereit:

    Bedingung mit den Feldern IF, ELSE und FINALLY

  6. Definieren Sie die Bedingungseinstellungen. Siehe unten für Anweisungen und Optionen.

  7. Die Vorbedingung ist nun fertiggestellt. Klicken Sie im Dialog auf OK, um zum Workflow-Editor zurückzukehren und Ihre Änderungen zu speichern. Die Vorbedingung wird unterhalb des Workflows angezeigt:

    Workflow-Editor mit Vorbedingung für die Aufgabe

Bedingungen definieren

IF-Bedingungen 

Klicken Sie auf die Begriffe (VALUE1, OPERATOR oder VALUE2), um den IF-Teil der Bedingungen festzulegen. Anschließend werden die entsprechenden Eingabefelder angezeigt:

IF-Feld

  1. Klicken Sie auf die entsprechende Beschriftung, um Daten für Wert 1 einzugeben; dadurch wird die Variablen-Auswahl aktiviert:

    Wert-Feld und Variablen-Schaltfläche

  2. Klicken Sie auf diese, um den Dialog Variable hinzufügen zu öffnen.

    Hinweis: Stellen Sie sicher, dass Sie in der Dropdown-Liste den Eintrag Variablenobjekte auswählen.

    Suchen Sie nach VARA_ACC_9040 und klicken Sie auf Auswählen, um es einzufügen.

    Dialogfeld "Variable einfügen"

  3. Da die Workflow-RunID nicht nur im Falle einer Übertretung, sondern auch, falls der Job seine definierte MRT einhält, in das VARA-Objekt geschrieben werden soll, müssen Sie eine zusätzliche Script-Variable eingeben, &$TOP_PROCESSFLOW_RUNID#. In beiden Fällen wird die RunID aus der Variable gelöscht, sobald der Workflow beendet ist.

  4. Wählen Sie in der Dropdown-Liste Operator das Zeichen <>.

  5. Geben Sie im Feld Wert 2 das Wort no ein.

    Screenshot mit den Abschnitten IF und FINALLY

  6. Klicken Sie auf Akzeptieren.

    Das Symbol Sreenshot des Symbols innerhalb der Blöcke zeigt an, dass die Bedingung/Aktion mehrmals durchlaufen wird. Handelt es sich um Vorbedingungen, werden sie so oft wiederholt, bis eine finale Aktion erreicht wurde. Durch Klicken wechselt das Symbol auf Screenshot mit dem Symbol "1". Dadurch wird die Bedingung nur genau einmal durchlaufen.

ELSE-Bedingungen

Öffnen Sie die Registerkarte Aktionen und wählen Sie LÖSCHE EINTRAG AUS VARIABLE, um den ELSE-Teil der Bedingung festzulegen.

  1. Ziehen Sie die Aktion in den Bereich direkt unter ELSE.

  2. Klicken Sie auf KEY oder VARIABLE NAME, um die Eingabefelder anzuzeigen und relevante Daten einzugeben.

    Screenshot des ELSE-Abschnitts

  3. Klicken Sie auf Akzeptieren.

  4. Öffnen Sie die Registerkarte Finally und wählen Sie SKIP TASK aus.

  5. Ziehen Sie den Eintrag in den untersten Bereich des Abschnitts ELSE.

  6. Klicken Sie auf "TEXT" und geben Sie die Meldung ein, die Sie als Erklärung für die Aktion anzeigen lassen möchten. Zum Beispiel:

    Screenshot des Abschnitts FINALLY

  7. Klicken Sie auf Akzeptieren.

Hinweis: Sie haben nun alle erforderlichen Schritte durchgeführt.

Wenn der Workflow aktiviert wird und eine RunID erhält, wird das VARA-Objekt für die Dauer der Laufzeit einen Eintrag für diese RunID enthalten:

Screenshot, der den Schlüssel im VARA-Objekt veranschaulicht

Dieser Eintrag wird durch die Vorbedingung gelöscht, sobald diese überprüft wurde.

Die Seite Dienste - Erfüllungen in der Perspektive Process Monitoring zeigt die Übertretung an, welche den VARA-Wert gesetzt hat.

Screenshot der Liste mit den Erfüllungen

Nützliche Links

Dieses Beispiel enthält Referenzen zu einigen Funktionen, über die Sie vielleicht mehr erfahren möchten.