Script-Anweisung: Überprüft, ob der Wert einer Variable bestimmten Werten entspricht, und führt abhängig davon unterschiedliche Anweisungen durch.
:SWITCH Variable
:CASE Expression1
[Anweisungen]
[:CASE Expression2
[Anweisungen]
...
]
[:OTHER
[Anweisungen]
...
]
:ENDSWITCH
Syntax |
Beschreibung / Format |
---|---|
Variable |
Name der Variable, deren Wert überprüft werden soll. |
Ausdruck1, Ausdruck2 ... |
Bedingungen oder Werte, welche die Bedingungen bilden. |
Anweisungen | Ein oder mehrere Anweisungen, die durchgeführt werden sollen, wenn die Variable dem jeweiligen Wert entspricht. Format: Script-Anweisung |
Die SWITCH-Anweisung bildet ein oder mehrere Bedingungen, indem sie abhängig vom Wert einer Variable unterschiedliche Anweisungen ausführt. Der :SWITCH-Block besteht aus ein oder mehreren :CASE-Anweisungen und ist mit :ENDSWITCH abzuschließen.
Mit jeder :CASE-Anweisung wird ein Wert oder ein Ausdruck festgelegt, der ausgewertet werden soll. Diesem folgen die Anweisungen, die im zutreffenden Fall auszuführen sind. Abgeschlossen werden diese Anweisungen entweder mit einer neuen :CASE-Zeile oder mit :ENDSWITCH.
Zusätzlich kann auch ein :OTHER Zweig definiert werden. Dessen Anweisungen werden dann ausgeführt, wenn keine einzige :CASE-Anweisung zutrifft. Die :OTHER Anweisung darf erst nach der letzten :CASE-Anweisung verwendet werden.
Mehrere :CASE Anweisungen hintereinander, ohne Anweisungen getrennt, sind ebenfalls möglich. Diese werden durch eine ODER-Verknüpfung miteinander verbunden. Dies macht allerdings nur bei komplexen Ausdrücken Sinn!
Mit :IF-Anweisungen können ebenfalls Ausdrücke ausgewertet werden, jedoch ist deren Anweisungs-Block auf eine Bedingung und eine Sonst-Bedingung beschränkt.
Für die Werte können Sie auch komplexe Ausdrücke, wie arithmetische Terme, verwenden. Beispiel:
:SWITCH &NUM#
:CASE 3*(5-2)
: PRINT "&NUM# = 9"
:ENDSWITCH
Auch das Konstrukt between Wert1 and Wert2, sowie die Operatoren <, >, <>, <=, >=, = können bei den :CASE-Zeilen verwendet werden. In diesem Fall ist anstelle des Variablennamens die Zeichenkette "Y" anzugeben. Beispiel:
:SET &STATUS# = GET_STATISTIC_DETAIL(&RUNID#,STATUS)
:SWITCH "Y"
:CASE &STATUS# bezw. 1300 und 1599
:CASE &STATUS# bezw. 1700 und 1799
: PRINT "The task &RUNID# is active."
:CASE &STATUS# bezw. 1600 und 1699
: PRINT "The task &RUNID# is in a waiting condition."
:CASE &STATUS# bezw. 1800 und 1899
: PRINT "The task &RUNID# has aborted."
:CASE &STATUS# >= 1900
: PRINT "The task &RUNID# has successfully ended."
:ENDSWITCH
Folgendes Beispiel ermittelt den aktuellen Wochentag als Zahl und überprüft diesen mittels SWITCH-Anweisung. Montags und Freitags wird ein bestimmter Job gestartet.
:SET &DATE# = SYS_DATE_PHYSICAL("DD.MM.YYYY")
:SET &WEEKDAY# = WEEKDAY_NR("DD.MM.YYYY:&DATE#")
:SWITCH &WEEKDAY#
:CASE 1
: SET &ACT# = ACTIVATE_UC_OBJECT(JOBS.MONDAY, WAIT)
:CASE 5
: SET &ACT# = ACTIVATE_UC_OBJECT(JOBS.FRIDAY, WAIT)
:OTHER
: PRINT "No Processing."
:ENDSWITCH
Siehe auch:
Script-Sprachmittel | Beschreibung |
---|---|
Werten einen Ausdruck aus und führen in Abhängigkeit vom Ergebnis Anweisungen aus. |
Script-Sprachmittel - Datensequenzen
Allgemeines zum Script
Script-Sprachmittel - Alphabetische Auflistung
Script-Sprachmittel - Funktionelle Gliederung
Automic Documentation - Tutorials - Automic Blog - Resources - Training & Services - Automic YouTube Channel - Download Center - Support |
Copyright © 2016 Automic Software GmbH |