image of READY prompt

Wang2200.org

Listing of file='ACPA030B' on disk='vmedia/701-2652C.wvd.zip'

# Sector 315, program filename = 'ACPA030B'
0010 REM ACPA030B, RELEASE 2.2, (09/11/80) THIS PROGRAM IS A COPYRIGHT PRODUCT
      OF WANG LABORATORIES INC. UNAUTHORIZED REPRODUCTION OR USE IS PROHIBITED
0170 DIM A7$11,A8$20,B6$1,B7$10
0172 DIM A8$(9)15,B8(8),B8$(5)Q6,B9$Q0,C6(10),C6$(10)Q6,C7$25,C9$1,K$(9)1
   : RETURN
4000 SELECT @PARTS0$
   : A8$(1)="INVOICE NO."
   : A8$(2)="INVOICE DATE"
   : A8$(3)="P.O. NO."
   : A8$(4)="DUE DATE"
   : A8$(5)="DATE PAID"
   : A8$(6)="CHECK NO."
   : A8$(7)="GROSS AMOUNT"
   : A8$(8)="DISCOUNT %"
   : A8$(9)="DISCOUNT AMOUNT"
   : C9$=HEX(00)
   : N1$()=ALL(FF)
   : B$(1)="T"
   : PACK(##)STR(B$(1),2)FROMS2
4140 DATA " ","z",8,2,"########","0","99999999",8,1,"########","0","9999999.99
     ",7.2,1,"#,###,###.##","0","99.99",2.2,1,"##.########"
4150 K=0
   : MAT B8=ZER
   : MAT C6=ZER
   : D6=9
   : C7=-1
   : B8$(),D6$,D7$=ALL(20)
   : C6$()=ALL(30)
   : PRINT AT(1,0,)
4240 GOSUB '100(" ",HEX(7F),Q0,0,"ENTER VENDOR ID (END=END OF BATCH)",2)
   : IF Q6$="END"OR Q6$="end"OR Q6$=HEX(1F)THEN 7890
   : GOSUB '96(4)
   : B9$=Q6$
   : GOSUB '232(1,0,B9$)
   : GOSUB '91
   : IF J0=7OR J0=3THEN 4240
   : IF J0<>0THEN 7840
   : GOSUB '70(2)
   : PRINT AT(4,0,80);"  VENDOR - ";A$;"  ";A1$
   : PRINT AT(6,22,0);"I - INVOICE"
   : PRINT TAB(22);"C - CREDIT MEMO"
4410 PRINT TAB(22);"E - PAYMENT (INV NOT ON FILE)"
   : PRINT TAB(22);"X - PAYMENT (INV ON FILE)"
   : GOSUB '100("C,I,E,X","CcIiEeXxI ",1,1,"ENTER TRANS TYPE (RETURN = INVOICE
     )",2)
   : IF Q6$=HEX(1F)THEN GOSUB '31
   : A6=Q9
   : K$()=ALL(31)
   : K$(7)="3"
   : IF Q6$="I"THEN C9$=" "
   : ELSE C9$=Q6$
4482 Q6$="CREDIT MEMO INVOICE     E-PAYMENT   X-PAYMENT"
   : A7$=STR(Q6$,A6*12-11,11)
   : Q6$="  11"
   : K$(5)=STR(Q6$,A6,1)
   : Q6$="  22"
   : K$(6)=STR(Q6$,A6,1)
   : Q6$=" 4  "
   : K$(8)=STR(Q6$,A6,1)
   : Q6$=" 333"
   : K$(9)=STR(Q6$,A6,1)
   : PRINT AT(4,47,);"***";A7$;"***"
   : PRINT HEX(0A)
   : FOR I=1TO 4
4760 PRINT TAB(2);I;A8$(I);TAB(42);I+5;A8$(I+5)
   : NEXT I
   : IF A6=4THEN Q6$=" "
   : ELSE Q6$="TOTAL DIST"
   : PRINT TAB(2);5;A8$(5);TAB(45);Q6$
   : PRINT HEX(0A)
   : Q6$="ACCOUNT NO.      AMOUNT"
   : IF A6<>4THEN PRINT AT(12,13,);"* * * * * G / L    D I S T R I B U T I O N
      * * * * *";AT(13,4);Q6$;TAB(44);Q6$;AT(14,0);10
4850 K=K+1
   : IF K>9THEN 6150
4870 IF K$(K)=" "AND D6$="1"THEN 6800
   : ELSE IF K$(K)=" "THEN 4850
4880 RESTORE (VAL(K$(K))-48)*5-4
   : READ B6$,B7$,B6,B7,A8$
   : IF K<>1AND K<>3THEN 4910
   : B6=VAL(Q0$(6))
   : A8$=ALL("#")
   : STR(A8$,B6+1,20-B6)=ALL(20)
