This routine obtains a scalar character value from a parameter. The
value must be either:
- one of a supplied list of acceptable values, with unambiguous abbreviations accepted; or
- a numeric character string equivalent to a number, and the number must lie within a
supplied range of acceptable values.
A dynamic default may be suggested.
PARAM = CHARACTER
(
) (Given)
The name of the parameter.
DEFAUL = CHARACTER
(
)
(Given)
The suggested-default value for the parameter. No default will be suggested when
DEFAUL is not numeric within the range of acceptable values defined by VMIN and VMAX,
and not one of the options defined by OPTS. A status of PAR__AMBIG is returned if the
default is ambiguous, i.e. an abbreviation of more than one of the options.
VMIN = ?
(Given)
The value immediately above a range wherein the obtained numeric value cannot
lie. Thus if VMAX is greater than VMIN, VMIN is the minimum numeric value allowed
for the obtained value. However, should VMAX be less than VMIN, all numeric values
are acceptable except those between VMAX and VMIN exclusive.
VMAX = ? (Given)
The value immediately below a range wherein the obtained numeric value cannot lie.
Thus if VMAX is greater than VMIN, VMAX is the maximum numeric value allowed for
the obtained value. However, should VMAX be less than VMIN, all numeric values are
acceptable except those between VMAX and VMIN exclusive.
OPTS = CHARACTER
(
)
(Given)
The list of acceptable options for the value obtained from the parameter. Items should be
separated by commas. The list is case-insensitive.
NULL = LOGICAL (Given)
NULL controls the
behaviour of this routine when the parameter is in the null state. If NULL is .FALSE., this routine
returns with STATUS=PAR__NULL. If NULL is .TRUE., the returned VALUE takes the value of
DEFAUL and, if the
MSG filtering level (see SUN/104) is ‘verbose’, a message informs the user of the
value used for the parameter. The routine then returns with STATUS=SAI__OK. This feature is
intended for convenient handling of null values. NULL should only be set to .TRUE. when the value
of DEFAUL will always give a reasonable value for the parameter.
VALUE = CHARACTER
(
)
(Returned)
The selected option from the list or the character form of the numeric value. The former is
in uppercase and in full, even if an abbreviation has been given for the actual parameter. If STATUS is
returned not equal to SAI__OK, VALUE takes the value of DEFAUL.
STATUS = INTEGER (Given
and Returned)
The global status.