COBOL等级88数据类型

时间:2012-09-01 01:39:03

标签: documentation cobol glossary

非常基本的问题。

我必须为COBOL程序写出数据词汇表。此数据词汇表包含有关每个变量的以下详细信息:

  1. 名称
  2. 数据类型
  3. 值范围(如果适用)
  4. 行号
  5. 富勒名称
  6. 我有几个包含88级开关的变量。我的问题是:这些88级交换机是否被视为变量,我应该将它们包含在数据术语表中吗?或者,根据我必须使用的数据词汇表结构来判断,在这种情况下是否应该忽略它们?

    虽然我在这里,但另一个简单的问题。填充程序是否应包含在数据词汇表中?该程序特别包含大量填充变量,大多数是简单的“PIC X”变量。

3 个答案:

答案 0 :(得分:7)

假设我理解被问到的问题。

如果您可以使用COBOL布局和数据词汇表条目以及没有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 for customers
    • 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-中心

  • 姓名:dist-center
  • 数据类型:布尔值
  • 价值范围:100,101,102
  • 行号:5
  • 富勒名称:位置是分销中心

客户

  • 姓名:客户
  • 数据类型:布尔值
  • 价值范围:1-99
  • 行号:5
  • 富勒名称:位置是客户

无效

  • 姓名:无效
  • 数据类型:布尔值
  • 价值范围:0001,0010,0100
  • 行号:5
  • 富勒名称:位置是无效值

答案 1 :(得分:1)

像往常一样,这取决于。 : - )

88级值似乎属于第3部分“值范围”,特别是如果它们记录了某些变量允许的唯一值。

如果使用文档重建记录,FILLER字段当然很重要。如果您只想记录其他字段的用法,那么它们就不是很有趣了。

答案 2 :(得分:1)

'PIC X'FILLER变量可能是工作存储中的标志,有88个级别,因此非常重要。

例如,我们经常使用这种类型的构造:

01 FILLER                     PIC X.
    88 OPTION-IS-ON        VALUE 'Y', FALSE 'N'.
    88 OPTION-IS-OFF       VALUE 'N'.

这定义了一个标志,我们只使用它的条件来引用它。例如,我们可以像这样使用它:

SET OPTION-IS-ON TO TRUE.     | This puts a 'Y' in the PIC X
   .
   .
   .
IF OPTION-IS-ON
   do something
END-IF

在这种情况下,我们永远不需要引用实际的标志值本身,因此您无需为其命名。

88级别的'FALSE'只允许您指定使用该语句时存储的内容:

SET OPTION-IS-ON TO FALSE     | This puts an 'N' in the PIC X

当然与说法相同:

SET OPTION-IS-OFF TO TRUE     | This also puts an 'N' in the PIC X

这一切都取决于当时更具可读性。