REMARK **************************************************\ * PR010.BAS PAYROLL GENERAL INFORMATION F/M *\ * 5/16/79 10:30 AM *\ ************************************************** DEF FNR(Z1)=INT(Z1*100+.5)/100 DIM G2$(5),G3(5) %INCLUDE CURSOR %INCLUDE PRNMASK GOTO 6000 %INCLUDE SUBS1 %INCLUDE GENINFO REMARK LINE PRINTER ROUTINE -- REPORT HEADINGS 825 A1=85 REMARK SET CARRIAGE WIDTH IF LINE.COUNT% < 55 THEN RETURN REMARK IF NOT END OF PAGE, RETURN TO MAINLINE P=P+1 PRINT CHR$(12); PRINT TAB((A1-LEN(G2$(1)))/2);G2$(1);TAB(A1);"DATE "; X0=G3(1):GOSUB 680.5 REMARK PRINT REPORT DATE PRINT PRINT TAB((A1-LEN(X4$))/2);X4$;TAB(A1);"PAGE ";P REMARK PRINT PAGE NUMBER PRINT PRINT PRINT LINE.COUNT% = 6 REMARK RESET LINE COUNTER AFTER SKIPPING TO NEW PAGE RETURN REMARK DISPLAY GENERAL INFORMATION FILE CONTENTS ON CRT 5300 X0=1: GOSUB 260 REMARK DISPLAY ENTRY MASK ON CRT 5310 X1=274:GOSUB 210:PRINT G1;" " REMARK DISPLAY COMPANY NUMBER X1=339: GOSUB 210 PRINT USING MASK6$;G2 REMARK DISPLAY NEXT CHECK NUMBER X1=19: GOSUB 215 PRINT G3.0;TAB(26) REMARK DISPLAY OVERTIME RATE MULTIPLIER X1=19: GOSUB 215 PRINT G4;TAB(26) REMARK REMARK DISPLAY HOURLY RATE PRINT FOR I%=1 TO 5 X1=20: GOSUB 215 PRINT G2$(I%);TAB(63) REMARK DISPLAY COMPANY NAME/ADDRESS NEXT I% X1=308:X0=G3(1): GOSUB 680 REMARK DISPLAY CURRENT DATE PRINT X1=53: GOSUB 215 X0=G3(2): GOSUB 680.5 REMARK DISPLAY PERIOD START DATE PRINT X1=53: GOSUB 215 X0=G3(3): GOSUB 680.5 REMARK DISPLAY PERIOD END DATE PRINT X1=53: GOSUB 215 PRINT G3(4) REMARK DISPLAY PAYROLL NUMBER X1=53:GOSUB 215 PRINT G3(5) REMARK DISPLAY DAY NUMBER RETURN 6000 A$="COMPANY CODE ## NEXT CHECK NO. ###### O.T. RATE ##.## " A$=A$+"HOURLY RATE ##.##" B$="COMPANY NAME /#######################/ FED-STATE TAX NUMBERS" B$=B$+" /########################/" C$="ADDRESS /#####################/ /#######################" C$=C$+"/ /########################/" REMARK SET ALL PRINT MASKS UP AT START OF THE PROGRAM Y9=1 REMARK SET GENERAL INFORMATION FILE ASSIGNMENT OPEN "G/I0F010.DAT" RECL 200 AS Y9,"CRT" RECL 1100 AS 19 GOSUB 700 REMARK READ GENERAL INFORMATION FILE GOSUB 5300 REMARK DISPLAY FILE CONTENTS ON SCREEN 6005 X1=128:X2=2:X3=-1:X4=14: GOSUB 345 C%=X0 IF C% = -1 THEN \ REMARK IF NEGATIVE OPERATION CODE, EXIT PROGRAM. PRINT CLEAR.SCREEN$;"G/I F/M LOADING MENU":\ CHAIN "P/R000" REMARK LOAD MENU AT THIS POINT ON C%+1 GOSUB 6100,6010,6020,6030,6040,6050,6050,6050,6050,6050,6060,\ 6060,6060,6070,6080 GOSUB 720 REMARK RE-WRITE GENERAL INFORMATION FILE GOSUB 5310 REMARK RE-DISPLAY SCREEN GOTO 6005 6010 X1=275:X2=2:X3=1:X4=10:GOSUB 345 REMARK ENTER COMPANY NUMBER G1=X0 RETURN 6020 X1=339:X2=6:X3=1:X4=999999:GOSUB 345 G2=X0 REMARK ENTER NEXT CHECK NUMBER RETURN 6030 X1=403:X2=5:X3=0:X4=99.99:GOSUB 345 G3.0=FNR(X0) REMARK ENTER OVERTIME RATE MULTIPLIER RETURN 6040 X1=467:X2=5:X3=0:X4=99.99:GOSUB 345 REMARK ENTER HOURLY RATE G4=FNR(X0) RETURN 6050 X1=595+64*(C%-5):X2=24:X3=0:X4=0:GOSUB 345 REMARK ENTER COMPANY NAME AND ADDRESS G2$(C%-4)=X0$ RETURN 6060 X1=308+64*(C%-10):GOSUB 673 REMARK ENTER DATES FOR FIELDS 10,11 AND 12 G3(C%-9)=X0 RETURN 6070 X1=500:X2=2:X3=1:X4=3:GOSUB 345 REMARK ENTER PAYROLL NUMBER G3(4)=X0 RETURN 6080 X1=565:X2=2:X3=1:X4=14:GOSUB 345 REMARK ENTER DAY NUMBER IN PAYROLL PERIOD G3(5)=X0 RETURN 6100 REMARK PRINT GENERAL INFORMATION ON PRINTER LPRINTER 6105 LINE.COUNT%=60 X4$="GENERAL INFORMATION FILE MAINTENANCE":GOSUB 825 REMARK PRINT HEADINGS FOR REPORT PRINT "PERIOD START";TAB(19); X0=G3(2):GOSUB 680.5 REMARK PRINT PERIOD START DATE PRINT 6110 PRINT "PERIOD END";TAB(19); X0=G3(3):GOSUB 680.5 REMARK PRINT PERIOD END DATE PRINT 6115 PRINT "PAYROLL NUMBER";TAB(18);G3(4) 6120 PRINT "DAY NUMBER";TAB(18);G3(5) 6125 PRINT :PRINT 6130 PRINT USING A$;G1,G2,G3.0,G4 PRINT USING B$;G2$(1),G2$(5) REMARK PRINT OTHER G/I FILE FIELDS PRINT USING C$;G2$(2),G2$(3),G2$(4) 6200 CONSOLE RETURN