z/OS Language Environment Customization
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


Changing the error option table defaults

z/OS Language Environment Customization
SA38-0685-00

Module AFH5UOPT contains the Error Option Table defaults. You can accept the IBM-supplied defaults, or you can supply your own defaults. To customize AFH5UOPT for your site, use the IBM-supplied job AFHWVOPT, and modify the VSF2UOPT macro instructions in an SMP/E USERMOD. The syntax and operands of the VSF2UOPT macro instructions are described in this section.

If you have Fortran applications that are link-edited with Language Environment, then there is no error option table to customize.

Use the VSF2UOPT macro to customize the Error Option Table as follows:
  • Adding new error messages to the table, without changing existing ones, by coding the VSF2UOPT Required Macro Instruction, followed by an END statement.
  • Changing existing error messages in the table, with or without adding new ones, by coding the VSF2UOPT Required Macro Instruction, followed by the necessary number of optional macro instructions, followed by an END statement.

For information about IBM-supplied error messages, see "Extended Error-Handling Subroutines and Error Option Table" in VS FORTRAN Version 2 Language and Library Reference.

Syntax of VSF2UOPT Required Macro Instruction

VSF2UOPT [ADDNTRY = n]

ADDNTRY=n
Is a positive integer specifying the number of new error message numbers to be added to the error option table. Additional error message numbers will begin at 500 and continue sequentially, up to a maximum of 899. If you want to change existing messages but do not want to add new ones, omit ADDNTRY=n.
n
Is a positive integer between 1 and 598.

Syntax of VSF2UOPT Optional Macro Instruction

VSF2UOPT MSGNO = (ermsno[,qty])
[,ALLOW =
errs]
[,INFOMSG = YES | NO]
[,IOERR = YES | NO]
[,MODENT = YES | NO]
[,PRINT =
prmsg]
[,PRTBUF = YES | NO]
[,TRACBAK = YES | NO]
[,USREXIT =
exitname]

The MSGNO option must always be specified. The default values of the five options INFOMSG, IOERR, MODENT, PRTBUF, and TRACBAK vary according to the following conditions:
  • If the value of MSGNO specifies an IBM-supplied message number, and none of the five options is changed, then the default values are found in "Extended Error-Handling Subroutines and Error Option Table" of VS FORTRAN Version 2 Language and Library Reference.
  • If either
    • The value of MSGNO specifies an IBM-supplied message number, and one or more of the five options is changed, or
    • The value of MSGNO specifies a new message number,
    Then the default values for the unspecified options are the following:
    INFOMSG
    NO
    IOERR
    NO
    MODENT
    YES
    PRTBUF
    NO
    TRACBAK
    YES
MSGNO = (ermsno[,qty])
Specifies which error messages are affected by the default changes.
ermsno
Specifies either one message number, or the first error message number in a series of consecutive numbers.
qty
Specifies, if there is more than one, the number of consecutive error message numbers, beginning with ermsno.
For example, if the option is coded MSGNO=(153), then the default values for message 153 is changed. If the option is coded MSGNO=(153,4), then the default values for messages 153 through 156 is changed.
ALLOW = errs
Specifies the number of times the error can occur before the program is terminated.
errs
Specifies the number of errors allowed. To specify an exact number of errors allowed, errs must be a positive integer with a maximum of 255. A zero, or any number greater than 255, means that the error can occur an unlimited number of times.
Note: Altering an error option table entry to allow "unlimited" error occurrence might cause a program to loop indefinitely.

If the value of MSGNO specifies an IBM-supplied message number, the default value for this option is listed in "Extended Error-Handling Subroutines and Error Option Table" of VS FORTRAN Version 2 Language and Library Reference . If the value of MSGNO specifies a new message number, the default value is 10.

INFOMSG = YES | NO
Specifies whether the message is an informational or an error message.
YES
Specifies that the message is informational only. In this case the following occurs:
  • No user error exit is taken.
  • The value of ALLOW is ignored. Running will not terminate, even if it reaches the designated number of errors allowed.
  • The error summary printed after termination of your program does not include a count of the number of times the condition occurred.
NO
Specifies that the message is an error message.
IOERR = YES | NO
Specifies whether this error message represents an I/O error for which error counting is to be suppressed when an ERR or IOSTAT option is given on the I/O statement.
YES
Specifies that if an ERR or IOSTAT option is given, the occurrence of the error is not to be counted toward the maximum number specified by the ALLOW option above. This should be specified only for those errors listed in VS FORTRAN Version 2 Language and Library Reference for which the ERR and IOSTAT options are honored.
NO
Specifies that the error occurrence is to be counted toward the maximum number of errors allowed.
MODENT = YES | NO
Specifies whether the ERRSET subroutine can be used to modify the error option table entry for this message.
YES
Specifies that the entry can be modified.
NO
Specifies that the entry cannot be modified.

If you code a YES value for an IBM-supplied error message whose default is NO, and you then modify this entry using the ERRSET subroutine, you might receive undesirable results. Check the topic "Extended Error-Handling Subroutines and Error Option Table" of VS FORTRAN Version 2 Language and Library Reference to find out which message numbers have a "Modifiable Entry" value of NO.

PRINT = prmsg
Specifies the number of times the error message is to be printed. Subsequent occurrences of the error do not cause the message to be printed again.
prmsg
Specifies the number of times the message is to be printed. To specify an exact number of times printed, prmsg must be a positive integer, with a maximum of 254. A "0" means the message will not be printed. Specifying 255 means the message can be printed an unlimited number of times.

If the value of MSGNO specifies an IBM-supplied message number, the default value for this option is listed in the chapter "Extended Error-Handling Subroutines and Error Option Table" in VS FORTRAN Version 2 Language and Library Reference If the value of MSGNO specifies a new message number, the default value is 5.

PRTBUF = YES | NO
Specifies whether the I/O buffer is to be printed following certain I/O errors.
YES
Specifies that the contents of the buffer are to be printed.
NO
Specifies that the contents of the buffer are not to be printed.

This option applies only to IBM-supplied error messages. Do not code YES unless the IBM-supplied default for this error message number already allows the buffer to be printed. Check the topic "Extended Error-Handling Subroutines and Error Option Table" in VS FORTRAN Version 2 Language and Library Reference to find out which message numbers have a "Print Buffer" value of YES.

TRACBAK = YES | NO
Specifies whether a module traceback listing is to be printed following the error message.
YES
Specifies that the traceback listing is to be printed.
NO
Specifies that the traceback listing is not to be printed.
USREXIT = exitname
Specifies the user error exit routine that is invoked following the printing of the error message.
exitname
Specifies the entry point name of the user error exit routine. The routine should not be written in VS FORTRAN and should be reentrant.

If the routine is specified here, instead of being specified as an option passed to the ERRSET subroutine, the routine is invoked when the error occurs for any user. In this case, the routine will be invoked, regardless of whether the ERRSET routine was used or not. (However, unless a MODENT value of NO is in effect, programs can still call ERRSET dynamically to specify their own exit routine instead of the one specified by USREXIT.)

For programs operating in link mode, the user error exit routine must be link-edited with all users’ programs.

To make the user error exit routine available to users who operate in load mode, the routine must be included in the composite module AFH5RENA. Then, if the user error exit routine must communicate with the program in which the error was detected, it must do so using a dynamic common area, not a static one.

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014