如何每天自动删除不同工作的多个 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 代?的主要内容,如果未能解决你的问题,请参考以下文章

如何让 Jupyter Notebook 自动导入代码?

触发器实现源表操作(增,删,改)自动补录操作日志

如何使用 php 中的 cron 作业自动删除 mysql 行?

请问用CSS如何控制自动隐藏多余的内容?

通过单击图像叠加开始自动播放视频。需要为多个视频工作

批处理如何实现删除当前目录内最近修改时间3天以外的所有文件?