非VSAMデータセット(PS,PDS)の操作いろいろ(IDCAMS)

By 神居 - Posted: 2008/10/23 Last updated: 2009/11/30 - Leave a Comment

AMS(アクセス方式サービスプログラム)はVSAMデータセットとカタログ操作用のユーティリティ・プログラムとして提供されていますが、その応用範囲は広くて、VSAMだけでなくPSやPDSなどの非VSAMデータセットに関してもさまざまな操作を行うことができます。AMSを利用した非VSAMデータセットに対するいろいろな操作のサンプルを紹介します。

JCLの基本形

プログラム名はMSPではKQCAMS、VOS3ではJSCVSUTですが、いずれもIDCAMSの別名が付いているからIDCAMSとしても利用できます。ただし制御文には一部非互換もあるから必要に応じてマニュアルを参照してください。
使いたい機能に応じたAMS制御文をSYSINに記述することで処理を行います。


データセットをカタログする、アンカタログする

DEFINE NONVSAMはカタログ、DELETEがアンカタログです。NSCRオプションを付けているので削除はされずアンカタログだけされます。


データセットを改名(リネーム)する、削除する

ALTERはデータセットの属性変更です。この場合はデータセット名の変更となります。DELETEでデータセットが削除されます。
同じ事はIEHPROGM(MSPではJSGPROGM、VOS3ではJSFCTLG)ユーティリティでも行えますが、カタログされているデータセットの場合カタログ登録内容は変更されません。カタログされているデータセットならAMSの方が便利です。あるいは削除であればIEFBR14を使いジョブ管理の機能で消してしまってもかまいません。

データセットの削除と共にカタログからも削除する場合はDISPとDSNパラメーターのみを指定します。以下のようにUNITとVOL=SERを指定してしまうとデータセットは削除されますがカタログ登録は残ってしまいます。


区分データセットのメンバーを改名(リネーム)する、削除する

AMSではメンバー名を()で指定すると、データセットではなくその中のメンバーに対する操作になります。


区分データセットを圧縮する(これはAMSではありません)

自分専用で使っていて他人がアクセスしないことがわかっているデータセットでない限り、DISP=OLDにすることを勧めます。


データセットまたはメンバー内容をプリントする

PRINTコマンドでデータセットやメンバーの内容をプリントすることができます。ただし1レコード毎にユーティリティが付ける見出しが出力されてしまいます。パック10進数やバイナリー値などを含む業務プログラム用データの印刷向けです。JCLやソースプログラムなどの印刷ではメンバーの内容がそのままベタで出力される方がいいでしょうから、その場合にはREPROコマンドを使えます。PRINTコマンドと違って出力先の指定が必要です。例ではOFILEパラメーターで出力先を定義したDD文のDD名を指定します。

Posted in ありがたいサンプルJCL • • Top Of Page