home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Oakland CPM Archive
/
oakcpm.iso
/
cpmug
/
cpmug045.ark
/
P_R270.BAS
< prev
next >
Wrap
BASIC Source File
|
1984-04-29
|
6KB
|
162 lines
REMARK ************************************\
* P/R270.BAS REORGANIZE FILES *\
* 4/18/79 7:30 PM *\
************************************
%INCLUDE CURSOR
RESTORE
DIM S(96),R1(2),R2(5),G2$(5),G3(5),R$(5),Z0$(3)
GOTO 6000
%INCLUDE SUBS1
%INCLUDE GENINFO
%INCLUDE MSTRIN
%INCLUDE MSTROUT
DATA "YTD ","QTD ","CURRENT"
GOTO 6000
825 A1=110 REMARK **** LINE PRINTER ROUTINE ****
IF LINE.COUNT% < 55 THEN RETURN REMARK IF SPACE REMAINS ON REPORT PAGE, RETURN
P=P+1
PRINT CHR$(12);
PRINT TAB((A1-LEN(G2$(1)))/2);G2$(1);TAB(A1);"DATE "; REMARK PRINT COMPANY NAME AND REPORT DATE
X0=G3(1):GOSUB 680.5
PRINT
PRINT TAB(45);"PAYROLL REORGANIZE";
PRINT TAB(A1);"PAGE";P
PRINT
PRINT
LINE.COUNT%=6 REMARK RESET LINE COUNTER FOR NEW REPORT PAGE
RETURN
4500 PRINT Z0$(I%);TAB(9); REMARK PRINT "YTD", "QTD" OR "CURRENT" SUB-HEADING
A3%=24*I% REMARK SET TOTALS POINTER
RETURN
5300 PRINT TAB(13);"REG HRS REG PAY O.T. HRS O.T. PAY";
PRINT " P.W. HRS P.W. PAY H&W PAY VAC HRS VAC PAY";
PRINT " OTHER PAY NON-TAX"
LINE.COUNT%=LINE.COUNT%+1
RETURN
5310 PRINT TAB(13);"FED W/H ST. W/H F.I.C.A. S.D.I. OTHER ";
PRINT "DED TOTAL DED NET PAY TOTAL PAY"
LINE.COUNT%=LINE.COUNT%+1
RETURN
6000 A$="VAC HOURS ######.## MON HRS ######.## MON PAY #######.##" REMARK SET UP PRINT MASKS
B$=" #######.##"
C$="######"
D$=" ####.####"
E$="EMPLOYEE TYPE ## FED-EX ## CHECK NO. ######"
E$=E$+" H&W RATE ####.####"
F$="EMP. CLASS ## ST-EX ## CHECK DATE "
G$=" MON HOURS ####.####"
H$="INS. CLASS ## ADD-EX ## VAC HOURS ######.##"
H$=H$+" MON PAY ####.####"
OPEN "P/R0F110.DAT" RECL 1150 AS 1 REMARK OPEN PAYROLL MASTER FILE
Y9=2
OPEN "G/I0F010.DAT" RECL 200 AS Y9
GOSUB 700 REMARK READ GENERAL INFORMATION FILE
6010 CONSOLE
PRINT CLEAR.SCREEN$;"REORGANIZE" REMARK DISPLAY PROGRAM I.D. AND ENTRY MASK
PRINT:PRINT:PRINT:PRINT
PRINT "1) PAYROLL MASTER"
PRINT "2) PAYROLL HISTORY"
X2=1:X3=0:X4=2
X2$="CHOOSE FILE TO REORGANIZE"
GOSUB 665 REMARK ENTER CHOICE FOR REORGANIZE
IF X0=0 THEN\
PRINT CLEAR.SCREEN$;"REORGANIZE LOADING MENU":\ REMARK DISPLAY PROGRAM EXIT MESSAGE
CHAIN "P/R000" REMARK AND LOAD THE MENU
PRINT CLEAR.SCREEN$;
IF X0=1 THEN PRINT "P/R REORGANIZE MASTER"
IF X0=2 THEN PRINT "P/R REORGANIZE HISTORY"
PRINT "KEY RETURN TO BEGIN;CTRL-C TO EXIT"
6100 IF CONSTAT%=0 THEN 6100
X%=CONCHAR%
IF X%=03H THEN CHAIN "P/R000" REMARK IF CTRL-C WAS DEPRESSED, CHAIN TO THE MENU
IF X%<> 0DH THEN GOTO 6100 REMARK DO NOT START PROCESSING UNTIL RETURN IS DEPRESSED
PRINT "WORKING...DO NOT INTERRUPT"
IF X0=2\
THEN\ REMARK IF 'REORGANIZE HISTORY' WAS SELECTED...
CLOSE 1:\
OPEN "P/R0F120.DAT" AS 1:\ REMARK ERASE AND RE-CREATE HISTORY FILE; EXIT PROGRAM
DELETE 1:CREATE "P/R0F120.DAT" AS 1:\
HISTORY.RECORDS=0:GOSUB 720:\
CHAIN "P/R000"
RESTORE
FOR I%=1 TO 3
READ Z0$(I%) REMARK READ DATA FROM STATEMENT 10
NEXT I%
6133 LPRINTER REMARK SELECT PRINTER AS OUTPUT DEVICE
LINE.COUNT%=70:GOSUB 825 REMARK PRINT REPORT HEADINGS
FOR R%=1 TO MSTR.RECORDS REMARK PRINT FOR EMPLOYEE RANGE ENTERED
X0=R%:GOSUB 745 REMARK READ THE EMPLOYEE RECORD
IF R2(1) <> 99 OR S(1)=0 THEN GOTO 6565
6310 GOSUB 825 REMARK CHECK FOR END OF REPORT PAGE
PRINT " EMP NO. ";
PRINT USING C$;S(1); REMARK PRINT EMPLOEE NUMBER
PRINT " NAME: ";R$(1);TAB(49);"SS # ";
X0=R1(1):GOSUB 760.5 REMARK "" EMPLYEE NAME AND SOCIAL SECURITY NUMBER
6375 PRINT " STATUS ";R3$;" DATE/EMP "; REMARK "" EMPLOYEE STATUS AND DATE EMPLOYED
X0=S(2):GOSUB 680.5
PRINT " PAY RATE ";
PRINT USING D$;S(8) REMARK "" PAY RATE
LINE.COUNT%=LINE.COUNT% + 1:GOSUB 825
PRINT " **DELETED**";TAB(16);" ADDR: ";R$(2);TAB(49); REMARK "" ADDRESS
PRINT USING E$;R2(1),R2(2),S(5),S(9) REMARK "" EMPLOYEE TYPE, FEDERAL EXEMPTIONS,\
LAST CHECK NUMBER AND H&W RATE
LINE.COUNT%=LINE.COUNT%+1:GOSUB 825 REMARK CHECK FOR END OF REPORT PAGE
PRINT TAB(23);R$(3);TAB(49); REMARK "" EMPLOYEE ADDRESS LINE 2
PRINT USING F$;R2(5),R2(3); REMARK "" EMPLOYEE CLASS AND STATE EXEMPTIONS
X0=S(4):GOSUB 680.5 REMARK "" LAST CHECK DATE
6420 PRINT USING G$;S(6) REMARK "" MONTHLY HOURS
LINE.COUNT%=LINE.COUNT%+1:GOSUB 825
PRINT TAB(23);R$(4);TAB(49); REMARK "" ADDRESS LINE 3
PRINT USING H$;S(3),R2(4),S(14),S(7) REMARK "" INS. CLASS, ADDITIONAL EXEMPTIONS,\
"" VACATION HOURS LEFT AND MONTHLY PAY
6435 PRINT REMARK PRINT CURRENT, Q-T-D OR Y-T-D EMPLOYEE DATA
LINE.COUNT%=LINE.COUNT%+2
GOSUB 825 REMARK CHECK FOR END OF REPORT PAGE
GOSUB 5300 REMARK PRINT HEADINGS FOR EMPLOYEE DATA
I1%=1
FOR I%=3 TO 1 STEP -1
I1%=I1%+1
GOSUB 4500 REMARK PRINT APPROPRIATE SUB-HEADING
PRINT USING B$;S(A3%+1);S(A3%+2);S(A3%+3);\ REMARK PRINT ITEMIZED PAY INFORMATION
S(A3%+4);S(A3%+5);S(A3%+6);S(A3%+7);\
S(A3%+8);S(A3%+9);S(A3%+10);S(A3%+12)
LINE.COUNT%=LINE.COUNT%+1:GOSUB 825
6440 NEXT I%
PRINT
LINE.COUNT%=LINE.COUNT%+1:GOSUB 825
GOSUB 5310 REMARK PRINT DEDUCTION HEADING
I1%=1
FOR I%=3 TO 1 STEP -1
I1%=I1%+1
GOSUB 4500 REMARK PRINT APPROPRIATE SUB-HEADING
PRINT USING B$;S(A3%+13);S(A3%+14);S(A3%+15);\ REMARK PRINT DEDUCTION DETAIL
S(A3%+16);S(A3%+17);S(A3%+18);S(A3%+11)-S(A3%+18);S(A3%+11)
LINE.COUNT%=LINE.COUNT%+1:GOSUB 825
6445 NEXT I%
PRINT
6560 LINE.COUNT%=LINE.COUNT%+1:GOSUB 825
S(1)=0:X0=R%:GOSUB 750 REMARK SAVE RECORD AFTER LOGICALLY DELETING IT
6565 NEXT R%
PRINT CHR$(0CH) REMARK EJECT FINAL REPORT PAGE AND SELECT CONSOLE
CONSOLE
PRINT CLEAR.SCREEN$;"P/R REORGANIZE MASTER LOADING MENU" REMARK TERMINATE PROGRAM AND LOAD MENU WHEN REORGANIZE ENDS
CHAIN "P/R000"