我目前正在研究一个在多个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大型机上运行.
说到IBM的大型机-COBOL:不,如果你从来没有OPEN文件,你不需要DD语句.您也可以尝试打开它并查看生成的FILE-STATUS以查看文件是否存在并采取适当的操作(如果不存在).
Somtimes COBOL甚至可能在打开时分配丢失的文件.在语言环境下,行为由运行时选项CBLQDA的值决定:如果它是ON,COBOL将自动分配任何为输出打开但未在JCL中定义的文件(并在程序运行后删除它,因此抛出)远离写入该文件的所有数据).