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 / SIMTEL / CPMUG / CPMUG088.ARK / EPENTRY.BAS < prev    next >
BASIC Source File  |  1984-04-29  |  14KB  |  350 lines

  1.      rem This is the Employee Payroll Record Entry Program
  2.  
  3. %INCLUDE ALL.BAS
  4.      dim n(2,20),k$(4,20)
  5.      z5$="b:ep"
  6.      z6$=z5$+"back":z7$=z5$+"size"
  7.      repeat$="-----------------------------"
  8.      fill$="                              "
  9.      l$="$$##,###.##":u$="##########":v$="####"
  10.      for z=1 to 70:delim$=delim$+"=":next z
  11.     false=0:true=-1
  12.      RESTORE
  13. 540 K$(4,1)="1 - NEW ENTRY":K$(4,2)="2 - EXAMINE EXISTING ENTRY"
  14. 550 K$(4,3)="3 - MODIFY EXISTING ENTRY"
  15. 560 K$(4,4)="4 - DELETE EXISTING ENTRY"
  16. 570 K$(4,5)="5 - CREATE NEW FILE":K$(4,6)="6 - CLEAR EXISTING FILE"
  17. 580 K$(4,7)="7 - BACK-UP AND SORT FILE":K$(4,8)="8 - LIST FILE"
  18. 590 K$(4,9)="9 - FINISHED"
  19. 1100 K$(1,1)="EMPLOYEE #":K$(1,2)="ACCT NUMBER":K$(1,3)="NAME"
  20. 1105 K$(1,4)="COMPANY":K$(1,5)="ADDRESS":K$(1,6)="CITY":K$(1,7)="STATE"
  21. 1110 K$(1,8)="ZIP CODE":K$(1,9)="PHONE (AAA) NNN NNNN"
  22. 1130 K$(1,10)="SOC SEC #":K$(1,11)="EMPLOYMENT DATE"
  23. 1132 K$(1,12)="TERMINATION DATE"
  24. 1135 K$(1,13)="MARITAL STATUS":K$(1,14)="HOURLY OR SALARIED (H OR S)"
  25. 1140 K$(1,15)="PAY PERIODS - W/B/S/M":K$(1,16)="NUMBER OF EXEMPTIONS"
  26. 1145 K$(1,17)="HOURLY RATE":K$(1,18)="HOURS THIS PERIOD"
  27. 1146 K$(1,19)="Q-T-D HOURS":K$(1,20)="Y-T-D HOURS"
  28. 1200 K$(2,1)="1 - EMPLOYEE #":K$(2,2)="2 - ACCT NUMBER":K$(2,3)="3 - NAME"
  29. 1205 K$(2,4)="4 - COMPANY":K$(2,5)="5 - ADDRESS":K$(2,6)="6 - CITY"
  30. 1206 K$(2,7)="7 - STATE"
  31. 1210 K$(2,8)="8 - ZIP CODE":K$(2,9)="9 - PHONE (AAA) NNN NNNN"
  32. 1230 K$(2,10)="10- SOC SEC #":K$(2,11)="11- EMPLOYMENT DATE"
  33. 1232 K$(2,12)="12- TERMINATION DATE"
  34. 1235 K$(2,13)="13- MARITAL STATUS":K$(2,14)="14- HMUR OR SALARY (H OR S)"
  35. 1240 K$(2,15)="15- PAY PERIODS - W/B/S/M":K$(2,16)="16- NUMBER OF EXEMPTIONS"
  36. 1245 K$(2,17)="17- HOURLY RATE"
  37.      for z=1 to 17:read n(1,z):next z
  38.      data 8,10,24,24,24,17,2,5,14,11,8,8,1,1,1,4,6
  39.     print clear$:print
  40.  
  41. 1500    if end #1 then 6000
  42.     if end #2 then 15000
  43.         open z5$ recl 512 as 1
  44.         close 1
  45.         open z7$ as 2
  46.         read #2;z2,z3,flag
  47.         close 2
  48.  
  49. 1600    REM
  50. 1620    PRINT CLEAR$
  51.     if z2>z3 then print "*** OUT OF RECORD SPACE ***"
  52.     PRINT "EMPLOYEE INFORMATION ENTRY PROGRAM"
  53.         PRINT      "----------------------------------"
  54.     PRINT:PRINT "THERE ARE ";Z3;" AVAILABLE RECORDS"
  55.     PRINT "OF THESE THERE ARE:";TAB(30);(Z3-Z2)+1;" RECORDS OPEN"
  56.     PRINT                      ;TAB(30);Z2-1;" RECORDS USED"
  57.     PRINT
  58.  
  59. 1650 PRINT "THIS IS A LIST OF OPERATIONS."
  60. 1655 PRINT
  61. 1660 FOR Z=1 TO 9:PRINT K$(4,Z):NEXT Z:PRINT
  62. 1665 PRINT "INDICATE WHAT YOU WOULD LIKE TO DO BY TYPING"
  63. 1670 PRINT "THE CORRESPONDING NUMBER."
  64. 1675 PRINT
  65. 1680 INPUT Z
  66.     IF Z<1 OR Z>9 then 1620
  67. 1682 IF Z=1 THEN new$="N"
  68. 1685 ON Z GOSUB 2000,3000,4000,5000,6000,7000,8000,9000,10000
  69. 1690 FOR Z=1 TO 20:N(2,Z)=0:N(0,Z)=0:NEXT Z
  70. 1695 N$="":new$=""
  71. 1700 FOR Z=1 TO 20:K$(3,Z)=" ":NEXT Z
  72. 1705 GOTO 1600
  73. 2000 PRINT clear$:PRINT
  74. 2005 PRINT "RECORD NUMBER";z2:PRINT
  75. 2015 FOR Z=1 TO 2
  76.     PRINT CUR$
  77. 2020 PRINT TAB(30);left$(repeat$,n(1,z))
  78.     PRINT UP$;
  79. 2025 PRINT K$(1,Z);TAB(30);
  80. 2030 INPUT N(2,Z):PRINT chr$(13)
  81.     PRINT CLEAR$
  82. 2035 NEXT Z
  83. 2040 FOR Z=3 TO 15
  84.     PRINT CUR$
  85. 2045 PRINT TAB(30);left$(repeat$,n(1,z))
  86.     PRINT UP$;
  87. 2050 PRINT K$(1,Z);TAB(30);
  88. 2055 INPUT line K$(3,Z):PRINT chr$(13)
  89.     if len(k$(3,z))>n(1,z) then k$(3,z)=left$(k$(3,z),n(1,z))
  90. 2060 I=(N(1,Z)-LEN(K$(3,Z))):K$(3,Z)=K$(3,Z)+left$(fill$,i)
  91.     PRINT CLEAR$
  92. 2065 NEXT Z
  93. 2066 N$=""
  94. 2070 FOR Z=3 TO 15:N$=N$+K$(3,Z):NEXT Z
  95. 2075 FOR Z=16 TO 17
  96.     PRINT CUR$
  97. 2080 PRINT TAB(30);left$(repeat$,n(1,z))
  98.     PRINT UP$;
  99. 2085 PRINT K$(1,Z);TAB(30);
  100. 2090 INPUT N(2,Z):PRINT chr$(13)
  101.     PRINT CLEAR$
  102. 2095 NEXT Z
  103. 2100 Z1=Z2
  104. 2105 PRINT clear$;
  105. 2110 PRINT "RECORD NUMBER";z1;TAB(31);
  106. 2112 PRINT "1 - EMPLOYEE #";TAB(46);:print using u$;n(2,1)
  107. 2114 PRINT "2 - ACCT NUMBER";TAB(18);:print using u$;n(2,2);
  108. 2116 PRINT TAB(31);"3 - NAME";TAB(46);K$(3,3)
  109. 2118 PRINT TAB(31);"4 - COMPANY";TAB(46);K$(3,4)
  110. 2120 PRINT TAB(31);"5 - ADDRESS";TAB(46);K$(3,5)
  111. 2122 PRINT TAB(31);"6 - CITY";TAB(46);K$(3,6)
  112. 2124 PRINT TAB(31);"7 - STATE";TAB(46);K$(3,7);TAB(51);"8 - ZIP";
  113. 2126 PRINT TAB(61);K$(3,8)
  114. 2128 PRINT "9 - PHONE";TAB(16);K$(3,9);TAB(31);"10- SOC SEC #";
  115. 2130 PRINT TAB(46);K$(3,10)
  116. 2132 PRINT "11- EMPLOYED";TAB(16);K$(3,11);TAB(31);"12- TERMINATED";
  117. 2134 PRINT TAB(46);K$(3,12)
  118. 2136 PRINT "13- MARITAL";TAB(16);K$(3,13);TAB(31);"14- HOUR OR SA";
  119. 2138 PRINT TAB(46);K$(3,14)
  120. 2140 PRINT "15- PAY PERIOD";TAB(16);K$(3,15);TAB(31);"16- # OF EXEM";
  121. 2142 PRINT TAB(46);:print using v$;n(2,16);:PRINT TAB(51);"17- RATE";
  122.      print using l$;n(2,17)
  123.      print delim$
  124. 2146 PRINT TAB(16);"CURRENT";TAB(36);"QUARTER TO DATE";TAB(56);"YEAR TO DATE"
  125.      print "Hours";tab(16);
  126.      print using u$;n(2,18);tab(36);n(2,19);tab(56);n(2,20)
  127.      print "Gross Pay";tab(16);
  128.      print using l$;n(0,1);tab(36);n(0,2);tab(56);n(0,3)
  129.      print "FICA";tab(16);
  130.      print using l$;n(0,4);tab(36);n(0,5);tab(56);n(0,6)
  131.      print "Fed Tax";tab(16);
  132.      print using l$;n(0,7);tab(36);n(0,8);tab(56);n(0,9)
  133.      print "State Tax";tab(16);
  134.      print using l$;n(0,10);tab(36);n(0,11);tab(56);n(0,12)
  135.      print "SDI";tab(16);
  136.      print using l$;n(0,13);tab(36);n(0,14);tab(56);n(0,15)
  137.      print "Misc Ded";tab(16);
  138.      print using l$;n(0,16);tab(36);n(0,17);tab(56);n(0,18)
  139. 2175 INPUT "IF AN ITEM IS TO BE CHANGED, TYPE THE NUMBER - ELSE 18 ";Z
  140. 2176 IF Z>17 THEN 2216
  141. 2177 IF Z<1 THEN 2105
  142. 2178 IF Z>2 AND Z<16 THEN 2200
  143. 2180 PRINT TAB(30);left$(repeat$,n(1,z))
  144.     PRINT UP$;
  145. 2185 PRINT K$(1,Z);TAB(30);
  146. 2190 INPUT N(2,Z)
  147. 2195 GOTO 2225
  148. 2200 PRINT TAB(30);left$(repeat$,n(1,z))
  149.     PRINT UP$;
  150. 2205 PRINT K$(1,Z);TAB(30);
  151. 2210 INPUT line K$(3,Z)
  152.     if len(k$(3,z))>n(1,z) then k$(3,z)=left$(k$(3,z),n(1,z))
  153. 2215 I=(N(1,Z)-LEN(K$(3,Z))):K$(3,Z)=K$(3,Z)+left$(fill$,i)
  154. 2216 N$=""
  155. 2217 FOR I=3 TO 15:N$=N$+K$(3,I):NEXT I
  156. 2225 INPUT "ANY MORE CHANGES";line temp$
  157. 2230 IF left$(temp$,1)="y" OR left$(temp$,1)="Y" THEN 2105
  158. 2235 PRINT
  159. 2240 INPUT "IS RECORD TO BE ENTERED";line temp$
  160. 2245 PRINT
  161. 2250 IF left$(temp$,1)="y" OR left$(temp$,1)="Y" THEN 2280
  162. 2255 IF left$(temp$,1)<>"n" AND left$(temp$,1)<>"N" THEN 2235
  163. 2260 PRINT clear$:PRINT
  164. 2270 PRINT "*** RECORD NOT ENTERED ***":PRINT:PRINT
  165. 2275 FOR Z=1 TO 200:NEXT Z:RETURN
  166. 2280 open z5$ recl 512 as 1
  167.      print #1,z1;N(2,1),N(2,2),N$,N(2,16),N(2,17),N(2,18),N(2,19),N(2,20),\
  168.           N(0,1),N(0,2),N(0,3),N(0,4),N(0,5),N(0,6),N(0,7),\
  169.           N(0,8),N(0,9),N(0,10),N(0,11),N(0,12),N(0,13),\
  170.           N(0,14),N(0,15),N(0,16),N(0,17),N(0,18)
  171.      close 1
  172. 2295 IF new$="N" THEN Z2=Z2+1
  173.     IF new$="N" THEN flag=true:open z7$ as 1:print #1;z2,z3,flag:close 1
  174. 2300 RETURN
  175. 3000 PRINT clear$:PRINT:INPUT "RECORD NUMBER";Z1:PRINT clear$;
  176. 3003 IF Z1>=Z2 THEN 3000
  177. 3004 IF Z1<1 THEN RETURN
  178. 3005 open z5$ recl 512 as 1
  179.      read #1,z1;N(2,1),N(2,2),N$,N(2,16),N(2,17),N(2,18),N(2,19),N(2,20),\
  180.           N(0,1),N(0,2),N(0,3),N(0,4),N(0,5),N(0,6),N(0,7),\
  181.           N(0,8),N(0,9),N(0,10),N(0,11),N(0,12),N(0,13),\
  182.           N(0,14),N(0,15),N(0,16),N(0,17),N(0,18)
  183. 3008 Z9=1:FOR Z=3 TO 15:K$(3,Z)=MID$(N$,Z9,N(1,Z)):Z9=Z9+N(1,Z):NEXT Z
  184. 3009 close 1
  185. 3010 PRINT "RECORD NUMBER";z1;TAB(31);
  186. 3012 PRINT "EMPLOYEE #";TAB(46);:print using u$;n(2,1)
  187. 3014 PRINT "ACCT NUMBER";TAB(18);:print using u$;n(2,2);
  188. 3016 PRINT TAB(31);"NAME";TAB(46);K$(3,3)
  189. 3018 PRINT TAB(31);"COMPANY";TAB(46);K$(3,4)
  190. 3020 PRINT TAB(31);"ADDRESS";TAB(46);K$(3,5)
  191. 3022 PRINT TAB(31);"CITY";TAB(46);K$(3,6)
  192. 3024 PRINT TAB(31);"STATE";TAB(46);K$(3,7);TAB(51);"ZIP";
  193. 3026 PRINT TAB(61);K$(3,8)
  194. 3028 PRINT "PHONE";TAB(16);K$(3,9);TAB(31);"SOC SEC #";
  195. 3030 PRINT TAB(46);K$(3,10)
  196. 3032 PRINT "EMPLOYED";TAB(16);K$(3,11);TAB(31);"TERMINATED";
  197. 3034 PRINT TAB(46);K$(3,12)
  198. 3036 PRINT "MARITAL";TAB(16);K$(3,13);TAB(31);"HOUR OR SA";
  199. 3038 PRINT TAB(46);K$(3,14)
  200. 3040 PRINT "PAY PERIOD";TAB(16);K$(3,15);TAB(31);"# OF EXEM";
  201. 3042 PRINT TAB(46);:print using v$;n(2,16);:PRINT TAB(51);"RATE";
  202.      print using l$;n(2,17)
  203.      print delim$
  204. 3046 PRINT TAB(16);"CURRENT";TAB(36);"QUARTER TO DATE";TAB(56);"YEAR TO DATE"
  205.      print "Hours";tab(16);
  206.      print using u$;n(2,18);tab(36);n(2,19);tab(56);n(2,20)
  207.      print "Gross Pay";tab(16);
  208.      print using l$;n(0,1);tab(36);n(0,2);tab(56);n(0,3)
  209.      print "FICA";tab(16);
  210.      print using l$;n(0,4);tab(36);n(0,5);tab(56);n(0,6)
  211.      print "Fed Tax";tab(16);
  212.      print using l$;n(0,7);tab(36);n(0,8);tab(56);n(0,9)
  213.      print "State Tax";tab(16);
  214.      print using l$;n(0,10);tab(36);n(0,11);tab(56);n(0,12)
  215.      print "SDI";tab(16);
  216.      print using l$;n(0,13);tab(36);n(0,14);tab(56);n(0,15)
  217.      print "Misc Ded";tab(16);
  218.      print using l$;n(0,16);tab(36);n(0,17);tab(56);n(0,18)
  219. 3075 PRINT "FOR NEW RECORD, TYPE N-RETURN , OTHERWISE F-RETURN"
  220. 3085 INPUT temp$
  221. 3090 IF left$(temp$,1)="n" or left$(temp$,1)="N" THEN 3000
  222. 3095 RETURN
  223. 4000 PRINT clear$:PRINT
  224. 4005 N$=""
  225. 4010 INPUT "RECORD NUMBER";Z1
  226. 4015 IF Z1<1 THEN PRINT "*** NO SUCH RECORD ***":GOTO 1620
  227. 4020 IF Z1>Z3 THEN PRINT "*** OUT OF RANGE ***":GOTO 1620
  228. 4025 IF Z1>=Z2 THEN PRINT "NO RECORD NUMBER";z1:GOTO 1620
  229. 4030 open z5$ recl 512 as 1
  230.      read #1,z1;N(2,1),N(2,2),N$,N(2,16),N(2,17),N(2,18),N(2,19),N(2,20),\
  231.           N(0,1),N(0,2),N(0,3),N(0,4),N(0,5),N(0,6),N(0,7),\
  232.           N(0,8),N(0,9),N(0,10),N(0,11),N(0,12),N(0,13),\
  233.           N(0,14),N(0,15),N(0,16),N(0,17),N(0,18)
  234. 4040 close 1
  235. 4045 IF N(2,1)=0 THEN PRINT "*** DELETED RECORD ***":GOTO 1620
  236. 4050 Z9=1
  237. 4055 FOR Z=3 TO 15
  238. 4060 K$(3,Z)=MID$(N$,Z9,N(1,Z))
  239. 4065 Z9=Z9+N(1,Z)
  240. 4070 NEXT Z
  241. 4075 GOTO 2105
  242. 5000 PRINT clear$:PRINT:INPUT "RECORD NUMBER";Z1:PRINT clear$:PRINT
  243. 5002 IF Z1<1 THEN PRINT "*** NO SUCH RECORD ***":GOTO 1620
  244. 5004 IF Z1>Z3 THEN PRINT "*** OUT OF RANGE ***":GOTO 1620
  245. 5005 IF Z1>=Z2 THEN PRINT "NO RECORD NUMBER";z1:GOTO 1620
  246. 5006 open z5$ recl 512 as 1
  247.      read #1,z1;N(2,1),N(2,2),N$,N(2,16),N(2,17),N(2,18),N(2,19),N(2,20),\
  248.           N(0,1),N(0,2),N(0,3),N(0,4),N(0,5),N(0,6),N(0,7),\
  249.           N(0,8),N(0,9),N(0,10),N(0,11),N(0,12),N(0,13),\
  250.           N(0,14),N(0,15),N(0,16),N(0,17),N(0,18)
  251. 5009 close 1
  252. 5010 Z9=1:FOR Z=3 TO 15:K$(3,Z)=MID$(N$,Z9,N(1,Z)):Z9=Z9+N(1,Z):NEXT Z
  253. 5011 PRINT "RECORD NUMBER";z1;TAB(31);
  254. 5012 PRINT "EMPLOYEE #";TAB(46);:print using u$;n(2,1)
  255. 5014 PRINT "ACCT NUMBER";TAB(18);:print using u$;n(2,2);
  256. 5016 PRINT TAB(31);"NAME";TAB(46);K$(3,3)
  257. 5018 PRINT TAB(31);"COMPANY";TAB(46);K$(3,4)
  258. 5020 PRINT TAB(31);"ADDRESS";TAB(46);K$(3,5)
  259. 5022 PRINT TAB(31);"CITY";TAB(46);K$(3,6)
  260. 5024 PRINT TAB(31);"STATE";TAB(46);K$(3,7);TAB(51);"ZIP";
  261. 5026 PRINT TAB(61);K$(3,8)
  262. 5028 PRINT "PHONE";TAB(16);K$(3,9);TAB(31);"SOC SEC #";
  263. 5030 PRINT TAB(46);K$(3,10)
  264. 5032 PRINT "EMPLOYED";TAB(16);K$(3,11);TAB(31);"TERMINATED";
  265. 5034 PRINT TAB(46);K$(3,12)
  266. 5036 PRINT "MARITAL";TAB(16);K$(3,13);TAB(31);"HOUR OR SA";
  267. 5038 PRINT TAB(46);K$(3,14)
  268. 5040 PRINT "PAY PERIOD";TAB(16);K$(3,15);TAB(31);"# OF EXEM";
  269. 5042 PRINT TAB(46);:print using v$;n(2,16);:PRINT TAB(51);"RATE";
  270.      print using l$;n(2,17)
  271. 5074 PRINT
  272. 5100 INPUT "IS RECORD TO BE DELETED (MUST BE YES TO DELETE)";line temp$
  273. 5105 IF left$(temp$,1)="n" OR left$(temp$,1)="N" THEN RETURN
  274. 5110 IF ucase$(temp$)<>"YES" THEN 5100
  275. 5115 N(2,1)=0
  276. 5120 open z5$ recl 512 as 1
  277.      print #1,z1;N(2,1),N(2,2),N$,N(2,16),N(2,17),N(2,18),N(2,19),N(2,20),\
  278.           N(0,1),N(0,2),N(0,3),N(0,4),N(0,5),N(0,6),N(0,7),\
  279.           N(0,8),N(0,9),N(0,10),N(0,11),N(0,12),N(0,13),\
  280.           N(0,14),N(0,15),N(0,16),N(0,17),N(0,18)
  281. 5130 close 1
  282. 5135 RETURN
  283. 6000 PRINT clear$:PRINT
  284. 6005 PRINT "IF YOU HAVE ARRIVED HERE, AND HAVE AN EMPLOYEE FILE"
  285. 6010 PRINT "ALREADY ON A DISK, YOU SHOULD INSTALL THAT DISK THEN"
  286. 6015 PRINT "TYPE THE LETTER C FOLLOWED BY A RETURN TO CONTINUE."
  287. 6020 PRINT
  288. 6025 PRINT "IF YOU WISH TO CREATE A NEW FILE, TYPE THE LETTER N"
  289. 6030 PRINT "FOLLOWED BY RETURN.":PRINT
  290. 6035 INPUT line temp$
  291. 6040 IF ucase$(temp$)="C" then initialize:GOTO 1500
  292. 6045 PRINT clear$:PRINT
  293. 6050 INPUT "NUMBER OF RECORDS DESIRED";z3
  294. 6055 PRINT
  295.      n$="":for z=1 to 150:n$=n$+" ":next z
  296. 6060 FOR I=1 TO 20:N(2,I)=0:N(0,I)=0:NEXT I
  297. 6065 create z5$ recl 512 as 1
  298. 6070 FOR Z1=1 TO z3+2
  299.      print #1,z1;N(2,1),N(2,2),N$,N(2,16),N(2,17),N(2,18),N(2,19),N(2,20),\
  300.           N(0,1),N(0,2),N(0,3),N(0,4),N(0,5),N(0,6),N(0,7),\
  301.           N(0,8),N(0,9),N(0,10),N(0,11),N(0,12),N(0,13),\
  302.           N(0,14),N(0,15),N(0,16),N(0,17),N(0,18)
  303. 6085 NEXT Z1
  304. 6090 close 1
  305. 6095 PRINT clear$:PRINT
  306. 6100 PRINT "EMPLOYEE FILE CREATED AND CLEARED.":PRINT
  307. 6105 PRINT z3;"RECORDS CREATED.":PRINT
  308. 6110 PRINT "TO CONTINUE, TYPE RETURN.":INPUT line temp$
  309.     Z2=1
  310.     create z7$ as 1:print #1;Z2,Z3:close 1
  311. 6115 GOTO 1500
  312. 7000 n$="":for z=1 to 150:n$=n$+" ":next z
  313.      for z=1 to 20:n(2,z)=0:n(0,z)=0:next z
  314. 7006 INPUT "ARE YOU SURE !!! (YES OR NO)";line temp$
  315. 7007 IF ucase$(temp$)<>"YES" THEN RETURN
  316.      open z5$ recl 512 as 1
  317. 7010 FOR Z1=1 TO z3+2
  318.      print #1,z1;N(2,1),N(2,2),N$,N(2,16),N(2,17),N(2,18),N(2,19),N(2,20),\
  319.           N(0,1),N(0,2),N(0,3),N(0,4),N(0,5),N(0,6),N(0,7),\
  320.           N(0,8),N(0,9),N(0,10),N(0,11),N(0,12),N(0,13),\
  321.           N(0,14),N(0,15),N(0,16),N(0,17),N(0,18)
  322. 7025 NEXT Z1
  323. 7030 close 1
  324. 7035 PRINT clear$:PRINT
  325. 7040 PRINT "EMPLOYEE FILE CLEARED!":PRINT
  326. 7045 PRINT "TO CONTINUE, TYPE RETURN."
  327. 7050 INPUT line temp$
  328.     Z2=1
  329.     open z7$ as 1:print #1;Z2,Z3:close 1
  330. 7060 RETURN
  331. 8000 CHAIN "EPSORT"
  332. 9000 CHAIN "EPLIST"
  333. 10000 CHAIN "master5"
  334. 15000    print clear$:print:print "CHECKING FILE LENGTH"
  335.     PRINT:PRINT "*** PLEASE WAIT ***"
  336.     CLOSE 2
  337.     open z5$ recl 512 as 1
  338.     z3=(size(z5$)*block.size)/512
  339.     for z2=1 to z3
  340.     read #1,z2;n(2,1),n(2,2)
  341.     if n(2,2)=0 then 15300
  342.     next z2
  343. 15300    z3=int(z3)-2
  344.     close 1
  345.     flag=false
  346.     create z7$ as 1
  347.     print #1;z2,z3,flag
  348.     close 1
  349.     GOTO 1500
  350.