MFmainframe-rea
WS carddemo · 26f629ef

Business rules · 37 guarded actionsCOADM01C

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 COADM01C.cbl:50
ERR-FLG-ONmeans WS-ERR-FLG = 'Y'COADM01C.cbl:41
13 rules

MAIN-PARA

WhenThenAt
  1. EIBCALEN = 0
MOVE 'COSGN00C' TO CDEMO-FROM-PROGRAMCOADM01C.cbl:87
  1. EIBCALEN = 0
PERFORM RETURN-TO-SIGNON-SCREENCOADM01C.cbl:88
  1. NOT (EIBCALEN = 0)
MOVE DFHCOMMAREA(1:EIBCALEN) TO CARDDEMO-COMMAREACOADM01C.cbl:90
  1. NOT (EIBCALEN = 0)
  2. NOT CDEMO-PGM-REENTER
SET CDEMO-PGM-REENTER TO TRUECOADM01C.cbl:92
  1. NOT (EIBCALEN = 0)
  2. NOT CDEMO-PGM-REENTER
MOVE LOW-VALUES TO COADM1AOCOADM01C.cbl:93
  1. NOT (EIBCALEN = 0)
  2. NOT CDEMO-PGM-REENTER
PERFORM SEND-MENU-SCREENCOADM01C.cbl:94
  1. NOT (EIBCALEN = 0)
  2. CDEMO-PGM-REENTER
PERFORM RECEIVE-MENU-SCREENCOADM01C.cbl:96
  1. NOT (EIBCALEN = 0)
  2. CDEMO-PGM-REENTER
  3. EIBAID = DFHENTER
PERFORM PROCESS-ENTER-KEYCOADM01C.cbl:99
  1. NOT (EIBCALEN = 0)
  2. CDEMO-PGM-REENTER
  3. EIBAID = DFHPF3
MOVE 'COSGN00C' TO CDEMO-TO-PROGRAMCOADM01C.cbl:101
  1. NOT (EIBCALEN = 0)
  2. CDEMO-PGM-REENTER
  3. EIBAID = DFHPF3
PERFORM RETURN-TO-SIGNON-SCREENCOADM01C.cbl:102
  1. NOT (EIBCALEN = 0)
  2. CDEMO-PGM-REENTER
  3. EIBAID is none of [DFHENTER; DFHPF3]
MOVE 'Y' TO WS-ERR-FLGCOADM01C.cbl:104
  1. NOT (EIBCALEN = 0)
  2. CDEMO-PGM-REENTER
  3. EIBAID is none of [DFHENTER; DFHPF3]
MOVE CCDA-MSG-INVALID-KEY TO WS-MESSAGECOADM01C.cbl:105
  1. NOT (EIBCALEN = 0)
  2. CDEMO-PGM-REENTER
  3. EIBAID is none of [DFHENTER; DFHPF3]
PERFORM SEND-MENU-SCREENCOADM01C.cbl:106
11 rules

PROCESS-ENTER-KEY

WhenThenAt
  1. WS-OPTION IS NOT NUMERIC OR WS-OPTION > CDEMO-ADMIN-OPT-COUNT OR WS-OPTION = ZEROS
MOVE 'Y' TO WS-ERR-FLGCOADM01C.cbl:134
  1. WS-OPTION IS NOT NUMERIC OR WS-OPTION > CDEMO-ADMIN-OPT-COUNT OR WS-OPTION = ZEROS
MOVE 'Please enter a valid option number...' TO WS-MESSAGECOADM01C.cbl:135–136
  1. WS-OPTION IS NOT NUMERIC OR WS-OPTION > CDEMO-ADMIN-OPT-COUNT OR WS-OPTION = ZEROS
PERFORM SEND-MENU-SCREENCOADM01C.cbl:137
  1. NOT ERR-FLG-ON
  2. CDEMO-ADMIN-OPT-PGMNAME(WS-OPTION)(1:5) NOT = 'DUMMY'
MOVE WS-TRANID TO CDEMO-FROM-TRANIDCOADM01C.cbl:142
  1. NOT ERR-FLG-ON
  2. CDEMO-ADMIN-OPT-PGMNAME(WS-OPTION)(1:5) NOT = 'DUMMY'
MOVE WS-PGMNAME TO CDEMO-FROM-PROGRAMCOADM01C.cbl:143
  1. NOT ERR-FLG-ON
  2. CDEMO-ADMIN-OPT-PGMNAME(WS-OPTION)(1:5) NOT = 'DUMMY'
MOVE ZEROS TO CDEMO-PGM-CONTEXTCOADM01C.cbl:144
  1. NOT ERR-FLG-ON
  2. CDEMO-ADMIN-OPT-PGMNAME(WS-OPTION)(1:5) NOT = 'DUMMY'
