Tipps & Tricks - Groovy-Bedingungen im Prozess
Im Modul
Prozesse
können Bedingungen in Groovy formuliert werden, mit denen unter anderem auf
Requestwerte reagiert werden kann. In der Beispiel-Applikation, die Sie
hier herunterladen und wie gewohnt mit dem ebenfalls enthaltenen Prozess
importieren können, soll die Freigabe mit Klick auf
eine Schaltfläche ausgelöst werden. Die Schaltfläche speichert gleichzeitig den
aktuellen Datensatz. Um nur den aktuellen Stand zu sichern, kann die Schaltfläche
Speichern benutzt werden. Die Schaltfläche
Freigabe übergibt bei Klick auch den Request-Parameter
rq_customMyParam mit dem Wert
release.
Im Prozess soll mit einer Groovy-Bedingung auf diesen Parameter reagiert werden.
Der Datengruppen-Ereignisbehandler reagiert auf das Einfügen oder Ändern
des Datensatzes.
Mit Groovy-Skript wird in der Bedingung der in der Schaltfläche
Freigabe definierte Request-Parameter
ausgelesen. Hier das Code-Beispiel:
def strReleased = g_request.get('rq_customMyParam')
if("release" == strReleased)
return releasePressed
return releaseNotPressed
Enthält der Requestparameter den Wert
release, so
wird mit der Return-Anweisung die Verbindungs-ID
releasePressed erzeugt. Andernfalls wird die Verbindungs-ID
releaseNotPressed erzeugt.
Die Verbindungs-ID ist im Eigenschaftendialog des jeweiligen Zweiges eingetragen.
Dem Zweig
releasePressed wird gefolgt, wenn die
Freigabe erteilt wurde. Der Zweig
releaseNotPressed
entspricht dem klassischen ELSE-Zweig wird ausgeführt, wenn die Schaltfläche
Speichern geklickt wurde, mit der kein Requestparameter-
Wert übergeben wird. Die Bezeichnung für eine Verbindungs-ID ist beliebig, muss
aber immer mit einem kleinen Buchstaben beginnen, wie hier z.B. die Bezeichnung
releasePressed.
Im folgenden Prozessschritt wird mit einer Datengruppenaktion der Freigabe-Status
gesetzt.
|
Alle in der Groovy-Bedingung definierten Verbindungs-IDs müssen
auch im Prozess als Ausgänge der Bedingung aufgenommen sein,
sonst kann es zu einem Fehler in der Prozessausführung kommen.
|