Объединить плоские файлы - PullRequest
       21

Объединить плоские файлы

0 голосов
/ 16 декабря 2011

Я пытаюсь создать JCL для объединения плоских файлов с помощью IEBGENER.Количество входных файлов не является постоянным.Можем ли мы сделать это с помощью IEBGENER?

Ответы [ 3 ]

2 голосов
/ 19 декабря 2011

Можете ли вы переопределить IEBGENER SYSUT1 DD при вызове PROC? Что-то вроде:

//EXEC procedure
//procstep.SYSUT1 DD DSN=first.copy.file,DISP=SHR,
//          DSN=second.copy.file,DISP=SHR,
//          DSN=thrid.copy.file,DISP=SHR
etcetera...

Где procedure - это каталогизированная процедура, а procstep - шаг IEBGENER.

Когда несколько наборов данных приведены для одного оператора DD, они объединены вместе. Как далеко что касается IEBGENER, они должны выглядеть как один входной набор данных.

0 голосов
/ 22 марта 2015

A. Если у вас не может быть GDG, то пустые файлы для отсутствующих, в частности, вам необходимо иметь ограничение (10, 20?).

B. если вы используете Control-M или подобное, вы можете предварительно обработать в операторе DD значение INCLUDE. Задание не может быть отправлено до тех пор, пока готовый материал не будет готов, и оно должно быть отдельным заданием. То есть динамически собирайте свой JCL из альтернативных колод в зависимости от количества файлов.

C. Возможно, вам придется написать программу или CLIST, чтобы проверить существование и объединить файлы.

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

0 голосов
/ 18 декабря 2011

Это легко сделать, когда количество входных файлов не определено ко времени выполнения задания. Получите файлы из источника, созданного как поколения GDG base, и укажите базу в качестве входных данных, которая берет все поколения, созданные до сих пор ... но каждый раз, когда созданные поколения будут рассматриваться; избегать этого; создайте временный файл с данными всех поколений и удалите все из них, чтобы в следующий раз у вас был новый набор поколений, который нужно рассмотреть. Я чист? Дай мне знать, если нет!

...