查看上一个主题 :: 查看下一个主题
|
作者 |
信息 |
venkatatcts
新的用户
已加入:2009年3月16日 帖子:55 地点:印度
|
|
|
|
你好
我有一个文件,该文件作为同一密钥的多个记录,但带有一个字段,该字段指示交易是删除还是添加或更改。
例如,
XX1-A-DW D
XX1-A-DW C
XX1-A-DW A
XX1-B-DW C
XX1-B-DW A
XX1-B-DW A
D-删除,A-添加,C-更改
如果任何一条记录具有D,则应删除该键。但是,如果那里的记录没有D,那么所有记录都应写入文件。输出应为
XX1-B-DW C
XX1-B-DW A
XX1-B-DW A
谢谢,
文卡特B |
|
回到顶部 |
|
 |
尼克·克劳斯顿
全球主持人
加入时间:2007年5月10日 帖子:2455 地点:英国汉普郡
|
|
|
|
很简单-您尝试了什么?我会给您一个提示-您想省略一些记录。 |
|
回到顶部 |
|
 |
venkatatcts
新的用户
已加入:2009年3月16日 帖子:55 地点:印度
|
|
|
|
该文件是根据密钥排序的,但是指示它是删除,更改还是添加的字段按desc顺序排序。
因此,如果有任何键的记录被删除,它将是第一个。所以那个钥匙不应该在那里。对于任何记录,这三个都可以删除,添加,更改。
忽略将不适用于第一个sceanrio。
谢谢,
文卡特 |
|
回到顶部 |
|
 |
侠客
活跃用户

已加入:2008年1月22日 职位:117 地点:自由城
|
|
|
|
您好,
记录的出现次数是否总是3?
引用: |
XX1-A-DW D
XX1-A-DW C
XX1-A-DW A
XX1-B-DW C
XX1-B-DW A
XX1-B-DW A |
|
|
回到顶部 |
|
 |
venkatatcts
新的用户
已加入:2009年3月16日 帖子:55 地点:印度
|
|
|
|
不可以,单个键最多可以出现1或2或最多999次 |
|
回到顶部 |
|
 |
侠客
活跃用户

