Listing of file='INVC010A' on disk='vmedia/701-2607C.wvd.zip'
# Sector 485, program filename = 'INVC010A' 0010 REM INVC010A, RELEASE 2.0, (06/01/79) THIS PROGRAM IS A COPYRIGHT PRODUCT OF WANG LABORATORIES INC. UNAUTHORIZED REPRODUCTION OR USE IS PROHIBITED 0170 DIM A6$1,B6$1,C6$1,D6$8,D7$8 : DIM K$1,K1$Q0,K2$Q0,K3$43,K5$24 : DIM K(4),K1(4) : GOTO 4000 4000 SELECT @PARTS0$ : K2$=ALL(FF) : A6$,Q$=" " : B6$="Y" : K,P1=0 : MAT K=ZER : MAT K1=ZER : L=L0 : GOSUB '100("Y,N","NnYyY ",1,1,"PRINT REPORT (Y OR N)",2) : IF Q6$=HEX(1F)THEN GOSUB '31 : A6$=Q6$ : IF A6$="Y"THEN 4160 : $CLOSE : GOTO 4240 4160 GOSUB '93(" ") : IF I0$=" "THEN A6$="N" : GOSUB '100("Y,N","NnYyY ",1,1,"SCREEN DISPLAY (Y OR N)",2) : IF Q6$=HEX(1F)THEN GOSUB '31 : B6$=Q6$ : IF B6$="N"AND A6$="N"THEN 5530 4240 PRINT AT(5,0,);TAB(16);"A = Master & Ship-to records" : PRINT TAB(16);"B = Master records only" : PRINT TAB(16);"C = Condensed report" : PRINT TAB(16);"D = Sales analysis" : GOSUB '100("A,B,C,D","AaBbCcDd",1,1,"ENTER REPORT TYPE",2) : IF Q6$=HEX(1F)THEN GOSUB '31 : C6$=Q6$ 4302 Q6$="Mstr. & Ship-to Rec.Master records only Condensed report Sales an alysis " : K5$=STR(Q6$,Q9*20-19,20) : PRINT AT(5,0,) : GOSUB '100("A,R,I","AaIiRr",1,1,"ENTER INQUIRY TYPE (A=ALL, R=RANGE, I=I NDIVIDUAL)",2) : IF Q6$=HEX(1F)THEN GOSUB '31 : K$=Q6$ 4360 Q6$="ALL RANGE INDIVIDUAL" : K3$=STR(Q6$,Q9*10-9,10) : K3$=K3$&";"&K5$&" OPTION" : ON Q9GOTO ,4560,4460 : GOSUB '235(1,0) : GOSUB '91 : ON J0+1GOTO 4720,,,,,,,4000 : GOTO 5590 4460 GOSUB '34(HEX(08)) : IF Q6$="END"THEN 5400 : K1$,K2$=Q6$ : Q6$=STR(K1$)&" " : GOSUB '232(1,0,STR(Q6$,,Q0+1)) : GOSUB '91 : ON J0+1GOTO 4720,,,4460,,,,4460 : GOTO 5590 4550 PRINT AT(3,0,80);"Starting ID must be lower than Ending ID.";HEX(07) 4560 K,P1=0 : MAT K=ZER : L=L0 : GOSUB '34("STARTING") : IF Q6$="END"THEN 5400 : K1$=Q6$ : GOSUB '34("ENDING") : K2$=ALL(FF) : IF Q6$<>"END"THEN K2$=Q6$ : IF K1$>K2$THEN 4550 : Q6$=STR(K1$)&" " : GOSUB '232(1,0,STR(Q6$,,Q0+1)) : J$(3)=" " : GOSUB '91 : ON J0GOTO ,,5160,,,,4000 : IF J0>0THEN 5590 4720 GOSUB '50(2," ") : IF STR(C$,,Q0)>K2$THEN 5080 : K=K+1 : GOSUB '123(P4) : D6$=U9$ : GOSUB '123(P5) : D7$=U9$ : IF C6$<>"D"THEN 4920 : K(1)=K(1)+M : K(2)=K(2)+P2 : K(3)=K(3)+M+M1 : K(4)=K(4)+P2+P3 : K1(1)=K1(1)+M : K1(2)=K1(2)+P2 : K1(3)=K1(3)+M+M1 : K1(4)=K1(4)+P2+P3 : GOSUB '39(M,P2,M+M1,P2+P3) 4920 PRINT AT(5,0,) : IF B6$="Y"THEN ON VAL(C6$)-64GOSUB 6910,6720,6320,6500 : ELSE PRINT "Processing customer ID ";STR(C$,,Q0) : IF A6$="Y"THEN GOSUB '90 : IF A6$="Y"THEN ON VAL(C6$)-64GOSUB 7820,7620,7110,7310 : SELECT PRINT 005(80) 4980 IF C6$<>"A"THEN 5080 : IF J0=7THEN GOSUB '92 : GOSUB '237(1,0) : IF Q$="E"THEN 5080 : IF Q$>" "THEN 5590 : IF STR(T7$,,Q0)<>STR(C$,,Q0)THEN 5080 : GOSUB '50(2,"1") : IF B6$="Y"THEN GOSUB '254 : IF Q6$=HEX(1F)THEN GOSUB '31 : GOTO 4920 5080 IF K$="I"THEN 4460 : IF STR(C$,,Q0)>K2$THEN 5230 : IF B6$="Y"THEN GOSUB '254 : IF Q6$=HEX(1F)THEN GOSUB '31 : STR(C$,Q0+1)=HEX(FF) : GOSUB '232(1,0,C$) : IF Q$<>"N"THEN 5590 5160 IF J0=7THEN GOSUB '92 : GOSUB '237(1,0) : IF Q$="E"THEN 5230 : IF Q$>" "THEN 5590 : IF STR(T7$,Q0+1,1)>" "THEN 4980 : GOTO 4720 5230 IF A6$="N"AND K$="R"THEN 4560 : IF A6$="N"OR K$<>"R"THEN 5400 : L=L+2 : GOSUB '90 : IF C6$<>"D"THEN 5350 : L=L+2 : GOSUB '90 : PRINT HEX(0A) : C$=" " : A1$="RANGE TOTAL" : GOSUB '39(K(1),K(2),K(3),K(4)) : GOSUB 7330 5350 PRINT HEX(0A) : IF K>0THEN PRINT "NO. OF RECORDS PROCESSED = ";K : SELECT PRINT 005(80) : GOTO 4560 5400 IF A6$="N"THEN 5530 : SELECT PRINT <I0$>(132) : IF C6$<>"D"THEN 5510 : L=L+3 : GOSUB '90 : PRINT HEX(0A) : C$=" " : A1$="FINAL TOTAL" : GOSUB '39(K1(1),K1(2),K1(3),K1(4)) : GOSUB 7330 : PRINT HEX(0A) 5510 PRINT HEX(0C) 5530 SELECT PRINT 005(80) : PRINT AT(1,0,) : GOSUB '100("M,R","MmRr",1,1,"ENTER R TO RESTART, M FOR MENU",2) : IF Q6$="R"THEN 4000 : Q$=" " 5590 DEFFN'31 : GOSUB '91 : IF J0>0THEN GOSUB '254 : LOAD TM$ 6020 DEFFN'90 : SELECT PRINT 005(80) : Q6$=" " : KEYIN Q6$,6060,6060 6060 IF Q6$="P"THEN GOSUB '254 : IF Q6$=HEX(31)THEN GOSUB '31 : SELECT PRINT <I0$>(132) : Q9=0 : IF C6$<"C"THEN Q9=5 : IF L<L0-Q9THEN RETURN : P1=P1+1 : PRINT HEX(0C0A0E);TAB(3);N2$ : PRINT K3$;TAB(56);"CUSTOMER MASTER FILE";TAB(110);Q1$;TAB(122);"PAGE";P1 : PRINT HEX(0A) : L=4 : RETURN 6190 DEFFN'34(Q7$) : IF B6$="N"THEN PRINT AT(5,0,80) : PRINT AT(1,0,80);"ENTER ";Q7$;" CUSTOMER ID (OR END)" : GOSUB '100(" ",HEX(7F),Q0,0," ",2) : IF Q6$=HEX(1F)THEN GOSUB '31 : IF Q6$="end"THEN Q6$="END" : IF Q6$="END"THEN RETURN : GOSUB '96(1) : RETURN 6280 %###,###.##- 6290 %###,### 6300 %###.##- 6320 Q3=5 : Q4=8 : Q5=11+Q0 : Q6=23 : Q7=35 : Q8=50 : Q9=65 : PRINT "CUST ID";TAB(Q4);STR(C$,,Q0);TAB(Q5);"NAME ";A1$ : PRINT HEX(0A) : PRINT TAB(Q3);"PHONE NO.";TAB(Q6);"SLSM";TAB(Q7-5);"CREDIT LIMIT";TAB(Q8+ 3);"ORDER $";TAB(Q9-1);"A/R BALANCE" : PRINT TAB(Q3);P$;TAB(Q6);N1$;TAB(Q7); : PRINTUSING 6290,B0; : PRINT TAB(Q8); : PRINTUSING 6280,C0; : PRINT TAB(Q9); : PRINTUSING 6280,B : RETURN 6500 Q2=12 : Q3=8 : Q4=11+Q0 : Q5=32 : PRINT "CUST ID";TAB(Q3);STR(C$,,Q0);TAB(Q4);"NAME ";A1$ : PRINT HEX(0A) : Q6$=ALL("-") : PRINT STR(Q6$,,7);" CURRENT MONTH ";STR(Q6$,,8);TAB(Q5);STR(Q6$,,8);" YEA R TO DATE ";STR(Q6$,,8) 6580 PRINT TAB(5);"SALES";TAB(Q2+6);"COST";TAB(Q2*2);"MARGIN";TAB(Q5+1);"NET S ALES";TAB(Q5+Q2+6);"COST";TAB(Q5+Q2*2);"MARGIN" : PRINTUSING 6280,M; : PRINT TAB(Q2); : PRINTUSING 6280,P2; : PRINT TAB(Q2*2); : PRINTUSING 6300,A6; : PRINT TAB(Q5); : PRINTUSING 6280,M1+M; : PRINT TAB(Q5+Q2); : PRINTUSING 6280,P3+P2; : PRINT TAB(Q5+Q2*2); : PRINTUSING 6300,A7 : RETURN 6720 Q3=5 : Q4=22 : Q5=35 : Q6=49 : PRINT "CUST ID ";STR(C$,,Q0) : PRINT HEX(0A) : PRINT TAB(Q3);A1$;TAB(Q5);"PHONE NO.";TAB(Q6);P$ : PRINT TAB(Q3);A2$;TAB(Q5);"CREDIT LIMIT";TAB(Q6); : PRINTUSING 6290,B0 : PRINT TAB(Q3);A3$;TAB(Q5);"DISC CLASS";TAB(Q6);C4$ : PRINT TAB(Q3);A4$;" ";A5$;TAB(Q5);"SALESMAN ID";TAB(Q6);N1$ : PRINT TAB(Q5);"SVC CHG CODE";TAB(Q6);G$ 6840 PRINT TAB(Q3);"LOCATION CODE";TAB(Q4);C3$;TAB(Q5);"PRICE CODE";TAB(Q6);P2 $ : PRINT TAB(Q3);"LAST PAYMENT";TAB(Q4);D6$;TAB(Q5);"A/R CODE";TAB(Q6);P3$ : PRINT TAB(Q3);"LAST ACTIVITY";TAB(Q4);D7$;TAB(Q5);"PARTIAL SHIP";TAB(Q6); P5$ : PRINT TAB(Q5);"A/R BALANCE";TAB(Q6); : PRINTUSING 6280,B : RETURN 6910 Q3=5 : Q4=22 : Q5=35 : Q6=49 : IF STR(C$,Q0+1)=" "THEN 6720 : PRINT "CUST ID ";STR(C$,,Q0);TAB(Q4-1);"** SHIP-TO RECORDS **" : PRINT HEX(0A) : Q9=(VAL(STR(C$,Q0+1))-64)*2-1 : PRINT TAB(Q3);"Ship-to no.";Q9;TAB(Q5);"Ship-to no.";Q9+1 : PRINT HEX(0A) : PRINT TAB(Q3);A1$(1);TAB(Q5);A1$(2) : PRINT TAB(Q3);A2$(1);TAB(Q5);A2$(2) 7030 PRINT TAB(Q3);A3$(1);TAB(Q5);A3$(2) : PRINT TAB(Q3);A4$(1);" ";A5$(1);TAB(Q5);A4$(2);" ";A5$(2) : PRINT HEX(0A) : PRINT TAB(Q3);"LOCATION CODE";TAB(Q4-2);E$(1);TAB(Q5); : IF E$(2)<>" "THEN PRINT "LOCATION CODE";TAB(Q6+1);E$(2); : PRINT : RETURN 7110 Q2=20 : Q3=6+Q0 : Q4=46 : Q5=62 : Q6=80 : IF L<>4THEN 7210 : PRINT "CUST ID";TAB(Q3);"NAME";TAB(Q4);"PHONE NO.";TAB(Q5);"SALESMAN";TAB (Q6-5);"CREDIT LIMIT";TAB(Q6+Q2+3);"ORDER $";TAB(Q6+Q2*2-1);"A/R BALANCE" : PRINT HEX(0A) : L=L+2 7210 PRINT STR(C$,,Q0);TAB(Q3);STR(A1$,,MIN(Q4-Q3-2,LEN(A1$)));TAB(Q4);P$;TAB( Q5);N1$;TAB(Q6); : PRINTUSING 6290,B0; : PRINT TAB(Q6+Q2); : IF C0<>0THEN PRINTUSING 6280,C0; : PRINT TAB(Q6+Q2*2); : IF B<>0THEN PRINTUSING 6280,B; : PRINT : L=L+1 : RETURN 7310 GOSUB '38(M,P2,M+M1,P2+P3) : RETURN 7330 DEFFN'38(K1,K2,K3,K4) : Q2=16 : Q3=5+Q0 : Q4=42 : Q5=88 : IF L<>4THEN 7460 : Q6$=ALL("-") : PRINT TAB(Q4);STR(Q6$,,11);" CURRENT MONTH ";STR(Q6$,,12);TAB(Q5);STR(Q6$ ,,12);" YEAR TO DATE ";STR(Q6$,,12) 7420 PRINT "CUST ID";TAB(Q3);"NAME";TAB(Q4+5);"SALES";TAB(Q4+Q2+6);"COST";TAB( Q4+Q2*2);"MARGIN";TAB(Q5+5);"SALES";TAB(Q5+Q2+6);"COST";TAB(Q5+Q2*2);"MAR GIN" : PRINT HEX(0A) : L=L+3 7460 PRINT STR(C$,,Q0);TAB(Q3);STR(A1$,,MIN(Q4-Q3-2,LEN(A1$)));TAB(Q4); : IF K1<>0THEN PRINTUSING 6280,K1; : PRINT TAB(Q4+Q2); : IF K2<>0THEN PRINTUSING 6280,K2; : PRINT TAB(Q4+Q2*2); : IF A6<>0THEN PRINTUSING 6300,A6; : PRINT TAB(Q5); : IF K3<>0THEN PRINTUSING 6280,K3; : PRINT TAB(Q5+Q2); : IF K4<>0THEN PRINTUSING 6280,K4; : PRINT TAB(Q5+Q2*2); : IF A7<>0THEN PRINTUSING 6300,A7; : PRINT : L=L+1 : RETURN 7620 Q3=8 : Q4=39 : Q5=54 : Q6=75 : Q7=89 : Q8=101 : Q9=118 : PRINT "CUST ID";TAB(Q3);STR(C$,,Q0) : PRINT TAB(Q3);A1$;TAB(Q4);"PHONE NO.";TAB(Q5);P$;TAB(Q6);"DISC CLASS";TAB (Q7);C4$;TAB(Q8);"LAST PAYMENT";TAB(Q9);D6$ : PRINT TAB(Q3);A2$;TAB(Q4);"CREDIT LIMIT";TAB(Q5); : PRINTUSING 6290,B0; 7730 PRINT TAB(Q6);"SVC CHG CODE";TAB(Q7);G$;TAB(Q8);"LAST ACTIVITY";TAB(Q9);D 7$ : PRINT TAB(Q3);A3$;TAB(Q4);"LOCATION CODE";TAB(Q5);C3$;TAB(Q6);"PRICE CODE ";TAB(Q7);P2$;TAB(Q8);"PARTIAL SHIP CD";TAB(Q9);P5$ 7750 PRINT TAB(Q3);A4$;" ";A5$;TAB(Q4);"SALESMAN ID";TAB(Q5);N1$;TAB(Q6);"A/R CODE";TAB(Q7);P3$;TAB(Q8);"A/R BALANCE";TAB(Q9-2); : IF B<>0THEN PRINTUSING 6280,B; : PRINT : PRINT HEX(0A) : L=L+6 : RETURN 7820 IF STR(C$,Q0+1)=" "THEN 7620 : Q3=8 : Q4=25 : Q5=39 : Q6=75 : Q9=(VAL(STR(C$,Q0+1))-64)*2-1 : PRINT TAB(Q3);"SHIP-TO RECORDS";TAB(Q4); : PRINTUSING "### ",Q9;Q9+1; : PRINT TAB(Q5);A1$(1);TAB(Q6);A1$(2) : PRINT TAB(Q5);A2$(1);TAB(Q6);A2$(2) : PRINT TAB(Q5);A3$(1);TAB(Q6);A3$(2) : PRINT TAB(Q5);A4$(1);" ";A5$(1);TAB(Q6);A4$(2);" ";A5$(2) 7940 PRINT TAB(Q5);"LOCATION CODE";TAB(Q5+16);E$(1); : IF E$(2)<>" "THEN PRINT TAB(Q6);"LOCATION CODE";TAB(Q6+16);E$(2); : PRINT : PRINT HEX(0A) : L=L+6 : RETURN 8010 DEFFN'39(K1,K2,K3,K4) : A6,A7=0 : IF K2<>0THEN A6=ROUND((K1/K2*100-100,2) : IF K4<>0THEN A7=ROUND((K3/K4*100-100,2) : RETURN 9998 DEFFN'29"Q$=";HEX(22);"INVC010A";HEX(22);":SCRATCHTQ$:SAVET$()Q$";HEX(0D) 9999 DEFFN'30"DIM Z$57:IF STR(I0$,,1)=HEX(20)THENI0$=HEX(323135):Z$=";HEX(22); "GBS/MVP - Print/display customers.";HEX(22);":SELECT#15<I0$>:$OPEN#15:SE LECTLIST<I0$>(132): LIST Z$:LIST Z$#:LIST Z$V:LIST Z$':$CLOSE#15:SELECTLI ST005(80)";HEX(0D)