Невозможно прочитать следующую запись при просмотре KSDS в CICS
Я пытаюсь прочитать файл VSAM KSDS последовательно, используя STARTBR и READNEXT. Я могу прочитать первую запись. После обработки 1-й записи я ожидал чтения 2-й записи из VSAM, когда выполняется READNEXT, но снова читается только первая запись. Не могли бы вы помочь здесь? Я использую одни и те же строки 2 раза: 1 после STARTBR и 1 при чтении следующей записи после 1-го.
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
1 ответ
Из описания выглядит, как будто RIDFLD изменился между 1-м и 2-м запросами, возможно, очищенными, что приведет к изменению положения обзора для поиска следующей записи после того, как новое значение передано в RIDFLD.
Убедитесь, что во втором READNEXT RIDFLD имеет значение, возвращенное 1-м READNEXT.