1  H$='29'31'13'26'30
10  DIM A$[20],B$[20],C$[10],T$[54],S$[54],H$[5],X$[1]
11  DIM C[4,8],S[16],P[13],U[30],D[2,2]
12  DIM Z$[54]
100  FILES C1,G10A,G0
110  C$="0123456789"
200  READ C9,C8,C7,G8
210  DATA 13,4,8,3
240  MAT  READ P
245  DATA 1000,3800,4300,4900,6500,7500,7560,7760,8760,9760,9870,10350,10400
250  MAT  READ U
255  DATA 2100,3101,3300,3200,3400,4100,4200,0,1102,1104,1106,1108,1114,1118,1122
257  DATA 1126,1400,1401,1402,1403,1404,1405,1420,1300,1301,1302,1303,1200,1201,3120
260  DATA "C1","C2","C3","C4","C5","C6","C7","C8","C9","C10","C11","C12","C13"
265  DATA "G10A","G10B","G10C"
2000  REM
2005  PRINT H$[1,2];
2006  PRINT H$[1,2];
2007  PRINT H$[1,2];
2008  PRINT H$[1,2];
2010  GOSUB 4400
2015  IF B2 THEN 9999
2020  IF B1 THEN 2035
2025  PRINT '7'7'7"UNIT NOT ON FILE";H$[3,5];
2030  GOTO 2000
2035  PRINT H$[1,2];
2037  FOR K3=1 TO 13
2040  GOTO K3 OF 2046,2060,2065,2070,2075,2080,2085,2090,2095,2100
2045  GOTO K3-10 OF 2105,2110,2120
2046  C0=S[1]
2047  GOSUB 5000
2050  PRINT "(1) PRODUCT:";TAB(22);
2051  IF C0#8 THEN 2055
2052  PRINT B$
2053  B$=""
2054  GOTO 2135
2055  PRINT B7;"-";B8
2056  GOTO 2135
2060  PRINT "(2) SERIAL#:";TAB(22);C1
2062  GOTO 2135
2065  REM
2067  GOSUB 5300
2068  GOTO 2132
2070  A$="(4) TRANS:"
2072  GOTO 2130
2075  GOSUB 4800
2076  PRINT "(5) DATE:";TAB(22);X2;"/";X3;"/";X1
2077  GOTO 2135
2080  A$="(6) SALES LOC:"
2082  GOTO 2130
2085  A$="(7) CUST# UNIT LOC:"
2087  GOTO 2130
2090  A$="(8) INV#:"
2092  GOTO 2130
2095  A$="(9) LEASE STATUS:"
2097  GOTO 2130
2100  A$="(10) FIELD SER. LOC:"
2102  GOTO 2130
2105  A$="(11) TERMS:"
2106  B$="M"
2107  IF S5=1 THEN 2130
2108  B$="A"
2109  GOTO 2130
2110  PRINT "(12) TAX RATE:";TAB(22);
2111  IF S[16]=0 THEN 2114
2112  PRINT S[16]+S[11]*.01;"%"
2113  GOTO 2135
2114  PRINT " TE -";S[11]
2115  GOTO 2135
2120  A$="(13) SALESMAN:"
2130  PRINT A$;TAB(22);S[K3-1];B$
2132  B$=""
2135  NEXT K3
2136  PRINT "(14) AGREEMENT#:";TAB(22);C[R2,7]
2140  PRINT "(15) MAINT. PRICE:";TAB(22);" $";S6
2145  PRINT "(16) EQ.RENTAL PRICE:";TAB(22);" $";S[15]
2345  PRINT 
2350  PRINT "ANY MORE UNITS";
2355  INPUT A$
2360  IF A$[1,1]#"Y" THEN 9999
2365  GOTO 2000
4000  B1=0
4002  P=C0
4004  IF C0<9 THEN 4022
4006  P=9
4008  IF C0 <= 16 THEN 4022
4010  P=10
4012  IF C0 <= 23 THEN 4022
4014  P=11
4015  IF C0 <= 27 THEN 4022
4016  P=12
4018  IF C0 <= 29 THEN 4022
4020  P=13
4022  R=C1
4023  IF P#5 THEN 4025
4024  R=R-900
4025  IF P=1 THEN 4028
4026  R=R+P[P-1]
4028  IF R <= P[P] THEN 4036
4029  PRINT '7'7"SER#>";
4030  X=P[P]
4031  IF P=1 THEN 4033
4032  X=X-P[P-1]
4033  PRINT X;H$[1,2];
4034  B1=1
4035  RETURN 
4036  X=R/C8
4038  X1=INT(X)
4040  X2=INT((X-X1)*100)
4042  FOR I=1 TO (C8-1)
4044  IF X2=I*25 THEN 4054
4046  NEXT I
4048  R1=X1
4050  R2=C8
4052  GOTO 4057
4054  R1=X1+1
4056  R2=I
4057  RESTORE 260
4058  FOR N=1 TO C9
4060  READ A$
4062  IF R1<201 THEN 4070
4063  R1=R1-200
4065  NEXT N
4067  PRINT "**";
4068  STOP 
4070  ASSIGN A$,1,W5
4080  RETURN 
4100  B1=0
4102  MAT  READ #1,R1;C
4105  IF C[R2,1]=-1 THEN 4180
4107  B1=1
4110  J=1
4111  FOR I=1 TO 9 STEP 4
4112  S5=SGN(C[R2,J])
4113  C[R2,J]=ABS(C[R2,J])
4114  S[I]=INT(C[R2,J]/10^4)
4115  S[I+1]=C[R2,J]-S[I]*10^4
4116  IF I#9 THEN 4119
4117  S[I+1]=INT(S[I+1]/100)
4118  S[I+2]=C[R2,J]-S[I]*10^4-S[I+1]*100
4119  J=J+2
4120  NEXT I
4122  S[3]=INT(C[R2,2]/10^5)
4125  S[4]=C[R2,2]-S[3]*10^5
4145  S[7]=INT(C[R2,4]/10)
4150  S[8]=C[R2,4]-S[7]*10
4170  S[12]=INT(C[R2,6]/100)
4175  S[13]=C[R2,6]-S[12]*100
4176  S[14]=INT(C[R2,8]/10^5)
4177  S[15]=INT((C[R2,8]-S[14]*10^5)/10)
4178  S[16]=C[R2,8]-S[14]*10^5-S[15]*10
4179  S6=S[13]*10+S[14]
4180  RETURN 
4200  Z=B1=0
4210  FOR I1=1 TO LEN(A$)
4220  FOR I2=1 TO 10
4230  IF A$[I1,I1]=C$[I2,I2] THEN 4280
4240  NEXT I2
4250  PRINT '7"BAD DATA";H$[3,5];
4260  B1=1
4270  RETURN 
4280  Z=Z*10+I2-1
4290  NEXT I1
4295  RETURN 
4400  B2=0
4402  PRINT "PRODUCT TYPE";
4405  INPUT A$
4410  IF A$#"END" THEN 4425
4415  B2=1
4420  RETURN 
4425  GOSUB 4200
4430  IF B1 THEN 4400
4435  IF Z>0 AND Z<31 THEN 4450
4440  GOSUB 4250
4445  GOTO 4400
4450  C0=Z
4452  GOSUB 5000
4453  GOSUB 5100
4455  IF B3 THEN 4400
4460  PRINT "SERIAL#";
4462  INPUT A$
4465  IF A$="END" THEN 4415
4470  GOSUB 4200
4475  IF B1 THEN 4460
4476  C1=X=Z
4477  IF C0#5 THEN 4480
4478  X=X-900
4480  IF X>0 THEN 4485
4482  GOSUB 4250
4483  GOTO 4460
4485  GOSUB 4000
4490  IF B1 THEN 4400
4495  GOSUB 4100
4497  RETURN 
4700  J=1
4705  Z$=""
4710  FOR I=I1 TO LEN(T$)
4715  F2=1
4720  IF T$[I,I]='17 THEN 4780
4725  F2=2
4730  IF T$[I,I]='18 THEN 4780
4735  Z$[J,J]=T$[I,I]
4740  J=J+1
4745  IF T$[I,I]="." THEN 4755
4750  IF T$[I,I]#"," THEN 4765
4755  Z$[J,J]=" "
4760  J=J+1
4765  NEXT I
4770  F2=3
4780  RETURN 
4800  X0=INT(S[4]/10^4)
4805  X1=70+X0
4810  IF X0<8 THEN 4820
4815  X1=60+X0
4820  X2=INT((S[4]-X0*10^4)/100)
4830  X3=S[4]-X0*10^4-X2*100
4840  RETURN 
4900  X=INT(D[M1,1]/100)
4902  READ #3,4
4905  FOR J1=1 TO 52
4907  READ #3;X1
4910  IF X<X1 THEN 4925
4920  NEXT J1
4925  READ #3,2
4930  FOR J=1 TO J1
4935  READ #3;Z$
4940  NEXT J
4950  RETURN 
5000  B3=0
5010  IF C0#8 THEN 5050
5030  B$="VT06"
5035  PRINT B$;
5040  GOTO 5105
5050  B7=INT(U[C0]/1000)
5055  B8=U[C0]-B7*1000
5060  GOTO B7 OF 5065,5070,5075,5080
5065  B7=2200
5067  GOTO 5090
5070  B7=3000
5072  GOTO 5090
5075  B7=3300
5077  GOTO 5090
5080  B7=3360
5090  RETURN 
5100  PRINT B7;"-";B8;
5105  INPUT A$
5110  IF A$[1,1]="Y" THEN 5118
5115  B3=1
5117  PRINT H$[4,4];
5118  PRINT H$[4,5];
5119  PRINT H$[5,5];H$[5,5];H$[5,5];H$[5,5];
5120  RETURN 
5300  B1=0
5305  X=S[2]
5307  RESTORE 265
5310  FOR M=1 TO G8
5312  READ A$
5315  IF X<401 THEN 5340
5320  X=X-400
5325  NEXT M
5330  T$="       "
5335  GOTO 5397
5340  M0=INT(X/2)
5345  M1=2
5350  IF M0*2=X THEN 5365
5355  M0=M0+1
5360  M1=1
5365  ASSIGN A$,2,W5
5390  READ #2,M0;S$,D[1,1],D[1,2],T$,D[2,1],D[2,2]
5392  IF M1=2 THEN 5397
5395  T$=S$
5397  PRINT "(3) CUST#:";TAB(22);S[2];
5400  I1=1
5410  GOSUB 4700
5415  GOTO F2 OF 5420,5440,5465
5420  PRINT TAB(40);Z$;
5425  PRINT 
5430  I1=I+1
5435  GOTO 5410
5440  PRINT TAB(40);Z$;
5445  IF D[M1,1]=0 THEN 5425
5450  GOSUB 4900
5455  PRINT ", ";Z$;"   ";D[M1,1];
5460  GOTO 5425
5465  IF Z$="" THEN 5490
5467  IF Z$[1,3]#"   " THEN 5470
5468  PRINT 
5469  RETURN 
5470  PRINT TAB(40)"ATTN: ";Z$
5490  RETURN 
9999  END 
