VSAM - Komutlar
VSAM komutları, VSAM veri kümelerinde belirli işlemleri gerçekleştirmek için kullanılır. Aşağıdakiler en kullanışlı VSAM komutlarıdır -
- Alter
- Repro
- Listcat
- Examine
- Verify
Değiştir
ALTER komutu, VSAM dosya özniteliklerini değiştirmek için kullanılır. VSAM Küme tanımında bahsettiğimiz VSAM dosyasının özniteliklerini değiştirebiliriz. Öznitelikleri değiştirmek için sözdizimi aşağıdadır -
ALTER file-cluster-name [password]
[ADDVOLUMES(volume-serial)]
[BUFFERSPACE(size)]
[EMPTY / NOEMPTY]
[ERASE / NOERASE]
[FREESPACE(CI-percentage CA-percentage)]
[KEYS(length offset)]
[NEWNAME(new-name)]
[RECORDSIZE(average maximum)]
[REMOVEVOLUMES(volume-serial)]
[SCRATCH / NOSCRATCH]
[TO(date) / FOR(days)]
[UPGRADE / NOUPGRADE]
[CATALOG(catalog-name [password]]
Yukarıdaki sözdizimi, mevcut bir VSAM kümesinde hangi parametreleri değiştirebileceğimizi gösterir. Parametre açıklaması VSAM - Küme modülünde belirtilenle aynı kalır.
Misal
Aşağıdaki örnek, Serbest Alanı artırmak, daha fazla hacim eklemek ve Anahtarları Değiştirmek için ALTER komutunun nasıl kullanılacağını gösterir -
//SAMPLE JOB(TESTJCL,XXXXXX),CLASS = A,MSGCLASS = C
//STEP1 EXEC PGM = IDCAMS
//SYSPRINT DD SYSOUT = *
//SYSIN DD *
ALTER MY.VSAM.KSDSFILE
[ADDVOLUMES(2)]
[FREESPACE(6 6)]
[KEYS(10 2)]
/*
Yukarıdaki JCL'yi Mainframes sunucusunda çalıştıracaksanız. MAXCC = 0 ile çalıştırılmalı ve Serbest Alan, Hacim ve Anahtarları değiştirecektir.
Repro
REPRO komutu, verileri VSAM veri kümesine yüklemek için kullanılır. Ayrıca bir VSAM veri kümesinden diğerine veri kopyalamak için de kullanılır. Sıralı dosyadan VSAM dosyasına veri kopyalamak için bu komutu kullanabiliriz. IDCAMS yardımcı programı, veri kümelerini yüklemek için REPRO komutunu kullanır.
REPRO INFILE(in-ddname)
OUTFILE(out-ddname)
Yukarıdaki sözdiziminde, ddname, kayıtlara sahip olan Giriş Veri Kümesi için DD adıdır. Dış gg adı, girdi veri kümesi kayıtlarının kopyalanacağı Çıktı Veri Kümesi için DD adıdır.
Misal
Aşağıdaki örnek, kayıtların bir veri kümesinden başka bir VSAM veri kümesine nasıl kopyalanacağını gösterir -
//SAMPLE JOB(TESTJCL,XXXXXX),CLASS = A,MSGCLASS = C
//STEP1 EXEC PGM = IDCAMS
//IN DD DSN = MY.VSAM.KSDSFILE,DISP = SHR
//OUT DD DSN = MY.VSAM1.KSDSFILE,DISP = SHR
//SYSPRINT DD SYSOUT = *
//SYSIN DD *
REPRO INFILE(IN)
OUTFILE(OUT)
/*
Yukarıdaki JCL'yi Mainframes sunucusunda çalıştıracaksanız. MAXCC = 0 ile çalışmalı ve MY.VSAM.KSDSFILE'daki tüm kayıtları MY.VSAM1.KSDSFILE VSAM dosyasına kopyalayacaktır.
Listcat
LISTCAT komutu, bir VSAM veri kümesinin katalog ayrıntılarını almak için kullanılır. Listcat komutu, VSAM veri kümeleri hakkında aşağıdaki bilgileri sağlar -
- SMS Bilgileri
- RLS Bilgileri
- Hacim Bilgileri
- Küre Bilgileri
- Tahsis Bilgileri
- Veri Kümesi Özellikleri
LISTCAT ENTRY(vsam-file-name) ALL
Yukarıdaki sözdiziminde, vsam-dosya-adı, tüm bilgilere ihtiyacımız olan VSAM veri kümesi adıdır. Tüm katalog detaylarını almak için ALL anahtar sözcüğü belirtilmiştir.
Misal
Aşağıdaki örnek, bir VSAM veri kümesi için Listcat komutunu kullanarak tüm ayrıntıların nasıl getirileceğini gösterir -
//SAMPLE JOB(TESTJCL,XXXXXX),CLASS = A,MSGCLASS = C
//STEP1 EXEC PGM = IDCAMS
//SYSPRINT DD SYSOUT = *
//SYSIN DD *
LISTCAT ENTRY(MY.VSAM.KSDSFILE)
ALL
/*
Yukarıdaki JCL'yi Mainframes sunucusunda çalıştıracaksanız. MAXCC = 0 ile çalışmalı ve MY.VSAM.KSDSFILE veri setiyle ilgili tüm katalog detaylarını gösterecektir.
Muayene etmek
İncele komutu, anahtar sıralı bir veri kümesi kümesinin yapısal bütünlüğünü kontrol etmek için kullanılır. İndeks ve veri bileşenlerini kontrol eder ve herhangi bir sorun bulunursa hata mesajları biriktirme olarak gönderilir. IDCxxxxx mesajlarından herhangi birini kontrol edebilirsiniz.
EXAMINE NAME(vsam-ksds-name) -
INDEXTEST DATATEST -
ERRORLIMIT(50)
Yukarıdaki sözdiziminde, vsam-ksds-adı, VSAM kümesinin dizin ve veri bölümünü incelememiz gereken VSAM veri kümesi adıdır.
Misal
Aşağıdaki örnek, KSDS veri kümesinin Dizin ve Veri bölümlerinin senkronize edilip edilmediğinin nasıl kontrol edileceğini gösterir -
//SAMPLE JOB(TESTJCL,XXXXXX),CLASS = A,MSGCLASS = C
//STEP1 EXEC PGM = IDCAMS
//SYSPRINT DD SYSOUT = *
//SYSIN DD *
EXAMINE NAME(MY.VSAM.KSDSFILE) -
INDEXTEST DATATEST -
ERRORLIMIT(50)
/*
Yukarıdaki JCL'yi Mainframes sunucusunda çalıştıracaksanız. MAXCC = 0 ile yürütülmelidir ve biriktirmedeki IDCxxxxx mesajlarından birinde VSAM veri kümesiyle ilgili tüm sorunları gösterecektir.
Doğrulayın
Doğrulama komutu, bir hatadan sonra düzgün şekilde kapatılmayan VSAM dosyalarını kontrol etmek ve düzeltmek için kullanılır. Komut, dosyaya doğru Veri Sonu kayıtlarını ekler.
VERIFY DS(vsam-file-name)
Yukarıdaki sözdiziminde, vsam-file-name, hataları kontrol etmemiz gereken VSAM veri kümesi adıdır.
Misal
Aşağıdaki örnek, VSAM veri kümesindeki hataların nasıl kontrol edilip düzeltileceğini gösterir -
//SAMPLE JOB(TESTJCL,XXXXXX),CLASS = A,MSGCLASS = C
//STEP1 EXEC PGM = IDCAMS
//SYSPRINT DD SYSOUT = *
//SYSIN DD *
VERIFY DS(MY.VSAM.KSDSFILE)
/*
Yukarıdaki JCL'yi Mainframes sunucusunda çalıştıracaksanız. MAXCC = 0 ile çalışmalı ve VSAM veri kümesindeki hataları düzeltir.