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_R220.BAS
< prev
next >
Wrap
BASIC Source File
|
1984-04-29
|
6KB
|
158 lines
REMARK ***************************************\
* P/R220.BAS 941A QUARTERLY REPORT *\
* 5/21/79 9:43 AM *\
***************************************
%INCLUDE CURSOR
DIM S1(8),F1(6),B(9),P1(3),S(96),R1(2),R2(5),R$(5),G2$(5),G3(5)
RESTORE
DATA "GROSS EARNINGS","TAXABLE EARNINGS","SUBJECT TO F.U.T."
DATA "SUBJECT TO F.I.C.A.","SUBJECT TO S.D.I.","F.U.T."
DATA "F.I.C.A.","S.D.I.","NO. OF EMPLOYEES"
DEF FNR(I8)=INT(I8*100+.5)/100 REMARK ROUNDING FUNCTION
GOTO 6000
%INCLUDE SUBS1
%INCLUDE GENINFO
%INCLUDE MSTRIN
5000 PRINT REMARK PRINT AND CLEAR 941A PAGE TOTALS
PRINT TAB(21);
PRINT USING A$;P1(1),P1(1),P1(2),P1(3) REMARK PRINT PAGE TOTALS
FOR I7%=1 TO 3
P1(I7%)=0 REMARK CLEAR PAGE TOTAL
NEXT I7%
RETURN
5030 IF C-A>=I2 THEN A1=0 REMARK CALCULATE HOW MUCH OF GROSS PAY IS TAXABLE,\
MODIFIED BY CUTOFF STORED IN I2
IF C>=I2 THEN A1=I2-C+A ELSE A1=A
RETURN
6000 A$="## EMPLOYEES ## EMPLOYEES ########.## ########.##" REMARK SET UP PRINT MASKS
B$="########.##"
C$=" ######"
D$=" ########.## ########.##"
E$="####"
OPEN "P/R0F060.DAT" AS 1 REMARK OPEN FEDERAL TAX FILE
READ #1;F1(1),F1(2),F1(3),F1(4),F1(5),F1(6) REMARK READ TAX TABLES IN
OPEN "P/R0F070.DAT" AS 2 REMARK OPEN STATE TAX FILE
READ #2;S1$,S1(1),S1(2),S1(3),S1(4),S1(5),S1(6),S1(7),S1(8) REMARK READ STATE TAX TABLES IN
CLOSE 1,2
OPEN "P/R0F110.DAT" RECL 1150 AS 1 REMARK OPEN EMPLOYEE MASTER FILE
6010 CONSOLE
PRINT CLEAR.SCREEN$;"FEDERAL QUARTERLY 941A" REMARK DISPLAY PROGRAM I.D. AND ENTRY MASK
PRINT "ENTER START EMPLOYEE NUMBER OF ZERO TO EXIT"
PRINT:PRINT:PRINT "START EMPLOYEE NUMBER"
PRINT "END EMPLOYEE NUMBER"
X1=279:X2=3:X3=0:X4=999:GOSUB 345 REMARK ENTER STARTING EMPLOYEE NUMBER
IF X0=0 THEN\ REMARK IF START EMPLOYEE IS ZERO,
PRINT CLEAR.SCREEN$;"941A LOADING MENU":\ REMARK ABORT PROGRAM AND LOAD THE MENU
CHAIN "P/R000"
E1=X0
6020 X1=343:X2=3:X3=E1:X4=999:GOSUB 345 REMARK ENTER ENDING EMPLOYEE NUMBER
E2=X0
X2=1:X3=0:X4=1:X2$="ENTRY CORRECT?":GOSUB 665 REMARK VERIFY ENTRY: '1'=O.K.; '0'=RETRY
IF X0<>1 THEN 6010
FOR A%=1 TO 3
P1(A%)=0 REMARK CLEAR PAGE TOTAL
NEXT A%
FOR A%=1 TO 9
B(A%)=0 REMARK CLEAR GRAND TOTALS
NEXT A%
B1=0
RESTORE
Y9=4:OPEN "G/I0F010.DAT" RECL 200 AS Y9 REMARK OPEN GENERAL INFORMATION FILE
GOSUB 700 REMARK READ GENERAL INFORMATION FILE
CLOSE Y9
LPRINTER REMARK SELECT PRINTER AS OUTPUT DEVICE
IF E1 > MSTR.RECORDS THEN GOTO 6010 REMARK IF INVALID EMPLOYEE RANGE, RE-ENTER
IF E2 > MSTR.RECORDS THEN E2=MSTR.RECORDS
FOR J%=E1 TO E2
X0=J%
GOSUB 745 REMARK READ EMPLOYEE MASTER RECORD
IF Q$="E" THEN 6100
IF S(1)<E1 OR S(59)=0 THEN GOTO 6090 REMARK IF NO Q-T-D PAY, SKIP THIS EMPLOYEE
B(1)=B(1)+S(59) REMARK ADD TOTAL PAY TO TOTAL Q-T-D PAY
A=S(59)-S(60) REMARK CALCULATE TAXABLE Q-T-D PAY
B(2)=B(2)+A REMARK ADD TO 941A TOTALS
B(9)=B(9)+1 REMARK INCREMENT TOTAL EMPLOYEES LISTED
C=S(35)-S(36) REMARK CALCULATE Y-T-D TAXABLE PAY
I2=S1(8)
GOSUB 5030 REMARK CALCULATE TOTAL TAXABLE PAY
B1=B1+A1 REMARK ADD TO TOTAL SUBJECT TO S.U.I
I2=F1(2):GOSUB 5030
B(3)=B(3)+A1 REMARK ADD TO TOTAL FUT EMPLOYER
I2=F1(4):GOSUB 5030
B(4)=B(4)+A1 REMARK ADD TO TOTAL FICA EMPLOYER
I2=F1(6):GOSUB 5030
B.0=A1 REMARK CALCULATE FICA EMPLOYEE WAGES
I2=S1(6):GOSUB 5030 REMARK CALCULATE SDI EMPLOYER WAGES
B(5)=B(5)+A1
GOSUB 6200 REMARK PRINT 941A DETAIL ON FORM
6090 NEXT J%
6100 IF LINE.COUNT%>43 THEN 6110
FOR I3%=LINE.COUNT% TO 43
PRINT
NEXT I3%
6110 GOSUB 5000 REMARK PRINT 941A TOTALS FOR LAST PAGE
6120 CONSOLE
X2=1:X3=0:X4=1:X2$="READY TO PRINT SUMMARY?":GOSUB 665 REMARK VERIFY ENTRY:'1'=READY; '0'=NOT READY
IF X0<>1 THEN 6120
LPRINTER REMARK SELECT PRINTER AS OUTPUT DEVICE
PRINT:PRINT
PRINT "QUARTERLY TOTALS"
PRINT
6130 B(6)=FNR(B(3)*F1(1)/10000) REMARK CALCULATE ESTIMATED FEDERAL UNEMPLOYMENT TAX
B(7)=FNR(B(4)*F1(3)/10000) REMARK CALCULATE ESTIMATED EMPLOYEE FICA TAXES
B(8)=FNR(B(5)*S1(5)/10000) REMARK CALCULATE ESTIMATED SDI TAXES
FOR I3%=1 TO 8
READ A2$ REMARK READ SUMMARY DESCRIPTIONS FROM DATA TABLE
PRINT A2$;TAB(20);
PRINT USING B$;B(I3%) REMARK PRINT DESCRIPTION AND AMOUNT
PRINT
6150 NEXT I3%
PRINT "SUBJECT TO S.U.I.";TAB(20);
PRINT USING B$;B1 REMARK PRINT S.U.I. TAXABLE EARNINGS
PRINT
PRINT "S.U.I.";TAB(20);
PRINT USING B$;FNR(B1*S1(7)/10000) REMARK PRINT ESTIMATED S.U.I. TAX
PRINT
READ A5$
PRINT A5$;TAB(20);
PRINT USING C$;B(9) REMARK PRINT NUMBER OF EMPLOYEES IN THIS REPORT
6170 GOTO 6010
6200 IF LINE.COUNT%>44 OR P=0 THEN GOTO 6250 REMARK PRINT EMPLOYEE DETAIL ON 941A REPORT
6210 PRINT TAB(7);
X0=R1(1):GOSUB 760.5 REMARK PRINT SOCIAL SECURITY NUMBER
PRINT TAB(22);R$(1);TAB(51); REMARK PRINT EMPLOYEE NAME
PRINT USING D$;B.0,A REMARK PRINT FICA WAGES AND Q-T-D TAXABLE PAY
6230 LINE.COUNT%=LINE.COUNT%+1
P1(1)=P1(1)+1 REMARK INCREMENT NUMBER OF EMPLOYEES THIS PAGE
P1(2)=P1(2)+B.0 REMARK ADD TO TOTAL FICA WAGES THIS PAGE
P1(3)=P1(3)+A REMARK ADD TO TOTAL Q-T-D TAXABLE PAY THIS PAGE
IF LINE.COUNT%<44 THEN RETURN
GOSUB 5000 REMARK PRINT AND CLEAR PAGE TOTALS
6250 IF P>1 THEN PRINT CHR$(12); REMARK IF FIRST PAGE, DON'T DO A FORM FEED
6251 PRINT:PRINT
P=P+1
PRINT TAB(10);G2$(5);TAB(54); REMARK PRINT COMPANY'S FEDERAL & STATE ID NUMBERS
X0=G3(1):GOSUB 680.5 REMARK PRINT REPORT DATE
PRINT TAB(71);
PRINT USING E$;P REMARK PRINT PAGE NUMBER
6270 FOR I3%=1TO 4
PRINT TAB(10);G2$(I3%) REMARK PRINT COMPANY NAME AND ADDRESS
NEXT I3%
FOR I%=1 TO 6:PRINT:NEXT I% REMARK PRINT LINE FEEDS TO DETAIL SECTION
LINE.COUNT%=1
GOTO 6210