Freigeben über


Echtzeit-Workflowphasen und -schritte konfigurieren

Wenn Sie Workflows entwerfen, haben Sie die Möglichkeit, die Logik zu enthalten, die Sie in Phasen und Schritten ausführen möchten.

Phasen
Stufen erleichtern das Lesen der Echtzeitworkflowlogik und erläutern die Echtzeitworkflowlogik. 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 Workflowprozesse in Echtzeit ausführen können

Workflowprozesse in Echtzeit können die in der folgenden Tabelle aufgeführten Aktionen ausführen.

Maßnahme Description
Zeile erstellen Erstellt eine neue Zeile für eine Tabelle und weist Attributen Werte zu.
Zeile aktualisieren Sie können die Zeile aktualisieren, auf der der Echtzeitworkflow ausgeführt wird, jede der Zeilen, die mit dieser Zeile in einer N:1-Beziehung verknüpft sind, oder zeilen, die mit früheren Schritten erstellt wurden.
Zeile zuweisen Sie können die Zeile, auf der der Echtzeitworkflow ausgeführt wird, einer der Zeilen zuweisen, die mit dieser Zeile in einer N:1-Beziehung verknüpft sind, oder zeilen, die mit früheren Schritten erstellt wurden.
E-Mail senden Sendet eine E-Mail. Sie können eine neue E-Mail-Nachricht erstellen oder eine E-Mail-Vorlage verwenden, die für die Tabelle der Zeile konfiguriert ist, auf der der Echtzeitworkflow ausgeführt wird, oder tabellen mit einer N:1-Beziehung mit der Tabelle oder die Tabelle für alle Zeilen, die mit früheren Schritten erstellt wurden.
Untergeordneten Workflow starten Startet einen Echtzeit-Workflowprozess, der als untergeordneter Workflow konfiguriert wurde.
Status ändern Ändert den Status der Zeile, für die der Prozess ausgeführt wird, eine der Zeilen, die mit dieser Zeile in einer N:1-Beziehung verknüpft sind, oder zeilen, die mit früheren Schritten erstellt wurden.
Workflow beenden Beendet den aktuellen Workflow. Sie können den Status Erfolgreich oder Abgebrochen und eine Statusmeldung angeben.

Wenn Echtzeitworkflows für ein Ereignis konfiguriert sind, verhindert das Beenden eines Echtzeitworkflows mit dem Status "Abgebrochen", dass die Ereignisaktion abgeschlossen wird. Wechseln Sie zur Verwendung von Echtzeitworkflows , um weitere Informationen zu erfahren.
Benutzerdefinierter Schritt Entwickler können benutzerdefinierte Workflowschritte in Echtzeit erstellen, die Aktionen definieren. Standardmäßig sind keine benutzerdefinierten Schritte verfügbar.

Festlegen von Zeilenwerten

Wenn Sie eine Zeile erstellen, können Sie Werte für die Zeile festlegen. Wenn Sie eine Zeile aktualisieren, können Sie Werte festlegen, anfügen, erhöhen, verringern, multiplizieren oder löschen.

Wenn Sie "Eigenschaften festlegen" auswählen, wird ein Dialogfeld mit dem Standardformular für die Tabelle geöffnet.

Unten im Dialogfeld wird eine Liste mit zusätzlichen Spalten angezeigt, die im Formular nicht vorhanden sind.

Für jede Spalte können Sie einen statischen Wert festlegen, der vom Workflow festgelegt wird.

Auf der rechten Seite des Dialogfelds bietet ihnen der Formular-Assistent die Möglichkeit, dynamische Werte aus dem Kontext der aktuellen Zeile festzulegen oder anzufü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 im Formular-Assistenten verfügbaren Optionen hängen von der Spalte ab, die Sie im Formular ausgewählt haben. Wenn Sie einen dynamischen Wert festlegen, sehen Sie einen gelben Platzhalter, der als „Platzhalterfeld“ 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, dass eine Spalte oder eine verknüpfte Tabelle den Wert aufweist, den Sie festlegen möchten. Sie können tatsächlich eine Reihe von Spalten festlegen, um zu versuchen, den Wert festzulegen und sie mithilfe der grünen Pfeile in der Reihenfolge zu sortieren. Wenn die erste Spalte keine Daten enthält, versuchen Sie es mit der zweiten Spalte usw. Wenn keine der Spalten Daten enthält, können Sie einen Standardwert angeben, der verwendet werden soll.

