Привет, я пытаюсь найти совпадающие и несовпадающие записи из 2 файлов, один файл представляет собой файл ошибок с 181 LRECL, второй файл F2 является действительным файлом записей с тем же 181 LRECL.
Пример файла ОШИБКИ
12345678901
11111111111
11111111111
22222222222
ДЕЙСТВИТЕЛЬНЫЙ файл имеет
33333333333
11111111111
11111111111
44444444444
Я реализовал левое внешнее соединение
//F1 -> ERROR FILE
//F2 -> VALID FILE
//SYSOUT DD SYSOUT=*
//SYSIN DD *
JOINKEYS F1=MAIN,FIELDS=(43,11,A)
JOINKEYS F2=LOOKUP,FIELDS=(10,11,A)
JOIN UNPAIRED,F2 ONLY
SORT FIEDLS=COPY
/*
поэтому, используя это, я смог получить действительные записи, которых не было в файле ошибок в sysout
СИСТЕМНЫЙ ВЫХОД:
33333333333
44444444444
но я не хочу терять записи соответствия из обоих файлов и хочу записать записи соответствия из обоих файлов во второй выходной файл.
Я пытался реализовать
FULL OUTER Join, но не смог получить результат
//F1 -> Error File
//F2 -> Valid File
//MATCH DD DSN=MYDATA.URMI.SAMPLE.MATCH,DISP=OLD
//NOMATCH1 DD DSN=MYDATA.URMI.SAMPLE.NOMATCH1,DISP=OLD
//NOMATCH2 DD DSN=MYDATA.URMI.SAMPLE.NOMATCH2,DISP=OLD
//SYSOUT DD SYSOUT=*
//SYSIN DD *
JOINKEYS F1=MAIN,FIELDS=(43,11,A)
JOINKEYS F2=LOOKUP,FIELDS=(10,11,A)
JOIN UNPAIRED,F1,F2
REFORMAT FIELDS=(?,F1:1,181,F2:1,181)
OPTION COPY
OUTFIL FNAMES=MATCH,INCLUDE=(1,1,CH,EQ,C'B'),BUILD=(1:2,181)
OUTFIL FNAMES=NOMATCH1,INCLUDE=(1,1,CH,EQ,C'1'),BUILD=(1:2,181)
OUTFIL FNAMES=NOMATCH2,INCLUDE=(1,1,CH,EQ,C'2'),BUILD=(1:2,181)
/*