2011-09-06 80 views

回答

5

写SELECT子句和FD进入该文件必须包含在JCL对于如果文件存在执行程序A.

的步骤DD statement,那是很容易的。

//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) 

这仅仅是写意的,你真的应该看看JCL ReferenceJCL User's Guide

+0

从JCL的角度来看,程序'A'处理文件还是程序'B'的确不重要,因为它们都在同一步骤中执行。 – NealB

+0

我创建了JCL ...并且还通过为这个文件添加了相同的select子句并在FD部分中将此文件声明为EXTERNAL来更新了我的主pgm和子pgm。我测试了我的JCL。它工作正常。非常感谢:) – Saisha

0
  1. 在步骤中包含DD语句。
  2. 程序B甚至不一定是COBOL。
  3. 理想的设计,使程序B是一个服务程序 - 根据 请求和您的需求打开,关闭,读取,写入重新写入。如果预期这种封装,它会让你的生活变得更容易。

我已经看到了这个,其中B是汇编程序,当不是交互式运行时刷新写入磁盘,但在调试时立即写入。

+0

你不需要改变程序来改变“冲洗”,只需要将DD改为解锁就可以了(假设阻塞在程序中没有被硬编码)。我完全不知道会给你带来什么样的好处,但是你就是这么做的。没有涉及的代码。 –

+0

好处是调试。诸如Expeditor或Intertest等产品说。生产中的缓冲历史上会产生性能提升。可能是红鲱鱼。我试图展示子模块的完整“服务”性质。通常,这种大量的文件处理是在顶层执行的。 – mckenzm

+0

那么,在任何情况下,你都必须修改程序的行为来使用它的调试工具,对我来说看起来并不怎么样。我确定他们可以展示缓冲区,但我们走了。至少有一个解释。 –