010797NEW.BULID.INSTALL.DISKS■* BUILD.INSTALL.DISKS■*■* Build the Installation Disks for Applicant Management system■*■* The installation disks consist of a number of diskettes labeled 1 - n■* by writing a DOS file named DISKLABL to the disk with a value of 1, 2 etc.■* Disk 1 must contain a runable skeleton of REVELATION with installation parameters.■*■* NOTE: This program must be run from within the application directory to be copied.■*■* Written by CWR - 8/13/88■* Modified 9/12/88 for Applicant management■* Modified 01/30/89 by jnm for Variables at beginning to be set each time■* Modified 2/13/89 for max number files in root directory var NO.FILES■* Modified 05/16/89, KMH to prompt for differing installation requirements■*■CLEAR■$INSERT INSERT.LIB,RDESIGN.COMMON■* all variables to be set for a particular system are at the beginning■* below this line■■UPPER = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'■LOWER = 'abcdefghijklmnopqrstuvwxyz'■■* SET DEFAULTS■HOME.DRIVE=DRIVE()■IF HOME.DRIVE[-1,1]#'\' AND HOME.DRIVE[-1,1]#':' THEN■ CONVERT CHAR(0) TO '' IN HOME.DRIVE■ HOME.DRIVE:=':'■END■SCREEN.DISP = "BUILD INSTALL DISKS"■THIS.ACCOUNT = @ACCOUNT■INSTALL.PROGRAM = '$INSTALL.SYS'■USER.BATCH.FILE = @ACCOUNT : '.BAT'■VOC.FILE.ROS = 'ROS10000' ;*THIS IS THE VOC FILE IN THE SYSPROG ACCOUNT■■RESPONSE = ''■CONTINUE = ''■LOOP■UNTIL CONTINUE # ''■■PRINT @(-1)■PRINT;PRINT "Enter <CR> To Accept Default Value";PRINT;PRINT■PRINT " THIS.ACCOUNT: " : THIS.ACCOUNT■PRINT " Change To " : ; INPUT RESPONSE■IF RESPONSE # '' THEN■ CONVERT LOWER TO UPPER IN RESPONSE■ THIS.ACCOUNT = RESPONSE■ PRINT " THIS.ACCOUNT CHANGED TO: " : THIS.ACCOUNT■ RESPONSE = ''■END■PRINT■■PRINT "INSTALL.PROGRAM: " : INSTALL.PROGRAM■PRINT " Change To " : ; INPUT RESPONSE■IF RESPONSE # '' THEN■ CONVERT LOWER TO UPPER IN RESPONSE■ INSTALL.PROGRAM = RESPONSE■ PRINT " INSTALL.PROGRAM CHANGED TO: " : INSTALL.PROGRAM■ RESPONSE = ''■END■PRINT■■PRINT "USER.BATCH.FILE: " : USER.BATCH.FILE■PRINT " Change To " : ; INPUT RESPONSE■IF RESPONSE # '' THEN■ CONVERT LOWER TO UPPER IN RESPONSE■ USER.BATCH.FILE = RESPONSE■ PRINT " USER.BATCH.FILE CHANGED TO: " : USER.BATCH.FILE■ RESPONSE = ''■END■PRINT■■PRINT " VOC.FILE.ROS: " : VOC.FILE.ROS■PRINT " Change To " : ; INPUT RESPONSE■IF RESPONSE # '' THEN■ CONVERT LOWER TO UPPER IN RESPONSE■ VOC.FILE.ROS = RESPONSE■ PRINT " VOC.FILE.ROS CHANGED TO: " : VOC.FILE.ROS■ RESPONSE = ''■END■■PRINT■PRINT "Make Other Changes <CR>"■PRINT "Continue With Install 'Y'"■PRINT "ABORT Process, Any Other Key "■PRINT;INPUT CONTINUE■■REPEAT■■* TEST FOR ABORT REQUEST ... ANYTHING OTHER THAN 'Y' OR 'y'■IF CONTINUE # 'Y' AND CONTINUE # 'y' THEN GOTO CONCLUDE■■! ■* Initializations■*■PROMPT ""■*■EQU ESC.KEY TO CHAR(27)■EQU BEEP TO CHAR(7)■*■CALL V53(NORMAL,REVON,BOLD,REVHI)■*■SCREEN.TITLE = BOLD:CHAR(12):SCREEN.DISP "C#79":NORMAL■HELP.BAR = @(0,24):REVON:"Press <Esc> to abort process" "C#79":NORMAL■*■OPEN "","DOS" TO DOS.FILE ELSE PRINT BEEP:"Can't open DOS"; STOP■*■READ INSTALL.DAT.REC FROM DOS.FILE,'INSTALL.DAT' ELSE INSTALL.DAT.REC = ''■INSTALL.DAT.REC<1> = '1'■INSTALL.DAT.REC<2> = THIS.ACCOUNT■INSTALL.DAT.REC<3> = '45'■WRITE INSTALL.DAT.REC TO DOS.FILE,HOME.DRIVE:"INSTALL.DAT"■■*■IF DIR("DUMMY") THEN DELETE DOS.FILE,"DUMMY"■IF DIR("DISKLABL") THEN DELETE DOS.FILE,"DISKLABL"■*■READ ROSMEDIA.MAP FROM DOS.FILE,"ROSMEDIA.MAP" ELSE PRINT BEEP:"Can't read ROSMEDIA.MAP on DOS": STOP■SYSADMIN.FILE = THIS.ACCOUNT:'ⁿSYSADMIN'■LOCATE SYSADMIN.FILE IN ROSMEDIA.MAP<3> SETTING POS ELSE PRINT BEEP:"Can't find SYSADMIN in ROSMEDIA.MAP"; STOP■DOS.SYSADMIN.DICT.ID = ROSMEDIA.MAP<4,POS>:".000"■!■* Define files which must be present on DISK 1■*■NO.REQUIRED.DOS.FILES = 16; * Variable used in program to determine end of required files in files list■INSTALL.REC<1> = INSTALL.PROGRAM ; * Install program■INSTALL.REC<2> = USER.BATCH.FILE ; * User batch file■INSTALL.REC<3> = "REV.EXE" ■INSTALL.REC<4> = "ROS00000.000" ; * SYSOBJ file■INSTALL.REC<5> = "ROS00001.010" ; * VERBS file■INSTALL.REC<6> = "ROS00001.020" ; * VERBS file■INSTALL.REC<7> = "ROS00001.030" ; * VERBS file■INSTALL.REC<8> = "ROS00001.040" ; * VERBS file■INSTALL.REC<9> = "ROS00003.010" ; * SYSTEM file■INSTALL.REC<10> = VOC.FILE.ROS:".000" ; * VOC dictionary SYSPROG ■INSTALL.REC<11> = VOC.FILE.ROS:".010" ; * VOC file SYSPROG■INSTALL.REC<12> = DOS.SYSADMIN.DICT.ID■INSTALL.REC<13> = "ROSERROR.000" ■INSTALL.REC<14> = "ROSMEDIA.MAP" ■INSTALL.REC<15> = "INSTALL.BAT" ; * Installation batch file■INSTALL.REC<16> = "INSTALL.DAT" ; * REV record containing <1> Total number of installation diskettes■* <2> REV account name■!■* Inform operator of need to use blank, formatted, error free diskettes■*■PRINT SCREEN.TITLE:■PRINT @(0,8):BEEP:BOLD:"NOTICE" "C#79":■PRINT @(0,12):"You must use TOTALLY BLANK, FORMATTED, ERROR FREE diskettes" "C#79":NORMAL:■PRINT @(0,24):REVON:@(-4):"Press any key to continue - <Esc> to exit":NORMAL:■GOSUB PRESS.KEY■!■* Prompt operator for floppy media type using a select window■*■PRINT SCREEN.TITLE:■SELECT.CODES = "1,2,3,4"■SELECT.TITLES = "1: 5.25 - 360K,2: 5.25 - 1.2M,3: 3.5 - 720K,4: 3.5 - 1.44M"■CONVERT "," TO @FM IN SELECT.CODES■CONVERT "," TO @FM IN SELECT.TITLES■CALL WINDOW(SELECT.CODES,SELECT.TITLES,"",27,8," SELECT MEDIA",4,"",20,0,0,0,LAST.KEY,SELECTION)■IF LAST.KEY = ESC.KEY THEN STOP■BEGIN CASE■ CASE SELECTION = 1; CLUSTER.SIZE = 1024; TOTAL.DISK.CLUSTERS = 354; NO.FILES = 112■ CASE SELECTION = 2; CLUSTER.SIZE = 512; TOTAL.DISK.CLUSTERS = 2371; NO.FILES = 224■ CASE SELECTION = 3; CLUSTER.SIZE = 1024; TOTAL.DISK.CLUSTERS = 713; NO.FILES = 112■ CASE SELECTION = 4; CLUSTER.SIZE = 512; TOTAL.DISK.CLUSTERS = 2847; NO.FILES = 224■END CASE■!■* Prompt operator for floppy drive (A or B) using a select window■*■PRINT SCREEN.TITLE:■SELECT.CODES = "A:\":@FM:"B:\"■SELECT.TITLES = "Drive A":@FM:"Drive B"■CALL WINDOW(SELECT.CODES,SELECT.TITLES,"",27,8," SELECT DRIVE",2,"",20,0,0,0,LAST.KEY,FLOPPY.DRIVE.ID)■IF LAST.KEY = ESC.KEY THEN STOP■!■* Build a list of all DOS file names in the directory, with required Disk 1 files■* at the front of the list. Include file size with file name.■*■PRINT SCREEN.TITLE:■PRINT @(0,20):"Building DOS file list":■*■DOS.FILE.LIST = ""■INSTALL.REC.COL = 1■LOOP■ REMOVE DOS.FILE.ID FROM INSTALL.REC AT INSTALL.REC.COL SETTING MARK■ GOSUB BUILD.DOS.FILE.LIST■WHILE MARK REPEAT■*■PERFORM "SELECT DOS (S)"■*■DONT.COPY.FILES = INSTALL.REC:@FM:"BLDINST.AM":@FM:"$BLDINST.AM"■LOOP■ READNEXT DOS.FILE.ID THEN■ LOCATE DOS.FILE.ID IN DONT.COPY.FILES USING @FM SETTING DUMMY ELSE GOSUB BUILD.DOS.FILE.LIST■ END ELSE DOS.FILE.ID = ""■UNTIL DOS.FILE.ID = "" REPEAT■!■* Write one DOS file on each disk for identification.■* Include at least one character in this DOS file so it can be copied.■* Copy as many DOS files as possible to each diskette removing file name from list when copied.■*■DISK.NO = 0■NO.FILES.COPIED = 0■PRINT HELP.BAR:■*■LOOP■ DISK.NO += 1■ GOSUB PROMPT.OPERATOR■ FILES.DISK = 1■ * Label the disk■ WRITE DISK.NO TO DOS.FILE,FLOPPY.DRIVE.ID:"DISKLABL"■ AVAILABLE.DISK.CLUSTERS = TOTAL.DISK.CLUSTERS - 1■ * Copy DOS files to disk■ FILE.LIST.COL = 1■ REMAINDER.FILE.LIST = ""■ LOOP■ * Check for operator abort ( & clear keyboard buffer)■ LOOP■ INPUT KEY,-1:■ IF KEY = ESC.KEY THEN STOP■ UNTIL KEY = "" REPEAT■ *■ REMOVE DOS.FILE.ITEM FROM DOS.FILE.LIST AT FILE.LIST.COL SETTING MARK■ DOS.FILE.ID = FIELD(DOS.FILE.ITEM,"*",1)■ DOS.FILE.CLUSTERS = FIELD(DOS.FILE.ITEM,"*",2)■ * Copy DOS file if there is enough space on target disk else add file name■ * and size to a list to be used for copying files to the next disk.■ IF DOS.FILE.CLUSTERS LE AVAILABLE.DISK.CLUSTERS AND FILES.DISK < NO.FILES THEN■ * Copy DOS file■ PRINT @(0,22):@(-4):DOS.FILE.ID "L#20":"Remaining disk clusters = ":AVAILABLE.DISK.CLUSTERS:■ PCPERFORM "COPY ":HOME.DRIVE:DOS.FILE.ID:" ":FLOPPY.DRIVE.ID:" > DUMMY"■*VERIFY COPY■ OSOPEN FLOPPY.DRIVE.ID:DOS.FILE.ID TO VERIFY.TARGET.FILE ELSE PRINT BEEP:"Can't copy ":DOS.FILE.ID; STOP■ OSCLOSE VERIFY.TARGET.FILE■ *■ AVAILABLE.DISK.CLUSTERS -= DOS.FILE.CLUSTERS■ NO.FILES.COPIED += 1■ FILES.DISK += 1■ END ELSE■ * Be sure all required files are copied to disk 1■ IF NO.FILES.COPIED < NO.REQUIRED.DOS.FILES THEN PRINT BEEP:"Unable to copy all required DOS files to disk 1"■ * Add file data to list of DOS files to be copied to remaining disks■ REMAINDER.FILE.LIST<-1> = DOS.FILE.ITEM■ END■ WHILE MARK REPEAT■ * Reinitialize file list for next loop■ DOS.FILE.LIST = REMAINDER.FILE.LIST■UNTIL DOS.FILE.LIST = "" REPEAT■!■* Write number of disks used to installation data file on disk 1■*■WRAPUP.FLAG = 1■NO.DISKS = DISK.NO■DISK.NO = 1■REQUEST.DISK.1:■GOSUB PROMPT.OPERATOR■READ DUMMY FROM DOS.FILE,FLOPPY.DRIVE.ID:"INSTALL.DAT" THEN■ WRITEV NO.DISKS TO DOS.FILE,FLOPPY.DRIVE.ID:"INSTALL.DAT",1■ WRITEV DOS.FILE.ID TO DOS.FILE,FLOPPY.DRIVE.ID:"INSTALL.DAT",7■END ELSE GO REQUEST.DISK.1■!■* Confirm end of process■*■PRINT SCREEN.TITLE:■PRINT @(0,10):"Number of Install Disks = " "R#40":NO.DISKS■PRINT @(0,12):"Number of Files Copied = " "R#40":NO.FILES.COPIED■PRINT @(0,20):"PROCESS COMPLETE" "C#79"■*■CONCLUDE:■STOP■*■!■* S U B R O U T I N E S■!■*■BUILD.DOS.FILE.LIST:■DOS.FILE.DATA = DIR(DOS.FILE.ID)■IF DOS.FILE.DATA = "" THEN PRINT BEEP:"Can't find ":DOS.FILE.ID:" on ":HOME.DRIVE; STOP■DOS.FILE.SIZE = DIR(DOS.FILE.ID)<1>■DOS.FILE.CLUSTERS = INT(DOS.FILE.SIZE/CLUSTER.SIZE) + (MOD(DOS.FILE.SIZE,CLUSTER.SIZE) NE 0)■DOS.FILE.LIST<-1> = DOS.FILE.ID:"*":DOS.FILE.CLUSTERS■RETURN■*■!■*■PRESS.KEY:■* Clear keyboard buffer each time this routine is used■KEY.PRESSED = ""■LOOP■ INPUT KEY,-1:■ IF KEY = ESC.KEY THEN STOP■ IF KEY NE "" THEN KEY.PRESSED = 1■UNTIL KEY = "" AND KEY.PRESSED REPEAT■RETURN■*■!■*■PROMPT.OPERATOR:■PRINT @(0,22):@(-4):; * Clear copy status line for previous diskette■PRINT @(0,20):@(-4):"Insert Disk ":DISK.NO:" - then Press Any Key ":BEEP:■GOSUB PRESS.KEY■* Verify new floppy has been inserted (except in case of wrapup on disk 1)■IF WRAPUP.FLAG THEN■ READ DISK.LABEL FROM DOS.FILE,FLOPPY.DRIVE.ID:"DISKLABL" ELSE■ PRINT @(0,23):@(-4):"Can't find disk label on inserted floppy - please insert disk 1":■ GO PROMPT.OPERATOR■ END■ IF DISK.LABEL NE 1 THEN■ PRINT @(0,23):@(-4):"This is disk ":DISK.LABEL:" - please insert disk 1":■ GO PROMPT.OPERATOR■ END■END ELSE■ READ DISK.LABEL FROM DOS.FILE,FLOPPY.DRIVE.ID:"DISKLABL" THEN■ PRINT @(0,23):@(-4):"This is disk ":DISK.LABEL:" - please insert a blank formatted diskette":■ GO PROMPT.OPERATOR■ END ■END■PRINT @(0,23):@(-4):; * Clear error message line■RETURN■ ■ 07510$SET.EXPORT.PARAMS■ \ δ⌠ └CÇ@└CºdccΘ@└CºeccΩ@└Cº■Φ@ùΘ└C @└C└Cdcc@Ω└C @└C└Cdcc@Φ└C@─└üÇ└ǃ┼─┼Θc∞¥Ωcφ¥⌠Ç@⌡è@÷Φecc@≈ºdccÇ@@≈ºeccÇC@≈ºfccÇF@≈ºgccÇJ@≈ºhccÇO@≈ºèccÇT@≈ºèccÇ[@≈ºèccÇd@≈ºè ccÇi@≈ºè
ü╝QH▒ü¢Çé½■└DéöG¡éü₧éü▌@éÇ⌠ÇÇÇÇédü½A ≤d@≡[tJτdHτéü░@é.üτé@éé.⌠ÇÇÇÇédü½A ≤d@≡[tJτt| %%USER.SECURITY%%+PROCESS ABORTED - Press any key to continueDLDMDM2DM2-DM2/MMDDYYMMDDYYYYMMYYMMYYYYYYMMDDYYYYMMDDV53GET.COMMAND.PARAMSTESTBATCHEXPORT
WINDOW.TITLES═TEST DISPLAY═ERROR MESSAGES╔═╗║╚╝
Export Key =@ Ln# File Field Export Value Conv Value< Ln# Export key Message Data
EXPORT.RUN2Sorry, You are restricted from the Export process.
MSG.WINDOWDICTEXPORT.TEMPLATE%Can't open EXPORT.TEMPLATE dictionary
EXPORT.ERRORSCan't open EXPORT.ERRORS file#Can't open EXPORT.ERRORS dictionary,No key fields have been specified for export(No fields have been specified for export[F]VERIFY.SUBROUTINESee line # {F}Dictionary conversion item
not foundMDOpening source files for exportBlank file name encounteredSee field line # Can't open file dictionary%KEY.PARTS%Number of key parts for is Can't read %KEY.PARTS% from ,Setting up export field parameters - line # fieldPress Esc to AbortR#3
Can't LOCATE in SOURCE.FILE.IDSCan't read from FS in % file is not a real or symbolic field file is a key field
'M'0N'.'0N%Invalid dictionary item SM parameter # file cannot have a multivalue code' file must have a multivalue field codeInvalid multivalue field code DELIMLL#RR#ZR(0)#NYInvalid field justification Setting up key parameterskeySee key line # Key part mismatch for []Invalid wrapup subroutine - {}Wrapup DICT item 6Wrapup routine must be a subroutine or dictionary item#See export template wrapup routine SET.EXPORT.PARAMS
t| +PROCESS ABORTED - Press any key to continue9The following keys may be used to manipulate the display:6Up/Down Arrow - Up/Down one record in current block(Left/Right Arrow - Left/Right 50 columns(Ctrl Left Arrow - Display from column 1'Ctrl Right Arrow - Display last columns6Page Up/Down - Up/Down 20 records in current block4Ctrl Page Up - Last 20 records in previous block1Ctrl Page Down - First 20 records in next block4Home - First 20 records in current block3End - Last 20 records in current block9Ctrl Home - First 20 records in file (first block)7Ctrl End - Last 20 records in file (last block)V53GET.COMMAND.PARAMSNo DOS file specified
MSG.WINDOW0NInvalid record length specifiedCan't OPEN fileBad DOS filenameAccess denied by DOSFile does not existUndefined errorLREC# 12345678901234567890123456789012345678901234567890123456789012345678905Press F1 for explanation of control keys, Esc to quit is an empty file
Block number of L#50Press any key to continueLOADING DOS BLOCKUnable to READ R#5Record exceeds 63K bytesVIEW.DOS
ACTION.MSG,-1,1
BEEP,-1,2
CRLF,-1,3
CTRL.END,-1,4
CTRL.HOME,-1,5
CTRL.LEFT.ARROW,-1,6
CTRL.RIGHT.ARROW,-1,7
CTRL.PAGE.DOWN,-1,8
CTRL.PAGE.UP,-1,9
DOWN.ARROW,-1,10
END.KEY,-1,11
EOF.MARK,-1,12
ESC,-1,13
F1,-1,14
HOME,-1,15
LEFT.ARROW,-1,16
LF,-1,17
NULL.CHAR,-1,18
NULL.SUBSTITUTE,-1,19
PAGE.DOWN,-1,20
PAGE.UP,-1,21
RIGHT.ARROW,-1,22
SUBSTITUTES,-1,23
VAL,-1,24
UNPRINTABLES,-1,25
UP.ARROW,-1,26
GEN.KEY.HELP.MSG,-1,27
KEY.HELP.MSG,-1,28
NORMAL,-1,29
REV,-1,30
BOLD,-1,31
REV.HI,-1,32
COMMAND.PARAMS,-1,33
DOS.FILE.ID,-1,34
REC.LEN,-1,35
ERR.MSG,-1,36
KEY,-1,37
ABORT.FLAG,-1,38
DOS.FILE,-1,39
CAUSE.MSG,-1,40
FIXED.HDNG,-1,41
BLOCK.CNT,-1,42
MAX.NO.RECS,-1,43
BLOCK.ARRAY,-1,44
BLOCK.NO,-1,45
BASE.BLOCK.REC.NO,-1,46
BASE.COL.NO,-1,47
PAGE.REC.NO,-1,48
BLOCK.INFO,-1,49
FILE.POS,-1,50
BLOCK.DATA,-1,51
BLOCK.SIZE,-1,52
BLOCK.REC.CNT,-1,53
BLOCK.LEN,-1,54
BLOCK,-1,55
END.LOOP,-1,56
PREV.BLOCK.REC.CNT,-1,57
TOP.REC.NO,-1,58
BOTTOM.REC.NO,-1,59
MAX.REC.LEN,-1,60
REC.NO,-1,61
CUR.REC.LEN,-1,62
TEMP.BLOCK.NO,-1,63
CONT.MSG,-1,64
COL.HDNG,-1,65
ROW.HDNG,-1,66
BODY,-1,67
BLOCK.POS,-1,68
BLOCK.REC.NO,-1,69
COL.HDNG1,-1,70
COL.HDNG2,-1,71
START.COL,-1,72
END.COL,-1,73
COL.POS,-1,74
COL,-1,75
VAL1,-1,76
VAL2,-1,77
ROW,-1,78
NO.PAGE.RECS,-1,79
END.REC.NO,-1,80
EOF,-1,81
01761$IE.RUN.TEMPLATE■ X─┼─┼─┼─┼Φ└$dÇ
@Φ└$QH╦ ┬Ç@ÇÇ-AJïΦÇ7RΦÇ>RΦÇERH∩ ┬Ç@ÇPÇ-AJïÇΦÇâΘkG┬Ç@ÇìΦÇâÇ-AJïd[çÇóÇ»ΦÇ┤Ç╛AΦΩδÇ╠AδèRHëΦÇ>QΦÇEQ Hs∞ΘΩöGn┬Ç@Ç▐ΩÇεΦÇâÇ-AJïKò└%ÇΦÇ·ΩÇ@ü A |ΦÇEQH⌐φ∞è
cc@J▒φ∞ècc@φÇQHTΦÇEQHε∞fcc@∩ü@≡∞dcc@±∞ecc@└%üE≡üOεüO±üQ@ü A ≥üU@J≥∞gcc@∩ü[@┬Ç@┬Ç@≤c@⌠è@⌡üÜ@÷ü₧@≈d@°d@└$Ç@≥≤⌠∩⌡÷≈°üúAt|B