MFmainframe-rea
WS carddemo · 26f629ef

Business rules · 28 guarded actionsCOBTUPDT

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.

2 rules

0001-OPEN-FILES

WhenThenAt
  1. WS-INF-STATUS = '00' THEN
DISPLAY 'OPEN FILE OK'COBTUPDT.cbl:85
  1. NOT (WS-INF-STATUS = '00' THEN)
DISPLAY 'OPEN FILE NOT OK'COBTUPDT.cbl:87
2 rules

1001-READ-NEXT-RECORDS

WhenThenAt
  1. PERFORM UNTIL LASTREC = 'Y'
PERFORM 1003-TREAT-RECORDCOBTUPDT.cbl:94
  1. PERFORM UNTIL LASTREC = 'Y'
PERFORM 1002-READ-RECORDSCOBTUPDT.cbl:95
2 rules

1002-READ-RECORDS

WhenThenAt
  1. READ AT END
MOVE 'Y' TO LASTRECCOBTUPDT.cbl:102
  1. LASTREC NOT EQUAL TO 'Y' THEN
DISPLAY 'PROCESSING ' WS-INPUT-RECCOBTUPDT.cbl:105
9 rules

1003-TREAT-RECORD

WhenThenAt
  1. INPUT-REC-TYPE = 'A'
DISPLAY 'ADDING RECORD'COBTUPDT.cbl:112
  1. INPUT-REC-TYPE = 'A'
PERFORM 10031-INSERT-DBCOBTUPDT.cbl:113
  1. INPUT-REC-TYPE = 'U'
DISPLAY 'UPDATING RECORD'COBTUPDT.cbl:115
  1. INPUT-REC-TYPE = 'U'
PERFORM 10032-UPDATE-DBCOBTUPDT.cbl:116
  1. INPUT-REC-TYPE = 'D'
DISPLAY 'DELETING RECORD'COBTUPDT.cbl:118
  1. INPUT-REC-TYPE = 'D'
PERFORM 10033-DELETE-DBCOBTUPDT.cbl:119
  1. INPUT-REC-TYPE = '*'
DISPLAY 'IGNORING COMMENTED LINE'COBTUPDT.cbl:121
  1. INPUT-REC-TYPE is none of ['A'; 'U'; 'D'; '*']
STRING 'ERROR: TYPE NOT VALID' DELIMITED BY SIZE INTO WS-RETURN-MSGCOBTUPDT.cbl:123–126
  1. INPUT-REC-TYPE is none of ['A'; 'U'; 'D'; '*']
PERFORM 9999-ABENDCOBTUPDT.cbl:128
3 rules

10031-INSERT-DB

WhenThenAt
  1. SQLCODE = ZERO
DISPLAY 'RECORD INSERTED SUCCESSFULLY'COBTUPDT.cbl:153
  1. SQLCODE < 0
STRING 'Error accessing:' ' TRANSACTION_TYPE table. SQLCODE:' WS-VAR-SQLCODE DELIMITED BY SIZE INTO WS-RETURN-MSGCOBTUPDT.cbl:155–160
  1. SQLCODE < 0
PERFORM 9999-ABENDCOBTUPDT.cbl:162
5 rules

10032-UPDATE-DB

WhenThenAt
  1. SQLCODE = ZERO
DISPLAY 'RECORD UPDATED SUCCESSFULLY'COBTUPDT.cbl:179
  1. SQLCODE = +100
STRING 'No records found.' DELIMITED BY SIZE INTO WS-RETURN-MSGCOBTUPDT.cbl:181–182
  1. SQLCODE = +100
PERFORM 9999-ABENDCOBTUPDT.cbl:184
  1. SQLCODE < 0
STRING 'Error accessing:' ' TRANSACTION_TYPE table. SQLCODE:' WS-VAR-SQLCODE DELIMITED BY SIZE INTO WS-RETURN-MSGCOBTUPDT.cbl:186–191
  1. SQLCODE < 0
PERFORM 9999-ABENDCOBTUPDT.cbl:193
5 rules

10033-DELETE-DB

WhenThenAt
  1. SQLCODE = ZERO
DISPLAY 'RECORD DELETED SUCCESSFULLY'COBTUPDT.cbl:209
  1. SQLCODE = +100
STRING 'No records found.' DELIMITED BY SIZE INTO WS-RETURN-MSGCOBTUPDT.cbl:211–212
  1. SQLCODE = +100
PERFORM 9999-ABENDCOBTUPDT.cbl:214
  1. SQLCODE < 0
STRING 'Error accessing:' ' TRANSACTION_TYPE table. SQLCODE:' WS-VAR-SQLCODE DELIMITED BY SIZE INTO WS-RETURN-MSGCOBTUPDT.cbl:217–222
  1. SQLCODE < 0
PERFORM 9999-ABENDCOBTUPDT.cbl:224