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`

This document covers the following topics:

- Function

- Syntax Description

- Example

For an explanation of the symbols used in the syntax diagram, see Syntax Symbols.

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

Belongs to Function Group: Processing of Logical Conditions

## Function

The `IF SELECTION` statement is used to verify that in a sequence of alphanumeric fields one and only one contains a value.

## Syntax Description

Operand Definition Table:

Operand | Possible Structure | Possible Formats | Referencing Permitted | Dynamic Definition
--- | --- | --- | --- | ---
`operand1` |  | S | A |  |  | A | U |  |  |  |  |  |  |  | L | C |  |  | yes | no

Syntax Element Description:

Syntax Element | Description
--- | ---
`operand1` | Selection Field(s): As operand1 you specify the fields which are to be checked. If you specify an attribute control variable (Format C), it is considered to contain a value if its status has been changed to `MODIFIED`. Note To check if a specific attribute control variable has been assigned the status `MODIFIED`, use the `MODIFIED` option of, for example, an `IF` statement. This enables you to check that exactly one field was modified.
`THEN statement ...` | THEN Clause: The statement(s) specified in the `THEN` clause will be executed if one of the following conditions is true: None of the fields specified in `operand1` contains a value. More than one of the fields specified in `operand1` contains a value. This statement is generally used to verify that a terminal user has entered only one function in response to a map displayed via an `INPUT` statement. Note If no action is to be performed if one of the conditions is met, you specify the statement `IGNORE` in the `THEN` clause.
`ELSE` `statement ...` | ELSE Clause: In the `ELSE` clause, you specify the statement(s) to be executed if exactly one field contains a value.
`END-IF` | End of IF SELECTION Statement: In structured mode, the Natural reserved word `END-IF` must be used to end the `IF SELECTION` statement. In reporting mode, use the `DO ... DOEND` statements to supply one or several suitable statements, depending on the situation, and to end the clauses and the `IF SELECTION` statement. If you specify only a single statement, you can omit the `DO ... DOEND` statements. With respect to good coding practice, this is not recommended.
`statement ...` `DO statement ... DOEND`

## Example

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

#### Output of Program IFSEL:

    Select one function:

             Function A:           Function B:

#### After selecting and confirming function A:

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

    Function A selected.

### On this page

- Function
- Syntax Description
- Example