This section describes how the Gateway handles TIBCO Object Service Broker requests with respect to the following:
If your TIBCO Object Service Broker transaction is running in browse mode, the Ready Mode specified in the first IDM table accessed in the transaction determines how CA‑IDMS data is locked. If your TIBCO Object Service Broker transaction is running in browse mode, a shared retrieval (SR) Ready Mode is automatically used, regardless of what is specified in the first IDM table accessed in the transaction. No locks are taken in browse mode and you cannot update the data. A CA‑IDMS transaction spans the same length of time as a TIBCO Object Service Broker transaction.
Transactions that update only CA‑IDMS data are recoverable under CA‑IDMS.
TIBCO Object Service Broker provides a method of ensuring data integrity when a TIBCO Object Service Broker transaction updates both CA‑IDMS and TIBCO Object Service Broker data in the same transaction. This method is referred to as Fail Safe level‑1 processing.
If you did not request Fail Safe processing, transactions that update both CA‑IDMS and TIBCO Object Service Broker data can result in discrepancies if the Gateway or the Data Object Broker abnormally terminates during transaction end processing. Refer to
Implementing Fail Safe Processing for more information.
When a ROLLBACK request is sent to the Gateway, a DML ROLLBACK is sent to CA‑IDMS and the TDS Intent Lists are discarded.
The TIBCO Object Service Broker runtime environment signals system exceptions to permit an application to recover from an error. A three-level hierarchy of exceptions exists. All errors encountered when accessing CA‑IDMS data through the Gateway are trapped under one of the following exceptions:
You must pass @SERVERERROR the contents of
RETURN_MESSAGE, which has the following format:
If a specific message from a specific instance of Service Gateway for IDMS/DB has some information that is required to process the error, the table-driven approach to the execution of
@SERVERERROR causes a rule (specified for that error by the developer using
@SERVERERROR) to execute. The error message is interpreted in the
@SERVERERROR processing and put into a temporary table until required.
To customize error handling, you must update data in the @IDMSTATUSCODES control table. The definition of these tables is owned by TIBCO Object Service Broker and must not be modified. The data you update in them is owned by you.
When the SERVERERROR exception is raised and the @SERVERERROR rule is called by your application, the following steps take place:
@SERVERERROR can be called at any time, although it is useful only for parsing TIBCO Object Service Broker IDMS/DB messages generated due to external CA‑IDMS errors. The original message can always be retrieved using @SE_MSG when
@SERVERERROR has been called. The information parsed by
@SERVERERROR has transaction scope.
You can add your own instances in the @SERVERMSGCNTL table, provided that the OWNER specified begins with letters A to Z and the key values in their instance are message identifiers in the form ID
nnnx mentioned on
page 103.