Altova MobileTogether Designer

Aktionsgruppen mit Aktionsgruppenparametern

Zur Startseite Zurück Nach oben Weiter

In Aktionsgruppen können zwei Arten von Parametern verwendet werden:

 

Einfache Parameter, die im Abschnitt Aktionsgruppen mit Parametern beschrieben sind. Sie werden durch das Dollarzeichen $ vor dem Namen gekennzeichnet.

Aktionsgruppenparameter, die Aktionsgruppen als ihre Werte erhalten. Sie werden durch das Prozentzeichen % vor dem Namen gekennzeichnet.

 

Die Parameter $length und $width in der Abbildung unten sind einfache Parameter, während %RectangleProperty ein Aktionsgruppenparameter ist. Um einen Parameter als Aktionsgruppenparameter zu erstellen, erstellen Sie den Parameter als einfachen Parameter und aktivieren Sie anschließend das dazugehörige Kontrollkästchen "Aktionsgruppe" (siehe Abbildung unten).

MTDAGParams01

 

Funktionsweise von Aktionsgruppenparametern

Ein Aktionsgruppenparameter ist ein Parameter, dessen Wert eine Aktionsgruppe ist, in der keine Parameter deklariert sind. Auf diese Art kann die aufgerufene Aktionsgruppe wie eine Funktion, die MobileTogether-Aufgaben ausführt, behandelt werden. Aktionsgruppenparameter funktionieren folgendermaßen:

 

Sie deklarieren Parameter in einer Aktionsgruppe. Diese Parameter können in Aktionen der Aktionsgruppe verwendet werden. So wird etwa in der Abbildung oben die Aktionsgruppe RectangleProperty in der Aktionsgruppe Calculate als einer ihrer Parameter deklariert. Dadurch wird die Aktionsgruppe RectangleProperty zu einem Aktionsgruppenparameter. Sie wird anschließend in der Aktionsgruppe Calculate verwendet.

Die Werte aller Parameter einer Aktionsgruppe (einschließlich derer aus einem Aktionsgruppenparameter) werden bei Aufruf der Aktionsgruppe bereitgestellt. Dies geschieht, wenn die Aktion "Aktionsgruppe ausführen" an dieser Aktionsgruppe ausgeführt wird. Wenn z.B. die Aktionsgruppe Calculate (siehe Abbildung oben) über eine "Aktionsgruppe ausführen"-Aktion aufgerufen wird, werden die Werte der drei Parameter der Aktionsgruppe (siehe Abbildung unten) an diese übergeben.

MTDAGParams01Execute

 

Anwendungsbeispiel

Hier sehen Sie ein einfaches Beispiel zur Veranschaulichung der Verwendungsweise von Aktionsgruppenparametern. Angenommen, Sie möchten anhand einer vom Benutzer angegebenen Länge und Breite die Fläche, die Länge der Diagonale oder den Umfang eines Rechtecks berechnen (siehe Abbildung unten). Der Benutzer kann auswählen, welche Rechteckeigenschaft berechnet werden soll.

MTDAGParamsExample

Wir können für jede der drei Eigenschaften eine Aktionsgruppe, in der keine Parameter deklariert werden, erstellen. Im Prinzip werden diese drei Aktionsgruppen als Funktionen zur Berechnung der jeweiligen Rechteckeigenschaft verwendet, wie Sie in der Abbildung unten sehen.

MTDAGParams02

Wir erstellen in unserem Beispiel nun eine vierte Aktionsgruppe (namens Calculate), in der je nach Bedarf die drei anderen Aktionsgruppen verwendet werden (siehe Abbildung unten). Zur Auswahl der gewünschten Aktionsgruppe erstellen wir einen Aktionsgruppenparameter ( in unserem Beispiel mit dem Namen %RectangleProperty). Beachten Sie, dass in der Aktionsgruppe Calculate auch zwei einfache Parameter ($length und $width) deklariert sind, anhand derer die Fläche, die Diagonalen und der Umfang berechnet werden.

MTDAGParams01

Wir müssen die Aktionsgruppe Calculate nun nur über eine "Aktionsgruppe ausführen"-Aktion aufrufen und im Aufruf die Werte der drei Parameter der Aktionsgruppe Calculate bereitstellen. Idealerweise wird die Aktion "Aktionsgruppe ausführen'" bei Auslösung eines Ereignisses ausgeführt. In unserem Beispiel in der Abbildung unten wird die Aktion ausgeführt, wenn eine Auswahlliste bearbeitet wird.

MTDAGParams03

Bei Ausführung der Aktion "Aktionsgruppe ausführen" geschieht Folgendes:

 

1.Die Aktionsgruppe Calculate wird aufgerufen. Die Werte ihrer Parameter $length und $width werden aus Nodes der Seitenquelle $PERSISTENT übergeben (siehe Abbildung unten). Die Werte der RectangleProperty-Aktionsgruppenparameter müssen eine Aktionsgruppe im Projekt sein und können daher über die Auswahlliste ausgewählt werden; es kann jede beliebige Aktionsgruppe (für die jeweils ausgewählte Rechteckeigenschaft) ausgewählt werden. In der Abbildung in unserem Beispiel (oben) wurde die Aktionsgruppe Area (wenn der Node $PERSISTENT/Root/RectangleProperty den String "Area" enthält) ausgewählt.

