home *** CD-ROM | disk | FTP | other *** search
- REMARK ***************************************\
- * P/R280.BAS JOB FILE MAINTENANCE *\
- * 5/17/79 1:30 PM *\
- ***************************************
-
- %INCLUDE CURSOR
-
- DIM S(1),R$(5),R1(2),R2(5),J(14),W(2),W1(2),W2$(2)
- DIM W2(14),G2$(5),G3(5),DATA$(2),KEY$(2)
-
- DEF FNEXACT(X0,X1)=X0*1000+X1 REMARK KEY LOCATOR FUNCTION
-
- YES=1
- GOTO 6000
-
- %INCLUDE SUBS1
- %INCLUDE GENINFO
-
- 745 READ #1,X0;R$(1),R$(2),R$(3),R$(4),R$(5),R1(1),R1(2),\ REMARK READ FIRST PART OF EMPLOYEE MASTER RECORD
- R2(1),R2(2),R2(3),R2(4),R2(5),R3$,S(1)
- RETURN
-
-
- 1000 Y2=2:RECORD.COUNT=JOB.RECORDS REMARK ROUTINES TO SEARCH JOB0F100.DAT AND JOBINPUT.DAT
- GOSUB 1060
- IF H <> -1 OR FINDNEXT%=YES THEN RETURN
- 1010 Y2=3:RECORD.COUNT=NEW.RECORDS%
- SEARCH.FAILURE%=0
- GOSUB 1060
- IF VAR1 <> INT(K/1000) THEN SEARCH.FAILURE%=YES
- RETURN
-
-
-
- %INCLUDE PR-SEARC
- %INCLUDE JOBFILE
-
- 3450 REMARK ++++++++++++++++ALPHABETIC/NUMERIC DATA ENTRY+++++++++++++++
-
-
- X2$="****************************************************************"
- GOSUB 210:PRINT LEFT$(X2$,X2)
- CHAR%=LEAD.IN%:GOSUB 801
- CHAR%=ADDR.CURS%:GOSUB 801
- CHAR%=HORIZONTAL.TAB%:GOSUB 801
- CHAR%=NO.OF.LINEFEEDS%:GOSUB 801
- X0$=""
-
- 3500 IF CONSTAT% = 0 THEN GOTO 3500 REMARK WAIT FOR OPERATOR TO ENTER CHARACTER
- X%=CONCHAR%
- IF X% <> 3 THEN GOTO 3505 REMARK DISPLAY EXPLANATION MASK IF CTRL-C WAS HIT
- X0=12:GOSUB 260:PRINT:PRINT
- 3501 IF CONSTAT% THEN\
- X%=CONCHAR%:\
- X0=8:GOSUB 260:XY=X1:Z=1:GOSUB 4100:Z=0:GOSUB 4100:X1=XY:\ REMARK IF A KEY WAS HIT, DISPLAY ENTRY MASK AND RETURN
- GOTO 3450\
- ELSE GOTO 3501
-
-
- 3505 IF X%=9 THEN GOTO 3450 REMARK RESTART ENTRY IF CONTROL-I
- IF X%=0DH THEN GOTO 3700 REMARK END DATA ENTRY IF <RETURN> WAS DEPRESSED
- IF X% >= 20H AND X% <= 7AH THEN GOTO 3600 REMARK PROCESS AND VALID ASCII CHARACTER
- IF X% =7EH OR X% = 08H AND LEN(X0$) >= 1\
- THEN\
- CHAR%=BACKSPACE%:GOSUB 801:\
- CHAR%=42:GOSUB 801:\
- CHAR%=BACKSPACE%:GOSUB 801:\
- Z1%=LEN(X0$)-1:X0$=LEFT$(X0$,Z1%) REMARK TRUNCATE ENTRY STRING
- GOTO 3500
- 3600 IF LEN(X0$) < X2 THEN X0$=X0$+CHR$(X%)\ REMARK IF ENTRY LENGTH WITHIN LIMITS, CONCATENATE
- ELSE\
- CHAR%=BACKSPACE%:GOSUB 801:\
- CHAR%=32:GOSUB 801:\
- CHAR%=BACKSPACE%:GOSUB 801
- GOTO 3500
- 3700 IF X3=0 AND X4=0 THEN RETURN
- X0 = VAL(X0$)
- IF MATCH("!",X0$,1) = 0 AND X0 >= X3 AND X0 <= X4 THEN RETURN REMARK PERFORM RANGE CHECKING:IF INVALID, REJECT
- 3950 X2$="OUT OF RANGE"
- L1=X1
- GOSUB 615
- X1=L1
- GOTO 3450
-
-
-
- 4100 REMARK DISPLAY HEADER AND DETAIL RECORD VALUES
-
- IF Z=1\ REMARK DISPLAY HEADER RECORD DATA IF Z IS SET TO 1
- THEN\
- X1=260:GOSUB 210:PRINT USING MASK6$;W(1):\ REMARK DISPLAY JOB NUMBER
- X1=328:GOSUB 210:\
- PRINT W1$;TAB(64):\ REMARK DISPLAY JOB DESCRIPTION
- X0=W1(1):X1=398:GOSUB 680:\ REMARK DISPLAY JOB START AND END DATES
- X0=W1(2):X1=462:GOSUB 680:\
- PRINT:\
- X1=15:GOSUB 215:\
- PRINT W2$(1):\ REMARK DISPLAY JOB STATUS AND TYPE CODES
- X1=15:GOSUB 215:\
- PRINT W2$(2):\
- RETURN
-
-
- IF Z=2 THEN\ REMARK DISPLAY JOB TOTALS AFTER READING LAST DETAIL RECORD
- X1=277:GOSUB 210:\
- PRINT TAB(23);"JOB TOTALS";TAB(42):\
- PRINT:\
- FOR I1%=1 TO 7:\ REMARK DISPLAY M-T-D AND J-T-D TOTALS FOR JOB DETAIL RECORDS
- Z2=J(I1%):\
- Z3=J(I1%+7):\
- GOSUB 4200:\
- NEXT I1%:\
- Z2=J(4)+J(5)+J(6)+J(7):\ REMARK DISPLAY M-T-D AND J-T-D TOTAL OVERHEAD
- Z3=J(11)+J(12)+J(13)+J(14):\
- GOSUB 4200:\
- Z2=Z2+J(3):\ REMARK DISPLAY M-T-D AND J-T-D TOTAL COST-2
- Z3=Z3+J(10):\
- GOSUB 4200:\
- RETURN
-
-
- X1=277:GOSUB 210 REMARK DISPLAY DETAIL RECORD DATA ON CRT
-
- X0=W(2):GOSUB 5460 REMARK GET CORRESPONDING EMPLOYEE MASTER RECORD
-
- PRINT USING MASK6$;W(2); REMARK DISPLAY JOB NUMBER AND EMPLOYEE NAME
- PRINT " ";R$(1);TAB(42)
- PRINT
-
- FOR I1%=1 TO 7 REMARK DISPLAY M-T-D AND J-T-D COSTS AND OVERHEAD
- Z2=W2(I1%)
- Z3=W2(I1%+7)
- GOSUB 4200
- NEXT I1%
-
- 4120 Z2=W2(4)+W2(5)+W2(6)+W2(7) REMARK DISPLAY M-T-D AND J-T-D TOTAL OVERHEAD
- Z3=W2(11)+W2(12)+W2(13)+W2(14)
- GOSUB 4200
- Z2=Z2+W2(3) REMARK DISPLAY M-T-D AND J-T-D TOTAL COST-2
- Z3=Z3+W2(10)
- GOSUB 4200
- RETURN
-
-
- 4200 PRINT REMARK DISPLAY A PAIR OF M-T-D AND J-T-D TOTALS ON CRT
- X1=40
- GOSUB 215
- PRINT USING MASKA$; Z2;
- X1=8:GOSUB 215
- PRINT USING MASKA$;Z3;
- RETURN
-
-
- 5300 X1=328:X2=56:X3=0:X4=0:GOSUB 3450 REMARK ENTER JOB DESCRIPTION
- W1$=X0$
- GOTO 5350
-
- 5310 X1=270+C%*64:GOSUB 673 REMARK ENTER START OR DUE DATES
- W1(C%-1) = X0
- GOTO 5350
-
- 5320 X1=270+C%*64:X2=1:X3=0:X4=9:GOSUB 3450 REMARK CHANGE JOB STATUS OR TYPE CODES
- W2$(C%-3)=STR$(X0)
- GOTO 5350
-
- 5330 X1=103+C%*64:X2=9:X3=0:X4=999999.99:GOSUB 3450 REMARK CHANGE M-T-D FIELDS ON DETAIL RECORDS
- W2(C%-5)=X0
- GOTO 5345
-
- 5340 X1=C%*64-329:X2=9:X3=0:X4=999999.99:GOSUB 3450 REMARK CHANGE J-T-D FIELDS ON DETAIL RECORDS
- W2(C%-5)=X0
-
- 5345 X1=871:GOSUB 210 REMARK DISPLAY NEW JOB DETAIL TOTALS ON CRT
- GOTO 4120
-
- 5350 IF O=1 THEN RETURN REMARK IF ANY HEADER FIELDS WERE CHANGED,
- X0=HEADER.LOCATION REMARK WRITE THE HEADER RECORD WITH CHANGES
- Y6=HEADER.FILE.ASSIGNMENT
- X9=W(2)
- W(2)=0
- GOSUB 1110
- W(2)=X9
- RETURN
-
-
- 5400 IF C% > 5 AND C% <= 12 THEN GOTO 5330 REMARK THIS ROUTINE CALLS FIELD CHANGE ROUTINES
- IF C% > 12 AND C% <= 19 THEN GOTO 5340
- ON C% GOTO 5300,5310,5310,5320,5320
-
- 5460 IF X0=0 OR X0 > MSTR.RECORDS THEN S(1)=0:GOTO 5500 REMARK READ EMPLOYEE MASTER FILE
- GOSUB 745
- 5500 IF S(1)=0 THEN R$(1)="NOT ON P/R MASTER"
- RETURN
-
-
- 6000 MASKA$="######.##" REMARK SET UP DISPLAY MASKS
- MASK6$="######"
- Y6=2
- Y8=3
- Y9=4
- OPEN "P/R0F110.DAT" RECL 1150 AS 1 REMARK OPEN EMPLOYEE MASTER FILE
- OPEN "JOB0F100.DAT" RECL 160 AS Y6 REMARK OPEN JOB FILE
- OPEN "G/I0F010.DAT" RECL 200 AS Y9:GOSUB 700 REMARK OPEN AND LOAD GENERAL INFORMATION FILE
- OPEN "CRT" RECL 1100 AS 19
-
- CREATE "JOBINPUT.DAT" RECL 160 AS 3 REMARK CREATE JOB INPUT FILE (FOR NEW JOBS)
-
- 6020 Z=3
- X0=8:GOSUB 260 REMARK LOAD AND DISPLAY CRT MASK 9
-
- X2=1:X3=0:X4=2 REMARK ENTER OPERATION CODE
- X2$="ENTER OPERATION (0=EXIT; 1=ADD; 2=CHANGE OR DELETE)":\
- GOSUB 665
-
- IF X0 = 0\ REMARK IF OPERATION CODE=0, BRANCH TO MERGE ROUTINES
- THEN X1=64:GOSUB 210:\
- PRINT "WORKING... DO NOT INTERRUPT!";TAB(70):\
- GOTO 9000
-
- O=X0
- IF O=1 THEN GOTO 6200
- 6030 W(2)=0 REMARK CHANGE OR DELETE JOBS IN THIS ROUTINE
- DIM J(14)
- X1=260:X2=6:X3=0:X4=999999:GOSUB 3450 REMARK ENTER JOB NUMBER;IF ZERO, GET NEW OPERATION CODE
- IF X0=0 THEN GOTO 6020
-
- W2$(1)=""
- JOB.NO=X0 REMARK SEARCH JOB FILE FOR HEADER RECORD
- EMP.NO=0
- K=FNEXACT(JOB.NO,0)
- GOSUB 1000
- IF H<>-1 THEN\
- HEADER.FILE.ASSIGNMENT=Y2:\
- HEADER.LOCATION=L:\
- Y6=Y2:X0=L:\
- GOSUB 1100
-
- IF H=-1 OR W2$(1)="D"\ REMARK IF RECORD IS DELETED OR NONEXISTENT, FLASH ERROR
- THEN X2$="NOT ON FILE":GOSUB 615:GOTO 6030
- Z=1
- GOSUB 265
- GOSUB 4100 REMARK DISPLAY JOB HEADER DATA
-
- DIM W2(14) REMARK INITIALIZE JOB TOTALS
-
-
- 6070 EMP.NO=EMP.NO+1 REMARK SEARCH FOR THE NEXT LOGICALLY SEQUENTIAL RECORD
- FINDNEXT%=YES
- K=FNEXACT(JOB.NO,EMP.NO)
- GOSUB 1000
-
- IF VAR1 <> JOB.NO\ REMARK SEARCH JOB INPUT FILE IF NOTHING FOUND ON JOB0F100
- AND SEARCH.FAILURE% <> YES\
- THEN GOSUB 1010
-
- IF VAR1 <> JOB.NO OR L>RECORD.COUNT THEN GOTO 6150 REMARK IF NO MORE RECORDS FOR THIS JOB, BRANCH
-
- Y6=Y2:X0=L:GOSUB 1100 REMARK READ THE DETAIL RECORD FROM DISK
-
- IF W2(3)=-1 THEN GOTO 6070 REMARK SEARCH AGAIN IF DETAIL WAS LOGICALLY DELETED
- EMP.NO=W(2)
- DETAIL.LOCATION=L
- Z=0:GOSUB 4100 REMARK DISPLAY DETAIL RECORD ON CRT
- LAST.FIELD%=19
-
- 6100 X2=2:X3=0:X4=99
- X2$="ENTER FIELD TO CHANGE(0=NONE;98=CHANGE JOB;99=DELETE)" REMARK PROMPT OPERATOR TO CHANGE DISPLAYED DATA
- GOSUB 665
- C%=X0
- IF C%=0 THEN 6130 REMARK BRANCH BASED ON FIELD TO CHANGE
- IF C%=99 THEN 6160
- IF C%=98 THEN 6030
- IF C%>LAST.FIELD% THEN 6100
- GOSUB 5400
- GOTO 6100
-
-
- 6130 IF W(2)>0 THEN X0=DETAIL.LOCATION:GOSUB 1110 REMARK SAVE DETAIL RECORD
- FOR I%=1 TO 14 REMARK ACCUMULATE DETAIL FIELDS TO JOB TOTALS
- J(I%)=J(I%)+W2(I%)
- NEXT I%
- IF Z=2 THEN GOTO 6030 ELSE GOTO 6070
-
-
- 6150 Z=2:GOSUB 4100 REMARK ALLOW CHANGES TO HEADER RECORD FIELDS
- LAST.FIELD%=5
- GOTO 6100
-
- 6160 IF Z<>0 THEN X2$="NOT ALLOWED":GOSUB 615:GOTO 6100 REMARK DELETE A JOB DETAIL RECORD ONLY
-
- X2=3:X3=0:X4=0:X2$="ENTER DELETE CODE":GOSUB 665 REMARK ENTER DELETE CODE
- IF X0$="DEL" THEN W2(3)=-1:X0=DETAIL.LOCATION:GOSUB 1110:\ REMARK DELETE DETAIL RECORD IF CODE IS VALID
- X2$="RECORD DELETED":\
- GOSUB 615 REMARK FLASH 'DELETED' BULLETIN TO OPERATOR
- GOTO 6070
-
-
- 6200 GOSUB 265 REMARK ADD A JOB RECORD TO JOB INPUT FILE
- Z=3
- X1=260:X2=6:X3=0:X4=999999:GOSUB 3450 REMARK ENTER JOB NUMBER
- IF X0=0 THEN 6020
- JOB.NO=X0
- FINDNEXT%=0
- K=FNEXACT(JOB.NO,0):GOSUB 1000 REMARK SEARCH FOR A HEADER RECORD
-
- IF H =-1 THEN GOTO 6225 REMARK CREATE HEADER RECORD IF NOT ALREADY ON FILE
- HEADER.FILE.ASSIGNMENT=Y2
- HEADER.LOCATION=L
- X0=L:Y6=Y2
- GOSUB 1100 REMARK READ THE HEADER RECORD FROM DISK
- IF W2$(1)="D" THEN RE.USE.DELETED.RECORD=YES\
- ELSE Z=1:GOSUB 4100:GOTO 6232
-
- 6225 W(1)=JOB.NO:W(2)=0 REMARK ENTER HEADER INFORMATION FOR NEW RECORD
- Z=1
- FOR C%=1 TO 5
- GOSUB 5400
- NEXT C%
- GOTO 6240 REMARK ALLOW CHANGES TO ANY NEWLY-CREATED HEADERS
-
-
- 6230 GOSUB 265:Z=1:GOSUB 4100 REMARK RE-DISPLAY HEADER INFORMATION ON CRT
-
- 6232 X1=280:X2=3:X3=0:X4=999:GOSUB 3450 REMARK ENTER EMPLOYEE NUMBER FOR DETAIL RECORD
-
- IF X0=0 THEN 6200 REMARK IF EMPLOYEE NUMBER=0, PROMPT FOR NEW JOB NUMBER
- W(2)=X0
- FINDNEXT%=0
- K=FNEXACT(W(1),X0):GOSUB 1000 REMARK SEARCH JOB FILE FOR DUPLICATE DETAIL RECORD
- IF H=-1 THEN 6235
- X0=L
- Y6=Y2
- GOSUB 1100 REMARK READ THE DETAIL RECORD & CHECK FOR DELETE CODE
-
- IF W2(3) <> -1 THEN X2$="ALREADY ON FILE":GOSUB 615:\ REMARK IF RECORD WAS NOT DELETED, FLASH ERROR MESSAGE
- GOTO 6232
-
- DETAIL.LOCATION=L
- RE.USE.DELETED.RECORD=YES
- DETAIL.FILE.ASSIGNMENT=Y2
-
-
- 6235 X0=W(2) REMARK READ EMPLOYEE MASTER FOR THIS DETAIL RECORD
- GOSUB 5460
- X1=286:GOSUB 210
- PRINT R$(1) REMARK DISPLAY EMPLOYEE NAME
- Z=0
- C%=13
- DIM W2(14) REMARK INITIALIZE DETAIL AMOUNT FIELDS
- GOSUB 5400
-
- 6240 X2=2:X3=0:X4=99:\ REMARK PROMPT OPERATOR TO CHANGE ENTERED DATA
- X2$="ENTER FIELD TO CHANGE(0=NONE; 99=CANCEL)":GOSUB 665
- C%=X0
-
- IF C%=99 THEN 6200 REMARK IF 'CANCEL' SELECTED, GET A NEW JOB NUMBER
- IF C%=0 THEN GOTO 6250 REMARK SAVE THE JOB RECORD IF NO CHANGES
- IF W(2) = 0 AND C% <= 5 THEN GOSUB 5400
- IF W(2) <> 0 AND C% >= 6 AND C% <= 19 THEN GOSUB 5400
- GOTO 6240
-
-
-
- 6250 X1=192:GOSUB 210:PRINT"WORKING... DO NOT INTERRUPT"
- IF RE.USE.DELETED.RECORD=YES AND W(2)=0\ REMARK RE-USE DELETED RECORD SPACE IN ORDER TO KEEP
- THEN Y6=HEADER.FILE.ASSIGNMENT:\ REMARK THE JOB FILE IN PERFECT ORDER FOR SEARCHING.
- X0=HEADER.LOCATION REMARK THIS PROCESS IS PERFORMED WHEN A DELETED
- IF RE.USE.DELETED.RECORD=YES AND W(2)<>0\ REMARK RECORD WITH THE SAME RELATIVE POSITION AS THE
- THEN Y6=DETAIL.FILE.ASSIGNMENT:\ REMARK 'NEW' RECORD IS FOUND ON THE FILE.
- X0=DETAIL.LOCATION
-
- IF RE.USE.DELETED.RECORD=YES THEN\
- GOSUB 1110:\
- RE.USE.DELETED.RECORD=0:\
- GOTO 6230
-
-
- 6255 K=FNEXACT(W(1),W(2)) REMARK FOR NEW RECORDS, FIND THE INSERTION POINT
- GOSUB 1000
- IF L>NEW.RECORDS% THEN GOTO 6274
- X%=L
- FOR I%=NEW.RECORDS% TO X% STEP -1 REMARK EXPAND THE JOB INPUT FILE AT INSERTION POINT
- READ #3,I%;LINE X0$ REMARK BY WRITING SUBSEQUENT RECORDS AT I+1,
- PRINT USING "&";#3,I%+1;X0$ REMARK WHERE I IS THE ORIGINAL LOCATION OF THE RECORD.
- NEXT I%
-
- 6274 NEW.RECORDS%=NEW.RECORDS%+1 REMARK INCREMENT NEW RECORD COUNT; WRITE NEWEST RECORD
- Y6=3:X0=L:GOSUB 1110
-
- CLOSE 3 REMARK CLOSE AND RE-OPEN FILE TO SAVE FCB
- OPEN "JOBINPUT.DAT" RECL 160 AS 3
-
- GOTO 6230 REMARK BRANCH BACK FOR ANOTHER DETAIL RECORD
-
-
- 9000 CLOSE 1,4,19 REMARK START OF MERGE ROUTINE FOR JOB FILES
- IF JOB.RECORDS=0 THEN CLOSE 3:DELETE 2:\ REMARK SKIP MERGE IF ONLY 'NEW' RECORDS EXIST
- OUTPUT.COUNT=NEW.RECORDS%:\
- A=RENAME("JOB0F100.DAT","JOBINPUT.DAT"):\
- GOTO 9550
-
-
- IF NEW.RECORDS% = 0 THEN\ REMARK IF NO NEW RECORDS WERE ENTERED, SKIP MERGING
- DELETE 3:GOTO 9600
-
-
- 9035 CLOSE 2,3 REMARK CLOSE JOB0F100.DAT AND JOBINPUT.DAT
- OPEN "JOB0F100.DAT" RECL 160 AS 1
- OPEN "JOBINPUT.DAT" RECL 160 AS 2
-
- CREATE "WORKFILE.DAT" RECL 160 AS 3 REMARK CREATE WORK FILE FOR MERGE
-
- WRITTEN$=CHR$(0FFH)
- FOR I%=1 TO 6:WRITTEN$=WRITTEN$+WRITTEN$:NEXT I% REMARK SET UP A DEFAULT ABSOLUTE HIGH KEY
-
- ZERO$="000000" REMARK SET UP A ZERO-FILL STRING
-
- GOSUB 9100 REMARK READ FIRST RECORDS FROM JOB0F100 AND JOBINPUT
- GOSUB 9110
-
- 9040 IF KEY$(1)=WRITTEN$ AND KEY$(2)=WRITTEN$\ REMARK BRANCH TO WRAPUP ROUTINE IF NO MORE RECORDS
- THEN GOTO 9500
-
- IF KEY$(1)=WRITTEN$ THEN GOTO 9050 REMARK SKIP COMPARISON IF JOB0F100.DAT IS LOWER
-
- IF KEY$(1) <= KEY$(2) THEN\ REMARK WRITE JOB0F100.DAT RECORD IF IT IS LOWER
- PRINT USING "&";#3;DATA$(1):\
- OUTPUT.COUNT=OUTPUT.COUNT+1:\
- KEY$(1)=WRITTEN$:GOSUB 9100
-
- 9050 IF KEY$(2)=WRITTEN$ THEN GOTO 9040 REMARK SKIP COMPARISON IF JOBINPUT.DAT IS EXHAUSTED
-
- IF KEY$(2) <= KEY$(1) THEN\ REMARK WRITE JOBINPUT.DAT RECORD IF IT IS LOWER
- PRINT USING "&";#3;DATA$(2):\
- OUTPUT.COUNT=OUTPUT.COUNT+1:\
- KEY$(2)=WRITTEN$:GOSUB 9110
-
- GOTO 9040
-
- 9100 IF END #1 THEN 9101 REMARK READ SEQUENTIALLY THROUGH JOB0F100.DAT
- READ #1;LINE DATA$(1)
-
- A%=MATCH(",",DATA$(1),1):B%=A% REMARK FORM A KEY FOR COMPARISON WITH JOBINPUT.DAT
- KEY$(1)=ZERO$+LEFT$(DATA$(1),(A%-1)):KEY$(1)=RIGHT$(KEY$(1),6)
- A%=MATCH(",",DATA$(1),B%+1)
- X0$=ZERO$+MID$(DATA$(1),B%+1,A%-B%-1):X0$=RIGHT$(X0$,3)
- KEY$(1)=KEY$(1)+X0$
- RETURN
-
- 9101 KEY$(1)=WRITTEN$ REMARK SET 'RECORDS WRITTEN' FLAG
- RETURN
-
-
- 9110 IF END #2 THEN 9111 REMARK READ SEQUENTIALLY THROUGH JOBINPUT.DAT
- READ #2;LINE DATA$(2)
-
- A%=MATCH(",",DATA$(2),1):B%=A% REMARK FORM A KEY FOR COMPARISON WITH JOB0F100.DAT
- KEY$(2)=ZERO$+LEFT$(DATA$(2),(A%-1)):KEY$(2)=RIGHT$(KEY$(2),6)
- A%=MATCH(",",DATA$(2),B%+1)
- X0$=ZERO$+MID$(DATA$(2),B%+1,A%-B%-1):X0$=RIGHT$(X0$,3)
- KEY$(2)=KEY$(2)+X0$
- RETURN
-
- 9111 KEY$(2)=WRITTEN$
- RETURN
-
-
-
- 9500 DELETE 1,2 REMARK DELETE JOB0F100.DAT AND JOBINPUT.DAT
- CLOSE 3 REMARK CLOSE THE WORK FILE
- A%=RENAME("JOB0F100.DAT","WORKFILE.DAT") REMARK CHANGE FILENAME TO NEW JOB0F100.DAT
- 9550 OPEN "G/I0F010.DAT" RECL 200 AS Y9 REMARK UPDATE JOB FILE EXTENT ON G/I FILE
- JOB.RECORDS=OUTPUT.COUNT
- GOSUB 720
-
- 9600 PRINT CLEAR.SCREEN$;"JOB F/M LOADING MENU" REMARK TERMINATE PROGRAM AND LOAD MENU
- CHAIN "P/R000"
-
-
-