MFmainframe-rea
WS carddemo · 26f629ef

Business rules · 208 guarded actionsCOUSR00C

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 COUSR00C.cbl:66
ERR-FLG-ONmeans WS-ERR-FLG = 'Y'COUSR00C.cbl:41
NEXT-PAGE-YESmeans CDEMO-CU00-NEXT-PAGE-FLG = 'Y'COUSR00C.cbl:72
USER-SEC-NOT-EOFmeans WS-USER-SEC-EOF = 'N'COUSR00C.cbl:45
ERR-FLG-OFFmeans WS-ERR-FLG = 'N'COUSR00C.cbl:42
USER-SEC-EOFmeans WS-USER-SEC-EOF = 'Y'COUSR00C.cbl:44
SEND-ERASE-YESmeans WS-SEND-ERASE-FLG = 'Y'COUSR00C.cbl:47
17 rules

MAIN-PARA

WhenThenAt
  1. EIBCALEN = 0
MOVE 'COSGN00C' TO CDEMO-TO-PROGRAMCOUSR00C.cbl:111
  1. EIBCALEN = 0
PERFORM RETURN-TO-PREV-SCREENCOUSR00C.cbl:112
  1. NOT (EIBCALEN = 0)
MOVE DFHCOMMAREA(1:EIBCALEN) TO CARDDEMO-COMMAREACOUSR00C.cbl:114
  1. NOT (EIBCALEN = 0)
  2. NOT CDEMO-PGM-REENTER
SET CDEMO-PGM-REENTER TO TRUECOUSR00C.cbl:116
  1. NOT (EIBCALEN = 0)
  2. NOT CDEMO-PGM-REENTER
MOVE LOW-VALUES TO COUSR0AOCOUSR00C.cbl:117
  1. NOT (EIBCALEN = 0)
  2. NOT CDEMO-PGM-REENTER
PERFORM PROCESS-ENTER-KEYCOUSR00C.cbl:118
  1. NOT (EIBCALEN = 0)
  2. NOT CDEMO-PGM-REENTER
PERFORM SEND-USRLST-SCREENCOUSR00C.cbl:119
  1. NOT (EIBCALEN = 0)
  2. CDEMO-PGM-REENTER
PERFORM RECEIVE-USRLST-SCREENCOUSR00C.cbl:121
  1. NOT (EIBCALEN = 0)
  2. CDEMO-PGM-REENTER
  3. EIBAID = DFHENTER
PERFORM PROCESS-ENTER-KEYCOUSR00C.cbl:124
  1. NOT (EIBCALEN = 0)
  2. CDEMO-PGM-REENTER
  3. EIBAID = DFHPF3
MOVE 'COADM01C' TO CDEMO-TO-PROGRAMCOUSR00C.cbl:126
  1. NOT (EIBCALEN = 0)
  2. CDEMO-PGM-REENTER
  3. EIBAID = DFHPF3
PERFORM RETURN-TO-PREV-SCREENCOUSR00C.cbl:127
  1. NOT (EIBCALEN = 0)
  2. CDEMO-PGM-REENTER
  3. EIBAID = DFHPF7
PERFORM PROCESS-PF7-KEYCOUSR00C.cbl:129
  1. NOT (EIBCALEN = 0)
  2. CDEMO-PGM-REENTER
  3. EIBAID = DFHPF8
PERFORM PROCESS-PF8-KEYCOUSR00C.cbl:131
  1. NOT (EIBCALEN = 0)
  2. CDEMO-PGM-REENTER
  3. EIBAID is none of [DFHENTER; DFHPF3; DFHPF7; DFHPF8]
MOVE 'Y' TO WS-ERR-FLGCOUSR00C.cbl:133
  1. NOT (EIBCALEN = 0)
  2. CDEMO-PGM-REENTER
  3. EIBAID is none of [DFHENTER; DFHPF3; DFHPF7; DFHPF8]
MOVE -1 TO USRIDINL OF COUSR0AICOUSR00C.cbl:134
  1. NOT (EIBCALEN = 0)
  2. CDEMO-PGM-REENTER
  3. EIBAID is none of [DFHENTER; DFHPF3; DFHPF7; DFHPF8]
MOVE CCDA-MSG-INVALID-KEY TO WS-MESSAGECOUSR00C.cbl:135
  1. NOT (EIBCALEN = 0)
  2. CDEMO-PGM-REENTER
  3. EIBAID is none of [DFHENTER; DFHPF3; DFHPF7; DFHPF8]
PERFORM SEND-USRLST-SCREENCOUSR00C.cbl:136
37 rules

PROCESS-ENTER-KEY

WhenThenAt
  1. SEL0001I OF COUSR0AI NOT = SPACES AND LOW-VALUES
MOVE SEL0001I OF COUSR0AI TO CDEMO-CU00-USR-SEL-FLGCOUSR00C.cbl:153
  1. SEL0001I OF COUSR0AI NOT = SPACES AND LOW-VALUES
MOVE USRID01I OF COUSR0AI TO CDEMO-CU00-USR-SELECTEDCOUSR00C.cbl:154
  1. SEL0002I OF COUSR0AI NOT = SPACES AND LOW-VALUES
MOVE SEL0002I OF COUSR0AI TO CDEMO-CU00-USR-SEL-FLGCOUSR00C.cbl:156
  1. SEL0002I OF COUSR0AI NOT = SPACES AND LOW-VALUES
MOVE USRID02I OF COUSR0AI TO CDEMO-CU00-USR-SELECTEDCOUSR00C.cbl:157
  1. SEL0003I OF COUSR0AI NOT = SPACES AND LOW-VALUES
