MFmainframe-rea
WS carddemo · 26f629ef

Business rules · 57 guarded actionsCOUSR01C

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 COUSR01C.cbl:46
ERR-FLG-ONmeans WS-ERR-FLG = 'Y'COUSR01C.cbl:41
16 rules

MAIN-PARA

WhenThenAt
  1. EIBCALEN = 0
MOVE 'COSGN00C' TO CDEMO-TO-PROGRAMCOUSR01C.cbl:79
  1. EIBCALEN = 0
PERFORM RETURN-TO-PREV-SCREENCOUSR01C.cbl:80
  1. NOT (EIBCALEN = 0)
MOVE DFHCOMMAREA(1:EIBCALEN) TO CARDDEMO-COMMAREACOUSR01C.cbl:82
  1. NOT (EIBCALEN = 0)
  2. NOT CDEMO-PGM-REENTER
SET CDEMO-PGM-REENTER TO TRUECOUSR01C.cbl:84
  1. NOT (EIBCALEN = 0)
  2. NOT CDEMO-PGM-REENTER
MOVE LOW-VALUES TO COUSR1AOCOUSR01C.cbl:85
  1. NOT (EIBCALEN = 0)
  2. NOT CDEMO-PGM-REENTER
MOVE -1 TO FNAMEL OF COUSR1AICOUSR01C.cbl:86
  1. NOT (EIBCALEN = 0)
  2. NOT CDEMO-PGM-REENTER
PERFORM SEND-USRADD-SCREENCOUSR01C.cbl:87
  1. NOT (EIBCALEN = 0)
  2. CDEMO-PGM-REENTER
PERFORM RECEIVE-USRADD-SCREENCOUSR01C.cbl:89
  1. NOT (EIBCALEN = 0)
  2. CDEMO-PGM-REENTER
  3. EIBAID = DFHENTER
PERFORM PROCESS-ENTER-KEYCOUSR01C.cbl:92
  1. NOT (EIBCALEN = 0)
  2. CDEMO-PGM-REENTER
  3. EIBAID = DFHPF3
MOVE 'COADM01C' TO CDEMO-TO-PROGRAMCOUSR01C.cbl:94
  1. NOT (EIBCALEN = 0)
  2. CDEMO-PGM-REENTER
  3. EIBAID = DFHPF3
PERFORM RETURN-TO-PREV-SCREENCOUSR01C.cbl:95
  1. NOT (EIBCALEN = 0)
  2. CDEMO-PGM-REENTER
  3. EIBAID = DFHPF4
PERFORM CLEAR-CURRENT-SCREENCOUSR01C.cbl:97
  1. NOT (EIBCALEN = 0)
  2. CDEMO-PGM-REENTER
  3. EIBAID is none of [DFHENTER; DFHPF3; DFHPF4]
MOVE 'Y' TO WS-ERR-FLGCOUSR01C.cbl:99
  1. NOT (EIBCALEN = 0)
  2. CDEMO-PGM-REENTER
  3. EIBAID is none of [DFHENTER; DFHPF3; DFHPF4]
MOVE -1 TO FNAMEL OF COUSR1AICOUSR01C.cbl:100
  1. NOT (EIBCALEN = 0)
  2. CDEMO-PGM-REENTER
  3. EIBAID is none of [DFHENTER; DFHPF3; DFHPF4]
MOVE CCDA-MSG-INVALID-KEY TO WS-MESSAGECOUSR01C.cbl:101
  1. NOT (EIBCALEN = 0)
  2. CDEMO-PGM-REENTER
  3. EIBAID is none of [DFHENTER; DFHPF3; DFHPF4]
PERFORM SEND-USRADD-SCREENCOUSR01C.cbl:102
27 rules

PROCESS-ENTER-KEY

WhenThenAt
  1. FNAMEI OF COUSR1AI = SPACES OR LOW-VALUES
MOVE 'Y' TO WS-ERR-FLGCOUSR01C.cbl:119
  1. FNAMEI OF COUSR1AI = SPACES OR LOW-VALUES
