	PROGRAM MAIL MESSAGES
C***************************************************************************
C***
C***	This program ia a quick and dirty utility to see how many mail
C***	messages have been unread by users.
C***
C***	Author :	Jeff Cameron
C***			jcam90502@jcameron.com
C***			http://www.jcameron.com/vms/
C***
C***	Modification history :
C***
C***	Programmer	Date		Description
C*** ----------------------------------------------------------------------
C***	Jeff Cameron	15-DEC-1990	Initially written
C*** ----------------------------------------------------------------------
C***
C***************************************************************************
	CHARACTER*31 INPUT, USER
	INTEGER*2 MAILWORDS (3)
C
	CHARACTER*31 PROFILE_FILE /'SYS$SYSTEM:VMSMAIL_PROFILE.DATA'/
C
	INTEGER*4 TYO /6/, TYI /5/, MAI /7/
C
 1	FORMAT (A)
C
C***	OPEN THE MAILE FILE
	OPEN (	UNIT=MAI,
	1	NAME=PROFILE_FILE,
	2	TYPE='OLD',
	3	READONLY,
	4	SHARED,
	5	FORM='UNFORMATTED',
	6	ACCESS='KEYED',
	7	IOSTAT=IOSTAT)
C
	IF (IOSTAT .NE. 0) THEN
	    WRITE (TYO,1) ' %MAILMESS-F-MAILOPENFAIL, Failed to open ' //
	1		  PROFILE_FILE
	    CALL RT_ERROR (TYO,IOSTAT)
	    CALL EXIT
	ELSE
	ENDIF
C
C***	GET THE USERNAME
 10	WRITE (TYO,11)
 11	FORMAT (' Enter Username, "*" for all, or Control-Z to exit : ',$)
	READ (TYI,1,END=1000) INPUT
	CALL UPCASE (INPUT)
	LI = LENGTH (INPUT)
C
	WRITE (TYO,13)
	WRITE (TYO,14)
 13	FORMAT (1X,'Username    ',9X,'  #  ')
 14	FORMAT (1X,'------------',9X,'-----')
C
	IF ((LI .EQ. 0) .OR.
	1   (INPUT (1:LI) .EQ. '*')) THEN
 20	    READ (MAI,END=25) USER, MAILWORDS
	    NEWMESS = IAND (MAILWORDS(3),'00FF'X)
	    IF ((NEWMESS .NE. 0) .OR. (INPUT(1:LI) .NE. '*')) 
	1	WRITE (TYO,21) USER(1:12), NEWMESS
 21	    FORMAT (' ',A12,10X,I3)
	    GO TO 20
 25	    CONTINUE
	ELSE
	    READ (MAI,KEY=INPUT) USER, MAILWORDS
	    NEWMESS = IAND (MAILWORDS(3),'00FF'X)
	    WRITE (TYO,21) USER, NEWMESS
	ENDIF
	GO TO 10
C
C***	ALL DONE
 1000	CLOSE (UNIT=MAI)
	CALL EXIT
	END

