C OTER      SOURCE    CHAT      09/09/09    21:15:08     6493
      subroutine oter
      implicit integer(i-n)
      implicit real*8(a-h,o-z)

-INC PPARAM
-INC CCOPTIO
-INC SMTABLE
      character*8 typind
*
*  oter un indice d'une table en conservant la meme table
*
      call lirobj ('TABLE', IPTABL,1,iretou)
      if(ierr.ne.0) return
            CALL QUETYP ( TYPIND,1,IRETOU)
      IF(IERR.NE.0) RETURN
      IF(TYPIND.EQ.'FLOTTANT' ) THEN
        CALL LIRREE ( XVA,1,IRETOU)
      ELSE
         CALL LIROBJ ( TYPIND , INDICE, 1,IRETOU)
      ENDIF
      IF ( IERR.NE.0) RETURN
      MTABLE = IPTABL
      SEGACT,MTABLE*MOD
      M = MLOTAB
      M0 = 0
      IF (TYPIND.EQ.'FLOTTANT')  THEN
         DO 103 I=1,M
           IF( RMTABI(I) . EQ. XVA) THEN
             M0 = I
             GO TO 102
           ENDIF
  103    CONTINUE
      ELSE
      DO 100 I=1,M
         IF (MTABTI(I) .EQ. TYPIND) THEN
            IF (MTABII(I) .EQ. INDICE) THEN
               M0 = I
               GOTO 102
            END IF
         END IF
  100    CONTINUE

*     END DO
      ENDIF
  102 CONTINUE
*
      IF (M0 .EQ. 0) THEN
         CALL ERREUR (171)
         RETURN
      END IF
*
*      write(6,*) ' M0 ', M0
      M = M - 1
      MLOTAB=MLOTAB-1
*
*     END DO
      DO 210 I=M0,M
         MTABLE.MTABTI(I) = MTABLE.MTABTI(I+1)
         MTABLE.MTABTV(I) = MTABLE.MTABTV(I+1)
         MTABLE.RMTABI(I) = MTABLE.RMTABI(I+1)
         MTABLE.MTABII(I) = MTABLE.MTABII(I+1)
         MTABLE.MTABIV(I) = MTABLE.MTABIV(I+1)
         MTABLE.RMTABV(I) = MTABLE.RMTABV(I+1)
  210    CONTINUE
*     END DO
*
      SEGDES,MTABLE
*
      END

