MFmainframe-rea
WS carddemo · 26f629ef

Business rules · 32 guarded actionsCBACT03C

Each row is an action and the full chain of conditions that must hold for it to run, recovered from nested IF / EVALUATE / PERFORM UNTIL scopes. Name the rule; the evidence is already attached.

88 levels

Condition names used

APPL-AOKmeans APPL-RESULT = 0CBACT03C.cbl:62
APPL-EOFmeans APPL-RESULT = 16CBACT03C.cbl:63
2 rules

(PROCEDURE DIVISION)

WhenThenAt
  1. PERFORM UNTIL END-OF-FILE = 'Y'
  2. END-OF-FILE = 'N'
PERFORM 1000-XREFFILE-GET-NEXTCBACT03C.cbl:76
  1. PERFORM UNTIL END-OF-FILE = 'Y'
  2. END-OF-FILE = 'N'
  3. END-OF-FILE = 'N'
DISPLAY CARD-XREF-RECORDCBACT03C.cbl:78
9 rules

1000-XREFFILE-GET-NEXT

WhenThenAt
  1. XREFFILE-STATUS = '00'
MOVE 0 TO APPL-RESULTCBACT03C.cbl:95
  1. XREFFILE-STATUS = '00'
DISPLAY CARD-XREF-RECORDCBACT03C.cbl:96
  1. NOT (XREFFILE-STATUS = '00')
  2. XREFFILE-STATUS = '10'
MOVE 16 TO APPL-RESULTCBACT03C.cbl:99
  1. NOT (XREFFILE-STATUS = '00')
  2. NOT (XREFFILE-STATUS = '10')
MOVE 12 TO APPL-RESULTCBACT03C.cbl:101
  1. NOT (APPL-AOK)
  2. APPL-EOF
MOVE 'Y' TO END-OF-FILECBACT03C.cbl:108
  1. NOT (APPL-AOK)
  2. NOT (APPL-EOF)
DISPLAY 'ERROR READING XREFFILE'CBACT03C.cbl:110
  1. NOT (APPL-AOK)
  2. NOT (APPL-EOF)
MOVE XREFFILE-STATUS TO IO-STATUSCBACT03C.cbl:111
  1. NOT (APPL-AOK)
  2. NOT (APPL-EOF)
PERFORM 9910-DISPLAY-IO-STATUSCBACT03C.cbl:112
  1. NOT (APPL-AOK)
  2. NOT (APPL-EOF)
PERFORM 9999-ABEND-PROGRAMCBACT03C.cbl:113
6 rules

0000-XREFFILE-OPEN

WhenThenAt
  1. XREFFILE-STATUS = '00'
MOVE 0 TO APPL-RESULTCBACT03C.cbl:122
  1. NOT (XREFFILE-STATUS = '00')
MOVE 12 TO APPL-RESULTCBACT03C.cbl:124
  1. NOT (APPL-AOK)
DISPLAY 'ERROR OPENING XREFFILE'CBACT03C.cbl:129
  1. NOT (APPL-AOK)
MOVE XREFFILE-STATUS TO IO-STATUSCBACT03C.cbl:130
  1. NOT (APPL-AOK)
PERFORM 9910-DISPLAY-IO-STATUSCBACT03C.cbl:131
  1. NOT (APPL-AOK)
PERFORM 9999-ABEND-PROGRAMCBACT03C.cbl:132
7 rules

9000-XREFFILE-CLOSE

WhenThenAt
alwayscalc ADD 8 TO ZERO GIVING APPL-RESULTCBACT03C.cbl:137
  1. XREFFILE-STATUS = '00'
calc SUBTRACT APPL-RESULT FROM APPL-RESULTCBACT03C.cbl:140
  1. NOT (XREFFILE-STATUS = '00')
calc ADD 12 TO ZERO GIVING APPL-RESULTCBACT03C.cbl:142
  1. NOT (APPL-AOK)
DISPLAY 'ERROR CLOSING XREFFILE'CBACT03C.cbl:147
  1. NOT (APPL-AOK)
MOVE XREFFILE-STATUS TO IO-STATUSCBACT03C.cbl:148
  1. NOT (APPL-AOK)
PERFORM 9910-DISPLAY-IO-STATUSCBACT03C.cbl:149
  1. NOT (APPL-AOK)
PERFORM 9999-ABEND-PROGRAMCBACT03C.cbl:150
8 rules

9910-DISPLAY-IO-STATUS

WhenThenAt
  1. IO-STATUS NOT NUMERIC OR IO-STAT1 = '9'
MOVE IO-STAT1 TO IO-STATUS-04(1:1)CBACT03C.cbl:164
  1. IO-STATUS NOT NUMERIC OR IO-STAT1 = '9'
MOVE 0 TO TWO-BYTES-BINARYCBACT03C.cbl:165
  1. IO-STATUS NOT NUMERIC OR IO-STAT1 = '9'
MOVE IO-STAT2 TO TWO-BYTES-RIGHTCBACT03C.cbl:166
  1. IO-STATUS NOT NUMERIC OR IO-STAT1 = '9'
MOVE TWO-BYTES-BINARY TO IO-STATUS-0403CBACT03C.cbl:167
  1. IO-STATUS NOT NUMERIC OR IO-STAT1 = '9'
DISPLAY 'FILE STATUS IS: NNNN' IO-STATUS-04CBACT03C.cbl:168
  1. NOT (IO-STATUS NOT NUMERIC OR IO-STAT1 = '9')
MOVE '0000' TO IO-STATUS-04CBACT03C.cbl:170
  1. NOT (IO-STATUS NOT NUMERIC OR IO-STAT1 = '9')
MOVE IO-STATUS TO IO-STATUS-04(3:2)CBACT03C.cbl:171
  1. NOT (IO-STATUS NOT NUMERIC OR IO-STAT1 = '9')
DISPLAY 'FILE STATUS IS: NNNN' IO-STATUS-04CBACT03C.cbl:172