MFmainframe-rea
WS carddemo · 26f629ef

Business rules · 72 guarded actionsCBEXPORT

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

WS-CUSTOMER-OKmeans WS-CUSTOMER-STATUS = '00'CBEXPORT.cbl:102
WS-ACCOUNT-OKmeans WS-ACCOUNT-STATUS = '00'CBEXPORT.cbl:105
WS-XREF-OKmeans WS-XREF-STATUS = '00'CBEXPORT.cbl:108
WS-TRANSACTION-OKmeans WS-TRANSACTION-STATUS = '00'CBEXPORT.cbl:111
WS-CARD-OKmeans WS-CARD-STATUS = '00'CBEXPORT.cbl:114
WS-EXPORT-OKmeans WS-EXPORT-STATUS = '00'CBEXPORT.cbl:116
WS-CUSTOMER-EOFmeans WS-CUSTOMER-STATUS = '10'CBEXPORT.cbl:101
WS-ACCOUNT-EOFmeans WS-ACCOUNT-STATUS = '10'CBEXPORT.cbl:104
WS-XREF-EOFmeans WS-XREF-STATUS = '10'CBEXPORT.cbl:107
WS-TRANSACTION-EOFmeans WS-TRANSACTION-STATUS = '10'CBEXPORT.cbl:110
WS-CARD-EOFmeans WS-CARD-STATUS = '10'CBEXPORT.cbl:113
12 rules

1100-OPEN-FILES

WhenThenAt
  1. NOT WS-CUSTOMER-OK
DISPLAY 'ERROR: Cannot open CUSTOMER-INPUT, Status: ' WS-CUSTOMER-STATUSCBEXPORT.cbl:202–203
  1. NOT WS-CUSTOMER-OK
PERFORM 9999-ABEND-PROGRAMCBEXPORT.cbl:204
  1. NOT WS-ACCOUNT-OK
DISPLAY 'ERROR: Cannot open ACCOUNT-INPUT, Status: ' WS-ACCOUNT-STATUSCBEXPORT.cbl:209–210
  1. NOT WS-ACCOUNT-OK
PERFORM 9999-ABEND-PROGRAMCBEXPORT.cbl:211
  1. NOT WS-XREF-OK
DISPLAY 'ERROR: Cannot open XREF-INPUT, Status: ' WS-XREF-STATUSCBEXPORT.cbl:216–217
  1. NOT WS-XREF-OK
PERFORM 9999-ABEND-PROGRAMCBEXPORT.cbl:218
  1. NOT WS-TRANSACTION-OK
DISPLAY 'ERROR: Cannot open TRANSACTION-INPUT, Status: ' WS-TRANSACTION-STATUSCBEXPORT.cbl:223–224
  1. NOT WS-TRANSACTION-OK
PERFORM 9999-ABEND-PROGRAMCBEXPORT.cbl:225
  1. NOT WS-CARD-OK
DISPLAY 'ERROR: Cannot open CARD-INPUT, Status: ' WS-CARD-STATUSCBEXPORT.cbl:230–231
  1. NOT WS-CARD-OK
PERFORM 9999-ABEND-PROGRAMCBEXPORT.cbl:232
  1. NOT WS-EXPORT-OK
DISPLAY 'ERROR: Cannot open EXPORT-OUTPUT, Status: ' WS-EXPORT-STATUSCBEXPORT.cbl:237–238
  1. NOT WS-EXPORT-OK
PERFORM 9999-ABEND-PROGRAMCBEXPORT.cbl:239
2 rules

2000-EXPORT-CUSTOMERS

WhenThenAt
  1. PERFORM UNTIL WS-CUSTOMER-EOF
PERFORM 2200-CREATE-CUSTOMER-EXP-RECCBEXPORT.cbl:250
  1. PERFORM UNTIL WS-CUSTOMER-EOF
PERFORM 2100-READ-CUSTOMER-RECORDCBEXPORT.cbl:251
2 rules

2100-READ-CUSTOMER-RECORD

WhenThenAt
  1. NOT WS-CUSTOMER-OK AND NOT WS-CUSTOMER-EOF
DISPLAY 'ERROR: Reading CUSTOMER-INPUT, Status: ' WS-CUSTOMER-STATUSCBEXPORT.cbl:263–264
  1. NOT WS-CUSTOMER-OK AND NOT WS-CUSTOMER-EOF
PERFORM 9999-ABEND-PROGRAMCBEXPORT.cbl:265
8 rules

