* Program:
* Tool Box
* Copyright ALP Systems LLC
*
PROGRAM='TOOLBOX' ; TITLE='Administrator Tool Box'
*-----
PROMPT ''
CLR=@(-1)
EOP=@(-3)
EOL=@(-4)
BON=@(-7)
BOF=@(-8)
BELL=CHAR(7)
AM=CHAR(254)
VM=CHAR(253)
SVM=CHAR(252)
PR=@(0,22):EOL:@(0,22)
ER=@(0,23):EOL:@(0,23)
ABORT=0
TODAY=OCONV(DATE(),'D2-')
BADS=''
FOR M=0 TO 31
BADS:=CHAR(M)
NEXT M
**************
* Open Files *
**************
SCR=CLR:'<':PROGRAM:'>':@(40-INT(LEN(TITLE)/2)):TITLE:@(70):TODAY
OPEN '','ACTIONS,TOOLBOX' TO ACTIONS ELSE ABORT=1
IF ABORT THEN
CRT SCR:PR:'Program Abort Code=':ABORT:' (enter) ':
INPUT QAZ: ; STOP
END
*********************
* Screen Definition *
*********************
Y=99 ; X=(-40) ; LIST='0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ'
FOR M=1 TO LEN(LIST)
Y+=1
IF Y>19 THEN Y=2 ; X+=40
READV DESC FROM ACTIONS, LIST[M,1], 2 ELSE DESC=''
IF DESC='open' THEN DESC=''
SCR:=@(X,Y):LIST[M,1]:' - ':DESC[1,35]
NEXT M
************
* Top Loop *
************
10 CRT SCR:
RELEASE
LIST='X0123456789ABCDEFGHIJKLMNOPQRSTUVWYZ' ; VALIDACTS=''
FOR M=1 TO LEN(LIST)
VALIDACTS<-1>=LIST[M,1]
NEXT M
PARAMETER=''
PARAMETER<1>=2 ; * Spacing of action words
PARAMETER<2>=22 ; * y coordinate
CALL USER.ACTION(ACTIONS,VALIDACTS,OPT,PROGRAM,PARAMETER)
BEGIN CASE
CASE OPT='0'
EXECUTE 'RUN SYS.BP MS050'
GO 10
CASE OPT='1'
COMD='SORT USERS BY LNAME BY FNAME LNAME FNAME 8 12 16'
COMD:=' HEADING "User List ':"'DL'":'"'
EXECUTE COMD
CASE OPT='2'
COMD='SORT ACC ID-SUPP HDR-SUPP WITH NAME.'
COMD:=' LINE UNAME. ACCOUNT. TIME. DATE. WHERE.'
COMD:=' HEADING "Users Logged on ':"'TL'":'"'
EXECUTE COMD
CASE OPT='3'
CASE OPT='4'
CASE OPT='5'
CASE OPT='6'
CASE OPT='7'
CASE OPT='8'
CASE OPT='9'
CASE OPT='A'
READ REC FROM ACTIONS, 'ASCII' ELSE REC=''
FOR M=1 TO 4
GG=@(0,1):EOP
FOR X=1 TO 22
GG:=@(5,X):REC<(M*22-22)+X>
NEXT X
CRT GG:ER:@(70):'(enter) ':
INPUT QAZ:
NEXT M
GO 10
CASE OPT='B'
CASE OPT='C'
EXECUTE 'LLC'
CASE OPT='D'
CRT @(0,2):EOP:'Sort Dictionary'
CRT @(0,4):'Enter File Name ':
INPUT FILENAME:
COMD='SD ':FILENAME
EXECUTE COMD
CASE OPT='E'
EXECUTE 'RUN SYS.BP EMESSAGE'
GO 10
CASE OPT='F'
CASE OPT='G'
CASE OPT='H'
CRT @(0,2):EOP:'HASH-TEST':
CRT @(0,4):'Enter File Name ':
INPUT FILENAME:
TFILE1=FIELD(FILENAME,',',1)
TITEM=FIELD(FILENAME,',',2)
FLAG=1 ; CMOD=0
IF TITEM='' THEN TITEM=TFILE1
OPEN 'DICT',TFILE1 TO TEMP ELSE FLAG=0
IF FLAG THEN
READV CMOD FROM TEMP, TITEM, 3 ELSE CMOD=0
IF NUM(CMOD)=0 THEN CMOD=0
END
COMD='HASH-TEST ':FILENAME:' DET-SUPP'
EXECUTE COMD
IF CMOD THEN CRT @(0,12):'Current Data Modulo = ':CMOD:
CASE OPT='I'
CRT @(0,2):EOP:'List Item Locks':@(0,4):
EXECUTE 'LIST-ITEM-LOCKS'
CASE OPT='J'
EXECUTE 'LISTLINES'
CASE OPT='K'
CASE OPT='L'
CRT @(0,2):EOP:'List Defined Printers':@(0,4):
EXECUTE 'LISTPTR'
CASE OPT='M'
EXECUTE 'RUN SYS.BP MENU.CREATE'
GO 10
CASE OPT='N'
CASE OPT='O'
CASE OPT='P'
CASE OPT='Q'
CRT @(0,2):EOP:'List Items in Spooler':@(0,4):
EXECUTE 'LISTPEQS'
CASE OPT='R'
CASE OPT='S'
CRT @(0,2):EOP:'SP-EDIT':@(0,4):
EXECUTE 'SP-EDIT (U'
CASE OPT='T'
CRT @(0,2):EOP:'Terminal Settings':@(0,4):
EXECUTE 'TERM'
CASE OPT='U'
EXECUTE 'LISTU'
CASE OPT='V'
CASE OPT='W'
EXECUTE 'WED'
GO 10
CASE OPT='X'
STOP
CASE OPT='Y'
CASE OPT='Z'
EXECUTE 'RUN SYS.BP PRIME.NUMBER'
GO 10
CASE 1
GO 10
END CASE
CRT PR:'(enter) to continue ':
INPUT QAZ:
GO 10