home *** CD-ROM | disk | FTP | other *** search
/ Shareware Overload / ShartewareOverload.cdr / database / dbbooks.zip / CURREPT.CMD < prev    next >
OS/2 REXX Batch file  |  1987-02-14  |  3KB  |  112 lines

  1. ********************************** CURREPT.CMD
  2. ********** Print report of Current Transactions.
  3.  
  4. ********** First get company name from geninfo file
  5. USE GENINFO
  6. STORE COMPANY TO COMPANY
  7.  
  8. ********** First, get info on dates, and store
  9. ********** to first search macro (COND1) 
  10. ERASE
  11. STORE " " TO YN
  12. @ 5,2 SAY "Transactions for this month only? ";
  13.   GET YN
  14.   READ
  15.  
  16. ************* Set up condition according to user's request.
  17. IF !(YN)="Y"
  18.    STORE "DATE = '"+$(T:DATE,1,2)+"'" TO COND1
  19.    STORE F TO RANGE
  20. ELSE
  21.    STORE "        " TO START,FINISH
  22.    @ 7,2 SAY "Enter starting date " GET START PICT "99/99/99"
  23.    @ 9,2 SAY "Enter ending date " GET FINISH PICT "99/99/99"
  24.    READ
  25.    STORE "DATE >=START .AND. DATE <=FINISH" TO COND1
  26.    STORE T TO RANGE
  27. ENDIF (yn=y)
  28.  
  29. ********************** Next, get sort order.
  30. ERAS
  31. STORE 0 TO RCHOICE
  32. @ 3,10 SAY "Sort Orders"
  33. @ 5,8 SAY "1. By Account Number"
  34. @ 6,8 SAY "2. By Date"
  35. @ 8,8 SAY "Enter choice (1-2) " GET RCHOICE PICT "9"
  36. READ
  37.  
  38. ********************** Set up sort order and report type.
  39. IF RCHOICE = 2
  40.    USE TRANS INDEX DATES
  41.    STORE "DATES" TO ROPTION
  42. ELSE
  43.    USE TRANS INDEX ACCT
  44.    STORE "ACCTS" TO ROPTION
  45. ENDIF
  46.  
  47. ********************** Ask about printer....
  48. ERAS
  49. STORE " " TO YN
  50. @ 5,2 SAY "Send Report to printer? " GET YN
  51. READ
  52.  
  53. ********************** and set up second macro
  54. ********************** accordingly (COND2).
  55. IF !(YN)="Y"
  56.    STORE "TO PRINT" TO COND2
  57. ELSE
  58.    STORE " " TO COND2
  59. ENDIF (yn=y)
  60.  
  61. ********************** Mark sub-accounts for report.
  62. REPL ALL MARKER WITH "*" FOR ACCT <> INT(ACCT)
  63.  
  64. ********************** Print the report using
  65. ********************** pre-defined report formats.
  66. SET EJECT OFF
  67. ERASE
  68. ? "              Current Transactions for &COMPANY"
  69. ?
  70. ********************* Print appropriate sub-heading.
  71. IF RANGE
  72.    ? "For transactions from &START to &FINISH"
  73. ELSE
  74.    ? "For &T:DATE"
  75. ENDIF (range)
  76.  
  77. *********** Caculate totals, leaving out sub-accounts.
  78. SUM AMOUNT FOR ACCT<300 .AND. &COND1 .AND. INT(ACCT)=ACCT TO INCOME
  79. SUM AMOUNT FOR ACCT>=300 .AND. &COND1 .AND. INT(ACCT)=ACCT TO EXPENSE
  80.  
  81. ******************** Print income transactions.
  82. ?
  83. ? "INCOME:"
  84. REPO FORM &ROPTION FOR ACCT<300 .AND. &COND1 &COND2 PLAIN
  85. ? "Total Income                     ",INCOME
  86. ?
  87. ******************** Print expense transactions.
  88. ? "EXPENSES:"
  89. REPO FORM &ROPTION FOR ACCT>=300 .AND. &COND1 &COND2 PLAIN
  90. ? "Total Expenses                   ",EXPENSE
  91. ******************** Display balance at bottom of sheet.
  92. ?
  93. ? "Total Income                     ",INCOME
  94. ? "Total Expenses                   ",EXPENSE
  95. ? "                                    ---------"
  96. ? "Balance                         ",INCOME-EXPENSE
  97. ?
  98. ? " NOTE: Sub accounts (with decimal numbers above 0) "
  99. ? " are not included in totals."
  100. EJECT
  101.  
  102. *************** If report not going to printer,
  103. *************** pause on screen. 
  104. IF COND2 = " "
  105.    ?
  106.    ?
  107.    ? "Press any key to continue"
  108.    WAIT
  109. ENDIF (cond2=" ")
  110.  
  111. RETURN
  112.