Listing of file='INVC030B' on disk='vmedia/701-2607C.wvd.zip'
# Sector 221, program filename = 'INVC030B' 0010 REM INVC030B, RELEASE 2.0, (06/01/79) THIS PROGRAM IS A COPYRIGHT PRODUCT OF WANG LABORATORIES INC. UNAUTHORIZED REPRODUCTION OR USE IS PROHIBITED 0170 DIM B6$21,K$13,K1$(4)1 : GOTO 4000 4000 SELECT @PARTS0$ : GOSUB '36 : B6=21 : C6=6 : B7=21 : C7=2 : IF A8$="1"THEN 4190 : H6$,I2$,K1$(),P4$,L0$,M0$,N0$,O0$,P0$,H0$,G0$,H1$,Q$=" " : H$="N" : Q6$=STR(I6$,,2)&STR(I6$,4,2)&STR(I6$,7) : CONVERT Q6$TO D3 : Q6$=STR(I7$,,2)&STR(I7$,4,2)&STR(I7$,7) : CONVERT Q6$TO D5 : CONVERT I8$TO D2 : O3$=I9$ : M6=1 : GOSUB '37 : IF C1$=" "THEN 4000 4190 GOSUB '38 : PRINT HEX(03);"INVOICE CREATION - HEADER";TAB(38);"** ";H7$;" **" : GOSUB '100("A,N,M","AaA NnMm",1,1,"ARE THE LINE ITEMS TAXABLE (A=ALL, N= NONE, M=MIXED)",2) : IF Q6$=HEX(1F)THEN GOSUB '31 : J0$=Q6$ : PRINT AT(4,0,) : PRINT "CUST ID ";C1$;TAB(33);"SHIP-TO";TAB(45);"INVOICE NO. ";HEXOF(STR(B $,,4)) : B9=0 4280 I9=19 : IF I2$>"0"THEN I9=15 : K$="REFERENCE NO." : IF I2$="0"THEN K$="CUSTOMER PO." : ELSE O3$,H0$="N/A" : FOR I=1TO I9 : GOSUB '35 : NEXT I : I,J9=6 : A8$,H1$=" " : IF I2$="0"THEN J9=14 : B9=1 : FOR I=ITO J9 : GOSUB '35 : NEXT I 4440 CONVERT I9TO Q7$,(##) : PRINT AT(1,0,80);"ENTER LINE NO. ( 1 -";I9;") TO CORRECT (0=NONE, -1=EXI T)" : GOSUB '100("-1",Q7$,2,0," ",1) : IF Q6$=HEX(1F)THEN GOSUB '31 : I,J9=Q9 : ON Q9+2GOTO 4570,4600 : IF I2$>"0"THEN IF I=7OR I=8THEN 4550 : B9=1 : GOSUB '35 : GOTO 4440 4550 PRINT AT(3,0,80);HEX(07);"Re-enter." : GOTO 4440 4570 GOSUB '38 : GOTO 4000 4600 $TRAN(H1$,"CYPN")R : GOSUB '233(3,1,B$,0) : IF Q$>" "THEN 4730 : F6=0 : GOSUB '44(1,1) : F7=F8-MOD(VAL(STR(T$(2),4),2)+VAL(STR(T$(2),12)),65536) : GOSUB '238(3) : STR(M5$,8)="C" : LOAD TM5$4000, 4700 PRINT AT(1,0,80);Q6$ : GOSUB '254 4720 DEFFN'31 4730 STR(M5$,8)="F" : LOAD TM5$4000, 6020 DEFFN'36 : PRINT HEX(03);"ENTER INVOICES - HEADER" : LIMITS T#10,S$(10),Q6,Q7,Q8 : Q6$="Maintenance audit file is more than 95% full." : Q9=(Q8-2)/(Q7-Q6-1) : IF Q9>.95THEN 4700 : IF Q9<.8THEN RETURN : PRINT AT(1,0,80);HEX(07);"MAINTENANCE AUDIT FILE IS";INT(Q9*100);"% FULL" : GOSUB '254 : RETURN 6130 DEFFN'37 : PRINT AT(5,0,0) : IF A6$="Y"THEN PRINT TAB(12);K1$(1);TAB(15);" P - Print Invoice" : PRINT TAB(12);K1$(2);TAB(15);"CI - Credit Invoice" : PRINT TAB(12);K1$(3);TAB(15);"DM - Debit Memo" : PRINT TAB(12);K1$(4);TAB(15);"CM - Credit Memo" : PRINT TAB(14);"END - End Program" 6200 PRINT TAB(11);"RETURN - Restart entry of above information." : Q6$="Invoice transaction file is more than 95 % full." : IF F7/F8<.05THEN 4700 : IF F7/F8<.2THEN PRINT AT(3,0,80);HEX(07);"Invoice transaction file is";IN T((F8-F7)*100/F8);"% full." 6250 GOSUB '100(" ",HEX(7F),VAL(Q0$(1))-1,0,"ENTER THE APPROPRIATE INFORMATION & CUSTOMER ID",2) : IF Q6$=HEX(1F)THEN GOSUB '31 : C1$=Q6$ : IF C1$="END"OR C1$="end"THEN 4720 : IF C1$=" "THEN RETURN : IF C1$<>"P"AND C1$<>"p"THEN 6360 : IF A6$="N"THEN 6130 : P4$="P" : K1$(1)="X" : GOTO 6130 6360 $TRAN(C1$,"CcDdIiMm")R : MAT SEARCH"CIDMCM",=STR(C1$,,2)TO Q7$STEP 2 : Q9=INT((VAL(Q7$,2)-1)/2)+1 : IF Q9=0THEN 6480 : IF I2$>" "THEN 6130 : CONVERT Q9TO I2$,(#) : IF I2$="1"OR I2$="3"THEN M6=-1 : Q6$="CREDIT INVOICEDEBIT MEMO CREDIT MEMO" : H6$,H7$=STR(Q6$,Q9*14-13,14) : K1$(Q9+1)="X" : GOTO 6130 6480 IF I2$>" "THEN 6530 : I2$="0" : H7$="INVOICE" : L0$,H6$=" " 6530 GOSUB '96(1) : C1$=Q6$ : GOSUB '232(1,0,C1$) : GOSUB '91 : ON J0GOTO ,,6700,,,,6130 : IF J0>0THEN 4730 : GOSUB '50(5," ") : B0$=A1$ : C0$=A2$ : D0$=A3$ : E0$=A4$ : F0$=A5$ : N4$=N1$ : H2$=P2$ : RETURN 6700 GOSUB '100("Y,N","YyY Nn",1,1,"DO YOU WANT TO CREATE A NEW CUSTOMER (Y O R N)",2) : Q$=" " : IF Q6$=HEX(1F)THEN GOSUB '31 : IF Q6$="N"THEN 6130 : STR(M5$,8)="E" : LOAD TM5$4000, 6780 DEFFN'38 : B$=HEX(FF) : IF I2$<>"0"AND B9$<HEX(FF)THEN B$=STR(B9$,,4)&I2$&HEX(00) : IF I2$="0"AND B8$<HEX(FF)THEN B$=STR(B8$,,4)&HEX(3000) : IF B$<HEX(FF)THEN RETURN : $OPEN #9 : GOSUB '46(9,0,1) : M7=5 : IF I2$="0"THEN M7=2 : M(M7)=M(M7)+1 : Q9=13 : IF M(11)=0THEN Q9=6 : M(Q9),M(Q9+1)=0 : GOSUB '46(9,0,0) : $CLOSE#9 : PACK(########)STR(B$,,4)FROMM(M7) 6920 IF I2$="0"THEN B8$=B$ : ELSE B9$=B$ : B$=STR(B$,,4)&I2$&HEX(00) : RETURN 6960 DEFFN'39 : IF L0$<>"1"THEN 7020 : L0$="SAME" : M0$,N0$,O0$,P0$=" " : GOTO 7260 7020 GOSUB '100("-1","380",3,0,"ENTER SHIP-TO NO. (0 = END, -1 = NONE)",1) : IF Q6$=HEX(1F)THEN GOSUB '31 : ON Q9+2GOTO 7240,7260 : BIN(STR(C$,VAL(Q0$(1))))=INT((Q9+1)/2)+64 : A6=2-MOD(Q9,2) : A$="1" : GOSUB '232(1,0,C$) : GOSUB '91 : ON J0GOTO ,,7020,,,,7020 : IF J0>0THEN 4730 : GOSUB '50(5,"1") : L0$=A1$(A6) : M0$=A2$(A6) : N0$=A3$(A6) : O0$=A4$(A6) 7190 P0$=A5$(A6) : GOSUB 7260 : I=A7 : GOTO 7020 7240 L0$,M0$,N0$,O0$,P0$=" " 7260 PRINT AT(5,0) : B9=0 : A7=I : FOR I=ITO I+4 : GOSUB '35 : NEXT I : I=A7+4 : RETURN 7350 DEFFN'34(Q6$,Q9,G5$(G0),Q7$,Q$(1),Q$(2),Q3,Q4,Q5) : IF B9>0THEN PRINT AT(1,0,80);"ENTER ";G5$(G0);Q7$ : Q7$=ALL("#") : B6$=STR(Q7$,,Q3) : IF Q4>0THEN B6$=B6$&"."&STR(Q7$,,Q4) : IF Q6$>" "AND Q5=2THEN Q5=3 : IF Q9<>0AND Q5=1THEN Q5=0 : IF B9>0THEN GOSUB '100(Q$(1),Q$(2),Q3,Q4," ",Q5) : IF Q6$=HEX(1F)THEN GOSUB '31 : Q8=40 : Q2=INT(I9/2) 7460 IF I>Q2THEN 7520 : PRINT AT(I+5,0,Q8); : PRINTUSING "##) ";I; : B8=Q8-B6-2 : IF Q5<2THEN B8=B8+C6-Q3 : GOTO 7560 7520 PRINT AT(I+5-Q2,Q8,80-Q8); : PRINTUSING "##) ";I; : B8=80-B7-2 : IF Q5<2THEN B8=B8+C7-Q3 7560 PRINT G5$(G0);TAB(B8); : IF Q5<2THEN PRINTUSING B6$,Q9 : ELSE PRINTUSING B6$,Q6$ : RETURN 7600 DEFFN'35 : Q$=" " : ON IGOSUB 7660,7690,7720,7750,7780,7810,7860,7890,7920,7950,7990,8020,805 0,8080,8110,8240,8270,8300,8400 : IF Q$>" "THEN 7600 : RETURN 7660 GOSUB '34(B0$,0,"BILL-TO NAME"," "," ",HEX(7F),21,0,2) : B0$=Q6$ : RETURN 7690 GOSUB '34(C0$,0,"ADDRESS 1"," "," ",HEX(7F),20,0,2) : C0$=Q6$ : RETURN 7720 GOSUB '34(D0$,0,"ADDRESS 2"," "," ",HEX(7F),20,0,2) : D0$=Q6$ : RETURN 7750 GOSUB '34(E0$,0,"CITY, STATE"," "," ",HEX(7F),16,0,2) : E0$=Q6$ : RETURN 7780 GOSUB '34(F0$,0,"ZIP CODE"," "," ",HEX(7F),5,0,2) : F0$=Q6$ : RETURN 7810 GOSUB '34(G0$,0,K$," "," ",HEX(7F),8,0,2) : G0$=Q6$ : IF I2$="0"OR G0$=" "THEN RETURN : CONVERT G0$TO Q9 : ERRORQ$="E" : PRINT AT(3,0,80);"Re-enter, reference no. must be numeric.";HEX(07) 7850 RETURN 7860 GOSUB '34(H1$,0,"COLLECT"," (Y OR N)","Y,N","YyY Nn",1,1,2) : H1$=Q6$ : RETURN 7890 GOSUB '34(H0$,0,"SHIP VIA"," "," ",HEX(7F),12,0,2) : H0$=Q6$ : RETURN 7920 GOSUB '34(H$,0,"PARTIAL SHIP"," (Y OR N)","Y,N","YyY Nn",1,1,2) : H$=Q6$ : RETURN 7950 GOSUB '34(L0$,0,"SHIP-TO NAME"," (1 = SAME AS BILL-TO, 2 = STORED DATA)", " ",HEX(7F),21,0,2) : L0$=Q6$ : IF L0$="1"OR L0$="2"THEN IF B9=1THEN GOSUB '39 : RETURN 7990 GOSUB '34(M0$,0,"ADDRESS 1"," "," ",HEX(7F),20,0,2) : M0$=Q6$ : RETURN 8020 GOSUB '34(N0$,0,"ADDRESS 2"," "," ",HEX(7F),20,0,2) : N0$=Q6$ : RETURN 8050 GOSUB '34(O0$,0,"CITY, STATE"," "," ",HEX(7F),16,0,2) : O0$=Q6$ : RETURN 8080 GOSUB '34(P0$,0,"ZIP CODE"," "," ",HEX(7F),5,0,2) : P0$=Q6$ : RETURN 8110 CONVERT D3TO Q6$,(######) : U9$=STR(Q6$,,2)&"/"&STR(Q6$,3,2)&"/"&STR(Q6$,5) : GOSUB '34(U9$,0,"INVOICE DATE"," (MM/DD/YY)"," ",HEX(7F),8,0,2) : IF B9=0THEN RETURN : GOSUB '121(Q6$) : IF Q6$="E"THEN 8210 : GOSUB '123(U9) : Q6$=STR(U9$,,2)&STR(U9$,4,2)&STR(U9$,7) : CONVERT Q6$TO D3 : RETURN 8210 Q$="E" : PRINT AT(3,0,80);"Invalid date, re-enter.";HEX(07) : RETURN 8240 GOSUB '34(O3$,0,"TERMS DESC"," "," ",HEX(7F),11,0,2) : O3$=Q6$ : RETURN 8270 GOSUB '34(" ",D2,"TERMS DISC"," ","0","99.99",2,2,1) : D2=Q9 : RETURN 8300 CONVERT D5TO Q6$,(######) : U9$=STR(Q6$,,2)&"/"&STR(Q6$,3,2)&"/"&STR(Q6$,5) : GOSUB '34(U9$,0,"TERMS DUE"," DATE (MM/DD/YY)"," ",HEX(7F),8,0,2) : IF B9=0THEN RETURN : GOSUB '121(Q6$) : IF Q6$="E"THEN 8210 : GOSUB '123(U9) : Q6$=STR(U9$,,2)&STR(U9$,4,2)&STR(U9$,7) : CONVERT Q6$TO D5 : RETURN 8400 GOSUB '34(N4$,0,"SALESMAN"," "," ",HEX(7F),VAL(Q0$(3)),0,2) : N4$=Q6$ : RETURN 9998 DEFFN'29"Q$=";HEX(22);"INVC030B";HEX(22);":SCRATCH TQ$:SAVET$()Q$";HEX(0D ) 9999 DEFFN'30"DIM Z$57:IF STR(I0$,,1)=HEX(20)THENI0$=HEX(323135):Z$=";HEX(22); "GBS/MVP - Enter invoice header record.";HEX(22);":SELECT#15<I0$>:$OPEN#1 5:SELECTLIST<I0$>(132): LIST Z$:LIST Z$#:LIST Z$V:LIST Z$':$CLOSE#15:SELE CTLIST005(80)";HEX(0D)