persistent class %TSQL.sys.cacheMsgXRef
extends %Persistent, %XML.Adaptor
sys.messagesXref - lookup from one domain to another.
sys_message cross reference to look up TSQL sys_messages give a Caché messageId and
an errorCode. errorCode from most Caché messages is '0' but for $$$CacheError and
$$$SQLError the errorCode corresponds to the $ZError and SQLCODE values respectively.
This class is not intended for use in error reporting. It is simply a way to convert
a message from one domain into an equivalent message in another domain.
property cacheMessage
as %Integer(XMLPROJECTION="ATTRIBUTE");
property errorCode
as %String(MAXLEN=255,XMLPROJECTION="ATTRIBUTE");
property tsqlId
as %Integer(XMLPROJECTION="");
classmethod findCache(messageId As %Integer)
as %String
Lookup a Caché messageId and errorCode given a sys_messages id
This is used commonly for a RAISEERROR statement
classmethod findTSQL(messageId As %Integer, errorCode As %String(MAXLEN=255)="0")
as %Integer
findTSQL - lookup a TSQL sys_messages id given a Caché messageId and errorCode
messageId is the Caché status id and errorCode is the submessage id.
classmethod linkCacheToTSQL(cacheStatus As %Integer, errorCode As %String(MAXLEN=255)="0", messageId As %Integer)
classmethod linkMessage(messageId As %Integer, cacheStatus As %Integer, errorCode As %String(MAXLEN=255)="0")
xref - link TSQL message to Cache message and invert the link
not every message link has an inverse because a given message only uses one
inverse message but it may be used by many inverse messages.
classmethod linkTSQLToCache(messageId As %Integer, cacheStatus As %Integer, errorCode As %String(MAXLEN=255)="0")
classmethod unlinkCacheToTSQL(cacheStatus As %Integer, errorCode As %String(MAXLEN=255)="0", messageId As %Integer)
classmethod unlinkTSQLToCache(messageId As %Integer, cacheStatus As %Integer, errorCode As %String(MAXLEN=255)="0")
index (IDK on cacheMessage,errorCode) [IdKey];