image of READY prompt

Wang2200.org

Listing of file='INVC030C' on disk='vmedia/701-2607C.wvd.zip'

# Sector 524, program filename = 'INVC030C'
0010 REM INVC030C, RELEASE 2.1, (04/09/80) THIS PROGRAM IS A COPYRIGHT PRODUCT
      OF WANG LABORATORIES INC. UNAUTHORIZED REPRODUCTION OR USE IS PROHIBITED
0170 DIM K3$(L9)Q0,K4$(L9)24,K5$(L9)1,K6(5,L9),K7$(L9)1,K8$(L9)2
   : GOTO 4000
4000 SELECT @PARTS0$
   : M7=1
   : PRINT HEX(03);"ENTER INVOICES - LINE ITEMS";TAB(30);"** ";H7$;" **"
   : A,G7,I1,J1,J2=0
   : P1=1
   : IF P4$="P"THEN GOSUB '81
4060 PRINT AT(3,0,0);"SFK '31 is not always functional during line item entry.
     ";HEX(070D0A);"CUST ID ";C1$;"  NAME ";B0$;TAB(45);"INVOICE NO. ";HEXOF(S
     TR(B$,,4));HEX(0D0A);TAB(4);"PRODUCT ID   DESCRIPTION                QTY
     UNT PRICE DISC%    NET AMT"
4080 I1=I1+1
   : J1=J1+1
   : A8$=" "
4110 I9=1
   : J9=5
   : K5$(I1),K7$(I1)="N"
   : IF J0$="M"THEN J9=6
   : IF J0$="A"THEN K5$(I1)="Y"
   : FOR I=I9TO J9
   : ON IGOTO ,4500,4570,4750,4790,4900
   : Q7$=" (DE = DESC ONLY, RETURN = NO PRODUCT ID"
   : IF A8$="9"THEN Q7$=Q7$&", VOID = NO LINE)"
   : ELSE Q7$=Q7$&",  END = DONE)"
4220 GOSUB '34(K3$(I1),0,"PRODUCT ID",Q7$," ",HEX(7F),Q0,0,2)
   : IF Q6$="de"OR Q6$="void"OR Q6$="end"THEN $TRAN(Q6$,"DdEeIiNnOoVv")R
   : K3$(I1)=Q6$
   : IF Q6$=" "OR Q6$="DE"THEN 4920
   : I=J9
   : IF A8$="9"AND Q6$="VOID"THEN 4920
   : IF A8$=" "AND Q6$="END"THEN 4950
   : I=0
   : GOSUB '96(2)
   : K3$(I1)=Q6$
   : GOSUB '232(2,1,K3$(I1))
   : GOSUB '91
4350 ON J0GOTO ,,4450,,,,4950
   : IF J0>0THEN 5750
   : GOSUB '52(3)
   : K4$(I1)=F2$
   : K8$(I1)=F3$
   : CONVERT P2$TO Q9
   : K6(2,I1)=H(Q9)
   : K7$(I1)="Y"
   : I=2
   : GOTO 4920
4450 GOSUB '35
   : GOSUB '100("Y,N","YyY Nn",1,1,"IS PRODUCT ID VALID (Y OR N)",2)
   : IF Q6$="Y"THEN I=1
   : GOTO 4950
4500 GOSUB '34(K4$(I1),0,"PRODUCT DESCRIPTION"," "," ",HEX(7F),24,0,2)
   : K4$(I1)=Q6$
   : IF K3$(I1)<>"DE"THEN 4920
   : K3$(I1)=" "
   : I=J9
   : GOTO 4920
4570 GOSUB '34(" ",K6(5,I1),"QUANTITY SHIPPED"," ","0","99999",5,0,1)
   : K6(1,I1)=Q9
   : IF H$="Y"THEN GOSUB '34(" ",K6(1,I1),"QUANTITY ORDERED"," ","0","99999",5
     ,0,1)
   : K6(5,I1)=Q9
   : IF Q9=0THEN 4830
   : IF K7$(I1)="N"THEN 4920
   : Q9=1
   : FOR J=1TO 5
   : IF K6(1,I1)>=H1(J)AND H1(J)>0THEN Q9=J
   : NEXT J
   : IF MAX(H1())>0THEN K6(2,I1)=H(Q9)