MOVE SEL0003I OF COUSR0AI TO CDEMO-CU00-USR-SEL-FLGCOUSR00C.cbl:159
  1. SEL0003I OF COUSR0AI NOT = SPACES AND LOW-VALUES
MOVE USRID03I OF COUSR0AI TO CDEMO-CU00-USR-SELECTEDCOUSR00C.cbl:160
  1. SEL0004I OF COUSR0AI NOT = SPACES AND LOW-VALUES
MOVE SEL0004I OF COUSR0AI TO CDEMO-CU00-USR-SEL-FLGCOUSR00C.cbl:162
  1. SEL0004I OF COUSR0AI NOT = SPACES AND LOW-VALUES
MOVE USRID04I OF COUSR0AI TO CDEMO-CU00-USR-SELECTEDCOUSR00C.cbl:163
  1. SEL0005I OF COUSR0AI NOT = SPACES AND LOW-VALUES
MOVE SEL0005I OF COUSR0AI TO CDEMO-CU00-USR-SEL-FLGCOUSR00C.cbl:165
  1. SEL0005I OF COUSR0AI NOT = SPACES AND LOW-VALUES
MOVE USRID05I OF COUSR0AI TO CDEMO-CU00-USR-SELECTEDCOUSR00C.cbl:166
  1. SEL0006I OF COUSR0AI NOT = SPACES AND LOW-VALUES
MOVE SEL0006I OF COUSR0AI TO CDEMO-CU00-USR-SEL-FLGCOUSR00C.cbl:168
  1. SEL0006I OF COUSR0AI NOT = SPACES AND LOW-VALUES
MOVE USRID06I OF COUSR0AI TO CDEMO-CU00-USR-SELECTEDCOUSR00C.cbl:169
  1. SEL0007I OF COUSR0AI NOT = SPACES AND LOW-VALUES
MOVE SEL0007I OF COUSR0AI TO CDEMO-CU00-USR-SEL-FLGCOUSR00C.cbl:171
  1. SEL0007I OF COUSR0AI NOT = SPACES AND LOW-VALUES
MOVE USRID07I OF COUSR0AI TO CDEMO-CU00-USR-SELECTEDCOUSR00C.cbl:172
  1. SEL0008I OF COUSR0AI NOT = SPACES AND LOW-VALUES
MOVE SEL0008I OF COUSR0AI TO CDEMO-CU00-USR-SEL-FLGCOUSR00C.cbl:174
  1. SEL0008I OF COUSR0AI NOT = SPACES AND LOW-VALUES
MOVE USRID08I OF COUSR0AI TO CDEMO-CU00-USR-SELECTEDCOUSR00C.cbl:175
  1. SEL0009I OF COUSR0AI NOT = SPACES AND LOW-VALUES
MOVE SEL0009I OF COUSR0AI TO CDEMO-CU00-USR-SEL-FLGCOUSR00C.cbl:177
  1. SEL0009I OF COUSR0AI NOT = SPACES AND LOW-VALUES
MOVE USRID09I OF COUSR0AI TO CDEMO-CU00-USR-SELECTEDCOUSR00C.cbl:178
  1. SEL0010I OF COUSR0AI NOT = SPACES AND LOW-VALUES
MOVE SEL0010I OF COUSR0AI TO CDEMO-CU00-USR-SEL-FLGCOUSR00C.cbl:180
  1. SEL0010I OF COUSR0AI NOT = SPACES AND LOW-VALUES
MOVE USRID10I OF COUSR0AI TO CDEMO-CU00-USR-SELECTEDCOUSR00C.cbl:181
  1. TRUE is none of [SEL0001I OF COUSR0AI NOT = SPACES AND LOW-VALUES; SEL0002I OF COUSR0AI NOT = SPACES AND LOW-VALUES; SEL0003I OF COUSR0AI NOT = SPACES AND LOW-VALUES; SEL0004I OF COUSR0AI NOT = SPACES AND LOW-VALUES; SEL0005I OF COUSR0AI NOT = SPACES AND LOW-VALUES; SEL0006I OF COUSR0AI NOT = SPACES AND LOW-VALUES; SEL0007I OF COUSR0AI NOT = SPACES AND LOW-VALUES; SEL0008I OF COUSR0AI NOT = SPACES AND LOW-VALUES; SEL0009I OF COUSR0AI NOT = SPACES AND LOW-VALUES; SEL0010I OF COUSR0AI NOT = SPACES AND LOW-VALUES]
MOVE SPACES TO CDEMO-CU00-USR-SEL-FLGCOUSR00C.cbl:183
  1. TRUE is none of [SEL0001I OF COUSR0AI NOT = SPACES AND LOW-VALUES; SEL0002I OF COUSR0AI NOT = SPACES AND LOW-VALUES; SEL0003I OF COUSR0AI NOT = SPACES AND LOW-VALUES; SEL0004I OF COUSR0AI NOT = SPACES AND LOW-VALUES; SEL0005I OF COUSR0AI NOT = SPACES AND LOW-VALUES; SEL0006I OF COUSR0AI NOT = SPACES AND LOW-VALUES; SEL0007I OF COUSR0AI NOT = SPACES AND LOW-VALUES; SEL0008I OF COUSR0AI NOT = SPACES AND LOW-VALUES; SEL0009I OF COUSR0AI NOT = SPACES AND LOW-VALUES; SEL0010I OF COUSR0AI NOT = SPACES AND LOW-VALUES]
