File NETRPT.QS

Directory of image this file is from
This file as a plain text file

START	;PAYROLL NET EARNINGS REPORT
RECORD	PRINTREC,C				;OUTPUT RECO. FOR PRNTR
	PRINTBUFF,	A80			; ALLOW 80 CHARS.
RECORD ,X					;REDEFINE BUFFER
		,A2
	PLNAME,	A12				;PRINT LINE AREAS FOR
		,A1,	','			; EMPLOYEE NAMES
	PFNAME,	A12
		,A3
	PRATE,	A5				; HOURLY WAGE RATE
		,A1
	PHRS,	A7				; NUMBER OF HOURS
		,A3
	PGROSS,	A9				; GROSS PAY
		,A3
	PDEDS,	A8				; DEDUCTIONS AMOUNT
		,A2
	PNET,	A9				; NET PAY
SPACE 1
RECORD	NAMFIL,C				;DATA FILE RECORD
	LNAME,	A12				; LAST NAME
	FNAME,	A12				; FIRST NAME
		,A86				; OTHER FIELDS
	RATE,	D4				; RATE  XX.XX
	HRS,	D4				; HOURS XXX.X
	DEDS,	D5				; DEDCTNS XXX.XX
		,A3
SPACE 1
RECORD	,C					;WORK VARIABLES
	GROSS,	D6				; CALC GROSS XXXX.XX
	NET,	D6				; CALC NET XXXX.XX
	THRS,	D6				; TOTAL HRS XXXXX.X
	TGROSS,	D8				; TOTAL GROSS XXXXXX.XX
	TDEDS,	D7				; TOTAL DEDS XXXXX.XX
	TNET,	D8				; TOTAL NET XXXXXX.XX
	KBD,	D3				;TTY INPUT DELIMITER
	RECCNT,	D3				;RECORD COUNTER
RECORD	KBREC,C					;TTY INPUT RECORD
	KBBUFF,	A10				; TTY INPUT BUFFER
SPACE 2
PROC;	CALC & TOTAL NET EARNINGS
	DISPLAY(1,1,1)			;CLEAR SCREEN
	DISPLAY(5,30,'NET EARNINGS REPORT')	;SHOW PROG. TITLE
	ON ERROR OPENERR			;HANDLE NO FILE ERROR
OPEN,
	OPEN ('160107NAMFILDT')			;OPEN NAMFIL.DT ON
					;RXA1: AS INTERNAL FILE 1
	ON ERROR				;CLEAR ERROR LABEL
	DISPLAY(6,1,2)				;CLEAR ERROR LINE
	DISPLAY(7,1,2)				; ON SCOPE
	FORMS(6,2)				;SKIP 2 LINES ON LPT
	CALL TITLE1				;SET UP HEADER IN BUFFER
	XMIT(6,PRINTREC)			;  PRINT HEADER
	FORMS(6,2)				; DOUBLE SPACE
	CALL TITLE				;SET UP TITLE IN PBUFFER
	XMIT(6,PRINTREC)			;PRINT TITLE
	FORMS(6,2)				;DOUBLE SPACE
SPACE 2
*				***** MAIN LINE LOOP BEGINS HERE ****
READ,					;PARAG LABEL FOR MAIN LOOP
	INCR RECCNT				;DEMO COUNTER
	IF (RECCNT.GT.25) GOTO EOF		; STOP AT 25 INSTEAD OF EOF
	INPUT(01,NAMFIL,EOF)			;READ INTO REC NAMFIL
	GROSS= (RATE*HRS +5) /10		;MULT & ROUND FOR GROSS
	NET = GROSS-DEDS			;SIMPLE SUB FOR NET
*				***** BUILD TOTALS NEXT *****
	THRS = THRS + HRS
	TGROSS = TGROSS + GROSS
	TDEDS = TDEDS + DEDS
	TNET = TNET + NET
SPACE 1
*				**** BUILD PRINT BUFFER NEXT
	PLNAME = LNAME				;LAST NAME
	PRINTBUFF(15,15) = ','
	PFNAME = FNAME				;FIRST NAME
	PRATE = RATE,	'XXX.XX'		;EDITED RATE
	PHRS = HRS,	'XXXXX.X'		;EDITED HOURS
	PGROSS = GROSS,	'XXXXX.XX-'		;EDITED GROSS
	PDEDS = DEDS,	'XXXX.XX-'		;EDITED DEDUCTIONS
	PNET = NET,	'XXXXX.XX-'		;EDITED NET
*				***** PRINT A LINE ***************
	XMIT(6,PRINTREC)			;OUTPUT TO LPT
;
	GOTO READ				;LOOP UNTIL EOF
SPACE 3
				***** EOF PROCESSING *************
EOF,	FINI(01)			;CLOSE NAMFIL
	FORMS(6,4)				;SPACE 4 LINES
	CALL TITLE				;BUILD TITLE LINE
	PRINTBUFF(7,35) = 'TOTAL'		;CLEAR EMP NAME
	XMIT(6,PRINTREC)			;WRITE TOTAL TITLE
	FORMS(6,2)				;DOUBLE SPACE
	PRINTBUFF =				;CLEAR PRINT BUFFER
	PHRS = THRS,	'XXXXX.X'		;MOVE TOTALS INTO
	PGROSS = TGROSS, 'XXXXXX.XX'		;   PRINT LINE
	PDEDS = TDEDS,	'XXXX.XX-'	
	PNET = TNET,	'XXXXX.XX-'
	XMIT(6,PRINTREC)			;WRITE TOTAL LINE!!!!
	FORMS(6,0)				;FORM FEED
	FINI(06)
	DISPLAY(10,35,'FINISHED')			;SHOW END-OF-JOB
	DISPLAY(12,1,0)				;RETURN CURSOR
	STOP				;********** END ************
SPACE 3
OPENERR,
	DISPLAY(6,10,'FILE NAMFIL.DT NOT FOUND ON RXA1:')
	DISPLAY(7,10,'PLEASE MOUNT IT AND TYPE <CR> ')
	ACCEPT(KBD,KBBUFF)				;WAIT FOR INPUT
	GOTO OPEN					;THEN RETURN
SPACE 2
TITLE,						;BUILD TITLE LINE
	PRINTBUFF =					;CLEAR BUFFER
	PRINTBUFF(7,20) = 'EMPLOYEE NAME'
	PRATE = 'RATE'				;USE LITERAL CONSTANTS
	PHRS = '  HOURS'			;  FOR TITLES
	PGROSS = '   GROSS'
	PDEDS = '   DEDS'
	PNET(5,7) = 'NET'
	RETURN
TITLE1,
	PRINTBUFF =					;CLEAR BUFFER
	PRINTBUFF(27,64)='PAYROLL NET EARNINGS REPORT'
	RETURN						;SET UP HEADER
END



Feel free to contact me, David Gesswein djg@pdp8online.com with any questions, comments on the web site, or if you have related equipment, documentation, software etc. you are willing to part with.  I am interested in anything PDP-8 related, computers, peripherals used with them, DEC or third party, or documentation. 

PDP-8 Home Page   PDP-8 Site Map   PDP-8 Site Search