Clientseitige Benutzerservices wiederverwenden

Um einen clientseitigen Benutzerservice in aussagekräftige Unterabläufe aufzugliedern, die separat verwaltet und in verschiedenen Kontexten wiederverwendet werden können, können Sie die wiederverwendbaren Unterabläufe als verschachtelte clientseitige Benutzerservices definieren.

Informationen zu dieser Task

Sie können die verschachtelten Services in anderen clientseitigen Benutzerservices wiederverwenden, die entweder Services der höchsten Ebene, des Stammelements oder andere verschachtelte clientseitige Benutzerservices sein können. Services des Stammelements können einen oder mehrere ein- oder mehrschichtige verschachtelte Service enthalten.

Wenn Sie die Servicelogik für Ihre Tasks oder Instanzbenutzerschnittstellen im Designer erstellen, können Sie allgemeine Schritte wiederverwenden, die in anderen clientseitigen Benutzerservices definiert sind. Das Erstellen von Versicherungsansprüchen beispielsweise umfasst möglicherweise eine Reihe allgemeiner Schritte. Wenn Sie die Schritte in einem verschachtelten clientseitigen Benutzerservice definieren, können Sie sie in anderen clientseitigen Benutzerservices wiederverwenden. Zur Laufzeit werden der oder die verschachtelten clientseitigen Benutzerservices als Teil des übergeordneten Service des Stammelements ausgeführt.

Beim Erstellen eines clientseitigen Benutzerservice können Sie angeben, ob der Service als verschachtelter Service oder als Service des Stammelements verwendet werden soll. Sie können die von Ihnen getroffene Auswahl in den Eigenschaften für Überblick überprüfen.

Bevor Sie einen verschachtelten clientseitigen Benutzerservice erstellen, machen Sie sich mit den folgenden Konzepten vertraut.
Nutzungseinstellungen
Die Nutzungseinstellungen des clientseitigen Benutzerservice des Stammelements hängen vom beabsichtigten Verwendungszweck an. Sie können diese Einstellungen in den Eigenschaften für Überblick angeben. Die Einstellung Verwenden als ist für verschachtelte Services inaktiviert, weil die Konfiguration eines verschachtelten Service auf Wiederverwendung ausgelegt ist. Um sicherzustellen, dass das Verhalten des Service des Stammelements (Root-Service) zur Laufzeit konsistent ist, verwenden Sie in einem verschachtelten Service Elemente, die mit dem angegebenen Nutzungstyp des Service des Stammelements kompatibel sind.
Geltungsbereich der Variablen
In einer Hierarchie von verschachtelten clientseitigen Benutzerservices werden Variablen isoliert definiert und nicht automatisch von den übergeordneten clientseitigen Benutzerservices und ihren verschachtelten Services gemeinsam genutzt. Zur Übergabe von Variablen zwischen übergeordneten clientseitigen Benutzerservices und ihren verschachtelten Services müssen Sie die Datenzuordnung festlegen. Weitere Informationen finden Sie unter Datenzuordnung für verschachtelte clientseitige Benutzerservices.
Für Eingabevariablen und private Variablen, die Sie für clientseitige Benutzerservices des Stammelements oder für verschachtelte clientseitige Benutzerservices definieren, können Sie Standardwerte angeben, die zur Laufzeit wirksam werden. Für die Standardwerte können Sie einfache und komplexe Werte sowie Arrays für Listen angeben. Wenn Sie über Umgebungsvariablen oder freiliegende Prozesswerte (EPVs) verfügen, die Sie in Ihrem clientseitigen Benutzerservice verwenden möchten, können Sie diese in der Sicht Variablen mit dem clientseitigen Benutzerservice verknüpfen. Siehe Variablen deklarieren.
Stay-On-Page-Verhalten
Wenn Sie in einem verschachtelten clientseitigen Benutzerservice auf der Basis der definierten Logik ein Ereignis 'Stay-On-Page' verwenden, kann das Ereignisverhalten das Servicediagramm zur letzten angezeigten Seite zurückleiten. Sie kann sich im gleichen Service wie das Ereignis 'Stay-On-Page' oder in einem übergeordneten clientseitigen Benutzerservice befinden.
Fehlerbehandlung
Fehlerereignishandler, die in einer Hierarchie verschachtelter clientseitiger Benutzerservices definiert sind, sind nicht für alle Services in der Hierarchie sichtbar. Ein Fehlerereignishandler, der in einem verschachtelten clientseitigen Benutzerservice definiert ist, fängt Fehler aus dem Service, in dem er definiert ist, sowie aus allen verschachtelten Services darunter ab.
Wenn ein Fehlerendereignis in einem Fehlerereignishandler in einem verschachtelten clientseitigen Benutzerservice verwendet wird, beendet es den Ablauf des verschachtelten Service, während die Ausführung des übergeordneten Service fortgesetzt wird. Wenn der clientseitige Benutzerservice in einem Prozess des Stammelements verwendet wird, gibt das Fehlerendereignis die Fehlerdaten den ganzen Weg an den Prozess weiter. Ein Fehlerzwischenereignis, das auf der Ebene des Prozesses eingerichtet ist, kann den Fehler abfangen, der durch das auf der Ebene des Benutzerservice definierten Fehlerendereignis ausgelöst wird.
Weitere Informationen zur Fehlerbehandlung in clientseitigen Benutzerservices finden Sie unter Fehler in clientseitigen Benutzerservices behandeln.
Handhabung von Datenänderungen
Wenn clientseitige Benutzerservices einen oder mehrere verschachtelte clientseitige Benutzerservices enthalten, wird nur der Datenänderungsereignishandler auf Stammebene verwendet. Wenn der Datenänderungsereignishandler in einem verschachtelten Service an eine Ansicht gebunden ist, können Sie eine solche Bindung an den Datenänderungsereignishandler des Stammelements umleiten, indem Sie die Option Ereignishandler für Datenänderung im Stammelement auslösen in den Eigenschaften für die Implementierung der verschachtelten Serviceaktivität auswählen.
In den Verhalten-Eigenschaften werden alle Seitenbegrenzungs-Ereignisse im aktuellen clientseitigen Benutzerservice angezeigt, die den Ereignishandler für den Stammdatenwechsel auslösen können. Wenn verschachtelte Services vorhanden sind, für die die Option Ereignishandler für Datenänderung im Stammelement auslösen ausgewählt ist, werden die verschachtelten Services auch in der Liste Verhalten angezeigt.
Mithilfe der Datenänderungseigenschaften einer Seite können Sie clientseitig den Seiteninhalt validieren oder eine Schaltflächenaktivierung über eine Bedingungsvariable steuern. Hierzu können Sie schnell ausführendes clientseitiges JavaScript mit Prüfscriptlogik hinzufügen, die auf Datenänderungen in der Seite reagiert. Weitere Informationen zur Handhabung von Datenänderungen in clientseitigen Benutzerservices finden Sie unter Coach-Daten ohne Verlassen eines Coach validieren.