MOVE SPACES TO CDEMO-CU00-USR-SELECTEDCOUSR00C.cbl:184
  1. (CDEMO-CU00-USR-SEL-FLG NOT = SPACES AND LOW-VALUES) AND (CDEMO-CU00-USR-SELECTED NOT = SPACES AND LOW-VALUES)
  2. CDEMO-CU00-USR-SEL-FLG = 'U' OR CDEMO-CU00-USR-SEL-FLG = 'u'
MOVE 'COUSR02C' TO CDEMO-TO-PROGRAMCOUSR00C.cbl:192
  1. (CDEMO-CU00-USR-SEL-FLG NOT = SPACES AND LOW-VALUES) AND (CDEMO-CU00-USR-SELECTED NOT = SPACES AND LOW-VALUES)
  2. CDEMO-CU00-USR-SEL-FLG = 'U' OR CDEMO-CU00-USR-SEL-FLG = 'u'
MOVE WS-TRANID TO CDEMO-FROM-TRANIDCOUSR00C.cbl:193
  1. (CDEMO-CU00-USR-SEL-FLG NOT = SPACES AND LOW-VALUES) AND (CDEMO-CU00-USR-SELECTED NOT = SPACES AND LOW-VALUES)
  2. CDEMO-CU00-USR-SEL-FLG = 'U' OR CDEMO-CU00-USR-SEL-FLG = 'u'
MOVE WS-PGMNAME TO CDEMO-FROM-PROGRAMCOUSR00C.cbl:194
  1. (CDEMO-CU00-USR-SEL-FLG NOT = SPACES AND LOW-VALUES) AND (CDEMO-CU00-USR-SELECTED NOT = SPACES AND LOW-VALUES)
  2. CDEMO-CU00-USR-SEL-FLG = 'U' OR CDEMO-CU00-USR-SEL-FLG = 'u'
MOVE 0 TO CDEMO-PGM-CONTEXTCOUSR00C.cbl:195
  1. (CDEMO-CU00-USR-SEL-FLG NOT = SPACES AND LOW-VALUES) AND (CDEMO-CU00-USR-SELECTED NOT = SPACES AND LOW-VALUES)
  2. CDEMO-CU00-USR-SEL-FLG = 'U' OR CDEMO-CU00-USR-SEL-FLG = 'u'
EXEC CICS XCTL PROGRAM(CDEMO-TO-PROGRAM) COMMAREA(CARDDEMO-COMMAREA) END-EXECCOUSR00C.cbl:196–199
  1. (CDEMO-CU00-USR-SEL-FLG NOT = SPACES AND LOW-VALUES) AND (CDEMO-CU00-USR-SELECTED NOT = SPACES AND LOW-VALUES)
  2. CDEMO-CU00-USR-SEL-FLG = 'D' OR CDEMO-CU00-USR-SEL-FLG = 'd'
MOVE 'COUSR03C' TO CDEMO-TO-PROGRAMCOUSR00C.cbl:202
  1. (CDEMO-CU00-USR-SEL-FLG NOT = SPACES AND LOW-VALUES) AND (CDEMO-CU00-USR-SELECTED NOT = SPACES AND LOW-VALUES)
  2. CDEMO-CU00-USR-SEL-FLG = 'D' OR CDEMO-CU00-USR-SEL-FLG = 'd'
MOVE WS-TRANID TO CDEMO-FROM-TRANIDCOUSR00C.cbl:203
  1. (CDEMO-CU00-USR-SEL-FLG NOT = SPACES AND LOW-VALUES) AND (CDEMO-CU00-USR-SELECTED NOT = SPACES AND LOW-VALUES)
  2. CDEMO-CU00-USR-SEL-FLG = 'D' OR CDEMO-CU00-USR-SEL-FLG = 'd'
MOVE WS-PGMNAME TO CDEMO-FROM-PROGRAMCOUSR00C.cbl:204
  1. (CDEMO-CU00-USR-SEL-FLG NOT = SPACES AND LOW-VALUES) AND (CDEMO-CU00-USR-SELECTED NOT = SPACES AND LOW-VALUES)
  2. CDEMO-CU00-USR-SEL-FLG = 'D' OR CDEMO-CU00-USR-SEL-FLG = 'd'
MOVE 0 TO CDEMO-PGM-CONTEXTCOUSR00C.cbl:205
  1. (CDEMO-CU00-USR-SEL-FLG NOT = SPACES AND LOW-VALUES) AND (CDEMO-CU00-USR-SELECTED NOT = SPACES AND LOW-VALUES)
  2. CDEMO-CU00-USR-SEL-FLG = 'D' OR CDEMO-CU00-USR-SEL-FLG = 'd'
EXEC CICS XCTL PROGRAM(CDEMO-TO-PROGRAM) COMMAREA(CARDDEMO-COMMAREA) END-EXECCOUSR00C.cbl:206–209
  1. (CDEMO-CU00-USR-SEL-FLG NOT = SPACES AND LOW-VALUES) AND (CDEMO-CU00-USR-SELECTED NOT = SPACES AND LOW-VALUES)
  2. CDEMO-CU00-USR-SEL-FLG is none of ['U'; 'u'; 'D'; 'd']
MOVE 'Invalid selection. Valid values are U and D' TO WS-MESSAGECOUSR00C.cbl:211–213
  1. (CDEMO-CU00-USR-SEL-FLG NOT = SPACES AND LOW-VALUES) AND (CDEMO-CU00-USR-SELECTED NOT = SPACES AND LOW-VALUES)
  2. CDEMO-CU00-USR-SEL-FLG is none of ['U'; 'u'; 'D'; 'd']
