COBOL等级88数据类型

Dje*_*man 2 documentation cobol glossary

这是非常基本的问题.

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

  1. 名称
  2. 数据类型
  3. 值范围(如果适用)
  4. 行号
  5. 富勒的名字

我有几个变量,包括88级开关.我的问题是:这些88级交换机是否被视为变量,我应该将它们包含在数据术语表中吗?或者,根据我必须使用的数据词汇表结构判断,在这种情况下是否应该忽略它们?

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

Der*_*ock 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'.
Run Code Online (Sandbox Code Playgroud)

您的数据词汇表将/可能是:

地点

  • 名称:位置
  • 数据类型:整数
  • 值范围: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.
...    
Run Code Online (Sandbox Code Playgroud)

如果没有那么:

您可以在88级之前输入单独的数据词汇表条目.

您的数据词汇表将/可能是:

地点

  • 名称:位置
  • 数据类型:整数
  • 价值范围:0000-9999
  • 行号:20
  • 富勒名称:数据的位置

DIST中心

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

顾客

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

无效

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