已加入:2008年1月22日 职位:117 地点:自由城
|
|
|
|
您好,
试试下面的代码片段,
码: |
// STEP1 EXEC PGM = ICETOOL
//DFSMSG DD SYSOUT = *
// TOOLMSG DD SYSOUT = *
// IN1 DD *
XX1-A-DW D
XX1-A-DW C
XX1-A-DW A
XX1-B-DW C
XX1-B-DW A
XX1-B-DW A
// OUT1 DD DSN =&TMP1,
// DISP=(NEW,CATLG,DELETE),
// RECFM = FB,LRECL = 90,BLKSIZE = 0,
// SPACE=(CYL,(10,10),RLSE),UNIT=SYSDA
//OUT2 DD SYSOUT = *
// TOOLIN DD *
COPY FROM(IN1) TO(OUT1) USING(CTL1)
/*
// CTL1CNTL DD *
INREC IFTHEN=(WHEN=(10,1,CH,EQ,C'D'),OVERLAY=(81:1,8))
OUTREC FIELDS=(1:81,8)
/*
// STEP02 EXEC PGM = SORT
// SORTJNF1 DD DSN =&TMP1,DISP=SHR
// SORTJNF2 DD *
XX1-A-DW D
XX1-A-DW C
XX1-A-DW A
XX1-B-DW C
XX1-B-DW A
XX1-B-DW A
// SYSOUT DD SYSOUT=*
//整理 DD SYSOUT = *
// SYSIN DD *
JOINKEYS FILE = F1,FIELDS =(1,8,A)
JOINKEYS FILE = F2,FIELDS =(1,8,A)
加入不配对,F2,仅
改革领域=(F2:1,80)
排序字段=复制 |
由于不知道发生了什么,因此已使用了一个以上的步骤。如果您有明确的信息,则可以将其简化为单一步骤。 |
|
回到顶部 |
|
 |
迪克·谢勒
主持人荣誉

已加入:2006年11月23日 帖子:19245 位置:矩阵内部
|
|
|
|
您好,
使用哪种版本的产品? |
|
回到顶部 |
|
 |
奈什
新的用户

已加入:2006年12月7日 帖子:82 地点:英国
|
|
|
|
首先是第一件事。您尚未回答Nic的问题。您也没有搜索论坛等。您在等待定制解决方案吗?
提示2-可以一步完成。 Use 何时=GROUP on the key if you are using DFSORT. |
|
回到顶部 |
|
 |
venkatatcts
新的用户
已加入:2009年3月16日 帖子:55 地点:印度
|
|
|
|
你好
我正在使用syncsort 1.3
我无法通过省略条件来实现这一目标。基于指示是删除还是添加还是更改的列,我必须确定是否需要删除密钥。
谢谢,
文卡特b |
|
回到顶部 |
|
 |
侠客
活跃用户

已加入:2008年1月22日 职位:117 地点:自由城
|
|
|
|
您好,
所以你尝试过还是  |
|
回到顶部 |
|
 |
c
高级会员
已加入:2006年7月28日 职位:1702 所在地:澳大利亚
|
|
|
|
你好
我同意Naish的观点,当GROUP是一个更好的选择,并且只需要传递1次文件。
格里 |
|
回到顶部 |
|
 |
比尔·伍德格
主持人荣誉
加入时间:2011年3月9日 帖子:7311 位置:矩阵内部
|
|
|
|
例子不清楚。
为什么“ D”优先出现?密钥记录序列中的“ D”可以出现在其他任何地方吗?为什么“ C”先于“ A”?
如果没有KEYBEGIN,则GROUP会更加棘手。
Syncsort在JOINKEYS上是否有OMIT / INCLUDE可用? |
|
回到顶部 |
|
 |
venkatatcts
新的用户
已加入:2009年3月16日 帖子:55 地点:印度
|
|
|
|
我已经按desc对文件进行了排序,以便D排在第一位,然后是C位,然后是A位。
Sycnsort包含并忽略条件。
谢谢,
文卡特 |
|
回到顶部 |
|
 |
潘多拉魔盒
主持人
.jpg)
已加入:2006年9月7日 职位:1565 地点:仙女座星系
|
|
|
|
你需要使用这样的东西
码: |
JOINKEYS FILES = F1,FIELDS =(1,8,A),INCLUDE=(10,1,CH,EQ,C'D')
JOINKEYS FILES = F2,FIELDS =(1,8,A)
改革领域=(F1:1,10,F2:1,10),FILL=X'FF'
加入未配对的F1,F2
排序字段=复制
忽略COND =(1,10,CH,EQ,11,10,CH)
|
未测试 |
|
回到顶部 |
|
 |
比尔·伍德格
主持人荣誉
加入时间:2011年3月9日 帖子:7311 位置:矩阵内部
|
|
|
|
潘多拉魔盒
您只需要主文件中的“不匹配”记录,而不会造成其他混乱,因此仅需UNPAIRED,F2,。
任何匹配项都必须针对“已删除”。源文件相同,因此在已删除的文件上不可能有“附加”。 JOINKEYS给出所需的记录(全部,没有D的记录)。
如果数据已经排序,则可以指示出来。使用此解决方案,不需要“ D”先出现,只需先出现即可。 |
|
回到顶部 |
|
 |
潘多拉魔盒
主持人
.jpg)
已加入:2006年9月7日 职位:1565 地点:仙女座星系
|
|
|
|
啊,比尔  |
|
回到顶部 |
|
 |
迪克·谢勒
主持人荣誉

已加入:2006年11月23日 帖子:19245 位置:矩阵内部
|
|
|
|
您好,
显示的版本(1.3.x)还有更多内容吗?
我的1.3文档显示了when = group,但是我不记得是否有一个必需的th发行版。
1.3现在已经过时了,我建议您组织考虑升级到当前版本。 |
|
回到顶部 |
|
 |
c
高级会员
已加入:2006年7月28日 职位:1702 所在地:澳大利亚
|
|
|
|
你好
这是使用when = group的方法
码: |
// STEP0100 EXEC PGM = SORT
// SYSOUT DD SYSOUT=*
// SORTIN DD *
XX1-A-DW D
XX1-A-DW C
XX1-A-DW A
XX1-B-DW C
XX1-B-DW A
XX1-B-DW A
//整理 DD SYSOUT = *
// SYSIN DD *
排序字段=复制
INREC IFTHEN=(WHEN=INIT,OVERLAY=(81:SEQNUM,8,ZD,RESTART=(1,8))),
IFTHEN=(WHEN=GROUP,BEGIN=(81,8,ZD,EQ,+1),
PUSH=(89:10,1))
OUTFIL OMIT=(89,1,CH,EQ,C'D'),BUILD=(1,80)
// *
|
格里 |
|
回到顶部 |
|
 |
比尔·伍德格
主持人荣誉
加入时间:2011年3月9日 帖子:7311 位置:矩阵内部
|
|
|
|
文卡特B,
您现在有几个解决方案。
如果在A / C / D上进行降序排序的唯一目的是为了完成此任务,则xnight和Pandora-Box概述的JOINKEYS方法可以消除对该排序的需要,因为D仅在哪里出现并不重要。为该文件提取D。
如果您对该文件还有其他需求(按降序排列),则Gerry的解决方案应比JOINKEYS运行得更好。
如果您使用JOINKEYS,并且文件处于“自然”顺序,那么请注意,可以通过添加SORTED来停止对每个JOINKEYS文件的排序。 |
|
回到顶部 |
|
 |
|