|
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
- 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.
|