我有一个要以相反顺序读取的 PS 文件并进行相应处理。我们有没有办法提到在 COBOL 模块的 FD 中以相反的顺序读取文件?或者我们有什么东西可以使用 SORT 实现相同的目标吗?
注意:将记录读入缓冲区(数组)并以相反的顺序使用它是首先想到的想法,但这种方式不适用于具有数百万条记录的文件。
您的建议将不胜感激。
如果文件所在的设备支持它,您可以使用“OPEN INPUT fname REVERSED”。但是该文件需要在磁带上或假装在磁带上的设备上。
我不相信在 COBOL 中有这样做的标准方法。但是,如果文件包含固定长度的记录,您可以尝试将其作为相对文件处理,并通过降序记录号来运行它。另一种选择是,正如您所建议的,以相反的顺序对其进行排序,然后按“正常”处理。
某些版本的 COBOL 支持 READ LAST 语句来获取文件中的最后一条记录。然后使用 READ PRIOR 以相反的顺序读取文件。不确定您使用的是什么 COBOL 版本。