STARTBR
开始浏览文件。
语法
条件: DISABLED , FILENOTFOUND , ILLOGIC , INVREQ , IOERR , ISCINVREQ , LOADING , NOTAUTH , NOTFND , NOTOPEN 和 SYSIDERR
NOHANDLE、RESP 和 RESP2是常用选项,可添加到所有 EXEC CICS 命令中以处理错误条件。 命令语法图和选项说明中没有明确包含这些选项。 有关这些常用选项和 EXEC CICS 命令语法的信息,请参阅 EXEC CICS 命令格式和编程注意事项.
- 定义为远程,该命令是通过 IPIC 连接提供到远程 CICS® 区域的功能。
- 定义为本地 VSAM 文件、VSAM RLS 文件或耦合设备数据表。
- 6.2 后来 定义为共享数据表。
- 定义为远程,并且该命令是通过非 IPIC 连接提供的功能。
- 定义为 NSR。
- 定义为 BDAM 文件。
- 6.1 定义为共享数据表。
描述
STARTBR 在本地或远程系统上的文件或数据表中指定要在其中启动浏览的记录。 在执行 READNEXT 命令 (或者对于 VSAM 和表,执行 READPREV 命令) 之前,不会读取任何记录。
- 按记录键直接浏览键顺序数据集 (KSDS 或数据表)。
- 按相对字节地址 (RBA) 直接浏览条目顺序数据集 (ESDS)。
- 按相对记录号 (RRN) 直接浏览相对记录数据集 (RRDS)。
- 使用备用索引路径浏览键顺序数据集 (KSDS)。
- 使用备用索引路径浏览条目顺序数据集 (ESDS)。 在这种情况下,按键浏览 ESDS 的方式与 KSDS 相同。 某些对于直接 ESDS 浏览无效的选项对于备用索引浏览有效。
- 按 RBA 浏览 KSDS。
STARTBR 命令上指定的选项定义了在后续浏览操作中应用的特征。 具体来说,如果指定 GENERIC 或 GTEQ ,那么不仅在确定浏览的起始点时使用它们,而且在发出 READNEXT 命令之前更改 RIDFLD 的值时也会使用它们。
如果指定 RBA 选项,那么它将应用于浏览中的每个 READNEXT 或 READPREV 命令,并使 CICS 返回每个检索到的记录的相对字节地址。
除非通过 RESETBR 命令,否则在浏览期间不能更改这些选项。
如果 STARTBR 请求指定要启动浏览的精确键 (即,它指定完整键和 EQUAL 关键字) ,那么在以下 READNEXT (或 READPREV) 上返回的记录可能与 STARTBR 为以 VSAM NSR 或 RLS 方式打开的文件指定的记录不同。 发生此情况的原因可能是 STARTBR 命令上指定的初始记录可以由另一个事务在 STARTBR 完成和正在发出的 READNEXT 或 READPREV 之间删除。 在 VSAM LSR 方式下,无法在 STARTBR 和 READNEXT 之间删除初始记录。
浏览可以使用 ENDBR , SYNCPOINT 或 SYNCPOINT ROLLBACK 命令结束。 此外,任务结束时的隐式同步点也会结束浏览。
选项
- DEBKEY
- (分块的 BDAM) 指定要通过键进行分块。 如果既未指定 DEBREC 也未指定 DEBKEY ,那么不会发生分块。
- DEBREC
- (分块 BDAM) 指定将通过相对记录 (相对于零) 进行分块。 如果既未指定 DEBREC 也未指定 DEBKEY ,那么不会发生分块。
- 等于
- (VSAM 和数据表) 指定仅通过具有与 RIDFLD 选项中指定的键 (完整或通用) 相同的记录来满足搜索。
此选项是直接 ESDS 浏览的缺省字段。
- FILE (filename)
- 指定要访问的文件的名称。
如果指定了 SYSID ,那么假定此文件所引用的数据集位于远程系统上,而不考虑是否对 CICS定义了该名称。 否则,将使用资源定义来确定数据集是在本地系统上还是在远程系统上。
- 通用
- (VSAM KSDS ,路径或数据表) 指定搜索键是其长度在 KEYLENGTH 选项中指定的通用键。 当找到的记录的起始字符 (通用键) 与指定的开始字符 (通用键) 相同时,将满足对记录的搜索。
- GTEQ
- (VSAM 或数据表) 指定,如果搜索具有与 RIDFLD 选项中指定的键相同的键 (完整或通用) 的记录失败,那么具有较大键的第一个记录将满足搜索要求。
此选项是直接浏览 KSDS 或 RRDS 的缺省选项。 它对于直接浏览 ESDS 无效,尽管它对于使用路径浏览 ESDS 有效。
- KEYLENGTH (data-value)
- 指定 RIDFLD 选项中指定的键的长度 (半字二进制) ,除非指定了 RBA 或 RRN ,在这种情况下, KEYLENGTH 无效。
如果指定了 GENERIC ,那么必须指定此选项,并且每当指定密钥时都可以指定此选项。 如果指定的长度与为数据集定义的长度不同,并且操作不是通用的,那么会出现 INVREQ 条件。
如果 STARTBR 命令指定 GENERIC ,并且 KEYLENGTH 值不小于 VSAM 定义中指定的值,那么也会发生 INVREQ 条件。
如果 KEYLENGTH (0) 与数据集中第一个记录上的定位对象一起使用,那么还必须指定 GTEQ 选项。 如果显式指定 EQUAL ,或者缺省情况下指定了 KEYLENGTH (0) ,那么 STARTBR 的结果不可预测。
对于远程文件,可以在 FILE 定义中指定 KEYLENGTH 值。 如果未在其中定义 KEYLENGTH ,并且未在应用程序中指定 KEYLENGTH ,并且键的长度超过 4 个字符,那么缺省值为 4。
- RBA
- (VSAM KSDS 或 ESDS 基本数据集,或者仅 CICS维护的数据表,而不是路径) 指定 RIDFLD 选项中指定的记录标识字段包含相对字节地址。 仅当浏览 ESDS 或 KSDS 库并使用相对字节地址而不是密钥来标识记录时,才使用此选项。不能将 RBA 用于:
- 用户维护的数据表
- 耦合设施数据表
- 以 RLS 访问方式打开的任何 KSDS 文件
- 使用扩展寻址的 KSDS 文件
- REQID (data-value)
- 指定用于浏览的唯一请求标识作为半字二进制值,用于控制对相同或不同数据集的多个浏览操作。 如果未指定此选项,那么将采用缺省值 0。
- RIDFLD (数据区)
- 指定记录标识字段。 内容可以是键,相对字节地址或相对记录号 (对于 VSAM 数据集) ,也可以是块引用,物理键和去块参数 (对于 BDAM 数据集)。 对于相对字节地址或相对记录号,此字段的格式必须是全字二进制。 对于相对字节地址, RIDFLD 值可以大于或等于零。 对于相对记录号, RIDFLD 值可以大于或等于 1。
有关定义记录标识字段的更多信息,请参阅 标识 BDAM 记录 和 标识 VSAM 记录 。
对于 VSAM ,完整记录标识 X'FF '指示要将浏览定位在数据集的末尾,以准备使用 READPREV 命令进行向后浏览。
- RRN
- (VSAM RRDS) 指定 RIDFLD 选项中指定的记录标识字段包含相对记录号。 此选项仅应与引用相对记录数据集的文件配合使用。
- SYSID (systemname)
- 指定请求所定向到的系统的名称。
如果指定 SYSID 并同时省略 RBA 和 RRN ,那么还必须指定 KEYLENGTH。
- XRBA
- 指定 RIDFLD 选项中指定的记录标识字段包含扩展的相对字节地址。 当浏览 ESDS 扩展寻址数据集中的记录时,应使用此选项。
如果在 STARTBR 命令上指定 XRBA ,那么同一浏览中的所有其他命令也必须指定 XRBA。
XRBA 无法访问 KSDS 数据集。
条件
- 84 已禁用
- RESP2 值:
- 50
- 已禁用文件。 可以禁用文件,因为:
- 最初定义为已禁用,但此后未启用。
- 它已被 SET FILE 或 CEMT SET FILE 命令禁用。
缺省操作: 异常终止任务。
- 12 个 FILENOTFOUND
- RESP2 值:
- 1
- 未对 CICS定义 FILE 选项中引用的文件名,并且未指定 SYSID。
缺省操作: 异常终止任务。
- 21 不合逻辑
- RESP2 值: (VSAM)
- 110
- 发生不在其他某个 CICS 响应类别中的 VSAM 错误。
请参阅 EXEC 接口块中的 EIBRCODE; 有关详细信息,请参阅 EIB 字段。
缺省操作: 异常终止任务。
- 16 INVREQ
- RESP2 值:
- 20
- 根据资源定义,不允许执行浏览操作。
- 25
- 指定了 KEYLENGTH 和 GENERIC 选项,并且在 KEYLENGTH 选项中为此文件引用的数据集定义的长度大于或等于完整键的长度。
- 26 日
- 指定了 KEYLENGTH 选项 (但未指定 GENERIC 选项) ,并且指定的长度不等于为此文件引用的数据集定义的长度。
- 33
- 尝试在 REQID 已用于另一个浏览的情况下启动浏览。
- 42
- 指定了 KEYLENGTH 和 GENERIC 选项,并且在 KEYLENGTH 选项中指定的长度小于零。
- 44
- 指定的文件是用户维护的或耦合设施数据表,并且该命令不符合此类数据表的 STARTBR 格式 (例如,指定了 RBA)。
- 51
- 以 RLS 方式访问的 KSDS 文件的 STARTBR 命令指定 RBA 关键字。 RLS 方式不支持对 KSDS 文件进行 RBA 访问。
- 59
- 指定了 XRBA ,但数据集不是扩展 ESDS。
缺省操作: 异常终止任务。
- 17 IOERR
- RESP2 值:
- 120
- 文件控制操作期间发生 I/O 错误。 I/O 错误是 CICS 条件未涵盖的任何异常事件。
对于 VSAM 文件, IOERR 通常指示硬件错误。 EXEC 接口块中提供了更多信息; 有关详细信息,请参阅 EIB 字段。
对于耦合设施数据表, IOERR 指示从耦合设施访问返回的响应不正确。
缺省操作: 异常终止任务。
- 54 ISCINVREQ
- RESP2 值:
- 70
- 远程系统指示不符合已知条件的故障。
缺省操作: 异常终止任务。
- 94 个 LOADING
- RESP2 值:
- 104
- 无法满足请求,因为该请求是针对仍在装入的数据表发出的。 由于下列原因之一,可以提出该条件:
- STARTBR 指定尚未装入到耦合设施数据表中的记录。 仅当所请求的键在已装入的记录的范围内时,才能在 CFDT 正在装入时读取记录。
对于在装入期间发生故障的耦合设施数据表,也可以返回 LOADING 响应。 有关在耦合设施数据表的装入失败时发生的情况的更多信息,请参阅 数据表管理出口 XDTRD , XDTAD 和 XDTLC中对 XDTLC 全局用户出口的描述。
- READ 指定用户维护的数据表的 GENERIC 或 GTEQ 选项。 装入 UMT 时,可以仅使用精确键来发出启动浏览请求。
如果应用程序持续或过于频繁地迂到 LOADING 条件,请检查这是否不是由引用相同数据集的冲突文件定义引起的。
- STARTBR 指定尚未装入到耦合设施数据表中的记录。 仅当所请求的键在已装入的记录的范围内时,才能在 CFDT 正在装入时读取记录。
缺省操作: 异常终止任务。
- 70 NOTAUTH
- RESP2 值:
- 101
- 对 FILE (filename) 执行资源安全性检查失败。
缺省操作: 异常终止任务。
- 13 NOTFND
- RESP2 值:
- 80
- 尝试根据提供的搜索参数对记录进行定位失败。
- 81
- 指定了 XRBA ,并且 RIDFLD 的值大于 4 GB ,但数据集不是扩展寻址 ESDS。
如果具有 KEYLENGTH ($TAG1) 的通用 STARTBR 指定了 EQUAL 选项,那么也会发生 NOTFND。
缺省操作: 异常终止任务。
- 19 NOTOPEN
- RESP2 值:
- 60
- 由于下列其中一个原因,将返回 NOTOPEN (RESP2 60):
- 请求的文件为 CLOSED 和 UNENABLED。 在接收到针对 OPEN ENABLED 文件的 CLOSE 请求并且该文件不再使用后,将达到 CLOSED , UNENABLED 状态。 还可以通过在 FILE 资源定义上指定 STATUS (UNENABLED) 和 OPENTIME (FIRSTREF) ,使 CLOSED , UNENABLED 成为初始状态。 (对于 BDAM 文件,使用 DFHFCT TYPE=FILE 宏的 FILSTAT 参数。)
- 请求的文件是 OPEN ,正在由其他事务使用,但已接收到针对该文件的 CLOSE 请求。
- 作为 SET DSNAME QUIESCED 或 IMMQUIESED 命令的结果,对已停顿或正在停顿的数据集发出 STARTBR 命令。
- 请求的文件为 CLOSED 和 ENABLED ,因此 CICS 已尝试在执行请求的过程中打开该文件。 由于某种原因,此文件打开失败。 您应该检查控制台以获取说明打开文件失败原因的消息。
如果对 CLOSED , DISABLED 文件发出请求,那么不会发生此情况。 在这种情况下,将出现 DISABLED 条件。
缺省操作: 异常终止任务。
- 53 个 SYSIDERR
- RESP2 值:
- 130
- SYSID 选项指定的名称既不是本地系统,也不是由 CONNECTION 或 IPCONN 定义定义的远程系统。 当到远程系统的链接已知但不可用时,也会发生 SYSIDERR。 对于 IPCONN ,如果链路已知,但本地或远程系统不支持使用 IP 互连交付的功能的文件控制命令,那么将发生 SYSIDERR。
- 131
- 对于耦合设施数据表,与耦合设施数据表服务器的连接已失败。 这可能是因为服务器本身已发生故障,或者服务器可用,但 CICS 未能连接到该服务器。
- 132
- 启动浏览正在对不再存在的耦合设施数据表进行操作,这可能是因为耦合设施发生故障,在这种情况下,耦合设施数据表服务器也会发生故障。 有关重新启动耦合设施数据表服务器和重新装入表的信息,请参阅 设置和运行耦合设施数据表服务器 。
缺省操作: 异常终止任务。
