MFmainframe-rea
WS carddemo · 26f629ef

Business rules · 32 guarded actionsCBCUS01C

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 = 0CBCUS01C.cbl:62
APPL-EOFmeans APPL-RESULT = 16CBCUS01C.cbl:63
2 rules

(PROCEDURE DIVISION)

WhenThenAt
  1. PERFORM UNTIL END-OF-FILE = 'Y'
  2. END-OF-FILE = 'N'
PERFORM 1000-CUSTFILE-GET-NEXTCBCUS01C.cbl:76
  1. PERFORM UNTIL END-OF-FILE = 'Y'
  2. END-OF-FILE = 'N'
  3. END-OF-FILE = 'N'
DISPLAY CUSTOMER-RECORDCBCUS01C.cbl:78
9 rules

1000-CUSTFILE-GET-NEXT

WhenThenAt
  1. CUSTFILE-STATUS = '00'
MOVE 0 TO APPL-RESULTCBCUS01C.cbl:95
  1. CUSTFILE-STATUS = '00'
DISPLAY CUSTOMER-RECORDCBCUS01C.cbl:96
  1. NOT (CUSTFILE-STATUS = '00')
  2. CUSTFILE-STATUS = '10'
MOVE 16 TO APPL-RESULTCBCUS01C.cbl:99
  1. NOT (CUSTFILE-STATUS = '00')
  2. NOT (CUSTFILE-STATUS = '10')
MOVE 12 TO APPL-RESULTCBCUS01C.cbl:101
  1. NOT (APPL-AOK)
  2. APPL-EOF
MOVE 'Y' TO END-OF-FILECBCUS01C.cbl:108
  1. NOT (APPL-AOK)
  2. NOT (APPL-EOF)
DISPLAY 'ERROR READING CUSTOMER FILE'CBCUS01C.cbl:110
  1. NOT (APPL-AOK)
  2. NOT (APPL-EOF)
MOVE CUSTFILE-STATUS TO IO-STATUSCBCUS01C.cbl:111
  1. NOT (APPL-AOK)
  2. NOT (APPL-EOF)
PERFORM Z-DISPLAY-IO-STATUSCBCUS01C.cbl:112
  1. NOT (APPL-AOK)
  2. NOT (APPL-EOF)
PERFORM Z-ABEND-PROGRAMCBCUS01C.cbl:113
6 rules

0000-CUSTFILE-OPEN

WhenThenAt
  1. CUSTFILE-STATUS = '00'
MOVE 0 TO APPL-RESULTCBCUS01C.cbl:122
  1. NOT (CUSTFILE-STATUS = '00')
MOVE 12 TO APPL-RESULTCBCUS01C.cbl:124
  1. NOT (APPL-AOK)
DISPLAY 'ERROR OPENING CUSTFILE'CBCUS01C.cbl:129
  1. NOT (APPL-AOK)
MOVE CUSTFILE-STATUS TO IO-STATUSCBCUS01C.cbl:130
  1. NOT (APPL-AOK)
PERFORM Z-DISPLAY-IO-STATUSCBCUS01C.cbl:131
  1. NOT (APPL-AOK)
PERFORM Z-ABEND-PROGRAMCBCUS01C.cbl:132
7 rules

9000-CUSTFILE-CLOSE

WhenThenAt
alwayscalc ADD 8 TO ZERO GIVING APPL-RESULTCBCUS01C.cbl:137
  1. CUSTFILE-STATUS = '00'
calc SUBTRACT APPL-RESULT FROM APPL-RESULTCBCUS01C.cbl:140
  1. NOT (CUSTFILE-STATUS = '00')
calc ADD 12 TO ZERO GIVING APPL-RESULTCBCUS01C.cbl:142
  1. NOT (APPL-AOK)
DISPLAY 'ERROR CLOSING CUSTOMER FILE'CBCUS01C.cbl:147
  1. NOT (APPL-AOK)
MOVE CUSTFILE-STATUS TO IO-STATUSCBCUS01C.cbl:148
  1. NOT (APPL-AOK)
PERFORM Z-DISPLAY-IO-STATUSCBCUS01C.cbl:149
  1. NOT (APPL-AOK)
PERFORM Z-ABEND-PROGRAMCBCUS01C.cbl:150
8 rules

Z-DISPLAY-IO-STATUS

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