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.
|