1  REM *MANUFACTURING--PRINTS T-FILE, ALL OR LAST 5 TRANSACTIONS*
9  DIM N[6],M[6],O[6],T[6],S[6],D[6]
10  DIM A$[30],B$[30],C$[30],D$[30],E$[30],F$[30]
11  DIM G$[10],P$[20],T$[20],X$[20]
12  G$="0123456789"
100  FILES TRANSF
300  PRINT "'ALL' OR 'LAST 5' TRANSACTIONS";
310  INPUT X$
315  PRINT '12;
320  IF X$[1,1]="A" THEN 1000
330  T9=1
331  GOSUB 9100
332  IF K9#0 THEN 340
333  PRINT "TRANSACTION FILE EMPTY"
334  STOP 
340  GOSUB 8500
342  FOR J9=1 TO K9
345  N=N[J9]
350  N1=M[J9]
355  X0=O[J9]
360  T=T[J9]
365  T1=S[J9]
370  D=D[J9]
375  GOTO J9 OF 385,395,405,415,425
385  F$=A$
390  GOTO 427
395  F$=B$
400  GOTO 427
405  F$=C$
410  GOTO 427
415  F$=D$
420  GOTO 427
425  F$=E$
427  P$=F$[1,15]
430  T$=F$[16,17]
435  A$=F$[18,26]
437  GOTO 1030
440  NEXT J9
450  END 
1000  IF  END #1 THEN 9991
1001  T9=P0=0
1005  P9=66
1010  GOSUB 8500
1020  READ #1;N,N1,P$,T$,X0,T,T1,A$,D
1030  Z$="##/##/##"
1040  X$=" "
1050  Z[1]=INT(D/10^4)
1060  Z[2]=INT((D-Z[1]*10^4)/100)
1070  Z[3]=D-Z[1]*10^4-Z[2]*100
1080  GOSUB 9000
1090  PRINT " ";
1095  L=N
1100  L1=N1
1110  GOSUB 4000
1170  PRINT " ";TAB(35);
1180  IF T$#"UG" THEN 1500
1190  GOTO X0 OF 1220,1230,1300,1310,1320,1330,1340,1350,1360,1362
1192  GOTO X0-10 OF 1364,1200,1200,1200,1370,1380,1390,1400,1410,1412
1195  GOTO X0-20 OF 1414,1416,1418,1420,1200,1424
1200  T$="2200/2200-112"
1210  GOTO 1430
1220  PRINT "PART DESCRIP"TAB(60);A$;
1225  GOTO 3210
1230  PRINT "STANDARD COST"TAB(60);
1240  Z$="$#####.##"
1242  X$=" "
1245  Z[1]=T
1250  GOSUB 9000
1260  PRINT " ";
1270  Z[1]=T1
1280  GOSUB 9000
1290  GOTO 3210
1300  T$="ON ORDER"
1305  GOTO 1430
1310  T$="ON HAND"
1315  GOTO 1430
1320  T$="3300/3000"
1325  GOTO 1430
1330  T$="2200-350"
1335  GOTO 1430
1340  T$="3360-100"
1345  GOTO 1430
1350  T$="3300-200"
1355  GOTO 1430
1360  T$="2200-000"
1361  GOTO 1430
1362  T$="2200-300"
1363  GOTO 1430
1364  T$="2200-200"
1365  GOTO 1430
1370  T$="3360-200"
1375  GOTO 1430
1380  T$="3300-300"
1385  GOTO 1430
1390  T$="VT06"
1395  GOTO 1430
1400  T$="2200-112"
1405  GOTO 1430
1410  T$="2200-400"
1411  GOTO 1430
1412  T$="2200-401"
1413  GOTO 1430
1414  T$="2200-402"
1415  GOTO 1430
1416  T$="2200-420"
1417  GOTO 1430
1418  T$="2200PS"
1419  GOTO 1430
1420  T$="2200-404"
1421  GOTO 1430
1424  T$="LEAD TIME"
1430  PRINT T$;TAB(60);
1435  Z$="+########"
1440  X$=" "
1445  GOTO 1245
1500  IF T$#"PU" THEN 1530
1510  T$="PULLED PARTS"
1515  C0=-1
1517  C1=2
1520  GOTO 1570
1530  IF T$#"RT" THEN 1545
1535  T$="RETURNED PARTS"
1537  C0=1
1538  C1=2
1540  GOTO 1570
1545  IF T$#"NO" THEN 1560
1547  C0=C1=1
1550  T$="NEW ORDER"
1555  GOTO 1570
1560  IF T$#"CO" THEN 1665
1565  T$="CANCELLED ORDER"
1567  C0=-1
1568  C1=1
1570  PRINT T$",";A$;TAB(60);
1580  GOSUB 8000
1585  GOTO C1 OF 1595,1610
1595  Z[1]=T
1597  X=T+Z*C0
1598  IF SGN(X)#-1 THEN 1620
1599  X=0
1600  GOTO 1620
1610  Z[1]=T1
1612  X=T1+Z*C0
1620  Z$="+########"
1625  X$=" "
1630  GOSUB 9000
1635  Z[1]=X
1640  PRINT " ";
1650  GOSUB 9000
1660  GOTO 3210
1665  IF T$#"RC" THEN 1780
1670  PRINT "RECEIVED PARTS,";A$
1675  PRINT TAB(36)"ON ORDER";TAB(60);
1680  GOSUB 8000
1685  X=T-Z
1686  IF SGN(X)#-1 THEN 1688
1687  X=0
1688  X1=T1+Z
1690  Z$="+########"
1695  X$=" "
1700  Z[1]=T
1705  GOSUB 9000
1710  PRINT " ";
1715  Z[1]=X
1720  GOSUB 9000
1725  PRINT 
1730  PRINT TAB(36)"ON HAND";TAB(60);
1735  Z[1]=T1
1740  GOSUB 9000
1745  PRINT " ";
1750  Z[1]=X1
1760  GOSUB 9000
1765  P9=P9+2
1767  GOSUB 4100
1770  GOTO 3210
1780  IF T$#"SB" THEN 1980
1785  GOTO X0 OF 1790,1797
1790  T$="PULL"
1795  GOTO 1800
1797  T$="RETURN"
1800  PRINT "SUB PARTS "T$;","A$;
1805  IF T9 THEN 3210
1810  FOR I=1 TO 2
1820  IF TYP(1)#2 THEN 1967
1830  READ #1;T$,N,N1,T,T1
1835  PRINT TAB(60);
1840  L=N
1850  L1=N1
1860  GOSUB 4000
1875  PRINT " (";
1880  X$=" "
1885  Z$="+#######"
1890  Z[1]=T
1895  GOSUB 9000
1900  PRINT ",";
1910  Z[1]=T1
1920  GOSUB 9000
1930  PRINT ") ";
1940  NEXT I
1945  PRINT 
1955  P9=P9+1
1960  GOSUB 4100
1965  GOTO 1810
1967  IF I=1 THEN 3210
1970  P9=P9+1
1972  GOSUB 4100
1975  GOTO 3210
1980  IF T$#"DE" THEN 2000
1985  T$="DELETE PT NO"
1990  GOTO 3035
2000  IF T$#"AD" THEN 2010
2005  T$="ADD PT NO"
2007  GOTO 3035
2010  IF T$#"SA" THEN 3025
3015  T$="ADD SUB-CMP GRP"
3020  GOTO 3035
3025  IF T$#"SD" THEN 3050
3030  T$="DELETE SUB-CMP GRP"
3035  PRINT T$;
3040  GOTO 3210
3050  IF T$#"CH" THEN 3100
3052  T$="CHANGE PT NO"
3055  PRINT T$;TAB(60);
3060  L=T
3062  L1=T1
3070  GOSUB 4000
3095  GOTO 3210
3100  IF T$#"SC" THEN 3120
3110  T$="CHANGE SUB-CMP GRP#"
3115  GOTO 3055
3120  IF T$#"CA" THEN 3140
3125  T$="ADD CMP-PT"
3130  PRINT T$",";
3135  GOTO 3170
3140  IF T$#"CD" THEN 3155
3145  T$="DELETE CMP-PT"
3150  GOTO 3130
3155  IF T$#"CC" THEN 3180
3160  PRINT "CHANGE CMP-PT#";TAB(60);
3165  L=T
3167  L1=T1
3168  GOSUB 4000
3170  PRINT " ";A$;
3175  GOTO 3210
3180  IF T$#"CU" THEN 3200
3185  PRINT "COMP-PT USAGE, ";A$;TAB(60);
3190  GOTO 1435
3200  PRINT "INVALID TRANSACTION CODE ";T$;
3210  PRINT 
3212  K=1
3215  GOSUB 9900
3216  IF T9 THEN 440
3220  P9=P9+2
3230  GOSUB 4100
3240  GOTO 1020
4000  Z$="##-####-##"
4010  X$="0"
4020  Z[1]=L
4030  Z[2]=INT(L1/100)
4040  Z[3]=L1-Z[2]*100
4050  GOSUB 9000
4060  RETURN 
4100  IF P9<60 THEN 4140
4130  GOSUB 8500
4140  RETURN 
8000  G1=Z=0
8010  FOR I1=1 TO LEN(A$)
8020  FOR I2=1 TO 10
8030  IF A$[I1,I1]=G$[I2,I2] THEN 8070
8040  NEXT I2
8050  G1=1
8060  RETURN 
8070  Z=Z*10+I2-1
8080  NEXT I1
8090  RETURN 
8500  K=66-P9+4
8502  GOSUB 9900
8504  PRINT "M A N U F A C T U R I N G  T R A N S A C T I O N  F I L E";
8505  PRINT "                  PAGE: ";
8506  Z$="###"
8507  X$=" "
8508  P0=P0+1
8509  Z[1]=P0
8510  GOSUB 9000
8511  PRINT 
8512  K=2
8515  GOSUB 9900
8520  PRINT "  DATE     PART#   PART DESCRIP    TYPE OF TRANSACTION";
8525  PRINT "          FROM        TO"
8530  K=2
8540  GOSUB 9900
8550  P9=10
8565  RETURN 
9000  REM
9001  V=Z2=Z3=Z4=Z5=Z7=Z8=Z9=1
9002  DIM V$[72],Y$[10],Z$[72]
9003  Y$="0123456789"
9004  Z0=Z9-1
9005  Z0=Z0+1
9006  IF Z0=LEN(Z$)+1 THEN 9070
9007  IF Z$[Z0,Z0]="#" THEN 9015
9008  IF Z$[Z0,Z0+1]=".#" THEN 9015
9009  IF Z$[Z0,Z0+1]="+#" THEN 9013
9010  V$[V,V]=Z$[Z0,Z0]
9011  V=V+1
9012  GOTO 9005
9013  Z4=0
9014  GOTO 9005
9015  Z=100
9016  Z6=Z[Z2]
9017  Z9=Z0-1
9018  Z9=Z9+1
9019  IF Z$[Z9,Z9]="." THEN 9022
9020  IF Z$[Z9,Z9]="#" THEN 9018
9021  GOTO 9026
9022  IF Z5#1 THEN 9026
9023  Z5=0
9024  Z=Z9
9025  GOTO 9018
9026  IF Z#100 THEN 9028
9027  Z=Z9
9028  IF Z4=1 THEN 9035
9029  IF Z6 >= 0 THEN 9033
9030  V$[V,V]="-"
9031  V=V+1
9032  GOTO 9035
9033  V$[V,V]=" "
9034  V=V+1
9035  IF Z=Z9 THEN 9038
9036  Z6=ABS(Z6)+5*10^(Z-Z9)
9037  GOTO 9039
9038  Z6=ABS(Z6)+.5
9039  Z7=10^(Z-Z0-1)
9040  Z4=10*Z7
9041  FOR Z1=Z-Z0 TO Z+1-Z9 STEP -1
9042  IF Z1#0 THEN 9047
9043  V$[V,V]="."
9044  V=V+1
9045  Z3=0
9046  GOTO 9066
9047  Z8=INT(Z6/Z7)
9048  IF Z6<Z4 THEN 9052
9049  V$[V,V]="#"
9050  V=V+1
9051  GOTO 9065
9052  Z6=Z6-Z8*Z7
9053  IF Z8=0 THEN 9055
9054  Z3=0
9055  IF Z3=0 THEN 9063
9056  IF Z1#1 THEN 9060
9057  V$[V,V]="0"
9058  V=V+1
9059  GOTO 9065
9060  V$[V,V]=X$
9061  V=V+1
9062  GOTO 9065
9063  V$[V,V]=Y$[Z8+1,Z8+1]
9064  V=V+1
9065  Z7=Z7/10
9066  NEXT Z1
9067  Z3=Z4=Z5=Z7=1
9068  Z2=Z2+1
9069  GOTO 9004
9070  PRINT V$;
9071  V$=""
9072  RETURN 
9100  REM *FIND LAST 5 TRANS*
9105  PRINT "W A I T !"'28;
9110  IF  END #1 THEN 9300
9115  K9=0
9120  READ #1;N[1],M[1],A$[1,15],A$[16,17],O[1],T[1],S[1],A$[18,26],D[1]
9125  K9=K9+1
9130  IF TYP(1)#2 THEN 9140
9135  GOSUB 9305
9140  READ #1;N[2],M[2],B$[1,15],B$[16,17],O[2],T[2],S[2],B$[18,26],D[2]
9145  K9=K9+1
9150  IF TYP(1)#2 THEN 9160
9155  GOSUB 9305
9160  READ #1;N[3],M[3],C$[1,15],C$[16,17],O[3],T[3],S[3],C$[18,26],D[3]
9165  K9=K9+1
9170  IF TYP(1)#2 THEN 9180
9175  GOSUB 9305
9180  READ #1;N[4],M[4],D$[1,15],D$[16,17],O[4],T[4],S[4],D$[18,26],D[4]
9185  K9=K9+1
9190  IF TYP(1)#2 THEN 9200
9195  GOSUB 9305
9200  READ #1;N[5],M[5],E$[1,15],E$[16,17],O[5],T[5],S[5],E$[18,26],D[5]
9205  K9=K9+1
9210  IF TYP(1)#2 THEN 9220
9215  GOSUB 9305
9220  READ #1;N[6],M[6],F$[1,15],F$[16,17],O[6],T[6],S[6],F$[18,26],D[6]
9225  IF TYP(1)#2 THEN 9235
9230  GOSUB 9305
9235  FOR I=1 TO 5
9240  O[I]=O[I+1]
9245  N[I]=N[I+1]
9250  M[I]=M[I+1]
9255  T[I]=T[I+1]
9260  S[I]=S[I+1]
9262  D[I]=D[I+1]
9265  NEXT I
9270  A$=B$
9275  B$=C$
9280  C$=D$
9285  D$=E$
9290  E$=F$
9295  GOTO 9220
9300  RETURN 
9305  IF TYP(1)#2 THEN 9320
9310  READ #1;X$,P[1],P[2],P[3],P[4]
9315  GOTO 9305
9320  RETURN 
9900  REM
9910  FOR I=1 TO K
9920  PRINT 
9930  NEXT I
9940  RETURN 
9950  FOR I=1 TO K
9955  PRINT " ";
9970  NEXT I
9980  RETURN 
9991  PRINT 
9992  PRINT "DO YOU WANT TO CLEAR THE TRANSACTION FILE";
9993  INPUT T$
9994  IF T$[1,1]#"Y" THEN 9999
9995  FOR I=1 TO 200
9996  PRINT #1,I; END 
9997  NEXT I
9999  END 
