20  REM*** BAEDP TIMESHARE BILLING.
30  REM*** THIS PROGRAM ZEROES OUT LAST MONTH'S NUMERIC DATA IN
40  REM*** FILE MASTER AND PRINTS A LIST OF I.D./SYSTEM ENTRIES FOR
50  REM*** WHICH CUSTOMER DATA IS REQUIRED.
60  REM***
70  REM***
80  FILES *,*,*
90  DIM A$[72],B$[26],N$[10],C$[5],X[4]
100  B$="ABCDEFGHIJKLMNOPQRSTUVWXYZ"
110  N$="0123456789"
120  L=2
150  REM*** FILE STATUS CHECK.
160  ASSIGN "USFILM",1,R8
170  IF R8<3 THEN 200
180  PRINT "FILE USFILM STATUS= ";R8
190  STOP 
200  IF  END #1 THEN 220
210  GOTO 240
220  PRINT "FILE USFILM IS INCOMPLETE."
230  STOP 
240  READ #1;A1,B1,C1
250  IF INT(A1/10)#26999 THEN 240
260  ASSIGN "MASTER",2,R8
270  IF R8=0 THEN 300
280  PRINT "FILE MASTER STATUS= ";R8
290  STOP 
300  REM*** ZERO OUT OLD NUMERICS IN MASTER FILE
305  PRINT "NUMERICS IN FILE 'MASTER' ARE BEING SET TO ZERO."
310  ASSIGN "MASTER",3,R8
320  IF  END #2 THEN 360
330  READ #2;A$,B1,B1,B1,B1,B1
340  PRINT #3;A$,0,0,0,0,0, END 
350  GOTO 330
360  REM** CHECK USFILM ID/SYS. FOR EXISTENCE IN MASTER.
370  PRINT "CHECKING FOR ID/SYS ENTRIES MISSING FROM MASTER FILE."
380  E9=0
390  PRINT LIN(1)
400  READ #1,1
410  READ #2,1
420  READ #3,1
430  IF  END #1 THEN 670
440  READ #1;A1,B1,C1
450  REM*** GOSUB TO CONVERT A1 TO C$.
460  GOSUB 5000
470  REM*** SEARCH MASTER FOR C$.
480  IF  END #2 THEN 550
490  FOR I=L TO 32767
500  READ #2,I;A$
510  IF A$[1,5]<C$ THEN 540
520  IF A$[1,5]>C$ THEN 550
530  GOTO 430
540  NEXT I
550  REM*** SEARCH RECORD I-1.
560  L=I
570  I=I-1
580  READ #2,I
590  IF TYP(-2)=4 OR TYP(-2)=3 THEN 640
600  READ #2;A$,B1,B1,B1,B1,B1
610  IF A$[1,5]<C$ THEN 590
620  IF A$[1,5]>C$ THEN 640
630  GOTO 430
640  PRINT C$" MISSING FROM MASTER FILE."
650  E9=E9+1
660  GOTO 430
670  REM*** ALMOST DONE
680  IF E9>0 THEN 720
690  PRINT "ALL ENTRIES IN USFILM ARE PRESENT IN MASTER FILE."
700  PRINT "I CONGRATULATE YOU ON YOUR DILLIGENT AND ACCURATE"
710  PRINT "MASTER FILE UPDATING."
715  END 
720  PRINT LIN(1)
730  PRINT E9;"ITEMS MISSING FROM MASTER FILE."
740  END 
5000  REM*** GOSUB TO CONVERT ID/SYS A1 TO C$
5010  C$=""
5020  J1=INT(A1/10000)
5030  C$[1,1]=B$[J1,J1]
5040  J2=A1-J1*10000
5050  J3=INT(J2/10)
5060  X[1]=INT(J3/100)
5070  X[2]=INT((J3-X[1]*100)/10)
5080  X[3]=J3-X[1]*100-X[2]*10
5090  X[4]=J2-10*J3
5100  FOR I1=1 TO 4
5110  I2=X[I1]+1
5120  C$[I1+1,I1+1]=N$[I2,I2]
5130  NEXT I1
5140  RETURN 
9999  END 
