0

我正在尝试修改当前代码,以便使用 SELECTION_JOB_NAME 的 JobList.addJobSelectionCriteria 可以使用通配符 - 这可能吗?

JobList.html#SELECTION_JOB_NAME 的文档表明过滤器字符串可以是“通用名称”。- 这到底是什么意思?

我需要查询的当前作业名称可以用“JOB.RUN|JOB.PROCESS”之类的 Java 正则表达式表示 - 但我无法让它与 addJobSelectionCriteria 一起使用,我正在尝试最小化应用程序配置中的作业名称并对 JobList 查询本身进行过滤。

即使我可以进行过滤后查询,处理大量作业所需的时间也是一个问题。

4

2 回答 2

2

IBM i 上的“通用名称”是一个简单的通配符,而不是正则表达式。

MYJOB*

将找到名称以 MYJOB 开头的任何工作。例如:MYJOB1、MYJOB2、MYJOBEOM。

注意:在大多数情况下,在 IBM i 上提供通用名称时,通配符 * 必须位于末尾。所以你不能寻找以某种模式结尾的对象。

于 2016-10-03T19:32:30.817 回答
2

我没有查看文档[没有给出链接],但是在服务器上/在服务器上的 Qualified JOB() Name 的通用-name 功能是通过省略 Job.Number 和/或 Job.User;即 Job.Name 是必需的,如果这是唯一指定的值,则将搜索具有该名称的所有工作,而不管 Job.User 和 Job.Number 限定符 - 搜索对于用户和号码是特定的,因此对这些元素是通用的。如果指定了 Job.User 和 Job.Name,则搜索具有这些特定限定符的所有作业,而与 Job.Number 无关;搜索通常包括指定用户名和工作名称的所有工作编号。

通常,服务器上的术语通用名称表示名称前缀,*作为后缀的星号字符建议使用该名称作为前缀搜索所有值;一个或几个接口可能允许为类似目的添加星号,但通常一种形式的通用规范是由一个特殊的值,例如 *ALL 表示没有过滤,或者类似的东西,例如,任何一个标记 * ALLEXEC 用于通过仅包含正在搜索的内容或令牌的可执行变体进行过滤 *PGM 用于通过仅包含程序对象的包含[或者如果在 OMIT() 规范上,则通过省略进行过滤]进行过滤. 合格的作业名称是非典型的,因此我记得最好在服务器上命令的任何JOB参数上都不允许使用上述 as-typical-generics 。

2016 年 10 月 4 日附录
有关更通用 [双关语] 使用术语通用名称的参考,服务器白话,来自 Parameter (PARM) 命令的 TYPE 参数的以下帮助文本,用于定义参数类型作为允许通用*规范的名称。注意:我在 Toolbox 文档中找不到该术语的明确定义,只有参考文献,但我确实找到了一个带有作业 (JOB) 参数的操作系统命令 (CMD) 示例,该参数也允许相同的通用名称规范 [用户-name 和 job-name 元素],即启动数据库监视器 (STRDBMON) 命令:

                 Type of value (TYPE) - Help                   

*GENERIC
参数值是表示
通用名称的字符串。通用名称包含一个或多个字符
,后跟一个星号 (*),并且必须符合
通用名称规则。该名称标识一组对象,其
名称均以星号 (*) 前的字符开头。
如果不包括星号 (*),则系统假定
通用名称是完整的对象名称。

于 2016-10-03T19:48:37.563 回答