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

需要将单行分成两行并替换字符串


IBM大型机论坛 -> DFSORT / ICETOOL
发表新话题   回复主题
查看上一个主题 :: 查看下一个主题  
作者 信息
索纳里·L·坦巴德

新的用户


加入:2020年11月4日
帖子:3
地点:印度

发布发表:2020年11月4日星期三晚上11:58
引用回复

我有一个动态创建的输入文件,其中包含传输作业的详细信息,我需要用我的节点替换该节点,并用我的路径替换该文件夹路径,我能够用IFTHEN / OVERLAY选项替换该节点,但是与此同时文件夹路径,但是由于文件夹路径很长,它已超过70,我尝试过分割线或替换路径不起作用。文件是LRECL 70 FB。
起始位置是3。请帮助。

我的输入文件有以下记录
码:

登录案例=是                                   
提交程序= ZZZZZZZZ                              -
PNODE = NODE1                                       -
SNODE = AAAAAAAAAAAA                                -
NEWNAME = BBBBBBBB                                  -
&DSN1=TEMP.VB.DELTA                               -
&DSN2 ='eeeeeeeee / ABCD_D20201101_S01431_X_Y1_Z'    -
&COMP=COMPRESS                                    -
&EXT=EXT                                           
登出


预期输出文件-

码:
登录案例=是                                   
提交程序= ZZZZZZZZ                           -
PNODE = NODE1                                           -
SNODE = YYYYYYYYYYYY                                -
NEWNAME = BBBBBBBB                                 -
&DSN1=TEMP.VB.DELTA                               -
&DSN2 = \'/ aaaa / bbbbbbb / cd / ddddd / eeeeeeeee / ffffff / \   || -
       \ ABCD_D20201101_S01431_X_Y1_Z'\            -
&COMP=COMPRESS                                    -
&EXT=EXT                                           
登出

鳕鱼
回到顶部
查看用户资料 发送私信
罗希特·乌马尔吉卡(Rohit Umarjikar)

全球主持人


已加入:2010年9月21日
帖子:2575
地点:美国纽约

发布发表于:2020年11月5日星期四2:00上午
引用回复

欢迎光临!
请使用代码标签。您可以发布自己尝试过的内容,而不必说出来。其次,确认这是否是您想要的-
找&DSN2 =并将当前值推到下一行并添加您已硬编码的那一行?在上面的示例中,它不匹配,因为在预期结果中/ eeeeeeeee /之后添加了/ fffffff /。

您可以考虑使用INREC IFTHEN =(WHEN =条件,按PUSH之后的任何内容&DSN2=)
在OUTREC中,您可以使用'/'运算符来构建,以将push'd值移至第二行,从而消除空白记录。

要么
我相信,您也可以使用JOINKEYS实现:)
回到顶部
查看用户资料 发送私信
乔格·芬代森

活跃用户


已加入:2015年8月15日
帖子:388
地点:德国班贝格

发布发表:2020年11月5日星期四上午11:04
引用回复

罗希特·乌马尔吉卡(Rohit Umarjikar)写道:
..在OUTREC中,您可以使用'/'运算符来构建,以将push'd值移至第二行,从而消除空白记录。

这应该在有OUTFIL的情况下起作用,但在OUTREC中则不行。
回到顶部
查看用户资料 发送私信
罗希特·乌马尔吉卡(Rohit Umarjikar)

全球主持人


已加入:2010年9月21日
帖子:2575
地点:美国纽约

发布发表:2020年11月5日(星期四)下午6:14
引用回复

没错,是自动拼写之一。谢谢Joerg。
回到顶部
查看用户资料 发送私信
索纳里·L·坦巴德

新的用户


加入:2020年11月4日
帖子:3
地点:印度

发布发表:2020年11月5日(星期四)下午7:31
引用回复

感谢您的答复,我能够实现以下内容的分割,并将其放入输出文件中-

输入-&DSN2 ='testflder / TEST_D20201101_S01431_C_P1_D'-

输出-
&DSN2='testflder/
TEST_D20201101_S01431_C_P1_D'-