4690 GOSUB '35
   : GOSUB '100("Y,N","YyY Nn",1,1,"IS UNIT PRICE OK (Y OR N)",2)
   : IF Q6$="N"THEN 4950
   : I=I+1
   : GOTO 4920
4750 GOSUB '34(" ",K6(2,I1),"UNIT PRICE"," ","0","99999.99",5,2,1)
   : K6(2,I1)=Q9
   : GOTO 4920
4790 GOSUB '34(" ",K6(3,I1),"DISCOUNT %"," ","0","99.99",2,2,1)
   : K6(3,I1)=Q9
   : GOTO 4920
4830 I=J9
   : K6(2,I1)=0
   : GOSUB '34(" ",K6(4,I1),"NET AMOUNT"," ","-99999.99","99999.99",5,2,1)
   : K6(4,I1)=Q9
   : GOSUB '35
   : IF J0$<>"M"THEN 4950
4900 GOSUB '34(K5$(I1),0,"TAXABLE"," (Y OR N)","Y,N","YyY Nn",1,1,2)
   : K5$(I1)=Q6$
4920 Q9=K6(1,I1)*K6(2,I1)
   : IF K6(1,I1)>0THEN K6(4,I1)=Q9-ROUND((Q9*K6(3,I1)/100,2)
   : GOSUB '35
4950 NEXT I
   : IF A8$="9"THEN 5070
   : IF K3$(I1)<>"END"THEN 5010
   : IF I1=1THEN 5530
   : GOTO 5110
5010 Q6$="N"
   : IF K6(4,I1)>=1E5THEN PRINT AT(3,0,80);"Net amount must not exceed $99999.
     99. Break this line into more than one line.";HEX(07)
   : ELSE GOSUB '100("Y,N","YyY Nn",1,1,"IS ENTRY LINE OK (Y OR N)",2)
   : IF Q6$="Y"THEN 5070
   : A8$=" "
   : GOSUB '238(2)
   : GOTO 5240
5070 GOSUB '36
   : GOSUB '238(2)
   : IF A8$="9"THEN 5160
   : IF I1<L9THEN 4080
5110 K4=J1-I1+1
   : J3,K5=J1
   : A8$=" "
   : IF K3$(I1)="END"THEN K5=K5-1
5160 GOSUB '100("-1","99",2,0,"ENTER LINE NO. TO CORRECT  (0=NONE, -1=VOID)",1
     )
   : IF Q6$=HEX(1F)OR Q9<0THEN GOSUB '31
   : IF Q9=0THEN 5530
   : IF Q9<K4OR Q9>K5THEN 5290
   : A8$="9"
   : J1=Q9
   : I1=MOD(Q9-1,L9)+1
   : GOSUB 5320
5240 K4$(I1),K5$(I1),K7$(I1),K8$(I1)=" "
   : K6(1,I1),K6(2,I1),K6(3,I1),K6(4,I1),K6(5,I1)=0
   : GOSUB '35
   : GOTO 4110
5290 PRINT AT(3,0,80);HEX(07);"Re-enter."
   : GOTO 5160
5320 IF J0=7THEN GOSUB '254
   : GOSUB '232(2,1,K3$(I1))
   : IF Q$="N"THEN RETURN
   : GOSUB '91
   : IF J0=7THEN 5320
   : IF J0>0THEN 5750
   : M7=-1
   : DSKIP #3,1S
   : GOSUB '36
   : M7=1
   : GOSUB '238(2)
   : RETURN
5450 DEFFN'31
   : I1=1
   : STR(M5$,8)="G"
5480 IF I1>L9OR K3$(I1)="END"THEN LOAD TM5$4000,
   : IF K3$(I1)<>"VOID"THEN GOSUB 5320
   : I1=I1+1
   : GOTO 5480
