Approvement - Genehmigungsaktivitäten

Durch die Genehmigungsaktivität ApprovementBaseActivity, die in der Gruppierung helpLine Activities zu finden ist, besteht die Möglichkeit, innerhalb des Workflows Genehmigungen komfortabel einzubinden, auf diese zu warten und den Workflow in Abhängigkeit dieser Genehmigung entsprechend zu verzweigen. Die genehmigenden Personen können durch Rollen, Prozessrollen, Organisationseinheiten oder als Mitglieder des Vorgangs bestimmt werden. Hierzu wird bei Auswahl der Genehmigungsaktivität die Genehmigungsstrategie verwendet.
Ist in der von Ihnen angegebenen Rolle oder Organisationseinheit keine Person bzw. Agent enthalten, wird die Genehmigung mit dem Wert Abgelehnt durchlaufen.
Die Agenten bzw. Personen, die Genehmigungen erteilen oder ablehnen können, werden auf unterschiedliche Arten angesprochen:
  • Im Serviceware Portal, können Agenten mit Portal-Account Genehmigungen über die Parameter Noch zu genehmigen und Bereits bearbeitete Genehmigungen geben oder verwehren.
  • Agenten mit Standard-E-Mail-Adresse können Genehmigungen über Genehmigungs-Mails erteilen, die neben dem Subject und Text (s. u.) auch zwei Links zum Genehmigen oder Ablehnen enthalten.

Genehmigung durch Mitarbeiter einer Rolle

Die Genehmigung durch Mitarbeiter einer Rolle wendet sich an einzelne Agenten oder Rollen, die für die Genehmigung zuständig sind.
  1. Fügen Sie im Workflow die Aktivität ApprovementBaseActivity ein.
  2. Wählen Sie im Dialog Neue Genehmigung die Anzahl der notwendigen Genehmigungen für die Freigabe an. 1 bedeutet, dass ein Mitglieder aus der Gruppe der Genehmiger zustimmen muss.
  3. Treffen Sie die Auswahl der Genehmigungsstrategie - hier Mitglieder eine helpLine Rolle, die Genehmigung erfolgt auf der Basis der Zugehörigkeit zu einer Rolle.

  4. Wählen Sie eine Textvorlage aus der Vorlagenliste.
    Anmerkung: An dieser Stelle können unterschiedliche Dialoge erscheinen, je nachdem, ob und wenn ja, welche Sourcen in der Textvorlage referenziert sind:
    • Es wurde EIN Vorgang referenziert, aus dem die Informationen für die Textvorlage genommen werden sollen – lesen Sie hier anschließend weiter.
    • Es wurde gar KEINE Source referenziert – lesen Sie den Abschnitt Referenzierung von Sourcen in einer Textvorlage.
    • Es wurden MEHRERE Sourcen referenziert - lesen Sie den Abschnitt Referenzierung von Sourcen in einer Textvorlage.
  5. Bestätigen Sie die Konfiguration der neuen Genehmigung.
  6. Bestimmen, wie die Betreffzeile der Genehmigung bestimmt werden soll.

    • Value: Eingabe eines festen Textes, der als Betreff der Genehmigung angezeigt wird.
    • Property: Bezug des Betreffs aus einer Datenquelle (im folgenden Beispiel angewendet).

      Die Genehmigung selbst ist KEIN Vorgang. Sie ist aber in einen Workflow eingebettet, in dem die Informationen typischerweise in einem Vorgang gesammelt sind. In der für die Genehmigung verwendeten Textvorlage wird sinnvollerweise genau derjenige Vorgang referenziert sein, aus dem die Informationen für den Genehmigungstext bezogen werden sollen.

      Daher bietet die Option Eigenschaften an dieser Stelle die Möglichkeit, den Betreff des referenzierten Vorgangs (oder eines beliebigen anderen – siehe weiter unten) auch als Betreff der Genehmigung zu verwenden.
  7. Wählen Sie die Datenquelle für den Bezug des Betreffs. Achten Sie darauf, dass Sie hier genau den Vorgang IncidentRecord angezeigt bekommen, der in der ausgewählten Textvorlage referenziert ist.

  8. Wählen Sie die Genehmiger aus der Liste.

    Die Approvement Activity ist nun in den Workflow eingebunden, zeigt aber durch das rote Ausrufezeichen an, dass noch eine Eigenschaft – nämlich die Identity des Vorgangs (IncRecIdentity), der in der Textvorlage referenziert ist – zu binden ist.

  9. Ändern Sie bei Bedarf die Parameter Liste der Genehmiger oder die Anzahl der nötigen Genehmigung (NeededApprovals), Anzahl der nötigen Ablehnungen (NeededRejections), eine Bestätigungsmail versendet werden soll (SendConfirmation) oder ob die Genehmigung selbst als Mail verschickt werden soll (UseEmail).

    Hinter der Eigenschaft Approver verbirgt sich daher ein Auswahldialog für Agenten und Rollen, wie er auch für das Direct Routing verwendet wird.

    Die Eigenschaft Approved, steht nach Einfügen der Aktivität standardmäßig auf False steht. Nach dem Durchlaufen der Aktivität in einer WF-Instanz ist diese Property mit dem Ergebnis belegt, d. h. mit True, wenn die vorgegebene Anzahl an Genehmigungen (NeededApprovals) erreicht wurde, und mit False, wenn diese nicht erreicht wurde.

    ContextKey, welche nur lesend angezeigt wird, bietet die Verbindung zu dieser Approvement-Aktivität, wenn sie ausgewertet werden soll (siehe nachfolgendes Abschnitte).

