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

删除重复项。


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

活跃用户


已加入:2008年8月28日
帖子:205
地点:海得拉巴

发布发表:2009年9月2日星期三下午4:28
引用回复

你好

我有以下输入:

状态|供应商编号|项目#| upc |数量|状态
码:

03000 | 0008770 | 0111315 | 00001121539210 | 00024 | CURR
03000 | 0008770 | 0111315 | 00007362100243 | 00024 | CURR
03000 | 0008770 | 0111315 | 00007362100243 | 00036 | PREV
03000 | 0008770 | 0111317 | 00001121530618 | 00024 | CURR
03000 | 0008770 | 0111318 | 00001121533191 | 00024 | CURR


现在,我需要检查是否有键状态,supp,item,upc有任何重复项,并删除重复项,但是我需要确保每当我消除重复项时,CURR应该在输出文件中(状态为“ CURR”的记录”)。我已经完成了以下排序卡,但其未按预期工作。 (dup文件包含状态为“ CURR”的记录)

码:

今天双色球开奖结果 STEP022 EXEC PGM = SORT                                         
今天双色球开奖结果 SYSOUT   DD  SYSOUT=*                                         
今天双色球开奖结果 SYSPRINT DD  SYSOUT=*                                         
今天双色球开奖结果 SORTIN   DD DISP = SHR,DSN = XXXX.EPQ.EXTRACT.DIFF123         
今天双色球开奖结果整理  DD  DISP=(,CATLG,DELETE),DSN=XXXX.SORT.DIFF,     
今天双色球开奖结果             UNIT=3390,SPACE=(TRK,(3500,1500),RLSE),         
今天双色球开奖结果             LRECL=80,RECFM=FB                               
今天双色球开奖结果 SYSIN    DD  *                                               
  排序字段=(1,5,ZD,A,7,7,ZD,A,15,7,ZD,A,23,14,ZD,A,38,5,ZD,A,
                44,4,CH,A)                                     
今天双色球开奖结果 *                                                             
今天双色球开奖结果 STEP022 EXEC PGM = SORT                                         
今天双色球开奖结果 SYSOUT   DD  SYSOUT=*                                         
今天双色球开奖结果 SYSPRINT DD  SYSOUT=*                                         
今天双色球开奖结果 SORTIN   DD DISP = SHR,DSN = XXXX.SORT.DIFF                   
今天双色球开奖结果整理  DD  DISP=(,CATLG,DELETE),DSN=XXXX.SORT.GOOD,     
今天双色球开奖结果             UNIT=3390,SPACE=(TRK,(3500,1500),RLSE),         
今天双色球开奖结果             LRECL=80,RECFM=FB                               
今天双色球开奖结果 SORTXSUM DD  DISP=(,CATLG,DELETE),DSN=XXXX.DUP.GOOD,       
今天双色球开奖结果             UNIT=3390,SPACE=(TRK,(3500,1500),RLSE),     
今天双色球开奖结果             LRECL=80,RECFM=FB                           
今天双色球开奖结果 SYSIN    DD  *                                           
  排序字段=(1,5,ZD,A,7,7,ZD,A,15,7,ZD,A,23,14,ZD,A)     
 SUM FIELDS = NONE,XSUM                                     
今天双色球开奖结果 *                                                       



谁可以帮我这个事。
回到顶部
查看用户资料 发送私信
arvind.m

活跃用户


已加入:2008年8月28日
帖子:205
地点:海得拉巴

发布发表:2009年9月2日星期三下午4:34
引用回复

在上面的示例中,项目0111315和upc 00007362100243具有state,supp,item和upc的重复组合。所以输出应该是

码:

03000 | 0008770 | 0111315 | 00007362100243 | 00036 | PREV
回到顶部
查看用户资料 发送私信
c

高级会员


已加入:2006年7月28日
职位:1702
所在地:澳大利亚

发布发表:2009年9月2日星期三下午4:43
引用回复

你好

尝试
码:
  排序字段=(1,5,ZD,A,7,7,ZD,A,15,7,ZD,A,23,14,ZD,A),EQUALS     



格里
回到顶部
查看用户资料 发送私信
arvind.m

活跃用户


