通用对象名

当引用多个具有相似名称的对象时,可以使用通用对象名。

通用对象名 可以引用多个对象。 即,通用名称包含一个或多个字符,这些字符是多个对象的名称中的第一组字符。 然后,系统将搜索在名称开头具有这些字符且在库列表中指定的库中的所有对象。 通用名称由星号 (*) 标识为名称中的最后一个字符。

带引号的通用名称由用引号括起的通用名称组成。 与带引号的名称不同,如果引号之间没有特殊字符,那么不会除去引号。 例如,通用名称 "ABC*" 会导致系统搜索其名称以引号开头并后跟三个字母 ABC的所有对象。

通用名称也可以由库名限定。 如果通用名称是限定的,那么系统仅在指定的库中搜索其名称以该通用名称开头的对象。

注: 如果通用名称是路径名,那么它也可以由一个或多个目录限定。 在路径名中,可以在星号 (*) 前后指定字母。

当您指定通用名称时,系统将对其名称以指定的一系列字符开头的所有对象执行必需的功能。 您必须具有对通用名称标识的每个对象执行该功能所需的权限。 如果您没有对象的必需权限,那么不会执行该函数,并且会针对每个实例发出一条诊断消息,指示尝试的通用函数失败。 将对通用函数成功操作的每个对象发出一条完成消息。 您必须查看联机低级别消息才能查看完成消息。 完成整个通用函数后,将发出一条完成消息,指示已成功对所有对象执行操作。 如果一个或多个对象无法成功操作,那么将发出脱离消息。 如果覆盖对特定设备文件有效,那么将使用覆盖上指定的单个对象名 (而不是通用名称) 来执行操作。

如果包含对象的库已锁定,那么您可能无法将通用名称用于删除,移动或重命名命令。 搜索通用对象名需要对包含对象的库进行比搜索完整对象名更严格的锁定。 当删除,移动或重命名命令正在运行时,需要更严格的锁定以防止另一个用户在库中创建与通用搜索字符串同名的对象。 您可以通过使用对象的全名而不是通用名称来规避此问题。 或者,可以结束对库有锁定的作业或子系统。

注: 使用 Work with Object Locks (WRKOBJLCK) 命令可确定哪些作业或子系统对库具有锁定。

对于某些命令,可以使用通用名称指定库限定符以限制操作的作用域。 例如,带有 FILE(LIB1/PRT*)Change Print File (CHGPRTF) 命令仅对库 LIB1 中以 PRT 开头的打印机文件执行操作; 其他库中的打印机文件不受影响。

与各种库限定符关联的限制如下:

  • library-name: 仅对指定库中的通用对象名执行操作。
  • *LIBL: 对与请求通用操作的作业相关联的库列表中的通用对象名执行该操作。
  • *CURLIB: 对当前库中的类属对象名执行操作。
  • *ALL: 对您有权使用的所有库中的类属对象名执行操作。
  • *USRLIBL: 对作业的库列表的用户部分中的类属对象名执行操作。
  • *ALLUSR: 对所有非系统库 (不以字母 Q 开头的库) 执行该操作,但有一些例外。
    注意:用户可为 QUSRVxRxMx, 支持的每个版本创建不同的库名称,其形式为 IBM 。 VxRxMx是库的版本、发行版和修改级别。
表 1. 通用对象名
名称 类型 名称语法 示例
简单通用名称 通用名称 * 对象 *
限定通用名称 library-名称/通用名称 * LIB1/OBJ*
带引号的通用名称 "通用名称*" "ABC*"