2.4.16 IF
| | | | | |
Format 1
IF { [NOT] BedFeld1 / Feld1 [NOT] Bedingung1 [Feld2] }
[
{ AND / OR }
{ [NOT] BedFeld2 / [Feld3] [NOT] Bedingung2 [Feld4] }
]
[
...
]
[THEN] {Befehlssequenz1 / NEXT SENTENCE}
[ELSE {Befehlssequenz2 / NEXT SENTENCE}]
[END-IF]
| |
| | | |
Bedingung: Relation oder Klasse
Relation : <,<=,=,>,>=, LESS,LESS EQUAL,EQUAL,GREATER,GREATER EQUAL [THAN]
Klasse { NUMERIC / POSITIVE / NEGATIVE / ALPHABETIC / ALPHABETIC-LOWER / ALPHABETIC-UPPER / ZERO / SPACE / LOW-VALUE / HIGH-VALUE }
Wobei BedFeld 88-Felder sind (siehe Stufe 88)
Trifft das Ergebnis der IF - Anweisung zu, wird Befehlssequenz1 ausgeführt. Trifft das Ergebnis nicht zu, wird nur Befehlssequequenz2 ausgeführt, falls angegeben.
NEXT SENTENCE führt die Ausführung mit dem Befehl nach dem nächsten Punkt fort!
Die Bedingungen können in Klammern gesetzt werden.
Ohne Klammersetzung ist die Priorität von OR höher als die von AND.
Beispiel:
move 4 to a.
move 3 to b.
if a > 10 and b > 20 or b < 5 display 'ohne Klammer ' a.
if a > 10 and (b > 20 or b < 5) display 'mit Klammer ' a.
Anzeige: ohne Klammer 4.
Zurück zu Acc-Cobol Go to Statement
Hoch zu Procedure Divison in COBOL
Weiter zu INITIALIZE
|