编写 CICS-DBCTL 接口状态程序
CICS®-DBCTL 接口状态程序 DFHDBUEX 是用户可替换程序,构成对 CICS-DBCTL 接口的支持的一部分。 它设计为每当 CICS 成功连接到 DBCTL 或从中断开连接时调用用户提供的代码。 它在 CICS 应用程序环境中运行,并在特定点驱动,以允许您在 CICS-DBCTL 接口初始化或终止时启用和禁用自己的 CICS-DL/I 事务。
对于 ENABLE 命令,将在以下情况下调用 DFHDBUEX:
- CICS 已成功连接到 DBCTL。 这是在从 CICS 向 DBCTL 发出连接请求之后发生的。 控制出口 (DFHDBCTX) 由数据库资源适配器 (DRA) 针对 "初始化完成" 调用。 控制出口发布控制事务 (CDBO)。 然后,控制程序 (DFHDBCT) 调用 DFHDBUEX。
- 已发出从 DBCTL 断开连接的请求。 CICS-DBCTL 菜单程序 (DFHDBME) 启动断开连接事务 (CDBT) 以与 DBCTL 断开连接。 断开连接程序 (DFHDBDSC) 在向适配器发出接口终止请求之前调用 DFHDBUEX。
- 控制事务 (CDBO) 已收到下列其中一个事件的通知:
- 对 DBCTL 的检查点冻结请求
- DRA 异常终止
- DBCTL 异常终止。
DFHDBUEX 的输入是通过 DFHEICAP 寻址的通信区域进行的。 通信区域的布局如 图 1所示。图 1。 DFHDBUEX 通信区
DBUSHEAD DS OCL4 Standard Header
DBUREQT DS CL1 Function Code
DBUCOMP DS CL2 Component Code Always "DB"
DBURESV DS CL1 Reserved
DBUREAS DS CL1 Reason for disconnection
DBUSUFF DS CL2 DRA startup table suffix
DBUDBCTL DS CL4 DBCTL identifier
参数列表包含以下信息:
- DBUREQT
- 请求类型。 函数代码具有下列其中一个值:
- DBUCONN (X'01 ')
- 已连接
- DBUDISC (X'02 ')
- 已断开连接。
- DBUREAS
- 断开连接的原因。 包含标志:
- DBUMENU (X'01 ')
- 已从菜单断开连接
- DBUDBCC (X'02 ')
- DBCTL 的检查点冻结输入
- DBUDRAF (X'03 ')
- DRA 发生故障
- DBUDBCF (X'04 ')
- 发生 DBCTL 故障。
- DBUSUFF
- DRA 启动表后缀。
- DBUDBCTL
- DBCTL 标识。