Referenzierung von Sourcen in einer Textvorlage

Die häufigste Variante einer Referenzierung innerhalb einer Textvorlage ist die, einen Vorgang zu referenzieren. Aus diesem können dann Informationen in die Textvorlage geschrieben werden, und im Fall einer E-Mail-Textvorlage auch der Anfrager beispielsweise als Receiver, also Empfänger der Mail, bestimmt werden.
Hier die Szenarien, wie für eine, mehrere und keine Referenzen in der Textvorlage für die Approvement und die E-Mail Activity verfahren wird.
Referenzierung eines einzelnen Vorgangs
es wurde EIN Vorgang referenziert, aus dem die Informationen für die Textvorlage genommen werden sollen – wie im Abschnitt zuvor beschrieben, ist dieser Vorgang für die Approvement Activity direkt verfügbar, das heißt er wird im Instruction Set als Source bereits hinzugefügt sein.
Keine oder mehrere Referenzen im Template

Hat das Template, welches Sie verwenden möchten, keine oder mehrere Sources, müssen Sie im Quellen Bearbeiten Dialog angeben, ob dennoch eine Quelle/Source hinzugefügt werden soll, um Daten aus einem Vorgang übernehmen zu können.

Im nachfolgenden Beispiel wurde keine Quelle im Template referenziert. Es wird eine virtuelle Vorgangs-Referenz angeboten theCase, den Sie mit der Option füge Quelle hinzu anbinden können.

Haben Sie in dem verwendeten Template mehrere Quellen referenziert, stehen diese im nachfolgenden Instruction Set zur Verfügung.



Auswertung der Genehmigungsaktivität

Wenn Sie eine Genehmigungsaktivität in Ihren Workflow eingebaut haben, soll diese natürlich auch – je nachdem, ob sie genehmigt oder abgelehnt wurde – den Ablauf beeinflussen. In der Gruppe Genehmigungsaktivitäten finden Sie zu diesem Zweck die Aktivität ApprovementEvaluate.

Diese enthält wie die anderen Evaluate-Aktivitäten auch zwei Zweige, jeweils einen für den True- und einen für den False-Fall.

Die ApprovementEvaluate Activity benötigt noch die beiden Pflicht-Angaben ApprovementResult und ContextKey. ApprovementResult wird an das Ergebnis der auszuwertenden Approvement Activity gebunden.

Und auch der ContextKey wird an die entsprechende Eigenschaften der auszuwertenden Approvement Activity gebunden.

Übernehmen der Ablehnungsbegründungen

Während des Genehmigungsprozesses geben diejenigen Genehmiger, die das Approvement ablehnen, einen Begründungstext ein. Eine Liste über diese Gründe inkl. der Namen der Genehmiger ist als Text-String zusammengefasst in der Comments Eigenschaft der ApprovementEvaluate Activity

Durch Hinzufügen einer Primitiv-Source in einem Instruction Set können Sie diesen TextString beispielsweise nachfolgend in einem Vorgang schreiben.

Der System.String aus der Abbildung muss nachfolgend noch an die Comments-Property der ApprovementEvaluate Activity gebunden werden.

Genehmigung durch Mitarbeiter einer Organisationseinheit

Wenn Mitarbeiter einer bestimmten Organisationseinheit als Genehmiger eingebunden werden sollen, müssen zwei Schritte durchgeführt werden:
  • Bestimmung der Organisationseinheit,
  • Festlegung der Assoziation, über diese die Personen gefunden werden sollen.

