如何每天自动删除不同作业的多个 GDG 代?

问题描述

我在一个环境中工作,每天触发的批处理作业是 A 到 Z - 总共 24 个作业(仅举个例子)

一旦批处理完成,所有这些作业都会创建 QUESTION.XXXXXXXX.HELPME.G0002V000(其中 XXXXXXX=Jobnames(A_Z))。

Case1: QUESTION.XXXXXXXX.HELPME.G0002V000 批处理成功完成后会自动删除

Case2:另一方面,如果作业失败,我们需要手动删除QUESTION.XXXXXXXX.HELPME.G0002V000。

从那以后,我们有大量的批处理作业,而且每天都有很多失败。每天都删掉真的很痛苦。

我想创建一个系统,它可以帮助我一次性删除一个 PS 文件或 .txt 文件中的所有生成文件(失败的作业 GDG 生成),例如提交一个 JCL 或执行一个 REXX 组件。

注意:由于其他一些限制,我无法在 JCL 中对此进行编码。

解决方法

几个选项

  1. DFDSS 中使用备份-删除选项或现在叫什么名字。具有为删除的任何内容创建备份的优点。您可以在 DFDSS 中使用泛型
  2. 如果您在 JCL 中引用 GDG Base QUESTION.XXXXXXXX.HELPME,它将在每一代人中提取。您可以使用 DISP=(OLD,DELETE)(请注意,如果没有生成,则会出现 JCL 错误。
  3. 使用 Rexx 进行检查/删除

在 JCL 中实现

//  PGM=IEFBR14
//C  DD DSN=QUESTION.XXXXXXXX.HELPME(+1)....
//*
//  PGM=IEFBR14
//D  DD DSN=QUESTION.XXXXXXXX.HELPME,DISP=(OLD,DELETE)