在 Cobol 中,为什么要使用不存在的段落名称执行 PERFORM THRU
In Cobol why would you have a PERFORM THRU with non existent paragraph names
我想弄清楚下面的 PERFORM 命令的用途是什么。代码是 20 年前写的。 ACPY-READ-FIRST、ACPY-READ-NEXT 和 ACPY-EXIT 在程序的任何地方都不存在。
MOVE ACPY-ID TO WS-ACPY-ID.
PERFORM ACPY-READ-FIRST THRU ACPY-EXIT.
150-PYMTS.
PERFORM ACPY-READ-NEXT THRU ACPY-EXIT.
IF NOT SUCCESSFUL OR
ACCT-ID NOT = ACPY-ACCT-ID
GO TO 160-DONE.
答案:你不会,因为这会在每个编译器中产生语法错误。
段落(甚至部分,但我会寻找前者)必须位于源单元中的某个位置,我会说:95% 的可能性可以在 COPY
语句(= COBOL 的“include”),4% 是由用于处理它的代码生成器插入的,1% 是您刚刚忽略的(COBOL 不区分大小写,以防万一)。
提示:如果您拥有所有必要的资源,您可以使用 GnuCOBOL 来处理它并创建一个列表,向您显示包含段落的字帖。
我想弄清楚下面的 PERFORM 命令的用途是什么。代码是 20 年前写的。 ACPY-READ-FIRST、ACPY-READ-NEXT 和 ACPY-EXIT 在程序的任何地方都不存在。
MOVE ACPY-ID TO WS-ACPY-ID.
PERFORM ACPY-READ-FIRST THRU ACPY-EXIT.
150-PYMTS.
PERFORM ACPY-READ-NEXT THRU ACPY-EXIT.
IF NOT SUCCESSFUL OR
ACCT-ID NOT = ACPY-ACCT-ID
GO TO 160-DONE.
答案:你不会,因为这会在每个编译器中产生语法错误。
段落(甚至部分,但我会寻找前者)必须位于源单元中的某个位置,我会说:95% 的可能性可以在 COPY
语句(= COBOL 的“include”),4% 是由用于处理它的代码生成器插入的,1% 是您刚刚忽略的(COBOL 不区分大小写,以防万一)。
提示:如果您拥有所有必要的资源,您可以使用 GnuCOBOL 来处理它并创建一个列表,向您显示包含段落的字帖。