Учебники

VSAM — RRDS

RRDS известен как набор данных относительной записи. Кластер RRDS похож на кластер ESDS. Единственное отличие состоит в том, что записи RRDS доступны по относительному номеру записи (RRN) , мы должны кодировать NUMBERED внутри команды DEFINE CLUSTER. Ниже приведены ключевые особенности RRDS —

  • Набор данных относительной записи имеет записи, которые идентифицируются по номеру относительной записи (RRN) , который является порядковым номером относительно первой записи.

  • RRDS обеспечивает доступ к записям по номерам, таким как запись 1, запись 2 и т. Д. Это обеспечивает произвольный доступ и предполагает, что прикладная программа имеет способ получить нужные номера записей.

  • Доступ к записям в наборе данных RRDS можно получить последовательно, в относительном порядке номеров записей или напрямую, указав относительный номер записи требуемой записи.

  • Записи в наборе данных RRDS хранятся в слотах фиксированной длины. На каждую запись ссылается номер своего слота, номер может варьироваться от 1 до максимального количества записей в наборе данных.

  • Записи в RRDS могут быть записаны путем вставки новой записи в пустой слот.

  • Записи могут быть удалены из кластера RRDS, оставляя тем самым пустой слот.

  • Приложения, которые используют записи фиксированной длины или номер записи с контекстным значением, которые могут использовать наборы данных RRDS.

  • RRDS может использоваться в программах на языке COBOL , как и любой другой файл. Мы будем указывать имя файла в JCL, и мы можем использовать файл KSDS для обработки внутри программы. В программе COBOL укажите организацию файлов как RELATIVE, и вы можете использовать любой режим доступа (последовательный, случайный или динамический) с набором данных RRDS.

Набор данных относительной записи имеет записи, которые идентифицируются по номеру относительной записи (RRN) , который является порядковым номером относительно первой записи.

RRDS обеспечивает доступ к записям по номерам, таким как запись 1, запись 2 и т. Д. Это обеспечивает произвольный доступ и предполагает, что прикладная программа имеет способ получить нужные номера записей.

Доступ к записям в наборе данных RRDS можно получить последовательно, в относительном порядке номеров записей или напрямую, указав относительный номер записи требуемой записи.

Записи в наборе данных RRDS хранятся в слотах фиксированной длины. На каждую запись ссылается номер своего слота, номер может варьироваться от 1 до максимального количества записей в наборе данных.

Записи в RRDS могут быть записаны путем вставки новой записи в пустой слот.

Записи могут быть удалены из кластера RRDS, оставляя тем самым пустой слот.

Приложения, которые используют записи фиксированной длины или номер записи с контекстным значением, которые могут использовать наборы данных RRDS.

RRDS может использоваться в программах на языке COBOL , как и любой другой файл. Мы будем указывать имя файла в JCL, и мы можем использовать файл KSDS для обработки внутри программы. В программе COBOL укажите организацию файлов как RELATIVE, и вы можете использовать любой режим доступа (последовательный, случайный или динамический) с набором данных RRDS.

Структура файла RRDS

Пространство разделено на слоты фиксированной длины в файловой структуре RRDS. Слот может быть либо полностью свободным, либо полностью заполненным. Таким образом, новые записи могут быть добавлены в пустые слоты, а существующие записи могут быть удалены из слотов, которые заполнены. Мы можем получить доступ к любой записи напрямую, указав относительный номер записи. Следующий пример показывает базовую структуру файла данных —

Компонент данных

Относительный номер записи Поле записи 1 Поле записи 2
1 Руководство точка
2 Mohtashim М.
3 Nishant Malik

Определение кластера RRDS

Следующий синтаксис показывает, какие параметры мы можем использовать при создании кластера RRDS.

Описание параметров остается тем же, что указано в модуле VSAM — Cluster.

DEFINE CLUSTER (NAME(rrds-file-name)     -
BLOCKS(number)                           -
VOLUMES(volume-serial)                   -
NUMBERED                                 -
RECSZ(average maximum)                   -
[FREESPACE(CI-Percentage,CA-Percentage)] -
CISZ(number)                             -
[READPW(password)]                       -
[FOR(days)|TO(date)]                     -
[UPDATEPW(password)]                     -
[REUSE / NOREUSE])                       -
DATA                                     -
   (NAME(rrds-file-name.data))           

пример

В следующем примере показано, как создать кластер RRDS в JCL с помощью утилиты IDCAMS.

//SAMPLE JOB(TESTJCL,XXXXXX),CLASS = A,MSGCLASS = C
//STEP1  EXEC PGM = IDCAMS
//SYSPRINT DD  SYSOUT = *
//SYSIN    DD  *
   DEFINE CLUSTER (NAME(MY.VSAM.RRDSFILE)  -
   NUMBERED                                -
   RECSZ(80 80)                            -
   TRACKS(1,1)                             -
   REUSE                                   - 
   FREESPACE(3 3) )                        -
   DATA (NAME(MY.VSAM.RRDSFILE.DATA))      
/*

Если вы выполните вышеупомянутый JCL на сервере мейнфреймов. Он должен выполняться с MAXCC = 0, и он создаст файл VSAM MY.VSAM.RRDSFILE.

Удаление кластера RRDS

Кластер RRDS удаляется с помощью утилиты IDCAMS. Команда DELETE удаляет запись кластера VSAM из каталога и при необходимости удаляет файл, освобождая тем самым пространство, занимаемое объектом.

DELETE data-set-name CLUSTER  
[ERASE / NOERASE] 
[FORCE / NOFORCE] 
[PURGE / NOPURGE] 
[SCRATCH / NOSCRATCH]

Выше синтаксис показывает, какие параметры мы можем использовать при удалении кластера RRDS. Описание параметров остается тем же, что указано в модуле VSAM — Cluster.

пример

В следующем примере показано, как удалить кластер RRDS в JCL с помощью утилиты IDCAMS.

//SAMPLE JOB(TESTJCL,XXXXXX),CLASS = A,MSGCLASS = C
//STEPNAME EXEC PGM = IDCAMS
//SYSPRINT DD  SYSOUT = *
//SYSIN    DD  *
   DELETE MY.VSAM.RRDSFILE CLUSTER
/*

Если вы выполните вышеупомянутый JCL на сервере мейнфреймов. Он должен выполняться с MAXCC = 0, и он удалит MY.VSAM.RRDSFILE VSAM Cluster.