ING$QRY
用途
SA z/OS 提供了称为 ING$QRY 的 NetView 自动化表 函数 (ATF)。 这允许您从 AT 中查询或比较由 SA z/OS 控制的作业的状态和其他重要属性,并将结果用作 AT 语句中的条件。 INGQUERY 是 ING$QRY 的别名。
请参阅 属性参数描述 ,以获取可在 AT 条目中查询和使用的属性。 例程将属性或比较结果作为 NetView ATF 函数的函数值返回,以便可以在 AT 语句中使用该函数。
格式
参数
程序名和参数必须用字面值加引号的字符串指定。 但是,可以使用 VALUE (varname) 语法将变量值作为 ATF 参数传递。
- 属性
- 这将标识 作业的特定属性。 可以是下列之一:
- APPL
- 资源的子系统名称。 这假定指定的资源名称是作业名。 它可用于检查作业是否由 SA z/OS控制。
- ASID
- 返回资源的地址空间标识。
- 类别
- 返回资源的类别 (例如, JES2, DB2, IMS, USS 等)。
- CMDPFX
- 返回资源的命令前缀。
- 文件
- 返回资源的文件信息。
- 过滤器
- 返回有关为使进程唯一而指定的命令参数的信息。
- IPLCOMP
- 返回资源的 IPL 完成指示。
- IP 堆栈
- 返回资源的 IP 堆栈名称。
- 作业
- 返回作业的名称。 它可用于检查资源 (子系统) 是否由 SA z/OS管理。
- 作业日志
- 返回资源的作业记录监视时间间隔。
- 作业类型
- 返回资源的任务类型( MVS、NONMVS 或 TRANSIENT)。
- OPER
- 返回与资源关联的工作运算符。
- 所有者
- 返回资源的所有者信息。
- PARENT
- 返回资源的父信息。 父信息派生自分配了序号的 每个 关系。
- 路径
- 返回有关资源所表示的 UNIX 进程的信息。
- 进程标识
- 返回与资源关联的 USS 进程标识 (PID)。
- PLEX
- 返回与资源关联的分支的名称。 当前,此属性仅用于 IMS CONTROL 策略项中指定的 IMSplex 名称。
- PORT
- 返回与资源关联的 TCPIP 端口。
- 进程
- 如果资源分别处于启动或关闭阶段,那么返回 START 或 STOP。
- 跳转
- 返回资源的 "SKIP ACTIVE status" 指示。
- STAT
- 返回资源的代理程序状态。
- STRTCYC
- 返回资源的启动周期数。
- STRTDLY
- 返回资源的启动延迟时间。
- 子命令
- 返回 CICS的资源的子类别,例如 AOR 或 TOR。
- SubID
- 返回 MVS 资源的子系统标识符。
- 暂挂
- 如果资源已暂挂,那么返回 DIRECT 或间接。
- 符号n
- 返回请求的应用程序符号,其中 n 是 1-9。
- 已更新
- 返回资源的 UP 状态延迟时间。
- 用户
- 返回与资源关联的 USS 用户标识。
- WLMNAME
- 返回与资源关联的 WLM 资源名称。
- WTOR
- 返回所有未完成的应答标识。
- 压缩项
- 定义应该与 属性值 进行比较的字符串。 可以指定多个比较项,以空白字符分隔。 比较项可以是通配符,例如 abc *
如果属性值与比较字符串中的某个项匹配,那么 ATF 值将设置为字符串 "TRUE" ,否则设置为字符串 "FALSE"。
如果未指定比较项,那么 ING$QRY ATF 函数将返回 属性值。
- 作业名
- 应该为 或与之比较返回 属性值 的作业的名称。 缺省值是发出消息的作业。
- 子系统
- 应该为其返回属性值或与其进行比较的子系统的名称。
返回码
ING$QRY例程在返回到 NetView :
- 0
- 正常完成。
- 1
- 指定的变量名未知。
- 2
- 发生错误,未提供任何输出。 这可能是由于:
- 传递到例程的参数无效。
- 返回公共全局变量失败。
- 该作业不属于由 SA z/OS控制的子系统。
限制
无。
用途
此例程用作 AT 条件语句中的 NetView 自动化表 函数 (ATF) ,以查询和比较 SA z/OS控制的子系统的属性。
示例
- 以下示例检查发出消息 WAS001I 的资源的状态是否为 UP ,如果是,将触发退出 AOFRIMSG:
IF MSGID = 'WAS001I' & ATF('ING$QRY STAT') = 'UP' THEN EXEC(CMD('AOFRIMSG') ROUTE(ONE *)); - 以下示例返回在变量 MYVAR 中发出消息 WAS002I 的资源的状态:
IF MSGID = 'WAS002I' & ATF('ING$QRY STAT') = MYVAR THEN EXEC(CMD('AOFRIMSG 'MYVAR) ROUTE(ONE *)); - 以下示例检查发出消息 WAS003I 的资源的状态是 DOWN 还是 UP。 如果是这样,它将触发 exec AOFRIMSG:
IF MSGID = 'WAS003I' & ATF('ING$QRY STAT,DOWN UP') = 'TRUE' THEN EXEC(CMD('AOFRIMSG') ROUTE(ONE *)); - 以下示例在发出消息 WAS004I 时检查作业 AMY0 的状态是否为 UP ,如果是,那么发出命令 INGLIST:
IF MSGID = 'WAS004I' & ATF('ING$QRY STAT,UP,JOB=AMY0') = 'TRUE' THEN EXEC(CMD('INGLIST AM* OUTMODE=NETLOG') ROUTE(ONE *)); - 以下示例在比较项列表中使用通配符。 在这种情况下,它将返回 AUTO 列表 ... 匹配项:
IF MSGID = 'WAS005I' & ATF('ING$QRY STAT,AU* DOWN') = 'TRUE' THEN EXEC(CMD('RES') ROUTE(ONE *)); - 下面的示例假定报文的第 2 个标记包含任务名称,检查子系统是否由 SA z/OS 控制:
IF MSGID = 'WAS006I' & TOKEN(2) = SVJOB & ATF('ING$QRY JOB') = VALUE(SVJOB) THEN EXEC(CMD('AOFRIMSG') ROUTE(ONE *));
