IEBGENER を使用してフラット ファイルをマージするための JCL を作成しようとしています。入力ファイルの数は一定ではありません。IEBGENER を使用して実行できますか?
3 に答える
IEBGENER SYSUT1 DD
を呼び出すときにオーバーライドできますPROC
か?何かのようなもの:
//EXEC procedure
//procstep.SYSUT1 DD DSN=first.copy.file,DISP=SHR,
// DSN=second.copy.file,DISP=SHR,
// DSN=thrid.copy.file,DISP=SHR
etcetera...
procedure
カタログ化された手順はどこにありprocstep
、IEBGENERステップはどこにありますか。
1つのDDステートメントに複数のデータセットが指定されている場合、それらは連結されます。関係する限りIEBGENER
、それらは単一の入力データセットのように見えるはずです。
ジョブの実行時までに入力ファイル数が不明な場合は、これを行うのは簡単です。a の世代として作成されたソースからファイルを取得しGDG base
、ベースを入力として指定します。これは、これまでに作成されたすべての世代を取得します...ただし、これまでに作成された世代が常に考慮されます。それを避けるために; すべての世代からのデータを含む一時ファイルを作成し、それらをすべて削除して、次回は新しい世代のセットを検討できるようにします。私の言いたいことが分かりますか?そうでない場合は知っておいてください!
A. GDG を取得できない場合は、欠落しているファイルを空にします。特に、制限 (10、20 ?) を設定する必要があります。
B. Control-M などを使用している場合は、DD ステートメントで INCLUDE を使用して前処理できます。インクルード マテリアルの準備が整うまでジョブを送信することはできず、別のジョブである必要があります。つまり、ファイル数に基づいて代替デックから JCL を動的に構築します。
C. ファイルの存在をテストして連結するために、プログラムまたは CLIST を作成する必要がある場合があります。
GDG を使用していて、それらを一度に読んでいる人は、最新の世代が最初に読み取られることを常に覚えておく必要があります。