LISTCAT(AMSユーティリティー)

LISTCATは、「List Catalog」のことで、カタログされているデータセットの一覧を作成することです。AMS(IDCAMS)は、VSAMやカタログを操作するバッチ・ユーティリティーで、LISTCATの機能も持っています。対話処理であれば、ISPFのDSLISTユーティリティーやTSOのLISTCATコマンドが利用できます。MVSの場合、本来のTSO LISTCATコマンドは、同じ名前のAMS(アクセス方式サービス)コマンドに置き換えられています。

LISTCATは、カタログからのデータセット一覧ですが、これにに対して、データセットが格納されたDASDボリュームからのデータセット一覧がVTOCリスト(LISTVTOC)です。現在では、データセットはカタログすることが一般的です。そのため、LISTCAT機能を使いこなすことは、データセット管理をする上で大いに役立ちます。

(昔のことですが、カタログ参照のオーバーヘッドを嫌い、頻繁にアクセスするデータセットについては、必ずUNITとVOLパラメーターを明示して、カタログを見ないで済むような運用をしていたユーザーもありました。今のカタログ・システムは、初期のVSAMカタログなどに比べればパフォーマンスも向上していますし、VSAMやSMSデータセットなどカタログ抜きには運用できないものもあり、データセットはカタログして利用することが当たり前になっています)

LISTCATのJCLサンプル

  • ①指定した修飾子で始まるデータセットをリストアップする
  • LEVELパラメーターで、リストアップの基準となるDSNの修飾子を指定します。LEVEL(USR1)とすれば、USR1.で始まるデータセットが、LEVEL(MY.*.DATA)とすれば、先頭の修飾子がMY、3番目の修飾子がDATAで構成されるデータセットが、リストアップされます。LEVELを省略すれば、カタログされているすべてのデータセットが対象になります。

    リストには、選択されたデータセットの種類(非VSAM、VSAM、ALIAS、カタログ等)と名前が出力されます。LEVELパラメーターが指定されていれば、そのデータセットが登録されているかカタログ名も出力されます。HISTは、作成日や満了日を追加して出力します。VOLは、HISTに加え、格納先のボリューム名と装置タイプを追加して出力します。ALLOCは、HIST、VOLに加え、割り振りスペース量を追加して出力します(ただしVSAMデータセットのみ)。ALLは、HIST、VOLおよびALLOCの情報も含めたすべてのカタログ情報が出力します。

  • ②指定した修飾子で構成される名前のデータセットをリストアップする
  • ENTRYパラメーターで、リストアップの基準となるDSNの修飾子を指定します。ENTRY(MY.MASTER.*)とすれば、MY.MASTER.で始まる3つの修飾子で構成されるデータセットが、リストアップされます。DSNがMY.MASTER.DATA.BACKUPの時、LEVEL(MY.MASTER)であれば選択されますが、ENTRY(MY.MASTER.*)では選択されません。

  • ③カタログを指定して、そこに登録されているデータセットをリストアップする
  • CATALOGパラメーターで、リストしたいデータセットが登録されているカタログを指定することができます。CATALOG(SYS1.WORKCAT)とすれば、カタログSYS1.WORKCATに登録されたデータセットが、リストアップされます。CATALOGパラメーターの省略時は、マスター・カタログです。MSPとVOS3ではSTEPCATまたはJOBCAT DD文でカタログを指定することもできます。

  • ④カタログの別名をリストアップする
  • ALIASパラメーターは、データセットではなく、カタログの別名をリストアップします。ALIAS名をリストアップすることで、取り扱うデータセットがどこにカタログされるのかを知ることができます。カタログの別名登録は、データセットを作成した際に、どのカタログに登録するかを決めるために行われます。例えば、修飾子USR1が、カタログSYS1.USERCATの別名として登録されていれば、USR1.SOURCEというデータセット名は、カタログSYS1.USERCATに登録されます。

  • ⑤ユーザーカタログをリストアップする
  • USERCATALOGパラメーターは、ユーザー・カタログをリストアップします。システムにどのようなユーザー・カタログがあるかを知りたい場合に利用できます。

LISTCATは、バッチだけでなくTSOコマンドとしても実行できます。パラメーターやオプションを変えたら、どのような結果が得られるかを試したい時は、バッチよりもTSOが便利です。ただし、TSOの場合、LEVELパラメーターを省略してもすべてのDSNではなく、暗黙値としてLEVEL(userid)が設定され、ログオン中のUSERIDを先頭修飾子とするDSN一覧が表示されます。全てのDSNを表示する場合は、PROFILEコマンドでNOPREFIXを設定しておく必要があります。

LISTCATコマンドの詳細は、アクセス方式サービス・プログラム(AMS)のマニュアルに載っています。