Listing of file='INVC040A' on disk='vmedia/701-2607C.wvd.zip'
# Sector 565, program filename = 'INVC040A' 0010 REM INVC040A, RELEASE 2.0, (06/01/79) THIS PROGRAM IS A COPYRIGHT PRODUCT OF WANG LABORATORIES INC. UNAUTHORIZED REPRODUCTION OR USE IS PROHIBITED 0170 DIM B7$4,B8$4,B9$4,C6$3,K(14,5),K1$19 : GOTO 4000 4000 SELECT @PARTS0$ : GOSUB '93(" ") : IF I0$=" "THEN 5200 4030 GOSUB '100("C,O","CcC Oo",1,1,"ENTER INVOICE TRANSACTION FILE ID (C = Cur rent, O = Old)",2) : IF Q6$=HEX(1F)THEN GOSUB '31 : A6=Q9 : IF J0=7THEN GOSUB '92 : GOSUB '235(A6,0) : J$(3)=" " : GOSUB '91 : ON J0GOTO ,,5140,,,,4030 : IF J0>0THEN 5200 : K1$=" " : GOSUB '90 4140 GOSUB '54(A6,1) : IF B7$=" "AND I2$="0"THEN 4290 : IF B8$=" "AND I2$<>"0"THEN 4290 : IF I2$="0"THEN B9$=B7$ : ELSE B9$=B8$ : UNPACK(########)STR(B9$,,4)TO B9 4190 B9=B9+1 : PACK(########)B9$FROMB9 : IF B9$=STR(B$,,4)THEN 4290 : GOSUB '90 : Q6$="NON-REGULAR INVOICE NUMBER" : IF I2$="0"THEN Q6$="INVOICE NUMBER" : PRINTUSING "#######",B9; : PRINT TAB(27);"VOIDED ";Q6$ : L=L+1 : GOTO 4190 4290 IF I2$="0"THEN B7$=B$ : ELSE B8$=B$ : SELECT PRINT 005(80) : PRINT AT(6,0,0);"Processing invoice no. ";HEXOF(STR(B$,,4)) : J=(VAL(I2$)-47) : K1=1 : IF I2$="1"OR I2$="3"THEN K1=-1 4370 IF J0=7THEN GOSUB '92 : GOSUB '237(A6,0) : GOSUB '91 : IF J0=7THEN 4370 : IF J0>0THEN 5200 : GOSUB '54(A6,2) : I=0 4450 I=I+1 : IF P$(I)="END"THEN 4530 : Q9=ROUND((B(I)*B1(I)*B2(I)/100,2) : K(11,J)=K(11,J)+Q9*K1 : K(11,5)=K(11,5)+Q9*K1 : IF I=N0THEN 4370 : GOTO 4450 4530 IF J0=7THEN GOSUB '92 : GOSUB '237(A6,0) : GOSUB '91 : IF J0=7THEN 4530 : IF J0>0THEN 5200 : GOSUB '54(A6,3) : K(13,J)=K(13,J)+1 : K(13,5)=K(13,5)+1 : K(10,5)=K(10,5)+(A*K1) : K(10,J)=K(10,J)+(A*K1) : K(1,5)=K(10,5)+K(11,5) : K(1,J)=K(10,J)+K(11,J) : K(2,J)=K(2,J)+(G(1)*K1) : K(2,5)=K(2,5)+(G(1)*K1) 4700 K(3,J)=K(3,J)+(G(2)*K1) : K(3,5)=K(3,5)+(G(2)*K1) : K(4,J)=K(4,J)+(G(3)*K1) : K(4,5)=K(4,5)+(G(3)*K1) : K(5,J)=K(5,J)+(A2*K1) : K(5,5)=K(5,5)+(A2*K1) : K(6,J)=K(6,J)+(A1*K1) : K(6,5)=K(6,5)+(A1*K1) : K(9,J)=K(9,J)+(D1*K1) : K(9,5)=K(9,5)+(D1*K1) 4840 K(12,J)=K(10,J)-K(6,J) : K(12,5)=K(10,5)-K(6,5) : Q9=8 : IF D>0THEN Q9=7 : K(Q9,J)=K(Q9,J)+(D*K1) : K(Q9,5)=K(Q9,5)+(D*K1) : K1$=" " : GOSUB '90 : Q9=0 : IF I2$>="0"AND I2$<="3"THEN CONVERT I2$TO Q9 : Q6$="INVC/I DM CM" : C6$=STR(Q6$,Q9*3+1,3) : GOSUB 6030 5000 IF J0=7THEN GOSUB '92 : GOSUB '237(A6,0) : IF Q$="E"THEN 5080 : IF Q$=" "THEN 4140 : GOSUB '91 : IF J0=7THEN 5000 : GOTO 5200 5080 L=L0 : K1$="REGISTER TOTALS" : GOSUB '90 : GOSUB 6330 : J0=0 5140 $OPEN #3 : GOSUB '46(3,0,1) : IF M(11)+1=A6THEN M(7)=1 : ELSE M(14)=1 : GOSUB '46(3,0,0) : $CLOSE#3 5200 DEFFN'31 : IF J0>0THEN GOSUB '254 : LOAD TM$ 6010 %##,###,###.##- 6030 SELECT PRINT <I0$>(132) : UNPACK(########)STR(B$,,4)TO Q9 : PRINTUSING "#######",Q9; : PRINT TAB(9);C6$;TAB(15);C1$;TAB(20+Q0);STR(B0$,,MIN(26-Q0,LEN(B0$)));TAB (53); : PRINTUSING 6010,D1; : PRINT TAB(70);G$(1);TAB(73); : PRINTUSING 6010,G(1); : PRINT TAB(90);G$(2);TAB(93); : PRINTUSING 6010,G(2); : PRINT TAB(110);G$(3);TAB(113); : PRINTUSING 6010,G(3) : L=L+1 : SELECT PRINT 005(80) : RETURN 6180 DEFFN'35(K,K1$) : SELECT PRINT <I0$>(132) : PRINT K1$;TAB(23); : PRINTUSING 6010,K(K,1); : PRINT TAB(48); : PRINTUSING 6010,K(K,2); : PRINT TAB(69); : PRINTUSING 6010,K(K,3); : PRINT TAB(91); : PRINTUSING 6010,K(K,4); : PRINT TAB(113); : PRINTUSING 6010,K(K,5) : SELECT PRINT 005(80) : RETURN 6330 GOSUB '35(1,"TOTAL SALES") : GOSUB '35(11,"LINE DISCOUNT") : GOSUB '35(10,"GROSS SALES") : GOSUB '35(6,"INVOICE DISCOUNT") : GOSUB '35(12,"NET SALES") : GOSUB '35(2,"SALES TAX 1") : GOSUB '35(3,"SALES TAX 2") : GOSUB '35(4,"SALES TAX 3") : GOSUB '35(5,"FREIGHT") : GOSUB '35(7,"SPECIAL CHARGES") 6430 GOSUB '35(8,"SPECIAL CREDITS") : GOSUB '35(9,"INVOICE TOTAL") : FOR I=1TO 5 : K(14,I)=0 : IF K(13,I)>0THEN K(14,I)=ROUND((K(9,I)/K(13,I),2) : NEXT I : GOSUB '35(13,"NO. OF INVOICES") : K1$="NO. OF INVOICES" : RETURN 6550 DEFFN'90 : SELECT PRINT 005(80) : Q6$=" " : KEYIN Q6$,6590,6590 6590 IF Q6$="P"THEN GOSUB '254 : IF Q6$=HEX(1F)THEN GOSUB '31 : SELECT PRINT <I0$>(132) : IF L<L0THEN RETURN : P1=P1+1 : PRINT HEX(0C0A0E);TAB(3);N2$ : PRINT TAB(58);"INVOICE REGISTER";TAB(110);Q1$;TAB(122);"PAGE";P1 : PRINT HEX(0A) : IF K1$=" "THEN 6720 : PRINT K1$;TAB(28);"INVOICES";TAB(46);"CREDIT INVOICES";TAB(71);"DEBIT MEM OS";TAB(92);"CREDIT MEMOS";TAB(118);"COMBINED" 6700 GOTO 6740 6720 PRINT "INV NO./TYPE";TAB(15);"CUST ID";TAB(20+Q0);"CUSTOMER NAME";TAB(53) ;"INVOICE TOTAL";TAB(69);"CODE";TAB(75);"SALES TAX 1";TAB(89);"CODE";TAB( 95);"SALES TAX 2";TAB(109);"CODE";TAB(115);"SALES TAX 3" 6740 PRINT HEX(0A) : L=6 : RETURN 9998 DEFFN'29"Q$=";HEX(22);"INVC040A";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 - Print an invoice register.";HEX(22);":SELECT#15<I0$>:$OPEN#15: SELECTLIST<I0$>(132): LIST Z$:LIST Z$#:LIST Z$V:LIST Z$':$CLOSE#15:SELECT LIST005(80)";HEX(0D)