本文概述
顺序文件在数据处理应用程序中非常常用。这些文件中的记录通常需要按升序或降序排列, 以便正确, 轻松和快速地访问。
在几乎所有应用程序中, 对文件中的数据进行排序或组合两个或多个文件是常见要求。排序是一种用于以升序或降序排列记录以执行顺序处理的技术。
COBOL中提供了两种对文件进行排序的技术:
外部排序:用于在JCL中借助SORT实用程序对文件进行排序。
内部排序:此方法对COBOL程序中的文件进行排序。 COBOL提供SORT动词对文件进行排序。
SORT动词
排序动词接受来自非顺序文件或内部过程的输入, 并以请求的顺序将输出产生到文件或内部过程。在对它们进行排序之前或之后, 你可以添加, 更新或删除记录。
SORT动词使用三个文件在COBOL中执行排序:
- 输入文件:这是要按升序或降序排序的文件。
- 工作文件:此文件在进行排序过程时保留记录。为了执行排序操作, 所有输入文件的记录都被传输到工作文件中。需要在SD(排序文件描述级别)条目下”文件”部分中定义文件。
- 输出文件:输出文件是排序过程的最终结果将存储在其中的结果文件。意味着, 此文件是Sort动词的最终输出。
语法如下:
SORT work-file ON ASCENDING KEY rec-key1
[ON DESCENDING KEY rec-key2]
USING input-file GIVING output-file.
SORT动词执行以下操作:
- 它以INPUT模式打开输入文件, 以I-O模式打开工作文件, 并以OUTPUT模式打开输出文件。
- 它将记录从输入文件传输到工作文件以进行排序操作。
- 根据你的要求对SORT-FILE进行升序或降序排序。
- 它将已排序的记录从工作文件传输到输出文件。
- 关闭输入和输出文件, 并删除工作文件。
动词
合并动词用于比较两个或多个排序文件中的记录, 并按顺序组合它们。你可以在合并记录后添加, 更新或删除记录。
SORT动词使用四个文件在COBOL中执行排序:
- 输入文件:执行合并操作需要两个输入文件。
- 工作档案
- 输出文件
语法如下:
MERGE work-file ON ASCENDING KEY rec-key1
[ON DESCENDING KEY rec-key2]
USING input-1, input-2 GIVING output-file.
合并动词执行以下操作:
- 它以INPUT模式打开输入文件, 以I-O模式打开工作文件, 并以OUTPUT模式打开输出文件。
- 它将记录从输入文件传输到工作文件以进行合并过程。
- 合并文件。
- 它将合并的记录从工作文件传输到输出文件。
- 关闭输入和输出文件, 并删除工作文件。
评论前必须登录!
注册