DECIDE FOR

#### Search Results

Search

# DECIDE FOR

`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:

- Funktion

- Syntax-Beschreibung

- Beispiele

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

## Funktion

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-Beschreibung

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 ANY` können Sie das (die) Statement(s) angeben, die ausgeführt werden sollen, wenn irgendeine der angegebenen Bedingungen erfüllt ist.
`WHEN ALL` `statement` | WHEN ALL-Klausel: Mit `WHEN ALL` können Sie das (die) Statement(s) angeben, die ausgeführt werden sollen, wenn alle angegebenen Bedingungen erfüllt sind. Diese Klausel kann nur in Verbindung mit dem Schlüsselwort `EVERY` eingesetzt werden.
`WHEN NONE` `statement` | WHEN NONE-Klausel: Mit `WHEN NONE` können Sie das (die) Statement(s) angeben, die ausgeführt werden sollen, wenn keine der angegebenen Bedingungen erfüllt ist.
`END-DECIDE` | Ende des DECIDE FOR-Statements: Das für Natural reservierte Wort `END-DECIDE` muss zum Beenden des `DECIDE FOR`-Statements benutzt werden.

## Beispiele

- Beispiel 1 — DECIDE FOR-Statement mit FIRST-Option

- Beispiel 2 - DECIDE FOR-Statement mit EVERY-Option

### Beispiel 1 — DECIDE FOR-Statement mit FIRST-Option

    ** 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.

### Beispiel 2 - DECIDE FOR-Statement mit EVERY-Option

    ** 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.

### On this page

- Funktion
- Syntax-Beschreibung
- Beispiele