用于运行COBOL程序调用子程序的JCL
我有一个COBOL pgm A调用另一个COBOL pgm B。 在pgm B中,我需要一个文件。如何编写JCL以便能够在pgm B中访问此文件?我已经在B中为此文件编写了select子句和FD条目。对于执行程序a的步骤,必须在JCL中包含a 如果文件存在,那就很容易了用于运行COBOL程序调用子程序的JCL,cobol,mainframe,jcl,Cobol,Mainframe,Jcl,我有一个COBOL pgm A调用另一个COBOL pgm B。 在pgm B中,我需要一个文件。如何编写JCL以便能够在pgm B中访问此文件?我已经在B中为此文件编写了select子句和FD条目。对于执行程序a的步骤,必须在JCL中包含a 如果文件存在,那就很容易了 //ABCDEFGH DD DISP=SHR,DSN=your.file.name.here 其中ABCDEFGH是您在程序B的SELECT语句中使用的名称 如果要创建新文件,必须考虑文件将使用的估计空间以及要放置文件的位置
//ABCDEFGH DD DISP=SHR,DSN=your.file.name.here
其中ABCDEFGH是您在程序B的SELECT语句中使用的名称
如果要创建新文件,必须考虑文件将使用的估计空间以及要放置文件的位置
//ABCDEFGH DD DISP=(NEW,CATLG,DELETE),
// DSN=your.file.name.here,
// AVGREC=K,
// RECFM=FB,
// LRECL=your-lrecl-here,
// MGMTCLAS=your-management-class-here,
// SPACE=(your-lrecl-here,(primary-number-of-records,secondary),RLSE)
这只是徒手画,你真的应该看看和
我看到过这样的情况:B是汇编程序,在不以交互方式运行时定期刷新磁盘写入,但在调试时立即写入 从JCL的角度来看,程序
A
处理文件还是程序B
处理文件并不重要,因为它们都是在同一个步骤中执行的。我创建了JCL…还更新了我的主pgm和子pgm,为此文件添加了相同的select子句,并在FD部分将此文件声明为外部文件。我测试了我的JCL。它工作得很好。非常感谢:)您不需要为“刷新”更改程序,只需将DD更改为unblocked(假设程序中没有硬编码阻塞)。我一点也不确定这会给你带来什么好处,但你会这么做的。不涉及代码。好处在于调试。诸如Expeditor或Intertest之类的产品表示。从历史上看,生产缓冲确实带来了性能提升。可能是在转移注意力。我试图展示子模块的完整“服务”性质。通常,这样大量的文件处理都是在顶层执行的。好吧,一个调试工具,你必须修改程序的行为才能使用它,在任何情况下,在我看来都不像什么cop。我相信他们可以显示缓冲区,但我们开始了。至少有一个解释。