Echtzeit-Workflowphasen und -schritte konfigurieren
Wenn Sie Workflows entwerfen, haben Sie die Möglichkeit, die Logik für die einzelnen Phasen und Schritte anzugeben.
PHASEN
Phasen erleichtern das Lesen und Erläutern der Echtzeit-Workflowlogik. Zudem erklären sie die Workflowlogik. Wenn ein Prozess Phasen enthält, müssen alle Schritte in einer Phase des Prozesses enthalten sein.
Schritte
Schritte sind eine Geschäftslogikeinheit innerhalb eines Workflows. Schritte können Bedingungen, Aktionen, weitere Schritte oder eine Kombination aus diesen Elementen umfassen.
Aktionen, die Echtzeit-Workflowprozesse ausführen können
Echtzeit-Workflowprozesse können die in der folgenden Tabelle aufgeführten Aktionen ausführen.
Aktion | Beschreibung |
---|---|
Zeile erstellen | Erstellt eine neue Zeile für eine Tabelle und weist den Attributen ausgewählte Werte zu. |
Zeile aktualisieren | Sie können die Zeile aktualisieren, für den der Echtzeit-Workflow ausgeführt wird, alle Zeilen, die mit dieser Zeile in einer n:1-Beziehung verknüpft sind, oder alle Zeilen, die in vorhergehenden Schritten erstellt wurden, zuweisen. |
Rolle zuweisen | Sie können die Zeile zuweisen, für den der Echtzeit-Workflow ausgeführt wird, alle Zeilen, die mit dieser Zeile in einer n:1-Beziehung verknüpft sind, oder alle Zeilen, die in vorhergehenden Schritten erstellt wurden, zuweisen. |
E-Mail senden | Sendet eine E-Mail. Sie können angeben, dass eine neue E-Mail-Nachricht erstellt wird oder eine E-Mail-Vorlage verwenden, die für die Tabelle der Zeile konfiguriert ist, für die der Echtzeit-Workflow ausgeführt wird oder für alle Entitäten mit einer n:1-Beziehung zu der Tabelle oder für die Tabelle für alle von früheren Schritten erstellte Zeilen. |
Untergeordneten Workflow starten | Startet einen Echtzeit-Workflowprozess, der als untergeordneter Workflow konfiguriert wurde. |
Status ändern | Sie können den Status der Zeilen, für den der Workflow ausgeführt wird, für alle Zeilen, die mit dieser Zeile in einer n:1-Beziehung verknüpft sind, oder alle Zeilen, die in vorhergehenden Schritten erstellt wurden, ändern. |
Workflow beenden | Beendet den aktuellen Workflow. Sie können den Status Erfolgreich oder Abgebrochen und eine Statusmeldung angeben. Wenn für ein Ereignis Echtzeitworkflows konfiguriert sind, verhindert das Beenden eines Echzeit-Workflows mit dem Status „Storniert“ den Abschluss der Ereignisaktion. Rufen Sie Echtzeitworkflows verwenden für weitere Informationen auf. |
Benutzerdefinierter Schritt | Entwickler können benutzerdefinierte Echtzeit-Workflowschritte erstellen, mit denen Aktionen definiert werden. Standardmäßig sind keine benutzerdefinierten Schritte verfügbar. |
Zeilenwerte einstellen
Wenn Sie einen Zeile erstellen, können Sie Werte für die Zeile einstellen. Wenn Sie einen Zeile aktualisieren, können Sie Werte einrichten, anfügen, erhöhen, verringern, multiplizieren oder löschen.
Wenn Sie Eigenschaften festlegen auswählen, wird ein Dialogfeld geöffnet, welches Ihnen das Standardformular für die Tabelle anzeigt.
Am unteren Rand des Dialogfelds sehen Sie eine Liste zusätzlicher Spalten, die im Formular nicht vorhanden sind.
Für jede Spalte können Sie einen statischen Wert festlegen, der vom Workflow eingestellt wird.
Auf der rechten Seite des Dialogfelds Formular-Assistent können Sie dynamische Werte aus dem Kontext der aktuellen Zeile einrichten oder anfügen. Dies schließt Werte aus verknüpften Zeilen ein, auf die über die n:1-Beziehungen (Viele-zu-Eins) für die Tabelle zugegriffen werden kann.
Die Optionen, die im Formular-Assistent verfügbar sind, hängen von der Spalte ab, das Sie im Formular ausgewählt haben. Wenn Sie einen dynamischen Wert festlegen, sehen Sie einen gelben Platzhalter, der als „Slug“ bezeichnet wird. Er zeigt, wo die dynamischen Daten enthalten sein werden. Wenn Sie den Wert entfernen möchten, wählen Sie den Slug aus, und löschen Sie ihn. Für Textspalten können Sie eine Kombination aus statischen und dynamischen Daten verwenden.
Bei dynamischen Werten wissen Sie nicht genau, ob eine Spalte oder eine verwandte Tabelle den festzulegenden Wert enthält. Sie können eine Reihe von Spalten festlegen, um zu versuchen, den Wert festzulegen und ihre Reihenfolge mithilfe der grünen Pfeile zu ordnen. Wenn die erste Spalte keine Daten enthält, wird die zweite Spalte durchsucht usw. Sind in keiner der Spalten Daten enthalten, geben Sie einen Standardwert an.
Einstellen von Bedingungen für Echtzeit-Workflowaktionen
Die Aktionen, die Sie anwenden, hängen von Bedingungen ab. Echtzeit-Workflowprozesse bieten mehrere Möglichkeiten, Bedingungen festzulegen und die Verzweigungslogik zu erstellen, um die Ergebnisse zu erzielen, die Sie wünschen. Sie können Werte der Zeile, für die der Echtzeit-Workflowprozess ausgeführt wird, alle in einem n:1-Verhältnis mit dieser Zeile verknüpften Zeilen sowie die Werte in dem Prozess selbst prüfen.
Bedingungstyp | Beschreibung |
---|---|
Überprüfungsbedingung | Eine logische „if <condition> then“-Anweisung. Sie können die aktuellen Werte für die Zeile, für den der Echtzeit-Workflow ausgeführt wird, alle Zeilen, die mit der Zeile in einer n:1-Beziehung verknüpft sind, oder alle in früheren Schritten erstellten Zeilen prüfen. Auf Grundlage dieser Werte definieren Sie weitere Schritte, wenn die Bedingung erfüllt ist. In der „if <condition> then“-Anweisung können Sie folgende Operatoren verwenden: Gleich, Nicht gleich, Enthält Daten, Enthält keine Daten, Unter und Nicht unter. Hinweis: Unter und Nicht unter sind hierarchische Operatoren. Sie werden nur für Tabellen verwendet, für die eine hierarchische Beziehung definiert ist. Wenn Sie versuchen, diese Operatoren für Tabellen zu verwenden, für die keine hierarchische Beziehung definiert ist, wird die folgende Fehlermeldung angezeigt: Sie verwenden einen hierarchischen Operator für eine Tabelle, für die keine hierarchische Beziehung definiert ist. Machen Sie die Tabelle entweder hierarchisch (indem Sie eine Beziehung als hierarchisch markieren) oder verwenden Sie einen anderen Operator. Weitere Informationen zu hierarchischen Beziehungen finden Sie unter Hierarchische Daten definieren und abfragen. Ein Screenshot, der der Tabelle folgt, stellt ein Beispiel der Definition des Echtzeit-Workflowprozesses dar, der die hierarchischen Operatoren Unter und Nicht unter verwendet. |
Bedingungsverzweigung | Bei einer logischen „sonst wenn;dann“ Anweisung verwendet der Editor den Text „Andernfalls, falls <condition>...dann:“ Wählen Sie eine Überprüfungsbedingung aus, die Sie bereits definiert haben, und Sie können eine Bedingungsverzweigung hinzufügen, um zusätzliche Schritte zu definieren, wenn die Bedingung "false" zurückgibt. |
Standardaktion | Eine logische Anweisung des Typs „else“ Der Editor verwendet den Text „Otherwise:“ Wählen Sie eine Überprüfungsbedingung, eine Bedingungsverzweigung, eine Wartebedingung oder eine parallele Warteverzweigung aus, die Sie bereits definiert haben, und Sie können eine Standardaktion verwenden, um Schritte für alle Fälle zu definieren, die nicht den in Bedingungs- oder Verzweigungselementen definierten Kriterien entsprechen. |
Wartebedingung | Echtzeitworkflows können keine Wartebedingungen verwenden. Wartebedingungen können jedoch mit Hintergrundworkflows verwendet werden. Weitere Informationen: Einstellen von Bedingungen für Hintergrund-Workflowaktionen |
Parallele Warteverzweigung | Definiert eine alternative Wartebedingung für einen Echtzeit-Workflow mit einem entsprechenden Satz von zusätzlichen Schritten, die nur ausgeführt werden, wenn das Anfangskriterium erfüllt ist. Sie können parallele Warteverzweigungen verwenden, um in Ihrer Echtzeit-Workflowlogik Zeitgrenzen zu erstellen. Dadurch wird vermieden, dass vom Echtzeit-Workflow unbegrenzt auf die Erfüllung der in einer Wartebedingung definierten Kriterien gewartet wird. |
Benutzerdefinierter Schritt | Entwickler können benutzerdefinierte Echtzeit-Workflowschritte erstellen, die Bedingungen definieren. Standardmäßig sind keine benutzerdefinierten Schritte verfügbar. |
Der folgende Screenshot enthält ein Beispiel der Workflowprozessdefinition mit den hierarchischen Operatoren Unter und Nicht unter. In unserem Beispiel wenden wir zwei unterschiedliche Rabatte auf zwei Gruppen von Konten an. In Schritt hinzufügen wählten wir Bedingung überprüfen aus, um die wenn-dann-Bedingung anzugeben, die die Operatoren Unter und Nicht unter enthalten. Der erste betrifft die wenn-dann-Bedingung, und gilt für alle Konten, die Unter dem Konto Alpine Ski House sind. Diese Konten erhalten 10 % Einkaufsrabatt auf gekaufte Waren und Services. Die zweite wenn-dann-Bedingung betrifft alle Konten, die Nicht unter dem Konto Alpine Ski House sind, und sie erhalten einen 5 % igen Rabatt. Dann haben wir Zeile aktualisieren ausgewählt, um die Aktion zu definieren, die aufgrund der Bedingung ausgeführt werden soll.
Initiieren eines Echtzeitworkflows vor oder nach Statusänderungen
Wenn Sie für Echtzeitworkflows Optionen für automatische Prozesse konfigurieren, ermöglichen Ihnen die Starten bei-Optionen für das Statusänderungsereignis die Auswahl von Nach oder Vor Statusänderungen. Die Standardoption ist Nach
Wenn Sie Vor auswählen, geben Sie an, dass die Logik des Echtzeit-Workflows angewendet wird, bevor die Daten, die den Status ändern, gespeichert werden. Dadurch können Sie die Werte prüfen, bevor weitere Logik nach der Operation angewendet wird und verhindern, dass weitere Logik ausgeführt wird. Beispielsweise verfügen Sie unter Umständen über zusätzliche Logik in einer Plug-In- oder benutzerdefinierten Echtzeit-Workflowaktion, die Aktionen auf einem anderen System auslösen könnte. Indem Sie die weitere Verarbeitung anhalten, können Sie Fälle vermeiden, von denen andere Systeme betroffen sind. Die Anwendung von Echtzeit-Workflows vor diesem Ereignis bedeutet auch, dass andere Echtzeit-Workflow- oder Plug-in-Aktionen, die Daten speichern könnten, nicht rückgängig gemacht werden müssen, wenn der Vorgang abgebrochen wird.
Aktion | Starten bei | Erläuterung |
---|---|---|
Zeile wurde erstellt | Nach | Nur Nach ist verfügbar. Die Zeile hat erst nach der internen MainOperation-Phase eine eindeutige Kennung und kann daher nicht vor dem Erstellen der Zeile auftreten. |
Zeilen-Status wird geändert | Vorher Nach |
Entspricht einem Aktualisierungsvorgang, mit dem Echtzeit-Workflowlogik entweder vor oder nach Statusänderungen angewendet werden kann. Vor entspricht der PreOperation-Phase. Vor entspricht der PreOperation-Phase. |
Ziele wird zugewiesen | Vorher Nach |
Entspricht einem Aktualisierungsvorgang, mit dem Echtzeit-Workflowlogik entweder vor oder nach Statusänderungen angewendet werden kann. Vor entspricht der PreOperation-Phase. Vor entspricht der PreOperation-Phase. |
Zeilenspalten werden geändert | Vorher Nach |
Entspricht einem Aktualisierungsvorgang, mit dem Echtzeit-Workflowlogik entweder vor oder nach Statusänderungen angewendet werden kann. Vor entspricht der PreOperation-Phase. Vor entspricht der PreOperation-Phase. |
Zeile ist gelöscht | Vorher | Nur Vor ist verfügbar. Das Löschen von Zeilen entspricht der Phase PreOperation. Nach dem MainOperation wird die Zeile gelöscht und es kann keine weitere Statusänderung auftreten. |
Weitere Informationen zu den Phasen PreOperation, MainOperation und PostOperation finden Sie unter Ereignisausführungspipeline.
Verwenden von Echtzeitworkflows
Sie können Echtzeitworkflows konfigurieren, Sie sollten sie jedoch vorsichtig verwenden. Hintergrundworkflows werden im Allgemeinen empfohlen, da diese dem System erlauben, sie zu verwenden, wenn auf dem Server Ressourcen verfügbar sind. Dies hilft, die Arbeit auszugleichen, die der Server leisten muss, und die optimale Leistung für alle Benutzer des Systems zu wahren. Der Nachteil besteht darin, dass die Aktionen, die von Hintergrundworkflows definiert werden, nicht sofort wirken. Sie können nicht voraussagen, wann diese angewendet werden, aber im Allgemeinen dauert dies einige Minuten. Für die meisten Automatisierungen von Geschäftsprozessen ist dies in Ordnung, da die Personen, die das System verwenden, nicht sehen müssen, dass der Prozess ausgeführt wird.
Verwenden Sie Echtzeitworkflows, wenn ein Geschäftsprozess die sofortige Einsicht in die Prozessergebnisse erfordert oder wenn Sie die Möglichkeit haben möchten, einen Vorgang abzubrechen. Möglicherweise möchten Sie beim ersten Speichern bestimmte Standardwerte für eine Zeile festlegen, oder Sie möchten sicherstellen, dass einige Zeilen nicht gelöscht werden.
Konvertieren von Echtzeit und Hintergrundworkflows
Sie können einen Echtzeitworkflow in einen Hintergrundworkflow ändern, indem Sie auf der Symbolleiste In einen Hintergrundworkflow konvertieren auswählen.
Sie können einen Hintergrundworkflow in einen Echtzeitworkflow ändern, indem Sie auf der Symbolleiste In einen Echtzeitworkflow konvertieren auswählen. Wenn der Hintergrundworkflow Wartebedingungen verwendet, wird er ungültig, und Sie können ihn erst dann wieder aktivieren, wenn Sie die Wartebedingung entfernt haben.
Initiieren eines Echtzeitworkflows vor oder nach Statusänderungen
Wenn Sie für Echtzeitworkflows Optionen für automatische Prozesse konfigurieren, ermöglichen Ihnen die Starten bei-Optionen für das Statusänderungsereignis die Auswahl von Nach oder Vor Statusänderungen. Die Standardoption ist Nach
Wenn Sie Vor auswählen, geben Sie an, dass die Logik des Echtzeit-Workflows angewendet wird, bevor die Daten, die den Status ändern, gespeichert werden. Dadurch können Sie die Werte prüfen, bevor weitere Logik nach der Operation angewendet wird, und verhindern, dass weitere Logik ausgeführt wird. Beispielsweise verfügen Sie unter Umständen über zusätzliche Logik in einer Plug-In- oder benutzerdefinierten Echtzeit-Workflowaktion, die Aktionen auf einem anderen System auslösen könnte. Indem Sie die weitere Verarbeitung anhalten, können Sie Fälle vermeiden, von denen andere Systeme betroffen sind. Die Anwendung von Echtzeitworkflows vor diesem Ereignis bedeutet auch, dass andere Echtzeit-Workflow- oder Plug-in-Aktionen, die Daten speichern könnten, nicht rückgängig gemacht werden müssen, wenn der Vorgang abgebrochen wird.
Verwenden der Workflow-Stoppfunktion mit Echtzeitworkflows
Wenn Sie eine Workflow beenden-Aktion in einem Echtzeit-Workflow anwenden, haben Sie die Option, die Statusbedingung als Erfolgreich oder Abgebrochen anzugeben. Wenn Sie den Status auf „Abgebrochen“ setzen, wird der Vorgang verhindert. Eine Fehlermeldung, die den Text aus der Endaktionsstatusmeldung enthält, wird dem Benutzer mit dem Titel Geschäftsprozessfehler angezeigt.
Nächste Schritte
Echtzeit-Workflowprozesse überwachen und verwalten
Bewährte Verfahren für Echtzeit-Workflowprozesse
Hinweis
Können Sie uns Ihre Präferenzen für die Dokumentationssprache mitteilen? Nehmen Sie an einer kurzen Umfrage teil. (Beachten Sie, dass diese Umfrage auf Englisch ist.)
Die Umfrage dauert etwa sieben Minuten. Es werden keine personenbezogenen Daten erhoben. (Datenschutzbestimmungen).