MFmainframe-rea
WS carddemo · 26f629ef

Business rules · 53 guarded actionsCOTRN01C

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

CDEMO-PGM-REENTERmeans CDEMO-PGM-CONTEXT = 1COCOM01Y.cpy:31 via COTRN01C.cbl:52
ERR-FLG-ONmeans WS-ERR-FLG = 'Y'COTRN01C.cbl:41
20 rules

MAIN-PARA

WhenThenAt
  1. EIBCALEN = 0
MOVE 'COSGN00C' TO CDEMO-TO-PROGRAMCOTRN01C.cbl:95
  1. EIBCALEN = 0
PERFORM RETURN-TO-PREV-SCREENCOTRN01C.cbl:96
  1. NOT (EIBCALEN = 0)
MOVE DFHCOMMAREA(1:EIBCALEN) TO CARDDEMO-COMMAREACOTRN01C.cbl:98
  1. NOT (EIBCALEN = 0)
  2. NOT CDEMO-PGM-REENTER
SET CDEMO-PGM-REENTER TO TRUECOTRN01C.cbl:100
  1. NOT (EIBCALEN = 0)
  2. NOT CDEMO-PGM-REENTER
MOVE LOW-VALUES TO COTRN1AOCOTRN01C.cbl:101
  1. NOT (EIBCALEN = 0)
  2. NOT CDEMO-PGM-REENTER
MOVE -1 TO TRNIDINL OF COTRN1AICOTRN01C.cbl:102
  1. NOT (EIBCALEN = 0)
  2. NOT CDEMO-PGM-REENTER
  3. CDEMO-CT01-TRN-SELECTED NOT = SPACES AND LOW-VALUES
MOVE CDEMO-CT01-TRN-SELECTED TO TRNIDINI OF COTRN1AICOTRN01C.cbl:105–106
  1. NOT (EIBCALEN = 0)
  2. NOT CDEMO-PGM-REENTER
  3. CDEMO-CT01-TRN-SELECTED NOT = SPACES AND LOW-VALUES
PERFORM PROCESS-ENTER-KEYCOTRN01C.cbl:107
  1. NOT (EIBCALEN = 0)
  2. NOT CDEMO-PGM-REENTER
PERFORM SEND-TRNVIEW-SCREENCOTRN01C.cbl:109
  1. NOT (EIBCALEN = 0)
  2. CDEMO-PGM-REENTER
PERFORM RECEIVE-TRNVIEW-SCREENCOTRN01C.cbl:111
  1. NOT (EIBCALEN = 0)
  2. CDEMO-PGM-REENTER
  3. EIBAID = DFHENTER
PERFORM PROCESS-ENTER-KEYCOTRN01C.cbl:114
  1. NOT (EIBCALEN = 0)
  2. CDEMO-PGM-REENTER
  3. EIBAID = DFHPF3
  4. CDEMO-FROM-PROGRAM = SPACES OR LOW-VALUES
MOVE 'COMEN01C' TO CDEMO-TO-PROGRAMCOTRN01C.cbl:117
  1. NOT (EIBCALEN = 0)
  2. CDEMO-PGM-REENTER
  3. EIBAID = DFHPF3
  4. NOT (CDEMO-FROM-PROGRAM = SPACES OR LOW-VALUES)
MOVE CDEMO-FROM-PROGRAM TO CDEMO-TO-PROGRAMCOTRN01C.cbl:119–120
  1. NOT (EIBCALEN = 0)
  2. CDEMO-PGM-REENTER
  3. EIBAID = DFHPF3
PERFORM RETURN-TO-PREV-SCREENCOTRN01C.cbl:122
  1. NOT (EIBCALEN = 0)
  2. CDEMO-PGM-REENTER
  3. EIBAID = DFHPF4
PERFORM CLEAR-CURRENT-SCREENCOTRN01C.cbl:124
  1. NOT (EIBCALEN = 0)
  2. CDEMO-PGM-REENTER
  3. EIBAID = DFHPF5
MOVE 'COTRN00C' TO CDEMO-TO-PROGRAMCOTRN01C.cbl:126
  1. NOT (EIBCALEN = 0)
  2. CDEMO-PGM-REENTER
  3. EIBAID = DFHPF5
PERFORM RETURN-TO-PREV-SCREENCOTRN01C.cbl:127
  1. NOT (EIBCALEN = 0)
  2. CDEMO-PGM-REENTER
  3. EIBAID is none of [DFHENTER; DFHPF3; DFHPF4; DFHPF5]
MOVE 'Y' TO WS-ERR-FLGCOTRN01C.cbl:129
  1. NOT (EIBCALEN = 0)
  2. CDEMO-PGM-REENTER
  3. EIBAID is none of [DFHENTER; DFHPF3; DFHPF4; DFHPF5]
MOVE CCDA-MSG-INVALID-KEY TO WS-MESSAGECOTRN01C.cbl:130
  1. NOT (EIBCALEN = 0)
  2. CDEMO-PGM-REENTER
  3. EIBAID is none of [DFHENTER; DFHPF3; DFHPF4; DFHPF5]
PERFORM SEND-TRNVIEW-SCREENCOTRN01C.cbl:131
23 rules

PROCESS-ENTER-KEY

WhenThenAt
  1. TRNIDINI OF COTRN1AI = SPACES OR LOW-VALUES
MOVE 'Y' TO WS-ERR-FLGCOTRN01C.cbl:148
  1. TRNIDINI OF COTRN1AI = SPACES OR LOW-VALUES
MOVE 'Tran ID can NOT be empty...' TO WS-MESSAGECOTRN01C.cbl:149–150
  1. TRNIDINI OF COTRN1AI = SPACES OR LOW-VALUES
