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

使用排序重新格式化文件


IBM大型机论坛 -> JCL& VSAM
发表新话题   回复主题
查看上一个主题 :: 查看下一个主题  
作者 信息
姆克斯兰贾尼

新的用户


已加入:2010年2月3日
帖子:29
地点:钦奈

 发布 发表:2012年8月16日,星期四,下午2:50
引用回复

你好

我有一个数据如下的文件
码:

---- + ---- 1 ---- + ---- 2 ---- + ---- 3 ---- + ---- 4 ---- + ---- 5 ---- + ---- 6-
*****************************数据顶部****************** *
abcdefg.txt                                                 
cd aaaaaa                                                   
cd bbbbbb                                                   
cd ccccccc                                                   
cd ddddddd                                                   
locsite pri = 5 cy sec = 1 cy u = testda rec = fb lr = 1402 blocksi = 0 
得到                                                    +     
USER.NONX.USER9999.SAMPLE(+1)'                               
退出          


我需要以下输出。第一行“ abcdefg.txt”中的数据需要在第七行“ 得到 ”之后移动。

码:
---- + ---- 1 ---- + ---- 2 ---- + ---- 3 ---- + ---- 4 ---- + ---- 5 ---- + ---- 6-
*****************************数据顶部****************** *
cd aaaaaa                                                   
cd bbbbbb                                                   
cd ccccccc                                                   
cd ddddddd                                                   
locsite pri = 5 cy sec = 1 cy u = testda rec = fb lr = 1402 blocksi = 0 
获取abcdefg.txt                                       +     
USER.NONX.USER9999.SAMPLE(+1)'                               
退出                                                          
****************************数据底部*****************       


请使用Sort帮助实现此解决方案
回到顶部
查看用户资料 发送私信
尼克·克劳斯顿

全球主持人


加入时间:2007年5月10日
帖子:2455
地点:英国汉普郡

 发布 发表:2012年8月16日,星期四,下午2:54
引用回复

好吧,您现在已经完成了,那是什么问题?
回到顶部
查看用户资料 发送私信
姆克斯兰贾尼

新的用户


已加入:2010年2月3日
帖子:29
地点:钦奈

 发布 发表:2012年8月16日,星期四,下午3:03
引用回复

不好了。我刚刚给出了输出的外观。
回到顶部
查看用户资料 发送私信
比尔·伍德格

主持人荣誉


加入时间:2011年3月9日
帖子:7311
位置:矩阵内部

 发布 发表:2012年8月16日,星期四,下午3:24
引用回复

使用IFTHEN和WHEN = GROUP记录,您可以按您的文件名。包括一个SEQ。

使用IFTHEN和WHEN =(logexp),您可以标识“ 得到 ”并将推入的项目放在适当的位置。

然后在OUTFIL OMIT上,当序列是一个以摆脱现在的剩余记录时,以BUILD摆脱PUSHed数据。
回到顶部
查看用户资料 发送私信
潘多拉魔盒

主持人


已加入:2006年9月7日
职位:1565
地点:仙女座星系

 发布 发表:2012年8月16日,星期四,下午3:37
引用回复

法案,

不知道这可能有多有效

如果文件名abcdefg.txt总是相同

省略第一个位置的abcdefg.txt记录

更改所有获取以获取abcdefg.txt

请纠正我
回到顶部
查看用户资料 发送私信
姆克斯兰贾尼

新的用户


已加入:2010年2月3日
帖子:29
地点:钦奈

 发布 发表:2012年8月16日,星期四,下午3:48
引用回复

法案,

您能提供一个建议的示例代码吗
回到顶部
查看用户资料 发送私信
潘多拉魔盒

主持人


已加入:2006年9月7日
职位:1565
地点:仙女座星系

 发布 发表:2012年8月16日,星期四,下午3:57
引用回复

引用:
您能提供一个建议的示例代码吗


他确实给了您确切的语法

作为您的职责,您可以在论坛/手册中搜索样本,然后尝试学习它们的工作原理并根据需要实施

因此,将来您不会依赖任何人提出类似的要求
回到顶部
查看用户资料 发送私信
dbzTHEdinosauer

全球主持人


已加入:2006年10月20日
帖子:6967
位置:瓷宝座

 发布 发表:2012年8月16日,星期四,下午3:59
引用回复

姆克斯兰贾尼写道:
法案,

您能提供一个建议的示例代码吗


节奏继续!

ifpltaatrtimclid。
嘿,这第一个字母的东西很棒!
回到顶部
查看用户资料 发送私信
比尔·伍德格

主持人荣誉


