Chapter 4-2: True/False Status Indicators
Simple T/F Examples for Comparison
To demonstrate the rules given so far, the following four examples each present a two-statement series using a READ followed by an IF.
READ TAR RECEIPT1 HOLD 0 FT 0 BY RECEIPT1 KEY
IF TAR RECEIPT1 POST STARTED EQ 1
The results of the first example (with no conditions) are:
- The READ statement executes unconditionally.
- If the READ is successful, the level 1 true/false status indicator is set to T. If it is not successful, the level 1 indicator is set to F.
- The IF statement executes unconditionally. It does not test the result of the READ statement.
- If the IF condition is true, the level 1 true/false status indicator is set to T. If the IF condition is not true, the level 1 indicator is set to F. Note that APPX sets the same indicator here that the READ statement previously set, so the result of the READ operation is no longer available.
- Internal status indicator values possible at the end of this example are T or F.
READ TAR RECEIPT1 HOLD 0 FT 0 BY RECEIPT1 KEY
T IF TAR RECEIPT1 POST STARTED EQ 1
The results of the second example (with a True condition on the IF) are:
- The READ statement executes unconditionally.
- If the READ is successful, the level 1 true/false status indicator is set to T; otherwise, level 1 is set to F.
- The IF statement executes only if the READ operation is successful (the level 1 indicator is T).
- Assuming the level 1 indicator is T, if the IF condition is true, the level 2 true/false status indicator is set to T; otherwise, level 2 is set to F. Note that APPX retains the first value as set by the READ statement, so it is still available for subsequent checking.
- Internal status indicator values possible at the end of this example are F, TT, or TF.
READ TAR RECEIPT1 HOLD 0 FT 0 BY RECEIPT1 KEY
F IF TAR RECEIPT1 POST STARTED EQ 1
The results of the third example (with a False condition on the IF) are:
- The READ statement executes unconditionally.
- If the READ is successful, the level 1 true/false status indicator is set to T; otherwise, level 1 is set to F.
- The IF statement executes only if the READ operation is not successful (the level 1 indicator is F).
- Assuming the level 1 indicator is F, if the IF condition is true, the level 2 true/false status indicator is set to T; otherwise, level 2 is set to F.
- Internal status indicator values possible at the end of this example are T, FT, or FF.
READ TAR RECEIPT1 HOLD 0 FT 0 BY RECEIPT1 KEY
- IF TAR RECEIPT1 POST STARTED EQ 1
The results of the fourth example (with a hyphen placeholder on the IF) are:
- The READ statement executes unconditionally.
- If the READ is successful, the level 1 true/false status indicator is set to T; otherwise, level 1 is set to F.
- The IF statement executes unconditionally, regardless of whether the READ operation is successful (the first indicator may be either T or F).
- If the IF condition is true, the level 2 true/false status indicator is set to T; otherwise, level 2 is set to F.
- Internal status indicator values possible at the end of this example are TT, TF, FT, or FF.