DFHREST 通信区域
CICS®提供的缺省事务重新启动程序是用汇编程序编写的,包含用于执行以下操作的逻辑:
- 对 CICS 传递给它的通信区域进行寻址
- 决定是否请求事务重新启动
- 如果请求重新启动,请向 CSMT 发送消息
- 使用 EXEC CICS RETURN 命令向 CICS 返回控制。
通信区域由 XMRS_COMMAREA DSECT 映射,它包含在 DFHXMRSD 副本中。 C®、 COBOL 和 PL/I 的等效结构分别包含在副本 DFHXMRSH、DFHXMRSO 和 DFHXMRSP 中。
在通信区传递的信息如下:
- XMRS_FUNCTION
- 在 1 字节字段中,指示此重新启动程序调用的函数代码。 这始终设置为 1 ,这等同于
XMRS_TRANSACTION_RESTART,这意味着将调用 DFHREST 来处理事务重新启动。 - xmrs_component_code
- 在 2 字节字段中指示调用者的组件代码。 此值始终设置为 XM ,这等同于
XMRS_TRANSACTION_MANAGER。 事务管理器是 CICS 组件,用于协调是否重新启动事务的决策。 - XMRS_READ
- 在 1 字节字段中,指示事务是否发出了除初始输入以外的任何终端读请求。此参数的等同值为:
- XMRS_READ_YES
- 表示事务已执行终端读取。
- XMRS_READ_NO
- 表示未执行终端读取。
- XMRS_WRITE
- 在 1 字节字段中,指示事务是否已发出任何终端写请求。此参数的等同值为:
- XMRS_WRITE_YES
- 表示事务已执行终端写操作。
- XMRS_WRITE_NO
- 表示事务尚未执行终端写操作。
- XMRS_同步点
- 在 1 字节字段中指示事务是否已执行任何同步点。此参数的等同值为:
- xmrs_syncpoint_yes
- 表示已执行一个或多个同步点。
- xmrs_syncpoint_no
- 表示未执行任何同步点。
- xmrs_restart_count
- 这指示作为无符号半字二进制值的事务已重新启动的次数。
如果尚未重新启动事务,那么为零。 它 不是 事务定义的重新启动总数。 相反,它是正在尝试 (例如) 处理单个操作程序输入的事务的重新启动总数。
- xmrs_original_abend_code
- 提供事务记录的第一个异常终止代码。
- xmrs_current_abend_code
- 提供当前异常终止代码。 例如,如果事务处理异常终止并在稍后异常终止,那么原始异常终止代码和当前异常终止代码的值可能不同。
- XMRS_RESTART
- 这是事务重新启动程序设置的 1 字节输出字段,用于指示它是否希望 CICS 重新启动事务。此字段的等同值为:
- xmrs_restart_yes
- 请求重新启动。
- xmrs_restart_no
- 请求不重新启动。