加入时间:2011年3月9日
帖子:7311
位置:矩阵内部

 发布 发表:2012年8月16日,星期四,下午6:42
引用回复

弗兰克·雅格(Frank Yaeger)写道:
如果您不熟悉DFSORT和DFSORT的ICETOOL,建议您通读“ z / OS DFSORT:入门”。这是一个很棒的教程,其中包含许多示例,将向您展示如何使用DFSORT,DFSORT的ICETOOL和DFSORT符号。您可以从以下位置在线访问它以及所有其他DFSORT书籍:

www.ibm.com/support/docview.wss?rs=114&uid=isg3T7000080
回到顶部
查看用户资料 发送私信
比尔·伍德格

主持人荣誉


加入时间:2011年3月9日
帖子:7311
位置:矩阵内部

 发布 发表:2012年8月16日,星期四,下午6:46
引用回复

潘多拉魔盒写道:
法案,

不知道这可能有多有效

如果文件名abcdefg.txt总是相同

省略第一个位置的abcdefg.txt记录

更改所有获取以获取abcdefg.txt

请纠正我


是的,那行得通。

您可以使用编辑器完成此操作,然后将其放入PDS / PDSE成员... :-)

我当时以为,很容易就错了,第一条记录的内容是可变的,因此寻求一种通用的解决方案。

ywanicratmbwilfasstyp,

(是的,dbz,这很有趣),如果您不介意查看手册,至少在论坛上搜索我给您的关键词(它们是真实的词,不是表达的缩写),那么您应该能够得到它。
回到顶部
查看用户资料 发送私信
尼克拉吉
警告:1

新的用户


已加入:2007年6月11日
帖子:50
地点:欧元

 发布 发表:2012年8月16日,星期四,晚上8:16
引用回复

示例代码...

码:
//步骤执行排序                                                 
// SYSOUT   DD SYSOUT=*                                           
// SORTIN  DD *                                                   
ABCDEFG.TXT                                                       
CD AAAAAA                                                         
CD BBBBBB                                                         
CD CCCCCCC                                                       
CD DDDDDDD                                                       
LOCSITE PRI = 5 CY SEC = 1 CY U = TESTDA REC = FB LR = 1402 BLOCKSI = 0       
得到                                                    +           
USER.NONX.USER9999.SAMPLE(+1)'                                   
退出                                                              
//整理  DD SYSOUT = *                                           
// SYSIN  DD *                                                     
 OPTION COPY                                                     
 INREC IFTHEN =(WHEN=(1,3,CH,EQ,C'GET'),OVERLAY=(5:C'ABCDEFG.TXT'))
 OMIT COND=(1,11,CH,EQ,C'ABCDEFG.TXT')   



码:
//步骤执行排序                                           
// SYSOUT   DD SYSOUT=*                                     
// SORTIN  DD *                                             
ABCDEFG.TXT                                                 
CD AAAAAA                                                   
CD BBBBBB                                                   
CD CCCCCCC                                                 
CD DDDDDDD                                                 
LOCSITE PRI = 5 CY SEC = 1 CY U = TESTDA REC = FB LR = 1402 BLOCKSI = 0
得到                                                    +     
USER.NONX.USER9999.SAMPLE(+1)'                             
退出                                                        
//整理  DD SYSOUT = *                                     
// SYSIN  DD *                                               
 OPTION COPY                                               
 INREC IFTHEN =(WHEN=GROUP,                                 
   BEGIN=(1,11,CH,EQ,C'ABCDEFG.TXT'),                       
   END=(1,3,CH,EQ,C'GET'),                                 
   PUSH=(81:1,11)),                                         
 IFTHEN=(WHEN=(1,3,CH,EQ,C'GET'),OVERLAY=(5:81,11))         
 OUTFIL OMIT=(1,11,CH,EQ,C'ABCDEFG.TXT'),BUILD=(1,80)


附注:我已经使用CAPS ON。
回到顶部
查看用户资料 发送私信
姆克斯兰贾尼

新的用户


已加入:2010年2月3日
帖子:29
地点:钦奈

 发布 发表:2012年8月16日,星期四,9:39 pm
引用回复

你好

我已经对以下代码进行了编码。但是它显示错误。有人可以帮忙吗,

