IBM大型机论坛索引
 
登录
 
IBM大型机论坛索引 大型机:搜索 IBM Mainframe论坛:常见问题解答 寄存器
 

比较两个VB文件以获取不匹配的where字段> 4080


IBM大型机论坛 -> JCL& VSAM
发表新话题   回复主题
查看上一个主题 :: 查看下一个主题  
作者 信息
1985年

新的用户


已加入:2009年4月17日
帖子:70
地点:印度

发布发表:2009年4月22日,星期三5:37 pm
引用回复

嗨!这是我在该论坛上的第一篇文章。这是我的要求:

2个输入文件,每个文件的长度-VB / Lrecl:4504
每个长度需要2个输出文件-VB / Lrecl = 4504

第一个输出文件包含:File1中存在但File2中缺少的记录
第二个输出文件包含:File2中存在的记录和File1中缺少的记录

有人可以建议使用Sort Utility解决方案...

这里还有一个条件是没有要比较的关键字段。我的要求是逐字节检查记录。 File1的Record1中的所有数据应与File2的对应record1匹配。

例如:

输入文件1:

02323ABCDEFG
02323ABCDEFG
0454545BCDEFG
023243334EFG
02323ABCDEFG

输入文件2:
02323ABCDEFG
02323ABCDEFG
0454545BCDEFG
03453535334EFG
02323ABCDEFG
00000000123131

输出文件1:
023243334EFG

输出文件2:
03453535334EFG
00000000123131
回到顶部
查看用户资料 发送私信
1985年

新的用户


已加入:2009年4月17日
帖子:70
地点:印度

发布发表:2009年4月22日,星期三7:04 pm
引用回复

再次您好...实际上,我已尝试将以下代码用于输入文件FB / lrecl = 80,并且效果很好...

SYSIN DD *
JOINKEYS FILE = F1,FIELDS =(1,80,A)
JOINKEYS FILE = F2,FIELDS =(1,80,A)
改革领域=(F1:1,80,F2:1,80),FILL=X'FF'
加入配对
排序字段=复制
OUTFIL FILES = 01,INCLUDE =(81,1,BI,EQ,X'FF'),OUTREC=(1,80)
OUTFIL FILES = 02,INCLUDE =(1,1,BI,EQ,X'FF'),OUTREC=(81,80)
/ *

但是当我为输入文件VB / Lrecl = 4504尝试类似的代码时,Am在以下位置获取了数字文件错误:JOINKEYS FILE = F1,FIELDS =(1,4504,A)

有人可以建议我这个..

谢谢。
回到顶部
查看用户资料 发送私信
CICS家伙

高级会员


已加入:2007年7月18日
帖子:2146
位置:在我的咖啡桌上

发布发表:2009年4月22日,星期三7:06 pm
引用回复

引用:
有人可以建议我这个..
你能发布所有的系统信息吗?
回到顶部
查看用户资料 发送私信
1985年

新的用户


已加入:2009年4月17日
帖子:70
地点:印度

发布发表:2009年4月22日,星期三,下午7:15
引用回复

抱歉,我无权将sysout从主机屏幕复制/粘贴到此论坛……无论如何,我将提供sysout
它是这样的:

SYSIN:
码:
JOINKEYS FILE = F1,FIELDS =(1,4504,A)
*
JOINKEYS FILE = F2,FIELDS =(1,4504,A)
*
改革领域=(F1:1,4504,F2:1,4504),FILL=X'FF'
加入配对
排序字段=复制
OUTFIL FILES = 01,INCLUDE =(4505,1,BI,EQ,X'FF'),OUTREC=(1,4504)
OUTFIL FILES = 02,INCLUDE =(1,1,BI,EQ,X'FF'),OUTREC=(4505,4504)

WER271A JOINKEYS声明: NUMERIC FIELD ERROR
WER271A JOINKEYS声明: NUMERIC FIELD ERROR
WER211B通过SYNCSORT调用SYNCSMF; RC = 0000
回到顶部
查看用户资料 发送私信
威廉·汤普森

全球主持人


已加入:2006年11月18日
帖子:3156
所在地:亚利桑那州图森

发布发表:2009年4月22日,星期三,7:26 pm
引用回复

CICS家伙写道:
引用:
有人可以建议我这个..
你能发布所有的系统信息吗?
所有的sysout?

那些JOINKEYS是在cc1中错误启动还是在cc2中正确启动?
回到顶部
查看用户资料 发送私信
钦那杜

