2015-06-27 35 views
0

考慮:有沒有辦法從IBM Mainframe批處理程序中的第10條記錄開始讀取ESDS文件?

的ESDS文件有80

它有200條記錄長度。

我檢查了以下鏈接,但沒有得到滿意的答案。

IBM Mainframe Forum

Geekinterview

+0

你到目前爲止嘗試過什麼?任何代碼?你想對數據讀取做什麼?基於Windows內置程序的替代方法已被接受? – Marged

+0

ESDS文件包含文本?沒有的80個字符的記錄? – Aacini

+0

我暫時還沒有使用過COBOL,但我想你不能在批量COBOL中做到這一點。您可以在CICS中執行此操作。 – NoChance

回答

1

這是一個奇怪的要求,但如果你想處理中度過9個標準的頭什麼的,最簡單的方法就是做當您打開數據集9讀取。例如。

Open My-ESDS 
Perform Read-My-ESDS 9 times 
Perfomr Do-Normal-Stuff 

還有其他選項可用 - 您可以將文件讀取爲「未格式化」,這使您可以處理有關格式的所有內容。除非你真的需要一些非常特殊的文件處理,否則我不會推薦這個。

如果你不需要前九個記錄,你可以在開始你的程序之前對它們進行排序/刪除,這很容易和容易維護。

你能不能告訴你爲什麼你想跳過前九名並從第十名開始?這可能會有所作爲...

+1

我知道這是一個古老的問題,但我想提一下,原始海報想做的事很簡單,但是您需要彙編語言或C/C++子例程。訣竅是VSAM POINT宏 - 彙編程序可以直接調用它,而C運行時的「fseek()」函數幾乎完全相同。如果您跳過少量記錄,這並不是什麼大問題,但如果您需要在大文件的中途點,POINT就是實現它的方法。 –

相關問題