DISP=MOD
Это добавится к концу существующего последовательного набора данных.Если указанный набор данных еще не существует, он будет создан (в этом случае DISP = MOD и DISP = NEW эквивалентны)
Остерегайтесь следующего:
Multi-VolumeНаборы данных
Поведение DISP=MOD
зависит от того, указали ли вы конкретный том или нет.Вы должны просмотреть эту ссылку для правил
Набор данных с секционированными данными
Если вы задаете имя элемента в параметре DSNAME, имя элемента не должен уже существовать .Система размещает механизм чтения / записи в конце набора данных.Если имя участника уже существует, система завершает работу.
Если вы не укажете имя члена, система помещает механизм чтения / записи в конец набора данных.Система не делает автоматическую запись в каталог.
Добавление данных в конец члена PDS / PDSE является хитростью.Как правило, вам нужно удалить и переписать весь элемент, добавив в него новые записи.
Последовательные наборы данных и глагол COBOL OPEN
Существует некоторое "взаимодействие" междуDISP
, данное в JCL и глаголе COBOL OPEN
.
Если вы укажете DISP=MOD
в своем JCL, программа на COBOL добавит записи в конец последовательного набора данных для OPEN OUTPUT
иOPEN EXTEND
.
Если в JCL указать DISP=OLD
, программа на COBOL добавит записи в конец последовательного набора данных для OPEN EXTEND
.Если вы откроете последовательный набор данных как OPEN OUTPUT
, исходное содержимое набора данных будет удалено, и вы фактически снова начнете с пустого набора данных (как если бы вы удалили и перераспределили его).
Наборы данных VSAM
Файлы метода доступа к виртуальному хранилищу (VSAM) представляют собой совершенно другой источник рыбы.Наборы данных VSAM доступны в различных организациях:
- KSDS (набор данных с последовательным ключом)
- ESDS (набор данных с последовательным вводом)
- RRDS (набор данных относительной записи))
- LSD (набор данных линейного пространства)
Каждая организация имеет свои собственные характеристики и применения.
Наборы данных VSAM должны быть предварительно определены перед программой COBOLможет ссылаться на них.Это часто делается как отдельная работа IDCAMS .Как только набор данных VSAM определен, к нему можно получить доступ через программу COBOL (или другую).Эта ссылка предоставляет хороший обзор для манипулирования наборами данных VSAM в COBOL.Раздел: Добавление записей в набор данных VSAM охватывает особенности добавления записей в набор данных VSAM из программы COBOL.Используйте OPEN EXTEND
версию оператора open COBOL для добавления записей в конец существующего набора данных ESDS или KSDS VSAM.Обратите внимание, что для наборов данных KSDS записи должны добавляться в порядке возрастания по отношению к ключу.
JCL, используемый для подключения набора данных VSAM к программе, на самом деле довольно прост и описан здесь .Использование DISP=MOD
аналогично DISP=OLD
для существующих наборов данных VSAM (используйте любой из них - без разницы).Используйте DISP=SHR
, если вы не обновляете набор данных и не хотите блокировать другие программы от одновременного доступа.