我試圖創建和刪除數據集數據集中的名稱JCL符號是這樣的:通JCL符號串流數據集
// SET DATE=20110809
//* DELETE DATASET
//DEL01 EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=*
//SYSIN DD *
DELETE DATASET.TEMP.&DATE PURGE
SET MAXCC = 0
//* CREATE DATASET
//STEP01 EXEC PGM=IEFBR14
//DELDD DD DSN=DATASET.TEMP.&DATE,
// DISP=(NEW,CATLG,DELETE)
的問題是,我不能使用JCL流水線內的符號(SYSIN DD *)。 我不能確定數據集是否已經存在,所以我不能只使用DISP =(MOD,DELETE,DELETE)。 是否有另一種方法來刪除數據集?
謝謝! 它並沒有真正將JCL符號傳遞給instream,但它真的適合我的需求:) – user823959
我們可以使用DISP = OLD嗎?我從來沒有用IEFBR14這個,但猜測它是否有效。而且......如果我們想要引用已經引用日期的數據集,這個Julian日期有點混亂,我想。只有使用YYMMDD格式,我們才能使用實際的日期。只是一個建議! –
@Raja Reddy。不,你不應該在這裏使用'DISP = OLD'。如果數據集不存在,則該步驟將失敗(未找到數據集)。如果數據集還不存在,那麼'DISP = MOD'會創建數據集 - 然後就可以刪除它!看起來很愚蠢 - 但這是它的工作方式。另一方面,如果數據集已經存在,'DISP = MOD'將使用現有數據集 - 然後將其刪除。淨結果是數據集在步驟完成後不會存在。 – NealB