      SUBROUTINE FALSIF ( KREP, KNUMER, CDIDEN )
#include "facom0.h"
C****
C        Sous-programme renvoyant le NOM de l'Identificateur
C     d'un fichier ARPEGE.
C       ( Lecture Specifique de l'Identificateur de Fichier )
C**
C    Arguments : KREP   (Sortie) ==> Code-reponse du sous-programme;
C                KNUMER (Entree) ==> Numero de l'unite logique;
C                CDIDEN (Sortie) ==> Nom de l'identificateur.
C
#include "precision.h"
C
#include "facomp.h"
#include "facom1.h"
C
      INTEGER KREP, KNUMER
C
      INTEGER IREP, ILIDEN, IRANG, J, ILONGN, INIMES, ILACTI
C
      LOGICAL LLVERF, LLRLFI
C
      CHARACTER CDIDEN*(*)
C
#include "facom2.h"
C**
C     1.  -  CONTROLES ET INITIALISATIONS.
C-----------------------------------------------------------------------
C
      LLVERF=.FALSE.
      LLRLFI=.FALSE.
      ILIDEN=LEN (CDIDEN)
      CALL FANUMU (KNUMER,IRANG)
C
      IF (IRANG.EQ.0) THEN
        IREP=-51
        GOTO 1001
      ELSEIF (ILIDEN.LE.0) THEN
        IREP=-65
        GOTO 1001
      ELSE
        IREP=0
      ENDIF
C
C         Verrouillage eventuel du fichier.
C
      IF (LFAMUL) CALL LFIVER (VRFICH(IRANG),'ON')
      LLVERF=LFAMUL
C**
C     2.  -  ON RENVOIE LE NOM D'IDENTIFICATEUR, APRES CONTROLE EVENTUEL
C            D'UNE VARIABLE CARACTERE SUFISAMMENT LONGUE.
C-----------------------------------------------------------------------
C
      IF (ILIDEN.GE.NCPCAD) THEN
        CDIDEN=CIDENT(IRANG)
      ELSE
C
        DO 201 J=NCPCAD,1,-1
C
        IF (CIDENT(IRANG)(J:J).NE.' ') THEN
          ILONGN=J
          GOTO 202
        ENDIF
C
  201   CONTINUE
C
        IREP=-66
        GOTO 1001
C
  202   CONTINUE
C
        IF (ILONGN.GT.ILIDEN) THEN
          IREP=-69
        ELSE
          CDIDEN=CIDENT(IRANG)(1:ILONGN)
        ENDIF
C
      ENDIF
C**
C    10.  -  PHASE TERMINALE : MESSAGERIE, AVEC "ABORT" EVENTUEL,
C            VIA LE SOUS-PROGRAMME "FAIPAR" .
C-----------------------------------------------------------------------
C
 1001 CONTINUE
      KREP=IREP
      LLFATA=LLMOER (IREP,IRANG)
C
C        Deverrouillage eventuel du fichier.
C
      IF (LLVERF) CALL LFIVER (VRFICH(IRANG),'OFF')
C
      IF (LLFATA) THEN
        INIMES=2
      ELSE
        INIMES=IXNVMS(IRANG)
      ENDIF
C
      IF (.NOT.LLFATA.AND.INIMES.NE.2) RETURN
C
      CLNSPR='FALSIF'
C
      IF (IREP.EQ.0.OR.IREP.EQ.-69) THEN
        ILACTI=NCPCAD
        CLACTI=CIDENT(IRANG)(1:ILACTI)
      ELSE
        ILACTI=8
        CLACTI(1:ILACTI)=CHAINC(:ILACTI)
      ENDIF
C
      WRITE (UNIT=CLMESS,FMT='(''KREP='',I4,'', KNUMER='',I3,
     S       '', CDIDEN='''''',A,'''''''')')
     S   KREP,KNUMER,CLACTI(1:ILACTI)
      CALL FAIPAR (KNUMER,INIMES,IREP,LLFATA,CLMESS,CLNSPR,
     S             CLACTI(1:ILACTI),LLRLFI)
C
      RETURN
      END