Festlegen von Bedingungen für Workflowaktionen in Echtzeit

Die Aktionen, die Sie anwenden, hängen von Bedingungen ab. Workflowprozesse in Echtzeit bieten verschiedene Möglichkeiten zum Festlegen von Bedingungen und erstellen Verzweigungslogik, um die gewünschten Ergebnisse zu erhalten. Sie können werte der Zeile überprüfen, für die der Echtzeitworkflowprozess ausgeführt wird, eine der Zeilen, die mit dieser Zeile mit einer N:1-Beziehung verknüpft sind, oder Werte innerhalb des Prozesses selbst.

Bedingungstyp Description
Überprüfungsbedingung Eine logische "if <condition> then"-Anweisung.

Sie können die aktuellen Werte für die Zeile überprüfen, auf der der Echtzeitworkflow ausgeführt wird, jede der Zeilen, die mit dieser Zeile in einer N:1-Beziehung verknüpft sind, oder zeilen, die mit früheren Schritten erstellt wurden. Basierend auf diesen Werten können Sie zusätzliche Schritte definieren, wenn die Bedingung wahr ist.

In der Anweisung „wenn-<Bedingung>-dann“ können Sie folgende Operatoren verwenden: Gleich, Ungleich, Enthält Daten, Enthält keine Daten, Unter und Nicht unter.

Hinweis:Unter und Nicht unter sind hierarchische Operatoren. Sie können nur für die Tabellen verwendet werden, die eine hierarchische Beziehung definiert haben. Wenn Sie versuchen, diese Operatoren in den Tabellen zu verwenden, für die die hierarchische Beziehung nicht definiert ist, wird die Fehlermeldung angezeigt: "Sie verwenden einen hierarchischen Operator in einer Tabelle, die keine hierarchische Beziehung definiert hat. Erstellen Sie entweder die Tabelle hierarchisch (durch Markieren einer Beziehung als hierarchisch), oder verwenden Sie einen anderen Operator."

Weitere Informationen zu hierarchischen Beziehungen erfahren Sie unter "Definieren und Abfragen hierarchisch verwandter Daten". 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 Eine logische Anweisung vom Typ „else-if-then“; der Editor verwendet den Text „andernfalls, wenn <Bedingung> 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 "Andernfalls:"

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 Wartezeiten verwenden. Wartezeitbedingungen können jedoch mit Hintergrundworkflows verwendet werden. Weitere Informationen: Festlegen von Bedingungen für Hintergrundworkflowaktionen
Parallele Warteverzweigung Definiert eine alternative Wartebedingung für einen Echtzeitworkflow mit einem entsprechenden Satz zusätzlicher Schritte, die nur ausgeführt werden, wenn das anfängliche Kriterium erfüllt ist. Sie können parallele Wartezweige verwenden, um Zeitlimits in Ihrer Echtzeitworkflowlogik zu erstellen. Sie verhindern, dass der Echtzeitworkflow unbegrenzt wartet, bis die in einer Wartebedingung definierten Kriterien erfüllt sind.
Benutzerdefinierter Schritt Entwickler können benutzerdefinierte Workflowschritte in Echtzeit 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. Anschließend haben wir " Zeile aktualisieren" ausgewählt, um die aktion zu definieren, die basierend auf der Bedingung ausgeführt werden soll.

