如何以相反的顺序读取PS文件?

时间:2010-03-28 12:45:32

标签: sorting cobol mainframe

我有一个PS文件以相反的顺序读取并相应处理。我们有没有办法提到在COBOL模块中以FD的相反顺序读取文件?或者我们是否有使用SORT实现相同目标的东西?

注意:将记录读入缓冲区(数组)并以相反的顺序使用它将是第一个想到的想法,但这种方式对于具有数百万条记录的文件不起作用。

您的建议将不胜感激。

3 个答案:

答案 0 :(得分:1)

我不相信在COBOL中有这样做的标准方法。但是,如果文件包含固定长度的记录,您可以尝试将其作为相对文件处理,然后通过降序记录号运行它。另一种选择是,正如您所建议的那样,按相反顺序对其进行排序,然后处理为“正常”。

答案 1 :(得分:0)

某些版本的COBOL支持READ LAST语句以获取文件的最后一条记录。然后使用READ PRIOR以相反的顺序读取文件。不确定您正在使用的COBOL版本。

答案 2 :(得分:0)

如果文件所在的设备支持它,则可以使用“OPEN INPUT fname REVERSED”。但是该文件需要放在磁带上或假冒相机的设备上。