新的用户


已加入:2009年3月5日
帖子:46
地点:海得拉巴

发布发表:2009年4月22日,星期三,晚上7:30
引用回复

希玛

尝试使用ICETOOL。提交之前更改比较字段的位置。

码:
// S1   EXEC  PGM=ICETOOL
//工具   DD  SYSOUT=*
// DFSMSG    DD  SYSOUT=*
// 文件 DD DSN = 文件,DISP = SHR(FB/80)
// 文件库 DD DSN = 文件库,DISP = SHR(FB/80)
// T1 DD DSN =&&T1,UNIT=SYSDA,SPACE=(CYL,(5,5)),DISP=(MOD,PASS)
// 文件库 DD DSN = 文件库,DISP =(NEW,CATLG,DELETE)   (FB/80)
// 已填写 DD DSN = 已填写,DISP =(NEW,CATLG,DELETE)   (FB/80)
// TOOLIN DD *
从复制(FILEA) TO(T1) USING(CTL1)
从复制(FILEB) TO(T1) USING(CTL2)
来自(T1) TO(FILEC) ON(1,9,ZD) KEEPNODUPS -
  WITH(81,1) USING(CTL3)
来自(T1) TO(FILED) ON(1,9,ZD) KEEPNODUPS -
  WITH(81,1) USING(CTL4)
/ *
// CTL1CNTL DD *
  INREC OVERLAY=(81:C'BB')
/ *
// CTL2CNTL DD *
  INREC OVERLAY=(81:C'VV')
/ *
// CTL3CNTL DD *
 OUTFIL FNAMES = 文件库,INCLUDE =(81,2,CH,EQ,C'BB'),
    BUILD=(1,80)
// CTL4CNTL DD *
 OUTFIL FNAMES = 文件库,INCLUDE =(81,2,CH,EQ,C'VV'),
    BUILD=(1,80)
回到顶部
查看用户资料 发送私信
1985年

新的用户


已加入:2009年4月17日
帖子:70
地点:印度

发布发表:2009年4月22日,星期三,7:36 pm
引用回复

大家好,

感谢您提供此解决方案,但是在这里我们将不使用ICETOOL。因此,我正在寻找仅使用SORT实用程序的解决方案...

谢谢。
回到顶部
查看用户资料 发送私信
1985年

新的用户


已加入:2009年4月17日
帖子:70
地点:印度

发布发表:2009年4月22日,星期三7:46 pm
引用回复

引用:
那些JOINKEYS是在cc1中错误启动还是在cc2中正确启动?


它仅从第二列开始...
回到顶部
查看用户资料 发送私信
CICS家伙

高级会员


已加入:2007年7月18日
帖子:2146
位置:在我的咖啡桌上

发布发表:2009年4月22日,星期三,7:51 pm
引用回复

1985年写道:
引用:
那些JOINKEYS是在cc1中错误启动还是在cc2中正确启动?


它仅从第二列开始...
好吧,看起来不像……
威廉·汤普森写道:
CICS家伙写道:
引用:
有人可以建议我这个..
你能发布所有的系统信息吗?
所有的sysout?
所有的sysout?
回到顶部
查看用户资料 发送私信
1985年

新的用户


已加入:2009年4月17日
帖子:70
地点:印度

发布发表:2009年4月22日,星期三,8:01 pm
引用回复

好了,完成SYSOUT:

码:

SYSIN:
   JOINKEYS FILE = F1,FIELDS =(1,4504,A)
                               *
   JOINKEYS FILE = F2,FIELDS =(1,4504,A)
                               *
     REFORMAT FIELDS=(F1:1,4504,F2:1,4504),FILL=X'FF'
     JOIN UNPAIRED
     SORT FIELDS=COPY
     OUTFIL FILES = 01,INCLUDE =(4505,1,BI,EQ,X'FF'),OUTREC=(1,4504)
     OUTFIL FILES = 02,INCLUDE =(1,1,BI,EQ,X'FF'),OUTREC=(4505,4504)
   END

WER271A JOINKEYS声明: NUMERIC FIELD ERROR
WER271A JOINKEYS声明: NUMERIC FIELD ERROR
WER211B通过SYNCSORT调用SYNCSMF; RC = 0000
WER449I 同步排序全局DSM子系统活动


除了SYNCSORT的许可证信息外,这是所有显示的SYSOUT
回到顶部
查看用户资料 发送私信
CICS家伙