5530 K=0
   : J1=J3
   : I=J2
5560 K=K+1
   : IF K3$(K)="VOID"THEN 5660
   : I=I+1
   : P$(I)=K3$(K)
   : IF P$(I)="END"THEN 5740
   : GOSUB 6020
   : A=A+B4(I)
   : IF K5$(K)="Y"THEN G7=G7+B4(I)
   : IF P4$="P"THEN GOSUB '82(I)
   : IF I=N0THEN GOSUB 6130
5660 IF K<L9THEN 5560
   : J2=I
   : PRINT AT(0,52);"LAST PRODUCT = ";K3$(L9);AT(6,0,)
   : K3$(),K4$(),K5$(),K7$(),K8$()=" "
   : MAT K6=ZER
   : I1=0
   : GOTO 4080
5740 GOSUB 6130
5750 STR(M5$,8)="D"
   : IF Q$>" "THEN STR(M5$,8)="F"
   : LOAD TM5$4000,
6020 P1$(I)=K4$(K)
   : C0$(I)=K5$(K)
   : D0$(I)=K8$(K)
   : B(I)=K6(1,K)
   : B5(I)=K6(5,K)
   : IF B5(I)<>B(I)THEN B0$(I)="B"
   : B1(I)=K6(2,K)
   : B2(I)=K6(3,K)
   : B4(I)=K6(4,K)
   : RETURN
