FETCH ANY
父任务使用 EXEC CICS FETCH ANY 命令来查询任何子任务的状态,并返回尚未访存的任何已完成子任务的状态。
语法
条件: INVREQ , NOTFND 和NOT成品
此命令是线程安全的。
NOHANDLE、RESP 和 RESP2是常用选项,可添加到所有 EXEC CICS 命令中以处理错误条件。 命令语法图和选项说明中没有明确包含这些选项。 有关这些常用选项和 EXEC CICS 命令语法的信息,请参阅 EXEC CICS 命令格式和编程注意事项.
描述
EXEC CICS FETCH ANY 由父任务用于查询任何子任务的状态。 当任何符合条件的子任务完成时,或者当没有任何未访存的子任务剩余时, FETCH ANY 将返回。
选项
- ABCODE (数据区)
- 如果子任务异常终止,那么返回 4 字符异常终止代码。 如果未发生异常终止,那么该变量将设置为空白。
- ANY (数据区)
- 指定 16 个字符的二进制数据区, CICS®® 将在其中放置访存的子令牌。 这将与 EXEC CICS RUN TRANSID 命令返回的令牌匹配。
CICS® 将仅返回尚未访存的子任务的令牌。
- CHANNEL (数据区)
- 返回由 CHILD 标识的子任务的应答通道的 16 个字符的名称。 该名称由 CICS 生成,并且在当前链接级别的作用域内是唯一的。 如果子任务没有返回响应的通道,那么此字段将包含空白。
子通道只能访存一次,并且访存的通道将保留在作用域中,直到链接级别发生更改为止。 有关通道作用域的更多信息,请参阅 通道作用域。
- COMPSTATUS (cvda)
- 返回一个 CVDA 值,指示子任务的完成状态。 CVDA 值包括:
- ABEND
- 子任务异常终止。
- NORMAL
- 子任务正常完成。
- SECERROR
- 由于安全错误,子任务未能连接。 ABCODE 为空。
- 无暂挂
- 指定命令将立即返回,而不等待任何剩余的子任务完成。 如果至少一个未访存的子代已完成,那么该命令将返回正常响应。
- 超时 (data-value)
- 指定全字二进制数据值,该值是命令在返回之前将等待任何剩余子任务完成的最大时间 (以毫秒计)。 最大值为 40800000 毫秒。 如果未指定 TIMEOUT ,或者指定的值为零,那么命令不会超时。
条件
- 113 未完成
- RESP2 值:
- 52
- 指定了 NOSUSPEND ,但运行该命令时没有要访存的已完成子代。
- 53
- 在 TIMEOUT 选项指定的时间间隔内未完成任何子代。
- 13 NOTFND
- RESP2 值:
- 1
- 找不到未访存的子代。
- 16 INVREQ
- RESP2 值:
- 52
- 父代没有子代。
- 241
- TIMEOUT 值无效。
