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

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

有帮助吗?

解决方案

尝试使用 SYNCORT 连接键, 这 例子 几乎是您需要的。下面的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