6130 F6=F6+1
   : PACK(##)STR(B$,6,1)FROMF6
   : GOSUB '233(3,1,B$,0)
   : GOSUB '91
   : IF J0>0THEN 5750
   : GOSUB '44(1,2)
   : F7=F8-MOD(VAL(STR(T$(2),4),2)+VAL(STR(T$(2),12)),65536)
   : GOSUB '238(3)
   : P$(),P1$(),B0$(),C0$(),D0$()=" "
   : MAT B=ZER
   : MAT B1=ZER
   : MAT B2=ZER
   : MAT B4=ZER
   : MAT B5=ZER
   : I=0
   : RETURN
6300 DEFFN'36
   : IF I2$>"1"OR K7$(I1)="N"THEN RETURN
   : DBACKSPACE #3,1S
   : GOSUB '52(3)
   : T6=2
   : Q$="N"
   : IF F1$<>K3$(I1)THEN 5750
   : E3=E3+K6(1,I1)*M6*M7
   : DBACKSPACE #3,1S
   : GOSUB '42(3)
   : IF E+E1-E3>E4OR M7=-1THEN RETURN
   : PRINT AT(3,0,80);"Product ";F1$;" is below minimum."
   : Q6$=STR(G2$)&F1$
   : STR(T5$(4),,3)=HEX(000001)
   : GOSUB '234(4,0,Q6$,0)
   : IF Q$<>"S"THEN RETURN
6460 PRINT AT(1,0,80);HEX(07);"P.O. Activity file is full."
   : GOSUB '254
   : RETURN
6500 DEFFN'34(Q6$,Q9,G5$(G0),Q7$,Q$(1),Q$(2),Q3,Q4,Q5)
   : PRINT AT(1,0,80);"ENTER ";G5$(G0);Q7$
   : IF Q6$>" "AND Q5=2THEN Q5=3
   : IF Q9<>0AND Q5=1THEN Q5=0
   : GOSUB '100(Q$(1),Q$(2),Q3,Q4," ",Q5)
   : RETURN
6570 DEFFN'35
   : PRINT AT(5+I1,0,80)
   : PRINTUSING "##)",J1;
   : PRINT TAB(4);K3$(I1);TAB(5+Q0);STR(K4$(I1),,MIN(37-Q0,24));TAB(42);
   : IF K6(1,I1)>0THEN PRINTUSING 6720,K6(1,I1);
   : PRINT TAB(48);
   : IF K6(2,I1)>0THEN PRINTUSING 6710,K6(2,I1);
   : PRINT TAB(58);
   : IF K6(3,I1)>0THEN PRINTUSING "##.##",K6(3,I1);
   : IF K5$(I1)="Y"AND K6(4,I1)<>0THEN Q6$="T"
   : ELSE Q6$=" "
   : PRINT TAB(63);Q6$;TAB(65);
6680 IF K6(4,I1)<>0THEN PRINTUSING 6710,K6(4,I1);
   : PRINT
   : RETURN
6710 %##,###.##-
6720 %#####
6740 DEFFN'81
   : MAT REDIM M$(8)23
   : M$()=" "
   : M$(1)=B0$
   : J=2
   : IF C0$>" "THEN M$(J)=C0$
   : ELSE J=J-1
   : J=J+1
   : IF D0$>" "THEN M$(J)=D0$
   : ELSE J=J-1
   : J=J+1
   : IF E0$>" "OR F0$>" "THEN M$(J)=E0$&" "&F0$
   : ELSE J=J-1
   : M$(5)=L0$
   : J=6
   : IF M0$>" "THEN M$(J)=M0$
   : ELSE J=J-1
   : J=J+1
   : IF N0$>" "THEN M$(J)=N0$
   : ELSE J=J-1
   : J=J+1
6920 IF O0$>" "OR P0$>" "THEN M$(J)=O0$&" "&P0$
   : ELSE J=J-1
   : SELECT PRINT <I0$>(85)
   : FOR J=1TO 4
   : PRINT TAB(9);M$(J);TAB(46);M$(J+4)
   : NEXT J
   : MAT REDIM M$(4)62
   : GOSUB '85(D4)
   : PRINT
   : IF O2$<>HEX(FF)THEN PRINT TAB(43);"ORDER ";HEXOF(STR(O2$,,3));"-";HEXOF(A
     0$);" DATE ";Q6$;
   : IF P1<>1THEN PRINT TAB(72);"PAGE";P1;
   : PRINT
   : PRINT HEX(0E);
   : PRINT TAB(13);H6$
   : PRINT HEX(0A0A)
   : GOSUB '85(D3)
7080 PRINT TAB(1);G0$;TAB(11);C1$;TAB(19);O3$;TAB(33);H0$;TAB(47);H1$;TAB(52);
     N4$;TAB(59);Q6$;TAB(70);HEXOF(STR(B$,,4))
   : PRINT HEX(0A0A)
   : L=23
   : SELECT PRINT 005(80)
   : RETURN
7130 DEFFN'85(Q9)
   : CONVERT Q9TO Q7$,(######)
   : Q6$=STR(Q7$,,2)&"/"&STR(Q7$,3,2)&"/"&STR(Q7$,5)
   : Q7$=" "
   : RETURN
7190 DEFFN'82(I)
   : IF L>37THEN GOSUB 7380
   : SELECT PRINT <I0$>(85)
   : PRINT TAB(1);P$(I);TAB(15);
   : IF B(I)<>0THEN PRINTUSING 6720,B(I);
   : PRINT TAB(22);P1$(I);TAB(48);
   : IF B1(I)<>0THEN PRINTUSING 6710,B1(I);
   : PRINT TAB(58);
   : IF B2(I)>0THEN PRINTUSING 6710,ROUND((B(I)*B1(I)*B2(I)/100,2);
   : PRINT TAB(70);
   : IF B4(I)<>0THEN PRINTUSING 6710,B4(I);
   : IF B0$(I)<>" "THEN PRINT TAB(79);"*"
   : ELSE PRINT
   : L=L+1
   : SELECT PRINT 005(80)
   : RETURN
7380 SELECT PRINT <I0$>(85)
   : GOSUB '95(L0-3-L)
   : PRINT TAB(70);"CONTINUED"
   : GOSUB '95(12)
   : P1=P1+1
   : GOSUB '81
   : RETURN
9998 DEFFN'29"Q$=";HEX(22);"INVC030C";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 line items.";HEX(22);":SELECT#15<I0$>:$OPEN#15:S
     ELECTLIST<I0$>(132): LIST Z$:LIST Z$#:LIST Z$V:LIST Z$':$CLOSE#15:SELECTL
     IST005(80)";HEX(0D)