persistent class %XSQL.System.CacheMessageXRef
extends %Persistent, %XML.Adaptor
sys.messagesXref - lookup from one domain to another.
sys_message cross reference to look up XSQL messages given 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 messageText
as %String(MAXLEN=200,XMLPROJECTION="") [ Calculated ];
property xsqlDomain
as %String(XMLPROJECTION="ATTRIBUTE");
property xsqlId
as %Integer(XMLPROJECTION="");
classmethod %GetMessageText(pCacheMessageId As %Integer, pErrorCode As %String(MAXLEN=255))
as %String
classmethod findCache(pDomain As %String, 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 findXSQL(pDomain As %String, messageId As %Integer, errorCode As %String(MAXLEN=255)="0")
as %Integer
findXSQL - lookup a XSQL sys_messages id given a Caché messageId and errorCode
messageId is the Caché status id and errorCode is the submessage id.
classmethod linkCacheToXSQL(cacheStatus As %Integer, errorCode As %String(MAXLEN=255)="0", pDomain As %String, messageId As %Integer)
classmethod linkMessage(pDomain As %String, messageId As %Integer, cacheStatus As %Integer, errorCode As %String(MAXLEN=255)="0")
xref - link XSQL 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 linkXSQLToCache(pDomain As %String, messageId As %Integer, cacheStatus As %Integer, errorCode As %String(MAXLEN=255)="0")
classmethod unlinkCacheToXSQL(cacheStatus As %Integer, errorCode As %String(MAXLEN=255)="0", pDomain As %String, messageId As %Integer)
classmethod unlinkXSQLToCache(pDomain As %String, messageId As %Integer, cacheStatus As %Integer, errorCode As %String(MAXLEN=255)="0")
index (IDK on cacheMessage,errorCode,xsqlDomain) [IdKey];