Cobol - 写入的结束终止符?

Cobol - End terminator for write?

在Cobol中,是否需要在write语句后加上end-write。例如考虑以下内容:

write something from something after advancing 1 lines.
end-write.

我们需要像上面那样做吗?或者就这么好:

write something from something after advancing 1 lines.

当我在没有 end-write 的情况下进行编译时,我没有收到任何编译器警告,这与我不使用 end-read 或 end-if 时收到编译器警告不同。

有人能帮我理解一下吗?

仅在使用INVALID KEYNOT INVALID KEY时才需要END-WRITE

其他情况下您不需要它。尽管您可以随时使用它,但如果您愿意的话。

我不使用 INVALID KEY/NOT INVALID KEY,也从不使用 END-WRITE(或 END-READEND-OPENEND-CLOSEEND-START) .相反,我在 SELECT 语句中使用 FILE STATUS 子句,并在每次 IO 操作后测试 FILE STATUS 字段。

如果您习惯于编写现代 COBOL(符合 1985 标准),那么您应该尽可能避免在 PROCEDURE DIVISION 中使用 full-stops/periods。在程序部分之后 header。在 paragraph/SECTION 标签之后。在 paragraph/SECTION 标签之前。如果由于其他原因尚未使用,则在程序末尾。

对于 paragraph/SECTION 标签之前的标签,我将其 full-stop/period 单独放在第 12 列中。