码:
 SORT FIELDS=COPY                                                       
 INREC IFTHEN =(WHEN = GROUP,RECORDS = 9,PUSH =(81:ID=1,83:SEQ=1),           
       IFTHEN=(WHEN=(1,3,CH,EQ,'get',AND,81,1,ZD,EQ,1),PUSH=(81:1,32)) 
 OUTFIL OMIT=(SEQ=1),BUILD=(1,80)                                       
回到顶部
查看用户资料 发送私信
迪克·谢勒

主持人荣誉


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

 发布 发表:2012年8月16日,星期四,9:42 pm
引用回复

您好,

是否有某些原因导致您未提出错误 icon_sad.gif

您需要发布生成的所有诊断信息,包括完整的消息ID。
回到顶部
查看用户资料 发送私信
姆克斯兰贾尼

新的用户


已加入:2010年2月3日
帖子:29
地点:钦奈

 发布 发表:2012年8月16日,星期四,9:46 pm
引用回复

抱歉,请在错误消息下方找到

码:
SYSIN:                                                                 
 SORT FIELDS=COPY                                                       
 INREC IFTHEN =(WHEN = GROUP,RECORDS = 9,PUSH =(81:ID=1))                     
 INREC IFTHEN =(WHEN=(1,3,CH,EQ,'get',AND,81,1,ZD,EQ,1),PUSH=(81:1,32)) 
 *                                                                     
 OUTFIL OMIT=(SEQ=1),BUILD=(1,80)                                       
              *                                                         
WER269A  INREC STATEMENT   :发现重复陈述                 
WER268A  OUTFIL STATEMENT  : SYNTAX ERROR                               
WER211B  SYNCSMF 通过SYNCSORT调用; RC = 0000                           
WER449I SYNCSORT全局DSM子系统活动   
回到顶部
查看用户资料 发送私信
恩里科·索里切蒂

高级主持人


已加入:2007年3月14日
帖子:10715
所在地:意大利

 发布 发表:2012年8月16日,星期四,9:51 pm
引用回复

WER ..消息表明您使用的是SYNCSORT,而不是DFSORT

主题移到了它所属的位置
回到顶部
查看用户资料 发送私信
姆克斯兰贾尼

新的用户


已加入:2010年2月3日
帖子:29
地点:钦奈

 发布 发表:2012年8月16日,星期四,9:53 pm
引用回复

尼克斯

“ ABCDEFG.txt”是一个变量。总是不一样。
回到顶部
查看用户资料 发送私信
潘多拉魔盒

主持人


已加入:2006年9月7日
职位:1565
地点:仙女座星系

 发布 发表:2012年8月16日,星期四,晚上10:00
引用回复

另外如果你

abcdefg.txt文件名将不会更改

Knickraj的另一个解决方案应该适用于Syncsort
回到顶部
查看用户资料 发送私信
潘多拉魔盒

主持人


已加入:2006年9月7日
职位:1565
地点:仙女座星系

 发布 发表:2012年8月16日,星期四,晚上10:04
引用回复

因此,您可以使用SYMNAMES并使用Knick的解决方案重新格式化
回到顶部
查看用户资料 发送私信
赤胜

全球主持人


已加入:2009年10月3日
职位:1788
地点:伊利诺伊州布卢明顿

 发布 发表:2012年8月16日,星期四,晚上10:07
引用回复

姆克斯兰贾尼写道:
你好

我已经对以下代码进行了编码。但是它显示错误。有人可以帮忙吗,

码:
 SORT FIELDS=COPY                                                       
 INREC IFTHEN =(WHEN = GROUP,RECORDS = 9,PUSH =(81:ID=1,83:SEQ=1),           
       IFTHEN=(WHEN=(1,3,CH,EQ,'get',AND,81,1,ZD,EQ,1),PUSH=(81:1,32)) 
 OUTFIL OMIT=(SEQ=1),BUILD=(1,80)                                       

这与
引用:
码:
 SORT FIELDS=COPY                                                       
 INREC IFTHEN =(WHEN = GROUP,RECORDS = 9,PUSH =(81:ID=1))                     
 INREC IFTHEN =(WHEN=(1,3,CH,EQ,'get',AND,81,1,ZD,EQ,1),PUSH=(81:1,32)) 
 OUTFIL OMIT=(SEQ=1),BUILD=(1,80)     

如果您不告诉我们您实际所做的工作,您将如何期待有意义的帮助?
回到顶部
查看用户资料 发送私信
潘多拉魔盒

主持人


已加入:2006年9月7日
职位:1565
地点:仙女座星系

 发布 发表:2012年8月16日,星期四,晚上10:12
引用回复

同样,“获取”应为“获取”

我至少发现错误
回到顶部
查看用户资料 发送私信
比尔·伍德格

主持人荣誉


加入时间:2011年3月9日
帖子:7311
位置:矩阵内部

 发布 发表:2012年8月16日,星期四,晚上10:41
引用回复

进行Pandora-Box指出的更改。我将始终至少包含一个空格,以便我知道我得到了“ 得到 ”而不是以“ 得到 ”开头的东西。

也请查看您的OMIT。您不能那样做SEQ。您需要定义GROUP在何处推送SEQ,然后对其进行测试。

如果没有得到,请发布整个sysout。
回到顶部
查看用户资料 发送私信
尼克拉吉
警告:1

新的用户


已加入:2007年6月11日
帖子:50
地点:欧元

 发布 发表:2012年8月16日,星期四,下午11:24
引用回复

尝试这个..

码:
//步骤执行排序                                           
// SYSOUT   DD SYSOUT=*                                     
// SORTIN  DD *                                             
ABCDEFG.TXT                                                 
CD AAAAAA                                                   
CD BBBBBB                                                   
CD CCCCCCC                                                 
CD DDDDDDD                                                 
LOCSITE PRI = 5 CY SEC = 1 CY U = TESTDA REC = FB LR = 1402 BLOCKSI = 0
得到                                                          
USER.NONX.USER9999.SAMPLE(+1)'                             
退出                                                        
//整理  DD DSN=&&T,DISP=(,PASS),SPACE=(TRK,(1,0),RLSE)   
// SYSIN  DD *                                               
 OPTION COPY                                               
 彻底删除,结点,已建立=(80X),                     
   HEADER1=('FILE,C''',1,11,'''')                           
//步骤执行排序                                           
// SYSOUT   DD SYSOUT=*                                     
// SYMNAMES DD DSN =&&T,DISP=SHR                             
//整理  DD SYSOUT = *                                     
// SORTIN  DD *                                             
ABCDEFG.TXT                                                 
CD AAAAAA                                                   
CD BBBBBB                                                   
CD CCCCCCC                                                 
CD DDDDDDD                                                 
LOCSITE PRI = 5 CY SEC = 1 CY U = TESTDA REC = FB LR = 1402 BLOCKSI = 0
得到                                                          
USER.NONX.USER9999.SAMPLE(+1)'                             
退出                                                        
// SYSIN  DD *                                               
 OPTION COPY                                               
 OMIT COND=(1,11,CH,EQ,FILE)                               
 INREC IFTHEN =(WHEN=(1,3,CH,EQ,C'GET'),OVERLAY=(5:FILE))
回到顶部
查看用户资料 发送私信
迪克·谢勒

主持人荣誉


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

 发布 发表:2012年8月17日,星期五12:01上午
引用回复

您好,

引用:
忽略不计=(SEQ=1),BUILD=(1,80)
建议您尝试删除
OMIT =(SEQ = 1),然后重试。
回到顶部
查看用户资料 发送私信
姆克斯兰贾尼

新的用户


已加入:2010年2月3日
帖子:29
地点:钦奈

 发布 发表:2012年8月17日,星期五,上午8:18
引用回复

我曾尝试删除OMIT。以下是我得到的错误
码:

 SYSIN :                                                                       
 SORT FIELDS=COPY                                                             
 INREC IFTHEN =(WHEN = GROUP,RECORDS = 9,PUSH =(81:ID=1)),                           
       IFTHEN=(WHEN=(1,3,CH,EQ,C'get',AND,81,1,ZD,EQ,1),PUSH=(81:1,32))       
                                                        *                     
 OUTFIL BUILD=(1,80)                                                           
WER268A  INREC STATEMENT   : SYNTAX ERROR                                     
WER211B  SYNCSMF 通过SYNCSORT调用; RC = 0000                                 
WER449I SYNCSORT全局DSM子系统活动                                 
回到顶部
查看用户资料 发送私信
迪克·谢勒

主持人荣誉


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

 发布 发表:2012年8月17日,星期五,上午8:34
引用回复

您好,

什么是文件的文件?
回到顶部
查看用户资料 发送私信
查看上一个主题 :: :: 查看下一个主题  
发表新话题   回复主题 查看书签
所有时间均为格林尼治标准时间+ 6小时
论坛索引 -> JCL& VSAM 转到页面 1, 2   下一个

 


类似主题
话题 论坛 回覆
该主题已锁定:您无法编辑帖子或回复。 将匹配的记录写入输出文件 DFSORT / ICETOOL 11
没有新帖 建立排序键 DFSORT / ICETOOL 3
没有新帖 比较文件记录计数百分比... DFSORT / ICETOOL 4
没有新帖 比较两个文件以查找位置/日期... 同步排序 2
没有新帖 很大排序失败-寻求识别... DFSORT / ICETOOL 7
搜索我们的论坛:


回到顶部