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

连接300个数据集作为LMMLIST的输入


IBM大型机论坛 -> TSO / ISPF
发表新话题   回复主题
查看上一个主题 :: 查看下一个主题  
作者 信息
科克斯达维

新的用户


已加入:2009年3月12日
帖子:30
所在地:美国

发布发表:2010年11月16日,星期二,12:21上午
引用回复

我将REXX exec组合在一起,该exec使用库服务使用带有SAVE选项的LMMLIST命令获取成员信息列表,以便将结果放入组数据集(userid.groupid.MEMBERS)中。这是针对一个输入PDS完成的。我想聚在一起,最多可以容纳300个输入数据集,并通过LM命令运行每个输入数据集,并将输出放入相同的输出数据集中。因此,对于每个数据集输入,我希望在处理每个数据集时将输出信息修改或添加到末尾。

此处的另一点信息是300个数据集中的每个数据集的差异化因素都是高级别,即用户ID。

任何有关如何最好地将长长的列表作为输入的想法都将受到赞赏。


谢谢,
戴夫
回到顶部
查看用户资料 发送私信
佩德罗

全球主持人


已加入:2006年9月1日
帖子:2214
地点:硅谷

发布发表:2010年11月16日,星期二,上午10:46
引用回复

引用:
我希望在处理每个信息时将输出信息修改或添加到末尾。


引用:
任何有关如何最好地将长长的列表作为输入的想法都将受到赞赏。


我认为一次处理每个数据集。并使用相同的rexx打开输出数据集。继续写作,直到完成所有数据集。

您需要在行上附加一个序列号,以便知道它来自什么数据集。
回到顶部
查看用户资料 发送私信
科克斯达维

新的用户


已加入:2009年3月12日
帖子:30
所在地:美国

发布发表:2010年11月16日,星期二,10:15 pm
引用回复

实际上,我希望不必运行REXX作业300次。我真的在寻找某人已经完成LMINIT,LMOPEN,LMMLIST,LMFREE和LMCOPY的内部循环的东西,其中LMMLIST将创建一个新列表,该列表将成为LMCOPY命令的输入,以从LMMLIST命令复制DATA1到新的DATA2数据ID,作为LMCOPY命令的输出。外循环逻辑必须以某种方式引入每个数据集,这些数据集将成为LMMLIST命令的输入。
回到顶部
查看用户资料 发送私信
恩里科·索里切蒂

高级主持人


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

发布发表:2010年11月16日,星期二,10:35 pm
引用回复

好看 icon_biggrin.gif
这是一个帮助论坛,而不是为我做的...
您是否想搜索论坛,我刚刚检查了一下,有很多代码片段

搜索LMMLIST并开始单击结果
回到顶部
查看用户资料 发送私信
科克斯达维

新的用户


已加入:2009年3月12日
帖子:30
所在地:美国

发布发表:2010年11月17日,星期三,上​​午12:25
引用回复

我不需要好运。我需要找出如何处理将输入到LMMLIST和LMCOPY指令集的300个数据集。事实是,我刚刚发现,如果在输出dataid上指定ENQ(MOD),则不会获得为LMCOPY的输出定义的dataid。必须为ENQ(SHR)。返回绘图板,了解如何在LM中存储和修改输出数据集。您认为我是怎么发现的?因此,请四处浏览IBM LM页面,如果您不能提供建设性的建议,请不要回复。另一方面,如果有人有建设性的建议,请放心。您可能不仅仅对我有帮助。


谢谢。
回到顶部
查看用户资料 发送私信
达夫波塞兰

活跃的成员


加入时间:2006年12月1日
职位:747
所在地:宾夕法尼亚州

发布发表:2010年11月17日,星期三,凌晨1:00
引用回复

Coxdavi,

这是一些建设性的建议
1)别惹恩里科
2)不要告诉拥有6000多个帖子的人不回复。他们获得了说任何话的权利。他帮助了很多人。
3)Enrico确实为您提供了三点建设性建议
A)不要等别人给你代码
B)搜索论坛
C)搜索LMMLIST
4)您已经在原始帖子中找到了逻辑。继续。
5)不要惹Enrico
回到顶部
查看用户资料 发送私信
恩里科·索里切蒂

