Variablen und Umgebungsvariablen nutzen

Alle Fragen, Tipps und Tricks rund um ACMP AutoMATE
Antworten
theogott
Beiträge: 15
Registriert: So Feb 27, 2011 3:29 pm

ACMP AutoMATE kennt das Konzept von Variablen. Das sind Platzhalter, genauso wie die Umgebungsvariablen (=Environment Variable), die man vom DOS her kennt.

Während eine Environment Variable zum Beispiel "VM_SERIAL" heissen kann, sind Variablen im Package Robot immer wie folgt aufggebaut:

Code: Alles auswählen

$$ABC
Also zweimal das "$" und dann drei Buchstaben. Groß und Kleinschreibung werden dabei nicht unterschieden.

Die Variablen: $$ABC und $$abc sind somit die gleiche Variable.

Wie weist man einer solchen Variable nun einen Wert, zum Beispiel eine Seriennummer, zu? Ganz einfach:

Code: Alles auswählen

VAR\$$ABC=1234-56768-0987
Man kann nun die Variable überall im Skript verwenden, wo sonst Text stehen würde, dann wird entsprechend die Seriennummer eingefügt.

Zum Beispiel:

Code: Alles auswählen

RST\$$ABC
Wenn man den Inhalt einer Variable kontrollieren will kann man sich eine Messagebox anzeigen lassen:

Code: Alles auswählen

MBX\ Der Inhalt ist:$$ABC
oder etwas geordneter, mit einem Zeilenvorschub:

Code: Alles auswählen

MBX\ Der Inhalt ist:$crlf$$$ABC
Nun wissen wir, wie man die ACMP AutoMATE-Variablen verwendet. Aber wie kommen nun die Environment-Variablen ins Spiel?

Dazu gibt es die Befehle:
"EVG\[Daten]" für "EnvironmentVariableGet",
"EVS\" für "EnvironmentVariableSet",
"IEE\[Daten]" für "IfExistsEnvironmentvariable",
"EEE\" für "EndExistsEnvironmentvariable",
"ESE\[Daten]" für "EnvironmentStringExpand",
"ESG\" für "EnvironmentStringGet",
"ESS\" für "EnvironmentStringSet".
Aber um nur einfach den Wert einer Environment-Variable in eine AutoMATE-Variable zu übertragen benötigen wir nur den EVG\-Befehl.

Nehmen wir an, unsere Environment Variable wäre "VM_SERIAL" und wir wollen den Wert in die AutoMATE-Variable "$$VMS" übertragen um diese später im Skript zu verwenden.

Das geht so:

Code: Alles auswählen

EVG\VM_SERIAL
VAR\$$VMS=$v1$


Nun können wir die $$VMS im Skript überall anstelle von Text - oder zusammen mit Text verwenden.

Zum Beispiel mit:

Code: Alles auswählen

SBT\10|Die Seriennummer ist: $$VMS
Wir können auch Text mit Variablen mischen. Anders als bei VB-Script benötigen wir dazu keine "" Gänsefüßchen oder Verkettungszeichen (&,+). Der Grund dafür ist die fixe Länge der AutoMATE-Variablen. Dadurch weiss das AutoMATE genau wo eine Variable anfängt und wo diese aufhört.

Und wie übergeben wir nun einen Returncode zurück an die Softwareverteilung?
Dazu dient der Befehl:

Code: Alles auswählen

SRV\[Zahl oder Variable]
Also zum Beispiel:

SRV\1

würde den Errorlevel 1 auslösen. So haben wir alle Möglichkeiten in umserem Skript.
Theo Gottwald
Selbständiger IT-Berater

ACMP AutoMATE Professional
Let the Robots do it for you.
Antworten