MOVE -1 TO USRIDINL OF COUSR0AICOUSR00C.cbl:214
  1. USRIDINI OF COUSR0AI = SPACES OR LOW-VALUES
MOVE LOW-VALUES TO SEC-USR-IDCOUSR00C.cbl:219
  1. NOT (USRIDINI OF COUSR0AI = SPACES OR LOW-VALUES)
MOVE USRIDINI OF COUSR0AI TO SEC-USR-IDCOUSR00C.cbl:221
  1. NOT ERR-FLG-ON
MOVE SPACE TO USRIDINO OF COUSR0AOCOUSR00C.cbl:231
6 rules

PROCESS-PF7-KEY

WhenThenAt
  1. CDEMO-CU00-USRID-FIRST = SPACES OR LOW-VALUES
MOVE LOW-VALUES TO SEC-USR-IDCOUSR00C.cbl:240
  1. NOT (CDEMO-CU00-USRID-FIRST = SPACES OR LOW-VALUES)
MOVE CDEMO-CU00-USRID-FIRST TO SEC-USR-IDCOUSR00C.cbl:242
  1. CDEMO-CU00-PAGE-NUM > 1
PERFORM PROCESS-PAGE-BACKWARDCOUSR00C.cbl:249
  1. NOT (CDEMO-CU00-PAGE-NUM > 1)
MOVE 'You are already at the top of the page...' TO WS-MESSAGECOUSR00C.cbl:251–252
  1. NOT (CDEMO-CU00-PAGE-NUM > 1)
SET SEND-ERASE-NO TO TRUECOUSR00C.cbl:253
  1. NOT (CDEMO-CU00-PAGE-NUM > 1)
PERFORM SEND-USRLST-SCREENCOUSR00C.cbl:254
6 rules

PROCESS-PF8-KEY

WhenThenAt
  1. CDEMO-CU00-USRID-LAST = SPACES OR LOW-VALUES
MOVE HIGH-VALUES TO SEC-USR-IDCOUSR00C.cbl:263
  1. NOT (CDEMO-CU00-USRID-LAST = SPACES OR LOW-VALUES)
MOVE CDEMO-CU00-USRID-LAST TO SEC-USR-IDCOUSR00C.cbl:265
  1. NEXT-PAGE-YES
PERFORM PROCESS-PAGE-FORWARDCOUSR00C.cbl:271
  1. NOT (NEXT-PAGE-YES)
MOVE 'You are already at the bottom of the page...' TO WS-MESSAGECOUSR00C.cbl:273–274
  1. NOT (NEXT-PAGE-YES)
SET SEND-ERASE-NO TO TRUECOUSR00C.cbl:275
  1. NOT (NEXT-PAGE-YES)
PERFORM SEND-USRLST-SCREENCOUSR00C.cbl:276
18 rules

PROCESS-PAGE-FORWARD

WhenThenAt
  1. NOT ERR-FLG-ON
  2. EIBAID NOT = DFHENTER AND DFHPF7 AND DFHPF3
PERFORM READNEXT-USER-SEC-FILECOUSR00C.cbl:289
  1. NOT ERR-FLG-ON
  2. USER-SEC-NOT-EOF AND ERR-FLG-OFF
PERFORM VARYING WS-IDX FROM 1 BY 1 UNTIL WS-IDX > 10COUSR00C.cbl:293
  1. NOT ERR-FLG-ON
  2. USER-SEC-NOT-EOF AND ERR-FLG-OFF
  3. PERFORM VARYING WS-IDX FROM 1 BY 1 UNTIL WS-IDX > 10
PERFORM INITIALIZE-USER-DATACOUSR00C.cbl:294
  1. NOT ERR-FLG-ON
MOVE 1 TO WS-IDXCOUSR00C.cbl:298
  1. NOT ERR-FLG-ON
PERFORM UNTIL WS-IDX >= 11 OR USER-SEC-EOF OR ERR-FLG-ONCOUSR00C.cbl:300
  1. NOT ERR-FLG-ON
  2. PERFORM UNTIL WS-IDX >= 11 OR USER-SEC-EOF OR ERR-FLG-ON
PERFORM READNEXT-USER-SEC-FILECOUSR00C.cbl:301
  1. NOT ERR-FLG-ON
  2. PERFORM UNTIL WS-IDX >= 11 OR USER-SEC-EOF OR ERR-FLG-ON
  3. USER-SEC-NOT-EOF AND ERR-FLG-OFF
PERFORM POPULATE-USER-DATACOUSR00C.cbl:303
  1. NOT ERR-FLG-ON
  2. PERFORM UNTIL WS-IDX >= 11 OR USER-SEC-EOF OR ERR-FLG-ON
  3. USER-SEC-NOT-EOF AND ERR-FLG-OFF
calc COMPUTE WS-IDX = WS-IDX + 1COUSR00C.cbl:304
  1. NOT ERR-FLG-ON
  2. USER-SEC-NOT-EOF AND ERR-FLG-OFF
calc COMPUTE CDEMO-CU00-PAGE-NUM = CDEMO-CU00-PAGE-NUM + 1COUSR00C.cbl:309–310
  1. NOT ERR-FLG-ON
  2. USER-SEC-NOT-EOF AND ERR-FLG-OFF
PERFORM READNEXT-USER-SEC-FILECOUSR00C.cbl:311
  1. NOT ERR-FLG-ON
  2. USER-SEC-NOT-EOF AND ERR-FLG-OFF
  3. USER-SEC-NOT-EOF AND ERR-FLG-OFF
