Учебники

VSAM — ESDS

ESDS известен как набор данных с последовательным входом. Набор данных с последовательной записью ведет себя как последовательная организация файлов с некоторыми дополнительными функциями. Мы можем получить доступ к записям напрямую и в целях безопасности можем также использовать пароли. Мы должны кодировать NONINDEXED внутри команды DEFINE CLUSTER для наборов данных ESDS. Ниже приведены ключевые особенности ESDS —

  • Записи в кластере ESDS хранятся в том порядке, в котором они были вставлены в набор данных.

  • На записи ссылаются по физическому адресу, который известен как относительный байтовый адрес (RBA) . Предположим, если в наборе данных ESDS у нас есть 80-байтовые записи, RBA первой записи будет 0, RBA для второй записи будет 80, для третьей записи это будет 160 и так далее.

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

  • Записи хранятся в том порядке, в котором они были вставлены. Новые записи вставляются в конце.

  • Удаление записей невозможно в наборе данных ESDS. Но они могут быть помечены как неактивные.

  • Записи в наборе данных ESDS могут иметь фиксированную длину или переменную длину.

  • ESDS не индексируется. Ключи отсутствуют в наборе данных ESDS, поэтому он может содержать повторяющиеся записи.

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

Записи в кластере ESDS хранятся в том порядке, в котором они были вставлены в набор данных.

На записи ссылаются по физическому адресу, который известен как относительный байтовый адрес (RBA) . Предположим, если в наборе данных ESDS у нас есть 80-байтовые записи, RBA первой записи будет 0, RBA для второй записи будет 80, для третьей записи это будет 160 и так далее.

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

Записи хранятся в том порядке, в котором они были вставлены. Новые записи вставляются в конце.

Удаление записей невозможно в наборе данных ESDS. Но они могут быть помечены как неактивные.

Записи в наборе данных ESDS могут иметь фиксированную длину или переменную длину.

ESDS не индексируется. Ключи отсутствуют в наборе данных ESDS, поэтому он может содержать повторяющиеся записи.

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

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

Следующий синтаксис показывает, какие параметры мы можем использовать при создании кластера ESDS. Описание параметров остается тем же, что указано в модуле VSAM — Cluster.

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

пример

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

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

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

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

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

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

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

пример

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

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

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