MOVE -1 TO TRNIDINL OF COTRN1AICOTRN01C.cbl:151
  1. TRNIDINI OF COTRN1AI = SPACES OR LOW-VALUES
PERFORM SEND-TRNVIEW-SCREENCOTRN01C.cbl:152
  1. TRUE is none of [TRNIDINI OF COTRN1AI = SPACES OR LOW-VALUES]
MOVE -1 TO TRNIDINL OF COTRN1AICOTRN01C.cbl:154
  1. NOT ERR-FLG-ON
MOVE SPACES TO TRNIDI OF COTRN1AI CARDNUMI OF COTRN1AI TTYPCDI OF COTRN1AI TCATCDI OF COTRN1AI TRNSRCI OF COTRN1AI TRNAMTI OF COTRN1AI TDESCI OF COTRN1AI TORIGDTI OF COTRN1AI TPROCDTI OF COTRN1AI MIDI OF COTRN1AI MNAMEI OF COTRN1AI MCITYI OF COTRN1AI MZIPI OF COTRN1AICOTRN01C.cbl:159–171
  1. NOT ERR-FLG-ON
MOVE TRNIDINI OF COTRN1AI TO TRAN-IDCOTRN01C.cbl:172
  1. NOT ERR-FLG-ON
PERFORM READ-TRANSACT-FILECOTRN01C.cbl:173
  1. NOT ERR-FLG-ON
MOVE TRAN-AMT TO WS-TRAN-AMTCOTRN01C.cbl:177
  1. NOT ERR-FLG-ON
MOVE TRAN-ID TO TRNIDI OF COTRN1AICOTRN01C.cbl:178
  1. NOT ERR-FLG-ON
MOVE TRAN-CARD-NUM TO CARDNUMI OF COTRN1AICOTRN01C.cbl:179
  1. NOT ERR-FLG-ON
MOVE TRAN-TYPE-CD TO TTYPCDI OF COTRN1AICOTRN01C.cbl:180
  1. NOT ERR-FLG-ON
MOVE TRAN-CAT-CD TO TCATCDI OF COTRN1AICOTRN01C.cbl:181
  1. NOT ERR-FLG-ON
MOVE TRAN-SOURCE TO TRNSRCI OF COTRN1AICOTRN01C.cbl:182
  1. NOT ERR-FLG-ON
MOVE WS-TRAN-AMT TO TRNAMTI OF COTRN1AICOTRN01C.cbl:183
  1. NOT ERR-FLG-ON
MOVE TRAN-DESC TO TDESCI OF COTRN1AICOTRN01C.cbl:184
  1. NOT ERR-FLG-ON
MOVE TRAN-ORIG-TS TO TORIGDTI OF COTRN1AICOTRN01C.cbl:185
  1. NOT ERR-FLG-ON
MOVE TRAN-PROC-TS TO TPROCDTI OF COTRN1AICOTRN01C.cbl:186
  1. NOT ERR-FLG-ON
MOVE TRAN-MERCHANT-ID TO MIDI OF COTRN1AICOTRN01C.cbl:187
  1. NOT ERR-FLG-ON
MOVE TRAN-MERCHANT-NAME TO MNAMEI OF COTRN1AICOTRN01C.cbl:188
  1. NOT ERR-FLG-ON
MOVE TRAN-MERCHANT-CITY TO MCITYI OF COTRN1AICOTRN01C.cbl:189
  1. NOT ERR-FLG-ON
MOVE TRAN-MERCHANT-ZIP TO MZIPI OF COTRN1AICOTRN01C.cbl:190
  1. NOT ERR-FLG-ON
PERFORM SEND-TRNVIEW-SCREENCOTRN01C.cbl:191
1 rules

RETURN-TO-PREV-SCREEN

WhenThenAt
  1. CDEMO-TO-PROGRAM = LOW-VALUES OR SPACES
MOVE 'COSGN00C' TO CDEMO-TO-PROGRAMCOTRN01C.cbl:200
9 rules

READ-TRANSACT-FILE

WhenThenAt
  1. WS-RESP-CD = DFHRESP(NOTFND)
MOVE 'Y' TO WS-ERR-FLGCOTRN01C.cbl:284
  1. WS-RESP-CD = DFHRESP(NOTFND)
MOVE 'Transaction ID NOT found...' TO WS-MESSAGECOTRN01C.cbl:285–286
  1. WS-RESP-CD = DFHRESP(NOTFND)
MOVE -1 TO TRNIDINL OF COTRN1AICOTRN01C.cbl:287
  1. WS-RESP-CD = DFHRESP(NOTFND)
PERFORM SEND-TRNVIEW-SCREENCOTRN01C.cbl:288
  1. WS-RESP-CD is none of [DFHRESP(NORMAL); DFHRESP(NOTFND)]
DISPLAY 'RESP:' WS-RESP-CD 'REAS:' WS-REAS-CDCOTRN01C.cbl:290
  1. WS-RESP-CD is none of [DFHRESP(NORMAL); DFHRESP(NOTFND)]
MOVE 'Y' TO WS-ERR-FLGCOTRN01C.cbl:291
  1. WS-RESP-CD is none of [DFHRESP(NORMAL); DFHRESP(NOTFND)]
MOVE 'Unable to lookup Transaction...' TO WS-MESSAGECOTRN01C.cbl:292–293
  1. WS-RESP-CD is none of [DFHRESP(NORMAL); DFHRESP(NOTFND)]
MOVE -1 TO TRNIDINL OF COTRN1AICOTRN01C.cbl:294
  1. WS-RESP-CD is none of [DFHRESP(NORMAL); DFHRESP(NOTFND)]
PERFORM SEND-TRNVIEW-SCREENCOTRN01C.cbl:295