Как удалить записи из файла с одинаковыми значениями в определенном месте? - PullRequest
0 голосов
/ 26 мая 2020

У меня есть последовательный файл с длиной записи 11. У меня есть промежуточное поле, начиная с 9-й по 11-ю позицию, и имеет значение PI C 9 (03). Я хочу удалить все записи, в которых у меня есть те же данные, в указанном выше месте. Это нужно делать только с помощью JCL. Можно использовать любую утилиту, но она должна поддерживаться в microfocus cobol. См. Пример ниже:

Файл примера:

Rob  ,d,012
Mike ,h,013
Kim  ,g,014
Bob  ,k,014
Wiz  ,t,015

В приведенном выше примере я хочу удалить строки для Кима и Майка, поскольку они имеют одинаковое значение для местоположения, т.е. 014 и окончательный результат должно быть:

Rob  ,d,012
Mike ,h,013
Wiz  ,t,015

Ответы [ 2 ]

0 голосов
/ 23 августа 2020

отсортировать от порядкового номера. и синхронизируйте теперь точно. это утилиты для детских кроваток, которые могут отбрасывать повторяющиеся записи.

0 голосов
/ 27 мая 2020

Попробуйте эти операторы в SYSIN DD утилиты DFSORT.

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 можно найти здесь .

...