免责声明:我是使用Rumba访问IBM Mainframe的新手.
我目前已经建立了一个供个人使用的库,我有一些代码要存储在这个库的一个成员中,如何将我桌面上的.txt文件复制/粘贴到这个程序中?截至目前,我可以从伦巴以外的文档一次成功复制/粘贴一行.
我需要在 z/OS 大型机上运行 Java 类程序作为 JCL 作业步骤。有人这样做过吗?我已经尝试过在大型机的AIX下运行java程序。但我需要在 JCL 作业流中运行相同的程序。我知道我可以使用 System.exit(rc) 将返回代码传递回 JCL 步骤。但是如何执行、设置 CLASSPATH、输入参数和文件以及将文件写入 z/OS 呢?
我正在尝试访问名为 XYZ 的数据集;我的代码是:
ZFile zFile = new ZFile("//X.Y.Z","r");
try {
String enc = ZUtil.getDefaultPlatformEncoding();
InputStream is = zFile.getInputStream();
BufferedReader rdr = new BufferedReader(new InputStreamReader(is, enc));
String line;
while ((line = rdr.readLine()) != null) {
System.out.println(line);
};
}finally {
zFile.close();
}
Run Code Online (Sandbox Code Playgroud)
我得到这个例外:
com.ibm.jzos.ZFileException: X.Y.Z: Filename is not a valid MVS dataset or DD name; errno=99 errno2=0x0 last_op=0 errorCode=0x0
at com.ibm.jzos.ZFile.checkSecurityManager(ZFile.java:1592)
at com.ibm.jzos.ZFile.<init>(ZFile.java:475)
at it.Main.test(MainApp.java:20)
com.ibm.jzos.ZFileException: //'X.Y.Z': fopen() failed; EDC5049I The specified file name could not be located.; errno=49 errno2=0xc00b0641 last_op=50 errorCode=0x21708 …Run Code Online (Sandbox Code Playgroud) 我需要在通过 bpxbtach 调用 Unix 脚本的 JCL 步骤中设置超时。我用它做了
//STEPX EXEC PGM=BPXBATCH, PARM='sh /x.sh',TIME=(,10)
Run Code Online (Sandbox Code Playgroud)
然而,过了一段时间我意识到不包括队列中的时间。他们说“此运行时间仅指实际执行时间,不包括作业在 INPUT 或 INPUT HOLD 队列中花费的时间” https://supportline.microfocus.com/documentation/books/rd60/cbwjto.htm
那是 microfocus JCL,但我验证了该行为在 IBM Z 上也是如此。
因此,即使我将超时设置为 10 秒,如果队列正在处理其他事情,该步骤也可能需要几分钟。我需要一个超时来终止该步骤,无论出于什么原因花了这么长时间。我一直找不到我需要的东西。请帮忙。