10 COM D$[45],R 20 COM A$[15] 30 H=0 40 REM *** REV 1.3 19-FEB-80 *** 50 REM- *** WRITTEN BY BOB ANDERSON FOR CRISIS COMPUTER CORP. 7/79 *** 60 REM ***REVISED 8/79,BA 70 REM***REVISED3/80,BA*** 80 REM *** MOD *** 90 REM *** ALAN DE MARTINO *** 100 REM***REVISED 08/11/80 SYSDAT SUBROUTINE ADDED TO LIST+BACKLINE*** 110 REM FILE REQUEST ADDED 115 REM***REVISED 5/21/81 =>DATE CHANGED TO PO # & PO# SEARCH ADDED, BA 116 REM***REVISED 1/7/82 =>STATUS SEARCH ADDED. 120 FILES *,* 130 DIM S$[20],T$[20] 140 DIM M$[20] 150 DIM M1$[20] 160 DIM Y$[20],Z$[15],P$[20],U$[15],W$[15],E$[10] 170 DIM I$[7] 180 DIM X$[10] 190 DIM L$[5] 200 DIM Q[12],N$[7],H$[7] 210 DIM B$[8],C$[2],A1$[12] 220 REM- *** MASTER CONTROL FOR PROGRAM FUNCTIONS. *** 230 PRINT "THIS PROGRAM WILL LIST AND MAINTAIN THE INVENTORY." 240 PRINT 250 PRINT "PLEASE SELECT THE FUNCTION #" 260 PRINT "1-ADD NEW ITEM 2-DELETE ITEM" 270 PRINT "3-LIST FILE 4-SEARCH/INV#" 280 PRINT "5-SEARCH/MODEL 6-SEARCH/MFG" 290 PRINT "7-SEARCH/PO# 8-SEARCH/STATUS" 300 PRINT "9-TOTALS 10-FILE MAINT." 310 PRINT "11-NEW INV. FILE 12-END OPERATION" 320 IF H=1 THEN 420 330 PRINT LIN(2)"NAME OF INVENTORY FILE :"; 340 ENTER 255,X,A$ 350 IF X=-256 THEN 340 360 ASSIGN A$,1,R 370 IF R=3 THEN 330 380 PRINT LIN(2) 390 PRINT "TYPE 000 TO BACK LINE 1 INSTRUCTION." 400 PRINT LIN(2) 410 H=1 420 PRINT 430 PRINT "COMMAND "; 440 INPUT X 450 GOTO X OF 470,1090,1560,2450,2680,3140,4630,6200,7000,3890,330,8530 460 GOTO 240 470 REM- *** ROUTINE TO ADD ITEMS TO INVENTORY AND ALPHA SORT.*** 480 IF END #1 THEN 1070 490 READ #1,1;N 500 IF END #1 THEN 1050 510 READ #1,N+2 520 PRINT "MANUFACTURER (7) MENU=/"; 530 INPUT M$ 540 IF M$="/" THEN 250 550 IF M$="000" THEN 430 560 PRINT "MODEL (7)"; 570 INPUT D$ 580 IF D$="000" THEN 520 590 PRINT "C.C.C. INVENTORY NUMBER (7)"; 600 INPUT I$ 610 IF I$="000" THEN 560 620 PRINT "COST (7,NO DEC.)"; 630 INPUT C1 640 IF C1=0 THEN 590 650 PRINT "SELL PRICE (7,NO DEC.)"; 660 INPUT S1 670 IF S1=0 THEN 620 680 PRINT "P.O. NUMBER "; 690 INPUT T$ 700 IF T$="000" THEN 650 710 PRINT "STATUS (2)" 720 PRINT "N=NEW" 730 PRINT "D=DEMO" 740 PRINT "B=BROKEN" 750 PRINT "U=USED" 760 PRINT "C=CUSTOMER OWNED" 770 INPUT S$ 780 IF S$="000" THEN 680 790 IF N#0 THEN 820 800 R=2 810 GOTO 930 820 F=2 830 L=N+1 840 R=INT((F+L)/2) 850 READ #1,R;P$,U$,W$,E,A,B$,C$ 860 IF I$W$ THEN 990 880 IF I$=W$ THEN 4790 890 FOR I=N+1 TO R STEP -1 900 READ #1,I;P$,U$,W$,E,A,B$,C$ 910 PRINT #1,I+1;P$,U$,W$,E,A,B$,C$ 920 NEXT I 930 PRINT #1,R;M$,D$,I$,C1,S1,T$,S$ 940 PRINT #1,1;N+1 950 GOTO 470 960 L=R 970 IF F#L THEN 840 980 GOTO 890 990 F=R 1000 IF L-F>1 THEN 840 1010 R=R+1 1020 IF L-F#1 THEN 890 1030 F=F+1 1040 GOTO 840 1050 PRINT "FILE FULL" 1060 GOTO 240 1070 N=0 1080 GOTO 510 1090 REM- *** ROUTINE TO DELETE AN INVENTORY ITEM *** 1100 PRINT "THIS ROUTINE WILL DELETE A RECORD" 1110 PRINT 1120 PRINT "INPUT MANUFACTURER,(/=MENU)"; 1130 INPUT Y$ 1140 IF Y$="/" THEN 240 1150 PRINT "INPUT INVENTORY # "; 1160 INPUT Z$ 1170 IF Z$="000" THEN 1120 1180 IF END #1 THEN 1520 1190 J=2 1200 IF END #1 THEN 1260 1210 READ #1,J;M$,D$,I$,C1,S1,T$,S$ 1220 IF M$#Y$ THEN 1240 1230 IF I$=Z$ THEN 1280 1240 J=J+1 1250 GOTO 1200 1260 PRINT "FIND NO RECORDS OF THIS DESCRIPTION; PLEASE CHECK INPUT." 1270 GOTO 1100 1280 PRINT USING 2570 1290 PRINT USING 2580 1300 PRINT 1310 G1=S1-C1 1320 P1=G1/S1*100 1330 PRINT USING 1960;M$,D$,I$,C1,S1,G1,P1,T$,S$ 1340 PRINT 1350 PRINT " IS THIS THE RECORD YOU WANTED TO DELETE (Y OR N)"; 1360 INPUT Q$ 1370 IF Q$="N" THEN 1100 1380 PRINT #1,J 1390 PRINT "FILE DELETED" 1400 REM***DECREMENT*** 1410 READ #1,1;V 1420 V=V-1 1430 PRINT #1,1;V 1440 J=J+1 1450 IF END #1 THEN 1540 1460 REM-***REPACK*** 1470 READ #1,J;M$,D$,I$,C1,S1,T$,S$ 1480 IF END #1 THEN 1540 1490 PRINT #1,J-1;M$,D$,I$,C1,S1,T$,S$ 1500 J=J+1 1510 GOTO 1450 1520 PRINT "NO RECORDS IN THIS FILE" 1530 GOTO 1100 1540 PRINT #1,J-1; END 1550 GOTO 1100 1560 PRINT " DO YOU WANT THE OUTPUT ON THE LINEPRINTER"; 1570 LINPUT L$ 1580 IF L$[1,1]="Y" THEN 1610 1590 Z=0 1600 GOTO 1710 1610 PURGE R,"ASCBOB" 1620 SYSTEM X,"FILE-ASCBOB,LP0" 1630 GOTO 1650 1640 PRINT "THE LP IS BUSY... BREAK IF YOU DON'T WANT TO WAIT!" 1650 ASSIGN "ASCBOB",2,R 1660 IF R=8 THEN 1690 1670 IF R=6 THEN 1640 1680 PRINT "ASSIGNMENT OF LP FAILED!!";R 1690 Z=2 1700 PRINT "WAIT....FILE IS BEING PRINTED!!" 1710 REM- *** ROUTINE TO LIST INVENTORY *** 1720 PRINT #Z;" *****************************" 1730 PRINT #Z;" * CRISIS COMPUTER CORP *" 1740 PRINT #Z;" * INVENTORY *" 1750 PRINT #Z;" * ON-HAND *" 1760 PRINT #Z;" *****************************" 1770 PRINT #Z 1780 PRINT #Z;"FILE BEING LISTED IS ";A$ 1790 PRINT #Z;LIN(3) 1800 D$="WDMYTPN" 1810 GOSUB 7280 1820 PRINT #Z;D$ 1830 PRINT #Z;LIN(3) 1840 K=2 1850 PRINT #Z; USING 2570 1860 PRINT #Z; USING 2580 1870 PRINT #Z 1880 M1$="" 1890 C2=S2=C3=S3=0 1900 IF END #1 THEN 2180 1910 READ #1,K;M$,D$,I$,C1,S1,T$,S$ 1920 IF M1$="" THEN 1940 1930 IF M1$#M$ THEN 2050 1940 G1=S1-C1 1950 P1=G1/S1*100 1960 IMAGE 7A,2X,7A,2X,7A,2X,7D,2X,7D,2X,7D,2X,S3D.2D,2X,8A,2X,2A 1970 PRINT #Z; USING 1960;M$,D$,I$,C1,S1,G1,P1,T$,S$ 1980 M1$=M$ 1990 C2=C2+C1 2000 S2=S2+S1 2010 C3=C3+C1 2020 S3=S3+S1 2030 K=K+1 2040 GOTO 1900 2050 G3=S3-C3 2060 PRINT #Z; USING 2220 2070 PRINT #Z; USING 2230;C3,G3 2080 P3=G3/S3*100 2090 PRINT #Z; USING 2240 2100 PRINT #Z; USING 2310;S3,P3 2110 PRINT #Z;'12 2120 S3=C3=0 2130 IF M1$="*" THEN 2200 2140 PRINT #Z; USING 2570 2150 PRINT #Z; USING 2580 2160 PRINT #Z 2170 GOTO 1940 2180 M1$="*" 2190 GOTO 2050 2200 PRINT #Z;LIN(2) 2210 G2=S2-C2 2220 IMAGE" --------- -------" 2230 IMAGE"SUBTOTALS=",15X,9D,9X,9D 2240 IMAGE" ------- ------" 2250 IMAGE"TOTALS=",18X,9D,9X,9D 2260 PRINT #Z; USING 2220 2270 PRINT #Z; USING 2250;C2,G2 2280 IF G2=0 THEN 2350 2290 P2=G2/S2*100 2300 PRINT #Z; USING 2240 2310 IMAGE34X,9D,11X,SDD.DD 2320 PRINT #Z; USING 2310;S2,P2 2330 PRINT #Z;LIN(2) 2340 PRINT #Z;"STATUS = N-NEW,D-DEMO,B-BROKEN,U-USED,C-CUST.OWNED" 2350 PRINT #Z;" END OF REPORT" 2360 PRINT #Z 2370 H=1 2380 IF L$[1,1]#"Y" THEN 2440 2390 PRINT #Z;'12'12 2400 ASSIGN *,2,R 2410 PURGE R,"ASCBOB" 2420 IF R=0 THEN 2440 2430 PRINT "ASCII FILE 'ASCBOB' NOT PURGED. ";R 2440 GOTO 240 2450 REM ***ROUTINE TO SEARCH FOR A INVENTORY #*** 2460 PRINT "THIS ROUTINE WILL SEARCH FOR AND DISPLAY A INVENTORY NUMBER" 2470 PRINT 2480 PRINT "INVENTORY #,(/=MENU)"; 2490 INPUT X$ 2500 IF X$="/" THEN 250 2510 J=2 2520 IF END #1 THEN 2660 2530 READ #1,J;M$,D$,I$,C1,S1,T$,S$ 2540 IF I$=X$ THEN 2570 2550 J=J+1 2560 GOTO 2520 2570 IMAGE"MANUF MODEL INV# COST SELL G/P % P.O.# ST" 2580 IMAGE"======= ======= ======= ======= ======= ======= ===== ======== ==" 2590 G1=S1-C1 2600 P1=G1/S1*100 2610 PRINT USING 2570 2620 PRINT USING 2580 2630 PRINT USING 1960;M$,D$,I$,C1,S1,G1,P1,T$,S$ 2640 PRINT LIN(3) 2650 GOTO 2460 2660 PRINT "NO FIND...PLEASE CHECK INPUT" 2670 GOTO 2460 2680 REM ***SEARCH/MODEL*** 2690 PRINT "THIS ROUTINE WILL SEARCH BY MODEL AND LIST." 2700 PRINT 2710 PRINT "MODEL,(/=MENU)"; 2720 INPUT X$ 2730 IF X$="/" THEN 250 2740 J=2 2750 C3=S3=G3=P3=0 2760 PRINT USING 2570 2770 PRINT USING 2580 2780 IF END #1 THEN 3120 2790 READ #1,J;M$,D$,I$,C1,S1,T$,S$ 2800 LET F=LEN(X$) 2810 IF D$[1,F]=X$[1,F] THEN 2890 2820 J=J+1 2830 GOTO 2780 2840 IF END #1 THEN 3020 2850 READ #1,J;M$,D$,I$,C1,S1,T$,S$ 2860 IF D$[1,F]=X$[1,F] THEN 2890 2870 J=J+1 2880 GOTO 2840 2890 G1=S1-C1 2900 P1=G1/S1*100 2910 PRINT USING 1960;M$,D$,I$,C1,S1,G1,P1,T$,S$ 2920 J=J+1 2930 IF C3#0 THEN 2990 2940 C3=C1 2950 S3=S1 2960 G3=G1 2970 P3=P1 2980 IF C3=C1 THEN 3010 2990 C3=C3+C1 3000 S3=S3+S1 3010 GOTO 2840 3020 G3=S3-C3 3030 P3=G3/S3*100 3040 PRINT USING 2220 3050 PRINT USING 2250;C3,G3 3060 PRINT USING 2240 3070 PRINT USING 2310;S3,P3 3080 PRINT 3090 C3=S3=0 3100 PRINT " END OF REPORT" 3110 GOTO 2690 3120 PRINT "NO SUCH MODEL,TRY AGAIN" 3130 GOTO 2690 3140 REM****SEARCH/MFG**** 3150 PRINT "THIS ROUTINE WILL SEARCH BY MFG AND PRINT" 3160 H=1 3170 PRINT 3180 PRINT "MFG. (/=MENU)"; 3190 INPUT X$ 3200 IF X$="/" THEN 250 3210 L$="" 3220 PRINT "LINEPRINTER? (CR=NO)"; 3230 LINPUT L$ 3240 IF L$[1,1]="Y" THEN 3270 3250 Z=0 3260 GOTO 3370 3270 PURGE R,"ASCBOB" 3280 SYSTEM X,"FILE-ASCBOB,LP0" 3290 GOTO 3310 3300 PRINT "THE LP IS BUSY...BREAK IF YOU DON'T WANT TO WAIT!" 3310 ASSIGN "ASCBOB",2,R 3320 IF R=8 THEN 3350 3330 IF R=6 THEN 3300 3340 PRINT "ASSIGNMENT OF LP FAILED!!!";R 3350 Z=2 3360 PRINT "WAIT.....FILE IS BEING PRINTED!!!" 3370 REM 3380 PRINT #Z;" ///***LISTING BY MANUFACTURER***///" 3390 PRINT #Z;LIN(3)" Printing of ";X$ 3400 D$="WDMYTPN" 3410 GOSUB 7280 3420 PRINT #Z;LIN(2);D$ 3430 C3=S3=G3=P3=0 3440 J=2 3450 PRINT #Z; USING 2570;LIN(2) 3460 PRINT #Z; USING 2580 3470 IF END #1 THEN 3860 3480 READ #1,J;M$,D$,I$,C1,S1,T$,S$ 3490 LET F=LEN(X$) 3500 IF X$[1,F]=M$[1,F] THEN 3580 3510 J=J+1 3520 GOTO 3470 3530 IF END #1 THEN 3720 3540 READ #1,J;M$,D$,I$,C1,S1,T$,S$ 3550 IF M$[1,F]=X$[1,F] THEN 3580 3560 J=J+1 3570 GOTO 3530 3580 G1=S1-C1 3590 M1$=M$ 3600 P1=G1/S1*100 3610 PRINT #Z; USING 1960;M$,D$,I$,C1,S1,G1,P1,T$,S$ 3620 J=J+1 3630 IF C3#0 THEN 3690 3640 C3=C1 3650 S3=S1 3660 G3=G1 3670 P3=P1 3680 IF C3=C1 THEN 3710 3690 C3=C3+C1 3700 S3=S3+S1 3710 GOTO 3530 3720 G3=S3-C3 3730 P3=G3/S3*100 3740 PRINT #Z; USING 2220 3750 PRINT #Z; USING 2250;C3,G3 3760 PRINT #Z; USING 2240 3770 PRINT #Z; USING 2310;S3,P3 3780 PRINT #Z 3790 C4=C3 3800 S4=S3 3810 C3=S3=0 3820 PRINT #Z;" END OF REPORT" 3830 PRINT #Z;'12 3840 ASSIGN *,2 3850 GOTO 3150 3860 PRINT "NO SUCH MANUF, TRY AGAIN" 3870 ASSIGN *,2 3880 GOTO 3150 3890 REM***FILE MAINTAINCE*** 3900 PRINT "THIS ROUTINE WILL ALLOW CHANGES TO DATA IN AN INVENTORY ITEM" 3910 PRINT 3920 PRINT "INVENTORY #,(/=MENU)"; 3930 INPUT X$ 3940 IF X$="/" THEN 250 3950 J=2 3960 IF END #1 THEN 4610 3970 READ #1,J;M$,D$,I$,C1,S1,T$,S$ 3980 IF I$=X$ THEN 4010 3990 J=J+1 4000 GOTO 3960 4010 PRINT USING 2570 4020 PRINT USING 2580 4030 G3=P3=0 4040 G3=S1-C1 4050 P3=G3/S1*100 4060 PRINT USING 1960;M$,D$,I$,C1,S1,G3,P3,T$,S$ 4070 PRINT 4080 PRINT "YOU CANNOT CHANGE G/P OR %" 4090 PRINT 4100 PRINT "WHICH COLUMN ARE YOU GOING TO CHANGE (N=NEW#,/=MENU)"; 4110 INPUT X$ 4120 IF X$="MANUF" THEN 4230 4130 IF X$="MODEL" THEN 4270 4140 IF X$="INV#" THEN 4310 4150 IF X$="COST" THEN 4350 4160 IF X$="SELL" THEN 4390 4170 IF X$="P.O.#" THEN 4430 4180 IF X$="ST" THEN 4470 4190 IF X$="N" THEN 3920 4200 IF X$="/" THEN 250 4210 PRINT "WRONG INPUT,CHECK SPELLING IN THE HEADING." 4220 GOTO 4100 4230 PRINT "WHAT IS THE NEW MANUF"; 4240 INPUT W$ 4250 M$=W$ 4260 GOTO 4500 4270 PRINT "WHAT IS THE NEW MODEL"; 4280 INPUT W$ 4290 D$=W$ 4300 GOTO 4500 4310 PRINT "WHAT IS THE NEW INV#"; 4320 INPUT W$ 4330 I$=W$ 4340 GOTO 4500 4350 PRINT "WHAT IS THE NEW COST"; 4360 INPUT W 4370 C1=W 4380 GOTO 4500 4390 PRINT "WHAT IS THE NEW SELL"; 4400 INPUT W 4410 S1=W 4420 GOTO 4500 4430 PRINT "WHAT IS THE NEW P.O. #? "; 4440 INPUT W$ 4450 T$=W$ 4460 GOTO 4500 4470 PRINT "WHAT IS THE NEW ST"; 4480 INPUT W$ 4490 S$=W$ 4500 PRINT #1,J;M$,D$,I$,C1,S1,T$,S$ 4510 PRINT "YOUR NEW INVENTORY ITEM LOOKS LIKE THIS:" 4520 PRINT 4530 PRINT USING 2570 4540 PRINT USING 2580 4550 G1=S1-C1 4560 P1=G1/S1*100 4570 PRINT USING 1960;M$,D$,I$,C1,S1,G1,P1,T$,S$ 4580 PRINT LIN(3) 4590 PRINT " SO THERE!!!" 4600 GOTO 4100 4610 PRINT "THERE AIN'T NO SECH INV#,TRY AGAIN" 4620 GOTO 3900 4630 REM****SEARCH/PO#**** 4640 PRINT "THIS ROUTINE WILL SEARCH BY PO# AND PRINT" 4650 H=1 4660 PRINT 4670 PRINT "PO# (/=MENU)"; 4680 LINPUT X$ 4690 IF X$="/" THEN 250 4700 L$="" 4710 PRINT "LINEPRINTER? (CR=NO)"; 4720 LINPUT L$ 4730 IF L$[1,1]="Y" THEN 4760 4740 Z=0 4750 GOTO 4860 4760 PURGE R,"ASCBOB" 4770 SYSTEM X,"FILE-ASCBOB,LP0" 4780 GOTO 4800 4790 PRINT "THE LP IS BUSY...BREAK IF YOU DON'T WANT TO WAIT!" 4800 ASSIGN "ASCBOB",2,R 4810 IF R=8 THEN 4840 4820 IF R=6 THEN 4790 4830 PRINT "ASSIGNMENT OF LP FAILED!!!";R 4840 Z=2 4850 PRINT "WAIT.....FILE IS BEING PRINTED!!!" 4860 REM 4870 PRINT #Z;" ///***LISTING BY PURCH. ORDER #***///" 4880 PRINT #Z;LIN(3)" Printing of ";X$ 4890 D$="WDMYTPN" 4900 GOSUB 7280 4910 PRINT #Z;LIN(2);D$ 4920 C3=S3=G3=P3=0 4930 J=2 4940 PRINT #Z; USING 2570;LIN(2) 4950 PRINT #Z; USING 2580 4960 IF END #1 THEN 5350 4970 READ #1,J;M$,D$,I$,C1,S1,T$,S$ 4980 LET F=LEN(X$) 4990 IF X$[1,F]=T$[1,F] THEN 5070 5000 J=J+1 5010 GOTO 4960 5020 IF END #1 THEN 5210 5030 READ #1,J;M$,D$,I$,C1,S1,T$,S$ 5040 IF T$[1,F]=X$[1,F] THEN 5070 5050 J=J+1 5060 GOTO 5020 5070 G1=S1-C1 5080 M1$=M$ 5090 P1=G1/S1*100 5100 PRINT #Z; USING 1960;M$,D$,I$,C1,S1,G1,P1,T$,S$ 5110 J=J+1 5120 IF C3#0 THEN 5180 5130 C3=C1 5140 S3=S1 5150 G3=G1 5160 P3=P1 5170 IF C3=C1 THEN 5200 5180 C3=C3+C1 5190 S3=S3+S1 5200 GOTO 5020 5210 G3=S3-C3 5220 P3=G3/S3*100 5230 PRINT #Z; USING 2220 5240 PRINT #Z; USING 2250;C3,G3 5250 PRINT #Z; USING 2240 5260 PRINT #Z; USING 2310;S3,P3 5270 PRINT #Z 5280 C4=C3 5290 S4=S3 5300 C3=S3=0 5310 PRINT #Z;" END OF REPORT" 5320 PRINT #Z;'12 5330 ASSIGN *,2 5340 GOTO 4640 5350 PRINT "NO SUCH PO #, TRY AGAIN" 5360 ASSIGN *,2 5370 GOTO 4640 5380 REM***FILE MAINTAINCE*** 5390 PRINT "THIS ROUTINE WILL ALLOW CHANGES TO DATA IN AN INVENTORY ITEM" 5400 PRINT 5410 PRINT "INVENTORY #,(/=MENU)"; 5420 INPUT X$ 5430 IF X$="/" THEN 250 5440 J=2 5450 IF END #1 THEN 6100 5460 READ #1,J;M$,D$,I$,C1,S1,T$,S$ 5470 IF I$=X$ THEN 5500 5480 J=J+1 5490 GOTO 5450 5500 PRINT USING 2570 5510 PRINT USING 2580 5520 G3=P3=0 5530 G3=S1-C1 5540 P3=G3/S1*100 5550 PRINT USING 1960;M$,D$,I$,C1,S1,G3,P3,T$,S$ 5560 PRINT 5570 PRINT "YOU CANNOT CHANGE G/P OR %" 5580 PRINT 5590 PRINT "WHICH COLUMN ARE YOU GOING TO CHANGE (N=NEW#,/=MENU)"; 5600 INPUT X$ 5610 IF X$="MANUF" THEN 5720 5620 IF X$="MODEL" THEN 5760 5630 IF X$="INV#" THEN 5800 5640 IF X$="COST" THEN 5840 5650 IF X$="SELL" THEN 5880 5660 IF X$="P.O.#" THEN 5920 5670 IF X$="ST" THEN 5960 5680 IF X$="N" THEN 5410 5690 IF X$="/" THEN 250 5700 PRINT "WRONG INPUT,CHECK SPELLING IN THE HEADING." 5710 GOTO 5590 5720 PRINT "WHAT IS THE NEW MANUF"; 5730 INPUT W$ 5740 M$=W$ 5750 GOTO 5990 5760 PRINT "WHAT IS THE NEW MODEL"; 5770 INPUT W$ 5780 D$=W$ 5790 GOTO 5990 5800 PRINT "WHAT IS THE NEW INV#"; 5810 INPUT W$ 5820 I$=W$ 5830 GOTO 5990 5840 PRINT "WHAT IS THE NEW COST"; 5850 INPUT W 5860 C1=W 5870 GOTO 5990 5880 PRINT "WHAT IS THE NEW SELL"; 5890 INPUT W 5900 S1=W 5910 GOTO 5990 5920 PRINT "WHAT IS THE NEW P.O. #? "; 5930 INPUT W$ 5940 T$=W$ 5950 GOTO 5990 5960 PRINT "WHAT IS THE NEW ST"; 5970 INPUT W$ 5980 S$=W$ 5990 PRINT #1,J;M$,D$,I$,C1,S1,T$,S$ 6000 PRINT "YOUR NEW INVENTORY ITEM LOOKS LIKE THIS:" 6010 PRINT 6020 PRINT USING 2570 6030 PRINT USING 2580 6040 G1=S1-C1 6050 P1=G1/S1*100 6060 PRINT USING 1960;M$,D$,I$,C1,S1,G1,P1,T$,S$ 6070 PRINT LIN(3) 6080 PRINT " SO THERE!!!" 6090 GOTO 5590 6100 PRINT "THERE AIN'T NO SECH INV#,TRY AGAIN" 6110 GOTO 5390 6200 REM****SEARCH/STATUS 6210 PRINT "THIS ROUTINE WILL SEARCH BY STATUS AND PRINT" 6220 H=1 6230 PRINT LIN(2);"STATUS? (/=MENU)"; 6240 X$="" 6250 LINPUT X$ 6260 IF X$="/" THEN 250 6270 L$="" 6280 PRINT "LINEPRINTER? (=NO) "; 6290 LINPUT L$ 6300 IF L$[1,1]="Y" THEN 6330 6310 Z=0 6320 GOTO 6430 6330 PURGE R,"ASCBOB" 6340 SYSTEM X,"FILE-ASCBOB,LP0" 6350 GOTO 6370 6360 PRINT "THE LP IS BUSY...BREAK IF YOU DON'T WANT TO WAIT!" 6370 ASSIGN "ASCBOB",2,R 6380 IF R=8 THEN 6410 6390 IF R=6 THEN 6360 6400 PRINT "ASSIGNMENT OF THE LP FAILED!!!";R 6410 Z=2 6420 PRINT "...PLEASE WAIT..THE FILE IS BEING PRINTED!" 6430 REM 6440 PRINT #Z;" ///*** LISTING BY STATUS ***"'92'92'92 6450 PRINT #Z;LIN(3)" STATUS= ";X$ 6460 D$="WDMYTPN" 6470 GOSUB 7280 6480 PRINT #Z;LIN(2);D$ 6490 C3=S3=G3=P3=0 6500 J=2 6510 PRINT #Z; USING 2570;LIN(2) 6520 PRINT #Z; USING 2580 6530 IF END #1 THEN 6870 6540 READ #1,J;M$,D$,I$,C1,S1,T$,S$ 6550 LET F=LEN(X$) 6560 IF X$[1,F]=S$[1,F] THEN 6590 6570 J=J+1 6580 GOTO 6530 6582 IF END #1 THEN 6730 6583 READ #1,J;M$,D$,I$,C1,S1,T$,S$ 6584 IF S$[1,F]=X$[1,F] THEN 6590 6585 J=J+1 6586 GOTO 6582 6590 G1=S1-C1 6600 M1$=M$ 6610 P1=G1/S1*100 6620 PRINT #Z; USING 1960;M$,D$,I$,C1,S1,G1,P1,T$,S$ 6630 J=J+1 6640 IF C3#0 THEN 6700 6650 C3=C1 6660 S3=S1 6670 G3=G1 6680 P3=P1 6690 IF C3=C1 THEN 6720 6700 C3=C3+C1 6710 S3=S3+S1 6720 GOTO 6582 6730 G3=S3-C3 6740 P3=G3/S3*100 6750 PRINT #Z; USING 2220 6760 PRINT #Z; USING 2250;C3,G3 6770 PRINT #Z; USING 2240 6780 PRINT #Z; USING 2310;S3,P3 6790 PRINT #Z 6800 C4=C3 6810 S4=S3 6820 C3=S3=0 6830 PRINT #Z;" END OF REPORT" 6840 PRINT #Z;'12 6850 ASSIGN *,2 6860 GOTO 6210 6870 PRINT " NO SUCH STATUS! TRY AGAIN !" 6880 ASSIGN *,2 6890 GOTO 6210 6900 STOP 7000 REM***TOTALS*** 7010 PRINT "THESE ARE THE TOTALS FOR THE INVENTORY ON HAND" 7020 PRINT LIN(2) 7030 V=C2=S2=C1=S1=0 7040 X=2 7050 IF END #1 THEN 7120 7060 READ #1,X;M$,D$,I$,C1,S1,T$,C$ 7070 C2=C2+C1 7080 S2=S2+S1 7090 V=V+1 7100 X=X+1 7110 GOTO 7050 7120 PRINT "TOTAL ITEMS IN INVENTORY ="V 7130 PRINT 7140 PRINT "TOTAL COST VALUE OF INVENTORY=$"C2 7150 PRINT 7160 PRINT "TOTAL SELL VALUE OF INVENTORY=$"S2 7170 G1=S2-C2 7180 P1=G1/S2*100 7190 PRINT 7200 PRINT "TOTAL G/P OF INVENTORY AS VALUED=$"G1 7210 PRINT 7220 PRINT "TOTAL G/P% OF INVENTORY AS VALUED="P1"%" 7230 PRINT LIN(3) 7240 GOTO 250 7250 PRINT "SER # IS IN USE. PLEASE RECHECK." 7260 GOTO 520 7270 STOP 7280 D$="WDMYTPN" 7290 D9=K=0 7300 IF LEN(D$)=0 THEN 8520 7310 T$="MDYWTPN" 7320 A1$="0123456789" 7330 H$=D$[1,7] 7340 R1=R 7350 D$="" 7360 FOR I=1 TO LEN(H$) 7370 IF K<45 THEN 7410 7380 PRINT "FORMAT EXCEEDS CAPACITY. FORMAT TERMINATED AND" 7390 PRINT "RETURNED TO CALLING PROGRAM." 7400 GOTO 8520 7410 FOR J=1 TO 7 7420 IF H$[I,I]=T$[J,J] THEN 7470 7430 NEXT J 7440 PRINT "INVALID FORMAT CODE = ";H$[I,I];". FORMAT TERMINATED" 7450 PRINT "AND RETURNED TO CALLING PROGRAM." 7460 GOTO 8520 7470 GOTO J OF 7490,7620,7800,7860,7960,8110,8180 7480 GOTO 7440 7490 IF D9#0 THEN 7510 7500 GOSUB 8220 7510 K=K+1 7520 RESTORE 7590 7530 FOR L=1 TO M 7540 READ M$ 7550 NEXT L 7560 D$[K,K+LEN(M$)-1]=M$ 7570 K=K+LEN(M$)-1 7580 GOTO 8490 7590 DATA "JANUARY","FEBRUARY","MARCH","APRIL" 7600 DATA "MAY","JUNE","JULY","AUGUST" 7610 DATA "SEPTEMBER","OCTOBER","NOVEMBER","DECEMBER" 7620 IF D9#0 THEN 7640 7630 GOSUB 8220 7640 B=D 7650 GOSUB 7700 7660 IF H$[I+1,I+1]#"Y" THEN 7690 7670 K=K+1 7680 D$[K,K]="," 7690 GOTO 8490 7700 REM TWO DIGIT NUMBER TO STRING ROUTINE 7710 K=K+1 7720 D1=INT(B/10) 7730 IF J=5 AND D1=0 THEN 7760 7740 IF D1=0 THEN 7770 7750 D$[K,K]=A1$[D1+1,D1+1] 7760 K=K+1 7770 D2=B-INT(B/10)*10 7780 D$[K,K]=A1$[D2+1,D2+1] 7790 RETURN 7800 B=TIM(3) 7810 K=K+1 7820 D$[K,K+1]="19" 7830 K=K+1 7840 GOSUB 7700 7850 GOTO 8490 7860 K=K+1 7870 T=(TIM(2)+365*TIM(3)+INT((TIM(3)-1)/4+.01))/7 7880 T=INT(7*(T-INT(T))+1.5) 7890 RESTORE 7930 7900 FOR L=1 TO T 7910 READ M$ 7920 NEXT L 7930 DATA "SUNDAY","MONDAY","TUESDAY","WEDNESDAY" 7940 DATA "THURSDAY","FRIDAY","SATURDAY" 7950 GOTO 7560 7960 K=K+1 7970 H=TIM(1) 7980 IF H <= 12 THEN 8020 7990 D$[K,K+7]=" :0 PM" 8000 H=H-12 8010 GOTO 8030 8020 D$[K,K+7]=" :0 AM" 8030 B=H 8040 K=K-1 8050 GOSUB 7700 8060 K=K+1 8070 B=TIM(0) 8080 GOSUB 7700 8090 K=K+3 8100 GOTO 8490 8110 K=K+1 8120 ENTER #P 8130 D$[K,K+5]="PORT #" 8140 K=K+5 8150 B=P 8160 GOSUB 7700 8170 GOTO 8490 8180 IF D9#0 THEN 8200 8190 GOSUB 8220 8200 R=Y*10^4+M*100+D 8210 GOTO 8510 8220 REM COMPUTE MONTH AND DAY NUMBERS 8230 L=0 8240 D9=1 8250 Y=TIM(3) 8260 FOR S=1 TO 8 8270 IF Y=68+S*4 THEN 8300 8280 IF Y<68+S*4 THEN 8310 8290 NEXT S 8300 L=1 8310 Q[1]=31 8320 RESTORE 8370 8330 FOR S=2 TO 12 8340 READ S1 8350 Q[S]=S1+L 8360 NEXT S 8370 DATA 59,90,120,151,181,212,243,273,304,334,365 8380 D=TIM(2) 8390 FOR M=1 TO 12 8400 IF D <= Q[M] THEN 8460 8410 NEXT M 8420 Y=Y+1 8430 M=1 8440 D=D-365 8450 GOTO 8480 8460 IF M=1 THEN 8480 8470 D=D-Q[M-1] 8480 RETURN 8490 K=K+1 8500 D$[K,K]=" " 8510 NEXT I 8520 RETURN 8530 END