8530 PRINT " 1 - READ THE NEXT RECORD 3 - CORRECT THIS RECORD 5 - SHOW SUBRECORDS "
8532 PRINT " 2 - PRINT THIS RECORD ON PAPER 4 - READ ANOTHER RECORD 0 - TO FILE OPTIONS "
8535 PRINT "****************** Enter the number then press return **********************"
8537 SPRT = 5 / SURPRESS PRINTING AFTER OPTION IS ENTERED
8540 GOSUB 14000 / INPUT INTEGER < 100 SUBROUTINE
8542 IF DT# <0 OR DT# > 5 GOTO 8510 / IF OPTION OUT OF LIMITS THEN REPROMPT
8550 B = DT# / B = VALUE RETURNED FROM THE ABOVE SUBROUTINE
8552 IF B = 3 THEN GOSUB 9000 / IF OPTION 3 THEN CORRECT A RECORD SUBROUTINE
8554 IF B = 3 THEN GOTO 8510 / IF OPTION 3 ASK FOR ANOTHER OPTION
8555 IF SFLG > 0 AND B = 1 THEN GOTO 18380 / IF SEARCHING FOR SPECIFIC VALUES AND YOU WANT TO SEE THE NEXT RECORD THEN CONTINUE SEARCH
8556 IF B = 1 THEN RN = RN + 1 / IF SEE NEXT RECORD OPTION THEN INCREMENT RECORD NUMBER
8560 IF B = 5 AND RPT <> 2 THEN 8580 / IF REQUEST FOR SHOW SUBRECORDS AND SUBRECRDS DO NOT EXIST THEN 8580
8562 ON B GOTO 8058,8600,9000,8000,20000 / ON THE OPTION GOTO
8564 REM
8570 GOTO 3010 / TO FILE OPTIONS
8580 LI = 24 / LINE = 24
8585 GOSUB 13100 / LOCATE SUBROUTINE
8590 PRINT TAB(10) "SUBRECORDS ARE NOT SET UP ON THIS FILE";
8595 GOTO 8510 / ASK FOR ANOTHER OPTION
8600 REM PRINT SINGLE RECORD
8610 GOSUB 16000 / TURN YOUR PRINTER ON PROMPT
8680 GOSUB 12200 / PRINT RECORD ON PAPER EXPANDED FORM SUBROUTINE
8920 GOTO 8000 / BACK TO START OF SHOW A SINGLE RECORD
9000 REM
9005 LI = 20 / LINE = 20
9007 GOSUB 13100 / LOCATE SUBROUTINE
9010 PRINT "******************* CORRECT RECORD SUBROUTINE ******************* "
9020 PRINT " 0 - TO FILE OPTION -- DONE WITH CORRECTIONS "
9022 PRINT " 1 TO ";NREC(A);"THE FIELD YOU WANT TO CHANGE "
9025 PRINT "*************** ENTER THE NUMBER THEN PRESS RETURN ************** "
9028 SPRT = 5 / SURPRESS PRINTING AFTER OPTION
9030 GOSUB 14000 / INPUT INTEGER SUBROUTINE
9031 IF DT# <0 OR DT# >NREC(A) GOTO 9030 / IF OPTION EXCEENDS LIMITS REPROMPT
9033 T = DT# / T = FIELD YOU WANT TO CORRECT
9040 IF T = 0 THEN GOTO 3010 / IF OPION = 0 THEN FILE OPTIONS
9045 D = T / D ASLO EQUALS THE FIELD TO CORRECT
9046 IF REALFLG(A) = 2 AND T = TGTRN THEN GOSUB 61300 / IF THERE IS REALTIME TRANSFERS FOR THIS FILE AND THE RECORD TO BE CHANGED IS THE POINTER TO THE TARGET RECORD NUMBER THEN GOSUB 61300
9047 Q = T / Q ALSO EQUALS FIELD TO BE CORRECTED
9048 LI = 20 / LINE = 20
9049 GOSUB 13100 / LOCATE SUBROUTINE
9050 PRINT "****** FIELD NUMBER: ";D;" FIELD NAME: ";FLDN$(A,D);" ****** "
9060 PRINT "*********** ENTER THE CORRECTION THEN PRESS RETURN ************** "
9062 PRINT " " / CLEARS THESE LINES
9063 PRINT " "
9064 PRINT " ";
9066 LI = 22 / LINE = 22
9068 GOSUB 13100 / LOCATE SUBROUTINE
9070 ON FTY(A,D) GOTO 9100,9150,9200,9250,9250 / ON THE FIELD TYPE OF THE FIELD TO CORRECT GOTO
9100 GOSUB 15000 / INPUT STRING SUBROUTINE
9105 I$ = A$ / I$ = THE VALUE RETURED FROM THE INPUT SUBROUTINE
9110 LSET X$(D) = I$ / SET FILE BUFFER FOR THE FIELD TO I$
9120 GOTO 9290
9150 GOSUB 14100 / INPUT INTEGER SUBROUTINE
9151 T2 = KEYLIST(A,D) / T2 = THE KEYLIST FOR THIS FIELD IF ANY
9152 T3 = MAXK(T2) / T3 = THE MAXIMUM VALUE FOR THE KEYLIST
9153 REM IF KY(A,D) = 2 AND ( DT# < 1 OR DT# > T3) GOTO 9150
9154 IF MFLG(A) = 2 THEN GOSUB 29190 / IF LIMITS THEN CHECK FOR LIMIT
9155 I% = DT#
9157 I# = I%
9160 LSET X$(D) = MKI$(I%) / SET THE FILE BUFFER FOR THIS FIELD TO I%
9165 X(D) = I%
9170 GOTO 9290
9200 GOSUB 14200 / INPUT SINGLE PRECISION NUMBER SUBROUTINE
9203 IF MFLG(A) = 2 THEN GOSUB 29190 / IF LIMITS THEN CHECK IF NUMBER IS IN RANGE
9205 I! = DT# / I! = VALUE RETURNED FROM SUBROUTINE
9207 I# = I!
9210 LSET X$(D) = MKS$(I!) / SET FILE BUFFER TO !
9220 GOTO 9290
9250 GOSUB 14300 / INPUT SUBROUTINE FOR INTEGERS
9253 IF MFLG(A) = 2 THEN GOSUB 29190 / IF LIMITS THEN CHECK IF NUMBER IS IN RANGE
9255 I# = DT#
9260 LSET X$(D) = MKD$(I#) / SET FILE BUFFER TO !
9290 PUT #1,RN / PUT THE RECORD ON THE DISK
9291 N = D / N ALSO EQUALS THE FIELD TO CORRCT
9294 IF REALFLG(A) = 2 AND N = FLD1 THEN GOSUB 61000 / CORRECT REALTIME TRANSFER FILE
9295 IF REALFLG(A) = 2 AND N = FLD2 THEN GOSUB 61200
9296 IF REALFLG(A) = 2 AND N = TGTRN THEN GOSUB 61400
9297 IF REALFLG(A) = 2 AND N = TGTRN THEN GOSUB 60300
9298 IF GFLG(Q) = 1 THEN GOSUB 46000 ELSE GOSUB 44500 / IF VALUE OF THE FIELD AFFECTS OTHER FIELDS THEN RECALCULATE THE RECORD ELSE JUST PRINT ON THE SCREEN
9299 RETURN
44500 / IF VALUE OF THE FIELD AFFECTS OTHER FIELDS THEN RECALCULATE THE RECORD ELSE JU