QUERY COUNTER 和 QUERY DCOUNTER

查询指定的计数器。 针对全字带符号计数器使用 COUNTER,针对双字无符号计数器使用 DCOUNTER。

语法

查询计数

读取语法图跳过可视语法图QUERYCOUNTER( 名称)POOL( 名称)VALUE( data-area)MINIMUM( data-area)MAXIMUM( data-area)NOSUSPEND

条件: BUSY, INVREQ 和 LENGERR

此命令是线程安全的。

查询 DCOUNTER

读取语法图跳过可视语法图QUERYDCOUNTER( 名称)POOL( 名称)VALUE( data-area)MINIMUM( data-area)MAXIMUM( data-area)NOSUSPEND

条件:忙,INVREQ

此命令是线程安全的。

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

描述

这些计数器命令返回指定计数器的当前值,最大值和最小值。

有关在这些命名计数器命令中指定全字和双字变量的信息,请参阅 EXEC CICS 命令参数值

选项

COUNTER (name)
指定全字计数器名称字段的 16 字节名称。 该名称可以包含大写字母,数字或下划线字符 (包括符号 $, # 和 @) ,并填充了 16 个带有结尾空格的字节。 请注意,名称不能以数字或下划线开头。 建议该名称应以应用程序独有的系统前缀开头。  CICS 本身使用的任何计数器都使用前缀 DFH。 
DCOUNTER (名称)
指定双字计数器名称字段的 16 字节名称。 该名称可以包含大写字母,数字或下划线字符 (包括符号 $, # 和 @) ,并填充了 16 个带有结尾空格的字节。 请注意,名称不能以数字或下划线开头。 建议该名称应以应用程序独有的系统前缀开头。 CICS 本身使用的任何计数器都使用前缀 DFH。
MAXIMUM (数据区域)
指定 CICS 要在其中返回指定计数器的最大数目的数据区。 CICS 返回 COUNTER 命令的全字带符号二进制值和 DCOUNTER 命令的双字无符号二进制值。
MINIMUM (数据区)
指定 CICS 要在其中返回指定计数器的最小数目的数据区。 CICS 返回 COUNTER 命令的全字带符号二进制值和 DCOUNTER 命令的双字无符号二进制值。
无暂挂
指定在耦合设施结构重建期间立即返回到应用程序。 如果省略 NOSUSPEND 参数,那么将重试该请求,直到成功为止。 如果指定 NOSUSPEND ,那么请求将立即失败,并且 CICS 将返回 BUSY , RESP2=500。
池 (poolname)
指定指定计数器所在的池的名称。

池选择器字符串的有效字符为 A 到 Z , 0 到 9 , $@ # 和 _ (下划线)。 如果 name 是包含少于 8 个字符的名称的变量,那么必须使用尾部空格来填充该名称。

该参数是可选的。 如果省略池的名称,那么将假定池选择器值为 8 空白。

如果 DFHNCOPT 选项表中没有匹配的条目,那么 CICS 将使用 NCPLDFT 系统初始化参数上指定的名称,该参数指定缺省指定的计数器池。

有关使用 DFHNCO 宏生成指定计数器选项表的信息,请参阅 命名计数器服务器

VALUE (data-area)
指定 CICS 要在其中返回指定计数器的当前值的数据区。 CICS 返回 COUNTER 命令的全字带符号二进制值和 DCOUNTER 命令的双字无符号二进制值。

请注意,如果指定的计数器处于计数器限制条件中,那么 CICS 不会返回异常条件。 在这种情况下, CICS 返回一个正常响应,其值 1 大于为计数器指定或假定的最大值 (使用无符号添加)。 如果最大值是可以保留在有符号全字中的最大正数,那么对于计数器限制条件, QUERY COUNTER 返回的值是最大负数。

条件

128 个忙碌
RESP2 值:
500
在命令上指定了 NOSUSPEND 选项,并且在重建期间耦合设施结构当前不可用。

缺省操作: 异常终止任务。

16 INVREQ
RESP2 值:
201
找不到指定的计数器。
301
服务器报告了指定计数器接口无法理解的错误代码。 通常,除非接口装入模块 DFHNCIF 处于比服务器本身更低的维护或发行版级别,否则无法执行此操作。
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 参数包含无效字符或嵌入的空格。

缺省操作: 异常终止任务。

22 LENGERR
LENGERR 仅适用于 COUNTER 命令,不适用于 DCOUNTER 请求。 当由 DCOUNTER 命令或 CALL 接口定义的计数器的值过大而无法正确表示为全字带符号二进制值 (即,该计数器使用超过 31 位) 时,会发生此情况。

在这三种溢出情况中的每种情况下,指定的计数器服务器都会完成操作,并向 CICS返回警告响应, CICS 会将该响应作为 RESP2 值返回到应用程序。 数据区包含从指定计数器服务器返回的低阶 32 位,这可能是负数。

RESP2 值:
001
服务器尝试在其中一个数据区中返回的当前值已溢出到高位 (符号) 位 (即返回的值为负数)。
注: 具有 RESP2=001 的 LENGERR 不能出现在处于计数器限制条件的指定计数器中。 如果已达到 counter-at-limit 条件,那么将返回值 (可能为负数) 并返回正常响应。
002
对于仅 1 位的全字数据区,值太大。 在这种情况下,溢出值正好是 1。
003
对于值大于 1 的全字数据区,值太大。

缺省操作: 异常终止任务。