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.