2011-12-16 52 views
0

我正在嘗試使用IEBGENER創建合併平面文件的JCL。輸入文件的數量不是恆定的。我們可以用IEBGENER做到嗎?合併平面文件

+0

如何指定輸入文件?直接在JCL或其他來源? – NealB

+0

我們有一個調用proc的工作。 Proc有IEBGENR步驟。文件編號是不固定的。我正在考慮在proc中使用符號參數並將這些值從作業中傳遞。是否有其他方法可以做到這一點?我們不能擁有gdgs。 – Saisha

回答

2

當您調用PROC時,您可以覆蓋IEBGENER SYSUT1 DD嗎?喜歡的東西:

//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一步。

當針對單個DD語句給出的多個數據集爲 時,它們被連接在一起。至於 與IEBGENER有關,它們應該看起來像一個輸入數據集。

+0

我可以給工作一個覆蓋。在這種情況下,我們需要在PROC中將SYSUT1設置爲DUMMY嗎?然後覆蓋數據集名稱從JOB.am我正確?? – Saisha

+0

SYSUT1指向PROC中的什麼並不重要,當您從作業中覆蓋它時,它將被替換。 – NealB

0

當我們有輸入文件計數時,這很容易做到不是由作業運行時間確定的。從源代碼創建的文件作爲GDG base的世代創建,並指定基礎作爲輸入,這個輸入需要迄今爲止創建的所有世代......但是每當創建到目前爲止的世代都將被考慮;避免它;用所有世代的數據創建一個臨時文件,並刪除所有這些文件,以便下一次您將有新的一代被考慮。我清楚了嗎?讓我知道如果不是!

+0

我們不能有gdgs。 – Saisha

0

答:如果你不能GDG的空文件爲缺少的文件,特別是你需要有一個限制(10,20?)。 B.如果您使用Control-M或類似軟件,您可以使用INCLUDE預處理DD語句。只有包含材料準備就緒後,才能提交作業,並且該作業必須是單獨的作業。也就是說,根據文件數量從替代套牌動態構建JCL。

C.您可能必須編寫程序或CLIST來測試是否存在並連接文件。

任何正在使用GDG並同時讀取它們的人都應該始終記住最先的一代是先讀取的。