home *** CD-ROM | disk | FTP | other *** search
- rem This is the Payroll Register Printer
-
- %INCLUDE ALL.BAS
- DIM K$(3,20)
- dim h(9),s(9),t(4,9),N(2,20)
- t$="#,###.##":u$="##,###.##":v$="###,###.##"
- t5$="##########":t6$="####"
- fmt$="/.../ ###,###.## ##,###.## #,###.## #,###.## ##,###.##"
- fmt$=fmt$+" ##,###.## ###,###.## ###,###.## ##,###.## ##,###.##"
- RESTORE
- 1050 Q$="E M P L O Y E E P A Y R O L L R E G I S T E R"
- 1075 N(1,3)=24:N(1,4)=24:N(1,5)=24:N(1,6)=17:N(1,7)=2:N(1,8)=5
- 1080 N(1,9)=14:N(1,10)=11:N(1,11)=8:N(1,12)=8:N(1,13)=1:N(1,14)=1:N(1,15)=1
- 1235 T%(1)=132
- 1240 FOR Z=1 TO 131:A$=A$+"=":B$=B$+"-":c5$=c5$+"*":NEXT Z
- 1400 rem this part gets cutoffs for futa and suta
- open "b:epc" as 1
- read #1;c1,c2,c3,c4,c5,c6,c7,c8
- close 1
- 3000 REM READ NAME FILE SUBROUTINE
- 3005 a5=T%(12)
- Z=24:Z9=1
- FOR Z0=1 TO 4
- K$(0,Z0)=MID$(N$,Z9,Z)
- Z9=Z9+Z
- NEXT Z0
- 3125 REM ROUTINE TO ELIMINATE TRAILING BLANKS
- l8=1
- 3130 FOR I=1 TO 4
- l9=len(k$(0,i))
- 3140 FOR Z=l9 TO l8 STEP -1
- 3150 IF MID$(K$(0,I),Z,1)<>" " THEN 3170
- 3160 NEXT Z
- 3170 Z$=""
- 3180 FOR Z0=1 TO Z
- 3190 Z$=Z$+MID$(K$(0,I),Z0,1)
- 3200 NEXT Z0
- 3210 K$(0,I)="":K$(0,I)=Z$
- 3220 NEXT I
- 6000 REM PRINT PAYROLL REGISTER
- 6005 PRINT clear$:PRINT:PRINT "PRINTING PAYROLL REGISTER":P0=1
- 6010 lprinter
- 6015 open "b:ep" recl 512 as 1
- z3=(size("b:ep")*block.size)/512
- for z2=1 to z3
- read #1,z2;n(2,1),n(2,2)
- if n(2,2)=0 then 6045
- next z2
- 6045 close 1
- z2=z2-1
- 6090 P1=1:P2=8
- 6095 open "b:ep" recl 512 as 1
- 6100 FOR I=1 TO (Z2/8)+1
- 6105 Z=0
- 6110 GOSUB 9600
- 6120 FOR Z1=P1 TO P2
- 6130 GOSUB 9000
- 6200 NEXT Z1
- 6210 GOSUB 9400
- 6220 P1=P1+8:P2=P2+8
- 6250 NEXT I
- 6300 GOSUB 9800
- 6400 GOTO 9900
- 9000 REM GET RECORD AND PRINT
- 9010 read #1,z1;n(2,1),n(2,2),n$,n,r,h1,h2,h3,e0,e1,e2,f1,f2,f3,\
- e3,e4,e5,e6,e7,e8,s1,s2,s3,m1,m2,m3
- 9020 IF N(2,2)=0 THEN 9395
- 9050 H2=H2+H1:H3=H3+H1:S2=S2+S1:S3=S3+S1:M2=M2+M1:M3=M3+M1
- 9052 E1=E1+E0:E2=E2+E0:E4=E4+E3:E5=E5+E3:E7=E7+E6:E8=E8+E6
- 9054 F2=F2+F1:F3=F3+F1
- 9095 Z9=1:FOR Z=3 TO 15:K$(3,Z)=MID$(N$,Z9,N(1,Z)):Z9=Z9+N(1,Z):NEXT Z
- 9100 N$=""
- 9105 open "b:tm" recl 128 as 2
- read #2,z1;a,b,n$,y1,y2
- close 2
- 9120 Y4=Y4+Y2
- 9176 H4=H4+H1:H5=H5+H2:H6=H6+H3:S4=S4+S1:S5=S5+S2:S6=S6+S3:M4=M4+M1
- 9178 M5=M5+M2:M6=M6+M3:T0=T0+E0:T1=T1+E1:T2=T2+E2:T3=T3+E3:T4=T4+E4
- 9180 T5=T5+E5:T6=T6+E6:T7=T7+E7:T8=T8+E8:F4=F4+F1:F5=F5+F2:F6=F6+F3
- 9200 IF E2-E0>C5 THEN A4=0
- 9205 IF E2-E0>C5 THEN GOTO 9225
- 9210 IF E2>C5 THEN A4=((E2-C5)*C6)
- 9215 IF E2>C5 THEN GOTO 9225
- 9220 IF E2<=C5 THEN A4=E0*C6
- 9225 A6=A6+A4
- 9230 IF E2-E0>C7 THEN A5=0
- 9235 IF E2-E0>C7 THEN GOTO 9255
- 9240 IF E2>C7 THEN A5=((E2-C7)*C8)
- 9245 IF E2>C7 THEN GOTO 9255
- 9250 IF E2<=C7 THEN A5=E0*C8
- 9255 A7=A7+A5
- 9260 print tab(11);k$(3,3);tab(41);\
- k$(3,10);tab(66);h1;tab(76);h2;tab(88);h3;tab(101);r
- 9280 print using fmt$;left$(d$(1),5),e0,e3,f1,s1,e6,m1,e0-e3-f1-s1-e6-m1,\
- y2,a4,a5
- print using fmt$;"Q-T-D",e1,e4,f2,s2,e7,m2,e1-e4-f2-s2-e7-m2
- print using fmt$;"Y-T-D",e2,e5,f3,s3,e8,m3,e2-e5-f3-s3-e8-m3
- 9335 print:print
- 9340 H2=0:H3=0:S2=0:S3=0:M2=0:M3=0:E1=0:E2=0:E4=0:E5=0:E7=0:E8=0
- 9345 F2=0:F3=0:Y1=0:Y2=0:A4=0:A5=0
- 9395 RETURN
- 9400 print
- 9410 print A$
- 9420 print "Report continues on next page"
- 9430 print A$
- 9440 print chr$(12)
- 9450 RETURN
- 9600 REM PRINT PAGE HEADING SUBROUTINE
- 9610 print c5$
- 9615 print:P9=P9+1
- 9616 print TAB((T%(1)-LEN(Q$))/2);Q$:P9=P9+1
- 9617 print:P9=P9+1
- 9625 print K$(0,2);TAB(101);"FOR PERIOD ENDING ";D$(2)
- 9630 print B$
- 9632 IF Z=1 THEN 9645
- 9635 print "EMP #";TAB(11);"NAME";TAB(41);"SOC. SEC #";TAB(65);"HOURS";
- 9640 print TAB(76);"HOURS QTD";TAB(88);"HOURS YTD";TAB(101);"RATE"
- 9645 print "DATE";TAB(11);"GROSS";TAB(23);"F/W";TAB(34);"FICA";TAB(44);
- 9650 print "SDI";TAB(54);"S/W";TAB(65);"MISC DED";TAB(76);"NET PAY";
- 9655 print TAB(88);"OTHER";TAB(100);"FUTA";TAB(112);"SUTA"
- 9665 print B$
- 9670 RETURN
- 9800 q$="":Q$="P A Y R O L L R E G I S T E R S U M M A R Y"
- 9802 Z=1
- 9805 GOSUB 9600
- 9810 print using fmt$;left$(d$(1),5),t0,t3,f4,s4,t6,m4,t0-t3-f4-s4-t6-m4,\
- y4,a6,a7
- print using fmt$;"Q-T-D",t1,t4,f5,s5,t7,m5,t1-t4-f5-s5-t7-m5
- print using fmt$;"Y-T-D",t2,t5,f6,s6,t8,m6,t2-t4-f6-s6-t8-m6
- 9862 print
- 9864 IF T4+(F5*2)>200 THEN print "Q-T-D FED TAX LIABILITY IS ";
- if t4+(f5*2)>200 then print using v$;t4+(f5*2)
- 9866 IF T4+(F5*2)>200 THEN print "YOU SHOULD MAKE A DEPOSIT WITHIN 15 DAYS."
- 9868 IF T4+(F5*2)>2000 THEN print "*** ALERT *** Q-T-D FED TAX LIABILITY IS ";
- if t4+(f5*2)>2000 then print using v$;t4+(f5*2)
- 9872 if t4+(f5*2)>2000 then print\
- "You should make a deposit within 3 banking days!!"
- 9873 print
- 9874 print "CURRENT FEDERAL TAX LIABILITY IS ";:print using v$;t3+(f4*2)
- 9876 print "PLEASE ENTER THIS AMOUNT IN FEDERAL DEPOSIT FILE."
- 9882 print
- 9884 print :print :print
- 9886 print A$
- 9888 print "End of Report"
- 9890 print A$
- 9892 print chr$(12)
- 9895 RETURN
- 9900 print chr$(12)
- 9910 close 1
- 9915 console
- 10000 chain "master5"
-