10 ' PROGRAM NAME "GL4" 20 ' PROGRAMMED BY: BUD SHAMBURGER NOVEMBER 1976 30 ' #27 RED OAK DR 40 ' CONWAY ARK 72032 50 ' 501-327-3641 60 ' 70 ' THIS PROGRAM TAKES THE DATA ENTERED FROM THE TERMINAL, 80 ' (CHECK NUMBER AND MONEY AMOUNT FROM ENCODED MICR BANK FIELD) 90 ' (TAKEN FROM THIS MONTHS CANCELLED CHECKS) 100 ' (CHANGES THE RECORD TYPE CODE TO A '3' ON THE DISK RECORD) 110 ' SORTS IT ON CK# AND TAGS THE -BANKCURR- FILE FOR CHECKS CASHED, 120 ' COMPARING ON CHECK NUMBER AND MONEY AMOUNT. 130 ' -BANKCURR- FILE IS ON DR1. 500 ENTRIES MAX FROM TERMINAL 140 ' 150 '******************************************************************* 160 ' 170 CLEAR 1000 180 PRINT "TAG CHECKS CASHED - 500 ENTRIES MAX" 190 DIM B(500) 200 DIM BB$(500) 210 JS=4 220 REC=200 230 INPUT "ENTER -Y- TO MOUNT THE FILE";WY$ 240 IF WY$<>"Y" THEN 280 260 PRINT "** ENTER ** -T- TO TERMINATE INPUT" 270 PRINT 280 INPUT "ENTER REPORT DATE AS MOYR";DT$ 290 H1$=" CHEK AMOUNT" 300 H2$=" NMBR $$$.$$$.$$" 310 PRINT H1$:PRINT H2$ 320 FOR J=1 TO 2 330 INPUT A$ 340 IF MID$(A$,1,1)="T" THEN 520' LAST ENTRY MADE - GO SORT ON CHECK# 350 B=LEN(A$) 360 IF B<>15 THEN 490 370 IF MID$(A$,5,1)<>" " THEN 490 'EDIT 380 IF MID$(A$,9,1)<>"." AND MID$(A$,9,1)<>" " THEN 490' EDIT 390 IF MID$(A$,13,1)<>"." THEN 490 400 I=I+1 410 C$=MID$(A$,1,4): 420 C=VAL(C$) 430 B(I)=C 440 D$="-"+MID$(A$,6,3)+MID$(A$,10,6) 450 BB$(I)=D$ 460 NEXT J 470 IF I>500 THEN PRINT "TOO MANY ENTRIES":STOP 480 GOTO 290 490 PRINT CHR$(7);CHR$(7);CHR$(7);CHR$(7);CHR$(7);CHR$(7) 500 PRINT H1$:PRINT H2$' EDIT ERROR REPEAT LINE 510 GOTO 330 520 N=I 530 GOSUB 1020' GO SORT ON CHECK# 540 OPEN "R",1,"BANKCURR" 550 GOSUB 770' GO GET 1ST DISK RECORD 560 FOR I=1 TO N 570 DCK=VAL(DCK$) 580 IF B(I)=DCK THEN 620' GO CHECK AMOUNT & TAG 590 IF B(I)"2" THEN 890' BYPASS BAL FWD & BAD RECORDS 840 IF MID$(DREC$(J),11,1)<>"C" THEN 890' BYPASS VOUCHERS 850 DCK$=MID$(DREC$(J),12,4) 860 DOL$=MID$(DREC$(J),31,1)+MID$(DREC$(J),33,9) 870 JS=J+1 880 RETURN 890 NEXT J 900 REC=REC+1 910 IF REC>400 THEN 950 920 GET #1,REC 930 JS=1 940 GOTO 790 950 IF I>N THEN 710 960 P=I 970 FOR I=P TO N 980 PRINT "NO DISK RECORD FOR ";B(I) 990 NEXT I 1000 GOTO 710 1010 ' 1020 ' THIS ROUTINE SORTS THE TERMINAL ENTRIES ON CHECK# 1030 ' 1040 M=N 1050 M=INT(M/2) 1060 EXH=0 1070 IF M=0 THEN 1210 ' END OF SORT - GOTO NEXT ROUTINE 1080 K=N-M 1090 Q=1 1100 I=Q 1110 L=I+M 1120 IF B(I)<=B(L) THEN 1180 1130 SWAP B(I),B(L) 1140 SWAP BB$(I),BB$(L) 1150 EXH=EXH+1 1160 I=I-M 1170 IF I>=1 THEN 1110 1180 Q=Q+1 1190 IF Q>K THEN PRINT "M = ";M;" SWAPS MADE = ";EXH:GOTO 1050 1200 GOTO 1100 1210 RETURN' END OF SORT 1220 END