home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Shareware Overload
/
ShartewareOverload.cdr
/
database
/
dbbooks.zip
/
CURREPT.CMD
< prev
next >
Wrap
OS/2 REXX Batch file
|
1987-02-14
|
3KB
|
112 lines
********************************** CURREPT.CMD
********** Print report of Current Transactions.
********** First get company name from geninfo file
USE GENINFO
STORE COMPANY TO COMPANY
********** First, get info on dates, and store
********** to first search macro (COND1)
ERASE
STORE " " TO YN
@ 5,2 SAY "Transactions for this month only? ";
GET YN
READ
************* Set up condition according to user's request.
IF !(YN)="Y"
STORE "DATE = '"+$(T:DATE,1,2)+"'" TO COND1
STORE F TO RANGE
ELSE
STORE " " TO START,FINISH
@ 7,2 SAY "Enter starting date " GET START PICT "99/99/99"
@ 9,2 SAY "Enter ending date " GET FINISH PICT "99/99/99"
READ
STORE "DATE >=START .AND. DATE <=FINISH" TO COND1
STORE T TO RANGE
ENDIF (yn=y)
********************** Next, get sort order.
ERAS
STORE 0 TO RCHOICE
@ 3,10 SAY "Sort Orders"
@ 5,8 SAY "1. By Account Number"
@ 6,8 SAY "2. By Date"
@ 8,8 SAY "Enter choice (1-2) " GET RCHOICE PICT "9"
READ
********************** Set up sort order and report type.
IF RCHOICE = 2
USE TRANS INDEX DATES
STORE "DATES" TO ROPTION
ELSE
USE TRANS INDEX ACCT
STORE "ACCTS" TO ROPTION
ENDIF
********************** Ask about printer....
ERAS
STORE " " TO YN
@ 5,2 SAY "Send Report to printer? " GET YN
READ
********************** and set up second macro
********************** accordingly (COND2).
IF !(YN)="Y"
STORE "TO PRINT" TO COND2
ELSE
STORE " " TO COND2
ENDIF (yn=y)
********************** Mark sub-accounts for report.
REPL ALL MARKER WITH "*" FOR ACCT <> INT(ACCT)
********************** Print the report using
********************** pre-defined report formats.
SET EJECT OFF
ERASE
? " Current Transactions for &COMPANY"
?
********************* Print appropriate sub-heading.
IF RANGE
? "For transactions from &START to &FINISH"
ELSE
? "For &T:DATE"
ENDIF (range)
*********** Caculate totals, leaving out sub-accounts.
SUM AMOUNT FOR ACCT<300 .AND. &COND1 .AND. INT(ACCT)=ACCT TO INCOME
SUM AMOUNT FOR ACCT>=300 .AND. &COND1 .AND. INT(ACCT)=ACCT TO EXPENSE
******************** Print income transactions.
?
? "INCOME:"
REPO FORM &ROPTION FOR ACCT<300 .AND. &COND1 &COND2 PLAIN
? "Total Income ",INCOME
?
******************** Print expense transactions.
? "EXPENSES:"
REPO FORM &ROPTION FOR ACCT>=300 .AND. &COND1 &COND2 PLAIN
? "Total Expenses ",EXPENSE
******************** Display balance at bottom of sheet.
?
? "Total Income ",INCOME
? "Total Expenses ",EXPENSE
? " ---------"
? "Balance ",INCOME-EXPENSE
?
? " NOTE: Sub accounts (with decimal numbers above 0) "
? " are not included in totals."
EJECT
*************** If report not going to printer,
*************** pause on screen.
IF COND2 = " "
?
?
? "Press any key to continue"
WAIT
ENDIF (cond2=" ")
RETURN