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:

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.