这里是非常基本的问题。
我必须为 COBOL 程序编写数据词汇表。此数据词汇表包含有关每个变量的以下详细信息:
- 姓名
- 数据类型
- 取值范围(如果适用)
- 行号
- 全名
我有几个包含 88 级开关的变量。我的问题是:这些 88 级开关算作变量吗,我应该将它们包含在数据词汇表中吗?或者,根据我必须使用的数据词汇表结构来判断,在这种情况下是否应该忽略它们?
趁我在这里,还有一个简单的问题。数据词汇表中是否应包含填充符?该程序特别包含大量填充变量,大多数是简单的“PIC X”变量。
最佳答案
假设我理解所问的问题。
如果您能给出一个 COBOL 布局和数据词汇表条目的示例,一个有 88 条目,一个没有 88 条目,这将有所帮助。但是,我会尽力回答这个问题。
不,88 级条目不是变量,它们不会增加或减少记录的长度。它们只是允许您创建条件语句。
话虽这么说,您的数据词汇表是否应该只包含对记录长度有贡献的变量?
如果是,则不应每 88 个项目有一个单独的数据词汇表条目。但是,它可能有助于解释给定变量的值 [s](3 甚至可能是 5,甚至是期望值的额外一行)。
01 record-store.
02 location pic 9(4).
88 dist-center value 100, 101, 102.
02 value pic 9(6).
02 paid pic X(1).
88 yes value 'Y', 'y'.
88 no value 'N', 'n'.
您的数据词汇表将/可能是:
位置
- 姓名:地点
- 数据类型:整数
- 取值范围:0-9999
- 行号:20
- 全名:数据的位置
- 预期值:
- 100、101、102 用于配送中心
- 1-99 为客户
- 103-9999无效
现在知道您的期望值,您可能会返回并更改您的 88 个值?
...
02 location pic 9(4).
88 dist-center value 100, 101, 102.
88 customers value 1 thru 99.
88 invalid value 0, 103 thru 9999.
...
如果否则:
您可以在 88 级条目之前有一个单独的数据词汇表条目。
您的数据词汇表将/可能是:
位置
- 姓名:地点
- 数据类型:整数
- 取值范围:0000-9999
- 行号:20
- 全名:数据的位置
dist-center
- 姓名:dist-center
- 数据类型: bool 值
- 取值范围:100、101、102
- 行号:5
- 全名:位置是配送中心
客户
- 姓名:客户
- 数据类型: bool 值
- 取值范围:1-99
- 行号:5
- 全名:位置是客户吗
无效
- 姓名:无效
- 数据类型: bool 值
- 取值范围:0001、0010、0100
- 行号:5
- 全名:位置是否为无效值
关于documentation - COBOL 88 级数据类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12224233/