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

如何查找文字的出现。


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

活跃用户


已加入:2009年9月14日
职位:184
地点:哥印拜陀

邮件发表:2009年10月13日,星期二,7:04 pm
引用回复

我有一个包含两个记录的文件,如下所示:

记录1:ABDUL00000000000000ABDULMMMMMMMMMMMMMMMABDBDJJJJJJJJJJJJJJ
记录2:OOOOOOOOOOOOABDULIIIIIIIIIIIABDULNNNNABDULQQQQQQQQQQQQQQQQQQQQQ


请给我一个jcl,从两个记录中查找名称“ ABDUL”的出现,以便输出应为6。请注意,文字“ ABDUL”位于给定的两个记录中的不同列
回到顶部
查看用户资料 发送私信
厚采煤机

主持人荣誉


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

邮件发表:2009年10月13日,星期二,8:41 pm发表主题:
引用回复

你好,

为什么在这里再次发布?

那么在论坛的IMS部分中的相同请求呢? 。 。

d
回到顶部
查看用户资料 发送私信
弗兰克·雅格

DFSORT开发人员


已加入:2005年2月15日
帖子:7129
地点:加利福尼亚州圣何塞。

邮件发表:2009年10月13日,星期二,9:34 pm发表主题:
引用回复

阿卜杜勒

输入文件的RECFM和LRECL是什么?

在记录中可以找到ABDUL的最大次数是多少?

最大记录数是2吗?

输出将是带有计数的一条记录吗?还是原始记录加上计数的额外记录?还是什么?显示您输入示例的确切预期输出。
回到顶部
查看用户资料 发送私信
阿卜杜拉菲

活跃用户


已加入:2009年9月14日
职位:184
地点:哥印拜陀

邮件发表:2009年10月16日,星期五,下午3:59
引用回复

RECFM是FB,LRECL为80。最多可以有100条记录。我只想在每个记录中找到“ ABDUL”的计数。

这是我的要求。
回到顶部
查看用户资料 发送私信
弗兰克·雅格

DFSORT开发人员


已加入:2005年2月15日
帖子:7129
地点:加利福尼亚州圣何塞。

邮件发表:2009年10月16日,星期五,9:02 pm
引用回复

再次:

引用:
输出将是带有计数的一条记录吗?还是原始记录加上计数的额外记录?还是什么?显示您输入示例的确切预期输出。
回到顶部
查看用户资料 发送私信
阿卜杜拉菲

活跃用户


已加入:2009年9月14日
职位:184
地点:哥印拜陀

邮件发表:2009年10月19日星期一4:01 pm
引用回复

输入应与我发布的输入相同:
输入文件:
ABDUL00000000000000ABDULMMMMMMMMMMMMMMMABDULJJJJJJJJJJJJJJ
OOOOOOOOOOABDULIIIIIIIIIIIABDULNNNNABDULQQQQQQQQQQQQQQQQQ

输出文件:
“ ABDUL”的计数是:6

This is how my output file has to look. Please give me a JCLto find it out
回到顶部
查看用户资料 发送私信
弗兰克·雅格

DFSORT开发人员


已加入:2005年2月15日
帖子:7129
地点:加利福尼亚州圣何塞。

邮件发表:2009年10月19日星期一9:37 pm
引用回复

您可以使用如下所示的DSORT作业来完成所需的工作:

码:

