Report an error message. According to the error
context, the error message is either sent to the user or retained in the error table. The latter case allows
the application to take further action before deciding if the user should receive the message. On exit
the values associated with any existing message tokens are left undefined. On successful completion,
STATUS is returned unchanged.
If STATUS is set to SAI__OK on entry, an error report to this effect is made on behalf of the application
and STATUS is returned set to ERR__BADOK; the given message is still reported and has status
ERR__UNSET associated with it.
If an output error occurs, STATUS is returned set to ERR__OPTER.