On the first call
of this routine, the error table for the current error context is copied into a holding area, the current
context is annulled and the first message in the holding area is returned. Thereafter, each time the
routine is called, the next message from the holding area is returned. The argument PARAM is the
returned message name and PARLEN the length of the message name. OPSTR is the returned error
message text and OPLEN is the length of the error message. If the message text is longer than the
declared length of OPSTR, then the message is truncated with an ellipsis,
i.e. “…”, but no error
results.
The status associated with the returned message is returned in STATUS until there are no more
messages to return – then STATUS is set to SAI__OK, PARAM and OPSTR are set to blanks and
PARLEN and OPLEN to 1. If there are no messages pending on the first call, a warning message is
generated and returned with STATUS set to EMS__NOMSG.
After STATUS has been returned SAI__OK, the whole process is repeated for subsequent calls.
PARAM = CHARACTER
∗ (
∗ ) (Returned)
The error message name.
PARLEN = INTEGER (Returned)
The length of the error message name.
OPSTR =
CHARACTER ∗
( ∗ )
(Returned)
The error message – or blank if there are no more messages.
OPLEN = INTEGER
(Returned)
The length of the error message.
STATUS = INTEGER (Returned)
The status associated
with the returned error message: it is set to SAI__OK when there are no more messages.