MOVE 'First Name can NOT be empty...' TO WS-MESSAGECOUSR01C.cbl:120–121
  1. FNAMEI OF COUSR1AI = SPACES OR LOW-VALUES
MOVE -1 TO FNAMEL OF COUSR1AICOUSR01C.cbl:122
  1. FNAMEI OF COUSR1AI = SPACES OR LOW-VALUES
PERFORM SEND-USRADD-SCREENCOUSR01C.cbl:123
  1. LNAMEI OF COUSR1AI = SPACES OR LOW-VALUES
MOVE 'Y' TO WS-ERR-FLGCOUSR01C.cbl:125
  1. LNAMEI OF COUSR1AI = SPACES OR LOW-VALUES
MOVE 'Last Name can NOT be empty...' TO WS-MESSAGECOUSR01C.cbl:126–127
  1. LNAMEI OF COUSR1AI = SPACES OR LOW-VALUES
MOVE -1 TO LNAMEL OF COUSR1AICOUSR01C.cbl:128
  1. LNAMEI OF COUSR1AI = SPACES OR LOW-VALUES
PERFORM SEND-USRADD-SCREENCOUSR01C.cbl:129
  1. USERIDI OF COUSR1AI = SPACES OR LOW-VALUES
MOVE 'Y' TO WS-ERR-FLGCOUSR01C.cbl:131
  1. USERIDI OF COUSR1AI = SPACES OR LOW-VALUES
MOVE 'User ID can NOT be empty...' TO WS-MESSAGECOUSR01C.cbl:132–133
  1. USERIDI OF COUSR1AI = SPACES OR LOW-VALUES
MOVE -1 TO USERIDL OF COUSR1AICOUSR01C.cbl:134
  1. USERIDI OF COUSR1AI = SPACES OR LOW-VALUES
PERFORM SEND-USRADD-SCREENCOUSR01C.cbl:135
  1. PASSWDI OF COUSR1AI = SPACES OR LOW-VALUES
MOVE 'Y' TO WS-ERR-FLGCOUSR01C.cbl:137
  1. PASSWDI OF COUSR1AI = SPACES OR LOW-VALUES
MOVE 'Password can NOT be empty...' TO WS-MESSAGECOUSR01C.cbl:138–139
  1. PASSWDI OF COUSR1AI = SPACES OR LOW-VALUES
MOVE -1 TO PASSWDL OF COUSR1AICOUSR01C.cbl:140
  1. PASSWDI OF COUSR1AI = SPACES OR LOW-VALUES
PERFORM SEND-USRADD-SCREENCOUSR01C.cbl:141
  1. USRTYPEI OF COUSR1AI = SPACES OR LOW-VALUES
MOVE 'Y' TO WS-ERR-FLGCOUSR01C.cbl:143
  1. USRTYPEI OF COUSR1AI = SPACES OR LOW-VALUES
MOVE 'User Type can NOT be empty...' TO WS-MESSAGECOUSR01C.cbl:144–145
  1. USRTYPEI OF COUSR1AI = SPACES OR LOW-VALUES
MOVE -1 TO USRTYPEL OF COUSR1AICOUSR01C.cbl:146
  1. USRTYPEI OF COUSR1AI = SPACES OR LOW-VALUES
PERFORM SEND-USRADD-SCREENCOUSR01C.cbl:147
  1. TRUE is none of [FNAMEI OF COUSR1AI = SPACES OR LOW-VALUES; LNAMEI OF COUSR1AI = SPACES OR LOW-VALUES; USERIDI OF COUSR1AI = SPACES OR LOW-VALUES; PASSWDI OF COUSR1AI = SPACES OR LOW-VALUES; USRTYPEI OF COUSR1AI = SPACES OR LOW-VALUES]
MOVE -1 TO FNAMEL OF COUSR1AICOUSR01C.cbl:149
  1. NOT ERR-FLG-ON
