*
* $Id$
*
* $Log$
* Revision 1.1  1996/03/08 11:40:51  mclareni
* Initial revision
*
*
#include "kapack/pilot.h"
      SUBROUTINE KAXGXA(IZ)
*
*.....GENERATE AN ENTRY IN THE INDEX ADDITION QUEUE
*
#include "kapack/kax000.inc"
#include "kapack/kax020.inc"
#include "kapack/kax050.inc"
#include "kapack/kax080.inc"
*
      INTEGER IZ(*)
*
*-----------------------------------------------------------------------
*
*.....SEARCH FOR THE LAST RECORD, (I.E. THE HIGHEST KEY), IN THE BLOCK
      I = IZ(6)
 1    IF ( I .LT. IZ(7) )  THEN
         LOC = I
         I = LOC + IZ(LOC)
         GO TO 1
      ENDIF
*
*.....QUEUE THE ENTRY
      IXAL = MOD(IXAL+1,LXAQ+1)
      IF ( IXAL .EQ. IXAF )  GO TO 91
      CALL UCOPY( IZ(LOC+NRCW), IXAKEY(1,IXAL), IZ(LOC+NRCW) )
      IXALEV(IXAL) = IZ(5) + 1
      IXAPTR(IXAL) = IZ(1)
*
*.....SUCCESSFUL COMPLETION
      RETURN
*
*.....ERROR PROCESSING
 91   WRITE(MSG,191)
      CALL KAXMSG(LUNERR,MSG)
      CALL KAXEND
*
 191  FORMAT('CRNKA201 KAXGXA: KAPACK SYSTEM ERROR, INDEX ADDITION
     +        QUEUE FULL')
*
      END
