如何检查Unix系统服务文件是否存在

我在JZOS下的IBM大型机上运行批处理Java。该作业创建0 - 6“.txt”输出,具体取决于它在数据库中找到的内容。然后,我需要将这些文件从Unix转换为MVS(ebcdic),并且我正在使用在IKJEFT01下运行的OCOPY命令。但是,当未创建特定输出时,我收到JCL错误并且作业结束。我想检查每个文件名的存在与否,并设置条件代码来控制是否执行IKJEFT01步骤,但不知道将使用什么来访问Unix文件路径名。 我通过编写COBOL程序来检查已转换的MVS文件并设置返回代码来控制后续JCL步骤的执行,从而解决了这个问题。完成的工作现在正在进行用户验收测试。也许它听起来像一个kludge,但它确实有效,我很乐意分享这个解决方案。     
已邀请:
在JCL中执行此操作的最简单方法是使用BPXBATCH,如下所示:
//EXIST    EXEC PGM=BPXBATCH,
// PARM='pgm /bin/cat /full/path/to/USS/file.txt'
//*
//         IF  EXIST.RC = 0
//* do whatever you need to
//         ENDIF
如果文件存在,则步骤以CC 0结束,
IF
成功。如果文件不存在,则得到非零CC(我相信256),并且
IF
失败。 由于没有
//STDOUT DD
语句,因此没有输出写入JES。 唯一的缺点是它是另一个工作步骤,如果你有很多过程(如编译/汇编作业),你可以遇到255步骤限制。     

要回复问题请先登录注册