【发布时间】:2020-05-14 10:59:41
【问题描述】:
我有一个要求,我从上游应用程序接收 6 个文件到 GDG。我想将所有 6 个版本相互比较以查看是否有重复,即进来的两个或多个文件可能是重复的(上游错误地发送了两次或多次)。 您能否帮助提供使用 JCL 或 Cobol 的解决方案?
【问题讨论】:
标签: sorting cobol mainframe jcl syncsort
我有一个要求,我从上游应用程序接收 6 个文件到 GDG。我想将所有 6 个版本相互比较以查看是否有重复,即进来的两个或多个文件可能是重复的(上游错误地发送了两次或多次)。 您能否帮助提供使用 JCL 或 Cobol 的解决方案?
【问题讨论】:
标签: sorting cobol mainframe jcl syncsort
最好的办法是使用 ISPF 比较工具(ISPF 3.13 - SuperC 或 3.13 - SuperCE)来比较文件,但选择后台执行而不是前台。这将创建一个批处理作业,您可以将其用作要包含在作业中的步骤的模板:
//SUPERC EXEC PGM=ISRSUPC,PARM=(DELTAL,LINECMP,' SEQ','')
//NEWDD DD DISP=SHR,DSN=new.dataset
//OLDDD DD DISP=SHR,DSN=old.dataset
//OUTDD DD SYSOUT=*
请记住,ISPF 比较仅比较 2 个文件;要比较 6,您需要 15 个步骤(我认为)。
如果您的站点有 PDSMAN,那么您可以使用其 PDSM37 模块为每个数据集生成一个校验和,并使用一个小的 REXX 轻松比较这 6 个校验和。
【讨论】:
如果它们是结构正确的数据集(它们不是文件),那么它们应该有标题记录。您需要做的就是比较每个数据集的第一条记录。您可以使用您的排序产品或批量使用 ISRSUPC。
JCL 不能这样做,因为 JCL 只告诉操作系统执行该任务需要哪些程序和资源。所以即使是 COBOL 解决方案也需要 JCL。
最后,我相信你说的是世代没有版本。版本与GxxxxV后面的编号有关。
【讨论】: