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)