高级主持人


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

发布发表:2010年11月17日,星期三,上​​午1:19
引用回复

今天任何人都可以惹我 icon_biggrin.gif
只为今天,因为我心情很好,明天我不知道

真的要求不是很明确

我将过程分为两部分...
1)获取数据集列表并将其存储到主干中
2)加工茎

优点是可以以这种方式提供数据集列表
1)通过读取无模式的数据集列表
2)使用LMD ****东西用模式构建数据集列表
或使用IGGCSI接口构建相同的

此时数据集列表可用

一切都取决于每个成员必须执行的流程
我很高兴地说它还没有被很好地解释

无论如何
对于输出,我不会打扰使用LM ***服务
如果它是PS数据集,则仅分配并使用EXECIO逐条记录地写入记录

唯一不清楚的是输出记录内容

一旦内容明确,建议可能会更有用
回到顶部
查看用户资料 发送私信
恩里科·索里切蒂

高级主持人


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

发布发表:2010年11月17日,星期三,上​​午1:37
引用回复

例如获取数据集列表并不困难

码:
 000001 /*REXX*/
 000002地址ISPEXEC
 000003 dslev="USER.*"
 000004 dslst.0 = 0
 000005 dsorg.0 = 0
 000006 dsnlnen = 0
 000007 "LMDINIT 清单ID(LISTID)  LEVEL("DSLEV") "
 000008 / *构建数据集列表并为每个DSORG保存* /
 000009 "LMDLIST 清单ID("LISTID") OPTION(LIST) STATS(YES) DATASET(DSVAR)"
 000010 do while ( rc = 0)
 000011    i = dslst.0 + 1
 000012    dslst.i = strip(dsvar)
 000013    dsorg.i = strip(zdldsorg)
 000014    dslst.0 = i
 000015    "LMDLIST 清单ID("LISTID") OPTION(LIST) STATS(YES) DATASET(DSVAR)"
 000016 end
 000017 "LMDFREE 清单ID("LISTID") "
 000018 / *我们已经建立了列表* /
 000019我= 1至dslst.0
 000020    say right(i,3) dsorg.i dslst.i
 000021 end
 000022 exit


这只花了我几分钟的时间... PC开机,包括mvs IPL icon_biggrin.gif
检查发布时间戳

引用:
因此,如果您不能提供建设性的建议,请不要回复。

但是我自然不能期望TS会欣赏代码片段 icon_biggrin.gif
回到顶部
查看用户资料 发送私信
恩里科·索里切蒂

高级主持人


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

发布发表:2010年11月17日,星期三,凌晨1:55
引用回复

我建议搜索LMMLIST以测试TS的良好状态

我确定有一个可行的例子... 我写的 ... 就在这儿
ibmmainframes.com/viewtopic.php?t=25947&highlight=
回到顶部
查看用户资料 发送私信
恩里科·索里切蒂

高级主持人


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

发布发表:2010年11月17日星期三凌晨2:16
引用回复

这是另一个工作样本,直到数据集列表的成员列表

码:
 000001 /*REXX*/
 000002地址ISPEXEC
 000003 dslev="USER.*"
 000004 dslst.0 = 0
 000005 dsorg.0 = 0
 000006 dsnlnen = 0
 000007 "LMDINIT 清单ID(LISTID)  LEVEL("DSLEV") "
 000008 / *构建数据集列表并为每个DSORG保存* /
 000009 "LMDLIST 清单ID("LISTID") OPTION(LIST) STATS(YES) DATASET(DSVAR)"
 000010 do while ( rc = 0)
 000011    i = dslst.0 + 1
 000012    dslst.i = strip(dsvar)
 000013    dsorg.i = strip(zdldsorg)
 000014    dslst.0 = i
 000015    "LMDLIST 清单ID("LISTID") OPTION(LIST) STATS(YES) DATASET(DSVAR)"
 000016 end
 000017 "LMDFREE 清单ID("LISTID") "
 000018 / *我们已经建立了列表* /
 000019我= 1至dslst.0
 000020    if dsorg.i <> "PO" then ,
 000021       iterate
 000022    dsvar = dslst.i
 000023    "LMINIT DATAID(LISTID) DATASET("dsvar") ENQ(SHR)"
 000024    "LMOPEN DATAID("LISTID") OPTION(INPUT)"
 000025    membr=" "
 000026    "LMMLIST DATAID("LISTID") MEMBER(MEMBR) STATS(YES)"
 000027    if rc = 4 then ,
 000028       say dsvar "has no 会员s"
 000029    do while ( rc = 0 )
 000030       say dsvar membr
 000031       "LMMLIST DATAID("LISTID") MEMBER(MEMBR) STATS(YES)"
 000032    end
 000033    "LMCLOSE DATAID("LISTID")"
 000034    "LMFREE  DATAID("LISTID")"
 000035 end
 000036 exit


