home *** CD-ROM | disk | FTP | other *** search
/ Software Du Jour / SoftwareDuJour.iso / BUSINESS / DBASE / DB3AR.ARC / PRGPMT.PRG < prev    next >
Encoding:
Text File  |  1985-10-02  |  4.1 KB  |  198 lines

  1. *!!*       dBASE CONVERT - dBASE III File Conversion Aid  v1.0 6/14/84
  2. *
  3. SET SAFETY OFF
  4. ********************* PAYMENT TO INVOICE.(PRGPMT.PRG)
  5. CLEAR
  6. SET BELL OFF
  7. SET CONFIRM ON
  8. SET TALK OFF
  9. SET EXACT ON
  10. DO WHILE .T.
  11. STORE '     ' TO MINV
  12. STORE '    ' TO X
  13. STORE CTOD('  /  /  ') TO MNEWDATE
  14. STORE '          ' TO MCHKNO
  15. STORE '                              ' TO MNAME
  16. STORE 0.00 TO MLSTPAY
  17. MNET=0.00
  18. OVER30=0.00
  19. OVER45=0.00
  20. OVER60=0.00
  21. MCHK=0.00
  22. MPAY=0.00
  23. USE B:CUST INDEX B:ACCT
  24. @ 2,0 CLEAR
  25. @ 20,27 SAY 'Want to enter a payment?'
  26. ?
  27. ?
  28. STORE ' ' TO OPTION
  29. STORE '    ' TO X
  30. WAIT '                                      ?  ' TO OPTION
  31. IF OPTION='N'
  32. RETURN
  33. ENDIF
  34. @ 2,0 CLEAR
  35. ?
  36. ?
  37. ACCEPT "                          Enter acct number " TO X
  38. *!! EOF() will be true if NO FIND, and RECNO() will equal BOTTOM, not 0.
  39. FIND &X
  40. IF (EOF() .OR. BOF())
  41. @ 2,0 CLEAR
  42. ? CHR(7)
  43. @ 6,20 SAY " I can't find an account for # &X  ..."
  44. STORE 1 TO XX
  45. DO WHILE XX<70
  46. STORE XX+1 TO XX
  47. ENDDO WHILE XX<70
  48. LOOP
  49. ENDIF (EOF() .OR. BOF())
  50. @ 2,0 CLEAR
  51. @ 6,15 SAY NAME
  52. @ 6,50 SAY ACCT
  53. @ 8,15 SAY ADDRESS
  54. @ 8,50 SAY CITY
  55. IF UCREDIT > 0.00
  56. SET COLOR TO /W
  57. @ 10,15 SAY 'Unapplied credits '
  58. @ 10,32 SAY UCREDIT
  59. SET COLOR TO W
  60. ENDIF
  61. @ 12,13 SAY '  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~'
  62. @ 15,25 SAY 'Is this the correct account?'
  63. @ 16,0 SAY '  '
  64. WAIT '                                      ?  ' TO OPTION
  65. IF OPTION='N'
  66. LOOP
  67. ENDIF
  68. @ 2,0 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. @ 1,T SAY MNAME
  74. @ 3,25 SAY 'Date last check received '
  75. @ 3,51 SAY NEWDATE
  76. @ 5,25 SAY 'New check date ' GET MNEWDATE
  77. @ 7,25 SAY 'Last check number '
  78. @ 7,44 SAY CHKNO
  79. @ 9,25 SAY 'New check number ' GET MCHKNO PICTURE 'XXXXXXXXXXXXXXX'
  80. @ 11,25 SAY 'Last amount of check '
  81. @ 11,47 SAY LSTPAY
  82. @ 13,25 SAY 'New check amount ' GET MLSTPAY PICTURE '999999.99'
  83. @ 23,10 SAY 'If check number is blank none of the above will be ì
  84. changed'
  85. READ
  86. @ 15,0 SAY '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~;
  87. ~~~~~~~'
  88. IF MCHKNO<>'          '
  89. REPLACE CHKNO WITH MCHKNO
  90. REPLACE LSTPAY WITH MLSTPAY
  91. REPLACE NEWDATE WITH MNEWDATE
  92. ENDIF
  93. @ 17,31 SAY 'Is this correct?'
  94. ?
  95. WAIT '                                     ?  ' TO OPTION
  96. IF OPTION='N'
  97. EDIT RECNO()
  98. ENDIF
  99. @ 2,0 CLEAR
  100. STORE LSTPAY TO MCHK
  101. DO WHILE .T.
  102. SET HEADING OFF
  103. USE B:INV INDEX B:ACCTS
  104. @ 2,0 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 B:INV
  121. @ 2,0 CLEAR
  122. ? ' Inv.#     PO #     Date       Price   Credits    Payments  ì
  123.    Due'
  124. ? ' ì
  125. ~~~~~     ~~~~     ~~~~       ~~~~~   ~~~~~~~    ~~~~~~~~     ~~~'
  126. DISPLAY ALL OFF INVNO,PONO,NEWDATE,PRICE,CRINV,AMTAPPL,NET FOR ì
  127. ACCT=X
  128. STORE 1 TO POS
  129. DO WHILE .T.
  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. @ 20,67 SAY 'WAIT'
  152. @ POS,67 SAY MINV
  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 = 'Y'
  181. CLEAR
  182. @ 15,T SAY MNAME
  183. SET EXACT ON
  184. SET TALK ON
  185. USE B:CUST INDEX B:ACCT
  186. FIND &X
  187. REPLACE ALLPAY WITH ALLPAY+MCHK
  188. CLEA
  189. SET TALK OFF
  190. RETURN
  191. ENDIF
  192. SET HEADING OFF
  193. LOOP
  194. ENDDO
  195. ENDDO
  196. SET CONFIRM OFF
  197. RETURN
  198.