MFmainframe-rea
WS carddemo · 26f629ef

Business rules · 68 guarded actionsCOUSR03C

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 COUSR03C.cbl:49
ERR-FLG-ONmeans WS-ERR-FLG = 'Y'COUSR03C.cbl:41
21 rules

MAIN-PARA

WhenThenAt
  1. EIBCALEN = 0
MOVE 'COSGN00C' TO CDEMO-TO-PROGRAMCOUSR03C.cbl:91
  1. EIBCALEN = 0
PERFORM RETURN-TO-PREV-SCREENCOUSR03C.cbl:92
  1. NOT (EIBCALEN = 0)
MOVE DFHCOMMAREA(1:EIBCALEN) TO CARDDEMO-COMMAREACOUSR03C.cbl:94
  1. NOT (EIBCALEN = 0)
  2. NOT CDEMO-PGM-REENTER
SET CDEMO-PGM-REENTER TO TRUECOUSR03C.cbl:96
  1. NOT (EIBCALEN = 0)
  2. NOT CDEMO-PGM-REENTER
MOVE LOW-VALUES TO COUSR3AOCOUSR03C.cbl:97
  1. NOT (EIBCALEN = 0)
  2. NOT CDEMO-PGM-REENTER
MOVE -1 TO USRIDINL OF COUSR3AICOUSR03C.cbl:98
  1. NOT (EIBCALEN = 0)
  2. NOT CDEMO-PGM-REENTER
  3. CDEMO-CU03-USR-SELECTED NOT = SPACES AND LOW-VALUES
MOVE CDEMO-CU03-USR-SELECTED TO USRIDINI OF COUSR3AICOUSR03C.cbl:101–102
  1. NOT (EIBCALEN = 0)
  2. NOT CDEMO-PGM-REENTER
  3. CDEMO-CU03-USR-SELECTED NOT = SPACES AND LOW-VALUES
PERFORM PROCESS-ENTER-KEYCOUSR03C.cbl:103
  1. NOT (EIBCALEN = 0)
  2. NOT CDEMO-PGM-REENTER
PERFORM SEND-USRDEL-SCREENCOUSR03C.cbl:105
  1. NOT (EIBCALEN = 0)
  2. CDEMO-PGM-REENTER
PERFORM RECEIVE-USRDEL-SCREENCOUSR03C.cbl:107
  1. NOT (EIBCALEN = 0)
  2. CDEMO-PGM-REENTER
  3. EIBAID = DFHENTER
PERFORM PROCESS-ENTER-KEYCOUSR03C.cbl:110
  1. NOT (EIBCALEN = 0)
  2. CDEMO-PGM-REENTER
  3. EIBAID = DFHPF3
  4. CDEMO-FROM-PROGRAM = SPACES OR LOW-VALUES
MOVE 'COADM01C' TO CDEMO-TO-PROGRAMCOUSR03C.cbl:113
  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-PROGRAMCOUSR03C.cbl:115–116
  1. NOT (EIBCALEN = 0)
  2. CDEMO-PGM-REENTER
  3. EIBAID = DFHPF3
PERFORM RETURN-TO-PREV-SCREENCOUSR03C.cbl:118
  1. NOT (EIBCALEN = 0)
  2. CDEMO-PGM-REENTER
  3. EIBAID = DFHPF4
PERFORM CLEAR-CURRENT-SCREENCOUSR03C.cbl:120
  1. NOT (EIBCALEN = 0)
  2. CDEMO-PGM-REENTER
  3. EIBAID = DFHPF5
PERFORM DELETE-USER-INFOCOUSR03C.cbl:122
  1. NOT (EIBCALEN = 0)
  2. CDEMO-PGM-REENTER
  3. EIBAID = DFHPF12
MOVE 'COADM01C' TO CDEMO-TO-PROGRAMCOUSR03C.cbl:124
  1. NOT (EIBCALEN = 0)
  2. CDEMO-PGM-REENTER
  3. EIBAID = DFHPF12
PERFORM RETURN-TO-PREV-SCREENCOUSR03C.cbl:125
  1. NOT (EIBCALEN = 0)
  2. CDEMO-PGM-REENTER
  3. EIBAID is none of [DFHENTER; DFHPF3; DFHPF4; DFHPF5; DFHPF12]
MOVE 'Y' TO WS-ERR-FLGCOUSR03C.cbl:127
  1. NOT (EIBCALEN = 0)
  2. CDEMO-PGM-REENTER
  3. EIBAID is none of [DFHENTER; DFHPF3; DFHPF4; DFHPF5; DFHPF12]
