* MENU.CMD - PROCESS MENU * DO WHILE T SELECT PRIMARY STORE "DSPROG" TO DSFILE USE &SYS&DSFILE STORE TRIM(PROGRAM) TO OLDMENU SET INDEX TO &SYS&DSFILE&TWO FIND &OLDMENU STORE TRIM(TITLE) TO MTITLE ERASE @ 1,10 SAY TMARK + " " + CNAME SET INTE OFF @ 3,10 SAY MTITLE SET INTE ON @ 5,10 SAY "CODE DESCRIPTION" SET INDEX TO &SYS&DSFILE&ONE FIND &OLDMENU DISP " " + MENU:CODE + " " + TITLE WHILE MENU=OLDMENU OFF STORE Y TO LOGICAL DO WHILE LOGICAL STORE " " TO SELECTION @ 20,10 SAY "To select an item, enter the code on the left and RETURN." @ 21,10 SAY "You may also enter a code not on this menu if you know it." @ 22,10 SAY "Enter a code or just RETURN to exit " GET SELECTION PICTURE '!!!' READ SET INDEX TO &SYS&DSFILE&TWO IF SELECTION = " " IF OLDMENU = "MAI" RETURN ENDIF FIND &OLDMENU STORE MENU TO OLDMENU GOTO 1 REPLACE PROGRAM WITH OLDMENU STORE F TO LOGICAL ELSE SET EXACT ON FIND &SELECTION SET EXACT OFF IF # = 0 @ 23,10 SAY SELECTION+" is not a valid code - please try again." ELSE STORE F TO LOGICAL ENDIF ENDIF ENDDO IF SELECTION = " " LOOP ENDIF IF CATEGORY = "MNU" STORE MENU:CODE TO OLDMENU GOTO 1 REPLACE PROGRAM WITH OLDMENU ELSE STORE CATEGORY TO CAT STORE &CAT TO DEFA STORE SYS + TRIM(PROGRAM) TO PROG SET DEFAULT TO &DEFA DO &PROG SET DEFAULT TO &SYS SELECT PRIMARY STORE "DSPROG" TO DSFILE USE &SYS&DSFILE REPLACE PROGRAM WITH OLDMENU CLEAR RESTORE FROM DPROG ENDIF ENDDO RETURN