已加入:2008年8月28日
帖子:205
地点:海得拉巴

发布发表:2009年9月2日星期三下午4:49
引用回复

嗨,格里,

我需要在哪里添加分类卡(我的意思是在哪一步)。

引用:

尝试代码:
排序字段=(1,5,ZD,A,7,7,ZD,A,15,7,ZD,A,23,14,ZD,A),EQUALS



但是我将第一张排序卡更改为:

码:

排序字段=(1,5,ZD,A,7,7,ZD,A,15,7,ZD,A,23,14,ZD,A,
              44,4,CH,A)


我工作。你能确认一下吗
回到顶部
查看用户资料 发送私信
arvind.m

活跃用户


已加入:2008年8月28日
帖子:205
地点:海得拉巴

发布发表:2009年9月2日星期三下午4:52
引用回复

嗨,格里,

我使用了第二步中提到的分类卡。但它没有用。
回到顶部
查看用户资料 发送私信
c

高级会员


已加入:2006年7月28日
职位:1702
所在地:澳大利亚

发布发表:2009年9月2日星期三下午4:54
引用回复

嗨Arvind,

我给你的那条线属于第二步。

第一步还有其他排序字段。


格里
回到顶部
查看用户资料 发送私信
c

高级会员


已加入:2006年7月28日
职位:1702
所在地:澳大利亚

发布发表:2009年9月2日星期三下午4:57
引用回复

你好

step1的输出是什么样的?

格里
回到顶部
查看用户资料 发送私信
arvind.m

活跃用户


已加入:2008年8月28日
帖子:205
地点:海得拉巴

发布发表:2009年9月2日星期三下午5:01
引用回复

格里

我的第一步将对输入文件进行排序,并确保状态为“ CURR”的记录在顶部。 (不考虑数量)


第二步将删除重复的记录。由于状态为“ CURR”的记录位于顶部,因此不会消除。

让我知道这是否有意义。
回到顶部
查看用户资料 发送私信
c

高级会员


已加入:2006年7月28日
职位:1702
所在地:澳大利亚

发布发表:2009年9月2日星期三下午5:07
引用回复

嗨Arvind,

我运行的JCL没有参数XSUM,因为我正在使用的DFSORT版本不支持该参数,并且结果正确。

第一步中的文件是什么样的?

格里
回到顶部
查看用户资料 发送私信
arvind.m

活跃用户


已加入:2008年8月28日
帖子:205
地点:海得拉巴

发布发表:2009年9月2日星期三下午5:25
引用回复

上面的输入文件只有很少的记录可以测试它。

第一步的新输入
码:

03000 | 0008770 | 0111315 | 00001121539210 | 00024 | CURR
03000 | 0008770 | 0111315 | 00007362100243 | 00024 | CURR
03000 | 0008770 | 0111315 | 00007362100243 | 00036 | PREV
03000 | 0008770 | 0111317 | 00001121530618 | 00024 | CURR
03000 | 0008770 | 0164614 | 00003700019004 | 00004 | PREV
03000 | 0008770 | 0164614 | 00003700019004 | 00006 | CURR


第一步输出
码:

03000 | 0008770 | 0111315 | 00001121539210 | 00024 | CURR
03000 | 0008770 | 0111315 | 00007362100243 | 00024 | CURR
03000 | 0008770 | 0111315 | 00007362100243 | 00036 | PREV
03000 | 0008770 | 0111317 | 00001121530618 | 00024 | CURR
03000 | 0008770 | 0164614 | 00003700019004 | 00004 | CURR
03000 | 0008770 | 0164614 | 00003700019004 | 00006 | PREV



检查最后两个记录。
回到顶部
查看用户资料 发送私信
arvind.m

活跃用户


已加入:2008年8月28日
帖子:205
地点:海得拉巴

发布发表:2009年9月2日星期三下午5:27
引用回复

抱歉....

第一步输出
码:


03000 | 0008770 | 0111315 | 00001121539210 | 00024 | CURR
03000 | 0008770 | 0111315 | 00007362100243 | 00024 | CURR
03000 | 0008770 | 0111315 | 00007362100243 | 00036 | PREV
03000 | 0008770 | 0111317 | 00001121530618 | 00024 | CURR
03000 | 0008770 | 0164614 | 00003700019004 | 00006 | CURR
03000 | 0008770 | 0164614 | 00003700019004 | 00004 | PREV
 

