1

在过去的 4 年里,我一直在 Java 领域工作。我想告知我在大型机系统方面的知识是 BIG 0,并且正在寻找一种从 Java 类调用 JCL 脚本的方法。

有人可以让我知道这样做的方法吗?完成相同任务的所有先决条件是什么?

4

3 回答 3

2

您可以使用 JES 的 FTP 接口来提交 JCL 作业:

http://www.ehow.com/how_5213702_ftp-jcl-mainframe.html

于 2010-02-26T18:48:09.373 回答
1

IBM 应该有一个可用于与本机系统交互的 Java 工具包。在 AS/400(又名 iSeries、i5、SystemI、...)上,它被称为 JT/400(400 的 Java 工具包)。我想他们对于 zSeries(他们现在称为 SystemZ 吗?)机器有一些非常相似的东西。

也许 System.exec() 可能会在 z/OS JVM 中实现以运行系统作业。


我已经在谷歌上搜索了一段时间,找不到与 JT/400 相媲美的 z/OS 或 OS/390 的任何东西;如果 System.exec 对您没有用,您似乎需要深入研究 JNI 来做您想做的事。从IBM 关于在 OS/390 中使用 JNI 的信息开始。

于 2010-02-26T08:08:12.080 回答
1

使用“System.exec()”将调用 USS(Unix 系统服务)shell。

然后,您可以使用 USS 命令之一来启动您的 JCL 运行:

System.exec("tso SUBMIT 'YOUR.JCL.LIB(JOBNAME)'")

然后将安排JCL ——当 JES 认为适合运行它时,它将作为一个单独的进程运行——你不会从作业本身获得任何反馈。

如果你真的想运行一个遗留程序并得到一些结果,你需要在 USS shell 中运行它,或者作为一个 USS shell 脚本或者从 USS 调用一个 TSO 脚本。

于 2011-07-28T08:00:41.920 回答