如何每天自动删除不同工作的多个 GDG 代?
Posted
技术标签:
【中文标题】如何每天自动删除不同工作的多个 GDG 代?【英文标题】:How to automate to delete multiple GDG generations of different jobs on daily basis? 【发布时间】:2021-06-20 13:36:12 【问题描述】:我在一个每天触发的批处理作业是 A 到 Z 的环境中工作 - 总共 24 个作业(只是一个例子)
一旦批处理完成,所有这些作业都会创建 QUESTION.XXXXXXXX.HELPME.G0002V000(其中 XXXXXXX=Jobnames(A_Z))。
案例1:如果批量运行成功,QUESTION.XXXXXXXX.HELPME.G0002V000会被自动删除。
案例2:另一方面,如果作业失败,我们需要手动删除QUESTION.XXXXXXXX.HELPME.G0002V000。
因为,我们有大量的批处理作业,其中很多每天都会失败。每天都删掉真的很痛苦。
我想创建一个系统,可以帮助我一次性删除一个 PS 文件中的所有生成文件或 .txt 文件(失败的作业 GDG 生成),例如提交一个 JCL 或执行一个 REXX 组件。
注意:由于其他限制很少,我无法在 JCL 中编写此代码。
【问题讨论】:
听起来您希望删除每个GDG,无论成功或异常完成(案例1和案例2)。为什么不直接使用&&
临时文件,这样他们在工作结束时就会消失。
正如 Hogstom 所说,如果您删除 GDG,无论批处理作业的结果如何,那么您应该使用临时文件。 “由于其他约束很少(原文如此),我无法在我的 JCL 中对此进行编码”。 #告诉我们他们是什么——这里有经验丰富的 MF 人员,而您认为的限制可能不是。
【参考方案1】:
几个选项
-
使用 DFDSS 中的备份-删除选项或现在的任何名称。具有创建已删除内容的备份的优势。您可以在 DFDSS 中使用泛型
如果您在 JCL 中引用 GDG Base QUESTION.XXXXXXXX.HELPME,它将在每一代中获取。您可以使用
DISP=(OLD,DELETE)
(请注意,如果没有生成,您会收到 JCL 错误。
使用 Rexx 检查/删除
在 JCL 中实现
// PGM=IEFBR14
//C DD DSN=QUESTION.XXXXXXXX.HELPME(+1)....
//*
// PGM=IEFBR14
//D DD DSN=QUESTION.XXXXXXXX.HELPME,DISP=(OLD,DELETE)
【讨论】:
以上是关于如何每天自动删除不同工作的多个 GDG 代?的主要内容,如果未能解决你的问题,请参考以下文章