10 '*******************************************************************
20 '* TENANT MASTER FILE *
30 '* TENUP.BAS 8/23/82 *
40 '*******************************************************************
50 GOSUB 2320
60 'CLEAR 5000
70 ESC$=CHR$(27):HALF$=ESC$+CHR$(41):FULL$=ESC$+CHR$(40)
80 SC$=CHR$(26)
90 REVERSE$=ESC$+CHR$(71)+CHR$(52)
100 BLINK$=ESC$+CHR$(71)+CHR$(50)
110 SEQ$=ESC$+CHR$(71)
120 NORMAL$=SEQ$+CHR$(48):BLANK$=SEQ$+CHR$(49)
130 REVUNDER$=SEQ$+CHR$(60)
140 HALF$=ESC$+CHR$(41)
150 FULL$=ESC$+CHR$(40)
160 REVUNDER$=SEQ$+CHR$(60)
170 BLANK$=SEQ$+CHR$(49)
180 DIM NI$(201),NI#(201),OK#(24),OP(24),DP(24),IN(4),II$(30)
190 OPEN"I",1,"DATE.DAT"
200 INPUT#1,Y9$,W$,X$,Y$
210 CLOSE 1
220 PRINT CHR$(26);FULL$
230 TB=LEN("TENANT MASTERFILE UPDATE"):TB=(80-TB)/2
240 ESC$=CHR$(27):HALF$=ESC$+CHR$(41):FULL$=ESC$+CHR$(40)
250 PRINT TAB(TB);REVERSE$;" TENANT MASTERFILE UPDATE";NORMAL$
260 PRINT NORMAL$;FULL$;
270 PRINT:PRINT:PRINT TAB(25)"
";HALF$;"RINT TENANT LISTING";FULL$;NORMAL$
280 PRINT:PRINT:PRINT TAB(25)"";HALF$;"PDATE MASTERFILE";FULL$
290 PRINT:PRINT:PRINT TAB(25)"";HALF$;"AILING LABELS";FULL$
300 PRINT:PRINT:PRINT TAB(25)"";HALF$;"XIT PROGRAM";FULL$
310 PRINT:PRINT:PRINT BLINK$;TAB(25)"ENTER YOUR SELECTION";:AN$=INPUT$(1)
320 IF LEFT$(AN$,1)="P" THEN GOTO 1360
330 IF LEFT$(AN$,1)="M" THEN GOTO 1740
340 IF LEFT$(AN$,1)="E" THEN CLOSE:PRINT TAB(24);REVERSE$;"LOADING MAIN MENU ";NORMAL$:RUN"MENU"
350 IF LEFT$(AN$,1)="U" THEN GOTO 370
360 PRINT"SELECTION NOT VALID !!":GOTO 310
370 '****** START INPUT OF TENANT INFORMATION *********
380 PRINT CHR$(26)
390 GOSUB 2080
400 GOSUB 2100
410 PRINT CHR$(26)
420 PRINT CHR$(7); "ENTER TENANT NO. OR - 0 - TO EXIT";:INPUT KN#
430 IF KN#>99998! THEN 440 ELSE 450
440 PRINT "** NUMBER TO LARGE **":GOTO 420
450 IF KN#=0 GOTO 1330
460 GOSUB 2230
470 PRINT CHR$(26):PRINT TAB(18);HALF$;"*** TENANT FILE MAINTENANCE ***";FULL$
480 FOR X=1 TO 14:PRINT TAB(6)REVERSE$;SPACE$(17);NORMAL$:NEXT X
490 R=3:C=7:GOSUB 2300
500 PRINT AT$;"TENANT NUMBER :- ":R=3:C=27:GOSUB 2300:PRINT AT$;REVUNDER$;SPACE$(6);:R=3:C=28:GOSUB 2300:PRINT AT$;:PRINT USING"#####";KN#;:PRINT HALF$;NORMAL$
510 R=4:C=7:GOSUB 2300
520 ' ******* NAME ******
530 PRINT AT$;"NAME :---------- ";:R=4:C=27:GOSUB 2300:PRINT AT$;REVUNDER$;SPACE$(31);NORMAL$:R=4:C=28:GOSUB 2300:PRINT AT$;J$:J1$=J$:PRINT AT$;:LINE INPUT J$:IF LEN(J$)=0 THEN SWAP J1$,J$
540 IF J$="DELETE" GOTO 1290
550 PRINT AT$;J$
560 R=5:C=7:GOSUB 2300
570 ' ****** ADDRESS ******
580 PRINT AT$;"ADDRESS :------- ":R=5:C=27:GOSUB 2300:PRINT AT$;REVUNDER$;SPACE$(21);NORMAL$:R=5:C=28:GOSUB 2300:PRINT AT$;K$;:K1$=K$:PRINT AT$;:LINE INPUT K$:IF LEN(K$)=0 THEN SWAP K1$,K$
590 PRINT AT$;K$
600 R=6:C=7:GOSUB 2300
610 ' ******CITY-STATE-ZIP******
620 PRINT AT$;"CITY-STATE-ZIP:- ":R=6:C=27:GOSUB 2300:PRINT AT$;REVUNDER$;SPACE$(21);NORMAL$:R=6:C=28:GOSUB 2300:PRINT AT$;L$;:L1$=L$:PRINT AT$;:LINE INPUT L$:IF LEN(L$)=0 THEN SWAP L1$,L$
630 PRINT AT$;L$
640 R=7:C=7:GOSUB 2300
650 ' ****** RENT ******
660 PRINT AT$;"RENT :---------- ":R=7:C=27:GOSUB 2300:PRINT AT$;REVUNDER$;SPACE$(7);NORMAL$:R=7:C=28:GOSUB 2300:PRINT AT$;USING"####.##";M/100;:M1=M:PRINT AT$;:LINE INPUT X$:X=VAL(X$):X=X*100
670 IF X$="DELETE" THEN M=0:GOTO 700
680 IF X>0 THEN M=X:GOTO 700
690 IF X=0 THEN M=M1
700 PRINT AT$;USING"####.##";M/100
710 R=8:C=7:GOSUB 2300
720 '****** STORAGE ******
730 PRINT AT$;"STORAGE :------- ":R=8:C=27:GOSUB 2300:PRINT AT$;REVUNDER$;SPACE$(7);NORMAL$:R=8:C=28:GOSUB 2300:PRINT AT$;USING"####.##";M2/100;:M3=M2:PRINT AT$;:LINE INPUT X$:X=VAL(X$):X=X*100
740 IF X$="DELETE" THEN M2=0:GOTO 770
750 IF X>0 THEN M2=X:GOTO 770
760 IF X=0 THEN M2=M3
770 PRINT AT$;USING"####.##";M2/100
780 R=9:C=7:GOSUB 2300
790 ' ****** MISC. CHARGES *******
800 PRINT AT$;"MISC :---------- ":R=9:C=27:GOSUB 2300:PRINT AT$;REVUNDER$;SPACE$(7);NORMAL$:R=9:C=28:GOSUB 2300:PRINT AT$;USING"####.##";N/100;:M3=N:PRINT AT$;:LINE INPUT X$:X=VAL(X$):X=X*100
810 IF X$="DELETE" THEN N=0:GOTO 840
820 IF X<>0 THEN N=X:GOTO 840
830 IF X=0 THEN N=M3
840 PRINT AT$;USING"####.##";N/100
850 R=10:C=7:GOSUB 2300
860 '****** TV*******
870 PRINT AT$;"TV :------------ ":R=10:C=27:GOSUB 2300:PRINT AT$;REVUNDER$;SPACE$(7);NORMAL$:R=10:C=28:GOSUB 2300:PRINT AT$;USING"####.##";A1/100;:M3=A1:PRINT AT$;:LINE INPUT X$:X=VAL(X$):X=X*100
880 IF X$="DELETE" THEN A1=0:GOTO 910
890 IF X>0 THEN A1=X:GOTO 910
900 IF X=0 THEN A1=M3
910 PRINT AT$;USING"####.##";A1/100
920 R=11:C=7:GOSUB 2300
930 ' ****** GAS METER READING ******
940 PRINT AT$;"GAS METER :----- ":R=11:C=27:GOSUB 2300:PRINT AT$;REVUNDER$;SPACE$(5);NORMAL$:R=11:C=28:GOSUB 2300:PRINT AT$;USING"#####";A2;:M9=A2:PRINT AT$;:LINE INPUT X$:X=VAL(X$)
950 IF X$="DELETE" THEN A2=0:GOTO 980
960 IF X>0 THEN A2=X:GOTO 980
970 IF X=0 THEN A2=M9
980 PRINT AT$;USING"#####";A2
990 R=12:C=7:GOSUB 2300
1000 '****** ELECTRIC METER READING ******
1010 PRINT AT$;"ELEC.METER :---- ":R=12:C=27:GOSUB 2300:PRINT AT$;REVUNDER$;SPACE$(5);NORMAL$:R=12:C=28:GOSUB 2300:PRINT AT$;USING"#####";A3;:M9=A3:PRINT AT$;:LINE INPUT X$:X=VAL(X$)
1020 IF X$="DELETE" THEN A3=0:GOTO 1050
1030 IF X>0 THEN A3=X:GOTO 1050
1031 IF X=0 THEN A3=M9
1040 IF X=0 THEN A3=M9
1050 PRINT AT$;USING"#####";A3
1060 R=13:C=7:GOSUB 2300:M9=0
1070 '****** GAS CHARGE CODE *******
1080 PRINT AT$;"GAS CHARGE CODE :":R=13:C=27:GOSUB 2300:PRINT AT$;REVUNDER$;SPACE$(1);NORMAL$:R=13:C=28:GOSUB 2300:PRINT AT$;USING"#";A4:M9=A4:PRINT AT$;:LINE INPUT X$:X=VAL(X$)
1090 IF X>0 THEN A4=X:GOTO 1110
1100 IF X=0 THEN A4=M9
1110 R=14:C=7:GOSUB 2300:M9=0
1120 '****** ELECTRIC CHARGE CODE *******
1130 PRINT AT$;"EL.CHARGE CODE : ":R=14:C=27:GOSUB 2300:PRINT AT$;REVUNDER$;SPACE$(1);NORMAL$:R=14:C=28:GOSUB 2300:PRINT AT$;USING"#";A5;:M9=A5:PRINT AT$;:LINE INPUT X$:X=VAL(X$)
1131 IF X>0 THEN A5=X:GOTO 1150
1132 IF X=0 THEN A5=M9
1140 ' ********** GAS METER CODE ********
1150 R=15:C=7:GOSUB 2300:M9=0
1160 PRINT AT$;"GAS METER CODE : ":R=15:C=27:GOSUB 2300:PRINT AT$;REVUNDER$;SPACE$(1);NORMAL$:R=15:C=28:GOSUB 2300:PRINT AT$;USING"#";ML;:M9=ML:PRINT AT$;:LINE INPUT X$
1170 X=VAL(X$):IF X =0 THEN ML=M9:GOTO 1200
1180 IF X<4 OR X>5 THEN 1150
1190 ML=X
1200 ' ********* ELECTRIC METER CODE********
1210 R=16:C=7:GOSUB 2300:M9=0
1220 PRINT AT$;"EL.METER CODE: ":R=16:C=27:GOSUB 2300:PRINT AT$;REVUNDER$;SPACE$(1);NORMAL$:R=16:C=28:GOSUB 2300:PRINT AT$ USING"#";MM;:M9=MM:PRINT AT$;:LINE INPUT X$
1230 X=VAL(X$):IF X=0 THEN MM=M9:GOTO 1260
1240 IF X<4 OR X>5 THEN 1210
1250 MM=X
1260 PRINT FULL$
1290 '
1300 GOSUB 2260
1310 J$=" ":K$=" ":M=0:N=0:A1=0:A2=0:A4=0:A3=0:A5=0:M2=0:M1=0:M3=0:X=0:M9=0
1320 GOTO 410
1330 '
1340 CLOSE
1350 GOTO 220
1360 C9=0: X=0:PRINT CHR$(26)'************** TENANT NAME LISTING ***********
1370 ' C9=LINE COUNTER FOR PRINTER
1380 PRINT REVERSE$; TAB(25);"** TENANT NAME LIST **"
1390 PRINT :INPUT"> ENTER DATE TO APPEAR ON REPORT EX. 01/01/79 : ";F2$
1400 CLOSE 1
1410 OPEN "I",5,"DATE.DAT":INPUT #5,Y9$,W$,X$,Y$:CLOSE 5
1420 Y9$=F2$
1430 OPEN"O",5,"DATE.DAT":PRINT #5,Y9$;",";W$;",";X$;",";Y$:CLOSE 5:X=0
1440 GOSUB 1480
1450 GOSUB 2080
1460 GOSUB 2100
1470 GOTO 1530
1480 LPRINT USING "\ \ TENANT MASTER LIST AS OF \ \";W$;Y9$
1490 LPRINT " "
1500 LPRINT"SPACE";TAB(15);"NAME";TAB(35);"ADDRESS";TAB(55);"CITY - STATE - ZIP"
1510 LPRINT STRING$(79,"-")
1520 C9=C9+4:RETURN
1530 FOR COUNT%=1 TO NUM%
1540 'NUM% DATA FROM LINE 4000 ON -
1550 GOSUB 2220
1560 IF WA#=0 THEN 1660
1570 LPRINT USING"##### \ \ \ \ \ \ ";WA#;J$;K$;L$
1580 LPRINT USING" Rent:$###.## Storage:$###.## Misc:$###.## TV:$###.## Gas Code:# El.Code:#";M/100;M2/100;N/100;A1/100;A4;A5
1590 LPRINT USING" Gas Meter:##### Elect.Meter:#####";A2;A3
1600 LPRINT TAB(7);STRING$(72,"=")
1610 C9=C9+4
1620 IF C9<56 GOTO 1660
1630 FOR XX=C9 TO 65:LPRINT" ":NEXT XX
1640 C9=0
1650 GOSUB 1480
1660 NEXT COUNT%
1670 CLOSE
1680 LPRINT " "
1690 IF R9=1 GOTO 2040
1700 LPRINT USING "TOTAL NUMBER OF TENANTS #####";Z
1710 C9=C9+2
1720 FOR XX%=C9 TO 65:LPRINT"":NEXT XX%
1730 GOTO 10
1740 PRINT CHR$(26):REM -- AROLAB --
1750 PRINT "CHANGE TO YOUR ADDRESS LABELS HIT ENTER WHEN READY":INPUT T
1760 '
1770 PRINT TAB(10);"** TENANT ADDRESS LABELS **":PRINT STRING$(64,"-")
1780 PRINT:PRINT"** PUT ADDRESS LABELS IN LINE PRINTER **"
1790 INPUT"> WHEN READY PRESS 'ENTER' ";Q$
1800 R9=1
1810 GOSUB 2080
1820 GOSUB 2100
1830 FOR X=1 TO 4:LPRINT"*":NEXT:LPRINT" ":LPRINT" "
1840 INPUT"> ARE THE *'S CENTERED VERTICALLY AND ON LEFT MARGIN (Y/N) ";Q$
1850 IF Q$="N" GOTO 1790
1860 IF LEFT$(Q$,1)<>"Y"THEN 1840
1870 PRINT "DO YOU WANT THE SPACE NUMBER TO PRINT (Y/N) ";Q$
1880 INPUT Q$
1890 IF LEFT$(Q$,1)="Y"THEN Y8=1:GOTO 1910
1900 IF LEFT$(Q$,1)<>"N"THEN 1870 ELSE Y8=2
1910 FOR COUNT%=1 TO NUM%
1920 GOSUB 2220
1930 IF WA#=0 THEN 2030
1940 IF Y8=1 GOTO 1970
1950 LPRINT USING " \ \";J$
1960 GOTO 1980
1970 LPRINT USING "###### \ \";WA#;J$
1980 LPRINT USING " \ \";K$
1990 LPRINT USING " \ \";L$
2000 LPRINT USING " \ \";M$
2010 LPRINT:LPRINT:LPRINT
2020 Z=Z+1
2030 NEXT COUNT%
2040 PRINT "CHANGE BACK TO REGULAR PAPER"
2050 '
2060 R9=0
2070 RUN"MENU"
2080 OPEN "R",2,"NAME.DAT",146
2090 RETURN
2100 REM
2110 FIELD 2,8 AS MA$,30 AS MB$,20 AS MC$,20 AS MD$,8 AS ME$,8 AS M9$,8 AS MF$,8 AS MG$,8 AS MH$,8 AS MI$,8 AS MJ$,8 AS MK$,2 AS ML$,2 AS MM$
2120 RETURN
2130 REM CONVERT FROM DATA TO DISK FORMAT PRIOR TO PUT
2140 RSET MA$=MKD$(KN#):LSET MB$=J$:LSET MC$=K$:LSET MD$=L$:RSET ME$=MKD$(M):RSET MF$=MKD$(N):RSET M9$=MKD$(M2):RSET ML$=MKI$(ML)
2150 RSET MG$=MKD$(A1):RSET MH$=MKD$(A2):RSET MI$=MKD$(A3):RSET MJ$=MKD$(A4):RSET MK$=MKD$(A5):RSET MM$=MKI$(MM)
2160 RETURN
2170 REM TO CONVERT FROM DISK INTO WORK FIELDS AFTER GET
2180 WA#=CVD(MA$):J$=MB$:K$=MC$:L$=MD$:M=CVD(ME$):N=CVD(MF$):A1=CVD(MG$):A2=CVD(MH$):A3=CVD(MI$):A4=CVD(MJ$):A5=CVD(MK$):M2=CVD(M9$):ML=CVI(ML$):MM=CVI(MM$)
2190 RETURN
2200 '
2210 '
2220 '
2230 GET 2,KN#
2240 GOSUB 2170
2250 RETURN
2260 GOSUB 2100
2270 GOSUB 2130
2280 PUT 2,KN#
2290 RETURN
2300 R=R+31:C=C+31:AT$=CHR$(27)+"="+CHR$(R)+CHR$(C):RETURN
2310 END
2320 XX=1:ZZ=0:NUM%=0:COUNT%=0
2330 GOSUB 2080:GOSUB 2110
2340 ZZ=XX*128
2350 GET 2,ZZ
2360 COUNT%=LOF(2)
2370 IF COUNT%<128 THEN NUM%=(XX-1)*128+LOF(2):NUM%=INT((128*NUM%)/142):GOTO 2380
2380 CLOSE:RETURN