Sequences of characters enclosed by a single percent sign on each end (for example, %TOKEN%) are treated as variables when supplied with matching values. When preparing the message for output, the database server replaces each variable with its actual value. The database server searches for the message in which all components of the locale (language, territory, and code set) match its own. If only the language and territory match, it converts the code set. If there is no message with matching language and territory, it uses the first available message with the correct language. If there is no message in the appropriate language, it uses the message for the default language, en_us. Messages are converted to the appropriate code set and formatting styles before being sent to the client. For more information on the syserrors system catalog table, see the Informix Guide to SQL: Syntax.
For more information about mi_db_error_raise(), see the description of this function in Chapter 12.