ts讲话后,我认为我什至太有帮助了:icon_cool.gif
回到顶部
查看用户资料 发送私信
科克斯达维

新的用户


已加入:2009年3月12日
帖子:30
所在地:美国

发布发表:2010年11月17日,星期三,凌晨2:21
引用回复

感谢Enrico提供的示例。我已经有来自LISTCAT的300个数据集并手动进行归约。没什么大不了的。问题是将每个数据集引入LM处理,并能够对输出进行MOD。 LMCOPY退出了,因为MOD无法正常工作。

什么是TS?
回到顶部
查看用户资料 发送私信
迪克·谢勒

主持人荣誉


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

发布发表:2010年11月17日,星期三,凌晨2:28
引用回复

主题启动器

d
回到顶部
查看用户资料 发送私信
恩里科·索里切蒂

高级主持人


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

发布发表:2010年11月17日星期三凌晨2:32
引用回复

正如我所说,已经使用我的代码段而不是使用LMD ****服务来填充DSLST。干

足以使用

码:
地址TSO"ALLOCATE ....."具有数据集列表的数据集
地址TSO"EXECIO * DISKR theddname( stem DSLST. FINIS"


唯一的区别是...

引用:
ISPEXEC LMOPEN数据(data-id)
[OPTION(INPUT | OUTPUT)]
[LRECL(lrecl-var)]
[RECFM(recfm-var)]
[ORG(org-var)]


并检查打开后的dsorg

这是打开后的dsorg检查的同一片段

码:

 000001 /*REXX*/
 000002地址ISPEXEC
 000003 dslev="USER.*"
 000004 dslst.0 = 0
 000005 dsnlnen = 0
 000006 "LMDINIT 清单ID(LISTID)  LEVEL("DSLEV") "
 000007 / *构建数据集列表并为每个DSORG保存* /
 000008 "LMDLIST 清单ID("LISTID") OPTION(LIST) STATS(YES) DATASET(DSVAR)"
 000009 do while ( rc = 0)
 000010    i = dslst.0 + 1
 000011    dslst.i = strip(dsvar)
 000012    dslst.0 = i
 000013    "LMDLIST 清单ID("LISTID") OPTION(LIST) STATS(YES) DATASET(DSVAR)"
 000014 end
 000015 "LMDFREE 清单ID("LISTID") "
 000016 / *我们已经建立了列表* /
 000017我= 1至dslst.0
 000018    dsvar = dslst.i
 000019    "LMINIT DATAID(LISTID) DATASET("dsvar") ENQ(SHR)"
 000020    "LMOPEN DATAID("LISTID") OPTION(INPUT) ORG(DSORG) "
 000021    if dsorg <> "PO" then do
 000022       "LMCLOSE DATAID("LISTID")"
 000023       "LMFREE  DATAID("LISTID")"
 000024    end
 000025    membr=" "
 000026    "LMMLIST DATAID("LISTID") MEMBER(MEMBR) STATS(YES)"
 000027    if rc = 4 then ,
 000027    if rc = 4 then ,
 000028       say dsvar "has no 会员s"
 000029    do while ( rc = 0 )
 000030       say dsvar membr
 000031       "LMMLIST DATAID("LISTID") MEMBER(MEMBR) STATS(YES)"
 000032    end
 000033    "LMCLOSE DATAID("LISTID")"
 000034    "LMFREE  DATAID("LISTID")"
 000035 end
 000036 exit


