У меня есть требование, когда я получаю 6 файлов из вышестоящего приложения в GDG. Я хочу сравнить эти все 6 версий друг с другом, чтобы увидеть любые дубликаты, т. е. существует вероятность того, что два или более пришедших файла могут быть дубликатами (ошибочно отправленными вверх по течению дважды или несколько раз). Не могли бы вы помочь в предоставлении решения с использованием JCL или Cobol?
как сравнить несколько файлов с помощью jcl
Ответы (2)
Лучше всего использовать средство сравнения ISPF (ISPF 3.13 — SuperC или 3.13 — SuperCE) для сравнения файлов, но выбирать выполнение в фоновом режиме, а не на переднем плане. Это создаст пакетное задание, которое вы можете использовать в качестве шаблона для шагов, включаемых в ваше задание:
//SUPERC EXEC PGM=ISRSUPC,PARM=(DELTAL,LINECMP,' SEQ','')
//NEWDD DD DISP=SHR,DSN=new.dataset
//OLDDD DD DISP=SHR,DSN=old.dataset
//OUTDD DD SYSOUT=*
Имейте в виду, что сравнение ISPF сравнивает только 2 файла; чтобы сравнить 6, вам понадобится 15 шагов (я думаю).
Если на вашем сайте есть PDSMAN, вы можете использовать его модуль PDSM37 для создания контрольной суммы для каждого набора данных и небольшой REXX для простого сравнения 6 контрольных сумм.
Если они представляют собой правильно структурированные наборы данных (они не являются файлами), то они должны иметь записи заголовков. Все, что вам нужно сделать, это сравнить первую запись каждого набора данных. Вы можете использовать свой продукт сортировки или использовать ISRSUPC в пакетном режиме.
JCL не может этого сделать, поскольку JCL только сообщает операционной системе, какие программы и ресурсы необходимы для выполнения задачи. Таким образом, даже для решения COBOL потребуется JCL.
И, наконец, я считаю, что вы говорите о поколениях без версий. Версии относятся к нумерации после GxxxxV.