2.Die Aktionsgruppe Calculate wird nun mit den an diese übergebenen Parameterwerten ausgeführt. Wenn Sie einen Blick auf die Abbildung oben werfen, sehen Sie, dass darin eine Variable namens $result definiert ist. Diese Variable erhält einen Wert, der der Rückgabewert der durch den Parameter %RectangleProperty definierten Aktionsgruppe ist. Diese Variable enthält daher in der Folge den Wert der ausgewählten Rechteckeigenschaft (Fläche, Diagonalenlänge oder Umfang).

3.Die Aktionsgruppe Calculate aktualisiert nun einen Node in der $PERSISTENT-Struktur mit diesem Ergebnis.

 

Einzelheiten zu den Aktionsgruppendefinitionen

 

Calculate (siehe Abbildung oben): Deklariert zwei einfache Parameter ($length und $width) und einen Aktionsgruppenparameter (%RectangleProperty). Der Aktionsgruppenparameter %RectangleProperty kann als Wert jede der anderen drei Aktionsgruppen erhalten, von denen alle ohne Parameter definiert wurden. In der Aktionsgruppe Calculate definieren wir eine Let-Aktion, die als Aktionsgruppenergebnis definiert ist. In der Let-Aktion ist eine Variable namens $result definiert, die als Wert das Ergebnis der Ausführung der ausgewählten Aktionsgruppe erhält.

Area (Abbildung unten): Diese Aktionsgruppe enthält eine einzige Rückgabewert-Aktion, die das Produkt der beiden einfache Parameter $length und $width enthält. Diese Aktionsgruppe enthält keine Parameter und kann daher als Wert von %RectangleProperty verwendet werden. XPath zur Berechnung der Fläche: round(($width*$length), 3).

MTDAGParams02

Diagonals: Diese Aktionsgruppe ähnelt der Aktionsgruppe Area. Sie enthält eine einzige Rückgabewert-Aktion, die die Länge der Diagonalen eines Rechtecks zurückgibt (welche die Quadratwurzel der Summe der Quadrate der beiden einfachen Parameter $length und $width ist; XPath: round(math:sqrt($width*$width $length*$length), 3)).

Perimeter: Diese Aktionsgruppe ähnelt den Aktionsgruppen Area und Diagonals. Sie enthält eine einzige Rückgabewert-Aktion, die den Umfang eines Rechtecks zurückgibt (XPath: round((2*$width + 2*$length), 3)).

 

Beachten Sie in der Beschreibung der vier Aktionsgruppen oben die folgenden Punkte:

 

Die Aktionsgruppe Calculate enthält drei Parameter: zwei einfache Parameter und einen Aktionsgruppenparameter.

In den drei anderen Aktionsgruppen (Area, Diagonals, Perimeter) ist kein Parameter deklariert.

Jede der drei anderen Aktionsgruppen (Area, Diagonals, Perimeter) hat eine Rückgabewert-Aktion, die eine Berechnung durchführt. Der Rückgabewert ist das Ergebnis der Aktionsgruppe.

Jede der drei Aktionsgruppen (Area, Diagonals, Perimeter) kann als Wert des Aktionsgruppenparameters %RectangleProperty definiert werden und würde in diesem Fall bei der Verarbeitung das jeweilige Aktionsgruppenergebnis zurückgeben.

 

Anmerkung:Das oben gezeigte Beispiel wurde absichtlich einfach gehalten und soll die Funktionsweise von Aktionsgruppenparametern demonstrieren. Aktionsgruppenparameter werden aber am besten zusammen mit dynamischen Inhalten und zur Ausführung komplexer Aktionen verwendet.

 

Verarbeiten von Aktionsgruppenparametern

Ein Aktionsgruppenparameter erhält eine Aktionsgruppe als seinen Wert. Diese Aktionsgruppe kann auf zwei nützliche Arten als Parameterwert verarbeitet werden:

 

Sie kann ein Ergebnis, nämlich das Aktionsgruppenergebnis, bereitstellen, welches anschließend dazu verwendet werden kann, um den Wert einer mit einer Let-Aktion definierten Variablen festzulegen. Diese Art der Verwendung wurde im Beispiel oben beschrieben.

Sie kann verwendet werden, um bestimmte MobileTogether-Aufgaben, wie z.B. das Aktualisieren von Nodes oder das Senden einer E-Mail durchführen. Es gibt dabei kein Aktionsgruppenergebnis. Dazu wird in der übergeordneten Aktionsgruppe eine "Aktionsgruppe ausführen"-Aktion für die Aktionsgruppenparameter definiert (siehe Abbildung unten). Ziehen Sie dazu den Aktionsgruppenparameter aus dem Aktionsgruppenbereich in die Ereignisdefinition. Bei dieser Verwendungsart können Sie eine Aktionsgruppe wiederverwenden, um wiederholt vorkommende Aufgaben durchzuführen. Die wiederholt vorkommende Aufgabe kann in Form einer Aktionsgruppe definiert werden, die dann während der Ausführung der Lösung an verschiedenen Stellen ausgeführt werden kann.

MTDAGParams05

Sie können natürlich auch beide Gruppen von Aktionen miteinander kombinieren.

 

© 2018-2024 Altova GmbH