Listing of file='ACCT050A' on disk='vmedia/701-2607C.wvd.zip'
# Sector 85, program filename = 'ACCT050A'
0010 REM ACCT050A,RELEASE 2.3, (12/11/80) THIS PROGRAM IS A COPYRIGHT PRODUCT
OF WANG LABORATORIES INC. UNAUTHORIZED REPRODUCTION OR USE IS PROHIBITE
D
0170 DIM A8$8,C6$Q0,D6$8,K1$Q0,K1(10),K2(10),D9(10)
: GOTO 4000
4000 SELECT @PARTS0$
: K0=4
: I,P1=1
: D6$=Q1$
: GOSUB '123(M(12))
: IF Q6$<>"E"THEN D6$=U9$
: GOSUB '93("MOUNT A/R STATEMENTS")
: IF I0$=" "THEN GOSUB '31
: L,L0=42
: PRINT AT(4,0);"A 'restart' prints from a starting customer ID, through th
e last customer."
4120 GOSUB '100("Y,N","YyY Nn",1,1,"IS THIS A RESTART (Y OR N)",2)
: IF Q6$<>"Y"THEN 4139
: K2$="Y"
: GOSUB '100(" ",HEX(7F),Q0,0,"ENTER STARTING CUSTOMER ID",2)
: GOTO 4140
4139 Q6$=" "
4140 IF Q6$=HEX(1F)THEN GOSUB '31
: IF Q6$>" "THEN GOSUB '96(1)
: C1$(I),K1$=Q6$
: GOSUB '100("Y,N","YyY Nn",1,1,"DO YOU WISH TO PRINT A MASK (Y OR N)",2)
: IF Q6$="N"THEN 4330
4200 A1$,A2$,A3$,A4$,A5$,A8$,U9$=ALL("X")
: B6,B7,B9=999999.99
: C(I),K3=99999
: MAT K1=CON
: MAT K1=(B6)*K1
: GOSUB 6200
: GOSUB 6430
: GOSUB 6520
: MAT K1=ZER
: B6,B7,B9,C(I),K3=0
: L,L0=42
: GOSUB '100("Y,N","YyY Nn",1,1,"DO YOU WANT TO PRINT ANOTHER MASK (Y OR N
)",2)
: IF Q6$=HEX(1F)THEN GOSUB '31
: IF Q6$="Y"THEN 4200
: C6$=HEX(00)
4330 SELECT PRINT <I0$>(90)
4340 I=0
4360 I=MOD(I,M0)+1
: Q6$=" "
4380 KEYIN Q6$,4380,4380
: IF Q6$=HEX(1F)THEN GOSUB '31
: IF I=1THEN GOSUB '55(3)
: IF K2$<>"Y"THEN 4410
: MAT SEARCHC1$(),=K1$TO K9$
: IF K9$<>HEX(0000)THEN 4408
: ELSE GOTO 4340
4408 I=INT(VAL(K9$,2)/(VAL(Q0$(1))-1))+1
: K2$=" "
4410 IF C1$(I)=HEX(FF)THEN 6730
: GOSUB '123(D1(I))
: IF C1$(I)<>C6$THEN GOSUB 6730
: CONVERT A$(I)TO K9
: K9=K9+1
: CONVERT F$(I)TO K8
: K8=K8+1
: IF C$(I)="D"AND K6<>0THEN D9(K9)=D9(K9)+A(I)
: IF C(I)>0THEN ON K8GOTO 5040,5180,5040,5280,5280,,,,5410
: ELSE ON K8GOTO 4580,4670,4750,4830,4830,,,,,4920
: SELECT PRINT 005(80)
4520 PRINT AT(3,0,80);"Invalid transaction code ";F$(I);HEX(07);" Cust ID ";C1
$(I);" Inv. no.";C(I)
: GOSUB '100("N,Y","YyNn",1,1,"DO YOU WANT TO CONTINUE (Y OR N)",2)
: IF Q6$=HEX(1F)OR Q6$="N"THEN GOSUB '31
: IF C(I)>0THEN 5040
4580 B7=C1(I)+A(I)+A1(I)+A2(I)
: B9=B9+B7
: B6=B7
: J=1
: GOSUB 6140
: A8$="BAL FWD"
: J9=25
: GOTO 4990
4670 B6=A1(I)+A2(I)
: B7=B7-B6
: B9=-B6
: K6=K6-B6
: A8$="PAYMENT"
: J9=35
: GOTO 4990
4750 B6=A(I)-A1(I)-A2(I)
: B7=B7+B6
: B9=B6
: K1(K9)=K1(K9)+B6
: A8$="DR MEMO"
: J9=25
: GOTO 4990
4830 B6=A(I)
: B7=B7-B6
: B9=-B6
: K6=K6-B6
: A8$="CR INVC"
: IF F$(I)="3"THEN A8$="CR MEMO"
: J9=35
: GOTO 4990
4920 B6=C1(I)+A(I)+A1(I)+A2(I)
: B7=B7+B6
: B9=B6
: J=K0+2
: GOSUB 6140
: A8$="PREV S/C"
: J9=25
4990 GOSUB 6200
: GOSUB 6430
: GOTO 4360
5040 IF C(I)=K3THEN PRINT
: ELSE IF K3>0THEN GOSUB 6410
: IF C(I)<>K3THEN K7=K9
: K3=C(I)
: B6=A(I)-A1(I)-A2(I)
: B7=B7+B6
: B9=B9+B6
: IF F$(I)="2"AND K7=1THEN K7=K9
: A8$="INVOICE"
: IF F$(I)="2"THEN A8$="DR MEMO"
: J9=25
: IF B6<0THEN J9=35
: GOSUB 6200
: GOTO 4360
5180 IF C(I)=K3THEN PRINT
: ELSE IF K3>0THEN GOSUB 6410
: K3=C(I)
: B6=A1(I)+A2(I)
: B7=B7-B6
: B9=B9-B6
: A8$="PAYMENT"
: J9=35
: GOSUB 6200
: GOTO 4360
5280 IF C(I)=K3THEN PRINT
: ELSE IF K3>0THEN GOSUB 6410
: K3=C(I)
: B6=A(I)
: B7=B7-B6
: B9=B9-B6
: IF F$(I)="3"THEN 5360
: A8$="CR INVC"
: GOTO 5370
5360 A8$="CR MEMO"
5370 J9=35
: GOSUB 6200
: GOTO 4360
5410 IF K3>0THEN GOSUB 6410
: B6=C1(I)+A(I)+A1(I)+A2(I)
: B7=B7+B6
: B9=B9+B6
: J=K0+2
: GOSUB 6140
: A8$="CUR S/C"
: K3,C(I)=0
: J9=25
: GOSUB 6200
: GOSUB 6430
: GOTO 4360
6020 FOR J=J2TO J1STEP -1
: K1(J)=K1(J)-D9(J)+K6
: IF K1(J)>=0THEN 6090
: K6=K1(J)
: IF J>1THEN K1(J)=0
: NEXT J
: RETURN
6090 K6=0
: J=J1
: NEXT J
: RETURN
6140 K1(J)=K1(J)+C1(I)
: K1(J+1)=K1(J+1)+A(I)
: K1(J+2)=K1(J+2)+A1(I)
: K1(J+3)=K1(J+3)+A2(I)
: RETURN
6200 IF C1$(I)<K1$THEN RETURN
: IF L<38THEN 6300
: SELECT PRINT <I0$>(90)
: PRINT TAB(14);"CONTINUED NEXT PAGE"
: GOSUB '95(L0+9-L)
: P1=P1+1
: GOSUB 7040
6300 L=L+1
: PRINT TAB(1);STR(U9$,,2);STR(U9$,4,2);STR(U9$,7,2);
: IF C$(I)="D"THEN PRINT "D";
: PRINT TAB(11);
: IF C(I)>0THEN PRINTUSING 7430,C(I);
: PRINT TAB(17);A8$;TAB(J9);
: IF A8$<>"BAL FWD"THEN PRINTUSING 7410,ABS(B6);
: PRINT TAB(46);
: PRINTUSING 7420,B7;
: RETURN
6410 IF B9>0THEN K1(K7)=K1(K7)+B9
: ELSE K6=K6+B9
: IF B9>0THEN K7=1
6430 Q9=B9
: B9=0
: IF C1$(I)<K1$THEN RETURN
: PRINT TAB(60);
: IF K3>0THEN PRINTUSING 7430,K3;
: PRINT TAB(67);
: PRINTUSING 7420,Q9
: RETURN
6520 IF C1$(I)<K1$THEN RETURN
: SELECT PRINT <I0$>(90)
: IF L<38THEN GOSUB '95(38-L)
: Q6$="CURRENT31 - 6061 - 90OVER 90"
: FOR J=1TO K0
: IF K1(J)+D9(J)<>0THEN PRINT TAB(J*11-8);STR(Q6$,J*7-6,7);
: NEXT J
: IF K1(K0+1)=0THEN PRINT HEX(0A)
: PRINT HEX(0A)
: FOR J=1TO 4
: PRINT TAB(J*11-10+1-SGN(5-J));
: IF K1(J)+D9(J)<>0THEN PRINTUSING 7420,K1(J)+D9(J);
: NEXT J
: PRINT TAB(46);
6644 PRINTUSING 7420,K1(5)+D9(1)+D9(2)+D9(3)+D9(4);
: PRINT TAB(67);
: PRINTUSING 7420,B7
: IF C1$(I)=HEX(FF)THEN RETURN
: GOSUB '95(12)
: MAT D9=ZER
: MAT K1=ZER
: B6,B7,B9,K3,K6=0
: RETURN
6730 IF C6$=HEX(00)THEN 6900
: IF K3<>0AND K3<>99999999THEN GOSUB 6410
: J2=K0*2+1
: J1=K0*2-1
: GOSUB 6020
: J2=K0
: J1=1
: IF K6<>0THEN GOSUB 6020
: J1=K0+1
: FOR J=1TO K0
: K1(J1)=K1(J1)+K1(J)
: K1(2*J1)=K1(2*J1)+K1(J+J1)
: K1(J)=K1(J)+K1(J+J1)
: NEXT J
: K1(J1)=K1(J1)+K1(2*J1)
: MAT K2=K2+K1
: MAT K2=K2+D9
: GOSUB 6520
6900 IF C1$(I)=HEX(FF)THEN 7190
: P1=1
6930 IF J0=7THEN GOSUB '92
: SELECT PRINT 005(80)
: GOSUB '232(1,0,C1$(I))
: A1$,A2$,A3$,A4$,A5$=" "
: GOSUB '91
: IF J0=7THEN 6930
: IF J0=0THEN GOSUB '50(2," ")
: PRINT AT(4,0,80);"Processing customer ID ";C1$(I);HEX(06)
: IF C1$(I)<K1$THEN RETURN
: K1$=" "
7040 SELECT PRINT <I0$>(90)
: PRINT TAB(11);D6$;TAB(23);C$;TAB(61);D6$;TAB(73);C$
: PRINT HEX(0A)
: PRINT TAB(11);A1$;
: IF P1>1THEN PRINT TAB(49);"PAGE ";P1;
: PRINT TAB(59);A1$
: PRINT TAB(11);A2$;TAB(59);A2$
: PRINT TAB(11);A3$;TAB(59);A3$
: PRINT TAB(11);A4$;TAB(28);A5$;TAB(59);A4$;TAB(76);A5$
: PRINT HEX(0A0A0A0A)
: L=22
: C6$=C1$(I)
: RETURN
7190 SELECT PRINT <I0$>(90)
: PRINT
: GOSUB '95(12)
: PRINT HEX(0A0A0A0E);TAB(10);"FINAL TOTALS"
: PRINT TAB(12);HEX(0E);D6$
: PRINT HEX(0B0A0A0E);TAB(8);"TOTAL CHARGES"
: FOR J2=0TO 1
: IF J2=1THEN PRINT HEX(0A0A0A0E);TAB(4);"TOTAL SVC CHARGES"
: PRINT " CURRENT 31 - 60 61 - 90 OVER 90 TOTAL"
: Q6$=HEX(050E17212E)
: FOR J=1TO 5
: PRINT TAB(VAL(STR(Q6$,J)));
7310 IF J2=0AND J=5THEN PRINTUSING 7420,K2(1)+K2(2)+K2(3)+K2(4);
: ELSE IF K2(J2*5+J)<>0OR J=5THEN PRINTUSING 7420,K2(J2*5+J);
: NEXT J
: PRINT
: NEXT J2
: MAT K1=K2
: PRINT
7390 DEFFN'31
: LOAD TM$
7410 %###,###.##
7420 %###,###.##-
7430 %#####
9998 DEFFN'29"Q$=";HEX(22);"ACCT050A";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 A/R statements.";HEX(22);":SELECT#15<I0$>:$OPEN#15:SELEC
TLIST<I0$>(132): LIST Z$:LIST Z$#:LIST Z$V:LIST Z$':$CLOSE#15:SELECTLIST0
05(80)";HEX(0D)