C********************************************************************** C C C BIBRCPRI.FTN EST LA SOUSROUTINE QUI PERMET C DE PRINTER TOUTES LES FICHES C BIBLIOGRAPHIQUES SORTIES PAR BIBRMCLE.FTN C PRECEDENT. C C*********************************************************************** SUBROUTINE RMCPR(NDF,LA,COMM) DIMENSION T(72,4),TD(72,4),P(6,5),PD(6,5),A(18,5) DIMENSION AD(18,5),BOOK(36),CLE(1000,12),LA(512),COMM(132) DIMENSION PAGE(10),VOL(4),DAY(9),MOC(12,10),TAP(10) DIMENSION MCLE(10) BYTE T,TD,P,PD,A,AD,BOOK,CLE,PAGE,VOL,DAY,MOC,TAP,NSD,COMM COMMON /ASVAR/L IF (NDF.EQ.0) RETURN OPEN (UNIT=2,NAME='DL1:[204,100]CODCLE.BIB',TYPE='OLD', 2ACCESS='SEQUENTIAL',FORM='UNFORMATTED',SHARED) CALL ASSIGN(4,'DL1:[204,100]FICHES.BIB') CALL FDBSET(4,'OLD') DEFINE FILE 4(8000,256,U,L) TYPE 1000 1000 FORMAT(/'$Desirez vous la sortie ici ou un listing<[L]>:') ACCEPT 507,CR IOUT=6 IF (CR.EQ.'V') IOUT=5 IF (CR.EQ.'V') GO TO 1100 TYPE 500 500 FORMAT(/'$Desirez vous conserver la file du listing SY:RMCFIC 2.LST?:') ACCEPT 507,CR 507 FORMAT(A1) IF (CR.EQ.'O') OPEN (UNIT=6,NAME='SY:RMCFIC.LST',DISP='PRINT' 2,TYPE='NEW') IF (CR.NE.'O') OPEN (UNIT=6,NAME='SY:LP.LST',DISP='PRINT' 2,TYPE='NEW') 1100 DO 400 IJK=1,NDF NX=LA(IJK) READ(4'NX)NSD,NF,NA,A,P,T,BOOK,VOL,PAGE,NAN,TAP,ICB,DAY,MCLE IF (NSD.EQ.'K') GO TO 400 IF (NSD.EQ.'S') GO TO 86 READ(4'NX)NSD,NF,NA,A,AD,T NFB=NX+1 READ(4'NFB)NSD,NF,P,PD,TD,BOOK,VOL,PAGE,NAN,TAP,ICB,DAY,MCLE 86 CONTINUE NI=1 DO 410 I=1,NA IF (I.GT.2) GO TO 400 DO 412 J=1,6 IF ((A(J,I).LT.'A').OR.(A(J,I).GT.'Z')) GO TO 412 CLE(IJK,NI)=A(J,I) NI=NI+1 412 CONTINUE 410 CONTINUE 400 CONTINUE NMCZ=NDF-1 DO 100 I=1,NMCZ DO 300 K=I,NDF DO 310 KI=1,12 IF (CLE(K,KI).EQ.' ') GO TO 300 IF (CLE(K,KI).GT.CLE(I,KI)) GO TO 300 IF (CLE(K,KI).EQ.CLE(I,KI)) GO TO 310 GO TO 312 310 CONTINUE 312 DO 311 KI=1,12 NSD=CLE(K,KI) CLE(K,KI)=CLE(I,KI) CLE(I,KI)=NSD 311 CONTINUE KMAX=LA(K) LA(K)=LA(I) LA(I)=KMAX 300 CONTINUE 100 CONTINUE WRITE(IOUT,20)COMM,NDF 20 FORMAT(1H0,132A1,//,' Nombre de fiches retenues:',I10//) READ(2)NMC,NFZ,CLE DO 7000 ICL=1,12 7000 CLE(1000,ICL)=' ' IP=0 DO 87 NFX=1,NDF IP=IP+1 IF (IP.GE.3) IP=0 NX=LA(NFX) 1 FORMAT(///,1X,' FICHE #',I6,1X,120(1H=)) 2 FORMAT(1H1,' FICHE #',I6,1X,120(1H=)) 691 FORMAT(1X,72A1) READ(4'NX)NSD,NF,NA,A,P,T,BOOK,VOL,PAGE,NAN,TAP,ICB,DAY,MCLE IF (NSD.EQ.'K') GO TO 87 IF (NSD.EQ.'S') GO TO 860 READ(4'NX)NSD,NF,NA,A,AD,T NFB=NX+1 READ(4'NFB)NSD,NF,P,PD,TD,BOOK,VOL,PAGE,NAN,TAP,ICB,DAY,MCLE 3 FORMAT(/,1X,5(18A1,', ',6A1,'; ')) 860 IF ((IP.EQ.1).AND.(NFX.NE.1)) WRITE(IOUT,2)NF IF ((IP.NE.1).OR.(NFX.EQ.1)) WRITE(IOUT,1)NF IF (NA.LE.5) WRITE(IOUT,3)((A(K,I),K=1,18),(P(K,I),K=1,6),I=1,NA) IF (NA.GT.5) WRITE(IOUT,3)((A(K,I),K=1,18),(P(K,I),K=1,6),I=1,5) IF (NA.GT.5) WRITE(IOUT,3)((AD(K,I-5),K=1,18), 2(PD(K,I-5),K=1,6),I=6,NA) 8 FORMAT(72A1) I=1 18 WRITE(IOUT,691)(T(K,I),K=1,72) IF (T(1,I).EQ.' ') GO TO 17 I=I+1 IF (I-4) 18,18,17 17 CONTINUE IF (NSD.EQ.'S') GO TO 701 I=1 19 WRITE(IOUT,691)(TD(K,I),K=1,72) IF (TD(1,I).EQ.' ') GO TO 701 I=I+1 IF (I-4) 19,19,701 701 WRITE(IOUT,9)BOOK,VOL,PAGE,NAN 9 FORMAT(1X,36A1,' ; ',4A1,' : ',10A1,' ;',I5) WRITE(IOUT,105)TAP 105 FORMAT(/,' T-A-P:',10A1) 700 FORMAT(/,' Fiche entree ou modifiee le ',9A1, 2' sous l''UIC numero [ 204,',O3,' ]') DO 350 NCL=1,10 IF (MCLE(NCL).EQ.0) MCLE(NCL)=1000 350 CONTINUE 360 WRITE(IOUT,355) 355 FORMAT(' Mots cles :') WRITE(IOUT,358)((CLE(MCLE(NCL),K),K=1,12),NCL=1,10) 358 FORMAT(1X,10(12A1,' ')) WRITE(IOUT,700)DAY,ICB 87 CONTINUE CLOSE (UNIT=2) IF (CR.NE.'V') CLOSE (UNIT=6,DISP='PRINT') CLOSE (UNIT=4) RETURN END