如果您确切地说出必须写入输出数据集中的内容,则可能会得到更好的建议
回到顶部
查看用户资料 发送私信
科克斯达维

新的用户


已加入:2009年3月12日
帖子:30
所在地:美国

发布发表:2010年11月17日星期三凌晨3:10
引用回复

输出数据集应包含具有每个数据集成员统计信息的成员列表。我正在尝试接收第一个数据集输入,创建列表,将其写入输出,返回并获取下一个输入数据集并重复,仅将mod调制到输出数据集上。在输出数据集上使用带有ENQ(MOD)的LMINIT的LMCOPY将会是一个简单的想法。

谢谢迪克。
回到顶部
查看用户资料 发送私信
恩里科·索里切蒂

高级主持人


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

发布发表:2010年11月17日,星期三,凌晨3:24
引用回复

LMCOPY不写单行,而是复制内容...

正如我已经说过几次,最好的方法是使用

在LMMLIST统计信息之后(是)
只是使用

码:
Recd.1 =<member>Z *** Z **** Z **** Z ****
地址TSO"EXECIO 1 DISKW胜负( STEM recd.


在整个shebang结束时
地址TSO“ EXECIO 0 DISKW outddname(FINIS”
回到顶部
查看用户资料 发送私信
科克斯达维

新的用户


已加入:2009年3月12日
帖子:30
所在地:美国

发布发表:2010年11月17日,星期三,上​​午4:04
引用回复

恩里科,感谢您今天的帮助。是的,我知道LMCOPY会写整个shebang。 icon_smile.gif 我希望将第一组成员添加到下一组,以此类推。再次感谢。


戴夫
回到顶部
查看用户资料 发送私信
达夫波塞兰

活跃的成员


加入时间:2006年12月1日
职位:747
所在地:宾夕法尼亚州

发布发表:2010年11月17日,星期三,下午6:49
引用回复

科克斯达维

您是否注意到Enrico多次提供了代码?

您是否还注意到,您尚未显示任何内容?

非常重要的建议:

1)显示您正在运行的代码以及如何调用它(例如,批处理jcl)。

2)显示当前正在生成的输出(部分输出很好)

3)显示您想要输出的外观。

这将使每个人都更容易。

如果您一开始就可以做到这一点,那么您现在就可以完成。
回到顶部
查看用户资料 发送私信
科克斯达维

新的用户


已加入:2009年3月12日
帖子:30
所在地:美国

发布发表:2010年11月17日,星期三,晚上8:56
引用回复

我已经完成了。我们能够完成MOD操作。这项任务将继续进行,直到我有一些时间可以恢复。
回到顶部
查看用户资料 发送私信
迪克·谢勒

主持人荣誉


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

发布发表:2010年11月17日,星期三10:03 pm
引用回复

当您回到这里时,有人会在这里。 。 。 icon_smile.gif

d
回到顶部
查看用户资料 发送私信
科克斯达维

新的用户


已加入:2009年3月12日
帖子:30
所在地:美国

发布发表:2010年11月18日,星期四,上午8:05
引用回复

谢谢迪克。非常感激。
回到顶部
查看用户资料 发送私信
查看上一个主题 :: :: 查看下一个主题  
发表新话题   回复主题 查看书签
所有时间均为格林尼治标准时间+ 6小时
论坛索引 -> TSO / ISPF

 


类似主题
话题 论坛 回覆
没有新帖 使用基于关闭的VB记录排序... DFSORT / ICETOOL 6
没有新帖 JOINKEYS匹配两个输入文件... DFSORT / ICETOOL 3
没有新帖 使用CO创建单记录文件... DFSORT / ICETOOL 8
没有新帖 使用BP动态读取输入文件... COBOL程式设计 20
没有新帖 将sysin连接到dsn JCL和VSAM 7
搜索我们的论坛:


回到顶部