rpg/rpgle 中 WRITE 和 EXCEPT 的区别

问题描述 投票:0回答:2

您好,在我遇到的许多旧角色扮演程序中,我可以看到 EXCEPT 被用来代替 WRITE 操作码。有人可以告诉我 EXCEPT 和 WRITE 操作码之间的确切区别是什么吗?

ibm-midrange rpgle rpg
2个回答
4
投票

对于“很久以前”内部描述的打印机文件,更常见的是使用“EXCPT”操作码而不是具有文件记录格式的“WRITE”操作码。尽管可以在输出记录中指定标签,但计算规范代码行中不需要标签。它可以留空。如:

C                      EXCPT

然后,在内部描述的打印机文件的输出规范中,将打印数据类型栏中带有“E”的输出记录(前提是它也满足任何指标要求)。

OQSYSPRT      E          2   1
O                FIELDA     24

请原谅我尝试以自由格式模拟列间距。因此,这只是将数据输出到内部描述的打印机文件的一种稍微简单的方法。

如果您遇到使用“EXCPT”操作码写入数据文件的旧程序,其目的是专门更新文件记录中的某些字段,而不是像使用“WRITE”那样更新整个记录或“更新”操作码。

希望有帮助。

问候。


0
投票

我最近换了工作,令我惊讶的是他们仍然有 RPG III 代码。我花了 4 天的时间来弄清楚程序如何与内部定义的显示和物理文件一起工作。 问题是,代码中只有一个 EXCPT,没有因子 2。但是使用了很多指标。该程序显示文件中的数据,并更新或添加记录。我认为当时磁盘空间非常紧张,为了防止将完整记录加载到内存中,他们只选择了“例外”字段。我现在了解了程序流程,我必须承认我感到尊重。

© www.soinside.com 2019 - 2024. All rights reserved.