LOGICAL FUNCTION INOTAP CHANGES MADE 10-DEC-1982 *** C C SUBROUTINE TO INITIALIZE 'TAPE' FOR OUTPUT OF AN IBM370 FB C OR FBA TAPE. RETURNS THE VALUE TRUE IF THE INITIALIZATION C WAS SUCCESSFULL OR FALSE IF IT WAS NOT. C IMPLICIT INTEGER*2 (I-N,O) COMMON /GHCITP/ IRC,IBC,LUNMT,LUNTT,ILRECL,IBLKSZ,IOSTAT(5), 1 IFN(17),IVOL(6),TRAN,LAB,IEOF COMMON /GHCOTP/ ORC,OBC,OLRECL,OBLKSZ,OSTAT(4),OFN(17), 1 VNAME(6),OTRAN,OLAB,CC,ODEN,OEOF LOGICAL*1 IFN,TRAN,LAB,IEOF,OFN,OTRAN,OLAB,CC,ODEN,OEOF,VNAME,IVOL LOGICAL*1 A,BL INTEGER*4 I DATA A/"101/,BL/"40/ 1 FORMAT ('$TRANSLATE ASCII TO EBCDIC (T/F) ? ') 2 FORMAT (I5) 4 FORMAT (L1) 6 FORMAT ('$OUTPUT LRECL [80] ') 7 FORMAT ('$OUTPUT BLKSIZE ['I4,'] ') 8 FORMAT (' OUTPUT BLKSIZE IS NOT A MULTIPLE OF OUTPUT LRECL ***') 9 FORMAT (' BLKSIZE MUST BE A MULTIPLE OF 2 ***') 10 FORMAT (' OUTPUT BLKSIZE LIMITED TO 8000 ***') 12 FORMAT (17A1) 13 FORMAT ('$DSNAME = ') 14 FORMAT ('$RECFM = (FBA/FB) [FB] ') 15 FORMAT (2X,A1) INOTAP = .TRUE. CALL IWR370(I) IF (OLAB) GO TO 30 WRITE (LUNTT,1) READ (LUNTT,4) OTRAN GO TO 40 30 WRITE (LUNTT,13) READ (LUNTT,12) OFN CALL STR$UPCASE(%DESCR(OFN),%DESCR(OFN)) WRITE (LUNTT,14) READ (LUNTT,15) CC CALL STR$UPCASE(%DESCR(CC),%DESCR(CC)) IF (CC .NE. A) CC = BL 40 WRITE (LUNTT,6) READ (LUNTT,2) OLRECL IF (OLRECL .EQ. 0) OLRECL = 80 OBL = 3156/OLRECL*OLRECL !BEST BLKSIZE ON 3330 DISK WRITE (LUNTT,7) OBL READ (LUNTT,2) OBLKSZ IF (OBLKSZ .EQ. 0) OBLKSZ = OBL IF (MOD(OBLKSZ,OLRECL) .EQ. 0) GO TO 80 WRITE (LUNTT,8) GO TO 95 80 IF (MOD(OBLKSZ,2) .EQ. 0) GO TO 90 WRITE (LUNTT,9) GO TO 95 90 IF (OBLKSZ .LE. 8000) GO TO 100 WRITE (LUNTT,10) 95 INOTAP = .FALSE. CALL SYS$CANCEL(%VAL(LUNMT)) RETURN 100 IF (.NOT. OLAB) GO TO 120 IF (I .LE. 1) GO TO 110 DO 105 J=1,6 105 VNAME(J) = IVOL(J) CALL WRTLBL(1,I) GO TO 120 110 CALL WRTLBL(0,I) 120 ORC = 0 OEOF = .FALSE. RETURN END