ファイルから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.
アイデアは大変ありがとうございます!これを行うには
日付/時刻で十分な場合は、JCLで利用可能な日付/時刻のシンボルがあります(例: '&YYMMDD')。動的ですが、その値はジョブ入力処理の特定の時刻に設定されます。それ以上のものが含まれている場合、これを実行する最善の方法は、動的割り振りを使用するスクリプト(REXX、シェルなど)を使用する方法です。 Co:Zも良い解決策になります。 – zarchasmpgmr