Die Organisationseinheit legen Sie fest, in dem Sie beispielsweise über eine API die entsprechenden Organisationseinheit dem Workflow zur Verfügung stellen.



  1. Wählen Sie im Dialog Neue Genehmigung die Genehmigungsstrategie Mitglieder einer Organisationseinheit. Bei dieser Strategie sind alle Mitglieder einer Organisationseinheit Genehmiger. Zudem werden die Assoziationen festgelegt, über die die Personen gefunden werden.
  2. Die Schritte zur Bestimmung des Betreffs verlaufen wie im vorigen Abschnitt zur Approvement Activity, die an Rollen gebunden ist, in Schritt 6 beschrieben haben.
  3. Erzeugen Sie eine Workflow-Objekt-ID für die Property OrganizationIdentity. Dies erfolgt mithilfe einer API, über die die gewünschte helpLine-Organisationseinheit in der Workflowdefinition ansprechbar wird. Die API im folgenden Beispiel erwartet als Eingabe die helpLineID einer Abteilung und erzeugt daraus als Ausgabe die Workflow-Identität der Abteilung.
    public static HLObjectIdentity CreateDepartmentId(ICodeContext ctx, int id)
     {
     return Department.CreateIdentity(id);
     }
    Im Workflow Designer wird die Property id mit derhelpLine ID der gewünschten Organisationseinheit belegt.

  4. Binden Sie die OrganizationIdentity an die DepartmentID die Sie im letzten Schritt über eine API erzeugt haben.

  5. Wählen Sie, welche Assoziationen zwischen Organisationen und Personen existieren.

  6. Wählen Sie die Genehmigungsaktivität über einen Doppelklick.

    Source Type
    Objekt-Typ der Organisationseinheit, in der sich die Genehmiger befinden
    Select Association
    Assoziation, die die Beziehung zwischen der OrgUnit und den Personen beschreibt.
    In unveränderten Startkonfigurationen ist dies die Assoziation Person2Organisation.
    NavigateChildren
    Bestimmt, ob die Assoziation nach oben oder nach unten verfolgt werden soll.
    Destination Type
    Objekt-Typ des Zielobjekts, in unserem Fall des Employees (Mitarbeiter).
Ausgehen von den Abteilungen unter OrganizationIdentity sind diese Mitarbeiter nun Genehmiger. Sie erhalten eine Genehmigsungs-E-Mail, sofern sie eine Standard-E-Mail-Adresse in ihrem Personenobjekt eingetragen haben, und sehen diese Genehmigungsanfrage auch im Serviceware Portal, sofern sie ein Portal-Konto haben.

Genehmigung durch Mitarbeiter einer Prozessrolle

Die genehmigenden Personen können auch durch Prozessrollen aus einer SLA-Definition festgelegt werden.
Voraussetzung hierfür ist, dass der Workflow als SLM – Contract Required bestimmt ist und unter Parameter eine Prozessrolle definiert ist.



Diese Prozessrolle wird in der SLM-Komponente von dem SLA mit Agenten, Rollen oder Mitarbeiter belegt, welches diesen Workflow-Prozess verwendet.
  1. Wählen Sie beim Einfügen der Genehmigungsaktivität als Genehmigungsstrategie Mitglieder einer Prozessrolle.

  2. Wählen Sie das TextTemplates und das Subject.
    Im Eigenschaftenbereich der Genehmigungsaktivität wird die Eigenschaft ProcessRole reference eingeblendet.
  3. Binden Sie diese Eigenschaft an den Übergabe-Parameter.

Genehmigung durch Mitglieder des Vorgangs

Mit dieser Option können Sie durch eine Assoziation auf dem Vorgang diejenigen Personen bestimmen, die als Genehmiger verwendet werden, beispielsweise die Betroffenen Einheiten bei einem Change Request.

Nachdem Sie die Genehmigungsstrategie Mitglieder eines Vorgangs gewählt haben, doppelklicken Sie wieder auf die Genehmigungsaktivität. Ein Dialog zur Bestimmung der gewünschten Assoziation und Personen öffnet sich:

  1. Wählen Die die Genehmigungsstrategie Mitglieder eines Vorgangs.

  2. Wählen Sie die Genehmigungsaktivität durch Doppelklick.

  3. Konfigurieren Sie Assoziationen und Personen wie bereits unter Genehmigung für Mitarbeiter einer Organisationseinheit beschrieben.
  4. Binden Sie im Eigenschaftsbereich der Aktivität den Vorgang, dessen assoziierte Personen genehmigen sollen.

Genehmigung durch die Anfrager des Vorgangs

In einigen Fällen kann es gewünscht sein, dass alle Anfrager eines Vorgangs eine Genehmigung erteilen sollen. Hierzu dient die Option Genehmigung durch Anfrager des Vorgangs.