// S1    EXEC  PGM=SORT
// SYSOUT    DD  SYSOUT=*
// SORTIN DD DSN = ...  input file (FB/80)
// SORTOUT DD DSN = ...  output file (FB/30)
// SYSIN    DD    *
  OPTION COPY
  INREC IFOUTLEN=5,
    IFTHEN=(WHEN=INIT,PARSE=(%01=(STARTAT = C'ABDUL',FIXLEN = 5),
            %02=(STARTAT = C'ABDUL',FIXLEN = 5),
            %03=(STARTAT = C'ABDUL',FIXLEN = 5),
            %04=(STARTAT = C'ABDUL',FIXLEN = 5),
            %05=(STARTAT = C'ABDUL',FIXLEN = 5),
            %06=(STARTAT = C'ABDUL',FIXLEN = 5),
            %07=(STARTAT = C'ABDUL',FIXLEN = 5),
            %08=(STARTAT = C'ABDUL',FIXLEN = 5),
            %09=(STARTAT = C'ABDUL',FIXLEN = 5),
            %10=(STARTAT = C'ABDUL',FIXLEN = 5),
            %11=(STARTAT = C'ABDUL',FIXLEN = 5),
            %12=(STARTAT = C'ABDUL',FIXLEN = 5),
            %13=(STARTAT = C'ABDUL',FIXLEN = 5),
            %14=(STARTAT = C'ABDUL',FIXLEN = 5),
            %15=(STARTAT = C'ABDUL',FIXLEN = 5),
            %16=(STARTAT = C'ABDUL',FIXLEN = 5)),
         BUILD=(%01,%02,%03,%04,%05,%06,%07,%08,
               %09,%10,%11,%12,%13,%14,%15,%16)),
    IFTHEN=(WHEN=INIT,FINDREP=(IN = C'ABDUL',OUT = C'00001')),
    IFTHEN=(WHEN=INIT,
      建造=(1,5,UFF,ADD,6,5,UFF,ADD,11,5,UFF,ADD,16,5,UFF,ADD,
             21,5,UFF,ADD,26,5,UFF,ADD,31,5,UFF,ADD,36,5,UFF,ADD,
             41,5,UFF,ADD,46,5,UFF,ADD,51,5,UFF,ADD,56,5,UFF,ADD,
             61,5,UFF,ADD,66,5,UFF,ADD,71,5,UFF,ADD,76,5,UFF,
             TO=ZD,LENGTH=5))
 完全删除,结点,
    建造=(30X),
    TRAILER1=(“计数”为“ ABDUL”: ',TOT=(1,5,ZD,M10,LENGTH=5))
/ *
回到顶部
查看用户资料 发送私信
阿卜杜拉菲

活跃用户


已加入:2009年9月14日
职位:184
地点:哥印拜陀

邮件发表:2009年10月27日,星期二,上午10:28
引用回复

你好

谢谢你的帮助。该代码工作正常。

有没有更乐观的方法来执行我的手术,或者这是我们唯一的方法吗?
回到顶部
查看用户资料 发送私信
厚采煤机

主持人荣誉


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

邮件发表:2009年10月27日,星期二,7:54 pm
引用回复

你好,

“乐观”-可能最佳?

您要更改提供的代码中的什么?
回到顶部
查看用户资料 发送私信
外籍人士

全球主持人


已加入:2007年3月14日
帖子:8794
地点:威尔士威尔士

邮件发表:2009年10月27日,星期二,晚上8:00
引用回复

如果您想到Frank是在IBM内部开发和维护DFSORT / ICETOOL的人,并且他为问题提供了解决方案,那么他的方式肯定是最优化/乐观/眼科解决方案。
回到顶部
查看用户资料 发送私信
弗兰克·雅格

DFSORT开发人员


已加入:2005年2月15日
帖子:7129
地点:加利福尼亚州圣何塞。

邮件发表:2009年10月27日,星期二,9:34 pm
引用回复

引用:
有没有更乐观的方法来执行我的操作,或者这是我们唯一的方法吗?


好吧,您当然可以编写自己的程序或退出执行该程序。这是否更乐观(由原文如此)由您确定。
回到顶部
查看用户资料 发送私信
阿卜杜拉菲

活跃用户


已加入:2009年9月14日
职位:184
地点:哥印拜陀

邮件发表:2009年10月28日星期三上午9:52
引用回复

好吧,坦率我只执行了您的代码。非常感谢。
回到顶部
查看用户资料 发送私信
沙欣·卡洛奇(Shaheen Kalokhe)

新的用户


已加入:2008年2月21日
帖子:21
地点:印度

邮件发表:2009年10月28日,星期三8:06 pm
引用回复

坦率地说,以下语句会做什么?

IFTHEN =(当WHEN = INIT,PARSE =(%01 =(STARTAT = C'ABDUL',FIXLEN = 5),
%02 =(STARTAT = C'ABDUL',FIXLEN = 5),
%03 =(STARTAT = C'ABDUL',FIXLEN = 5),
%04 =(STARTAT = C'ABDUL',FIXLEN = 5),
%05 =(STARTAT = C'ABDUL',FIXLEN = 5),
%06 =(STARTAT = C'ABDUL',FIXLEN = 5),
%07 =(STARTAT = C'ABDUL',FIXLEN = 5),
%08 =(STARTAT = C'ABDUL',FIXLEN = 5),
%09 =(STARTAT = C'ABDUL',FIXLEN = 5),
%10 =(STARTAT = C'ABDUL',FIXLEN = 5),
%11 =(STARTAT = C'ABDUL',FIXLEN = 5),
%12 =(STARTAT = C'ABDUL',FIXLEN = 5),
%13 =(STARTAT = C'ABDUL',FIXLEN = 5),
%14 =(STARTAT = C'ABDUL',FIXLEN = 5),
%15 =(STARTAT = C'ABDUL',FIXLEN = 5),
%16 =(STARTAT = C'ABDUL',FIXLEN = 5)),

%01,%02 ....%16的用途是什么。
回到顶部
查看用户资料 发送私信
弗兰克·雅格

DFSORT开发人员


已加入:2005年2月15日
帖子:7129
地点:加利福尼亚州圣何塞。

邮件发表:2009年10月28日,星期三9:34 pm
引用回复

有关DFSORT的PARSE功能的概述,请参见:

publibz.boulder.ibm.com/cgi-bin/bookmgr_OS390/BOOKS/ICE1CG40/2.5?DT=20090519162426

DFSORT的PARSE功能在我的论文中有详细解释,该论文位于:

www.ibm.com/support/docview.wss?rs=114&uid=isg3T7000086
回到顶部
查看用户资料 发送私信
沙欣·卡洛奇(Shaheen Kalokhe)

新的用户


已加入:2008年2月21日
帖子:21
地点:印度

邮件发表:2009年10月30日,星期五7:55 pm
引用回复

谢谢弗兰克的答复。我一定会看看您提供的链接。
回到顶部
查看用户资料 发送私信
查看上一个主题 :: :: 查看下一个主题  
发表新话题   回复主题 查看书签
所有时间均为格林尼治标准时间+ 6小时
论坛索引 -> JCL& VSAM

 


类似主题
话题 论坛 回覆
没有新帖 比较两个文件以查找位置/日期... 同步排序 2
没有新帖 如何查找哪个文件包含我的文件... DFSORT / ICETOOL 6
没有新帖 创建其他序列/文字... DFSORT / ICETOOL 4
没有新帖 无法找到DB2 ROWS DB2 2
没有新帖 从字符串'...获取下5个数字 COBOL程式设计 4
搜索我们的论坛:


回到顶部