Listing of file='INVT120A' on disk='vmedia/701-2661A.wvd.zip'
# Sector 320, program filename = 'INVT120A' 0010 REM INVT120A, RELEASE 1-0, (06/12/79) THIS PROGRAM IS A COPYRIGHT PRODUC T OF WANG LABORATORIES INC. UNAUTHORIZED REPRODUCTION OR USE IS PROHIBITE D, DISPLAY/REPORT PROFILE 0170 DIM A6$1,B6$1,K$1,K1$Q7,K2$Q7,K3$17,G8$64,G9$4,P$(12)3 : DIM G7$(39)1,B6(13) 4000 SELECT @PARTS0$ 4030 K2$=ALL(7F) : A6$="N" : B6$="Y" : K=0 : P$()="JANFEBMARAPRMAYJUNJULAUGSEPOCTNOVDEC" : P=12 : P1=0 : GOSUB 7180 : PRINT AT(1,0,240) : IF K$<>"A"THEN 4240 : GOSUB '235(1,0) : IF Q$=" "THEN 4590 : ELSE GOSUB '91 : IF J0=7THEN 4030 : ELSE GOTO 5420 4240 IF K$="R"THEN 4370 4250 GOSUB '34(HEX(08)) : IF Q6$="END"THEN 5130 : K1$,K2$=Q6$ : GOSUB '232(1,0,K1$) : GOSUB '91 : IF J0<>0THEN PRINT AT(3,LEN(J$(J0))+1);"- PROFILE ID ";K1$ : ON J0GOTO 5420,5420,4250,5420,5420,5420,4250,5420 : PRINT AT(1,0,240) : GOTO 4590 4370 GOSUB '34("STARTING") : K1$=Q6$ : IF Q6$="END"THEN 5130 : GOSUB '34("ENDING") : K2$=ALL(7F) : IF Q6$="END"THEN Q6$=ALL(7F) : K2$=Q6$ : IF K2$>=K1$THEN 4510 : PRINT AT(3,0,80);"Starting ID must be lower than Ending ID.";HEX(07) : GOTO 4370 4510 PRINT AT(1,0,240) : GOSUB '232(1,0,K1$) : J$(3)=" " : GOSUB '91 : IF J0>0AND J0<>3THEN PRINT AT(3,LEN(J$(J0))+1);"- PROFILE ID ";K1$ : ON J0GOTO 5420,5420,5050,5420,5420,5420,4030,5420 4590 GOSUB '79(2) : IF G1$>K2$OR A6$="N"OR C5$="P"THEN 4650 : C5$="P" : DBACKSPACE #2,1S : GOSUB '69(2) 4650 GOSUB '238(1) : IF G1$>K2$THEN 4850 : K=K+1 : IF B6$="N"THEN 4780 : PRINT AT(4,0,1600) : GOSUB 5470 4780 IF A6$="N"THEN 4850 : IF B6$="N"THEN PRINT AT(5,0,80);"Processing Profile ID ";G1$ : GOSUB '90 : GOSUB 6020 : SELECT PRINT 005(80) 4850 IF K$="I"THEN 4240 : IF G1$<K2$THEN 5010 : IF A6$="N"THEN 4980 4910 IF K=0THEN 4950 : SELECT PRINT <I0$>(132) : PRINT HEX(0A) : PRINT "NO. OF RECORDS PROCESSED = ";K 4950 SELECT PRINT 005(80) : K=0 4980 IF K$="R"THEN 4370 : GOTO 5130 5010 IF B6$="Y"THEN GOSUB '254 : GOSUB 5340 5050 IF J0=7THEN GOSUB '92 : GOSUB '237(1,0) : J$(1)=" " : GOSUB '91 : IF J0>1THEN PRINT AT(3,LEN(J$(J0))+1);"- PROFILE FILE" : ON J0+1GOTO 4590,4980,5420,5420,5420,5420,5420,5050,5420 5130 SELECT PRINT 005(80) 5150 GOSUB '100("R,M","MmRr",1,1,"KEY R TO RESTART, M FOR MENU",2) : GOSUB 5340 : IF Q6$="R"THEN 4030 5200 DEFFN'31 : LOAD TM$ 5240 DEFFN'32 : Q6$=" " : KEYIN Q6$,5270,5280 5270 RETURN 5280 IF Q6$=HEX(1F)OR Q6$=HEX(7E)THEN GOSUB '31 : RETURN 5340 IF Q6$<>HEX(1F)THEN RETURN : GOSUB '31 : PRINT AT(3,0);HEX(07);"RE-ENTER" 5390 RETURN 5420 PRINT AT(1,0,80) : GOSUB '254 : GOSUB '31 5470 PRINT AT(5,0);"PROFILE ID: ";G1$;TAB(40);" DESCRIPTION: ";L2$ : PRINT : PRINT TAB(13);"1.0 2.0 3.0" : IF L2=0AND L4$(1)=" "THEN G9$=" " : ELSE G9$="S" : IF G9$=" "THEN 5570 : CONVERT STR(L4$(1),1,2)TO C6 : C7=C6+L2-1 : CONVERT STR(L4$(1),3,2)TO B9 : B8=-INT(-C7/12) : PRINT AT(7,51+3*B8);"SALES" 5570 PRINT AT(8,4);"!----+----+----+----+----+----+----+----! INDEX"; : IF G9$=" "THEN 5630 : FOR B6=1TO B8 : PRINTUSING " ## ",B9+B6-1; : NEXT B6 5630 FOR I=1TO 12 : PRINT AT(8+I,0);P$(I);" !"; : Q9=ROUND((10*B(I),0) : G8$=" " : IF Q9<40THEN 5700 : STR(G8$,39,1)="H" : Q9=38 5700 IF Q9>0THEN INIT("*")STR(G8$,1,Q9) : PRINT G8$;TAB(44);"! "; : PRINTUSING "#.## ",B(I); : IF G9$=" "THEN 5790 : FOR B6=1TO B8 : Q9=I+12*(B6-1) : IF Q9<C6OR Q9>C7THEN PRINT " "; : ELSE PRINTUSING " #####",L(B6,I); : NEXT B6 : PRINT 5790 NEXT I : PRINT AT(21,4);"!----+----+----+----+----+----+----+----!" : IF G9$=" "THEN RETURN : PRINT TAB(4);"SCALE: "; : CONVERT L1TO Q6$,(#,###,###,###) : Q9=POS(Q6$="1") : G8$=STR(Q6$,Q9,14-Q9) : PRINT G8$ : IF L5=0THEN RETURN : PRINT TAB(4);"INDICES WERE GENERATED FROM";L5;"PERIODS OF SALES DATA BEGI NNING ";L4$(2); : RETURN 5950 PRINT TAB(5);"+"; : FOR B6=0TO 5*P : PRINT "-"; : NEXT B6 : PRINT "+" : RETURN 6020 PRINT HEX(0E);L2$ : PRINT "ID CODE = ";G1$;TAB(59);L5$ : IF A5$<>C5$THEN 6100 : PRINT HEX(0A0A);"*** PROFILE GENERATOR HAS NOT BEEN RUN ON THIS FILE ***" : PRINT HEX(0A0A) : GOTO 6600 6100 GOSUB 5950 : MAT B6=ZER : INIT("N")G7$() : INIT(" ")G8$ : PRINT TAB(5);"! "; : FOR B6=1TO P : GOSUB '32 : B7=INT(B(B6)*10+.5) : IF B7=0THEN 6340 : IF B7<39THEN 6320 : G9$="HHHH" : IF B7>39THEN 6270 : G9$="****" 6270 PRINT TAB(5*B6+2);G9$; : STR(G8$,5*B6-4,4)="****" : B7=39 6320 G7$(B7)="Y" 6340 B6(B6)=B7 : NEXT B6 : PRINT TAB(7+5*P);"!" : FOR B6=38TO 1STEP -1 : GOSUB '32 : IF B6/5<>INT(B6/5)THEN 6450 : PRINTUSING " #.# + ",B6/10; : G9$="+" : GOTO 6480 6450 PRINT TAB(5);"! "; : G9$="!" 6480 IF G7$(B6)="N"THEN 6550 : FOR B7=1TO P : IF B6(B7)<>B6THEN 6530 : STR(G8$,5*B7-4,4)="****" 6530 NEXT B7 6550 PRINT G8$;TAB(7+5*P);G9$ : NEXT B6 : GOSUB 5950 6600 PRINT TAB(5); : FOR B6=1TO P : PRINTUSING " ###",P$(B6); : NEXT B6 : PRINT : PRINT TAB(6); : FOR B6=1TO P : PRINTUSING " #.##",B(B6); : NEXT B6 : PRINT : IF A5$="B"THEN 6960 : CONVERT STR(L4$(1),3,2)TO B9 : PRINT HEX(0A);"YEAR SALES";TAB(40);"SCALE - ";L1 : CONVERT STR(L4$(1),1,2)TO Q9 : C8=L2+Q9-1 : IF MOD(C8,P)>0THEN B8=INT(C8/P)+1 : ELSE B8=INT(C8/P) : FOR B7=1TO B8 : GOSUB '32 : PRINTUSING " ## ",B9+B7-1; : FOR B6=1TO P 6860 IF (B7-1)*P+B6<Q9OR (B7-1)*P+B6>L2+(Q9-1)THEN 6890 : PRINTUSING " ####",L(B7,B6); : GOTO 6900 6890 PRINTUSING " ####"," "; 6900 NEXT B6 : PRINT : NEXT B7 : IF L5<POR A5$=C5$THEN RETURN : CONVERT STR(L4$(2),1,2)TO Q9 : PRINT HEX(0A);"INDICES WERE GENERATED WITH";L5;"PERIODS OF DATA BEGINNING - ";P$(Q9);STR(L4$(2),3,2) 6960 RETURN 7010 DEFFN'90 : GOSUB '32 : SELECT PRINT 005(80) : Q6$=" " : KEYIN Q6$,7070,7070 7070 IF Q6$="P"THEN GOSUB '254 : ELSE GOSUB 5340 : SELECT PRINT <I0$>(132) : P1=P1+1 : PRINT HEX(0C0E);TAB(3);N2$ : PRINT K3$;TAB(34);"PROFILE FILE";TAB(58);Q1$;" PAGE";P1 : PRINT HEX(0A) : RETURN 7180 GOSUB '100("Y,N","NnYyY ",1,1,"PRINT REPORT (Y OR N)",2) : GOSUB 5340 : A6$=Q6$ : IF Q6$="Y"THEN 7250 : $CLOSE#15 : GOTO 7340 7250 GOSUB '93(" ") : IF I0$=" "THEN A6$="N" : GOSUB '100("Y,N","NnYyY ",1,1,"SCREEN DISPLAY (Y OR N)",2) : GOSUB 5340 : B6$=Q6$ : IF Q6$="N"AND A6$="N"THEN 5130 7340 PRINT AT(4,0,1600) : GOSUB '100("A,R,I","AaRrIiA ",1,1,"ENTER INQUIRY TYPE (A=ALL, R=RANGE, I =INDIVIDUAL)",2) : GOSUB 5340 : K$=Q6$ : Q6$="ALL RANGE INDIVIDUAL" : K3$=STR(Q6$,10*Q9-9,10) : STR(K3$,LEN(K3$)+2,6)="OPTION" : RETURN 7460 DEFFN'34(Q7$) : PRINT AT(1,0,80);"ENTER ";Q7$;" PROFILE ID (OR END)" : GOSUB '100(" ",HEX(7F),VAL(Q0$(7)),0," ",2) : GOSUB 5340 : IF Q6$="end"THEN Q6$="END" : IF Q6$="END"THEN RETURN : GOSUB '96(7) : RETURN 7760 DEFFN'29"Q$=";HEX(22);"INVT120A";HEX(22);":SCRATCHTQ$:SAVET$()Q$";HEX(0D)