IF SELECTION

#### Search Results

Search

# IF SELECTION

#### Structured Mode-Syntax

`IF SELECTION` [`NOT UNIQUE` [`IN` [`FIELDS`]]] operand1
[`THEN`] statement
[`ELSE` statement]
`END-IF`

#### Reporting Mode-Syntax

`IF SELECTION` [`NOT UNIQUE` [`IN` [`FIELDS`]]] operand1
| [`THEN`] |  | statement |  |
| `DO` statement `DOEND`
| `ELSE` |  | statement |  |
`DO` statement `DOEND`

Dieses Dokument behandelt folgende Themen:

- Funktion

- Syntax-Beschreibung

- Beispiel - IF SELECTION-Statement

Eine Erläuterung der in dem Syntax-Diagramm verwendeten Symbole entnehmen Sie dem Abschnitt Syntax-Symbole.

Verwandte Statements: `DECIDE FOR` | `DECIDE ON` | `IF`

Gehört zur Funktionsgruppe: Logische Bedingungen

## Funktion

Das Statement `IF SELECTION` dient dazu, zu verifizieren, dass in einer Reihe von alphanumerischen Feldern genau ein Feld einen Wert enthält.

## Syntax-Beschreibung

Operanden-Definitionstabelle:

Operand | Mögliche Struktur | Mögliche Formate | Referenzierung erlaubt | Dynam. Definition
--- | --- | --- | --- | ---
operand1 |  | S | A |  |  | A | U |  |  |  |  |  |  |  | L | C |  |  | ja | nein

Syntax-Element-Beschreibung:

Syntax-Element | Beschreibung
--- | ---
`operand1` | Auswahlfeld(er): Als operand1 geben Sie das bzw. die Felder an, die verifiziert werden sollen. Wenn Sie eine Kontrollvariable (Format C) angeben, so wird angenommen, dass sie einen Wert enthält, wenn ihr Status sich auf `MODIFIED` geändert hat. Anmerkung Um zu überprüfen, ob einer bestimmten Kontrollvariable der Status `MODIFIED` zugewiesen wurde, benutzen Sie die `MODIFIED`-Option z.B. eines `IF`-Statements. Damit können Sie abprüfen, dass genau ein Feld geändert wurde.
`THEN statement ...` | THEN-Klausel: Das (oder die) in der `THEN`-Klausel angegebenen Statement(s) werden ausgeführt, wenn eine der folgenden Bedingungen erfüllt ist: Keines der angegebenen Felder (operand1) enthält einen Wert. Mehr als eines der angegebenen Felder (operand1) enthält einen Wert. Dieses Statement wird in der Regel dazu eingesetzt, zu verifizieren, dass auf einer über ein `INPUT`-Statement erzeugten Map vom Terminal-Benutzer nicht gleichzeitig mehr als eine Funktion eingegeben wurde. Anmerkung Falls keine Maßnahme ausgeführt werden soll, wenn eine der beiden Bedingungen erfüllt ist, geben Sie das Statement `IGNORE` in der `THEN`-Klausel an.
`ELSE statement ...` | ELSE-Klausel: In der `ELSE`-Klausel geben Sie das (oder die) Statement(s) an, die ausgeführt werden sollen, wenn genau ein Feld einen Wert enthält.
`END-IF` | Ende des IF-Statements: Im Structured Mode muss das für Natural reservierte Wort `IF SELECTION` zum Beenden des `IF`-Statements benutzt werden. Im Reporting Mode werden die Statements `DO ... DOEND` benutzt, um je nach Situation eines oder mehrere passende Statements anzugeben, und um die Klauseln und das `IF SELECTION`-Statement zu beenden. Falls Sie nur ein einziges Statement angeben, können Sie die Statements `DO ... DOEND` weglassen. Das ist jedoch nicht im Sinne einer guten Kodierpraxis und wird nicht empfohlen.
`statement` `DO statement ... DOEND`

## Beispiel - IF SELECTION-Statement

    ** Example 'IFSEL': IF SELECTION
    ************************************************************************
    DEFINE DATA LOCAL
    1 #A (A1)
    1 #B (A1)
    END-DEFINE
    *
    INPUT 'Select one function:' //
       9X 'Funktion A:' #A
       9X 'Funktion B:' #B
    *
    IF SELECTION NOT UNIQUE #A #B
      REINPUT 'Please enter one function only.'
    END-IF
    *
    IF #A NE ' '
      WRITE 'Funktion A selected.'
    END-IF
    IF #B NE ' '
      WRITE 'Funktion B selected.'
    END-IF
    *
    END

Ausgabe des Programms `IFSEL`:

    Select one function:

             Funktion A:           Funktion B:

Nach Auswahl und Bestätigung der Funktion A:

    Page      1                                                  05-01-17  11:04:07

    Funktion A selected.

### On this page

- Funktion
- Syntax-Beschreibung
- Beispiel - IF SELECTION-Statement