MOVE USERIDI OF COUSR1AI TO SEC-USR-IDCOUSR01C.cbl:154
  1. NOT ERR-FLG-ON
MOVE FNAMEI OF COUSR1AI TO SEC-USR-FNAMECOUSR01C.cbl:155
  1. NOT ERR-FLG-ON
MOVE LNAMEI OF COUSR1AI TO SEC-USR-LNAMECOUSR01C.cbl:156
  1. NOT ERR-FLG-ON
MOVE PASSWDI OF COUSR1AI TO SEC-USR-PWDCOUSR01C.cbl:157
  1. NOT ERR-FLG-ON
MOVE USRTYPEI OF COUSR1AI TO SEC-USR-TYPECOUSR01C.cbl:158
  1. NOT ERR-FLG-ON
PERFORM WRITE-USER-SEC-FILECOUSR01C.cbl:159
1 rules

RETURN-TO-PREV-SCREEN

WhenThenAt
  1. CDEMO-TO-PROGRAM = LOW-VALUES OR SPACES
MOVE 'COSGN00C' TO CDEMO-TO-PROGRAMCOUSR01C.cbl:168
13 rules

WRITE-USER-SEC-FILE

WhenThenAt
  1. WS-RESP-CD = DFHRESP(NORMAL)
PERFORM INITIALIZE-ALL-FIELDSCOUSR01C.cbl:252
  1. WS-RESP-CD = DFHRESP(NORMAL)
MOVE SPACES TO WS-MESSAGECOUSR01C.cbl:253
  1. WS-RESP-CD = DFHRESP(NORMAL)
MOVE DFHGREEN TO ERRMSGC OF COUSR1AOCOUSR01C.cbl:254
  1. WS-RESP-CD = DFHRESP(NORMAL)
STRING 'User ' DELIMITED BY SIZE SEC-USR-ID DELIMITED BY SPACE ' has been added ...' DELIMITED BY SIZE INTO WS-MESSAGECOUSR01C.cbl:255–258
  1. WS-RESP-CD = DFHRESP(NORMAL)
PERFORM SEND-USRADD-SCREENCOUSR01C.cbl:259
  1. WS-RESP-CD = DFHRESP(DUPKEY) OR WS-RESP-CD = DFHRESP(DUPREC)
MOVE 'Y' TO WS-ERR-FLGCOUSR01C.cbl:262
  1. WS-RESP-CD = DFHRESP(DUPKEY) OR WS-RESP-CD = DFHRESP(DUPREC)
MOVE 'User ID already exist...' TO WS-MESSAGECOUSR01C.cbl:263–264
  1. WS-RESP-CD = DFHRESP(DUPKEY) OR WS-RESP-CD = DFHRESP(DUPREC)
MOVE -1 TO USERIDL OF COUSR1AICOUSR01C.cbl:265
  1. WS-RESP-CD = DFHRESP(DUPKEY) OR WS-RESP-CD = DFHRESP(DUPREC)
PERFORM SEND-USRADD-SCREENCOUSR01C.cbl:266
  1. WS-RESP-CD is none of [DFHRESP(NORMAL); DFHRESP(DUPKEY); DFHRESP(DUPREC)]
MOVE 'Y' TO WS-ERR-FLGCOUSR01C.cbl:269
  1. WS-RESP-CD is none of [DFHRESP(NORMAL); DFHRESP(DUPKEY); DFHRESP(DUPREC)]
MOVE 'Unable to Add User...' TO WS-MESSAGECOUSR01C.cbl:270–271
  1. WS-RESP-CD is none of [DFHRESP(NORMAL); DFHRESP(DUPKEY); DFHRESP(DUPREC)]
MOVE -1 TO FNAMEL OF COUSR1AICOUSR01C.cbl:272
  1. WS-RESP-CD is none of [DFHRESP(NORMAL); DFHRESP(DUPKEY); DFHRESP(DUPREC)]
PERFORM SEND-USRADD-SCREENCOUSR01C.cbl:273