SPOOLREAD
SPOOLREAD 命令从系统假脱机程序获取下一个记录。
语法
条件: ALLOCERR , ENDFILE , ILLOGIC , INVREQ , ENGERR , NOSPOOL , NOSTG , NOTFND , NOTOPEN , SPOLBUSY ,SP接连, STRELERR
NOHANDLE、RESP 和 RESP2是常用选项,可添加到所有 EXEC CICS 命令中以处理错误条件。 命令语法图和选项说明中没有明确包含这些选项。 有关这些常用选项和 EXEC CICS 命令语法的信息,请参阅 EXEC CICS 命令格式和编程注意事项.
选项
- INTO (data-area)
- 指定可变长度数据的数据区。 它是接收方字段。
- MAXFLENGTH (data-value)
- 指定传输数据的最大长度作为全字二进制变量。 这是用户在输入时设置的。 length 的限制为 32 760 字节。 这是用于读取记录的 CICS® 缓冲区的最大大小。
- TOFLENGTH (数据区)
- 以全字二进制变量的形式指定传输的数据的长度。 这是由 CICS 在输入时设置的。 它是可选的,如果省略它,那么不会通知您接收到的数据的实际长度。
- TOKEN (数据区)
- 指定用于标识报告的 8 字符 CICS分配的令牌。
限制: 必须在 EXEC CICS SPOOLREAD 命令上指定 RESP 或 NOHANDLE 选项。
条件
注: 没有缺省操作。
- 85 ALLOCERR
- 在下列任何情况下发生:
- 动态分配已拒绝用于分配输入数据集的请求。
RESP2 给出了表示此错误的动态分配响应代码。 前两个字符是信息原因代码(S99INFO),后两个字符是错误原因代码(S99ERROR),如 z/OS MVS 编程中所定义:授权汇编器服务指南。
- 动态分配已拒绝用于分配输入数据集的请求。
- 20 个 ENDFILE
- 在下列任何情况下发生:
- 已检索正在读取的当前假脱机文件的所有数据。 应继续尽快发出 SPOOLCLOSE 命令,以释放对 JES 单线程的锁定,并终止当前 SYSOUT 数据集处理。
- 21 不合逻辑
- RESP2 值:
- 3
- 指定的 CLASS 值无效。
- 16 INVREQ
- RESP2 值:
- 4
- 不受支持的语言。
- 8
- 不受支持的功能。
- 12
- 在文件结束后尝试读取。
- 24
- INTO 缺失。
- 40
- 已启用子系统接口。注: 错误 1024 及以上是内部错误,不应该发生。 如果返回了其中一个错误代码,请与 IBM® 支持中心联系。
- 22 LENGERR
- 在下列任何情况下发生:
- 您提供了足够的缓冲区空间来读取记录,或者请求的缓冲区大小超过允许的最大缓冲区大小 32 760 字节 (用于读取记录的 CICS 缓冲区的大小)。 如果缓冲区空间太小,那么它将接收尽可能多的数据。 然后将截断的数据量放在 RESP2 字段中。 如果指定了 TOFLENGTH 操作数,那么记录的实际长度将放在此处。注: 如果由于缓冲区空间不足而发生长度错误,那么直到更正错误并重新读取当前记录之后,才会读取下一条记录。
RESP2 指示截断的数据量,如果 MAXFLENGTH 字段大于允许的最大缓冲区大小 32 760 字节,那么显示零。
- 您提供了足够的缓冲区空间来读取记录,或者请求的缓冲区大小超过允许的最大缓冲区大小 32 760 字节 (用于读取记录的 CICS 缓冲区的大小)。 如果缓冲区空间太小,那么它将接收尽可能多的数据。 然后将截断的数据量放在 RESP2 字段中。 如果指定了 TOFLENGTH 操作数,那么记录的实际长度将放在此处。
- 80 个假脱机
- RESP2 值:
- 4
- 不存在子系统。
- 8
- 正在禁用接口; CICS 正在停顿。
- 12
- 接口已停止。
- 42 个 NOSTG
- 在下列任何情况下发生:
- 在 JES 接口子任务 (DFHPSPSS) 中 GETMAIN 失败。
RESP2 给出 GETMAIN 寄存器 15 返回码。
- 在 JES 接口子任务 (DFHPSPSS) 中 GETMAIN 失败。
- 13 NOTFND
- RESP2 值:
- 4
- 找不到用于检索指定外部写程序名称的数据集。
- 19 NOTOPEN
- RESP2 值:
- 8
- 尚未打开数据集。
- 12
- 尝试读取输出文件。
- 1024
- 子任务 OPEN 宏失败。
- 88 SPOLBUSY
- RESP2 值:
- 4
- 接口已由另一个任务使用。
- 8
- 接口已由当前任务使用。
在下列任何情况下也会发生 (未设置RESP2 ):- JES 接口中的 JES/input 单线程不可用。
- 89 容错器
- 在下列任何情况下发生:
- 子系统接口宏 (IEFSSREQ) 已失败。 未选择输入数据集名称。
RESP2 提供了 "IEFSSREQ" 响应代码。
- 子系统接口宏 (IEFSSREQ) 已失败。 未选择输入数据集名称。
- 86 STRELERR
- 在下列任何情况下发生:
- 在 JES 接口子任务 (DFHPSPSS) 中 FREEMAIN 失败。
RESP2 给出 FREEMAIN 寄存器 15 返回码。
- 在 JES 接口子任务 (DFHPSPSS) 中 FREEMAIN 失败。
