home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD1.mdf / xbase / library / dbase / wpmerge / wpmerg.prg next >
Encoding:
Text File  |  1988-10-09  |  55.1 KB  |  1,979 lines

  1. **    Last revision: October 9, 1988 at 19:02
  2. * merge printing module
  3. * Program...: WPMERG.PRG - WordPerfect merge print module
  4. * CopyRight.: 1988 by: Stephen M. Leon
  5. * Created...: 10/09/88
  6. * Notes.....: It was a heck of a job to output from a database to a
  7. * ..........: WordPerfect 5.0 secondary merge file.  This is the scheme
  8. * ..........: I came up with. If you have a better way - wish you would
  9. * ..........: call me at (201) 886-1658 - or better yet - call my BBS
  10. * ..........: at 886-8041 and leave a note or a demo file. Thanks
  11. * ..........: (In actual practice some of the routines in this file will
  12. * ..........: go into the procedure file - but while I played with it I
  13. * ..........: kept most of it independent.)
  14. clear
  15. SET INTENSITY OFF
  16. SET DELIMITER ON
  17. stor .f. TO aok
  18. STOR 0 TO alabels
  19. STOR 0 TO clabels
  20. STOR SPACE(4) TO mpub
  21. STOR space(1) TO mselect
  22. STOR 'N' TO disk
  23. STOR '        ' TO filename
  24. STOR ' ' TO dr
  25. STOR ' ' TO start
  26. STOR ' ' TO mstart
  27. STOR space(5) to mstzip
  28. STOR space(5) TO menzip
  29. @ 2,5 TO 13,73 DOUBLE
  30. @  3,32 SAY "MERGE PRINTING"
  31. @  4, 9 SAY "This module prints a file which can be used by Word Perfect"
  32. @  5, 9 SAY "to prepare customized letters and envelopes. There are 8"
  33. @  6, 9 SAY "fields: 1.full name; 2. title; 3. company; 4. address1;"
  34. @  7, 9 SAY "5. address 2; 6. city-state-zip; 7. country; 8. salutation"
  35. @  9, 9 SAY "You can select <A>ll zipcodes, a <S>tarting zipcode"
  36. @ 10, 9 SAY "or a <R>ange of zipcode.              Select "
  37. @ 10,55 GET mstart PICTURE '!' VALID(mstart $('ASR'))
  38. READ
  39. DO CASE
  40. CASE mstart = 'S'
  41.   @ 11, 9 SAY 'Enter full 5 number starting zipcode '
  42.   @ 11,50 GET mstzip PICTURE '99999'
  43.   READ
  44. CASE mstart = 'R'
  45.   @ 11, 9 SAY 'Enter full 5 number starting zipcode '
  46.   @ 11,50 GET mstzip PICTURE '99999'
  47.   @ 12, 9 SAY 'Enter full 5 number ending zipcode '
  48.   @ 12,50 GET menzip PICTURE '99999'
  49.   READ
  50. ENDCASE
  51. @ 14,1 TO 23,78 DOUBLE
  52. @ 15,31 SAY "AVAILABLE OPTIONS"
  53. @ 16, 9 SAY "Product: <1> all company and agency personnel; <2> all company "
  54. @ 17,18 SAY "personnel; <3> all agency personnel"
  55. @ 18, 9 SAY "Company: <4> company only; <5> company prime officer; <6> all listed"
  56. @ 19, 9 SAY " Agency: <7) agency only; <8> agency prime officer; <9> all listed"
  57. @ 20, 2 SAY "  Publications: <0> all persons to receive a specific publication"
  58. @ 22,15 SAY "Select <Q>uit or one of the above numbers   "
  59. @ 22,59 GET mselect PICTURE '!' VALID(mselect $('0123456789Q'))
  60. READ
  61. CLEAR
  62. IF mselect <> 'Q'
  63.   IF mselect = '0'
  64.     @ 1,02 SAY "Please identify the publication with up to a four letter string "
  65.     @ 1,70 GET mpub PICTURE '!!!!'
  66.     READ
  67.     DO WHILE SUBSTR(mpub,2,1) = ' '
  68.       @ 1,70 GET mpub PICTURE '!!!!'
  69.       READ
  70.     ENDDO
  71.     STOR TRIM(mpub) TO mpub
  72.   ENDIF
  73.   @  3,15 SAY "Name of file:                      (.SF  will be added)"
  74.   @  3,30 GET FILENAME PICTURE '!!!!!!!!'
  75.   READ
  76.   DO WHILE filename = ' '
  77.     @  3,30 GET filename PICTURE "!!!!!!!!"
  78.     READ
  79.   ENDDO
  80.   @ 4,15 SAY "Select drive to put file on " GET dr picture '!' VALID(dr $('ABC'))
  81.   READ
  82.   STOR AT('.',filename) TO length
  83.   IF length = 0 .OR. length > 8
  84.     STOR 9 TO length
  85.   ENDI
  86.   STOR SUBSTR(filename,1,length-1) TO filena
  87.   STOR '&dr.:'+TRIM(filena)+'.DAT' TO filenam
  88.   STOR '&dr.:'+TRIM(filena)+'.SF ' TO foutput
  89.   SET ALTERNATE TO &filenam
  90.   @ 14,12 TO 19,64
  91.   @ 16,14 SAY "Once file creation starts - you can stop  "
  92.   @ 17,14 SAY "by hitting any key.  Ready to start."
  93.   @ 17,51 GET start PICTURE '!'
  94.   READ
  95. ENDIF mselect <> ' Q'
  96. IF start = 'Y'
  97.   STOR .t. TO aok
  98.   file3="Company"
  99.   file2="agency"
  100.   file1="product"
  101.   SELECT 3
  102.   IF net_use ("&file3",.f.,5)
  103.     SET INDEX TO czip
  104.   ELSE
  105.     DO NOT_AVAIL
  106.   ENDIF
  107.   SELECT 2
  108.   IF NET_USE ("&file2",.f.,5)
  109.     SET INDEX TO azip
  110.   ELSE
  111.     DO NOT_AVAIL
  112.   ENDIF
  113.   SELECT 1
  114.   IF NET_USE ("&file1",.f.,5)
  115.     SET INDEX TO agenc, compny
  116.   ELSE
  117.     DO NOT_AVAIL
  118.   ENDIF
  119.   SET ALTERNATE ON
  120.   DO CASE
  121.   CASE mselect = '0'
  122.     ** company
  123.     SELECT 1
  124.     SET ORDER TO 2
  125.     SELECT 3
  126.     SET RELATION TO UPPER(conam) INTO &file1
  127.     GO TOP
  128.     GO BOTTOM
  129.     STORE recno() TO mrec
  130.     GO TOP
  131.     DO WHILE RECNO() <> mrec
  132.       if mpub $ UPPER(CMISC1)
  133.         STOR clabels +1 TO clabels
  134.         IF clnam1 <> ' '
  135.           STOR TRIM(cmrs1)+' '+trim(cfnam1)+' '+trim(clnam1) TO m1l1
  136.         ELSE
  137.           STOR '  ' TO m1l1
  138.         ENDIF
  139.         IF ctit1 <> ' '
  140.           STOR TRIM(ctit1) TO m1l2
  141.         ELSE
  142.           STOR '  ' TO m1l2
  143.         ENDIF
  144.         STOR TRIM(CONAM) TO m1l3
  145.         STOR TRIM(coad1) TO m1l4
  146.         IF coad2 <> ' '
  147.           STOR TRIM(COAD2) TO m1l5
  148.         ELSE
  149.           STOR ' ' TO m1l5
  150.         ENDIF
  151.         IF costa <> ' '
  152.           STOR '  '+ costa+'  ' TO m1pdat
  153.         ELSE
  154.           STOR ' ' TO m1pdat
  155.         ENDIF
  156.         IF cozip = ' '
  157.           STOR ' ' TO m1pdat1
  158.         ELSE
  159.           STOR cozip TO m1pdat1
  160.         ENDIF
  161.         STOR TRIM(cocit)+','+m1pdat+' '+m1pdat1 TO m1l6
  162.         IF cocou <> ' '
  163.           STOR cocou TO m1l7
  164.         ELSE
  165.           STOR ' ' TO m1l7
  166.         ENDIF
  167.         ?
  168.         ?? CHR(34)+trim(m1l1)+CHR(34)+','
  169.         ?? CHR(34)+trim(m1l2)+CHR(34)+','
  170.         ?? CHR(34)+trim(m1l3)+CHR(34)+','
  171.         ?? CHR(34)+trim(m1l4)+CHR(34)+','
  172.         ?? CHR(34)+trim(m1l5)+CHR(34)+','
  173.         ?? CHR(34)+trim(m1l6)+CHR(34)+','
  174.         ?? CHR(34)+trim(m1l7)+CHR(34)+','
  175.         ?? TRIM(csal1)+chr(05)
  176.         i = inkey()
  177.         if i > 0
  178.           action = " "
  179.           set alternate off
  180.           SET INTENSITY OFF
  181.           SAVE SCREEN
  182.           CLEAR
  183.           @ 9,5 TO 11,73 DOUBLE
  184.           @ 10,10 SAY "Do you want to <A>bandon or <R>esume "
  185.           @ 10,50 get action PICTURE '!' VALID(action $('AR'))
  186.           READ
  187.           SET INTENSITY ON
  188.           IF action = 'A'
  189.             STOR .f. TO aok
  190.             RETURN
  191.           ELSE
  192.             set alternate on
  193.             RESTORE screen
  194.           ENDIF
  195.         endif
  196.       ENDIF
  197.       if mpub $ UPPER(CMISC2)
  198.         STOR clabels +1 TO clabels
  199.         IF clnam2 <> ' '
  200.           STOR TRIM(cmrs2)+' '+trim(cfnam2)+' '+trim(clnam2) TO m1l1
  201.         ELSE
  202.           STOR ' ' TO m1l1
  203.         ENDIF
  204.         IF ctit2 <> ' '
  205.           STOR TRIM(ctit2) TO m1l2
  206.         ELSE
  207.           STOR ' ' TO m1l2
  208.         ENDIF
  209.         STOR TRIM(CONAM) TO m1l3
  210.         STOR TRIM(coad1) TO m1l4
  211.         IF coad2 <> ' '
  212.           STOR TRIM(COAD2) TO m1l5
  213.         ELSE
  214.           STOR ' ' TO m1l5
  215.         ENDIF
  216.         IF costa <> ' '
  217.           STOR ', '+ costa+' ' TO m1pdat
  218.         ELSE
  219.           STOR ' ' TO m1pdat
  220.         ENDIF
  221.         IF cozip = ' '
  222.           STOR ' ' TO m1pdat1
  223.         ELSE
  224.           STOR cozip TO m1pdat1
  225.         ENDIF
  226.         STOR TRIM(cocit)+m1pdat+m1pdat1 TO m1l6
  227.         IF cocou <> ' '
  228.           STOR TRIM(cocou) TO m1l7
  229.         ELSE
  230.           STOR ' ' TO m1l7
  231.         ENDIF
  232.         ?
  233.         ?? CHR(34)+trim(m1l1)+CHR(34)+','
  234.         ?? CHR(34)+trim(m1l2)+CHR(34)+','
  235.         ?? CHR(34)+trim(m1l3)+CHR(34)+','
  236.         ?? CHR(34)+trim(m1l4)+CHR(34)+','
  237.         ?? CHR(34)+trim(m1l5)+CHR(34)+','
  238.         ?? CHR(34)+trim(m1l6)+CHR(34)+','
  239.         ?? CHR(34)+trim(m1l7)+CHR(34)+','
  240.         ?? TRIM(csal2)+chr(05)
  241.         i = inkey()
  242.         if i > 0
  243.           action = " "
  244.           set alternate off
  245.           SET INTENSITY OFF
  246.           SAVE SCREEN
  247.           CLEAR
  248.           @ 9,5 TO 11,73 DOUBLE
  249.           @ 10,10 SAY "Do you want to <A>bandon or <R>esume "
  250.           @ 10,50 get action PICTURE '!' VALID(action $('AR'))
  251.           READ
  252.           SET INTENSITY ON
  253.           IF action = 'A'
  254.             STOR .f. TO aok
  255.             RETURN
  256.           ELSE
  257.             set alternate on
  258.             RESTORE screen
  259.           ENDIF
  260.         endif
  261.       ENDIF
  262.       if mpub $ UPPER(CMISC3)
  263.         STOR clabels +1 TO clabels
  264.         IF clnam3 <> ' '
  265.           STOR TRIM(cmrs3)+' '+trim(cfnam3)+' '+trim(clnam3) TO m1l1
  266.         ELSE
  267.           STOR ' ' TO m1l1
  268.         ENDIF
  269.         IF ctit3 <> ' '
  270.           STOR TRIM(ctit3) TO m1l2
  271.         ELSE
  272.           STOR ' ' TO m1l2
  273.         ENDIF
  274.         STOR trim(CONAM) TO m1l3
  275.         STOR TRIM(coad1) TO m1l4
  276.         IF coad2 <> ' '
  277.           STOR trim(COAD2) TO m1l5
  278.         ELSE
  279.           STOR ' ' TO m1l5
  280.         ENDIF
  281.         IF costa <> ' '
  282.           STOR ', '+ costa+'  ' TO m1pdat
  283.         ELSE
  284.           STOR ' ' TO m1pdat
  285.         ENDIF
  286.         IF cozip = ' '
  287.           STOR ' ' TO m1pdat1
  288.         ELSE
  289.           STOR cozip TO m1pdat1
  290.         ENDIF
  291.         STOR TRIM(cocit)+m1pdat+m1pdat1 TO m1l6
  292.         IF cocou <> ' '
  293.           STOR trim(cocou) TO m1l7
  294.         ELSE
  295.           STOR ' ' TO m1l7
  296.         ENDIF
  297.         ?
  298.         ?? CHR(34)+trim(m1l1)+CHR(34)+','
  299.         ?? CHR(34)+trim(m1l2)+CHR(34)+','
  300.         ?? CHR(34)+trim(m1l3)+CHR(34)+','
  301.         ?? CHR(34)+trim(m1l4)+CHR(34)+','
  302.         ?? CHR(34)+trim(m1l5)+CHR(34)+','
  303.         ?? CHR(34)+trim(m1l6)+CHR(34)+','
  304.         ?? CHR(34)+trim(m1l7)+CHR(34)+','
  305.         ?? TRIM(csal3)+chr(05)
  306.         i = inkey()
  307.         if i > 0
  308.           action = " "
  309.           set alternate off
  310.           SET INTENSITY OFF
  311.           SAVE SCREEN
  312.           CLEAR
  313.           @ 9,5 TO 11,73 DOUBLE
  314.           @ 10,10 SAY "Do you want to <A>bandon or <R>esume "
  315.           @ 10,50 get action PICTURE '!' VALID(action $('AR'))
  316.           READ
  317.           SET INTENSITY ON
  318.           IF action = 'A'
  319.             STOR .f. TO aok
  320.             RETURN
  321.           ELSE
  322.             set alternate on
  323.             RESTORE screen
  324.           ENDIF
  325.         endif
  326.       ENDIF
  327.       if mpub $ UPPER(CMISC4)
  328.         STOR clabels +1 TO clabels
  329.         IF clnam4 <> ' '
  330.           STOR TRIM(cmrs4)+' '+trim(cfnam4)+' '+trim(clnam4) TO m1l1
  331.         ELSE
  332.           STOR ' ' TO m1l1
  333.         ENDIF
  334.         IF ctit4 <> ' '
  335.           STOR TRIM(ctit4) TO m1l2
  336.         ELSE
  337.           STOR ' ' TO m1l2
  338.         ENDIF
  339.         STOR TRIM(CONAM) TO m1l3
  340.         STOR TRIM(coad1) TO m1l4
  341.         IF coad2 <> ' '
  342.           STOR TRIM(COAD2) TO m1l5
  343.         ELSE
  344.           STOR ' ' TO m1l5
  345.         ENDIF
  346.         IF costa <> ' '
  347.           STOR ', '+ costa+'  ' TO m1pdat
  348.         ELSE
  349.           STOR ' ' TO m1pdat
  350.         ENDIF
  351.         IF cozip = ' '
  352.           STOR ' ' TO m1pdat1
  353.         ELSE
  354.           STOR cozip TO m1pdat1
  355.         ENDIF
  356.         STOR TRIM(cocit)+m1pdat+m1pdat1 TO m1l6
  357.         IF cocou <> ' '
  358.           STOR TRIM(cocou) TO m1l7
  359.         ELSE
  360.           STOR ' ' TO m1l7
  361.         ENDIF
  362.         ?
  363.         ?? CHR(34)+trim(m1l1)+CHR(34)+','
  364.         ?? CHR(34)+trim(m1l2)+CHR(34)+','
  365.         ?? CHR(34)+trim(m1l3)+CHR(34)+','
  366.         ?? CHR(34)+trim(m1l4)+CHR(34)+','
  367.         ?? CHR(34)+trim(m1l5)+CHR(34)+','
  368.         ?? CHR(34)+trim(m1l6)+CHR(34)+','
  369.         ?? CHR(34)+trim(m1l7)+CHR(34)+','
  370.         ?? TRIM(csal4)+chr(05)
  371.         i = inkey()
  372.         if i > 0
  373.           action = " "
  374.           set alternate off
  375.           SET INTENSITY OFF
  376.           SAVE SCREEN
  377.           CLEAR
  378.           @ 9,5 TO 11,73 DOUBLE
  379.           @ 10,10 SAY "Do you want to <A>bandon or <R>esume "
  380.           @ 10,50 get action PICTURE '!' VALID(action $('AR'))
  381.           READ
  382.           SET INTENSITY ON
  383.           IF action = 'A'
  384.             STOR .f. TO aok
  385.             RETURN
  386.           ELSE
  387.             set alternate on
  388.             RESTORE screen
  389.           ENDIF
  390.         endif
  391.       ENDIF
  392.       STOR .t. to goon
  393.       STOR conam TO mconam
  394.       STOR recno() TO behere
  395.       DO while goon
  396.         if mpub $ UPPER(a-> CMISC)
  397.           STOR clabels +1 TO clabels
  398.           IF a-> clnam <> ' '
  399.             STOR TRIM(a-> cmrs)+' '+trim(a-> cfnam)+' '+trim(a-> clnam) TO m1l1
  400.           ELSE
  401.             STOR ' ' TO m1l1
  402.           ENDIF
  403.           IF a-> ctit <> ' '
  404.             STOR TRIM(a-> ctit) TO m1l2
  405.           ELSE
  406.             STOR ' ' TO m1l2
  407.           ENDIF
  408.           STOR TRIM(CONAM) TO m1l3
  409.           STOR TRIM(coad1) TO m1l4
  410.           IF coad2 <> ' '
  411.             STOR TRIM(COAD2) TO m1l5
  412.           ELSE
  413.             STOR ' ' TO m1l5
  414.           ENDIF
  415.           IF costa <> ' '
  416.             STOR ', '+ costa+'  ' TO m1pdat
  417.           ELSE
  418.             STOR ' ' TO m1pdat
  419.           ENDIF
  420.           IF cozip = ' '
  421.             STOR ' ' TO m1pdat1
  422.           ELSE
  423.             STOR cozip TO m1pdat1
  424.           ENDIF
  425.           STOR TRIM(cocit)+m1pdat+m1pdat1 TO m1l6
  426.           IF cocou <> ' '
  427.             STOR TRIM(cocou) TO m1l7
  428.           ELSE
  429.             STOR ' ' TO m1l7
  430.           ENDIF
  431.           ?
  432.           ?? CHR(34)+trim(m1l1)+CHR(34)+','
  433.           ?? CHR(34)+trim(m1l2)+CHR(34)+','
  434.           ?? CHR(34)+trim(m1l3)+CHR(34)+','
  435.           ?? CHR(34)+trim(m1l4)+CHR(34)+','
  436.           ?? CHR(34)+trim(m1l5)+CHR(34)+','
  437.           ?? CHR(34)+trim(m1l6)+CHR(34)+','
  438.           ?? CHR(34)+trim(m1l7)+CHR(34)+','
  439.           ?? TRIM(a-> csal)+chr(05)
  440.           i = inkey()
  441.           if i > 0
  442.             action = " "
  443.             set alternate off
  444.             SET INTENSITY OFF
  445.             SAVE SCREEN
  446.             CLEAR
  447.             @ 9,5 TO 11,73 DOUBLE
  448.             @ 10,10 SAY "Do you want to <A>bandon or <R>esume "
  449.             @ 10,50 get action PICTURE '!' VALID(action $('AR'))
  450.             READ
  451.             SET INTENSITY ON
  452.             IF action = 'A'
  453.               STOR .f. TO aok
  454.               RETURN
  455.             ELSE
  456.               set alternate on
  457.               RESTORE screen
  458.             ENDIF
  459.           endif
  460.         ENDIF
  461.         if mpub $ UPPER(a-> CMISC2)
  462.           STOR clabels +1 TO clabels
  463.           IF a-> clnam2 <> ' '
  464.             STOR TRIM(a-> cmrs2)+' '+trim(a-> cfnam2)+' '+trim(a-> clnam2) TO m1l1
  465.           ELSE
  466.             STOR ' ' TO m1l1
  467.           ENDIF
  468.           IF a-> ctit2 <> ' '
  469.             STOR TRIM(a-> ctit2) TO m1l2
  470.           ELSE
  471.             STOR ' ' TO m1l2
  472.           ENDIF
  473.           STOR TRIM(CONAM) TO m1l3
  474.           STOR TRIM(coad1) TO m1l4
  475.           IF coad2 <> ' '
  476.             STOR TRIM(COAD2) TO m1l5
  477.           ELSE
  478.             STOR ' ' TO m1l5
  479.           ENDIF
  480.           IF costa <> ' '
  481.             STOR ', '+ costa+'  ' TO m1pdat
  482.           ELSE
  483.             STOR ' ' TO m1pdat
  484.           ENDIF
  485.           IF cozip = ' '
  486.             STOR ' ' TO m1pdat1
  487.           ELSE
  488.             STOR cozip TO m1pdat1
  489.           ENDIF
  490.           STOR TRIM(cocit)+m1pdat+m1pdat1 TO m1l6
  491.           IF cocou <> ' '
  492.             STOR TRIM(cocou) TO m1l7
  493.           ELSE
  494.             STOR ' ' TO m1l7
  495.           ENDIF
  496.           ?
  497.           ?? CHR(34)+trim(m1l1)+CHR(34)+','
  498.           ?? CHR(34)+trim(m1l2)+CHR(34)+','
  499.           ?? CHR(34)+trim(m1l3)+CHR(34)+','
  500.           ?? CHR(34)+trim(m1l4)+CHR(34)+','
  501.           ?? CHR(34)+trim(m1l5)+CHR(34)+','
  502.           ?? CHR(34)+trim(m1l6)+CHR(34)+','
  503.           ?? CHR(34)+trim(m1l7)+CHR(34)+','
  504.           ?? TRIM(a-> csal2)+chr(05)
  505.           i = inkey()
  506.           if i > 0
  507.             action = " "
  508.             set alternate off
  509.             SET INTENSITY OFF
  510.             SAVE SCREEN
  511.             CLEAR
  512.             @ 9,5 TO 11,73 DOUBLE
  513.             @ 10,10 SAY "Do you want to <A>bandon or <R>esume "
  514.             @ 10,50 get action PICTURE '!' VALID(action $('AR'))
  515.             READ
  516.             SET INTENSITY ON
  517.             IF action = 'A'
  518.               STOR .f. TO aok
  519.               RETURN
  520.             ELSE
  521.               set alternate on
  522.               RESTORE screen
  523.             ENDIF
  524.           endif
  525.         ENDIF
  526.         SELECT 1
  527.         skip
  528.         If conam <> mconam
  529.           STOR .f. to goon
  530.         ENDIF
  531.       ENDDO while goon
  532.       SELECT 3
  533.       GO behere
  534.       SKIP
  535.     ENDDO
  536.     ** agency
  537.     SELECT 1
  538.     SET ORDER TO 1
  539.     SELECT 2
  540.     SET RELATION TO UPPER(agnam) INTO &file1
  541.     GO TOP
  542.     GO BOTTOM
  543.     STOR recno() TO mrec
  544.     GO TOP
  545.     DO WHILE RECNO() <> mrec
  546.       if mpub $ UPPER(AMISC1)
  547.         STOR alabels + 1 TO alabels
  548.         IF alnam1 <> ' '
  549.           STOR TRIM(amrs1)+' '+trim(afnam1)+' '+trim(alnam1) TO m1l1
  550.         ELSE
  551.           STOR ' ' TO m1l1
  552.         ENDIF
  553.         IF atit1 <> ' '
  554.           STOR TRIM(atit1) TO m1l2
  555.         ELSE
  556.           STOR ' ' TO m1l2
  557.         ENDIF
  558.         STOR TRIM(AGNAM) TO m1l3
  559.         STOR TRIM(agad1) TO m1l4
  560.         IF agad2 <> ' '
  561.           STOR TRIM(AGAD2) TO m1l5
  562.         ELSE
  563.           STOR ' ' TO m1l5
  564.         ENDIF
  565.         IF agsta <> ' '
  566.           STOR ', '+ agsta+'  ' TO m1pdat
  567.         ELSE
  568.           STOR ' ' TO m1pdat
  569.         ENDIF
  570.         IF agzip = ' '
  571.           STOR ' ' TO m1pdat1
  572.         ELSE
  573.           STOR agzip TO m1pdat1
  574.         ENDIF
  575.         STOR TRIM(agcit)+m1pdat+m1pdat1 TO m1l6
  576.         IF agcou <> ' '
  577.           STOR TRIM(agcou) TO m1l7
  578.         ELSE
  579.           STOR ' ' TO m1l7
  580.         ENDIF
  581.         ?
  582.         ?? CHR(34)+trim(m1l1)+CHR(34)+','
  583.         ?? CHR(34)+trim(m1l2)+CHR(34)+','
  584.         ?? CHR(34)+trim(m1l3)+CHR(34)+','
  585.         ?? CHR(34)+trim(m1l4)+CHR(34)+','
  586.         ?? CHR(34)+trim(m1l5)+CHR(34)+','
  587.         ?? CHR(34)+trim(m1l6)+CHR(34)+','
  588.         ?? CHR(34)+trim(m1l7)+CHR(34)+','
  589.         ?? TRIM(asal1)+chr(05)
  590.         i = inkey()
  591.         if i > 0
  592.           action = " "
  593.           set alternate off
  594.           SET INTENSITY OFF
  595.           SAVE SCREEN
  596.           CLEAR
  597.           @ 9,5 TO 11,73 DOUBLE
  598.           @ 10,10 SAY "Do you want to <A>bandon or <R>esume "
  599.           @ 10,50 get action PICTURE '!' VALID(action $('AR'))
  600.           READ
  601.           SET INTENSITY ON
  602.           IF action = 'A'
  603.             STOR .f. TO aok
  604.             RETURN
  605.           ELSE
  606.             set alternate on
  607.             RESTORE screen
  608.           ENDIF
  609.         endif
  610.       ENDIF
  611.       if mpub $ UPPER(AMISC2)
  612.         STOR alabels + 1 TO alabels
  613.         IF alnam2 <> ' '
  614.           STOR TRIM(amrs2)+' '+trim(afnam2)+' '+trim(alnam2) TO m1l1
  615.         ELSE
  616.           STOR ' ' TO m1l1
  617.         ENDIF
  618.         IF atit2 <> ' '
  619.           STOR TRIM(atit2) TO m1l2
  620.         ELSE
  621.           STOR ' ' TO m1l2
  622.         ENDIF
  623.         STOR TRIM(AGNAM) TO m1l3
  624.         STOR TRIM(agad1) TO m1l4
  625.         IF agad2 <> ' '
  626.           STOR TRIM(AGAD2) TO m1l5
  627.         ELSE
  628.           STOR ' ' TO m1l5
  629.         ENDIF
  630.         IF agsta <> ' '
  631.           STOR ', '+ agsta+'  ' TO m1pdat
  632.         ELSE
  633.           STOR ' ' TO m1pdat
  634.         ENDIF
  635.         IF agzip = ' '
  636.           STOR ' ' TO m1pdat1
  637.         ELSE
  638.           STOR agzip TO m1pdat1
  639.         ENDIF
  640.         STOR TRIM(agcit)+m1pdat+m1pdat1 TO m1l6
  641.         IF agcou <> ' '
  642.           STOR TRIM(agcou) TO m1l7
  643.         ELSE
  644.           STOR ' ' TO m1l7
  645.         ENDIF
  646.         ?
  647.         ?? CHR(34)+trim(m1l1)+CHR(34)+','
  648.         ?? CHR(34)+trim(m1l2)+CHR(34)+','
  649.         ?? CHR(34)+trim(m1l3)+CHR(34)+','
  650.         ?? CHR(34)+trim(m1l4)+CHR(34)+','
  651.         ?? CHR(34)+trim(m1l5)+CHR(34)+','
  652.         ?? CHR(34)+trim(m1l6)+CHR(34)+','
  653.         ?? CHR(34)+trim(m1l7)+CHR(34)+','
  654.         ?? TRIM(asal2)+chr(05)
  655.         i = inkey()
  656.         if i > 0
  657.           action = " "
  658.           set alternate off
  659.           SET INTENSITY OFF
  660.           SAVE SCREEN
  661.           CLEAR
  662.           @ 9,5 TO 11,73 DOUBLE
  663.           @ 10,10 SAY "Do you want to <A>bandon or <R>esume "
  664.           @ 10,50 get action PICTURE '!' VALID(action $('AR'))
  665.           READ
  666.           SET INTENSITY ON
  667.           IF action = 'A'
  668.             STOR .f. TO aok
  669.             RETURN
  670.           ELSE
  671.             set alternate on
  672.             RESTORE screen
  673.           ENDIF
  674.         endif
  675.       ENDIF
  676.       if mpub $ UPPER(AMISC3)
  677.         STOR alabels + 1 TO alabels
  678.         IF alnam3 <> ' '
  679.           STOR TRIM(amrs3)+' '+trim(afnam3)+' '+trim(alnam3) TO m1l1
  680.         ELSE
  681.           STOR ' ' TO m1l1
  682.         ENDIF
  683.         IF atit3 <> ' '
  684.           STOR TRIM(atit3) TO m1l2
  685.         ELSE
  686.           STOR ' ' TO m1l2
  687.         ENDIF
  688.         STOR TRIM(AGNAM) TO m1l3
  689.         STOR TRIM(agad1) TO m1l4
  690.         IF agad2 <> ' '
  691.           STOR TRIM(AGAD2) TO m1l5
  692.         ELSE
  693.           STOR ' ' TO m1l5
  694.         ENDIF
  695.         IF agsta <> ' '
  696.           STOR ', '+ agsta+'  ' TO m1pdat
  697.         ELSE
  698.           STOR ' ' TO m1pdat
  699.         ENDIF
  700.         IF agzip = ' '
  701.           STOR ' ' TO m1pdat1
  702.         ELSE
  703.           STOR agzip TO m1pdat1
  704.         ENDIF
  705.         STOR TRIM(agcit)+m1pdat+m1pdat1 TO m1l6
  706.         IF agcou <> ' '
  707.           STOR TRIM(agcou) TO m1l7
  708.         ELSE
  709.           STOR ' ' TO m1l7
  710.         ENDIF
  711.         ?
  712.         ?? CHR(34)+trim(m1l1)+CHR(34)+','
  713.         ?? CHR(34)+trim(m1l2)+CHR(34)+','
  714.         ?? CHR(34)+trim(m1l3)+CHR(34)+','
  715.         ?? CHR(34)+trim(m1l4)+CHR(34)+','
  716.         ?? CHR(34)+trim(m1l5)+CHR(34)+','
  717.         ?? CHR(34)+trim(m1l6)+CHR(34)+','
  718.         ?? CHR(34)+trim(m1l7)+CHR(34)+','
  719.         ?? TRIM(asal3)+chr(05)
  720.         i = inkey()
  721.         if i > 0
  722.           action = " "
  723.           set alternate off
  724.           SET INTENSITY OFF
  725.           SAVE SCREEN
  726.           CLEAR
  727.           @ 9,5 TO 11,73 DOUBLE
  728.           @ 10,10 SAY "Do you want to <A>bandon or <R>esume "
  729.           @ 10,50 get action PICTURE '!' VALID(action $('AR'))
  730.           READ
  731.           SET INTENSITY ON
  732.           IF action = 'A'
  733.             STOR .f. TO aok
  734.             RETURN
  735.           ELSE
  736.             set alternate on
  737.             RESTORE screen
  738.           ENDIF
  739.         endif
  740.       ENDIF
  741.       if mpub $ UPPER(AMISC4)
  742.         STOR alabels + 1 TO alabels
  743.         IF alnam4 <> ' '
  744.           STOR TRIM(amrs4)+' '+trim(afnam4)+' '+trim(alnam4) TO m1l1
  745.         ELSE
  746.           STOR ' ' TO m1l1
  747.         ENDIF
  748.         IF atit4 <> ' '
  749.           STOR TRIM(atit4) TO m1l2
  750.         ELSE
  751.           STOR ' ' TO m1l2
  752.         ENDIF
  753.         STOR TRIM(AGNAM) TO m1l3
  754.         STOR TRIM(agad1) TO m1l4
  755.         IF agad2 <> ' '
  756.           STOR TRIM(AGAD2) TO m1l5
  757.         ELSE
  758.           STOR ' ' TO m1l5
  759.         ENDIF
  760.         IF agsta <> ' '
  761.           STOR ', '+ agsta+'  ' TO m1pdat
  762.         ELSE
  763.           STOR ' ' TO m1pdat
  764.         ENDIF
  765.         IF agzip = ' '
  766.           STOR ' ' TO m1pdat1
  767.         ELSE
  768.           STOR agzip TO m1pdat1
  769.         ENDIF
  770.         STOR TRIM(agcit)+m1pdat+m1pdat1 TO m1l6
  771.         IF agcou <> ' '
  772.           STOR TRIM(agcou) TO m1l7
  773.         ELSE
  774.           STOR ' ' TO m1l7
  775.         ENDIF
  776.         ?
  777.         ?? CHR(34)+trim(m1l1)+CHR(34)+','
  778.         ?? CHR(34)+trim(m1l2)+CHR(34)+','
  779.         ?? CHR(34)+trim(m1l3)+CHR(34)+','
  780.         ?? CHR(34)+trim(m1l4)+CHR(34)+','
  781.         ?? CHR(34)+trim(m1l5)+CHR(34)+','
  782.         ?? CHR(34)+trim(m1l6)+CHR(34)+','
  783.         ?? CHR(34)+trim(m1l7)+CHR(34)+','
  784.         ?? TRIM(asal4)+chr(05)
  785.         i = inkey()
  786.         if i > 0
  787.           action = " "
  788.           set alternate off
  789.           SET INTENSITY OFF
  790.           SAVE SCREEN
  791.           CLEAR
  792.           @ 9,5 TO 11,73 DOUBLE
  793.           @ 10,10 SAY "Do you want to <A>bandon or <R>esume "
  794.           @ 10,50 get action PICTURE '!' VALID(action $('AR'))
  795.           READ
  796.           SET INTENSITY ON
  797.           IF action = 'A'
  798.             STOR .f. TO aok
  799.             RETURN
  800.           ELSE
  801.             set alternate on
  802.             RESTORE screen
  803.           ENDIF
  804.         endif
  805.       ENDIF
  806.       STOR .t. to goon
  807.       STOR agnam TO magnam
  808.       STOR recno() TO behere
  809.       DO while goon
  810.         if mpub $ UPPER(a-> AMISC)
  811.           STOR alabels + 1 TO alabels
  812.           IF a-> alnam <> ' '
  813.             STOR TRIM(a-> amrs)+' '+trim(a-> afnam)+' '+trim(a-> alnam) TO m1l1
  814.           ELSE
  815.             STOR ' ' TO m1l1
  816.           ENDIF
  817.           IF a-> atit <> ' '
  818.             STOR TRIM(a-> atit) TO m1l2
  819.           ELSE
  820.             STOR ' ' TO m1l2
  821.           ENDIF
  822.           STOR TRIM(AGNAM) TO m1l3
  823.           STOR TRIM(agad1) TO m1l4
  824.           IF agad2 <> ' '
  825.             STOR TRIM(AGAD2) TO m1l5
  826.           ELSE
  827.             STOR ' ' TO m1l5
  828.           ENDIF
  829.           IF agsta <> ' '
  830.             STOR ', '+ agsta+'  ' TO m1pdat
  831.           ELSE
  832.             STOR ' ' TO m1pdat
  833.           ENDIF
  834.           IF agzip = ' '
  835.             STOR ' ' TO m1pdat1
  836.           ELSE
  837.             STOR agzip TO m1pdat1
  838.           ENDIF
  839.           STOR TRIM(agcit)+m1pdat+m1pdat1 TO m1l6
  840.           IF agcou <> ' '
  841.             STOR TRIM(agcou) TO m1l7
  842.           ELSE
  843.             STOR ' ' TO m1l7
  844.           ENDIF
  845.           ?
  846.           ?? CHR(34)+trim(m1l1)+CHR(34)+','
  847.           ?? CHR(34)+trim(m1l2)+CHR(34)+','
  848.           ?? CHR(34)+trim(m1l3)+CHR(34)+','
  849.           ?? CHR(34)+trim(m1l4)+CHR(34)+','
  850.           ?? CHR(34)+trim(m1l5)+CHR(34)+','
  851.           ?? CHR(34)+trim(m1l6)+CHR(34)+','
  852.           ?? CHR(34)+trim(m1l7)+CHR(34)+','
  853.           ?? TRIM(a-> agsal)+chr(05)
  854.           i = inkey()
  855.           if i > 0
  856.             action = " "
  857.             set alternate off
  858.             SET INTENSITY OFF
  859.             SAVE SCREEN
  860.             CLEAR
  861.             @ 9,5 TO 11,73 DOUBLE
  862.             @ 10,10 SAY "Do you want to <A>bandon or <R>esume "
  863.             @ 10,50 get action PICTURE '!' VALID(action $('AR'))
  864.             READ
  865.             SET INTENSITY ON
  866.             IF action = 'A'
  867.               STOR .f. TO aok
  868.               RETURN
  869.             ELSE
  870.               set alternate on
  871.               RESTORE screen
  872.             ENDIF
  873.           endif
  874.         ENDIF
  875.         if mpub $ UPPER(a-> AMISC2)
  876.           STOR alabels + 1 TO alabels
  877.           IF a-> alnam2 <> ' '
  878.             STOR TRIM(a-> amrs2)+' '+trim(a-> afnam2)+' '+trim(a-> alnam2) TO m1l1
  879.           ELSE
  880.             STOR ' ' TO m1l1
  881.           ENDIF
  882.           IF a-> atit2 <> ' '
  883.             STOR TRIM(a-> atit2) TO m1l2
  884.           ELSE
  885.             STOR ' ' TO m1l2
  886.           ENDIF
  887.           STOR TRIM(AGNAM) TO m1l3
  888.           STOR TRIM(agad1) TO m1l4
  889.           IF agad2 <> ' '
  890.             STOR TRIM(AGAD2) TO m1l5
  891.           ELSE
  892.             STOR ' ' TO m1l5
  893.           ENDIF
  894.           IF agsta <> ' '
  895.             STOR ', '+ agsta+'  ' TO m1pdat
  896.           ELSE
  897.             STOR ' ' TO m1pdat
  898.           ENDIF
  899.           IF agzip = ' '
  900.             STOR ' ' TO m1pdat1
  901.           ELSE
  902.             STOR agzip TO m1pdat1
  903.           ENDIF
  904.           STOR TRIM(agcit)+m1pdat+m1pdat1 TO m1l6
  905.           IF agcou <> ' '
  906.             STOR TRIM(agcou) TO m1l7
  907.           ELSE
  908.             STOR ' ' TO m1l7
  909.           ENDIF
  910.           ?
  911.           ?? CHR(34)+trim(m1l1)+CHR(34)+','
  912.           ?? CHR(34)+trim(m1l2)+CHR(34)+','
  913.           ?? CHR(34)+trim(m1l3)+CHR(34)+','
  914.           ?? CHR(34)+trim(m1l4)+CHR(34)+','
  915.           ?? CHR(34)+trim(m1l5)+CHR(34)+','
  916.           ?? CHR(34)+trim(m1l6)+CHR(34)+','
  917.           ?? CHR(34)+trim(m1l7)+CHR(34)+','
  918.           ?? TRIM(a-> agsal2)+chr(05)
  919.           i = inkey()
  920.           if i > 0
  921.             action = " "
  922.             set alternate off
  923.             SET INTENSITY OFF
  924.             SAVE SCREEN
  925.             CLEAR
  926.             @ 9,5 TO 11,73 DOUBLE
  927.             @ 10,10 SAY "Do you want to <A>bandon or <R>esume "
  928.             @ 10,50 get action PICTURE '!' VALID(action $('AR'))
  929.             READ
  930.             SET INTENSITY ON
  931.             IF action = 'A'
  932.               STOR .f. TO aok
  933.               RETURN
  934.             ELSE
  935.               set alternate on
  936.               RESTORE screen
  937.             ENDIF
  938.           endif
  939.         ENDIF
  940.         SELECT 1
  941.         skip
  942.         If agnam <> magnam
  943.           STOR .f. to goon
  944.         ENDIF
  945.       ENDDO while goon
  946.       SELECT 2
  947.       GO behere
  948.       SKIP
  949.     ENDDO WHILE .NOT. EOF
  950.   CASE mselect = '1'
  951.     ** company
  952.     SELECT 1
  953.     SET ORDER TO 2
  954.     SELECT 3
  955.     SET RELATION TO UPPER(conam) INTO &file1
  956.     GO TOP
  957.     DO CASE
  958.     CASE mstart = 'S'
  959.       SEEK mstzip
  960.     CASE mstart = 'R'
  961.       SET filter TO (mstzip <= SUBSTR(cozip,1,5)) .AND. (menzip >= SUBSTR(cozip,1,5))
  962.       GO TOP
  963.     ENDCASE
  964.     DO WHILE .NOT. EOF().OR. BOF()
  965.       IF a-> clnam <> ' '
  966.         STOR TRIM(a-> cmrs)+' '+trim(a-> cfnam)+' '+trim(a-> clnam) TO m1l1
  967.       ELSE
  968.         STOR ' ' TO m1l1
  969.       ENDIF
  970.       IF a-> ctit <> ' '
  971.         STOR TRIM(a-> ctit) TO m1l2
  972.       ELSE
  973.         STOR ' ' TO m1l2
  974.       ENDIF
  975.       STOR TRIM(CONAM) TO m1l3
  976.       STOR TRIM(coad1) TO m1l4
  977.       IF coad2 <> ' '
  978.         STOR TRIM(COAD2) TO m1l5
  979.       ELSE
  980.         STOR ' ' TO m1l5
  981.       ENDIF
  982.       IF costa <> ' '
  983.         STOR ', '+ costa+'  ' TO m1pdat
  984.       ELSE
  985.         STOR ' ' TO m1pdat
  986.       ENDIF
  987.       IF cozip = ' '
  988.         STOR ' ' TO m1pdat1
  989.       ELSE
  990.         STOR cozip TO m1pdat1
  991.       ENDIF
  992.       STOR TRIM(cocit)+m1pdat+m1pdat1 TO m1l6
  993.       IF cocou <> ' '
  994.         STOR TRIM(cocou) TO m1l7
  995.       ELSE
  996.         STOR ' ' TO m1l7
  997.       ENDIF
  998.       ?
  999.       ?? CHR(34)+trim(m1l1)+CHR(34)+','
  1000.       ?? CHR(34)+trim(m1l2)+CHR(34)+','
  1001.       ?? CHR(34)+trim(m1l3)+CHR(34)+','
  1002.       ?? CHR(34)+trim(m1l4)+CHR(34)+','
  1003.       ?? CHR(34)+trim(m1l5)+CHR(34)+','
  1004.       ?? CHR(34)+trim(m1l6)+CHR(34)+','
  1005.       ?? CHR(34)+trim(m1l7)+CHR(34)+','
  1006.       ?? TRIM(a-> csal)+chr(05)
  1007.       STOR clabels+ 1 TO clabels
  1008.       i = inkey()
  1009.       if i > 0
  1010.         action = " "
  1011.         set alternate off
  1012.         SET INTENSITY OFF
  1013.         SAVE SCREEN
  1014.         CLEAR
  1015.         @ 9,5 TO 11,73 DOUBLE
  1016.         @ 10,10 SAY "Do you want to <A>bandon or <R>esume "
  1017.         @ 10,50 get action PICTURE '!' VALID(action $('AR'))
  1018.         READ
  1019.         SET INTENSITY ON
  1020.         IF action = 'A'
  1021.           STOR .f. TO aok
  1022.           RETURN
  1023.         ELSE
  1024.           set alternate on
  1025.           RESTORE screen
  1026.         ENDIF
  1027.       endif
  1028.       SKIP
  1029.     ENDDO while .not. eof
  1030.     ** agency
  1031.     SELECT 1
  1032.     SET ORDER TO 1
  1033.     SELECT 2
  1034.     SET RELATION TO UPPER(agnam) INTO &file1
  1035.     GO TOP
  1036.     DO CASE
  1037.     CASE mstart = 'S'
  1038.       SEEK mstzip
  1039.     CASE mstart = 'R'
  1040.       SET filter TO (mstzip <= SUBSTR(agzip,1,5)) .AND. (menzip >= SUBSTR(agzip,1,5))
  1041.       GO TOP
  1042.     ENDCASE
  1043.     DO WHILE .NOT. EOF() .OR. BOF()
  1044.       IF a-> alnam <> ' '
  1045.         STOR TRIM(a-> amrs)+' '+trim(a-> afnam)+' '+trim(a-> alnam) TO m1l1
  1046.       ELSE
  1047.         STOR ' ' TO m1l1
  1048.       ENDIF
  1049.       IF a-> atit <> ' '
  1050.         STOR TRIM(a-> atit) TO m1l2
  1051.       ELSE
  1052.         STOR ' ' TO m1l2
  1053.       ENDIF
  1054.       STOR TRIM(AGNAM) TO m1l3
  1055.       STOR TRIM(agad1) TO m1l4
  1056.       IF agad2 <> ' '
  1057.         STOR TRIM(AGAD2) TO m1l5
  1058.       ELSE
  1059.         STOR ' ' TO m1l5
  1060.       ENDIF
  1061.       IF agsta <> ' '
  1062.         STOR ', '+ agsta+'  ' TO m1pdat
  1063.       ELSE
  1064.         STOR ' ' TO m1pdat
  1065.       ENDIF
  1066.       IF agzip = ' '
  1067.         STOR ' ' TO m1pdat1
  1068.       ELSE
  1069.         STOR agzip TO m1pdat1
  1070.       ENDIF
  1071.       STOR TRIM(agcit)+m1pdat+m1pdat1 TO m1l6
  1072.       IF agcou <> ' '
  1073.         STOR TRIM(agcou) TO m1l7
  1074.       ELSE
  1075.         STOR ' ' TO m1l7
  1076.       ENDIF
  1077.       ?
  1078.       ?? CHR(34)+trim(m1l1)+CHR(34)+','
  1079.       ?? CHR(34)+trim(m1l2)+CHR(34)+','
  1080.       ?? CHR(34)+trim(m1l3)+CHR(34)+','
  1081.       ?? CHR(34)+trim(m1l4)+CHR(34)+','
  1082.       ?? CHR(34)+trim(m1l5)+CHR(34)+','
  1083.       ?? CHR(34)+trim(m1l6)+CHR(34)+','
  1084.       ?? CHR(34)+trim(m1l7)+CHR(34)+','
  1085.       ?? TRIM(a-> agsal)+chr(05)
  1086.       STOR alabels + 1 TO alabels
  1087.       i = inkey()
  1088.       if i > 0
  1089.         action = " "
  1090.         set alternate off
  1091.         SET INTENSITY OFF
  1092.         SAVE SCREEN
  1093.         CLEAR
  1094.         @ 9,5 TO 11,73 DOUBLE
  1095.         @ 10,10 SAY "Do you want to <A>bandon or <R>esume "
  1096.         @ 10,50 get action PICTURE '!' VALID(action $('AR'))
  1097.         READ
  1098.         SET INTENSITY ON
  1099.         IF action = 'A'
  1100.           STOR .f. TO aok
  1101.           RETURN
  1102.         ELSE
  1103.           set alternate on
  1104.           RESTORE screen
  1105.         ENDIF
  1106.       endif
  1107.       SKIP
  1108.     ENDDO while .not. eof
  1109.   CASE mselect = '2'
  1110.     ** company
  1111.     SELECT 1
  1112.     SET ORDER TO 2
  1113.     SELECT 3
  1114.     SET RELATION TO UPPER(conam) INTO &file1
  1115.     GO TOP
  1116.     DO CASE
  1117.     CASE mstart = 'S'
  1118.       SEEK mstzip
  1119.     CASE mstart = 'R'
  1120.       SET filter TO (mstzip <= SUBSTR(cozip,1,5)) .AND. (menzip >= SUBSTR(cozip,1,5))
  1121.       GO TOP
  1122.     ENDCASE
  1123.     DO WHILE .NOT. EOF() .OR. BOF()
  1124.       IF a-> clnam <> ' '
  1125.         STOR TRIM(a-> cmrs)+' '+trim(a-> cfnam)+' '+trim(a-> clnam) TO m1l1
  1126.       ELSE
  1127.         STOR ' ' TO m1l1
  1128.       ENDIF
  1129.       IF a-> ctit <> ' '
  1130.         STOR TRIM(a-> ctit) TO m1l2
  1131.       ELSE
  1132.         STOR ' ' TO m1l2
  1133.       ENDIF
  1134.       STOR TRIM(CONAM) TO m1l3
  1135.       STOR TRIM(coad1) TO m1l4
  1136.       IF coad2 <> ' '
  1137.         STOR TRIM(COAD2) TO m1l5
  1138.       ELSE
  1139.         STOR ' ' TO m1l5
  1140.       ENDIF
  1141.       IF costa <> ' '
  1142.         STOR ', '+ costa+'  ' TO m1pdat
  1143.       ELSE
  1144.         STOR ' ' TO m1pdat
  1145.       ENDIF
  1146.       IF cozip = ' '
  1147.         STOR ' ' TO m1pdat1
  1148.       ELSE
  1149.         STOR cozip TO m1pdat1
  1150.       ENDIF
  1151.       STOR TRIM(cocit)+m1pdat+m1pdat1 TO m1l6
  1152.       IF cocou <> ' '
  1153.         STOR TRIM(cocou) TO m1l7
  1154.       ELSE
  1155.         STOR ' ' TO m1l7
  1156.       ENDIF
  1157.       ?
  1158.       ?? CHR(34)+trim(m1l1)+CHR(34)+','
  1159.       ?? CHR(34)+trim(m1l2)+CHR(34)+','
  1160.       ?? CHR(34)+trim(m1l3)+CHR(34)+','
  1161.       ?? CHR(34)+trim(m1l4)+CHR(34)+','
  1162.       ?? CHR(34)+trim(m1l5)+CHR(34)+','
  1163.       ?? CHR(34)+trim(m1l6)+CHR(34)+','
  1164.       ?? CHR(34)+trim(m1l7)+CHR(34)+','
  1165.       ?? TRIM(a-> csal)+chr(05)
  1166.       STOR clabels+ 1 TO clabels
  1167.       i = inkey()
  1168.       if i > 0
  1169.         action = " "
  1170.         set alternate off
  1171.         SET INTENSITY OFF
  1172.         SAVE SCREEN
  1173.         CLEAR
  1174.         @ 9,5 TO 11,73 DOUBLE
  1175.         @ 10,10 SAY "Do you want to <A>bandon or <R>esume "
  1176.         @ 10,50 get action PICTURE '!' VALID(action $('AR'))
  1177.         READ
  1178.         SET INTENSITY ON
  1179.         IF action = 'A'
  1180.           STOR .f. TO aok
  1181.           RETURN
  1182.         ELSE
  1183.           set alternate on
  1184.           RESTORE screen
  1185.         ENDIF
  1186.       endif
  1187.       SKIP
  1188.     ENDDO while .not. eof
  1189.   CASE mselect = '3'
  1190.     ** agency
  1191.     SELECT 1
  1192.     SET ORDER TO 1
  1193.     SELECT 2
  1194.     SET RELATION TO UPPER(agnam) INTO &file1
  1195.     GO TOP
  1196.     DO CASE
  1197.     CASE mstart = 'S'
  1198.       SEEK mstzip
  1199.     CASE mstart = 'R'
  1200.       SET filter TO (mstzip <= SUBSTR(agzip,1,5)) .AND. (menzip >= SUBSTR(agzip,1,5))
  1201.       GO TOP
  1202.     ENDCASE
  1203.     DO WHILE .NOT. EOF() .OR. BOF()
  1204.       IF a-> alnam <> ' '
  1205.         STOR TRIM(a-> amrs)+' '+trim(a-> afnam)+' '+trim(a-> alnam) TO m1l1
  1206.       ELSE
  1207.         STOR ' ' TO m1l1
  1208.       ENDIF
  1209.       IF a-> atit <> ' '
  1210.         STOR TRIM(a-> atit) TO m1l2
  1211.       ELSE
  1212.         STOR ' ' TO m1l2
  1213.       ENDIF
  1214.       STOR TRIM(AGNAM) TO m1l3
  1215.       STOR TRIM(agad1) TO m1l4
  1216.       IF agad2 <> ' '
  1217.         STOR TRIM(AGAD2) TO m1l5
  1218.       ELSE
  1219.         STOR ' ' TO m1l5
  1220.       ENDIF
  1221.       IF agsta <> ' '
  1222.         STOR ', '+ agsta+'  ' TO m1pdat
  1223.       ELSE
  1224.         STOR ' ' TO m1pdat
  1225.       ENDIF
  1226.       IF agzip = ' '
  1227.         STOR ' ' TO m1pdat1
  1228.       ELSE
  1229.         STOR agzip TO m1pdat1
  1230.       ENDIF
  1231.       STOR TRIM(agcit)+m1pdat+m1pdat1 TO m1l6
  1232.       IF agcou <> ' '
  1233.         STOR TRIM(agcou) TO m1l7
  1234.       ELSE
  1235.         STOR ' ' TO m1l7
  1236.       ENDIF
  1237.       ?
  1238.       ?? CHR(34)+trim(m1l1)+CHR(34)+','
  1239.       ?? CHR(34)+trim(m1l2)+CHR(34)+','
  1240.       ?? CHR(34)+trim(m1l3)+CHR(34)+','
  1241.       ?? CHR(34)+trim(m1l4)+CHR(34)+','
  1242.       ?? CHR(34)+trim(m1l5)+CHR(34)+','
  1243.       ?? CHR(34)+trim(m1l6)+CHR(34)+','
  1244.       ?? CHR(34)+trim(m1l7)+CHR(34)+','
  1245.       ?? TRIM(agsal)+chr(05)
  1246.       
  1247.       STOR alabels + 1 TO alabels
  1248.       i = inkey()
  1249.       if i > 0
  1250.         action = " "
  1251.         set alternate off
  1252.         SET INTENSITY OFF
  1253.         SAVE SCREEN
  1254.         CLEAR
  1255.         @ 9,5 TO 11,73 DOUBLE
  1256.         @ 10,10 SAY "Do you want to <A>bandon or <R>esume "
  1257.         @ 10,50 get action PICTURE '!' VALID(action $('AR'))
  1258.         READ
  1259.         SET INTENSITY ON
  1260.         IF action = 'A'
  1261.           STOR .f. TO aok
  1262.           RETURN
  1263.         ELSE
  1264.           set alternate on
  1265.           RESTORE screen
  1266.         ENDIF
  1267.       ENDIF
  1268.       SKIP
  1269.     ENDDO while .not. eof
  1270.   CASE mselect = '4'
  1271.     ** company
  1272.     SELECT 3
  1273.     GO TOP
  1274.     DO CASE
  1275.     CASE mstart = 'S'
  1276.       SEEK mstzip
  1277.     CASE mstart = 'R'
  1278.       SET filter TO (mstzip <= SUBSTR(cozip,1,5)) .AND. (menzip >= SUBSTR(cozip,1,5))
  1279.       GO TOP
  1280.     ENDCASE
  1281.     DO WHILE .NOT. EOF()
  1282.       STOR ' ' TO m1l1
  1283.       STOR ' ' TO m1l2
  1284.       STOR TRIM(CONAM) TO m1l3
  1285.       STOR TRIM(coad1) TO m1l4
  1286.       IF coad2 <> ' '
  1287.         STOR TRIM(COAD2) TO m1l5
  1288.       ELSE
  1289.         STOR ' ' TO m1l5
  1290.       ENDIF
  1291.       IF costa <> ' '
  1292.         STOR ', '+ costa+'  ' TO m1pdat
  1293.       ELSE
  1294.         STOR ' ' TO m1pdat
  1295.       ENDIF
  1296.       IF cozip = ' '
  1297.         STOR ' ' TO m1pdat1
  1298.       ELSE
  1299.         STOR cozip TO m1pdat1
  1300.       ENDIF
  1301.       STOR TRIM(cocit)+m1pdat+m1pdat1 TO m1l6
  1302.       IF cocou <> ' '
  1303.         STOR TRIM(cocou) TO m1l7
  1304.       ELSE
  1305.         STOR ' ' TO m1l7
  1306.       ENDIF
  1307.       ?
  1308.       ?? CHR(34)+trim(m1l1)+CHR(34)+','
  1309.       ?? CHR(34)+trim(m1l2)+CHR(34)+','
  1310.       ?? CHR(34)+trim(m1l3)+CHR(34)+','
  1311.       ?? CHR(34)+trim(m1l4)+CHR(34)+','
  1312.       ?? CHR(34)+trim(m1l5)+CHR(34)+','
  1313.       ?? CHR(34)+trim(m1l6)+CHR(34)+','
  1314.       ?? CHR(34)+trim(m1l7)+CHR(34)+','
  1315.       ?? CHR(34)+CHR(34)+chr(05)
  1316.       STOR clabels+ 1 TO clabels
  1317.       i = inkey()
  1318.       if i > 0
  1319.         action = " "
  1320.         set alternate off
  1321.         SET INTENSITY OFF
  1322.         SAVE SCREEN
  1323.         CLEAR
  1324.         @ 9,5 TO 11,73 DOUBLE
  1325.         @ 10,10 SAY "Do you want to <A>bandon or <R>esume "
  1326.         @ 10,50 get action PICTURE '!' VALID(action $('AR'))
  1327.         READ
  1328.         SET INTENSITY ON
  1329.         IF action = 'A'
  1330.           STOR .f. TO aok
  1331.           RETURN
  1332.         ELSE
  1333.           set alternate on
  1334.           RESTORE screen
  1335.         ENDIF
  1336.       ENDIF
  1337.       SKIP
  1338.     ENDDO while .not. eof
  1339.   CASE mselect = '5'
  1340.     ** company
  1341.     SELECT 3
  1342.     GO TOP
  1343.     DO CASE
  1344.     CASE mstart = 'S'
  1345.       SEEK mstzip
  1346.     CASE mstart = 'R'
  1347.       SET filter TO (mstzip <= SUBSTR(cozip,1,5)) .AND. (menzip >= SUBSTR(cozip,1,5))
  1348.       GO TOP
  1349.     ENDCASE
  1350.     DO WHILE .NOT. EOF()
  1351.       IF clnam1 <> ' '
  1352.         STOR TRIM(cmrs1)+' '+trim(cfnam1)+' '+trim(clnam1) TO m1l1
  1353.       ELSE
  1354.         STOR ' ' TO m1l1
  1355.       ENDIF
  1356.       IF ctit1 <> ' '
  1357.         STOR TRIM(ctit1) TO m1l2
  1358.       ELSE
  1359.         STOR ' ' TO m1l2
  1360.       ENDIF
  1361.       STOR TRIM(CONAM) TO m1l3
  1362.       STOR TRIM(coad1) TO m1l4
  1363.       IF coad2 <> ' '
  1364.         STOR TRIM(COAD2) TO m1l5
  1365.       ELSE
  1366.         STOR ' ' TO m1l5
  1367.       ENDIF
  1368.       IF costa <> ' '
  1369.         STOR ', '+ costa+'  ' TO m1pdat
  1370.       ELSE
  1371.         STOR ' ' TO m1pdat
  1372.       ENDIF
  1373.       IF cozip = ' '
  1374.         STOR ' ' TO m1pdat1
  1375.       ELSE
  1376.         STOR cozip TO m1pdat1
  1377.       ENDIF
  1378.       STOR TRIM(cocit)+m1pdat+m1pdat1 TO m1l6
  1379.       IF cocou <> ' '
  1380.         STOR TRIM(cocou) TO m1l7
  1381.       ELSE
  1382.         STOR ' ' TO m1l7
  1383.       ENDIF
  1384.       ?
  1385.       ?? CHR(34)+trim(m1l1)+CHR(34)+','
  1386.       ?? CHR(34)+trim(m1l2)+CHR(34)+','
  1387.       ?? CHR(34)+trim(m1l3)+CHR(34)+','
  1388.       ?? CHR(34)+trim(m1l4)+CHR(34)+','
  1389.       ?? CHR(34)+trim(m1l5)+CHR(34)+','
  1390.       ?? CHR(34)+trim(m1l6)+CHR(34)+','
  1391.       ?? CHR(34)+trim(m1l7)+CHR(34)+','
  1392.       ?? TRIM(csal1)+chr(05)
  1393.       STOR clabels+ 1 TO clabels
  1394.       i = inkey()
  1395.       if i > 0
  1396.         action = " "
  1397.         set alternate off
  1398.         SET INTENSITY OFF
  1399.         SAVE SCREEN
  1400.         CLEAR
  1401.         @ 9,5 TO 11,73 DOUBLE
  1402.         @ 10,10 SAY "Do you want to <A>bandon or <R>esume "
  1403.         @ 10,50 get action PICTURE '!' VALID(action $('AR'))
  1404.         READ
  1405.         SET INTENSITY ON
  1406.         IF action = 'A'
  1407.           STOR .f. TO aok
  1408.           RETURN
  1409.         ELSE
  1410.           set alternate on
  1411.           RESTORE screen
  1412.         ENDIF
  1413.       ENDIF
  1414.       SKIP
  1415.     ENDDO while .not. eof
  1416.   CASE mselect = '6'
  1417.     ** company
  1418.     SELECT 3
  1419.     GO TOP
  1420.     DO CASE
  1421.     CASE mstart = 'S'
  1422.       SEEK mstzip
  1423.     CASE mstart = 'R'
  1424.       SET filter TO (mstzip <= SUBSTR(cozip,1,5)) .AND. (menzip >= SUBSTR(cozip,1,5))
  1425.       GO TOP
  1426.     ENDCASE
  1427.     DO WHILE .NOT. EOF()
  1428.       IF clnam1 <> ' '
  1429.         STOR cmrs1+' '+trim(cfnam1)+' '+trim(clnam1) TO m1l1
  1430.         IF  ctit1 <> ' '
  1431.           STOR TRIM(ctit1) TO m1l2
  1432.         ELSE
  1433.           STOR ' ' TO m1l2
  1434.         ENDIF
  1435.         STOR TRIM(CONAM) TO m1l3
  1436.         STOR TRIM(coad1) TO m1l4
  1437.         IF coad2 <> ' '
  1438.           STOR TRIM(COAD2) TO m1l5
  1439.         ELSE
  1440.           STOR ' ' TO m1l5
  1441.         ENDIF
  1442.         IF costa <> ' '
  1443.           STOR ', '+ costa+'  ' TO m1pdat
  1444.         ELSE
  1445.           STOR ' ' TO m1pdat
  1446.         ENDIF
  1447.         IF cozip = ' '
  1448.           STOR ' ' TO m1pdat1
  1449.         ELSE
  1450.           STOR cozip TO m1pdat1
  1451.         ENDIF
  1452.         STOR TRIM(cocit)+m1pdat+m1pdat1 TO m1l6
  1453.         IF cocou <> ' '
  1454.           STOR TRIM(cocou) TO m1l7
  1455.         ELSE
  1456.           STOR ' ' TO m1l7
  1457.         ENDIF
  1458.         ?
  1459.         ?? CHR(34)+trim(m1l1)+CHR(34)+','
  1460.         ?? CHR(34)+trim(m1l2)+CHR(34)+','
  1461.         ?? CHR(34)+trim(m1l3)+CHR(34)+','
  1462.         ?? CHR(34)+trim(m1l4)+CHR(34)+','
  1463.         ?? CHR(34)+trim(m1l5)+CHR(34)+','
  1464.         ?? CHR(34)+trim(m1l6)+CHR(34)+','
  1465.         ?? CHR(34)+trim(m1l7)+CHR(34)+','
  1466.         ?? TRIM(csal1)+chr(05)
  1467.         STOR clabels+ 1 TO clabels
  1468.         IF clnam2 <> ' '
  1469.           STOR cmrs2+' '+trim(cfnam2)+' '+trim(clnam2) TO m1l1
  1470.           IF  ctit2 <> ' '
  1471.             STOR TRIM(ctit2) TO m1l2
  1472.           ELSE
  1473.             STOR ' ' TO m1l2
  1474.           ENDIF
  1475.           STOR TRIM(CONAM) TO m1l3
  1476.           STOR TRIM(coad1) TO m1l4
  1477.           IF coad2 <> ' '
  1478.             STOR TRIM(COAD2) TO m1l5
  1479.           ELSE
  1480.             STOR ' ' TO m1l5
  1481.           ENDIF
  1482.           IF costa <> ' '
  1483.             STOR ', '+ costa+'  ' TO m1pdat
  1484.           ELSE
  1485.             STOR ' ' TO m1pdat
  1486.           ENDIF
  1487.           IF cozip = ' '
  1488.             STOR ' ' TO m1pdat1
  1489.           ELSE
  1490.             STOR cozip TO m1pdat1
  1491.           ENDIF
  1492.           STOR TRIM(cocit)+m1pdat+m1pdat1 TO m1l6
  1493.           IF cocou <> ' '
  1494.             STOR TRIM(cocou) TO m1l7
  1495.           ELSE
  1496.             STOR ' ' TO m1l7
  1497.           ENDIF
  1498.           ?
  1499.           ?? CHR(34)+trim(m1l1)+CHR(34)+','
  1500.           ?? CHR(34)+trim(m1l2)+CHR(34)+','
  1501.           ?? CHR(34)+trim(m1l3)+CHR(34)+','
  1502.           ?? CHR(34)+trim(m1l4)+CHR(34)+','
  1503.           ?? CHR(34)+trim(m1l5)+CHR(34)+','
  1504.           ?? CHR(34)+trim(m1l6)+CHR(34)+','
  1505.           ?? CHR(34)+trim(m1l7)+CHR(34)+','
  1506.           ?? TRIM(csal2)+chr(05)
  1507.           STOR clabels+ 1 TO clabels
  1508.           IF clnam3 <> ' '
  1509.             STOR cmrs3+' '+trim(cfnam3)+' '+trim(clnam3) TO m1l1
  1510.             IF  ctit3 <> ' '
  1511.               STOR TRIM(ctit3) TO m1l2
  1512.             ELSE
  1513.               STOR ' ' TO m1l2
  1514.             ENDIF
  1515.             STOR TRIM(CONAM) TO m1l3
  1516.             STOR TRIM(coad1) TO m1l4
  1517.             IF coad2 <> ' '
  1518.               STOR TRIM(COAD2) TO m1l5
  1519.             ELSE
  1520.               STOR ' ' TO m1l5
  1521.             ENDIF
  1522.             IF costa <> ' '
  1523.               STOR ', '+ costa+'  ' TO m1pdat
  1524.             ELSE
  1525.               STOR ' ' TO m1pdat
  1526.             ENDIF
  1527.             IF cozip = ' '
  1528.               STOR ' ' TO m1pdat1
  1529.             ELSE
  1530.               STOR cozip TO m1pdat1
  1531.             ENDIF
  1532.             STOR TRIM(cocit)+m1pdat+m1pdat1 TO m1l6
  1533.             IF cocou <> ' '
  1534.               STOR TRIM(cocou) TO m1l7
  1535.             ELSE
  1536.               STOR ' ' TO m1l7
  1537.             ENDIF
  1538.             ?
  1539.             ?? CHR(34)+trim(m1l1)+CHR(34)+','
  1540.             ?? CHR(34)+trim(m1l2)+CHR(34)+','
  1541.             ?? CHR(34)+trim(m1l3)+CHR(34)+','
  1542.             ?? CHR(34)+trim(m1l4)+CHR(34)+','
  1543.             ?? CHR(34)+trim(m1l5)+CHR(34)+','
  1544.             ?? CHR(34)+trim(m1l6)+CHR(34)+','
  1545.             ?? CHR(34)+trim(m1l7)+CHR(34)+','
  1546.             ?? TRIM(csal3)+chr(05)
  1547.             STOR clabels+ 1 TO clabels
  1548.             IF clnam4 <> ' '
  1549.               STOR cmrs4+' '+trim(cfnam4)+' '+trim(clnam4) TO m1l1
  1550.               IF  ctit4 <> ' '
  1551.                 STOR TRIM(ctit4) TO m1l2
  1552.               ELSE
  1553.                 STOR ' ' TO m1l2
  1554.               ENDIF
  1555.               STOR TRIM(CONAM) TO m1l3
  1556.               STOR TRIM(coad1) TO m1l4
  1557.               IF coad2 <> ' '
  1558.                 STOR TRIM(COAD2) TO m1l5
  1559.               ELSE
  1560.                 STOR ' ' TO m1l5
  1561.               ENDIF
  1562.               IF costa <> ' '
  1563.                 STOR ', '+ costa+'  ' TO m1pdat
  1564.               ELSE
  1565.                 STOR ' ' TO m1pdat
  1566.               ENDIF
  1567.               IF cozip = ' '
  1568.                 STOR ' ' TO m1pdat1
  1569.               ELSE
  1570.                 STOR cozip TO m1pdat1
  1571.               ENDIF
  1572.               STOR TRIM(cocit)+m1pdat+m1pdat1 TO m1l6
  1573.               IF cocou <> ' '
  1574.                 STOR TRIM(cocou) TO m1l7
  1575.               ELSE
  1576.                 STOR ' ' TO m1l7
  1577.               ENDIF
  1578.               ?
  1579.               ?? CHR(34)+trim(m1l1)+CHR(34)+','
  1580.               ?? CHR(34)+trim(m1l2)+CHR(34)+','
  1581.               ?? CHR(34)+trim(m1l3)+CHR(34)+','
  1582.               ?? CHR(34)+trim(m1l4)+CHR(34)+','
  1583.               ?? CHR(34)+trim(m1l5)+CHR(34)+','
  1584.               ?? CHR(34)+trim(m1l6)+CHR(34)+','
  1585.               ?? CHR(34)+trim(m1l7)+CHR(34)+','
  1586.               ?? TRIM(csal4)+chr(05)
  1587.               STOR clabels+ 1 TO clabels
  1588.             ENDIF clnam4
  1589.           ENDIF clnam3
  1590.         ENDIF clnam2
  1591.       ENDIF  clnam1
  1592.       i = inkey()
  1593.       if i > 0
  1594.         action = " "
  1595.         set alternate off
  1596.         SET INTENSITY OFF
  1597.         SAVE SCREEN
  1598.         CLEAR
  1599.         @ 9,5 TO 11,73 DOUBLE
  1600.         @ 10,10 SAY "Do you want to <A>bandon or <R>esume "
  1601.         @ 10,50 get action PICTURE '!' VALID(action $('AR'))
  1602.         READ
  1603.         SET INTENSITY ON
  1604.         IF action = 'A'
  1605.           STOR .f. TO aok
  1606.           RETURN
  1607.         ELSE
  1608.           set alternate on
  1609.           RESTORE screen
  1610.         ENDIF
  1611.       ENDIF
  1612.       SKIP
  1613.     ENDDO while .not. eof
  1614.   CASE mselect = '7'
  1615.     ** agency
  1616.     SELECT 2
  1617.     GO TOP
  1618.     DO CASE
  1619.     CASE mstart = 'S'
  1620.       SEEK mstzip
  1621.     CASE mstart = 'R'
  1622.       SET filter TO (mstzip <= SUBSTR(agzip,1,5)) .AND. (menzip >= SUBSTR(agzip,1,5))
  1623.       GO TOP
  1624.     ENDCASE
  1625.     DO WHILE .NOT. EOF()
  1626.       STOR ' ' TO m1l1
  1627.       STOR ' ' TO m1l2
  1628.       STOR TRIM(AGNAM) TO m1l3
  1629.       STOR TRIM(agad1) TO m1l4
  1630.       IF agad2 <> ' '
  1631.         STOR TRIM(AGAD2) TO m1l5
  1632.       ELSE
  1633.         STOR ' ' TO m1l5
  1634.       ENDIF
  1635.       IF agsta <> ' '
  1636.         STOR ', '+ agsta+'  ' TO m1pdat
  1637.       ELSE
  1638.         STOR ' ' TO m1pdat
  1639.       ENDIF
  1640.       IF agzip = ' '
  1641.         STOR ' ' TO m1pdat1
  1642.       ELSE
  1643.         STOR agzip TO m1pdat1
  1644.       ENDIF
  1645.       STOR TRIM(agcit)+m1pdat+m1pdat1 TO m1l6
  1646.       IF agcou <> ' '
  1647.         STOR TRIM(agcou) TO m1l7
  1648.       ELSE
  1649.         STOR ' ' TO m1l7
  1650.       ENDIF
  1651.       ?
  1652.       ?? CHR(34)+trim(m1l1)+CHR(34)+','
  1653.       ?? CHR(34)+trim(m1l2)+CHR(34)+','
  1654.       ?? CHR(34)+trim(m1l3)+CHR(34)+','
  1655.       ?? CHR(34)+trim(m1l4)+CHR(34)+','
  1656.       ?? CHR(34)+trim(m1l5)+CHR(34)+','
  1657.       ?? CHR(34)+trim(m1l6)+CHR(34)+','
  1658.       ?? CHR(34)+trim(m1l7)+CHR(34)+','
  1659.       ?? CHR(34)+CHR(34)+chr(05)
  1660.       STOR alabels + 1 TO alabels
  1661.       i = inkey()
  1662.       if i > 0
  1663.         action = " "
  1664.         set alternate off
  1665.         SET INTENSITY OFF
  1666.         SAVE SCREEN
  1667.         CLEAR
  1668.         @ 9,5 TO 11,73 DOUBLE
  1669.         @ 10,10 SAY "Do you want to <A>bandon or <R>esume "
  1670.         @ 10,50 get action PICTURE '!' VALID(action $('AR'))
  1671.         READ
  1672.         SET INTENSITY ON
  1673.         IF action = 'A'
  1674.           STOR .f. TO aok
  1675.           RETURN
  1676.         ELSE
  1677.           set alternate on
  1678.           RESTORE screen
  1679.         ENDIF
  1680.       ENDIF
  1681.       SKIP
  1682.     ENDDO while .not. eof
  1683.   CASE mselect = '8'
  1684.     ** agency
  1685.     SELECT 2
  1686.     GO TOP
  1687.     DO CASE
  1688.     CASE mstart = 'S'
  1689.       SEEK mstzip
  1690.     CASE mstart = 'R'
  1691.       SET filter TO (mstzip <= SUBSTR(agzip,1,5)) .AND. (menzip >= SUBSTR(agzip,1,5))
  1692.       GO TOP
  1693.     ENDCASE
  1694.     DO WHILE .NOT. EOF()
  1695.       IF alnam1 <> ' '
  1696.         STOR TRIM(amrs1)+' '+trim(afnam1)+' '+trim(alnam1) TO m1l1
  1697.       ELSE
  1698.         STOR ' ' TO m1l1
  1699.       ENDIF
  1700.       IF atit1 <> ' '
  1701.         STOR TRIM(atit1) TO m1l2
  1702.       ELSE
  1703.         STOR ' ' TO m1l2
  1704.       ENDIF
  1705.       STOR TRIM(AGNAM) TO m1l3
  1706.       STOR TRIM(agad1) TO m1l4
  1707.       IF agad2 <> ' '
  1708.         STOR TRIM(AGAD2) TO m1l5
  1709.       ELSE
  1710.         STOR ' ' TO m1l5
  1711.       ENDIF
  1712.       IF agsta <> ' '
  1713.         STOR ', '+ agsta+'  ' TO m1pdat
  1714.       ELSE
  1715.         STOR ' ' TO m1pdat
  1716.       ENDIF
  1717.       IF agzip = ' '
  1718.         STOR ' ' TO m1pdat1
  1719.       ELSE
  1720.         STOR agzip TO m1pdat1
  1721.       ENDIF
  1722.       STOR TRIM(agcit)+m1pdat+m1pdat1 TO m1l6
  1723.       IF agcou <> ' '
  1724.         STOR TRIM(agcou) TO m1l7
  1725.       ELSE
  1726.         STOR ' ' TO m1l7
  1727.       ENDIF
  1728.       ?
  1729.       ?? CHR(34)+trim(m1l1)+CHR(34)+','
  1730.       ?? CHR(34)+trim(m1l2)+CHR(34)+','
  1731.       ?? CHR(34)+trim(m1l3)+CHR(34)+','
  1732.       ?? CHR(34)+trim(m1l4)+CHR(34)+','
  1733.       ?? CHR(34)+trim(m1l5)+CHR(34)+','
  1734.       ?? CHR(34)+trim(m1l6)+CHR(34)+','
  1735.       ?? CHR(34)+trim(m1l7)+CHR(34)+','
  1736.       ?? TRIM(asal1)+chr(05)
  1737.       STOR alabels + 1 TO alabels
  1738.       i = inkey()
  1739.       if i > 0
  1740.         action = " "
  1741.         set alternate off
  1742.         SET INTENSITY OFF
  1743.         SAVE SCREEN
  1744.         CLEAR
  1745.         @ 9,5 TO 11,73 DOUBLE
  1746.         @ 10,10 SAY "Do you want to <A>bandon or <R>esume "
  1747.         @ 10,50 get action PICTURE '!' VALID(action $('AR'))
  1748.         READ
  1749.         SET INTENSITY ON
  1750.         IF action = 'A'
  1751.           STOR .f. TO aok
  1752.           RETURN
  1753.         ELSE
  1754.           set alternate on
  1755.           RESTORE screen
  1756.         ENDIF
  1757.       ENDIF
  1758.       SKIP
  1759.     ENDDO while .not. eof
  1760.   CASE mselect = '9'
  1761.     ** agency
  1762.     SELECT 2
  1763.     GO TOP
  1764.     DO CASE
  1765.     CASE mstart = 'S'
  1766.       SEEK mstzip
  1767.     CASE mstart = 'R'
  1768.       SET filter TO (mstzip <= SUBSTR(agzip,1,5)) .AND. (menzip >= SUBSTR(agzip,1,5))
  1769.       GO TOP
  1770.     ENDCASE
  1771.     DO WHILE .NOT. EOF()
  1772.       IF alnam1 <> ' '
  1773.         STOR TRIM(amrs1)+' '+trim(afnam1)+' '+trim(alnam1) TO m1l1
  1774.         IF atit1 <> ' '
  1775.           STOR TRIM(atit1) TO m1l2
  1776.         ELSE
  1777.           STOR ';' TO m1l2
  1778.         ENDIF
  1779.         STOR TRIM(AGNAM) TO m1l3
  1780.         STOR TRIM(agad1) TO m1l4
  1781.         IF agad2 <> ' '
  1782.           STOR TRIM(AGAD2) TO m1l5
  1783.         ELSE
  1784.           STOR ' ' TO m1l5
  1785.         ENDIF
  1786.         IF agsta <> ' '
  1787.           STOR ', '+ agsta+'  ' TO m1pdat
  1788.         ELSE
  1789.           STOR ' ' TO m1pdat
  1790.         ENDIF
  1791.         IF agzip = ' '
  1792.           STOR ' ' TO m1pdat1
  1793.         ELSE
  1794.           STOR agzip TO m1pdat1
  1795.         ENDIF
  1796.         STOR TRIM(agcit)+m1pdat+m1pdat1 TO m1l6
  1797.         IF agcou <> ' '
  1798.           STOR TRIM(agcou) TO m1l7
  1799.         ELSE
  1800.           STOR ' ' TO m1l7
  1801.         ENDIF
  1802.         ?
  1803.         ?? CHR(34)+trim(m1l1)+CHR(34)+','
  1804.         ?? CHR(34)+trim(m1l2)+CHR(34)+','
  1805.         ?? CHR(34)+trim(m1l3)+CHR(34)+','
  1806.         ?? CHR(34)+trim(m1l4)+CHR(34)+','
  1807.         ?? CHR(34)+trim(m1l5)+CHR(34)+','
  1808.         ?? CHR(34)+trim(m1l6)+CHR(34)+','
  1809.         ?? CHR(34)+trim(m1l7)+CHR(34)+','
  1810.         ?? TRIM(asal1)+chr(05)
  1811.         STOR alabels + 1 TO alabels
  1812.         IF alnam2 <> ' '
  1813.           STOR TRIM(amrs2)+' '+trim(afnam2)+' '+trim(alnam2) TO m1l1
  1814.           IF atit2 <> ' '
  1815.             STOR TRIM(atit2) TO m1l2
  1816.           ELSE
  1817.             STOR ' ' TO m1l2
  1818.           ENDIF
  1819.           STOR TRIM(AGNAM) TO m1l3
  1820.           STOR TRIM(agad1) TO m1l4
  1821.           IF agad2 <> ' '
  1822.             STOR TRIM(AGAD2) TO m1l5
  1823.           ELSE
  1824.             STOR ' ' TO m1l5
  1825.           ENDIF
  1826.           IF agsta <> ' '
  1827.             STOR ', '+ agsta+'  ' TO m1pdat
  1828.           ELSE
  1829.             STOR ' ' TO m1pdat
  1830.           ENDIF
  1831.           IF agzip = ' '
  1832.             STOR ' ' TO m1pdat1
  1833.           ELSE
  1834.             STOR agzip TO m1pdat1
  1835.           ENDIF
  1836.           STOR TRIM(agcit)+m1pdat+m1pdat1 TO m1l6
  1837.           IF agcou <> ' '
  1838.             STOR TRIM(agcou) TO m1l7
  1839.           ELSE
  1840.             STOR ' ' TO m1l7
  1841.           ENDIF
  1842.           ?
  1843.           ?? CHR(34)+trim(m1l1)+CHR(34)+','
  1844.           ?? CHR(34)+trim(m1l2)+CHR(34)+','
  1845.           ?? CHR(34)+trim(m1l3)+CHR(34)+','
  1846.           ?? CHR(34)+trim(m1l4)+CHR(34)+','
  1847.           ?? CHR(34)+trim(m1l5)+CHR(34)+','
  1848.           ?? CHR(34)+trim(m1l6)+CHR(34)+','
  1849.           ?? CHR(34)+trim(m1l7)+CHR(34)+','
  1850.           ?? TRIM(asal2)+chr(05)
  1851.           STOR alabels + 1 TO alabels
  1852.           IF alnam3 <> ' '
  1853.             STOR TRIM(amrs3)+' '+trim(afnam3)+' '+trim(alnam3) TO m1l1
  1854.             IF atit3 <> ' '
  1855.               STOR TRIM(atit3) TO m1l2
  1856.             ELSE
  1857.               STOR ' ' TO m1l2
  1858.             ENDIF
  1859.             STOR TRIM(AGNAM) TO m1l3
  1860.             STOR TRIM(agad1) TO m1l4
  1861.             IF agad2 <> ' '
  1862.               STOR TRIM(AGAD2) TO m1l5
  1863.             ELSE
  1864.               STOR ' ' TO m1l5
  1865.             ENDIF
  1866.             IF agsta <> ' '
  1867.               STOR ', '+ agsta+'  ' TO m1pdat
  1868.             ELSE
  1869.               STOR ' ' TO m1pdat
  1870.             ENDIF
  1871.             IF agzip = ' '
  1872.               STOR ' ' TO m1pdat1
  1873.             ELSE
  1874.               STOR agzip TO m1pdat1
  1875.             ENDIF
  1876.             STOR TRIM(agcit)+m1pdat+m1pdat1 TO m1l6
  1877.             IF agcou <> ' '
  1878.               STOR TRIM(agcou) TO m1l7
  1879.             ELSE
  1880.               STOR ' ' TO m1l7
  1881.             ENDIF
  1882.             ?
  1883.             ?? CHR(34)+trim(m1l1)+CHR(34)+','
  1884.             ?? CHR(34)+trim(m1l2)+CHR(34)+','
  1885.             ?? CHR(34)+trim(m1l3)+CHR(34)+','
  1886.             ?? CHR(34)+trim(m1l4)+CHR(34)+','
  1887.             ?? CHR(34)+trim(m1l5)+CHR(34)+','
  1888.             ?? CHR(34)+trim(m1l6)+CHR(34)+','
  1889.             ?? CHR(34)+trim(m1l7)+CHR(34)+','
  1890.             ?? TRIM(asal3)+chr(05)
  1891.             STOR alabels + 1 TO alabels
  1892.             IF alnam4 <> ' '
  1893.               STOR TRIM(amrs4)+' '+trim(afnam4)+' '+trim(alnam4) TO m1l1
  1894.               IF atit4 <> ' '
  1895.                 STOR TRIM(atit4) TO m1l2
  1896.               ELSE
  1897.                 STOR ' ' TO m1l2
  1898.               ENDIF
  1899.               STOR TRIM(AGNAM) TO m1l3
  1900.               STOR TRIM(agad1) TO m1l4
  1901.               IF agad2 <> ' '
  1902.                 STOR TRIM(AGAD2) TO m1l5
  1903.               ELSE
  1904.                 STOR ' ' TO m1l5
  1905.               ENDIF
  1906.               IF agsta <> ' '
  1907.                 STOR ', '+ agsta+'  ' TO m1pdat
  1908.               ELSE
  1909.                 STOR ' ' TO m1pdat
  1910.               ENDIF
  1911.               IF agzip = ' '
  1912.                 STOR ' ' TO m1pdat1
  1913.               ELSE
  1914.                 STOR agzip TO m1pdat1
  1915.               ENDIF
  1916.               STOR TRIM(agcit)+m1pdat+m1pdat1 TO m1l6
  1917.               IF agcou <> ' '
  1918.                 STOR TRIM(agcou) TO m1l7
  1919.               ELSE
  1920.                 STOR ' ' TO m1l7
  1921.               ENDIF
  1922.               ?
  1923.               ?? CHR(34)+trim(m1l1)+CHR(34)+','
  1924.               ?? CHR(34)+trim(m1l2)+CHR(34)+','
  1925.               ?? CHR(34)+trim(m1l3)+CHR(34)+','
  1926.               ?? CHR(34)+trim(m1l4)+CHR(34)+','
  1927.               ?? CHR(34)+trim(m1l5)+CHR(34)+','
  1928.               ?? CHR(34)+trim(m1l6)+CHR(34)+','
  1929.               ?? CHR(34)+trim(m1l7)+CHR(34)+','
  1930.               ?? TRIM(asal4)+chr(05)
  1931.               STOR alabels + 1 TO alabels
  1932.             ENDIF alnam4
  1933.           ENDIF alnam3
  1934.         ENDIF alnam2
  1935.       ENDIF alnam1
  1936.       i = inkey()
  1937.       if i > 0
  1938.         action = " "
  1939.         set alternate off
  1940.         SET INTENSITY OFF
  1941.         SAVE SCREEN
  1942.         CLEAR
  1943.         @ 9,5 TO 11,73 DOUBLE
  1944.         @ 10,10 SAY "Do you want to <A>bandon or <R>esume "
  1945.         @ 10,50 get action PICTURE '!' VALID(action $('AR'))
  1946.         READ
  1947.         SET INTENSITY ON
  1948.         IF action = 'A'
  1949.           STOR .f. TO aok
  1950.           RETURN
  1951.         ELSE
  1952.           set alternate on
  1953.           RESTORE screen
  1954.         ENDIF
  1955.       ENDIF
  1956.       SKIP
  1957.     ENDDO while .not. eof
  1958.   ENDCASE
  1959.   CLOSE alternate
  1960. ENDIF start
  1961. CLOSE DATABASES
  1962. IF aok
  1963.   STOR 'convert '+filenam+' '+foutput+ '8 , {05}{13}{10} {34}' TO mx
  1964.   ! &mx
  1965.   delete file &filenam
  1966.   CLEAR
  1967.   @ 10,10 SAY 'Company label total was '+str(clabels,4)
  1968.   @ 11,10 SAY ' Agency label total was '+str(alabels,4)
  1969.   @ 13,15 SAY 'Hit any key to continue'
  1970.   SET CONSOL OFF
  1971.   wait
  1972.   SET consol on
  1973. ENDIF aok
  1974. SET INTENSITY ON
  1975. RETURN
  1976.  
  1977.  
  1978.  
  1979.