SET NEXT-PAGE-YES TO TRUECOUSR00C.cbl:313
  1. NOT ERR-FLG-ON
  2. USER-SEC-NOT-EOF AND ERR-FLG-OFF
  3. NOT (USER-SEC-NOT-EOF AND ERR-FLG-OFF)
SET NEXT-PAGE-NO TO TRUECOUSR00C.cbl:315
  1. NOT ERR-FLG-ON
  2. NOT (USER-SEC-NOT-EOF AND ERR-FLG-OFF)
SET NEXT-PAGE-NO TO TRUECOUSR00C.cbl:318
  1. NOT ERR-FLG-ON
  2. NOT (USER-SEC-NOT-EOF AND ERR-FLG-OFF)
  3. WS-IDX > 1
calc COMPUTE CDEMO-CU00-PAGE-NUM = CDEMO-CU00-PAGE-NUM + 1COUSR00C.cbl:320–321
  1. NOT ERR-FLG-ON
PERFORM ENDBR-USER-SEC-FILECOUSR00C.cbl:325
  1. NOT ERR-FLG-ON
MOVE CDEMO-CU00-PAGE-NUM TO PAGENUMI OF COUSR0AICOUSR00C.cbl:327
  1. NOT ERR-FLG-ON
MOVE SPACE TO USRIDINO OF COUSR0AOCOUSR00C.cbl:328
  1. NOT ERR-FLG-ON
PERFORM SEND-USRLST-SCREENCOUSR00C.cbl:329
14 rules

PROCESS-PAGE-BACKWARD

WhenThenAt
  1. NOT ERR-FLG-ON
  2. EIBAID NOT = DFHENTER AND DFHPF8
PERFORM READPREV-USER-SEC-FILECOUSR00C.cbl:343
  1. NOT ERR-FLG-ON
  2. USER-SEC-NOT-EOF AND ERR-FLG-OFF
PERFORM VARYING WS-IDX FROM 1 BY 1 UNTIL WS-IDX > 10COUSR00C.cbl:347
  1. NOT ERR-FLG-ON
  2. USER-SEC-NOT-EOF AND ERR-FLG-OFF
  3. PERFORM VARYING WS-IDX FROM 1 BY 1 UNTIL WS-IDX > 10
PERFORM INITIALIZE-USER-DATACOUSR00C.cbl:348
  1. NOT ERR-FLG-ON
MOVE 10 TO WS-IDXCOUSR00C.cbl:352
  1. NOT ERR-FLG-ON
PERFORM UNTIL WS-IDX <= 0 OR USER-SEC-EOF OR ERR-FLG-ONCOUSR00C.cbl:354
  1. NOT ERR-FLG-ON
  2. PERFORM UNTIL WS-IDX <= 0 OR USER-SEC-EOF OR ERR-FLG-ON
PERFORM READPREV-USER-SEC-FILECOUSR00C.cbl:355
  1. NOT ERR-FLG-ON
  2. PERFORM UNTIL WS-IDX <= 0 OR USER-SEC-EOF OR ERR-FLG-ON
  3. USER-SEC-NOT-EOF AND ERR-FLG-OFF
PERFORM POPULATE-USER-DATACOUSR00C.cbl:357
  1. NOT ERR-FLG-ON
  2. PERFORM UNTIL WS-IDX <= 0 OR USER-SEC-EOF OR ERR-FLG-ON
  3. USER-SEC-NOT-EOF AND ERR-FLG-OFF
calc COMPUTE WS-IDX = WS-IDX - 1COUSR00C.cbl:358
  1. NOT ERR-FLG-ON
  2. USER-SEC-NOT-EOF AND ERR-FLG-OFF
PERFORM READPREV-USER-SEC-FILECOUSR00C.cbl:363
  1. NOT ERR-FLG-ON
  2. USER-SEC-NOT-EOF AND ERR-FLG-OFF
  3. NEXT-PAGE-YES
  4. USER-SEC-NOT-EOF AND ERR-FLG-OFF AND CDEMO-CU00-PAGE-NUM > 1
calc SUBTRACT 1 FROM CDEMO-CU00-PAGE-NUMCOUSR00C.cbl:367
  1. NOT ERR-FLG-ON
  2. USER-SEC-NOT-EOF AND ERR-FLG-OFF
  3. NEXT-PAGE-YES
  4. NOT (USER-SEC-NOT-EOF AND ERR-FLG-OFF AND CDEMO-CU00-PAGE-NUM > 1)
MOVE 1 TO CDEMO-CU00-PAGE-NUMCOUSR00C.cbl:369
  1. NOT ERR-FLG-ON
PERFORM ENDBR-USER-SEC-FILECOUSR00C.cbl:374
  1. NOT ERR-FLG-ON
MOVE CDEMO-CU00-PAGE-NUM TO PAGENUMI OF COUSR0AICOUSR00C.cbl:376
  1. NOT ERR-FLG-ON
PERFORM SEND-USRLST-SCREENCOUSR00C.cbl:377
40 rules

POPULATE-USER-DATA

WhenThenAt
  1. WS-IDX = 1
MOVE SEC-USR-ID TO USRID01I OF COUSR0AI CDEMO-CU00-USRID-FIRSTCOUSR00C.cbl:388–389
  1. WS-IDX = 1
MOVE SEC-USR-FNAME TO FNAME01I OF COUSR0AICOUSR00C.cbl:390
  1. WS-IDX = 1
MOVE SEC-USR-LNAME TO LNAME01I OF COUSR0AICOUSR00C.cbl:391
  1. WS-IDX = 1
