DBCTL 异常终止和返回码的汇总
列出了 DBCTL 环境中的调度故障代码和异常终止,以及因为 DBCTL 不可用或无法找到 PSB 而在 PSB 调度请求中可能出现的条件。
使用 DBCTL 时,程序规范块 (PSB) 调度请求可能会失败,因为 DBCTL 不可用,或者因为找不到 PSB。 但是,在成功执行 PSB 调度后, CICS® 可能由于某种原因与 DBCTL 断开连接,并且后续 DBCTL 请求将失败。 这种情况是 DBCTL 环境所独有的,会导致发出 ADCJ 异常终止。 表 1 汇总了 DBCTL 环境中的调度故障代码和异常终止,以及由于 DBCTL 不可用或找不到 PSB 而在 PSB 调度请求上可能出现的情况。
| 请求 | EXEC 异常终止 | 所有 UIBDLTR | 呼叫 UIBFCTR | CALL 异常终止 | 说明 |
|---|---|---|---|---|---|
| PSB 调度或 DL/I 请求 | ADCA | ---- | ---- | ADCA | 在 DBCTL 中检测到错误。 |
| DL/I 请求 | 阿布扎比商业银行 | ---- | ---- | 阿布扎比商业银行 | 未调度 PSB。 |
| PSB 调度请求 | ADCC | ---- | ---- | ADCC | 在 DBCTL 中检测到已调度的 PSB。 |
| DL/I 请求 | ADCD | ---- | ---- | ADCD | 检测到死锁。 |
| PSB 调度或 DL/I 请求 | ADCE | ---- | ---- | ADCE | 从 DFHDBAT 返回了错误的响应代码。 |
| DL/I 请求 | ADCI | ---- | ---- | ADCI | 锁定未完成。 |
| DL/I 请求 | ADCJ | ---- | ---- | ADCJ | DBCTL 在 DL/I 请求 1上不可用。 |
| PSB 调度或 DL/I 请求 | ADCN | ---- | ---- | ADCN | 在 DBCTL 中运行时发出 FORCEPURGE。 |
| PSB 调度请求 | ADCP | ---- | ---- | ADCP | 用户无权使用 PSB。 |
| PSB 调度请求 | ADCQ | ---- | ---- | ADCQ | 未指定 SYSSERVE 关键字或 I/O PCB 选项,并且 PSB 不包含任何 DB PCB。 |
| DL/I 请求 | ADCR | ---- | ---- | ADCR | DL/I 请求 (PSB 调度除外) 在 DBCTL 未连接时发出。 |
| PSB 调度请求 | ADDA | ---- | ---- | ADDA | 来自存储域的错误响应。 |
| PSB 调度或 DL/I 请求 | 地址 | ---- | ---- | 地址 | CICS 锁定管理器调用失败。 |
| 终止请求 | ASPR | ---- | ---- | ASPR | 发出了单相落实请求,但 CICS 无法报告结果。 IMS 更新已回退或已落实。 IMS 不会对 UOW 产生任何疑问。 |
| 终止请求 | ASP7 | ---- | ---- | ASP7 | 单阶段落实请求失败。 IMS 已回退 UOW 中的任何更新。 |
| PSB 调度请求 | DHTA | X'01 ' (PSBNF) | X'08 ' (INVREQ) | ---- | 找不到 PSB 2。 |
| PSB 调度请求 | DHTC | X'03 ' (PSBSCH) | X'08 ' (INVREQ) | ---- | 已在 CICS中检测到 PSB 调度。 |
| PSB 调度请求 | DHTE | X'05 ' (PSBFAIL) | X'08 ' (INVREQ) | ---- | PSB 初始化失败。 |
| 终止请求 | DHTG | X'07 ' (TERMNS) | X'08 ' (INVREQ) | ---- | 未调度 PSB。 |
| DL/I 请求 | DHTH | X'08 ' (FUNCNS) | X'08 ' (INVREQ) | ---- | 未调度 PSB ,由 CICS检测到。 |
| PSB 调度请求 | DHTJ | X'FF ' (DLINA) | X'08 ' (INVREQ) | ---- | DBCTL 在 PSB 调度 3上不可用。 |
| PSB 调度, DL/I 和终止请求 | DHxx | ---- | ---- | ---- | 很多原因。 xx 是 PCB 状态码。 (另请参阅 在 EXEC DLI SCHD PSB 故障后防止 DHxx 异常终止。) |
| PSB 调度或 DL/I 请求 | ---- | X'00 ' (INVARG) | X'08 ' (INVREQ) | ---- | 参数无效。 |
| PSB 调度或 DL/I 请求 | ---- DIB-STAT 中的 TR 状态码 | X'14 ' (NOTDONE) | X'08 ' (INVREQ) | ---- | 全局用户出口 XDLIPRE 指示不应运行 DL/I 请求。 |
注:
- DBCTL 正在使用中,并且已调度 PSB。 但是, CICS 与 DBCTL 之间的连接已断开。
- 在 PDIR 中找不到 PSB , DBCTL 未就绪。 或者,在 PDIR 中找不到 PSB , DBCTL 已就绪,但在 DBCTL APPLCTN 中找不到 PSB。
- DL/I 请求时 DBCTL 未就绪。
如果将远程 DL/I 与 DBCTL 配合使用,那么还可能会收到此处未列出的 Axxx 和 DHxx 异常终止。
有关 DL/I 状态码的详细信息以及有关 DH Xx 异常终止的信息 (其中 Xx 指示 DL/I 状态码) ,请参阅 IMS 产品文档中的 IMS 消息和代码。