如何从Java批处理程序写入MVS数据集



我需要写入大型机中的非vsam数据集。我知道我们需要使用ZFile库来做到这一点,我在这里找到了如何做到这一点

我正在zOS上的WebSphere Liberty上运行Java批处理作业。如何指定数据集?我可以直接给数据集一个这样的名字吗?

dsnFile = new ZFile("X.Y.Z", "wb,type=record,noseek");

我能够使用Java的文件编写器将其写入服务器本身的文本文件,但我不知道如何访问mvs数据集。

我对zOS和大型机的世界比较陌生。

听起来您可能会更普遍地询问如何在z/OS上使用WebSphere Liberty上的ZFile API。

你试过这样做吗:

    String pdsName = ZFile.getSlashSlashQuotedDSN("X.Y.Z");
    ZFile zfile = new ZFile(pdsName , ...options...)

就批处理特定的用例而言,您可能显然必须区分在原始执行时写入第一次创建的新文件,与在重新启动时追加到已经存在的文件。

您还可以在此doctorbatch中找到一些有用的snippet。IO repo,以及您发布的原始链接。

作为参考,我将从ZFile Javadoc复制/粘贴:

ZFile dd = new ZFile("//DD:MYDD", "r");
Opens the DD namee MYDD for reading
ZFile dsn = new ZFile("//'SYS1.HELP(ACCOUNT)'", "rt");
Opens the member ACCOUNT from the PDS SYS1.HELP for reading text records
ZFile dsn = new ZFile("//SEQ", "wb,type=record,recfm=fb,lrecl=80,noseek");
Opens the data set {MVS_USER}.SEQ for sequential binary writing. Note that ",noseek" should be specified with "type=record" if access is sequential, since performance is greatly improved. 

最后注意,另一对有用的ZFile helper方法是:bpxwdyn()getFullyQualifiedDSN().

相关内容

  • 没有找到相关文章

最新更新