DECIDE FOR |
FIRST
|
CONDITION
|
||
EVERY
|
||||
{WHEN
logical-condition
statement
}
|
||||
[WHEN ANY
statement
]
|
||||
[WHEN ALL
statement
]
|
||||
WHEN NONE
statement
|
||||
END-DECIDE |
Dieses Dokument behandelt folgende Themen:
Eine Erläuterung der in dem Syntax-Diagramm verwendeten Symbole entnehmen Sie dem Abschnitt Syntax-Symbole.
Verwandte Statements: DECIDE
ON
| IF
|
IF SELECTION
|
ON ERROR
Gehört zur Funktionsgruppe: Logische Bedingungen
Das Statement DECIDE FOR
dient dazu, in Abhängigkeit
von mehreren Bedingungen eine oder mehrere Handlungen auszuführen.
Anmerkung:
Falls unter einer bestimmten Bedingung keine Handlung
ausgeführt werden soll, geben Sie das Statement IGNORE
in der betreffenden Klausel
des DECIDE FOR
-Statements an.
Syntax-Element-Beschreibung:
Syntax-Element | Beschreibung |
---|---|
FIRST CONDITION |
Nur die erste Bedingung
verarbeiten:
Nur die erste wahre Bedingung soll verarbeitet werden. Siehe auch Beispiel 1. |
EVERY CONDITION |
Alle Bedingungen
verarbeiten:
Jede wahre Bedingung soll verarbeitet werden. Siehe auch Beispiel 2. |
WHEN
logical-condition
statement
|
Zu verarbeitende logische
Bedingungen:
Mit dieser Klausel geben Sie eine oder mehrere logische Bedingungen (logical-condition) an, die verarbeitet werden sollen. Siehe Abschnitt Logische Bedingungen im Leitfaden zur Programmierung). |
WHEN
ANY statement
|
WHEN ANY-Klausel:
Mit |
WHEN
ALL statement
|
WHEN ALL-Klausel:
Mit Diese Klausel kann nur in Verbindung mit dem Schlüsselwort
|
WHEN
NONE statement
|
WHEN NONE-Klausel:
Mit |
END-DECIDE
|
Ende des DECIDE
FOR-Statements:
Das für Natural reservierte Wort |
** Example 'DECEX1': DECIDE FOR (with FIRST option) ************************************************************************ DEFINE DATA LOCAL 1 #FUNCTION (A1) 1 #PARM (A1) END-DEFINE * INPUT #FUNCTION #PARM * DECIDE FOR FIRST CONDITION WHEN #FUNCTION = 'A' AND #PARM = 'X' WRITE 'Funktion A with parameter X selected.' WHEN #FUNCTION = 'B' AND #PARM = 'X' WRITE 'Funktion B with parameter X selected.' WHEN #FUNCTION = 'C' THRU 'D' WRITE 'Funktion C or D selected.' WHEN NONE REINPUT 'Please enter a valid function.' MARK *#FUNCTION END-DECIDE * END
Ausgabe des Programms DECEX1
:
#FUNCTION #PARM
Nach Eingabe von A
und Y
und Drücken der
EINGABE-Taste:
#FUNCTION A #PARM Y Please enter a valid function.
** Example 'DECEX2': DECIDE FOR (with EVERY option) ************************************************************************ DEFINE DATA LOCAL 1 #FIELD1 (N5.4) END-DEFINE * INPUT #FIELD1 * DECIDE FOR EVERY CONDITION WHEN #FIELD1 >= 0 WRITE '#FIELD1 is positive or zero.' WHEN #FIELD1 <= 0 WRITE '#FIELD1 is negative or zero.' WHEN FRAC(#FIELD1) = 0 WRITE '#FIELD1 has nein decimal digits.' WHEN ANY WRITE 'Any of the above conditions is true.' WHEN ALL WRITE '#FIELD1 is zero.' WHEN NONE IGNORE END-DECIDE * END
Ausgabe des Programms DECEX2
:
#FIELD1 42
Drücken Sie dann die EINGABE-Taste:
Page 1 05-01-11 14:56:26 #FIELD1 is positive or zero. #FIELD1 has nein decimal digits. Any of the above conditions is true.