Vsam-commands

提供:Dev Guides
移動先:案内検索

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データセットのエラーを修正します。