This routine obtains an exact number of values from a parameter. all of which must be within a supplied
range of acceptable values. Dynamic defaults may be defined.
PARAM = CHARACTER
(
) (Given)
The name of the parameter.
NVALS = INTEGER (Given)
The number of
values needed. Values will be requested until exactly this number (no more and no less) has
been obtained.
DEFAUL( NVALS ) = ? (Given)
The suggested-default values for the
parameter. No default will be suggested when any of the DEFAUL elements is not within the
range of acceptable values defined by VMIN and VMAX.
VMIN = ? (Given)
The value
immediately above a range wherein the obtained values cannot lie. Thus if VMAX is greater
than VMIN, VMIN is the minimum allowed for the obtained values. However, should
VMAX be less than VMIN, all values are acceptable except those between VMAX and
VMIN exclusive.
VMAX = ? (Given)
The value immediately below a range wherein the
obtained values cannot lie. Thus if VMAX is greater than VMIN, VMAX is the maximum
allowed for the obtained values. However, should VMAX be less than VMIN, all values are
acceptable except those between VMAX and VMIN exclusive.
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.
VALUES( NVALS ) = ? (Returned)
The values associated
with the parameter. If STATUS is returned not equal to SAI__OK, VALUE takes the values
of DEFAUL.
STATUS = INTEGER (Given and Returned)
The global status.