Business rules · 146 guarded actionsCBACT04C
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 | CBACT04C.cbl:134 |
| APPL-EOF | means APPL-RESULT = 16 | CBACT04C.cbl:135 |
(PROCEDURE DIVISION)
| When | Then | At |
|---|---|---|
| PERFORM 1000-TCATBALF-GET-NEXT | CBACT04C.cbl:190 |
| calc ADD 1 TO WS-RECORD-COUNT | CBACT04C.cbl:192 |
| DISPLAY TRAN-CAT-BAL-RECORD | CBACT04C.cbl:193 |
| PERFORM 1050-UPDATE-ACCOUNT | CBACT04C.cbl:196 |
| MOVE 'N' TO WS-FIRST-TIME | CBACT04C.cbl:198 |
| MOVE 0 TO WS-TOTAL-INT | CBACT04C.cbl:200 |
| MOVE TRANCAT-ACCT-ID TO WS-LAST-ACCT-NUM | CBACT04C.cbl:201 |
| MOVE TRANCAT-ACCT-ID TO FD-ACCT-ID | CBACT04C.cbl:202 |
| PERFORM 1100-GET-ACCT-DATA | CBACT04C.cbl:203 |
| MOVE TRANCAT-ACCT-ID TO FD-XREF-ACCT-ID | CBACT04C.cbl:204 |
| PERFORM 1110-GET-XREF-DATA | CBACT04C.cbl:205 |
| MOVE ACCT-GROUP-ID TO FD-DIS-ACCT-GROUP-ID | CBACT04C.cbl:210 |
| MOVE TRANCAT-CD TO FD-DIS-TRAN-CAT-CD | CBACT04C.cbl:211 |
| MOVE TRANCAT-TYPE-CD TO FD-DIS-TRAN-TYPE-CD | CBACT04C.cbl:212 |
| PERFORM 1200-GET-INTEREST-RATE | CBACT04C.cbl:213 |
| PERFORM 1300-COMPUTE-INTEREST | CBACT04C.cbl:215 |
| PERFORM 1400-COMPUTE-FEES | CBACT04C.cbl:216 |
| PERFORM 1050-UPDATE-ACCOUNT | CBACT04C.cbl:220 |
0000-TCATBALF-OPEN
| When | Then | At |
|---|---|---|
| MOVE 0 TO APPL-RESULT | CBACT04C.cbl:238 |
| MOVE 12 TO APPL-RESULT | CBACT04C.cbl:240 |
| DISPLAY 'ERROR OPENING TRANSACTION CATEGORY BALANCE' | CBACT04C.cbl:245 |
| MOVE TCATBALF-STATUS TO IO-STATUS | CBACT04C.cbl:246 |
| PERFORM 9910-DISPLAY-IO-STATUS | CBACT04C.cbl:247 |
| PERFORM 9999-ABEND-PROGRAM | CBACT04C.cbl:248 |
0100-XREFFILE-OPEN
| When | Then | At |
|---|---|---|
| MOVE 0 TO APPL-RESULT | CBACT04C.cbl:256 |
| MOVE 12 TO APPL-RESULT | CBACT04C.cbl:258 |
| DISPLAY 'ERROR OPENING CROSS REF FILE' XREFFILE-STATUS | CBACT04C.cbl:263 |
| MOVE XREFFILE-STATUS TO IO-STATUS | CBACT04C.cbl:264 |
| PERFORM 9910-DISPLAY-IO-STATUS | CBACT04C.cbl:265 |
| PERFORM 9999-ABEND-PROGRAM | CBACT04C.cbl:266 |
0200-DISCGRP-OPEN
| When | Then | At |
|---|---|---|
| MOVE 0 TO APPL-RESULT | CBACT04C.cbl:274 |
| MOVE 12 TO APPL-RESULT | CBACT04C.cbl:276 |
| DISPLAY 'ERROR OPENING DALY REJECTS FILE' | CBACT04C.cbl:281 |
| MOVE DISCGRP-STATUS TO IO-STATUS | CBACT04C.cbl:282 |
| PERFORM 9910-DISPLAY-IO-STATUS | CBACT04C.cbl:283 |
| PERFORM 9999-ABEND-PROGRAM | CBACT04C.cbl:284 |
0300-ACCTFILE-OPEN
| When | Then | At |
|---|---|---|
| MOVE 0 TO APPL-RESULT | CBACT04C.cbl:293 |
| MOVE 12 TO APPL-RESULT | CBACT04C.cbl:295 |
| DISPLAY 'ERROR OPENING ACCOUNT MASTER FILE' | CBACT04C.cbl:300 |
| MOVE ACCTFILE-STATUS TO IO-STATUS | CBACT04C.cbl:301 |
| PERFORM 9910-DISPLAY-IO-STATUS | CBACT04C.cbl:302 |
| PERFORM 9999-ABEND-PROGRAM | CBACT04C.cbl:303 |
0400-TRANFILE-OPEN
| When | Then | At |
|---|---|---|
| MOVE 0 TO APPL-RESULT | CBACT04C.cbl:311 |
| MOVE 12 TO APPL-RESULT | CBACT04C.cbl:313 |
| DISPLAY 'ERROR OPENING TRANSACTION FILE' | CBACT04C.cbl:318 |
| MOVE TRANFILE-STATUS TO IO-STATUS | CBACT04C.cbl:319 |
| PERFORM 9910-DISPLAY-IO-STATUS | CBACT04C.cbl:320 |
| PERFORM 9999-ABEND-PROGRAM | CBACT04C.cbl:321 |
1000-TCATBALF-GET-NEXT
| When | Then | At |
|---|---|---|
| MOVE 0 TO APPL-RESULT | CBACT04C.cbl:328 |
| MOVE 16 TO APPL-RESULT | CBACT04C.cbl:331 |
| MOVE 12 TO APPL-RESULT | CBACT04C.cbl:333 |
| MOVE 'Y' TO END-OF-FILE | CBACT04C.cbl:340 |
| DISPLAY 'ERROR READING TRANSACTION CATEGORY FILE' | CBACT04C.cbl:342 |
| MOVE TCATBALF-STATUS TO IO-STATUS | CBACT04C.cbl:343 |
| PERFORM 9910-DISPLAY-IO-STATUS | CBACT04C.cbl:344 |
| PERFORM 9999-ABEND-PROGRAM | CBACT04C.cbl:345 |
1050-UPDATE-ACCOUNT
| When | Then | At |
|---|---|---|
| always | calc ADD WS-TOTAL-INT TO ACCT-CURR-BAL | CBACT04C.cbl:352 |
| MOVE 0 TO APPL-RESULT | CBACT04C.cbl:358 |
| MOVE 12 TO APPL-RESULT | CBACT04C.cbl:360 |
| DISPLAY 'ERROR RE-WRITING ACCOUNT FILE' | CBACT04C.cbl:365 |
| MOVE ACCTFILE-STATUS TO IO-STATUS | CBACT04C.cbl:366 |
| PERFORM 9910-DISPLAY-IO-STATUS | CBACT04C.cbl:367 |
| PERFORM 9999-ABEND-PROGRAM | CBACT04C.cbl:368 |
1100-GET-ACCT-DATA
| When | Then | At |
|---|---|---|
| DISPLAY 'ACCOUNT NOT FOUND: ' FD-ACCT-ID | CBACT04C.cbl:375 |
| MOVE 0 TO APPL-RESULT | CBACT04C.cbl:379 |
| MOVE 12 TO APPL-RESULT | CBACT04C.cbl:381 |
| DISPLAY 'ERROR READING ACCOUNT FILE' | CBACT04C.cbl:386 |
| MOVE ACCTFILE-STATUS TO IO-STATUS | CBACT04C.cbl:387 |
| PERFORM 9910-DISPLAY-IO-STATUS | CBACT04C.cbl:388 |
| PERFORM 9999-ABEND-PROGRAM | CBACT04C.cbl:389 |
1110-GET-XREF-DATA
| When | Then | At |
|---|---|---|
| DISPLAY 'ACCOUNT NOT FOUND: ' FD-XREF-ACCT-ID | CBACT04C.cbl:397 |
| MOVE 0 TO APPL-RESULT | CBACT04C.cbl:401 |
| MOVE 12 TO APPL-RESULT | CBACT04C.cbl:403 |
| DISPLAY 'ERROR READING XREF FILE' | CBACT04C.cbl:408 |
| MOVE XREFFILE-STATUS TO IO-STATUS | CBACT04C.cbl:409 |
| PERFORM 9910-DISPLAY-IO-STATUS | CBACT04C.cbl:410 |
| PERFORM 9999-ABEND-PROGRAM | CBACT04C.cbl:411 |
1200-GET-INTEREST-RATE
| When | Then | At |
|---|---|---|
| DISPLAY 'DISCLOSURE GROUP RECORD MISSING' | CBACT04C.cbl:418 |
| DISPLAY 'TRY WITH DEFAULT GROUP CODE' | CBACT04C.cbl:419 |
| MOVE 0 TO APPL-RESULT | CBACT04C.cbl:423 |
| MOVE 12 TO APPL-RESULT | CBACT04C.cbl:425 |
| DISPLAY 'ERROR READING DISCLOSURE GROUP FILE' | CBACT04C.cbl:431 |
| MOVE DISCGRP-STATUS TO IO-STATUS | CBACT04C.cbl:432 |
| PERFORM 9910-DISPLAY-IO-STATUS | CBACT04C.cbl:433 |
| PERFORM 9999-ABEND-PROGRAM | CBACT04C.cbl:434 |
| MOVE 'DEFAULT' TO FD-DIS-ACCT-GROUP-ID | CBACT04C.cbl:437 |
| PERFORM 1200-A-GET-DEFAULT-INT-RATE | CBACT04C.cbl:438 |
1200-A-GET-DEFAULT-INT-RATE
| When | Then | At |
|---|---|---|
| MOVE 0 TO APPL-RESULT | CBACT04C.cbl:447 |
| MOVE 12 TO APPL-RESULT | CBACT04C.cbl:449 |
| DISPLAY 'ERROR READING DEFAULT DISCLOSURE GROUP' | CBACT04C.cbl:455 |
| MOVE DISCGRP-STATUS TO IO-STATUS | CBACT04C.cbl:456 |
| PERFORM 9910-DISPLAY-IO-STATUS | CBACT04C.cbl:457 |
| PERFORM 9999-ABEND-PROGRAM | CBACT04C.cbl:458 |
1300-COMPUTE-INTEREST
| When | Then | At |
|---|---|---|
| always | calc COMPUTE WS-MONTHLY-INT = ( TRAN-CAT-BAL * DIS-INT-RATE) / 1200 | CBACT04C.cbl:464–465 |
| always | calc ADD WS-MONTHLY-INT TO WS-TOTAL-INT | CBACT04C.cbl:467 |
1300-B-WRITE-TX
| When | Then | At |
|---|---|---|
| always | calc ADD 1 TO WS-TRANID-SUFFIX | CBACT04C.cbl:474 |
| always | MOVE '01' TO TRAN-TYPE-CD | CBACT04C.cbl:482 |
| always | MOVE '05' TO TRAN-CAT-CD | CBACT04C.cbl:483 |
| always | MOVE 'System' TO TRAN-SOURCE | CBACT04C.cbl:484 |
| MOVE 0 TO APPL-RESULT | CBACT04C.cbl:502 |
| MOVE 12 TO APPL-RESULT | CBACT04C.cbl:504 |
| DISPLAY 'ERROR WRITING TRANSACTION RECORD' | CBACT04C.cbl:510 |
| MOVE TRANFILE-STATUS TO IO-STATUS | CBACT04C.cbl:511 |
| PERFORM 9910-DISPLAY-IO-STATUS | CBACT04C.cbl:512 |
| PERFORM 9999-ABEND-PROGRAM | CBACT04C.cbl:513 |
9000-TCATBALF-CLOSE
| When | Then | At |
|---|---|---|
| MOVE 0 TO APPL-RESULT | CBACT04C.cbl:526 |
| MOVE 12 TO APPL-RESULT | CBACT04C.cbl:528 |
| DISPLAY 'ERROR CLOSING TRANSACTION BALANCE FILE' | CBACT04C.cbl:533 |
| MOVE TCATBALF-STATUS TO IO-STATUS | CBACT04C.cbl:534 |
| PERFORM 9910-DISPLAY-IO-STATUS | CBACT04C.cbl:535 |
| PERFORM 9999-ABEND-PROGRAM | CBACT04C.cbl:536 |
9100-XREFFILE-CLOSE
| When | Then | At |
|---|---|---|
| MOVE 0 TO APPL-RESULT | CBACT04C.cbl:545 |
| MOVE 12 TO APPL-RESULT | CBACT04C.cbl:547 |
| DISPLAY 'ERROR CLOSING CROSS REF FILE' | CBACT04C.cbl:552 |
| MOVE XREFFILE-STATUS TO IO-STATUS | CBACT04C.cbl:553 |
| PERFORM 9910-DISPLAY-IO-STATUS | CBACT04C.cbl:554 |
| PERFORM 9999-ABEND-PROGRAM | CBACT04C.cbl:555 |
9200-DISCGRP-CLOSE
| When | Then | At |
|---|---|---|
| MOVE 0 TO APPL-RESULT | CBACT04C.cbl:563 |
| MOVE 12 TO APPL-RESULT | CBACT04C.cbl:565 |
| DISPLAY 'ERROR CLOSING DISCLOSURE GROUP FILE' | CBACT04C.cbl:570 |
| MOVE DISCGRP-STATUS TO IO-STATUS | CBACT04C.cbl:571 |
| PERFORM 9910-DISPLAY-IO-STATUS | CBACT04C.cbl:572 |
| PERFORM 9999-ABEND-PROGRAM | CBACT04C.cbl:573 |
9300-ACCTFILE-CLOSE
| When | Then | At |
|---|---|---|
| MOVE 0 TO APPL-RESULT | CBACT04C.cbl:581 |
| MOVE 12 TO APPL-RESULT | CBACT04C.cbl:583 |
| DISPLAY 'ERROR CLOSING ACCOUNT FILE' | CBACT04C.cbl:588 |
| MOVE ACCTFILE-STATUS TO IO-STATUS | CBACT04C.cbl:589 |
| PERFORM 9910-DISPLAY-IO-STATUS | CBACT04C.cbl:590 |
| PERFORM 9999-ABEND-PROGRAM | CBACT04C.cbl:591 |
9400-TRANFILE-CLOSE
| When | Then | At |
|---|---|---|
| MOVE 0 TO APPL-RESULT | CBACT04C.cbl:599 |
| MOVE 12 TO APPL-RESULT | CBACT04C.cbl:601 |
| DISPLAY 'ERROR CLOSING TRANSACTION FILE' | CBACT04C.cbl:606 |
| MOVE TRANFILE-STATUS TO IO-STATUS | CBACT04C.cbl:607 |
| PERFORM 9910-DISPLAY-IO-STATUS | CBACT04C.cbl:608 |
| PERFORM 9999-ABEND-PROGRAM | CBACT04C.cbl:609 |
Z-GET-DB2-FORMAT-TIMESTAMP
| When | Then | At |
|---|---|---|
| always | MOVE '0000' TO DB2-REST | CBACT04C.cbl:622 |
| always | MOVE '-' TO DB2-STREEP-1 DB2-STREEP-2 DB2-STREEP-3 | CBACT04C.cbl:623 |
| always | MOVE '.' TO DB2-DOT-1 DB2-DOT-2 DB2-DOT-3 | CBACT04C.cbl:624 |
9910-DISPLAY-IO-STATUS
| When | Then | At |
|---|---|---|
| MOVE IO-STAT1 TO IO-STATUS-04(1:1) | CBACT04C.cbl:638 |
| MOVE 0 TO TWO-BYTES-BINARY | CBACT04C.cbl:639 |
| MOVE IO-STAT2 TO TWO-BYTES-RIGHT | CBACT04C.cbl:640 |
| MOVE TWO-BYTES-BINARY TO IO-STATUS-0403 | CBACT04C.cbl:641 |
| DISPLAY 'FILE STATUS IS: NNNN' IO-STATUS-04 | CBACT04C.cbl:642 |
| MOVE '0000' TO IO-STATUS-04 | CBACT04C.cbl:644 |
| MOVE IO-STATUS TO IO-STATUS-04(3:2) | CBACT04C.cbl:645 |
| DISPLAY 'FILE STATUS IS: NNNN' IO-STATUS-04 | CBACT04C.cbl:646 |