Error Messages [ COBOL/HP-UX Compatibility Guide for the Series 700 and 800 ] MPE/iX 5.0 Documentation
COBOL/HP-UX Compatibility Guide for the Series 700 and 800
Error Messages
When an error is encountered, the command line is displayed, followed by
an error message. For command line errors, a carat (^) is displayed
under the point in the command line where the error is detected. The
program sets the return code to a value other than zero to indicate the
type of error that has occurred; 9 indicates that you have made an error
when entering information on the command line; 2 indicates that an error
has been detected on an output file; 1 indicates that an error has been
detected on an input file. This code can be tested in a batch stream
using the IF ERRORLEVEL command (see your Operating System documentation
for further details of this command).
The most likely cause of an error is that you have specified parameters
to Rebuild that do not correctly represent the input file. In most cases
it is difficult for Rebuild to determine that such a mistake has been
made, since most data files carry insufficient information to make them
easy to identify. Consequently, the error presented by Rebuild may not
obviously identify the cause.
Command Line Errors
Input file same as output file
The output file name must be different from the input file name.
Invalid command - must specify output file for conversion
An output file name must be present when converting. You must
specify an output file name.
Invalid option
You have specified an invalid option. The allowed options are
listed in Invoking Rebuild earlier in this manual.
Invalid source format
The format parameter of the /s option is incorrect. You must
specify one of the parameters listed in The /s Option earlier in
this chapter.
Invalid organization
The organization parameter of the /o option is incorrect. You must
specify one of the parameters listed in The /o Option earlier in
this chapter.
Invalid record type - 'F' or 'V' expected
The record type parameter of the /r option is incorrect. You must
specify either f for fixed length records, or v for variable length
records.
Invalid record parameter - '-' expected
The record length parameter of the /r option, type v, is incorrect.
You must specify a minimum record length and a maximum record length
separated by a hyphen (-).
Invalid record length - cannot be zero
You have defined a fixed length record with a length of zero; this
is illegal. Either change the value of the fixed length record to a
value other than zero, or check that you have used the correct
separating character.
Invalid record lengths - maximum must not be less than minimum
You have defined variable length records with a maximum length that
is smaller than the minimum length; this is illegal. Either change
the value of the maximum length so that it is greater than the
minimum length, or ensure that you have separated the minimum length
and the maximum length values with a hyphen (-).
Invalid key structure - '+' expected
A key part parameter of the /k option is incorrect. It must be a
start character position and length separated by a plus (+), or an
L.
Invalid key start - cannot be zero
You have defined one of the start keys with a start character
position of zero; this is illegal. Either change the start
character position to a value other than zero, or check that you
have used the correct separating character (see The /k Option for
further details of these).
Invalid key length - cannot be zero
You have defined one of the key's lengths as being zero; this is
illegal. Either change the key length to a value other then zero,
or check that you have used the correct separating character (see
The /k Option for further details of these).
Invalid key spec - key not contained in record
You have defined a key that is not wholly contained in the record.
This is illegal. For variable length records, the key must be
wholly contained in the minimum length record. Note that this error
will only occur if you specify the record length on an /r option.
Invalid organization - must be indexed for index rebuild
Invalid organization - must be indexed for reorganization
You will only get these errors if you have erroneously omitted the
/s option.
Parameter file not found
The parameter file you specified on the command line cannot be
found. Check that the file exists, and that the specification you
used on the command line is correct.
***Invalid parameter combination
The parameters you specified on the command line are not compatible
with each other. Note that, although this message is due to an
error you made on the command line, the error is not detected by
this COBOL system until run-time.
Invalid command line
The command line contains an error other than those described above.
Conversion Errors
***Error on input file - file not found
The input file cannot be found. Check that the filename you entered
is correct, and the file does actually exist.
***Error on input file - file must be indexed for reorganization
You will only get this error if you have erroneously omitted the /s
option.
***Error on input file - file is not an MS2 indexed file
The input file is not a Microsoft COBOL Version 2.2 indexed file.
Check that you have the correct file.
***Error on input file - not MF indexed or variable format
You will only get this error if you have erroneously omitted the /s
option.
***Error on input file - attempt to read past eof
When reading the next record, the end-of-file was encountered
prematurely. Ensure that you have selected the correct format for
the /s option, and that the input file is not corrupt.
Note that this error is likely to occur if you attempt to convert a
Microsoft COBOL Version 1 sequential or relative file with a /s:ms2
option.
The output file is closed, and should be useable, if not complete.
***Error on input file - bad file structure
The structure of the input file is not consistent with the format
selected by the /s and /o options. Ensure that these parameters are
correct, and that the file is not corrupt.
***Error on input file - record size > specified
You have attempted to read a record from the input file which is
larger than the maximum record size specified on the /r option.
Either the specified size is incorrect, or the file is not of the
format or organization specified, or is corrupt.
***Error on input file - record length < min > or max
You have attempted to write a record to the output file which is
larger than the maximum file length or smaller than the minimum file
length. This error should only occur for conversions in which a /r
option with a v parameter has been specified. In this case, repeat
the conversion with the /i option, and use the input file statistics
displayed to adjust the maximum/minimum sizes given on the /r
option.
***Error on input file - no record size information
You have attempted to convert a file that contains no records
without specifying the /r option. When you do not specify a record
length, Rebuild attempts to get the record length from the file.
Since the file contains no records, there is no record length
information, so the conversion fails. Rerun Rebuild using the /r
option to specify the record length.
The following general messages indicate that an error, other than those
described above, has occurred while the input file is being processed:
***Error on input file - status xx
***Error on input file - status 9/yyy
where xx is an ANS85 file status yyy is, provided the first byte is
a 9, a COBOL run-time error number. See Error Messages for more
details of run-time errors.
The possible causes are:
* the file does not exist
* a hardware error has occurred while the file is being opened or
read
* the file is corrupt
Check that you have specified the correct /s and /o options, and
that the file is valid.
The output file will be closed and should be useable, if not
complete.
The following general messages indicate that an error has occurred while
the output file is being processed:
***Error on output file - status xx
***Error on output file - status 9/yyy
where xx is an ANS85 file status yyy is, provided the first byte is
a 9, a COBOL run-time error number. See Error Messages for more
details of run-time errors.
The possible causes are:
* the file cannot be created
* a hardware error has been encountered on opening or writing the
file
* the parameters you specified are incorrect
This error will also occur if you omitted the out-file name for a
conversion. Check that you specified the correct /o, /r and /k
options, and the correct parameter with each.
Supplementary Information
* Provided you have not specified the /v option, you can redirect
all information displayed by Rebuild to a text file. To do this,
use standard redirection, > for creating a new file and >> for
extending an existing file. Thus, you can collect the results of
a number of conversions in a batch stream as the stream is
processed, and view them on completion. For example:
rebuild olds001.dat,ms001.dat /s:ms1 /k:1+20 /i > rebuild.prt
rebuild oldrt549.seq,rt549.seq /s:ms2 /o:s /r:v5-1000 /i
>> rebuild.prt
rebuild badms001.dat,ms001.dat @ms001.par >> rebuild.prt
causes the information for all three conversions to be placed in
the text file, rebuild.prt, one after the other. You can view
this later using a text editor or the "type" command.
* Microsoft COBOL Version 2.2 allows the specification of keys in
the SELECT clause of a program to differ from the keys actually
contained in the file, provided the keys at variance are not
referenced. However, this version of the COBOL system will check,
when the file is opened, that the keys in the file match the
description in the SELECT clause, and return an appropriate error
status if not.
If this occurs, use the /i option when converting the file to
display the key structure in the file, then compare this with the
key structure defined in the program, and either change the
program to match the file, or use Rebuild again on the converted
file to rebuild the index, specifying the full key description
required for the file using the /k option. (See your COBOL System
Reference for a description of this use of Rebuild.)
* When converting a Microsoft COBOL Version 2.2 file, if you do not
know the maximum record length, and the longest record is longer
than the first record in the file, then running Rebuild without a
/r option will cause an error. However, you can specify the /i
option, to display the length of the longest record read so far.
Using this length in the /r option and rerunning Rebuild will
enable more records to be converted. The error may occur again,
in which case repeat the above procedure until the file is fully
converted.
For example, the first pass:
rebuild oldfile,new/s:ms2/i
gives:
***Error on input file - record size > specified -
records read = 0001
Input file : OLDFILE
Largest record length - 293
Smallest record length - 253
Average record length - 546
Output file : NEW
Organization - Indexed
Recording mode - Fixed
Maximum record length - 253
Minimum record length - 253
Keys description :
Start char Length
Key - 0
1+ 9
The second record was bigger than the first, so Rebuild failed
after reading it. Rerun Rebuild adding a /r option using this
largest record length, as follows:
rebuild oldfile,new/s:ms2/r:f293/i
This gives:
***Error on input file - record size > specified -
records read = 0005
Input file : OLDFILE
Largest record length - 353
Smallest record length - 253
Average record length - 339
Output file : NEW
Organization - Indexed
Recording mode - Fixed
Maximum record length - 293
Minimum record length - 293
Keys description :
Start char Length
Key - 0
1+ 9
The sixth record is bigger than the maximum given, so you need to
repeat the procedure with the new largest record length, as
follows:
rebuild oldfile,new/s:ms2/r:f353/i
This gives a successful conversion:
Conversion successful - records read = 0049
Input file : OLDFILE
Largest record length - 353
Smallest record length - 119
Average record length - 261
Output file : NEW
Organization - Indexed
Recording mode - Fixed
Maximum record length - 353
Minimum record length - 353
Keys description :
Start char Length
Key - 0
1+ 9
MPE/iX 5.0 Documentation