In seinem Kommentar zu meinem ersten Blogpost, hat Thierry mich um einen Artikel zu dem Thema gebeten. Und nachdem ich bei der Automic World in Berlin dieses Jahr bei meinem Vortrag kurz darüber sprach, landeten einige Fragen dazu in meiner Mailbox. Das Thema scheint bei einigen von Ihnen also auf großes Interesse zu stoßen.

Es geht um die Curly Brackets Notation und darum, wie sie funktioniert und was man damit machen kann. Wie immer werde ich euch das auch an ein paar nützlichen Beispielen verdeutlichen.

So funktioniert die Curly Brackets Notation

In Skripts klappt mit GET_VAR alles wunderbar, aber VARA-Werte sind auch an vielen anderen Stellen nützlich. Zum Beispiel:

  • Als Default-Werte für Prompt-Sets
  • Als Werte in anderen VARA-Objekten, beispielsweise als Wert von Bind-Paramatern in SQL Secure VARAs
  • Für Pfade in Filetransfer-Objekten

GET_VAR kann in diesen Situationen nicht genutzt werden. Seit Version 9 steht aber genau dafür die Curly Brackets Notation zur Verfügung.

In Skripts benutzen Sie weiterhin GET_VAR, Curly Brackets können nicht benutzt werden. Nur mit der Skript-Anweisung :RESOLVE (Beschreibung im Automic Manual) können Sie Curly Brackets auflösen.

Die Syntax der Curly Brackets Notation ist denkbar einfach:

{Variablen-Objekt [, Key [, Spaltennummer ]]}

Im folgenden Screenshot sehen Sie das VARA-Objekt VARA_LOCATIONS mit den Keys AUSTRIA, CHINA und USA. Das Objekt hat zwei Spalten: Value 1 und Value 2.

VARA_LOCATIONS has 3 keys and 2 columns.

Wir interessieren uns nun für den Key USA und die zweite Spalte Value 2. Das Feld ist im Screenshot rot markiert und hat den Wert „North America“. Um darauf zuzugreifen, würden wir in einem Skript GET_VAR benutzen:

:SET &CONTINENT# = GET_VAR( VARA_LOCATIONS, USA, 2)

Und so referenzieren Sie auf den gleichen Wert mit Curly Brackets Notation:

{VARA_LOCATIONS, USA, 2}

Dabei spielt es keine Rolle, ob es sich um ein statisches oder ein dynamisches VARA-Objekt (z.B. SQL VARAs) handelt. Die Anwendung funktioniert genau gleich.

Es gibt übrigens auch im Automic Manual einen Abschnitt zur Curly Brackets Notation – allerdings ziemlich gut versteckt. Die Beschreibung wurde in den Abschnitt „Arbeiten mit Objekten/Allgemeine Informationen“ integriert.

Anwendung der Curly Brackets Notation: Konfigurations-VARAs

Wie in meinem Vortrag bei der AW in Berlin erwähnt, verwende ich statische VARAs, um die Konfiguration von Automatisierungslösungen zu speichern.

So gut wie alle meine Jobs benutzen PromptSets, damit sie möglichst einfach wiederzuverwenden sind. Mit Hilfe der Curly Brackets Notation bringe ich die Konfigurations-Werte meiner Konfigurations-VARAs zu den Jobs.

Die folgenden Screenshots verdeutlichen das Prinzip:

Das SCRI_ECHO gibt den eingegebenen Text wieder.

Die Eingabe erfolgt mittels PRPT_ECHO.

In meiner DUMMY-Solution sollen die beiden Konfigurations-Werte “Output” aus der Konfigurations-VARA VARA_CONF_DUMMY ausgegeben werden.

Dazu verwende ich im Workflow der DUMMY-Lösung zwei Mal das oben gezeigte SCRI_ECHO. Bei einer echten Lösung würde ich für die Tasks Alias-Namen vergeben.

In den Properties der beiden Workflow-Tasks verwende ich schließlich die Curly Brackets Notation (rot markiert), um die Konfigurations-Werte zu lesen.

Anwendung der Curly Brackets Notation: Nutzung in VARA-Objekten

Der zweite wichtige Anwendungsbereich der Curly Brackets Notation ist die Nutzung in VARA-Objekten. Man kann damit im Wert eines VARA-Eintrags auf einen anderen VARA-Eintrag referenzieren. Egal ob aus derselben VARA oder aus einer anderen.

Die VARA VARA_SCR enthält die Werte für das Beispiel.

In der VARA VARA_EXAMPLE wird mit der Curly Brackets Notation auf die Werte referenziert.

Nun nutzen wir die Werte aus VARA_EXAMPLE in einem Skript:

:RESOLVE &SENTENCE1# = "{VARA_EXAMPLE,Sentence1,1}"
:RESOLVE &SENTENCE2# = "{VARA_EXAMPLE,Sentence2,1}"

Das erzeugt den folgenden Report:

Was interessiert Sie sonst so?

Ich freue mich immer besonders, wenn ich mit meinen Artikeln direkt Fragen von Lesern beantworten kann. Deshalb versuche ich auch immer, das umzusetzen, so schnell es mein Redaktionsplan erlaubt.

Wenn Ihnen auch noch Fragen zur Automation Engine unter den Nägeln brennen, zögern Sie also nicht, sie hier in den Kommentaren zu stellen oder auch per Mail an mich zu schicken.