我試圖從文件中設置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)
這當然會抱怨沒有變量TPATH在JCL,這在邏輯上是有道理的,因爲它無法找到在JCL變量名。 也嘗試將整個SYSUT2放在單獨的文件中,但沒有成功。
一個「足夠好」的妥協方案是將文件前綴與日期和時間參數連接起來,但只有在通過調度程序(使用OPCSCAN或類似方法)運行作業時才能在生產中使用。不是在我自己提交工作的測試中,還是可以在沒有計劃任務的情況下完成工作?
'/local/Folder1/File' & iDate & iTime -- You get the point.
任何想法非常感謝!要做到這一點
如果日期/時間足夠,JCL中有日期/時間符號,例如'&YYMMDD'。他們是動態的,但他們的價值是在工作入境處理的特定時間設定的。如果涉及的不止這些,最好的方法是通過動態分配的腳本(REXX,shell等)。 Co:Z也是一個很好的解決方案。 – zarchasmpgmr