IEBCOPYは、MVS(z/OS)における区分データセットのコピーを行うユーティリティー・プログラムです。MSPではJSECOPY、VOS3ではJSDPCPYとして提供されています。プログラム名は異なるものの、JCLもSYSIN制御ステートメントも含め、基本的に互換ユーティリティーです。
IEBCOPYは、IEBGENER同様に、MVS(z/OS)オペレーティング・システムに携わることになった人が、最初に使うであろう基本中の基本とも言えるものです。GENERが順次データセット用、COPYが区分データセット用のユーティリティーです。IEBCOPYの主な機能は、2つの区分データセット間でのメンバーのコピーですが、他にも複数の区分データセットのメンバーをマージして1つのデータセットにコピーしたり、コピーする際にメンバー名を変更したり、区分データセットを順次データセットに変換(アンロードという)して磁気テープなどへのバックアップを行ったり、区分データセットの管理やメンテナンスに必要なさまざまな機能を持っています。z/OSにおいては、PDSEデータセットもIEBCOPYで処理できます。PDSとPDSE間の相互コピーも可能です。
基本的な利用方法については、こちら「区分データセットのコピー」にサンプルJCLを掲載してあります。
1 2 3 4 5 6 |
//IEBCOPY EXEC PGM=IEBCOPY //SYSPRINT DD SYSOUT=* //SYSUT1 DD DISP=SHR,DSN=MY.JCL1 //SYSUT2 DD DISP=SHR,DSN=MY.JCL2 //SYSIN DD DUMMY // |
MVSとMSPでは、SYSUT1に入力元データセット、SYSUT2に出力先データセットを定義して全メンバーをコピーする場合は、SYSINの制御ステートメントは不要です(DDステートメントは省略できないのでDUMMYと定義します)。COPY INDD=SYSUT1,OUTDD=SYSUT2
が暗黙の制御ステートメントとなります。SYSUT1とSYSUT2に同じDSNを指定すれば、そのデータセットの圧縮動作となります。しかし、VOS3においてはSYSIN DD文にDUMMYを指定することができません。そのため、次のように制御ステートメントを明示的に指定しなければなりません。
1 2 3 4 5 6 7 |
//IEBCOPY EXEC PGM=JSDPCPY //SYSPRINT DD SYSOUT=* //SYSUT1 DD DISP=SHR,DSN=MY.JCL1 //SYSUT2 DD DISP=SHR,DSN=MY.JCL2 //SYSIN DD * COPY INDD=SYSUT1,OUTDD=SYSUT2 // |