如何自动化 jcl 在大型机上运行 cobol 程序

Posted

技术标签:

【中文标题】如何自动化 jcl 在大型机上运行 cobol 程序【英文标题】:how to automate jcl to run a cobol program on mainframe 【发布时间】:2013-02-07 23:32:20 【问题描述】:

我们有一个可以从 JCL 手动执行的 COBOL 批处理程序。我们想自动化这个过程,使它可以每 15 分钟执行一次。

有没有办法在大型机上自动执行批处理程序?

我是一名 PC 用户,我知道在 Windows 中我可以创建一个 .BAT 文件并在任务计划程序中将其设置为每 15 分钟运行一次。我基本上是在尝试在大型机上做同样的事情。

【问题讨论】:

我同意 cschneid。您正在尝试做什么,不是根据您尝试如何实现它,而是根据您要满足的技术/业务需求?运行什么程序无关紧要,运行的一切都只是一个程序。 【参考方案1】:

有没有办法自动执行批处理程序 大型机?

是的。

Many mainframe shops have job schedulers。 BMC的Control-M就是一个,ASG有Zeke,还有其他的。

话虽如此,听起来有问题的应用程序是为了定期轮询某些事件而编写的。大型机通常有更好的方法来完成人们通常通过轮询解决的任务。例如事件监控。

【讨论】:

【参考方案2】:

大型机调度软件如 BMC 的 Control-M 就是其中之一,ASG 有 Zeke、CA 的 CA7 和 IBM TWS for ZOS,以前的 OPCA 可用于每 15 分钟调度一次作业。

您可以每 15 分钟添加一个作业,或者让作业的第一步是添加将在接下来的 15 分钟内运行的 1。

优点 作业失败时将通知操作员 缺点 最终会在计划中分配相同的工作 ZOS的TWS(据我所知)你需要添加近96个工作并为其设置相应的时间

我推荐的选项是使用自动化产品,例如 IBM 的 System Automation、BMC 的 Control-O 或 CA 的 OPS。

使用上述任何自动化产品,您都可以设置启动任务并让它们每 15 分钟启动一次。例如使用 System Automation 中的 1 个面板将其设置为每 15 分钟运行一次启动任务会更容易

如果您想知道它是否失败,您可以使用自动化产品在上述任何调度程序中进行调度。

【讨论】:

【参考方案3】:

对此有很多解决方案,这实际上取决于您监控的内容。除了标准的“使用像 CA7 这样的作业调度程序”(缺点是白天运行的作业太多,有点乱)。

您可以定义一个调用您的 COBOL 代码的地址空间(已启动的任务),并在您的 COBOL 代码中让它休眠(即等待计时器)15 分钟,唤醒检查任何内容并返回休眠状态。或者,在 JES2 上运行作业,但您可能需要多做一点,以便 JES 让作业整天保持活跃!

如果此代码发现问题,它还可以发出控制台消息(也许,您可能需要编写一点汇编代码来发出 WTO 或 WTOR),因此操作员要么知道 (WTO),要么知道并且必须回复 (WTOR)(写信给操作员并回复)。

【讨论】:

相当晦涩,您甚至可以使用 CICS 的间隔控制来提交卡片。 CICS 本身就是长时间运行的批处理。从程序提交 JCL 的 SO 上已有其他内容。

以上是关于如何自动化 jcl 在大型机上运行 cobol 程序的主要内容,如果未能解决你的问题,请参考以下文章

C -> 大型机上的 COBOL 跨语言通信

如何在 z/OS 上将 java 作为作业步骤运行

COBOL

如何在大型机ispf中列出项目中的所有cobol程序

在 EXEC 语句中使用 JCL PARM= 将参数传递给 COBOL 程序

JCL,我需要将我的 VSAM 文件引入我的 cobol 使用的 DD 语句是啥