	subroutine DateNotValid

	call ErrMsg( 'Invalid date!' )

	return
	end


	subroutine InvalidEntry

	call ErrMsg( 'Invalid Entry!' )

	return
	end



	subroutine OutOfLimits


	call ErrMsg( 'Entry outside of limits!' )

	return
	end



	subroutine NullEntryIllegal


	call ErrMsg( 'Null entry is not permitted!' )

	return
	end



	subroutine NextWord( I, String, NextI )

	integer*2 I, NextI
	character*(*) String

	integer*2 L, J

c -- functions

	integer*2 Length


	L = Length( String )

	if( I .lt. 1 ) I = 1

	if( I .gt. L ) then
	  NextI = I
	  return
	end if

	if( String(I:I) .eq. ' ' ) then
	  NextI = I
	  goto 20
	end if

	do 10 J = I , L
	  NextI = J
	  if( String(J:J) .eq. ' ' ) goto 20
10	continue
	NextI = L
	return

20	continue
	do 30 J = NextI+1 , L
	  if( String(J:J) .ne. ' ' ) then
	    NextI = J
	    return
	  end if
30	continue
	NextI = L
	return

	end


	subroutine LastWord( I, String, LastI )

	integer*2 I, LastI
	character*(*) String

	integer*2 L, J

c -- functions

	integer*2 Length


	L = Length( String )

	if( I .gt. L ) I = L

	if( I .le. 1 ) then
	  LastI = 1
	  return
	end if

	do 10 J = I-1 , 1 , -1
	  LastI = J
	  if( String(J:J) .ne. ' ' ) goto 20
10	continue
	LastI = 1
	return

20	continue
	do 30 J = LastI-1 , 1 , -1
	  if( String(J:J) .eq. ' ' ) then
	    LastI = J+1
	    return
	  end if
30	continue
	LastI = 1
	return

	end