MOVE CCDA-MSG-INVALID-KEY TO WS-MESSAGECOUSR03C.cbl:128
  1. NOT (EIBCALEN = 0)
  2. CDEMO-PGM-REENTER
  3. EIBAID is none of [DFHENTER; DFHPF3; DFHPF4; DFHPF5; DFHPF12]
PERFORM SEND-USRDEL-SCREENCOUSR03C.cbl:129
12 rules

PROCESS-ENTER-KEY

WhenThenAt
  1. USRIDINI OF COUSR3AI = SPACES OR LOW-VALUES
MOVE 'Y' TO WS-ERR-FLGCOUSR03C.cbl:146
  1. USRIDINI OF COUSR3AI = SPACES OR LOW-VALUES
MOVE 'User ID can NOT be empty...' TO WS-MESSAGECOUSR03C.cbl:147–148
  1. USRIDINI OF COUSR3AI = SPACES OR LOW-VALUES
MOVE -1 TO USRIDINL OF COUSR3AICOUSR03C.cbl:149
  1. USRIDINI OF COUSR3AI = SPACES OR LOW-VALUES
PERFORM SEND-USRDEL-SCREENCOUSR03C.cbl:150
  1. TRUE is none of [USRIDINI OF COUSR3AI = SPACES OR LOW-VALUES]
MOVE -1 TO USRIDINL OF COUSR3AICOUSR03C.cbl:152
  1. NOT ERR-FLG-ON
MOVE SPACES TO FNAMEI OF COUSR3AI LNAMEI OF COUSR3AI USRTYPEI OF COUSR3AICOUSR03C.cbl:157–159
  1. NOT ERR-FLG-ON
MOVE USRIDINI OF COUSR3AI TO SEC-USR-IDCOUSR03C.cbl:160
  1. NOT ERR-FLG-ON
PERFORM READ-USER-SEC-FILECOUSR03C.cbl:161
  1. NOT ERR-FLG-ON
MOVE SEC-USR-FNAME TO FNAMEI OF COUSR3AICOUSR03C.cbl:165
  1. NOT ERR-FLG-ON
MOVE SEC-USR-LNAME TO LNAMEI OF COUSR3AICOUSR03C.cbl:166
  1. NOT ERR-FLG-ON
MOVE SEC-USR-TYPE TO USRTYPEI OF COUSR3AICOUSR03C.cbl:167
  1. NOT ERR-FLG-ON
PERFORM SEND-USRDEL-SCREENCOUSR03C.cbl:168
8 rules

DELETE-USER-INFO

WhenThenAt
  1. USRIDINI OF COUSR3AI = SPACES OR LOW-VALUES
MOVE 'Y' TO WS-ERR-FLGCOUSR03C.cbl:178
  1. USRIDINI OF COUSR3AI = SPACES OR LOW-VALUES
MOVE 'User ID can NOT be empty...' TO WS-MESSAGECOUSR03C.cbl:179–180
  1. USRIDINI OF COUSR3AI = SPACES OR LOW-VALUES
MOVE -1 TO USRIDINL OF COUSR3AICOUSR03C.cbl:181
  1. USRIDINI OF COUSR3AI = SPACES OR LOW-VALUES
PERFORM SEND-USRDEL-SCREENCOUSR03C.cbl:182
  1. TRUE is none of [USRIDINI OF COUSR3AI = SPACES OR LOW-VALUES]
MOVE -1 TO USRIDINL OF COUSR3AICOUSR03C.cbl:184
  1. NOT ERR-FLG-ON
MOVE USRIDINI OF COUSR3AI TO SEC-USR-IDCOUSR03C.cbl:189
  1. NOT ERR-FLG-ON
PERFORM READ-USER-SEC-FILECOUSR03C.cbl:190
  1. NOT ERR-FLG-ON
PERFORM DELETE-USER-SEC-FILECOUSR03C.cbl:191
1 rules

RETURN-TO-PREV-SCREEN

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

READ-USER-SEC-FILE

WhenThenAt
  1. WS-RESP-CD = DFHRESP(NORMAL)
MOVE 'Press PF5 key to delete this user ...' TO WS-MESSAGECOUSR03C.cbl:283–284
  1. WS-RESP-CD = DFHRESP(NORMAL)
MOVE DFHNEUTR TO ERRMSGC OF COUSR3AOCOUSR03C.cbl:285
  1. WS-RESP-CD = DFHRESP(NORMAL)
