5 * Revision 1.1.1.1 1996/03/06 10:47:11 mclareni
9 #include "zebra/pilot.h"
10 SUBROUTINE FZENDI (LUNPAR,CHOPT)
12 C- TERMINATION OF ZEBRA INPUT FILE
14 #include "zebra/zunit.inc"
15 #include "zebra/mqsys.inc"
16 #include "zebra/eqlqf.inc"
17 #include "zebra/fzstat.inc"
18 #include "zebra/fzcf.inc"
19 #include "zebra/fzci.inc"
20 C-------------- End CDE --------------
24 EQUIVALENCE (IOPTT,IOPTVF(1)), (IOPTR,IOPTVF(6))
25 +, (IOPTN,IOPTVF(2)), (IOPTU,IOPTVF(7))
26 +, (IOPTC,IOPTVF(3)), (IOPTX,IOPTVF(8))
27 +, (IOPTI,IOPTVF(4)), (IOPTK,IOPTVF(9))
28 +, (IOPTO,IOPTVF(5)), (IOPTQ,IOPTVF(10))
29 +, (IOPNUM(1),IOPTVF(11))
30 #if (defined(CERNLIB_QTRHOLL))&&(!defined(CERNLIB_A6M))
32 DATA NAMESR / 4HFZEN, 4HDI /
34 #if (defined(CERNLIB_QTRHOLL))&&(defined(CERNLIB_A6M))
35 DATA NAMESR / 6HFZENDI /
37 #if !defined(CERNLIB_QTRHOLL)
39 PARAMETER (NAMESR = 'FZENDI ')
42 #include "zebra/q_jbit.inc"
44 #include "zebra/qtrace.inc"
48 CALL UOPTC (CHOPT,'TNCIORUXKQ0123',IOPTVF)
52 IF (IOPNUM(4).NE.0) NEOF=3
53 IF (IOPNUM(3).NE.0) NEOF=2
54 IF (IOPNUM(2).NE.0) NEOF=1
55 IF (IOPNUM(1).NE.0) NEOF=0
58 C-- Terminate option selected
67 C-- New option selected
69 ELSEIF (IOPTN.NE.0) THEN
79 C-- Continue option selected
86 C-- Input option selected
93 C---- LOOP OVER ALL INPUT FILES IF LUNPAR=0
95 IF (LUN.NE.0) GO TO 24
99 21 LQFF = LQ(KQSP+LQFF)
100 22 IF (LQFF.EQ.0) GO TO 999
101 LUN = IQ(KQSP+LQFF-5)
106 IF (LUNI.EQ.LUN) GO TO 31
109 C-- FZENDI called for one particular input file
114 IF (LUNI.EQ.LUN) GO TO 31
115 #if defined(CERNLIB_QPRINT)
117 WRITE (IQLOG,9024) LUN
118 IF (LUNF.EQ.LUN) WRITE (IQLOG,9025) IACTVF
120 9024 FORMAT (1X/' FZENDI. LUN=',I3,' is not a valid input file')
121 9025 FORMAT (10X,'last activity=',I2)
125 C-------------------------------------------------
127 C-------------------------------------------------
129 31 IF (IOPTQ.NE.0) LOGLVF=-2
130 #if defined(CERNLIB_QPRINT)
132 +WRITE (IQLOG,9031) LUN,IACTVF,CHOPT
133 9031 FORMAT (1X/' FZENDI. For input file at LUN=',I3,
134 F', Last activity=',I2,', OPT= ',A)
136 IF (IACTVF.GE.8) GO TO 61
138 C---- Print file usage
140 #if defined(CERNLIB_QPRINT)
141 IF (LOGLVF.LT.0) GO TO 39
142 IF (IQ(KQSP+LQFF+28).EQ.IQ(KQSP+LQFF+15)) GO TO 39
144 IF (IFIFOF.NE.0) N=24
145 WRITE (IQLOG,9036) (IQ(KQSP+LQFF+J),J=11,N)
146 9036 FORMAT (10X,'Number of objects read : '
147 F/10X,I9,' System EOF'
148 F/10X,I9,' Zebra EOF'
149 F/10X,I9,' End-of-Run'
150 F/10X,I9,' Start-of-Run'
151 F/10X,I9,' Pilot records'
152 F/10X,I9,' Non-empty d/s selected'
153 F/10X,I9,' Empty d/s selected'
154 F/10X,I9,' Read or Data errors'
155 F/7X,I12,' Mega-words +'
157 F/10X,I9,' Good logical records',:/
158 F 10X,I9,' Good physical records'
159 F/10X,I9,' Steering blocks'
160 F/10X,I9,' Words with conversion problems')
162 IQ(KQSP+LQFF+28) = IQ(KQSP+LQFF+15)
165 INFSTA = IQ(KQSP+LQFF)
166 CALL UCOPY (IQ(KQSP+LQFF+1), INFOFZ, 40)
168 C---- New file to be connected by the user
170 IF (IOPTN.EQ.0) GO TO 44
172 CALL VZERO (IQ(KQSP+LQFF+30),7)
173 IF (IOPTR.NE.0) GO TO 57
176 C-- Continue to read next file on same
178 44 IF (IOPTC.EQ.0) GO TO 51
179 IF (IACTVF.NE.5) GO TO 48
180 IF (IACMOF.NE.1) GO TO 79
181 IF (JBIT(MSTATF,13).EQ.0) GO TO 79
183 #include "fzendicx.inc"
188 #if defined(CERNLIB_QPRINT)
189 IF (LOGLVF.GE.-2) WRITE (IQLOG,9048) LUNF
190 9048 FORMAT (' FZENDI. LUN=',I3,' not positioned on system EoF;',
191 F' C-option is redundant.')
197 51 IF (IOPTR.EQ.0) GO TO 61
200 CALL VZERO (IQ(KQSP+LQFF+11),23)
204 C---- Switch to output
206 61 IF (IOPTO.EQ.0) GO TO 71
209 CALL SBYT (NEOF, IQ(KQSP+LQFF), 13,2)
210 #if defined(CERNLIB_QPRINT)
211 IF (LOGLVF.GE.0) WRITE (IQLOG,9062) LUN,NEOF
212 9062 FORMAT (10X,'LUN=',I4,' Set NEOF =',I2)
216 C---- Close the file, Drop the control bank
218 71 IF (IOPTX.NE.0) THEN
220 IQ(KQSP+LQFF+1) = IADOPF
223 IF (IOPTK.EQ.0) CALL MZDROP (0,LQFF,'.')
226 IF (LUNORG.EQ.0) GO TO 21
228 #include "zebra/qtrace99.inc"
231 * ==================================================
232 #include "zebra/qcardl.inc"