PDSメンバーを移動する

区分データセットのメンバーを移動するには、いくつかの方法があります。以下に、その方法をいくつか示します。「PDSメンバー 移動」というキーワードだけで、どのOSかがわかりませんでしたので、MVS(z/OS)の例で示します。

ISPFを使う

最も手軽な方法です。ISPFのオプション3.1(LIBRARYユーティリティー)、3.4(DSLISTユーティリティー)などから、移動元の区分データセットを選択してメンバーリストを表示し、メンバーリスト・パネルから移動したいメンバーを選択できます。複数のメンバーを移動したい場合でも、簡単な操作で行うことができます。MSPならPFD、VOS3ならASPENを利用できます。

IEHMOVEユーティリティーを使う

IEHMOVEユーティリティーを使って、バッチ処理でメンバーを移動することもできます。しかし、このユーティリティーは少々わかりにくい上、選択されなかったメンバーが残っていても、処理後は元の区分データセット自体も消えてしまいます。特定のメンバーだけを残して、残りは捨てる、という場合でなければ使いにくいでしょう。MSPではJSGMOVE、VOS3ではJSFMOVEが互換ユーティリティーです。

IEHMOVEユーティリティーは古典的なユーティリティーですし、これまでに使ったことがなければ新たに覚える必要はないでしょう。使ったことがなかったり、ユーティリティーの動きが行いたいことと合わないなら、IEBCOPYで必要なメンバーをコピーしてから、IEHPROGMユーティリティーで元のデータセットからコピーしたメンバーを削除してもいいでしょう。

ISPFをバッチで実行する

JCLは少し複雑ですが、ISPFのライブラリー・アクセス・サービスをバッチで実行する方法もあります。サンプルでは、メンバー毎にLMMOVEサービスを呼び出していますが、FROMMEM(MEMBER*)と指定すれば名前の先頭がMEMBERとなっているすべてのメンバーが移動の対象となります。

いろいろな方法がありますが、バッチ処理で自動化するような場合は、IEBCOPYで移動したいメンバーをコピーし、コピーの処理が正しく終了した場合のみ、元のデータセットからコピー済みメンバーを消す方法がわかりやすいでしょう。その方法なら、MVSだけでなくMSPでもVOS3でも共通に利用できます。