EXEC CICS 命令格式和编程注意事项
EXEC CICS 命令用于以汇编程序、C®、 或 编写的应用程序。 COBOL PL/I EXEC CICS 命令的一般格式是 EXECUTE CICS(或 EXEC CICS),后面是所需命令的名称,可能还有一个或多个选项。
有关 Java 应用程序中的相应命令,请参阅 JCICS API 与 EXEC CICS API 的映射。
EXEC CICS 命令格式
EXEC CICS command option(arg)....- 命令描述了所需的操作(例如,READ)。
- 选项描述了每个功能的许多可选功能。 某些选项后跟括号中的自变量。 您可以按任何顺序编写选项 (包括需要自变量的选项)。
- 参数 (参数的简称)是一个值,如数据值或名称。 数据值可以是常数;这意味着向 CICS® 发送数据的参数通常是一个数据值。 从 CICS 接收数据的参数必须是数据区。
一些被描述为数据区的参数既可以发送数据,也可以接收数据。 在这种情况下,必须确保数据区不在受保护存储区内。
EXEC CICS命令示例EXEC CICS READ FILE('FILEA') INTO(FILEA) RIDFLD(KEYNUM) UPDATE
EXEC
CICS 命令的末尾添加适当的命令结束分隔符,具体取决于编程语言。| 语言 | 命令结束定界符 |
|---|---|
| C/C++ | 分号 (;) |
| COBOL | END-EXEC 语句 |
| PL/I | 分号 (;) |
用户代码注释
如果您想为 EXEC CICS 命令添加注释,可以在最后一个参数后使用句号或逗号作为分隔符,但仅限于汇编程序。
- 示例
EXEC CICS ADDRESS EIB(MYUEIB), @F1A
如果在 EXEC CICS 命令中使用了句号或逗号,则下一行必须从第 2 列和第 16 列之间开始,续字符位于第 72 列。 以下行不能在第 17 列之后开始。 如果未添加逗号或句点,那么下一行必须以第 2 列开头或之后的第 71 列结尾,并在第 72 列中使用连续字符。
所有 EXEC CICS 命令的通用选项
NOHANDLE、RESP 和 RESP2 是可以添加到所有 EXEC CICS 命令中的常用选项,用于处理错误条件。
您可以将 RESP 选项与任何命令一起使用,以测试该命令执行期间是否触发了条件。 在某些命令中,当一个条件可能因不止一个原因而触发时,如果已经指定了 RESP 选项,则可以使用 RESP2 选项来确定条件发生的确切原因。 使用 RESP 意味着 NOHANDLE. 有关 RESP 值的更多信息,请参阅 EXEC 接口块字段。
您可以在任何命令中使用 NOHANDLE 选项,指定不对执行该命令后产生的任何条件或注意标识符 (AID) 采取任何操作。 使用 C 或 C++ 语言意味着所有命令都要使用 NOHANDLE 。
要了解如何在 EXEC CICS 命令中使用 NOHANDLE 或 RESP 选项来处理异常条件,请参阅 通过内联代码处理异常条件。
- 无手柄
- 不对执行命令后产生的任何条件或 AID 采取任何行动。 此选项关闭特定
EXEC CICS命令调用上的 CICS 默认异常处理。- 示例
- 下面的示例显示了一条使用 NOHANDLE 选项的
EXEC CICS命令。 如果命令成功执行,将返回 R3 中的 CWA 地址。EXEC CICS ADDRESS CWA(R3) NOHANDLE
- RESP (xxx )
- 该选项也会关闭 CICS 默认的异常处理,关闭方式与 NOHANDLE 选项相同,但会更新用户定义的全字二进制数据区(xxx )。 命令返回时,它包含一个与可能出现的情况或正常返回值相对应的值,即 xxx=DFHRESP(NORMAL) 。 您可以通过 DFHRESP 测试该值。 有关详细信息,请参阅 通过内联代码处理异常条件。
由于 RESP 的使用意味着 NOHANDLE,因此在使用 RESP 和 RECEIVE 命令时要小心。 NOHANDLE 会覆盖 HANDLE AID 和 HANDLE CONDITION 命令,从而忽略 PF 键的响应。
- RESP2 (yyy )
- yyy 是用户定义的全字二进制数据区。 从命令返回时,它包含一个值,可进一步限定对某些命令的响应。 与 RESP 值不同,RESP2 值没有相关的符号名称,也没有与 DFHRESP 相对应的内置翻译函数,因此必须测试二进制全字值本身。
- 示例
EXEC CICS下面的示例显示了 COBOL 中使用 RESP 和 RESP2 选项。EXEC CICS WRITEQ TS FROM(abc) QUEUE(qname) NOSUSPEND RESP(xxx) RESP2(yyy) END-EXEC.
NOHANDLE、RESP 和 RESP2选项没有明确包含在各个命令语法图和选项说明中。
EXEC CICS 命令限制
一些一般限制适用于所有访问用户数据的 EXEC CICS 命令。
- 调用任何 CICS 服务时,程序必须处于主寻址方式。 主地址空间必须是主地址空间。 传递到 CICS 的所有参数都必须位于主地址空间中。
- 如果程序使用访问寄存器,那么 CICS 仅保留访问寄存器 2 到 13 ,因为 CICS 代码可以将访问寄存器 0 , 1 , 14 和 15 用于 z/OS® 宏调用。
EXEC CICS 命令语法符号
在 CICS 文档中,EXEC CICS 命令以标准方式呈现。 通过从左到右跟随箭头来解释语法。 有关文档中使用的语法约定的解释,请参阅 CICS 文档中使用的约定和术语。
每个命令关键字之前的 EXEC CICS 都不包括在内,也不包括任何命令结束分隔符。