MOVE SEC-USR-TYPE TO UTYPE01I OF COUSR0AICOUSR00C.cbl:392
  1. WS-IDX = 2
MOVE SEC-USR-ID TO USRID02I OF COUSR0AICOUSR00C.cbl:394
  1. WS-IDX = 2
MOVE SEC-USR-FNAME TO FNAME02I OF COUSR0AICOUSR00C.cbl:395
  1. WS-IDX = 2
MOVE SEC-USR-LNAME TO LNAME02I OF COUSR0AICOUSR00C.cbl:396
  1. WS-IDX = 2
MOVE SEC-USR-TYPE TO UTYPE02I OF COUSR0AICOUSR00C.cbl:397
  1. WS-IDX = 3
MOVE SEC-USR-ID TO USRID03I OF COUSR0AICOUSR00C.cbl:399
  1. WS-IDX = 3
MOVE SEC-USR-FNAME TO FNAME03I OF COUSR0AICOUSR00C.cbl:400
  1. WS-IDX = 3
MOVE SEC-USR-LNAME TO LNAME03I OF COUSR0AICOUSR00C.cbl:401
  1. WS-IDX = 3
MOVE SEC-USR-TYPE TO UTYPE03I OF COUSR0AICOUSR00C.cbl:402
  1. WS-IDX = 4
MOVE SEC-USR-ID TO USRID04I OF COUSR0AICOUSR00C.cbl:404
  1. WS-IDX = 4
MOVE SEC-USR-FNAME TO FNAME04I OF COUSR0AICOUSR00C.cbl:405
  1. WS-IDX = 4
MOVE SEC-USR-LNAME TO LNAME04I OF COUSR0AICOUSR00C.cbl:406
  1. WS-IDX = 4
MOVE SEC-USR-TYPE TO UTYPE04I OF COUSR0AICOUSR00C.cbl:407
  1. WS-IDX = 5
MOVE SEC-USR-ID TO USRID05I OF COUSR0AICOUSR00C.cbl:409
  1. WS-IDX = 5
MOVE SEC-USR-FNAME TO FNAME05I OF COUSR0AICOUSR00C.cbl:410
  1. WS-IDX = 5
MOVE SEC-USR-LNAME TO LNAME05I OF COUSR0AICOUSR00C.cbl:411
  1. WS-IDX = 5
MOVE SEC-USR-TYPE TO UTYPE05I OF COUSR0AICOUSR00C.cbl:412
  1. WS-IDX = 6
MOVE SEC-USR-ID TO USRID06I OF COUSR0AICOUSR00C.cbl:414
  1. WS-IDX = 6
MOVE SEC-USR-FNAME TO FNAME06I OF COUSR0AICOUSR00C.cbl:415
  1. WS-IDX = 6
MOVE SEC-USR-LNAME TO LNAME06I OF COUSR0AICOUSR00C.cbl:416
  1. WS-IDX = 6
MOVE SEC-USR-TYPE TO UTYPE06I OF COUSR0AICOUSR00C.cbl:417
  1. WS-IDX = 7
MOVE SEC-USR-ID TO USRID07I OF COUSR0AICOUSR00C.cbl:419
  1. WS-IDX = 7
MOVE SEC-USR-FNAME TO FNAME07I OF COUSR0AICOUSR00C.cbl:420
  1. WS-IDX = 7
MOVE SEC-USR-LNAME TO LNAME07I OF COUSR0AICOUSR00C.cbl:421
  1. WS-IDX = 7
MOVE SEC-USR-TYPE TO UTYPE07I OF COUSR0AICOUSR00C.cbl:422
  1. WS-IDX = 8
MOVE SEC-USR-ID TO USRID08I OF COUSR0AICOUSR00C.cbl:424
  1. WS-IDX = 8
MOVE SEC-USR-FNAME TO FNAME08I OF COUSR0AICOUSR00C.cbl:425
  1. WS-IDX = 8
MOVE SEC-USR-LNAME TO LNAME08I OF COUSR0AICOUSR00C.cbl:426
  1. WS-IDX = 8
MOVE SEC-USR-TYPE TO UTYPE08I OF COUSR0AICOUSR00C.cbl:427
  1. WS-IDX = 9
MOVE SEC-USR-ID TO USRID09I OF COUSR0AICOUSR00C.cbl:429
  1. WS-IDX = 9
MOVE SEC-USR-FNAME TO FNAME09I OF COUSR0AICOUSR00C.cbl:430
  1. WS-IDX = 9
MOVE SEC-USR-LNAME TO LNAME09I OF COUSR0AICOUSR00C.cbl:431
  1. WS-IDX = 9
MOVE SEC-USR-TYPE TO UTYPE09I OF COUSR0AICOUSR00C.cbl:432
  1. WS-IDX = 10
MOVE SEC-USR-ID TO USRID10I OF COUSR0AI CDEMO-CU00-USRID-LASTCOUSR00C.cbl:434–435
  1. WS-IDX = 10
MOVE SEC-USR-FNAME TO FNAME10I OF COUSR0AICOUSR00C.cbl:436
  1. WS-IDX = 10
MOVE SEC-USR-LNAME TO LNAME10I OF COUSR0AICOUSR00C.cbl:437
  1. WS-IDX = 10
MOVE SEC-USR-TYPE TO UTYPE10I OF COUSR0AICOUSR00C.cbl:438
40 rules

INITIALIZE-USER-DATA

WhenThenAt
  1. WS-IDX = 1
MOVE SPACES TO USRID01I OF COUSR0AICOUSR00C.cbl:450
  1. WS-IDX = 1