EXEC CICS XCTL PROGRAM(CDEMO-ADMIN-OPT-PGMNAME(WS-OPTION)) COMMAREA(CARDDEMO-COMMAREA) END-EXECCOADM01C.cbl:145–148
  1. NOT ERR-FLG-ON
MOVE SPACES TO WS-MESSAGECOADM01C.cbl:150
  1. NOT ERR-FLG-ON
MOVE DFHGREEN TO ERRMSGC OF COADM1AOCOADM01C.cbl:151
  1. NOT ERR-FLG-ON
STRING 'This option ' DELIMITED BY SIZE 'is not installed ...' DELIMITED BY SIZE INTO WS-MESSAGECOADM01C.cbl:152–156
  1. NOT ERR-FLG-ON
PERFORM SEND-MENU-SCREENCOADM01C.cbl:157
1 rules

RETURN-TO-SIGNON-SCREEN

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

BUILD-MENU-OPTIONS

WhenThenAt
  1. PERFORM VARYING WS-IDX FROM 1 BY 1 UNTIL WS-IDX > CDEMO-ADMIN-OPT-COUNT
MOVE SPACES TO WS-ADMIN-OPT-TXTCOADM01C.cbl:234
  1. PERFORM VARYING WS-IDX FROM 1 BY 1 UNTIL WS-IDX > CDEMO-ADMIN-OPT-COUNT
STRING CDEMO-ADMIN-OPT-NUM(WS-IDX) DELIMITED BY SIZE '. ' DELIMITED BY SIZE CDEMO-ADMIN-OPT-NAME(WS-IDX) DELIMITED BY SIZE INTO WS-ADMIN-OPT-TXTCOADM01C.cbl:236–239
  1. PERFORM VARYING WS-IDX FROM 1 BY 1 UNTIL WS-IDX > CDEMO-ADMIN-OPT-COUNT
  2. WS-IDX = 1
MOVE WS-ADMIN-OPT-TXT TO OPTN001OCOADM01C.cbl:243
  1. PERFORM VARYING WS-IDX FROM 1 BY 1 UNTIL WS-IDX > CDEMO-ADMIN-OPT-COUNT
  2. WS-IDX = 2
MOVE WS-ADMIN-OPT-TXT TO OPTN002OCOADM01C.cbl:245
  1. PERFORM VARYING WS-IDX FROM 1 BY 1 UNTIL WS-IDX > CDEMO-ADMIN-OPT-COUNT
  2. WS-IDX = 3
MOVE WS-ADMIN-OPT-TXT TO OPTN003OCOADM01C.cbl:247
  1. PERFORM VARYING WS-IDX FROM 1 BY 1 UNTIL WS-IDX > CDEMO-ADMIN-OPT-COUNT
  2. WS-IDX = 4
MOVE WS-ADMIN-OPT-TXT TO OPTN004OCOADM01C.cbl:249
  1. PERFORM VARYING WS-IDX FROM 1 BY 1 UNTIL WS-IDX > CDEMO-ADMIN-OPT-COUNT
  2. WS-IDX = 5
MOVE WS-ADMIN-OPT-TXT TO OPTN005OCOADM01C.cbl:251
  1. PERFORM VARYING WS-IDX FROM 1 BY 1 UNTIL WS-IDX > CDEMO-ADMIN-OPT-COUNT
  2. WS-IDX = 6
MOVE WS-ADMIN-OPT-TXT TO OPTN006OCOADM01C.cbl:253
  1. PERFORM VARYING WS-IDX FROM 1 BY 1 UNTIL WS-IDX > CDEMO-ADMIN-OPT-COUNT
  2. WS-IDX = 7
MOVE WS-ADMIN-OPT-TXT TO OPTN007OCOADM01C.cbl:255
  1. PERFORM VARYING WS-IDX FROM 1 BY 1 UNTIL WS-IDX > CDEMO-ADMIN-OPT-COUNT
  2. WS-IDX = 8
MOVE WS-ADMIN-OPT-TXT TO OPTN008OCOADM01C.cbl:257
  1. PERFORM VARYING WS-IDX FROM 1 BY 1 UNTIL WS-IDX > CDEMO-ADMIN-OPT-COUNT
  2. WS-IDX = 9
MOVE WS-ADMIN-OPT-TXT TO OPTN009OCOADM01C.cbl:259
  1. PERFORM VARYING WS-IDX FROM 1 BY 1 UNTIL WS-IDX > CDEMO-ADMIN-OPT-COUNT
  2. WS-IDX = 10
MOVE WS-ADMIN-OPT-TXT TO OPTN010OCOADM01C.cbl:261