VSAM-コマンド

VSAMコマンドは、VSAMデータセットに対して特定の操作を実行するために使用されます。以下は最も有用なVSAMコマンドです-

  • Alter
  • Repro
  • Listcat
  • Examine
  • Verify

変更

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)] 
/*

メインフレームサーバーで上記のJCLを実行する場合。MAXCC = 0で実行する必要があり、フリースペース、ボリューム、およびキーが変更されます。

再現

REPROコマンドは、VSAMデータセットにデータをロードするために使用されます。また、ある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)
/*

メインフレームサーバーで上記のJCLを実行する場合。MAXCC = 0で実行する必要があり、すべてのレコードをMY.VSAM.KSDSFILEからMY.VSAM1.KSDSFILEVSAMファイルにコピーします。

リストキャット

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 
/*

メインフレームサーバーで上記の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)
/*

メインフレームサーバーで上記のJCLを実行する場合。MAXCC = 0で実行する必要があり、スプール内のIDCxxxxxメッセージの1つにあるVSAMデータセットに関するすべての問題が表示されます。

確認

検証コマンドは、エラー後に正しく閉じられなかったVSAMファイルをチェックおよび修正するために使用されます。このコマンドは、正しいEnd-Of-Dataレコードをファイルに追加します。

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)                                  
/*

メインフレームサーバーで上記のJCLを実行する場合。MAXCC = 0で実行する必要があり、VSAMデータセットのエラーを修正します。