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)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