	SUBROUTINE	PRINTER_OUTPUT(SEARCH_STRING)
!
!
!	****************************************************************
!
!		This routine will take care of putting out the user 
!	names that are found on the line printer.
!
!	WRITTEN:	21-FEB-1983
!
!	LAST CHANGED:	21-FEB-1983
!
!	WRITTEN BY:	F. A. Kenney
!
!	****************************************************************
!
!
	CHARACTER	OWNER *32, SEARCH_STRING *(*), USER_NAME *13
	INTEGER		LINE_COUNT, STRING_LENGTH
	LOGICAL		EOF


	EOF		=	.FALSE.
	LINE_COUNT	=	0
	USER_NAME(1:1)	=	' '


	
	CALL GET_RECORD(SEARCH_STRING, USER_NAME, OWNER, EOF)

	IF (.NOT. EOF)	THEN

		OPEN	(UNIT=6, FILE='SYS$LOGIN:USERS.LIS', STATUS='NEW',
     +			 DISP='PRINT/DELETE', ERR=100)
		WRITE(6, *) ' '
		IF ((LEN(SEARCH_STRING) .EQ. 1) .AND. 
     +		    (SEARCH_STRING(1:1) .EQ. ' ')) THEN

			WRITE(6, *) 'USERNAME         OWNER'

		ELSE

			WRITE(6, *) 'USERNAME         OWNER      ', 
     +		            '(search-name: ', SEARCH_STRING, ')'

		ENDIF
		WRITE(6, FMT='( 1X, 49(1H-) )')

		DO WHILE (.NOT. EOF)

!			If page is full get new page & put out header
			IF (LINE_COUNT .GT. 55) THEN
				WRITE(6, FMT='(1H1)')
				WRITE(6, *) ' '
				IF ((LEN(SEARCH_STRING) .EQ. 1) .AND. 
     +				    (SEARCH_STRING(1:1) .EQ. ' ')) THEN

					WRITE(6, *) 'USERNAME         OWNER'

				ELSE

					WRITE(6, *) 'USERNAME         OWNER      ', 
     +					            '(search-name: ', SEARCH_STRING, ')'

				ENDIF
				WRITE(6, FMT='( 1X, 49(1H-) )')
				LINE_COUNT = 0
			ENDIF

			CALL STR$TRIM(OWNER, OWNER, STRING_LENGTH)
			WRITE(6, *) USER_NAME(2:13), '     ', OWNER(1:STRING_LENGTH)
			LINE_COUNT = LINE_COUNT + 1

			CALL GET_RECORD(SEARCH_STRING, USER_NAME, OWNER, EOF)

		ENDDO

	ELSE

		WRITE(6, *) '%USERS-I-NOMATCH, no username found'

	ENDIF

	
	RETURN


100	WRITE(6, *) '%USERS-F-OPENERR, Unable to open listing file'
	RETURN



	END
