1  REM  ****  HP BASIC PROGRAM LIBRARY  *******************************
2  REM
3  REM         ACCLEG : CTC ACCOUNTS RECEIVABLE 
4  REM
5  REM         36214 REV  B  PART 7 OF 13   2/73 
6  REM
7  REM  ****  CONTRIBUTED PROGRAM  ************************************
10  DIM T$[26],B$[2],L$[15]
11  DIM T[10],S[4,2]
100  FILES G12
200  MAT T=ZER
210  MAT S=ZER
300  IF  END #1 THEN 1200
305  PRINT "(1) TOP OF FORM OR (2) ABDICK";
306  INPUT P5
307  IF P5=1 OR P5=2 THEN 310
308  PRINT '7'7'7'7'7'7"WHAT";
309  GOTO 306
310  PRINT "ENTER TODAY'S DATE";
320  INPUT D1
330  IF D1>9999 AND D1<10^7 THEN 400
340  PRINT "ILLEGAL DATE"
350  GOTO 310
400  PRINT '12;
401  PRINT '18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18;
405  K=4
410  GOSUB 9905
420  PRINT TAB(12)"C O M P U T E R  T E R M I N A L  C O R P O R A T I O N"'13;
425  K=1
430  GOSUB 9900
440  PRINT TAB(29)"DAILY RECEIVABLE ENTRY"'13;
442  GOSUB 6000
445  PRINT TAB(36);
450  X$="0"
460  Z$="##/##/##"
470  Z[1]=INT(D1/10^4)
475  Z[2]=INT((D1-Z[1]*10^4)/100)
480  Z[3]=D1-Z[1]*10^4-Z[2]*100
485  GOSUB 9000
490  GOSUB 6000
500  P8=8
530  GOSUB 3000
1000  R=1
1010  READ #1,R;U6,T$,B$,D,S1,X,C0,S5,S6,P0
1020  GOSUB 3090
1030  IF F1 THEN 1050
1040  GOSUB 2000
1050  READ #1;U6,T$,B$,D,S1,X,C0,S5,S6,P0
1060  GOSUB 3090
1070  IF F1 THEN 1090
1080  GOSUB 2000
1090  R=R+1
1100  GOTO 1010
1200  REM
1205  GOSUB 3200
1210  K=4
1220  GOSUB 9900
1230  PRINT TAB(34)"TYPE TOTAL";
1235  K=3
1250  GOSUB 9900
1270  PRINT TAB(25)"TYPE        VENDOR #     INVOICE #"'13;
1290  K=2
1300  GOSUB 9900
1302  X$=" "
1305  Z$="#######"
1310  FOR I1=1 TO 4
1320  PRINT TAB(22);
1330  GOTO I1 OF 1340,1360,1380,1400
1340  L$="CASH RECPT"
1350  GOTO 1410
1360  L$="SALE BILL"
1370  GOTO 1410
1380  L$="LEASE BILL"
1390  GOTO 1410
1400  L$="TOTAL"
1410  PRINT L$;TAB(37);
1420  Z[1]=S[I1,1]
1430  GOSUB 9000
1440  S[4,1]=S[4,1]+S[I1,1]
1450  PRINT TAB(51);
1460  Z[1]=S[I1,2]
1465  GOSUB 9000
1470  S[4,2]=S[4,2]+S[I1,2]
1480  PRINT '13;
1485  K=1
1487  GOSUB 9900
1490  NEXT I1
1491  PRINT 
1492  PRINT "DO YOU WANT TO CLEAR THE TRANSACTION FILE";
1494  INPUT L$
1496  IF L$[1,1]="N" THEN 1500
1497  PRINT #1,1
1498  PRINT #1; END 
1500  END 
2000  PRINT TAB(4);
2005  X$="0"
2010  Z$="A####"
2020  Z[1]=U6
2025  T[1]=T[1]+U6
2030  S[B1,1]=S[B1,1]+U6
2035  GOSUB 9000
2040  PRINT "  "T$;TAB(39);
2045  X$=" "
2046  Z$[1,1]=" "
2047  IF SGN(S1)#-1 THEN 2050
2048  Z$[1,1]="*"
2050  Z$[2]="#####"
2060  Z[1]=S1
2065  T[2]=T[2]+ABS(S1)
2070  S[B1,2]=S[B1,2]+ABS(S1)
2075  GOSUB 9000
2080  PRINT "  ";
2090  Z$="##/##/##"
2100  Z[1]=S2
2110  Z[2]=S3
2120  Z[3]=S4
2130  GOSUB 9000
2140  GOTO B1 OF 2210,2260,2300
2210  PRINT "    ";
2220  S=3
2240  GOSUB 2900
2250  GOTO 2330
2260  PRINT TAB(70)"  ";
2270  S=5
2280  GOSUB 2900
2290  GOTO 2330
2300  PRINT TAB(70)"              ";
2310  S=7
2320  GOSUB 2900
2330  PRINT '13;
2332  K=1
2335  GOSUB 9900
2340  P9=P9+2
2350  IF P9<60 THEN 2380
2352  GOTO P5 OF 2353,2357
2353  PRINT '12;
2354  PRINT '18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18;
2355  GOTO 2370
2357  K=66-P9
2360  GOSUB 9905
2370  GOSUB 3000
2380  RETURN 
2900  IF C0#0 THEN 2910
2905  C0=1
2910  Z[1]=S5
2915  X$=" "
2917  Z$="#####"
2918  GOSUB 9000
2920  T[S]=T[S]+ABS(S5)*C0
2940  PRINT ".";
2945  X$="0"
2950  Z$="##"
2955  Z[1]=S6
2960  GOSUB 9000
2962  IF C0>0 THEN 2965
2963  PRINT "CR";
2965  T[S+1]=T[S+1]+ABS(S6)*C0
2968  X1=T[S]
2970  X2=T[S+1]
2980  GOSUB 4000
2982  T[S]=X1
2984  T[S+1]=X2
2995  RETURN 
3000  K=4
3010  GOSUB 9905
3020  PRINT "  VENDOR#  VENDOR NAME                  ";
3030  PRINT "INV #  INV DATE  CASH RECPT    SALE BILL  LEASE BILL"'13;
3040  K=2
3050  GOSUB 9900
3060  P9=7+P8
3070  P8=0
3080  RETURN 
3090  S2=INT(X/10^4)
3092  S3=INT((X-S2*10^4)/100)
3094  S4=X-S2*10^4-S3*100
3100  F1=0
3105  IF B$[1,1]#"M" THEN 3135
3107  C0=-1
3108  IF S5 >= 0 THEN 3110
3109  C0=1
3110  IF D=6 THEN 3168
3112  IF D=7 THEN 3164
3115  F1=1
3120  RETURN 
3135  IF B$[1,1]="P" THEN 3160
3140  IF B$="NS" THEN 3164
3145  IF B$="CS" THEN 3164
3150  IF B$="NL" THEN 3168
3152  IF B$="CL" THEN 3168
3154  PRINT "ERROR IN CODE"
3156  STOP 
3160  B1=1
3162  RETURN 
3164  B1=2
3166  RETURN 
3168  B1=3
3170  RETURN 
3200  PRINT "TOT";TAB(3);
3205  X$=" "
3210  Z$="######"
3220  Z[1]=T[1]
3230  GOSUB 9000
3240  K=29
3250  GOSUB 9950
3260  Z$="#######"
3270  Z[1]=T[2]
3280  GOSUB 9000
3290  K=12
3300  GOSUB 9950
3310  FOR I1=3 TO 7 STEP 2
3315  IF I1=3 THEN 3330
3320  IF I1=7 THEN 3327
3322  PRINT "   ";
3325  GOTO 3330
3327  PRINT "  ";
3330  X$=" "
3340  Z$="+######"
3350  Z[1]=T[I1]
3360  GOSUB 9000
3370  PRINT ".";
3380  X$="0"
3390  Z$="##"
3400  Z[1]=T[I1+1]
3410  GOSUB 9000
3411  NEXT I1
3413  PRINT '13;
3414  GOSUB 6000
3416  GOTO P5 OF 3417,3420
3417  PRINT '12;
3418  PRINT '18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18'18;
3419  RETURN 
3420  K=66-P9
3430  GOSUB 9900
3440  RETURN 
4000  IF X2>-100 THEN 4030
4010  X1=X1-1
4020  X2=X2+100
4030  IF X2>99 THEN 4070
4040  IF SGN(X1)*SGN(X2) >= 0 THEN 4060
4050  X1=X1-SGN(X1)
4055  X2=X2-100*SGN(X2)
4060  RETURN 
4070  X1=X1+INT(X2*.01)
4080  X2=(X2*.01-INT(X2*.01))*100
4090  IF X2-INT(X2)<(.9) THEN 4110
4100  X2=INT(X2)+1
4110  RETURN 
6000  PRINT 
6020  RETURN 
9000  REM
9005  V=Z2=Z3=Z4=Z5=Z7=Z8=Z9=1
9010  DIM V$[72],Y$[10],Z$[72]
9015  Y$="0123456789"
9020  Z0=Z9-1
9025  Z0=Z0+1
9030  IF Z0=LEN(Z$)+1 THEN 9350
9035  IF Z$[Z0,Z0]="#" THEN 9075
9040  IF Z$[Z0,Z0+1]=".#" THEN 9075
9045  IF Z$[Z0,Z0+1]="+#" THEN 9065
9050  V$[V,V]=Z$[Z0,Z0]
9055  V=V+1
9060  GOTO 9025
9065  Z4=0
9070  GOTO 9025
9075  Z=100
9080  Z6=Z[Z2]
9085  Z9=Z0-1
9090  Z9=Z9+1
9095  IF Z$[Z9,Z9]="." THEN 9110
9100  IF Z$[Z9,Z9]="#" THEN 9090
9105  GOTO 9130
9110  IF Z5#1 THEN 9130
9115  Z5=0
9120  Z=Z9
9125  GOTO 9090
9130  IF Z#100 THEN 9140
9135  Z=Z9
9140  IF Z4=1 THEN 9175
9145  IF Z6 >= 0 THEN 9165
9150  V$[V,V]="-"
9155  V=V+1
9160  GOTO 9175
9165  V$[V,V]=" "
9170  V=V+1
9175  IF Z=Z9 THEN 9190
9180  Z6=ABS(Z6)+5*10^(Z-Z9)
9185  GOTO 9195
9190  Z6=ABS(Z6)+.5
9195  Z7=10^(Z-Z0-1)
9200  Z4=10*Z7
9205  FOR Z1=Z-Z0 TO Z+1-Z9 STEP -1
9210  IF Z1#0 THEN 9235
9215  V$[V,V]="."
9220  V=V+1
9225  Z3=0
9230  GOTO 9330
9235  Z8=INT(Z6/Z7)
9240  IF Z6<Z4 THEN 9260
9245  V$[V,V]="#"
9250  V=V+1
9255  GOTO 9325
9260  Z6=Z6-Z8*Z7
9265  IF Z8=0 THEN 9275
9270  Z3=0
9275  IF Z3=0 THEN 9315
9280  IF Z1#1 THEN 9300
9285  V$[V,V]="0"
9290  V=V+1
9295  GOTO 9325
9300  V$[V,V]=X$
9305  V=V+1
9310  GOTO 9325
9315  V$[V,V]=Y$[Z8+1,Z8+1]
9320  V=V+1
9325  Z7=Z7/10
9330  NEXT Z1
9335  Z3=Z4=Z5=Z7=1
9340  Z2=Z2+1
9345  GOTO 9020
9350  PRINT V$;
9355  V$=""
9360  RETURN 
9900  GOSUB 6000
9905  FOR K1=1 TO K
9910  PRINT 
9920  NEXT K1
9930  RETURN 
9950  FOR K1=1 TO K
9960  PRINT " ";
9970  NEXT K1
9980  RETURN 
9999  END 