2200-CREATE-CUSTOMER-EXP-REC

WhenThenAt
always MOVE 'C' TO EXPORT-REC-TYPECBEXPORT.cbl:274
alwayscalc ADD 1 TO WS-SEQUENCE-COUNTERCBEXPORT.cbl:276
always MOVE '0001' TO EXPORT-BRANCH-IDCBEXPORT.cbl:278
always MOVE 'NORTH' TO EXPORT-REGION-CODECBEXPORT.cbl:279
  1. NOT WS-EXPORT-OK
DISPLAY 'ERROR: Writing export record, Status: ' WS-EXPORT-STATUSCBEXPORT.cbl:304–305
  1. NOT WS-EXPORT-OK
PERFORM 9999-ABEND-PROGRAMCBEXPORT.cbl:306
alwayscalc ADD 1 TO WS-CUSTOMER-RECORDS-EXPORTEDCBEXPORT.cbl:309
alwayscalc ADD 1 TO WS-TOTAL-RECORDS-EXPORTEDCBEXPORT.cbl:310
2 rules

3000-EXPORT-ACCOUNTS

WhenThenAt
  1. PERFORM UNTIL WS-ACCOUNT-EOF
PERFORM 3200-CREATE-ACCOUNT-EXP-RECCBEXPORT.cbl:319
  1. PERFORM UNTIL WS-ACCOUNT-EOF
PERFORM 3100-READ-ACCOUNT-RECORDCBEXPORT.cbl:320
2 rules

3100-READ-ACCOUNT-RECORD

WhenThenAt
  1. NOT WS-ACCOUNT-OK AND NOT WS-ACCOUNT-EOF
DISPLAY 'ERROR: Reading ACCOUNT-INPUT, Status: ' WS-ACCOUNT-STATUSCBEXPORT.cbl:332–333
  1. NOT WS-ACCOUNT-OK AND NOT WS-ACCOUNT-EOF
PERFORM 9999-ABEND-PROGRAMCBEXPORT.cbl:334
8 rules

3200-CREATE-ACCOUNT-EXP-REC

WhenThenAt
always MOVE 'A' TO EXPORT-REC-TYPECBEXPORT.cbl:343
alwayscalc ADD 1 TO WS-SEQUENCE-COUNTERCBEXPORT.cbl:345
always MOVE '0001' TO EXPORT-BRANCH-IDCBEXPORT.cbl:347
always MOVE 'NORTH' TO EXPORT-REGION-CODECBEXPORT.cbl:348
  1. NOT WS-EXPORT-OK
DISPLAY 'ERROR: Writing export record, Status: ' WS-EXPORT-STATUSCBEXPORT.cbl:367–368
  1. NOT WS-EXPORT-OK
PERFORM 9999-ABEND-PROGRAMCBEXPORT.cbl:369
alwayscalc ADD 1 TO WS-ACCOUNT-RECORDS-EXPORTEDCBEXPORT.cbl:372
alwayscalc ADD 1 TO WS-TOTAL-RECORDS-EXPORTEDCBEXPORT.cbl:373
2 rules

4000-EXPORT-XREFS

WhenThenAt
  1. PERFORM UNTIL WS-XREF-EOF
PERFORM 4200-CREATE-XREF-EXPORT-RECORDCBEXPORT.cbl:383
  1. PERFORM UNTIL WS-XREF-EOF
PERFORM 4100-READ-XREF-RECORDCBEXPORT.cbl:384
2 rules

4100-READ-XREF-RECORD

WhenThenAt
  1. NOT WS-XREF-OK AND NOT WS-XREF-EOF
DISPLAY 'ERROR: Reading XREF-INPUT, Status: ' WS-XREF-STATUSCBEXPORT.cbl:396–397
  1. NOT WS-XREF-OK AND NOT WS-XREF-EOF
PERFORM 9999-ABEND-PROGRAMCBEXPORT.cbl:398
8 rules

4200-CREATE-XREF-EXPORT-RECORD

WhenThenAt
always MOVE 'X' TO EXPORT-REC-TYPECBEXPORT.cbl:407
alwayscalc ADD 1 TO WS-SEQUENCE-COUNTERCBEXPORT.cbl:409
always MOVE '0001' TO EXPORT-BRANCH-IDCBEXPORT.cbl:411
always MOVE 'NORTH' TO EXPORT-REGION-CODECBEXPORT.cbl:412
  1. NOT WS-EXPORT-OK
