home *** CD-ROM | disk | FTP | other *** search
/ Shareware Overload / ShartewareOverload.cdr / database / db3plsar.zip / FSTATE.PRG < prev    next >
Text File  |  1986-08-04  |  3KB  |  126 lines

  1. ****************************** (FSTATE.PRG)
  2. REST FROM MADD1
  3. REST FROM MADD2
  4. REST FROM MPHONE
  5. CLEAR
  6. SET HEADING OFF
  7. STORE 0.00 TO CNET
  8. STORE 0.00 TO INET
  9. SET EXACT ON
  10. SET TALK OFF
  11. DO WHILE .T.
  12.    USE CUST INDEX ACCT
  13.    CLEAR
  14.    @ 3,25 SAY 'Want to run one statement? ' 
  15.    ?
  16.    ?
  17.    STORE ' ' TO OPTION
  18.    WAIT '                                     ?  ' TO OPTION
  19.    IF OPTION<>'Y'
  20.       RETURN
  21.    ENDIF
  22.    STORE 0.00 TO MNET 
  23.    @ 2,0 CLEAR
  24.    ACCEPT '                         Which account? ' TO X
  25.    FIND &X
  26.    STORE NET TO CNET
  27.    USE INV
  28.    COUNT FOR ACCT=X TO MCT
  29.    GO TOP
  30.    SUM NET FOR ACCT=X TO INET
  31.    IF MCT=0
  32.       ? CHR(7)
  33.       ?
  34.       ?
  35.       ?
  36.       ?
  37.       ?
  38.       ? 'NO INVOICES IN FILE FOR THIS ì
  39. ACCOUNT******************************************'
  40.       ?
  41.       ?
  42.       ?
  43.       ?
  44.       LOOP
  45.    ENDIF
  46.    IF STR(CNET,9,2)<>STR(INET,9,2)
  47.       ? CHR(7)
  48.       ?
  49.       ?
  50.       ? 'YOU NEED TO UPDATE THIS CUSTOMER BEFORE PRINTING A STATEMENT'
  51.       ?
  52.       ?
  53.       WAIT
  54.       LOOP
  55.    ENDIF
  56.    USE CUST INDEX ACCT
  57.    FIND &X
  58.    STORE 0 TO A,B,C,D
  59.    STORE LEN(MTITLE) TO A
  60.    STORE (80-A)/2 TO A
  61.    STORE LEN(MADD1) TO B
  62.    STORE (80-B)/2 TO B
  63.    STORE LEN(MADD2) TO C
  64.    STORE (80-C)/2 TO C
  65.    STORE LEN(MPHONE) TO D
  66.    STORE (80-D)/2 TO D
  67.    SET DEVICE TO PRINT
  68.    SET PRINT ON
  69.    CLEAR
  70.    @ 1,35 SAY 'STATEMENT'
  71.    @ 2,A SAY MTITLE
  72.    @ 3,B SAY MADD1
  73.    @ 4,C SAY MADD2
  74.    @ 5,D SAY MPHONE
  75.    @ 6,36 SAY DATE()
  76.    @ 7,0 SAY ì
  77. '=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=ì
  78. -=-=-=-=-=-=-=-'
  79.    @ 8,0 SAY NAME
  80.    @ 8,51 SAY 'Amt last payment:'
  81.    @ 8,71 SAY LSTPAY
  82.    @ 9,0 SAY ADDRESS
  83.    @ 9,51 SAY 'Date last payment:'
  84.    @ 9,72 SAY NEWDATE
  85.    @ 10,0 SAY TRIM(CITY) +'  '+ STATE +'  '+ ZIP
  86.    @ 10,51 SAY 'Check number:'
  87.    @ 10,65 SAY CHKNO
  88.    @ 11,0 SAY PHONE
  89.    @ 11,51 SAY 'Unapplied Credits:'
  90.    @ 11,68 SAY UCREDIT
  91.    @ 12,0 SAY 'Account number:'
  92.    @ 12,17 SAY ACCT
  93.    @ 12,51 SAY 'Terms:'
  94.    @ 12,59 SAY TERMS
  95.    @ 13,0 SAY ì
  96. '=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=ì
  97. -=-=-=-=-=-=-=-'
  98.    @ 14,0 SAY 'Balance'
  99.    @ 14,7 SAY STR(NET,8,2)
  100.    IF OLD_30 < 0.01
  101.       @ 14,20 SAY 'Thank you for your prompt payment'
  102.    ENDIF
  103.    IF OLD_30 > 0.00
  104.       @ 14,17 SAY '>>>>>>>> Amount over 30 days past due:'
  105.       @ 14,54 SAY STR(OLD_30,8,2)
  106.    ENDIF
  107.    IF OLD_45 > 0.00
  108.       @ 14,65 SAY 'Over 45:'
  109.       @ 14,72 SAY STR(OLD_45,8,2)
  110.    ENDIF
  111.    IF OLD_60 > 0.00
  112.       @ 15,0 SAY '>>>>>>>>>>>>>>>>>>>>>>>>> Amount over 60 days past ì
  113. due:'
  114.       @ 15,54 SAY STR(OLD_60,8,2)
  115.    ENDIF
  116.    @ 16,0 SAY ì
  117. '=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=ì
  118. -=-=-=-=-=-=-=-'
  119.    USE INV  
  120.    REPO FORM STMT FOR ACCT=X .AND. .NOT. PAID NOEJECT TO PRINT
  121.    SET DEVICE TO SCREEN
  122.    EJECT
  123.    SET PRINT OFF
  124. ENDDO
  125. RETURN
  126.