C ECTABL SOURCE PV 11/03/07 21:16:39 6885 SUBROUTINE ECTABL(ITAB) *---------------------------------------------------------------------- * IMPRESSION D'UN OBJET DE TYPE TABLE *---------------------------------------------------------------------- IMPLICIT INTEGER(I-N) IMPLICIT REAL*8 (a-h,o-z) EQUIVALENCE (IENT,REEL) -INC CCOPTIO -INC SMTABLE -INC CCNOYAU -INC CCASSIS CHARACTER*(8) ITYPE,ITYP CHARACTER*20 IWRI,IWRV REAL*8 XR,XRET LOGICAL BRET MTABLE=ABS(ITAB) SEGACT MTABLE NB=MLOTAB INTERR(1) = MTABLE IF(ITAB.GE.0) THEN CALL ERREUR(-124) ELSE CALL ERREUR(-321) ENDIF IF(NB.EQ.0) GO TO 99 CALL ERREUR(-125) 513 FORMAT(1X,A8,2X,A20,2X,A8,2X,A20) if(nbesc.ne.0) segact ipiloc DO 10 IJ=1,NB ITYPE=MTABTI(IJ) IRET=MTABII(IJ) XRET=RMTABI(IJ) IWRI=' ' IF(ITYPE.EQ.'MOT '.OR.ITYPE.EQ.'METHODE ') THEN ID=IPCHAR(IRET) IFI=IPCHAR(IRET+1) IL=IFI-ID IL=MIN(IL,20) IWRI(1:IL)=ICHARA(ID:ID+IL-1) ELSEIF(ITYPE.EQ.'ENTIER ') THEN IV=IRET WRITE(IWRI(1:8),FMT='(I8)') IV ELSEIF(ITYPE.EQ.'FLOTTANT') THEN XR=XRET WRITE(IWRI(1:15),FMT='(E15.8)') XR ELSEIF(ITYPE.EQ.'LOGIQUE')THEN BRET=IPLOGI(IRET) IF(BRET) IWRI(1:4)='VRAI' IF(.NOT.BRET) IWRI(1:4)='FAUX' ELSE WRITE(IWRI(1:8),FMT='(I8)') IRET ENDIF ITYP=MTABTV(IJ) IRET=MTABIV(IJ) XRET=RMTABV(IJ) IWRV=' ' IF(ITYP.EQ.'MOT ') THEN ID=IPCHAR(IRET) IFI=IPCHAR(IRET+1) IL=IFI-ID IL=MIN(IL,20) IWRV(1:IL)=ICHARA(ID:ID+IL-1) ELSEIF(ITYP.EQ.'ENTIER ') THEN IV=IRET WRITE(IWRV(1:8),FMT='(I8)') IV ELSEIF(ITYP.EQ.'FLOTTANT')THEN XR=XRET WRITE(IWRV(1:15),FMT='(E15.8)') XR ELSEIF(ITYP.EQ.'LOGIQUE')THEN BRET=IPLOGI(IRET) IF(BRET) IWRV(1:4)='VRAI' IF(.NOT.BRET) IWRV(1:4)='FAUX' ELSE WRITE(IWRV(1:8),FMT='(I8)') IRET ENDIF WRITE(IOIMP,513) ITYPE,IWRI,ITYP,IWRV 10 CONTINUE if(nbesc.ne.0) segdes ipiloc 99 SEGDES MTABLE RETURN END