区分データセットのコピー

全メンバーをそのままコピーする

まずは基本形、SYSUT1 DDステートメントで定義した区分データセットからSYSUT2 DDステートメントで定義した区分データセットへ、全メンバーをそのままコピーします。同名のメンバーはコピーされません。

VOS3ではSYSINカードは省略できず、必ずCOPY制御ステートメントが必要です。

同名のメンバーの上書きコピー

これも基本形ですが、同名のメンバーは上書きコピーされます。

メンバーの選択コピー(以降はSYSIN DDステートメントのみ示します)

メンバーを選択してコピーするなら、このように指定できます。CはCopy、SはSelectです。

特定のメンバーのみを上書きコピーする

異なるブロック・サイズのデータセット間での、ロード・モジュールのコピー

大きなブロック・サイズから小さなブロック・サイズのデータセットへコピーする場合は、このCOPYMODを使用して、出力側データセットのブロック・サイズに合わせて再構成しないと、不完全な形でロード・モジュールがコピーされてしまうことがあります。ロード・モジュールのように不定長レコードを持つ場合、読み出したブロックが4KBあっても、書き出し先データセットのブロック長が2KBしかなければ、先頭の2KB分しかコピーされません。そのため、モジュールの実行時に何が起きるか予測不能になります。(詳細は、MVSメッセージ「IEB175I」の解説を参照)

複数のライブラリーからメンバーを選択してコピーする

複数の入力データセットからメンバーを選択することもできます。STEPを分けて、それぞれ入力データセットを変えてもかまいませんが、こちらの方がスマートです。入力元データセットそれぞれに同名メンバーがある場合、INDDパラメーターで指定された順番でメンバーが見つけられ選択されます。コピーされたメンバーが、どのデータセットから選択されたなど、コピー処理の実行情報がSYSPRINTに出力されます。意図した通りにコピーが行われたかを、このリストで確認できます。

複数のライブラリーに散在しているメンバーを、1つのライブラリーに(メンバーのマージ)まとめたいような時に利用できます。逆に1つの入力ライブラリーから、複数の出力ライブラリーに分散コピーすることもできます。