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_R310.BAS
< prev
next >
Wrap
BASIC Source File
|
1984-04-29
|
5KB
|
128 lines
REMARK *****************************************\
* P/R310.BAS OVERHEAD DISTRIBUTION *\
* 3/23/79 4:30 PM *\
*****************************************
%INCLUDE CURSOR
DIM W(2),W1(2),W2(14),W2$(2),G2$(5),G3(5)
DEF FNR(A1)=INT(A1*100+.5)/100 REMARK ROUNDING FUNCTION
GOTO 6000
%INCLUDE SUBS1
%INCLUDE GENINFO
6000 MASKA$="######.##" REMARK SET UP PRINT MASKS
MASKB$="##.##"
MASKC$="######.## (##.##%)"
MASKD$="###.##"
Y8=1
Y9=2
OPEN "JOB0F100.DAT" RECL 160 AS 1,"G/I0F010.DAT" RECL 200 AS 2,\REMARK OPEN JOB, GENERAL INFOMATION AND CRT MASK FILES
"CRT" RECL 1100 AS 19
GOSUB 700 REMARK READ GENERAL INFORMATION FILE
X0=13:GOSUB 260 REMARK GET CRT MASK 13
6020 X1=64:GOSUB 210
PRINT "WORKING..."
IF JOB.RECORDS=0 THEN X2$="FILE IS EMPTY":GOSUB 615:\
GOTO 6225
6035 FOR K%=1 TO JOB.RECORDS
READ #1,K%;W(1),W(2) REMARK READ JOB FILE
IF W(2)=0 THEN\
READ #1,K%;W(1),W(2),W1$,W1(1),W1(2),W2$(1),W2$(2):GOTO 6065 REMARK IF HEADER RECORD ENCOUNTERED, READ IT IN
READ #1,K%;W(1),W(2),W2(1),W2(2),W2(3),W2(4),W2(5),\ REMARK READ DETAIL RECORD IF W(2) IS POSITIVE
W2(6),W2(7),W2(8),W2(9),W2(10),W2(11),W2(12),W2(13),W2(14)
IF W2(3)=-1 THEN 6065 REMARK IF DETAIL RECORD WAS DELETED, SKIP IT
J2=J2+W2(3) REMARK ADD MONTHLY COST-2 FOR ALL JOBS INTO J2
IF W2$(2)<>"1" THEN J=J+W2(3) REMARK ADD COST-2 FOR ALL NON-PAYROLL OVERHEAD JOBS
IF W2$(2)="0" THEN J0=J0+W2(3) REMARK ADD COST-2 FOR ALL PAYROLL OVERHEAD JOBS
6065 NEXT K%
X1=270:GOSUB 210:PRINT USING MASKA$; J2; REMARK DISPLAY TOTAL OVERHEAD
X1=8:GOSUB 215:PRINT USING MASKA$; J2-J; REMARK SUBTRACT NON-PAYROLL OVERHEAD
X1=5:GOSUB 215:PRINT USING MASKA$; J; REMARK DISPLAY TOTAL PAYROLL COSTS FOR PERIOD
X1=408:X2=5:X3=0:X4=99.99:GOSUB 345 REMARK ENTER TAXES AND INSURANCE PERCENTAGE OF PAYROLL
R1=X0
X1=472:X2=5:X3=0:X4=99.99:GOSUB 345 REMARK ENTER VACATION AND HOLIDAY PAY PERCENTAGE
R2=X0
R3=R1+R2 REMARK ADD AND DISPLAY TOTAL PERCENTAGE
X1=536:GOSUB 210
PRINT USING MASKB$; R3;
X1=8:GOSUB 215
PRINT USING MASKA$; FNR(R3/100*J);
X1=665:X2=9:X3=0:X4=999999.99:GOSUB 345 REMARK ENTER GENERAL OFFICE OVERHEAD AMOUNT
O1=X0
IF O1>0 THEN R4=O1/J*100 ELSE R4=0 REMARK CONVERT AMOUNT TO PERCENT OF TOTAL PAYROLL
X1=680:GOSUB 210:PRINT USING MASKB$; FNR(R4) REMARK PRINT PERCENTAGE
PRINT
X1=26:GOSUB 215:PRINT USING MASKA$; J0 REMARK DISPLAY PERSONNEL OVERHEAD PAY
X1=26:GOSUB 215:PRINT USING MASKC$; FNR(J0*R3/100); FNR(R3) REMARK DISPLAY PAYROLL OVERHEAD
X1=26:GOSUB 215:PRINT USING MASKC$; FNR(J0*R4/100); FNR(R4) REMARK DISPLAY GENERAL OFFICE OVERHEAD
J1=J0+FNR(J0*R3/100)+FNR(J0*R4/100) REMARK CALCULATE AND DISPLAY TOTAL PERSONNEL OVERHEAD
X1=26:GOSUB 215:PRINT USING MASKA$; J1;
IF J1>0 THEN R5=J1/(J-J0)*100 ELSE R5=0 REMARK CALCULATE AND DISPLAY PERSONNEL OHD PERCENT
X1=6:GOSUB 215:PRINT USING MASKD$; FNR(R5);
X1=11:GOSUB 215:PRINT USING MASKD$; FNR(R5)+FNR(R4)+FNR(R3) REMARK DISPLAY TOTAL OVERHEAD PERCENT
PRINT CURSOR.HOME$
PRINT
PRINT "KEY RETURN TO BEGIN; CTRL-C TO EXIT"
6160 IF CONSTAT%=0 THEN GOTO 6160 REMARK AWAIT OPERATOR CUE BEFORE STARTING PROCESSING
A%=CONCHAR%
IF A%=03H\
THEN\
X2$="PROGRAM ABORTED":GOSUB 615:\ REMARK FLASH TERMINATION MESSAGE IF CTRL-C HIT
GOTO 9000
IF A% <>0DH THEN GOTO 6160 REMARK EXECUTE PROGRAM ONLY IF <RETURN> WAS HIT
PRINT "WORKING...DO NOT INTERRUPT";
FOR K%=1 TO JOB.RECORDS
READ #1,K%;W(1),W(2)
IF W(2)=0 THEN \
READ #1,K%;W(1),W(2),W1$,W2(1),W2(2),W2$(1),W2$(2):GOTO 6225 REMARK READ HEADER RECORD
READ #1,K%;W(1),W(2),W2(1),W2(2),W2(3),W2(4),W2(5),\ REMARK IF W(2) IS POSITIVE, READ JIB DETAIL RECORD
W2(6),W2(7),W2(8),W2(9),W2(10),W2(11),W2(12),W2(13),W2(14)
IF W2(3)=-1 OR W2$(2)="1" THEN 6225 REMARK IF JOB RECORD WAS DELETED OR IS NOT TO HAVE\
OVERHEAD DISTRIBUTED TO IT, GET NEXT RECORD
W2(4)=0:W2(5)=0:W2(6)=0:W2(7)=0 REMARK INITIALIZE ALL MONTHLY OVERHEAD AMOUNTS
W2(4)=FNR(R3/100*W2(3)) REMARK CALCULATE PAYROLL OVERHEAD BASED ON COST-2
W2(5)=FNR(R4/100*W2(3))
IF W2$(2)<>"0"\
THEN\
W2(6)=FNR(R5/100*W2(3)):W2(14)=W2(14)+W2(7) REMARK ADD PERSONNEL AND MISCELLANEOUS OVERHEAD\
FOR ANY USER-DEFINED COST CENTER
W2(7)=0
W2(11)=W2(11)+W2(4) REMARK ADD ALL MONTHLY OVERHEAD TO J-T-D OVERHEAD
W2(12)=W2(12)+W2(5)
W2(13)=W2(13)+W2(6)
6220 PRINT #1,K%;W(1),W(2),W2(1),W2(2),W2(3),W2(4),W2(5),\ REMARK RE-WRITE DETAIL RECORD WITH DITRIBUTED COSTS
W2(6),W2(7),W2(8),W2(9),W2(10),W2(11),W2(12),W2(13),W2(14)
6225 NEXT K%
9000 PRINT CLEAR.SCREEN$; REMARK END OF PROGARM -- CLOSE FILES, CHAIN MENU
PRINT"OVERHEAD DISTRIBUTION EXITING"
CHAIN "P/R000"