найти, присутствует ли строка из PDS в другом PDS

StackOverflow https://stackoverflow.com//questions/10698215

  •  12-12-2019
  •  | 
  •  

Вопрос

У меня есть 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 карту на все, что требуется для вашей установки.Остальное должно работать в значительной степени, как иллюстрировано.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top