Evaluate Activity: If-Else-Konstrukt

Das IF-ELSE-Konstrukt erlaubt, bedingte Verzweigungen in Workflows anzulegen.

Einfachste Umsetzung ist eine Verzweigung in zwei Äste, d. h. die Auswertung einer Bedingung bestimmt, welcher der beiden Wege gegangen wird. Da sich die Bedingung auf ein helpLine-Objekt bezieht, finden Sie in jeder der Gruppen (Vorgangsmanagement, Personenmanagement, Produktmanagement usw.) jeweils eine Evaluate<Objecttype> Activity, die sich genau auf diesen Objekttyp bezieht.

Nach dem Einfügen der Evaluate Activity ist die Identity des Objekts als required markiert (roter Punkt bzw. Ausrufezeichen), die Sie im ersten Schritt an die entsprechende ID binden.

Die Evaluate-Activity enthält zunächst zwei Äste, von denen der linke wiederum markiert ist: An diesen Zweig wird eine Bedingung (Condition) geknüpft, die sich zu True oder False auswerten lässt und somit bestimmt, ob der linke Ast verwendet wird (True) oder der rechte (False). Generell gilt, dass nur der rechte Ast ohne Condition verbleiben darf; alle anderen Äste müssen eine Condition erhalten.

Wie Sie im Eigenschaften-Raster sehen, ist nach dem Einfügen der Evaluate Activity das Objekt schon als HL<Object> (in obigem Beispiel typisiert als HLCase) verfügbar.

Dies bedeutet, dass Sie bei der Eingabe der Condition direkt auf dem Objekt sind, d. h. die Eingabe der Condition nicht mit this und/oder dem Aktivitätsnamen beginnen müssen.

Hier als Beispiel die Eingabe der Bedingung für Priorität gleich hoch.

Wenn Sie die gerade eingegebene Bedingung schließen und erneut öffnen, sehen Sie das this und das verwendete Model hinzugefügt.

Solche Listenattribute, d. h. Attribute, die eine endliche Liste von Werten zur Verfügung stellen, werden häufig als Bedingungen verwendet. Zusätzlich zu den definierten Werten dieser Attribute existiert die Belegung NONE, um auch abfragen zu können, ob das Attribut überhaupt gesetzt wurde.

Abfragen von Anfrager und Produkt eines Vorgangs

Ein Vorgang beinhaltet die ID-Informationen bezüglich des Anfragers und des Produkts (gesetzt oder nicht gesetzt in jeder SU). Eine HLObjectIdentity im Workflow setzt sich aus dem Objekttyp (TypeName) und der helpLine Identity (ID) – getrennt durch einen Doppelpunkt – zusammen, also
TypeName
ID
Beispiel: Contact:100147

In Conditions kann der TypeName oder die ID vom Inventar auf folgende Weise angesprochen werden:
this.ServiceUnits.Last.SUINFO.ProductIdentity.TypeName 
this.ServiceUnits.Last.SUINFO.ProductIdentity.Id

Bei der Anfrager-Identität (Caller) verhält es sich genauso:

this.ServiceUnits.Last.SUINFO.CallerIdentity.TypeName
this.ServiceUnits.Last.SUINFO.CallerIdentity.Id

Auch diese ID-Informationen können der Evaluate Activity ausgewertet werden.

Nachstehend ein Beispiel, in welchem der Typ des Inventars ausgewertet wird, um unterschiedliche Zweige zu nehmen.



Linker Ast
Inventar ist vom Typ NotebookComputer
Die Abfrage lautet:
this.ServiceUnits.Last.SUINFO.ProductIdentity.TypeName == "NotebookComputer"
Zweiter Ast
Inventar ist vom Typ ServerComputer
Die Abfrage lautet:
this.ServiceUnits.Last.SUINFO.ProductIdentity.TypeName == "ServerComputer"
Dritter Ast
Inventar ist vom Typ DesktopComputer
Die Abfrage lautet:
this.ServiceUnits.Last.SUINFO.ProductIdentity.TypeName == "DesktopComputer"
Rechter Ast
Keine Bedingung, d. h. dieser Zweig wird durchlaufen, wenn das Produkt von einem anderen Typ ist.
Anmerkung: Die Evaluate Activity bezieht sich auf Vorgänge, nicht auf Produkte.

Reaktions- und Lösungszeit in Conditions

Um auf die prozentual verstrichene oder verbleibende Lösungszeit bzw. Reaktionszeit in Conditions zugreifen zu können, wurden in der ODE CASEINFO die folgenden Konstrukte vorbereitet:
CASEINFO.PromisedSolutionTime.ElapsedPercent
CASEINFO.PromisedSolutionTime.RemainingPercent

ElapsedPercent bezeichnet die verstrichene Lösungszeit in Prozent,

RemainingPercent bezeichnet die verbleibende Lösungszeit in Prozent.

Beispiele:

Innerhalb der roten Markierung liefert nachfolgender Ausdruck TRUE zurück, außerhalb FALSE: