C ECNUAG    SOURCE    CB215821  15/05/04    21:15:03     8516
      SUBROUTINE ECNUAG(INUA)
C----------------------------------------------------------------------
C             IMPRESSION D'UN OBJET DE TYPE  NUAGE
C----------------------------------------------------------------------
      IMPLICIT INTEGER(I-N)
-INC PPARAM
-INC CCOPTIO
-INC SMNUAGE
-INC CCNOYAU
      CHARACTER*(8) ITYPE,INOM,IWR(5)
      CHARACTER*4 FAUX,VRAI
      CHARACTER*8 IWRI
      REAL*8 XRR(5)
      INTEGER INRE(5)
      LOGICAL BRET
      MNUAGE=INUA
      SEGACT MNUAGE
      NVAR=NUAPOI(/1)

      IF (NVAR .EQ. 0) THEN
        NBCOUP = 0
      ELSE
        ITYPE=NUATYP(1)
        IF( ITYPE.EQ.'FLOTTANT') THEN
          NUAVFL=NUAPOI(1)
          SEGACT NUAVFL
          NBCOUP=NUAFLO(/1)
        ELSEIF(ITYPE.EQ.'LOGIQUE ') THEN
          NUAVLO=NUAPOI(1)
          SEGACT NUAVLO
          NBCOUP=NUALOG(/1)
        ELSEIF(ITYPE.EQ.'MOT     ') THEN
          NUAVMO=NUAPOI(1)
          SEGACT NUAVMO
          NBCOUP=NUAMOT(/2)
        ELSE
          NUAVIN=NUAPOI(1)
          SEGACT NUAVIN
          NBCOUP=NUAINT(/1)
        ENDIF
      ENDIF

      INTERR(1) = MNUAGE
      INTERR(2) = NVAR
      INTERR(3)=NBCOUP
      CALL ERREUR(-287)

      IF (NVAR .EQ. 0) THEN
        SEGDES MNUAGE
        RETURN
      ENDIF

  513 FORMAT(5(2X,I8))
  514 FORMAT(5(1X,1PE9.2))
  515 FORMAT(5(2X,A8))

      DO 1 IV = 1,NVAR
      MOTERR(1:8) = NUANOM(IV)
      MOTERR(9:16)= NUATYP(IV)
      INTERR(1)   = IV
      CALL ERREUR(-288)

      ITYPE=NUATYP(IV)
      IF( ITYPE.EQ.'FLOTTANT') THEN
        NUAVFL=NUAPOI(IV)
        SEGACT NUAVFL
        NBCOUP=NUAFLO(/1)
        NN = 0
        DO 12  K = 1,NBCOUP,5
        NI = MIN ( 5 , NBCOUP - NN)
        DO 13 NW = 1, NI
        XRR(NW)=NUAFLO(K-1+NW)
   13   CONTINUE
        WRITE(IOIMP,514) (XRR(IK),IK=1,NI)
        NN = NN + 5
   12   CONTINUE
        SEGDES NUAVFL

      ELSEIF(ITYPE.EQ.'LOGIQUE ') THEN
        NUAVLO=NUAPOI(IV)
        SEGACT NUAVLO
        NBCOUP=NUALOG(/1)
        NN = 0
        DO 121  K = 1,NBCOUP,5
        NI = MIN ( 5 , NBCOUP - NN)
        DO 131 NW = 1, NI
        IWR(NW) = 'FAUX'
        IF( NUALOG(K-1+NW))  IWR(NW) ='VRAI'
  131   CONTINUE
        WRITE(IOIMP,515) (IWR(IK),IK=1,NI)
        NN = NN + 5
  121   CONTINUE
        SEGDES NUAVLO

      ELSEIF(ITYPE.EQ.'MOT     ') THEN
        NUAVMO=NUAPOI(IV)
        SEGACT NUAVMO
        NBCOUP=NUAMOT(/2)
        NN = 0
        DO 122  K = 1,NBCOUP,5
        NI = MIN ( 5 , NBCOUP - NN)
        DO 132 NW = 1, NI
        IWR(NW) =  NUAMOT(K-1+NW)
  132   CONTINUE
        WRITE(IOIMP,515) (IWR(IK),IK=1,NI)
        NN = NN + 5
  122   CONTINUE
        SEGDES NUAVMO

      ELSE
        NUAVIN=NUAPOI(IV)
        SEGACT NUAVIN
        NBCOUP=NUAINT(/1)
        NN = 0
        DO 123  K = 1,NBCOUP,5
        NI = MIN ( 5 , NBCOUP - NN)
        DO 133 NW = 1, NI
        INRE(NW) =  NUAINT(K-1+NW)
  133   CONTINUE
        WRITE(IOIMP,513) (INRE(IK),IK=1,NI)
        NN = NN + 5
  123   CONTINUE
        SEGDES NUAVIN
      ENDIF
   1  CONTINUE

      SEGDES MNUAGE
      RETURN
      END


