Skip to main content

Ereignisverarbeitung mit Aktionssätzen

Eine Benutzerschnittstelle (UI) kann Steuerelemente enthalten, mit denen Benutzer vor dem Formularversand bestimmte Aktionen ausführen können, um so das Benutzererlebnis interaktiver zu gestalten.

Das Ereignis-Aktions-Modell

Steuerelemente basieren auf einem Ereignis-Aktions-Modell, das für Steuerelemente wie Kontrollkästchen und Schaltflächen eine Ursache-Wirkungs-Beziehung aufstellt. Das Ereignis ist ein vom Benutzer betätigter Auslöser, wie etwa ein Klick auf eine Schaltfläche oder eine Eingabe in einem Feld. Die Aktion ist die Reaktion der Anwendung, die etwa einen Case erstellt oder Feldinformationen anzeigt, um dem Benutzer Orientierung zu geben.

Ein Beispiel: Ein Onlinehändler möchte seinen Kunden ermöglichen, ihre Versandadresse auch als Rechnungsadresse zu verwenden. Das Formular, in das die Rechnungsadresse eingegeben wird, enthält ein Kontrollkästchen. Wird dieses vom Benutzer angeklickt, kopiert die Anwendung die Versandadresse in das Rechnungsadressfeld und verhindert dessen weitere Bearbeitung. Entfernt der Benutzer den Haken aus dem Kontrollkästchen, löscht die Anwendung die Eingabe aus dem Rechnungsadressfeld und der Benutzer kann eine andere Adresse eingeben.

Verschieben Sie die vertikale Linie in der Mitte der folgenden Abbildung, um die Veränderung des Adressformulars anzuzeigen, wenn ein Benutzer den Haken im Kontrollkästchen setzt bzw. entfernt.

Die folgende Tabelle enthält Beispiele für Ereignis-Aktions-Paare.

Ereignis Aktion
Klick auf ein Steuerelement (Schaltfläche, Link, Symbol etc.) Öffnen eines neuen Fensters
Doppelklick auf eine Zeile im Raster Bearbeitung des Zeileninhalts ermöglichen
Betätigung der Eingabetaste Anzeige eines Menüs
Auswahl eines Werts aus einer Liste von Bundesstaaten oder Provinzen Aktualisierung der Standortliste
Eingabe in das Mengenfeld Bestandsprüfung für die Auftragsbearbeitung

Aktionssätze

In Pega-Plattform-Anwendungen dienen Aktionssätze zum Konfigurieren von Steuerelementen. Aktionssätze bestehen aus einem oder mehreren Ereignissen und einer oder mehreren Aktionen. Optional können Aktionsbedingungen hinzugefügt werden, sodass die Aktion nur dann eintritt, wenn die Bedingungen erfüllt sind.

Vorsicht: Ereignisse und Aktionen können in mehreren Aktionssätzen verwendet werden. Dementsprechend können mehrere Ereignisse ein und dieselbe Aktion auslösen; ein Ereignis kann aber auch mehr als nur einen Aktionssatz auslösen. Wird mehr als ein Aktionssatz konfiguriert, ist darauf zu achten, dass für das jeweilige Ereignis keine Widersprüche entstehen.

Klicken Sie auf die Pluszeichen (+) in der folgenden Abbildung, um anzuzeigen, wie bei einer Onlinebestellung das Rechnungsadressfeld eines Formulars per Aktionssatz automatisch ausgefüllt wird.

Prüfen Sie mit der folgenden Interaktion Ihr Wissen:

Aktionssatz-Optimierung

Berücksichtigen Sie bei der Konfiguration eines Aktionssatzes, wie sich Aktualisierungsaktionen und Serveraufrufe auf das Benutzererlebnis und die Daten auswirken. Der Benutzer-Flow wird beispielsweise unterbrochen, wenn der Benutzer erst warten muss, bis ein Bildschirm aktualisiert wird, oder wenn er manuell zu einem vorherigen Bildschirm zurückkehren muss.

Aktualisieren Sie einen Abschnitt, wenn:

  • die Eigenschaftswerte auf dem Server aktualisiert werden und die UI die neuen Werte wiedergeben muss
  • eine Aktion abgesendet werden muss, die eine Änderung mehrerer Eigenschaften verursacht, die nur auf dem Client stattfindet (wie z. B. das Löschen einer Zeile)
  • Teile der UI aufgrund von anderen Eingaben aus dem Document Object Model (DOM) entfernt werden müssen

Aktualisieren Sie einen Abschnitt nicht, wenn Sie:

  • Benutzereingaben absenden müssen (stattdessen eine Post-Value-Aktion verwenden)
  • eine Datenumwandlung oder Aktivität nach einer Benutzeraktion aufrufen müssen
  • die Sichtbarkeit, den Aktivierungs-/Deaktivierungsstatus oder den schreibgeschützten Status neu berechnen müssen (dann Checkbox Evaluate on client neben dem Ausdrucksfeld aktivieren)

