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.
Condition names used
| APPL-AOK | means APPL-RESULT = 0 | CBCUS01C.cbl:62 |
| APPL-EOF | means APPL-RESULT = 16 | CBCUS01C.cbl:63 |
(PROCEDURE DIVISION)
| When | Then | At |
|---|---|---|
| PERFORM 1000-CUSTFILE-GET-NEXT | CBCUS01C.cbl:76 |
| DISPLAY CUSTOMER-RECORD | CBCUS01C.cbl:78 |
1000-CUSTFILE-GET-NEXT
| When | Then | At |
|---|---|---|
| MOVE 0 TO APPL-RESULT | CBCUS01C.cbl:95 |
| DISPLAY CUSTOMER-RECORD | CBCUS01C.cbl:96 |
| MOVE 16 TO APPL-RESULT | CBCUS01C.cbl:99 |
| MOVE 12 TO APPL-RESULT | CBCUS01C.cbl:101 |
| MOVE 'Y' TO END-OF-FILE | CBCUS01C.cbl:108 |
| DISPLAY 'ERROR READING CUSTOMER FILE' | CBCUS01C.cbl:110 |
| MOVE CUSTFILE-STATUS TO IO-STATUS | CBCUS01C.cbl:111 |
| PERFORM Z-DISPLAY-IO-STATUS | CBCUS01C.cbl:112 |
| PERFORM Z-ABEND-PROGRAM | CBCUS01C.cbl:113 |
0000-CUSTFILE-OPEN
| When | Then | At |
|---|---|---|
| MOVE 0 TO APPL-RESULT | CBCUS01C.cbl:122 |
| MOVE 12 TO APPL-RESULT | CBCUS01C.cbl:124 |
| DISPLAY 'ERROR OPENING CUSTFILE' | CBCUS01C.cbl:129 |
| MOVE CUSTFILE-STATUS TO IO-STATUS | CBCUS01C.cbl:130 |
| PERFORM Z-DISPLAY-IO-STATUS | CBCUS01C.cbl:131 |
| PERFORM Z-ABEND-PROGRAM | CBCUS01C.cbl:132 |
9000-CUSTFILE-CLOSE
| When | Then | At |
|---|---|---|
| always | calc ADD 8 TO ZERO GIVING APPL-RESULT | CBCUS01C.cbl:137 |
| calc SUBTRACT APPL-RESULT FROM APPL-RESULT | CBCUS01C.cbl:140 |
| calc ADD 12 TO ZERO GIVING APPL-RESULT | CBCUS01C.cbl:142 |
| DISPLAY 'ERROR CLOSING CUSTOMER FILE' | CBCUS01C.cbl:147 |
| MOVE CUSTFILE-STATUS TO IO-STATUS | CBCUS01C.cbl:148 |
| PERFORM Z-DISPLAY-IO-STATUS | CBCUS01C.cbl:149 |
| PERFORM Z-ABEND-PROGRAM | CBCUS01C.cbl:150 |
Z-DISPLAY-IO-STATUS
| When | Then | At |
|---|---|---|
| MOVE IO-STAT1 TO IO-STATUS-04(1:1) | CBCUS01C.cbl:164 |
| MOVE 0 TO TWO-BYTES-BINARY | CBCUS01C.cbl:165 |
| MOVE IO-STAT2 TO TWO-BYTES-RIGHT | CBCUS01C.cbl:166 |
| MOVE TWO-BYTES-BINARY TO IO-STATUS-0403 | CBCUS01C.cbl:167 |
| DISPLAY 'FILE STATUS IS: NNNN' IO-STATUS-04 | CBCUS01C.cbl:168 |
| MOVE '0000' TO IO-STATUS-04 | CBCUS01C.cbl:170 |
| MOVE IO-STATUS TO IO-STATUS-04(3:2) | CBCUS01C.cbl:171 |
| DISPLAY 'FILE STATUS IS: NNNN' IO-STATUS-04 | CBCUS01C.cbl:172 |