PERFORM SEND-USRDEL-SCREENCOUSR03C.cbl:286
  1. WS-RESP-CD = DFHRESP(NOTFND)
MOVE 'Y' TO WS-ERR-FLGCOUSR03C.cbl:288
  1. WS-RESP-CD = DFHRESP(NOTFND)
MOVE 'User ID NOT found...' TO WS-MESSAGECOUSR03C.cbl:289–290
  1. WS-RESP-CD = DFHRESP(NOTFND)
MOVE -1 TO USRIDINL OF COUSR3AICOUSR03C.cbl:291
  1. WS-RESP-CD = DFHRESP(NOTFND)
PERFORM SEND-USRDEL-SCREENCOUSR03C.cbl:292
  1. WS-RESP-CD is none of [DFHRESP(NORMAL); DFHRESP(NOTFND)]
DISPLAY 'RESP:' WS-RESP-CD 'REAS:' WS-REAS-CDCOUSR03C.cbl:294
  1. WS-RESP-CD is none of [DFHRESP(NORMAL); DFHRESP(NOTFND)]
MOVE 'Y' TO WS-ERR-FLGCOUSR03C.cbl:295
  1. WS-RESP-CD is none of [DFHRESP(NORMAL); DFHRESP(NOTFND)]
MOVE 'Unable to lookup User...' TO WS-MESSAGECOUSR03C.cbl:296–297
  1. WS-RESP-CD is none of [DFHRESP(NORMAL); DFHRESP(NOTFND)]
MOVE -1 TO FNAMEL OF COUSR3AICOUSR03C.cbl:298
  1. WS-RESP-CD is none of [DFHRESP(NORMAL); DFHRESP(NOTFND)]
PERFORM SEND-USRDEL-SCREENCOUSR03C.cbl:299
14 rules

DELETE-USER-SEC-FILE

WhenThenAt
  1. WS-RESP-CD = DFHRESP(NORMAL)
PERFORM INITIALIZE-ALL-FIELDSCOUSR03C.cbl:315
  1. WS-RESP-CD = DFHRESP(NORMAL)
MOVE SPACES TO WS-MESSAGECOUSR03C.cbl:316
  1. WS-RESP-CD = DFHRESP(NORMAL)
MOVE DFHGREEN TO ERRMSGC OF COUSR3AOCOUSR03C.cbl:317
  1. WS-RESP-CD = DFHRESP(NORMAL)
STRING 'User ' DELIMITED BY SIZE SEC-USR-ID DELIMITED BY SPACE ' has been deleted ...' DELIMITED BY SIZE INTO WS-MESSAGECOUSR03C.cbl:318–321
  1. WS-RESP-CD = DFHRESP(NORMAL)
PERFORM SEND-USRDEL-SCREENCOUSR03C.cbl:322
  1. WS-RESP-CD = DFHRESP(NOTFND)
MOVE 'Y' TO WS-ERR-FLGCOUSR03C.cbl:324
  1. WS-RESP-CD = DFHRESP(NOTFND)
MOVE 'User ID NOT found...' TO WS-MESSAGECOUSR03C.cbl:325–326
  1. WS-RESP-CD = DFHRESP(NOTFND)
MOVE -1 TO USRIDINL OF COUSR3AICOUSR03C.cbl:327
  1. WS-RESP-CD = DFHRESP(NOTFND)
PERFORM SEND-USRDEL-SCREENCOUSR03C.cbl:328
  1. WS-RESP-CD is none of [DFHRESP(NORMAL); DFHRESP(NOTFND)]
DISPLAY 'RESP:' WS-RESP-CD 'REAS:' WS-REAS-CDCOUSR03C.cbl:330
  1. WS-RESP-CD is none of [DFHRESP(NORMAL); DFHRESP(NOTFND)]
MOVE 'Y' TO WS-ERR-FLGCOUSR03C.cbl:331
  1. WS-RESP-CD is none of [DFHRESP(NORMAL); DFHRESP(NOTFND)]
MOVE 'Unable to Update User...' TO WS-MESSAGECOUSR03C.cbl:332–333
  1. WS-RESP-CD is none of [DFHRESP(NORMAL); DFHRESP(NOTFND)]
MOVE -1 TO FNAMEL OF COUSR3AICOUSR03C.cbl:334
  1. WS-RESP-CD is none of [DFHRESP(NORMAL); DFHRESP(NOTFND)]
PERFORM SEND-USRDEL-SCREENCOUSR03C.cbl:335