为什么在 88 个条件语句中使用 VALUE HIGH-VALUES?

Why use VALUE HIGH-VALUES in 88 Conditionals?

我知道 HIGH-VALUES 对应于整理顺序中的最高值,但是我不明白为什么在使用条件时它可能是首选方法。

示例:

01 StudentRecord.
   88 EndOfStudentFile     VALUE HIGH-VALUES.
   02 StudentID            PIC X(7).
   02 FILLER               PIC X(23).

   ...

   AT END SET EndOfStudentFile TO TRUE

为什么不简单地使用 VALUE 0 并将 SET EndOfStudentFile 设置为 1?

在这些情况下使用 HIGH-VALUES 有什么优势?

感谢任何关于此事的意见...

您示例中的条件 88 用于 StudentRecord,因此 sets/queries。我 认为 使用 VALUE ALL HIGH-VALUES 可能更合适 - 因为它会将第一个字节设置为 HIGH-VALUE 然后填充记录(带空格) .

VALUE 0/1 不可能,因为记录 - 因为它是一个组 - 是字母数字,不应分配数值。

...“是否首选 xyz”这个问题通常更多的是风格问题,很少是“最佳实践”。共同的好处是确保一致 use/style 以便其他阅读代码的人可以更好地理解它。

在这种特定情况下,它 可以 用于“存储”信息“所有学生都已处理”,稍后可以通过 IF EndOfStudentFile 查询,如果出于某种原因,文件上还有另一个 START >= StudentID(我假设这是一个 ORGANIZATION INDEXED 文件),它可能找不到“另一个”记录(这里仍然有可能,ID 包含 [=18 的学生=] 会被发现)。

澄清一下,“88”级别并不代表实际存储量。 它们是条件句,引用紧接在前的变量定义。

所以:

If EndOfStudentFile..

的快捷方式一样
If StudentRecord is equal to High-Values...