超出企业Cobol 5.2调试器行号

超出企业Cobol 5.2调试器行号,cobol,mainframe,zos,Cobol,Mainframe,Zos,我有一个“极好”的任务,就是维护一个我没有编写的遗留程序。Cobol程序在z/OS 2.2环境中运行,并使用IBM Enterprise Cobol 5.2进行编译。为了进行调试,我想使用选项CBL LIST,TEST(EJPD,SOURCE)编译程序。不幸的是,我的源代码超过999999行,因此在编译时出现错误。 有没有办法绕过行数的限制,或者只有一种方法可以分割程序 根据JES版本的不同,我相信您可以使用如下所示的警告参数 //JOB10 JOB 1234,ME,LINES=(999999,

我有一个“极好”的任务,就是维护一个我没有编写的遗留程序。Cobol程序在z/OS 2.2环境中运行,并使用IBM Enterprise Cobol 5.2进行编译。为了进行调试,我想使用选项CBL LIST,TEST(EJPD,SOURCE)编译程序。不幸的是,我的源代码超过999999行,因此在编译时出现错误。
有没有办法绕过行数的限制,或者只有一种方法可以分割程序

根据JES版本的不同,我相信您可以使用如下所示的
警告
参数

//JOB10 JOB 1234,ME,LINES=(999999,WARNING)
这告诉系统即使达到线路限制也要继续,并且只发出警告

或者,您可以将这个编译列表输出到一个文件而不是SYSOUT。那么线限制就不适用了


还要记住,JES spool中有这么多行不是一件好事,因此我建议使用文件路径。

根据JES版本的不同,我相信您可以使用如下所示的
WARNING
参数

//JOB10 JOB 1234,ME,LINES=(999999,WARNING)
这告诉系统即使达到线路限制也要继续,并且只发出警告

或者,您可以将这个编译列表输出到一个文件而不是SYSOUT。那么线限制就不适用了


还请记住,JES spool中有那么多行不是一件好事,因此我建议使用文件路径。

自上世纪80年代中期发布的至少VS COBOL II以来,对行数的999999限制。它出现在EnterpriseCobl4.2中,这是编译器重写之前的最新版本,为我们提供了5.x及其后续版本

也许有人在利用你,向你展示不可编译的源代码。这是一个编译器限制,正如@SaggingRufus所指出的,解决方案是将程序分解为多个模块

我认为一百万行以上的源代码是不可理解的

您可以使用的其他机制包括评估代码、寻找跨越多行的语句,但没有充分的理由

MOVE
A
TO
B
…太傻了


另外,维护您没有编写的代码是工作的一部分。过去,让新员工经历一段维护现有代码库的时期是很正常的,以使他们熟悉车间标准等。

自20世纪80年代中期发布的至少VS COBOL II以来,对行数的999999限制。它出现在EnterpriseCobl4.2中,这是编译器重写之前的最新版本,为我们提供了5.x及其后续版本

也许有人在利用你,向你展示不可编译的源代码。这是一个编译器限制,正如@SaggingRufus所指出的,解决方案是将程序分解为多个模块

我认为一百万行以上的源代码是不可理解的

您可以使用的其他机制包括评估代码、寻找跨越多行的语句,但没有充分的理由

MOVE
A
TO
B
…太傻了


另外,维护您没有编写的代码是工作的一部分。过去,让新员工经历一段维护现有代码库的时间,以使他们熟悉车间标准等,这是很正常的。您提到的JCL选项会影响工作输出量。我的问题不是作业输出的数量,而是带有
CBL LIST,TEST(EJPD,SOURCE)
的编译器显然不能处理超过999999行的源代码……如果是这样的话,那么您需要通过逻辑找出可以放入另一个程序中的内容并调用该程序。要么是这样,要么就是有可能对编译器进行更新,从而解决问题。非常感谢。我担心只有这个解决方案会保留下来……不过,请稍等,在SO大型机社区中,有些人比我拥有更多的知识。他们可能有一个解决方案。您提到的JCL选项会影响工作输出量。我的问题不是作业输出的数量,而是带有
CBL LIST,TEST(EJPD,SOURCE)
的编译器显然不能处理超过999999行的源代码……如果是这样的话,那么您需要通过逻辑找出可以放入另一个程序中的内容并调用该程序。要么是这样,要么就是有可能对编译器进行更新,从而解决问题。非常感谢。我担心只有这个解决方案会保留下来……不过,请稍等,在SO大型机社区中,有一些人比我拥有更多的知识。他们可能有一个解决方案。似乎这个限制还存在,至少在EC V6.2中,似乎这个限制还存在,至少它仍然在ECV6.2中,我知道维护非自己编写的代码是一种常见做法。当我问这些问题时,我非常恼火和沮丧。很抱歉。我知道维护非自己编写的代码是常见的做法。当我问这些问题时,我非常恼火和沮丧。很抱歉。