Reporting Errors from Client-Library and CS‑Library
The format that RWDBStatus uses to report errors from Client-Library and CS‑Library follows this paragraph. Notice that errors with a severity level zero are given special handling: the RWDBStatus::errorCode is set to RWDBStatus::ok, the rest of the RWDBStatus is populated, and an application's error handler (if any) is invoked. This means that SourcePro DB applications ignore these errors by default, but an application can process them if necessary. It also means that the error handler for the application should check vendorError2 (severity) before raising an exception.
*errorCode: RWDBStatus::vendorLib, unless the severity is zero, as rated by Client-Library or CS-Library. If severity is zero, errorCode is set to RWDBStatus::ok, and the user-installed error handler is invoked.
*message: [VENDORLIB] Vendor Library Error:%s, where %s is the error text from Client-Library or CS-Library (CS_CLIENTMSG.msgstring).
*vendorMessage1: The text reported by Client-Library or CS-Library as an operating system error, if any (CS_CLIENTMSG.osstring).
*vendorMessage2: The text that describes the error (CS_CLIENTMSG.sqlstate). Not all client messages have state values associated with them.
*vendorError1: The Client-Library or CS-Library error number (CS_CLIENTMSG.msgnumber).
*vendorError2: The error's severity level (CS_CLIENTMSG.severity).