LISTCAT(AMSユーティリティー)
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サンプル
//IDCAMS EXEC PGM=IDCAMS //SYSPRINT DD SYSOUT=* //SYSIN DD * LISTCAT LEVEL(xxxxxxxx) HIST|VOL|ALLOC|ALL ① LISTCAT ENTRY(MY.MASTER.*) ② LISTCAT [CATALOG(catname)] ③ LISTCAT ALIAS ALL ④ LISTCAT USERCATALOG VOLUME ⑤ //
- ①指定した修飾子で始まるデータセットをリストアップする
- ②指定した修飾子で構成される名前のデータセットをリストアップする
- ③カタログを指定して、そこに登録されているデータセットをリストアップする
- ④カタログの別名をリストアップする
- ⑤ユーザーカタログをリストアップする
リストには選択されたデータセットの種類(非VSAM、VSAM、ALIAS、カタログ等)と名前が出力されます。LEVELパラメーターが指定されていれば、そのデータセットが登録されているかカタログ名も出力されます。HISTは作成日や満了日を追加して出力します。VOLはHISTに加え、格納先のボリューム名と装置タイプを追加して出力します。ALLOCはHIST、VOLに加え、割り振りスペース量を追加して出力します(ただしVSAMデータセットのみ)。ALLはHIST、VOLおよびALLOCの情報も含めたすべてのカタログ情報が出力されます。
カタログの別名登録はデータセットを作成した際に、どのカタログに登録するかを決めるために行われます。例えば修飾子USR1がカタログSYS1.USERCATの別名として登録されていれば、USR1.SOURCEというデータセット名はカタログSYS1.USERCATに登録されます。
LISTCATはバッチだけでなく、TSOコマンドとしても実行できます。パラメーターやオプションを変えてどのような結果が得られるかを試したい時は、バッチよりもTSOが便利です。ただしTSOの場合、LEVELパラメーターは省略してもすべてのDSNではなく、暗黙値としてLEVEL(userid)が設定され、ログオン中のUSERIDを先頭修飾子とするDSN一覧が表示されます。全DSNを表示する場合は、PROFILEコマンドでNOPREFIXを設定しておく必要があります。
LISTCATコマンドの詳細は、アクセス方式サービス・プログラム(AMS)のマニュアルに載っています。