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)