Workflow process with Under/Not Under operators.Workflowprozess mit Operatoren Unter/Nicht unter.Workflowprozess mit Operatoren Unter/Nicht unter

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 "Bevor" auswählen, geben Sie an, dass die Logik im Echtzeitworkflow angewendet werden soll, bevor 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 möglicherweise über zusätzliche Logik in einem Plug-In oder einer benutzerdefinierten Echtzeitworkflowaktion, die Aktionen für ein anderes System initiieren kann. Indem Sie die weitere Verarbeitung anhalten, können Sie Fälle vermeiden, von denen andere Systeme betroffen sind. Das Anwenden von Echtzeitworkflows vor diesem Ereignis bedeutet auch, dass andere Echtzeitworkflow- oder Plug-In-Aktionen, bei denen möglicherweise Daten gespeichert wurden, nicht "zurückgesetzt" werden müssen, wenn der Vorgang abgebrochen wird.

Maßnahme Beginnen, wenn Explanation
Zeile wird 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.
Zeilenstatusänderungen Vor
Nach
Entspricht einem Aktualisierungsvorgang, der die Möglichkeit bietet, Workflowlogik in Echtzeit entweder nach oder vor der Statusänderung anzuwenden. Before entspricht der Voroperationsphase. Nachher entspricht der postoperativen Phase.
Zeile wird zugewiesen Vor
Nach
Entspricht einem Aktualisierungsvorgang, der die Möglichkeit bietet, Workflowlogik in Echtzeit entweder nach oder vor der Statusänderung anzuwenden. Before entspricht der Voroperationsphase. After entspricht der postoperativen Phase.
Zeilenspalten ändern sich Vor
Nach
Entspricht einem Aktualisierungsvorgang, der die Möglichkeit bietet, Workflowlogik in Echtzeit entweder nach oder vor der Statusänderung anzuwenden. Before entspricht der Voroperationsphase. After entspricht der postoperativen Phase.
Zeile wird gelöscht Vorher Nur "Before" ist verfügbar. Der Vorgang des Löschens von Zeilen entspricht der PreOperation-Phase. Nach dem Auftreten des MainOperation-Vorgangs wird die Zeile gelöscht, und es gibt keine weiteren Statusänderungen, die auftreten können.

Weitere Informationen zu Präoperations-, Hauptoperations- und Postoperationsphasen finden Sie in der Ereignisausführungspipeline.

Verwenden von Echtzeitworkflows

Sie können Echtzeitworkflows konfigurieren, Sie sollten sie jedoch vorsichtig verwenden. Hintergrundworkflows werden im Allgemeinen empfohlen, da sie es dem System ermöglichen, sie anzuwenden, wenn Ressourcen auf dem Server verfügbar sind. Dies hilft, die Arbeit, die der Server zu erledigen hat, zu glätten und die beste Leistung für alle Benutzer des Systems zu gewährleisten. 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 Geschäftsprozesse ist dies in Ordnung, da die Benutzer, die das System verwenden, nicht bewusst sein 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. Sie können z. B. bestimmte Standardwerte für eine Zeile festlegen, wenn sie zum ersten Mal gespeichert wird, 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 eine Wartebedingung verwendet, wird sie ungültig, und Sie können ihn erst aktivieren, wenn Sie die Wartebedingung entfernen.

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 "Vorher" auswählen, sagen Sie, dass die Logik im Echtzeitworkflow angewendet werden soll, bevor Daten gespeichert werden, die den Status ändern. Dadurch erhalten Sie die Möglichkeit, die Werte zu überprüfen, bevor andere Logik nach dem Vorgang angewendet wurde, und verhindert, dass weitere Logik ausgeführt wird. Sie können beispielsweise zusätzliche Logik in einem Plug-In oder einer benutzerdefinierten Echtzeitworkflowaktion haben, die Aktionen für ein anderes System initiieren kann. Indem Sie die weitere Verarbeitung anhalten, können Sie Fälle vermeiden, von denen andere Systeme betroffen sind. Das Anwenden von Echtzeitworkflows vor diesem Ereignis bedeutet auch, dass andere Echtzeitworkflow- oder Plug-In-Aktionen, die möglicherweise gespeicherte Daten enthalten, 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

Überwachen und Verwalten von Echtzeitworkflowprozessen
Bewährte Methoden für Echtzeitworkflowprozesse