Download rest.eso

Back to the list

   1 : C REST      SOURCE    PV        05/04/13    21:16:59     5073           
   2 :       SUBROUTINE REST
   3 :       IMPLICIT INTEGER(I-N)
   4 :       IMPLICIT REAL*8(A-H,O-Z)
   5 : C=======================================================================
   6 : C      DIRECTIVE RESTITUER
   7 : C      ----------------
   8 : C
   9 : C
  10 : C    BUT: LECTURE ET RESTAURATION DES OBJETS NOMMES ET DE CEUX QU ILS
  11 : C         SOUS-TENDENT,   SUR LE FICHIER IORES
  12 : C         IORESSAU EST DEFINI PAR:   OPTIO RESTSAUV IORESSAU ;
  13 : C
  14 : C
  15 : C         ON SAIT RESTITUER LES OBJETS DONT LE TYPE EST CONTENU
  16 : C         DANS LE SP TYPFIL
  17 : C
  18 : C       APPELLE TYPFIL CREPIL LIPIL
  19 : C       ECRIT    PAR FARVACQUE
  20 : C       REPRIS   PAR LENA
  21 : C ---------------------------------------------------------------------
  22 : C=======================================================================
  23 : -INC TMCOLAC
  24 : -INC CCOPTIO
  25 : -INC CCFXDR
  26 : C
  27 : C
  28 :       CHARACTER*8 ITYPE
  29 :       CHARACTER*72 LABEL
  30 :       CHARACTER*4 MOFORM(2)
  31 :       DATA MOFORM/'FORM','LABE'/
  32 : C
  33 :       IFORM=0
  34 :       ISTOPR=1000000
  35 :       LABEL= ' '
  36 :     1 CONTINUE
  36 :       CALL LIRMOT(MOFORM,2,IRET,0)
  37 :       IF(IRET.EQ.1) THEN
  38 :         IFORM=1
  39 :         if(irefor.ne.iform) then
  39 :          call erreur(21)
  40 :          return
  41 :         endif
  42 :         GO TO 1
  43 :       ELSEIF(IRET.EQ.2) THEN
  43 :         CALL LIRCHA ( LABEL,1,IRETOU)
  44 :         IF(IERR.NE.0) RETURN
  45 :         IF( LABEL(1:5).EQ.'AUTO ') THEN
  46 :           LABEL='LABEL AUTOMATIQUE :'
  46 :           CALL LIRENT (ILABAU,1,IRETOU)
  47 :           IF(IERR.NE.0) RETURN
  48 :           WRITE(LABEL(20:23),FMT='(I4)') ILABAU
  49 :         ENDIF
  50 :         GO TO 1
  51 :       ENDIF
  52 :       iform=irefor
  53 : *     write (6,*) ' iformx dans rest ',iformx
  54 :       if (iformx.eq.2) iform=2 
  55 : C
  56 : C  **** ICOLAC EST INITIALISEE DANS CREPIL
  57 :       ITYPE='        '
  58 :       K=-1
  58 :       CALL TYPFIL( ITYPE,K)
  59 :       NITLAC=-K
  59 :       CALL CREPIL(ICOLAC,NITLAC)
  60 : CCC   IF (IIMPI.EQ.5)WRITE (IOIMP,801) NITLAC
  61 :  801  FORMAT(' NOMBRE DE PILES CREEES : ',I5)
  62 : C-------------------------------------------------------------
  63 :       if (iform.ne.2) REWIND IORES
  64 : *     if (iform.eq.2) ios=IXDRREWIND( ixdrw )
  65 : C  *** LECTURE  SUR LE FICHIER DE RESTAURATION
  66 : C ---  LECTURE DES PILES
  67 :       IFIN=0
  68 :       IRET=0
  69 :       ISNIV=IONIVE
  69 :       CALL LIPIL  (ICOLAC,IFIN,IRET,IFORM,LABEL)
  70 :       IF (IRET.NE.0) GO TO 5000
  71 :       IF (IIMPI.EQ.5)WRITE (IOIMP,805)
  72 :  805  FORMAT(' RESTAURATION  EFFECTUEE ')
  73 : C --- IMPRESSIONS INTERMEDIAIRES DES PILES
  74 :       IVOULU=0
  75 : C-------------------------------------------------------------
  76 : C ---  RESTAURATION DES POINTEURS
  76 :       CALL RESTPI (ICOLAC)
  77 :       IF (IIMPI.EQ.5)WRITE (IOIMP,806)
  78 :  806  FORMAT(' RESTAURATION  DES POINTEURS EFFECTUEE ')
  79 : * fusion des éventuels doubles multiplicateurs de L
  79 :       IF (IONIVE.LE.15) CALL DBBSUP(ICOLAC)
  80 : C-------------------------------------------------------------
  80 :       CALL ERREUR(-277)
  81 : C MODI N.BLAY LE 17/09/91 COHERENCE AVEC SAUV-----------------
  82 :       if (iform.ne.2) REWIND IORES
  83 :       if (iform.eq.2) ios=IXDRREWIND( ixdrr )
  84 :  1000 CONTINUE
  85 : C --- SUPPRESSION DES PILES (IVOULU=0)
  86 :       IVOULU=10000
  86 :       CALL SUPPIL (ICOLAC,IVOULU)
  87 :       IF (IIMPI.EQ.5)WRITE (IOIMP,807)
  88 :  807  FORMAT(' SUPPRESSION  DES PILES EFFECTUEE ')
  89 : *  on ne sait pas sauver en dessous de 16 a cause des mult de L
  90 :       IONIVE=max(ISNIV,16)
  91 :       GO TO 11
  92 : C-------------------------------------------------------------
  93 :  5000 CONTINUE
  93 :       CALL ERREUR(559)
  94 :       GO TO 1000
  95 :   11  RETURN
  96 :       END
  97 :  
  98 :  
  99 :  
 100 :  
 101 :  
 102 : 
 103 : 
 104 :  
 105 :  
 106 :  
 107 :  
 108 :  
 109 :  

© Cast3M 2003 - All rights reserved.
Disclaimer