回到顶部
查看用户资料 发送私信
c

高级会员


已加入:2006年7月28日
职位:1702
所在地:澳大利亚

发布发表:2009年9月2日星期三下午5:43
引用回复

嗨,阿曼德,

这变得非常混乱。

最后2条记录如何从00004 PREV到00004 CURR和00006 CURR到00006 PREV?

我将在step1中使用以下内容
码:
  排序字段=(1,5,ZD,A,7,7,ZD,A,15,7,ZD,A,23,14,ZD,A, 
                44,4,CH,A)                     


和第二步中的以下内容

码:
  排序字段=(1,5,ZD,A,7,7,ZD,A,15,7,ZD,A,23,14,ZD,A),EQUALS   
  SUM FIELDS=NONE                                         



格里
回到顶部
查看用户资料 发送私信
arvind.m

活跃用户


已加入:2008年8月28日
帖子:205
地点:海得拉巴

发布发表:2009年9月2日星期三下午5:49
引用回复

抱歉,格里...有错字...

正确的输出是

码:

03000 | 0008770 | 0111315 | 00001121539210 | 00024 | CURR
03000 | 0008770 | 0111315 | 00007362100243 | 00024 | CURR
03000 | 0008770 | 0111315 | 00007362100243 | 00036 | PREV
03000 | 0008770 | 0111317 | 00001121530618 | 00024 | CURR
03000 | 0008770 | 0164614 | 00003700019004 | 00006 | CURR
03000 | 0008770 | 0164614 | 00003700019004 | 00004 | PREV
回到顶部
查看用户资料 发送私信
c

高级会员


已加入:2006年7月28日
职位:1702
所在地:澳大利亚

发布发表:2009年9月2日星期三下午5:56
引用回复

嗨Arvind,

我认为您又错了,第一步的输出如下
码:
03000 | 0008770 | 0111315 | 00001121539210 | 00024 | CURR
03000 | 0008770 | 0111315 | 00007362100243 | 00024 | CURR
03000 | 0008770 | 0111315 | 00007362100243 | 00036 | PREV
03000 | 0008770 | 0111317 | 00001121530618 | 00024 | CURR
03000 | 0008770 | 0164614 | 00003700019004 | 00004 | PREV
03000 | 0008770 | 0164614 | 00003700019004 | 00006 | CURR


这就是为什么我为step1建议使用另一种排序字段卡。

格里
回到顶部
查看用户资料 发送私信
arvind.m

活跃用户


已加入:2008年8月28日
帖子:205
地点:海得拉巴

发布发表:2009年9月2日星期三下午6:15
引用回复

没有格里
排序时不考虑第一个排序卡中的“数量”(第5字段)。

码:

排序字段=(1,5,ZD,A,7,7,ZD,A,15,7,ZD,A,23,14,ZD,A, 
                44,4,CH,A)
回到顶部
查看用户资料 发送私信
c

高级会员


已加入:2006年7月28日
职位:1702
所在地:澳大利亚

发布发表:2009年9月2日星期三下午6:27
引用回复

嗨Arvind,

既然我们在第一张分类卡上达成了共识,但我仍未意识到您在步骤1中更改了分类卡,在使用我提供的第二张分类卡时您仍然遇到问题。


格里
回到顶部
查看用户资料 发送私信
查看上一个主题 :: :: 查看下一个主题  
发表新话题   回复主题 查看书签
所有时间均为格林尼治标准时间+ 6小时
论坛索引 -> JCL& VSAM

 


类似主题
话题 论坛 回覆
没有新帖 撤消DB2以除去用户 DB2 4
没有新帖 删除基于S ...的重复记录 DFSORT / ICETOOL 4
没有新帖 我们可以在主U中插入重复项吗? DB2 2
没有新帖 如何删除此快捷栏? TSO / ISPF 3
没有新帖 如何删除早于...的远程文件 所有其他大型机主题 4
搜索我们的论坛:


回到顶部