1  COM Z0$[45],Z1$[45],H
2  REM***Program to output the contents of the master mail file as
3  REM***lables for mailing or as or as standard Moore Format Letters.
4  REM***Selection of names outputted can be by ZIP code or by Customer code.
5  REM***Works in conjunction with $MMAIL which builds and maintains file.
6  REM***Written and installed 3/25/81 by Bob Anderson
10  PRINT "                     *******************"
11  PRINT "                     *       M2        *"
12  PRINT "                     *  Format & label *"
13  PRINT "                     *      Output     *"
14  PRINT "                     *******************"
15  PRINT LIN(5)
30  FILES *,*,*,*,*
40  DIM A$[72],B$[72],C$[72],D$[72]
50  DIM E$[72],F$[72],G$[72],H$[72]
60  DIM I$[72],J$[72],K$[72],L$[72]
70  DIM M$[72],N$[72],O$[72],P$[72]
80  DIM Q$[72],R$[72],S$[72],T$[72]
90  DIM U$[72],V$[72],W$[72],X$[72]
100  DIM A1$[120],B1$[120],C1$[120],D1$[120],E1$[120],F1$[120],G1$[120],H1$[120]
105  DIM H0$[10],V0$[10]
106  DIM N1$[72],R1$[72],T1$[72]
110  DIM I1$[120],J1$[120],K1$[120],L1$[120]
290  REM***MENU***
300  PRINT "     Menu"
305  PRINT "     ===="
310  PRINT "    1=Form Mailer Print"
320  PRINT "    2=Label Print"
330  PRINT 
335  PRINT "    3=End Program"
340  PRINT "    0=Menu"
350  X=0
355  PRINT ">";
360  INPUT X
362  IF X<0 OR X>3 THEN 9998
363  IF X=0 THEN 9998
365  PRINT LIN(10)
370  GOTO X OF 1000,7000,9999
1000  REM***FORMATTED OUTPUT SECTION***
1010  PRINT "Formatted output section"
1015  H=1
1030  PRINT LIN(2)"Form letter output (Moore Bus Forms standard) Run?";
1115  X$=""
1120  LINPUT X$
1122  X$=UOS$(X$)
1125  IF X$="0" THEN 9998
1130  IF X$[1,1]="N" THEN 9998
1140  PRINT LIN(2)"Input the 'from' address"
1150  PRINT LIN(2)"Company name:";
1160  LINPUT M$
1170  PRINT "Company address:";
1180  LINPUT Q$
1190  PRINT "City, State, Zip:";
1200  LINPUT O$
1210  PRINT "Telephone #:";
1220  LINPUT O$
1230  PRINT LIN(3)"Now input the message exactly as you want to see on the form."
1240  PRINT "You have 12 lines of 72 characters each."
1250  G=0
1260  PRINT LIN(2)"#1 > ";
1270  LINPUT A1$
1280  IF LEN(A1$) <= 72 THEN 1310
1290  PRINT "Only 72  characters. you have ";LEN(A1$)
1300  GOTO 1260
1310  IF G=1 THEN 1980
1320  PRINT "#2 > ";
1330  LINPUT B1$
1340  IF LEN(B1$) <= 72 THEN 1370
1350  PRINT "72  char.  You have ";LEN(B1$)
1360  GOTO 1320
1370  IF G=1 THEN 1980
1380  PRINT "#3 > ";
1390  LINPUT C1$
1400  IF LEN(C1$) <= 72 THEN 1430
1410  PRINT "72  char. You have ";LEN(C1$)
1420  GOTO 1380
1430  IF G=1 THEN 1980
1440  PRINT "#4 > ";
1450  LINPUT D1$
1460  IF LEN(D1$) <= 72 THEN 1490
1470  PRINT "72  char.  you have ";LEN(D1$)
1480  GOTO 1440
1490  IF G=1 THEN 1980
1500  PRINT "#5 > ";
1510  LINPUT E1$
1520  IF LEN(E1$) <= 72 THEN 1550
1530  PRINT "72  char.  You have ";LEN(E1$)
1540  GOTO 1500
1550  IF G=1 THEN 1980
1560  PRINT "#6 > ";
1570  LINPUT F1$
1580  IF LEN(F1$) <= 72 THEN 1610
1590  PRINT "72  char.  you have ";LEN(F1$)
1600  GOTO 1560
1610  IF G=1 THEN 1980
1620  PRINT "#7 > ";
1630  LINPUT G1$
1640  IF LEN(G1$) <= 72 THEN 1670
1650  PRINT "72  char.  you have ";LEN(G1$)
1660  GOTO 1620
1670  IF G=1 THEN 1980
1680  PRINT "#8 > ";
1690  LINPUT H1$
1700  IF LEN(H1$) <= 72 THEN 1730
1710  PRINT "72  char.  You have ";LEN(H1$)
1720  GOTO 1680
1730  IF G=1 THEN 1980
1740  PRINT "#9 > ";
1750  LINPUT I1$
1760  IF LEN(I1$) <= 72 THEN 1790
1770  PRINT "72  char.  you have ";LEN(I1$)
1780  GOTO 1740
1790  IF G=1 THEN 1980
1800  PRINT "#10> ";
1810  LINPUT J1$
1820  IF LEN(J1$) <= 72 THEN 1850
1830  PRINT "72  char.  you have ";LEN(J1$)
1840  GOTO 1800
1850  IF G=1 THEN 1980
1860  PRINT "#11> ";
1870  LINPUT K1$
1880  IF LEN(K1$) <= 72 THEN 1910
1890  PRINT "72  char.  You have "'7LEN(K1$)
1900  GOTO 1860
1910  IF G=1 THEN 1980
1920  PRINT "#12> ";
1930  LINPUT L1$
1940  IF LEN(L1$) <= 72 THEN 1970
1950  PRINT "72  char.  You have "'7;LEN(L1$)
1960  GOTO 1920
1970  IF G=1 THEN 1980
1975  PRINT "No more lines!"
1980  PRINT "(cr) to continue; Line # to edit. ";
1990  G=1
2000  X$=""
2010  LINPUT X$
2020  IF X$="" THEN 2060
2030  CONVERT X$ TO X,2622
2040  IF X<1 OR X>12 THEN 1980
2050  GOTO X OF 1260,1320,1380,1440,1500,1560,1620,1680,1740,1800,1860,1920
2060  PRINT LIN(4)"#1 > ";A1$
2070  PRINT "#2 > ";B1$
2080  PRINT "#3 > ";C1$
2090  PRINT "#4 > ";D1$
2100  PRINT "#5 > ";E1$
2110  PRINT "#6 > ";F1$
2120  PRINT "#7 > ";G1$
2130  PRINT "#8 > ";H1$
2140  PRINT "#9 > ";I1$
2150  PRINT "#10> ";J1$
2160  PRINT "#11> ";K1$
2170  PRINT "#12> ";L1$
2180  PRINT LIN(3)"This is it! Any further changes?  (cr)=No ";
2190  X$=""
2200  LINPUT X$
2210  IF X$[1,1]="Y" THEN 1980
2220  PRINT LIN(4)"TO address: (cr)=mail list ";
2230  X$=""
2240  LINPUT X$
2250  IF X$="" THEN 2420
2260  PRINT LIN(2)"Manual address:"
2270  PRINT "Contact > ";
2280  N$=""
2290  LINPUT N$
2300  PRINT "Company > ";
2310  I$=""
2320  LINPUT I$
2330  PRINT "Address > ";
2340  R$=""
2350  LINPUT R$
2360  PRINT "City, State > ";
2370  T$=""
2380  LINPUT T$
2390  PRINT "ZIP code > ";
2400  K$=""
2410  LINPUT K$
2420  REM***FORMS PRINTOUT SECTION***
2430  PRINT LIN(3)"*****Output routinE*****"
2440  PRINT "/E=backstep one line"
2450  PRINT " 0=return to menu"
2460  PRINT " ?=instructions"
2470  ASSIGN Z0$,1,X2, PR 
2480  IF X2=6 THEN 2500
2485  PRINT X2
2490  GOTO 2530
2500  PRINT "SOME ONE IS PRINTING . PLEASE TRY LATER"'7
2510  ASSIGN *,1
2520  GOTO 1300
2530  PRINT "Print all names ?  (cr)=Yes ";
2540  F$=""
2550  LINPUT F$
2560  F$=UOS$(F$)
2570  IF F$="/E" THEN 1530
2580  IF F$="" THEN 2600
2590  GOTO 2630
2600  F$="00000"
2610  A$="AAAAA"
2615  H0$="AAA"
2620  GOTO 2690
2630  GOSUB 9000
2690  PRINT "Line printer ? (cr)=Yes ";
2700  C$=""
2710  IF C$="/E" THEN 2530
2720  LINPUT C$
2730  C$=UOS$(C$)
2740  IF C$="" THEN 2770
2750  Z=0
2760  GOTO 3130
2770  PURGE R,"MXASC"
2780  SYSTEM X,"FILE-MXASC,LP0"
2790  GOTO 2810
2800  PRINT "The LP is busy...please stand by!"
2810  ASSIGN "MXASC",2,R
2820  IF R=8 THEN 2850
2830  IF R=6 THEN 2800
2840  PRINT "Assignmment of LP failed!!";R
2850  Z=2
2860  PRINT "Your off!! Check LP for test pattern."
2870  PRINT #2;LIN(3)
2880  PRINT #2;TAB(7);"XXXXXXXXXXXXXXXXXXXXXXXXX"
2890  PRINT #2;TAB(7);"XXXXXXXXXXXXXXXXXXXXXXXXX"
2900  PRINT #2;TAB(7);"XXXXXXXXXXXXXXXXXXXXXXXXX"
2910  PRINT #2;LIN(1);TAB(7);"XXXXXXXXXXXXXXXXXXXXXXXXX"
2920  PRINT #2;LIN(1)
2930  FOR I=1 TO 12
2940  FOR J=1 TO 72
2950  PRINT #2;TAB(7);"X";
2960  NEXT J
2970  PRINT #2
2980  NEXT I
2990  PRINT #2;LIN(1)
3000  PRINT #2;TAB(50);"XXXXXXXXXXXXXXXXXXXXXXXXX"
3010  PRINT #2;TAB(50);"XXXXXXXXXXXXXXXXXXXXXXXXX"
3020  PRINT #2;TAB(50);"XXXXXXXXXXXXXXXXXXXXXXXXX"
3030  PRINT #2;TAB(50);"XXXXXXXXXXXXXXXXXXXXXXXXX"
3040  PRINT #2;TAB(50);"XXXXX"
3050  PRINT #2;LIN(2)
3060  PRINT "Yes=Proceed to print   (cr)=Retest";
3070  B$=""
3080  LINPUT B$
3090  B$=UOS$(B$)
3100  IF B$="0" THEN 1300
3110  IF B$[1,1]="Y" THEN 3130
3120  GOTO 2870
3130  READ #1,1
3140  IF  END #1 THEN 3470
3150  READ #1;N$,I$,R$,T$,K$,G$,H$
3160  IF K$<F$ THEN 3150
3170  IF K$>A$ THEN 3150
3171  IF H0$[1,1]="A" THEN 3173
3172  IF H0$[1,1]#H$[1,1] THEN 3150
3173  IF H0$[2,2]="A" THEN 3180
3174  IF H0$[2,2]#H$[2,2] THEN 3150
3175  IF H0$[3,3]="A" THEN 3180
3176  IF H0$[3,3]#H$[3,3] THEN 3150
3180  IF N$[1,3]='25'25'25 THEN 3150
3185  PRINT #2;LIN(3)
3190  PRINT #2;TAB(7);M$
3200  PRINT #2;TAB(7);Q$
3210  PRINT #2;TAB(7);O$
3220  PRINT #2;LIN(1);TAB(7);P$
3230  PRINT #2;LIN(1)
3240  PRINT #2;TAB(7);A1$
3250  PRINT #2;TAB(7);B1$
3260  PRINT #2;TAB(7);C1$
3270  PRINT #2;TAB(7);D1$
3280  PRINT #2;TAB(7);E1$
3290  PRINT #2;TAB(7);F1$
3300  PRINT #2;TAB(7);G1$
3310  PRINT #2;TAB(7);H1$
3320  PRINT #2;TAB(7);I1$
3330  PRINT #2;TAB(7);J1$
3340  PRINT #2;TAB(7);K1$
3350  PRINT #2;TAB(7);L1$
3360  PRINT #2;LIN(1)
3370  PRINT #2;TAB(50);N$
3380  PRINT #2;TAB(50);I$
3390  PRINT #2;TAB(50);R$
3400  PRINT #2;TAB(50);T$
3410  IF K$#"11111" THEN 3430
3420  K$=""
3430  PRINT #2;TAB(50);K$
3440  PRINT #2;LIN(2)
3450  GOTO 3150
3460  GOTO 3150
3470  PRINT "No more names"
3480  ASSIGN *,1
3490  H1=BRK(0)
3500  PRINT LIN(2)
3520  GOTO 9998
7000  REM***Label Printout Section***
7010  PRINT LIN(3)"*****Label Printout Routine*****"
7015  H=1
7020  PRINT "/E=backstep one line"
7030  PRINT " 0=return to menu"
7040  PRINT " ?=instructions"
7050  ASSIGN Z0$,1,X2, PR 
7060  IF X2=6 THEN 7080
7070  GOTO 7110
7080  PRINT "SOME ONE IS PRINTING . PLEASE TRY LATER"'7
7090  ASSIGN *,1
7100  GOTO 9998
7110  PRINT LIN(2)"How many spaces between labels  ";
7120  W$=""
7130  LINPUT W$
7140  IF W$="0" THEN 9998
7150  IF W$#"?" THEN 7190
7180  GOTO 9541
7190  CONVERT W$ TO W,4492
7200  IF W>5 THEN 7110
7210  IF W=0 THEN 9998
7211  PRINT "Do you want to include phone # & cust. code (non-lables) ";
7212  V0$=""
7213  LINPUT V0$
7214  IF V0$[1,1]="0" THEN 9998
7215  IF V0$[1,2]="/E" THEN 7110
7220  PRINT "Print complete list?";
7230  F$=""
7240  LINPUT F$
7250  F$=UOS$(F$)
7260  IF F$="/E" THEN 7110
7265  IF F$="" THEN 7290
7270  IF F$[1,1]="Y" THEN 7290
7280  GOSUB 9000
7285  GOTO 7380
7290  F$="00000"
7300  A$="AAAAA"
7305  H0$="AAA"
7380  PRINT "Is the list to be routed to the LP?";
7390  C$=""
7410  LINPUT C$
7415  IF C$="/E" THEN 7220
7420  C$=UOS$(C$)
7430  IF C$[1,1]="Y" THEN 7460
7440  Z=0
7450  GOTO 7690
7460  PURGE R,"MXASC"
7470  SYSTEM X,"FILE-MXASC,LP0"
7480  GOTO 7500
7490  PRINT "The LP is busy...please stand by!"
7500  ASSIGN "MXASC",2,R
7510  IF R=8 THEN 7540
7520  IF R=6 THEN 7490
7530  PRINT "Assignmment of LP failed!!";R
7540  Z=2
7550  PRINT "Your off!! Check LP for test pattern."
7560  PRINT #Z;"XXXXXXXXXXXXXXXXXXXX";TAB(35);"XXXXXXXXXXXXXXXXXXXX"
7570  PRINT #Z;"XXXXXXXXXXXXXXXXXXXX";TAB(35);"XXXXXXXXXXXXXXXXXXXX"
7580  PRINT #Z;"XXXXXXXXXXXXXXXXXXXX";TAB(35);"XXXXXXXXXXXXXXXXXXXX"
7590  PRINT #Z;"XXXXXXXXXXXXXXXXXXXX";TAB(35);"XXXXXXXXXXXXXXXXXXXX"
7600  PRINT #Z;"XXXXX";TAB(35);"XXXXX"
7610  PRINT #Z;LIN(W);
7620  PRINT "Yes=Proceed to print   (cr)=Retest";
7630  B$=""
7640  LINPUT B$
7650  B$=UOS$(B$)
7660  IF B$="0" THEN 9998
7670  IF B$[1,1]="Y" THEN 7690
7680  GOTO 7560
7690  READ #1,1
7700  IF  END #1 THEN 7900
7710  READ #1;N$,I$,R$,T$,K$,G$,H$
7720  IF K$<F$ THEN 7710
7730  IF K$>A$ THEN 7710
7731  IF H0$[1,1]="A" THEN 7733
7732  IF H0$[1,1]#H$[1,1] THEN 7710
7733  IF H0$[2,2]="A" THEN 7740
7734  IF H0$[2,2]#H$[2,2] THEN 7710
7735  IF H0$[3,3]="A" THEN 7740
7736  IF H0$[3,3]#H$[3,3] THEN 7710
7740  IF N$[1,3]='25'25'25 THEN 7710
7750  READ #1;N1$,I1$,R1$,T1$,K1$,G1$,H1$
7760  IF K1$<F$ THEN 7750
7770  IF K1$>A$ THEN 7750
7771  IF H0$[1,1]="A" THEN 7773
7772  IF H0$[1,1]#H1$[1,1] THEN 7750
7773  IF H0$[2,2]="A" THEN 7780
7774  IF H0$[2,2]#H1$[2,2] THEN 7750
7775  IF H0$[3,3]="A" THEN 7780
7776  IF H0$[3,3]#H1$[3,3] THEN 7750
7780  IF N1$[1,3]='25'25'25 THEN 7750
7790  PRINT #Z;N$;TAB(35);N1$
7800  PRINT #Z;I$;TAB(35);I1$
7810  PRINT #Z;R$;TAB(35);R1$
7820  PRINT #Z;T$;TAB(35);T1$
7830  IF K$#"11111" THEN 7850
7840  K$=""
7850  IF K1$#"11111" THEN 7870
7860  K1$=""
7870  PRINT #Z;K$;TAB(35);K1$
7871  IF V0$[1,1]#"Y" THEN 7880
7872  PRINT #Z
7873  PRINT #Z;"(";G$[1,3];")";G$[4,6];"-";G$[7,10];TAB(35);"(";G1$[1,3];")";G1$[4,6];"-";G1$[7,10]
7874  PRINT #Z;H$;TAB(35);H1$
7880  PRINT #Z;LIN(W);
7890  GOTO 7710
7900  PRINT "No more names"
7910  ASSIGN *,1
7920  H1=BRK(0)
7930  PRINT LIN(2)
7940  GOTO 9998
9000  REM*****PRINT SELECT SUBROUTINE*****
9005  PRINT LIN(2);"Select by ZIP code "
9010  X$=""
9020  LINPUT X$
9025  X$=UOS$(X$)
9030  IF X$[1,1]#"Y" THEN 9110
9040  PRINT LIN(1);"First ZIP code included ";
9050  INPUT F$
9060  IF LEN(F$)#5 THEN 9040
9070  PRINT LIN(1);"Last ZIP code included ";
9080  INPUT A$
9090  IF LEN(A$)#5 THEN 9070
9100  GOTO 9130
9110  F$="00000"
9120  A$="AAAAA"
9130  PRINT LIN(1);"Select by Customer code ?";
9140  X$=""
9142  LINPUT X$
9145  IF X$[1,1]#"Y" THEN 9534
9150  REMifno
9230  PRINT LIN(1)"Input which type";
9240  INPUT H0$
9250  H0$=UOS$(H0$)
9310  J$=""
9320  PRINT LIN(1);"Input which sub-type ";
9330  INPUT J$
9340  J$=UOS$(J$)
9400  PRINT LIN(2);"Class ";
9425  G$=""
9430  INPUT G$
9435  G$=UOS$(G$)
9525  H0$[LEN(H0$)+1]=J$
9530  H0$[LEN(H0$)+1]=G$
9532  GOTO 9540
9534  H0$="AAA"
9540  RETURN 
9541  PRINT "This routine will print out the contents of";Z0$;" in a 2 up "
9551  PRINT "lable format.  in the absence of lables it will also include"
9561  PRINT "the phone # and cust. code.  It will selectivly print out  "
9571  PRINT "from/to a start/stop zip code and will also select by a "
9581  PRINT "particular cust. code. Follow the prompts carefully."
9591  PRINT LIN(3)
9601  GOTO 7000
9998  CHAIN R,"MMAIL.A000",100
9999  END 
