APPX Software Library

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.