Previous Page | Next Page

Common Messaging Interface Call Routines

COMMIT



Commits prior work that has been done via a transaction object.
Transports supported: MQSeries, MQSeries-C, MSMQ

Syntax
Arguments
Details
Example

Syntax

CALL COMMIT(transid, rc);

Arguments

transid

Numeric, input

Specifies the handle to a transaction object that is obtained from the BEGINTRANSACTION function.

rc

Numeric, output

Provides the return code from the CALL routine. If an error occurs, then the return code is nonzero. You can use the SAS function SYSMSG() in order to obtain a textual description of the return code.


Details

For MQSeries, all transactions are associated with a particular queue manager. So when you commit a unit of work that is associated with a particular queue manager, all work that is performed by that particular queue manager under synchpoint control is committed at once. You can associate more than one transaction object with the same queue manager, but it is not a good practice. Under MSMQ, all transaction objects are autonomous.


Example

The following example commits a transactional unit of work for processing:

length msg $ 200;
length transid rc 8;
rc=0;
call commit(transid, rc);
if rc ^= 0 then do;
  put 'COMMIT: failed';
  msg = sysmsg();
  put msg;
end;
else put 'COMMIT: succeeded';

Previous Page | Next Page | Top of Page