Невозможно прочитать следующую запись при просмотре 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.

Другие вопросы по тегам