home *** CD-ROM | disk | FTP | other *** search
/ CP/M / CPM_CDROM.iso / simtel / cpmug / cpmug087.ark / EPTABS.BAS < prev    next >
Encoding:
BASIC Source File  |  1986-10-20  |  6.7 KB  |  191 lines

  1.      rem This is the Payroll Check Tab Entry Program
  2.      rem Copyright (c) 1978  Aaron Associates Inc.
  3. %INCLUDE ALL.BAS
  4.      dim n(2,20),k$(6,30)
  5.      z5$="b:ept":z6$=z5$+"back"
  6.      repeat$="--------------------------------"
  7.      fill$="                                 "
  8.      RESTORE
  9. 540 K$(0,1)="1 - ENTER TABS":K$(0,2)="2 - EXAMINE TABS"
  10. 550 K$(0,3)="3 - MODIFY TABS"
  11. 570 K$(0,4)="4 - CREATE NEW FILE":K$(0,5)="5 - CLEAR EXISTING FILE"
  12. 590 K$(0,6)="6 - FINISHED"
  13.      print clear$:print
  14. 1100 K$(1,1)="LS TO DATE LINE":K$(1,2)="TAB TO DATE"
  15. 1105 K$(1,3)="LS TO AMOUNT LINE"
  16. 1110 K$(1,4)="TAB TO AMOUNT":K$(1,5)="TAB TO $"
  17. 1115 K$(1,6)="LS TO PAY TO LINE"
  18. 1120 K$(1,7)="TAB TO PAY TO"
  19. 1125 K$(1,8)="LS TO SUMMARY LINE"
  20. 1130 K$(1,9)="DATE TAB"
  21. 1135 K$(1,10)="NAME TAB"
  22. 1140 K$(1,11)="SOC SEC TAB"
  23. 1145 K$(1,12)="GROSS TAB"
  24. 1150 K$(1,13)="DEDUCTION TAB"
  25. 1155 K$(1,14)="NET TAB"
  26. 1160 K$(1,15)="LS TO CURRENT BREAKDOWN"
  27. 1165 K$(1,16)="LS TO Y-T-D BREAKDOWN"
  28. 1170 K$(1,17)="DATE TAB"
  29. 1172 K$(1,18)="HOURS TAB":K$(1,19)="RATE TAB":K$(1,20)="1ST GROSS TAB"
  30. 1174 K$(1,21)="2ND GROSS TAB":K$(1,22)="FICA TAB":K$(1,23)="FIT TAB"
  31. 1176 K$(1,24)="SIT TAB":K$(1,25)="SDI TAB":K$(1,26)="MISC TAB"
  32. 1178 K$(1,27)="NET TAB"
  33. 1180 K$(1,28)="LS TO NEXT CHECK"
  34. 1200 K$(2,1)="1 - LS TO DATE LINE":K$(2,2)="2 - TAB TO DATE"
  35. 1205 K$(2,3)="3 - LS TO AMOUNT LINE"
  36. 1210 K$(2,4)="4 - TAB TO AMOUNT":K$(2,5)="5 - TAB TO $"
  37. 1215 K$(2,6)="6 - LS TO PAY TO LINE"
  38. 1220 K$(2,7)="7 - TAB TO PAY TO"
  39. 1225 K$(2,8)="8 - LS TO SUMMARY LINE"
  40. 1230 K$(2,9)="9 - DATE TAB"
  41. 1235 K$(2,10)="10- NAME TAB"
  42. 1240 K$(2,11)="11- SOC SEC TAB"
  43. 1245 K$(2,12)="12- GROSS TAB"
  44. 1250 K$(2,13)="13- DEDUCTION TAB"
  45. 1255 K$(2,14)="14- NET TAB"
  46. 1260 K$(2,15)="15- LS TO CURRENT BREAKDOWN"
  47. 1265 K$(2,16)="16- LS TO Y-T-D BREAKDOWN"
  48. 1270 K$(2,17)="17- DATE TAB"
  49. 1272 K$(2,18)="18- HOURS TAB":K$(2,19)="19- RATE TAB"
  50. 1273 K$(2,20)="20- 1ST GROSS TAB"
  51. 1274 K$(2,21)="21- 2ND GROSS TAB":K$(2,22)="22- FICA TAB"
  52. 1275 K$(2,23)="23- FIT TAB"
  53. 1276 K$(2,24)="24- SIT TAB":K$(2,25)="25- SDI TAB":K$(2,26)="26- MISC TAB"
  54. 1278 K$(2,27)="27- NET TAB":K$(2,28)="28- LS TO NEXT CHECK"
  55. 1279 K$(2,29)="29- NONE"
  56. 1300 FOR Z=1 TO 30:N(1,Z)=3:NEXT Z
  57.      if end #1 then 6000
  58. 1500 open z5$ as 1
  59.      close 1
  60. 1510 Z1=1:Z2=1
  61. 1600 PRINT clear$
  62. 1605 PRINT
  63. 1650 PRINT "THIS IS A LIST OF OPERATIONS."
  64. 1655 PRINT
  65. 1660 FOR Z=1 TO 6:PRINT K$(0,Z):NEXT Z:PRINT
  66. 1665 PRINT "INDICATE WHAT YOU WOULD LIKE TO DO BY TYPING"
  67. 1670 PRINT "THE CORRESPONDING NUMBER."
  68. 1675 PRINT
  69. 1680 INPUT Z
  70.     IF Z<1 OR Z>6 then 1600
  71. 1685 ON Z GOSUB 2000,3000,4000,6000,7000,10000
  72. 1690 FOR Z=1 TO 30:T%(Z)=0:NEXT Z:N$=""
  73. 1705 GOTO 1600
  74. 2000 PRINT clear$:PRINT
  75. 2005 PRINT "TABS ARE USED IN ALL PAYROLL CHECK PRINTOUTS. A"
  76. 2010 PRINT "TEST SHOULD BE MADE BY RUNNING PAYROLL CHECKS TO"
  77. 2015 PRINT "ENSURE THAT TABS ARE CORRECTLY SET."
  78. 2025 PRINT
  79. 2040 FOR Z=1 TO 28
  80.     PRINT CUR$
  81. 2045 PRINT TAB(30);left$(repeat$,n(1,z))
  82.     PRINT UP$;
  83. 2050 PRINT K$(1,Z);TAB(30);
  84. 2055 INPUT T%(Z):PRINT chr$(13)
  85.     PRINT CLEAR$
  86. 2060 NEXT Z
  87. 2105 PRINT clear$:PRINT
  88. 2110 T$="###"
  89. 2115 FOR Z=1 TO 14
  90. 2120 PRINT K$(2,Z);TAB(30);:print using t$;t%(z)
  91. 2125 NEXT Z
  92. 2126 PRINT:INPUT "TO EXAMINE REMAINING TAB SETTINGS - PRESS RETURN ";line temp$
  93. 2130 FOR Z=15 TO 29
  94. 2135 PRINT K$(2,Z);TAB(30);:print using t$;t%(z)
  95. 2140 NEXT Z
  96. 2145 PRINT
  97. 2150 PRINT "IF AN ITEM IS TO BE CHANGED, TYPE THE APPROPRIATE NUMBER."
  98. 2155 PRINT:INPUT Z
  99. 2160 PRINT
  100. 2165 IF Z>28 THEN 2225
  101. 2170 IF Z<1 THEN 2105
  102. 2180 PRINT TAB(30);left$(repeat$,n(1,z))
  103.     PRINT UP$;
  104. 2185 PRINT K$(1,Z);TAB(30);
  105. 2190 INPUT T%(Z)
  106. 2225 INPUT "ANY MORE CHANGES";line temp$
  107. 2230 IF left$(temp$,1)="y" OR left$(temp$,1)="Y" THEN 2105
  108. 2235 PRINT
  109. 2240 INPUT "IS RECORD TO BE ENTERED";line temp$
  110. 2245 PRINT
  111. 2250 IF left$(temp$,1)="y" OR left$(temp$,1)="Y" THEN 2280
  112. 2255 IF left$(temp$,1)<>"n" AND left$(temp$,1)<>"N" THEN 2235
  113. 2260 PRINT clear$:PRINT
  114. 2270 PRINT "*** RECORD NOT ENTERED ***":PRINT:PRINT
  115. 2275 FOR Z=1 TO 200:NEXT Z:RETURN
  116. 2280 open z5$ as 1
  117.      print #1;t%(1),t%(2),t%(3),t%(4),t%(5),t%(6),t%(7),t%(8),\
  118.           t%(9),t%(10),t%(11),t%(12),t%(13),t%(14),t%(15),t%(16),\
  119.           t%(17),t%(18),t%(19),t%(20),t%(21),t%(22),t%(23),t%(24),\
  120.           t%(25),t%(26),t%(27),t%(28)
  121.      close 1
  122. 2300 RETURN
  123. 3000 PRINT clear$:PRINT
  124. 3010 open z5$ as 1
  125.      read #1;t%(1),t%(2),t%(3),t%(4),t%(5),t%(6),t%(7),t%(8),\
  126.           t%(9),t%(10),t%(11),t%(12),t%(13),t%(14),t%(15),t%(16),\
  127.           t%(17),t%(18),t%(19),t%(20),t%(21),t%(22),t%(23),t%(24),\
  128.           t%(25),t%(26),t%(27),t%(28)
  129.      close 1
  130. 3030 PRINT
  131.     PRINT "Should this be a 'hard-copy' listing (Y or N)?"
  132.     INPUT LINE LIST$
  133.     IF LIST$="y" OR LIST$="Y" THEN LPRINTER
  134. 3031 T$="###"
  135. 3035 FOR Z=1 TO 14
  136. 3040 PRINT K$(1,Z);TAB(30);:print using t$;t%(z)
  137. 3045 NEXT Z
  138.     IF LIST$="y" OR LIST$="Y" THEN 3050
  139. 3047 PRINT:INPUT "TO EXAMINE REMAINING TABS - PRESS RETURN ";line temp$
  140. 3050 FOR Z=15 TO 28
  141. 3055 PRINT K$(1,Z);TAB(30);:print using t$;t%(z)
  142. 3060 NEXT Z
  143.     PRINT CHR$(13):PRINT CHR$(12)
  144.     CONSOLE
  145. 3070 PRINT
  146. 3080 PRINT "IF FINISHED, TYPE F - RETURN.":PRINT
  147. 3085 INPUT line temp$
  148. 3095 RETURN
  149. 4000 PRINT clear$:PRINT
  150. 4010 open z5$ as 1
  151.      read #1;t%(1),t%(2),t%(3),t%(4),t%(5),t%(6),t%(7),t%(8),\
  152.           t%(9),t%(10),t%(11),t%(12),t%(13),t%(14),t%(15),t%(16),\
  153.           t%(17),t%(18),t%(19),t%(20),t%(21),t%(22),t%(23),t%(24),\
  154.           t%(25),t%(26),t%(27),t%(28)
  155.      close 1
  156. 4070 GOTO 2105
  157. 6000 PRINT clear$:PRINT
  158. 6005 PRINT "IF YOU HAVE ARRIVED HERE, AND HAVE A TABS FILE"
  159. 6010 PRINT "ALREADY ON A DISK, YOU SHOULD INSTALL THAT DISK THEN"
  160. 6015 PRINT "TYPE THE LETTER C FOLLOWED BY A RETURN TO CONTINUE."
  161. 6020 PRINT
  162. 6025 PRINT "IF YOU WISH TO CREATE A NEW FILE, TYPE THE LETTER N"
  163. 6030 PRINT "FOLLOWED BY RETURN.":PRINT
  164. 6035 INPUT line temp$
  165. 6040 IF temp$="c" OR temp$="C" THEN INITIALIZE:GOTO 1500
  166. 6045 PRINT clear$:PRINT
  167. 6050 create z5$ as 1
  168.      print #1;t%(1),t%(2),t%(3),t%(4),t%(5),t%(6),t%(7),t%(8),\
  169.           t%(9),t%(10),t%(11),t%(12),t%(13),t%(14),t%(15),t%(16),\
  170.           t%(17),t%(18),t%(19),t%(20),t%(21),t%(22),t%(23),t%(24),\
  171.           t%(25),t%(26),t%(27),t%(28)
  172.      close 1
  173. 6095 PRINT clear$:PRINT
  174. 6100 PRINT "TABS FILE CREATED AND CLEARED.":PRINT
  175. 6110 PRINT "TO CONTINUE, TYPE RETURN.":INPUT line temp$
  176. 6115 GOTO 1600
  177. 7000 INPUT "ARE YOU SURE !!! (YES OR NO)";line temp$
  178. 7007 IF temp$<>"YES" THEN RETURN
  179. 7010 open z5$ as 1
  180.      print #1;t%(1),t%(2),t%(3),t%(4),t%(5),t%(6),t%(7),t%(8),\
  181.           t%(9),t%(10),t%(11),t%(12),t%(13),t%(14),t%(15),t%(16),\
  182.           t%(17),t%(18),t%(19),t%(20),t%(21),t%(22),t%(23),t%(24),\
  183.           t%(25),t%(26),t%(27),t%(28)
  184.      close 1
  185. 7035 PRINT clear$:PRINT
  186. 7040 PRINT "TABS FILE CLEARED!":PRINT
  187. 7045 PRINT "TO CONTINUE, TYPE RETURN."
  188. 7050 INPUT line temp$
  189. 7060 RETURN
  190. 10000 CHAIN "MASTER15"
  191.