MOVE SPACES TO FNAME01I OF COUSR0AICOUSR00C.cbl:451
  1. WS-IDX = 1
MOVE SPACES TO LNAME01I OF COUSR0AICOUSR00C.cbl:452
  1. WS-IDX = 1
MOVE SPACES TO UTYPE01I OF COUSR0AICOUSR00C.cbl:453
  1. WS-IDX = 2
MOVE SPACES TO USRID02I OF COUSR0AICOUSR00C.cbl:455
  1. WS-IDX = 2
MOVE SPACES TO FNAME02I OF COUSR0AICOUSR00C.cbl:456
  1. WS-IDX = 2
MOVE SPACES TO LNAME02I OF COUSR0AICOUSR00C.cbl:457
  1. WS-IDX = 2
MOVE SPACES TO UTYPE02I OF COUSR0AICOUSR00C.cbl:458
  1. WS-IDX = 3
MOVE SPACES TO USRID03I OF COUSR0AICOUSR00C.cbl:460
  1. WS-IDX = 3
MOVE SPACES TO FNAME03I OF COUSR0AICOUSR00C.cbl:461
  1. WS-IDX = 3
MOVE SPACES TO LNAME03I OF COUSR0AICOUSR00C.cbl:462
  1. WS-IDX = 3
MOVE SPACES TO UTYPE03I OF COUSR0AICOUSR00C.cbl:463
  1. WS-IDX = 4
MOVE SPACES TO USRID04I OF COUSR0AICOUSR00C.cbl:465
  1. WS-IDX = 4
MOVE SPACES TO FNAME04I OF COUSR0AICOUSR00C.cbl:466
  1. WS-IDX = 4
MOVE SPACES TO LNAME04I OF COUSR0AICOUSR00C.cbl:467
  1. WS-IDX = 4
MOVE SPACES TO UTYPE04I OF COUSR0AICOUSR00C.cbl:468
  1. WS-IDX = 5
MOVE SPACES TO USRID05I OF COUSR0AICOUSR00C.cbl:470
  1. WS-IDX = 5
MOVE SPACES TO FNAME05I OF COUSR0AICOUSR00C.cbl:471
  1. WS-IDX = 5
MOVE SPACES TO LNAME05I OF COUSR0AICOUSR00C.cbl:472
  1. WS-IDX = 5
MOVE SPACES TO UTYPE05I OF COUSR0AICOUSR00C.cbl:473
  1. WS-IDX = 6
MOVE SPACES TO USRID06I OF COUSR0AICOUSR00C.cbl:475
  1. WS-IDX = 6
MOVE SPACES TO FNAME06I OF COUSR0AICOUSR00C.cbl:476
  1. WS-IDX = 6
MOVE SPACES TO LNAME06I OF COUSR0AICOUSR00C.cbl:477
  1. WS-IDX = 6
MOVE SPACES TO UTYPE06I OF COUSR0AICOUSR00C.cbl:478
  1. WS-IDX = 7
MOVE SPACES TO USRID07I OF COUSR0AICOUSR00C.cbl:480
  1. WS-IDX = 7
MOVE SPACES TO FNAME07I OF COUSR0AICOUSR00C.cbl:481
  1. WS-IDX = 7
MOVE SPACES TO LNAME07I OF COUSR0AICOUSR00C.cbl:482
  1. WS-IDX = 7
MOVE SPACES TO UTYPE07I OF COUSR0AICOUSR00C.cbl:483
  1. WS-IDX = 8
MOVE SPACES TO USRID08I OF COUSR0AICOUSR00C.cbl:485
  1. WS-IDX = 8
MOVE SPACES TO FNAME08I OF COUSR0AICOUSR00C.cbl:486
  1. WS-IDX = 8
MOVE SPACES TO LNAME08I OF COUSR0AICOUSR00C.cbl:487
  1. WS-IDX = 8
MOVE SPACES TO UTYPE08I OF COUSR0AICOUSR00C.cbl:488
  1. WS-IDX = 9
MOVE SPACES TO USRID09I OF COUSR0AICOUSR00C.cbl:490
  1. WS-IDX = 9
MOVE SPACES TO FNAME09I OF COUSR0AICOUSR00C.cbl:491
  1. WS-IDX = 9
MOVE SPACES TO LNAME09I OF COUSR0AICOUSR00C.cbl:492
  1. WS-IDX = 9
MOVE SPACES TO UTYPE09I OF COUSR0AICOUSR00C.cbl:493
  1. WS-IDX = 10
MOVE SPACES TO USRID10I OF COUSR0AICOUSR00C.cbl:495
  1. WS-IDX = 10
MOVE SPACES TO FNAME10I OF COUSR0AICOUSR00C.cbl:496
  1. WS-IDX = 10
MOVE SPACES TO LNAME10I OF COUSR0AICOUSR00C.cbl:497
  1. WS-IDX = 10
MOVE SPACES TO UTYPE10I OF COUSR0AICOUSR00C.cbl:498
1 rules

RETURN-TO-PREV-SCREEN

WhenThenAt
  1. CDEMO-TO-PROGRAM = LOW-VALUES OR SPACES
MOVE 'COSGN00C' TO CDEMO-TO-PROGRAMCOUSR00C.cbl:509
2 rules

SEND-USRLST-SCREEN

WhenThenAt
  1. SEND-ERASE-YES
EXEC CICS SEND MAP('COUSR0A') MAPSET('COUSR00') FROM(COUSR0AO) ERASE CURSOR END-EXECCOUSR00C.cbl:529–535
  1. NOT (SEND-ERASE-YES)
