Business rules · 152 guarded actionsCBTRN02C
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 | CBTRN02C.cbl:143 |
| APPL-EOF | means APPL-RESULT = 16 | CBTRN02C.cbl:144 |
(PROCEDURE DIVISION)
| When | Then | At |
|---|---|---|
| PERFORM 1000-DALYTRAN-GET-NEXT | CBTRN02C.cbl:204 |
| calc ADD 1 TO WS-TRANSACTION-COUNT | CBTRN02C.cbl:206 |
| MOVE 0 TO WS-VALIDATION-FAIL-REASON | CBTRN02C.cbl:208 |
| MOVE SPACES TO WS-VALIDATION-FAIL-REASON-DESC | CBTRN02C.cbl:209 |
| PERFORM 1500-VALIDATE-TRAN | CBTRN02C.cbl:210 |
| PERFORM 2000-POST-TRANSACTION | CBTRN02C.cbl:212 |
| calc ADD 1 TO WS-REJECT-COUNT | CBTRN02C.cbl:214 |
| PERFORM 2500-WRITE-REJECT-REC | CBTRN02C.cbl:215 |
| MOVE 4 TO RETURN-CODE | CBTRN02C.cbl:230 |
0000-DALYTRAN-OPEN
| When | Then | At |
|---|---|---|
| MOVE 0 TO APPL-RESULT | CBTRN02C.cbl:240 |
| MOVE 12 TO APPL-RESULT | CBTRN02C.cbl:242 |
| DISPLAY 'ERROR OPENING DALYTRAN' | CBTRN02C.cbl:247 |
| MOVE DALYTRAN-STATUS TO IO-STATUS | CBTRN02C.cbl:248 |
| PERFORM 9910-DISPLAY-IO-STATUS | CBTRN02C.cbl:249 |
| PERFORM 9999-ABEND-PROGRAM | CBTRN02C.cbl:250 |
0100-TRANFILE-OPEN
| When | Then | At |
|---|---|---|
| MOVE 0 TO APPL-RESULT | CBTRN02C.cbl:258 |
| MOVE 12 TO APPL-RESULT | CBTRN02C.cbl:260 |
| DISPLAY 'ERROR OPENING TRANSACTION FILE' | CBTRN02C.cbl:265 |
| MOVE TRANFILE-STATUS TO IO-STATUS | CBTRN02C.cbl:266 |
| PERFORM 9910-DISPLAY-IO-STATUS | CBTRN02C.cbl:267 |
| PERFORM 9999-ABEND-PROGRAM | CBTRN02C.cbl:268 |
0200-XREFFILE-OPEN
| When | Then | At |
|---|---|---|
| MOVE 0 TO APPL-RESULT | CBTRN02C.cbl:277 |
| MOVE 12 TO APPL-RESULT | CBTRN02C.cbl:279 |
| DISPLAY 'ERROR OPENING CROSS REF FILE' | CBTRN02C.cbl:284 |
| MOVE XREFFILE-STATUS TO IO-STATUS | CBTRN02C.cbl:285 |
| PERFORM 9910-DISPLAY-IO-STATUS | CBTRN02C.cbl:286 |
| PERFORM 9999-ABEND-PROGRAM | CBTRN02C.cbl:287 |
0300-DALYREJS-OPEN
| When | Then | At |
|---|---|---|
| MOVE 0 TO APPL-RESULT | CBTRN02C.cbl:295 |
| MOVE 12 TO APPL-RESULT | CBTRN02C.cbl:297 |
| DISPLAY 'ERROR OPENING DALY REJECTS FILE' | CBTRN02C.cbl:302 |
| MOVE DALYREJS-STATUS TO IO-STATUS | CBTRN02C.cbl:303 |
| PERFORM 9910-DISPLAY-IO-STATUS | CBTRN02C.cbl:304 |
| PERFORM 9999-ABEND-PROGRAM | CBTRN02C.cbl:305 |
0400-ACCTFILE-OPEN
| When | Then | At |
|---|---|---|
| MOVE 0 TO APPL-RESULT | CBTRN02C.cbl:313 |
| MOVE 12 TO APPL-RESULT | CBTRN02C.cbl:315 |
| DISPLAY 'ERROR OPENING ACCOUNT MASTER FILE' | CBTRN02C.cbl:320 |
| MOVE ACCTFILE-STATUS TO IO-STATUS | CBTRN02C.cbl:321 |
| PERFORM 9910-DISPLAY-IO-STATUS | CBTRN02C.cbl:322 |
| PERFORM 9999-ABEND-PROGRAM | CBTRN02C.cbl:323 |
0500-TCATBALF-OPEN
| When | Then | At |
|---|---|---|
| MOVE 0 TO APPL-RESULT | CBTRN02C.cbl:331 |
| MOVE 12 TO APPL-RESULT | CBTRN02C.cbl:333 |
| DISPLAY 'ERROR OPENING TRANSACTION BALANCE FILE' | CBTRN02C.cbl:338 |
| MOVE TCATBALF-STATUS TO IO-STATUS | CBTRN02C.cbl:339 |
| PERFORM 9910-DISPLAY-IO-STATUS | CBTRN02C.cbl:340 |
| PERFORM 9999-ABEND-PROGRAM | CBTRN02C.cbl:341 |
1000-DALYTRAN-GET-NEXT
| When | Then | At |
|---|---|---|
| MOVE 0 TO APPL-RESULT | CBTRN02C.cbl:348 |
| MOVE 16 TO APPL-RESULT | CBTRN02C.cbl:352 |
| MOVE 12 TO APPL-RESULT | CBTRN02C.cbl:354 |
| MOVE 'Y' TO END-OF-FILE | CBTRN02C.cbl:361 |
| DISPLAY 'ERROR READING DALYTRAN FILE' | CBTRN02C.cbl:363 |
| MOVE DALYTRAN-STATUS TO IO-STATUS | CBTRN02C.cbl:364 |
| PERFORM 9910-DISPLAY-IO-STATUS | CBTRN02C.cbl:365 |
| PERFORM 9999-ABEND-PROGRAM | CBTRN02C.cbl:366 |
1500-VALIDATE-TRAN
| When | Then | At |
|---|---|---|
| PERFORM 1500-B-LOOKUP-ACCT | CBTRN02C.cbl:373 |
1500-A-LOOKUP-XREF
| When | Then | At |
|---|---|---|
| MOVE 100 TO WS-VALIDATION-FAIL-REASON | CBTRN02C.cbl:385 |
| MOVE 'INVALID CARD NUMBER FOUND' TO WS-VALIDATION-FAIL-REASON-DESC | CBTRN02C.cbl:386–387 |
1500-B-LOOKUP-ACCT
| When | Then | At |
|---|---|---|
| MOVE 101 TO WS-VALIDATION-FAIL-REASON | CBTRN02C.cbl:397 |
| MOVE 'ACCOUNT RECORD NOT FOUND' TO WS-VALIDATION-FAIL-REASON-DESC | CBTRN02C.cbl:398–399 |
| calc COMPUTE WS-TEMP-BAL = ACCT-CURR-CYC-CREDIT - ACCT-CURR-CYC-DEBIT + DALYTRAN-AMT | CBTRN02C.cbl:403–405 |
| MOVE 102 TO WS-VALIDATION-FAIL-REASON | CBTRN02C.cbl:410 |
| MOVE 'OVERLIMIT TRANSACTION' TO WS-VALIDATION-FAIL-REASON-DESC | CBTRN02C.cbl:411–412 |
| MOVE 103 TO WS-VALIDATION-FAIL-REASON | CBTRN02C.cbl:417 |
| MOVE 'TRANSACTION RECEIVED AFTER ACCT EXPIRATION' TO WS-VALIDATION-FAIL-REASON-DESC | CBTRN02C.cbl:418–419 |
2500-WRITE-REJECT-REC
| When | Then | At |
|---|---|---|
| MOVE 0 TO APPL-RESULT | CBTRN02C.cbl:453 |
| MOVE 12 TO APPL-RESULT | CBTRN02C.cbl:455 |
| DISPLAY 'ERROR WRITING TO REJECTS FILE' | CBTRN02C.cbl:460 |
| MOVE DALYREJS-STATUS TO IO-STATUS | CBTRN02C.cbl:461 |
| PERFORM 9910-DISPLAY-IO-STATUS | CBTRN02C.cbl:462 |
| PERFORM 9999-ABEND-PROGRAM | CBTRN02C.cbl:463 |
2700-UPDATE-TCATBAL
| When | Then | At |
|---|---|---|
| always | MOVE 'N' TO WS-CREATE-TRANCAT-REC | CBTRN02C.cbl:473 |
| DISPLAY 'TCATBAL record not found for key : ' FD-TRAN-CAT-KEY '.. Creating.' | CBTRN02C.cbl:476–477 |
| MOVE 'Y' TO WS-CREATE-TRANCAT-REC | CBTRN02C.cbl:478 |
| MOVE 0 TO APPL-RESULT | CBTRN02C.cbl:482 |
| MOVE 12 TO APPL-RESULT | CBTRN02C.cbl:484 |
| DISPLAY 'ERROR READING TRANSACTION BALANCE FILE' | CBTRN02C.cbl:489 |
| MOVE TCATBALF-STATUS TO IO-STATUS | CBTRN02C.cbl:490 |
| PERFORM 9910-DISPLAY-IO-STATUS | CBTRN02C.cbl:491 |
| PERFORM 9999-ABEND-PROGRAM | CBTRN02C.cbl:492 |
| PERFORM 2700-A-CREATE-TCATBAL-REC | CBTRN02C.cbl:496 |
| PERFORM 2700-B-UPDATE-TCATBAL-REC | CBTRN02C.cbl:498 |
2700-A-CREATE-TCATBAL-REC
| When | Then | At |
|---|---|---|
| always | calc ADD DALYTRAN-AMT TO TRAN-CAT-BAL | CBTRN02C.cbl:508 |
| MOVE 0 TO APPL-RESULT | CBTRN02C.cbl:513 |
| MOVE 12 TO APPL-RESULT | CBTRN02C.cbl:515 |
| DISPLAY 'ERROR WRITING TRANSACTION BALANCE FILE' | CBTRN02C.cbl:520 |
| MOVE TCATBALF-STATUS TO IO-STATUS | CBTRN02C.cbl:521 |
| PERFORM 9910-DISPLAY-IO-STATUS | CBTRN02C.cbl:522 |
| PERFORM 9999-ABEND-PROGRAM | CBTRN02C.cbl:523 |
2700-B-UPDATE-TCATBAL-REC
| When | Then | At |
|---|---|---|
| always | calc ADD DALYTRAN-AMT TO TRAN-CAT-BAL | CBTRN02C.cbl:527 |
| MOVE 0 TO APPL-RESULT | CBTRN02C.cbl:531 |
| MOVE 12 TO APPL-RESULT | CBTRN02C.cbl:533 |
| DISPLAY 'ERROR REWRITING TRANSACTION BALANCE FILE' | CBTRN02C.cbl:538 |
| MOVE TCATBALF-STATUS TO IO-STATUS | CBTRN02C.cbl:539 |
| PERFORM 9910-DISPLAY-IO-STATUS | CBTRN02C.cbl:540 |
| PERFORM 9999-ABEND-PROGRAM | CBTRN02C.cbl:541 |
2800-UPDATE-ACCOUNT-REC
| When | Then | At |
|---|---|---|
| always | calc ADD DALYTRAN-AMT TO ACCT-CURR-BAL | CBTRN02C.cbl:547 |
| calc ADD DALYTRAN-AMT TO ACCT-CURR-CYC-CREDIT | CBTRN02C.cbl:549 |
| calc ADD DALYTRAN-AMT TO ACCT-CURR-CYC-DEBIT | CBTRN02C.cbl:551 |
| MOVE 109 TO WS-VALIDATION-FAIL-REASON | CBTRN02C.cbl:556 |
| MOVE 'ACCOUNT RECORD NOT FOUND' TO WS-VALIDATION-FAIL-REASON-DESC | CBTRN02C.cbl:557–558 |
2900-WRITE-TRANSACTION-FILE
| When | Then | At |
|---|---|---|
| MOVE 0 TO APPL-RESULT | CBTRN02C.cbl:567 |
| MOVE 12 TO APPL-RESULT | CBTRN02C.cbl:569 |
| DISPLAY 'ERROR WRITING TO TRANSACTION FILE' | CBTRN02C.cbl:574 |
| MOVE TRANFILE-STATUS TO IO-STATUS | CBTRN02C.cbl:575 |
| PERFORM 9910-DISPLAY-IO-STATUS | CBTRN02C.cbl:576 |
| PERFORM 9999-ABEND-PROGRAM | CBTRN02C.cbl:577 |
9000-DALYTRAN-CLOSE
| When | Then | At |
|---|---|---|
| MOVE 0 TO APPL-RESULT | CBTRN02C.cbl:586 |
| MOVE 12 TO APPL-RESULT | CBTRN02C.cbl:588 |
| DISPLAY 'ERROR CLOSING DALYTRAN FILE' | CBTRN02C.cbl:593 |
| MOVE DALYTRAN-STATUS TO IO-STATUS | CBTRN02C.cbl:594 |
| PERFORM 9910-DISPLAY-IO-STATUS | CBTRN02C.cbl:595 |
| PERFORM 9999-ABEND-PROGRAM | CBTRN02C.cbl:596 |
9100-TRANFILE-CLOSE
| When | Then | At |
|---|---|---|
| MOVE 0 TO APPL-RESULT | CBTRN02C.cbl:604 |
| MOVE 12 TO APPL-RESULT | CBTRN02C.cbl:606 |
| DISPLAY 'ERROR CLOSING TRANSACTION FILE' | CBTRN02C.cbl:611 |
| MOVE TRANFILE-STATUS TO IO-STATUS | CBTRN02C.cbl:612 |
| PERFORM 9910-DISPLAY-IO-STATUS | CBTRN02C.cbl:613 |
| PERFORM 9999-ABEND-PROGRAM | CBTRN02C.cbl:614 |
9200-XREFFILE-CLOSE
| When | Then | At |
|---|---|---|
| MOVE 0 TO APPL-RESULT | CBTRN02C.cbl:623 |
| MOVE 12 TO APPL-RESULT | CBTRN02C.cbl:625 |
| DISPLAY 'ERROR CLOSING CROSS REF FILE' | CBTRN02C.cbl:630 |
| MOVE XREFFILE-STATUS TO IO-STATUS | CBTRN02C.cbl:631 |
| PERFORM 9910-DISPLAY-IO-STATUS | CBTRN02C.cbl:632 |
| PERFORM 9999-ABEND-PROGRAM | CBTRN02C.cbl:633 |
9300-DALYREJS-CLOSE
| When | Then | At |
|---|---|---|
| MOVE 0 TO APPL-RESULT | CBTRN02C.cbl:641 |
| MOVE 12 TO APPL-RESULT | CBTRN02C.cbl:643 |
| DISPLAY 'ERROR CLOSING DAILY REJECTS FILE' | CBTRN02C.cbl:648 |
| MOVE XREFFILE-STATUS TO IO-STATUS | CBTRN02C.cbl:649 |
| PERFORM 9910-DISPLAY-IO-STATUS | CBTRN02C.cbl:650 |
| PERFORM 9999-ABEND-PROGRAM | CBTRN02C.cbl:651 |
9400-ACCTFILE-CLOSE
| When | Then | At |
|---|---|---|
| MOVE 0 TO APPL-RESULT | CBTRN02C.cbl:659 |
| MOVE 12 TO APPL-RESULT | CBTRN02C.cbl:661 |
| DISPLAY 'ERROR CLOSING ACCOUNT FILE' | CBTRN02C.cbl:666 |
| MOVE ACCTFILE-STATUS TO IO-STATUS | CBTRN02C.cbl:667 |
| PERFORM 9910-DISPLAY-IO-STATUS | CBTRN02C.cbl:668 |
| PERFORM 9999-ABEND-PROGRAM | CBTRN02C.cbl:669 |
9500-TCATBALF-CLOSE
| When | Then | At |
|---|---|---|
| MOVE 0 TO APPL-RESULT | CBTRN02C.cbl:678 |
| MOVE 12 TO APPL-RESULT | CBTRN02C.cbl:680 |
| DISPLAY 'ERROR CLOSING TRANSACTION BALANCE FILE' | CBTRN02C.cbl:685 |
| MOVE TCATBALF-STATUS TO IO-STATUS | CBTRN02C.cbl:686 |
| PERFORM 9910-DISPLAY-IO-STATUS | CBTRN02C.cbl:687 |
| PERFORM 9999-ABEND-PROGRAM | CBTRN02C.cbl:688 |
Z-GET-DB2-FORMAT-TIMESTAMP
| When | Then | At |
|---|---|---|
| always | MOVE '0000' TO DB2-REST | CBTRN02C.cbl:701 |
| always | MOVE '-' TO DB2-STREEP-1 DB2-STREEP-2 DB2-STREEP-3 | CBTRN02C.cbl:702 |
| always | MOVE '.' TO DB2-DOT-1 DB2-DOT-2 DB2-DOT-3 | CBTRN02C.cbl:703 |
9910-DISPLAY-IO-STATUS
| When | Then | At |
|---|---|---|
| MOVE IO-STAT1 TO IO-STATUS-04(1:1) | CBTRN02C.cbl:717 |
| MOVE 0 TO TWO-BYTES-BINARY | CBTRN02C.cbl:718 |
| MOVE IO-STAT2 TO TWO-BYTES-RIGHT | CBTRN02C.cbl:719 |
| MOVE TWO-BYTES-BINARY TO IO-STATUS-0403 | CBTRN02C.cbl:720 |
| DISPLAY 'FILE STATUS IS: NNNN' IO-STATUS-04 | CBTRN02C.cbl:721 |
| MOVE '0000' TO IO-STATUS-04 | CBTRN02C.cbl:723 |
| MOVE IO-STATUS TO IO-STATUS-04(3:2) | CBTRN02C.cbl:724 |
| DISPLAY 'FILE STATUS IS: NNNN' IO-STATUS-04 | CBTRN02C.cbl:725 |