2017-09-15 7 views
0

ファイルからJCLのIEBGENERステップでPATHパラメーターを設定しようとしています。しかし、私はそれを動作させるように見えることはできません。ここでファイルからIEBGENERのPATHを設定する

だけで正常に動作し、元のステップは、次のようになります。

//COPY EXEC PGM=IEBGENER 
//SYSPRINT DD SYSOUT=* 
//SYSIN DD DUMMY 
//SYSUT1 DD * 
Some text 
//SYSUT2 DD PATH='/local/Folder1/File1', 
//   PATHDISP=(KEEP,KEEP), 
//   PATHOPTS=(OWRONLY,OCREAT,OEXCL), 
//   PATHMODE=(SIRUSR,SIWUSR) 

私は何をしたいが、いくつかの前のステップで書かれたファイルからSYSUT2でPATHパラメータを設定されています。このような何か:

BROWSE TEST.FILE1        Line 0000000000 Col 001 080 
Command ===>             Scroll ===> CSR 
    ********************************* Top of Data ********************************** 
TPATH='/local/Folder1/File1' 
******************************** Bottom of Data ******************************** 



//SETPATH SET DSN=TEST.FILE1,DISP=SHR 
//* 
//COPY EXEC PGM=IEBGENER 
//SYSPRINT DD SYSOUT=* 
//SYSIN DD DUMMY 
//SYSUT1 DD * 
Some text 
//SYSUT2 DD PATH='&TPATH', 
//   PATHDISP=(KEEP,KEEP), 
//   PATHOPTS=(OWRONLY,OCREAT,OEXCL), 
//   PATHMODE=(SIRUSR,SIWUSR) 

このコースのは、それがJCLで変数名を見つけることができないとして、論理的に理にかなっているJCLでいない変数TPATH、文句を言います。 また、SYSUT2全体を別のファイルに入れてみましたが、成功しませんでした。

"十分に良い"という妥協案は、ファイル接頭辞を日付と時刻のパラメータと連結することですが、ジョブがスケジューラ(OPCSCANなど)を使用して実行されている場合にのみ本番環境で動作します。私が自分で仕事を提出する場所でテストしていない、またはスケジューラなしでそれを行うことは可能ですか?

'/local/Folder1/File' & iDate & iTime -- You get the point. 

アイデアは大変ありがとうございます!これを行うには

+0

日付/時刻で十分な場合は、JCLで利用可能な日付/時刻のシンボルがあります(例: '&YYMMDD')。動的ですが、その値はジョブ入力処理の特定の時刻に設定されます。それ以上のものが含まれている場合、これを実行する最善の方法は、動的割り振りを使用するスクリプト(REXX、シェルなど)を使用する方法です。 Co:Zも良い解決策になります。 – zarchasmpgmr

答えて

0

一つの方法は、INCLUDEそのメンバーあなたIEBGENERステップで、その後、別のPDSまたはPDSEのメンバーにSYSUT2DD文を書くことであろう。別のPDSまたはPDSEは、JCLLIBステートメントで指定する必要があります。

BPXBATCHを実行し、IEBGENERの代わりにcpを使用してデータをコピーすることもできます。

Dovetail Technologies Co:Z Toolkitをインストールしている場合は、fromdsnがお探しのものになる可能性があります。

関連する問題