VSAM - ESDS
ESDS, Giriş Sıralı Veri Kümesi olarak bilinir. Giriş sıralı bir veri kümesi, daha fazla özellik içeren sıralı dosya organizasyonu gibi davranır. Kayıtlara doğrudan ulaşabiliriz ve güvenlik amacıyla şifreleri de kullanabiliriz. KodlamalıyızNONINDEXEDESDS veri kümeleri için DEFINE CLUSTER komutunun içinde. ESDS'nin temel özellikleri aşağıdadır -
ESDS kümesindeki kayıtlar, veri kümesine eklendikleri sırayla saklanır.
Kayıtlara fiziksel adres olarak başvurulur. Relative Byte Address (RBA). Bir ESDS veri kümesinde 80 baytlık kaydımız varsa, ilk kaydın RBA'sı 0, ikinci kayıt için RBA 80, üçüncü kayıt için 160 ve benzeri olacağını varsayalım.
Kayıtlara sıralı olarak RBA olarak bilinen addressed access.
Kayıtlar, eklendikleri sırayla tutulur. Sonunda yeni kayıtlar eklenir.
ESDS veri setinde kayıtların silinmesi mümkün değildir. Ancak etkin değil olarak işaretlenebilirler.
ESDS veri setindeki kayıtlar sabit uzunlukta veya değişken uzunlukta olabilir.
ESDS endekslenmemiş. Anahtarlar ESDS veri kümesinde mevcut değildir, bu nedenle yinelenen kayıtlar içerebilir.
ESDS, diğer dosyalar gibi COBOL programlarında kullanılabilir. Dosya adını JCL'de belirteceğiz ve ESDS dosyasını program içinde işlemek için kullanabiliriz. COBOL programında dosya organizasyonunu şu şekilde belirtin:Sequential ve erişim modu olarak Sequential ESDS veri seti ile.
ESDS kümesinin tanımlanması
Aşağıdaki sözdizimi, ESDS kümesi oluştururken hangi parametreleri kullanabileceğimizi gösterir. Parametre açıklaması VSAM - Küme modülünde belirtilenle aynı kalır.
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))
Misal
Aşağıdaki örnek, IDCAMS yardımcı programını kullanarak JCL'de bir ESDS kümesinin nasıl oluşturulacağını göstermektedir -
//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))
/*
Yukarıdaki JCL'yi Mainframes sunucusunda çalıştıracaksanız. MAXCC = 0 ile çalışmalı ve MY.VSAM.ESDSFILE VSAM dosyasını oluşturacaktır.
ESDS Kümesini Silme
ESDS kümesi IDCAMS yardımcı programı kullanılarak silinir. DELETE komutu, VSAM kümesinin girişini katalogdan kaldırır ve isteğe bağlı olarak dosyayı kaldırır, böylece nesnenin kapladığı alanı serbest bırakır.
DELETE data-set-name CLUSTER
[ERASE / NOERASE]
[FORCE / NOFORCE]
[PURGE / NOPURGE]
[SCRATCH / NOSCRATCH]
Yukarıdaki sözdizimi, ESDS kümesini silerken hangi parametreleri kullanabileceğimizi gösterir. Parametre açıklaması VSAM - Küme modülünde belirtilenle aynı kalır.
Misal
Aşağıdaki örnek, IDCAMS yardımcı programını kullanarak JCL'de bir ESDS kümesinin nasıl silineceğini gösterir -
//SAMPLE JOB(TESTJCL,XXXXXX),CLASS = A,MSGCLASS = C
//STEPNAME EXEC PGM = IDCAMS
//SYSPRINT DD SYSOUT = *
//SYSIN DD *
DELETE MY.VSAM.ESDSFILE CLUSTER
/*
Yukarıdaki JCL'yi Mainframes sunucusunda çalıştıracaksanız. MAXCC = 0 ile çalışmalı ve MY.VSAM.ESDSFILE VSAM Kümesini silecektir.