SPOOLOPEN OUTPUT

打开假脱机报告以供输出。

语法

SPOOLOPEN OUTPUT

读取语法图跳过可视语法图SPOOLOPEN OUTPUTTOKEN( data-area)USERID( data-value)NODE( data-value)CLASS( data-value)OUTDESCR( ptr-引用)NOCCASAMCCPRINTPRINTRECORDLENGTH( data-value)PUNCHNOHANDLERESPRESP2

条件: ALLOCERR , ILLOGIC , INVREQ , ENGERR , NODEIDERR , NOSPOOL , NOSTG , NOTFND , NOTOPEN , OPENERR , OUTDESCERR , SPOLBUSY 和 STRELERR

NOHANDLERESPRESP2是常用选项,可添加到所有 EXEC CICS 命令中以处理错误条件。 命令语法图和选项说明中没有明确包含这些选项。 有关这些常用选项和 EXEC CICS 命令语法的信息,请参阅 EXEC CICS 命令格式和编程注意事项.

描述

SPOOLOPEN OUTPUT 命令打开从 CICS® 到系统假脱机程序的输出的假脱机报告,并定义其特征。

这将导致动态分配输出文件,使用 nodeid 指定远程目标,使用 userid 指定远程用户。 由于这是多线程输出请求,因此此服务的请求者可以进行交错。 此 SPOOLOPEN OUTPUT 命令使用户能够获取它期望创建 (写入) 的报告的令牌。 此标记用于在以后的 SPOOLWRITE 和 SPOOLCLOSE 命令中标识报告。

在本地设备上打印时,使用 NOCC | ASA | MCC 选项来控制输出格式化。 如果未指定格式,那么将使用缺省值 NOCC。 仅当使用值 "*" 指定时,才能使用 NODE 和 USERID 将数据集直接写入本地假脱机文件。

如果在事务结束之前未发出 SPOOLCLOSE ,那么 $TAG1 CICS $TAG2 将执行隐式 SPOOLCLOSE DELETE 并向 CSMT 写入一条消息,以提醒您可能存在不必要的资源保留。

注: 如果检索格式化数据集,那么系统假脱机程序可能已更改数据集格式。 例如,在创建数据集期间,系统假脱机程序可能已将 MCC 格式数据集转换为 ASA 格式。 这不会影响最终打印输出。

选项

行动协调局
指定报告具有每个以 ASA 回车控制字符作为前缀的记录,并且当打印报告时,操作系统必须使用此字符来控制格式化。
CLASS (data-value)
指定 1 字符类指定。 如果将其省略,那么将采用 A 类。
MCC
指定报告具有以 IBM® 机器命令代码回车控制字符作为前缀的每条记录,并且当打印报告时,操作系统必须使用此字符来控制格式化。
无抄送
指定报告没有内部格式化控件。 当打印报告时,操作系统将每个记录添加一个回车控制字符作为前缀,这将导致根据缺省操作系统 "每页行数" 值跳过页面。
节点 (data-value)
指定系统假脱机程序用于路由文件的目标节点的 8 字符标识。 它是发送方字段。 如果要指定本地假脱机文件并启用 OUTDESCR 操作数以覆盖 NODE 和 USERID 操作数,那么代码 NODE ('*') 和 USERID ('*')。 (请勿将 NODE ('*') 与任何其他用户标识配合使用。) 否则,请对实际 NODE 进行编码,NODE 是操作系统的名称(例如 MVS, VM),VTAM® 在执行 CICS 的 MVS 系统中已知该系统。 NODE (LOCAL) 也是有效的规范。

对 NODE 执行有效性检验。 对空白 (X'40 ') 和空 (X'00') 进行检查。

OUTDESCR (ptr-ref)
(仅MVS/SP—JES2 版本 3 或 JES3 版本 4.2.1 或更高版本的向上兼容发行版) 指定要设置为字段地址的指针变量,该字段包含 JCL 的 OUTPUT 语句的参数字符串的地址。 这称为双重间接寻址。 用户必须设置指针,地址字段和字符串。 这意味着无法从 CECI 中使用 OUTDESCR 选项。 字符串的格式为:
Offset Length Contents
0 4 Length (n) of following text string
4 n OUTPUT statement parameters
参数使用与 OUTPUT 语句相同的关键字和值,但语法略有不同。 以下是 OUTDESCR 参数字符串的格式:
keyword1(value1) [keyword2(value2)]
[keyword3(value3,value4)] ...
这对应于以下 OUTPUT 语句参数字符串:
keyword1=value1 [keyword2=value2]
[keyword3=(value3,value4)] ...

有关有效关键字和值的详细信息,请参阅 OUTPUT JCL 语句

OUTDESCR 操作数:
  • 仅当使用值 "*" 指定 NODE 和 USERID 操作数时,才能覆盖这些操作数。
  • 无法覆盖 CLASS 操作数,即使它被省略并且缺省为 A 类。

使用此操作数来设置假脱机数据集的其他属性。

