首页 > 解决方案 > 如何每天自动删除不同工作的多个 GDG 代?

问题描述

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

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

案例1:如果批处理成功完成,QUESTION.XXXXXXXX.HELPME.G0002V000 将被自动删除。

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

因为,我们有大量的批处理作业,其中很多每天都会失败。每天都删掉真的很痛苦。

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

注意:由于其他约束很少,我无法在我的 JCL 中对此进行编码。

标签: batch-processingmainframejclrexx

解决方案


几个选项

  1. 在DFDSS中使用 BackUp-Delete 选项或现在所称的任何内容。具有创建已删除内容的备份的优势。您可以在 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)

推荐阅读