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 >
Wrap
BASIC Source File
|
1984-04-29
|
4KB
|
119 lines
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