PRINT
允许将大记录 (最大 32 760 字节) 写入假脱机。 这是缺省设置。 包含此内容是为了与 CICS Transaction Server for z/OS®随附的假脱机支持兼容。
打孔
如果输出数据集的 CLASS 参数暗示打孔,并且数据集的目标是 VM/RSCS 节点,那么必须指定此参数。 这将确保记录长度指示符设置为 80 ,这是对打孔文件的 VM/RSCS 要求。
RECORDLENGTH (data-value)
指定要写入打印数据集的最大记录长度作为半字二进制变量。 缺省值为 32 760。
TOKEN (数据区)
指定用于标识报告的 8 字符 CICS分配的令牌。
USERID (data-value)
指定处理报告的目标用户标识的 8 字符标识。 报告带有此标识,用于在其目标位置选择报告。 它是发送方字段,必须声明长度为 8 个字符。

如果要指定本地假脱机文件并启用 OUTDESCR 操作数以覆盖 NODE 和 USERID 操作数,那么代码为 USERID ('*') 以及 NODE ('*')。 否则,请对实际 USERID 进行编码。 USERID 的含义因操作系统而异。 在虚拟机中,它是一个特定的用户;在 MVS 中,它可能是一个 JES 外部写入器或另一个 JES 目的地、一个 TSO 用户或在该系统上执行的另一个作业。 一个这样的目标是 JES 内部阅读器,它通常具有保留名称 INTRDR。 如果您对实际的 USERID 进行编码,请勿使用 NODE ('*'); 而是对实际的 NODE 进行编码。

USERID 参数等同于 JES 中的 WRITER 参数。

将对 USERID 执行有效性检验。 对空白 (X'40 ') 和空 (X'00') 进行检查。

将内部阅读器缓冲区直接发送到 JES: 与其等待地址空间中的缓冲区填满,不如将内部阅读器缓冲区的内容通过编码作为最后一条记录直接发送到 JES:
      /*EOF

此控制语句对数据集中的作业进行定界,并使其符合立即处理的条件。

有关使用内部阅读器和其他 /* 控制语句的更多信息,请参阅 z/OS MVS JCL 用户指南

限制: 必须在 EXEC CICS SPOOLOPEN 命令上指定 RESPNOHANDLE 选项。

条件

注: 没有缺省操作。
85 ALLOCERR
在下列任何情况下发生:
  • 动态分配已拒绝用于分配输入数据集的请求。

    RESP2 给出了表示此错误的动态分配响应代码。 前两个字符是信息原因代码 (S99INFO) ,后两个字符是错误原因代码 (S99ERROR) ,如 z/OS MVS 编程中所定义:汇编程序服务指南中的定义。

21 不合逻辑
在下列任何情况下发生:
  • 指定的 CLASS 值无效。
16 INVREQ
RESP2 值:
4
不受支持的语言。
8
不受支持的功能。
16
缺少 USERID。
20
缺少 NODE。
36
缺少输入 | 输出。
40
已启用子系统接口。
注: 错误 1024 及以上是内部错误,不应该发生。 如果返回了其中一个错误代码,请与 IBM 支持中心联系。
44
OUTDESCR 字符串中出错。
48
指定了 OUTDESCR ,但功能不可用 ( CICS 或 JES 级别错误)。
52
指定了 OUTDESCR ,但在关键字上或 OUTDESCR 条件中找到错误的指针。
22 LENGERR
在下列任何情况下发生:
  • RECORDLENGTH 不在 0 到 32760 的范围内。 RESP2 显示了不正确的值。
90 个 NODEIDERR
在下列任何情况下发生:
  • JES 无法识别 SPOOLOPEN OUTPUT 上指定的 NODE/USERID 组合。

    RESP2 给出了表示此错误的动态分配响应代码。 前两个字符是信息原因代码 (S99INFO) ,后两个字符是错误原因代码 (S99ERROR) ,如 z/OS MVS 编程中所定义:汇编程序服务指南中的定义。

80 个假脱机
RESP2 值:
4
不存在子系统。
8
正在禁用接口; CICS 正在停顿。
12
接口已停止。
42 个 NOSTG
在下列任何情况下发生:
  • 在 JES 接口子任务 (DFHPSPSS) 中 GETMAIN 失败。

    RESP2 给出 GETMAIN 寄存器 15 返回码。

  • 没有足够的存储空间可用于复制和修改 OUTDESCR 参数字符串。
13 NOTFND
RESP2 值:
4
找不到用于检索指定外部写程序名称的数据集。
19 NOTOPEN
RESP2 值:
8
尚未打开数据集。
1024
子任务 OPEN 宏失败。
87 OPENERR
RESP2 值:
4
VSAM SHOWCB 宏未能返回用于访问 JES 假脱机文件的 VSAM 控制块的长度。
在下列任何情况下也会发生 (未设置RESP2 ):
  • 在 SPOOLOPEN 处理期间发生内部错误,已强制请求失败。
96 OUTDESCRERR
在下列任何情况下发生:
88 SPOLBUSY
RESP2 值:
4
接口已由另一个任务使用。
8
接口已由当前任务使用。
在以下情况下也会发生:
  • JES 接口中的 JES/input 单线程不可用。
86 STRELERR
在以下情况下发生:
  • 在 JES 接口子任务 (DFHPSPSS) 中 FREEMAIN 失败。

    RESP2 给出 FREEMAIN 寄存器 15 返回码。