1

我有一个具有作业名(超集)的 pds(比如 A)。我有另一个 pds(比如 B),其作业名(子集)数量较少。

使用 JCL 在另一个文件 C 中找到 AB 的最佳方法?

4

1 回答 1

3

尝试使用SYNCORT JOINKEYS,这个例子就是你所需要的。下面的 JCL 是一个具体示例。AF1是包含所有作业名称的超集文件 (A),AF2是子集文件 (B)。SORTOUT将包含差异 (AB)。

//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卡重新格式化为安装所需的任何格式。其余的应该如图所示。

于 2012-05-22T14:29:38.133 回答