CALL FZDIA CALL FZIN (LUN,IXDIV,LSUP,JBIAS,CHOPT,NWUH,IUHEAD) CALL FZCOPY (LUNIN,LUNOUT,IEVT,CHOPT,NIO,NWUH,IUHEAD)
If an exception is found by one of the routines which handle an FZIN request, or an input request for FZCOPY, it stores information into which is then handled by FZDIA, passing the relevant information back to the caller.
The primary status information is :
IQUEST(1)= -1 BAD CALLING : options T/A/D given, but no pending d/s
-2 NOT ENOUGH SPACE in the store to receive the data
and the table
-3 BAD DATA, data corrupted or file written by user
output routine not yet fully debugged
-4 BAD CONSTRUCTION, maybe not a ZEBRA file
-5 READ ERROR, error return from the Fortran READ
or maybe some other system read routine;
the error code, if any, is in IQUEST(14)
-6 for 2 consecutive errors
-7 for 3 consecutive errors
-8 -- etc --
IQUEST(2)= number of logical records read so far
IQUEST(3)= number of physical records (exchange file format only)
The detailed error information is in :
IQUEST(11)= -1, ..., -5 as above
(12)= error number JERROR as shown below
(13)= LRTYP, type of the last record read :
0 : not known
1 : start or end of run
2 : pilot record for start event
3 : pilot record
4 : pilot continuation record (native file format)
4 : bank material continuation record (exchange fifo)
5 or 6 : dummy padding record
7 : bank material record (native file format)
8 : last bank material record in the d/s (native fifo)
(14->17)= further information related to the error
FZDIA prints an error message, showing LUN
and the contents of ,
and returns to the caller, expecting he will test on IQUEST(1).
In the following the error numbers JERROR are shown, giving the name
of the lower level routine which detected the error, and the meaning
of IQUEST(14...) if they contain useful further information.
JERROR = 10 FZIN called for Channel or Memory mode,
user routine or user memory not yet connected
JERROR = 11 multiple options T A D not allowed
JERROR = 12 no pending d/s for entry with T A D options
JERROR = 13 no segment table for entry with D option :
either FZIN had not been called with the T option,
or the table has meanwhile been overwritten by
some other call to ZEBRA
JERROR = 14 options T A D not allowed together with R 2 3 4
JERROR = 14 invalid division index in segment table
IQUEST(14)= JS, the segment number
IQUEST(16)= IQSEGD(JS)
JERROR = 15 NQSEG has been changed by the user
IQUEST(14)= NQSEG on entry
IQUEST(15)= number of words in the segment table
= 3 times the number of segments
JERROR = 21 not enough space
JERROR = 31 segment table tries to overshoot rel. table JERROR = 32 segment limit does not match a rel. table entry JERROR = 33 ends of segment and rel. tables do not match JERROR = 34 bank chaining clobbered in the input data
131 -> 133 record of unexpected record type read
JERROR = 131 expect pilot continuation for text vector
JERROR = 132 expect pilot continuation for table
JERROR = 133 expect bank material
JERROR = 134 end of segm skipped does not coincide with LR
IQUEST(14)= segment number
IQUEST(15)= size of the segment
IQUEST(16)= number of words mis-match
JERROR = 135 end of segm read does not coincide with LR
IQUEST(14)= segment number
IQUEST(15)= size of the segment
IQUEST(16)= number of words mis-match
JERROR = 136 last bank material record needed is not type 8
JERROR = 137 emergency-stop record seen
JERROR = 141 LRTYP invalid when hunting for pilot
JERROR = 142 check-word in word 1 of the pilot is wrong
IQUEST(16)= check-word read from the file
IQUEST(17)= check-word expected (12345.0 floating)
JERROR = 143 control wd of I/O char. for user header invalid
IQUEST(14)= NWUHCI (size I/O char. + header vector)
IQUEST(16)= first word of the characteristic
JERROR = 144 NWSEG control-word in the pilot is wrong
IQUEST(14)= NWSEG, the length of the segment table
JERROR = 145 text vector NWTXI words longer than its record
IQUEST(14)= NWTX control-word in the pilot
IQUEST(15)= NWR - NWDONE, words available
IQUEST(16)= NWDONE words in the record before the text
JERROR = 146 number of early table words wrong
IQUEST(14)= NWTAB control-word in the pilot
IQUEST(15)= NTBE, number of early words inferred
JERROR = 147 table end does not coincide with LR
IQUEST(14)= NWTAB control-word in the pilot
IQUEST(15)= LIN - LQTE words of mis-match
JERROR = 151 read error, the IOSTAT error code is returned :
IQUEST(14)= error code, if any
JERROR = 201 Steering block expected, but control-words invalid;
if the log level is -1 or more they are printed
JERROR = 202 Block size (physical record size) wrong
IQUEST(14) = expected size, as specified to FZFILE
IQUEST(15) = size seen in word 5 of the steering block
JERROR = 204 Break in block sequence number
IQUEST(14) = expected sequence number
IQUEST(15) = sequence number seen
205 -> 208 Fast burst stopped by ...
JERROR = 205 ... by unusable start/end-of-run
JERROR = 206 ... by unusable steering block
JERROR = 207 ... by usable start/end-of-run in unusable block
JERROR = 208 ... by usable steering block
IQUEST(14/15/16) = word 6/9/10 of the steering block
(a block is 'unusable' if only the first few words
have been read, but not the whole block; this can
happen if FZIN is instructed to skip the current d/s)
JERROR = 209 emergency stop record seen
JERROR = 215 read error, the IOSTAT error code is returned :
IQUEST(14)= error code, if any
JERROR = 221 LR overshoots steering block control
IQUEST(14) = # of words consumed in current block
IQUEST(15) = # of words missing to complete LR
JERROR = 222 LR undershoots steering block control
IQUEST(14) = # of words consumed in current block
IQUEST(15) = # of words before start of next LR
JERROR = 224 LR type 1,2,3 seen when 4 expected
IQUEST(14) = # of words before start of next LR
JERROR = 225 Faulty LR type
JERROR = 226 Faulty LR length
JERROR = 227 LR of type 1,2,3 must start on steering block
JERROR = 228 Padding record longer than one physical record
JERROR = 229 More than 4 padding records in a row
IQUEST(14) = # of words before start of next LR
IQUEST(15) = # of words missing to complete LR
IQUEST(16) = LR length
JERROR = 240 FZIN called for Channel or Memory mode,
user routine or user memory not yet connected
JERROR = 241 check-word in word 1 of the pilot is wrong
IQUEST(16)= check-word read from the file
IQUEST(17)= check-word expected (12345.0 floating)
JERROR = 242 control wd of I/O char. for user header invalid
IQUEST(14)= NWUHCI (size I/O char. + header vector)
IQUEST(16)= first word of the characteristic
JERROR = 243 NWSEG control-word in the pilot is wrong
IQUEST(14)= NWSEG, the length of the segment table
JERROR = 251 inconsistent bank parameters
JERROR = 252 link part of bank overshoots segment end
JERROR = 253 data part of bank overshoots segment end
JERROR = 254 short dead region overshoots segment end
JERROR = 255 bank material does not end exactly with LR
JERROR = 301 Control-words of steering block invalid;
if the log level is -1 or more they are printed
JERROR = 302 Block size (physical record size) wrong
IQUEST(14) = expected size, as set by FZFILE
IQUEST(15) = size seen in word 5 of the steering block
JERROR = 303 Unexpected fast record
JERROR = 307 Unexpected and faulty steering block
JERROR = 308 Fast burst stopped by unexpected steering block
IQUEST(14) = word 6
IQUEST(15) = word 9
IQUEST(16) = word 10 of the steering block
JERROR = 309 read error, the IOSTAT error code is returned :
IQUEST(14)= error code, if any
The following error codes simply indicate that the text on the file has been corrupted, which particular code will appear is a matter of chance and is of no interest to the user :
JERROR = 310 Invalid character in column 1 JERROR = 311 Record shorter than expected JERROR = 312 Faulty type code JERROR = 313 Faulty numeric value, > 31 JERROR = 314 Record longer than expected JERROR = 315 Repetition count overshoots record end JERROR = 316 Repetition count negative JERROR = 317 Double open square bracket JERROR = 318 Record shorter than expected JERROR = 319 Check-sum error JERROR = 320 Illegal combination =< or <=
subsection*FZCOPY
JERROR = 401 input/output different data format JERROR = 402 native input record length too long JERROR = 403 input/output both channel mode JERROR = 404 Alfa mode not allowed JERROR = 409 no 'pending' d/s on input
JERROR = 433 record of unexpected record type read
JERROR = 434 table or d/s data longer than expected
JERROR = 435 premature LR type 8
JERROR = 436 last bank material record needed is not type 8
JERROR = 437 emergency stop record seen
JERROR = 451 (Fortran) read error
IQUEST(14) = IOSTAT error code
JERROR = 455 bank material does not end exactly with LR
JERROR = 501 Steering block expected, but control-words invalid;
if the log level is -1 or more they are printed
JERROR = 502 Block size (physical record size) wrong
IQUEST(14) = expected size, as specified to FZFILE
IQUEST(15) = size seen in word 5 of the steering block
JERROR = 504 Break in block sequence number
IQUEST(14) = expected sequence number
IQUEST(15) = sequence number seen
JERROR = 508 Fast burst stopped by usable steering block
IQUEST(14/15/16) = word 6/9/10 of the steering block
JERROR = 509 emergency stop record seen
JERROR = 514 seek error, the IOSTAT error code is returned :
IQUEST(14)= error code, if any
JERROR = 515 read error, the IOSTAT error code is returned :
IQUEST(14)= error code, if any
JERROR = 521 Steering block expected, but control-words invalid;
if the log level is -1 or more they are printed
JERROR = 522 Block size (physical record size) wrong
IQUEST(14) = expected size, as specified to FZFILE
IQUEST(15) = size seen in word 5 of the steering block
JERROR = 523 Block size larger than buffer
IQUEST(14) = expected size, as specified to FZFILE
IQUEST(15) = size seen in word 5 of the steering block