有没有办法从 IBM 大型机批处理程序中的第 10 条记录开始读取 ESDS 文件?
Posted
技术标签:
【中文标题】有没有办法从 IBM 大型机批处理程序中的第 10 条记录开始读取 ESDS 文件?【英文标题】:Is there a way to start reading an ESDS file from 10th record in an IBM Mainframe batch program? 【发布时间】:2015-06-27 18:41:28 【问题描述】:给定:
ESDS 文件的记录长度为 80。
它有 200 条记录。
我已经检查了以下链接,但没有得到满意的答案。
IBM Mainframe Forum
Geekinterview
【问题讨论】:
到目前为止你有什么尝试?任何代码?你想对读取的数据做什么?是否接受基于 Windows 内置程序的替代方法? ESDS 文件包含文本?没有这是一个奇怪的要求,但如果您想处理掉九个标准标题或其他东西,最简单的方法是在打开数据集时进行九次读取。例如
Open My-ESDS
Perform Read-My-ESDS 9 times
Perfomr Do-Normal-Stuff
还有其他可用选项——您可以将文件读取为“未格式化”,这样您就可以处理有关格式的所有内容。除非您确实需要一些非常具体的文件处理,否则我不建议这样做。
如果您不需要前九个记录,您可以在启动程序之前对它们进行排序/删除,这很容易维护。
您能否说明为什么要跳过前九个并从第十个开始?这可能会有所作为...
【讨论】:
我知道这是一个老问题,但我想提一下,原发帖人想要做的很简单,但你需要一个汇编语言或 C/C++ 子程序。诀窍是 VSAM POINT 宏——汇编程序可以直接调用它,而 C 运行时“fseek()”函数的作用几乎相同。如果您要跳过少量记录,这没什么大不了的,但如果您需要在大文件的中途指向,那么 POINT 就是这样做的方法。以上是关于有没有办法从 IBM 大型机批处理程序中的第 10 条记录开始读取 ESDS 文件?的主要内容,如果未能解决你的问题,请参考以下文章