1

一部のメンバーをある PDS から別の PDS にコピーしようとしています。1 つの PDS に 500 のメンバーがあるとします。最初の 100 を 2 番目の PDS に、次の 100 を 3 番目の PDS に、というように移動しようとしています。別の PDS にコピーされたメンバーも、ソース PDS から削除する必要があります。

JCLを使用してこれを行うことは可能ですか? IEBGENER を見ていますが、名前を指定してメンバーを直接コピーできることがわかりました。

4

2 に答える 2

1

これは、いくつかのジョブステップで実行できます。概要として:

  • LISTDS'input-pds-name'MEMBERSからの出力をデータセットにトラップします
  • ICETOOLを使用してMEMBERSリストを操作し、IDCAMSREPROおよびDELETEコマンドを生成します
  • IDCAMSREPROを実行します
  • IDCAMSDELETEを実行します

MEMBERSリストを選択してREPRO/DELETEコマンドにフォーマットするようにICETOOLを設定することは、これまでで最も難しいステップです。実際、すべてをまっすぐにするために、ICETOOLのいくつかのステップを連鎖させる必要があるかもしれません。ICETOOLの使用経験が豊富でない限り、これを理解するのに非常に長い時間がかかる可能性があります。これは、 IBM DFSORTプログラミング・ガイド(ICETOOLはDFSORTの単なるBATCHフロントエンドです)へのリンクであり 、何に反対しているのかを理解するのに役立ちます。

別のアプローチを提案します。ICETOOLステップを置き換えるためにREXXプロシージャーを作成してみてください。LISTDS出力をトラップし、それを適切なIDCAMS REPRO / DELETEコマンドにフォーマットすることは、はるかに簡単なプロセスです。

REXXは、ほぼすべてのIBMメインフレームで使用できるため、アクセスに問題はありません。

これについてさらにサポートが必要な場合は、データセットの命名規則についてもう少し詳しく説明してください。特に、出力されたPDS名。正確な名前は必要ありません。正確な名前は、どのように構成されているかだけです。たとえば、次のようになりますか?

  • HLQ.SOMENAME.FILE001
  • HLQ.SOMENAME.FILE002
  • HLQ.SOMENAME.FILE003

ここで、最初の100個のメンバーがFILE001にコピーされ、次の100個がFILE002などにコピーされます。これにより、ファイルコピーユーティリティを一般化する方法に違いが生じる可能性があります。また、入力PDSが使い果たされるまで、または停止制限があるまで、100のブロックでコピーを続けますか?

于 2010-09-28T16:50:59.393 に答える
0

「SAS」と呼ばれる製品を使用している場合、選択したメンバーをある PDS から別の PDS にコピーするのは非常に簡単です。

DATA PDS;                                              
FILENAME OLD 'A*.B*.C*' DISP=SHR;              
FILENAME NEW 'A*.B*.D*' DISP=OLD;
PROC PDSCOPY INDD=OLD OUTDD=NEW ALIASMATCH=BOTH        
SHAREINPUT;                                      
SELECT  AJ:;                                        
RUN;                                                   

注: AJ で始まるすべてのメンバーは、古いデータセットから新しいデータセットにコピーされます。

于 2011-06-01T11:36:10.123 に答える