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 / CPMUG045.ARK / P_R010.BAS < prev    next >
BASIC Source File  |  1984-04-29  |  4KB  |  119 lines

  1.     REMARK  **************************************************\
  2.         *  PR010.BAS    PAYROLL GENERAL INFORMATION F/M  *\
  3.         *       5/16/79                    10:30  AM      *\
  4.         **************************************************
  5.  
  6.  
  7.     DEF FNR(Z1)=INT(Z1*100+.5)/100
  8.     DIM G2$(5),G3(5)
  9.  
  10. %INCLUDE CURSOR
  11. %INCLUDE PRNMASK
  12.     GOTO 6000
  13. %INCLUDE SUBS1
  14. %INCLUDE GENINFO
  15.                                     REMARK  LINE PRINTER ROUTINE -- REPORT HEADINGS
  16. 825    A1=85                                REMARK  SET CARRIAGE WIDTH
  17.     IF LINE.COUNT% < 55 THEN RETURN                    REMARK  IF  NOT END OF PAGE, RETURN TO MAINLINE
  18.     P=P+1
  19.     PRINT CHR$(12);
  20.     PRINT TAB((A1-LEN(G2$(1)))/2);G2$(1);TAB(A1);"DATE ";
  21.     X0=G3(1):GOSUB 680.5                        REMARK  PRINT REPORT DATE  
  22.     PRINT
  23.     PRINT TAB((A1-LEN(X4$))/2);X4$;TAB(A1);"PAGE ";P        REMARK  PRINT PAGE NUMBER
  24.     PRINT
  25.     PRINT
  26.     PRINT
  27.     LINE.COUNT% = 6                            REMARK  RESET LINE COUNTER AFTER SKIPPING TO NEW PAGE
  28.     RETURN
  29.                                     REMARK  DISPLAY GENERAL INFORMATION FILE CONTENTS ON CRT
  30. 5300    X0=1: GOSUB 260                            REMARK  DISPLAY ENTRY MASK ON CRT
  31. 5310    X1=274:GOSUB 210:PRINT G1;"         "                REMARK  DISPLAY COMPANY NUMBER
  32.     X1=339: GOSUB 210
  33.     PRINT USING MASK6$;G2                        REMARK  DISPLAY NEXT CHECK NUMBER
  34.     X1=19: GOSUB 215
  35.     PRINT G3.0;TAB(26)                        REMARK  DISPLAY OVERTIME RATE MULTIPLIER
  36.     X1=19: GOSUB 215
  37.     PRINT G4;TAB(26)                        REMARK  REMARK DISPLAY HOURLY RATE
  38.     PRINT 
  39.     FOR I%=1 TO 5
  40.     X1=20: GOSUB 215
  41.     PRINT G2$(I%);TAB(63)                        REMARK  DISPLAY COMPANY NAME/ADDRESS
  42.     NEXT I%
  43.     X1=308:X0=G3(1): GOSUB 680                    REMARK  DISPLAY CURRENT DATE
  44.     PRINT 
  45.     X1=53: GOSUB 215
  46.     X0=G3(2): GOSUB 680.5                        REMARK  DISPLAY PERIOD START DATE
  47.     PRINT
  48.     X1=53: GOSUB 215
  49.     X0=G3(3): GOSUB 680.5                        REMARK  DISPLAY PERIOD END DATE
  50.     PRINT 
  51.     X1=53: GOSUB 215
  52.     PRINT G3(4)                            REMARK DISPLAY PAYROLL NUMBER
  53.     X1=53:GOSUB 215
  54.     PRINT G3(5)                            REMARK  DISPLAY DAY NUMBER
  55.     RETURN 
  56. 6000    A$="COMPANY CODE ##    NEXT CHECK NO. ######    O.T. RATE ##.##    "
  57.     A$=A$+"HOURLY RATE ##.##"
  58.     B$="COMPANY NAME /#######################/      FED-STATE TAX NUMBERS"
  59.     B$=B$+"      /########################/"
  60.     C$="ADDRESS      /#####################/        /#######################"
  61.     C$=C$+"/  /########################/"
  62.                                     REMARK  SET ALL PRINT MASKS UP AT START OF THE PROGRAM
  63.     Y9=1                                REMARK  SET GENERAL INFORMATION FILE ASSIGNMENT
  64.     OPEN "G/I0F010.DAT"  RECL 200 AS Y9,"CRT" RECL 1100 AS 19
  65.     GOSUB 700                            REMARK  READ GENERAL INFORMATION FILE
  66.     GOSUB 5300                            REMARK  DISPLAY FILE CONTENTS ON SCREEN
  67. 6005    X1=128:X2=2:X3=-1:X4=14: GOSUB 345
  68.     C%=X0
  69.     IF C% = -1 THEN \                        REMARK  IF NEGATIVE OPERATION CODE, EXIT PROGRAM.
  70.     PRINT CLEAR.SCREEN$;"G/I F/M LOADING MENU":\
  71.     CHAIN "P/R000"                            REMARK  LOAD MENU AT THIS POINT
  72.     ON C%+1 GOSUB 6100,6010,6020,6030,6040,6050,6050,6050,6050,6050,6060,\
  73.     6060,6060,6070,6080
  74.     GOSUB 720                            REMARK  RE-WRITE GENERAL INFORMATION FILE
  75.     GOSUB 5310                            REMARK  RE-DISPLAY SCREEN
  76.     GOTO 6005
  77. 6010    X1=275:X2=2:X3=1:X4=10:GOSUB 345                REMARK  ENTER COMPANY NUMBER
  78.     G1=X0
  79.     RETURN
  80. 6020    X1=339:X2=6:X3=1:X4=999999:GOSUB 345
  81.     G2=X0                                REMARK  ENTER NEXT CHECK NUMBER
  82.     RETURN 
  83. 6030    X1=403:X2=5:X3=0:X4=99.99:GOSUB 345
  84.     G3.0=FNR(X0)                            REMARK  ENTER OVERTIME RATE MULTIPLIER
  85.     RETURN 
  86. 6040    X1=467:X2=5:X3=0:X4=99.99:GOSUB 345                REMARK  ENTER HOURLY RATE
  87.     G4=FNR(X0)
  88.     RETURN 
  89. 6050    X1=595+64*(C%-5):X2=24:X3=0:X4=0:GOSUB 345            REMARK  ENTER COMPANY NAME AND ADDRESS
  90.     G2$(C%-4)=X0$
  91.     RETURN 
  92. 6060    X1=308+64*(C%-10):GOSUB 673                    REMARK  ENTER DATES FOR FIELDS 10,11 AND 12
  93.     G3(C%-9)=X0
  94.     RETURN 
  95. 6070    X1=500:X2=2:X3=1:X4=3:GOSUB 345                    REMARK  ENTER PAYROLL NUMBER
  96.     G3(4)=X0
  97.     RETURN 
  98. 6080    X1=565:X2=2:X3=1:X4=14:GOSUB 345                REMARK  ENTER DAY NUMBER IN PAYROLL PERIOD
  99.     G3(5)=X0
  100.     RETURN 
  101. 6100                                    REMARK  PRINT GENERAL INFORMATION ON PRINTER
  102.     LPRINTER
  103. 6105    LINE.COUNT%=60
  104.     X4$="GENERAL INFORMATION FILE MAINTENANCE":GOSUB 825        REMARK  PRINT HEADINGS FOR REPORT
  105.     PRINT "PERIOD START";TAB(19);
  106.     X0=G3(2):GOSUB 680.5                        REMARK  PRINT PERIOD START DATE
  107.     PRINT 
  108. 6110    PRINT "PERIOD END";TAB(19);
  109.     X0=G3(3):GOSUB 680.5                        REMARK  PRINT PERIOD END DATE
  110.     PRINT 
  111. 6115    PRINT "PAYROLL NUMBER";TAB(18);G3(4)
  112. 6120    PRINT "DAY NUMBER";TAB(18);G3(5)
  113. 6125    PRINT :PRINT
  114. 6130    PRINT USING A$;G1,G2,G3.0,G4
  115.     PRINT USING B$;G2$(1),G2$(5)                    REMARK  PRINT OTHER G/I FILE FIELDS
  116.     PRINT USING C$;G2$(2),G2$(3),G2$(4)
  117. 6200    CONSOLE
  118.     RETURN 
  119.