Verwenden Sie möglichst immer eine Aktion Refresh When, um Abhängigkeiten zu deklarieren. Verwenden Sie für schreibgeschützte Verweise, die mit den Daten auf dem Server synchronisiert werden müssen, eine Aktion „Refresh When“, um korrekte Daten zu erhalten. Aktualisieren Sie beispielsweise einen Abschnitt mit Hoteldetails, der nur überarbeitet werden muss, wenn sich der Standort des Hotels ändert.

Wenn „Refresh When“ nicht möglich ist, verwenden Sie eine Aktion Refresh Other Section, die eine gezielte Aktualisierung darstellt. Wenn Sie z. B. bearbeitbare Referenzen haben, die aufgrund anderer oder nicht zu verfolgender Eingaben (z. B. Klicken auf eine Schaltfläche) aktualisiert werden, verwenden Sie „Refresh Other Section“.

    Aktionen im Aktionssatz konsolidieren

    Jede Aktion im Aktionssatz erzeugt mindestens eine HTTP-Anfrage an den Server und wird in der Reihenfolge der Konfiguration ausgeführt. Um die Aktionen zu optimieren und die Anzahl der HTTP-Anfragen an den Server zu verringern, sollten Sie die folgenden Best Practices anwenden:

    • Wenn die Voraktivitäts- oder Vordatenumwandlung im gleichen Kontext wie die Abschnittsaktualisierung läuft, konfigurieren Sie sie in der Abschnittsaktualisierungsaktion.
    • Ändern Sie bei Bedarf den Inhalt Ihrer Voraktivität, wenn Sie sie im Kontext des Aktualisierungsabschnitts ausführen.
    • Verwenden Sie eine Wrapper-Aktivität oder eine Wrapper-Datenumwandlung, um alle Aktionen zu konsolidieren.

    Verschieben Sie die vertikale Linie in der Mitte des folgenden Bildes, um zu sehen, wie die Aktionen in einem Aktionssatz in einer Wrapper-Aktivität zusammengefasst werden können.

    Unterschied zwischen Nachbearbeitungs- und Aktualisierungsabschnittsaktionen

    In der Standardeinstellung sendet die Aktion Refresh section alle ausstehenden Änderungen, die auf ein Formular angewendet wurden, zurück an den Server. Es ist nicht notwendig, eine Post value-Aktion vor einer Abschnittsaktualisierungsaktion wie Refresh This Section zu verwenden.

    Eine „Post Value“-Aktion aktualisiert den Server und zwingt alle „Refresh When“-Bedingungen zur Neubewertung. Eine „Post Value“-Aktion kann bei When-Bedingungen mehrere Abschnitte betreffen. Verwenden Sie eine „Post Value“-Aktion statt einen Refresh-Abschnitt für jeden dieser Abschnitte. Die Verwendung einer „Post Value“-Aktion zur Aktualisierung aller Abschnitte vermeidet auch die Hardcodierung des Abschnittsnamens im Aktionssatz bei Verwendung eines „Refresh Other“-Abschnitts.

    So gibt ein Benutzer beispielsweise in einer Anwendung für den Fahrzeugkauf seine Customer ID ein, um Zubehör anzuzeigen. Wenn sich der Wert der Customer ID ändert, werden die Bedingungen in zwei Abschnitten mit den gespeicherten Kundendaten verglichen, z. B. mit dem Status der Elite-Mitgliedschaft, der Dauer der aktiven Mitgliedschaft und der Anzahl der Fahrzeugkäufe. Der Bereich „Exclusive Lifestyle Accessoires“ wird nur aktualisiert, wenn eine gültige Customer ID mit einem Benutzer verknüpft ist, der drei oder mehr Fahrzeuge gekauft hat. Der Bereich „Elite Car Accessories“ wird nur aktualisiert, wenn eine gültige Customer ID zu einem Benutzer gehört, der seit über zehn Jahren ein aktives Elite-Mitglied ist. 

    Verschieben Sie die vertikale Linie in der Mitte des nachfolgenden Bildes, um die Ansicht für einen ungültigen Benutzer mit der Ansicht eines Elite-Mitglieds zu vergleichen:

    Hinweis: Die Aktionen Run activity, Run data transform und Set value senden die an einem Formular vorgenommenen Änderungen nicht an den Server zurück. Wenn Sie einige in einem Formular vorgenommen Änderungen an eine Aktivität oder eine Datentransformation weitergeben möchten, müssen Sie diese als Parameter übergeben.

    Dieses Thema ist im folgenden Modul verfügbar:

    If you are having problems with your training, please review the Pega Academy Support FAQs.

    Fanden Sie diesen Inhalt hilfreich?

    50% fanden diesen Inhalt hilfreich

    Möchten Sie uns dabei helfen, diesen Inhalt zu verbessern?

    We'd prefer it if you saw us at our best.

    Pega Academy has detected you are using a browser which may prevent you from experiencing the site as intended. To improve your experience, please update your browser.

    Close Deprecation Notice