IF {LASTCC|MAXCC} operator number THEN[ command | DO command set END] [ELSE[command | DO command set END]]
specifies that the condition code value that resulted from the immediately preceding function command is to be compared, as indicated by the operator, to the number following the operator. See Condition codes
specifies that the maximum condition code value that has been established by any previous function command or by a SET command is to be compared, as indicated by the operator, to the number following the operator to determine whether the THEN action is to be performed.
specifies the comparison to be made between the variable and the following number. Can be one of:
specifies the decimal integer that is to be compared with MAXCC or LASTCC. Both LASTCC and MAXCC are initialized to zero upon entry to access method services.
Any value can be used in the comparison. Refer to Condition Codes for the standard values set by MFJAMS, but you can set any value by use of the SET statement; for example:
... IF LASTCC = 0 THEN DO SET LASTCC = 2 END IF LASTCC = 2...
Condition codes that are tested in the IF-THEN-ELSE command sequence or set by the SET command cannot be passed from one job step to the next. However, the maximum condition code value established by any previous functional command or SET command is passed to the operating system when the access method services processor returns control to the system.
When an IF command appears in a THEN or ELSE clause, it is called a nested IF command. The maximum level of nesting allowed is 10, starting with the first IF specified. Within a nest of IF commands, the innermost ELSE clause is associated with the innermost THEN clause, the next innermost ELSE clause with the next innermost THEN clause, and so on. Should there be an IF command that does not require an ELSE clause, follow the THEN clause with a null ELSE clause (ELSE), unless the nesting structure does not require one.
If THEN or ELSE is not followed by a continuation character or by a command in the same record, the THEN or ELSE results in no action. The null command supports an ELSE command that balances an IF-THEN-ELSE command sequence, and allows null THEN commands. The null command is, in essence, a THEN or ELSE command that is not followed by a command continuation character.
To indicate a null ELSE command, specify:
ELSE
To indicate a null THEN command, specify:
IF ... THEN ELSE ...