排序字段=复制
OUTFIL IFTHEN =(何时(10,10,CH,EQ,C'gcdudaily /'),
建造=(1,19,70:X,/,20,47))

现在我想重新格式化下面的输入

输入-

&DSN2='testflder/
TEST_D20201101_S01431_C_P1_D'-

预期产量-

&DSN2 = \'/ data / test / cd / DEV / testfolder / upload / \ || ---
\ TEST_D20201101_S01431_C_P1_D'\-

我在下面的排序卡上使用过,但它不起作用,我也不知道如何在TEST_D20201101_S01431_C_P1_D的开头和结尾处加上斜线
请给点子


// CTL1CNTL DD *
选件复制
INREC IFOUTLEN = 70,
IFTHEN =(何时(10,9,CH,EQ,C'testfolder'),
OVERLAY =(10:C'\'/ data / test / cd / DEV / testfolder / upload / \ ||--'))
/ *

在此先感谢您的帮助
回到顶部
查看用户资料 发送私信
乔格·芬代森

活跃用户


已加入:2015年8月15日
帖子:388
地点:德国班贝格

发布发表:2020年11月5日(星期四)下午7:51
引用回复

在显示代码和数据时使用代码标签!

码:
// SPLITREP EXEC PGM = ICEMAN
// SORTIN   DD *                                                   
&DSN2 ='eeeeeeeee / ABCD_D20201101_S01431_X_Y1_Z'    -               
/ *                                                                  
// SYSOUT   DD SYSOUT=*                                             
//整理  DD SYSOUT = *                                             
// SYSIN    DD *                                                   
  选件复制                                                     
  OUTFIL FNAMES=(SORTOUT),                                         
    IFTHEN=(WHEN=(1,6,CH,EQ,C'&DSN2='),                           
      PARSE=(%01=(STARTAFT = C'''',ENDBEFR = C'/',FIXLEN = 60),         
             %02=(ENDBEFR = C'''',FIXLEN = 60)),                       
      BUILD=(C'&DSN2 = \''/ aaaa / bbbbbbb / cd / ddddd /',                 
             C'eeeeeeeee / ffffff / \! -',/,                         
             %02,SQZ=(SHIFT=LEFT,LEAD=C'      ',TRAIL=C'''\ -',   
                      LENGTH=60)))                                 
  END                                                             
/ *


无需使用ICETOOL,这是一个简单的任务。
回到顶部
查看用户资料 发送私信
索纳里·L·坦巴德

新的用户


加入:2020年11月4日
帖子:3
地点:印度

发布发表于:2020年11月5日,星期四10:45 pm
引用回复

万分感谢! Joerg。有效!得到了预期的输出
回到顶部
查看用户资料 发送私信
谢尔盖肯

活跃成员


已加入:2008年4月29日
职位:937
所在地:马里兰

发布发表于:星期五十一月06,2020 6:10上午
引用回复

一次又一次的故事:对新出现的“专家”的任何建议都会被100%忽略。毕竟,他们只是在等待提供给他们的可复制粘贴解决方案。下一步:“谢谢您,专家先生,一切正常!”不久后,下一个问题就发布在这里,以帮助他完成新的工作,而不是免费为他完成工作... icon_axe.gif icon_pray.gif 12.gif
回到顶部
查看用户资料 发送私信
查看上一个主题 :: :: 查看下一个主题  
发表新话题   回复主题 查看书签
所有时间均为格林尼治标准时间+ 6小时
论坛索引 -> DFSORT / ICETOOL

 


类似主题
话题 论坛 回覆
没有新帖 将匹配的记录写入输出文件 DFSORT / ICETOOL 1
没有新帖 DB2I面板中的命令行放置 TSO / ISPF 2
没有新帖 文件辅助批处理如何重复一行... Compuware和其他工具 2
没有新帖 SQL的下一行 DB2 4
没有新帖 十六进制值-VB文件替换旧日期... DFSORT / ICETOOL 14
搜索我们的论坛:

回到顶部