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

  1. ******************* PAYMENT TO INVOICE.(PRGPMT.PRG)
  2. CLEAR
  3. SET BELL OFF
  4. SET CONFIRM ON
  5. SET TALK OFF
  6. SET EXACT ON
  7. STORE .T. TO OK
  8. DO WHILE OK
  9.    STORE '     ' TO MINV
  10.    STORE '    ' TO X
  11.    STORE CTOD('  /  /  ') TO MNEWDATE
  12.    STORE '          ' TO MCHKNO
  13.    STORE '                              ' TO MNAME
  14.    STORE 0.00 TO MLSTPAY
  15.    MNET=0.00
  16.    OVER30=0.00
  17.    OVER45=0.00
  18.    OVER60=0.00
  19.    MCHK=0.00
  20.    MPAY=0.00
  21.    USE CUST INDEX ACCT
  22.    CLEAR
  23.    @ 8,25 TO 10,52 DOUBLE
  24.    @ 9,27 SAY 'Want to enter a payment?'
  25.    ?
  26.    ?
  27.    STORE ' ' TO OPTION
  28.    STORE '    ' TO X
  29.    WAIT '                                    ?  ' TO OPTION
  30.    IF OPTION='N'
  31.       RETURN
  32.    ENDIF
  33.    CLEAR
  34.    ?
  35.    ?
  36.    ACCEPT "                          Enter acct number " TO X
  37.    IF X='    '
  38.       ? CHR(7)
  39.       @ 15,40 SAY 'NO FIND'
  40.       LOOP
  41.    ENDIF
  42.    FIND &X
  43.    IF (EOF() .OR. BOF())
  44.       @ 2,0 CLEAR
  45.       *? CHR(7)
  46.       @ 6,20 SAY " I can't find an account for # &X  ..."
  47.       LOOP
  48.    ENDIF (EOF() .OR. BOF())
  49.    CLEA
  50.    @ 5,12 TO 12,65 DOUBLE
  51.    @ 11,29 SAY 'Net due $ '+STR(NET,9,2)
  52.    @ 6,15 SAY NAME
  53.    @ 6,50 SAY ACCT
  54.    @ 8,15 SAY ADDRESS
  55.    @ 8,50 SAY CITY
  56.    IF UCREDIT > 0.00
  57.       SET COLOR TO /W
  58.       @ 10,15 SAY 'Unapplied credits '
  59.       @ 10,32 SAY UCREDIT
  60.       SET COLOR TO W
  61.    ENDIF
  62.    @ 13,25 SAY 'Is this the correct account?'
  63.    @ 14,0 SAY '  '
  64.    WAIT '                                    ? ' TO OPTION
  65.    IF OPTION='N'
  66.       LOOP
  67.    ENDIF
  68.    CLEAR
  69.    STORE LOWER(TRIM(NAME)) TO MNAME
  70.    STORE 0 TO T
  71.    STORE LEN(MNAME) TO T
  72.    STORE (80-T)/2 TO T
  73.    @ 0,23 TO 14,60 DOUBLE
  74.    @ 1,T SAY MNAME
  75.    @ 3,25 SAY 'Date last check received '
  76.    @ 3,51 SAY NEWDATE
  77.    @ 5,25 SAY 'New check date ' GET MNEWDATE
  78.    @ 7,25 SAY 'Last check number '
  79.    @ 7,44 SAY CHKNO
  80.    @ 9,25 SAY 'New check number ' GET MCHKNO PICTURE 'XXXXXXXXXXXXXXX'
  81.    @ 11,25 SAY 'Last amount of check '
  82.    @ 11,47 SAY LSTPAY
  83.    @ 13,25 SAY 'New check amount ' GET MLSTPAY PICTURE '999999.99'
  84.    @ 23,10 SAY 'If check number is blank none of the above will be ì
  85. changed'
  86.    READ
  87.    IF MCHKNO<>'          '
  88.       REPLACE CHKNO WITH MCHKNO
  89.       REPLACE LSTPAY WITH MLSTPAY
  90.       REPLACE NEWDATE WITH MNEWDATE
  91.    ENDIF
  92.    @ 15,34 SAY 'Is this correct?'
  93.    ?
  94.    WAIT '                                      ?  ' TO OPTION
  95.    IF OPTION='N'
  96.       EDIT RECNO()
  97.    ENDIF
  98.    CLEAR
  99.    STORE LSTPAY TO MCHK
  100.    STORE .T. TO MORE
  101.    DO WHILE MORE
  102.       SET HEADING OFF
  103.       USE INV INDEX ACCTS
  104.       CLEAR
  105.       @ 3,31 SAY 'Just a moment...'
  106.       FIND &X
  107.       IF EOF()
  108.          ? CHR(7)
  109.          @ 2,0 CLEAR
  110.          ? [      Holy credits Batman, &MNAME has no invoices.]
  111.          ?
  112.          ?
  113.          ?
  114.          WAIT '                     Press any bat key to continue...'
  115.          ?
  116.          ? '                            Keep the check Robin'
  117.          ?
  118.          RETURN
  119.       ENDIF
  120.       USE INV
  121.       CLEA
  122.       @ 0,T SAY MNAME
  123.       ? ' Inv.#     PO #     Date       Price   Credits    Payments  ì
  124.    Due'
  125.       ? ' ì
  126. ~~~~~     ~~~~     ~~~~       ~~~~~   ~~~~~~~    ~~~~~~~~     ~~~'
  127.       DISPLAY ALL OFF INVNO,PONO,NEWDATE,PRICE,CRINV,AMTAPPL,NET FOR ì
  128. ACCT=X
  129.       STORE 1 TO POS
  130.       IF POS=16
  131.          STORE 1 TO POS
  132.       ENDIF
  133.       STORE '     ' TO MINV
  134.       @ 17,66 CLEAR
  135.       @ 17,66 SAY '|~~~~~~~~~~~~~'
  136.       @ 18,66 SAY '|'
  137.       @ 19,66 SAY '|'
  138.       @ 20,66 SAY '|'
  139.       @ 21,66 SAY '|'
  140.       @ 22,66 SAY '|'
  141.       @ 23,66 SAY '|_____________'
  142.       @ 18,67 SAY 'Bal'
  143.       @ 18,71 SAY STR(MCHK-MPAY,7,2)
  144.       @ 19,67 SAY '-------------'
  145.       @ 20,67 SAY 'Inv#' GET MINV
  146.       READ
  147.       IF MINV='     '
  148.          RETURN
  149.       ENDIF
  150.       SET COLOR TO /W
  151.       @ POS,67 SAY MINV
  152.       @ 20,67 SAY 'WAIT'
  153.       LOCATE FOR INVNO = MINV .AND. ACCT = X
  154.       SET COLOR TO W
  155.       IF EOF()
  156.          ? CHR(7)
  157.          @ 22,70 SAY 'NO'
  158.          LOOP
  159.       ENDIF
  160.       @ 20,67 SAY 'Inv#'
  161.       @ 22,67 SAY '$' GET AMTAPPL
  162.       READ
  163.       STORE 0.00 TO SUBTOT
  164.       STORE AMTAPPL TO SUBTOT
  165.       REPLACE NET WITH PRICE-AMTAPPL-CRINV
  166.       @ POS,72 SAY STR(SUBTOT,6,2)
  167.       IF NET<=0.00
  168.          REPLACE PAYDATE WITH MNEWDATE
  169.       ENDIF
  170.       STORE AMTAPPL+MPAY TO MPAY
  171.       IF NET<=0.00
  172.          REPLACE PAID WITH .T.
  173.       ENDIF
  174.       @ 18,71 SAY STR(MCHK-MPAY,7,2)
  175.       @ 20,61 CLEAR
  176.       @ 23,69 SAY 'STOP? '
  177.       WAIT '                                                                    ì
  178. Y or N  'TO OPTION
  179.       STORE POS+1 TO POS
  180.       IF OPTION='N'
  181.          LOOP
  182.       ENDIF
  183.       IF OPTION = 'Y'
  184.          CLEAR
  185.          @ 15,T SAY MNAME
  186.          SET EXACT ON
  187.          SUM NET FOR ACCT=X TO MNET
  188.          SET TALK ON
  189.          USE CUST INDEX ACCT
  190.          FIND &X
  191.          REPLACE ALLPAY WITH ALLPAY+MCHK
  192.          REPLACE NET WITH MNET
  193.          CLEA
  194.          SET TALK OFF
  195.       ENDIF
  196.       STORE .F. TO MORE
  197.       *STORE .F. TO OK
  198.    ENDDO
  199. ENDDO
  200. *RETURN
  201. SET HEADING OFF
  202. LOOP
  203. SET CONFIRM OFF
  204. *RETURN
  205.