When an action line returns a value that is not a standard OpenVMS
status, the .ACTION_STATUS directive can be used to define how the
equivalent OpenVMS severity can be determined from the foreign status
value.
The action line prefix, ?name, indicates those action lines for which
the severity must be determined according to the named ACTION_STATUS
directive.
The ACTION_STATUS directive has the following form:
(use the line continuation character '-' if the directive uses more
than one line)
.ACTION_STATUS name [ .MASK m ]
[ .SUCCESS { s1,s2,... | OTHERS } ]
[ .INFORMATION { i1,i2,... | OTHERS } ]
[ .WARNING { w1,w2,... | OTHERS } ]
[ .ERROR { e1,e2,... | OTHERS } ]
[ .FATAL { f1,f2,... | OTHERS } ]
where,
Name is any sequence of characters not starting with a punctuation
character and terminated by comma, space or tab (punctuation
characters are ! : ; , # ).
m,s,i,w,e,f are decimal, octal or hex numbers
(octal numbers are 0... and hex numbers are %x... or 0x...).
Space, tab or comma can be used as the separators in a list of
numbers.
OTHERS can only be specified for one severity.
If OTHERS is not specified, it will default to the least severe of
any undefined severity (or ERROR if all severity values are
defined).
The directive is effective over the entire file.
It is an error to specify two ACTION_STATUS directives with the same
name.
MMS will then interpret the status returned from an action line
prefixed by ?name as follows:
If mask is specified, extract value from the action line status
using the mask value; the extracted value is shifted right to match
the first bit in the mask.
If mask is not specified, extracted value is the action line status.
Determine the severity associated with the extracted value.
MMS will then continue, treating this severity as if it were a standard
OpenVMS $SEVERITY.