2011-09-06 103 views

回答

5

寫SELECT子句和FD進入該文件必須包含在JCL對於如果文件存在執行程序A.

的步驟DD statement,那是很容易的。

//ABCDEFGH DD DISP=SHR,DSN=your.file.name.here 

ABCDEFGH在哪裏,你是在計劃B.你的SELECT語句中使用的名稱

如果要創建一個新的文件,你必須考慮到空間的估計值的文件將使用你想去的地方放置它。

//ABCDEFGH DD DISP=(NEW,CATLG,DELETE), 
//   DSN=your.file.name.here, 
//   AVGREC=K, 
//   RECFM=FB, 
//   LRECL=your-lrecl-here, 
//   MGMTCLAS=your-management-class-here, 
//   SPACE=(your-lrecl-here,(primary-number-of-records,secondary),RLSE) 

這僅僅是寫意的,你真的應該看看JCL ReferenceJCL User's Guide

+0

從JCL的角度來看,程序'A'處理文件還是程序'B'的確不重要,因爲它們都在同一步驟中執行。 – NealB

+0

我創建了JCL ...並且還通過爲這個文件添加了相同的select子句並在FD部分中將此文件聲明爲EXTERNAL來更新了我的主pgm和子pgm。我測試了我的JCL。它工作正常。非常感謝:) – Saisha

0
  1. 在步驟中包含DD語句。
  2. 程序B甚至不一定是COBOL。
  3. 理想的設計,使程序B是一個服務程序 - 根據 請求和您的需求打開,關閉,讀取,寫入重新寫入。如果預期這種封裝,它會讓你的生活變得更容易。

我已經看到了這個,其中B是彙編程序,當不是交互式運行時刷新寫入磁盤,但在調試時立即寫入。

+0

你不需要改變程序來改變「沖洗」,只需要將DD改爲解鎖就可以了(假設阻塞在程序中沒有被硬編碼)。我完全不知道會給你帶來什麼樣的好處,但是你就是這麼做的。沒有涉及的代碼。 –

+0

好處是調試。諸如Expeditor或Intertest等產品說。生產中的緩衝歷史上會產生性能提升。可能是紅鯡魚。我試圖展示子模塊的完整「服務」性質。通常,這種大量的文件處理是在頂層執行的。 – mckenzm

+0

那麼,在任何情況下,你都必須修改程序的行爲來使用它的調試工具,對我來說看起來並不怎麼樣。我確定他們可以展示緩衝區,但我們走了。至少有一個解釋。 –