【问题标题】:Merge flat files合并平面文件
【发布时间】:2011-12-16 06:16:38
【问题描述】:

我正在尝试使用 IEBGENER 创建用于合并平面文件的 JCL。输入文件的数量不是恒定的。我们可以使用 IEBGENER 吗?

【问题讨论】:

  • 如何指定输入文件?直接在 JCL 中还是从其他来源?
  • 我们有一项工作是调用 proc。 Proc 有 IEBGENR 步骤。文件编号不固定。我正在考虑在 proc 中使用符号参数并从作业中传递这些值。还有其他方法吗?我们不能有 gdgs。

标签: mainframe utilities jcl


【解决方案1】:

你可以在调用PROC 时覆盖IEBGENER SYSUT1 DD 吗?比如:

//EXEC procedure
//procstep.SYSUT1 DD DSN=first.copy.file,DISP=SHR,
//          DSN=second.copy.file,DISP=SHR,
//          DSN=thrid.copy.file,DISP=SHR
etcetera...

其中procedure 是编目程序,procstep 是 IEBGENER 步骤。

当多个数据集 对于单个 DD 语句,它们被连接在一起。目前 正如IEBGENER 所关心的,它们应该看起来像一个单一的输入数据集。

【讨论】:

  • 我可以从作业中覆盖。在这种情况下,我们需要在 PROC 中将 SYSUT1 作为 DUMMY 吗?然后覆盖 JOB 中的数据集名称。我正确吗??
  • 不管 SYSUT1 在 PROC 中指向什么,当您从工作中覆盖它时,它就会被替换。
【解决方案2】:

当我们在作业运行时输入文件计数不确定时,这很简单。从作为GDG base 的几代创建的源中获取文件,并将基础指定为输入,这将采用迄今为止创建的所有代......但每次创建的代都将被考虑;避免它;使用来自所有世代的数据创建一个临时文件并删除所有这些数据,以便下次您可以考虑新的世代。我清楚了吗?如果没有,请让我知道!

【讨论】:

    【解决方案3】:

    A.如果您不能拥有 GDG,则为丢失的文件清空文件,特别是您需要有一个限制(10、20 ?)。

    B.如果您使用 Control-M 或类似的,您可以在 DD 语句中使用 INCLUDE 进行预处理。在包含材料准备好之前无法提交作业,并且它必须是单独的作业。也就是说,根据文件的数量,从替代卡组中动态构建您的 JCL。

    C.您可能必须编写程序或 CLIST 来测试是否存在并连接文件。

    任何使用 GDG 并同时阅读它们的人都应该始终记住,最先阅读的是最新几代。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-07-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-20
      相关资源
      最近更新 更多