我有一个记录长度为11的顺序文件。我在第9位到第11位之间有一个字段,它是PIC 9(03)。我想删除所有在上述指定位置具有相同数据的记录。这仅需要使用JCL来完成。可以使用任何实用程序,但应该在微焦点cobol中提供支持。请参见下面的示例:
示例文件:
Rob ,d,012
Mike ,h,013
Kim ,g,014
Bob ,k,014
Wiz ,t,015
在上面的示例中,我要删除Kim和Mike的行,因为该行的位置具有相同的值,即014,最终输出应为:
Rob ,d,012
Mike ,h,013
Wiz ,t,015
请在DFSORT实用程序的SYSIN DD中尝试这些语句。
SORT FIELDS=COPY
OMIT COND=(9,3,ZD,EQ,014)
Microfocus使用mfsort实用程序来模拟IBM DFSORT产品的所有主要功能。
mfsort option copy
use input-file [record definition]
[org organization] [key structure]
give output-file [record definition]
[org organization] [key structure]
omit cond (9,3,nu,eq,014)
有关mfsort的更多详细信息,请参见here。