home *** CD-ROM | disk | FTP | other *** search
- * ┌─────────────────────────────────────────────────────────────────────┐ *
- * │ PROG NAME: PAYJOURN.PRG. Cash receipts journal. │ *
- * │ Copyright (c) 1989 Tech III, Inc. All rights reserved. │ *
- * │ Tech III of San Pedro, California (213) 547-2191. │ *
- * │ "The bridge connecting people and technology."(tm) │ *
- * └─────────────────────────────────────────────────────────────────────┘ *
-
- ACTIVATE WINDOW screensim
- @ 00,00 SAY WINTITLE(PROMPT())
-
- SELECT customer
- IF BOF() .OR. EOF()
- GO TOP
- ENDIF
- STORE RECNO() TO oldrec
- SET ORDER TO cus_cus
-
- SELECT payments
- SET ORDER TO pmt_dat
-
- DEFINE POPUP datelist FROM 10,20 PROMPT FIELD DATE
- ON SELECTION POPUP datelist DEACTIVATE POPUP
-
- * INITIALIZE VARIABLES
- GO TOP
- STORE DATE TO start_date && First DATE
- GO BOTTOM
- STORE DATE TO end_date && Last DATE
- STORE 'PRINTER' TO output
- STORE .t. TO _box, _wrap, printing
- * Boxes, and word-wrapping ON.
- * Printing is a control variable to allow user to cancel the job.
-
- STORE SET('MEMOWIDTH') TO memocols && Save old setting
- SET MEMOWIDTH TO 40
-
- * DEFINITIONS
- ON ESCAPE STORE .f. TO printing
-
- * USER INPUT: SELECT RANGE TO PRINT
- @ 02,02 SAY 'Start with payment date: ' GET start_date ;
- VALID GETFIRST(start_date)
- @ 04,02 SAY ' End with payment date: ' GET end_date ;
- VALID GETLAST(end_date) RANGE start_date,
- @ 06,02 SAY 'Direct report to: PRINTER/SCREEN: ' ;
- GET output PICTURE '@M PRINTER,SCREEN '
- READ
-
- STORE .t. TO printing
- IF .NOT. YESNO("System is ready to run report.")
- STORE .f. TO printing
- ELSE
- IF output<> "SCREEN "
- IF .NOT. READY2PR()
- STORE .f. TO printing
- ENDIF
- ENDIF
- ENDIF
-
- IF printing
- SET RELATION TO cust_id INTO customer
- SEEK start_date
-
- * PRINT REPORT
- IF output = 'PRINTER'
- REPORT FORM payjourn REST TO PRINT NOEJECT WHILE DATE <= end_date .AND. printing
- ELSE
- REPORT FORM payjourn REST TO FILE report.txt NOEJECT ;
- WHILE DATE <= end_date .AND. printing
- SELECT 0
- USE system
- LOCATE FOR LABEL = 'PAYJOURN: '
- IF EOF()
- APPEND BLANK
- ELSE
- REPLACE NEXT 1 contents WITH ''
- ENDIF
- REPLACE LABEL WITH 'PAYJOURN: ' + DTOC(DATE())
- APPEND MEMO contents FROM report.txt
- MODIFY MEMO contents NOEDIT WINDOW reportview
- USE
- SELECT invoice
- ENDIF
-
- * HOUSEKEEPING
- SET RELATION TO
- ENDIF
- IF .NOT. printing
- DO standby WITH 'You have canceled this report.'
- ELSE
- DO standby WITH 'Your report request has been completed.'
- ENDIF
- SET MEMOWIDTH TO memocols
- DEACTIVATE WINDOW screensim
- RETURN
-
- FUNCTION getfirst
- PARAMETER start_date
- SET NEAR ON
- SEEK start_date
- SET NEAR OFF
- IF .NOT. EOF()
- RETURN .t.
- ENDIF
- ACTIVATE POPUP datelist
- keyboard PROMPT()
- RETURN .f.
-
- FUNCTION getlast
- PARAMETER end_date
- SET NEAR ON
- SEEK end_date
- SET NEAR OFF
- IF .NOT. EOF() .AND. DATE >= start_date
- RETURN .t.
- ENDIF
- ACTIVATE POPUP company
- keyboard PROMPT()
- RETURN .f.
-
- * START PRINTING
- REPORT FORM invstock NOEJECT TO PRINT WHILE printing
- ON ESCAPE
- SELECT customer
- IF oldrec # 0
- GOTO oldrec
- ENDIF
- SELECT payments
- SET ORDER TO pmt_cus
- CLEAR
- DEACTIVATE WINDOW screensim
- RETURN
-
- * EOF
-