Common Exceptions and Some of Their Causes
MCH1202 Decimal data error:
- A numeric elementary item has been used as a source when no valid data has been previously stored in it. The item should have a VALUE clause, or a MOVE statement should be used to initialize its value.
- An attempt has been made to place nonnumeric data in a numeric item.
- Bad data was written to a subfile earlier in the program. The subfile data is not validated until it is written to the display, so the 1202 error can occur on the WRITE of a subfile control record, but the bad data was actually put to the subfile earlier.
MCH0601 Pointer exceptions:
- Part of a Linkage section item extended beyond the space allocated.
For example, if you set the address of a Linkage Section item, and one or more of its elementary data items extend beyond the space with a MOVE to the elementary data item, MCH0601 is issued.
For more information on using pointers, refer to Using Pointers in an ILE COBOL Program.
MCH0602 Pointer alignment:
- The pointer alignment in the Working-Storage Section of the calling program
does not match the alignment in the Linkage Section of the called program.
Alignment must be on a 16-byte boundary.
For more information on using pointers, refer to Using Pointers in an ILE COBOL Program.
MCH0603 Range check error:
- Either the subscript value is less than the lower bound of the array, or greater than the upper bound of the array, or the compound operand defined a character string outside the bounds of the base character string.
MCH3601 Pointer error:
- A reference is made to a record or a field within a record and the associated
file has been closed or has never been opened.
For example, the OPEN for the file was unsuccessful and the processing of any other I/O statement for that file is attempted. The file status should be checked before any other I/O is attempted.
CPF2415 End of requests:
- An attempt has been made to accept input from the job input stream while the system is running in batch mode and no input is available.