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)