COBOL中变量声明右边的代码的意义是什么?

COBOL中变量声明右边的代码的意义是什么?,cobol,Cobol,我正在学习COBOL代码,但不理解代码行右侧的数字: 007900 03 EXAMPLE-NAME PIC S9(17) COMP-3. EB813597 第一个数字是关于该行在代码中的位置,第二个是关于列的位置(比如您使用了多少个“制表符”),第三个是变量的类型,但第四个(COMP-3)主要是最后一个(EB813597)我不理解 这是什么意思?忽略列>=72。因此,EB813597被忽略。它可以是上次更改时的更改id,或者具有某些特定于站点的

我正在学习COBOL代码,但不理解代码行右侧的数字:

007900     03  EXAMPLE-NAME       PIC S9(17)  COMP-3.              EB813597
第一个数字是关于该行在代码中的位置,第二个是关于列的位置(比如您使用了多少个“制表符”),第三个是变量的类型,但第四个(COMP-3)主要是最后一个(EB813597)我不理解


这是什么意思?

忽略列>=72。因此,EB813597被忽略。它可以是上次更改时的更改id,或者具有某些特定于站点的含义,例如,EB可以是上次更改它的人的首字母缩写

Comp-3-是数字类型。这有点像在C/java中使用int或double。在Comp-3(压缩小数)中,123存储为x'123c'。comp-3的替代品包括comp——通常是大端二进制整数,comp-5(如C中的int/long)


总之,示例-NAME是一个带符号的数字字段,具有17个十进制数字,并存储为Comp-3(压缩十进制)

有关
COMP-3
的信息,请参阅。
EB813597
被视为注释,在COBOL语言中没有任何意义。谢谢@ricksmith我在旧代码中见过很多类似EB813597的瓦砾,它们被用来跟踪代码中的更改。如果你的商店确实以另一种方式(可能是更现代的源代码管理工具,如endevor)进行了更改,那么它可以毫无顾忌地被删除!它清晰、客观、简单,完美地回答了问题。非常感谢你!有时,如果您使用代码生成器(如NETRON),它会在最右侧添加相关的标记。在NETRON中,从中提取代码的帧的名称将放在最右边的列中。
007900     03  EXAMPLE-NAME       PIC S9(17)  COMP-3.              EB813597
 (a)      (b)  Field-Name         (c)  (d)    Usage (numeric type)


a - line-number ignored by the compiler
b - level-number it provides a method of grouping fields together

      01  Group.
          03 Field-1 ...
          03 Field-2 ... 

    field-1 and field-2 belong to group. it is a bit like struct in c

        struct {
            int field_1;
            int field-2;
            ...
       }
c) PIC (picture) tells us the field picture follows.
d) fields picture in this case it is a signed field with 17 decimal digits
Comp-3 - usage - how the field stored