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)