COBOL Manual for TNS/E Programs (H06.08+, J06.03+)
Example 95 Three-Way Conditional GO TO Statement
PROCEDURE-BRANCH.
GO TO PROC-X
PROC-Y
PROC-Z DEPENDING ON BRANCH-FLAG
MOVE 0 TO BRANCH-FLAG
IF
IF transfers control if the value of a condition is TRUE or FALSE.
Delimited-Scope Form
condition
is any conditional expression (see Conditional Expressions (page 265)).
statement-1
is an imperative or conditional statement to be executed if the value of condition is TRUE.
It can contain other IF statements.
ELSE
ends statement-1.
statement-2
is an imperative or conditional statement to be executed if the value of condition is FALSE.
It can contain other IF statements.
END-IF
ends the scope of the IF statement, making it a delimited-scope statement. Without END-IF, the
IF statement is a conditional statement that ends at the next period separator.
Usage Considerations:
• Delimited-Scope Statements Are Recommended Over Conditional Statements
For clarity and convenience, delimited-scope statements are recommended over conditional
statements.
• Period Separator in Delimited-Scope IF Statement
A delimited-scope IF statement does not require a period separator. If a period separator
occurs within a delimited-scope IF statement, it terminates the statement and the compiler
diagnoses the END-IF as unmatched.
• Nested Delimited-Scope IF Statements
Delimited-scope IF statements can be “nested” (included) within other delimited-scope IF
statements. Nested delimited-scope IF statements are interpreted by pairing each IF phrase
with an ELSE phrase, ELSE … END-IF pair, or isolated END-IF phrase, proceeding from left to
right within a sentence. Each ELSE, ELSE … END-IF, or isolated END-IF that the compiler
336 Procedure Division Verbs










