DEFINE COUNTER 和 DEFINE DCOUNTER
在耦合设施中指定计数器池中创建指定计数器。 使用 COUNTER 来创建被当做全字带符号计数器进行处理的计数器,并使用 DCOUNTER 来创建被当做双字无符号计数器进行处理的计数器。
语法
条件: BUSY, INVREQ
此命令是线程安全的。
NOHANDLE、RESP 和 RESP2是常用选项,可添加到所有 EXEC CICS 命令中以处理错误条件。 命令语法图和选项说明中没有明确包含这些选项。 有关这些常用选项和 EXEC CICS 命令语法的信息,请参阅 EXEC CICS 命令格式和编程注意事项.
描述
这些计数器命令在耦合设施中的指定计数器池中创建新的指定计数器。
虽然可以使用 CICS® API 对全字 (带符号) 或双字 (无符号) 二进制值进行操作,但指定的计数器服务器将所有值存储为双字无符号值。 例如,如果使用 DCOUNTER 命令定义计数器并尝试使用 COUNTER 命令访问该计数器,那么可能会发生溢出情况。 始终使用用于定义计数器的同一命令集的命令来访问指定的计数器。
有关在这些命名计数器命令中指定全字和双字变量的信息,请参阅 EXEC CICS 命令参数值。
选项
- COUNTER (name)
- 指定全字计数器名称字段的 16 字节名称。 该名称可以包含大写字母,数字或下划线字符 (包括符号 $, # 和 @) ,并填充了 16 个带有结尾空格的字节。 请注意,名称不能以数字或下划线开头。 建议该名称应以应用程序独有的系统前缀开头。 CICS 本身使用的任何计数器都使用前缀 DFH。
- DCOUNTER (名称)
- 指定双字计数器名称字段的 16 字节名称。 该名称可以包含大写字母,数字或下划线字符 (包括符号 $, # 和 @) ,并填充了 16 个带有结尾空格的字节。 请注意,名称不能以数字或下划线开头。 建议该名称应以应用程序独有的系统前缀开头。 CICS 本身使用的任何计数器都使用前缀 DFH。
- MAXIMUM (data-value)
- 指定指定计数器的最大数目,将全字带符号二进制值用于 COUNTER ,将双字无符号值用于 DCOUNTER。 这是可以在 GET 命令上指定的最大数目,之后计数器必须由 REWIND 命令重置。
如果省略 MAXIMUM 参数,那么将使用缺省最大值 (对于已签名的全字大小写为
X'7FFFFFFF',或者使用X'FF'填充的双字) 来定义指定计数器。注:对于 DCOUNTER ,将保留两个双字计数器值供指定的计数器服务器内部使用,一个用于溢出值,另一个用于用于保证唯一计数器值和防止重复计数器的值。 这意味着,如果从最小值到最大值 (缺省情况下指定或假定) 的范围不保留两个双字值 (如下面详述的情况) ,那么将根据需要自动将一个或两个最大值减小,以保留必要的值供内部使用。
这仅影响以下情况:- 对于最小值
X'0000000000000000'(缺省情况下假定) 和最大值X'FFFFFFFFFFFFFFFF'(缺省情况下假定) 或X'FFFFFFFFFFFFFFFE',最大值将减小为X'FFFFFFFFFFFFFFFD'。 - 对于最小值
X'0000000000000001'和最大值X'FFFFFFFFFFFFFFFF',最大值将减小为X'FFFFFFFFFFFFFFFE'。
- 对于最小值
- MINIMUM (data-value)
- 指定指定计数器的最小数目,将全字带符号二进制值用于 COUNTER ,将双字无符号值用于 DCOUNTER。 这是由于 REWIND 命令而将指定计数器重置为的值。
如果指定 MINIMUM 参数,那么还必须指定 VALUE 参数。
如果省略 MINIMUM 参数,那么将使用缺省最小值 (用 X'00 '填充的全字或双字) 来定义指定计数器。
- 无暂挂
- 指定在耦合设施结构重建期间立即返回到应用程序。 如果省略 NOSUSPEND 参数,那么将重试该请求,直到成功为止。 如果指定 NOSUSPEND ,那么请求将立即失败,并且 CICS 将返回 BUSY , RESP2=500。
- 池 (名称)
- 指定要用作池选择参数的 8 字符字符串,以选择要在其中创建指定计数器的池。 字符串可以是逻辑池名称,也可以是实际池名称。
池选择器字符串的有效字符为 A 到 Z , 0 到 9 , $@ # 和 _ (下划线)。 如果 name 是包含少于 8 个字符的名称的变量,那么必须使用尾部空格来填充该名称。
该参数是可选的。 如果省略池的名称,那么将假定池选择器值为 8 空白。
如果 DFHNCOPT 选项表中没有匹配的条目,那么 CICS 将使用 NCPLDFT 系统初始化参数上指定的名称,该参数指定缺省指定的计数器池。
有关使用 DFHNCO 宏生成指定计数器选项表的信息,请参阅 命名计数器服务器。
- 值 (data-value)
- 指定要启动新指定计数器的初始数字,将全字带符号二进制值用于 COUNTER ,将双字无符号值用于 DCOUNTER。
您可以指定等于或大于最小值的数字,直至最大值加上 1。 如果指定的初始数字等于最大值加 1 ,那么将在设置了计数器 at-limit 条件的情况下创建计数器,并且在重新绕行之前不能使用该计数器。
如果同时省略了 VALUE 和 MINIMUM 参数,那么将创建初始值为零的指定计数器。 如果省略了 VALUE 但指定了 MINIMUM ,那么转换程序将发出错误; 如果指定了 MINIMUM 参数,那么 VALUE 参数是必需的。
条件
- 128 个忙碌
- RESP2 值:
- 500
- 在命令上指定了 NOSUSPEND 选项,并且在重建期间耦合设施结构当前不可用。
缺省操作: 异常终止任务。
- 16 INVREQ
- RESP2 值:
- 202
- 计数器名称重复。 此名称的指定计数器已存在。
- 301
- 服务器报告了指定计数器接口无法理解的错误代码。 通常,除非接口装入模块 DFHNCIF 处于比服务器本身更低的维护或发行版级别,否则无法执行此操作。
- 302
- 服务器无法创建新的指定计数器,因为指定计数器池中没有足够的空间。
- 303
- 用于访问耦合设施的宏上发生了意外错误,例如结构故障或连接丢失。 更多信息在应用程序作业日志中的消息 DFHNC0441 中。
- 304
- 无法使用当前选项表将程序中指定的池选择参数解析为有效的服务器名称。
- 305
- 接口无法与所选指定计数器池的服务器建立连接。 更多信息在应用程序作业日志中的 AXM 服务消息 (AXMSCnnnn) 中。
- 306
- 在服务器处理请求期间发生异常终止。 更多信息在应用程序作业记录和服务器作业记录中的消息中。
- 308
- 无法装入解析池名称所需的 DFHNCOPT 选项表模块。
- 309
- 在处理选项表期间,指定的计数器接口迂到未知的条目格式。 未正确生成选项表,或者 DFHNCIF 接口装入模块与选项表的发行版级别不同。
- 310
- 与给定池名称匹配的选项表条目指定了用户出口程序,但用户出口程序未与选项表进行链接编辑,因此无法装入。
- 311
- 指定计数器服务器对客户机区域接口模块 DFHNCIF 的响应指示正在进行系统管理的重建,但 EXEC CICS 接口无法识别该情况。 这意味着 CICS 区域位于 CICS TS 2.1 或更低版本。
- 403
- POOL 参数包含无效字符或嵌入的空格。
- 404
- COUNTER 参数包含无效字符或嵌入的空格。
- 406
- VALUE 参数无效。 不能将当前值设置为小于最小值或大于最大值加 1。
- 407
- MINIMUM 或 MAXIMUM 参数无效。 MAXIMUM 参数指定小于最小值的值,或者 (仅对于 COUNTER) 其中一个参数指定负值。
缺省操作: 异常终止任务。
