LOCATE

将记录指针放在结果集中。

读取语法图跳过可视语法图LOCATEpointer_group
pointer_group
读取语法图跳过可视语法图POSITION_GroupFILTER_group
POSITION_group
读取语法图跳过可视语法图TOPBOTTOMPOSITION(data-value)FORWARD(data-value)BACKWARD(data-value)
FILTER_group
读取语法图跳过可视语法图FILTER(cpsm-令牌)MARKEDNOTFILTER(cpsm-令牌)NOTMARKEDFIRSTLASTNEXTPREV
读取语法图跳过可视语法图RESULT(cpsm-令牌) THREAD(cpsm-令牌 )RESPONSE(data-ref )REASON(data-ref )

描述

此命令将记录指针放在结果集中。
  • 用于处理记录或更新结果集中的数据的 API 命令会影响记录指针的位置:
    • 执行 GET 命令后,指针将定位到结果集的顶部。
    • 在 FETCH 命令之后,指针将定位到结果集中的下一个记录 (即,在指针移动,前进或后退的方向上访存的最后一个记录之后的记录)。 如果未访存任何记录 (因为没有与指定条件匹配的记录) ,那么指针将定位到结果集的顶部或底部,具体取决于其移动方向。
    发出任何其他操作记录或更新数据的命令后,记录指针的位置取决于各种因素的组合,包括您在命令上指定的选项。 要确定指针的位置,应使用 LOCATE 命令将其显式地定位在结果集中。
  • LOCATE 命令跳过结果集中任何已删除的记录。 如果尝试将记录指针定位到已删除的记录,那么您将收到 RESPONSE 值 NODATA。

相关命令

COPY , DELETE , FETCH , GETDEF , GROUP , MARK , ORDER , PERFORM OBJECT , PERFORM SET , REFRESH , SET ,指定 FILTER 和 UNMARK

选项

BACK何承天(数据值)
将记录指针向后移动指定数目的资源表记录。

如果指针到达结果集的顶部,那么它将保持位于第一个资源表记录上。 指针不会继续向后移动到结果集的底部。

底部
将记录指针移动到结果集中的最后一个资源表记录。
FILTER(cpsm-token)
标识要用于此操作的过滤器。

FILTER 选项将记录指针定位到符合指定过滤条件的资源表记录。 FIRST , LAST , NEXT 或 PREV 选项确定搜索在结果集中的开始位置及其继续的方向。

用于标识过滤器的 cpsm-token 值由指定 FILTER 命令返回。

第一个
使用结果集中的第一个资源表记录开始基于过滤器或标记条件的搜索。 搜索在结果集内继续向前方向,直到找到匹配项为止。
FOR何承天(数据值)
按指定数目的资源表记录向前移动记录指针。

如果指针到达结果集的底部,那么它将保留在最后一个资源表记录上。 指针不会继续向前移动到结果集的顶部。

最后一个
使用结果集中的最后一个资源表记录开始基于过滤器或标记条件的搜索。 搜索在结果集内以向后方向继续,直到找到匹配项为止。
已标记
将记录指针定位到已标记的资源表记录。 FIRST , LAST , NEXT 或 PREV 选项确定搜索在结果集中的开始位置及其继续的方向。

您可以使用 MARK 和 UNMARK 命令来标记资源表记录。

下一步
使用结果集中的当前资源表记录开始基于过滤器或标记条件的搜索。 搜索在结果集内继续向前方向,直到找到匹配项为止。
NOTFILTER(cpsm-token)
标识要用于此操作的过滤器。

NOTFILTER 选项将记录指针定位到不满足指定过滤条件的资源表记录。 FIRST , LAST , NEXT 或 PREV 选项确定搜索在结果集中的开始位置及其继续的方向。

用于标识过滤器的 cpsm-token 值由指定 FILTER 命令返回。

未标记
将记录指针定位到未标记的资源表记录。 FIRST , LAST , NEXT 或 PREV 选项确定搜索在结果集中的开始位置及其继续的方向。

您可以使用 MARK 和 UNMARK 命令来标记资源表记录。

POSITION(数据值)
将记录指针移动到结果集中的第 n 个资源表记录。

此值必须是标识记录在结果集中的相对位置的数字。 结果集中的第一个记录由数字 1 标识。

例如,要将记录指针移动到结果集中的第五个资源表记录,应指定 POSITION(5)

上一页
使用结果集中的先前资源表记录开始基于过滤器或标记条件的搜索。 搜索在结果集内以向后方向继续,直到找到匹配项为止。
REASON(数据引用)
指定变量以接收此命令返回的全字原因值。
RESPONSE(数据引用)
指定一个变量以接收此命令返回的全字响应值。
RESULT(cpsm-token)
标识此操作要处理的 API 结果集。 结果集可以是由以下任何命令生成的结果集:
  • COPY
  • GET
  • GETDEF
  • GROUP
  • PERFORM OBJECT。
THREAD(cpsm-token)
标识要用于此操作的 API 线程。 用于标识线程的 cpsm-token 值由 CONNECT 命令返回。
TOP
将记录指针移动到结果集中的第一个资源表记录。

条件

以下是 LOCAL 命令可返回的 RESPONSE 值的列表。 每个 RESPONSE 的描述都包含关联的 REASON 值的列表 (如果适用)。
确定
该命令已成功完成处理。
NODATA
由于下列其中一个原因,找不到与指定搜索条件匹配的记录:
向后
没有更多记录满足向后方向的搜索条件。
向前
在前进方向上没有更多满足搜索条件的记录。
繁忙
由于以下原因,发生了忙碌状态:
RESULT
RESULT 选项上指定的结果集正由另一个命令处理。
发生了错误
由于下列其中一个原因,发生了环境错误:
无服务
应用程序存根程序无法装入 API 服务模块。
无存储器
应用程序存根程序无法在正在运行处理线程的地址空间中获取必需的存储器。
SOCRESOURCE
CMAS 拥有的必需资源不可用。
索尔资源
本地拥有的必需资源 (即,由正在运行处理线程的地址空间拥有) 不可用。
FAILED
由于下列其中一个原因,该命令失败:
异常终止
命令处理异常结束。
EXCEPTION
命令处理迂到异常情况。
INVALIDPARM
检测到无效参数。 将返回无效的参数作为原因值:
  • 向后
  • FILTER
  • 向前
  • NOTFILTER
  • position
  • RESULT
  • 太棒了
请检查命令描述以获取有效的参数语法。
NOTAVAILABLE
由于下列其中一个原因,发生了不可用的情况:
APITASK
API 控制子任务未处于活动状态。
CPSMAPI
处理线程尝试连接的 CMAS 不可用于 API 处理。
服务器 GONE
处理线程所连接的 CMAS 不再处于活动状态。
版本 INVL
由于下列其中一个原因,发生了版本冲突:
NotSupported
不支持用于此命令的应用程序存根程序的版本。
NOTVSNCONN
用于此命令的应用程序存根程序的版本与用于 CONNECT 命令的版本不同。