В документах IBM, связанных в вопросе (стр. 126: абзац FILE-CONTROL), говорится, что режим относительного доступа доступен только для файлов VSAM:
Проблема: входной файл в настоящее время не является файлом VSAM.
Решение: сделать входной файл файлом VSAM.
Это сработало:
DD-карта в JCL при создании входного файла:
//FOO DD DISP=(NEW,CATLG,DELETE),
// SPACE=(TRK,(1000,1000),RLSE),
// LRECL=300,
// RECORG=RR,
// DSN=MY.DATASET.NAME
Параметр RECORG делает набор данных RRDS. Строки не имеют легко определяемого ключа, поэтому я не смог использовать KSDS и мне нужен произвольный доступ, поэтому и ESDS тоже нет.
DD-карта для чтения набора данных:
//BAR DD DISP=SHR,DSN=MY.DATASET.NAME
А затем в программе COBOL (в FILE-CONTROL
):
SELECT INPUT-FILE
ASSIGN TO BAR
ORGANIZATION IS RELATIVE
ACCESS MODE IS DYNAMIC
RELATIVE KEY IS INPUT-FILE-KEY
FILE STATUS IS INPUT-FILE-STATUS
.