1 : C ERREUR SOURCE PV 11/04/08 21:15:49 6934 2 : C 3 : C EDITION DES MESSAGES D'ERREURS 4 : C 5 : SUBROUTINE ERREUR(ITYYP) 6 : IMPLICIT INTEGER(I-N) 7 : -INC CCOPTIO 8 : -INC CCNOYAU 9 : -INC SMBLOC 10 : -INC CCASSIS 11 : EXTERNAL LONG 12 : CHARACTER*10 FMT 13 : CHARACTER*133 CHERR(2),CHEN(2) 14 : CHARACTER*80 CHLU(2) 15 : DATA FMT/'(1X,A...) '/ 16 : * ETAIT-ON DEJA EN ERREUR 17 : IF(IERR.NE.0) RETURN 18 : * 19 : * EN TETE DE MESSAGE D'ERREUR 20 : ITYP = ITYYP 21 : * NIVEAU=0 21 : CALL ERREU1(0,CHLU,NIVEAU,NBL) 22 : IF (NBL.EQ.0) GOTO 10 22 : CALL ERREU2(CHLU,CHEN,NBL,ITYP) 23 : * 24 : * DANS LE CAS DE MESSAGE ISSU DE LIRE ON REGARDE SI MESLIR A ETE 25 : * UTILISE. 26 : * 27 : ITYPAN=ITYP 28 : IF( ITYP.EQ.37) THEN 29 : IF( MESERR.NE.0) ITYP= MESERR 30 : MESERR=0 31 : ENDIF 32 : 33 : * MESSAGE D'ERREUR 33 : CALL ERREU1(ITYP,CHLU,NIVEAU,NBL) 34 : IF(ITYPAN.EQ.37) NIVEAU=2 35 : IF (NBL.EQ.0) GOTO 10 35 : CALL ERREU2(CHLU,CHERR,NBL,ITYP) 36 : * 37 : if (niveau.gt.3) return 38 : IERR=NIVEAU 39 : C - pour les ASSISTANTS 40 : ith=0 40 : if (nbesc.ne.0) call ooonth(ith) 41 : if (ith.ne.0) then 42 : if ( (IERR .GT. 0) .and. (ierper.lt.3) ) then 43 : MERRES = ierres 44 : SEGACT MERRES*MOD 45 : LOSIER = .TRUE. 46 : IASSER = ith 47 : SEGDES MERRES 48 : mescla = imescl(ith) 49 : jjjerr = ITYYP 50 : end if 51 : end if 52 : IERMAX=MAX0(IERR,IERMAX) 53 : * est on dans le mode erreur controle ?? 54 : if (ierper.eq.4.and.ierr.ne.0) return 55 : * 56 : IF (NIVEAU.NE.0) THEN 57 : ILON=LONG(CHEN(1)) 58 : WRITE (FMT(6:8),FMT='(I3)') ILON 59 : WRITE (IOIMP,FMT=FMT) CHEN(1) 60 : ENDIF 61 : ILON=LONG(CHERR(1)) 62 : WRITE (FMT(6:8),FMT='(I3)') ILON 63 : WRITE (IOIMP,FMT=FMT) CHERR(1) 64 : IF (NBL.GE.2) THEN 65 : ILON=LONG(CHERR(2)) 66 : WRITE (FMT(6:8),FMT='(I3)') ILON 67 : WRITE (IOIMP,FMT=FMT) CHERR(2) 68 : ENDIF 68 : IF (IIMPI.NE.0.AND.ITYP.GE.1) CALL GIBTRB 69 : 10 CONTINUE 69 : if (ierr.gt.1) call gibtrb 69 : IF (IERMAX.GT.2) CALL FIN 70 : * cas erreur fatale 70 : IF (IERR.GT.0.AND.IERPER.EQ.1) CALL FIN 71 : * cas ou on ignore les erreurs 72 : IF (IERPER.GE.3) RETURN 73 : IF (IERR.GT.0) THEN 74 : MBERR=MAX(IERR,MBERR) 75 : IF (IOLEC.NE.IOTER) THEN 75 : CALL ERREU1(-1,CHLU,NIVEAU,NBL) 76 : IF (NBL.EQ.0) RETURN 76 : CALL ERREU2(CHLU,CHERR,NBL,ITYP) 77 : ILON=LONG(CHERR(1)) 78 : WRITE (FMT(6:8),FMT='(I3)') ILON 79 : WRITE (IOIMP,FMT=FMT) CHERR(1) 80 : IOLEC=IOTER 80 : CALL GINT2 81 : ENDIF 82 : ENDIF 83 : END 84 : 85 : 86 : 87 :
© Cast3M 2003 - All rights reserved.
Disclaimer