访存
检索资源表记录的数据和状态信息。
描述
- FETCH 命令之后,记录指针通常定位到结果集中的下一个记录 (即,在指针移动,前进或后退的任何方向上访存的最后一个记录之后的记录)。 但是,以下 API 命令始终对访存的最后一条记录 (即,记录指针不是高级的) 执行操作:
- COPY
- DELETE
- 标签
- 联合国 MARK
- PERFORM SET CURRENT
- 刷新当前
- 当前设置
- 如果未访存任何记录 (因为没有与指定条件匹配的记录) ,那么指针将定位到结果集的顶部或底部,具体取决于其移动方向。
相关命令
COPY , GET , GETDEF , GROUP , LOCATE , MARK , ORDER , PERFORM OBJECT , QUERY ,指定 FILTER
选项
- ALL
- 检索结果集中的所有资源表记录。 指定 ALL 时,将忽略 POSITION 和 COUNT 选项。
- APPLYSUMMARY
- 将以下任何选项,部分选项或所有选项应用于摘要记录,并检索与所选摘要记录关联的详细记录。
- 已标记
- 未标记
- FILTER
- NOTFILTER
如果在不使用 APPLYSUMMARY 选项的情况下指定 DETAIL 选项,那么结果将如 DETAIL 选项下所述。
如果未指定 DETAIL 选项或 APPLYSUMMARY 选项,但针对摘要结果集发出了下列部分或全部记录选择选项的任何组合: 标记,NOT标记, FILTER 和 NOTFILTER ,那么会将记录选择选项应用于摘要结果集并检索所选摘要记录。
- 向后
- 使用访存的最后一条记录开始检索过程,并通过指定的结果集以向后方向继续。
- BOTH
- 检索有关对资源表执行的最后一个操作的资源表数据和 OBJSTAT 状态信息。 每条记录都包含 OBJSTAT 信息,后跟资源表数据。
- CICSNAME(数据值)
- 指定要用于此操作的特定于 1-to 8 字符的 CICS 系统名称或通用系统名称。
CICSNAME 选项指示仅应考虑检索源自与指定名称模式匹配的 CICS 系统的资源表记录。 当将 CICSNAME 与 FILTER 或 NOTFILTER 一起指定时,将仅考虑满足 FILTER 或 NOTFILTER 需求且与 CICSNAME 模式匹配的记录。 检索的记录数由 COUNT 选项确定。
指定 CICSNAME 时,在 RESULT 选项上指定的结果集不得是汇总结果集,并且必须包含具有 EYU_CICSNAME 属性的资源表记录。 如果 RESULT 指定的结果集包含不具有 EYU_CICSNAME 属性的摘要记录或资源表记录,那么您将接收到 CICSNAME 选项的 INVALIDPARM 响应。
- 计数(数据引用)
- 指定要处理的资源表记录数。
COUNT 选项适用于 RESULT 选项中指定的结果集。 当您还指定 DETAIL 选项时, COUNT 提供了 RESULT 中返回源记录的摘要结果集中的摘要记录数。 每个摘要记录的 OBJSTAT 表包含在指定 DETAIL 选项的情况下将为该记录返回的源记录数。
如果未指定 COUNT 选项,那么缺省值为 1。
如果指定了 COUNT 选项,那么 COUNT 包含处理的记录数。 在大多数情况下,这也是返回的记录数。 但是,如果还指定 DETAIL 选项,那么将检索与请求的摘要记录数相关联的所有源记录。 这通常大于 COUNT 选项中指定的数字。
如果要检索多个记录,那么会将它们一个接一个地放置在 INTO 缓冲区中。 INTO 缓冲区应该足够长,以保存正在检索的所有记录。
CICSPlex SM 在此字段中返回的值取决于 FETCH 命令的 RESPONSE 值,如下所示:- 确定
- INTO 缓冲区中返回的实际记录数。
- 警告 AREATOOSMALL
- INTO 缓冲区中返回的记录数,这不是请求的记录总数。
- 无效参数长度
- 未设置此字段,因为 INTO 缓冲区的长度不足以容纳甚至一个资源表记录。
- 数据
- 仅检索指定的资源表数据。 这些记录不包含有关对资源表执行的最后一个操作的任何 OBJSTAT 状态信息。注: OBJSTAT 信息包含使用 GROUP 命令对资源表记录进行摘要时设置的摘要计数字段。 如果您计划对资源表记录进行分组,并且想要知道组合了多少条记录以形成摘要记录,那么应该指定 BOTH 以在访存记录时同时获取数据和 OBJSTAT 信息。
- DETAIL
- 检索与特定摘要资源表记录关联的源记录。
指定 DETAIL 时, RESULT 选项中指定的结果集必须是摘要结果集。 DETAIL 通过从源结果集检索与其关联的资源表记录来扩展摘要记录。 如果在处理摘要结果集时未指定 DETAIL ,那么将检索摘要记录本身。 如果结果集不是汇总结果集,那么此选项没有含义,将被忽略。
可以使用FOR何承天或BACK何承天选项以及 DETAIL 来选择要展开的摘要记录。 FOR何承天和BACK何承天选项还控制从源结果集检索记录的方向。
缺省情况下,将检索与一个或多个摘要记录相关联的所有源记录。 但是,可以使用 FILTER 或 NOTFILTER 选项来限制从源结果集检索的记录。 您还可以使用标记或NOT标记选项来仅检索与在源结果集中标记 (或未标记) 的摘要记录相关联的那些记录。
不能显式地将记录指针放在源结果集中。 指定 DETAIL 时, POSITION 选项将引用摘要结果集中的记录。 如果指定了 APPLYSUMMARY 选项,那么会将 FILTER , NOTFILTER ,标记的和NOT标记的选项应用于摘要结果集中的记录,而不是应用于源记录。
有关处理汇总结果集的更多信息,请参阅 开发 CICSPlex SM 应用程序。 有关创建汇总结果集的 GROUP 命令的描述,请参阅 GROUP。
- FILTER(cpsm-token)
- 标识要用于此操作的过滤器。 FILTER 选项指示只应考虑那些符合指定过滤条件的资源表记录进行检索。 检索的记录数由 COUNT 选项确定。
用于标识过滤器的 cpsm-token 值由指定 FILTER 命令返回。
- 向前
- 使用下一条记录 (即,遵循上次访存的记录的记录) 开始检索过程,并通过指定的结果集向前继续。
- INTO(数据区)
- 标识 REXX 中用于接收资源表记录的缓冲区 (或词干变量)。 此缓冲区的长度必须足以容纳正在检索的所有记录。
- LENGTH(数据引用)
- 指定 INTO 缓冲区长度的全字值。CICSPlex ® SM 在此字段中返回的值取决于 FETCH 命令的 RESPONSE 值:
- 确定
- INTO 缓冲区中返回的数据的实际长度。
- NODATA
- 长度设置为零。
- 警告 AREATOOSMALL
- 保存所有请求的记录所需的缓冲区长度。
- 无效参数长度
- 未设置此字段,因为 INTO 缓冲区的长度不足以容纳甚至一个资源表记录。
- 已标记
- 指示仅应考虑对结果集中标记的那些资源表记录进行检索。 检索的记录数由 COUNT 选项确定。
您可以使用 MARK 和 UNMARK 命令来标记资源表记录。
- NOTFILTER(cpsm-token)
- 标识要用于此操作的过滤器。 NOTFILTER 选项指示只有那些不符合指定过滤条件的资源表记录才应考虑进行检索。 检索的记录数由 COUNT 选项确定。
用于标识过滤器的 cpsm-token 值由指定 FILTER 命令返回。
- 未标记
- 指示仅应考虑在结果集中未标记的那些资源表记录进行检索。 检索的记录数由 COUNT 选项确定。
您可以使用 MARK 和 UNMARK 命令来标记资源表记录。
- POSITION(数据值)
- 使用结果集中的第 n 个资源表记录开始检索过程。
此值必须是标识记录在结果集中的相对位置的数字。 结果集中的第一个记录由数字 1 标识。
例如,要使用结果集中的第五个资源表记录开始检索过程,请指定POSITION(5)。注: 当 POSITION 选项与 DETAIL 选项配合使用以检索特定摘要结果集记录的源记录时, COUNT 选项的值将强制为 1 (1)。 在这种情况下, COUNT 选项返回的值是在指定的结果集记录中汇总的源记录数。 - 查询错误
- 指示此请求将返回由最后一个 GET , PERFORM 或 SET 命令生成的 MASQRYER 资源,以对结果集执行操作。注: 如果指定 QUERYERROR 选项,那么将忽略数据选择选项 FILTER , NOFILTER ,标记,NOT标记和 CICSNAME。
- REASON(数据引用)
- 指定变量以接收此命令返回的全字原因值。
- RESPONSE(数据引用)
- 指定一个变量以接收此命令返回的全字响应值。
- RESULT(cpsm-token)
- 标识此操作要处理的 API 结果集。 结果集可以是由以下任何命令生成的结果集:
- COPY
- GET
- GETDEF
- GROUP
- PERFORM OBJECT。
- STATUS
- 仅检索对资源表执行的最后一个操作的 OBJSTAT 状态信息。 这些记录不包含任何资源表数据。
- THREAD(cpsm-token)
- 标识要用于此操作的 API 线程。 用于标识线程的 cpsm-token 值由 CONNECT 命令返回。
条件
- 确定
- 该命令已成功完成处理。
- NODATA
- 由于下列其中一个原因,找不到与指定搜索条件匹配的记录:
- 向后
- 没有更多记录满足向后方向的搜索条件。
- 向前
- 在前进方向上没有更多满足搜索条件的记录。
- 警告
- 由于以下原因,该命令已完成处理,但有警告:
- AREATOOSMALL
- INTO 缓冲区的长度不足以保存请求的记录数和可用记录数。
- 繁忙
- 由于以下原因,发生了忙碌状态:
- RESULT
- RESULT 选项上指定的结果集正由另一个命令处理。
- 发生了错误
- 由于下列其中一个原因,发生了环境错误:
- 无服务
- 应用程序存根程序无法装入 API 服务模块。
- 无存储器
- 应用程序存根程序无法在正在运行处理线程的地址空间中获取必需的存储器。
- SOCRESOURCE
- CMAS 拥有的必需资源不可用。
- 索尔资源
- 本地拥有的必需资源 (即,由正在运行处理线程的地址空间拥有) 不可用。
- FAILED
- 由于下列其中一个原因,该命令失败:
- 异常终止
- 命令处理异常结束。
- EXCEPTION
- 命令处理迂到异常情况。
- INVALIDPARM
- 检测到无效参数。 将返回无效的参数作为原因值:
- 计数
- FILTER
- INTO
- LENGTH
- NOTFILTER
- position
- RESULT
- 线程
- CICSNAME
- NOTAVAILABLE
- 由于下列其中一个原因,发生了不可用的情况:
- APITASK
- API 控制子任务未处于活动状态。
- CPSMAPI
- 处理线程所连接的 CMAS 不可用于 API 处理。
- 服务器 GONE
- 处理线程所连接的 CMAS 不再处于活动状态。
- 版本 INVL
- 由于下列其中一个原因,发生了版本冲突:
- NotSupported
- 不支持用于此命令的应用程序存根程序的版本。
- NOTVSNCONN
- 用于此命令的应用程序存根程序的版本与用于 CONNECT 命令的版本不同。
