The CICS-supplied default transaction restart program is written in assembler
and contains logic to:
- Address the communications area passed to it by CICS®
- Decide whether or not to request transaction restart
- Send a message to CSMT if restart is requested
- Return control to CICS using the EXEC CICS RETURN command.
The communications area is mapped by the XMRS_COMMAREA DSECT,
which is supplied in the DFHXMRSD copybook. The equivalent structures for
C, COBOL, and PL/1 are contained in the copybooks DFHXMRSH, DFHXMRSO, and
DFHXMRSP, respectively.
The information passed in the communications area is as follows:
- XMRS_FUNCTION
- Indicates, in a 1-byte field, the function code for this call to the
restart program. This is always set to 1, which equates to XMRS_TRANSACTION_RESTART, which means that DFHREST is called to handle transaction restart.
- XMRS_COMPONENT_CODE
- Indicates, in a 2-byte field, the component code of the caller. This
is always set to XM, which equates to XMRS_TRANSACTION_MANAGER.
The transaction manager is the CICS component that coordinates the decision
whether or not to restart a transaction.
- XMRS_READ
- Indicates, in a 1-byte field, whether the transaction has issued any
terminal read requests, other than for initial input.
The equated values
for this parameter are:
- XMRS_READ_YES
- Means a terminal read has been performed by the transaction.
- XMRS_READ_NO
- Means no terminal read has been performed.
- XMRS_WRITE
- Indicates, in a 1-byte field, whether the transaction has issued any
terminal write requests.
The equated values for this parameter are:
- XMRS_WRITE_YES
- Means a terminal write has been performed by the transaction.
- XMRS_WRITE_NO
- Means a terminal write has not been performed by the transaction.
- XMRS_SYNCPOINT
- Indicates, in a 1-byte field, whether the transaction has performed
any syncpoints.
The equated values for this parameter are:
- XMRS_SYNCPOINT_YES
- Means one or more syncpoints have been performed.
- XMRS_SYNCPOINT_NO
- Means no syncpoints have been performed.
- XMRS_RESTART_COUNT
- This indicates, as an unsigned, half-word binary value, the number of
times the transaction has been restarted.
It is zero if the transaction
has not been restarted. It is not the total number of
restarts for the transaction definition. Rather it is the total number of
restarts for transactions that are attempting, for example, to process a single
piece of operator input.
- XMRS_ORIGINAL_ABEND_CODE
- Provides the first abend code recorded by the transaction.
- XMRS_CURRENT_ABEND_CODE
- Provides the current abend code. The values of the original abend code
and the current abend code can be different if, for example, a transaction
handles an abend and then abends later.
- XMRS_RESTART
- This is a 1-byte output field that the transaction restart program sets
to indicate whether it wants CICS to restart the transaction.
The equated
values for this field are:
- XMRS_RESTART_YES
- Requests a restart.
- XMRS_RESTART_NO
- Requests no restart.

[[ Contents Previous Page | Next Page Index ]]