如何从位置上具有相同值的文件中删除记录?

问题描述 投票:-1回答:1

我有一个记录长度为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
cobol mainframe jcl
1个回答
0
投票

请在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

© www.soinside.com 2019 - 2024. All rights reserved.