EXEC CICS SEND MAP('COUSR0A') MAPSET('COUSR00') FROM(COUSR0AO) CURSOR END-EXECCOUSR00C.cbl:537–543
9 rules

STARTBR-USER-SEC-FILE

WhenThenAt
  1. WS-RESP-CD = DFHRESP(NOTFND)
SET USER-SEC-EOF TO TRUECOUSR00C.cbl:602
  1. WS-RESP-CD = DFHRESP(NOTFND)
MOVE 'You are at the top of the page...' TO WS-MESSAGECOUSR00C.cbl:603–604
  1. WS-RESP-CD = DFHRESP(NOTFND)
MOVE -1 TO USRIDINL OF COUSR0AICOUSR00C.cbl:605
  1. WS-RESP-CD = DFHRESP(NOTFND)
PERFORM SEND-USRLST-SCREENCOUSR00C.cbl:606
  1. WS-RESP-CD is none of [DFHRESP(NORMAL); DFHRESP(NOTFND)]
DISPLAY 'RESP:' WS-RESP-CD 'REAS:' WS-REAS-CDCOUSR00C.cbl:608
  1. WS-RESP-CD is none of [DFHRESP(NORMAL); DFHRESP(NOTFND)]
MOVE 'Y' TO WS-ERR-FLGCOUSR00C.cbl:609
  1. WS-RESP-CD is none of [DFHRESP(NORMAL); DFHRESP(NOTFND)]
MOVE 'Unable to lookup User...' TO WS-MESSAGECOUSR00C.cbl:610–611
  1. WS-RESP-CD is none of [DFHRESP(NORMAL); DFHRESP(NOTFND)]
MOVE -1 TO USRIDINL OF COUSR0AICOUSR00C.cbl:612
  1. WS-RESP-CD is none of [DFHRESP(NORMAL); DFHRESP(NOTFND)]
PERFORM SEND-USRLST-SCREENCOUSR00C.cbl:613
9 rules

READNEXT-USER-SEC-FILE

WhenThenAt
  1. WS-RESP-CD = DFHRESP(ENDFILE)
SET USER-SEC-EOF TO TRUECOUSR00C.cbl:636
  1. WS-RESP-CD = DFHRESP(ENDFILE)
MOVE 'You have reached the bottom of the page...' TO WS-MESSAGECOUSR00C.cbl:637–638
  1. WS-RESP-CD = DFHRESP(ENDFILE)
MOVE -1 TO USRIDINL OF COUSR0AICOUSR00C.cbl:639
  1. WS-RESP-CD = DFHRESP(ENDFILE)
PERFORM SEND-USRLST-SCREENCOUSR00C.cbl:640
  1. WS-RESP-CD is none of [DFHRESP(NORMAL); DFHRESP(ENDFILE)]
DISPLAY 'RESP:' WS-RESP-CD 'REAS:' WS-REAS-CDCOUSR00C.cbl:642
  1. WS-RESP-CD is none of [DFHRESP(NORMAL); DFHRESP(ENDFILE)]
MOVE 'Y' TO WS-ERR-FLGCOUSR00C.cbl:643
  1. WS-RESP-CD is none of [DFHRESP(NORMAL); DFHRESP(ENDFILE)]
MOVE 'Unable to lookup User...' TO WS-MESSAGECOUSR00C.cbl:644–645
  1. WS-RESP-CD is none of [DFHRESP(NORMAL); DFHRESP(ENDFILE)]
MOVE -1 TO USRIDINL OF COUSR0AICOUSR00C.cbl:646
  1. WS-RESP-CD is none of [DFHRESP(NORMAL); DFHRESP(ENDFILE)]
PERFORM SEND-USRLST-SCREENCOUSR00C.cbl:647
9 rules

READPREV-USER-SEC-FILE

WhenThenAt
  1. WS-RESP-CD = DFHRESP(ENDFILE)
SET USER-SEC-EOF TO TRUECOUSR00C.cbl:670
  1. WS-RESP-CD = DFHRESP(ENDFILE)
MOVE 'You have reached the top of the page...' TO WS-MESSAGECOUSR00C.cbl:671–672
  1. WS-RESP-CD = DFHRESP(ENDFILE)
MOVE -1 TO USRIDINL OF COUSR0AICOUSR00C.cbl:673
  1. WS-RESP-CD = DFHRESP(ENDFILE)
PERFORM SEND-USRLST-SCREENCOUSR00C.cbl:674
  1. WS-RESP-CD is none of [DFHRESP(NORMAL); DFHRESP(ENDFILE)]
DISPLAY 'RESP:' WS-RESP-CD 'REAS:' WS-REAS-CDCOUSR00C.cbl:676
  1. WS-RESP-CD is none of [DFHRESP(NORMAL); DFHRESP(ENDFILE)]
MOVE 'Y' TO WS-ERR-FLGCOUSR00C.cbl:677
  1. WS-RESP-CD is none of [DFHRESP(NORMAL); DFHRESP(ENDFILE)]
MOVE 'Unable to lookup User...' TO WS-MESSAGECOUSR00C.cbl:678–679
  1. WS-RESP-CD is none of [DFHRESP(NORMAL); DFHRESP(ENDFILE)]
MOVE -1 TO USRIDINL OF COUSR0AICOUSR00C.cbl:680
  1. WS-RESP-CD is none of [DFHRESP(NORMAL); DFHRESP(ENDFILE)]
PERFORM SEND-USRLST-SCREENCOUSR00C.cbl:681