4910 IF K>5THEN 4950
   : Q6$=B8$(K)
   : IF K=2OR K=5THEN IF Q6$=" "THEN Q6$=Q1$
   : IF Q6$<>" "THEN B7=3
4950 PRINT AT(1,0,80);"ENTER ";A8$(K);
   : IF K=2OR K=5THEN PRINT " (MM/DD/YY)";
   : IF K=4THEN PRINT " (MM/DD/YY) OR DUE DAYS (DD)";
   : IF K=1THEN PRINT " (-1 = RESTART)"
   : GOSUB '100(B6$,B7$,INT(B6),(B6-INT(B6))*10," ",B7)
   : IF Q6$=HEX(1F)THEN GOSUB '31
   : IF Q6$="-1"THEN 4150
   : ON KGOTO 5040,5420,5380,5420,5420,5750,5790,5870,5930
5040 IF Q6$=" "THEN 5720
   : GOSUB '96(6)
   : B8$(1)=Q6$
   : IF A6<>4THEN 5330
   : C7$=STR(B9$,,VAL(Q0$(4)))&B8$(1)
   : GOSUB '232(2,0,C7$)
5130 GOSUB '237(2,0)
   : Q9=Q0+VAL(Q0$(6))
   : IF STR(T7$,,Q9)<>STR(C7$,,Q9)THEN Q$="N"
   : J$()="No invoice found"&STR(J$())
   : J$(7)="Record busy"
   : GOSUB '91
   : IF J0<>0THEN 4880
   : GOSUB '71(4,Q)
   : GOSUB '123(B3(Q))
   : B8$(2)=U9$
   : IF C3$(Q)<>" "THEN 5130
   : PRINT AT(5,0,80);"INVOICE AMOUNT IS ";
   : A7=B(Q)
   : A8=ROUND((B0(Q)*B(Q)/100,2)
   : Q7$=ALL(00)
5250 PRINTUSING TO Q7$,"$##,###,###.##",A7;A8;
   : Q6=POS(Q7$="$")
   : Q7=POS(STR(Q7$,Q6+1)="$")
   : Q6$=STR(Q7$,Q6,Q7-1)
   : PRINT Q6$;", DISCOUNT IS ";
   : Q6$=STR(Q7$,Q6+Q7,31-Q6-Q7)
   : PRINT Q6$
5330 PRINT AT(5+K,2,36);K;TAB(4);A8$(K);TAB(18);
   : PRINTUSING A8$,B8$(K)
   : IF D6$="1"THEN 6820
   : GOTO 4850
5380 GOSUB '96(6)
   : B8$(K)=Q6$
   : A8$=ALL("#")
   : GOTO 5330
5420 IF Q6$="hold"THEN Q6$="HOLD"
   : IF Q6$="HOLD"THEN 5550
   : U9$=Q6$
   : IF K=4AND POS(Q6$="/")=0AND NUM(Q6$)=80THEN CONVERT Q6$TO Q9
   : ELSE Q9=9E99
   : IF Q9<>9E99THEN IF INT(Q9/100)<>0THEN 5720
   : IF Q9<>9E99THEN GOSUB '123(B8(6)+Q9)
   : GOSUB '121(U9$)
   : IF Q6$="E"THEN 5720
   : GOSUB '123(U9)
   : B8$(K)=U9$
   : IF K=4AND A6<3THEN 5590
   : GOTO 5590
5550 IF K<>4OR A6<>2THEN 5720
   : B8$(K)=Q6$
   : U9=99999
   : GOTO 5640
5590 ON K-2GOTO 5720,5640,5680
   : B8(6)=U9
   : GOTO 5330
5640 IF A6<3AND U9<B8(6)THEN 5720
   : B8(7)=U9
   : GOTO 5330
5680 IF U9<B8(6)THEN 5720
   : B8(8)=U9
   : GOTO 5330
5720 PRINT AT(3,0,80);HEX(07);"Re-enter"
   : GOTO 4880
5750 B8(1)=Q9
   : J=6
   : GOTO 6000
5790 IF Q9=0THEN 5720
   : IF A6=4AND A7<Q9THEN 5720
   : B8(2)=Q9
   : J=7
   : GOSUB 6040
   : IF D6$="1"THEN 5890
   : GOTO 4850
5870 IF Q9=0THEN 4850
   : B8(3)=Q9
5890 B8(4)=INT((B8(2)*B8(3)+.5))/100
   : K=K+1
   : GOTO 5970
5930 IF Q9>=B8(2)THEN 5720
   : IF A6=4AND A8<Q9THEN 5720
   : B8(4)=Q9
   : B8(3)=ROUND((B8(4)/B8(2)*100,8)
5970 J=8
   : GOSUB 6040
   : J=9
6000 GOSUB 6040
   : IF D6$="1"THEN 6820
   : GOTO 4850
6040 IF K$(J)=" "THEN RETURN
   : RESTORE (VAL(K$(J))-48)*5
   : READ A8$
   : Q9=POS(A8$=".")
   : IF J=8AND ROUND((B8(3),2)=B8(3)THEN STR(A8$,Q9+3)=ALL(20)
   : IF Q9<>0THEN Q9=70-Q9
   : ELSE Q9=60
   : PRINT AT(J,42,38);J;A8$(J);TAB(Q9);
   : IF J=6AND B8(1)=0THEN PRINT
   : ELSE PRINTUSING A8$,B8(J-5)
   : RETURN
6150 IF A6=4THEN 6820
   : IF POS(B1$()<>" ")=0THEN 6420
   : GOSUB '100("Y,N","YyY Nn",1,1,"STANDARD DISTRIBUTION (Y OR N)",2)
   : IF Q9=2THEN 6420
   : FOR I=1TO 6
   : IF B1$(I)=" "THEN 6330
   : C6$(K-9)=B1$(I)
   : C6(K-9)=ROUND((A4(I)*B8(2)/100,2)
   : B8(5)=B8(5)+C6(K-9)
   : GOSUB 6720
   : D6=K
   : K=K+1
6330 NEXT I
   : IF B8(5)=0THEN 6390
   : C6(K-10)=C6(K-10)+(B8(2)-B8(5))
   : B8(5)=B8(2)
   : K=K-1
   : GOSUB 6720
6390 GOSUB 6750
   : IF B8(5)<>0THEN 6820
6420 GOSUB '100("1",HEX(7F),VAL(Q0$(5)),0,"ENTER ACCOUNT # (OR END)",2)
   : IF Q6$=HEX(1F)THEN GOSUB '31
   : IF Q6$="END"OR Q6$="end"THEN 6820
   : GOSUB '96(5)
   : C6$(K-9)=Q6$
   : GOSUB '232(3,0,C6$(K-9))
   : IF Q$<>" "THEN GOSUB '91
   : ELSE J0=0
   : IF J0=7OR J0=3THEN 6420
   : IF J0<>0THEN 7840
   : GOSUB '75(6)
   : IF O1$="2"AND O3$<>"M"THEN 6570
6540 PRINT AT(3,0,80);HEX(07);"Non-postable account, re-enter"
   : C6$(K-9)=" "
   : GOTO 6420
6570 GOSUB 6720
   : GOSUB '100("0","9999999.99",7,2,"ENTER AMOUNT",1)
   : IF Q6$=HEX(1F)THEN GOSUB '31
   : C6(K-9)=Q9
   : B8(5)=B8(5)+Q9
   : GOSUB 6720
   : GOSUB 6750
   : IF D6$="1"THEN 6820
   : D6=K
   : K=K+1
   : IF K-9>10THEN 6820
   : GOTO 6420
6720 IF K>14THEN PRINT AT(K-1,41,39);
   : ELSE PRINT AT(K+4,1,39);
   : PRINTUSING "## ########  $#,###,###.##",K,C6$(K-9),C6(K-9)
   : RETURN
6750 PRINT AT(10,59);
   : PRINTUSING "$#,###,###.##",B8(5)
   : RETURN
6800 PRINT AT(3,0,80);HEX(07);"Re-enter"
6820 GOSUB '100("-1","19",2,0,"ENTER ITEM NO. TO CORRECT (0=NONE, -1=VOID)",1)
   : IF Q6$=HEX(1F)THEN GOSUB '31
   : ON Q9+2GOTO 4150,6980
   : D6$="1"
   : K=Q9
   : IF K<10THEN 4870
   : IF A6=4THEN 6800
   : IF K>D6+1THEN 6800
   : IF K=D6+1THEN D6=K
   : B8(5)=B8(5)-C6(K-9)
   : C6$(K-9)=" "
   : C6(K-9)=0
   : GOSUB 6720
   : GOSUB 6750
   : GOTO 6420
6980 D6$=" "
   : IF A6=4THEN B8(5)=B8(2)
   : IF B8(5)=B8(2)THEN 7050
   : PRINT AT(3,0,80);HEX(07);"Amount distributed out of balance. Difference =
      ";
   : PRINTUSING "#,###,###.##-",B8(2)-B8(5)
   : GOTO 6820
7050 IF A6=1THEN MAT C6=(-1)*C6
   : IF A6=1OR A6=4THEN B8(5)=-B8(5)
7080 IF J0=7THEN GOSUB '254
   : IF Q6$=HEX(1F)THEN GOSUB '31
   : GOSUB '232(1,1,B9$)
   : GOSUB '91
   : IF J0=7THEN 7080
   : IF J0<>0THEN 7840
   : GOSUB '70(2)
   : IF A6<>4THEN A=A+B8(5)
   : IF A6<>3THEN A2=A2+B8(5)
   : IF A6>2THEN A0=B8(8)
   : DBACKSPACE #2,1S
   : GOSUB '60(2)
   : GOSUB '238(1)
   : D9(A6)=D9(A6)+ABS(B8(5))
   : IF A6<>4THEN D8=D8+B8(5)
   : C7$=STR(B9$,1,Q0)&B8$(1)
7260 C7=C7+1
   : CONVERT C7TO STR(C7$,Q0+VAL(Q0$(6))+1,2),(##)
   : GOSUB '233(2,1,C7$,0)
   : J$(4),J$(7)=" "
   : GOSUB '91
   : IF J0=4OR J0=7THEN 7260
   : IF J0<>0THEN 7840
   : O$()=ALL(FF)
   : IF Q=1THEN DATA SAVE DC #4,O$()
   : ELSE DSKIP #4,1S
   : DBACKSPACE #4,1S
   : C0$(Q)=B9$
   : C1$(Q)=B8$(1)
   : C2$(Q)=STR(C7$,Q0+VAL(Q0$(6))+1)
   : C3$(Q)=C9$
   : C4$(Q)=B8$(3)
   : C5$(Q)=" "
   : B(Q)=B8(2)
7400 B0(Q)=B8(3)
   : B2(Q)=B8(1)
   : B3(Q)=B8(6)
   : B4(Q)=B8(7)
   : B5(Q)=B8(8)
   : B1(Q)=0
   : GOSUB '61(4,Q)
   : GOSUB '238(2)
   : LIMITS T#4,Q6,Q7,Q8
   : Q8=Q7-Q6
   : Q7=MOD(VAL(STR(T$(2),4),2)+VAL(STR(T$(2),12)),65536)
   : IF Q7/Q8>.8THEN PRINT AT(3,0,80);HEX(07);"A/P Open Item File is";ROUND((Q
     7/Q8*100,0);"% full"
   : IF Q7/Q8>.95THEN D6$="F"
7540 IF A6=4THEN 7710
   : H1$="AP"
   : H=B8(6)
   : H3$=A1$
   : H4$=B9$
   : H5$=B8$(1)
   : FOR I=1TO 10
   : IF C6$(I)=" "THEN 7670
   : IF C6(I)=0THEN 7670
   : H0$=C6$(I)
   : H1=C6(I)
   : GOSUB '63(E8)
   : IF I<10AND C6$(I+1)="00000000"THEN I=10
7670 NEXT I
   : LIMITS T#E8,Q6,Q7,Q8
   : IF (Q8-Q6+1)/(Q7-Q6-1)>.95THEN D6$="F"
7710 A9=A9+1
   : MAT REDIM N1$(3)80
   : Q6$=HEX(A0)&STR(Q0$(4),,1)&HEX(A0155001A0)&STR(Q0$(6),,1)&HEX(50035003500
     36004A00862056805)
   : $PACK(F=Q6$)N1$(A9)FROMA$,A1$,A6,B8$(1),B8(6),B8(7),B8(8),B8(1),B8$(3),B8
     (2),B8(3)
   : MAT REDIM N1$(5)49
   : IF A9<3AND D6$<>"F"THEN 4150
   : GOSUB '48(10)
   : N1$()=ALL(FF)
   : A9=0
7790 IF Q9<.95AND D6$<>"F"THEN 4150
   : PRINT AT(1,0,80);"Program will be terminated - Transaction Audit File ful
     l"
   : GOSUB '254
   : Q6$=HEX(1F)
   : GOTO 7890
7840 PRINT AT(1,0,80);;HEX(07);"FILE ERROR - CORRECT & RESTART"
   : Q6$="VENDOR MASTER    CHART OF ACCOUNTSA/P OPEN ITEM"
   : PRINT AT(3,17,63);STR(Q6$,T6*18-17,18)
   : GOSUB '254
7890 DEFFN'31
   : IF Q6$=HEX(1F)THEN D6$="X"
   : ELSE D6$="A"
   : PRINT AT(1,0,880)
   : PRINT AT(3,0);"**Loading next module**"
   : IF A9<>0THEN GOSUB '48(10)
   : Q6=VAL(Q0$(6))
   : STR(M5$,8)="A"
   : LOAD TM5$4000,
9999 DEFFN'29"Q$= ";HEX(22);"ACPA030B";HEX(22);":SCRATCH T Q$:SAVE T$()Q$";HEX
     (0D)