Understanding error return code 310
When you are running ACIF on AIX or Windows, the most common I/O errors occur in the input file and produce error messages 0425–411 and 0425–413 with return code 310. This return code typically indicates one of these:
- The value that you specified for the FILEFORMAT parameter does not match the actual format of the data file. Check that NEWLINE and its encoding values are correct if you specified FILEFORMAT=STREAM, or that the record length is correct for FILEFORMAT=RECORD,n.
- ACIF read an input line (record) larger than 32 KB. In this case, the default FILEFORMAT=STREAM was specified, but no record separator was found within the first 32 KB of the current input line. This situation is typically because the value of the NEWLINE characters does not match the record separator (line endings) used in the input file. ACIF uses a default value of X'0A' for NEWLINE, which is the UNIX newline character. Although files from PC workstations typically use carriage returns or line feeds (X'0D0A') as delimiters, stream files from z/OS systems can use EBCDIC newline characters (X'15') or EBCDIC line-feed characters (X'25'). ACIF cannot always reliably detect the record separator; therefore, you must ensure that the value specified for NEWLINE is correct for the input file ACIF is processing.
- ACIF has not read enough bytes at the end of file. Some input files contain no record separator characters. These files must be processed as FILEFORMAT=RECORD,n, where n is the length of each record, or as FILEFORMAT=RECORD, where each input record must be preceded by its 2-byte length. If FILEFORMAT=RECORD,n is specified and the number of bytes in the file is not an exact multiple of n, ACIF returns an error code of 310 when the last byte in the file is read.