DISPLAY 'ERROR: Writing export record, Status: ' WS-EXPORT-STATUSCBEXPORT.cbl:422–423
  1. NOT WS-EXPORT-OK
PERFORM 9999-ABEND-PROGRAMCBEXPORT.cbl:424
alwayscalc ADD 1 TO WS-XREF-RECORDS-EXPORTEDCBEXPORT.cbl:427
alwayscalc ADD 1 TO WS-TOTAL-RECORDS-EXPORTEDCBEXPORT.cbl:428
2 rules

5000-EXPORT-TRANSACTIONS

WhenThenAt
  1. PERFORM UNTIL WS-TRANSACTION-EOF
PERFORM 5200-CREATE-TRAN-EXP-RECCBEXPORT.cbl:438
  1. PERFORM UNTIL WS-TRANSACTION-EOF
PERFORM 5100-READ-TRANSACTION-RECORDCBEXPORT.cbl:439
2 rules

5100-READ-TRANSACTION-RECORD

WhenThenAt
  1. NOT WS-TRANSACTION-OK AND NOT WS-TRANSACTION-EOF
DISPLAY 'ERROR: Reading TRANSACTION-INPUT, Status: ' WS-TRANSACTION-STATUSCBEXPORT.cbl:451–452
  1. NOT WS-TRANSACTION-OK AND NOT WS-TRANSACTION-EOF
PERFORM 9999-ABEND-PROGRAMCBEXPORT.cbl:453
8 rules

5200-CREATE-TRAN-EXP-REC

WhenThenAt
always MOVE 'T' TO EXPORT-REC-TYPECBEXPORT.cbl:462
alwayscalc ADD 1 TO WS-SEQUENCE-COUNTERCBEXPORT.cbl:464
always MOVE '0001' TO EXPORT-BRANCH-IDCBEXPORT.cbl:466
always MOVE 'NORTH' TO EXPORT-REGION-CODECBEXPORT.cbl:467
  1. NOT WS-EXPORT-OK
DISPLAY 'ERROR: Writing export record, Status: ' WS-EXPORT-STATUSCBEXPORT.cbl:487–488
  1. NOT WS-EXPORT-OK
PERFORM 9999-ABEND-PROGRAMCBEXPORT.cbl:489
alwayscalc ADD 1 TO WS-TRAN-RECORDS-EXPORTEDCBEXPORT.cbl:492
alwayscalc ADD 1 TO WS-TOTAL-RECORDS-EXPORTEDCBEXPORT.cbl:493
2 rules

5500-EXPORT-CARDS

WhenThenAt
  1. PERFORM UNTIL WS-CARD-EOF
PERFORM 5700-CREATE-CARD-EXPORT-RECORDCBEXPORT.cbl:503
  1. PERFORM UNTIL WS-CARD-EOF
PERFORM 5600-READ-CARD-RECORDCBEXPORT.cbl:504
2 rules

5600-READ-CARD-RECORD

WhenThenAt
  1. NOT WS-CARD-OK AND NOT WS-CARD-EOF
DISPLAY 'ERROR: Reading CARD-INPUT, Status: ' WS-CARD-STATUSCBEXPORT.cbl:516–517
  1. NOT WS-CARD-OK AND NOT WS-CARD-EOF
PERFORM 9999-ABEND-PROGRAMCBEXPORT.cbl:518
8 rules

5700-CREATE-CARD-EXPORT-RECORD

WhenThenAt
always MOVE 'D' TO EXPORT-REC-TYPECBEXPORT.cbl:527
alwayscalc ADD 1 TO WS-SEQUENCE-COUNTERCBEXPORT.cbl:529
always MOVE '0001' TO EXPORT-BRANCH-IDCBEXPORT.cbl:531
always MOVE 'NORTH' TO EXPORT-REGION-CODECBEXPORT.cbl:532
  1. NOT WS-EXPORT-OK
DISPLAY 'ERROR: Writing export record, Status: ' WS-EXPORT-STATUSCBEXPORT.cbl:545–546
  1. NOT WS-EXPORT-OK
PERFORM 9999-ABEND-PROGRAMCBEXPORT.cbl:547
alwayscalc ADD 1 TO WS-CARD-RECORDS-EXPORTEDCBEXPORT.cbl:550
alwayscalc ADD 1 TO WS-TOTAL-RECORDS-EXPORTEDCBEXPORT.cbl:551