在 CICS 中浏览 KSDS 时无法读取下一条记录
Not able to read next record while browsing KSDS in CICS
我正在尝试使用 STARTBR 和 READNEXT 按顺序读取 VSAM KSDS 文件。我能够读取第一条记录。处理第一条记录后,我期待在执行 READNEXT 时从 VSAM 读取第二条记录,但仅再次读取第一条记录。你能帮忙吗?我使用相同的行 2 次:1 次在 STARTBR 之后,1 次是在 1st 之后读取下一条记录时。
MOVE LENGTH OF WS-INPUT-DATA TO X01-KEY1-LENGTH
EXEC CICS READNEXT DATASET(X01-INPUT-NAME)
INTO(WS-INPUT-DATA)
RIDFLD(X01-KEY1)
LENGTH(X01-KEY1-LENGTH)
RESP(X-RESP)
END-EXEC
从描述来看,RIDFLD 似乎在第 1 次和第 2 次请求之间发生了变化,可能已清除,这将导致重新定位浏览以在 RIDFLD 中传递新值后查找下一条记录。
确保在第 2 个 REDEXT 中,RIDFLD 具有第一个 READNEXT 返回的值。
我正在尝试使用 STARTBR 和 READNEXT 按顺序读取 VSAM KSDS 文件。我能够读取第一条记录。处理第一条记录后,我期待在执行 READNEXT 时从 VSAM 读取第二条记录,但仅再次读取第一条记录。你能帮忙吗?我使用相同的行 2 次:1 次在 STARTBR 之后,1 次是在 1st 之后读取下一条记录时。
MOVE LENGTH OF WS-INPUT-DATA TO X01-KEY1-LENGTH
EXEC CICS READNEXT DATASET(X01-INPUT-NAME)
INTO(WS-INPUT-DATA)
RIDFLD(X01-KEY1)
LENGTH(X01-KEY1-LENGTH)
RESP(X-RESP)
END-EXEC
从描述来看,RIDFLD 似乎在第 1 次和第 2 次请求之间发生了变化,可能已清除,这将导致重新定位浏览以在 RIDFLD 中传递新值后查找下一条记录。
确保在第 2 个 REDEXT 中,RIDFLD 具有第一个 READNEXT 返回的值。