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

捕获GDG数据集名称


IBM大型机论坛 -> JCL& VSAM
发表新话题   回复主题
查看上一个主题 :: 查看下一个主题  
作者 信息
雷内·文森特

新的用户


已加入:2020年12月28日
帖子:3
地点:加拿大

发布发表:星期二2020年12月29日上午6:04
引用回复

你好

I have a JCLthat generates a GDG, MY.FILE(+1).

我想稍后在同一JCL中的文件中捕获生成的卷的实际名称MY.FILE.G0001V00。

这可能吗?

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

全球主持人


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

发布发表:星期二2020年12月29日上午6:11
引用回复

欢迎!
尝试使用LISTCAT并使用DFSORT或SYNCSORT从LISTCAT结果中仅复制所需的内容。

更多提示-在此论坛中搜索,您会发现过去讨论过的类似帖子。
回到顶部
查看用户资料 发送私信
菲尔比(Phrzby Phil)

高级会员


已加入:2006年10月31日
帖子:1015
地点:弗吉尼亚州里士满

发布发表:星期二2020年12月29日上午9:47
引用回复

您需要生成的数据集名称,而不是卷名称。

卷是指存储介质:磁带,光盘等。
回到顶部
查看用户资料 发送私信
乔格·芬代森

活跃用户


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

发布发表:星期二2020年12月29日上午11:19
引用回复

如果首选REXX,则可以这样使用sth:
码:
地址"TSO"                                           
如果bpxwdyn('info fi(ALLOC) inrtdsn(dsn)')=0 then say dsn

ALLOC将是您要从中检索DSN的DD语句。
回到顶部
查看用户资料 发送私信
外籍人士

全球主持人


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

发布发表:星期二2020年12月29日下午6:17
引用回复

我只想问你为什么要这样做
回到顶部
查看用户资料 发送私信
谢尔盖肯

活跃成员


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

发布发表于:星期二2020年12月29日晚上7:17
引用回复

雷内·文森特写道:
你好

I have a JCLthat generates a GDG, MY.FILE(+1).

我想稍后在同一JCL中的文件中捕获生成的卷的实际名称MY.FILE.G0001V00。

这可能吗?

谢谢。

您是否需要这个只是为了好玩?

为什么在多年前引入GDG的主要目标是, 完全避免需要知道组中每个特定数据集的真实DSN。
回到顶部
查看用户资料 发送私信
雷内·文森特

新的用户


已加入:2020年12月28日
帖子:3
地点:加拿大

发布发表:星期二2020年12月29日9:11 pm
引用回复

问题是“我为什么要这样做?”。

The JCLwill read the GDG, split the contents into multiple files, then FTP each of the files to different directories on our MFT server.
创建GDG的过程每10分钟运行一次。
如果我们失去与MFT服务器的连接,则该作业将失败并将继续失败,直到恢复连接为止。那时,失败的传输将不得不重新发行。
当JCL失败时,它将创建一个新的JCL,该JCL将用于重新发送传输。对于每个失败,JCL都会附加一个步骤,以传输最新的失败。对于每个步骤,我都需要知道GDG数据集名称。我不能使用-1,-2等,因为一旦恢复连接并且传输正常,这些将变得无效。
回到顶部
查看用户资料 发送私信
谢尔盖肯

活跃成员


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

发布发表:星期二2020年12月29日10:18 pm
引用回复

The idea of dynamic creation of new JCLwith fixed DSN after FTP failures is a good way to multiply the whole mess in the processing logic.
我很确定可以重新组织整个过程来避免此问题。最初的想法是将原始JCL分为两个独立的部分。

1.“分割”工作;每10分钟左右获取原始GDG(+0),并将其拆分为几个辅助DSN ... PARTx.TOFTP.GDG(+1)。所有那些辅助TOFTP.GDG都将被累积,直到第二个JCL负责处理为止。

2.“调动”工作;只要FTP连接可操作,它就将全部或一对一的... PARTx.TOFTP.GDG(+0)数据集传输到所需目录。如果成功,则通过DISP =(...,DELETE)删除那些GDG(+0)-对于下一个未传输的TOFTP.GDG(-1)变为TOFTP.GDG(+0),为以后的运行做好准备同一“转移”工作。如果传输失败,则需要提供DISP =(...,KEEP),以保留相同的数据集以进行下一次传输尝试。

每当所有未传输的数据集最终都传输完后,由于缺少TOFTP.GDG(+0),因此随后尝试运行此“传输” JCL的尝试将失败。

这只是头三分钟内想到的主要想法。我很确定,在更全局地考虑任务时,可以发明许多其他处理逻辑。
回到顶部
查看用户资料 发送私信
罗希特·乌马尔吉卡(Rohit Umarjikar)

全球主持人


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

发布发表于:2020年12月30日星期三凌晨1:44
引用回复

在理想情况下,“创建GDG的过程每10分钟运行一次”。该过程需要立即停止,直到生产支持小组解决先前的故障为止。如果不这样做,那么您可能会陷入无休止的循环,就像接下来的1个小时一直失败一样,那么您将需要连接多个GDG,并且您可能用尽了GDG LIMIT,而较旧的GDG LIMIT会被刮伤。重新设计过程以避免所有这些。

顺便说一句,您看到前面提出的任何解决方案了吗?这些链接应该可以帮助您获得最后的分类目录。
ibmmainframes.com/about44245.html
ibmmainframes.com/about50967.html
回到顶部
查看用户资料 发送私信
雷内·文森特

新的用户


已加入:2020年12月28日
帖子:3
地点:加拿大

发布发表于:2020年12月30日星期三凌晨2:33
引用回复

这绝不是形状或形式的“理想情况”。 Q&解决covid提出的问题的解决方案。
我无法停止GDG的创建,因为它是由我无法控制的自触发CICS事务执行的。
我正在尝试实现的一种方法是在发生故障时重新发送失败的传输(我很少希望如此)。最多我可以看到受影响的20代服务器(3个小时的FTP停机时间)。
谢谢大家的建议。
回到顶部
查看用户资料 发送私信
罗希特·乌马尔吉卡(Rohit Umarjikar)

全球主持人


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

发布发表于:2020年12月30日星期三凌晨3:49
引用回复

祝你好运,你有建议的解决方案!
回到顶部
查看用户资料 发送私信
查看上一个主题 :: :: 查看下一个主题  
发表新话题   回复主题 查看书签
所有时间均为格林尼治标准时间+ 6小时
论坛索引 -> JCL& VSAM

 


类似主题
话题 论坛 回覆
没有新帖 从内部获取数据集名称... TSO / ISPF 18
没有新帖 如何捕获DB2中的DDL更改... DB2 0
没有新帖 什么是DSORG(Datset组织)... JCL& VSAM 8
没有新帖 IEBGENER不在PD中创建成员... JCL& VSAM 7
没有新帖 数据集消息中的警告 TSO / ISPF 18
搜索我们的论坛:

回到顶部