In der folgenden Prozedur wird beschrieben, wie ein wiederverwendbarer Benutzerservice in einen anderen clientseitigen Benutzerservice verschachtelt werden kann. Das bereitgestellte Beispiel veranschaulicht die einzelnen Schritte.

Vorgehensweise

Führen Sie die folgenden Schritte aus, um einen wiederverwendbaren clientseitigen Benutzerservice in einen anderen clientseitigen Benutzerservice zu verschachteln:

  1. Öffnen Sie die Workflowautomatisierung , die den clientseitigen Benutzerservice des Stammelements enthält.
  2. Erstellen Sie einen verschachtelten clientseitigen Benutzerservice, der die allgemeinen Schritte enthält, die wiederverwendet werden sollen. Siehe Clientseitigen Benutzerservice erstellen.
    Wählen Sie im Erstellungsassistenten die Option Als verschachtelten Service verwenden aus, um sicherzustellen, dass der von Ihnen erstellte clientseitige Benutzerservice für die Wiederverwendung konfiguriert ist. Um anzugeben, dass der neue Service auf mehreren Gerätetypen verwendet werden soll, wählen Sie die Option Für die Verwendung auf mehreren Geräten aus.
    Nach der Konfiguration des Service als verschachtelter Service ist der Name des Service in Schritt 6 zur Auswahl verfügbar.
  3. Öffnen Sie den clientseitigen Benutzerservice des Stammelements, mit dem Sie arbeiten wollen.
  4. Fügen Sie in der Ansicht Diagramm den verschachtelten clientseitigen Benutzerservice Tool für verschachtelte clientseitige Benutzerservices hinzu und verbinden Sie ihn nach Bedarf im Stammservicediagramm.
  5. Geben Sie in den Eigenschaften für die Implementierung des Knotens für verschachtelte Services unter Verhaltenden clientseitigen Benutzerservice an, der verschachtelt werden soll. Klicken Sie auf Auswählen, um einen vorhandenen clientseitigen Benutzerservice auszuwählen bzw. klicken Sie auf Neu, um einen neuen Service zu erstellen. Siehe Clientseitigen Benutzerservice erstellen.
    Einschränkung: Verwenden Sie bei der Modellierung Ihrer clientseitigen Benutzerservices kein kreisförmiges Verschachtelungsmuster, um nicht erwartetes Verhalten zur Laufzeit zu vermeiden. Beispiel: Wenn Ihr Modell einen clientseitigen Benutzerservice A enthält, in dem ein clientseitiger Benutzerservice B verschachtelt ist, konfigurieren Sie B nicht so, dass ein Kreis und eine Verschachtelung von A entsteht.
  6. Doppelklicken Sie im Diagramm auf den verschachtelten Serviceknoten, um den Service zu öffnen und nach Bedarf zu bearbeiten.
  7. Optional: Verwenden Sie im Diagramm des Root-Service die Optionen für Datenzuordnung , um die Variablen im verschachtelten Service zu initialisieren. Siehe Datenzuordnung für verschachtelte clientseitige Benutzerservices.
  8. Klicken Sie auf Speichern oder auf Bearbeitung beenden.
    Details zur Deklaration von Variablen für die clientseitigen menschlichen Dienste finden Sie unter Deklaration von Variablen