home *** CD-ROM | disk | FTP | other *** search
/ ftp.barnyard.co.uk / 2015.02.ftp.barnyard.co.uk.tar / ftp.barnyard.co.uk / cpm / walnut-creek-CDROM / MBUG / MBUG102.ARC / LEDGERII.CMD < prev    next >
OS/2 REXX Batch file  |  1979-12-31  |  5KB  |  166 lines

  1. *LEDGERII.PRG
  2. *PREPARE A STATEMENT FROM THE NAMELIST WHERE THERE IS
  3. *A BALANCE IN THE ACCOUNT BUT NO TRADING DURING THE MONTH
  4. RELEASE ALL
  5. RESTORE FROM A:NAME
  6. SELECT PRIMARY
  7. GO TOP
  8. SET INTENSITY OFF
  9. STORE 0 TO SBAL
  10. ERASE
  11. @ 15,0 SAY '*****************SYSTEM WORKING LEDGERII.PRG  ******************'
  12. SET CONSOLE OFF
  13. SET FORMAT TO PRINT
  14. SET TALK OFF
  15. DO WHILE T
  16.      DO WHILE .NOT. EOF
  17.        IF  STATDATE=DATE() .OR.  LAST:BAL <0 .OR. LAST:BAL=0
  18.        SKIP
  19.        LOOP
  20.        ENDIF
  21.        STORE ACCNUM TO ACCNUMA
  22.        STORE NAME TO NAMEA
  23.        STORE STREET TO STREETA
  24.        STORE CITYPC TO CITYPCA
  25.        STORE LAST:BAL TO SBAL
  26.        STORE THIRTY TO THIRTY:BAL
  27.        STORE SIXTY TO SIX:BAL
  28.        STORE NINETY TO NINE:BAL
  29. SET PRINT ON
  30. STORE 0 TO X
  31. ****  HEADING
  32. ?? &NORMAL        
  33. @ 1,0 SAY TRIM(LINE1)
  34. @ 1,50 SAY TRIM(SLINE1)
  35. @ 2,0 SAY TRIM(LINE2)
  36. @ 2,50 SAY TRIM(SLINE2)
  37. @ 3,0 SAY  TRIM(LINE3)
  38. @ 3,50 SAY TRIM(SLINE3)
  39. @ 4,0 SAY TRIM(SLINE3)
  40. @ 4,50 SAY TRIM(LINE4)
  41. @ 5,0 SAY TRIM(LINE5)
  42. @ 5,50 SAY TRIM(SLINE5)
  43. @ 8,10 SAY 'ACCOUNT NUMBER'
  44. @ 8,30 SAY ACCNUMA
  45. @ 8,51 SAY 'ACCOUNT NUMBER'
  46. @ 8,72 SAY ACCNUMA
  47. @ 12,10 SAY NAMEA
  48. @ 12,50 SAY NAMEA
  49. @ 13,10 SAY STREETA
  50. @ 13,50 SAY STREETA
  51. @ 14,10 SAY CITYPCA
  52. @ 14,50 SAY CITYPCA
  53. @ 17,0 SAY'INTEREST OF 10% PER ANNUM MAY BE CHARGED ON OVERDUE ACCOUNTS'
  54. @ 19,0 SAY 'STATEMENT FOR PERIOD ENDING'
  55. @ 19,37 SAY DATE()
  56. @ 19,50 SAY 'PERIOD ENDING'
  57. @ 19,65 SAY DATE()
  58. @ 21,0 SAY 'DATE'
  59. @ 21,7  SAY 'REFERENCE'
  60. @ 21,19 SAY 'DEBIT'
  61. @ 21,27 SAY 'CREDIT'
  62. @ 21,38 SAY 'BALANCE'
  63. @ 21,50 SAY 'DATE'
  64. @ 21,58 SAY 'REFER'
  65. @ 21,67 SAY 'AMOUNT'
  66.  
  67. ?? &COMPRESS      
  68. **************************************************
  69. @ 23,0 SAY 'BALANCE BROUGHT FORWARD FROM LAST PERIOD'
  70. @ 23,64 SAY SBAL
  71. @ 23,85 SAY 'BAL. B/F'
  72. @ 23,115 SAY SBAL
  73. **********************IF SIXTY DAYS OVER DUE ADD INTEREST****
  74. IF SIX:BAL <>0 .OR. NINE:BAL <>0
  75. @ 26,0 SAY'INTEREST  ON OVERDUE ACCOUNT '
  76. @ 27,0 SAY'CALCULATED  AT 10% PER ANNUM '
  77. @ 28,0 SAY'ON THE  OUTSTANDING AMOUNT OF'
  78. @ 28,29 SAY SBAL
  79. @ 29,0  SAY 'AT  10% PER ANNUM PER MONTH'
  80. *TO GIVE CALCULATOR RESULTS TO TWO DECIMAL PLACES
  81. ********************ROUNDOFF DECIMAL TO TWO PLACES************
  82. STORE (SBAL*.1)/12 TO INT
  83. ***********************************CONVERT $ TO STRING
  84. STORE STR(INT,10,3) TO R
  85. ***********************************ESTABLISH DEC POINT IN STRING
  86. STORE @('.',R) TO POINT
  87. *****************BREAKUP STRING AND ISOLATE THIRD CHAR RIGHT OF DECIMAL POINT
  88. *****************CONVERT TO NUMERAL
  89. STORE VAL($(R,POINT+3,1)) TO DECIMAL
  90. **************************************ROUND UP
  91. IF DECIMAL>5
  92. STORE (1/100)-(DECIMAL/1000) TO ROUND
  93. STORE INT+ROUND TO INT
  94. ENDIF
  95. **************************************ROUND DOWN
  96. IF DECIMAL<6
  97. STORE DECIMAL/1000 TO ROUND
  98. STORE INT-ROUND TO INT 
  99. ENDIF
  100. **************************************************************
  101.  
  102. @ 29,33 SAY INT USING '####.##'
  103. @ 32,0 SAY 'WE  FIND  IT  MOST  DISTURBING'
  104. @ 33,0 SAY 'THAT  YOU   HAVE  NOT  BROUGHT'
  105. @ 34,0 SAY 'THIS ACCOUNT UPTO DATE EARLIER,'
  106. @ 35,0 SAY 'AND  CONSIDERING  THAT WE HAVE'
  107. @ 36,0 SAY 'TO   PAY  FOR   OUR  GOODS  IN'
  108. @ 37,0 SAY 'ADVANCE  ,  IT  DISTRESSESS US'
  109. @ 38,0 SAY 'TO  HAVE  TO  REMIND  YOU THAT'
  110. @ 39,0 SAY 'YOUR   ACCOUNT   IS    OVERDUE'
  111. STORE INT+SBAL TO SBAL
  112. ENDIF
  113. @ 54,0 SAY 'PAYMENTS RECEIVED AFTER THE '
  114. @ 54,28 SAY DATE()
  115. @ 54,36 SAY ' HAVE NOT BEEN INCLUDED IN THIS STATEMENT'
  116. @ 57,0 SAY 'OVERDUE 90 DAYS'
  117. @ 57,22 SAY 'OVERDUE 60 DAYS'
  118. @ 57,43 SAY 'OVERDUE 30 DAYS'
  119. @ 57,66 SAY 'BALANCE'
  120. @ 59,0 SAY NINE:BAL
  121. @ 59,22 SAY SIX:BAL
  122. @ 59,43 SAY THIRTY:BAL
  123. @ 59,66 SAY SBAL USING '######.##'
  124. @ 59,83 SAY'BALANCE'
  125. @ 59,115 SAY SBAL  USING '######.##'
  126. @ 62,0 SAY 'OVERDUE AND PAYABLE IMMEDIATELY'
  127. @ 62,66 SAY SBAL USING '######.##'
  128. @ 62,85 SAY 'AMOUNT PAID'
  129. @ 63,0
  130. REPLACE NINETY WITH  NINETY+SIXTY
  131. REPLACE SIXTY WITH THIRTY
  132. IF SIX:BAL<>0 .OR. NINE:BAL <>0
  133. REPLACE THIRTY WITH (SBAL*.1)/12
  134. ELSE
  135. REPLACE THIRTY WITH 0
  136. ENDIF
  137. REPLACE LAST:BAL WITH SBAL
  138. REPLACE STATDATE WITH DATE()
  139. SKIP
  140. ENDDO
  141. SET TALK ON
  142. SET CONSOLE ON
  143. SET PRINT ON
  144. ?? &NORMAL        
  145. SET PRINT OFF
  146. SET FORMAT TO SCREEN
  147. RETURN
  148. T BUT NO TRADING DURING THE MONTH
  149. RELEASE ALL
  150. RESTORE FROM A:NAME
  151. SELECT PRIMARY
  152. GO TOP
  153. SET INTENSITY OFF
  154. STORE 0 TO SBAL
  155. ERASE
  156. @ 15,0 SAY '*****************SYSTEM WORKING LEDGERII.PRG  ******************'
  157. SET CONSOLE OFF
  158. SET FORMAT TO PRINT
  159. SET TALK OFF
  160. DO WHILE T
  161.      DO WHILE .NOT. EOF
  162.        IF  STATDATE=DATE() .OR.  LAST:BAL <0 .OR. LAST:BAL=0
  163.        SKIP
  164.        LOOP
  165.        ENDIF
  166.        STORE