📅  最后修改于: 2020-11-22 17:20:27             🧑  作者: Mango
ESDS被称为条目排序数据集。条目顺序数据集的行为类似于顺序文件组织,其中包括更多功能。我们可以直接访问记录,并且出于安全目的,我们也可以使用密码。我们必须在ESF数据集的DEFINE CLUSTER命令内编码NONINDEXED 。以下是ESDS的主要功能-
ESDS集群中的记录按插入到数据集中的顺序存储。
记录由称为相对字节地址(RBA)的物理地址引用。假设如果在ESDS数据集中有80个字节的记录,则第一个记录的RBA为0,第二个记录的RBA为80,第三个记录的RBA为160,依此类推。
记录可以通过RBA顺序访问,这称为寻址访问。
记录按插入顺序保留。新记录将插入到末尾。
在ESDS数据集中无法删除记录。但是它们可以被标记为非活动状态。
ESDS数据集中的记录可以是固定长度或可变长度。
ESDS未编制索引。密钥不在ESDS数据集中,因此它可能包含重复的记录。
ESDS可以像任何其他文件一样在COBOL程序中使用。我们将在JCL中指定文件名,并且可以使用ESDS文件在程序内部进行处理。在COBOL程序中指定的文件组织为顺序和访问模式为连续与ESDS数据集。
以下语法显示了在创建ESDS集群时可以使用的参数。参数说明与“ VSAM-群集”模块中提到的相同。
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))
以下示例显示如何使用IDCAMS实用程序在JCL中创建ESDS集群-
//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执行,并将创建MY.VSAM.ESDSFILE VSAM文件。
使用IDCAMS实用程序删除了ESDS群集。 DELETE命令从目录中删除VSAM群集的条目,并有选择地删除文件,从而释放对象占用的空间。
DELETE data-set-name CLUSTER
[ERASE / NOERASE]
[FORCE / NOFORCE]
[PURGE / NOPURGE]
[SCRATCH / NOSCRATCH]
上面的语法显示了删除ESDS集群时可以使用的参数。参数说明与“ VSAM-群集”模块中提到的相同。
以下示例显示如何使用IDCAMS实用程序在JCL中删除ESDS集群-
//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群集。