home *** CD-ROM | disk | FTP | other *** search
/ CP/M / CPM_CDROM.iso / simtel / cpmug / cpmug045.ark / P_R020.BAS < prev    next >
Encoding:
BASIC Source File  |  1984-04-29  |  12.3 KB  |  430 lines

  1.     REMARK    **************************************************\
  2.         *  P/R020.BAS  EMPLOYEE MASTER FILE MAINTENANCE  *\
  3.         *     4/17/79                       4:45 PM      *\
  4.         **************************************************
  5.  
  6. %INCLUDE CURSOR
  7. %INCLUDE PRNMASK
  8.  
  9.     DIM S(96),R1(2),T2(8),R$(5),R2(5),G3(5),G2$(5)
  10.     DEF FNR(A1)=INT(A1 * 100 + .05)/100                REMARK  ROUNDING FUNCTION
  11.     GOTO 6000
  12.  
  13. %INCLUDE SUBS1
  14. %INCLUDE MSTROUT
  15. %INCLUDE MSTRIN
  16. %INCLUDE GENINFO
  17.  
  18. 5300  X1=F%* 64 + 199                            REMARK  CHANGE EMPLOYEE NAME OR ADDRESS LINE
  19.     X2=22
  20.     X3=0
  21.     X4=0
  22.     GOSUB 345
  23.     R$(F%)=X0$
  24.     RETURN 
  25.  
  26.  
  27. 5350    X1=303                                REMARK  CHANGE SOCIAL SECURITY NUMBER
  28.     GOSUB 210
  29.     PRINT "            "
  30.     X1=303
  31.     X2=9
  32.     X3=0
  33.     X4=999999999
  34.     GOSUB 345
  35.     X1=303
  36.     R1(1)=X0
  37.     GOSUB 760
  38.     PRINT
  39.     RETURN 
  40.  
  41.  
  42. 5400    IF F%=9 THEN\                            REMARK  CHANGE EMPLOYEE TYPE CODE
  43.     X1=652:\
  44.     X2=2:\
  45.     X3=0:\
  46.     X4=99:\
  47.     GOSUB 345:\
  48.     R2(1)= X0:\
  49.     RETURN 
  50.  
  51.  
  52. 5405    IF F%<=8  THEN\                            REMARK  CHANGE FEDERAL STATE OR ADDITIONAL EXEMPTIONS
  53.     X1=495:\
  54.     X2=1:\
  55.     X3=0:\
  56.     X4=9:\
  57.     GOSUB 345:\
  58.     R2(5)= X0:\
  59.     RETURN 
  60. 5410    X1=(F%-10) * 64 + 716
  61.     X2=2
  62.     X3=0
  63.     X4=99
  64.     GOSUB 345
  65.     R2(F%-9)= X0
  66.     RETURN 
  67.  
  68.  
  69. 5450    X1=716                                REMARK  CHANGE MARITAL STATUS
  70.     X2=1
  71.     X3=0
  72.     X4=0
  73.     GOSUB 345
  74.     R3$= X0$
  75.     IF R3$="M" THEN RETURN
  76.     IF R3$="S" THEN RETURN
  77.     IF R3$="H" THEN RETURN
  78.     X2$="M, S OR H ONLY"                        REMARK  IF IMPROPER MARITAL STATUS, RE-PROMPT FOR ENTRY
  79.     GOSUB 615
  80.     GOTO 5450
  81.  
  82.  
  83. 5500    IF F% <>7 THEN A4=1002 ELSE A4=431
  84.     X1=A4:GOSUB 673                            REMARK  CHANGE DATE OF EMPLOYMENT OR LAST CHECK DATE
  85.     IF F%=7 THEN S(2)=X0 ELSE S(4)=X0
  86.     RETURN 
  87.  
  88.  
  89. 5550    X1=367                                REMARK  CHANGE EMPLOYEE INSURANCE CLASS
  90.     X2=2
  91.     X3=0
  92.     X4=99
  93.     GOSUB 345
  94.     S(3)= X0
  95.     RETURN
  96.  
  97.  
  98. 5600    X1=940                                REMARK  CHANGE LAST CHECK NUMBER
  99.     X2=6
  100.     X3=0
  101.     X4=999999
  102.     GOSUB 345
  103.     S(5)= X0
  104.     RETURN 
  105.  
  106.  
  107.                                     REMARK  CHANGE HEALTH & WELFARE RATE, M-T-D HOURS, PAY
  108. 5650    IF F%<15 THEN X1=972 ELSE X1=(F%-14)*64 + 617            REMARK  OR VACATION HOURS REMAINING
  109. 5655    X2=9
  110.     X3=0
  111.     X4=9999.9999
  112.     GOSUB 345                            REMARK  ENTER HOURS
  113.     IF F%=18  THEN S(14)=X0:RETURN                    REMARK  IF VACATION HOURS ENTERED, SAVE AND RETURN
  114.     IF F% <= 15  THEN S(F%-6)=X0:RETURN
  115. 5665    S(F%-10)= X0
  116.     RETURN 
  117.  
  118.  
  119. 5670    X1=F%*64 + 217                            REMARK  REMARK CHANGE SPECIAL INFORMATION FIELDS 1-3
  120.     X2=9
  121.     X3=0
  122.     X4=999999.99
  123.     GOSUB 345
  124.     IF F%=1 THEN S(10)=X0:RETURN
  125.     S(F%+13)=X0
  126.     RETURN 
  127.  
  128.  
  129. 5700    IF F%>=12  THEN X1=302+64*(F%-11) ELSE X1=272+64*F%        REMARK  SET ENTRY COORDINATES FOR PROPER FIELD
  130. 5705    X2=9
  131.     X3=0
  132.     X4=999999.99                            REMARK  ENTER AMOUNT
  133.     GOSUB 345
  134.     Z%=24*(B%-1) + F%
  135.     IF F%>10 THEN S(Z%+1)=X0:RETURN
  136. 5715    S(Z%)=X0                            REMARK  SAVE ENTERED AMOUNT IN MASTER FILE FIELD
  137.     RETURN 
  138.  
  139.  
  140. 5720    IF B%=2 THEN Z%=25                        REMARK  SET POINTER OFFSETS FOR ACCUMULATION
  141.     IF B%=3 THEN Z%=49                        REMARK  OF TOTALS FOR EMPLOYEE
  142.     IF B%=4 THEN Z%=73
  143.     S(Z%+10) = S(Z%+1)+S(Z%+3)+S(Z%+5)+S(Z%+6)+S(Z%+8)+S(Z%+9)
  144.     S(Z%+17) = S(Z%+12)+S(Z%+13)+S(Z%+14)+S(Z%+15)+S(Z%+16)        REMARK  PAY AND DEDUCTION AMOUNTS ON FILE
  145.     X1 = 640
  146.     GOSUB 210
  147.     GOSUB 7105                            REMARK  DISPLAY TOTAL AMOUNTS ON SCREEN
  148.     RETURN
  149.  
  150.  
  151. 6000    OPEN "P/R0F110.DAT" RECL 1150 AS 1,"CRT" RECL 1100 AS 19    REMARK  OPEN EMPLOYEE MASTER AND CRT MASK FILES
  152.     OPEN "G/I0F010.DAT" RECL 200 AS 3:Y9=3
  153.     GOSUB 700                            REMARK  READ GENERAL INFORMATION FILE
  154. 6005    X0=3:GOSUB 260
  155.     C2%=1
  156.     B%=0
  157.     X2=1
  158.     X3=1
  159.     X4=5
  160.     X2$="ENTER OPERATION CODE (1=ADD,2=CHANGE,3=POST,4=DELETE,5=EXIT)"
  161.     GOSUB 665                            REMARK  REQUEST OPERATION CODE
  162.     C%=X0
  163.     IF C%=5 THEN PRINT CLEAR.SCREEN$;\                REMARK  IF PERATION CODE 5 SELECTED, LOAD MENU
  164.     "P/R MASTER F/M LOADING MENU":CHAIN "P/R000"
  165. 6007    X2=3
  166.     X3=0
  167.     X4=999     
  168.     X2$="ENTER EMPLOYEE NUMBER"
  169.     GOSUB 665                            REMARK  ENTER EMPLOYEE NUMBER
  170.     IF  X0=0 THEN 6005                        REMARK  IF NONE ENTERED, PROMPT FOR OPERATION CODE
  171.     IF X0 > MSTR.RECORDS THEN X2$="OUT OF RANGE":GOSUB 615:GOTO 6007
  172.     GOSUB 745                            REMARK  GET MASTER RECORD FROM FILE
  173.  
  174.     ON C% GOSUB 6100,6200,6300,6500                    REMARK  BRANCH BASED ON CURRENT OPERATION CODE
  175.     GOTO 6005
  176.  
  177.  
  178. 6100    IF S(1)>0 THEN X2$="ALREADY ON FILE":GOSUB 615:RETURN        REMARK  ADD EMPLOYEE MASTER RECORD TO FILE
  179.  
  180.     DIM S(96),R$(5),R1(2),R2(5)                    REMARK  RE-INITIALIZE EMPLOYEE MASTER FILE FIELDS
  181.     R3$=""
  182.     S(1)=X0
  183.  
  184. 6105    B%=1
  185.  
  186.     FOR F%=1 TO 4
  187.     GOSUB 5300                            REMARK  ENTER EMPLOYEE NAME AND ADDRESS
  188.     NEXT F%
  189.  
  190.     GOSUB 5350                            REMARK  ENTER SOCIAL SECURITY NUMBER
  191.     GOSUB 5550                            REMARK  ENTER INSURANCE CLASS CODE
  192.  
  193.     F%=7
  194.     GOSUB 5500                            REMARK  ENTER DATE OF EMPLOYMENT
  195.  
  196.     FOR F%=8 TO 9
  197.     GOSUB 5400                            REMARK  ENTER EMPLOYEE CLASS AND PAY TYPE
  198.     NEXT F%
  199.  
  200.     GOSUB 5450                            REMARK  ENTER EMPLOYEE MARITAL STATUS
  201.  
  202.     FOR F%=11  TO 13
  203.     GOSUB 5400                            REMARK  ENTER EMPLOYEE CLASS CODE AND EMPLOYEE TYPE
  204.     NEXT F%
  205.  
  206.     FOR F%=14 TO 18
  207.     GOSUB 5650                            REMARK  ENTER HEALTH & WELFARE RATE, M-T-D HOURS,\
  208.                                             M-T-D PAY AND VACATION HOURS REMAINING
  209.     NEXT F%    
  210.  
  211.     GOSUB 5600                            REMARK  ENTER LAST CHECK NUMBER FOR EMPLOYEE
  212.  
  213.     F%=20:GOSUB 5500                        REMARK  ENTER DATE OF LAST CHECK
  214.  
  215. 6110    FOR B%=2 TO 4
  216.     GOSUB 7000                            REMARK  SEQUENTIALLY ENTER CURRENT, Q-T-D AND Y-T-D\
  217.                                             DOLLAR AMOUNTS FOR NEW EMPLOYEE
  218.     X2=1
  219.     X3=0
  220.     X4=1
  221.     X2$="ENTER REMAINING PERIODS?"
  222.     GOSUB 665                            REMARK  ENTER '0' IF DONE WITH ENTRIES; '1' IF NOT
  223.     IF  X0 > 0 THEN\
  224.     FOR F%=1 TO 16:\
  225.     GOSUB 5700:\                            REMARK  ENTER ALL AMOUNT FIELDS
  226.     NEXT F%:\
  227.     GOSUB 5720\                            REMARK  WHEN DONE, RE-DISPLAY ALL AMOUNT ENTRIES
  228.     ELSE B%=4                            REMARK  IF '0' WAS ENTERED, TERMINATE THE LOOP
  229.     NEXT B%
  230. 6115    GOSUB 6205                            REMARK   CHANGE FIELDS IF NEEDED, THEN SAVE RECORD
  231.     RETURN
  232.  
  233.  
  234.                                     REMARK  ****    CHANGE EMPLOYEE MASTER RECORD    ****
  235. 6200    IF S(1)=0 THEN X2$="NOT ON FILE":GOSUB 615:RETURN        REMARK  IF RECORD IS LOGICALLY DELETED, EXIT ROUTINE
  236. 6205    B%=1
  237.     GOSUB 7000                            REMARK  DISPLAY HEADER PORTION OF RECORD
  238.     C1%=93
  239. 6210    X2=2:X3=0:X4=94:X2$="ENTER FIELD TO CHANGE":GOSUB 665        REMARK  PROMPT FOR FIELD TO CHANGE
  240.     F%=X0
  241.     IF F%>=90 THEN B%=F%-89:GOSUB 7000:GOTO 6210            REMARK  IF OTHER MASK WAS REQUESTED, DISPLAY IT
  242.     IF F% > 20 THEN GOTO 6210                    REMARK  IF FIELD NUMBER WAS INVALID, RE-PROMPT
  243.  
  244. 6215    IF F%=0 THEN X0=S(1):GOSUB 750:RETURN                REMARK  IF FIELD TO CHANGE = 0, SAVE RECORD AND RETURN
  245.     IF B%>1 THEN 6250
  246.     IF F%<= 4 THEN GOSUB 5300:GOTO 6210                REMARK  CHANGE EMPLOYEE NAME/ADDRESS IF F <= 4
  247.     IF F%<=5 THEN GOSUB 5350:GOTO 6210                REMARK  CHANGE SOCIAL SECURITY NUMBER
  248.     IF F%=10 THEN GOSUB 5450:GOTO 6210                REMARK  CHANGE EMPLOYEE MARITAL STATUS
  249.     IF F%>=8 AND F%<=13 THEN GOSUB 5400:GOTO 6210            REMARK  CHANGE EXEMPTION FIELDS
  250.  
  251.     IF F% > 13 AND F% < 19 THEN GOSUB 5650:GOTO 6210        REMARK  CHANGE PAY,H&W RATES, M-T-D HRS OR PAY
  252.     IF F%=19 THEN GOSUB 5600:GOTO 6210                REMARK  CHANGE LAST CHECK NUMBER
  253.     IF F%=20 OR F%=7 THEN GOSUB 5500:GOTO 6210            REMARK  CHANGE DATE OF LAST CHECK
  254.     IF F%=6 THEN GOSUB 5550:GOTO 6210                REMARK  CHANGE INSURANCE CLASS CODE
  255. 6250    IF B%=5 THEN 6295
  256.     IF F%>16 THEN 6210
  257.     GOSUB 5700                            REMARK  ENTER CURRENT, Q-T-D OR Y-T-D AMOUNT
  258.     GOSUB 5720                            REMARK  RE-DISPLAY AMOUNT TOTALS
  259.     GOTO 6210
  260. 6295    IF F%<=3 THEN GOSUB 5670                        REMARK  CHANGE SPECIAL INFORMATION FIELDS 1 TO 3
  261.     GOTO 6210
  262.  
  263.  
  264.  
  265. 6300    IF S(1)=0 THEN X2$="NOT ON FILE":GOSUB 615:RETURN        REMARK  ROUTINE TO POST MANUALLY-WRITTEN CHECKS
  266.     B%=1
  267.     GOSUB 7005                            REMARK  DISPLAY HEADER MASK
  268.     X2=1
  269.     X3=0
  270.     X4=1
  271.     X2$="ENTER 1 TO POST"
  272.     GOSUB 665                            REMARK  ENTER '1' TO START POSTING
  273.     IF X0=0 THEN RETURN                        REMARK  GO BACK TO EMPLOYEE NUMBER PROMPT IF REPLY=0
  274.     GOSUB 5600                            REMARK  ENTER CHECK DATE
  275.     GOSUB 5500                            REMARK  ENTER CHECK NUMBER FOR MANUAL CHECK
  276.     B%=4
  277.     GOSUB 7000                            REMARK  DISPLAY CURRENT AMOUNT FIELDS
  278.     FOR F%=1 TO 16
  279.     GOSUB 5700                            REMARK  ENTER EACH CURRENT AMOUNT FIELD MANUALLY
  280.     NEXT F%
  281.     GOSUB 5720                            REMARK  DISPLAY CURRENT AMOUNT TOTALS FOR CHECK
  282.     C1%=16
  283.     GOSUB 6210                            REMARK  ALLOW OPERATOR CHANGES TO FIELDS 1-16
  284.     FOR I%=25 TO 42
  285.     S(I%)=S(I%) + S(I% + 48)                    REMARK  ACCUMULATE POSTING TOTALS
  286. 6303    A1=(INT(S(4)/10000)-1)/3
  287.     IF A1=INT(A1) AND G3(4)=1 THEN S(I%+24)=0            REMARK  IF NEW QUARTER, ZERO OUT Q-T-D TOTALS
  288. 6305    S(I%+24) = S(I%+24) + S(I%+48)                    REMARK  ACCUMULATE POSTING TOTALS : Q-T-D AND Y-T-D
  289.     NEXT I%
  290. 6307    IF R2(1)<>1 THEN X0=80 ELSE X0=1                REMARK  SET WAGE DIVISOR BASED ON EMPLOYEE TYPE
  291. 6308    X0=S(76)-FNR(S(8)/X0 * S(75))                    REMARK  IF OVERTIME HOURS, CALCULATE O/T PAY
  292.     IF R2(5)<>1 THEN 6310
  293.  
  294.     IF S(7)+S(83)-S(84)-X0 >= 1733 THEN\                REMARK  ADD TO INSURANCE-EXCLUDABLE AMOUNT
  295.     S(10)=S(10)+S(83)-S(84)-X0 ELSE GOTO 6310
  296.     IF S(7)<=1733 THEN S(10)=S(10)+S(7)-1733            
  297. 6310    S(7)=S(7) + S(83)-S(84)                        REMARK  ADD NET CHECK TO M-T-D PAY
  298. 6320    S(6)=S(6) + S(73) + S(75) + S(77) + S(80)            REMARK  ADD TO TOTAL M-T-D HOURS
  299.     S(10)=S(10) +  X0                        REMARK  ADD TO INSURANCE-EXCLUDABLE AMOUNT
  300.     X2$="POSTED"
  301.     GOSUB 615                            REMARK  FLASH MESSAGE THAT EMPLOYEE RECORD WAS POSTED
  302.     X0=S(1)
  303.     GOSUB 750                            REMARK  RE-SAVE EMPLOYEE RECORD
  304.     RETURN
  305. 6500    IF S(1)=0 THEN X2$="NOT ON FILE":GOSUB 615:RETURN
  306.     B%=1
  307.     GOSUB 745                            REMARK  READ EMPLOYEE MASTER RECORD
  308.     GOSUB 7000                            REMARK  DISPLAY HEADER INFORMATION
  309.     X2=3
  310.     X3=0
  311.     X4=0
  312.     X2$="ENTER DELETE CODE TO DELETE RECORD"
  313.     GOSUB 665
  314.     IF  X0$<>"DEL" THEN RETURN                    REMARK  ENTER DELETE CODE; REJECT INCORRECT CODE
  315.     X0=S(1)
  316.     S(1)=0                                REMARK  RECORD IS DELETED BY SETTING S(1)=0
  317.     GOSUB 750
  318.     X2$="RECORD DELETED":GOSUB 615                    REMARK  FLASH RECORD DELETION MESSAGE TO OPERATOR
  319.     RETURN 
  320.  
  321.  
  322.  
  323. 7000    IF B%=5 THEN 7110                        REMARK  DISPLAY APPROPRIATE MASK AND EMPLOYEE DATA
  324.     X0=SGN(B%-1)+3
  325.     GOSUB 260                            REMARK  READ AND DISPLAY APPROPRAITE CRT MASK
  326.     IF B%=0 THEN 7030
  327. 7005    X1=37
  328.     GOSUB 210
  329.     PRINT S(1);"     "                        REMARK  DISPLAY EMPLOYEE NUMBER
  330.     PRINT
  331.     IF B%>1 THEN 7100
  332.     PRINT:PRINT
  333.     FOR I%=1 TO 4
  334.     X1=8
  335.     GOSUB 215
  336.     PRINT R$(I%)                            REMARK  DISPLAY EMPLOYEE NAME AND ADDRESS
  337.     NEXT I%
  338. 7010    PRINT
  339.     PRINT 
  340.     X1=12
  341.     GOSUB 215
  342.     PRINT R2(1);" "                            REMARK  DISPLAY EMPLOYEE TYPE CODE
  343.     X1=13
  344.     GOSUB 215
  345.     PRINT R3$                            REMARK  DISPLAY MARITAL STATUS CODE
  346.     FOR I%=2 TO 4
  347.     X1=12
  348.     GOSUB 215
  349.     PRINT R2(I%)                            REMARK  DISPLAY EMPLOYEE EXEMPTIONS
  350.     NEXT I%
  351.     X1=13
  352.     GOSUB 215
  353.     PRINT USING  MASK4.4$;S(8);                    REMARK  DISPLAY EMPLOYEE PAY RATE
  354.     X1=303
  355.     X0=R1(1)
  356.     GOSUB 760                            REMARK  DISPLAY SOCIAL SECURITY NUMBER
  357.     PRINT 
  358.     X1=47
  359.     GOSUB 215
  360.     PRINT S(3);" "                            REMARK  DISPLAY INSURANCE CLASS CODE
  361.     X1=48
  362.     GOSUB 215
  363.     X0=S(2):GOSUB 680.5                        REMARK  DISPLAY DATE OF EMPLOYMENT
  364.     PRINT 
  365.     X1=47
  366.     GOSUB 215
  367.     PRINT R2(5):PRINT:PRINT                        REMARK  DISPLAY EMPLOYEE CLASS CODE
  368.     X1=42:GOSUB 215
  369.     PRINT USING  MASK4.4$;S(9)                    REMARK  DISPLAY HEALTH & WELFARE RATE
  370. 7020    FOR I%=6 TO 7
  371.     X1=42:GOSUB 215
  372.     PRINT USING  MASK4.4$;S(I%)                    REMARK  DISPLAY MONTHLY HOURS AND PAY
  373.     NEXT I%
  374.     X1=42:GOSUB 215
  375.     PRINT USING  MASK4.4$;S(14)                    REMARK  DISPLAY VACATION HOURS REMAINING
  376.     X1=45:GOSUB 215
  377.     PRINT USING MASK6$;S(5)                        REMARK  DISPLAY LAST CHECK NUMBER
  378.     X1=43:GOSUB 215
  379.     X0=S(4)
  380.     GOSUB 680.5                            REMARK  DISPLAY LAST CHECK DATE
  381.     RETURN 
  382. 7030    X1=64
  383.     GOSUB 210
  384.     RETURN
  385. 7100    X1=0:GOSUB 210
  386.     IF B%=2 THEN PRINT "    YTD";
  387.     IF B%=3 THEN PRINT "    QTD";
  388.     IF B%=4 THEN PRINT "CURRENT";
  389. 7103    Z%=25 + 24 * (B%-2)                        REMARK  DISPLAY CURRENT, Q-T-D OR Y-T-D EMPLOYEE TOTALS
  390.     PRINT:PRINT:PRINT:PRINT:PRINT
  391.     FOR I%=Z% TO Z% + 9
  392.     X1=17
  393.     GOSUB 215
  394.     PRINT USING  MASK6.2$;S(I%)                    REMARK  DISPLAY AMOUNT FIELD
  395.     NEXT I%
  396.     X1=17:GOSUB 215
  397.     PRINT USING  MASK6.2$;S(Z% + 11);                REMARK  DISPLAY NON-TAXABLE PAY
  398.     X1=320:GOSUB 210
  399.     Z%=37 + 24 * (B%-2)
  400.     FOR I%=Z% TO Z% + 4
  401.     X1=47
  402.     GOSUB 215
  403.     PRINT USING  MASK6.2$;S(I%)                    REMARK  DISPLAY DEDUCTION AMOUNT
  404.     NEXT I%
  405. 7105    Z%=(B%-2)*24 + 35                        REMARK  DISPLAY CURRENT, Q-T-D OR Y-T-D PAYROLL TOTALS
  406.     Z1%=Z% + 7
  407.     X1=47
  408.     GOSUB 215
  409.     PRINT USING MASK6.2$;S(Z%)                    REMARK  DISPLAY TOTAL PAY FOR PERIOD
  410.     X1=47
  411.     GOSUB 215
  412.     PRINT USING MASK6.2$;S(Z1%)                    REMARK  DISPLAY TOTAL DEDUCTIONS FOR PERIOD
  413.     X1=47
  414.     GOSUB 215
  415.     PRINT USING  MASK6.2$;S(Z%)-S(Z1%)                REMARK  DISPLAY TOTAL NET PAY FOR PERIOD
  416.     RETURN 
  417.  
  418.  
  419. 7110    PRINT CLEAR.SCREEN$;"SPECIAL INFORMATION FOR EMPLOYEE ";S(1)    REMARK  DISPLAY SPECIAL INFORMATION FOR EMPLOYEE
  420.     PRINT 
  421.     PRINT 
  422.     PRINT
  423.     PRINT "1. INSURANCE EXCLUSION";TAB(26);
  424.     PRINT USING  MASK6.2$;S(10)
  425.     PRINT "2. SPARE";TAB(26);
  426. 7115    PRINT USING  MASK6.2$;S(15)
  427.     PRINT "3. SPARE";TAB(26);
  428.     PRINT USING MASK6.2$;S(16)
  429.     RETURN 
  430.