高级会员


已加入:2007年7月18日
帖子:2146
位置:在我的咖啡桌上

发布发表:2009年4月22日,星期三,8:04 pm
引用回复

1985年写道:
除了SYNCSORT的许可证信息外,这是所有显示的SYSOUT
哈哈.....
那正是我想要的,请张贴。
回到顶部
查看用户资料 发送私信
1985年

新的用户


已加入:2009年4月17日
帖子:70
地点:印度

发布发表:2009年4月22日,星期三,8:13 pm
引用回复

icon_smile.gif

码:
1个用于Z / OS的SYNCSORT  1.3.2.0R  U.S. PATENTS: 4210961, 5117495 (C) 2007 同步排序 INC.  DATE 2009/112  TIME=09.40.32

      Z/OS  1.9.0

同步排序已获得CPU序列号XXXXX,型号XXXX的许可   许可/产品到期日: 02 OCT 2010


“加密”..icon_smile.gif
回到顶部
查看用户资料 发送私信
CICS家伙

高级会员


已加入:2007年7月18日
帖子:2146
位置:在我的咖啡桌上

发布发表:2009年4月22日,星期三,晚上8:15
引用回复

SyncSort for z / OS 1.3程序员指南写道:
WER271A语句STATEMENT:数值字段错误
说明:在指示的SyncSort控制语句上未正确指定数字字段。

并写道:
每个JOINKEYS字段可能在列32750的记录中的任何位置,一个字段的最大长度为4080字节,并且JOINKEYS语句上所有字段的总和不能超过4080字节。
回到顶部
查看用户资料 发送私信
1985年

新的用户


已加入:2009年4月17日
帖子:70
地点:印度

发布发表:2009年4月22日,星期三,8:25 pm
引用回复

然后,在这种情况下,我的文件长度超过4080,我该如何比较两个文件中的整个记录​​(逐字节)?我是否必须选择某个要比较的键或任何其他解决方案?请建议...
回到顶部
查看用户资料 发送私信
Subinraj

新的用户


已加入:2007年9月4日
帖子:16
地点:班加罗尔

发布发表:2009年4月22日,星期三,9:32 pm
引用回复

由于您正在使用VB输入文件,因此应将前4个字节用于RDW(记录描述符字)。因此,比较字段应从第5个字节开始。尝试使用以下分类卡。在这里我使用了VB / LRECL = 80的输入文件

码:
JOINKEYS FILE = F1,FIELDS =(5,76,A)                         
JOINKEYS FILE = F2,FIELDS =(5,76,A)                         
改革领域=(F1:1,80,F2:1,80),FILL=X'FF'             
加入非配对                                       
排序字段=复制                                         
OUTFIL FILES = 01,INCLUDE =(85,1,BI,EQ,X'FF'),OUTREC=(5,76)
OUTFIL FILES = 02,INCLUDE =(5,1,BI,EQ,X'FF'),OUTREC=(85,76)
回到顶部
查看用户资料 发送私信
迪克·谢勒

主持人荣誉


已加入:2006年11月23日
帖子:19245
位置:矩阵内部

发布发表:2009年4月22日,星期三10:01 pm
引用回复

您好,

当限制为4080时,如何比较4500+个字节?
回到顶部
查看用户资料 发送私信
1985年

新的用户


已加入:2009年4月17日
帖子:70
地点:印度

发布发表:2009年4月23日,星期四,上午8:33
引用回复

嗨Subinraj,

引用:
在这里我使用了VB / LRECL = 80的输入文件


但是我的输入文件长度本身超过了4080个长度..尽管此代码可能适用于VB / LRECL = 80,但不适用于VB / LRECL = 4504 ..
回到顶部
查看用户资料 发送私信
查看上一个主题 :: :: 查看下一个主题  
发表新话题   回复主题 查看书签
所有时间均为格林尼治标准时间+ 6小时
论坛索引 -> JCL& VSAM

 


类似主题
话题 论坛 回覆
没有新帖 比较文件记录计数百分比... DFSORT / ICETOOL 4
没有新帖 比较两个文件以查找位置/日期... 同步排序 2
该主题已锁定:您无法编辑帖子或回复。 将文件列表从PS复制到另一个... 清单和REXX 11
没有新帖 JOINKEYS匹配两个输入文件... DFSORT / ICETOOL 3
没有新帖 十六进制组比较并写入... DFSORT / ICETOOL 5
搜索我们的论坛:


回到顶部