# xersve.f

          SUBROUTINE XERSVE (LIBRAR, SUBROU, MESSG, KFLAG, NERR, LEVEL,
         +   ICOUNT)
    C***BEGIN PROLOGUE  XERSVE
    ....
    ....
    Warning:   this routine is not intended to be user-callable.
    ....
    ....
    C***SUBSIDIARY
    C***PURPOSE  Record that an error has occurred.
    C***LIBRARY   SLATEC (XERROR)
    C***CATEGORY  R3
    C***TYPE      ALL (XERSVE-A)
    C***KEYWORDS  ERROR, XERROR
    C***AUTHOR  Jones, R. E., (SNLA)
    C***DESCRIPTION
    C
    C *Usage:
    C
    C        INTEGER  KFLAG, NERR, LEVEL, ICOUNT
    C        CHARACTER * (len) LIBRAR, SUBROU, MESSG
    C
    C        CALL XERSVE (LIBRAR, SUBROU, MESSG, KFLAG, NERR, LEVEL, ICOUNT)
    C
    C *Arguments:
    C
    C        LIBRAR :IN    is the library that the message is from.
    C        SUBROU :IN    is the subroutine that the message is from.
    C        MESSG  :IN    is the message to be saved.
    C        KFLAG  :IN    indicates the action to be performed.
    C                      when KFLAG > 0, the message in MESSG is saved.
    C                      when KFLAG=0 the tables will be dumped and
    C                      cleared.
    C                      when KFLAG < 0, the tables will be dumped and
    C                      not cleared.
    C        NERR   :IN    is the error number.
    C        LEVEL  :IN    is the error severity.
    C        ICOUNT :OUT   the number of times this message has been seen,
    C                      or zero if the table has overflowed and does not
    C                      contain this message specifically.  When KFLAG=0,
    C                      ICOUNT will not be altered.
    C
    C *Description:
    C
    C   Record that this error occurred and possibly dump and clear the
    C   tables.
    C
    C***REFERENCES  R. E. Jones and D. K. Kahaner, XERROR, the SLATEC
    C                 Error-handling Package, SAND82-0800, Sandia
    C                 Laboratories, 1982.
    C***ROUTINES CALLED  I1MACH, XGETUA
    C***REVISION HISTORY  (YYMMDD)
    C   800319  DATE WRITTEN
    C   861211  REVISION DATE from Version 3.2
    C   891214  Prologue converted to Version 4.0 format.  (BAB)
    C   900413  Routine modified to remove reference to KFLAG.  (WRB)
    C   900510  Changed to add LIBRARY NAME and SUBROUTINE to calling
    C           sequence, use IF-THEN-ELSE, make number of saved entries
    C           easily changeable, changed routine name from XERSAV to
    C           XERSVE.  (RWC)
    C   910626  Added LIBTAB and SUBTAB to SAVE statement.  (BKS)
    C   920501  Reformatted the REFERENCES section.  (WRB)
    C***END PROLOGUE  XERSVE