Vsam-commands
VSAM-コマンド
VSAMコマンドは、VSAMデータセットで特定の操作を実行するために使用されます。 以下は、最も便利なVSAMコマンドです-
- 変更する
- 再現
- リストキャット
- 調べる *確認する
変更する
ALTERコマンドは、VSAMファイル属性を変更するために使用されます。 VSAMクラスター定義で述べたVSAMファイルの属性を変更できます。 以下は、属性を変更するための構文です-
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]]
上記の構文は、既存のVSAMクラスターで変更できるパラメーターを示しています。 パラメーターの説明は、VSAM-クラスターモジュールで説明したものと同じです。
例
次の例は、ALTERコマンドを使用して空き領域を増やし、ボリュームを追加し、キーを変更する方法を示しています-
//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)]
/*
Mainframesサーバーで上記のJCLを実行する場合。 MAXCC = 0で実行する必要があり、Freespace、Volumes、Keysを変更します。
再現
REPROコマンドは、VSAMデータセットにデータをロードするために使用されます。 また、1つのVSAMデータセットから別のVSAMデータセットにデータをコピーするためにも使用されます。 このコマンドを使用して、シーケンシャルファイルからVSAMファイルにデータをコピーできます。 IDCAMSユーティリティはREPROコマンドを使用してデータセットをロードします。
REPRO INFILE(in-ddname)
OUTFILE(out-ddname)
上記の構文では、in-ddnameはレコードを持っている入力データセットのDD名です。 out-ddnameは、入力データセットレコードがコピーされる出力データセットのDD名です。
例
次の例は、あるデータセットから別のVSAMデータセットにレコードをコピーする方法を示しています-
//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)
/*
Mainframesサーバーで上記のJCLを実行する場合。 MAXCC = 0で実行され、MY.VSAM.KSDSFILEからMY.VSAM1.KSDSFILE VSAMファイルにすべてのレコードがコピーされます。
リストキャット
LISTCATコマンドは、VSAMデータセットのカタログの詳細を取得するために使用されます。 Listcatコマンドは、VSAMデータセットに関する次の情報を提供します-
- SMS情報
- RLS情報
- ボリューム情報
- 球体情報
- 割り当て情報 *データセット属性
LISTCAT ENTRY(vsam-file-name) ALL
上記の構文では、vsam-file-nameはすべての情報が必要なVSAMデータセット名です。 ALLキーワードは、すべてのカタログの詳細を取得するために指定されます。
例
次の例は、VSAMデータセットに対してListcatコマンドを使用してすべての詳細を取得する方法を示しています-
//SAMPLE JOB(TESTJCL,XXXXXX),CLASS = A,MSGCLASS = C
//STEP1 EXEC PGM = IDCAMS
//SYSPRINT DD SYSOUT =*
//SYSIN DD *
LISTCAT ENTRY(MY.VSAM.KSDSFILE)
ALL
/*
Mainframesサーバーで上記のJCLを実行する場合。 MAXCC = 0で実行され、MY.VSAM.KSDSFILEデータセットに関するすべてのカタログ詳細が表示されます。
調べる
Examineコマンドは、キーシーケンスデータセットクラスターの構造的整合性を確認するために使用されます。 インデックスおよびデータコンポーネントをチェックし、問題が見つかった場合は、エラーメッセージがスプールに送信されます。 IDCxxxxxメッセージのいずれかを確認できます。
EXAMINE NAME(vsam-ksds-name) -
INDEXTEST DATATEST -
ERRORLIMIT(50)
上記の構文では、vsam-ksds-nameは、VSAMクラスターのインデックスとデータ部分を調べる必要があるVSAMデータセット名です。
例
次の例は、KSDSデータセットのインデックスとデータ部分が同期しているかどうかを確認する方法を示しています-
//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)
/*
Mainframesサーバーで上記のJCLを実行する場合。 MAXCC = 0で実行する必要があり、スプールのIDCxxxxxメッセージの1つにVSAMデータセットに関するすべての問題が表示されます。
確認する
検証コマンドは、エラー後に適切に閉じられていないVSAMファイルをチェックおよび修正するために使用されます。 このコマンドは、正しいデータの終わりレコードをファイルに追加します。
VERIFY DS(vsam-file-name)
上記の構文では、vsam-file-nameはエラーをチェックする必要があるVSAMデータセット名です。
例
次の例は、VSAMデータセットのエラーをチェックして修正する方法を示しています-
//SAMPLE JOB(TESTJCL,XXXXXX),CLASS = A,MSGCLASS = C
//STEP1 EXEC PGM = IDCAMS
//SYSPRINT DD SYSOUT = *
//SYSIN DD *
VERIFY DS(MY.VSAM.KSDSFILE)
/*
Mainframesサーバーで上記のJCLを実行する場合。 MAXCC = 0で実行し、VSAMデータセットのエラーを修正します。