1 | Error-handling exit program name | Input | Char(20) |
2 | Scope of error-handling program | Input | Char(1) |
3 | New error-handling exit program library | Output | Char(10) |
4 | Current or pending error-handling exit program name | Output | Char(20) |
5 | Error code | I/O | Char(*) |
The Set COBOL Error Handler (QLRSETCE) API allows you to specify the identity of a COBOL error-handling program. You can call it from any programming language; however, this API only sets the name of the error handling program that is called when an error occurs in an OPM COBOL/400 program.
After you call this API, any COBOL/400 program that issues an inquiry message with options C, D, or F will first call the defined error-handling program. This program receives the message identification and substitution text, as well as the name of the program that received it, and a list of valid one-character responses. The defined program is responsible for returning a one-character code (blank, C, D, F, or G) indicating whether the COBOL program should continue or not.
Note: All messages issued by the operating system during the running of a COBOL program are monitored by the COBOL program. Only some of the system messages issued will result in a COBOL inquiry message.
For more information about error handling and the issuing of COBOL inquiry messages, see the chapter on error handling in the WebSphere Development Studio: ILE COBOL Programmer's Guide book.
You can define a different error-handling program for each COBOL run unit, but when a new COBOL run unit starts, it uses the error-handling program from the previous run unit.
Only one error-handling program can be active at a time. If an error occurs in the error-handling program, the COBOL program does not call the error-handling program again. (In other words, recursive calls do not occur.) Instead, the inquiry message would be issued as if no error-handling program were defined.
You cannot change the name of the error-handling program while it is responding to an error in a COBOL program.
If an error occurs during the calling of the error-handling program, an informational message (LBE7430) is issued, and processing continues as if no error-handling program were defined.
The error-handling program is defined by the user. The parameters are described under OPM COBOL Error-Handling Exit Program.
None.
The qualified name of the error-handling program.
The 20 characters of this parameter are:
1-10 | The name of the program object. Valid values are:
|
||||||
11-20 | The library where the program object exists. Valid values are:
|
The program can apply to a current or pending run unit.
Valid values are:
C | Current COBOL run unit |
P | Pending COBOL run unit |
The library where the program object exists. If *CURLIB or *LIBL was specified for the error-handling exit program name parameter, the library returned for this parameter shows the library where the program was found. If *CURLIB or *LIBL was not specified, the library returned here should be the same as character 11 through 20 of the error-handling exit program name parameter.
Valid value is:
library-name | The library where the program object exists. |
The qualified name of the error-handling program that was in place before the current error-handling program was set.
The 20 characters of this parameter are:
1-10 | The name of the previous error-handling program object. Valid values are:
|
||||
11-20 | The library where the previous error-handling program object
existed. Valid value is:
|
The structure in which to return error information. For the format of the structure, see Error Code Parameter.
Message ID | Error Message Text |
---|---|
CPF3C90 E | Literal value cannot be changed. |
LBE7040 E | Format of error code parameter is not correct. |
LBE7050 E | Error handler is already responding to an error in the same run unit. |
LBE7051 E | Scope parameter not valid. |
LBE7052 E | Run unit specified for error handler does not exist. |
LBE7055 E | Severe error while addressing parameter list.The API did not complete. |
LBE7060 E | Error in program name or availability. |
LBE7061 E | Error in library name or availability. |
LBE7062 E | Error in library list. |
Top | High-level language APIs | APIs by category |