是否需要在我的JCL中指定所有文件?

Sag*_*fus 1 cobol

我目前正在研究一个在多个JCL中使用的程序.我添加了一个新文件,文件控件如下所示:

SELECT  FILEA          ASSIGN TO  FILEA
        ; ORGANIZATION SEQUENTIAL         
        ; ACCESS       SEQUENTIAL         
        ; FILE STATUS  FILEA-FILESTATUS  
.    
Run Code Online (Sandbox Code Playgroud)

因为这个程序在多个JCL中使用,如果文件必须存在于所有JCL中,这意味着我需要在很多地方伪造文件.我的希望是只打开文件只有某些条件而不需要在任何地方伪装它.

如果我没有对文件执行打开,它是否仍然在我的JCL中有一个DD名称?

编辑:我在IBM大型机上运行.

pie*_*t.t 5

说到IBM的大型机-COBOL:不,如果你从来没有OPEN文件,你不需要DD语句.您也可以尝试打开它并查看生成的FILE-STATUS以查看文件是否存在并采取适当的操作(如果不存在).

Somtimes COBOL甚至可能在打开时分配丢失的文件.在语言环境下,行为由运行时选项CBLQDA的值决定:如果它是ON,COBOL将自动分配任何为输出打开但未在JCL中定义的文件(并在程序运行后删除它,因此抛出)远离写入该文件的所有数据).