найти, присутствует ли строка из PDS в другом PDS
Вопрос
У меня есть pds (скажем, A) с именами должностей (супернабор).У меня есть еще один pds (скажем, B), имеющий меньшее количество имен заданий (подмножество).
лучший способ найти AB в другом файле C с помощью JCL?
Решение
Попробуйте использовать СИНКОРТНЫЕ СОЕДИНЕНИЯ, этот пример Это в значительной степени то, что вам нужно.JCL ниже является конкретным примером. AF1
— это файл расширенного набора (A), содержащий все имена заданий, AF2
это подмножество файла (b). SORTOUT
будет содержать разницу (A-B).
//MYJOB JOB Whatever your job card needs
//AMINUSB EXEC PGM=SYNCSORT,PARM='INCORE=OFF'
//AF1 DD * Superset file 'A'
J000001
J000002
J000003
J000004
J000005
J000006
J000007
J000008
J000009
J000010
J000011
J000012
/*
//BF2 DD * Subset file 'B'
J000001
J000003
J000004
J000008
J000010
J000011
/*
//SORTOUT DD SYSOUT=* 'A' - 'B'
//*
//SORTMSG DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//CEEDUMP DD SYSOUT=*
//STATOUT DD SYSOUT=*
//SYSIN DD *
JOINKEYS FILE=F1,FIELDS=(1,7,A)
JOINKEYS FILE=F2,FIELDS=(1,7,A)
JOIN UNPAIRED,F1,ONLY
REFORMAT FIELDS=(F1:1,7)
OPTION COPY
END
/*
Если вы запустите это, SORTOUT
будет содержать следующие данные:
J000002
J000005
J000006
J000007
J000009
J000012
Примечание:Вам придется переформатировать JOB
карту на все, что требуется для вашей установки.Остальное должно работать в значительной степени, как иллюстрировано.